PageSourceSearch

https://directory-africa.com/assets/js/vendor/wow.js

js directory-africa.com collected 2026-10-09 22:40:27 UTC 11,998 bytes, 339 lines download raw bytes

1/*! WOW - v1.0.1 - 2014-08-15
2 * Copyright (c) 2014 Matthieu Aussaguel; Licensed MIT */ (function () {
3  var a,
4    b,
5    c,
6    d = function (a, b) {
7      return function () {
8        return a.apply(b, arguments);
9      };
10    },
11    e =
12      [].indexOf ||
13      function (a) {
14        for (var b = 0, c = this.length; c > b; b++)
15          if (b in this && this[b] === a) return b;
16        return -1;
17      };
18  (b = (function () {
19    function a() {}
20    return (
21      (a.prototype.extend = function (a, b) {
22        var c, d;
23        for (c in b) (d = b[c]), null == a[c] && (a[c] = d);
24        return a;
25      }),
26      (a.prototype.isMobile = function (a) {
27        return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
28          a
29        );
30      }),
31      a
32    );
33  })()),
34    (c =
35      this.WeakMap ||
36      this.MozWeakMap ||
37      (c = (function () {
38        function a() {
39          (this.keys = []), (this.values = []);
40        }
41        return (
42          (a.prototype.get = function (a) {
43            var b, c, d, e, f;
44            for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d)
45              if (((c = f[b]), c === a)) return this.values[b];
46          }),
47          (a.prototype.set = function (a, b) {
48            var c, d, e, f, g;
49            for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e)
50              if (((d = g[c]), d === a)) return void (this.values[c] = b);
51            return this.keys.push(a), this.values.push(b);
52          }),
53          a
54        );
55      })())),
56    (a =
57      this.MutationObserver ||
58      this.WebkitMutationObserver ||
59      this.MozMutationObserver ||
60      (a = (function () {
61        function a() {
62          console.warn("MutationObserver is not supported by your browser."),
63            console.warn(
64              "WOW.js cannot detect dom mutations, please call .sync() after loading new content."
65            );
66        }
67        return (a.notSupported = !0), (a.prototype.observe = function () {}), a;
68      })())),
69    (this.WOW = (function () {
70      function f(a) {
71        null == a && (a = {}),
72          (this.scrollCallback = d(this.scrollCallback, this)),
73          (this.scrollHandler = d(this.scrollHandler, this)),
74          (this.start = d(this.start, this)),
75          (this.scrolled = !0),
76          (this.config = this.util().extend(a, this.defaults)),
77          (this.animationNameCache = new c());
78      }
79      return (
80        (f.prototype.defaults = {
81          boxClass: "wow",
82          animateClass: "animated",
83          offset: 0,
84          mobile: !0,
85          live: !0,
86        }),
87        (f.prototype.init = function () {
88          var a;
89          return (
90            (this.element = window.document.documentElement),
91            "interactive" === (a = document.readyState) || "complete" === a
92              ? this.start()
93              : document.addEventListener("DOMContentLoaded", this.start),
94            (this.finished = [])
95          );
96        }),
97        (f.prototype.start = function () {
98          var b, c, d, e;
99          if (
100            ((this.stopped = !1),
101            (this.boxes = function () {
102              var a, c, d, e;
103              for (
104                d = this.element.querySelectorAll("." + this.config.boxClass),
105                  e = [],
106                  a = 0,
107                  c = d.length;
108                c > a;
109                a++
110              )
111                (b = d[a]), e.push(b);
112              return e;
113            }.call(this)),
114            (this.all = function () {
115              var a, c, d, e;
116              for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++)
117                (b = d[a]), e.push(b);
118              return e;
119            }.call(this)),
120            this.boxes.length)
121          )
122            if (this.disabled()) this.resetStyle();
123            else {
124              for (e = this.boxes, c = 0, d = e.length; d > c; c++)
125                (b = e[c]), this.applyStyle(b, !0);
126              window.addEventListener("scroll", this.scrollHandler, !1),
127                window.addEventListener("resize", this.scrollHandler, !1),
128                (this.interval = setInterval(this.scrollCallback, 50));
129            }
130          return this.config.live
131            ? new a(
132                (function (a) {
133                  return function (b) {
134                    var c, d, e, f, g;
135                    for (g = [], e = 0, f = b.length; f > e; e++)
136                      (d = b[e]),
137                        g.push(
138                          function () {
139                            var a, b, e, f;
140                            for (
141                              e = d.addedNodes || [],
142                                f = [],
143                                a = 0,
144                                b = e.length;
145                              b > a;
146                              a++
147                            )
148                              (c = e[a]), f.push(this.doSync(c));
149                            return f;
150                          }.call(a)
151                        );
152                    return g;
153                  };
154                })(this)
155              ).observe(document.body, { childList: !0, subtree: !0 })
156            : void 0;
157        }),
158        (f.prototype.stop = function () {
159          return (
160            (this.stopped = !0),
161            window.removeEventListener("scroll", this.scrollHandler, !1),
162            window.removeEventListener("resize", this.scrollHandler, !1),
163            null != this.interval ? clearInterval(this.interval) : void 0
164          );
165        }),
166        (f.prototype.sync = function () {
167          return a.notSupported ? this.doSync(this.element) : void 0;
168        }),
169        (f.prototype.doSync = function (a) {
170          var b, c, d, f, g;
171          if (!this.stopped) {
172            if ((null == a && (a = this.element), 1 !== a.nodeType)) return;
173            for (
174              a = a.parentNode || a,
175                f = a.querySelectorAll("." + this.config.boxClass),
176                g = [],
177                c = 0,
178                d = f.length;
179              d > c;
180              c++
181            )
182              (b = f[c]),
183                e.call(this.all, b) < 0
184                  ? (this.applyStyle(b, !0),
185                    this.boxes.push(b),
186                    this.all.push(b),
187                    g.push((this.scrolled = !0)))
188                  : g.push(void 0);
189            return g;
190          }
191        }),
192        (f.prototype.show = function (a) {
193          return (
194            this.applyStyle(a),
195            (a.className = "" + a.className + " " + this.config.animateClass)
196          );
197        }),
198        (f.prototype.applyStyle = function (a, b) {
199          var c, d, e;
200          return (
201            (d = a.getAttribute("data-wow-duration")),
202            (c = a.getAttribute("data-wow-delay")),
203            (e = a.getAttribute("data-wow-iteration")),
204            this.animate(
205              (function (f) {
206                return function () {
207                  return f.customStyle(a, b, d, c, e);
208                };
209              })(this)
210            )
211          );
212        }),
213        (f.prototype.animate = (function () {
214          return "requestAnimationFrame" in window
215            ? function (a) {
216                return window.requestAnimationFrame(a);
217              }
218            : function (a) {
219                return a();
220              };
221        })()),
222        (f.prototype.resetStyle = function () {
223          var a, b, c, d, e;
224          for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++)
225            (a = d[b]), e.push(a.setAttribute("style", "visibility: visible;"));
226          return e;
227        }),
228        (f.prototype.customStyle = function (a, b, c, d, e) {
229          return (
230            b && this.cacheAnimationName(a),
231            (a.style.visibility = b ? "hidden" : "visible"),
232            c && this.vendorSet(a.style, { animationDuration: c }),
233            d && this.vendorSet(a.style, { animationDelay: d }),
234            e && this.vendorSet(a.style, { animationIterationCount: e }),
235            this.vendorSet(a.style, {
236              animationName: b ? "none" : this.cachedAnimationName(a),
237            }),
238            a
239          );
240        }),
241        (f.prototype.vendors = ["moz", "webkit"]),
242        (f.prototype.vendorSet = function (a, b) {
243          var c, d, e, f;
244          f = [];
245          for (c in b)
246            (d = b[c]),
247              (a["" + c] = d),
248              f.push(
249                function () {
250                  var b, f, g, h;
251                  for (
252                    g = this.vendors, h = [], b = 0, f = g.length;
253                    f > b;
254                    b++
255                  )
256                    (e = g[b]),
257                      h.push(
258                        (a["" + e + c.charAt(0).toUpperCase() + c.substr(1)] =
259                          d)
260                      );
261                  return h;
262                }.call(this)
263              );
264          return f;
265        }),
266        (f.prototype.vendorCSS = function (a, b) {
267          var c, d, e, f, g, h;
268          for (
269            d = window.getComputedStyle(a),
270              c = d.getPropertyCSSValue(b),
271              h = this.vendors,
272              f = 0,
273              g = h.length;
274            g > f;
275            f++
276          )
277            (e = h[f]), (c = c || d.getPropertyCSSValue("-" + e + "-" + b));
278          return c;
279        }),
280        (f.prototype.animationName = function (a) {
281          var b;
282          try {
283            b = this.vendorCSS(a, "animation-name").cssText;
284          } catch (c) {
285            b = window.getComputedStyle(a).getPropertyValue("animation-name");
286          }
287          return "none" === b ? "" : b;
288        }),
289        (f.prototype.cacheAnimationName = function (a) {
290          return this.animationNameCache.set(a, this.animationName(a));
291        }),
292        (f.prototype.cachedAnimationName = function (a) {
293          return this.animationNameCache.get(a);
294        }),
295        (f.prototype.scrollHandler = function () {
296          return (this.scrolled = !0);
297        }),
298        (f.prototype.scrollCallback = function () {
299          var a;
300          return !this.scrolled ||
301            ((this.scrolled = !1),
302            (this.boxes = function () {
303              var b, c, d, e;
304              for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++)
305                (a = d[b]), a && (this.isVisible(a) ? this.show(a) : e.push(a));
306              return e;
307            }.call(this)),
308            this.boxes.length || this.config.live)
309            ? void 0
310            : this.stop();
311        }),
312        (f.prototype.offsetTop = function (a) {
313          for (var b; void 0 === a.offsetTop; ) a = a.parentNode;
314          for (b = a.offsetTop; (a = a.offsetParent); ) b += a.offsetTop;
315          return b;
316        }),
317        (f.prototype.isVisible = function (a) {
318          var b, c, d, e, f;
319          return (
320            (c = a.getAttribute("data-wow-offset") || this.config.offset),
321            (f = window.pageYOffset),
322            (e = f + Math.min(this.element.clientHeight, innerHeight) - c),
323            (d = this.offsetTop(a)),
324            (b = d + a.clientHeight),
325            e >= d && b >= f
326          );
327        }),
328        (f.prototype.util = function () {
329          return null != this._util ? this._util : (this._util = new b());
330        }),
331        (f.prototype.disabled = function () {
332          return (
333            !this.config.mobile && this.util().isMobile(navigator.userAgent)
334          );
335        }),
336        f
337      );
338    })());
339}).call(this);

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.