PageSourceSearch

https://seashell-wolf-589882.hostingersite.com/wp-content/plugins/blog-filter/js/jquery.filterizr.js?ver=1.7.9

js seashell-wolf-589882.hostingersite.com collected 2026-10-03 04:53:05 UTC 40,957 bytes, 1,040 lines download raw bytes

1/**
2* Filterizr is a jQuery plugin that sorts, shuffles and applies stunning filters over
3* responsive galleries using CSS3 transitions and custom CSS effects.
4*
5* @author Yiotis Kaltsikis
6* @see {@link http://yiotis.net/filterizr}
7* @version ???
8* @license MIT License
9*/
10
11! function(t) {
12    function e(i) {
13        if (r[i]) return r[i].exports;
14        var n = r[i] = {
15            i: i,
16            l: !1,
17            exports: {}
18        };
19        return t[i].call(n.exports, n, n.exports, e), n.l = !0, n.exports
20    }
21    var r = {};
22    e.m = t, e.c = r, e.d = function(t, r, i) {
23        e.o(t, r) || Object.defineProperty(t, r, {
24            configurable: !1,
25            enumerable: !0,
26            get: i
27        })
28    }, e.n = function(t) {
29        var r = t && t.__esModule ? function() {
30            return t.default
31        } : function() {
32            return t
33        };
34        return e.d(r, "a", r), r
35    }, e.o = function(t, e) {
36        return Object.prototype.hasOwnProperty.call(t, e)
37    }, e.p = "", e(e.s = 4)
38}([function(t, e, r) {
39    "use strict";
40    r.d(e, "b", function() {
41        return n
42    }), r.d(e, "h", function() {
43        return o
44    }), r.d(e, "i", function() {
45        return s
46    }), r.d(e, "g", function() {
47        return a
48    }), r.d(e, "e", function() {
49        return l
50    }), r.d(e, "j", function() {
51        return u
52    }), r.d(e, "f", function() {
53        return c
54    }), r.d(e, "k", function() {
55        return f
56    }), r.d(e, "c", function() {
57        return p
58    }), r.d(e, "d", function() {
59        return h
60    }), r.d(e, "l", function() {
61        return d
62    }), r.d(e, "a", function() {
63        return v
64    });
65    var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
66            return typeof t
67        } : function(t) {
68            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
69        },
70        n = function(t, e) {
71            for (var r = 0; r < t.length; r++) {
72                for (var i = !1, n = t[r], o = 0; o < e.length; o++) n === e[o] && (i = !0);
73                if (!i) return !1
74            }
75            return !0
76        },
77        o = function(t) {
78            var e = {};
79            for (var r in t) e[r] = t[r];
80            return e
81        },
82        s = function t(e, r) {
83            var n = o(r);
84            for (var s in e) s in n ? "object" !== i(n[s]) || "object" !== i(e[s]) || Array.isArray(e[s]) || (n[s] = t("object" === i(n[s]) ? n[s] : {}, e[s])) : n[s] = e[s];
85            return n
86        },
87        a = function(t, e) {
88            return Array.prototype.filter.call(t, function(t) {
89                return e.includes(t)
90            })
91        },
92        l = function(t, e, r) {
93            var i = void 0;
94            return function() {
95                var n = this,
96                    o = arguments;
97                clearTimeout(i), i = setTimeout(function() {
98                    i = null, r || t.apply(n, o)
99                }, e), r && !i && t.apply(n, o)
100            }
101        },
102        u = function(t) {
103            for (var e = t.slice(0), r = []; 0 !== e.length;) {
104                var i = Math.floor(e.length * Math.random());
105                r.push(e[i]), e.splice(i, 1)
106            }
107            return r
108        },
109        c = function(t, e) {
110            if (t.length !== e.length) return !1;
111            for (var r = 0; r < t.length; r++)
112                if (t[r].props.index !== e[r].props.index) return !1;
113            return !0
114        },
115        f = function(t, e) {
116            return t.slice(0).sort(function(t) {
117                return function(e, r) {
118                    var i = t(e),
119                        n = t(r);
120                    return i < n ? -1 : i > n ? 1 : 0
121                }
122            }(e))
123        },
124        p = function(t, e, r, n, o) {
125            if (void 0 !== e) {
126                var s = new Error('Filterizr: expected type of option "' + t + '" to be "' + r + '", but its type is: "' + (void 0 === e ? "undefined" : i(e)) + '"'),
127                    a = !1,
128                    l = !1,
129                    u = r.includes("array");
130                if ((void 0 === e ? "undefined" : i(e)).match(r) ? a = !0 : !a && u && (l = Array.isArray(e)), !a && !u) throw s;
131                if (!a && u && !l) throw s;
132                var c = function(t) {
133                    return t ? " For further help read here: " + t : ""
134                };
135                if (Array.isArray(n)) {
136                    var f = !1;
137                    if (n.forEach(function(t) {
138                            t === e && (f = !0)
139                        }), !f) throw new Error('Filterizr: allowed values for option "' + t + '" are: ' + n.map(function(t) {
140                        return '"' + t + '"'
141                    }
141).join(", ") + '. Value received: "' + e + '".' + c(o))
142                } else if (n instanceof RegExp) {
143                    var p = e.match(n);
144                    if (!p) throw new Error('Filterizr: invalid value "' + e + '" for option "' + t + '" received.' + c(o))
145                }
146            }
147        },
148        h = /(^linear$)|(^ease-in-out$)|(^ease-in$)|(^ease-out$)|(^ease$)|(^step-start$)|(^step-end$)|(^steps\(\d\s*,\s*(end|start)\))$|(^cubic-bezier\((\d*\.*\d+)\s*,\s*(\d*\.*\d+)\s*,\s*(\d*\.*\d+)\s*,\s*(\d*\.*\d+)\))$/,
149        d = "\n  webkitTransitionEnd.Filterizr \n  otransitionend.Filterizr \n  oTransitionEnd.Filterizr \n  msTransitionEnd.Filterizr \n  transitionend.Filterizr\n",
150        v = {
151            IDLE: "IDLE",
152            FILTERING: "FILTERING",
153            SORTING: "SORTING",
154            SHUFFLING: "SHUFFLING"
155        }
156}, function(t, e, r) {
157    "use strict";
158
159    function i(t, e) {
160        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
161    }
162    var n = r(2),
163        o = r(0),
164        s = function() {
165            function t(t, e) {
166                for (var r = 0; r < e.length; r++) {
167                    var i = e[r];
168                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
169                }
170            }
171            return function(e, r, i) {
172                return r && t(e.prototype, r), i && t(e, i), e
173            }
174        }(),
175        a = window.jQuery,
176        l = function() {
177            function t() {
178                var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ".filtr-container",
179                    r = arguments[1];
180                i(this, t), this.$node = a(e), this.$node.css({
181                    padding: 0,
182                    position: "relative",
183                    width: "100%",
184                    display: "flex",
185                    "flex-wrap": "wrap"
186                }), this.props = {
187                    FilterItems: this.getFilterItems(r),
188                    w: this.getWidth(),
189                    h: 0
190                }, this.updateFilterItemsDimensions()
191            }
192            return s(t, [{
193                key: "destroy",
194                value: function() {
195                    this.$node.attr("style", "").find(".filtr-item").attr("style", ""), this.unbindEvents()
196                }
197            }, {
198                key: "getFilterItems",
199                value: function(t) {
200                    return a.map(this.$node.find(".filtr-item"), function(e, r) {
201                        return new n.a(a(e), r, t)
202                    })
203                }
204            }, {
205                key: "push",
206                value: function(t, e) {
207                    var r = this.props.FilterItems;
208                    this.$node.append(t);
209                    var i = r.length,
210                        o = new n.a(t, i, e);
211                    this.props.FilterItems.push(o)
212                }
213            }, {
214                key: "calcColumns",
215                value: function() {
216                    return Math.round(this.props.w / this.props.FilterItems[0].props.w)
217                }
218            }, {
219                key: "updateFilterItemsTransitionStyle",
220                value: function(t, e, r, i) {
221                    this.props.FilterItems.forEach(function(n) {
222                        return n.$node.css({
223                            transition: "all " + t + "s " + e + " " + n.calcDelay(r, i) + "ms"
224                        })
225                    })
226                }
227            }, {
228                key: "updateHeight",
229                value: function(t) {
230                    this.props.h = t, this.$node.css("height", t)
231                }
232            }, {
233                key: "updateWidth",
234                value: function() {
235                    this.props.w = this.getWidth()
236                }
237            }, {
238                key: "updateFilterItemsDimensions",
239                value: function() {
240                    this.props.FilterItems.forEach(function(t) {
241                        return t.updateDimensions()
242                    })
243                }
244            }, {
245                key: "getWidth",
246                value: function() {
247                    return this.$node.innerWidth()
248                }
249            }, {
250                key: "bindTransitionEnd",
251                value: function(t, e) {
252                    this.$node.on(o.l, Object(o.e)(function() {
253                        t()
254                    }, e))
255                }
256            }, {
257                key: "bindEvents",
258                value: function(t) {
259                    this.$node.on("filteringStart.Filterizr", t.onFilteringStart), this.$node.on("filteringEnd.Filterizr", t.onFilteringEnd), this.$node.on("shufflingStart.Filterizr", t.onShufflingStart), this.$node.on("shufflingEnd.Filterizr", t.onShufflingEnd), this.$node.on("sortingStart.Filterizr", t.onSortingStart), this.$node.on("sortingEnd.Filterizr", t.onSortingEnd)
260                }
261            }, {
262                key: "unbindEvents",
263                value: function() {
264                    this.$node.off(o.l + "\n      filteringStart.Filterizr \n      filteringEnd.Filterizr \n      shufflingStart.Filterizr \n      shufflingEnd.Filterizr \n      sortingStart.Filterizr \n      sortingEnd.Filterizr")
265                }
266            }, {
267                key: "trigger",
268                value: function(t) {
269                    this.$node.trigger(t)
270                }
271            }]), t
272        }();
273    e.a = l
274}, function(t, e, r) {
275    "use strict";
276
277    function i(t, e) {
278        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
279    }
280    var n = r(0),
281        o = function() {
282            function t(t, e) {
283                for (var r = 0; r < e.length; r++) {
284                    var i = e[r];
285                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
286                }
287            }
288            return function(e, r, i) {
289                return r && t(e.prototype, r), i && t(e, i), e
290            }
291        }(),
292        s = function() {
293            function t(e, r, n) {
294                var o = this;
295                i(this, t);
296                var s = n.delay,
297                    a = n.delayMode,
298                    l = n.filterOutCss,
299                    u = n.animationDuration,
300                    c = n.easing;
301                this.$node = e, this.props = {
302                    data: function() {
303                        var t = o.$node.data();
304                        return delete t.category, delete t.sort, t
305                    }(),
306                    index: r,
307                    sortData: this.$node.data("sort"),
308                    lastPosition: {
309                        left: 0,
310                        top: 0
311                    },
312                    filteredOut: !1,
313                    w: this.getWidth(),
314                    h: this.getHeight()
315                }, this.$node.css(l).css({
316                   //"-webkit-backface-visibility": "hidden",
317                  //  perspective: "1000px",
318                  //  "-webkit-perspective": "1000px",
319                  //  "-webkit-transform-style": "preserve-3d",
320                    position: "absolute",
321                  //transition: "all 350ms ease 0s"
322				   
323					
324                }), this.bindEvents()
325            }
326            return o(t, [{
327                key: "filterIn",
328                value: function(t, e) {
329                    var r = Object(n.h)(e);
330                     r.transform += " translate3d(" + t.left + "px," + t.top + "px, 0) scale3d(" + e.opacity + ", " + e.opacity + ", 1 )", this.$node.css(r), this.props.lastPosition = t, this.props.filteredOut = !1
331					
332                }
333            }, {
334                key: "filterOut",
335                value: function(t) {
336                    var e = Object(n.h)(t),
337                        r = this.props.lastPosition;
338                   e.transform += " translate3d(" + r.left + "px," + r.top + "px, 0) scale3d(" + e.opacity + ", " + e.opacity + ", 1 )", this.$node.css(e), this.props.filteredOut = !0
339					
340					
341                }
342            }, {
343                key: "calcDelay",
344                value: function(t, e) {
345                    var r = 0;
346                    return "progressive" === e ? r = t * this.props.index : this.props.index % 2 == 0 && (r = t), r
347                }
348            }, {
349                key: "contentsMatchSearch",
350                value: function(t) {
351                    return Boolean(this.getContentsLowercase().includes(t))
352                }
353            }, {
354                key: "getContentsLowercase",
355                value: function() {
356                    return this.$node.text().toLowerCase()
357                }
358            }, {
359                key: "getCategories",
360                value: function() {
361                    return this.$node.attr("data-category").split(/\s*,\s*/g)
362                }
363            }, {
364                key: "getHeight",
365                value: function() {
366                    return this.$node.innerHeight()
367                }
368            }, {
369                key: "getWidth",
370                value: function() {
371                    return this.$node.innerWidth()
372                }
373            }, {
374                key: "trigger",
375                value: function(t) {
376                    this.$node.trigger(t)
377                }
378            }, {
379                key: "updateDimensions",
380                value: function() {
381                    this.props.w = this.getWidth(), this.props.h = this.getHeight()
382                }
383            }, {
384                key: "bindEvents",
385                value: function() {
386                    var t = this;
387                    this.$node.on(n.l, function() {
388                        var e = t.props.filteredOut;
389                        t.$node.toggleClass("filteredOut", e), t.$node.css("z-index", e ? -1e3 : "")
390                    })
391                }
392            }, {
393                key: "unbindEvents",
394                value: function() {
395                    this.$node.off(n.l)
396                }
397            }]), t
398        }();
399    e.a = s
400}, function(t, e, r) {
401    "use strict";
402    var i = {
403        animationDuration: .65,
404        callbacks: {
405            onFilteringStart: function() {},
406            onFilteringEnd: function() {},
407            onShufflingStart: function() {},
408            onShufflingEnd: function() {},
409            onSortingStart: function() {},
410            onSortingEnd: function() {}
411        },
412        controlsSelector: "",
413        //delay: 0,
414        //delayMode: "alternate",
415       // easing: "ease-out",
416        filter: "all",
417        filterOutCss: {
418		  top:'0px',
419			left:'0px',
420			opacity: 0.001,
421			transform: ''
422		  },
423		  filterInCss: {
424			  top:'0px',
425			left:'0px',
426			opacity: 1,
427			transform: ''
428		  },
429        layout: "sameSize",
430        multifilterLogicalOperator: "or",
431        setupControls: !0
432    };
433    e.a = i
434}, function(t, e, r) {
435    t.exports = r(5)
436}, function(t, e, r) {
437    "use strict";
438
439    function i(t) {
440        if (Array.isArray(t)) {
441            for (var e = 0, r = Array(t.length); e < t.length; e++) r[e] = t[e];
442            return r
443        }
444        return Array.from(t)
445    }
446    Object.defineProperty(e, "__esModule", {
447        value: !0
448    });
449    var n = r(6),
450        o = r(1),
451        s = r(2),
452        a = r(3),
453        l = r(15);
454    r.d(e, "Filterizr", function() {
455        return n.a
456    }), r.d(e, "FilterContainer", function() {
457        return o.a
458    }), r.d(e, "FilterItem", function() {
459        return s.a
460    }), r.d(e, "DefaultOptions", function() {
461        return a.a
462    });
463    var u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
464            return typeof t
465        } : function(t) {
466            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
467        },
468        c = void 0,
469        f = void 0;
470    c = f = window.jQuery,
471        function(t) {
472            if (!t) throw new Error("Filterizr requires jQuery to work.");
473            Object(l.a)(), t.fn.filterizr = function() {
474                var e = "." + t.trim(this.get(0).className).replace(/\s+/g, "."),
475                    r = arguments;
476                if (!this._fltr && 0 === r.length || 1 === r.length && "object" === u(r[0])) {
477                    var o = r.length > 0 ? r[0] : a.a;
478                    this._fltr = new n.a(e, o)
479                } else if (r.length >= 1 && "string" == typeof r[0]) {
480                    var s = r[0],
481                        l = Array.prototype.slice.call(r, 1),
482                        c = this._fltr;
483                    switch (s) {
484                        case "filter":
485                            return c.filter.apply(c, i(l)), this;
486                        case "insertItem":
487                            return c.insertItem.apply(c, i(l)), this;
488                        case "toggleFilter":
489                            return c.toggleFilter.apply(c, i(l)), this;
490                        case "sort":
491                            return c.sort.apply(c, i(l)), this;
492                        case "shuffle":
493                            return c.shuffle.apply(c, i(l)), this;
494                        case "search":
495                            return c.search.apply(c, i(l)), this;
496                        case "setOptions":
497                            return c.setOptions.apply(c, i(l)), this;
498                        case "destroy":
499                            return c.destroy.apply(c, i(l)), delete this._fltr, this;
500                        default:
501                            throw new Error("Filterizr: " + s + " is not part of the Filterizr API. Please refer to the docs for more information.")
502                    }
503                }
504                return this
505            }
506        }(f), e.default = c, r(16)
507}, function(t, e, r) {
508    "use strict";
509
510    function i(t, e) {
511        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
512    }
513    var n = r(7),
514        o = r(1),
515        s = r(8),
516        a = r(3),
517        l = r(0),
518        u = function() {
519            function t(t, e) {
520                for (var r = 0; r < e.length; r++) {
521                    var i = e[r];
522                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
523                }
524            }
525            return function(e, r, i) {
526                return r && t(e.prototype, r), i && t(e, i), e
527            }
528        }(),
529        c = window.jQuery,
530        f = function() {
531            function t() {
532                var e = arguments.length >
532 0 && void 0 !== arguments[0] ? arguments[0] : ".filtr-container",
533                    r = arguments[1];
534                i(this, t), this.options = Object(l.i)(a.a, r);
535                var s = new o.a(e, this.options);
536                if (!s.$node.length) throw new Error("Filterizr: could not find a container with the selector " + e + ", to initialize Filterizr.");
537                new n.a(this, this.options.controlsSelector), this.props = {
538                    filterizrState: l.a.IDLE,
539                    searchTerm: "",
540                    sort: "index",
541                    sortOrder: "asc",
542                    FilterContainer: s,
543                    FilterItems: s.props.FilterItems,
544                    FilteredItems: []
545                }, this.bindEvents(), this.filter(this.options.filter)
546            }
547            return u(t, [{
548                key: "filter",
549                value: function(t) {
550                    var e = this.props,
551                        r = e.searchTerm,
552                        i = e.FilterContainer,
553                        n = e.FilterItems;
554                    i.trigger("filteringStart"), this.props.filterizrState = l.a.FILTERING, t = Array.isArray(t) ? t.map(function(t) {
555                        return t.toString()
556                    }) : t.toString();
557                    var o = this.searchFilterItems(this.filterFilterItems(n, t), r);
558                    this.props.FilteredItems = o, this.render(o)
559                }
560            }, {
561                key: "destroy",
562                value: function() {
563                    var t = this.props.FilterContainer,
564                        e = this.options.controlsSelector;
565                    t.destroy(), c(window).off("resize.Filterizr"), c(e + "[data-filter]").off("click.Filterizr"), c(e + "[data-multifilter]").off("click.Filterizr"), c(e + "[data-shuffle]").off("click.Filterizr"), c(e + "[data-search]").off("keyup.Filterizr"), c(e + "[data-sortAsc]").off("click.Filterizr"), c(e + "[data-sortDesc]").off("click.Filterizr")
566                }
567            }, {
568                key: "insertItem",
569                value: function(t) {
570                    var e = this.props.FilterContainer,
571                        r = t.clone().attr("style", "");
572                    e.push(r, this.options);
573                    var i = this.filterFilterItems(this.props.FilterItems, this.options.filter);
574                    this.render(i)
575                }
576            }, {
577                key: "sort",
578                value: function() {
579                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "index",
580                        e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "asc",
581                        r = this.props,
582                        i = r.FilterContainer,
583                        n = r.FilterItems;
584                    i.trigger("sortingStart"), this.props.filterizrState = l.a.SORTING, this.props.FilterItems = this.sortFilterItems(n, t, e);
585                    var o = this.filterFilterItems(this.props.FilterItems, this.options.filter);
586                    this.props.FilteredItems = o, this.render(o)
587                }
588            }, {
589                key: "search",
590                value: function() {
591                    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.props.searchTerm,
592                        e = this.props.FilterItems,
593                        r = this.searchFilterItems(this.filterFilterItems(e, this.options.filter), t);
594                    this.props.FilteredItems = r, this.render(r)
595                }
596            }, {
597                key: "shuffle",
598                value: function() {
599                    var t = this.props,
600                        e = t.FilterContainer,
601                        r = t.FilteredItems;
602                    e.trigger("shufflingStart"), this.props.filterizrState = l.a.SHUFFLING;
603                    var i = this.shuffleFilterItems(r);
604                    this.props.FilteredItems = i, this.render(i)
605                }
606            }, {
607                key: "setOptions",
608                value: function(t) {
609                    Object(l.c)("animationDuration", t.animationDuration, "number"), Object(l.c)("callbacks", t.callbacks, "object"), Object(l.c)("controlsSelector", t.controlsSelector, "string"), Object(l.c)("delay", t.delay, "number"), Object(l.c)("easing", t.easing, "string", l.d, "https://www.w3schools.com/cssref/css3_pr_transition-timing-function.asp"), Object(l.c)("delayMode", t.delayMode, "string", ["progressive", "alternate"]), Object(l.c)("filter", t.filter, "string|number|array"), Object(l.c)("filterOutCss", t.filterOutCss, "object"), Object(l.c)("filterInCss", t.filterOutCss, "object"), Object(l.c)("layout", t.layout, "string", ["sameSize", "vertical", "horizontal", "sameHeight", "sameWidth", "packed"]), Object(l.c)("multifilterLogicalOperator", t.multifilterLogicalOperator, "string", ["and", "or"]), Object(l.c)("setupControls", t.setupControls, "boolean"), this.options = Object(l.i)(this.options, t), (t.animationDuration || t.delay || t.delayMode || t.easing) && this.props.FilterContainer.updateFilterItemsTransitionStyle(t.animationDuration, t.easing, t.delay, t.delayMode), (t.callbacks || t.animationDuration) && this.rebindFilterContainerEvents(), t.filter && this.filter(t.filter), t.multifilterLogicalOperator && this.filter(this.options.filter)
610                }
611            }, {
612                key: "toggleFilter",
613                value: function(t) {
614                    var e = this.options.filter;
615                    "all" === e ? e = t : Array.isArray(e) ? e.includes(t) ? (e = e.filter(function(e) {
616                        return e !== t
617                    }
617), 1 === e.length && (e = e[0])) : e.push(t) : e = e === t ? "all" : [e, t], this.options.filter = e, this.filter(this.options.filter)
618                }
619            }, {
620                key: "filterFilterItems",
621                value: function(t, e) {
622                    var r = this.options.multifilterLogicalOperator;
623                    return "all" === e ? t : t.filter(function(t) {
624                        var i = t.getCategories();
625                        return Array.isArray(e) ? "or" === r ? Object(l.g)(i, e).length : Object(l.b)(e, i) : i.includes(e)
626                    })
627                }
628            }, {
629                key: "sortFilterItems",
630                value: function(t) {
631                    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "index",
632                        r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "asc",
633                        i = Object(l.k)(t, function(t) {
634                            return "index" !== e && "sortData" !== e ? t.props.data[e] : t.props[e]
635                        });
636                    return "asc" === r ? i : i.reverse()
637                }
638            }, {
639                key: "searchFilterItems",
640                value: function(t) {
641                    var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.props.searchTerm;
642                    return e ? t.filter(function(t) {
643                        return t.contentsMatchSearch(e)
644                    }) : t
645                }
646            }, {
647                key: "shuffleFilterItems",
648                value: function(t) {
649                    for (var e = Object(l.j)(t); t.length > 1 && Object(l.f)(t, e);) e = Object(l.j)(t);
650                    return e
651                }
652            }, {
653                key: "render",
654                value: function(t) {
655                    var e = this,
656                        r = this.options,
657                        i = r.filter,
658                        n = r.filterInCss,
659                        o = r.filterOutCss,
660                        a = r.layout,
661                        u = r.multifilterLogicalOperator;
662                    this.props.FilterItems.filter(function(t) {
663                        var r = t.getCategories(),
664                            n = Array.isArray(i),
665                            o = t.contentsMatchSearch(e.props.searchTerm);
666                        return !(n ? "or" === u ? Object(l.g)(r, i).length : Object(l.b)(i, r) : r.includes(i)) || !o
667                    }
667).forEach(function(t) {
668                        t.filterOut(o)
669                    });
670                    var c = Object(s.a)(a, this);
671                    t.forEach(function(t, e) {
672                        t.filterIn(c[e], n)
673                    })
674                }
675            }, {
676                key: "onTransitionEndCallback",
677                value: function() {
678                    var t = this.props,
679                        e = t.filterizrState,
680                        r = t.FilterContainer;
681                    switch (e) {
682                        case l.a.FILTERING:
683                            r.trigger("filteringEnd");
684                            break;
685                        case l.a.SORTING:
686                            r.trigger("sortingEnd");
687                            break;
688                        case l.a.SHUFFLING:
689                            r.trigger("shufflingEnd")
690                    }
691                    this.props.filterizrState = l.a.IDLE
692                }
693            }, {
694                key: "rebindFilterContainerEvents",
695                value: function() {
696                    var t = this,
697                        e = this.props.FilterContainer,
698                        r = this.options,
699                        i = r.animationDuration,
700                        n = r.callbacks;
701                    e.unbindEvents(), e.bindEvents(n), e.bindTransitionEnd(function() {
702                        t.onTransitionEndCallback()
703                    }, i)
704                }
705            }, {
706                key: "bindEvents",
707                value: function() {
708                    var t = this,
709                        e = this.props.FilterContainer;
710                    this.rebindFilterContainerEvents(), c(window).on("resize.Filterizr", Object(l.e)(function() {
711                        e.updateWidth(), e.updateFilterItemsDimensions(), t.filter(t.options.filter)
712                    }, 250))
713                }
714            }]), t
715        }();
716    e.a = f
717}, function(t, e, r) {
718    "use strict";
719
720    function i(t, e) {
721        if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
722    }
723    var n = r(0),
724        o = function() {
725            function t(t, e) {
726                for (var r = 0; r < e.length; r++) {
727                    var i = e[r];
728                    i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i)
729                }
730            }
731            return function(e, r, i) {
732                return r && t(e.prototype, r), i && t(e, i), e
733            }
734        }(),
735        s = window.jQuery,
736        a = function() {
737            function t(e) {
738                var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
739                i(this, t), this.props = {
740                    Filterizr: e,
741                    selector: r
742                }, this.setupFilterControls(), this.setupShuffleControls(), this.setupSearchControl
742s(), this.setupSortControls()
743            }
744            return o(t, [{
745                key: "setupFilterControls",
746                value: function() {
747                    var t = this.props,
748                        e = t.Filterizr,
749                        r = t.selector;
750                    s(r + "[data-filter]").on("click.Filterizr", function(t) {
751                        var r = s(t.currentTarget),
752                            i = r.attr("data-filter");
753                        e.options.filter = i, e.filter(e.options.filter)
754                    }), s(r + "[data-multifilter]").on("click.Filterizr", function(t) {
755                        var r = s(t.target),
756                            i = r.attr("data-multifilter");
757                        e.toggleFilter(i)
758                    })
759                }
760            }, {
761                key: "setupShuffleControls",
762                value: function() {
763                    var t = this.props,
764                        e = t.Filterizr,
765                        r = t.selector;
766                    s(r + "[data-shuffle]").on("click.Filterizr", function() {
767                        e.shuffle()
768                    })
769                }
770            }, {
771                key: "setupSearchControls",
772                value: function() {
773                    var t = this.props,
774                        e = t.Filterizr,
775                        r = t.selector;
776                    s(r + "[data-search]").on("keyup.Filterizr", Object(n.e)(function(t) {
777                        var r = s(t.target),
778                            i = r.val();
779                        e.props.searchTerm = i.toLowerCase(), e.search(e.props.searchTerm)
780                    }, 250))
781                }
782            }, {
783                key: "setupSortControls",
784                value: function() {
785                    var t = this.props,
786                        e = t.Filterizr,
787                        r = t.selector;
788                    s(r + "[data-sortAsc]").on("click.Filterizr", function() {
789                        var t = s(r + "[data-sortOrder]").val();
790                        e.props.sortOrder = "asc", e.sort(t, "asc")
791                    }), s(r + "[data-sortDesc]").on("click.Filterizr", function() {
792                        var t = s(r + "[data-sortOrder]").val();
793                        e.props.sortOrder = "desc", e.sort(t, "desc")
794                    })
795                }
796            }]), t
797        }();
798    e.a = a
799}, function(t, e, r) {
800    "use strict";
801    var i = r(9),
802        n = r(10),
803        o = r(11),
804        s = r(12),
805        a = r(13),
806        l = r(14),
807        u = function(t, e) {
808            switch (t) {
809                case "horizontal":
810                    return Object(i.a)(e);
811                case "vertical":
812                    return Object(n.a)(e);
813                case "sameHeight":
814                    return Object(o.a)(e);
815                case "sameWidth":
816                    return Object(s.a)(e);
817                case "sameSize":
818                    return Object(a.a)(e);
819                case "packed":
820                    return Object(l.a)(e);
821                default:
822                    return Object(a.a)(e)
823            }
824        };
825    e.a = u
826}, function(t, e, r) {
827    "use strict";
828    var i = function(t) {
829        var e = t.props,
830            r = e.FilterContainer,
831            i = e.FilteredItems,
832            n = 0,
833            o = 0,
834            s = i.map(function(t) {
835                var e = t.props,
836                    r = e.w,
837                    i = e.h,
838                    s = {
839                        left: n,
840                        top: 0
841                    };
842                return n += r, i > o && (o = i), s
843            });
844        return r.updateHeight(o), s
845    };
846    e.a = i
847}, function(t, e, r) {
848    "use strict";
849    var i = function(t) {
850        var e = t.props,
851            r = e.FilterContainer,
852            i = e.FilteredItems,
853            n = 0,
854            o = i.map(function(t) {
855                var e = t.props.h,
856                    r = {
857                        left: 0,
858                        top: n
859                    };
860                return n += e, r
861            });
862        return r.updateHeight(n), o
863    };
864    e.a = i
865}, function(t, e, r) {
866    "use strict";
867    var i = function(t) {
868        var e = t.props,
869            r = e.FilterContainer,
870            i = e.FilteredItems,
871            n = r.props.w,
872            o = i[0].props.h,
873            s = 0,
874            a = 0,
875            l = i.map(function(t) {
876                var e = t.props.w;
877                a + e > n && (s++, a = 0);
878                var r = {
879                    left: a,
880                    top: o * s
881                };
882                return a += e, r
883            });
884        return r.updateHeight((s + 1) * i[0].props.h), l
885    };
886    e.a = i
887}, function(t, e, r) {
888    "use strict";
889
890    function i(t) {
891        if (Array.isArray(t)) {
892            for (var e = 0, r = Array(t.length); e < t.length; e++) r[e] = t[e];
893            return r
894        }
895        return Array.from(t)
896    }
897    var n = function(t) {
898            var e = t.props,
899                r = e.FilterContainer,
900                n = e.FilteredItems,
901                s = r.calcColumns(),
902                a = 0,
903                l = Array.apply(null, Array(s)).map(Number.prototype.valueOf, 0),
904                u = n.map(function(t, e) {
905                    var r = t.props,
906                        i = r.w,
907                        u = r.h;
908                    e % s == 0 && e >= s && a++;
909                    var c = e - s * a;
910                    return l[c] += u, {
911                        left: c * i,
912                        top: o(n, s, e)
913                    }
914                });
915            return r.updateHeight(Math.max.apply(Math, i(l))), u
916        },
917        o = function(t, e, r) {
918            if (e <= 0) return 0;
919            var i = 0;
920            if (r < e - 1) return 0;
921            for (r -= e; r >= 0;) i += t[r].props.h, r -= e;
922            return i
923        };
924    e.a = n
925}, function(t, e, r) {
926    "use strict";
927    var i = function(t) {
928        var e = t.props,
929            r = e.FilterContainer,
930            i = e.FilteredItems,
931            n = r.calcColumns(),
932            o = 0,
933            s = i.map(function(t, e) {
934                return e % n == 0 && e >= n && o++, {
935                    left: (e - n * o) * t.props.w,
936                    top: o * t.props.h
937                }
938            }),
939            a = i[0] && i[0].props.h || 0;
940        return r.updateHeight((o + 1) * a), s
941    };
942    e.a = i
943}, function(t, e, r) {
944    "use strict";
945    var i = function(t) {
946            var e = t.props,
947                r = e.FilterContainer,
948                i = e.FilteredItems,
949                o = new n(r.props.w),
950                s = i.map(function(t) {
951                    var e = t.props;
952                    return {
953                        w: e.w,
954                        h: e.h
955                    }
956                });
957            o.fit(s);
958            var a = s.map(function(t) {
959                var e = t.fit;
960                return {
961                    left: e.x,
962                    top: e.y
963                }
964            });
965            return r.updateHeight(o.root.h), a
966        },
967        n = function(t) {
968            this.init(t)
969        };
970    n.prototype = {
971        init: function(t) {
972            this.root = {
973                x: 0,
974                y: 0,
975                w: t
976            }
977        },
978        fit: function(t) {
979            var e, r, i, n = t.length,
980                o = n > 0 ? t[0].h : 0;
981            for (this.root.h = o, e = 0; e < n; e++) i = t[e], (r = this.findNode(this.root, i.w, i.h)) ? i.fit = this.splitNode(r, i.w, i.h) : i.fit = this.growDown(i.w, i.h)
982        },
983        findNode: function(t, e, r) {
984            return t.used ? this.findNode(t.right, e, r) || this.findNode(t.down, e, r) : e <= t.w && r <= t.h ? t : null
985        },
986        splitNode: function(t, e, r) {
987            return t.used = !0, t.down = {
988                x: t.x,
989                y: t.y + r,
990                w: t.w,
991                h: t.h - r
992            }, t.right = {
993                x: t.x + e,
994                y: t.y,
995                w: t.w - e,
996                h: r
997            }, t
998        },
999        growDown: function(t, e) {
1000            var r;
1001            return this.root = {
1002                used: !0,
1003                x: 0,
1004                y: 0,
1005                w: this.root.w,
1006                h: this.root.h + e,
1007                down: {
1008                    x: 0,
1009                    y: this.root.h,
1010                    w: this.root.w,
1011                    h: e
1012                },
1013                right: this.root
1014            }, (r = this.findNode(this.root, t, e)) ? this.splitNode(r, t, e) : null
1015        }
1016    }, e.a = i
1017}, function(t, e, r) {
1018    "use strict";
1019
1020    function i() {
1021        String.prototype.includes || (String.prototype.includes = function(t, e) {
1022            return "number" != typeof e && (e = 0), !(e + t.length > this.length) && -1 !== this.indexOf(t, e)
1023        }), Array.prototype.includes || Object.defineProperty(Array.prototype, "includes", {
1024            value: function(t, e) {
1025                if (null == this) throw new TypeError('"this" is null or not defined');
1026                var r = Object(this),
1027                    i = r.length >>> 0;
1028                if (0 === i) return !1;
1029                for (var n = 0 | e, o = Math.max(n >
1029= 0 ? n : i - Math.abs(n), 0); o < i;) {
1030                    if (function(t, e) {
1031                            return t === e || "number" == typeof t && "number" == typeof e && isNaN(t) && isNaN(e)
1032                        }(r[o], t)) return !0;
1033                    o++
1034                }
1035                return !1
1036            }
1037        })
1038    }
1039    e.a = i
1040}, function(t, e, r) {}]);

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.