UNPKG

angular-instantsearch

Version:

Lightning-fast search for Angular apps, by Algolia.

78 lines (76 loc) 6.72 kB
import { Component, Input } from '@angular/core'; import { bem } from '../utils'; export class NgAisFacetsSearch { constructor() { this.cx = bem('SearchBox'); this.searchQuery = ''; } handleChange(value) { this.searchQuery = value; this.search(value); } handleSubmit(event) { event.preventDefault(); this.search(this.searchQuery); } } NgAisFacetsSearch.decorators = [ { type: Component, args: [{ selector: 'ais-facets-search', template: ` <div [class]="cx()"> <form [class]="cx('form')" (submit)="handleSubmit($event)" novalidate > <input [class]="cx('input')" autocapitalize="off" autocorrect="off" placeholder="{{searchPlaceholder}}" role="textbox" spellcheck="false" type="text" [value]="searchQuery" (input)="handleChange($event.target.value)" /> <button [class]="cx('submit')" title="Submit the search query." type="submit" > <svg [ngClass]="cx('submitIcon')" viewBox="0 0 40 40" width="10" height="10" > <path d="M26.804 29.01c-2.832 2.34-6.465 3.746-10.426 3.746C7.333 32.756 0 25.424 0 16.378 0 7.333 7.333 0 16.378 0c9.046 0 16.378 7.333 16.378 16.378 0 3.96-1.406 7.594-3.746 10.426l10.534 10.534c.607.607.61 1.59-.004 2.202-.61.61-1.597.61-2.202.004L26.804 29.01zm-10.426.627c7.323 0 13.26-5.936 13.26-13.26 0-7.32-5.937-13.257-13.26-13.257C9.056 3.12 3.12 9.056 3.12 16.378c0 7.323 5.936 13.26 13.258 13.26z"></path> </svg> </button> <button [class]="cx('reset')" type="reset" title="Clear the search query." hidden > <svg [ngClass]="cx('resetIcon')" viewBox="0 0 20 20" width="10" height="10" > <path d="M8.114 10L.944 2.83 0 1.885 1.886 0l.943.943L10 8.113l7.17-7.17.944-.943L20 1.886l-.943.943-7.17 7.17 7.17 7.17.943.944L18.114 20l-.943-.943-7.17-7.17-7.17 7.17-.944.943L0 18.114l.943-.943L8.113 10z"></path> </svg> </button> </form> </div> ` },] } ]; NgAisFacetsSearch.propDecorators = { searchPlaceholder: [{ type: Input }], search: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXRzLXNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWZpbmVtZW50LWxpc3QvZmFjZXRzLXNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBeUQvQixNQUFNLE9BQU8saUJBQWlCO0lBdkQ5QjtRQTJEUyxPQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0lBVzFCLENBQUM7SUFUUSxZQUFZLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBSztRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7O1lBdkVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDthQUNGOzs7Z0NBRUUsS0FBSztxQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYmVtIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhaXMtZmFjZXRzLXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbY2xhc3NdPVwiY3goKVwiPlxuICAgICAgPGZvcm1cbiAgICAgICAgW2NsYXNzXT1cImN4KCdmb3JtJylcIlxuICAgICAgICAoc3VibWl0KT1cImhhbmRsZVN1Ym1pdCgkZXZlbnQpXCJcbiAgICAgICAgbm92YWxpZGF0ZVxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBbY2xhc3NdPVwiY3goJ2lucHV0JylcIlxuICAgICAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcbiAgICAgICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3NlYXJjaFBsYWNlaG9sZGVyfX1cIlxuICAgICAgICAgIHJvbGU9XCJ0ZXh0Ym94XCJcbiAgICAgICAgICBzcGVsbGNoZWNrPVwiZmFsc2VcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBbdmFsdWVdPVwic2VhcmNoUXVlcnlcIlxuICAgICAgICAgIChpbnB1dCk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbY2xhc3NdPVwiY3goJ3N1Ym1pdCcpXCJcbiAgICAgICAgICB0aXRsZT1cIlN1Ym1pdCB0aGUgc2VhcmNoIHF1ZXJ5LlwiXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBbbmdDbGFzc109XCJjeCgnc3VibWl0SWNvbicpXCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNDAgNDBcIlxuICAgICAgICAgICAgd2lkdGg9XCIxMFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0yNi44MDQgMjkuMDFjLTIuODMyIDIuMzQtNi40NjUgMy43NDYtMTAuNDI2IDMuNzQ2QzcuMzMzIDMyLjc1NiAwIDI1LjQyNCAwIDE2LjM3OCAwIDcuMzMzIDcuMzMzIDAgMTYuMzc4IDBjOS4wNDYgMCAxNi4zNzggNy4zMzMgMTYuMzc4IDE2LjM3OCAwIDMuOTYtMS40MDYgNy41OTQtMy43NDYgMTAuNDI2bDEwLjUzNCAxMC41MzRjLjYwNy42MDcuNjEgMS41OS0uMDA0IDIuMjAyLS42MS42MS0xLjU5Ny42MS0yLjIwMi4wMDRMMjYuODA0IDI5LjAxem0tMTAuNDI2LjYyN2M3LjMyMyAwIDEzLjI2LTUuOTM2IDEzLjI2LTEzLjI2IDAtNy4zMi01LjkzNy0xMy4yNTctMTMuMjYtMTMuMjU3QzkuMDU2IDMuMTIgMy4xMiA5LjA1NiAzLjEyIDE2LjM3OGMwIDcuMzIzIDUuOTM2IDEzLjI2IDEzLjI1OCAxMy4yNnpcIj48L3BhdGg+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbY2xhc3NdPVwiY3goJ3Jlc2V0JylcIlxuICAgICAgICAgIHR5cGU9XCJyZXNldFwiXG4gICAgICAgICAgdGl0bGU9XCJDbGVhciB0aGUgc2VhcmNoIHF1ZXJ5LlwiXG4gICAgICAgICAgaGlkZGVuXG4gICAgICAgID5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBbbmdDbGFzc109XCJjeCgncmVzZXRJY29uJylcIlxuICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gICAgICAgICAgICB3aWR0aD1cIjEwXCJcbiAgICAgICAgICAgIGhlaWdodD1cIjEwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTguMTE0IDEwTC45NDQgMi44MyAwIDEuODg1IDEuODg2IDBsLjk0My45NDNMMTAgOC4xMTNsNy4xNy03LjE3Ljk0NC0uOTQzTDIwIDEuODg2bC0uOTQzLjk0My03LjE3IDcuMTcgNy4xNyA3LjE3Ljk0My45NDRMMTguMTE0IDIwbC0uOTQzLS45NDMtNy4xNy03LjE3LTcuMTcgNy4xNy0uOTQ0Ljk0M0wwIDE4LjExNGwuOTQzLS45NDNMOC4xMTMgMTB6XCI+PC9wYXRoPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZm9ybT5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTmdBaXNGYWNldHNTZWFyY2gge1xuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNlYXJjaDogRnVuY3Rpb247XG5cbiAgcHVibGljIGN4ID0gYmVtKCdTZWFyY2hCb3gnKTtcblxuICBwdWJsaWMgc2VhcmNoUXVlcnkgPSAnJztcblxuICBwdWJsaWMgaGFuZGxlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gdmFsdWU7XG4gICAgdGhpcy5zZWFyY2godmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVN1Ym1pdChldmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5zZWFyY2godGhpcy5zZWFyY2hRdWVyeSk7XG4gIH1cbn1cbiJdfQ==