Skip to content

Commit

Permalink
feat(lib): insource closest to support shadow dom
Browse files Browse the repository at this point in the history
Closes #5
  • Loading branch information
oguzeroglu committed Mar 11, 2020
1 parent 0672959 commit b58f019
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 5 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The library exposes the following tiny dom helpers:
* `attr` - get and set node attributes
* `classes` - class name helper
* `clear` - remove children from a node
* `closest` - get the closest parent by selector; [component-closest](https://github.com/component/closest)
* `closest` - get the closest parent by selector;
* `delegate` - event deletation support; [delegate-events](https://www.npmjs.com/package/delegate-events)
* `domify` - html to elements; [domify](https://github.com/component/domify)
* `event` - event binding; [component-event](https://github.com/component/event)
Expand Down
27 changes: 24 additions & 3 deletions lib/closest.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
export {
default
} from 'closest';
import matches from './matches';

/**
* Closest
*
* @param {Element} el
* @param {String} selector
* @param {Boolean} checkYourSelf (optional)
*/
export default function(element, selector, checkYourSelf) {
var currentElem = checkYourSelf ? element : element.parentNode;

while (currentElem && currentElem.nodeType !== document.DOCUMENT_NODE &&
currentElem.nodeType !== document.DOCUMENT_FRAGMENT_NODE) {

if (matches(currentElem, selector)) {
return currentElem;
}

currentElem = currentElem.parentNode;
}

return matches(currentElem, selector) ? currentElem : null;
}
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
"license": "MIT",
"sideEffects": false,
"dependencies": {
"closest": "0.0.1",
"component-event": "^0.1.4",
"delegate-events": "^1.1.1",
"domify": "^1.3.1",
Expand Down

0 comments on commit b58f019

Please sign in to comment.