{"_id":"@goguardian/horsey","_rev":"108-a06c3e66cb7162133538fa3119ab19d1","name":"@goguardian/horsey","dist-tags":{"latest":"4.2.5"},"versions":{"4.2.3":{"name":"@goguardian/horsey","version":"4.2.3","author":{"name":"Tim Studd","email":"tim@goguardian.com"},"license":"MIT","_id":"@goguardian/horsey@4.2.3","maintainers":[{"name":"goguardian_user","email":"advait@goguardian.com"}],"homepage":"https://github.com/goguardian/horsey","bugs":{"url":"https://github.com/goguardian/horsey/issues"},"dist":{"shasum":"3bca9b16681994277e531b10fdebed5ce36d6b3e","tarball":"https://registry.npmjs.org/@goguardian/horsey/-/horsey-4.2.3.tgz","integrity":"sha512-JRTHaM/vvWHS7gN2YA5hvp1vlJf5zAyLA6ReQkcqPyWSCJIgtf/rKdm2hqxdSqRFUp2bVYHAVB21hM5ASzKx6g==","signatures":[{"sig":"MEYCIQChqFUuIbEIrlWR/0ctd+9LXcnRfateBySxwDcs77TXmgIhANxHxSnTuQHx0lA+07qZiBI6BvZsQhTniv+zOXmORlG4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"horsey.es5.js","_from":".","_shasum":"3bca9b16681994277e531b10fdebed5ce36d6b3e","gitHead":"b0f91bb680ab5f2243407fa34fbf4dfabeff68b0","scripts":{"sync":"git checkout gh-pages ; git merge master ; git push ; git checkout master","build":"npm run scripts && npm run styles","start":"watchify -vs horsey -t [ babelify --presets [ es2015 ] ] -do dist/horsey.js horsey.js & stylus -w horsey.styl -o dist","deploy":"npm run build && npm run deployment && npm run sync","styles":"stylus horsey.styl -o dist && cleancss dist/horsey.css -o dist/horsey.min.css","scripts":"jshint . && babel --presets es2015 --out-file horsey.es5.js horsey.js && browserify -s horsey -t [ babelify --presets [ es2015 ] ] -do dist/horsey.js horsey.js && uglifyjs -m -c -o dist/horsey.min.js dist/horsey.js","deployment":"git add dist ; git add horsey.es5.js ; npm version ${BUMP:-\"patch\"} ; git add package.json ; git commit -am \"Release $(cat package.json | jq -r .version)\" ; git push --tags ; npm publish ; git push"},"_npmUser":{"name":"goguardian_user","email":"advait@goguardian.com"},"repository":{"url":"git+https://github.com/goguardian/horsey.git","type":"git"},"_npmVersion":"3.10.8","description":"Progressive and customizable autocomplete component","directories":{},"_nodeVersion":"6.9.0","dependencies":{"sell":"1.0.0","contra":"1.9.4","lodash":"4.13.1","sektor":"1.1.4","bullseye":"1.5.0","hash-sum":"1.0.2","crossvent":"1.5.4","fuzzysearch":"1.0.3"},"devDependencies":{"nib":"1.0.4","jshint":"2.9.2","stylus":"0.49.3","babelify":"7.3.0","watchify":"2.2.1","babel-cli":"6.10.1","clean-css":"3.0.4","uglify-js":"2.4.16","browserify":"13.0.1","babel-preset-es2015":"6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/horsey-4.2.3.tgz_1503419305114_0.4302831266541034","host":"s3://npm-registry-packages"}},"4.2.4":{"name":"@goguardian/horsey","version":"4.2.4","author":{"url":"http://bevacqua.io/","name":"Nicolas Bevacqua","email":"nicolasbevacqua@gmail.com"},"license":"MIT","_id":"@goguardian/horsey@4.2.4","maintainers":[{"name":"ericjohney","email":"npm@ericjohney.com"},{"name":"goguardian_user","email":"advait@goguardian.com"},{"name":"nicktylah","email":"nick@goguardian.com"}],"homepage":"https://github.com/bevacqua/horsey","bugs":{"url":"https://github.com/bevacqua/horsey/issues"},"dist":{"shasum":"5516c7726b79abef3cda506e5d4e62815fdf33c7","tarball":"https://registry.npmjs.org/@goguardian/horsey/-/horsey-4.2.4.tgz","integrity":"sha512-JPC8k4auApGZvb2fPYTrW8jhjqbdB95BUCSAjHJxiFFEmWueIXL94tNvBC4+JBWJiLzU08Pfs19qOXjV8WHLRw==","signatures":[{"sig":"MEUCIGrrRCT9ytQaGMaChlJdkI7YFGid/aQPi3+2de8j89twAiEA90oVDWrYCbWsyKl2eksU151djkN5saFzQcbG/2fI9Gc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"horsey.es5.js","_from":".","_shasum":"5516c7726b79abef3cda506e5d4e62815fdf33c7","gitHead":"7ade6be67683d8005fc32d99d978f43371c4a1ae","scripts":{"sync":"git checkout gh-pages ; git merge master ; git push ; git checkout master","build":"npm run scripts && npm run styles","start":"watchify -vs horsey -t [ babelify --presets [ es2015 ] ] -do dist/horsey.js horsey.js & stylus -w horsey.styl -o dist","deploy":"npm run build && npm run deployment && npm run sync","styles":"stylus horsey.styl -o dist && cleancss dist/horsey.css -o dist/horsey.min.css","scripts":"jshint . && babel --presets es2015 --out-file horsey.es5.js horsey.js && browserify -s horsey -t [ babelify --presets [ es2015 ] ] -do dist/horsey.js horsey.js && uglifyjs -m -c -o dist/horsey.min.js dist/horsey.js","deployment":"git add dist ; git add horsey.es5.js ; npm version ${BUMP:-\"patch\"} ; git add package.json ; git commit -am \"Release $(cat package.json | jq -r .version)\" ; git push --tags ; npm publish ; git push"},"_npmUser":{"name":"goguardian_user","email":"advait@goguardian.com"},"repository":{"url":"git+https://github.com/bevacqua/horsey.git","type":"git"},"_npmVersion":"3.10.8","description":"Progressive and customizable autocomplete component","directories":{},"_nodeVersion":"6.9.0","dependencies":{"sell":"1.0.0","contra":"1.9.4","lodash":"4.13.1","sektor":"1.1.4","bullseye":"1.5.0","hash-sum":"1.0.2","crossvent":"1.5.4","fuzzysearch":"1.0.3"},"devDependencies":{"nib":"1.0.4","jshint":"2.9.2","stylus":"0.49.3","babelify":"7.3.0","watchify":"2.2.1","babel-cli":"6.10.1","clean-css":"3.0.4","uglify-js":"2.4.16","browserify":"13.0.1","babel-preset-es2015":"6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/horsey-4.2.4.tgz_1503433849815_0.4555715289898217","host":"s3://npm-registry-packages"}},"4.2.5":{"name":"@goguardian/horsey","version":"4.2.5","author":{"url":"https://goguardian.com/","name":"GoGuardian Engineering","email":"eng@goguardian.com"},"license":"MIT","_id":"@goguardian/horsey@4.2.5","maintainers":[{"name":"ericjohney","email":"npm@ericjohney.com"},{"name":"nicktylah","email":"nick@goguardian.com"},{"name":"goguardian_user","email":"advait@goguardian.com"}],"homepage":"https://github.com/goguardian/horsey","bugs":{"url":"https://github.com/goguardian/horsey/issues"},"dist":{"shasum":"4cdd833903ad5c13889fb242bd29eabf46da6362","tarball":"https://registry.npmjs.org/@goguardian/horsey/-/horsey-4.2.5.tgz","integrity":"sha512-o1WJVJrTjgxja2XeFRYWOFW06fnbqtol99MUEkNpFGjjIKlyactB5nCKihEB+e19ZWDO3JPy3x/RgiMGZWUiNw==","signatures":[{"sig":"MEYCIQC5jBgTEh9Y9mxOdG71tqxSppaQfLahpdD+oZjWoqYO+wIhANOPHzbtwoTNyRSdE8BPpHyGQBJJ/y2VWw7ZSqL4evA3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2JEYCRA9TVsSAnZWagAAKikP+gKcQid26YP/1Ew7G1oM\nQCltsmXffqZl+9agCH5b2hUcHRrr0MvqLHDATuQW+ZjWlqYw2QbAbQEyUoqz\nBMaYj0ORD4eOWylc7TiAc9akPV1J1MF8BQkO7dGA69MlZhMNNa2gINOej36Z\nnHEB10nB+cWVySqH+1L0eGJwX9Eh0DWiBwZv2s4yPLltLKVCJ/+ec2mqugCm\nhjMJZIXjaOD9uXMUc3YAeSnGzyVpuuqdWhTBZVz0Vf7a7UWbsmvwD0xTxsMr\nlrcqR/2dQJbz2XRxO3wH0yKqhsm8isERyGiOIuHxrjKYjn1OeH7PC/s6og7c\nTZ2DjTl9UQoh2/X8JrrKmXoQ5b63kDFmvsIu26W55pWiYwQmG+IdiHCoHC6c\nNQ3wAj0QjmK3Xvzz9jKSmE0TRG5h+xR5VWKSYFXe3gYIspebgKxCCFkguJPl\nTQ/daFgEJkhCCZJtvjzHKMcEtAALx7X2XABAjkYSn8ZAr8Zg9U6adRwIkHLp\n9+Glgq9/ki5q9c8rpWmApGDai+YITMrJw/gYyrIHVYaD7y/Ohhfc9gnTQz30\njaTWo4G2GbFthmAnc+gliA82uBg2y8MsyRreWxtwDwS2KrjkB7huGZ+X78GV\niMYf4naBABimQdD/Vfqs2mrCRC59okU4eJkXjt0KSrn2aHNvjmEvmyxcb580\n+dYu\r\n=O3hi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"horsey.es5.js","_from":".","_shasum":"4cdd833903ad5c13889fb242bd29eabf46da6362","gitHead":"3b8a1873649107f30d778d95809bc8ed7a9d75bd","scripts":{"sync":"git checkout gh-pages ; git merge master ; git push ; git checkout master","build":"npm run scripts && npm run styles","start":"watchify -vs horsey -t [ babelify --presets [ es2015 ] ] -do dist/horsey.js horsey.js & stylus -w horsey.styl -o dist","deploy":"npm run build && npm run deployment && npm run sync","styles":"stylus horsey.styl -o dist && cleancss dist/horsey.css -o dist/horsey.min.css","scripts":"jshint . && babel --presets es2015 --out-file horsey.es5.js horsey.js && browserify -s horsey -t [ babelify --presets [ es2015 ] ] -do dist/horsey.js horsey.js && uglifyjs -m -c -o dist/horsey.min.js dist/horsey.js","deployment":"git add dist ; git add horsey.es5.js ; npm version ${BUMP:-\"patch\"} ; git add package.json ; git commit -am \"Release $(cat package.json | jq -r .version)\" ; git push --tags ; npm publish ; git push"},"_npmUser":{"name":"goguardian_user","email":"advait@goguardian.com"},"repository":{"url":"git+https://github.com/goguardian/horsey.git","type":"git"},"_npmVersion":"3.10.8","description":"Progressive and customizable autocomplete component","directories":{},"_nodeVersion":"6.9.0","dependencies":{"sell":"1.0.0","contra":"1.9.4","lodash":"4.13.1","sektor":"1.1.4","bullseye":"1.5.0","hash-sum":"1.0.2","crossvent":"1.5.4","fuzzysearch":"1.0.3"},"devDependencies":{"nib":"1.0.4","jshint":"2.9.2","stylus":"0.49.3","babelify":"7.3.0","watchify":"2.2.1","babel-cli":"6.10.1","clean-css":"3.0.4","uglify-js":"2.4.16","browserify":"13.0.1","babel-preset-es2015":"6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/horsey-4.2.5.tgz_1503697881238_0.18638426321558654","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-08-22T16:28:25.360Z","modified":"2026-09-15T17:04:28.040Z","4.2.3":"2017-08-22T16:28:25.360Z","4.2.4":"2017-08-22T20:30:49.925Z","4.2.5":"2017-08-25T21:51:21.503Z"},"bugs":{"url":"https://github.com/goguardian/horsey/issues"},"author":{"url":"https://goguardian.com/","name":"GoGuardian Engineering","email":"eng@goguardian.com"},"license":"MIT","homepage":"https://github.com/goguardian/horsey","repository":{"url":"git+https://github.com/goguardian/horsey.git","type":"git"},"description":"Progressive and customizable autocomplete component","maintainers":[{"email":"chill@goguardian.com","name":"chill-goguardian"},{"email":"di+npm@goguardian.com","name":"goguardian_user"},{"email":"nick@goguardian.com","name":"nicktylah"},{"email":"acole@goguardian.com","name":"acolegg"},{"email":"snemzer@goguardian.com","name":"sidney_goguardian"},{"email":"ptiruppathi@goguardian.com","name":"ptiruppathi"},{"email":"lrosquete@goguardian.com","name":"gglrosquete"},{"email":"nmaslennikov@goguardian.com","name":"nmaslennikov"},{"email":"abright@goguardian.com","name":"abright"},{"email":"rvincent@goguardian.com","name":"rebekahvincent"},{"email":"sravulapalli@goguardian.com","name":"s_ravulapalli"},{"email":"lagarwal@goguardian.com","name":"lagarwalgg"},{"email":"mkotik@goguardian.com","name":"maratkotik"},{"email":"bcampbell@goguardian.com","name":"bcampbellgg"},{"email":"sandeep.sahani@goguardian.com","name":"ggsandeep"},{"email":"timstudd@gmail.com","name":"timstudd"},{"email":"giftson.singh@goguardian.com","name":"giftson.singh"},{"email":"ndayal@goguardian.com","name":"ndayalgg"},{"email":"mahesh.guntha@goguardian.com","name":"mahesh-guntha"},{"email":"aniket.gosavi@goguardian.com","name":"aniketg211197"},{"email":"tyler@goguardian.com","name":"tshaddix_gg"},{"email":"vverma@goguardian.com","name":"vverma-gg"},{"email":"ssiegal@goguardian.com","name":"ssiegal"},{"email":"mcabral@goguardian.com","name":"mcggpd"},{"email":"sukhdeep.singh@goguardian.com","name":"sukhdeep.singh.gg"},{"email":"bcoffman@goguardian.com","name":"bcoffman-gg"},{"email":"jbennett@goguardian.com","name":"jbennett-gg"},{"email":"bwang@goguardian.com","name":"bwang-gg"},{"email":"ravi.kumar@goguardian.com","name":"ravi_goguardian"},{"email":"nitesh.sharma@goguardian.com","name":"niteshkumarsharma"},{"email":"jitesh.kumar@goguardian.com","name":"jitesh.kumar"},{"email":"kiran.s@goguardian.com","name":"kiran110"},{"email":"akhant@goguardian.com","name":"akhantgg"},{"email":"kota.pavankumar@goguardian.com","name":"pavankumarkota"},{"email":"nmaxwell@goguardian.com","name":"nikki-gg"},{"email":"nagarajan.natarajan@goguardian.com","name":"nngrntrjn"},{"email":"sanjay.bhatia@goguardian.com","name":"sanjaybhatia-gg"},{"email":"afilliat@goguardian.com","name":"afilliat"},{"email":"jhealy@goguardian.com","name":"jhealy_gg"},{"email":"kevin@goguardian.com","name":"kevingoguardian"},{"email":"jsanchez@goguardian.com","name":"jsanch9"},{"email":"hsatra@goguardian.com","name":"hsatragoguardian"},{"email":"ocaballero@goguardian.com","name":"ocaballero-gg"},{"email":"upatel@goguardian.com","name":"upatel"},{"email":"akalaivanan@goguardian.com","name":"akalaivan"},{"email":"aclary@goguardian.com","name":"ggaran"},{"email":"mdabat@goguardian.com","name":"mike.d"},{"email":"amilkov@goguardian.com","name":"am_goguardian"},{"email":"apettit@goguardian.com","name":"apettit"},{"email":"shreyans.s@goguardian.com","name":"shreyans.s"},{"email":"aniket.hatti@goguardian.com","name":"aniket-snapwiz"},{"email":"dqu@goguardian.com","name":"dqu-goguardian"},{"email":"cmartin@goguardian.com","name":"gg-cmartin"},{"email":"advait.shinde@gmail.com","name":"advait"},{"email":"aito@goguardian.com","name":"aito-goguardian"},{"email":"pdevarasetti@goguardian.com","name":"pdevarasetti"},{"email":"sohil@goguardian.com","name":"sohilgogri"},{"email":"ehuizar@goguardian.com","name":"ehuizargg"},{"email":"hhurtado@goguardian.com","name":"gg-hhurtado"},{"email":"cmartins@goguardian.com","name":"gg-cmartins"}],"readme":"# Horsey\n\n> Progressive and customizable autocomplete component\n\nBrowser support includes every sane browser and **IE7+**.\n\n# Demo!\n\nYou can see a [live demo here][3].\n\n[![screenshot.png][5]][3]\n\n# Inspiration\n\nI needed a fast, easy to use, and reliable autocomplete library. The ones I stumbled upon were too bloated, too opinionated, or provided an unfriendly human experience.\n\nThe goal is to produce a framework-agnostic autocomplete that is easily integrated into your favorite MVC framework, that doesn't translate into a significant addition to your codebase, and that's **enjoyable to work with**. Horsey shares the modular design philosophy of [Rome, the datetime picker][1]. Furthermore, it plays well with [Insignia, the tag editor][2] component, and pretty much any other well-delimited component out there.\n\n# Features\n\n- Small and focused\n- Natural keyboard navigation\n- Progressively enhanced\n- Extensive browser support\n- Fuzzy searching\n- Supports `<input>` and `<textarea>` elements\n\n# Install\n\nYou can get it on npm.\n\n```shell\nnpm install horsey --save\n```\n\nOr bower, too.\n\n```shell\nbower install horsey --save\n```\n\n# Options\n\nEntry point is `horsey(el, options)`. Configuration options are detailed below. This method [returns a small API](#api) into the `horsey` autocomplete list instance. You can also find existing horsey instances using `horsey.find`.\n\n## `predictNextSearch(info)`\n\nRuns when a tag is inserted. The returned string is used to pre-fill the text input. Useful to avoid repetitive user input. The suggestion list can be used to choose a prefix based on the previous list of suggestions.\n\n- `info.input` contains the user input at the time a suggestion was selected\n- `info.suggestions` contains the list of suggestions at the time a suggestion was selected\n- `info.selection` contains the suggestion selected by the user\n\n## `cache`\n\nCan be an object that will be used to store queries and suggestions. You can provide a `cache.duration` as well, which defaults to one day and is specified in seconds. The `cache.duration` is used to figure out whether cache entries are fresh or stale.\nYou can disable autocomplete caching by setting `cache` to `false`.\n\n## `limit`\n\nCan be a number that determines the maximum amount of suggestions shown in the autocomplete list.\n\n## `filter(query, suggestion)`\n\nBy default suggestions are filtered using the [`fuzzysearch`](https://github.com/bevacqua/fuzzysearch) algorithm. You can change that and use your own `filter` algorithm instead.\n\n## `source`\n\nA `source(data, done)` should be set to a function. The `done(err, items)` function should provide the `items` for the provided `data.input`.\n\n- `data.input` is a query for which suggestions should be provided\n- `data.limit` is the previously specified `options.limit`\n- `data.previousSelection` is the last suggestion selected by the user\n- `data.previousSuggestions` is the last list of suggestions provided to the user\n\nThe expected schema for the `items` object result is outlined below.\n\n```js\n[category1, category2, category3]\n```\n\nEach category is expected to follow the next schema. The `id` is optional, all category objects without an `id` will be treated as if their `id` was `'default'`. Note that categories under the same `id` will be merged together when displaying the autocomplete suggestions.\n\n```js\n{\n  id: 'here is some category',\n  list: [item1, item2, item3]\n}\n```\n\n## `blankSearch`\n\nWhen this option is set to `true`, the `source(data, done)` function will be called even when the `input` string is empty.\n\n## `noMatches`\n\nDefaults to `null`. Set to a string if you want to display an informational message when no suggestions match the provided `input` string. Note that this message won't be displayed when `input` is empty even if `blankSearch` is turned on.\n\n## `debounce`\n\nThe minimum amount of milliseconds that should ellapse between two different calls to `source`. Useful to allow users to type text without firing dozens of queries. Defaults to `300`.\n\n## `highlighter`\n\nIf set to `false`, autocomplete suggestions won't be highlighted based on user input.\n\n## `highlightCompleteWords`\n\nIf set to `false`, autocomplete suggestions won't be highlighted as whole words first. The highlighter will be faster but the UX won't be as close to user expectations.\n\n## `renderItem`\n\nBy default, items are rendered using the text for a `suggestion`. You can customize this behavior by setting `autocomplete.renderItem` to a function that receives `li, suggestion` parameters. The `li` is a DOM element and the `suggestion` is its data object.\n\n## `renderCategory`\n\nBy default, categories are rendered using just their `data.title`. You can customize this behavior by setting `autocomplete.renderCategory` to a function that receives `div, data` parameters. The `div` is a DOM element and the `data` is the full category data object, including the `list` of suggestions. After you customize the `div`, the list of suggestions for the category will be appended to `div`.\n\n# API\n\nOnce you've instantiated a `horsey`, you can do a few more things with it.\n\n## `.clear()`\n\nYou can however, remove every single suggestion from the autocomplete, wiping the slate clean. Contrary to `.destroy()`, `.clear()` won't leave the `horsey` instance useless, and calling `.add` will turn it back online in no time.\n\n## `.source`\n\nExposes the suggestions that have been added so far to the autocomplete list. Includes suggestions that may not be shown due to filtering. This should be treated as a read-only list.\n\n## `.show()`\n\nShows the autocomplete list.\n\n## `.hide()`\n\nHides the autocomplete list.\n\n## `.toggle()`\n\nShows or hides the autocomplete list.\n\n## `.refreshPosition()`\n\nUpdates the position of the autocomplete list relative to the position of the `el`. Only necessary when the `el` is moved.\n\n## `.destroy()`\n\nUnbind horsey-related events from the `el`, remove the autocomplete list. It's like `horsey` was never here.\n\n## `.retarget(target)`\n\nDetaches this `horsey` instance from `el`, removing events and whatnot, and then attaches the instance to `target`. Note that `horsey.find` will still only work with `el`. This method is mostly for internal purposes, but it's also useful if you're developing a text editor with multiple modes (particularly if it switches between a `<textarea>` and a content-editable `<div>`).\n\n## `.anchor`\n\nThe anchor value that was originally passed into `horse` as `options.anchor`.\n\n## `.defaultRenderer`\n\nThe default `render` method\n\n## `.defaultGetText`\n\nThe default `getText` method\n\n## `.defaultGetValue`\n\nThe default `getValue` method\n\n## `.defaultSetter`\n\nThe default `set` method\n\n## `.defaultFilter`\n\nThe default `filter` method\n\n## `.appendText`\n\nMethod called whenever we have an `anchor` and we need to append a suggestion to an input field. Defaults to `defaultAppendText`.\n\n## `.appendHTML`\n\nMethod called whenever we have an `anchor` and we need to append a suggestion for a `contentEditable` element. **Unsupported by default**. Provided by [banksy][8].\n\n## `.defaultAppendText`\n\nDefault `appendText` implementation\n\n## `.filterAnchoredText`\n\nMethod called whenever we have an `anchor` and we need to filter a suggestion for an input field.\n\n## `.filterAnchoredHTML`\n\nMethod called whenever we have an `anchor` and we need to filter a suggestion for a `contentEditable` element. **Unsupported by default**. Provided by [banksy][8].\n\n# Events\n\nOnce you've instantiated a `horsey`, some propietary synthetic events will be emitted on the provided `el`.\n\nName              | Description\n------------------|---------------------------------------------------------------\n`horsey-show`     | Fired whenever the autocomplete list is displayed\n`horsey-hide`     | Fired whenever the autocomplete list is hidden\n`horsey-filter`   | Fired whenever the autocomplete list is about to be filtered. Useful to prime the filter method\n\n## Usage with [woofmark][7]\n\nSee [banksy][8] to integrate `horsey` into [woofmark][7].\n\n# License\n\nMIT\n\n[1]: https://github.com/bevacqua/rome\n[2]: https://github.com/bevacqua/insignia\n[3]: http://bevacqua.github.io/horsey\n[4]: https://github.com/bevacqua/fuzzysearch\n[5]: http://i.imgur.com/imDFC0C.png\n[6]: https://github.com/bevacqua/woofmark#editor\n[7]: https://github.com/bevacqua/woofmark\n[8]: https://github.com/bevacqua/banksy\n","readmeFilename":"readme.markdown"}