PageSourceSearch

https://semanasantadetobarra.com/wp-content/themes/startbox/assets/vendors/js/lax.js?ver=1.0.0

js semanasantadetobarra.com collected 2026-10-02 13:20:22 UTC 18,824 bytes, 547 lines download raw bytes

1"use strict";
2
3function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
4
5function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
6
7function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
8
9function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
11//
12// lax v1.2.3 (Alex Fox)
13// Simple & light weight vanilla javascript plugin to create beautiful animations things when you scrolllll!!
14//
15// Licensed under the terms of the MIT license.
16//
17// You may use it in your theme if you credit me. 
18// It is also free to use on any individual website.
19//
20// Exception:
21// The only restriction is to not publish any  
22// extension for browsers or native application
23// without getting a written permission first.
24//
25(function () {
26  var lax = function () {
27    var lax = {
28      elements: []
29    };
30    var lastY = 0;
31    var currentBreakpoint = 'default';
32    var breakpointsSeparator = "_";
33    var transformFns = {
34      "data-lax-opacity": function dataLaxOpacity(style, v) {
35        style.opacity = v;
36      },
37      "data-lax-translate": function dataLaxTranslate(style, v) {
38        style.transform += " translate(".concat(v, "px, ").concat(v, "px)");
39      },
40      "data-lax-translate-x": function dataLaxTranslateX(style, v) {
41        style.transform += " translateX(".concat(v, "px)");
42      },
43      "data-lax-translate-y": function dataLaxTranslateY(style, v) {
44        style.transform += " translateY(".concat(v, "px)");
45      },
46      "data-lax-scale": function dataLaxScale(style, v) {
47        style.transform += " scale(".concat(v, ")");
48      },
49      "data-lax-scale-x": function dataLaxScaleX(style, v) {
50        style.transform += " scaleX(".concat(v, ")");
51      },
52      "data-lax-scale-y": function dataLaxScaleY(style, v) {
53        style.transform += " scaleY(".concat(v, ")");
54      },
55      "data-lax-skew": function dataLaxSkew(style, v) {
56        style.transform += " skew(".concat(v, "deg, ").concat(v, "deg)");
57      },
58      "data-lax-skew-x": function dataLaxSkewX(style, v) {
59        style.transform += " skewX(".concat(v, "deg)");
60      },
61      "data-lax-skew-y": function dataLaxSkewY(style, v) {
62        style.transform += " skewY(".concat(v, "deg)");
63      },
64      "data-lax-rotate": function dataLaxRotate(style, v) {
65        style.transform += " rotate(".concat(v, "deg)");
66      },
67      "data-lax-rotate-x": function dataLaxRotateX(style, v) {
68        style.transform += " rotateX(".concat(v, "deg)");
69      },
70      "data-lax-rotate-y": function dataLaxRotateY(style, v) {
71        style.transform += " rotateY(".concat(v, "deg)");
72      },
73      "data-lax-brightness": function dataLaxBrightness(style, v) {
74        style.filter += " brightness(".concat(v, "%)");
75      },
76      "data-lax-contrast": function dataLaxContrast(style, v) {
77        style.filter += " contrast(".concat(v, "%)");
78      },
79      "data-lax-hue-rotate": function dataLaxHueRotate(style, v) {
80        style.filter += " hue-rotate(".concat(v, "deg)");
81      },
82      "data-lax-blur": function dataLaxBlur(style, v) {
83        style.filter += " blur(".concat(v, "px)");
84      },
85      "data-lax-invert": function dataLaxInvert(style, v) {
86        style.filter += "  invert(".concat(v, "%)");
87      },
88      "data-lax-saturate": function dataLaxSaturate(style, v) {
89        style.filter += "  saturate(".concat(v, "%)");
90      },
91      "data-lax-grayscale": function dataLaxGrayscale(style, v) {
92        style.filter += "  grayscale(".concat(v, "%)");
93      },
94      "data-lax-bg-pos": function dataLaxBgPos(style, v) {
95        style.backgroundPosition = "".concat(v, "px ").concat(v, "px");
96      },
97      "data-lax-bg-pos-x": function dataLaxBgPosX(style, v) {
98        style.backgroundPositionX = "".concat(v, "px");
99      },
100      "data-lax-bg-pos-y": function dataLaxBgPosY(style, v) {
101        style.backgroundPositionY = "".concat(v, "px");
102      }
103    };
104    var _crazy = "";
105
106    for (var i = 0; i < 20; i++) {
107      _crazy += " " + i * 5 + " " + i * 47 % 360 + ", ";
108    }
109
110    lax.presets = {
111      linger: function linger(v) {
112        return {
113          "data-lax-translate-y": "(vh*0.7) 0, 0 200, -500 0"
114        };
115      },
116      lazy: function lazy() {
117        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 100;
118        return {
119          "data-lax-translate-y": "(vh) 0, (-elh) ".concat(v)
120        };
121      },
122      eager: function eager() {
123        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 100;
124        return {
125          "data-lax-translate-y": "(vh) 0, (-elh) -".concat(v)
126        };
127      },
128      slalom: function slalom() {
129        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 50;
130        return {
131          "data-lax-translate-x": "vh ".concat(v, ", (vh*0.8) ").concat(-v, ", (vh*0.6) ").concat(v, ", (vh*0.4) ").concat(-v, ", (vh*0.2) ").concat(v, ", (vh*0) ").concat(-v, ", (-elh) ").concat(v)
132        };
133      },
134      crazy: function crazy(v) {
135        return {
136          "data-lax-hue-rotate": "".concat(_crazy, " | loop=20")
137        };
138      },
139      spin: function spin() {
140        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 360;
141        return {
142          "data-lax-rotate": "(vh) 0, (-elh) ".concat(v)
143        };
144      },
145      spinRev: function spinRev() {
146        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 360;
147        return {
148          "data-lax-rotate": "(vh) 0, (-elh) ".concat(-v)
149        };
150      },
151      spinIn: function spinIn() {
152        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 360;
153        return {
154          "data-lax-rotate": "vh ".concat(v, ", (vh*0.5) 0")
155        };
156      },
157      spinOut: function spinOut() {
158        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 360;
159        return {
160          "data-lax-rotate": "(vh*0.5) 0, -elh ".concat(v)
161        };
162      },
163      blurInOut: function blurInOut() {
164        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 40;
165        return {
166          "data-lax-blur": "(vh) ".concat(v, ", (vh*0.8) 0, (vh*0.2) 0, 0 ").concat(v)
167        };
168      },
169      blurIn: function blurIn() {
170        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 40;
171        return {
172          "data-lax-blur": "(vh) ".concat(v, ", (vh*0.7) 0")
173        };
174      },
175      blurOut: function blurOut() {
176        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 40;
177        return {
178          "data-lax-blur": "(vh*0.3) 0, 0 ".concat(v)
179        };
180      },
181      fadeInOut: function fadeInOut() {
182        return {
183          "data-lax-opacity": "(vh) 0, (vh*0.8) 1, (vh*0.2) 1, 0 0"
184        };
185      },
186      fadeIn: function fadeIn() {
187        return {
188          "data-lax-opacity": "(vh) 0, (vh*0.7) 1"
189        };
190      },
191      fadeOut: function fadeOut() {
192        return {
193          "data-lax-opacity": "(vh*0.3) 1, 0 0"
194        };
195      },
196      driftLeft: function driftLeft() {
197        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 100;
198        return {
199          "data-lax-translate-x": "vh ".concat(v, ", -elh ").concat(-v)
200        };
201      },
202      driftRight: function driftRight() {
203        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 100;
204        return {
205          "data-lax-translate-x": "vh ".concat(-v, ", -elh ").concat(v)
206        };
207      },
208      leftToRight: function leftToRight() {
209        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
210        return {
211          "data-lax-translate-x": "vh 0, -elh (vw*".concat(v, ")")
212        };
213      },
214      rightToLeft: function rightToLeft() {
215        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
216        return {
217          "data-lax-translate-x": "vh 0, -elh (vw*".concat(-v, ")")
218        };
219      },
220      zoomInOut: function zoomInOut() {
221        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.2;
222        return {
223          "data-lax-scale": "(vh) ".concat(v, ", (vh*0.8) 1, (vh*0.2) 1, -elh ").concat(v)
224        };
225      },
226      zoomIn: function zoomIn() {
227        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.2;
228        return {
229          "data-lax-scale": "(vh) ".concat(v, ", (vh*0.7) 1")
230        };
231      },
232      zoomOut: function zoomOut() {
233        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.2;
234        return {
235          "data-lax-scale": "(vh*0.3) 1, -elh ".concat(v)
236        };
237      },
238      speedy: function speedy() {
239        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 30;
240        return {
241          "data-lax-skew-x": "(vh) ".concat(v, ", -elh ").concat(-v)
242        };
243      },
244      swing: function swing() {
245        var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 30;
246        return {
247          "data-lax-skew-y": "(vh) ".concat(v, ", -elh ").concat(-v)
248        };
249      }
250    };
251
252    lax.addPreset = function (p, o) {
253      lax.presets[p] = o;
254    };
255
256    function intrp(t, v) {
257      var i = 0;
258
259      while (t[i][0] <= v && t[i + 1] !== undefined) {
260        i += 1;
261      }
262
263      var x = t[i][0];
264      var prevX = t[i - 1] === undefined ? x : t[i - 1][0];
265      var y = t[i][1];
266      var prevY = t[i - 1] === undefined ? y : t[i - 1][1];
267      var xPoint = Math.min(Math.max((v - prevX) / (x - prevX), 0), 1);
268      var yPoint = xPoint * (y - prevY) + prevY;
269      return yPoint;
270    }
271
272    function fnOrVal(s) {
273      if (s[0] === "(") return eval(s);else return parseFloat(s);
274    }
275
276    lax.setup = function () {
277      var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
278      lax.breakpoints = o.breakpoints || {};
279      lax.selector = o.selector || '.lax';
280      lax.populateElements();
281    };
282
283    lax.removeElement = function (el) {
284      var i = lax.elements.findIndex(function (o) {
285        return o.el = el;
286      });
287
288      if (i > -1) {
289        lax.elements.splice(i, 1);
290      }
291    };
292
293    lax.createLaxObject = function (el) {
294      var o = {
295        el: el,
296        originalStyle: {
297          transform: el.style.transform,
298          filter: el.style.filter
299        },
300        transforms: {}
301      };
302      return o;
303    };
304
305    lax.calcTransforms = function (o) {
306      var el = o.el; //find presets in data attributes
307
308      var presets = [];
309
310      for (var _i = 0; _i < el.attributes.length; _i++) {
311        var a = el.attributes[_i];
312
313        if (a.name.indexOf("data-lax-preset") > -1) {
314          presets.push(a);
315        }
316      } //unwrap presets into transformations
317
318
319      var _loop = function _loop(_i2) {
320        var a = presets[_i2];
321        var b = a.name.split(breakpointsSeparator);
322        var breakpoint = b[1] ? "".concat(breakpointsSeparator).concat(b[1]) : '';
323        a.value.split(" ").forEach(function (p) {
324          var bits = p.split("-");
325          var fn = lax.presets[bits[0]];
326
327          if (!fn) {
328            console.log("lax error: preset ".concat(bits[0], " is not defined"));
329          } else {
330            var d = fn(bits[1]);
331
332            for (var k in d) {
333              el.setAttribute("".concat(k).concat(breakpoint), d[k]);
334            }
335          }
336        });
337        var currentAnchor = el.getAttribute("data-lax-anchor");
338        if (!currentAnchor || currentAnchor === "") el.setAttribute("data-lax-anchor", "self");
339        el.attributes.removeNamedItem(a.name);
340      };
341
342      for (var _i2 = 0; _i2 < presets.length; _i2++) {
343        _loop(_i2);
344      } // use gpu
345
346
347      var useGpu = !(el.attributes["data-lax-use-gpu"] && el.attributes["data-lax-use-gpu"].value === 'false');
348
349      if (useGpu) {
350        el.style["backface-visibility"] = "hidden";
351        el.style["-webkit-backface-visibility"] = "hidden";
352      }
353
354      if (el.attributes["data-lax-use-gpu"]) el.attributes.removeNamedItem("data-lax-use-gpu"); // optmise off screen
355
356      o.optimise = false;
357
358      if (el.attributes["data-lax-optimize"] && el.attributes["data-lax-optimize"].value === 'true') {
359        o.optimise = true;
360        var bounds = el.getBoundingClientRect();
361        el.setAttribute("data-lax-opacity", "".concat(-bounds.height - 1, " 0, ").concat(-bounds.height, " 1, ").concat(window.innerHeight, " 1, ").concat(window.innerHeight + 1, " 0"));
362        el.attributes.removeNamedItem("data-lax-optimize");
363      } // build transform list
364
365
366      for (var _i3 = 0; _i3 < el.attributes.length; _i3++) {
367        var _a = el.attributes[_i3];
368        if (_a.name.indexOf("data-lax") < 0) continue;
369
370        var b = _a.name.split(breakpointsSeparator);
371
372        var bits = b[0].split("-");
373        var breakpoint = b[1] || "default";
374
375        if (bits[1] === "lax") {
376          if (_a.name === "data-lax-anchor") {
377            o["data-lax-anchor"] = _a.value === "self" ? el : document.querySelector(_a.value);
378            var rect = o["data-lax-anchor"].getBoundingClientRect();
379            o.anchorTop = Math.floor(rect.top) + window.scrollY;
380          } else {
381            (function () {
382              var tString = _a.value.replace(/vw/g, window.innerWidth).replace(/vh/g, window.innerHeight).replace(/elh/g, el.clientHeight).replace(/elw/g, el.clientWidth).replace(/\s+/g, " ");
383
384              var _tString$split = tString.split("|"),
385                  _tString$split2 = _slicedToArray(_tString$split, 2),
386                  arrString = _tString$split2[0],
387                  optionString = _tString$split2[1];
388
389              var options = {};
390
391              if (optionString) {
392                optionString.split(" ").forEach(function (o) {
393                  var _o$split = o.split("="),
394                      _o$split2 = _slicedToArray(_o$split, 2),
395                      key = _o$split2[0],
396                      val = _o$split2[1];
397
398                  options[key] = key && fnOrVal(val);
399                });
400              }
401
402              var name = b[0];
403              var valueMap = arrString.split(",").map(function (x) {
404                return x.trim().split(" ").map(fnOrVal);
405              }).sort(function (a, b) {
406                return a[0] - b[0];
407              });
408
409              if (!o.transforms[name]) {
410                o.transforms[name] = {};
411              }
412
413              o.transforms[name][breakpoint] = {
414                valueMap: valueMap,
415                options: options
416              };
417            })();
418          }
419        }
420      } // sprite sheet animation
421
422
423      var spriteData = el.attributes["data-lax-sprite-data"] && el.attributes["data-lax-sprite-data"].value;
424
425      if (spriteData) {
426        o.spriteData = spriteData.split(",").map(function (x) {
427          return parseInt(x);
428        });
429        el.style.height = o.spriteData[1] + "px";
430        el.style.width = o.spriteData[0] + "px";
431        var spriteImage = el.attributes["data-lax-sprite-image"] && el.attributes["data-lax-sprite-image"].value;
432
433        if (spriteImage) {
434          el.style.backgroundImage = "url(".concat(spriteImage, ")");
435        }
436      }
437
438      return o;
439    };
440
441    lax.addElement = function (el) {
442      var o = lax.calcTransforms(lax.createLaxObject(el));
443      lax.elements.push(o);
444      lax.updateElement(o);
445    };
446
447    lax.populateElements = function () {
448      lax.elements = [];
449      document.querySelectorAll(lax.selector).forEach(lax.addElement);
450      currentBreakpoint = lax.getCurrentBreakPoint();
451    };
452
453    lax.updateElements = function () {
454      lax.elements.forEach(function (o) {
455        lax.calcTransforms(o);
456        lax.updateElement(o);
457      });
458      currentBreakpoint = lax.getCurrentBreakPoint();
459    };
460
461    lax.getCurrentBreakPoint = function () {
462      var b = 'default';
463      var w = window.innerWidth;
464
465      for (var _i4 in lax.breakpoints) {
466        var px = parseFloat(lax.breakpoints[_i4]);
467
468        if (px <= w) {
469          b = _i4;
470        } else {
471          break;
472        }
473      }
474
475      return b;
476    };
477
478    lax.updateElement = function (o) {
479      var originalStyle = o.originalStyle,
480          anchorTop = o.anchorTop,
481          transforms = o.transforms,
482          spriteData = o.spriteData,
483          el = o.el;
484      var r = anchorTop ? anchorTop - lastY : lastY;
485      var style = {
486        transform: originalStyle.transform,
487        filter: originalStyle.filter
488      };
489
490      for (var _i5 in transforms) {
491        var transformData = transforms[_i5][currentBreakpoint] || transforms[_i5]["default"];
492
493        if (!transformData) {
494          // console.log(`lax error: there is no setting for key ${i} and screen size ${currentBreakpoint}. Try adding a default value!`)
495          continue;
496        }
497
498        var _r = r;
499        if (transformData.options.offset) _r = _r + transformData.options.offset;
500        if (transformData.options.speed) _r = _r * transformData.options.speed;
501        if (transformData.options.loop) _r = _r % transformData.options.loop;
502        var t = transformFns[_i5];
503        var v = intrp(transformData.valueMap, _r);
504
505        if (!t) {
506          // console.info(`lax: error ${i} is not supported`)
507          continue;
508        }
509
510        t(style, v);
511      }
512
513      if (spriteData) {
514        var _spriteData = _slicedToArray(spriteData, 5),
515            frameW = _spriteData[0],
516            frameH = _spriteData[1],
517            numFrames = _spriteData[2],
518            cols = _spriteData[3],
519            scrollStep = _spriteData[4];
520
521        var frameNo = Math.floor(lastY / scrollStep) % numFrames;
522        var framePosX = frameNo % cols;
523        var framePosY = Math.floor(frameNo / cols);
524        style.backgroundPosition = "-".concat(framePosX * frameW, "px -").concat(framePosY * frameH, "px");
525      }
526
527      if (style.opacity === 0) {
528        // if opacity 0 don't update
529        el.style.opacity = 0;
530      } else {
531        for (var k in style) {
532          el.style[k] = style[k];
533        }
534      }
535    };
536
537    lax.update = function (y) {
538      if (lastY === y) return;
539      lastY = y;
540      lax.elements.forEach(lax.updateElement);
541    };
542
543    return lax;
544  }();
545
546  if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') module.exports = lax;else window.lax = lax;
547})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.