"no-param-reassign": "off",
"no-proto": "error",
"no-restricted-properties": "error",
- "no-return-assign": "error",
"no-return-await": "error",
"no-script-url": "error",
"no-self-compare": "error",
const customEvent = this._triggerCloseEvent(rootElement)
- if (customEvent.defaultPrevented) {
+ if (customEvent === null || customEvent.defaultPrevented) {
return
}
}
// closest polyfill (see: https://mzl.la/2vXggaI)
+let fnClosest = null
if (!Element.prototype.closest) {
- Element.prototype.closest = (element, selector) => {
+ fnClosest = (element, selector) => {
let ancestor = element
if (!document.documentElement.contains(element)) {
return null
return null
}
+} else {
+ // eslint-disable-next-line arrow-body-style
+ fnClosest = (element, selector) => {
+ return element.closest(selector)
+ }
}
-const fnClosest = Element.prototype.closest
-
const SelectorEngine = {
matches(element, selector) {
return fnMatches.call(element, selector)
},
closest(element, selector) {
- return fnClosest.call(element, selector)
+ return fnClosest(element, selector)
}
}