correction && add form && add slide && add masonry && css

This commit is contained in:
2020-06-07 17:47:49 +02:00
153 changed files with 16750 additions and 162 deletions

64
node_modules/fizzy-ui-utils/README.md generated vendored Normal file
View 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
View 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
View 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
View 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
View File

@@ -0,0 +1,9 @@
{
"browser": true,
"unused": true,
"undef": true,
"globals": {
"fizzyUIUtils": false,
"QUnit": false
}
}

View 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
View 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
View 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
View 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
View 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
View 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;
}));