store-index-carousel.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554
  1. function mountMainCarousel() {
  2. !(function() {
  3. "use strict";
  4. for (
  5. var e,
  6. t =
  7. "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
  8. ? function(e) {
  9. return typeof e;
  10. }
  11. : function(e) {
  12. return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
  13. },
  14. n = new ((function(e) {
  15. !(function() {
  16. var n, i;
  17. function o(e) {
  18. return void 0 === this || Object.getPrototypeOf(this) !== o.prototype
  19. ? new o(e)
  20. : (((n = this).version = "3.4.0"),
  21. (n.tools = new w()),
  22. n.isSupported()
  23. ? (n.tools.extend(n.defaults, e || {}),
  24. (n.defaults.container = r(n.defaults)),
  25. (n.store = {
  26. elements: {},
  27. containers: []
  28. }),
  29. (n.sequences = {}),
  30. (n.history = []),
  31. (n.uid = 0),
  32. (n.initialized = !1))
  33. : "undefined" != typeof console && null !== console && console.log("ScrollReveal is not supported in this browser."),
  34. n);
  35. }
  36. function r(e) {
  37. if (e && e.container) {
  38. if ("string" == typeof e.container) return window.document.documentElement.querySelector(e.container);
  39. if (n.tools.isNode(e.container)) return e.container;
  40. console.log('ScrollReveal: invalid container "' + e.container + '" provided.'),
  41. console.log("ScrollReveal: falling back to default container.");
  42. }
  43. return n.defaults.container;
  44. }
  45. function s() {
  46. return ++n.uid;
  47. }
  48. function a(e, t, i) {
  49. t.container && (t.container = i),
  50. e.config ? (e.config = n.tools.extendClone(e.config, t)) : (e.config = n.tools.extendClone(n.defaults, t)),
  51. "top" === e.config.origin || "bottom" === e.config.origin ? (e.config.axis = "Y") : (e.config.axis = "X");
  52. }
  53. function l(e) {
  54. var t = window.getComputedStyle(e.domEl);
  55. e.styles ||
  56. ((e.styles = {
  57. transition: {},
  58. transform: {},
  59. computed: {}
  60. }),
  61. (e.styles.inline = e.domEl.getAttribute("style") || ""),
  62. (e.styles.inline += "; visibility: visible; "),
  63. (e.styles.computed.opacity = t.opacity),
  64. t.transition && "all 0s ease 0s" !== t.transition
  65. ? (e.styles.computed.transition = t.transition + ", ")
  66. : (e.styles.computed.transition = "")),
  67. (e.styles.transition.instant = c(e, 0)),
  68. (e.styles.transition.delayed = c(e, e.config.delay)),
  69. (e.styles.transform.initial = " -webkit-transform:"),
  70. (e.styles.transform.target = " -webkit-transform:"),
  71. f(e),
  72. (e.styles.transform.initial += "transform:"),
  73. (e.styles.transform.target += "transform:"),
  74. f(e);
  75. }
  76. function c(e, t) {
  77. var n = e.config;
  78. return (
  79. "-webkit-transition: " +
  80. e.styles.computed.transition +
  81. "-webkit-transform " +
  82. n.duration / 1e3 +
  83. "s " +
  84. n.easing +
  85. " " +
  86. t / 1e3 +
  87. "s, opacity " +
  88. n.duration / 1e3 +
  89. "s " +
  90. n.easing +
  91. " " +
  92. t / 1e3 +
  93. "s; transition: " +
  94. e.styles.computed.transition +
  95. "transform " +
  96. n.duration / 1e3 +
  97. "s " +
  98. n.easing +
  99. " " +
  100. t / 1e3 +
  101. "s, opacity " +
  102. n.duration / 1e3 +
  103. "s " +
  104. n.easing +
  105. " " +
  106. t / 1e3 +
  107. "s; "
  108. );
  109. }
  110. function f(e) {
  111. var t,
  112. n = e.config,
  113. i = e.styles.transform;
  114. (t = "top" === n.origin || "left" === n.origin ? (/^-/.test(n.distance) ? n.distance.substr(1) : "-" + n.distance) : n.distance),
  115. parseInt(n.distance) && ((i.initial += " translate" + n.axis + "(" + t + ")"), (i.target += " translate" + n.axis + "(0)")),
  116. n.scale && ((i.initial += " scale(" + n.scale + ")"), (i.target += " scale(1)")),
  117. n.rotate.x && ((i.initial += " rotateX(" + n.rotate.x + "deg)"), (i.target += " rotateX(0)")),
  118. n.rotate.y && ((i.initial += " rotateY(" + n.rotate.y + "deg)"), (i.target += " rotateY(0)")),
  119. n.rotate.z && ((i.initial += " rotateZ(" + n.rotate.z + "deg)"), (i.target += " rotateZ(0)")),
  120. (i.initial += "; opacity: " + n.opacity + ";"),
  121. (i.target += "; opacity: " + e.styles.computed.opacity + ";");
  122. }
  123. function d(e) {
  124. var t = e.config.container;
  125. t && -1 === n.store.containers.indexOf(t) && n.store.containers.push(e.config.container), (n.store.elements[e.id] = e);
  126. }
  127. function u() {
  128. if (n.isSupported()) {
  129. m();
  130. for (var e = 0; e < n.store.containers.length; e++)
  131. n.store.containers[e].addEventListener("scroll", p), n.store.containers[e].addEventListener("resize", p);
  132. n.initialized || (window.addEventListener("scroll", p), window.addEventListener("resize", p), (n.initialized = !0));
  133. }
  134. return n;
  135. }
  136. function p() {
  137. i(m);
  138. }
  139. function m() {
  140. var e, t, i, o, r;
  141. n.tools.forOwn(n.sequences, function(e) {
  142. (r = n.sequences[e]), (i = !1);
  143. for (var t = 0; t < r.elemIds.length; t++) (o = r.elemIds[t]), v(n.store.elements[o]) && !i && (i = !0);
  144. r.active = i;
  145. }),
  146. n.tools.forOwn(n.store.elements, function(i) {
  147. (t = n.store.elements[i]),
  148. (e = (function(e) {
  149. var t = e.config.useDelay;
  150. return "always" === t || ("onload" === t && !n.initialized) || ("once" === t && !e.seen);
  151. })(t)),
  152. (function(e) {
  153. if (e.sequence) {
  154. var t = n.sequences[e.sequence.id];
  155. return t.active && !t.blocked && !e.revealing && !e.disabled;
  156. }
  157. return v(e) && !e.revealing && !e.disabled;
  158. })(t)
  159. ? (t.config.beforeReveal(t.domEl),
  160. e
  161. ? t.domEl.setAttribute("style", t.styles.inline + t.styles.transform.target + t.styles.transition.delayed)
  162. : t.domEl.setAttribute("style", t.styles.inline + t.styles.transform.target + t.styles.transition.instant),
  163. y("reveal", t, e),
  164. (t.revealing = !0),
  165. (t.seen = !0),
  166. t.sequence &&
  167. (function(e, t) {
  168. var i = 0,
  169. o = 0,
  170. r = n.sequences[e.sequence.id];
  171. (r.blocked = !0), t && "onload" === e.config.useDelay && (o = e.config.delay);
  172. e.sequence.timer &&
  173. ((i = Math.abs(e.sequence.timer.started - new Date())), window.clearTimeout(e.sequence.timer));
  174. (e.sequence.timer = {
  175. started: new Date()
  176. }),
  177. (e.sequence.timer.clock = window.setTimeout(function() {
  178. (r.blocked = !1), (e.sequence.timer = null), p();
  179. }, Math.abs(r.interval) + o - i));
  180. })(t, e))
  181. : (function(e) {
  182. if (e.sequence) {
  183. var t = n.sequences[e.sequence.id];
  184. return !t.active && e.config.reset && e.revealing && !e.disabled;
  185. }
  186. return !v(e) && e.config.reset && e.revealing && !e.disabled;
  187. })(t) &&
  188. (t.config.beforeReset(t.domEl),
  189. t.domEl.setAttribute("style", t.styles.inline + t.styles.transform.initial + t.styles.transition.instant),
  190. y("reset", t),
  191. (t.revealing = !1));
  192. });
  193. }
  194. function y(e, t, n) {
  195. var i = 0,
  196. o = 0,
  197. r = "after";
  198. switch (e) {
  199. case "reveal":
  200. (o = t.config.duration), n && (o += t.config.delay), (r += "Reveal");
  201. break;
  202. case "reset":
  203. (o = t.config.duration), (r += "Reset");
  204. }
  205. t.timer && ((i = Math.abs(t.timer.started - new Date())), window.clearTimeout(t.timer.clock)),
  206. (t.timer = {
  207. started: new Date()
  208. }),
  209. (t.timer.clock = window.setTimeout(function() {
  210. t.config[r](t.domEl), (t.timer = null);
  211. }, o - i));
  212. }
  213. function g(e) {
  214. var t = 0,
  215. n = 0,
  216. i = e.offsetHeight,
  217. o = e.offsetWidth;
  218. do {
  219. isNaN(e.offsetTop) || (t += e.offsetTop), isNaN(e.offsetLeft) || (n += e.offsetLeft), (e = e.offsetParent);
  220. } while (e);
  221. return {
  222. top: t,
  223. left: n,
  224. height: i,
  225. width: o
  226. };
  227. }
  228. function v(e) {
  229. var t,
  230. n,
  231. i,
  232. o,
  233. r,
  234. s,
  235. a,
  236. l,
  237. c = g(e.domEl),
  238. f = (function(e) {
  239. return {
  240. width: e.clientWidth,
  241. height: e.clientHeight
  242. };
  243. })(e.config.container),
  244. d = (function(e) {
  245. if (e && e !== window.document.documentElement) {
  246. var t = g(e);
  247. return {
  248. x: e.scrollLeft + t.left,
  249. y: e.scrollTop + t.top
  250. };
  251. }
  252. return {
  253. x: window.pageXOffset,
  254. y: window.pageYOffset
  255. };
  256. })(e.config.container),
  257. u = e.config.viewFactor,
  258. p = c.height,
  259. m = c.width,
  260. y = c.top,
  261. v = c.left;
  262. return (
  263. (t = y + p * u),
  264. (n = v + m * u),
  265. (i = y + p - p * u),
  266. (o = v + m - m * u),
  267. (r = d.y + e.config.viewOffset.top),
  268. (s = d.x + e.config.viewOffset.left),
  269. (a = d.y - e.config.viewOffset.bottom + f.height),
  270. (l = d.x - e.config.viewOffset.right + f.width),
  271. (t < a && i > r && n < l && o > s) || "fixed" === window.getComputedStyle(e.domEl).position
  272. );
  273. }
  274. function w() {}
  275. (o.prototype.defaults = {
  276. origin: "bottom",
  277. distance: "20px",
  278. duration: 500,
  279. delay: 0,
  280. rotate: {
  281. x: 0,
  282. y: 0,
  283. z: 0
  284. },
  285. opacity: 0,
  286. scale: 0.9,
  287. easing: "cubic-bezier(0.6, 0.2, 0.1, 1)",
  288. container: window.document.documentElement,
  289. mobile: !0,
  290. reset: !1,
  291. useDelay: "always",
  292. viewFactor: 0.2,
  293. viewOffset: {
  294. top: 0,
  295. right: 0,
  296. bottom: 0,
  297. left: 0
  298. },
  299. beforeReveal: function(e) {},
  300. beforeReset: function(e) {},
  301. afterReveal: function(e) {},
  302. afterReset: function(e) {}
  303. }),
  304. (o.prototype.isSupported = function() {
  305. var e = document.documentElement.style;
  306. return (("WebkitTransition" in e) && ("WebkitTransform" in e)) || (("transition" in e) && ("transform" in e));
  307. }),
  308. (o.prototype.reveal = function(e, t, i, o) {
  309. var c, f, p, m, y, g;
  310. if (
  311. (void 0 !== t && "number" == typeof t ? ((i = t), (t = {})) : (void 0 !== t && null !== t) || (t = {}),
  312. !(f = (function(e, t) {
  313. if ("string" == typeof e) return Array.prototype.slice.call(t.querySelectorAll(e));
  314. if (n.tools.isNode(e)) return [e];
  315. if (n.tools.isNodeList(e)) return Array.prototype.slice.call(e);
  316. if (Array.isArray(e)) return e.filter(n.tools.isNode);
  317. return [];
  318. })(e, (c = r(t)))).length)
  319. )
  320. return console.log('ScrollReveal: reveal on "' + e + '" failed, no elements found.'), n;
  321. i &&
  322. "number" == typeof i &&
  323. ((g = s()),
  324. (y = n.sequences[g] = {
  325. id: g,
  326. interval: i,
  327. elemIds: [],
  328. active: !1
  329. }));
  330. for (var v = 0; v < f.length; v++)
  331. (m = f[v].getAttribute("data-sr-id"))
  332. ? (p = n.store.elements[m])
  333. : (p = {
  334. id: s(),
  335. domEl: f[v],
  336. seen: !1,
  337. revealing: !1
  338. }).domEl.setAttribute("data-sr-id", p.id),
  339. y &&
  340. ((p.sequence = {
  341. id: y.id,
  342. index: y.elemIds.length
  343. }),
  344. y.elemIds.push(p.id)),
  345. a(p, t, c),
  346. l(p),
  347. d(p),
  348. (n.tools.isMobile() && !p.config.mobile) || !n.isSupported()
  349. ? (p.domEl.setAttribute("style", p.styles.inline), (p.disabled = !0))
  350. : p.revealing || p.domEl.setAttribute("style", p.styles.inline + p.styles.transform.initial);
  351. return (
  352. !o &&
  353. n.isSupported() &&
  354. (!(function(e, t, i) {
  355. var o = {
  356. target: e,
  357. config: t,
  358. interval: i
  359. };
  360. n.history.push(o);
  361. })(e, t, i),
  362. n.initTimeout && window.clearTimeout(n.initTimeout),
  363. (n.initTimeout = window.setTimeout(u, 0))),
  364. n
  365. );
  366. }),
  367. (o.prototype.sync = function() {
  368. if (n.history.length && n.isSupported()) {
  369. for (var e = 0; e < n.history.length; e++) {
  370. var t = n.history[e];
  371. n.reveal(t.target, t.config, t.interval, !0);
  372. }
  373. u();
  374. } else console.log("ScrollReveal: sync failed, no reveals found.");
  375. return n;
  376. }),
  377. (w.prototype.isObject = function(e) {
  378. return null !== e && "object" === (void 0 === e ? "undefined" : t(e)) && e.constructor === Object;
  379. }),
  380. (w.prototype.isNode = function(e) {
  381. return "object" === t(window.Node)
  382. ? e instanceof window.Node
  383. : e && "object" === (void 0 === e ? "undefined" : t(e)) && "number" == typeof e.nodeType && "string" == typeof e.nodeName;
  384. }),
  385. (w.prototype.isNodeList = function(e) {
  386. var n = Object.prototype.toString.call(e);
  387. return "object" === t(window.NodeList)
  388. ? e instanceof window.NodeList
  389. : e &&
  390. "object" === (void 0 === e ? "undefined" : t(e)) &&
  391. /^\[object (HTMLCollection|NodeList|Object)\]$/.test(n) &&
  392. "number" == typeof e.length &&
  393. (0 === e.length || this.isNode(e[0]));
  394. }),
  395. (w.prototype.forOwn = function(e, n) {
  396. if (!this.isObject(e)) throw new TypeError('Expected "object", but received "' + (void 0 === e ? "undefined" : t(e)) + '".');
  397. for (var i in e) e.hasOwnProperty(i) && n(i);
  398. }),
  399. (w.prototype.extend = function(e, t) {
  400. return (
  401. this.forOwn(
  402. t,
  403. function(n) {
  404. this.isObject(t[n]) ? ((e[n] && this.isObject(e[n])) || (e[n] = {}), this.extend(e[n], t[n])) : (e[n] = t[n]);
  405. }.bind(this)
  406. ),
  407. e
  408. );
  409. }),
  410. (w.prototype.extendClone = function(e, t) {
  411. return this.extend(this.extend({}, e), t);
  412. }),
  413. (w.prototype.isMobile = function() {
  414. return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
  415. }),
  416. (i =
  417. window.requestAnimationFrame ||
  418. window.webkitRequestAnimationFrame ||
  419. window.mozRequestAnimationFrame ||
  420. function(e) {
  421. window.setTimeout(e, 1e3 / 60);
  422. }),
  423. e.exports ? (e.exports = o) : (window.ScrollReveal = o);
  424. })();
  425. })(
  426. (e = {
  427. exports: {}
  428. }),
  429. e.exports
  430. ),
  431. e.exports)(),
  432. i = document.querySelectorAll('[data-component="fadereveal"]'),
  433. o = 0;
  434. o < i.length;
  435. o++
  436. ) {
  437. var r = i[o].querySelectorAll('[data-ref="fadereveal[el]"]');
  438. n.reveal(
  439. r,
  440. {
  441. duration: 1e3,
  442. scale: 1,
  443. distance: "0px",
  444. viewFactor: 0
  445. },
  446. 100
  447. );
  448. }
  449. for (var s = document.querySelectorAll('[data-component="slidereveal"]'), a = 0; a < s.length; a++) {
  450. var l = s[a].querySelectorAll('[data-ref="slidereveal[el]"]');
  451. n.reveal(
  452. l,
  453. {
  454. duration: 1e3,
  455. scale: 1,
  456. distance: "50px"
  457. },
  458. 75
  459. );
  460. }
  461. var c = '[data-ref="hero[el]"]';
  462. new Glide('[data-component="hero"]', {
  463. focusAt: "center",
  464. startAt: 0,
  465. perView: 6,
  466. peek: 50,
  467. gap: 30,
  468. autoplay: 2500,
  469. hoverpause: 1,
  470. animationDuration: 1e3,
  471. rewindDuration: 2e3,
  472. touchRatio: 0.25,
  473. perTouch: 1,
  474. breakpoints: {
  475. 480: {
  476. gap: 15,
  477. peek: 75,
  478. perView: 1
  479. },
  480. 768: {
  481. perView: 2
  482. },
  483. 1360: {
  484. perView: 3
  485. },
  486. 1600: {
  487. perView: 4
  488. },
  489. 1960: {
  490. perView: 5
  491. }
  492. }
  493. }).mount({
  494. Coverflow: function(e, t, n) {
  495. var i = {
  496. tilt: function(e) {
  497. (e.querySelector(c).style.transform = "perspective(1500px) rotateY(0deg)"), this.tiltPrevElements(e), this.tiltNextElements(e);
  498. },
  499. tiltPrevElements: function(e) {
  500. for (
  501. var t = (function(e) {
  502. var t = [];
  503. if (e) for (; (e = e.previousElementSibling); ) t.push(e);
  504. return t;
  505. })(e),
  506. n = 0;
  507. n < t.length;
  508. n++
  509. ) {
  510. var i = t[n].querySelector(c);
  511. (i.style.transformOrigin = "100% 50%"), (i.style.transform = "perspective(1500px) rotateY(" + 20 * Math.max(n, 2) + "deg)");
  512. }
  513. },
  514. tiltNextElements: function(e) {
  515. for (
  516. var t = (function(e) {
  517. var t = [];
  518. if (e) for (; (e = e.nextElementSibling); ) t.push(e);
  519. return t;
  520. })(e),
  521. n = 0;
  522. n < t.length;
  523. n++
  524. ) {
  525. var i = t[n].querySelector(c);
  526. (i.style.transformOrigin = "0% 50%"), (i.style.transform = "perspective(1500px) rotateY(" + -20 * Math.max(n, 2) + "deg)");
  527. }
  528. }
  529. };
  530. return (
  531. n.on(["mount.after", "run"], function() {
  532. i.tilt(t.Html.slides[e.index]);
  533. }),
  534. i
  535. );
  536. }
  537. });
  538. })();
  539. }