Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/miguelcobain/ember-cli-element-closest-polyfill
Includes a polyfill for closest if needed
https://github.com/miguelcobain/ember-cli-element-closest-polyfill
closest ember polyfill
Last synced: 3 months ago
JSON representation
Includes a polyfill for closest if needed
- Host: GitHub
- URL: https://github.com/miguelcobain/ember-cli-element-closest-polyfill
- Owner: miguelcobain
- License: mit
- Created: 2018-11-07T02:16:09.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T22:42:05.000Z (about 2 years ago)
- Last Synced: 2024-10-18T23:24:15.913Z (3 months ago)
- Topics: closest, ember, polyfill
- Language: JavaScript
- Homepage:
- Size: 1.42 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ember-cli-element-closest-polyfill
[![Build Status](https://travis-ci.org/miguelcobain/ember-cli-element-closest-polyfill.svg?branch=master)](https://travis-ci.org/miguelcobain/ember-cli-element-closest-polyfill)
[![Ember Observer Score](https://emberobserver.com/badges/ember-cli-element-closest-polyfill.svg)](https://emberobserver.com/addons/ember-cli-element-closest-polyfill)
[![npm version](https://badge.fury.io/js/ember-cli-element-closest-polyfill.svg)](https://badge.fury.io/js/ember-cli-element-closest-polyfill)Ember-CLI addon to add a polyfill for the [`Element.closest()`](https://developer.mozilla.org/en/docs/Web/API/Element/closest)
property, based on [element-closest](https://github.com/jonathantneal/closest).Internet Explorer 11 and lower do not support `closest()`.
See full [browser support details](https://caniuse.com/#feat=element-closest).The included polyfill also polyfills [`#Element.matches`](https://developer.mozilla.org/en/docs/Web/API/Element/matches), which is
widely supported but often vendor-prefixed.## Installation
```bash
ember install ember-cli-element-closest-polyfill
```## Usage
The addon will import the polyfill by default to your `vendor.js`.
Beginning with version 2.13 Ember CLI supports a [Targets](http://rwjblue.com/2017/04/21/ember-cli-targets/) feature,
allowing you to specify the list of browsers your app should support like `last 1 Chrome versions` or `ie 11`.
If the [caniuse database](https://caniuse.com/#feat=element-closest) indicates that all browsers you want to support *fully* support the feature, then the
polyfill will *not* be included into your build, to not increase your bundle size.### Usage in an addon
This should also work as a nested addon of another addon, just include it as a `dependency`. So if your addon
makes use of `closest()`, you can use this to make sure the API is available. Given the above mentioned targets feature,
it will have no negative impact on the consuming app should the polyfill not be needed.## Credits
This addon was inspired by a similar polyfill addon: https://github.com/kaliber5/ember-cli-classlist-polyfill
## License
This project is licensed under the [MIT License](LICENSE.md).