summaryrefslogtreecommitdiffstats
path: root/js/vendor/matches-selector
diff options
context:
space:
mode:
Diffstat (limited to 'js/vendor/matches-selector')
-rw-r--r--js/vendor/matches-selector/.bower.json42
-rw-r--r--js/vendor/matches-selector/README.md27
-rw-r--r--js/vendor/matches-selector/bower.json32
-rw-r--r--js/vendor/matches-selector/matches-selector.js53
4 files changed, 154 insertions, 0 deletions
diff --git a/js/vendor/matches-selector/.bower.json b/js/vendor/matches-selector/.bower.json
new file mode 100644
index 000000000..2bc7c9509
--- /dev/null
+++ b/js/vendor/matches-selector/.bower.json
@@ -0,0 +1,42 @@
+{
+ "name": "matches-selector",
+ "description": "matches/matchesSelector helper",
+ "main": "matches-selector.js",
+ "devDependencies": {
+ "qunit": "1.x"
+ },
+ "homepage": "https://github.com/desandro/matches-selector",
+ "authors": [
+ "David DeSandro"
+ ],
+ "moduleType": [
+ "amd",
+ "globals",
+ "node"
+ ],
+ "keywords": [
+ "DOM",
+ "matchesSelector",
+ "matches"
+ ],
+ "license": "MIT",
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "test",
+ "tests",
+ "tests.*",
+ "package.json"
+ ],
+ "version": "2.0.1",
+ "_release": "2.0.1",
+ "_resolution": {
+ "type": "version",
+ "tag": "v2.0.1",
+ "commit": "96bc8d60f8e67026fd467a0d55742663ca9b7c30"
+ },
+ "_source": "git://github.com/desandro/matches-selector.git",
+ "_target": "~2.0.0",
+ "_originalSource": "matches-selector"
+} \ No newline at end of file
diff --git a/js/vendor/matches-selector/README.md b/js/vendor/matches-selector/README.md
new file mode 100644
index 000000000..09fd5f378
--- /dev/null
+++ b/js/vendor/matches-selector/README.md
@@ -0,0 +1,27 @@
+# matchesSelector helper
+
+[`matches`/`matchesSelector`](https://developer.mozilla.org/en-US/docs/Web/API/Element/matches) is pretty hot :fire:, but has [vendor-prefix baggage](http://caniuse.com/#feat=matchesselector) :handbag: :pouch:. This helper function takes care of that, without polyfilling or augmenting `Element.prototype`.
+
+``` js
+matchesSelector( elem, selector );
+// for example
+matchesSelector( myElem, 'div.my-hawt-selector' );
+```
+
+## Install
+
+Download [matches-selector.js](https://github.com/desandro/matches-selector/raw/master/matches-selector.js)
+
+Install with [Bower](http://bower.io): `bower install matches-selector`
+
+[Install with npm](https://www.npmjs.org/package/desandro-matches-selector): `npm install desandro-matches-selector`
+
+## Browser support
+
+IE10+, all modern browsers
+
+Use [matchesSelector v1](https://github.com/desandro/matches-selector/releases/tag/v1.0.3) for IE8 and IE9 support.
+
+## MIT license
+
+matchesSelector is released under the [MIT license](http://desandro.mit-license.org)
diff --git a/js/vendor/matches-selector/bower.json b/js/vendor/matches-selector/bower.json
new file mode 100644
index 000000000..e502c871e
--- /dev/null
+++ b/js/vendor/matches-selector/bower.json
@@ -0,0 +1,32 @@
+{
+ "name": "matches-selector",
+ "description": "matches/matchesSelector helper",
+ "main": "matches-selector.js",
+ "devDependencies": {
+ "qunit": "1.x"
+ },
+ "homepage": "https://github.com/desandro/matches-selector",
+ "authors": [
+ "David DeSandro"
+ ],
+ "moduleType": [
+ "amd",
+ "globals",
+ "node"
+ ],
+ "keywords": [
+ "DOM",
+ "matchesSelector",
+ "matches"
+ ],
+ "license": "MIT",
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "test",
+ "tests",
+ "tests.*",
+ "package.json"
+ ]
+}
diff --git a/js/vendor/matches-selector/matches-selector.js b/js/vendor/matches-selector/matches-selector.js
new file mode 100644
index 000000000..482a795e9
--- /dev/null
+++ b/js/vendor/matches-selector/matches-selector.js
@@ -0,0 +1,53 @@
+/**
+ * matchesSelector v2.0.1
+ * matchesSelector( element, '.selector' )
+ * MIT license
+ */
+
+/*jshint browser: true, strict: true, undef: true, unused: true */
+
+( function( window, factory ) {
+ /*global define: false, module: false */
+ 'use strict';
+ // universal module definition
+ if ( typeof define == 'function' && define.amd ) {
+ // AMD
+ define( factory );
+ } else if ( typeof module == 'object' && module.exports ) {
+ // CommonJS
+ module.exports = factory();
+ } else {
+ // browser global
+ window.matchesSelector = factory();
+ }
+
+}( window, function factory() {
+ 'use strict';
+
+ var matchesMethod = ( function() {
+ var ElemProto = Element.prototype;
+ // check for the standard method name first
+ if ( ElemProto.matches ) {
+ return 'matches';
+ }
+ // check un-prefixed
+ if ( ElemProto.matchesSelector ) {
+ return 'matchesSelector';
+ }
+ // check vendor prefixes
+ var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
+
+ for ( var i=0; i < prefixes.length; i++ ) {
+ var prefix = prefixes[i];
+ var method = prefix + 'MatchesSelector';
+ if ( ElemProto[ method ] ) {
+ return method;
+ }
+ }
+ })();
+
+ return function matchesSelector( elem, selector ) {
+ return elem[ matchesMethod ]( selector );
+ };
+
+}));