correction && add form && add slide && add masonry && css
This commit is contained in:
64
node_modules/fizzy-ui-utils/README.md
generated
vendored
Normal file
64
node_modules/fizzy-ui-utils/README.md
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
# Fizzy UI utils
|
||||
|
||||
UI utility & helper functions
|
||||
|
||||
Used in [Flickity](http://flickity.metafizzy.co), [Isotope](http://isotope.metafizzy.co), [Masonry](http://masonry.desandro.com), [Draggabilly](http://draggabilly.desandro.com)
|
||||
|
||||
## Install
|
||||
|
||||
Bower: `bower install fizzy-ui-utils --save`
|
||||
|
||||
npm: `npm install fizzy-ui-utils --save`
|
||||
|
||||
## API
|
||||
|
||||
``` js
|
||||
// fizzyUIUtils is the browser global
|
||||
var utils = fizzyUIUtils;
|
||||
|
||||
// ---- ---- //
|
||||
|
||||
utils.extend( a, b )
|
||||
// extend object
|
||||
|
||||
utils.modulo( num, div )
|
||||
// num [modulo] div
|
||||
|
||||
utils.makeArray( obj )
|
||||
// make array from object
|
||||
|
||||
utils.removeFrom( ary, obj )
|
||||
// remove object from array
|
||||
|
||||
utils.getParent( elem, selector )
|
||||
// get parent element of an element, given a selector string
|
||||
|
||||
utils.getQueryElement( elem )
|
||||
// if elem is a string, use it as a selector and return element
|
||||
|
||||
Class.prototype.handleEvent = utils.handleEvent;
|
||||
// enable Class.onclick when element.addEventListener( 'click', this, false )
|
||||
|
||||
utils.filterFindElements( elems, selector )
|
||||
// iterate through elems, filter and find all elements that match selector
|
||||
|
||||
utils.debounceMethod( Class, methodName, threhold )
|
||||
// debounce a class method
|
||||
|
||||
utils.docReady( callback )
|
||||
// trigger callback on document ready
|
||||
|
||||
utils.toDashed( str )
|
||||
// 'camelCaseString' -> 'camel-case-string'
|
||||
|
||||
utils.htmlInit( Class, namespace )
|
||||
// on document ready, initialize Class on every element
|
||||
// that matches js-namespace
|
||||
// pass in JSON options from element's data-options-namespace attribute
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
[MIT license](http://desandro.mit-license.org/). Have at it.
|
||||
|
||||
By [Metafizzy](http://metafizzy.co)
|
32
node_modules/fizzy-ui-utils/bower.json
generated
vendored
Normal file
32
node_modules/fizzy-ui-utils/bower.json
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "fizzy-ui-utils",
|
||||
"authors": [
|
||||
"David DeSandro"
|
||||
],
|
||||
"description": "UI utilities",
|
||||
"main": "utils.js",
|
||||
"dependencies": {
|
||||
"desandro-matches-selector": "^2.0.0"
|
||||
},
|
||||
"moduleType": [
|
||||
"amd",
|
||||
"globals",
|
||||
"node"
|
||||
],
|
||||
"keywords": [
|
||||
"utility",
|
||||
"ui"
|
||||
],
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests",
|
||||
"package.json"
|
||||
],
|
||||
"devDependencies": {
|
||||
"qunit": "~1.20.0"
|
||||
}
|
||||
}
|
56
node_modules/fizzy-ui-utils/package.json
generated
vendored
Normal file
56
node_modules/fizzy-ui-utils/package.json
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
{
|
||||
"_from": "fizzy-ui-utils@^2.0.7",
|
||||
"_id": "fizzy-ui-utils@2.0.7",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-CZXDVXQ1If3/r8s0T+v+qVeMshhfcuq0rqIFgJnrtd+Bu8GmDmqMjntjUePypVtjHXKJ6V4sw9zeyox34n9aCg==",
|
||||
"_location": "/fizzy-ui-utils",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "fizzy-ui-utils@^2.0.7",
|
||||
"name": "fizzy-ui-utils",
|
||||
"escapedName": "fizzy-ui-utils",
|
||||
"rawSpec": "^2.0.7",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^2.0.7"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/flickity"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz",
|
||||
"_shasum": "7df45dcc4eb374a08b65d39bb9a4beedf7330505",
|
||||
"_spec": "fizzy-ui-utils@^2.0.7",
|
||||
"_where": "/var/www/html/node_modules/flickity",
|
||||
"author": {
|
||||
"name": "David DeSandro"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/metafizzy/fizzy-ui-utils/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"desandro-matches-selector": "^2.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "UI utilities",
|
||||
"devDependencies": {},
|
||||
"homepage": "https://github.com/metafizzy/fizzy-ui-utils",
|
||||
"keywords": [
|
||||
"ui",
|
||||
"utility",
|
||||
"browser",
|
||||
"DOM"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "utils.js",
|
||||
"name": "fizzy-ui-utils",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/metafizzy/fizzy-ui-utils.git"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"version": "2.0.7"
|
||||
}
|
66
node_modules/fizzy-ui-utils/test/index.html
generated
vendored
Normal file
66
node_modules/fizzy-ui-utils/test/index.html
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
|
||||
<title>fizzy-ui-utils test</title>
|
||||
|
||||
<link rel="stylesheet" href="../bower_components/qunit/qunit/qunit.css" />
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="qunit"></div>
|
||||
|
||||
<div class="grid grid-a">
|
||||
<div class="item item-a0"></div>
|
||||
<div class="item item-a1"></div>
|
||||
<div class="item item-a2"></div>
|
||||
<div class="item item-a3">
|
||||
<ul>
|
||||
<li>
|
||||
<p>
|
||||
<span class="span-a3"></span>
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-b">
|
||||
<div class="item"></div>
|
||||
<div class="item"></div>
|
||||
<div>
|
||||
<div class="item"></div>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li>
|
||||
<div class="item"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p data-nice-greeter data-greeter-expected="hello world"></p>
|
||||
<p data-nice-greeter='{ "greeting": "bonjour", "recipient": "mon ami" }'
|
||||
data-greeter-expected="bonjour mon ami"></p>
|
||||
|
||||
<p class="js-nice-greeter" data-greeter-expected="hello world"></p>
|
||||
<p class="js-nice-greeter"
|
||||
data-nice-greeter='{ "greeting": "bonjour", "recipient": "mon ami" }'
|
||||
data-greeter-expected="bonjour mon ami"></p>
|
||||
|
||||
<script src="../bower_components/qunit/qunit/qunit.js"></script>
|
||||
<script src="../bower_components/desandro-matches-selector/matches-selector.js"></script>
|
||||
<script src="../utils.js"></script>
|
||||
|
||||
<script src="unit/make-array.js"></script>
|
||||
<script src="unit/remove-from.js"></script>
|
||||
<script src="unit/get-parent.js"></script>
|
||||
<script src="unit/filter-find-elements.js"></script>
|
||||
<script src="unit/html-init.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
9
node_modules/fizzy-ui-utils/test/unit/.jshintrc
generated
vendored
Normal file
9
node_modules/fizzy-ui-utils/test/unit/.jshintrc
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"browser": true,
|
||||
"unused": true,
|
||||
"undef": true,
|
||||
"globals": {
|
||||
"fizzyUIUtils": false,
|
||||
"QUnit": false
|
||||
}
|
||||
}
|
8
node_modules/fizzy-ui-utils/test/unit/filter-find-elements.js
generated
vendored
Normal file
8
node_modules/fizzy-ui-utils/test/unit/filter-find-elements.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
QUnit.test( 'filterFindElements', function( assert ) {
|
||||
|
||||
var gridB = document.querySelector('.grid-b');
|
||||
|
||||
var itemElems = fizzyUIUtils.filterFindElements( gridB.children, '.item' );
|
||||
assert.equal( itemElems.length, 4, '4 items filter/found' );
|
||||
|
||||
});
|
30
node_modules/fizzy-ui-utils/test/unit/get-parent.js
generated
vendored
Normal file
30
node_modules/fizzy-ui-utils/test/unit/get-parent.js
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
QUnit.test( 'getParent', function( assert ) {
|
||||
|
||||
var getParent = fizzyUIUtils.getParent;
|
||||
|
||||
var gridA = document.querySelector('.grid-a');
|
||||
var itemA1 = document.querySelector('.item-a1');
|
||||
|
||||
var parent = getParent( itemA1, '.grid' );
|
||||
assert.equal( parent, gridA, 'got grid parent from item' );
|
||||
|
||||
parent = getParent( document.querySelector('.span-a3'), '.grid' );
|
||||
assert.equal( parent, gridA, 'got grid parent from span' );
|
||||
|
||||
parent = getParent( itemA1, '#qunit' );
|
||||
assert.ok( parent === undefined, 'parent not tree is undefined' );
|
||||
|
||||
var treeNotInDocument = document.createElement('div');
|
||||
treeNotInDocument.innerHTML =
|
||||
'<div class="a">' +
|
||||
'<div class="a1">' +
|
||||
'</div>';
|
||||
|
||||
parent = getParent( treeNotInDocument.querySelector('.a1'), '.not-found' );
|
||||
|
||||
assert.ok(
|
||||
parent === undefined,
|
||||
'Parent should be `undefined` even when the given tree is not in the document'
|
||||
);
|
||||
|
||||
});
|
23
node_modules/fizzy-ui-utils/test/unit/html-init.js
generated
vendored
Normal file
23
node_modules/fizzy-ui-utils/test/unit/html-init.js
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
QUnit.test( 'htmlInit', function( assert ) {
|
||||
|
||||
fizzyUIUtils.htmlInit( NiceGreeter, 'niceGreeter' );
|
||||
|
||||
var done = assert.async();
|
||||
fizzyUIUtils.docReady( function() {
|
||||
var greeterElems = document.querySelectorAll('[data-greeter-expected]');
|
||||
for ( var i=0; i < greeterElems.length; i++ ) {
|
||||
var greeterElem = greeterElems[i];
|
||||
var attr = greeterElem.getAttribute('data-greeter-expected');
|
||||
assert.equal( greeterElem.textContent, attr, 'textContent matches options' );
|
||||
}
|
||||
done();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function NiceGreeter( elem, options ) {
|
||||
this.element = elem;
|
||||
var greeting = options && options.greeting || 'hello';
|
||||
var recipient = options && options.recipient || 'world';
|
||||
this.element.textContent = greeting + ' ' + recipient;
|
||||
}
|
34
node_modules/fizzy-ui-utils/test/unit/make-array.js
generated
vendored
Normal file
34
node_modules/fizzy-ui-utils/test/unit/make-array.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
QUnit.test( 'makeArray', function( assert ) {
|
||||
|
||||
var makeArray = fizzyUIUtils.makeArray;
|
||||
|
||||
var aryA = [ 0, 1, 2 ];
|
||||
var aryB = makeArray( aryA );
|
||||
assert.deepEqual( aryA, aryB, 'makeArray on array returns same array' );
|
||||
|
||||
var itemElems = document.querySelectorAll('.grid-a .item');
|
||||
var items = makeArray( itemElems );
|
||||
assert.ok( Array.isArray( items ), 'makeArray on querySelectorAll NodeList' );
|
||||
assert.equal( items.length, itemElems.length, 'length matches' );
|
||||
|
||||
var grids = makeArray( document.querySelector('.grid-a') );
|
||||
assert.ok( Array.isArray( grids ), 'makeArray on single element is array' );
|
||||
assert.equal( grids.length, 1, 'length = 1' );
|
||||
|
||||
var empty = makeArray();
|
||||
assert.deepEqual( empty, [], 'makeArray on undefined is empty array' );
|
||||
assert.equal( empty.length, 0, 'length = 0' );
|
||||
assert.ok( empty[0] === undefined, '[0] is undefined' );
|
||||
|
||||
// isotope#1235
|
||||
var aryC = makeArray('foo');
|
||||
assert.deepEqual( aryC, [ 'foo' ], 'string turns to single array item' );
|
||||
|
||||
var nullAry = makeArray( null );
|
||||
assert.deepEqual( nullAry, [], 'makeArray(null) returns empty array' );
|
||||
|
||||
var falseAry = makeArray( false );
|
||||
assert.deepEqual( falseAry, [ false ], 'makeArray(false) returns array with false' );
|
||||
assert.equal( falseAry.length, 1, 'falseyAry has 1 item' );
|
||||
|
||||
});
|
14
node_modules/fizzy-ui-utils/test/unit/remove-from.js
generated
vendored
Normal file
14
node_modules/fizzy-ui-utils/test/unit/remove-from.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
QUnit.test( 'removeFrom', function( assert ) {
|
||||
|
||||
var removeFrom = fizzyUIUtils.removeFrom;
|
||||
|
||||
var ary = [ 0, 1, 2, 3, 4, 5, 6 ];
|
||||
var len = ary.length;
|
||||
|
||||
removeFrom( ary, 2 );
|
||||
var ary2 = [ 0, 1, 3, 4, 5, 6 ];
|
||||
assert.deepEqual( ary, ary2, '2 removed' );
|
||||
removeFrom( ary, 8 );
|
||||
assert.deepEqual( ary, ary2, '8 not removed' );
|
||||
|
||||
});
|
241
node_modules/fizzy-ui-utils/utils.js
generated
vendored
Normal file
241
node_modules/fizzy-ui-utils/utils.js
generated
vendored
Normal file
@@ -0,0 +1,241 @@
|
||||
/**
|
||||
* Fizzy UI utils v2.0.7
|
||||
* MIT license
|
||||
*/
|
||||
|
||||
/*jshint browser: true, undef: true, unused: true, strict: true */
|
||||
|
||||
( function( window, factory ) {
|
||||
// universal module definition
|
||||
/*jshint strict: false */ /*globals define, module, require */
|
||||
|
||||
if ( typeof define == 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( [
|
||||
'desandro-matches-selector/matches-selector'
|
||||
], function( matchesSelector ) {
|
||||
return factory( window, matchesSelector );
|
||||
});
|
||||
} else if ( typeof module == 'object' && module.exports ) {
|
||||
// CommonJS
|
||||
module.exports = factory(
|
||||
window,
|
||||
require('desandro-matches-selector')
|
||||
);
|
||||
} else {
|
||||
// browser global
|
||||
window.fizzyUIUtils = factory(
|
||||
window,
|
||||
window.matchesSelector
|
||||
);
|
||||
}
|
||||
|
||||
}( window, function factory( window, matchesSelector ) {
|
||||
|
||||
'use strict';
|
||||
|
||||
var utils = {};
|
||||
|
||||
// ----- extend ----- //
|
||||
|
||||
// extends objects
|
||||
utils.extend = function( a, b ) {
|
||||
for ( var prop in b ) {
|
||||
a[ prop ] = b[ prop ];
|
||||
}
|
||||
return a;
|
||||
};
|
||||
|
||||
// ----- modulo ----- //
|
||||
|
||||
utils.modulo = function( num, div ) {
|
||||
return ( ( num % div ) + div ) % div;
|
||||
};
|
||||
|
||||
// ----- makeArray ----- //
|
||||
|
||||
var arraySlice = Array.prototype.slice;
|
||||
|
||||
// turn element or nodeList into an array
|
||||
utils.makeArray = function( obj ) {
|
||||
if ( Array.isArray( obj ) ) {
|
||||
// use object if already an array
|
||||
return obj;
|
||||
}
|
||||
// return empty array if undefined or null. #6
|
||||
if ( obj === null || obj === undefined ) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
|
||||
if ( isArrayLike ) {
|
||||
// convert nodeList to array
|
||||
return arraySlice.call( obj );
|
||||
}
|
||||
|
||||
// array of single index
|
||||
return [ obj ];
|
||||
};
|
||||
|
||||
// ----- removeFrom ----- //
|
||||
|
||||
utils.removeFrom = function( ary, obj ) {
|
||||
var index = ary.indexOf( obj );
|
||||
if ( index != -1 ) {
|
||||
ary.splice( index, 1 );
|
||||
}
|
||||
};
|
||||
|
||||
// ----- getParent ----- //
|
||||
|
||||
utils.getParent = function( elem, selector ) {
|
||||
while ( elem.parentNode && elem != document.body ) {
|
||||
elem = elem.parentNode;
|
||||
if ( matchesSelector( elem, selector ) ) {
|
||||
return elem;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ----- getQueryElement ----- //
|
||||
|
||||
// use element as selector string
|
||||
utils.getQueryElement = function( elem ) {
|
||||
if ( typeof elem == 'string' ) {
|
||||
return document.querySelector( elem );
|
||||
}
|
||||
return elem;
|
||||
};
|
||||
|
||||
// ----- handleEvent ----- //
|
||||
|
||||
// enable .ontype to trigger from .addEventListener( elem, 'type' )
|
||||
utils.handleEvent = function( event ) {
|
||||
var method = 'on' + event.type;
|
||||
if ( this[ method ] ) {
|
||||
this[ method ]( event );
|
||||
}
|
||||
};
|
||||
|
||||
// ----- filterFindElements ----- //
|
||||
|
||||
utils.filterFindElements = function( elems, selector ) {
|
||||
// make array of elems
|
||||
elems = utils.makeArray( elems );
|
||||
var ffElems = [];
|
||||
|
||||
elems.forEach( function( elem ) {
|
||||
// check that elem is an actual element
|
||||
if ( !( elem instanceof HTMLElement ) ) {
|
||||
return;
|
||||
}
|
||||
// add elem if no selector
|
||||
if ( !selector ) {
|
||||
ffElems.push( elem );
|
||||
return;
|
||||
}
|
||||
// filter & find items if we have a selector
|
||||
// filter
|
||||
if ( matchesSelector( elem, selector ) ) {
|
||||
ffElems.push( elem );
|
||||
}
|
||||
// find children
|
||||
var childElems = elem.querySelectorAll( selector );
|
||||
// concat childElems to filterFound array
|
||||
for ( var i=0; i < childElems.length; i++ ) {
|
||||
ffElems.push( childElems[i] );
|
||||
}
|
||||
});
|
||||
|
||||
return ffElems;
|
||||
};
|
||||
|
||||
// ----- debounceMethod ----- //
|
||||
|
||||
utils.debounceMethod = function( _class, methodName, threshold ) {
|
||||
threshold = threshold || 100;
|
||||
// original method
|
||||
var method = _class.prototype[ methodName ];
|
||||
var timeoutName = methodName + 'Timeout';
|
||||
|
||||
_class.prototype[ methodName ] = function() {
|
||||
var timeout = this[ timeoutName ];
|
||||
clearTimeout( timeout );
|
||||
|
||||
var args = arguments;
|
||||
var _this = this;
|
||||
this[ timeoutName ] = setTimeout( function() {
|
||||
method.apply( _this, args );
|
||||
delete _this[ timeoutName ];
|
||||
}, threshold );
|
||||
};
|
||||
};
|
||||
|
||||
// ----- docReady ----- //
|
||||
|
||||
utils.docReady = function( callback ) {
|
||||
var readyState = document.readyState;
|
||||
if ( readyState == 'complete' || readyState == 'interactive' ) {
|
||||
// do async to allow for other scripts to run. metafizzy/flickity#441
|
||||
setTimeout( callback );
|
||||
} else {
|
||||
document.addEventListener( 'DOMContentLoaded', callback );
|
||||
}
|
||||
};
|
||||
|
||||
// ----- htmlInit ----- //
|
||||
|
||||
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
|
||||
utils.toDashed = function( str ) {
|
||||
return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
|
||||
return $1 + '-' + $2;
|
||||
}).toLowerCase();
|
||||
};
|
||||
|
||||
var console = window.console;
|
||||
/**
|
||||
* allow user to initialize classes via [data-namespace] or .js-namespace class
|
||||
* htmlInit( Widget, 'widgetName' )
|
||||
* options are parsed from data-namespace-options
|
||||
*/
|
||||
utils.htmlInit = function( WidgetClass, namespace ) {
|
||||
utils.docReady( function() {
|
||||
var dashedNamespace = utils.toDashed( namespace );
|
||||
var dataAttr = 'data-' + dashedNamespace;
|
||||
var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
|
||||
var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
|
||||
var elems = utils.makeArray( dataAttrElems )
|
||||
.concat( utils.makeArray( jsDashElems ) );
|
||||
var dataOptionsAttr = dataAttr + '-options';
|
||||
var jQuery = window.jQuery;
|
||||
|
||||
elems.forEach( function( elem ) {
|
||||
var attr = elem.getAttribute( dataAttr ) ||
|
||||
elem.getAttribute( dataOptionsAttr );
|
||||
var options;
|
||||
try {
|
||||
options = attr && JSON.parse( attr );
|
||||
} catch ( error ) {
|
||||
// log error, do not initialize
|
||||
if ( console ) {
|
||||
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
|
||||
': ' + error );
|
||||
}
|
||||
return;
|
||||
}
|
||||
// initialize
|
||||
var instance = new WidgetClass( elem, options );
|
||||
// make available via $().data('namespace')
|
||||
if ( jQuery ) {
|
||||
jQuery.data( elem, namespace, instance );
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
// ----- ----- //
|
||||
|
||||
return utils;
|
||||
|
||||
}));
|
Reference in New Issue
Block a user