| Server IP : 118.139.160.155 / Your IP : 216.73.217.153 Web Server : Apache System : Linux sg2plmcpnl504228.prod.sin2.secureserver.net 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64 User : twll3xqyaqrh ( 9725459) PHP Version : 5.6.40 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/twll3xqyaqrh/public_html/Site WP/wp-content/plugins/envira-gallery/assets/js/ |
Upload File : |
(function e(t, n, r) { function s(o, u) { if ( ! n[o]) {
if ( ! t[o]) {
var a = typeof require == "function" && require; if ( ! u && a) {
return a( o, ! 0 );
} if (i) {
return i( o, ! 0 );
} var f = new Error( "Cannot find module '" + o + "'" ); throw f.code = "MODULE_NOT_FOUND", f } var l = n[o] = { exports: {} }; t[o][0].call( l.exports, function (e) { var n = t[o][1][e]; return s( n ? n : e ) }, l, l.exports, e, t, n, r ) } return n[o].exports } var i = typeof require == "function" && require; for (var o = 0; o < r.length; o++) {
s( r[o] );
} return s })(
{
1: [function (require, module, exports) {
/*
List.js 1.1.1
By Jonny Strömberg (www.jonnystromberg.com, www.listjs.com)
*/
(function (window, undefined) {
"use strict";
var document = window.document,
getByClass = require( './src/utils/get-by-class' ),
extend = require( './src/utils/extend' ),
indexOf = require( './src/utils/index-of' ),
events = require( './src/utils/events' ),
toString = require( './src/utils/to-string' ),
naturalSort = require( './src/utils/natural-sort' ),
classes = require( './src/utils/classes' ),
getAttribute = require( './src/utils/get-attribute' ),
toArray = require( './src/utils/to-array' );
var List = function (id, options, values) {
var self = this,
init,
Item = require( './src/item' )( self ),
addAsync = require( './src/add-async' )( self );
init = {
start: function () {
self.listClass = "list";
self.searchClass = "search";
self.sortClass = "sort";
self.page = 10000;
self.i = 1;
self.items = [];
self.visibleItems = [];
self.matchingItems = [];
self.searched = false;
self.filtered = false;
self.searchColumns = undefined;
self.handlers = { 'updated': [] };
self.plugins = {};
self.valueNames = [];
self.utils = {
getByClass: getByClass,
extend: extend,
indexOf: indexOf,
events: events,
toString: toString,
naturalSort: naturalSort,
classes: classes,
getAttribute: getAttribute,
toArray: toArray
};
self.utils.extend( self, options );
self.listContainer = (typeof (id) === 'string') ? document.getElementById( id ) : id;
if ( ! self.listContainer) {
return; }
self.list = getByClass( self.listContainer, self.listClass, true );
self.parse = require( './src/parse' )( self );
self.templater = require( './src/templater' )( self );
self.search = require( './src/search' )( self );
self.filter = require( './src/filter' )( self );
self.sort = require( './src/sort' )( self );
this.handlers();
this.items();
self.update();
this.plugins();
},
handlers: function () {
for (var handler in self.handlers) {
if (self[handler]) {
self.on( handler, self[handler] );
}
}
},
items: function () {
self.parse( self.list );
if (values !== undefined) {
self.add( values );
}
},
plugins: function () {
for (var i = 0; i < self.plugins.length; i++) {
var plugin = self.plugins[i];
self[plugin.name] = plugin;
plugin.init( self, List );
}
}
};
/*
* Re-parse the List, use if html have changed
*/
this.reIndex = function () {
self.items = [];
self.visibleItems = [];
self.matchingItems = [];
self.searched = false;
self.filtered = false;
self.parse( self.list );
};
this.toJSON = function () {
var json = [];
for (var i = 0, il = self.items.length; i < il; i++) {
json.push( self.items[i].values() );
}
return json;
};
/*
* Add object to list
*/
this.add = function (values, callback) {
if (values.length === 0) {
return;
}
if (callback) {
addAsync( values, callback );
return;
}
var added = [],
notCreate = false;
if (values[0] === undefined) {
values = [values];
}
for (var i = 0, il = values.length; i < il; i++) {
var item = null;
notCreate = (self.items.length > self.page) ? true : false;
item = new Item( values[i], undefined, notCreate );
self.items.push( item );
added.push( item );
}
self.update();
return added;
};
this.show = function (i, page) {
this.i = i;
this.page = page;
self.update();
return self;
};
/* Removes object from list.
* Loops through the list and removes objects where
* property "valuename" === value
*/
this.remove = function (valueName, value, options) {
var found = 0;
for (var i = 0, il = self.items.length; i < il; i++) {
if (self.items[i].values()[valueName] == value) {
self.templater.remove( self.items[i], options );
self.items.splice( i, 1 );
il--;
i--;
found++;
}
}
self.update();
return found;
};
/* Gets the objects in the list which
* property "valueName" === value
*/
this.get = function (valueName, value) {
var matchedItems = [];
for (var i = 0, il = self.items.length; i < il; i++) {
var item = self.items[i];
if (item.values()[valueName] == value) {
matchedItems.push( item );
}
}
return matchedItems;
};
/*
* Get size of the list
*/
this.size = function () {
return self.items.length;
};
/*
* Removes all items from the list
*/
this.clear = function () {
self.templater.clear();
self.items = [];
return self;
};
this.on = function (event, callback) {
self.handlers[event].push( callback );
return self;
};
this.off = function (event, callback) {
var e = self.handlers[event];
var index = indexOf( e, callback );
if (index > -1) {
e.splice( index, 1 );
}
return self;
};
this.trigger = function (event) {
var i = self.handlers[event].length;
while (i--) {
self.handlers[event][i](self);
}
return self;
};
this.reset = {
filter: function () {
var is = self.items,
il = is.length;
while (il--) {
is[il].filtered = false;
}
return self;
},
search: function () {
var is = self.items,
il = is.length;
while (il--) {
is[il].found = false;
}
return self;
}
};
this.update = function () {
var is = self.items,
il = is.length;
self.visibleItems = [];
self.matchingItems = [];
self.templater.clear();
for (var i = 0; i < il; i++) {
if (is[i].matching() && ((self.matchingItems.length + 1) >= self.i && self.visibleItems.length < self.page)) {
is[i].show();
self.visibleItems.push( is[i] );
self.matchingItems.push( is[i] );
} else if (is[i].matching()) {
self.matchingItems.push( is[i] );
is[i].hide();
} else {
is[i].hide();
}
}
self.trigger( 'updated' );
return self;
};
init.start();
};
// AMD support
if (typeof define === 'function' && define.amd) {
define( function () { return List; } );
}
module.exports = List;
window.List = List;
})( window );
}, { "./src/add-async": 2, "./src/filter": 3, "./src/item": 4, "./src/parse": 5, "./src/search": 6, "./src/sort": 7, "./src/templater": 8, "./src/utils/classes": 9, "./src/utils/events": 10, "./src/utils/extend": 11, "./src/utils/get-attribute": 12, "./src/utils/get-by-class": 13, "./src/utils/index-of": 14, "./src/utils/natural-sort": 15, "./src/utils/to-array": 16, "./src/utils/to-string": 17 }], 2: [function (require, module, exports) {
module.exports = function (list) {
var addAsync = function (values, callback, items) {
var valuesToAdd = values.splice( 0, 50 );
items = items || [];
items = items.concat( list.add( valuesToAdd ) );
if (values.length > 0) {
setTimeout(
function () {
addAsync( values, callback, items );
},
1
);
} else {
list.update();
callback( items );
}
};
return addAsync;
};
}, {}], 3: [function (require, module, exports) {
module.exports = function (list) {
// Add handlers
list.handlers.filterStart = list.handlers.filterStart || [];
list.handlers.filterComplete = list.handlers.filterComplete || [];
return function (filterFunction) {
list.trigger( 'filterStart' );
list.i = 1; // Reset paging
list.reset.filter();
if (filterFunction === undefined) {
list.filtered = false;
} else {
list.filtered = true;
var is = list.items;
for (var i = 0, il = is.length; i < il; i++) {
var item = is[i];
if (filterFunction( item )) {
item.filtered = true;
} else {
item.filtered = false;
}
}
}
list.update();
list.trigger( 'filterComplete' );
return list.visibleItems;
};
};
}, {}], 4: [function (require, module, exports) {
module.exports = function (list) {
return function (initValues, element, notCreate) {
var item = this;
this._values = {};
this.found = false; // Show if list.searched == true and this.found == true
this.filtered = false;// Show if list.filtered == true and this.filtered == true
var init = function (initValues, element, notCreate) {
if (element === undefined) {
if (notCreate) {
item.values( initValues, notCreate );
} else {
item.values( initValues );
}
} else {
item.elm = element;
var values = list.templater.get( item, initValues );
item.values( values );
}
};
this.values = function (newValues, notCreate) {
if (newValues !== undefined) {
for (var name in newValues) {
item._values[name] = newValues[name];
}
if (notCreate !== true) {
list.templater.set( item, item.values() );
}
} else {
return item._values;
}
};
this.show = function () {
list.templater.show( item );
};
this.hide = function () {
list.templater.hide( item );
};
this.matching = function () {
return (
(list.filtered && list.searched && item.found && item.filtered) ||
(list.filtered && ! list.searched && item.filtered) ||
( ! list.filtered && list.searched && item.found) ||
( ! list.filtered && ! list.searched)
);
};
this.visible = function () {
return (item.elm && (item.elm.parentNode == list.list)) ? true : false;
};
init( initValues, element, notCreate );
};
};
}, {}], 5: [function (require, module, exports) {
module.exports = function (list) {
var Item = require( './item' )( list );
var getChildren = function (parent) {
var nodes = parent.childNodes,
items = [];
for (var i = 0, il = nodes.length; i < il; i++) {
// Only textnodes have a data attribute
if (nodes[i].data === undefined) {
items.push( nodes[i] );
}
}
return items;
};
var parse = function (itemElements, valueNames) {
for (var i = 0, il = itemElements.length; i < il; i++) {
list.items.push( new Item( valueNames, itemElements[i] ) );
}
};
var parseAsync = function (itemElements, valueNames) {
var itemsToIndex = itemElements.splice( 0, 50 ); // TODO: If < 100 items, what happens in IE etc?
parse( itemsToIndex, valueNames );
if (itemElements.length > 0) {
setTimeout(
function () {
parseAsync( itemElements, valueNames );
},
1
);
} else {
list.update();
list.trigger( 'parseComplete' );
}
};
list.handlers.parseComplete = list.handlers.parseComplete || [];
return function () {
var itemsToIndex = getChildren( list.list ),
valueNames = list.valueNames;
if (list.indexAsync) {
parseAsync( itemsToIndex, valueNames );
} else {
parse( itemsToIndex, valueNames );
}
};
};
}, { "./item": 4 }], 6: [function (require, module, exports) {
module.exports = function (list) {
var item,
text,
columns,
searchString,
customSearch;
var prepare = {
resetList: function () {
list.i = 1;
list.templater.clear();
customSearch = undefined;
},
setOptions: function (args) {
if (args.length == 2 && args[1] instanceof Array) {
columns = args[1];
} else if (args.length == 2 && typeof (args[1]) == "function") {
customSearch = args[1];
} else if (args.length == 3) {
columns = args[1];
customSearch = args[2];
}
},
setColumns: function () {
if (list.items.length === 0) {
return;
}
if (columns === undefined) {
columns = (list.searchColumns === undefined) ? prepare.toArray( list.items[0].values() ) : list.searchColumns;
}
},
setSearchString: function (s) {
s = list.utils.toString( s ).toLowerCase();
s = s.replace( /[-[\]{}()*+?.,\\^$|#]/g, "\\$&" ); // Escape regular expression characters
searchString = s;
},
toArray: function (values) {
var tmpColumn = [];
for (var name in values) {
tmpColumn.push( name );
}
return tmpColumn;
}
};
var search = {
list: function () {
for (var k = 0, kl = list.items.length; k < kl; k++) {
search.item( list.items[k] );
}
},
item: function (item) {
item.found = false;
for (var j = 0, jl = columns.length; j < jl; j++) {
if (search.values( item.values(), columns[j] )) {
item.found = true;
return;
}
}
},
values: function (values, column) {
if (values.hasOwnProperty( column )) {
text = list.utils.toString( values[column] ).toLowerCase();
if ((searchString !== "") && (text.search( searchString ) > -1)) {
return true;
}
}
return false;
},
reset: function () {
list.reset.search();
list.searched = false;
}
};
var searchMethod = function (str) {
list.trigger( 'searchStart' );
prepare.resetList();
prepare.setSearchString( str );
prepare.setOptions( arguments ); // str, cols|searchFunction, searchFunction
prepare.setColumns();
if (searchString === "") {
search.reset();
} else {
list.searched = true;
if (customSearch) {
customSearch( searchString, columns );
} else {
search.list();
}
}
list.update();
list.trigger( 'searchComplete' );
return list.visibleItems;
};
list.handlers.searchStart = list.handlers.searchStart || [];
list.handlers.searchComplete = list.handlers.searchComplete || [];
list.utils.events.bind(
list.utils.getByClass( list.listContainer, list.searchClass ),
'keyup',
function (e) {
var target = e.target || e.srcElement, // IE have srcElement
alreadyCleared = (target.value === "" && ! list.searched);
if ( ! alreadyCleared) { // If oninput already have resetted the list, do nothing
searchMethod( target.value );
}
}
);
// Used to detect click on HTML5 clear button
list.utils.events.bind(
list.utils.getByClass( list.listContainer, list.searchClass ),
'input',
function (e) {
var target = e.target || e.srcElement;
if (target.value === "") {
searchMethod( '' );
}
}
);
return searchMethod;
};
}, {}], 7: [function (require, module, exports) {
module.exports = function (list) {
list.sortFunction = list.sortFunction || function (itemA, itemB, options) {
options.desc = options.order == "desc" ? true : false; // Natural sort uses this format
return list.utils.naturalSort( itemA.values()[options.valueName], itemB.values()[options.valueName], options );
};
var buttons = {
els: undefined,
clear: function () {
for (var i = 0, il = buttons.els.length; i < il; i++) {
list.utils.classes( buttons.els[i] ).remove( 'asc' );
list.utils.classes( buttons.els[i] ).remove( 'desc' );
}
},
getOrder: function (btn) {
var predefinedOrder = list.utils.getAttribute( btn, 'data-order' );
if (predefinedOrder == "asc" || predefinedOrder == "desc") {
return predefinedOrder;
} else if (list.utils.classes( btn ).has( 'desc' )) {
return "asc";
} else if (list.utils.classes( btn ).has( 'asc' )) {
return "desc";
} else {
return "asc";
}
},
getInSensitive: function (btn, options) {
var insensitive = list.utils.getAttribute( btn, 'data-insensitive' );
if (insensitive === "false") {
options.insensitive = false;
} else {
options.insensitive = true;
}
},
setOrder: function (options) {
for (var i = 0, il = buttons.els.length; i < il; i++) {
var btn = buttons.els[i];
if (list.utils.getAttribute( btn, 'data-sort' ) !== options.valueName) {
continue;
}
var predefinedOrder = list.utils.getAttribute( btn, 'data-order' );
if (predefinedOrder == "asc" || predefinedOrder == "desc") {
if (predefinedOrder == options.order) {
list.utils.classes( btn ).add( options.order );
}
} else {
list.utils.classes( btn ).add( options.order );
}
}
}
};
var sort = function () {
list.trigger( 'sortStart' );
var options = {};
var target = arguments[0].currentTarget || arguments[0].srcElement || undefined;
if (target) {
options.valueName = list.utils.getAttribute( target, 'data-sort' );
buttons.getInSensitive( target, options );
options.order = buttons.getOrder( target );
} else {
options = arguments[1] || options;
options.valueName = arguments[0];
options.order = options.order || "asc";
options.insensitive = (typeof options.insensitive == "undefined") ? true : options.insensitive;
}
buttons.clear();
buttons.setOrder( options );
options.sortFunction = options.sortFunction || list.sortFunction;
list.items.sort(
function (a, b) {
var mult = (options.order === 'desc') ? -1 : 1;
return (options.sortFunction( a, b, options ) * mult);
}
);
list.update();
list.trigger( 'sortComplete' );
};
// Add handlers
list.handlers.sortStart = list.handlers.sortStart || [];
list.handlers.sortComplete = list.handlers.sortComplete || [];
buttons.els = list.utils.getByClass( list.listContainer, list.sortClass );
list.utils.events.bind( buttons.els, 'click', sort );
list.on( 'searchStart', buttons.clear );
list.on( 'filterStart', buttons.clear );
return sort;
};
}, {}], 8: [function (require, module, exports) {
var Templater = function (list) {
var itemSource,
templater = this;
var init = function () {
itemSource = templater.getItemSource( list.item );
itemSource = templater.clearSourceItem( itemSource, list.valueNames );
};
this.clearSourceItem = function (el, valueNames) {
for (var i = 0, il = valueNames.length; i < il; i++) {
var elm;
if (valueNames[i].data) {
for (var j = 0, jl = valueNames[i].data.length; j < jl; j++) {
el.setAttribute( 'data-' + valueNames[i].data[j], '' );
}
} else if (valueNames[i].attr && valueNames[i].name) {
elm = list.utils.getByClass( el, valueNames[i].name, true );
if (elm) {
elm.setAttribute( valueNames[i].attr, "" );
}
} else {
elm = list.utils.getByClass( el, valueNames[i], true );
if (elm) {
elm.innerHTML = "";
}
}
elm = undefined;
}
return el;
};
this.getItemSource = function (item) {
if (item === undefined) {
var nodes = list.list.childNodes,
items = [];
for (var i = 0, il = nodes.length; i < il; i++) {
// Only textnodes have a data attribute
if (nodes[i].data === undefined) {
return nodes[i].cloneNode( true );
}
}
} else if (/^tr[\s>]/.exec( item )) {
var table = document.createElement( 'table' );
table.innerHTML = item;
return table.firstChild;
} else if (item.indexOf( "<" ) !== -1) {
var div = document.createElement( 'div' );
div.innerHTML = item;
return div.firstChild;
} else {
var source = document.getElementById( list.item );
if (source) {
return source;
}
}
throw new Error( "The list need to have at list one item on init otherwise you'll have to add a template." );
};
this.get = function (item, valueNames) {
templater.create( item );
var values = {};
for (var i = 0, il = valueNames.length; i < il; i++) {
var elm;
if (valueNames[i].data) {
for (var j = 0, jl = valueNames[i].data.length; j < jl; j++) {
values[valueNames[i].data[j]] = list.utils.getAttribute( item.elm, 'data-' + valueNames[i].data[j] );
}
} else if (valueNames[i].attr && valueNames[i].name) {
elm = list.utils.getByClass( item.elm, valueNames[i].name, true );
values[valueNames[i].name] = elm ? list.utils.getAttribute( elm, valueNames[i].attr ) : "";
} else {
elm = list.utils.getByClass( item.elm, valueNames[i], true );
values[valueNames[i]] = elm ? elm.innerHTML : "";
}
elm = undefined;
}
return values;
};
this.set = function (item, values) {
var getValueName = function (name) {
for (var i = 0, il = list.valueNames.length; i < il; i++) {
if (list.valueNames[i].data) {
var data = list.valueNames[i].data;
for (var j = 0, jl = data.length; j < jl; j++) {
if (data[j] === name) {
return { data: name };
}
}
} else if (list.valueNames[i].attr && list.valueNames[i].name && list.valueNames[i].name == name) {
return list.valueNames[i];
} else if (list.valueNames[i] === name) {
return name;
}
}
};
var setValue = function (name, value) {
var elm;
var valueName = getValueName( name );
if ( ! valueName) {
return;
}
if (valueName.data) {
item.elm.setAttribute( 'data-' + valueName.data, value );
} else if (valueName.attr && valueName.name) {
elm = list.utils.getByClass( item.elm, valueName.name, true );
if (elm) {
elm.setAttribute( valueName.attr, value );
}
} else {
elm = list.utils.getByClass( item.elm, valueName, true );
if (elm) {
elm.innerHTML = value;
}
}
elm = undefined;
};
if ( ! templater.create( item )) {
for (var v in values) {
if (values.hasOwnProperty( v )) {
setValue( v, values[v] );
}
}
}
};
this.create = function (item) {
if (item.elm !== undefined) {
return false;
}
/* If item source does not exists, use the first item in list as
source for new items */
var newItem = itemSource.cloneNode( true );
newItem.removeAttribute( 'id' );
item.elm = newItem;
templater.set( item, item.values() );
return true;
};
this.remove = function (item) {
if (item.elm.parentNode === list.list) {
list.list.removeChild( item.elm );
}
};
this.show = function (item) {
templater.create( item );
list.list.appendChild( item.elm );
};
this.hide = function (item) {
if (item.elm !== undefined && item.elm.parentNode === list.list) {
list.list.removeChild( item.elm );
}
};
this.clear = function () {
/* .innerHTML = ''; fucks up IE */
if (list.list.hasChildNodes()) {
while (list.list.childNodes.length >= 1) {
list.list.removeChild( list.list.firstChild );
}
}
};
init();
};
module.exports = function (list) {
return new Templater( list );
};
}, {}], 9: [function (require, module, exports) {
/**
* Module dependencies.
*/
var index = require( './index-of' );
/**
* Whitespace regexp.
*/
var re = /\s+/;
/**
* toString reference.
*/
var toString = Object.prototype.toString;
/**
* Wrap `el` in a `ClassList`.
*
* @param {Element} el
* @return {ClassList}
* @api public
*/
module.exports = function (el) {
return new ClassList( el );
};
/**
* Initialize a new ClassList for `el`.
*
* @param {Element} el
* @api private
*/
function ClassList(el) {
if ( ! el || ! el.nodeType) {
throw new Error( 'A DOM element reference is required' );
}
this.el = el;
this.list = el.classList;
}
/**
* Add class `name` if not already present.
*
* @param {String} name
* @return {ClassList}
* @api public
*/
ClassList.prototype.add = function (name) {
// classList
if (this.list) {
this.list.add( name );
return this;
}
// fallback
var arr = this.array();
var i = index( arr, name );
if ( ! ~i) {
arr.push( name );
}
this.el.className = arr.join( ' ' );
return this;
};
/**
* Remove class `name` when present, or
* pass a regular expression to remove
* any which match.
*
* @param {String|RegExp} name
* @return {ClassList}
* @api public
*/
ClassList.prototype.remove = function (name) {
if ('[object RegExp]' == toString.call( name )) {
return this.removeMatching( name );
}
// classList
if (this.list) {
this.list.remove( name );
return this;
}
// fallback
var arr = this.array();
var i = index( arr, name );
if (~i) {
arr.splice( i, 1 );
}
this.el.className = arr.join( ' ' );
return this;
};
/**
* Remove all classes matching `re`.
*
* @param {RegExp} re
* @return {ClassList}
* @api private
*/
ClassList.prototype.removeMatching = function (re) {
var arr = this.array();
for (var i = 0; i < arr.length; i++) {
if (re.test( arr[i] )) {
this.remove( arr[i] );
}
}
return this;
};
/**
* Toggle class `name`, can force state via `force`.
*
* For browsers that support classList, but do not support `force` yet,
* the mistake will be detected and corrected.
*
* @param {String} name
* @param {Boolean} force
* @return {ClassList}
* @api public
*/
ClassList.prototype.toggle = function (name, force) {
// classList
if (this.list) {
if ("undefined" !== typeof force) {
if (force !== this.list.toggle( name, force )) {
this.list.toggle( name ); // toggle again to correct
}
} else {
this.list.toggle( name );
}
return this;
}
// fallback
if ("undefined" !== typeof force) {
if ( ! force) {
this.remove( name );
} else {
this.add( name );
}
} else {
if (this.has( name )) {
this.remove( name );
} else {
this.add( name );
}
}
return this;
};
/**
* Return an array of classes.
*
* @return {Array}
* @api public
*/
ClassList.prototype.array = function () {
var className = this.el.getAttribute( 'class' ) || '';
var str = className.replace( /^\s+|\s+$/g, '' );
var arr = str.split( re );
if ('' === arr[0]) {
arr.shift();
}
return arr;
};
/**
* Check if class `name` is present.
*
* @param {String} name
* @return {ClassList}
* @api public
*/
ClassList.prototype.has =
ClassList.prototype.contains = function (name) {
return this.list ? this.list.contains( name ) : ! ! ~index( this.array(), name );
};
}, { "./index-of": 14 }], 10: [function (require, module, exports) {
var bind = window.addEventListener ? 'addEventListener' : 'attachEvent',
unbind = window.removeEventListener ? 'removeEventListener' : 'detachEvent',
prefix = bind !== 'addEventListener' ? 'on' : '',
toArray = require( './to-array' );
/**
* Bind `el` event `type` to `fn`.
*
* @param {Element} el, NodeList, HTMLCollection or Array
* @param {String} type
* @param {Function} fn
* @param {Boolean} capture
* @api public
*/
exports.bind = function (el, type, fn, capture) {
el = toArray( el );
for (var i = 0; i < el.length; i++) {
el[i][bind](prefix + type, fn, capture || false);
}
};
/**
* Unbind `el` event `type`'s callback `fn`.
*
* @param {Element} el, NodeList, HTMLCollection or Array
* @param {String} type
* @param {Function} fn
* @param {Boolean} capture
* @api public
*/
exports.unbind = function (el, type, fn, capture) {
el = toArray( el );
for (var i = 0; i < el.length; i++) {
el[i][unbind](prefix + type, fn, capture || false);
}
};
}, { "./to-array": 16 }], 11: [function (require, module, exports) {
/*
* Source: https://github.com/segmentio/extend
*/
module.exports = function extend(object) {
// Takes an unlimited number of extenders.
var args = Array.prototype.slice.call( arguments, 1 );
// For each extender, copy their properties on our object.
for (var i = 0, source; source = args[i]; i++) {
if ( ! source) {
continue;
}
for (var property in source) {
object[property] = source[property];
}
}
return object;
};
}, {}], 12: [function (require, module, exports) {
/**
* A cross-browser implementation of getAttribute.
* Source found here: http://stackoverflow.com/a/3755343/361337 written by Vivin Paliath
*
* Return the value for `attr` at `element`.
*
* @param {Element} el
* @param {String} attr
* @api public
*/
module.exports = function (el, attr) {
var result = (el.getAttribute && el.getAttribute( attr )) || null;
if ( ! result) {
var attrs = el.attributes;
var length = attrs.length;
for (var i = 0; i < length; i++) {
if (attr[i] !== undefined) {
if (attr[i].nodeName === attr) {
result = attr[i].nodeValue;
}
}
}
}
return result;
};
}, {}], 13: [function (require, module, exports) {
/**
* A cross-browser implementation of getElementsByClass.
* Heavily based on Dustin Diaz's function: http://dustindiaz.com/getelementsbyclass.
*
* Find all elements with class `className` inside `container`.
* Use `single = true` to increase performance in older browsers
* when only one element is needed.
*
* @param {String} className
* @param {Element} container
* @param {Boolean} single
* @api public
*/
module.exports = (function () {
if (document.getElementsByClassName) {
return function (container, className, single) {
if (single) {
return container.getElementsByClassName( className )[0];
} else {
return container.getElementsByClassName( className );
}
};
} else if (document.querySelector) {
return function (container, className, single) {
className = '.' + className;
if (single) {
return container.querySelector( className );
} else {
return container.querySelectorAll( className );
}
};
} else {
return function (container, className, single) {
var classElements = [],
tag = '*';
if (container === null) {
container = document;
}
var els = container.getElementsByTagName( tag );
var elsLen = els.length;
var pattern = new RegExp( "(^|\\s)" + className + "(\\s|$)" );
for (var i = 0, j = 0; i < elsLen; i++) {
if (pattern.test( els[i].className )) {
if (single) {
return els[i];
} else {
classElements[j] = els[i];
j++;
}
}
}
return classElements;
};
}
})();
}, {}], 14: [function (require, module, exports) {
var indexOf = [].indexOf;
module.exports = function (arr, obj) {
if (indexOf) {
return arr.indexOf( obj );
}
for (var i = 0; i < arr.length; ++i) {
if (arr[i] === obj) {
return i;
}
}
return -1;
};
}, {}], 15: [function (require, module, exports) {
/*
* Natural Sort algorithm for Javascript - Version 0.8.1 - Released under MIT license
* Author: Jim Palmer (based on chunking idea from Dave Koelle)
*/
module.exports = function (a, b, opts) {
var re = /(^([+\-]?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?(?=\D|\s|$))|^0x[\da-fA-F]+$|\d+)/g,
sre = /^\s+|\s+$/g, // trim pre-post whitespace
snre = /\s+/g, // normalize all whitespace to single ' ' character
dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
hre = /^0x[0-9a-f]+$/i,
ore = /^0/,
options = opts || {},
i = function (s) {
return (options.insensitive && ('' + s).toLowerCase() || '' + s).replace( sre, '' );
},
// convert all to strings strip whitespace
x = i( a ),
y = i( b ),
// chunk/tokenize
xN = x.replace( re, '\0$1\0' ).replace( /\0$/, '' ).replace( /^\0/, '' ).split( '\0' ),
yN = y.replace( re, '\0$1\0' ).replace( /\0$/, '' ).replace( /^\0/, '' ).split( '\0' ),
// numeric, hex or date detection
xD = parseInt( x.match( hre ), 16 ) || (xN.length !== 1 && Date.parse( x )),
yD = parseInt( y.match( hre ), 16 ) || xD && y.match( dre ) && Date.parse( y ) || null,
normChunk = function (s, l) {
// normalize spaces; find floats not starting with '0', string or 0 if not defined (Clint Priest)
return ( ! s.match( ore ) || l == 1) && parseFloat( s ) || s.replace( snre, ' ' ).replace( sre, '' ) || 0;
},
oFxNcL, oFyNcL;
// first try and sort Hex codes or Dates
if (yD) {
if (xD < yD) {
return -1; } else if (xD > yD) {
return 1; }
}
// natural sorting through split numeric strings and default strings
for (var cLoc = 0, xNl = xN.length, yNl = yN.length, numS = Math.max( xNl, yNl ); cLoc < numS; cLoc++) {
oFxNcL = normChunk( xN[cLoc] || '', xNl );
oFyNcL = normChunk( yN[cLoc] || '', yNl );
// handle numeric vs string comparison - number < string - (Kyle Adams)
if (isNaN( oFxNcL ) !== isNaN( oFyNcL )) {
return isNaN( oFxNcL ) ? 1 : -1;
}
// if unicode use locale comparison
if (/[^\x00-\x80]/.test( oFxNcL + oFyNcL ) && oFxNcL.localeCompare) {
var comp = oFxNcL.localeCompare( oFyNcL );
return comp / Math.abs( comp );
}
if (oFxNcL < oFyNcL) {
return -1; } else if (oFxNcL > oFyNcL) {
return 1; }
}
return 0;
};
}, {}], 16: [function (require, module, exports) {
/**
* Source: https://github.com/timoxley/to-array
*
* Convert an array-like object into an `Array`.
* If `collection` is already an `Array`, then will return a clone of `collection`.
*
* @param {Array | Mixed} collection An `Array` or array-like object to convert e.g. `arguments` or `NodeList`
* @return {Array} Naive conversion of `collection` to a new `Array`.
* @api public
*/
module.exports = function toArray(collection) {
if (typeof collection === 'undefined') {
return [];
}
if (collection === null) {
return [null];
}
if (collection === window) {
return [window];
}
if (typeof collection === 'string') {
return [collection];
}
if (isArray( collection )) {
return collection;
}
if (typeof collection.length != 'number') {
return [collection];
}
if (typeof collection === 'function' && collection instanceof Function) {
return [collection];
}
var arr = [];
for (var i = 0; i < collection.length; i++) {
if (Object.prototype.hasOwnProperty.call( collection, i ) || i in collection) {
arr.push( collection[i] );
}
}
if ( ! arr.length) {
return [];
}
return arr;
};
function isArray(arr) {
return Object.prototype.toString.call( arr ) === "[object Array]";
}
}, {}], 17: [function (require, module, exports) {
module.exports = function (s) {
s = (s === undefined) ? "" : s;
s = (s === null) ? "" : s;
s = s.toString();
return s;
};
}, {}]
},
{},
[1]
);