downshift 1.28.4 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,7 +19,7 @@ autocomplete/dropdown/select/combobox components</p>
19
19
  [![downloads][downloads-badge]][npmcharts] [![version][version-badge]][package]
20
20
  [![MIT License][license-badge]][license]
21
21
 
22
- [![All Contributors](https://img.shields.io/badge/all_contributors-65-orange.svg?style=flat-square)](#contributors)
22
+ [![All Contributors](https://img.shields.io/badge/all_contributors-67-orange.svg?style=flat-square)](#contributors)
23
23
  [![PRs Welcome][prs-badge]][prs] [![Chat][chat-badge]][chat]
24
24
  [![Code of Conduct][coc-badge]][coc]
25
25
 
@@ -90,6 +90,7 @@ harder to contribute to.
90
90
  * [actions](#actions)
91
91
  * [state](#state)
92
92
  * [props](#props)
93
+ * [Event Handlers](#event-handlers)
93
94
  * [Utilities](#utilities)
94
95
  * [resetIdCounter](#resetidcounter)
95
96
  * [Examples](#examples)
@@ -539,6 +540,10 @@ that `downshift` needs to apply to make the `input` behave.
539
540
 
540
541
  There are no required properties for this method.
541
542
 
543
+ Optional properties:
544
+
545
+ * `disabled`: If this is set to true, then no event handlers will be returned from `getInputProps` and a `disabled` prop will be returned (effectively disabling the input).
546
+
542
547
  #### `getLabelProps`
543
548
 
544
549
  This method should be applied to the `label` you render. It is useful for
@@ -593,20 +598,29 @@ Required properties:
593
598
 
594
599
  Optional properties:
595
600
 
596
- * `index`: this is how `downshift` keeps track of your item when updating the
601
+ * `index`: This is how `downshift` keeps track of your item when updating the
597
602
  `highlightedIndex` as the user keys around. By default, `downshift` will
598
603
  assume the `index` is the order in which you're calling `getItemProps`. This
599
604
  is often good enough, but if you find odd behavior, try setting this
600
605
  explicitly. It's probably best to be explicit about `index` when using a
601
606
  windowing library like `react-virtualized`.
607
+ * `disabled`: If this is set to `true`, then all of the downshift item event
608
+ handlers will be omitted. Items will not be highlighted when hovered,
609
+ and items will not be selected when clicked.
602
610
 
603
611
  #### `getButtonProps`
604
612
 
605
613
  Call this and apply the returned props to a `button`. It allows you to toggle
606
614
  the `Menu` component. You can definitely build something like this yourself (all
607
615
  of the available APIs are exposed to you), but this is nice because it will also
608
- apply all of the proper ARIA attributes. The `aria-label` prop is in English.
609
- You should probably override this yourself so you can provide translations:
616
+ apply all of the proper ARIA attributes.
617
+
618
+ Optional properties:
619
+
620
+ * `disabled`: If this is set to `true`, then all of the downshift button event
621
+ handlers will be omitted (it wont toggle the menu when clicked).
622
+ * `aria-label`: The `aria-label` prop is in English. You should probably override
623
+ this yourself so you can provide translations:
610
624
 
611
625
  ```jsx
612
626
  const myButton = (
@@ -660,6 +674,66 @@ These are values that represent the current state of the downshift component.
660
674
  As a convenience, the `id` and `itemToString` props which you pass to
661
675
  `<Downshift />` are available here as well.
662
676
 
677
+ ## Event Handlers
678
+
679
+ You can provide your own event handlers to Downshift which will be called before the default handlers:
680
+
681
+ ```javascript
682
+ const ui = (
683
+ <Downshift>
684
+ {({getInputProps}) => (
685
+ <input
686
+ {...getInputProps({
687
+ onKeyDown: event => {
688
+ // your handler code
689
+ },
690
+ })}
691
+ />
692
+ )}
693
+ </Downshift>
694
+ )
695
+ ```
696
+
697
+ If you would like to prevent the default handler behavior in some cases, you can set the event's `preventDownshiftDefault` property to `true`:
698
+
699
+ ```javascript
700
+ const ui = (
701
+ <Downshift>
702
+ {({getInputProps}) => (
703
+ <input
704
+ {...getInputProps({
705
+ onKeyDown: event => {
706
+ if (event.key === 'Enter') {
707
+ // Prevent Downshift's default 'Enter' behavior.
708
+ event.preventDownshiftDefault = true
709
+
710
+ // your handler code
711
+ }
712
+ },
713
+ })}
714
+ />
715
+ )}
716
+ </Downshift>
717
+ )
718
+ ```
719
+
720
+ If you would like to completely override Downshift's behavior for a handler, in favor of your own, you can bypass prop getters:
721
+
722
+ ```javascript
723
+ const ui = (
724
+ <Downshift>
725
+ {({getInputProps}) => (
726
+ <input
727
+ {...getInputProps()}
728
+ onKeyDown={event => {
729
+ // your handler code
730
+ }}
731
+ />
732
+ )}
733
+ </Downshift>
734
+ )
735
+ ```
736
+
663
737
  ## Utilities
664
738
 
665
739
  ### resetIdCounter
@@ -708,12 +782,12 @@ Examples exist on [codesandbox.io][examples]:
708
782
 
709
783
  If you would like to add an example, follow these steps:
710
784
 
711
- 1. Fork [this codesandbox](http://kcd.im/ds-example)
712
- 2. Make sure your version (under dependencies) is the latest available version.
713
- 3. Update the title and description
714
- 4. Update the code for your example (add some form of documentation to explain
715
- what it is)
716
- 5. Add the tag: `downshift:example`
785
+ 1. Fork [this codesandbox](http://kcd.im/ds-example)
786
+ 2. Make sure your version (under dependencies) is the latest available version.
787
+ 3. Update the title and description
788
+ 4. Update the code for your example (add some form of documentation to explain
789
+ what it is)
790
+ 5. Add the tag: `downshift:example`
717
791
 
718
792
  You'll find other examples in the `stories/examples` folder of the repo. And
719
793
  you'll find
@@ -779,8 +853,8 @@ const ui = (
779
853
  To opt-into a breaking change, simply provide the key and value in the
780
854
  `breakingChanges` object prop for each breaking change mentioned below:
781
855
 
782
- 1. `resetInputOnSelection` - Enable with the value of `true`. For more
783
- information, see [#243](https://github.com/paypal/downshift/issues/243)
856
+ 1. `resetInputOnSelection` - Enable with the value of `true`. For more
857
+ information, see [#243](https://github.com/paypal/downshift/issues/243)
784
858
 
785
859
  When a new major version is released, then the code to support the old
786
860
  functionality will be removed and the breaking change version will be the
@@ -826,17 +900,17 @@ Thanks goes to these people ([emoji key][emojis]):
826
900
  <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
827
901
 
828
902
  <!-- prettier-ignore -->
829
- | [<img src="https://avatars.githubusercontent.com/u/1500684?v=3" width="100px;"/><br /><sub><b>Kent C. Dodds</b></sub>](https://kentcdodds.com)<br />[💻](/paypal/downshift/commits?author=kentcdodds "Code") [📖](/paypal/downshift/commits?author=kentcdodds "Documentation") [🚇](#infra-kentcdodds "Infrastructure (Hosting, Build-Tools, etc)") [⚠️](/paypal/downshift/commits?author=kentcdodds "Tests") [👀](#review-kentcdodds "Reviewed Pull Requests") [📝](#blog-kentcdodds "Blogposts") [🐛](/paypal/downshift/issues?q=author%3Akentcdodds "Bug reports") [💡](#example-kentcdodds "Examples") [🤔](#ideas-kentcdodds "Ideas, Planning, & Feedback") [📢](#talk-kentcdodds "Talks") | [<img src="https://avatars0.githubusercontent.com/u/100200?v=4" width="100px;"/><br /><sub><b>Ryan Florence</b></sub>](http://twitter.com/ryanflorence)<br />[🤔](#ideas-ryanflorence "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/112170?v=4" width="100px;"/><br /><sub><b>Jared Forsyth</b></sub>](http://jaredforsyth.com)<br />[🤔](#ideas-jaredly "Ideas, Planning, & Feedback") [📖](/paypal/downshift/commits?author=jaredly "Documentation") | [<img src="https://avatars1.githubusercontent.com/u/8162598?v=4" width="100px;"/><br /><sub><b>Jack Moore</b></sub>](https://github.com/jtmthf)<br />[💡](#example-jtmthf "Examples") | [<img src="https://avatars1.githubusercontent.com/u/2762082?v=4" width="100px;"/><br /><sub><b>Travis Arnold</b></sub>](http://travisrayarnold.com)<br />[💻](/paypal/downshift/commits?author=souporserious "Code") [📖](/paypal/downshift/commits?author=souporserious "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/1045233?v=4" width="100px;"/><br /><sub><b>Marcy Sutton</b></sub>](http://marcysutton.com)<br />[🐛](/paypal/downshift/issues?q=author%3Amarcysutton "Bug reports") [🤔](#ideas-marcysutton "Ideas, Planning, & Feedback") | [<img src="https://avatars2.githubusercontent.com/u/244704?v=4" width="100px;"/><br /><sub><b>Jeremy Gayed</b></sub>](http://www.jeremygayed.com)<br />[💡](#example-tizmagik "Examples") |
903
+ | [<img src="https://avatars.githubusercontent.com/u/1500684?v=3" width="100px;"/><br /><sub><b>Kent C. Dodds</b></sub>](https://kentcdodds.com)<br />[💻](https://github.com/paypal/downshift/commits?author=kentcdodds "Code") [📖](https://github.com/paypal/downshift/commits?author=kentcdodds "Documentation") [🚇](#infra-kentcdodds "Infrastructure (Hosting, Build-Tools, etc)") [⚠️](https://github.com/paypal/downshift/commits?author=kentcdodds "Tests") [👀](#review-kentcdodds "Reviewed Pull Requests") [📝](#blog-kentcdodds "Blogposts") [🐛](https://github.com/paypal/downshift/issues?q=author%3Akentcdodds "Bug reports") [💡](#example-kentcdodds "Examples") [🤔](#ideas-kentcdodds "Ideas, Planning, & Feedback") [📢](#talk-kentcdodds "Talks") | [<img src="https://avatars0.githubusercontent.com/u/100200?v=4" width="100px;"/><br /><sub><b>Ryan Florence</b></sub>](http://twitter.com/ryanflorence)<br />[🤔](#ideas-ryanflorence "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/112170?v=4" width="100px;"/><br /><sub><b>Jared Forsyth</b></sub>](http://jaredforsyth.com)<br />[🤔](#ideas-jaredly "Ideas, Planning, & Feedback") [📖](https://github.com/paypal/downshift/commits?author=jaredly "Documentation") | [<img src="https://avatars1.githubusercontent.com/u/8162598?v=4" width="100px;"/><br /><sub><b>Jack Moore</b></sub>](https://github.com/jtmthf)<br />[💡](#example-jtmthf "Examples") | [<img src="https://avatars1.githubusercontent.com/u/2762082?v=4" width="100px;"/><br /><sub><b>Travis Arnold</b></sub>](http://travisrayarnold.com)<br />[💻](https://github.com/paypal/downshift/commits?author=souporserious "Code") [📖](https://github.com/paypal/downshift/commits?author=souporserious "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/1045233?v=4" width="100px;"/><br /><sub><b>Marcy Sutton</b></sub>](http://marcysutton.com)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Amarcysutton "Bug reports") [🤔](#ideas-marcysutton "Ideas, Planning, & Feedback") | [<img src="https://avatars2.githubusercontent.com/u/244704?v=4" width="100px;"/><br /><sub><b>Jeremy Gayed</b></sub>](http://www.jeremygayed.com)<br />[💡](#example-tizmagik "Examples") |
830
904
  | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
831
- | [<img src="https://avatars3.githubusercontent.com/u/6270048?v=4" width="100px;"/><br /><sub><b>Haroen Viaene</b></sub>](https://haroen.me)<br />[💡](#example-Haroenv "Examples") | [<img src="https://avatars2.githubusercontent.com/u/15073300?v=4" width="100px;"/><br /><sub><b>monssef</b></sub>](https://github.com/rezof)<br />[💡](#example-rezof "Examples") | [<img src="https://avatars2.githubusercontent.com/u/5382443?v=4" width="100px;"/><br /><sub><b>Federico Zivolo</b></sub>](https://fezvrasta.github.io)<br />[📖](/paypal/downshift/commits?author=FezVrasta "Documentation") | [<img src="https://avatars3.githubusercontent.com/u/746482?v=4" width="100px;"/><br /><sub><b>Divyendu Singh</b></sub>](https://divyendusingh.com)<br />[💡](#example-divyenduz "Examples") [💻](/paypal/downshift/commits?author=divyenduz "Code") [📖](/paypal/downshift/commits?author=divyenduz "Documentation") [⚠️](/paypal/downshift/commits?author=divyenduz "Tests") | [<img src="https://avatars1.githubusercontent.com/u/841955?v=4" width="100px;"/><br /><sub><b>Muhammad Salman</b></sub>](https://github.com/salmanmanekia)<br />[💻](/paypal/downshift/commits?author=salmanmanekia "Code") | [<img src="https://avatars3.githubusercontent.com/u/10820159?v=4" width="100px;"/><br /><sub><b>João Alberto</b></sub>](https://twitter.com/psicotropidev)<br />[💻](/paypal/downshift/commits?author=psicotropicos "Code") | [<img src="https://avatars0.githubusercontent.com/u/16327281?v=4" width="100px;"/><br /><sub><b>Bernard Lin</b></sub>](https://github.com/bernard-lin)<br />[💻](/paypal/downshift/commits?author=bernard-lin "Code") [📖](/paypal/downshift/commits?author=bernard-lin "Documentation") |
832
- | [<img src="https://avatars1.githubusercontent.com/u/7330124?v=4" width="100px;"/><br /><sub><b>Geoff Davis</b></sub>](https://geoffdavis.info)<br />[💡](#example-geoffdavis92 "Examples") | [<img src="https://avatars0.githubusercontent.com/u/3415488?v=4" width="100px;"/><br /><sub><b>Anup</b></sub>](https://github.com/reznord)<br />[📖](/paypal/downshift/commits?author=reznord "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/340520?v=4" width="100px;"/><br /><sub><b>Ferdinand Salis</b></sub>](http://ferdinandsalis.com)<br />[🐛](/paypal/downshift/issues?q=author%3Aferdinandsalis "Bug reports") [💻](/paypal/downshift/commits?author=ferdinandsalis "Code") | [<img src="https://avatars2.githubusercontent.com/u/662750?v=4" width="100px;"/><br /><sub><b>Kye Hohenberger</b></sub>](https://github.com/tkh44)<br />[🐛](/paypal/downshift/issues?q=author%3Atkh44 "Bug reports") | [<img src="https://avatars0.githubusercontent.com/u/1443499?v=4" width="100px;"/><br /><sub><b>Julien Goux</b></sub>](https://github.com/jgoux)<br />[🐛](/paypal/downshift/issues?q=author%3Ajgoux "Bug reports") [💻](/paypal/downshift/commits?author=jgoux "Code") [⚠️](/paypal/downshift/commits?author=jgoux "Tests") | [<img src="https://avatars2.githubusercontent.com/u/9586897?v=4" width="100px;"/><br /><sub><b>Joachim Seminck</b></sub>](https://github.com/jseminck)<br />[💻](/paypal/downshift/commits?author=jseminck "Code") | [<img src="https://avatars3.githubusercontent.com/u/954596?v=4" width="100px;"/><br /><sub><b>Jesse Harlin</b></sub>](http://jesseharlin.net/)<br />[🐛](/paypal/downshift/issues?q=author%3Athe-simian "Bug reports") [💡](#example-the-simian "Examples") |
833
- | [<img src="https://avatars0.githubusercontent.com/u/1402095?v=4" width="100px;"/><br /><sub><b>Matt Parrish</b></sub>](https://github.com/pbomb)<br />[🔧](#tool-pbomb "Tools") [👀](#review-pbomb "Reviewed Pull Requests") | [<img src="https://avatars1.githubusercontent.com/u/11661846?v=4" width="100px;"/><br /><sub><b>thom</b></sub>](http://thom.kr)<br />[💻](/paypal/downshift/commits?author=thomhos "Code") | [<img src="https://avatars2.githubusercontent.com/u/1088312?v=4" width="100px;"/><br /><sub><b>Vu Tran</b></sub>](http://twitter.com/tranvu)<br />[💻](/paypal/downshift/commits?author=vutran "Code") | [<img src="https://avatars1.githubusercontent.com/u/74193?v=4" width="100px;"/><br /><sub><b>Codie Mullins</b></sub>](https://github.com/codiemullins)<br />[💻](/paypal/downshift/commits?author=codiemullins "Code") [💡](#example-codiemullins "Examples") | [<img src="https://avatars3.githubusercontent.com/u/12202757?v=4" width="100px;"/><br /><sub><b>Mohammad Rajabifard</b></sub>](https://morajabi.me)<br />[📖](/paypal/downshift/commits?author=morajabi "Documentation") [🤔](#ideas-morajabi "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/9488719?v=4" width="100px;"/><br /><sub><b>Frank Tan</b></sub>](https://github.com/tansongyang)<br />[💻](/paypal/downshift/commits?author=tansongyang "Code") | [<img src="https://avatars3.githubusercontent.com/u/5093058?v=4" width="100px;"/><br /><sub><b>Kier Borromeo</b></sub>](https://kierb.com)<br />[💡](#example-srph "Examples") |
834
- | [<img src="https://avatars1.githubusercontent.com/u/8969456?v=4" width="100px;"/><br /><sub><b>Paul Veevers</b></sub>](https://github.com/paul-veevers)<br />[💻](/paypal/downshift/commits?author=paul-veevers "Code") | [<img src="https://avatars2.githubusercontent.com/u/13622298?v=4" width="100px;"/><br /><sub><b>Ron Cruz</b></sub>](https://github.com/Ronolibert)<br />[📖](/paypal/downshift/commits?author=Ronolibert "Documentation") | [<img src="https://avatars1.githubusercontent.com/u/13605633?v=4" width="100px;"/><br /><sub><b>Rick McGavin</b></sub>](http://rickmcgavin.github.io)<br />[📖](/paypal/downshift/commits?author=rickMcGavin "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/869669?v=4" width="100px;"/><br /><sub><b>Jelle Versele</b></sub>](http://twitter.com/vejersele)<br />[💡](#example-vejersele "Examples") | [<img src="https://avatars1.githubusercontent.com/u/202773?v=4" width="100px;"/><br /><sub><b>Brent Ertz</b></sub>](https://github.com/brentertz)<br />[🤔](#ideas-brentertz "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/8015514?v=4" width="100px;"/><br /><sub><b>Justice Mba </b></sub>](https://github.com/Dajust)<br />[💻](/paypal/downshift/commits?author=Dajust "Code") [📖](/paypal/downshift/commits?author=Dajust "Documentation") [🤔](#ideas-Dajust "Ideas, Planning, & Feedback") | [<img src="https://avatars2.githubusercontent.com/u/3925281?v=4" width="100px;"/><br /><sub><b>Mark Ellis</b></sub>](http://mfellis.com)<br />[🤔](#ideas-ellismarkf "Ideas, Planning, & Feedback") |
835
- | [<img src="https://avatars1.githubusercontent.com/u/3241922?v=4" width="100px;"/><br /><sub><b>us͡an̸df͘rien͜ds͠</b></sub>](http://ronak.io/)<br />[🐛](/paypal/downshift/issues?q=author%3Ausandfriends "Bug reports") [💻](/paypal/downshift/commits?author=usandfriends "Code") [⚠️](/paypal/downshift/commits?author=usandfriends "Tests") | [<img src="https://avatars0.githubusercontent.com/u/474248?v=4" width="100px;"/><br /><sub><b>Robin Drexler</b></sub>](https://www.robin-drexler.com/)<br />[🐛](/paypal/downshift/issues?q=author%3Arobin-drexler "Bug reports") [💻](/paypal/downshift/commits?author=robin-drexler "Code") | [<img src="https://avatars0.githubusercontent.com/u/7406639?v=4" width="100px;"/><br /><sub><b>Arturo Romero</b></sub>](http://arturoromero.info/)<br />[💡](#example-arturoromeroslc "Examples") | [<img src="https://avatars1.githubusercontent.com/u/275483?v=4" width="100px;"/><br /><sub><b>yp</b></sub>](http://algolab.eu/pirola)<br />[🐛](/paypal/downshift/issues?q=author%3Ayp "Bug reports") [💻](/paypal/downshift/commits?author=yp "Code") [⚠️](/paypal/downshift/commits?author=yp "Tests") | [<img src="https://avatars0.githubusercontent.com/u/3998604?v=4" width="100px;"/><br /><sub><b>Dave Garwacke</b></sub>](http://www.warbyparker.com)<br />[📖](/paypal/downshift/commits?author=ifyoumakeit "Documentation") | [<img src="https://avatars3.githubusercontent.com/u/11758660?v=4" width="100px;"/><br /><sub><b>Ivan Pazhitnykh</b></sub>](http://linkedin.com/in/drapegnik)<br />[💻](/paypal/downshift/commits?author=Drapegnik "Code") [⚠️](/paypal/downshift/commits?author=Drapegnik "Tests") | [<img src="https://avatars0.githubusercontent.com/u/61776?v=4" width="100px;"/><br /><sub><b>Luis Merino</b></sub>](https://github.com/Rendez)<br />[📖](/paypal/downshift/commits?author=Rendez "Documentation") |
836
- | [<img src="https://avatars0.githubusercontent.com/u/8746094?v=4" width="100px;"/><br /><sub><b>Andrew Hansen</b></sub>](http://twitter.com/arahansen)<br />[💻](/paypal/downshift/commits?author=arahansen "Code") [⚠️](/paypal/downshift/commits?author=arahansen "Tests") [🤔](#ideas-arahansen "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/20307225?v=4" width="100px;"/><br /><sub><b>John Whiles</b></sub>](http://www.johnwhiles.com)<br />[💻](/paypal/downshift/commits?author=Jwhiles "Code") | [<img src="https://avatars1.githubusercontent.com/u/1288694?v=4" width="100px;"/><br /><sub><b>Justin Hall</b></sub>](https://github.com/wKovacs64)<br />[🚇](#infra-wKovacs64 "Infrastructure (Hosting, Build-Tools, etc)") | [<img src="https://avatars2.githubusercontent.com/u/7641760?v=4" width="100px;"/><br /><sub><b>Pete Nykänen</b></sub>](https://twitter.com/pete_tnt)<br />[👀](#review-petetnt "Reviewed Pull Requests") | [<img src="https://avatars2.githubusercontent.com/u/4060187?v=4" width="100px;"/><br /><sub><b>Jared Palmer</b></sub>](http://jaredpalmer.com)<br />[💻](/paypal/downshift/commits?author=jaredpalmer "Code") | [<img src="https://avatars3.githubusercontent.com/u/11477718?v=4" width="100px;"/><br /><sub><b>Philip Young</b></sub>](http://www.philipyoungg.com)<br />[💻](/paypal/downshift/commits?author=philipyoungg "Code") [⚠️](/paypal/downshift/commits?author=philipyoungg "Tests") [🤔](#ideas-philipyoungg "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/8997319?v=4" width="100px;"/><br /><sub><b>Alexander Nanberg</b></sub>](https://alexandernanberg.com)<br />[📖](/paypal/downshift/commits?author=alexandernanberg "Documentation") |
837
- | [<img src="https://avatars2.githubusercontent.com/u/1556430?v=4" width="100px;"/><br /><sub><b>Pete Redmond</b></sub>](https://httpete.com)<br />[🐛](/paypal/downshift/issues?q=author%3Ahttpete-ire "Bug reports") | [<img src="https://avatars2.githubusercontent.com/u/1706342?v=4" width="100px;"/><br /><sub><b>Nick Lavin</b></sub>](https://github.com/Zashy)<br />[🐛](/paypal/downshift/issues?q=author%3AZashy "Bug reports") [💻](/paypal/downshift/commits?author=Zashy "Code") [⚠️](/paypal/downshift/commits?author=Zashy "Tests") | [<img src="https://avatars2.githubusercontent.com/u/17031?v=4" width="100px;"/><br /><sub><b>James Long</b></sub>](http://jlongster.com)<br />[🐛](/paypal/downshift/issues?q=author%3Ajlongster "Bug reports") [💻](/paypal/downshift/commits?author=jlongster "Code") | [<img src="https://avatars0.githubusercontent.com/u/1505907?v=4" width="100px;"/><br /><sub><b>Michael Ball</b></sub>](http://michaelball.co)<br />[🐛](/paypal/downshift/issues?q=author%3Acycomachead "Bug reports") [💻](/paypal/downshift/commits?author=cycomachead "Code") | [<img src="https://avatars0.githubusercontent.com/u/8990614?v=4" width="100px;"/><br /><sub><b>CAVALEIRO Julien</b></sub>](https://github.com/Julienng)<br />[💡](#example-Julienng "Examples") | [<img src="https://avatars1.githubusercontent.com/u/3421067?v=4" width="100px;"/><br /><sub><b>Kim Grönqvist</b></sub>](http://www.kimgronqvist.se)<br />[💻](/paypal/downshift/commits?author=kimgronqvist "Code") [⚠️](/paypal/downshift/commits?author=kimgronqvist "Tests") | [<img src="https://avatars2.githubusercontent.com/u/3675602?v=4" width="100px;"/><br /><sub><b>Sijie</b></sub>](http://sijietian.com)<br />[🐛](/paypal/downshift/issues?q=author%3Atiansijie "Bug reports") [💻](/paypal/downshift/commits?author=tiansijie "Code") |
838
- | [<img src="https://avatars0.githubusercontent.com/u/410792?v=4" width="100px;"/><br /><sub><b>Dony Sukardi</b></sub>](http://dsds.io)<br />[💡](#example-donysukardi "Examples") [💬](#question-donysukardi "Answering Questions") [💻](/paypal/downshift/commits?author=donysukardi "Code") [⚠️](/paypal/downshift/commits?author=donysukardi "Tests") | [<img src="https://avatars1.githubusercontent.com/u/2755722?v=4" width="100px;"/><br /><sub><b>Dillon Mulroy</b></sub>](https://dillonmulroy.com)<br />[📖](/paypal/downshift/commits?author=dmmulroy "Documentation") | [<img src="https://avatars3.githubusercontent.com/u/12440573?v=4" width="100px;"/><br /><sub><b>Curtis Tate Wilkinson</b></sub>](https://twitter.com/curtytate)<br />[💻](/paypal/downshift/commits?author=curtiswilkinson "Code") | [<img src="https://avatars3.githubusercontent.com/u/383212?v=4" width="100px;"/><br /><sub><b>Brice BERNARD</b></sub>](https://github.com/brikou)<br />[🐛](/paypal/downshift/issues?q=author%3Abrikou "Bug reports") [💻](/paypal/downshift/commits?author=brikou "Code") | [<img src="https://avatars3.githubusercontent.com/u/14304503?v=4" width="100px;"/><br /><sub><b>Tony Xu</b></sub>](https://github.com/xutopia)<br />[💻](/paypal/downshift/commits?author=xutopia "Code") | [<img src="https://avatars1.githubusercontent.com/u/14035529?v=4" width="100px;"/><br /><sub><b>Anthony Ng</b></sub>](http://anthonyng.me)<br />[📖](/paypal/downshift/commits?author=newyork-anthonyng "Documentation") | [<img src="https://avatars2.githubusercontent.com/u/11996139?v=4" width="100px;"/><br /><sub><b>S S</b></sub>](https://github.com/notruth)<br />[💬](#question-notruth "Answering Questions") [💻](/paypal/downshift/commits?author=notruth "Code") [📖](/paypal/downshift/commits?author=notruth "Documentation") [🤔](#ideas-notruth "Ideas, Planning, & Feedback") [⚠️](/paypal/downshift/commits?author=notruth "Tests") |
839
- | [<img src="https://avatars0.githubusercontent.com/u/29493001?v=4" width="100px;"/><br /><sub><b>Austin Tackaberry</b></sub>](http://austintackaberry.co)<br />[💬](#question-austintackaberry "Answering Questions") [💻](/paypal/downshift/commits?author=austintackaberry "Code") [📖](/paypal/downshift/commits?author=austintackaberry "Documentation") | [<img src="https://avatars3.githubusercontent.com/u/4168055?v=4" width="100px;"/><br /><sub><b>Jean Duthon</b></sub>](https://github.com/jduthon)<br />[🐛](/paypal/downshift/issues?q=author%3Ajduthon "Bug reports") [💻](/paypal/downshift/commits?author=jduthon "Code") |
905
+ | [<img src="https://avatars3.githubusercontent.com/u/6270048?v=4" width="100px;"/><br /><sub><b>Haroen Viaene</b></sub>](https://haroen.me)<br />[💡](#example-Haroenv "Examples") | [<img src="https://avatars2.githubusercontent.com/u/15073300?v=4" width="100px;"/><br /><sub><b>monssef</b></sub>](https://github.com/rezof)<br />[💡](#example-rezof "Examples") | [<img src="https://avatars2.githubusercontent.com/u/5382443?v=4" width="100px;"/><br /><sub><b>Federico Zivolo</b></sub>](https://fezvrasta.github.io)<br />[📖](https://github.com/paypal/downshift/commits?author=FezVrasta "Documentation") | [<img src="https://avatars3.githubusercontent.com/u/746482?v=4" width="100px;"/><br /><sub><b>Divyendu Singh</b></sub>](https://divyendusingh.com)<br />[💡](#example-divyenduz "Examples") [💻](https://github.com/paypal/downshift/commits?author=divyenduz "Code") [📖](https://github.com/paypal/downshift/commits?author=divyenduz "Documentation") [⚠️](https://github.com/paypal/downshift/commits?author=divyenduz "Tests") | [<img src="https://avatars1.githubusercontent.com/u/841955?v=4" width="100px;"/><br /><sub><b>Muhammad Salman</b></sub>](https://github.com/salmanmanekia)<br />[💻](https://github.com/paypal/downshift/commits?author=salmanmanekia "Code") | [<img src="https://avatars3.githubusercontent.com/u/10820159?v=4" width="100px;"/><br /><sub><b>João Alberto</b></sub>](https://twitter.com/psicotropidev)<br />[💻](https://github.com/paypal/downshift/commits?author=psicotropicos "Code") | [<img src="https://avatars0.githubusercontent.com/u/16327281?v=4" width="100px;"/><br /><sub><b>Bernard Lin</b></sub>](https://github.com/bernard-lin)<br />[💻](https://github.com/paypal/downshift/commits?author=bernard-lin "Code") [📖](https://github.com/paypal/downshift/commits?author=bernard-lin "Documentation") |
906
+ | [<img src="https://avatars1.githubusercontent.com/u/7330124?v=4" width="100px;"/><br /><sub><b>Geoff Davis</b></sub>](https://geoffdavis.info)<br />[💡](#example-geoffdavis92 "Examples") | [<img src="https://avatars0.githubusercontent.com/u/3415488?v=4" width="100px;"/><br /><sub><b>Anup</b></sub>](https://github.com/reznord)<br />[📖](https://github.com/paypal/downshift/commits?author=reznord "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/340520?v=4" width="100px;"/><br /><sub><b>Ferdinand Salis</b></sub>](http://ferdinandsalis.com)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Aferdinandsalis "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=ferdinandsalis "Code") | [<img src="https://avatars2.githubusercontent.com/u/662750?v=4" width="100px;"/><br /><sub><b>Kye Hohenberger</b></sub>](https://github.com/tkh44)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Atkh44 "Bug reports") | [<img src="https://avatars0.githubusercontent.com/u/1443499?v=4" width="100px;"/><br /><sub><b>Julien Goux</b></sub>](https://github.com/jgoux)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Ajgoux "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=jgoux "Code") [⚠️](https://github.com/paypal/downshift/commits?author=jgoux "Tests") | [<img src="https://avatars2.githubusercontent.com/u/9586897?v=4" width="100px;"/><br /><sub><b>Joachim Seminck</b></sub>](https://github.com/jseminck)<br />[💻](https://github.com/paypal/downshift/commits?author=jseminck "Code") | [<img src="https://avatars3.githubusercontent.com/u/954596?v=4" width="100px;"/><br /><sub><b>Jesse Harlin</b></sub>](http://jesseharlin.net/)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Athe-simian "Bug reports") [💡](#example-the-simian "Examples") |
907
+ | [<img src="https://avatars0.githubusercontent.com/u/1402095?v=4" width="100px;"/><br /><sub><b>Matt Parrish</b></sub>](https://github.com/pbomb)<br />[🔧](#tool-pbomb "Tools") [👀](#review-pbomb "Reviewed Pull Requests") | [<img src="https://avatars1.githubusercontent.com/u/11661846?v=4" width="100px;"/><br /><sub><b>thom</b></sub>](http://thom.kr)<br />[💻](https://github.com/paypal/downshift/commits?author=thomhos "Code") | [<img src="https://avatars2.githubusercontent.com/u/1088312?v=4" width="100px;"/><br /><sub><b>Vu Tran</b></sub>](http://twitter.com/tranvu)<br />[💻](https://github.com/paypal/downshift/commits?author=vutran "Code") | [<img src="https://avatars1.githubusercontent.com/u/74193?v=4" width="100px;"/><br /><sub><b>Codie Mullins</b></sub>](https://github.com/codiemullins)<br />[💻](https://github.com/paypal/downshift/commits?author=codiemullins "Code") [💡](#example-codiemullins "Examples") | [<img src="https://avatars3.githubusercontent.com/u/12202757?v=4" width="100px;"/><br /><sub><b>Mohammad Rajabifard</b></sub>](https://morajabi.me)<br />[📖](https://github.com/paypal/downshift/commits?author=morajabi "Documentation") [🤔](#ideas-morajabi "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/9488719?v=4" width="100px;"/><br /><sub><b>Frank Tan</b></sub>](https://github.com/tansongyang)<br />[💻](https://github.com/paypal/downshift/commits?author=tansongyang "Code") | [<img src="https://avatars3.githubusercontent.com/u/5093058?v=4" width="100px;"/><br /><sub><b>Kier Borromeo</b></sub>](https://kierb.com)<br />[💡](#example-srph "Examples") |
908
+ | [<img src="https://avatars1.githubusercontent.com/u/8969456?v=4" width="100px;"/><br /><sub><b>Paul Veevers</b></sub>](https://github.com/paul-veevers)<br />[💻](https://github.com/paypal/downshift/commits?author=paul-veevers "Code") | [<img src="https://avatars2.githubusercontent.com/u/13622298?v=4" width="100px;"/><br /><sub><b>Ron Cruz</b></sub>](https://github.com/Ronolibert)<br />[📖](https://github.com/paypal/downshift/commits?author=Ronolibert "Documentation") | [<img src="https://avatars1.githubusercontent.com/u/13605633?v=4" width="100px;"/><br /><sub><b>Rick McGavin</b></sub>](http://rickmcgavin.github.io)<br />[📖](https://github.com/paypal/downshift/commits?author=rickMcGavin "Documentation") | [<img src="https://avatars0.githubusercontent.com/u/869669?v=4" width="100px;"/><br /><sub><b>Jelle Versele</b></sub>](http://twitter.com/vejersele)<br />[💡](#example-vejersele "Examples") | [<img src="https://avatars1.githubusercontent.com/u/202773?v=4" width="100px;"/><br /><sub><b>Brent Ertz</b></sub>](https://github.com/brentertz)<br />[🤔](#ideas-brentertz "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/8015514?v=4" width="100px;"/><br /><sub><b>Justice Mba </b></sub>](https://github.com/Dajust)<br />[💻](https://github.com/paypal/downshift/commits?author=Dajust "Code") [📖](https://github.com/paypal/downshift/commits?author=Dajust "Documentation") [🤔](#ideas-Dajust "Ideas, Planning, & Feedback") | [<img src="https://avatars2.githubusercontent.com/u/3925281?v=4" width="100px;"/><br /><sub><b>Mark Ellis</b></sub>](http://mfellis.com)<br />[🤔](#ideas-ellismarkf "Ideas, Planning, & Feedback") |
909
+ | [<img src="https://avatars1.githubusercontent.com/u/3241922?v=4" width="100px;"/><br /><sub><b>us͡an̸df͘rien͜ds͠</b></sub>](http://ronak.io/)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Ausandfriends "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=usandfriends "Code") [⚠️](https://github.com/paypal/downshift/commits?author=usandfriends "Tests") | [<img src="https://avatars0.githubusercontent.com/u/474248?v=4" width="100px;"/><br /><sub><b>Robin Drexler</b></sub>](https://www.robin-drexler.com/)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Arobin-drexler "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=robin-drexler "Code") | [<img src="https://avatars0.githubusercontent.com/u/7406639?v=4" width="100px;"/><br /><sub><b>Arturo Romero</b></sub>](http://arturoromero.info/)<br />[💡](#example-arturoromeroslc "Examples") | [<img src="https://avatars1.githubusercontent.com/u/275483?v=4" width="100px;"/><br /><sub><b>yp</b></sub>](http://algolab.eu/pirola)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Ayp "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=yp "Code") [⚠️](https://github.com/paypal/downshift/commits?author=yp "Tests") | [<img src="https://avatars0.githubusercontent.com/u/3998604?v=4" width="100px;"/><br /><sub><b>Dave Garwacke</b></sub>](http://www.warbyparker.com)<br />[📖](https://github.com/paypal/downshift/commits?author=ifyoumakeit "Documentation") | [<img src="https://avatars3.githubusercontent.com/u/11758660?v=4" width="100px;"/><br /><sub><b>Ivan Pazhitnykh</b></sub>](http://linkedin.com/in/drapegnik)<br />[💻](https://github.com/paypal/downshift/commits?author=Drapegnik "Code") [⚠️](https://github.com/paypal/downshift/commits?author=Drapegnik "Tests") | [<img src="https://avatars0.githubusercontent.com/u/61776?v=4" width="100px;"/><br /><sub><b>Luis Merino</b></sub>](https://github.com/Rendez)<br />[📖](https://github.com/paypal/downshift/commits?author=Rendez "Documentation") |
910
+ | [<img src="https://avatars0.githubusercontent.com/u/8746094?v=4" width="100px;"/><br /><sub><b>Andrew Hansen</b></sub>](http://twitter.com/arahansen)<br />[💻](https://github.com/paypal/downshift/commits?author=arahansen "Code") [⚠️](https://github.com/paypal/downshift/commits?author=arahansen "Tests") [🤔](#ideas-arahansen "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/20307225?v=4" width="100px;"/><br /><sub><b>John Whiles</b></sub>](http://www.johnwhiles.com)<br />[💻](https://github.com/paypal/downshift/commits?author=Jwhiles "Code") | [<img src="https://avatars1.githubusercontent.com/u/1288694?v=4" width="100px;"/><br /><sub><b>Justin Hall</b></sub>](https://github.com/wKovacs64)<br />[🚇](#infra-wKovacs64 "Infrastructure (Hosting, Build-Tools, etc)") | [<img src="https://avatars2.githubusercontent.com/u/7641760?v=4" width="100px;"/><br /><sub><b>Pete Nykänen</b></sub>](https://twitter.com/pete_tnt)<br />[👀](#review-petetnt "Reviewed Pull Requests") | [<img src="https://avatars2.githubusercontent.com/u/4060187?v=4" width="100px;"/><br /><sub><b>Jared Palmer</b></sub>](http://jaredpalmer.com)<br />[💻](https://github.com/paypal/downshift/commits?author=jaredpalmer "Code") | [<img src="https://avatars3.githubusercontent.com/u/11477718?v=4" width="100px;"/><br /><sub><b>Philip Young</b></sub>](http://www.philipyoungg.com)<br />[💻](https://github.com/paypal/downshift/commits?author=philipyoungg "Code") [⚠️](https://github.com/paypal/downshift/commits?author=philipyoungg "Tests") [🤔](#ideas-philipyoungg "Ideas, Planning, & Feedback") | [<img src="https://avatars3.githubusercontent.com/u/8997319?v=4" width="100px;"/><br /><sub><b>Alexander Nanberg</b></sub>](https://alexandernanberg.com)<br />[📖](https://github.com/paypal/downshift/commits?author=alexandernanberg "Documentation") |
911
+ | [<img src="https://avatars2.githubusercontent.com/u/1556430?v=4" width="100px;"/><br /><sub><b>Pete Redmond</b></sub>](https://httpete.com)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Ahttpete-ire "Bug reports") | [<img src="https://avatars2.githubusercontent.com/u/1706342?v=4" width="100px;"/><br /><sub><b>Nick Lavin</b></sub>](https://github.com/Zashy)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3AZashy "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=Zashy "Code") [⚠️](https://github.com/paypal/downshift/commits?author=Zashy "Tests") | [<img src="https://avatars2.githubusercontent.com/u/17031?v=4" width="100px;"/><br /><sub><b>James Long</b></sub>](http://jlongster.com)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Ajlongster "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=jlongster "Code") | [<img src="https://avatars0.githubusercontent.com/u/1505907?v=4" width="100px;"/><br /><sub><b>Michael Ball</b></sub>](http://michaelball.co)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Acycomachead "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=cycomachead "Code") | [<img src="https://avatars0.githubusercontent.com/u/8990614?v=4" width="100px;"/><br /><sub><b>CAVALEIRO Julien</b></sub>](https://github.com/Julienng)<br />[💡](#example-Julienng "Examples") | [<img src="https://avatars1.githubusercontent.com/u/3421067?v=4" width="100px;"/><br /><sub><b>Kim Grönqvist</b></sub>](http://www.kimgronqvist.se)<br />[💻](https://github.com/paypal/downshift/commits?author=kimgronqvist "Code") [⚠️](https://github.com/paypal/downshift/commits?author=kimgronqvist "Tests") | [<img src="https://avatars2.githubusercontent.com/u/3675602?v=4" width="100px;"/><br /><sub><b>Sijie</b></sub>](http://sijietian.com)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Atiansijie "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=tiansijie "Code") |
912
+ | [<img src="https://avatars0.githubusercontent.com/u/410792?v=4" width="100px;"/><br /><sub><b>Dony Sukardi</b></sub>](http://dsds.io)<br />[💡](#example-donysukardi "Examples") [💬](#question-donysukardi "Answering Questions") [💻](https://github.com/paypal/downshift/commits?author=donysukardi "Code") [⚠️](https://github.com/paypal/downshift/commits?author=donysukardi "Tests") | [<img src="https://avatars1.githubusercontent.com/u/2755722?v=4" width="100px;"/><br /><sub><b>Dillon Mulroy</b></sub>](https://dillonmulroy.com)<br />[📖](https://github.com/paypal/downshift/commits?author=dmmulroy "Documentation") | [<img src="https://avatars3.githubusercontent.com/u/12440573?v=4" width="100px;"/><br /><sub><b>Curtis Tate Wilkinson</b></sub>](https://twitter.com/curtytate)<br />[💻](https://github.com/paypal/downshift/commits?author=curtiswilkinson "Code") | [<img src="https://avatars3.githubusercontent.com/u/383212?v=4" width="100px;"/><br /><sub><b>Brice BERNARD</b></sub>](https://github.com/brikou)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Abrikou "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=brikou "Code") | [<img src="https://avatars3.githubusercontent.com/u/14304503?v=4" width="100px;"/><br /><sub><b>Tony Xu</b></sub>](https://github.com/xutopia)<br />[💻](https://github.com/paypal/downshift/commits?author=xutopia "Code") | [<img src="https://avatars1.githubusercontent.com/u/14035529?v=4" width="100px;"/><br /><sub><b>Anthony Ng</b></sub>](http://anthonyng.me)<br />[📖](https://github.com/paypal/downshift/commits?author=newyork-anthonyng "Documentation") | [<img src="https://avatars2.githubusercontent.com/u/11996139?v=4" width="100px;"/><br /><sub><b>S S</b></sub>](https://github.com/notruth)<br />[💬](#question-notruth "Answering Questions") [💻](https://github.com/paypal/downshift/commits?author=notruth "Code") [📖](https://github.com/paypal/downshift/commits?author=notruth "Documentation") [🤔](#ideas-notruth "Ideas, Planning, & Feedback") [⚠️](https://github.com/paypal/downshift/commits?author=notruth "Tests") |
913
+ | [<img src="https://avatars0.githubusercontent.com/u/29493001?v=4" width="100px;"/><br /><sub><b>Austin Tackaberry</b></sub>](http://austintackaberry.co)<br />[💬](#question-austintackaberry "Answering Questions") [💻](https://github.com/paypal/downshift/commits?author=austintackaberry "Code") [📖](https://github.com/paypal/downshift/commits?author=austintackaberry "Documentation") [🐛](https://github.com/paypal/downshift/issues?q=author%3Aaustintackaberry "Bug reports") [💡](#example-austintackaberry "Examples") [🤔](#ideas-austintackaberry "Ideas, Planning, & Feedback") [👀](#review-austintackaberry "Reviewed Pull Requests") [⚠️](https://github.com/paypal/downshift/commits?author=austintackaberry "Tests") | [<img src="https://avatars3.githubusercontent.com/u/4168055?v=4" width="100px;"/><br /><sub><b>Jean Duthon</b></sub>](https://github.com/jduthon)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3Ajduthon "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=jduthon "Code") | [<img src="https://avatars3.githubusercontent.com/u/3889580?v=4" width="100px;"/><br /><sub><b>Anton Telesh</b></sub>](http://antontelesh.github.io)<br />[🐛](https://github.com/paypal/downshift/issues?q=author%3AAntontelesh "Bug reports") [💻](https://github.com/paypal/downshift/commits?author=Antontelesh "Code") | [<img src="https://avatars3.githubusercontent.com/u/1060669?v=4" width="100px;"/><br /><sub><b>Eric Edem</b></sub>](https://github.com/ericedem)<br />[💻](https://github.com/paypal/downshift/commits?author=ericedem "Code") [📖](https://github.com/paypal/downshift/commits?author=ericedem "Documentation") [🤔](#ideas-ericedem "Ideas, Planning, & Feedback") [⚠️](https://github.com/paypal/downshift/commits?author=ericedem "Tests") |
840
914
 
841
915
  <!-- ALL-CONTRIBUTORS-LIST:END -->
842
916
 
@@ -182,10 +182,9 @@ function debounce(fn, time) {
182
182
  }
183
183
 
184
184
  /**
185
- * This is intended to be used to compose event handlers
186
- * They are executed in order until one of them calls
187
- * `event.preventDefault()`. Not sure this is the best
188
- * way to do this, but it seems legit...
185
+ * This is intended to be used to compose event handlers.
186
+ * They are executed in order until one of them sets
187
+ * `event.preventDownshiftDefault = true`.
189
188
  * @param {Function} fns the event handler functions
190
189
  * @return {Function} the event handler to add to an element
191
190
  */
@@ -201,7 +200,8 @@ function composeEventHandlers() {
201
200
 
202
201
  return fns.some(function (fn) {
203
202
  fn && fn.apply(undefined, [event].concat(args));
204
- return event.defaultPrevented;
203
+ // TODO: remove everything after the || in the next breaking change
204
+ return event.preventDownshiftDefault || event.defaultPrevented;
205
205
  });
206
206
  };
207
207
  }
@@ -1131,7 +1131,7 @@ var _initialiseProps = function () {
1131
1131
  };
1132
1132
 
1133
1133
  this.getItemProps = function () {
1134
- var _babelHelpers$extends2;
1134
+ var _enabledEventHandlers;
1135
1135
 
1136
1136
  var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1137
1137
 
@@ -1151,8 +1151,8 @@ var _initialiseProps = function () {
1151
1151
  }
1152
1152
 
1153
1153
  var onSelectKey = 'onClick';
1154
- return _extends((_babelHelpers$extends2 = {
1155
- id: _this5.getItemId(index),
1154
+
1155
+ var enabledEventHandlers = (_enabledEventHandlers = {
1156
1156
  // onMouseMove is used over onMouseEnter here. onMouseMove
1157
1157
  // is only triggered on actual mouse movement while onMouseEnter
1158
1158
  // can fire on DOM changes, interrupting keyboard navigation
@@ -1179,11 +1179,17 @@ var _initialiseProps = function () {
1179
1179
  // which is a more common use case.
1180
1180
  event.preventDefault();
1181
1181
  })
1182
- }, _babelHelpers$extends2[onSelectKey] = composeEventHandlers(onClick, function () {
1182
+ }, _enabledEventHandlers[onSelectKey] = composeEventHandlers(onClick, function () {
1183
1183
  _this5.selectItemAtIndex(index, {
1184
1184
  type: Downshift$1.stateChangeTypes.clickItem
1185
1185
  });
1186
- }), _babelHelpers$extends2), rest);
1186
+ }), _enabledEventHandlers);
1187
+
1188
+ var eventHandlers = rest.disabled ? {} : enabledEventHandlers;
1189
+
1190
+ return _extends({
1191
+ id: _this5.getItemId(index)
1192
+ }, eventHandlers, rest);
1187
1193
  };
1188
1194
 
1189
1195
  this.clearItems = function () {
@@ -177,10 +177,9 @@ function debounce(fn, time) {
177
177
  }
178
178
 
179
179
  /**
180
- * This is intended to be used to compose event handlers
181
- * They are executed in order until one of them calls
182
- * `event.preventDefault()`. Not sure this is the best
183
- * way to do this, but it seems legit...
180
+ * This is intended to be used to compose event handlers.
181
+ * They are executed in order until one of them sets
182
+ * `event.preventDownshiftDefault = true`.
184
183
  * @param {Function} fns the event handler functions
185
184
  * @return {Function} the event handler to add to an element
186
185
  */
@@ -196,7 +195,8 @@ function composeEventHandlers() {
196
195
 
197
196
  return fns.some(function (fn) {
198
197
  fn && fn.apply(undefined, [event].concat(args));
199
- return event.defaultPrevented;
198
+ // TODO: remove everything after the || in the next breaking change
199
+ return event.preventDownshiftDefault || event.defaultPrevented;
200
200
  });
201
201
  };
202
202
  }
@@ -1126,7 +1126,7 @@ var _initialiseProps = function () {
1126
1126
  };
1127
1127
 
1128
1128
  this.getItemProps = function () {
1129
- var _babelHelpers$extends2;
1129
+ var _enabledEventHandlers;
1130
1130
 
1131
1131
  var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1132
1132
 
@@ -1146,8 +1146,8 @@ var _initialiseProps = function () {
1146
1146
  }
1147
1147
 
1148
1148
  var onSelectKey = 'onClick';
1149
- return _extends((_babelHelpers$extends2 = {
1150
- id: _this5.getItemId(index),
1149
+
1150
+ var enabledEventHandlers = (_enabledEventHandlers = {
1151
1151
  // onMouseMove is used over onMouseEnter here. onMouseMove
1152
1152
  // is only triggered on actual mouse movement while onMouseEnter
1153
1153
  // can fire on DOM changes, interrupting keyboard navigation
@@ -1174,11 +1174,17 @@ var _initialiseProps = function () {
1174
1174
  // which is a more common use case.
1175
1175
  event.preventDefault();
1176
1176
  })
1177
- }, _babelHelpers$extends2[onSelectKey] = composeEventHandlers(onClick, function () {
1177
+ }, _enabledEventHandlers[onSelectKey] = composeEventHandlers(onClick, function () {
1178
1178
  _this5.selectItemAtIndex(index, {
1179
1179
  type: Downshift$1.stateChangeTypes.clickItem
1180
1180
  });
1181
- }), _babelHelpers$extends2), rest);
1181
+ }), _enabledEventHandlers);
1182
+
1183
+ var eventHandlers = rest.disabled ? {} : enabledEventHandlers;
1184
+
1185
+ return _extends({
1186
+ id: _this5.getItemId(index)
1187
+ }, eventHandlers, rest);
1182
1188
  };
1183
1189
 
1184
1190
  this.clearItems = function () {
@@ -76,10 +76,9 @@ function debounce(fn, time) {
76
76
  }
77
77
 
78
78
  /**
79
- * This is intended to be used to compose event handlers
80
- * They are executed in order until one of them calls
81
- * `event.preventDefault()`. Not sure this is the best
82
- * way to do this, but it seems legit...
79
+ * This is intended to be used to compose event handlers.
80
+ * They are executed in order until one of them sets
81
+ * `event.preventDownshiftDefault = true`.
83
82
  * @param {Function} fns the event handler functions
84
83
  * @return {Function} the event handler to add to an element
85
84
  */
@@ -95,7 +94,8 @@ function composeEventHandlers() {
95
94
 
96
95
  return fns.some(function (fn) {
97
96
  fn && fn.apply(undefined, [event].concat(args));
98
- return event.defaultPrevented;
97
+ // TODO: remove everything after the || in the next breaking change
98
+ return event.preventDownshiftDefault || event.defaultPrevented;
99
99
  });
100
100
  };
101
101
  }
@@ -992,7 +992,7 @@ var _initialiseProps = function () {
992
992
  };
993
993
 
994
994
  this.getItemProps = function () {
995
- var _babelHelpers$extends2;
995
+ var _enabledEventHandlers;
996
996
 
997
997
  var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
998
998
 
@@ -1012,8 +1012,8 @@ var _initialiseProps = function () {
1012
1012
  }
1013
1013
 
1014
1014
  var onSelectKey = /* istanbul ignore next (react-native) */'onPress';
1015
- return _extends((_babelHelpers$extends2 = {
1016
- id: _this5.getItemId(index),
1015
+
1016
+ var enabledEventHandlers = (_enabledEventHandlers = {
1017
1017
  // onMouseMove is used over onMouseEnter here. onMouseMove
1018
1018
  // is only triggered on actual mouse movement while onMouseEnter
1019
1019
  // can fire on DOM changes, interrupting keyboard navigation
@@ -1040,11 +1040,17 @@ var _initialiseProps = function () {
1040
1040
  // which is a more common use case.
1041
1041
  event.preventDefault();
1042
1042
  })
1043
- }, _babelHelpers$extends2[onSelectKey] = composeEventHandlers(onClick, function () {
1043
+ }, _enabledEventHandlers[onSelectKey] = composeEventHandlers(onClick, function () {
1044
1044
  _this5.selectItemAtIndex(index, {
1045
1045
  type: Downshift$1.stateChangeTypes.clickItem
1046
1046
  });
1047
- }), _babelHelpers$extends2), rest);
1047
+ }), _enabledEventHandlers);
1048
+
1049
+ var eventHandlers = rest.disabled ? {} : enabledEventHandlers;
1050
+
1051
+ return _extends({
1052
+ id: _this5.getItemId(index)
1053
+ }, eventHandlers, rest);
1048
1054
  };
1049
1055
 
1050
1056
  this.clearItems = function () {
@@ -183,10 +183,9 @@ function debounce(fn, time) {
183
183
  }
184
184
 
185
185
  /**
186
- * This is intended to be used to compose event handlers
187
- * They are executed in order until one of them calls
188
- * `event.preventDefault()`. Not sure this is the best
189
- * way to do this, but it seems legit...
186
+ * This is intended to be used to compose event handlers.
187
+ * They are executed in order until one of them sets
188
+ * `event.preventDownshiftDefault = true`.
190
189
  * @param {Function} fns the event handler functions
191
190
  * @return {Function} the event handler to add to an element
192
191
  */
@@ -202,7 +201,8 @@ function composeEventHandlers() {
202
201
 
203
202
  return fns.some(function (fn) {
204
203
  fn && fn.apply(undefined, [event].concat(args));
205
- return event.defaultPrevented;
204
+ // TODO: remove everything after the || in the next breaking change
205
+ return event.preventDownshiftDefault || event.defaultPrevented;
206
206
  });
207
207
  };
208
208
  }
@@ -1132,7 +1132,7 @@ var _initialiseProps = function () {
1132
1132
  };
1133
1133
 
1134
1134
  this.getItemProps = function () {
1135
- var _babelHelpers$extends2;
1135
+ var _enabledEventHandlers;
1136
1136
 
1137
1137
  var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1138
1138
 
@@ -1152,8 +1152,8 @@ var _initialiseProps = function () {
1152
1152
  }
1153
1153
 
1154
1154
  var onSelectKey = 'onClick';
1155
- return _extends((_babelHelpers$extends2 = {
1156
- id: _this5.getItemId(index),
1155
+
1156
+ var enabledEventHandlers = (_enabledEventHandlers = {
1157
1157
  // onMouseMove is used over onMouseEnter here. onMouseMove
1158
1158
  // is only triggered on actual mouse movement while onMouseEnter
1159
1159
  // can fire on DOM changes, interrupting keyboard navigation
@@ -1180,11 +1180,17 @@ var _initialiseProps = function () {
1180
1180
  // which is a more common use case.
1181
1181
  event.preventDefault();
1182
1182
  })
1183
- }, _babelHelpers$extends2[onSelectKey] = composeEventHandlers(onClick, function () {
1183
+ }, _enabledEventHandlers[onSelectKey] = composeEventHandlers(onClick, function () {
1184
1184
  _this5.selectItemAtIndex(index, {
1185
1185
  type: Downshift$1.stateChangeTypes.clickItem
1186
1186
  });
1187
- }), _babelHelpers$extends2), rest);
1187
+ }), _enabledEventHandlers);
1188
+
1189
+ var eventHandlers = rest.disabled ? {} : enabledEventHandlers;
1190
+
1191
+ return _extends({
1192
+ id: _this5.getItemId(index)
1193
+ }, eventHandlers, rest);
1188
1194
  };
1189
1195
 
1190
1196
  this.clearItems = function () {