aboutsummaryrefslogtreecommitdiff
path: root/srcs/wordpress/wp-includes/js/dist/vendor/wp-polyfill-element-closest.js
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/wordpress/wp-includes/js/dist/vendor/wp-polyfill-element-closest.js')
-rw-r--r--srcs/wordpress/wp-includes/js/dist/vendor/wp-polyfill-element-closest.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/srcs/wordpress/wp-includes/js/dist/vendor/wp-polyfill-element-closest.js b/srcs/wordpress/wp-includes/js/dist/vendor/wp-polyfill-element-closest.js
new file mode 100644
index 0000000..ac49886
--- /dev/null
+++ b/srcs/wordpress/wp-includes/js/dist/vendor/wp-polyfill-element-closest.js
@@ -0,0 +1,33 @@
+// element-closest | CC0-1.0 | github.com/jonathantneal/closest
+
+(function (ElementProto) {
+ if (typeof ElementProto.matches !== 'function') {
+ ElementProto.matches = ElementProto.msMatchesSelector || ElementProto.mozMatchesSelector || ElementProto.webkitMatchesSelector || function matches(selector) {
+ var element = this;
+ var elements = (element.document || element.ownerDocument).querySelectorAll(selector);
+ var index = 0;
+
+ while (elements[index] && elements[index] !== element) {
+ ++index;
+ }
+
+ return Boolean(elements[index]);
+ };
+ }
+
+ if (typeof ElementProto.closest !== 'function') {
+ ElementProto.closest = function closest(selector) {
+ var element = this;
+
+ while (element && element.nodeType === 1) {
+ if (element.matches(selector)) {
+ return element;
+ }
+
+ element = element.parentNode;
+ }
+
+ return null;
+ };
+ }
+})(window.Element.prototype);