Socket
Socket
Sign inDemoInstall

ngx-drag-to-select

Package Overview
Dependencies
5
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.1.1 to 3.2.0-rc.0

esm2015/lib/keyboard-events.service.js

16

bundles/ngx-drag-to-select.umd.min.js

@@ -1,2 +0,16 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("rxjs/operators"),require("rxjs")):"function"==typeof define&&define.amd?define("ngx-drag-to-select",["exports","@angular/core","@angular/common","rxjs/operators","rxjs"],t):t(e["ngx-drag-to-select"]={},e.ng.core,e.ng.common,e.rxjs.operators,e.rxjs)}(this,function(e,s,g,v,I){"use strict";function S(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var o,r,s=n.call(e),i=[];try{for(;(void 0===t||0<t--)&&!(o=s.next()).done;)i.push(o.value)}catch(c){r={error:c}}finally{try{o&&!o.done&&(n=s["return"])&&n.call(s)}finally{if(r)throw r.error}}return i}function i(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(S(arguments[t]));return e}var n=new s.InjectionToken("DRAG_TO_SELECT_CONFIG"),o=new s.InjectionToken("USER_CONFIG"),r="dts-no-select",c=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&null!==e};function l(o,r){return c(o)&&c(r)&&Object.keys(r).forEach(function(e){var t,n;c(r[e])?(o[e]||Object.assign(o,((t={})[e]={},t)),l(o[e],r[e])):Object.assign(o,((n={})[e]=r[e],n))}),o}var t,_=function(e,t,n){return void 0===t&&(t=5),void 0===n&&(n=5),e.width>t||e.height>n},u=function(e,t){return t.left<=e.x&&e.x<=t.left+t.width&&t.top<=e.y&&e.y<=t.top+t.height},a=function(e,t){return e.left<=t.left+t.width&&e.left+e.width>=t.left&&e.top<=t.top+t.height&&e.top+e.height>=t.top},d=function(e){return e.getBoundingClientRect()},p=function(e){return{x:e.clientX,y:e.clientY}},b=function(e,t){var n=p(e),o=n.x,r=n.y,s=document&&document.documentElement?{x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}:{x:0,y:0},i=(t.boundingClientRect.width-t.clientWidth)/2,c=t.boundingClientRect.left+s.x,l=t.boundingClientRect.top+s.y;return{x:o-i-(c-window.pageXOffset)+t.scrollLeft,y:r-i-(l-window.pageYOffset)+t.scrollTop}},h=function(){function e(e,t,n,o){this.config=e,this.platformId=t,this.host=n,this.renderer=o,this.selected=!1}return Object.defineProperty(e.prototype,"value",{get:function(){return this.dtsSelectItem?this.dtsSelectItem:this},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){g.isPlatformBrowser(this.platformId)&&this.calculateBoundingClientRect()},e.prototype.ngDoCheck=function(){this.applySelectedClass()},e.prototype.getBoundingClientRect=function(){return this._boundingClientRect},e.prototype.calculateBoundingClientRect=function(){this._boundingClientRect=d(this.host.nativeElement)},e.prototype._select=function(){this.selected=!0},e.prototype._deselect=function(){this.selected=!1},e.prototype.applySelectedClass=function(){this.selected?this.renderer.addClass(this.host.nativeElement,this.config.selectedClass):this.renderer.removeClass(this.host.nativeElement,this.config.selectedClass)},e.decorators=[{type:s.Directive,args:[{selector:"[dtsSelectItem]",exportAs:"dtsSelectItem",host:{"class":"dts-select-item"}}]}],e.ctorParameters=function(){return[{type:undefined,decorators:[{type:s.Inject,args:[n]}]},{type:undefined,decorators:[{type:s.Inject,args:[s.PLATFORM_ID]}]},{type:s.ElementRef},{type:s.Renderer2}]},e.propDecorators={dtsSelectItem:[{type:s.Input}]},e}(),m={alt:!0,shift:!0,meta:!0,ctrl:!0},f="meta",y=((t={})[f]=["ctrl","meta"],t),w={disableSelection:!0,toggleSingleItem:!0,addToSelection:!0,removeFromSelection:!0},x=function(){function e(e){this.config=e,this._shortcuts={},this._shortcuts=this.createShortcutsFromConfig(e.shortcuts)}return e.prototype.disableSelection=function(e){return this.isShortcutPressed("disableSelection",e)},e.prototype.toggleSingleItem=function(e){return this.isShortcutPressed("toggleSingleItem",e)},e.prototype.addToSelection=function(e){return this.isShortcutPressed("addToSelection",e)},e.prototype.removeFromSelection=function(e){return this.isShortcutPressed("removeFromSelection",e)},e.prototype.extendedSelectionShortcut=function(e){return this.addToSelection(e)||this.removeFromSelection(e)},e.prototype.createShortcutsFromConfig=function(e){var t,n,r=this,s={},o=function(o,e){if(!i.isSupportedShortcut(o))throw new Error(i.getErrorMessage("Shortcut "+o+" not supported"));e.replace(/ /g,"").split(",").forEach(function(n){s[o]||(s[o]=[]);var e=n.split("+");r.substituteKey(n,e,f).forEach(function(e){var t=r.isSupportedCombo(e);if(t)throw new Error(r.getErrorMessage("Key '"+t+"' in shortcut "+n+" not supported"));s[o].push(e.map(function(e){return e+"Key"}))})})},i=this;try{for(var c=function a(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}(Object.entries(e)),l=c.next();!l.done;l=c.next()){var u=S(l.value,2);o(u[0],u[1])}}catch(d){t={error:d}}finally{try{l&&!l.done&&(n=c["return"])&&n.call(c)}finally{if(t)throw t.error}}return s},e.prototype.substituteKey=function(e,t,n){var o=e.includes(n),r=[];if(o){var s=t.filter(function(e){return e!==f});y.meta.forEach(function(e){r.push(i(s,[e]))})}else r.push(t);return r},e.prototype.getErrorMessage=function(e){return"[ShortcutService] "+e},e.prototype.isShortcutPressed=function(e,t){return this._shortcuts[e].some(function(e){return e.every(function(e){return t[e]})})},e.prototype.isSupportedCombo=function(e){var t=null;return e.forEach(function(e){m[e]||(t=e)}),t},e.prototype.isSupportedShortcut=function(e){return w[e]},e.decorators=[{type:s.Injectable}],e.ctorParameters=function(){return[{type:undefined,decorators:[{type:s.Inject,args:[n]}]}]},e}(),C=function(){return function(e){return e.pipe(v.distinctUntilChanged(function(e,t){return e.keyCode===t.keyCode}))}},E={Add:0,Remove:1};E[E.Add]="Add",E[E.Remove]="Remove";var R={Add:0,Delete:1,None:2};R[R.Add]="Add",R[R.Delete]="Delete",R[R.None]="None";var O=function(){function e(e,t,n,o,r){this.platformId=e,this.shortcuts=t,this.hostElementRef=n,this.renderer=o,this.ngZone=r,this.selectOnDrag=!0,this.disabled=!1,this.disableDrag=!1,this.selectMode=!1,this.selectWithShortcut=!1,this.custom=!1,this.selectedItemsChange=new s.EventEmitter,this.select=new s.EventEmitter,this.itemSelected=new s.EventEmitter,this.itemDeselected=new s.EventEmitter,this.selectionStarted=new s.EventEmitter,this.selectionEnded=new s.EventEmitter,this._tmpItems=new Map,this._selectedItems$=new I.BehaviorSubject([]),this.updateItems$=new I.Subject,this.destroy$=new I.Subject}return e.prototype.ngAfterViewInit=function(){var t,a,r=this;if(g.isPlatformBrowser(this.platformId)){this.host=this.hostElementRef.nativeElement,this._initSelectedItemsChange(),this._calculateBoundingClientRect(),this._observeBoundingRectChanges(),this._observeSelectableItems();var e=I.fromEvent(window,"keydown").pipe(C(),v.share()),n=I.fromEvent(window,"keyup").pipe(C(),v.share()),o=I.fromEvent(window,"mouseup").pipe(v.filter(function(){return!r.disabled}),v.tap(function(){return r._onMouseUp()}),v.share()),s=I.fromEvent(window,"mousemove").pipe(v.filter(function(){return!r.disabled}),v.share()),i=I.fromEvent(this.host,"mousedown").pipe(v.filter(function(e){return 0===e.button}),v.filter(function(){return!r.disabled}),v.tap(function(e){return r._onMouseDown(e)}),v.share()),c=i.pipe(v.filter(function(e){return!r.shortcuts.disableSelection(e)}),v.filter(function(){return!r.selectMode}),v.filter(function(){return!r.disableDrag}),v.switchMap(function(){return s.pipe(v.takeUntil(o))}),v.share()),l=i.pipe(v.map(function(e){return b(e,r.host)})),u=c.pipe(v.mapTo(1)),d=o.pipe(v.mapTo(0)),p=I.merge(u,d).pipe(v.distinctUntilChanged()),h=I.combineLatest(c,p,l).pipe((a=this.host,function(e){return e.pipe(v.map(function(e){var t=S(e,3),n=t[0],o=t[1],r=t[2],s=r.x,i=r.y,c=b(n,a),l=0<o?c.x-s:0,u=0<o?c.y-i:0;return{top:u<0?c.y:i,left:l<0?c.x:s,width:Math.abs(l),height:Math.abs(u),opacity:o}}))}),v.share());this.selectBoxClasses$=I.merge(c,o,e,n).pipe(v.auditTime(16),v.withLatestFrom(h),v.map(function(e){var t=S(e,2),n=t[0],o=t[1];return{"dts-adding":_(o,0,0)&&!r.shortcuts.removeFromSelection(n),"dts-removing":r.shortcuts.removeFromSelection(n)}}),v.distinctUntilChanged(function(e,t){return JSON.stringify(e)===JSON.stringify(t)}));var m=c.pipe(v.filter(function(){return!r.selectOnDrag}),v.filter(function(){return!r.selectMode}),v.filter(function(e){return r._cursorWithinHost(e)}),v.switchMap(function(e){return o.pipe(v.first())}),v.filter(function(e){return!r.shortcuts.disableSelection(e)&&!r.shortcuts.toggleSingleItem(e)||r.shortcuts.removeFromSelection(e)})),f=h.pipe(v.auditTime(16),v.withLatestFrom(s,function(e,t){return{selectBox:e,event:t}}),v.filter(function(){return r.selectOnDrag}),v.filter(function(e){var t=e.selectBox;return _(t)}),v.map(function(e){return e.event})),y=I.merge(e,n).pipe(v.auditTime(16),(t=h,function(e){return e.pipe(v.withLatestFrom(t),v.filter(function(e){var t=S(e,2)[1];return _(t,0,0)}),v.map(function(e){var t=S(e,2),n=t[0];return t[1],n}))}),v.tap(function(e){r._isExtendedSelection(e)?r._tmpItems.clear():r._flushItems()}));I.merge(m,f,y).pipe(v.takeUntil(this.destroy$)).subscribe(function(e){return r._selectItems(e)}),this.selectBoxStyles$=h.pipe(v.map(function(e){return{top:e.top+"px",left:e.left+"px",width:e.width+"px",height:e.height+"px",opacity:e.opacity}})),this._initSelectionOutputs(i,o)}},e.prototype.selectAll=function(){var t=this;this.$selectableItems.forEach(function(e){t._selectItem(e)})},e.prototype.toggleItems=function(e){var t=this;this._filterSelectableItems(e).subscribe(function(e){return t._toggleItem(e)})},e.prototype.selectItems=function(e){var t=this;this._filterSelectableItems(e).subscribe(function(e){return t._selectItem(e)})},e.prototype.deselectItems=function(e){var t=this;this._filterSelectableItems(e).subscribe(function(e){return t._deselectItem(e)})},e.prototype.clearSelection=function(){var t=this;this.$selectableItems.forEach(function(e){t._deselectItem(e)})},e.prototype.update=function(){this._calculateBoundingClientRect(),this.$selectableItems.forEach(function(e){return e.calculateBoundingClientRect()})},e.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},e.prototype._filterSelectableItems=function(t){return I.from(this.$selectableItems.toArray()).pipe(v.filter(function(e){return t(e.value)}))},e.prototype._initSelectedItemsChange=function(){var t=this;this._selectedItems$.pipe(v.auditTime(16),v.takeUntil(this.destroy$)).subscribe({next:function(e){t.selectedItemsChange.emit(e),t.select.emit(e)},complete:function(){t.selectedItemsChange.emit([])}})},e.prototype._observeSelectableItems=function(){var i=this;this.updateItems$.pipe(v.withLatestFrom(this._selectedItems$),v.takeUntil(this.destroy$)).subscribe(function(e){var t=S(e,2),n=t[0],o=t[1],r=n.item;switch(n.type){case E.Add:i._addItem(r,o)&&r._select();break;case E.Remove:i._removeItem(r,o)&&r._deselect()}}),this.$selectableItems.changes.pipe(v.withLatestFrom(this._selectedItems$),v.observeOn(I.asyncScheduler),v.takeUntil(this.destroy$)).subscribe(function(e){var t=S(e,2),n=t[0],o=t[1],r=n.toArray(),s=o.filter(function(e){return!r.includes(e.value)});s.length&&s.forEach(function(e){return i._removeItem(e,o)}),i.update()})},e.prototype._observeBoundingRectChanges=function(){var o=this;this.ngZone.runOutsideAngular(function(){var e=I.fromEvent(window,"resize"),t=I.fromEvent(window,"scroll"),n=I.fromEvent(o.host,"scroll");I.merge(e,t,n).pipe(v.startWith("INITIAL_UPDATE"),v.auditTime(16),v.takeUntil(o.destroy$)).subscribe(function(){o.update()})})},e.prototype._initSelectionOutputs=function(e,t){var n=this;e.pipe(v.filter(function(e){return n._cursorWithinHost(e)}),v.tap(function(){return n.selectionStarted.emit()}),v.concatMapTo(t.pipe(v.first())),v.withLatestFrom(this._selectedItems$),v.map(function(e){return S(e,2)[1]}),v.takeUntil(this.destroy$)).subscribe(function(e){n.selectionEnded.emit(e)})},e.prototype._calculateBoundingClientRect=function(){this.host.boundingClientRect=d(this.host)},e.prototype._cursorWithinHost=function(e){return t=e,n=this.host,o=p(t),u(o,d(n));var t,n,o},e.prototype._onMouseUp=function(){this._flushItems(),this.renderer.removeClass(document.body,r)},e.prototype._onMouseDown=function(i){var c=this;if(!this.shortcuts.disableSelection(i)&&!this.disabled){var e,t;e=window,(t=e.getSelection()).removeAllRanges?t.removeAllRanges():t.empty&&t.empty(),this.disableDrag||this.renderer.addClass(document.body,r);var l=p(i);this.$selectableItems.forEach(function(e,t){var n=e.getBoundingClientRect(),o=u(l,n);if(!c.shortcuts.extendedSelectionShortcut(i)){var r=o&&!c.shortcuts.toggleSingleItem(i)&&!c.selectMode&&!c.selectWithShortcut||o&&c.shortcuts.toggleSingleItem(i)&&!e.selected||!o&&c.shortcuts.toggleSingleItem(i)&&e.selected||o&&!e.selected&&c.selectMode||!o&&e.selected&&c.selectMode,s=!o&&!c.shortcuts.toggleSingleItem(i)&&!c.selectMode&&!c.selectWithShortcut||!o&&c.shortcuts.toggleSingleItem(i)&&!e.selected||o&&c.shortcuts.toggleSingleItem(i)&&e.selected||!o&&!e.selected&&c.selectMode||o&&e.selected&&c.selectMode;r?c._selectItem(e):s&&c._deselectItem(e)}})}},e.prototype._selectItems=function(t){var n=this,o=d(this.$selectBox.nativeElement);this.$selectableItems.forEach(function(e){n._isExtendedSelection(t)?n._extendedSelectionMode(o,e,t):n._normalSelectionMode(o,e,t)})},e.prototype._isExtendedSelection=function(e){return this.shortcuts.extendedSelectionShortcut(e)&&this.selectOnDrag},e.prototype._normalSelectionMode=function(e,t,n){var o=a(e,t.getBoundingClientRect()),r=o&&!t.selected&&!this.shortcuts.removeFromSelection(n),s=!o&&t.selected&&!this.shortcuts.addToSelection(n)||o&&t.selected&&this.shortcuts.removeFromSelection(n);r?this._selectItem(t):s&&this._deselectItem(t)},e.prototype._extendedSelectionMode=function(e,t,n){var o=a(e,t.getBoundingClientRect()),r=o&&!t.selected&&!this.shortcuts.removeFromSelection(n)&&!this._tmpItems.has(t)||o&&t.selected&&this.shortcuts.removeFromSelection(n)&&!this._tmpItems.has(t),s=!o&&t.selected&&this.shortcuts.addToSelection(n)&&this._tmpItems.has(t)||!o&&!t.selected&&this.shortcuts.removeFromSelection(n)&&this._tmpItems.has(t);if(r){t.selected?t._deselect():t._select();var i=this.shortcuts.removeFromSelection(n)?R.Delete:this.shortcuts.addToSelection(n)?R.Add:R.None;this._tmpItems.set(t,i)}else s&&(this.shortcuts.removeFromSelection(n)?t._select():t._deselect(),this._tmpItems["delete"](t))},e.prototype._flushItems=function(){var n=this;this._tmpItems.forEach(function(e,t){e===R.Add&&n._selectItem(t),e===R.Delete&&n._deselectItem(t)}),this._tmpItems.clear()},e.prototype._addItem=function(e,t){var n=!1;return this._hasItem(e,t)||(n=!0,t.push(e.value),this._selectedItems$.next(t),this.itemSelected.emit(e.value)),n},e.prototype._removeItem=function(e,t){var n=!1,o=e instanceof h?e.value:e,r=t.indexOf(o);return-1<r&&(n=!0,t.splice(r,1),this._selectedItems$.next(t),this.itemDeselected.emit(e.value)),n},e.prototype._toggleItem=function(e){e.selected?this._deselectItem(e):this._selectItem(e)},e.prototype._selectItem=function(e){this.updateItems$.next({type:E.Add,item:e})},e.prototype._deselectItem=function(e){this.updateItems$.next({type:E.Remove,item:e})},e.prototype._hasItem=function(e,t){return t.includes(e.value)},e.decorators=[{type:s.Component,args:[{selector:"dts-select-container",exportAs:"dts-select-container",host:{"class":"dts-select-container"},template:'\n <ng-content></ng-content>\n <div\n class="dts-select-box"\n #selectBox\n [ngClass]="selectBoxClasses$ | async"\n [ngStyle]="selectBoxStyles$ | async"\n ></div>\n ',styles:[":host{display:block;position:relative}"]}]}],e.ctorParameters=function(){return[{type:undefined,decorators:[{type:s.Inject,args:[s.PLATFORM_ID]}]},{type:x},{type:s.ElementRef},{type:s.Renderer2},{type:s.NgZone}]},e.propDecorators={$selectBox:[{type:s.ViewChild,args:["selectBox"]}],$selectableItems:[{type:s.ContentChildren,args:[h,{descendants:!0}]}],selectedItems:[{type:s.Input}],selectOnDrag:[{type:s.Input}],disabled:[{type:s.Input}],disableDrag:[{type:s.Input}],selectMode:[{type:s.Input}],selectWithShortcut:[{type:s.Input}],custom:[{type:s.Input},{type:s.HostBinding,args:["class.dts-custom"]}],selectedItemsChange:[{type:s.Output}],select:[{type:s.Output}],itemSelected:[{type:s.Output}],itemDeselected:[{type:s.Output}],selectionStarted:[{type:s.Output}],selectionEnded:[{type:s.Output}]},e}(),M={selectedClass:"selected",shortcuts:{disableSelection:"alt",toggleSingleItem:"meta",addToSelection:"shift",removeFromSelection:"shift+meta"}},$=[O,h];function D(e){return l(M,e)}var F=function(){function t(){}return t.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[x,{provide:o,useValue:e},{provide:n,useFactory:D,deps:[o]}]}},t.decorators=[{type:s.NgModule,args:[{imports:[g.CommonModule],declarations:i($),exports:i($)}]}],t}();e.CONFIG_FACTORY=D,e.DragToSelectModule=F,e.SelectContainerComponent=O,e.SelectItemDirective=h,e.ɵb=M,e.ɵf=x,e.ɵc=n,e.ɵd=o,e.ɵa=l,Object.defineProperty(e,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/core"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("ngx-drag-to-select",["exports","@angular/common","@angular/core","rxjs","rxjs/operators"],e):e((t=t||self)["ngx-drag-to-select"]={},t.ng.common,t.ng.core,t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,s,o){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */function r(t){var e="function"==typeof Symbol&&t[Symbol.iterator],n=0;return e?e.call(t):{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}}}function i(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var s,o,r=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(s=r.next()).done;)i.push(s.value)}catch(t){o={error:t}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}function c(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(i(arguments[e]));return t}var l={selectedClass:"selected",shortcuts:{moveRangeStart:"shift+r",disableSelection:"alt",toggleSingleItem:"meta",addToSelection:"shift",removeFromSelection:"shift+meta"}},a=function(t){return t&&"object"==typeof t&&!Array.isArray(t)&&null!==t};function u(t,e){return a(t)&&a(e)&&Object.keys(e).forEach((function(n){var s,o;a(e[n])?(t[n]||Object.assign(t,((s={})[n]={},s)),u(t[n],e[n])):Object.assign(t,((o={})[n]=e[n],o))})),t}var d=function(t,e,n){return void 0===e&&(e=5),void 0===n&&(n=5),t.width>e||t.height>n},h=function(t,e){return e.left<=t.x&&t.x<=e.left+e.width&&e.top<=t.y&&t.y<=e.top+e.height},p=function(t,e){return t.left<=e.left+e.width&&t.left+t.width>=e.left&&t.top<=e.top+e.height&&t.top+t.height>=e.top},m=function(t){return t.getBoundingClientRect()},f=function(t){return{x:t.clientX,y:t.clientY}},g=function(t,e){var n=f(t),s=n.x,o=n.y,r=document&&document.documentElement?{x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}:{x:0,y:0},i=(e.boundingClientRect.width-e.clientWidth)/2,c=e.boundingClientRect.left+r.x,l=e.boundingClientRect.top+r.y;return{x:s-i-(c-window.pageXOffset)+e.scrollLeft,y:o-i-(l-window.pageYOffset)+e.scrollTop}},y=function(){return function(t){return t.pipe(o.distinctUntilChanged((function(t,e){return t&&e&&t.code===e.code})))}},S=function(){function t(t){this.platformId=t,e.isPlatformBrowser(this.platformId)&&this._initializeKeyboardStreams()}return t.prototype._initializeKeyboardStreams=function(){this.keydown$=s.fromEvent(window,"keydown").pipe(o.share()),this.keyup$=s.fromEvent(window,"keyup").pipe(o.share()),this.distinctKeydown$=this.keydown$.pipe(y(),o.share()),this.distinctKeyup$=this.keyup$.pipe(y(),o.share()),this.mouseup$=s.fromEvent(window,"mouseup").pipe(o.share()),this.mousemove$=s.fromEvent(window,"mousemove").pipe(o.share())},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[{type:Object,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]}]},t}();var v,_=new n.InjectionToken("DRAG_TO_SELECT_CONFIG"),I=new n.InjectionToken("USER_CONFIG"),b=Symbol(),E=function(){function t(t,e,n,s){this.config=t,this.platformId=e,this.host=n,this.renderer=s,this.selected=!1,this.rangeStart=!1}return Object.defineProperty(t.prototype,"value",{get:function(){return this.dtsSelectItem?this.dtsSelectItem:this},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this.nativeElememnt[b]=this},t.prototype.ngDoCheck=function(){this.applySelectedClass()},t.prototype.toggleRangeStart=function(){this.rangeStart=!this.rangeStart},Object.defineProperty(t.prototype,"nativeElememnt",{get:function(){return this.host.nativeElement},enumerable:!0,configurable:!0}),t.prototype.getBoundingClientRect=function(){return e.isPlatformBrowser(this.platformId)&&!this._boundingClientRect&&this.calculateBoundingClientRect(),this._boundingClientRect},t.prototype.calculateBoundingClientRect=function(){var t=m(this.host.nativeElement);return this._boundingClientRect=t,t},t.prototype._select=function(){this.selected=!0},t.prototype._deselect=function(){this.selected=!1},t.prototype.applySelectedClass=function(){this.selected?this.renderer.addClass(this.host.nativeElement,this.config.selectedClass):this.renderer.removeClass(this.host.nativeElement,this.config.selectedClass)},t.decorators=[{type:n.Directive,args:[{selector:"[dtsSelectItem]",exportAs:"dtsSelectItem",host:{class:"dts-select-item"}}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[_]}]},{type:Object,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:n.ElementRef},{type:n.Renderer2}]},t.propDecorators={rangeStart:[{type:n.HostBinding,args:["class.dts-range-start"]}],dtsSelectItem:[{type:n.Input}]},t}();var w={alt:!0,shift:!0,meta:!0,ctrl:!0},x=/[a-z]/,R=((v={}).meta=["ctrl","meta"],v),C={moveRangeStart:!0,disableSelection:!0,toggleSingleItem:!0,addToSelection:!0,removeFromSelection:!0};var $=function(){function t(t,n,r){var i=this;if(this.platformId=t,this.keyboardEvents=r,this._shortcuts={},this._latestShortcut=new Map,this._shortcuts=this._createShortcutsFromConfig(n.shortcuts),e.isPlatformBrowser(this.platformId)){var c=this.keyboardEvents.keydown$.pipe(o.map((function(t){return{code:t.code,pressed:!0}}))),l=this.keyboardEvents.keyup$.pipe(o.map((function(t){return{code:t.code,pressed:!1}})));s.merge(c,l).pipe(o.distinctUntilChanged((function(t,e){return t.pressed===e.pressed&&t.code===e.code}))).subscribe((function(t){t.pressed?i._latestShortcut.set(t.code,!0):i._latestShortcut.delete(t.code)}))}}return t.prototype.disableSelection=function(t){return this._isShortcutPressed("disableSelection",t)},t.prototype.moveRangeStart=function(t){return this._isShortcutPressed("moveRangeStart",t)},t.prototype.toggleSingleItem=function(t){return this._isShortcutPressed("toggleSingleItem",t)},t.prototype.addToSelection=function(t){return this._isShortcutPressed("addToSelection",t)},t.prototype.removeFromSelection=function(t){return this._isShortcutPressed("removeFromSelection",t)},t.prototype.extendedSelectionShortcut=function(t){return this.addToSelection(t)||this.removeFromSelection(t)},t.prototype._createShortcutsFromConfig=function(t){var e,n,s=this,o={},c=function(t,e){if(!l._isSupportedShortcut(t))throw new Error(l._getErrorMessage("Shortcut "+t+" not supported"));e.replace(/ /g,"").split(",").forEach((function(e){o[t]||(o[t]=[]);var n=e.split("+");s._substituteKey(e,n,"meta").forEach((function(n){var r=s._isSupportedCombo(n);if(r)throw new Error(s._getErrorMessage("Key '"+r+"' in shortcut "+e+" not supported"));o[t].push(n.map((function(t){return w[t]?t+"Key":"Key"+t.toUpperCase()})))}))}))},l=this;try{for(var a=r(Object.entries(t)),u=a.next();!u.done;u=a.next()){var d=i(u.value,2);c(d[0],d[1])}}catch(t){e={error:t}}finally{try{u&&!u.done&&(n=a.return)&&n.call(a)}finally{if(e)throw e.error}}return o},t.prototype._substituteKey=function(t,e,n){var s=t.includes(n),o=[];if(s){var r=e.filter((function(t){return"meta"!==t}));R.meta.forEach((function(t){o.push(c(r,[t]))}))}else o.push(e);return o},t.prototype._getErrorMessage=function(t){return"[ShortcutService] "+t},t.prototype._isShortcutPressed=function(t,e){var n=this;return this._shortcuts[t].some((function(t){return t.every((function(t){return n._isKeyPressed(e,t)}))}))},t.prototype._isKeyPressed=function(t,e){return e.startsWith("Key")?this._latestShortcut.has(e):t[e]},t.prototype._isSupportedCombo=function(t){var e=this,n=null;return t.forEach((function(t){w[t]||x.test(t)&&!e._isSingleChar(t)||(n=t)})),n},t.prototype._isSingleChar=function(t){return t.length>1},t.prototype._isSupportedShortcut=function(t){return C[t]},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[{type:Object,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:void 0,decorators:[{type:n.Inject,args:[_]}]},{type:S}]},t}();var O={Add:0,Remove:1};O[O.Add]="Add",O[O.Remove]="Remove";var M={Add:0,Delete:1,None:2};M[M.Add]="Add",M[M.Delete]="Delete",M[M.None]="None";var T=function(){function t(t,e,o,r,i,c){this.platformId=t,this.shortcuts=e,this.keyboardEvents=o,this.hostElementRef=r,this.renderer=i,this.ngZone=c,this.selectOnDrag=!0,this.disabled=!1,this.disableDrag=!1,this.disableRangeSelection=!1,this.selectMode=!1,this.selectWithShortcut=!1,this.custom=!1,this.selectedItemsChange=new n.EventEmitter,this.select=new n.EventEmitter,this.itemSelected=new n.EventEmitter,this.itemDeselected=new n.EventEmitter,this.selectionStarted=new n.EventEmitter,this.selectionEnded=new n.EventEmitter,this._tmpItems=new Map,this._selectedItems$=new s.BehaviorSubject([]),this._selectableItems=[],this.updateItems$=new s.Subject,this.destroy$=new s.Subject,this._lastRange=[-1,-1],this._lastStartIndex=void 0,this._newRangeStart=!1,this._lastRangeSelection=new Map}return t.prototype.ngAfterViewInit=function(){var t,n=this;if(e.isPlatformBrowser(this.platformId)){this.host=this.hostElementRef.nativeElement,this._initSelectedItemsChange(),this._calculateBoundingClientRect(),this._observeBoundingRectChanges(),this._observeSelectableItems();var r=this.keyboardEvents.mouseup$.pipe(o.filter((function(){return!n.disabled})),o.tap((function(){return n._onMouseUp()})),o.share()),c=this.keyboardEvents.mousemove$.pipe(o.filter((function(){return!n.disabled})),o.share()),l=s.fromEvent(this.host,"mousedown").pipe(o.filter((function(t){return 0===t.button})),o.filter((function(){return!n.disabled})),o.tap((function(t){return n._onMouseDown(t)})),o.share()),a=l.pipe(o.filter((function(t){return!n.shortcuts.disableSelection(t)})),o.filter((function(){return!n.selectMode})),o.filter((function(){return!n.disableDrag})),o.switchMap((function(){return c.pipe(o.takeUntil(r))})),o.share()),u=l.pipe(o.map((function(t){return g(t,n.host)}))),h=a.pipe(o.mapTo(1)),p=r.pipe(o.mapTo(0)),m=s.merge(h,p).pipe(o.distinctUntilChanged()),f=s.combineLatest([a,m,u]).pipe((t=this.host,function(e){return e.pipe(o.map((function(e){var n=i(e,3),s=n[0],o=n[1],r=n[2],c=r.x,l=r.y,a=g(s,t),u=o>0?a.x-c:0,d=o>0?a.y-l:0;return{top:d<0?a.y:l,left:u<0?a.x:c,width:Math.abs(u),height:Math.abs(d),opacity:o}})))}),o.share());this.selectBoxClasses$=s.merge(a,r,this.keyboardEvents.distinctKeydown$,this.keyboardEvents.distinctKeyup$).pipe(o.auditTime(16),o.withLatestFrom(f),o.map((function(t){var e=i(t,2),s=e[0],o=e[1];return{"dts-adding":d(o,0,0)&&!n.shortcuts.removeFromSelection(s),"dts-removing":n.shortcuts.removeFromSelection(s)}})),o.distinctUntilChanged((function(t,e){return JSON.stringify(t)===JSON.stringify(e)})));var y=a.pipe(o.filter((function(){return!n.selectOnDrag})),o.filter((function(){return!n.selectMode})),o.filter((function(t){return n._cursorWithinHost(t)})),o.switchMap((function(t){return r.pipe(o.first())})),o.filter((function(t){return!n.shortcuts.disableSelection(t)&&!n.shortcuts.toggleSingleItem(t)||n.shortcuts.removeFromSelection(t)}))),S=f.pipe(o.auditTime(16),o.withLatestFrom(c,(function(t,e){return{selectBox:t,event:e}})),o.filter((function(){return n.selectOnDrag})),o.filter((function(t){var e=t.selectBox;return d(e)})),o.map((function(t){return t.event}))),v=s.merge(this.keyboardEvents.distinctKeydown$,this.keyboardEvents.distinctKeyup$).pipe(o.auditTime(16),function(t){return function(e){return e.pipe(o.withLatestFrom(t),o.filter((function(t){var e=i(t,2)[1];return d(e,0,0)})),o.map((function(t){var e=i(t,2),n=e[0];e[1];return n})))}}(f),o.tap((function(t){n._isExtendedSelection(t)?n._tmpItems.clear():n._flushItems()})));s.merge(y,S,v).pipe(o.takeUntil(this.destroy$)).subscribe((function(t){return n._selectItems(t)})),this.selectBoxStyles$=f.pipe(o.map((function(t){return{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px",opacity:t.opacity}}))),this._initSelectionOutputs(l,r)}},t.prototype.ngAfterContentInit=function(){this._selectableItems=this.$selectableItems.toArray()},t.prototype.selectAll=function(){var t=this;this.$selectableItems.forEach((function(e){t._selectItem(e)}))},t.prototype.toggleItems=function(t){var e=this;this._filterSelectableItems(t).subscribe((function(t){return e._toggleItem(t)}))},t.prototype.selectItems=function(t){var e=this;this._filterSelectableItems(t).subscribe((function(t){return e._selectItem(t)}))},t.prototype.deselectItems=function(t){var e=this;this._filterSelectableItems(t).subscribe((function(t){return e._deselectItem(t)}))},t.prototype.clearSelection=function(){var t=this;this.$selectableItems.forEach((function(e){t._deselectItem(e)}))},t.prototype.update=function(){this._calculateBoundingClientRect(),this.$selectableItems.forEach((function(t){return t.calculateBoundingClientRect()}))},t.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},t.prototype._filterSelectableItems=function(t){return s.from(this._selectableItems).pipe(o.filter((function(e){return t(e.value)})))},t.prototype._initSelectedItemsChange=function(){var t=this;this._selectedItems$.pipe(o.auditTime(16),o.takeUntil(this.destroy$)).subscribe({next:function(e){t.selectedItemsChange.emit(e),t.select.emit(e)},complete:function(){t.selectedItemsChange.emit([])}})},t.prototype._observeSelectableItems=function(){var t=this;this.updateItems$.pipe(o.withLatestFrom(this._selectedItems$),o.takeUntil(this.destroy$)).subscribe((function(e){var n=i(e,2),s=n[0],o=n[1],r=s.item;switch(s.type){case O.Add:t._addItem(r,o)&&r._select();break;case O.Remove:t._removeItem(r,o)&&r._deselect()}})),this.$selectableItems.changes.pipe(o.withLatestFrom(this._selectedItems$),o.observeOn(s.asyncScheduler),o.takeUntil(this.destroy$)).subscribe((function(e){var n=i(e,2),s=n[0],o=n[1],r=s.toArray();t._selectableItems=r;var c=o.filter((function(t){return!r.includes(t.value)}));c.length&&c.forEach((function(e){return t._removeItem(e,o)})),t.update()}))},t.prototype._observeBoundingRectChanges=function(){var t=this;this.ngZone.runOutsideAngular((function(){var e=s.fromEvent(window,"resize"),n=s.fromEvent(window,"scroll"),r=s.fromEvent(t.host,"scroll");s.merge(e,n,r).pipe(o.startWith("INITIAL_UPDATE"),o.auditTime(16),o.takeUntil(t.destroy$)).subscribe((function(){t.update()}))}))},t.prototype._initSelectionOutputs=function(t,e){var n=this;t.pipe(o.filter((function(t){return n._cursorWithinHost(t)})),o.tap((function(){return n.selectionStarted.emit()})),o.concatMapTo(e.pipe(o.first())),o.withLatestFrom(this._selectedItems$),o.map((function(t){return i(t,2)[1]})),o.takeUntil(this.destroy$)).subscribe((function(t){n.selectionEnded.emit(t)}))},t.prototype._calculateBoundingClientRect=function(){this.host.boundingClientRect=m(this.host)},t.prototype._cursorWithinHost=function(t){return function(t,e){var n=f(t);return h(n,m(e))}(t,this.host)},t.prototype._onMouseUp=function(){this._flushItems(),this.renderer.removeClass(document.body,"dts-no-select")},t.prototype._onMouseDown=function(t){var e=this;if(!this.shortcuts.disableSelection(t)&&!this.disabled&&(function(t){var e=t.getSelection();e&&(e.removeAllRanges?e.removeAllRanges():e.empty&&e.empty())}(window),this.disableDrag||this.renderer.addClass(document.body,"dts-no-select"),!this.shortcuts.removeFromSelection(t))){var n=f(t),s=i(this._getClosestSelectItem(t),2),o=s[0],r=s[1],c=i(this._lastRange,2),l=c[0],a=c[1],u=this.shortcuts.moveRangeStart(t),d=!this.shortcuts.extendedSelectionShortcut(t)||u||this.disableRangeSelection;d&&this._resetRangeStart(),d&&!this.disableRangeSelection&&(o>-1?(this._newRangeStart=!0,this._lastStartIndex=o,r.toggleRangeStart(),this._lastRangeSelection.clear()):this._lastStartIndex=-1),o>-1&&(l=Math.min(this._lastStartIndex,o),a=Math.max(this._lastStartIndex,o),this._lastRange=[l,a]),u||(this.$selectableItems.forEach((function(s,r){var i=s.getBoundingClientRect(),c=h(n,i);if(!e.shortcuts.extendedSelectionShortcut(t)||!e.disableRangeSelection){var u=e.shortcuts.extendedSelectionShortcut(t)&&l>-1&&a>-1&&r>=l&&r<=a&&l!==a,d=c&&!e.shortcuts.toggleSingleItem(t)&&!e.selectMode&&!e.selectWithShortcut||e.shortcuts.extendedSelectionShortcut(t)&&s.selected&&!e._lastRangeSelection.get(s)||u||c&&e.shortcuts.toggleSingleItem(t)&&!s.selected||!c&&e.shortcuts.toggleSingleItem(t)&&s.selected||c&&!s.selected&&e.selectMode||!c&&s.selected&&e.selectMode,p=!c&&!e.shortcuts.toggleSingleItem(t)&&!e.selectMode&&!e.shortcuts.extendedSelectionShortcut(t)&&!e.selectWithShortcut||e.shortcuts.extendedSelectionShortcut(t)&&o>-1||!c&&e.shortcuts.toggleSingleItem(t)&&!s.selected||c&&e.shortcuts.toggleSingleItem(t)&&s.selected||!c&&!s.selected&&e.selectMode||c&&s.selected&&e.selectMode;d?e._selectItem(s):p&&e._deselectItem(s),u&&!e._lastRangeSelection.get(s)?e._lastRangeSelection.set(s,!0):u||e._newRangeStart||s.selected||e._lastRangeSelection.delete(s)}})),this.shortcuts.toggleSingleItem(t)||(this._newRangeStart=!1))}},t.prototype._selectItems=function(t){var e=this,n=m(this.$selectBox.nativeElement);this.$selectableItems.forEach((function(s,o){e._isExtendedSelection(t)?e._extendedSelectionMode(n,s,t):(e._normalSelectionMode(n,s,t),e._lastStartIndex<0&&s.selected&&(s.toggleRangeStart(),e._lastStartIndex=o))}))},t.prototype._isExtendedSelection=function(t){return this.shortcuts.extendedSelectionShortcut(t)&&this.selectOnDrag},t.prototype._normalSelectionMode=function(t,e,n){var s=p(t,e.getBoundingClientRect()),o=s&&!e.selected&&!this.shortcuts.removeFromSelection(n),r=!s&&e.selected&&!this.shortcuts.addToSelection(n)||s&&e.selected&&this.shortcuts.removeFromSelection(n);o?this._selectItem(e):r&&this._deselectItem(e)},t.prototype._extendedSelectionMode=function(t,e,n){var s=p(t,e.getBoundingClientRect()),o=s&&!e.selected&&!this.shortcuts.removeFromSelection(n)&&!this._tmpItems.has(e)||s&&e.selected&&this.shortcuts.removeFromSelection(n)&&!this._tmpItems.has(e),r=!s&&e.selected&&this.shortcuts.addToSelection(n)&&this._tmpItems.has(e)||!s&&!e.selected&&this.shortcuts.removeFromSelection(n)&&this._tmpItems.has(e);if(o){e.selected?e._deselect():e._select();var i=this.shortcuts.removeFromSelection(n)?M.Delete:this.shortcuts.addToSelection(n)?M.Add:M.None;this._tmpItems.set(e,i)}else r&&(this.shortcuts.removeFromSelection(n)?e._select():e._deselect(),this._tmpItems.delete(e))},t.prototype._flushItems=function(){var t=this;this._tmpItems.forEach((function(e,n){e===M.Add&&t._selectItem(n),e===M.Delete&&t._deselectItem(n)})),this._tmpItems.clear()},t.prototype._addItem=function(t,e){var n=!1;return this._hasItem(t,e)||(n=!0,e.push(t.value),this._selectedItems$.next(e),this.itemSelected.emit(t.value)),n},t.prototype._removeItem=function(t,e){var n=!1,s=t instanceof E?t.value:t,o=e.indexOf(s);return o>-1&&(n=!0,e.splice(o,1),this._selectedItems$.next(e),this.itemDeselected.emit(t.value)),n},t.prototype._toggleItem=function(t){t.selected?this._deselectItem(t):this._selectItem(t)},t.prototype._selectItem=function(t){this.updateItems$.next({type:O.Add,item:t})},t.prototype._deselectItem=function(t){this.updateItems$.next({type:O.Remove,item:t})},t.prototype._hasItem=function(t,e){return e.includes(t.value)},t.prototype._getClosestSelectItem=function(t){var e=t.target.closest(".dts-select-item"),n=-1,s=null;return e&&(s=e[b],n=this._selectableItems.indexOf(s)),[n,s]},t.prototype._resetRangeStart=function(){this._lastRange=[-1,-1];var t=this._getLastRangeSelection();t&&t.rangeStart&&t.toggleRangeStart()},t.prototype._getLastRangeSelection=function(){return this._lastStartIndex>=0?this._selectableItems[this._lastStartIndex]:null},t.decorators=[{type:n.Component,args:[{selector:"dts-select-container",exportAs:"dts-select-container",host:{class:"dts-select-container"},template:'\n <ng-content></ng-content>\n <div\n class="dts-select-box"\n #selectBox\n [ngClass]="selectBoxClasses$ | async"\n [ngStyle]="selectBoxStyles$ | async"\n ></div>\n ',styles:[":host{display:block;position:relative}"]}]}],t.ctorParameters=function(){return[{type:Object,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:$},{type:S},{type:n.ElementRef},{type:n.Renderer2},{type:n.NgZone}]},t.propDecorators={$selectBox:[{type:n.ViewChild,args:["selectBox",{static:!0}]}],$selectableItems:[{type:n.ContentChildren,args:[E,{descendants:!0}]}],selectedItems:[{type:n.Input}],selectOnDrag:[{type:n.Input}],disabled:[{type:n.Input}],disableDrag:[{type:n.Input}],disableRangeSelection:[{type:n.Input}],selectMode:[{type:n.Input}],selectWithShortcut:[{type:n.Input}],custom:[{type:n.Input},{type:n.HostBinding,args:["class.dts-custom"]}],selectedItemsChange:[{type:n.Output}],select:[{type:n.Output}],itemSelected:[{type:n.Output}],itemDeselected:[{type:n.Output}],selectionStarted:[{type:n.Output}],selectionEnded:[{type:n.Output}]},t}();var F=[T,E];function j(t){return u(l,t)}var D=function(){function t(){}return t.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[$,S,{provide:I,useValue:e},{provide:_,useFactory:j,deps:[I]}]}},t.decorators=[{type:n.NgModule,args:[{imports:[e.CommonModule],declarations:c(F),exports:c(F)}]}],t}();t.CONFIG_FACTORY=j,t.DragToSelectModule=D,t.SELECT_ITEM_INSTANCE=b,t.SelectContainerComponent=T,t.SelectItemDirective=E,t.ɵa=u,t.ɵb=l,t.ɵc=_,t.ɵd=I,t.ɵf=$,t.ɵg=S,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-drag-to-select.umd.min.js.map

5

esm2015/lib/config.js
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -9,2 +9,3 @@ /** @type {?} */

shortcuts: {
moveRangeStart: 'shift+r',
disableSelection: 'alt',

@@ -16,2 +17,2 @@ toggleSingleItem: 'meta',

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE1BQU0sT0FBTyxjQUFjLEdBQXVCO0lBQ2hELGFBQWEsRUFBRSxVQUFVO0lBQ3pCLFNBQVMsRUFBRTtRQUNULGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixjQUFjLEVBQUUsT0FBTztRQUN2QixtQkFBbUIsRUFBRSxZQUFZO0tBQ2xDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogRHJhZ1RvU2VsZWN0Q29uZmlnID0ge1xuICBzZWxlY3RlZENsYXNzOiAnc2VsZWN0ZWQnLFxuICBzaG9ydGN1dHM6IHtcbiAgICBkaXNhYmxlU2VsZWN0aW9uOiAnYWx0JyxcbiAgICB0b2dnbGVTaW5nbGVJdGVtOiAnbWV0YScsXG4gICAgYWRkVG9TZWxlY3Rpb246ICdzaGlmdCcsXG4gICAgcmVtb3ZlRnJvbVNlbGVjdGlvbjogJ3NoaWZ0K21ldGEnXG4gIH1cbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE1BQU0sT0FBTyxjQUFjLEdBQXVCO0lBQ2hELGFBQWEsRUFBRSxVQUFVO0lBQ3pCLFNBQVMsRUFBRTtRQUNULGNBQWMsRUFBRSxTQUFTO1FBQ3pCLGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixjQUFjLEVBQUUsT0FBTztRQUN2QixtQkFBbUIsRUFBRSxZQUFZO0tBQ2xDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogRHJhZ1RvU2VsZWN0Q29uZmlnID0ge1xuICBzZWxlY3RlZENsYXNzOiAnc2VsZWN0ZWQnLFxuICBzaG9ydGN1dHM6IHtcbiAgICBtb3ZlUmFuZ2VTdGFydDogJ3NoaWZ0K3InLFxuICAgIGRpc2FibGVTZWxlY3Rpb246ICdhbHQnLFxuICAgIHRvZ2dsZVNpbmdsZUl0ZW06ICdtZXRhJyxcbiAgICBhZGRUb1NlbGVjdGlvbjogJ3NoaWZ0JyxcbiAgICByZW1vdmVGcm9tU2VsZWN0aW9uOiAnc2hpZnQrbWV0YSdcbiAgfVxufTtcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ /** @type {?} */

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DEFAULT_CONFIG } from './config';
import { KeyboardEventsService } from './keyboard-events.service';
import { SelectContainerComponent } from './select-container.component';

@@ -11,3 +13,2 @@ import { SelectItemDirective } from './select-item.directive';

import { CONFIG, USER_CONFIG } from './tokens';
import { DEFAULT_CONFIG } from './config';
import { mergeDeep } from './utils';

@@ -33,2 +34,3 @@ /** @type {?} */

ShortcutService,
KeyboardEventsService,
{ provide: USER_CONFIG, useValue: config },

@@ -51,2 +53,2 @@ {

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy10by1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2RyYWctdG8tc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7O01BRTlCLFVBQVUsR0FBRyxDQUFDLHdCQUF3QixFQUFFLG1CQUFtQixDQUFDOzs7OztBQUVsRSxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQW1DO0lBQ2hFLE9BQU8sU0FBUyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBT0QsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFzQyxFQUFFO1FBQ3JELE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxlQUFlO2dCQUNmLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUMxQztvQkFDRSxPQUFPLEVBQUUsTUFBTTtvQkFDZixVQUFVLEVBQUUsY0FBYztvQkFDMUIsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUNwQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQW5CRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztnQkFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU2VsZWN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3QtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2hvcnRjdXRTZXJ2aWNlIH0gZnJvbSAnLi9zaG9ydGN1dC5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENPTkZJRywgVVNFUl9DT05GSUcgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBERUZBVUxUX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IG1lcmdlRGVlcCB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1NlbGVjdENvbnRhaW5lckNvbXBvbmVudCwgU2VsZWN0SXRlbURpcmVjdGl2ZV07XG5cbmV4cG9ydCBmdW5jdGlvbiBDT05GSUdfRkFDVE9SWShjb25maWc6IFBhcnRpYWw8RHJhZ1RvU2VsZWN0Q29uZmlnPikge1xuICByZXR1cm4gbWVyZ2VEZWVwKERFRkFVTFRfQ09ORklHLCBjb25maWcpO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UU10sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTXVxufSlcbmV4cG9ydCBjbGFzcyBEcmFnVG9TZWxlY3RNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IFBhcnRpYWw8RHJhZ1RvU2VsZWN0Q29uZmlnPiA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEcmFnVG9TZWxlY3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgU2hvcnRjdXRTZXJ2aWNlLFxuICAgICAgICB7IHByb3ZpZGU6IFVTRVJfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDT05GSUcsXG4gICAgICAgICAgdXNlRmFjdG9yeTogQ09ORklHX0ZBQ1RPUlksXG4gICAgICAgICAgZGVwczogW1VTRVJfQ09ORklHXVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy10by1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2RyYWctdG8tc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7O01BRTlCLFVBQVUsR0FBRyxDQUFDLHdCQUF3QixFQUFFLG1CQUFtQixDQUFDOzs7OztBQUVsRSxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQW1DO0lBQ2hFLE9BQU8sU0FBUyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBT0QsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFzQyxFQUFFO1FBQ3JELE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxlQUFlO2dCQUNmLHFCQUFxQjtnQkFDckIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQzFDO29CQUNFLE9BQU8sRUFBRSxNQUFNO29CQUNmLFVBQVUsRUFBRSxjQUFjO29CQUMxQixJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7aUJBQ3BCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBcEJGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2dCQUM3QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREVGQVVMVF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBLZXlib2FyZEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuL2tleWJvYXJkLWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFNlbGVjdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNob3J0Y3V0U2VydmljZSB9IGZyb20gJy4vc2hvcnRjdXQuc2VydmljZSc7XG5pbXBvcnQgeyBDT05GSUcsIFVTRVJfQ09ORklHIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHsgbWVyZ2VEZWVwIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbU2VsZWN0Q29udGFpbmVyQ29tcG9uZW50LCBTZWxlY3RJdGVtRGlyZWN0aXZlXTtcblxuZXhwb3J0IGZ1bmN0aW9uIENPTkZJR19GQUNUT1JZKGNvbmZpZzogUGFydGlhbDxEcmFnVG9TZWxlY3RDb25maWc+KSB7XG4gIHJldHVybiBtZXJnZURlZXAoREVGQVVMVF9DT05GSUcsIGNvbmZpZyk7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdUb1NlbGVjdE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUGFydGlhbDxEcmFnVG9TZWxlY3RDb25maWc+ID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERyYWdUb1NlbGVjdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBTaG9ydGN1dFNlcnZpY2UsXG4gICAgICAgIEtleWJvYXJkRXZlbnRzU2VydmljZSxcbiAgICAgICAgeyBwcm92aWRlOiBVU0VSX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ09ORklHLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IENPTkZJR19GQUNUT1JZLFxuICAgICAgICAgIGRlcHM6IFtVU0VSX0NPTkZJR11cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -48,2 +48,4 @@ /** @enum {number} */

/** @type {?} */
Shortcuts.prototype.moveRangeStart;
/** @type {?} */
Shortcuts.prototype.disableSelection;

@@ -118,2 +120,2 @@ /** @type {?} */

Action[Action.None] = 'None';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7SUFNRSxNQUFHO0lBQ0gsU0FBTTs7Ozs7Ozs7QUFHUixrQ0FHQzs7O0lBRkMsNEJBQW9COztJQUNwQiw0QkFBMEI7Ozs7OztBQUc1QixxQ0FHQzs7O0lBRkMsaUNBQXdCOztJQUN4QixnQ0FBUzs7Ozs7QUFHWCx5Q0FFQzs7O0lBREMsaURBQWdDOzs7OztBQUdsQywrQkFLQzs7O0lBSkMscUNBQXlCOztJQUN6QixxQ0FBeUI7O0lBQ3pCLG1DQUF1Qjs7SUFDdkIsd0NBQTRCOzs7OztBQUc5Qix3Q0FHQzs7O0lBRkMsMkNBQXNCOztJQUN0Qix1Q0FBOEI7Ozs7O0FBR2hDLG1DQUdDOzs7SUFGQywwQkFBVTs7SUFDViwwQkFBVTs7Ozs7QUFHWixpQ0FLQzs7O0lBSkMsMEJBQVk7O0lBQ1osMkJBQWE7O0lBQ2IsNEJBQWM7O0lBQ2QsNkJBQWU7Ozs7OztBQUtqQiwrQkFNQzs7O0lBTEMsd0JBQU87O0lBQ1AseUJBQVE7O0lBQ1IsMEJBQVM7O0lBQ1QsMkJBQVU7O0lBQ1YsNEJBQWdCOzs7O0lBSWhCLE1BQUc7SUFDSCxTQUFNO0lBQ04sT0FBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlbGVjdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIFByZWRpY2F0ZUZuPFQ+ID0gKGl0ZW06IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBlbnVtIFVwZGF0ZUFjdGlvbnMge1xuICBBZGQsXG4gIFJlbW92ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUFjdGlvbiB7XG4gIHR5cGU6IFVwZGF0ZUFjdGlvbnM7XG4gIGl0ZW06IFNlbGVjdEl0ZW1EaXJlY3RpdmU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JzZXJ2YWJsZVByb3h5PFQ+IHtcbiAgcHJveHkkOiBPYnNlcnZhYmxlPGFueT47XG4gIHByb3h5OiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdENvbnRhaW5lckhvc3QgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIGJvdW5kaW5nQ2xpZW50UmVjdDogQm91bmRpbmdCb3g7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hvcnRjdXRzIHtcbiAgZGlzYWJsZVNlbGVjdGlvbjogc3RyaW5nO1xuICB0b2dnbGVTaW5nbGVJdGVtOiBzdHJpbmc7XG4gIGFkZFRvU2VsZWN0aW9uOiBzdHJpbmc7XG4gIHJlbW92ZUZyb21TZWxlY3Rpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFnVG9TZWxlY3RDb25maWcge1xuICBzZWxlY3RlZENsYXNzOiBzdHJpbmc7XG4gIHNob3J0Y3V0czogUGFydGlhbDxTaG9ydGN1dHM+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vdXNlUG9zaXRpb24ge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3VuZGluZ0JveCB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RCb3hJbnB1dCA9IFtNb3VzZUV2ZW50LCBudW1iZXIsIE1vdXNlUG9zaXRpb25dO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEJveDxUPiB7XG4gIHRvcDogVDtcbiAgbGVmdDogVDtcbiAgd2lkdGg6IFQ7XG4gIGhlaWdodDogVDtcbiAgb3BhY2l0eTogbnVtYmVyO1xufVxuXG5leHBvcnQgZW51bSBBY3Rpb24ge1xuICBBZGQsXG4gIERlbGV0ZSxcbiAgTm9uZVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7SUFNRSxNQUFHO0lBQ0gsU0FBTTs7Ozs7Ozs7QUFHUixrQ0FHQzs7O0lBRkMsNEJBQW9COztJQUNwQiw0QkFBMEI7Ozs7OztBQUc1QixxQ0FHQzs7O0lBRkMsaUNBQXdCOztJQUN4QixnQ0FBUzs7Ozs7QUFHWCx5Q0FFQzs7O0lBREMsaURBQWdDOzs7OztBQUdsQywrQkFNQzs7O0lBTEMsbUNBQXVCOztJQUN2QixxQ0FBeUI7O0lBQ3pCLHFDQUF5Qjs7SUFDekIsbUNBQXVCOztJQUN2Qix3Q0FBNEI7Ozs7O0FBRzlCLHdDQUdDOzs7SUFGQywyQ0FBc0I7O0lBQ3RCLHVDQUE4Qjs7Ozs7QUFHaEMsbUNBR0M7OztJQUZDLDBCQUFVOztJQUNWLDBCQUFVOzs7OztBQUdaLGlDQUtDOzs7SUFKQywwQkFBWTs7SUFDWiwyQkFBYTs7SUFDYiw0QkFBYzs7SUFDZCw2QkFBZTs7Ozs7O0FBS2pCLCtCQU1DOzs7SUFMQyx3QkFBTzs7SUFDUCx5QkFBUTs7SUFDUiwwQkFBUzs7SUFDVCwyQkFBVTs7SUFDViw0QkFBZ0I7Ozs7SUFJaEIsTUFBRztJQUNILFNBQU07SUFDTixPQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgUHJlZGljYXRlRm48VD4gPSAoaXRlbTogVCkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGVudW0gVXBkYXRlQWN0aW9ucyB7XG4gIEFkZCxcbiAgUmVtb3ZlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQWN0aW9uIHtcbiAgdHlwZTogVXBkYXRlQWN0aW9ucztcbiAgaXRlbTogU2VsZWN0SXRlbURpcmVjdGl2ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmxlUHJveHk8VD4ge1xuICBwcm94eSQ6IE9ic2VydmFibGU8YW55PjtcbiAgcHJveHk6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Q29udGFpbmVySG9zdCBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgYm91bmRpbmdDbGllbnRSZWN0OiBCb3VuZGluZ0JveDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaG9ydGN1dHMge1xuICBtb3ZlUmFuZ2VTdGFydDogc3RyaW5nO1xuICBkaXNhYmxlU2VsZWN0aW9uOiBzdHJpbmc7XG4gIHRvZ2dsZVNpbmdsZUl0ZW06IHN0cmluZztcbiAgYWRkVG9TZWxlY3Rpb246IHN0cmluZztcbiAgcmVtb3ZlRnJvbVNlbGVjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyYWdUb1NlbGVjdENvbmZpZyB7XG4gIHNlbGVjdGVkQ2xhc3M6IHN0cmluZztcbiAgc2hvcnRjdXRzOiBQYXJ0aWFsPFNob3J0Y3V0cz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW91c2VQb3NpdGlvbiB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdW5kaW5nQm94IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEJveElucHV0ID0gW01vdXNlRXZlbnQsIG51bWJlciwgTW91c2VQb3NpdGlvbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Qm94PFQ+IHtcbiAgdG9wOiBUO1xuICBsZWZ0OiBUO1xuICB3aWR0aDogVDtcbiAgaGVpZ2h0OiBUO1xuICBvcGFjaXR5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvbiB7XG4gIEFkZCxcbiAgRGVsZXRlLFxuICBOb25lXG59XG4iXX0=
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { filter, map, withLatestFrom, distinctUntilChanged } from 'rxjs/operators';
import { distinctUntilChanged, filter, map, withLatestFrom } from 'rxjs/operators';
import { getRelativeMousePosition, hasMinimumSize } from './utils';
/** @type {?} */
export const createSelectBox = (container) => (source) => source.pipe(map(([event, opacity, { x, y }]) => {
export const createSelectBox = (/**
* @param {?} container
* @return {?}
*/
(container) => (/**
* @param {?} source
* @return {?}
*/
(source) => source.pipe(map((/**
* @param {?} __0
* @return {?}
*/
([event, opacity, { x, y }]) => {
// Type annotation is required here, because `getRelativeMousePosition` returns a `MousePosition`,

@@ -24,9 +36,37 @@ // the TS compiler cannot figure out the shape of this type.

};
}));
})))));
/** @type {?} */
export const whenSelectBoxVisible = (selectBox$) => (source) => source.pipe(withLatestFrom(selectBox$), filter(([, selectBox]) => hasMinimumSize(selectBox, 0, 0)), map(([event, _]) => event));
export const whenSelectBoxVisible = (/**
* @param {?} selectBox$
* @return {?}
*/
(selectBox$) => (/**
* @param {?} source
* @return {?}
*/
(source) => source.pipe(withLatestFrom(selectBox$), filter((/**
* @param {?} __0
* @return {?}
*/
([, selectBox]) => hasMinimumSize(selectBox, 0, 0))), map((/**
* @param {?} __0
* @return {?}
*/
([event, _]) => event)))));
/** @type {?} */
export const distinctKeyEvents = () => (source) => source.pipe(distinctUntilChanged((prev, curr) => {
return prev.keyCode === curr.keyCode;
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFbkUsTUFBTSxPQUFPLGVBQWUsR0FBRyxDQUFDLFNBQThCLEVBQUUsRUFBRSxDQUFDLENBQ2pFLE1BQWtDLEVBQ0gsRUFBRSxDQUNqQyxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Ozs7VUFHM0IsYUFBYSxHQUFrQix3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDOztVQUV6RSxLQUFLLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O1VBQzdDLE1BQU0sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUN4QixPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUNIOztBQUVILE1BQU0sT0FBTyxvQkFBb0IsR0FBRyxDQUFDLFVBQXlDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBeUIsRUFBRSxFQUFFLENBQy9HLE1BQU0sQ0FBQyxJQUFJLENBQ1QsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUMxQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQzFELEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDM0I7O0FBRUgsTUFBTSxPQUFPLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBaUMsRUFBRSxFQUFFLENBQzNFLE1BQU0sQ0FBQyxJQUFJLENBQ1Qsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7SUFDbEMsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBwaXBlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgd2l0aExhdGVzdEZyb20sIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTW91c2VQb3NpdGlvbiwgU2VsZWN0Qm94LCBTZWxlY3RCb3hJbnB1dCwgU2VsZWN0Q29udGFpbmVySG9zdCB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IGdldFJlbGF0aXZlTW91c2VQb3NpdGlvbiwgaGFzTWluaW11bVNpemUgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNlbGVjdEJveCA9IChjb250YWluZXI6IFNlbGVjdENvbnRhaW5lckhvc3QpID0+IChcbiAgc291cmNlOiBPYnNlcnZhYmxlPFNlbGVjdEJveElucHV0PlxuKTogT2JzZXJ2YWJsZTxTZWxlY3RCb3g8bnVtYmVyPj4gPT5cbiAgc291cmNlLnBpcGUoXG4gICAgbWFwKChbZXZlbnQsIG9wYWNpdHksIHsgeCwgeSB9XSkgPT4ge1xuICAgICAgLy8gVHlwZSBhbm5vdGF0aW9uIGlzIHJlcXVpcmVkIGhlcmUsIGJlY2F1c2UgYGdldFJlbGF0aXZlTW91c2VQb3NpdGlvbmAgcmV0dXJucyBhIGBNb3VzZVBvc2l0aW9uYCxcbiAgICAgIC8vIHRoZSBUUyBjb21waWxlciBjYW5ub3QgZmlndXJlIG91dCB0aGUgc2hhcGUgb2YgdGhpcyB0eXBlLlxuICAgICAgY29uc3QgbW91c2VQb3NpdGlvbjogTW91c2VQb3NpdGlvbiA9IGdldFJlbGF0aXZlTW91c2VQb3NpdGlvbihldmVudCwgY29udGFpbmVyKTtcblxuICAgICAgY29uc3Qgd2lkdGggPSBvcGFjaXR5ID4gMCA/IG1vdXNlUG9zaXRpb24ueCAtIHggOiAwO1xuICAgICAgY29uc3QgaGVpZ2h0ID0gb3BhY2l0eSA+IDAgPyBtb3VzZVBvc2l0aW9uLnkgLSB5IDogMDtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdG9wOiBoZWlnaHQgPCAwID8gbW91c2VQb3NpdGlvbi55IDogeSxcbiAgICAgICAgbGVmdDogd2lkdGggPCAwID8gbW91c2VQb3NpdGlvbi54IDogeCxcbiAgICAgICAgd2lkdGg6IE1hdGguYWJzKHdpZHRoKSxcbiAgICAgICAgaGVpZ2h0OiBNYXRoLmFicyhoZWlnaHQpLFxuICAgICAgICBvcGFjaXR5XG4gICAgICB9O1xuICAgIH0pXG4gICk7XG5cbmV4cG9ydCBjb25zdCB3aGVuU2VsZWN0Qm94VmlzaWJsZSA9IChzZWxlY3RCb3gkOiBPYnNlcnZhYmxlPFNlbGVjdEJveDxudW1iZXI+PikgPT4gKHNvdXJjZTogT2JzZXJ2YWJsZTxFdmVudD4pID0+XG4gIHNvdXJjZS5waXBlKFxuICAgIHdpdGhMYXRlc3RGcm9tKHNlbGVjdEJveCQpLFxuICAgIGZpbHRlcigoWywgc2VsZWN0Qm94XSkgPT4gaGFzTWluaW11bVNpemUoc2VsZWN0Qm94LCAwLCAwKSksXG4gICAgbWFwKChbZXZlbnQsIF9dKSA9PiBldmVudClcbiAgKTtcblxuZXhwb3J0IGNvbnN0IGRpc3RpbmN0S2V5RXZlbnRzID0gKCkgPT4gKHNvdXJjZTogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50PikgPT5cbiAgc291cmNlLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgIHJldHVybiBwcmV2LmtleUNvZGUgPT09IGN1cnIua2V5Q29kZTtcbiAgICB9KVxuICApO1xuIl19
export const distinctKeyEvents = (/**
* @return {?}
*/
() => (/**
* @param {?} source
* @return {?}
*/
(source) => source.pipe(distinctUntilChanged((/**
* @param {?} prev
* @param {?} curr
* @return {?}
*/
(prev, curr) => {
return prev && curr && prev.code === curr.code;
})))));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFbkUsTUFBTSxPQUFPLGVBQWU7Ozs7QUFBRyxDQUFDLFNBQThCLEVBQUUsRUFBRTs7OztBQUFDLENBQ2pFLE1BQWtDLEVBQ0gsRUFBRSxDQUNqQyxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUc7Ozs7QUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Ozs7VUFHM0IsYUFBYSxHQUFrQix3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDOztVQUV6RSxLQUFLLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O1VBQzdDLE1BQU0sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUN4QixPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMsRUFBQyxDQUNILENBQUEsQ0FBQTs7QUFFSCxNQUFNLE9BQU8sb0JBQW9COzs7O0FBQUcsQ0FBQyxVQUF5QyxFQUFFLEVBQUU7Ozs7QUFBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRSxDQUMvRyxNQUFNLENBQUMsSUFBSSxDQUNULGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFDMUIsTUFBTTs7OztBQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxFQUMxRCxHQUFHOzs7O0FBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFDLENBQzNCLENBQUEsQ0FBQTs7QUFFSCxNQUFNLE9BQU8saUJBQWlCOzs7QUFBRyxHQUFHLEVBQUU7Ozs7QUFBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRSxDQUMzRSxNQUFNLENBQUMsSUFBSSxDQUNULG9CQUFvQjs7Ozs7QUFBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUNsQyxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ2pELENBQUMsRUFBQyxDQUNILENBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNb3VzZVBvc2l0aW9uLCBTZWxlY3RCb3gsIFNlbGVjdEJveElucHV0LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uLCBoYXNNaW5pbXVtU2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VsZWN0Qm94ID0gKGNvbnRhaW5lcjogU2VsZWN0Q29udGFpbmVySG9zdCkgPT4gKFxuICBzb3VyY2U6IE9ic2VydmFibGU8U2VsZWN0Qm94SW5wdXQ+XG4pOiBPYnNlcnZhYmxlPFNlbGVjdEJveDxudW1iZXI+PiA9PlxuICBzb3VyY2UucGlwZShcbiAgICBtYXAoKFtldmVudCwgb3BhY2l0eSwgeyB4LCB5IH1dKSA9PiB7XG4gICAgICAvLyBUeXBlIGFubm90YXRpb24gaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSBgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uYCByZXR1cm5zIGEgYE1vdXNlUG9zaXRpb25gLFxuICAgICAgLy8gdGhlIFRTIGNvbXBpbGVyIGNhbm5vdCBmaWd1cmUgb3V0IHRoZSBzaGFwZSBvZiB0aGlzIHR5cGUuXG4gICAgICBjb25zdCBtb3VzZVBvc2l0aW9uOiBNb3VzZVBvc2l0aW9uID0gZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uKGV2ZW50LCBjb250YWluZXIpO1xuXG4gICAgICBjb25zdCB3aWR0aCA9IG9wYWNpdHkgPiAwID8gbW91c2VQb3NpdGlvbi54IC0geCA6IDA7XG4gICAgICBjb25zdCBoZWlnaHQgPSBvcGFjaXR5ID4gMCA/IG1vdXNlUG9zaXRpb24ueSAtIHkgOiAwO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b3A6IGhlaWdodCA8IDAgPyBtb3VzZVBvc2l0aW9uLnkgOiB5LFxuICAgICAgICBsZWZ0OiB3aWR0aCA8IDAgPyBtb3VzZVBvc2l0aW9uLnggOiB4LFxuICAgICAgICB3aWR0aDogTWF0aC5hYnMod2lkdGgpLFxuICAgICAgICBoZWlnaHQ6IE1hdGguYWJzKGhlaWdodCksXG4gICAgICAgIG9wYWNpdHlcbiAgICAgIH07XG4gICAgfSlcbiAgKTtcblxuZXhwb3J0IGNvbnN0IHdoZW5TZWxlY3RCb3hWaXNpYmxlID0gKHNlbGVjdEJveCQ6IE9ic2VydmFibGU8U2VsZWN0Qm94PG51bWJlcj4+KSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPEV2ZW50PikgPT5cbiAgc291cmNlLnBpcGUoXG4gICAgd2l0aExhdGVzdEZyb20oc2VsZWN0Qm94JCksXG4gICAgZmlsdGVyKChbLCBzZWxlY3RCb3hdKSA9PiBoYXNNaW5pbXVtU2l6ZShzZWxlY3RCb3gsIDAsIDApKSxcbiAgICBtYXAoKFtldmVudCwgX10pID0+IGV2ZW50KVxuICApO1xuXG5leHBvcnQgY29uc3QgZGlzdGluY3RLZXlFdmVudHMgPSAoKSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+KSA9PlxuICBzb3VyY2UucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4ge1xuICAgICAgcmV0dXJuIHByZXYgJiYgY3VyciAmJiBwcmV2LmNvZGUgPT09IGN1cnIuY29kZTtcbiAgICB9KVxuICApO1xuIl19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { isPlatformBrowser } from '@angular/common';
import { Directive, ElementRef, Inject, Input, PLATFORM_ID, Renderer2 } from '@angular/core';
import { Directive, ElementRef, Inject, Input, PLATFORM_ID, Renderer2, HostBinding } from '@angular/core';
import { CONFIG } from './tokens';
import { calculateBoundingClientRect } from './utils';
/** @type {?} */
export const SELECT_ITEM_INSTANCE = Symbol();
export class SelectItemDirective {

@@ -22,2 +24,3 @@ /**

this.selected = false;
this.rangeStart = false;
}

@@ -34,5 +37,3 @@ /**

ngOnInit() {
if (isPlatformBrowser(this.platformId)) {
this.calculateBoundingClientRect();
}
this.nativeElememnt[SELECT_ITEM_INSTANCE] = this;
}

@@ -48,3 +49,18 @@ /**

*/
toggleRangeStart() {
this.rangeStart = !this.rangeStart;
}
/**
* @return {?}
*/
get nativeElememnt() {
return this.host.nativeElement;
}
/**
* @return {?}
*/
getBoundingClientRect() {
if (isPlatformBrowser(this.platformId) && !this._boundingClientRect) {
this.calculateBoundingClientRect();
}
return this._boundingClientRect;

@@ -56,3 +72,6 @@ }

calculateBoundingClientRect() {
this._boundingClientRect = calculateBoundingClientRect(this.host.nativeElement);
/** @type {?} */
const boundingBox = calculateBoundingClientRect(this.host.nativeElement);
this._boundingClientRect = boundingBox;
return boundingBox;
}

@@ -72,2 +91,3 @@ /**

/**
* @private
* @return {?}

@@ -96,3 +116,3 @@ */

{ type: undefined, decorators: [{ type: Inject, args: [CONFIG,] }] },
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
{ type: ElementRef },

@@ -102,6 +122,10 @@ { type: Renderer2 }

SelectItemDirective.propDecorators = {
rangeStart: [{ type: HostBinding, args: ['class.dts-range-start',] }],
dtsSelectItem: [{ type: Input }]
};
if (false) {
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype._boundingClientRect;

@@ -111,12 +135,26 @@ /** @type {?} */

/** @type {?} */
SelectItemDirective.prototype.rangeStart;
/** @type {?} */
SelectItemDirective.prototype.dtsSelectItem;
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.config;
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.platformId;
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.host;
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBRVYsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBU3RELE1BQU0sT0FBTyxtQkFBbUI7Ozs7Ozs7SUFZOUIsWUFDMEIsTUFBMEIsRUFDckIsVUFBVSxFQUMvQixJQUFnQixFQUNoQixRQUFtQjtRQUhILFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQ3JCLGVBQVUsR0FBVixVQUFVLENBQUE7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBYjdCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFjZCxDQUFDOzs7O0lBVEosSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQzs7OztJQVNELFFBQVE7UUFDTixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQzs7OztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDOzs7O0lBRUQsMkJBQTJCO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDOzs7O0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVFO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQy9FO0lBQ0gsQ0FBQzs7O1lBMURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUUsZUFBZTtnQkFDekIsSUFBSSxFQUFFO29CQUNKLEtBQUssRUFBRSxpQkFBaUI7aUJBQ3pCO2FBQ0Y7Ozs7NENBY0ksTUFBTSxTQUFDLE1BQU07NENBQ2IsTUFBTSxTQUFDLFdBQVc7WUFuQ3JCLFVBQVU7WUFPVixTQUFTOzs7NEJBbUJSLEtBQUs7Ozs7SUFKTixrREFBNEI7O0lBRTVCLHVDQUFpQjs7SUFFakIsNENBQ2M7O0lBT1oscUNBQWtEOztJQUNsRCx5Q0FBdUM7O0lBQ3ZDLG1DQUF3Qjs7SUFDeEIsdUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IGNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdCB9IGZyb20gJy4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZHRzU2VsZWN0SXRlbV0nLFxuICBleHBvcnRBczogJ2R0c1NlbGVjdEl0ZW0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkdHMtc2VsZWN0LWl0ZW0nXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjayB7XG4gIHByaXZhdGUgX2JvdW5kaW5nQ2xpZW50UmVjdDtcblxuICBzZWxlY3RlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGR0c1NlbGVjdEl0ZW07XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmR0c1NlbGVjdEl0ZW0gPyB0aGlzLmR0c1NlbGVjdEl0ZW0gOiB0aGlzO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDT05GSUcpIHByaXZhdGUgY29uZmlnOiBEcmFnVG9TZWxlY3RDb25maWcsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkLFxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICB0aGlzLmFwcGx5U2VsZWN0ZWRDbGFzcygpO1xuICB9XG5cbiAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkge1xuICAgIHJldHVybiB0aGlzLl9ib3VuZGluZ0NsaWVudFJlY3Q7XG4gIH1cblxuICBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoKSB7XG4gICAgdGhpcy5fYm91bmRpbmdDbGllbnRSZWN0ID0gY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0KHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIF9zZWxlY3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gIH1cblxuICBfZGVzZWxlY3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNlbGVjdGVkQ2xhc3MoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29uZmlnLnNlbGVjdGVkQ2xhc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbmZpZy5zZWxlY3RlZENsYXNzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUVULFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFdEQsTUFBTSxPQUFPLG9CQUFvQixHQUFHLE1BQU0sRUFBRTtBQVM1QyxNQUFNLE9BQU8sbUJBQW1COzs7Ozs7O0lBYTlCLFlBQzBCLE1BQTBCLEVBQ3JCLFVBQWtCLEVBQ3ZDLElBQWdCLEVBQ2hCLFFBQW1CO1FBSEgsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFkN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVxQixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBYXRELENBQUM7Ozs7SUFUSixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDOzs7O0lBU0QsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDbkQsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQzs7OztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pDLENBQUM7Ozs7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDbkUsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7U0FDcEM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDOzs7O0lBRUQsMkJBQTJCOztjQUNuQixXQUFXLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztRQUN2QyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7O0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQzs7Ozs7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDNUU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDL0U7SUFDSCxDQUFDOzs7WUF0RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLGlCQUFpQjtpQkFDekI7YUFDRjs7Ozs0Q0FlSSxNQUFNLFNBQUMsTUFBTTtZQUMyQixNQUFNLHVCQUE5QyxNQUFNLFNBQUMsV0FBVztZQXJDckIsVUFBVTtZQUlWLFNBQVM7Ozt5QkF1QlIsV0FBVyxTQUFDLHVCQUF1Qjs0QkFFbkMsS0FBSzs7Ozs7OztJQU5OLGtEQUFxRDs7SUFFckQsdUNBQWlCOztJQUVqQix5Q0FBeUQ7O0lBRXpELDRDQUF3Qzs7Ozs7SUFPdEMscUNBQWtEOzs7OztJQUNsRCx5Q0FBK0M7Ozs7O0lBQy9DLG1DQUF3Qjs7Ozs7SUFDeEIsdUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIE9uSW5pdCxcbiAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZywgQm91bmRpbmdCb3ggfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFNFTEVDVF9JVEVNX0lOU1RBTkNFID0gU3ltYm9sKCk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkdHNTZWxlY3RJdGVtXScsXG4gIGV4cG9ydEFzOiAnZHRzU2VsZWN0SXRlbScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2R0cy1zZWxlY3QtaXRlbSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrIHtcbiAgcHJpdmF0ZSBfYm91bmRpbmdDbGllbnRSZWN0OiBCb3VuZGluZ0JveCB8IHVuZGVmaW5lZDtcblxuICBzZWxlY3RlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHRzLXJhbmdlLXN0YXJ0JykgcmFuZ2VTdGFydCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGR0c1NlbGVjdEl0ZW06IGFueSB8IHVuZGVmaW5lZDtcblxuICBnZXQgdmFsdWUoKTogU2VsZWN0SXRlbURpcmVjdGl2ZSB8IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZHRzU2VsZWN0SXRlbSA/IHRoaXMuZHRzU2VsZWN0SXRlbSA6IHRoaXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENPTkZJRykgcHJpdmF0ZSBjb25maWc6IERyYWdUb1NlbGVjdENvbmZpZyxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbW50W1NFTEVDVF9JVEVNX0lOU1RBTkNFXSA9IHRoaXM7XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgdGhpcy5hcHBseVNlbGVjdGVkQ2xhc3MoKTtcbiAgfVxuXG4gIHRvZ2dsZVJhbmdlU3RhcnQoKSB7XG4gICAgdGhpcy5yYW5nZVN0YXJ0ID0gIXRoaXMucmFuZ2VTdGFydDtcbiAgfVxuXG4gIGdldCBuYXRpdmVFbGVtZW1udCgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgIXRoaXMuX2JvdW5kaW5nQ2xpZW50UmVjdCkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2JvdW5kaW5nQ2xpZW50UmVjdDtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdCgpIHtcbiAgICBjb25zdCBib3VuZGluZ0JveCA9IGNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdCh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5fYm91bmRpbmdDbGllbnRSZWN0ID0gYm91bmRpbmdCb3g7XG4gICAgcmV0dXJuIGJvdW5kaW5nQm94O1xuICB9XG5cbiAgX3NlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIF9kZXNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U2VsZWN0ZWRDbGFzcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgdGhpcy5jb25maWcuc2VsZWN0ZWRDbGFzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29uZmlnLnNlbGVjdGVkQ2xhc3MpO1xuICAgIH1cbiAgfVxufVxuIl19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, Inject } from '@angular/core';
import { isPlatformBrowser } from '@angular/common';
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
import { merge } from 'rxjs';
import { distinctUntilChanged, map } from 'rxjs/operators';
import { KeyboardEventsService } from './keyboard-events.service';
import { CONFIG } from './tokens';
/** @type {?} */
const SUPPORTED_KEYS = {
const SUPPORTED_META_KEYS = {
alt: true,

@@ -15,2 +19,4 @@ shift: true,

/** @type {?} */
const SUPPORTED_KEYS = /[a-z]/;
/** @type {?} */
const META_KEY = 'meta';

@@ -23,2 +29,3 @@ /** @type {?} */

const SUPPORTED_SHORTCUTS = {
moveRangeStart: true,
disableSelection: true,

@@ -31,10 +38,59 @@ toggleSingleItem: true,

const ERROR_PREFIX = '[ShortcutService]';
/**
* @record
*/
function KeyState() { }
if (false) {
/** @type {?} */
KeyState.prototype.code;
/** @type {?} */
KeyState.prototype.pressed;
}
export class ShortcutService {
/**
* @param {?} platformId
* @param {?} config
* @param {?} keyboardEvents
*/
constructor(config) {
this.config = config;
constructor(platformId, config, keyboardEvents) {
this.platformId = platformId;
this.keyboardEvents = keyboardEvents;
this._shortcuts = {};
this._shortcuts = this.createShortcutsFromConfig(config.shortcuts);
this._latestShortcut = new Map();
this._shortcuts = this._createShortcutsFromConfig(config.shortcuts);
if (isPlatformBrowser(this.platformId)) {
/** @type {?} */
const keydown$ = this.keyboardEvents.keydown$.pipe(map((/**
* @param {?} event
* @return {?}
*/
event => ({ code: event.code, pressed: true }))));
/** @type {?} */
const keyup$ = this.keyboardEvents.keyup$.pipe(map((/**
* @param {?} event
* @return {?}
*/
event => ({ code: event.code, pressed: false }))));
merge(keydown$, keyup$)
.pipe(distinctUntilChanged((/**
* @param {?} prev
* @param {?} curr
* @return {?}
*/
(prev, curr) => {
return prev.pressed === curr.pressed && prev.code === curr.code;
})))
.subscribe((/**
* @param {?} keyState
* @return {?}
*/
keyState => {
if (keyState.pressed) {
this._latestShortcut.set(keyState.code, true);
}
else {
this._latestShortcut.delete(keyState.code);
}
}));
}
}

@@ -46,3 +102,3 @@ /**

disableSelection(event) {
return this.isShortcutPressed('disableSelection', event);
return this._isShortcutPressed('disableSelection', event);
}

@@ -53,4 +109,11 @@ /**

*/
moveRangeStart(event) {
return this._isShortcutPressed('moveRangeStart', event);
}
/**
* @param {?} event
* @return {?}
*/
toggleSingleItem(event) {
return this.isShortcutPressed('toggleSingleItem', event);
return this._isShortcutPressed('toggleSingleItem', event);
}

@@ -62,3 +125,3 @@ /**

addToSelection(event) {
return this.isShortcutPressed('addToSelection', event);
return this._isShortcutPressed('addToSelection', event);
}

@@ -70,3 +133,3 @@ /**

removeFromSelection(event) {
return this.isShortcutPressed('removeFromSelection', event);
return this._isShortcutPressed('removeFromSelection', event);
}

@@ -81,11 +144,12 @@ /**

/**
* @private
* @param {?} shortcuts
* @return {?}
*/
createShortcutsFromConfig(shortcuts) {
_createShortcutsFromConfig(shortcuts) {
/** @type {?} */
const shortcutMap = {};
for (const [key, shortcutsForCommand] of Object.entries(shortcuts)) {
if (!this.isSupportedShortcut(key)) {
throw new Error(this.getErrorMessage(`Shortcut ${key} not supported`));
if (!this._isSupportedShortcut(key)) {
throw new Error(this._getErrorMessage(`Shortcut ${key} not supported`));
}

@@ -95,3 +159,7 @@ shortcutsForCommand

.split(',')
.forEach(shortcut => {
.forEach((/**
* @param {?} shortcut
* @return {?}
*/
shortcut => {
if (!shortcutMap[key]) {

@@ -103,12 +171,22 @@ shortcutMap[key] = [];

/** @type {?} */
const cleanCombos = this.substituteKey(shortcut, combo, META_KEY);
cleanCombos.forEach(cleanCombo => {
const cleanCombos = this._substituteKey(shortcut, combo, META_KEY);
cleanCombos.forEach((/**
* @param {?} cleanCombo
* @return {?}
*/
cleanCombo => {
/** @type {?} */
const unsupportedKey = this.isSupportedCombo(cleanCombo);
const unsupportedKey = this._isSupportedCombo(cleanCombo);
if (unsupportedKey) {
throw new Error(this.getErrorMessage(`Key '${unsupportedKey}' in shortcut ${shortcut} not supported`));
throw new Error(this._getErrorMessage(`Key '${unsupportedKey}' in shortcut ${shortcut} not supported`));
}
shortcutMap[key].push(cleanCombo.map(comboKey => `${comboKey}Key`));
});
});
shortcutMap[key].push(cleanCombo.map((/**
* @param {?} comboKey
* @return {?}
*/
comboKey => {
return SUPPORTED_META_KEYS[comboKey] ? `${comboKey}Key` : `Key${comboKey.toUpperCase()}`;
})));
}));
}));
}

@@ -118,2 +196,3 @@ return shortcutMap;

/**
* @private
* @param {?} shortcut

@@ -124,3 +203,3 @@ * @param {?} combo

*/
substituteKey(shortcut, combo, substituteKey) {
_substituteKey(shortcut, combo, substituteKey) {
/** @type {?} */

@@ -132,6 +211,14 @@ const hasSpecialKey = shortcut.includes(substituteKey);

/** @type {?} */
const cleanShortcut = combo.filter(element => element !== META_KEY);
KEY_ALIASES.meta.forEach(alias => {
const cleanShortcut = combo.filter((/**
* @param {?} element
* @return {?}
*/
element => element !== META_KEY));
KEY_ALIASES.meta.forEach((/**
* @param {?} alias
* @return {?}
*/
alias => {
substitutedShortcut.push([...cleanShortcut, alias]);
});
}));
}

@@ -144,9 +231,11 @@ else {

/**
* @private
* @param {?} message
* @return {?}
*/
getErrorMessage(message) {
_getErrorMessage(message) {
return `${ERROR_PREFIX} ${message}`;
}
/**
* @private
* @param {?} shortcutName

@@ -156,29 +245,60 @@ * @param {?} event

*/
isShortcutPressed(shortcutName, event) {
_isShortcutPressed(shortcutName, event) {
/** @type {?} */
const shortcuts = this._shortcuts[shortcutName];
return shortcuts.some(shortcut => {
return shortcut.every(key => event[key]);
});
return shortcuts.some((/**
* @param {?} shortcut
* @return {?}
*/
shortcut => {
return shortcut.every((/**
* @param {?} key
* @return {?}
*/
key => this._isKeyPressed(event, key)));
}));
}
/**
* @private
* @param {?} event
* @param {?} key
* @return {?}
*/
_isKeyPressed(event, key) {
return key.startsWith('Key') ? this._latestShortcut.has(key) : event[key];
}
/**
* @private
* @param {?} combo
* @return {?}
*/
isSupportedCombo(combo) {
_isSupportedCombo(combo) {
/** @type {?} */
let unsupportedKey = null;
combo.forEach(key => {
if (!SUPPORTED_KEYS[key]) {
combo.forEach((/**
* @param {?} key
* @return {?}
*/
key => {
if (!SUPPORTED_META_KEYS[key] && (!SUPPORTED_KEYS.test(key) || this._isSingleChar(key))) {
unsupportedKey = key;
return;
}
});
}));
return unsupportedKey;
}
/**
* @private
* @param {?} key
* @return {?}
*/
_isSingleChar(key) {
return key.length > 1;
}
/**
* @private
* @param {?} shortcut
* @return {?}
*/
isSupportedShortcut(shortcut) {
_isSupportedShortcut(shortcut) {
return SUPPORTED_SHORTCUTS[shortcut];

@@ -192,10 +312,28 @@ }

ShortcutService.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [CONFIG,] }] }
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
{ type: undefined, decorators: [{ type: Inject, args: [CONFIG,] }] },
{ type: KeyboardEventsService }
];
if (false) {
/** @type {?} */
/**
* @type {?}
* @private
*/
ShortcutService.prototype._shortcuts;
/** @type {?} */
ShortcutService.prototype.config;
/**
* @type {?}
* @private
*/
ShortcutService.prototype._latestShortcut;
/**
* @type {?}
* @private
*/
ShortcutService.prototype.platformId;
/**
* @type {?}
* @private
*/
ShortcutService.prototype.keyboardEvents;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRjdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbImxpYi9zaG9ydGN1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDOztNQUU1QixjQUFjLEdBQUc7SUFDckIsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7Q0FDWDs7TUFFSyxRQUFRLEdBQUcsTUFBTTs7TUFFakIsV0FBVyxHQUFHO0lBQ2xCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO0NBQzdCOztNQUVLLG1CQUFtQixHQUFHO0lBQzFCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixjQUFjLEVBQUUsSUFBSTtJQUNwQixtQkFBbUIsRUFBRSxJQUFJO0NBQzFCOztNQUVLLFlBQVksR0FBRyxtQkFBbUI7QUFHeEMsTUFBTSxPQUFPLGVBQWU7Ozs7SUFHMUIsWUFBb0MsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFGdEQsZUFBVSxHQUFrQyxFQUFFLENBQUM7UUFHckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsaUJB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TyxlQUFlLENBQUMsT0FBZTtRQUNyQyxPQUFPLEdBQUcsWUFBWSxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3RDLENBQUM7Ozs7OztJQUVPLGlCQUFpQixDQUFDLFlBQW9CLEVBQUUsS0FBWTs7Y0FDcEQsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBRS9DLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRU8sZ0JBQWdCLENBQUMsS0FBb0I7O1lBQ3ZDLGNBQWMsR0FBRyxJQUFJO1FBRXpCLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDeEIsY0FBYyxHQUFHLEdBQUcsQ0FBQztnQkFDckIsT0FBTzthQUNSO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDOzs7OztJQUVPLG1CQUFtQixDQUFDLFFBQWdCO1FBQzFDLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBMUdGLFVBQVU7Ozs7NENBSUksTUFBTSxTQUFDLE1BQU07Ozs7SUFGMUIscUNBQXVEOztJQUUzQyxpQ0FBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcblxuY29uc3QgU1VQUE9SVEVEX0tFWVMgPSB7XG4gIGFsdDogdHJ1ZSxcbiAgc2hpZnQ6IHRydWUsXG4gIG1ldGE6IHRydWUsXG4gIGN0cmw6IHRydWVcbn07XG5cbmNvbnN0IE1FVEFfS0VZID0gJ21ldGEnO1xuXG5jb25zdCBLRVlfQUxJQVNFUyA9IHtcbiAgW01FVEFfS0VZXTogWydjdHJsJywgJ21ldGEnXVxufTtcblxuY29uc3QgU1VQUE9SVEVEX1NIT1JUQ1VUUyA9IHtcbiAgZGlzYWJsZVNlbGVjdGlvbjogdHJ1ZSxcbiAgdG9nZ2xlU2luZ2xlSXRlbTogdHJ1ZSxcbiAgYWRkVG9TZWxlY3Rpb246IHRydWUsXG4gIHJlbW92ZUZyb21TZWxlY3Rpb246IHRydWVcbn07XG5cbmNvbnN0IEVSUk9SX1BSRUZJWCA9ICdbU2hvcnRjdXRTZXJ2aWNlXSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaG9ydGN1dFNlcnZpY2Uge1xuICBwcml2YXRlIF9zaG9ydGN1dHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW11bXSB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05GSUcpIHByaXZhdGUgY29uZmlnOiBEcmFnVG9TZWxlY3RDb25maWcpIHtcbiAgICB0aGlzLl9zaG9ydGN1dHMgPSB0aGlzLmNyZWF0ZVNob3J0Y3V0c0Zyb21Db25maWcoY29uZmlnLnNob3J0Y3V0cyk7XG4gIH1cblxuICBkaXNhYmxlU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLmlzU2hvcnRjdXRQcmVzc2VkKCdkaXNhYmxlU2VsZWN0aW9uJywgZXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlU2luZ2xlSXRlbShldmVudDogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy5pc1Nob3J0Y3V0UHJlc3NlZCgndG9nZ2xlU2luZ2xlSXRlbScsIGV2ZW50KTtcbiAgfVxuXG4gIGFkZFRvU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLmlzU2hvcnRjdXRQcmVzc2VkKCdhZGRUb1NlbGVjdGlvbicsIGV2ZW50KTtcbiAgfVxuXG4gIHJlbW92ZUZyb21TZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNTaG9ydGN1dFByZXNzZWQoJ3JlbW92ZUZyb21TZWxlY3Rpb24nLCBldmVudCk7XG4gIH1cblxuICBleHRlbmRlZFNlbGVjdGlvblNob3J0Y3V0KGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLmFkZFRvU2VsZWN0aW9uKGV2ZW50KSB8fCB0aGlzLnJlbW92ZUZyb21TZWxlY3Rpb24oZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTaG9ydGN1dHNGcm9tQ29uZmlnKHNob3J0Y3V0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHNob3J0Y3V0TWFwID0ge307XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHNob3J0Y3V0c0ZvckNvbW1hbmRdIG9mIE9iamVjdC5lbnRyaWVzKHNob3J0Y3V0cykpIHtcbiAgICAgIGlmICghdGhpcy5pc1N1cHBvcnRlZFNob3J0Y3V0KGtleSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGBTaG9ydGN1dCAke2tleX0gbm90IHN1cHBvcnRlZGApKTtcbiAgICAgIH1cblxuICAgICAgc2hvcnRjdXRzRm9yQ29tbWFuZFxuICAgICAgICAucmVwbGFjZSgvIC9nLCAnJylcbiAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgLmZvckVhY2goc2hvcnRjdXQgPT4ge1xuICAgICAgICAgIGlmICghc2hvcnRjdXRNYXBba2V5XSkge1xuICAgICAgICAgICAgc2hvcnRjdXRNYXBba2V5XSA9IFtdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGNvbWJvID0gc2hvcnRjdXQuc3BsaXQoJysnKTtcbiAgICAgICAgICBjb25zdCBjbGVhbkNvbWJvcyA9IHRoaXMuc3Vic3RpdHV0ZUtleShzaG9ydGN1dCwgY29tYm8sIE1FVEFfS0VZKTtcblxuICAgICAgICAgIGNsZWFuQ29tYm9zLmZvckVhY2goY2xlYW5Db21ibyA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bnN1cHBvcnRlZEtleSA9IHRoaXMuaXNTdXBwb3J0ZWRDb21ibyhjbGVhbkNvbWJvKTtcblxuICAgICAgICAgICAgaWYgKHVuc3VwcG9ydGVkS2V5KSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmdldEVycm9yTWVzc2FnZShgS2V5ICcke3Vuc3VwcG9ydGVkS2V5fScgaW4gc2hvcnRjdXQgJHtzaG9ydGN1dH0gbm90IHN1cHBvcnRlZGApKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2hvcnRjdXRNYXBba2V5XS5wdXNoKGNsZWFuQ29tYm8ubWFwKGNvbWJvS2V5ID0+IGAke2NvbWJvS2V5fUtleWApKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3J0Y3V0TWFwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzdGl0dXRlS2V5KHNob3J0Y3V0OiBzdHJpbmcsIGNvbWJvOiBBcnJheTxzdHJpbmc+LCBzdWJzdGl0dXRlS2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBoYXNTcGVjaWFsS2V5ID0gc2hvcnRjdXQuaW5jbHVkZXMoc3Vic3RpdHV0ZUtleSk7XG4gICAgY29uc3Qgc3Vic3RpdHV0ZWRTaG9ydGN1dCA9IFtdO1xuXG4gICAgaWYgKGhhc1NwZWNpYWxLZXkpIHtcbiAgICAgIGNvbnN0IGNsZWFuU2hvcnRjdXQgPSBjb21iby5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50ICE9PSBNRVRBX0tFWSk7XG5cbiAgICAgIEtFWV9BTElBU0VTLm1ldGEuZm9yRWFjaChhbGlhcyA9PiB7XG4gICAgICAgIHN1YnN0aXR1dGVkU2hvcnRjdXQucHVzaChbLi4uY2xlYW5TaG9ydGN1dCwgYWxpYXNdKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdWJzdGl0dXRlZFNob3J0Y3V0LnB1c2goY29tYm8pO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJzdGl0dXRlZFNob3J0Y3V0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvck1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke0VSUk9SX1BSRUZJWH0gJHttZXNzYWdlfWA7XG4gIH1cblxuICBwcml2YXRlIGlzU2hvcnRjdXRQcmVzc2VkKHNob3J0Y3V0TmFtZTogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBzaG9ydGN1dHMgPSB0aGlzLl9zaG9ydGN1dHNbc2hvcnRjdXROYW1lXTtcblxuICAgIHJldHVybiBzaG9ydGN1dHMuc29tZShzaG9ydGN1dCA9PiB7XG4gICAgICByZXR1cm4gc2hvcnRjdXQuZXZlcnkoa2V5ID0+IGV2ZW50W2tleV0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1N1cHBvcnRlZENvbWJvKGNvbWJvOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgbGV0IHVuc3VwcG9ydGVkS2V5ID0gbnVsbDtcblxuICAgIGNvbWJvLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmICghU1VQUE9SVEVEX0tFWVNba2V5XSkge1xuICAgICAgICB1bnN1cHBvcnRlZEtleSA9IGtleTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVuc3VwcG9ydGVkS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBpc1N1cHBvcnRlZFNob3J0Y3V0KHNob3J0Y3V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gU1VQUE9SVEVEX1NIT1JUQ1VUU1tzaG9ydGN1dF07XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRjdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbImxpYi9zaG9ydGN1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7TUFFNUIsbUJBQW1CLEdBQUc7SUFDMUIsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7Q0FDWDs7TUFFSyxjQUFjLEdBQUcsT0FBTzs7TUFFeEIsUUFBUSxHQUFHLE1BQU07O01BRWpCLFdBQVcsR0FBRztJQUNsQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUM3Qjs7TUFFSyxtQkFBbUIsR0FBRztJQUMxQixjQUFjLEVBQUUsSUFBSTtJQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsbUJBQW1CLEVBQUUsSUFBSTtDQUMxQjs7TUFFSyxZQUFZLEdBQUcsbUJBQW1COzs7O0FBRXhDLHVCQUdDOzs7SUFGQyx3QkFBYTs7SUFDYiwyQkFBaUI7O0FBSW5CLE1BQU0sT0FBTyxlQUFlOzs7Ozs7SUFLMUIsWUFDK0IsVUFBa0Is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S0FBWSxFQUFFLEdBQVc7UUFDN0MsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Ozs7OztJQUVPLGlCQUFpQixDQUFDLEtBQW9COztZQUN4QyxjQUFjLEdBQUcsSUFBSTtRQUV6QixLQUFLLENBQUMsT0FBTzs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZGLGNBQWMsR0FBRyxHQUFHLENBQUM7Z0JBQ3JCLE9BQU87YUFDUjtRQUNILENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQzs7Ozs7O0lBRU8sYUFBYSxDQUFDLEdBQVc7UUFDL0IsT0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDOzs7Ozs7SUFFTyxvQkFBb0IsQ0FBQyxRQUFnQjtRQUMzQyxPQUFPLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OztZQXhKRixVQUFVOzs7O1lBT2tDLE1BQU0sdUJBQTlDLE1BQU0sU0FBQyxXQUFXOzRDQUNsQixNQUFNLFNBQUMsTUFBTTtZQTFDVCxxQkFBcUI7Ozs7Ozs7SUFvQzVCLHFDQUF1RDs7Ozs7SUFFdkQsMENBQTBEOzs7OztJQUd4RCxxQ0FBK0M7Ozs7O0lBRS9DLHlDQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2V5Ym9hcmRFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9rZXlib2FyZC1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuL3Rva2Vucyc7XG5cbmNvbnN0IFNVUFBPUlRFRF9NRVRBX0tFWVMgPSB7XG4gIGFsdDogdHJ1ZSxcbiAgc2hpZnQ6IHRydWUsXG4gIG1ldGE6IHRydWUsXG4gIGN0cmw6IHRydWVcbn07XG5cbmNvbnN0IFNVUFBPUlRFRF9LRVlTID0gL1thLXpdLztcblxuY29uc3QgTUVUQV9LRVkgPSAnbWV0YSc7XG5cbmNvbnN0IEtFWV9BTElBU0VTID0ge1xuICBbTUVUQV9LRVldOiBbJ2N0cmwnLCAnbWV0YSddXG59O1xuXG5jb25zdCBTVVBQT1JURURfU0hPUlRDVVRTID0ge1xuICBtb3ZlUmFuZ2VTdGFydDogdHJ1ZSxcbiAgZGlzYWJsZVNlbGVjdGlvbjogdHJ1ZSxcbiAgdG9nZ2xlU2luZ2xlSXRlbTogdHJ1ZSxcbiAgYWRkVG9TZWxlY3Rpb246IHRydWUsXG4gIHJlbW92ZUZyb21TZWxlY3Rpb246IHRydWVcbn07XG5cbmNvbnN0IEVSUk9SX1BSRUZJWCA9ICdbU2hvcnRjdXRTZXJ2aWNlXSc7XG5cbmludGVyZmFjZSBLZXlTdGF0ZSB7XG4gIGNvZGU6IHN0cmluZztcbiAgcHJlc3NlZDogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNob3J0Y3V0U2VydmljZSB7XG4gIHByaXZhdGUgX3Nob3J0Y3V0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXVtdIH0gPSB7fTtcblxuICBwcml2YXRlIF9sYXRlc3RTaG9ydGN1dDogTWFwPHN0cmluZywgYm9vbGVhbj4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgQEluamVjdChDT05GSUcpIGNvbmZpZzogRHJhZ1RvU2VsZWN0Q29uZmlnLFxuICAgIHByaXZhdGUga2V5Ym9hcmRFdmVudHM6IEtleWJvYXJkRXZlbnRzU2VydmljZVxuICApIHtcbiAgICB0aGlzLl9zaG9ydGN1dHMgPSB0aGlzLl9jcmVhdGVTaG9ydGN1dHNGcm9tQ29uZmlnKGNvbmZpZy5zaG9ydGN1dHMpO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIGNvbnN0IGtleWRvd24kID0gdGhpcy5rZXlib2FyZEV2ZW50cy5rZXlkb3duJC5waXBlKFxuICAgICAgICBtYXA8S2V5Ym9hcmRFdmVudCwgS2V5U3RhdGU+KGV2ZW50ID0+ICh7IGNvZGU6IGV2ZW50LmNvZGUsIHByZXNzZWQ6IHRydWUgfSkpXG4gICAgICApO1xuXG4gICAgICBjb25zdCBrZXl1cCQgPSB0aGlzLmtleWJvYXJkRXZlbnRzLmtleXVwJC5waXBlKFxuICAgICAgICBtYXA8S2V5Ym9hcmRFdmVudCwgS2V5U3RhdGU+KGV2ZW50ID0+ICh7IGNvZGU6IGV2ZW50LmNvZGUsIHByZXNzZWQ6IGZhbHNlIH0pKVxuICAgICAgKTtcblxuICAgICAgbWVyZ2U8S2V5U3RhdGU+KGtleWRvd24kLCBrZXl1cCQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcHJldi5wcmVzc2VkID09PSBjdXJyLnByZXNzZWQgJiYgcHJldi5jb2RlID09PSBjdXJyLmNvZGU7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKGtleVN0YXRlID0+IHtcbiAgICAgICAgICBpZiAoa2V5U3RhdGUucHJlc3NlZCkge1xuICAgICAgICAgICAgdGhpcy5fbGF0ZXN0U2hvcnRjdXQuc2V0KGtleVN0YXRlLmNvZGUsIHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sYXRlc3RTaG9ydGN1dC5kZWxldGUoa2V5U3RhdGUuY29kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnZGlzYWJsZVNlbGVjdGlvbicsIGV2ZW50KTtcbiAgfVxuXG4gIG1vdmVSYW5nZVN0YXJ0KGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnbW92ZVJhbmdlU3RhcnQnLCBldmVudCk7XG4gIH1cblxuICB0b2dnbGVTaW5nbGVJdGVtKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgndG9nZ2xlU2luZ2xlSXRlbScsIGV2ZW50KTtcbiAgfVxuXG4gIGFkZFRvU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnYWRkVG9TZWxlY3Rpb24nLCBldmVudCk7XG4gIH1cblxuICByZW1vdmVGcm9tU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgncmVtb3ZlRnJvbVNlbGVjdGlvbicsIGV2ZW50KTtcbiAgfVxuXG4gIGV4dGVuZGVkU2VsZWN0aW9uU2hvcnRjdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkVG9TZWxlY3Rpb24oZXZlbnQpIHx8IHRoaXMucmVtb3ZlRnJvbVNlbGVjdGlvbihldmVudCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVTaG9ydGN1dHNGcm9tQ29uZmlnKHNob3J0Y3V0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHNob3J0Y3V0TWFwID0ge307XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHNob3J0Y3V0c0ZvckNvbW1hbmRdIG9mIE9iamVjdC5lbnRyaWVzKHNob3J0Y3V0cykpIHtcbiAgICAgIGlmICghdGhpcy5faXNTdXBwb3J0ZWRTaG9ydGN1dChrZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLl9nZXRFcnJvck1lc3NhZ2UoYFNob3J0Y3V0ICR7a2V5fSBub3Qgc3VwcG9ydGVkYCkpO1xuICAgICAgfVxuXG4gICAgICBzaG9ydGN1dHNGb3JDb21tYW5kXG4gICAgICAgIC5yZXBsYWNlKC8gL2csICcnKVxuICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAuZm9yRWFjaChzaG9ydGN1dCA9PiB7XG4gICAgICAgICAgaWYgKCFzaG9ydGN1dE1hcFtrZXldKSB7XG4gICAgICAgICAgICBzaG9ydGN1dE1hcFtrZXldID0gW107XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY29tYm8gPSBzaG9ydGN1dC5zcGxpdCgnKycpO1xuICAgICAgICAgIGNvbnN0IGNsZWFuQ29tYm9zID0gdGhpcy5fc3Vic3RpdHV0ZUtleShzaG9ydGN1dCwgY29tYm8sIE1FVEFfS0VZKTtcblxuICAgICAgICAgIGNsZWFuQ29tYm9zLmZvckVhY2goY2xlYW5Db21ibyA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bnN1cHBvcnRlZEtleSA9IHRoaXMuX2lzU3VwcG9ydGVkQ29tYm8oY2xlYW5Db21ibyk7XG5cbiAgICAgICAgICAgIGlmICh1bnN1cHBvcnRlZEtleSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5fZ2V0RXJyb3JNZXNzYWdlKGBLZXkgJyR7dW5zdXBwb3J0ZWRLZXl9JyBpbiBzaG9ydGN1dCAke3Nob3J0Y3V0fSBub3Qgc3VwcG9ydGVkYCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzaG9ydGN1dE1hcFtrZXldLnB1c2goXG4gICAgICAgICAgICAgIGNsZWFuQ29tYm8ubWFwKGNvbWJvS2V5ID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gU1VQUE9SVEVEX01FVEFfS0VZU1tjb21ib0tleV0gPyBgJHtjb21ib0tleX1LZXlgIDogYEtleSR7Y29tYm9LZXkudG9VcHBlckNhc2UoKX1gO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3J0Y3V0TWFwO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic3RpdHV0ZUtleShzaG9ydGN1dDogc3RyaW5nLCBjb21ibzogQXJyYXk8c3RyaW5nPiwgc3Vic3RpdHV0ZUtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgaGFzU3BlY2lhbEtleSA9IHNob3J0Y3V0LmluY2x1ZGVzKHN1YnN0aXR1dGVLZXkpO1xuICAgIGNvbnN0IHN1YnN0aXR1dGVkU2hvcnRjdXQ6IHN0cmluZ1tdW10gPSBbXTtcblxuICAgIGlmIChoYXNTcGVjaWFsS2V5KSB7XG4gICAgICBjb25zdCBjbGVhblNob3J0Y3V0ID0gY29tYm8uZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudCAhPT0gTUVUQV9LRVkpO1xuXG4gICAgICBLRVlfQUxJQVNFUy5tZXRhLmZvckVhY2goYWxpYXMgPT4ge1xuICAgICAgICBzdWJzdGl0dXRlZFNob3J0Y3V0LnB1c2goWy4uLmNsZWFuU2hvcnRjdXQsIGFsaWFzXSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3Vic3RpdHV0ZWRTaG9ydGN1dC5wdXNoKGNvbWJvKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0ZWRTaG9ydGN1dDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEVycm9yTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7RVJST1JfUFJFRklYfSAke21lc3NhZ2V9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzU2hvcnRjdXRQcmVzc2VkKHNob3J0Y3V0TmFtZTogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBzaG9ydGN1dHMgPSB0aGlzLl9zaG9ydGN1dHNbc2hvcnRjdXROYW1lXTtcblxuICAgIHJldHVybiBzaG9ydGN1dHMuc29tZShzaG9ydGN1dCA9PiB7XG4gICAgICByZXR1cm4gc2hvcnRjdXQuZXZlcnkoa2V5ID0+IHRoaXMuX2lzS2V5UHJlc3NlZChldmVudCwga2V5KSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0tleVByZXNzZWQoZXZlbnQ6IEV2ZW50LCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBrZXkuc3RhcnRzV2l0aCgnS2V5JykgPyB0aGlzLl9sYXRlc3RTaG9ydGN1dC5oYXMoa2V5KSA6IGV2ZW50W2tleV07XG4gIH1cblxuICBwcml2YXRlIF9pc1N1cHBvcnRlZENvbWJvKGNvbWJvOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgbGV0IHVuc3VwcG9ydGVkS2V5ID0gbnVsbDtcblxuICAgIGNvbWJvLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmICghU1VQUE9SVEVEX01FVEFfS0VZU1trZXldICYmICghU1VQUE9SVEVEX0tFWVMudGVzdChrZXkpIHx8IHRoaXMuX2lzU2luZ2xlQ2hhcihrZXkpKSkge1xuICAgICAgICB1bnN1cHBvcnRlZEtleSA9IGtleTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVuc3VwcG9ydGVkS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNTaW5nbGVDaGFyKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGtleS5sZW5ndGggPiAxO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNTdXBwb3J0ZWRTaG9ydGN1dChzaG9ydGN1dDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFNVUFBPUlRFRF9TSE9SVENVVFNbc2hvcnRjdXRdO1xuICB9XG59XG4iXX0=
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ import { InjectionToken } from '@angular/core';

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { MIN_HEIGHT, MIN_WIDTH } from './constants';
/** @type {?} */
export const isObject = (item) => {
export const isObject = (/**
* @param {?} item
* @return {?}
*/
(item) => {
return item && typeof item === 'object' && !Array.isArray(item) && item !== null;
};
});
/**

@@ -17,3 +21,7 @@ * @param {?} target

if (isObject(target) && isObject(source)) {
Object.keys(source).forEach(key => {
Object.keys(source).forEach((/**
* @param {?} key
* @return {?}
*/
key => {
if (isObject(source[key])) {

@@ -28,3 +36,3 @@ if (!target[key]) {

}
});
}));
}

@@ -34,9 +42,22 @@ return target;

/** @type {?} */
export const hasMinimumSize = (selectBox, minWidth = MIN_WIDTH, minHeight = MIN_HEIGHT) => {
export const hasMinimumSize = (/**
* @param {?} selectBox
* @param {?=} minWidth
* @param {?=} minHeight
* @return {?}
*/
(selectBox, minWidth = MIN_WIDTH, minHeight = MIN_HEIGHT) => {
return selectBox.width > minWidth || selectBox.height > minHeight;
};
});
/** @type {?} */
export const clearSelection = (window) => {
export const clearSelection = (/**
* @param {?} window
* @return {?}
*/
(window) => {
/** @type {?} */
const selection = window.getSelection();
if (!selection) {
return;
}
if (selection.removeAllRanges) {

@@ -48,9 +69,19 @@ selection.removeAllRanges();

}
};
});
/** @type {?} */
export const inBoundingBox = (point, box) => {
export const inBoundingBox = (/**
* @param {?} point
* @param {?} box
* @return {?}
*/
(point, box) => {
return (box.left <= point.x && point.x <= box.left + box.width && box.top <= point.y && point.y <= box.top + box.height);
};
});
/** @type {?} */
export const boxIntersects = (boxA, boxB) => {
export const boxIntersects = (/**
* @param {?} boxA
* @param {?} boxB
* @return {?}
*/
(boxA, boxB) => {
return (boxA.left <= boxB.left + boxB.width &&

@@ -60,9 +91,17 @@ boxA.left + boxA.width >= boxB.left &&

boxA.top + boxA.height >= boxB.top);
};
});
/** @type {?} */
export const calculateBoundingClientRect = (element) => {
export const calculateBoundingClientRect = (/**
* @param {?} element
* @return {?}
*/
(element) => {
return element.getBoundingClientRect();
};
});
/** @type {?} */
export const getMousePosition = (event) => {
export const getMousePosition = (/**
* @param {?} event
* @return {?}
*/
(event) => {
return {

@@ -72,5 +111,8 @@ x: event.clientX,

};
};
});
/** @type {?} */
export const getScroll = () => {
export const getScroll = (/**
* @return {?}
*/
() => {
if (!document || !document.documentElement) {

@@ -86,5 +128,10 @@ return {

};
};
});
/** @type {?} */
export const getRelativeMousePosition = (event, container) => {
export const getRelativeMousePosition = (/**
* @param {?} event
* @param {?} container
* @return {?}
*/
(event, container) => {
const { x: clientX, y: clientY } = getMousePosition(event);

@@ -103,9 +150,14 @@ /** @type {?} */

};
};
});
/** @type {?} */
export const cursorWithinElement = (event, element) => {
export const cursorWithinElement = (/**
* @param {?} event
* @param {?} element
* @return {?}
*/
(event, element) => {
/** @type {?} */
const mousePoint = getMousePosition(event);
return inBoundingBox(mousePoint, calculateBoundingClientRect(element));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJhZy10by1zZWxlY3QvIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUdwRCxNQUFNLE9BQU8sUUFBUSxHQUFHLENBQUMsSUFBUyxFQUFFLEVBQUU7SUFDcEMsT0FBTyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQ25GLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBYyxFQUFFLE1BQWM7SUFDdEQsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDdEM7Z0JBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMvQztRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDOztBQUVELE1BQU0sT0FBTyxjQUFjLEdBQUcsQ0FBQyxTQUE0QixFQUFFLFFBQVEsR0FBRyxTQUFTLEVBQUUsU0FBUyxHQUFHLFVBQVUsRUFBRSxFQUFFO0lBQzNHLE9BQU8sU0FBUyxDQUFDLEtBQUssR0FBRyxRQUFRLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7QUFDcEUsQ0FBQzs7QUFFRCxNQUFNLE9BQU8sY0FBYyxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7O1VBQ3pDLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFO0lBRXZDLElBQUksU0FBUyxDQUFDLGVBQWUsRUFBRTtRQUM3QixTQUFTLENBQUMsZUFBZSxFQUFFLENBQUM7S0FDN0I7U0FBTSxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUU7UUFDMUIsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ25CO0FBQ0gsQ0FBQzs7QUFFRCxNQUFNLE9BQU8sYUFBYSxHQUFHLENBQUMsS0FBb0IsRUFBRSxHQUFnQixFQUFFLEVBQUU7SUFDdEUsT0FBTyxDQUNMLEdBQUcsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQ2hILENBQUM7QUFDSixDQUFDOztBQUVELE1BQU0sT0FBTyxhQUFhLEdBQUcsQ0FBQyxJQUFpQixFQUFFLElBQWlCLEVBQUUsRUFBRTtJQUNwRSxPQUFPLENBQ0wsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSTtRQUNuQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU07UUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQ25DLENBQUM7QUFDSixDQUFDOztBQUVELE1BQU0sT0FBTywyQkFBMkIsR0FBRyxDQUFDLE9BQW9CLEVBQWUsRUFBRTtJQUMvRSxPQUFPLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0FBQ3pDLENBQUM7O0FBRUQsTUFBTSxPQUFPLGdCQUFnQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3BELE9BQU87UUFDTCxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU87UUFDaEIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPO0tBQ2pCLENBQUM7QUFDSixDQUFDOztBQUVELE1BQU0sT0FBTyxTQUFTLEdBQUcsR0FBRyxFQUFFO0lBQzVCLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO1FBQzFDLE9BQU87WUFDTCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztLQUNIO0lBRUQsT0FBTztRQUNMLENBQUMsRUFBRSxRQUFRLENBQUMsZUFBZSxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDbEUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUztLQUNqRSxDQUFDO0FBQ0osQ0FBQzs7QUFFRCxNQUFNLE9BQU8sd0JBQXdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFNBQThCLEVBQWlCLEVBQUU7VUFDckcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7O1VBQ3BELE1BQU0sR0FBRyxTQUFTLEVBQUU7O1VBRXBCLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7O1VBQzdFLFVBQVUsR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDOztVQUN6RCxTQUFTLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUU3RCxPQUFPO1FBQ0wsQ0FBQyxFQUFFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxVQUFVO1FBQ2xGLENBQUMsRUFBRSxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUztLQUNqRixDQUFDO0FBQ0osQ0FBQzs7QUFFRCxNQUFNLE9BQU8sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQUUsRUFBRTs7VUFDdkUsVUFBVSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUMxQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUlOX0hFSUdIVCwgTUlOX1dJRFRIIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQm91bmRpbmdCb3gsIE1vdXNlUG9zaXRpb24sIFNlbGVjdEJveCwgU2VsZWN0Q29udGFpbmVySG9zdCB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IGlzT2JqZWN0ID0gKGl0ZW06IGFueSkgPT4ge1xuICByZXR1cm4gaXRlbSAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoaXRlbSkgJiYgaXRlbSAhPT0gbnVsbDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZURlZXAodGFyZ2V0OiBPYmplY3QsIHNvdXJjZTogT2JqZWN0KSB7XG4gIGlmIChpc09iamVjdCh0YXJnZXQpICYmIGlzT2JqZWN0KHNvdXJjZSkpIHtcbiAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChpc09iamVjdChzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgaWYgKCF0YXJnZXRba2V5XSkge1xuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiB7fSB9KTtcbiAgICAgICAgfVxuICAgICAgICBtZXJnZURlZXAodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiBzb3VyY2Vba2V5XSB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmV4cG9ydCBjb25zdCBoYXNNaW5pbXVtU2l6ZSA9IChzZWxlY3RCb3g6IFNlbGVjdEJveDxudW1iZXI+LCBtaW5XaWR0aCA9IE1JTl9XSURUSCwgbWluSGVpZ2h0ID0gTUlOX0hFSUdIVCkgPT4ge1xuICByZXR1cm4gc2VsZWN0Qm94LndpZHRoID4gbWluV2lkdGggfHwgc2VsZWN0Qm94LmhlaWdodCA+IG1pbkhlaWdodDtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGVhclNlbGVjdGlvbiA9ICh3aW5kb3c6IFdpbmRvdykgPT4ge1xuICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgaWYgKHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMpIHtcbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gIH0gZWxzZSBpZiAoc2VsZWN0aW9uLmVtcHR5KSB7XG4gICAgc2VsZWN0aW9uLmVtcHR5KCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpbkJvdW5kaW5nQm94ID0gKHBvaW50OiBNb3VzZVBvc2l0aW9uLCBib3g6IEJvdW5kaW5nQm94KSA9PiB7XG4gIHJldHVybiAoXG4gICAgYm94LmxlZnQgPD0gcG9pbnQueCAmJiBwb2ludC54IDw9IGJveC5sZWZ0ICsgYm94LndpZHRoICYmIGJveC50b3AgPD0gcG9pbnQueSAmJiBwb2ludC55IDw9IGJveC50b3AgKyBib3guaGVpZ2h0XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYm94SW50ZXJzZWN0cyA9IChib3hBOiBCb3VuZGluZ0JveCwgYm94QjogQm91bmRpbmdCb3gpID0+IHtcbiAgcmV0dXJuIChcbiAgICBib3hBLmxlZnQgPD0gYm94Qi5sZWZ0ICsgYm94Qi53aWR0aCAmJlxuICAgIGJveEEubGVmdCArIGJveEEud2lkdGggPj0gYm94Qi5sZWZ0ICYmXG4gICAgYm94QS50b3AgPD0gYm94Qi50b3AgKyBib3hCLmhlaWdodCAmJlxuICAgIGJveEEudG9wICsgYm94QS5oZWlnaHQgPj0gYm94Qi50b3BcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBCb3VuZGluZ0JveCA9PiB7XG4gIHJldHVybiBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE1vdXNlUG9zaXRpb24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB4OiBldmVudC5jbGllbnRYLFxuICAgIHk6IGV2ZW50LmNsaWVudFlcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTY3JvbGwgPSAoKSA9PiB7XG4gIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICB4OiAwLFxuICAgICAgeTogMFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHg6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCxcbiAgICB5OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uID0gKGV2ZW50OiBNb3VzZUV2ZW50LCBjb250YWluZXI6IFNlbGVjdENvbnRhaW5lckhvc3QpOiBNb3VzZVBvc2l0aW9uID0+IHtcbiAgY29uc3QgeyB4OiBjbGllbnRYLCB5OiBjbGllbnRZIH0gPSBnZXRNb3VzZVBvc2l0aW9uKGV2ZW50KTtcbiAgY29uc3Qgc2Nyb2xsID0gZ2V0U2Nyb2xsKCk7XG5cbiAgY29uc3QgYm9yZGVyU2l6ZSA9IChjb250YWluZXIuYm91bmRpbmdDbGllbnRSZWN0LndpZHRoIC0gY29udGFpbmVyLmNsaWVudFdpZHRoKSAvIDI7XG4gIGNvbnN0IG9mZnNldExlZnQgPSBjb250YWluZXIuYm91bmRpbmdDbGllbnRSZWN0LmxlZnQgKyBzY3JvbGwueDtcbiAgY29uc3Qgb2Zmc2V0VG9wID0gY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC50b3AgKyBzY3JvbGwueTtcblxuICByZXR1cm4ge1xuICAgIHg6IGNsaWVudFggLSBib3JkZXJTaXplIC0gKG9mZnNldExlZnQgLSB3aW5kb3cucGFnZVhPZmZzZXQpICsgY29udGFpbmVyLnNjcm9sbExlZnQsXG4gICAgeTogY2xpZW50WSAtIGJvcmRlclNpemUgLSAob2Zmc2V0VG9wIC0gd2luZG93LnBhZ2VZT2Zmc2V0KSArIGNvbnRhaW5lci5zY3JvbGxUb3BcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjdXJzb3JXaXRoaW5FbGVtZW50ID0gKGV2ZW50OiBNb3VzZUV2ZW50LCBlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xuICBjb25zdCBtb3VzZVBvaW50ID0gZ2V0TW91c2VQb3NpdGlvbihldmVudCk7XG4gIHJldHVybiBpbkJvdW5kaW5nQm94KG1vdXNlUG9pbnQsIGNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50KSk7XG59O1xuIl19
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJhZy10by1zZWxlY3QvIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUdwRCxNQUFNLE9BQU8sUUFBUTs7OztBQUFHLENBQUMsSUFBUyxFQUFFLEVBQUU7SUFDcEMsT0FBTyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQ25GLENBQUMsQ0FBQTs7Ozs7O0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFjLEVBQUUsTUFBYztJQUN0RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUN0QztnQkFDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQy9DO1FBQ0gsQ0FBQyxF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RUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7O1VBQ3BELE1BQU0sR0FBRyxTQUFTLEVBQUU7O1VBRXBCLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7O1VBQzdFLFVBQVUsR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDOztVQUN6RCxTQUFTLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUU3RCxPQUFPO1FBQ0wsQ0FBQyxFQUFFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxVQUFVO1FBQ2xGLENBQUMsRUFBRSxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUztLQUNqRixDQUFDO0FBQ0osQ0FBQyxDQUFBOztBQUVELE1BQU0sT0FBTyxtQkFBbUI7Ozs7O0FBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQUUsRUFBRTs7VUFDdkUsVUFBVSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUMxQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNSU5fSEVJR0hULCBNSU5fV0lEVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCb3VuZGluZ0JveCwgTW91c2VQb3NpdGlvbiwgU2VsZWN0Qm94LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgaXNPYmplY3QgPSAoaXRlbTogYW55KSA9PiB7XG4gIHJldHVybiBpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtKSAmJiBpdGVtICE9PSBudWxsO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcCh0YXJnZXQ6IE9iamVjdCwgc291cmNlOiBPYmplY3QpIHtcbiAgaWYgKGlzT2JqZWN0KHRhcmdldCkgJiYgaXNPYmplY3Qoc291cmNlKSkge1xuICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGlzT2JqZWN0KHNvdXJjZVtrZXldKSkge1xuICAgICAgICBpZiAoIXRhcmdldFtrZXldKSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHt9IH0pO1xuICAgICAgICB9XG4gICAgICAgIG1lcmdlRGVlcCh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc01pbmltdW1TaXplID0gKHNlbGVjdEJveDogU2VsZWN0Qm94PG51bWJlcj4sIG1pbldpZHRoID0gTUlOX1dJRFRILCBtaW5IZWlnaHQgPSBNSU5fSEVJR0hUKSA9PiB7XG4gIHJldHVybiBzZWxlY3RCb3gud2lkdGggPiBtaW5XaWR0aCB8fCBzZWxlY3RCb3guaGVpZ2h0ID4gbWluSGVpZ2h0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyU2VsZWN0aW9uID0gKHdpbmRvdzogV2luZG93KSA9PiB7XG4gIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKSB7XG4gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICB9IGVsc2UgaWYgKHNlbGVjdGlvbi5lbXB0eSkge1xuICAgIHNlbGVjdGlvbi5lbXB0eSgpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5Cb3VuZGluZ0JveCA9IChwb2ludDogTW91c2VQb3NpdGlvbiwgYm94OiBCb3VuZGluZ0JveCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGJveC5sZWZ0IDw9IHBvaW50LnggJiYgcG9pbnQueCA8PSBib3gubGVmdCArIGJveC53aWR0aCAmJiBib3gudG9wIDw9IHBvaW50LnkgJiYgcG9pbnQueSA8PSBib3gudG9wICsgYm94LmhlaWdodFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGJveEludGVyc2VjdHMgPSAoYm94QTogQm91bmRpbmdCb3gsIGJveEI6IEJvdW5kaW5nQm94KSA9PiB7XG4gIHJldHVybiAoXG4gICAgYm94QS5sZWZ0IDw9IGJveEIubGVmdCArIGJveEIud2lkdGggJiZcbiAgICBib3hBLmxlZnQgKyBib3hBLndpZHRoID49IGJveEIubGVmdCAmJlxuICAgIGJveEEudG9wIDw9IGJveEIudG9wICsgYm94Qi5oZWlnaHQgJiZcbiAgICBib3hBLnRvcCArIGJveEEuaGVpZ2h0ID49IGJveEIudG9wXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogQm91bmRpbmdCb3ggPT4ge1xuICByZXR1cm4gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRNb3VzZVBvc2l0aW9uID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gIHJldHVybiB7XG4gICAgeDogZXZlbnQuY2xpZW50WCxcbiAgICB5OiBldmVudC5jbGllbnRZXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2Nyb2xsID0gKCkgPT4ge1xuICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQsXG4gICAgeTogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlTW91c2VQb3NpdGlvbiA9IChldmVudDogTW91c2VFdmVudCwgY29udGFpbmVyOiBTZWxlY3RDb250YWluZXJIb3N0KTogTW91c2VQb3NpdGlvbiA9PiB7XG4gIGNvbnN0IHsgeDogY2xpZW50WCwgeTogY2xpZW50WSB9ID0gZ2V0TW91c2VQb3NpdGlvbihldmVudCk7XG4gIGNvbnN0IHNjcm9sbCA9IGdldFNjcm9sbCgpO1xuXG4gIGNvbnN0IGJvcmRlclNpemUgPSAoY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCAtIGNvbnRhaW5lci5jbGllbnRXaWR0aCkgLyAyO1xuICBjb25zdCBvZmZzZXRMZWZ0ID0gY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC5sZWZ0ICsgc2Nyb2xsLng7XG4gIGNvbnN0IG9mZnNldFRvcCA9IGNvbnRhaW5lci5ib3VuZGluZ0NsaWVudFJlY3QudG9wICsgc2Nyb2xsLnk7XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBjbGllbnRYIC0gYm9yZGVyU2l6ZSAtIChvZmZzZXRMZWZ0IC0gd2luZG93LnBhZ2VYT2Zmc2V0KSArIGNvbnRhaW5lci5zY3JvbGxMZWZ0LFxuICAgIHk6IGNsaWVudFkgLSBib3JkZXJTaXplIC0gKG9mZnNldFRvcCAtIHdpbmRvdy5wYWdlWU9mZnNldCkgKyBjb250YWluZXIuc2Nyb2xsVG9wXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3Vyc29yV2l0aGluRWxlbWVudCA9IChldmVudDogTW91c2VFdmVudCwgZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgY29uc3QgbW91c2VQb2ludCA9IGdldE1vdXNlUG9zaXRpb24oZXZlbnQpO1xuICByZXR1cm4gaW5Cb3VuZGluZ0JveChtb3VzZVBvaW50LCBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCkpO1xufTtcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -8,7 +8,8 @@ /**

*/
export { CONFIG_FACTORY, DragToSelectModule, SelectContainerComponent, SelectItemDirective } from './public_api';
export { CONFIG_FACTORY, DragToSelectModule, SelectContainerComponent, SELECT_ITEM_INSTANCE, SelectItemDirective } from './public_api';
export { DEFAULT_CONFIG as ɵb } from './lib/config';
export { KeyboardEventsService as ɵg } from './lib/keyboard-events.service';
export { ShortcutService as ɵf } from './lib/shortcut.service';
export { CONFIG as ɵc, USER_CONFIG as ɵd } from './lib/tokens';
export { mergeDeep as ɵa } from './lib/utils';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRyYWctdG8tc2VsZWN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibmd4LWRyYWctdG8tc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxrR0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFbEQsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsTUFBTSxJQUFJLEVBQUUsRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzVELE9BQU8sRUFBQyxTQUFTLElBQUksRUFBRSxFQUFDLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0RFRkFVTFRfQ09ORklHIGFzIMm1Yn0gZnJvbSAnLi9saWIvY29uZmlnJztcbmV4cG9ydCB7RHJhZ1RvU2VsZWN0Q29uZmlnIGFzIMm1ZX0gZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCB7U2hvcnRjdXRTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2hvcnRjdXQuc2VydmljZSc7XG5leHBvcnQge0NPTkZJRyBhcyDJtWMsVVNFUl9DT05GSUcgYXMgybVkfSBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0IHttZXJnZURlZXAgYXMgybVhfSBmcm9tICcuL2xpYi91dGlscyc7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRyYWctdG8tc2VsZWN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibmd4LWRyYWctdG8tc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx3SEFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxJQUFJLEVBQUUsRUFBQyxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtERUZBVUxUX0NPTkZJRyBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQge0tleWJvYXJkRXZlbnRzU2VydmljZSBhcyDJtWd9IGZyb20gJy4vbGliL2tleWJvYXJkLWV2ZW50cy5zZXJ2aWNlJztcbmV4cG9ydCB7RHJhZ1RvU2VsZWN0Q29uZmlnIGFzIMm1ZX0gZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCB7U2hvcnRjdXRTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2hvcnRjdXQuc2VydmljZSc7XG5leHBvcnQge0NPTkZJRyBhcyDJtWMsVVNFUl9DT05GSUcgYXMgybVkfSBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0IHttZXJnZURlZXAgYXMgybVhfSBmcm9tICcuL2xpYi91dGlscyc7Il19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -10,3 +10,3 @@ /*

export { SelectContainerComponent } from './lib/select-container.component';
export { SelectItemDirective } from './lib/select-item.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLG1EQUFjLDZCQUE2QixDQUFDO0FBQzVDLHlDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELG9DQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZHJhZy10by1zZWxlY3RcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcmFnLXRvLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbiJdfQ==
export { SELECT_ITEM_INSTANCE, SelectItemDirective } from './lib/select-item.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLG1EQUFjLDZCQUE2QixDQUFDO0FBQzVDLHlDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELDBEQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZHJhZy10by1zZWxlY3RcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcmFnLXRvLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -9,2 +9,3 @@ /** @type {?} */

shortcuts: {
moveRangeStart: 'shift+r',
disableSelection: 'alt',

@@ -16,2 +17,2 @@ toggleSingleItem: 'meta',

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE1BQU0sS0FBTyxjQUFjLEdBQXVCO0lBQ2hELGFBQWEsRUFBRSxVQUFVO0lBQ3pCLFNBQVMsRUFBRTtRQUNULGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixjQUFjLEVBQUUsT0FBTztRQUN2QixtQkFBbUIsRUFBRSxZQUFZO0tBQ2xDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogRHJhZ1RvU2VsZWN0Q29uZmlnID0ge1xuICBzZWxlY3RlZENsYXNzOiAnc2VsZWN0ZWQnLFxuICBzaG9ydGN1dHM6IHtcbiAgICBkaXNhYmxlU2VsZWN0aW9uOiAnYWx0JyxcbiAgICB0b2dnbGVTaW5nbGVJdGVtOiAnbWV0YScsXG4gICAgYWRkVG9TZWxlY3Rpb246ICdzaGlmdCcsXG4gICAgcmVtb3ZlRnJvbVNlbGVjdGlvbjogJ3NoaWZ0K21ldGEnXG4gIH1cbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE1BQU0sS0FBTyxjQUFjLEdBQXVCO0lBQ2hELGFBQWEsRUFBRSxVQUFVO0lBQ3pCLFNBQVMsRUFBRTtRQUNULGNBQWMsRUFBRSxTQUFTO1FBQ3pCLGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixjQUFjLEVBQUUsT0FBTztRQUN2QixtQkFBbUIsRUFBRSxZQUFZO0tBQ2xDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogRHJhZ1RvU2VsZWN0Q29uZmlnID0ge1xuICBzZWxlY3RlZENsYXNzOiAnc2VsZWN0ZWQnLFxuICBzaG9ydGN1dHM6IHtcbiAgICBtb3ZlUmFuZ2VTdGFydDogJ3NoaWZ0K3InLFxuICAgIGRpc2FibGVTZWxlY3Rpb246ICdhbHQnLFxuICAgIHRvZ2dsZVNpbmdsZUl0ZW06ICdtZXRhJyxcbiAgICBhZGRUb1NlbGVjdGlvbjogJ3NoaWZ0JyxcbiAgICByZW1vdmVGcm9tU2VsZWN0aW9uOiAnc2hpZnQrbWV0YSdcbiAgfVxufTtcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ /** @type {?} */

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DEFAULT_CONFIG } from './config';
import { KeyboardEventsService } from './keyboard-events.service';
import { SelectContainerComponent } from './select-container.component';

@@ -12,3 +14,2 @@ import { SelectItemDirective } from './select-item.directive';

import { CONFIG, USER_CONFIG } from './tokens';
import { DEFAULT_CONFIG } from './config';
import { mergeDeep } from './utils';

@@ -41,2 +42,3 @@ /** @type {?} */

ShortcutService,
KeyboardEventsService,
{ provide: USER_CONFIG, useValue: config },

@@ -61,2 +63,2 @@ {

export { DragToSelectModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy10by1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2RyYWctdG8tc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDOztJQUU5QixVQUFVLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxtQkFBbUIsQ0FBQzs7Ozs7QUFFbEUsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFtQztJQUNoRSxPQUFPLFNBQVMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVEO0lBQUE7SUFvQkEsQ0FBQzs7Ozs7SUFkUSwwQkFBTzs7OztJQUFkLFVBQWUsTUFBd0M7UUFBeEMsdUJBQUEsRUFBQSxXQUF3QztRQUNyRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1QsZUFBZTtnQkFDZixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDMUM7b0JBQ0UsT0FBTyxFQUFFLE1BQU07b0JBQ2YsVUFBVSxFQUFFLGNBQWM7b0JBQzFCLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQztpQkFDcEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztnQkFuQkYsUUFBUSxTQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxtQkFBTSxVQUFVLENBQUM7b0JBQzdCLE9BQU8sbUJBQU0sVUFBVSxDQUFDO2lCQUN6Qjs7SUFnQkQseUJBQUM7Q0FBQSxBQXBCRCxJQW9CQztTQWZZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTZWxlY3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaG9ydGN1dFNlcnZpY2UgfSBmcm9tICcuL3Nob3J0Y3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJhZ1RvU2VsZWN0Q29uZmlnIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ09ORklHLCBVU0VSX0NPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IERFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgbWVyZ2VEZWVwIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbU2VsZWN0Q29udGFpbmVyQ29tcG9uZW50LCBTZWxlY3RJdGVtRGlyZWN0aXZlXTtcblxuZXhwb3J0IGZ1bmN0aW9uIENPTkZJR19GQUNUT1JZKGNvbmZpZzogUGFydGlhbDxEcmFnVG9TZWxlY3RDb25maWc+KSB7XG4gIHJldHVybiBtZXJnZURlZXAoREVGQVVMVF9DT05GSUcsIGNvbmZpZyk7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdUb1NlbGVjdE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUGFydGlhbDxEcmFnVG9TZWxlY3RDb25maWc+ID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERyYWdUb1NlbGVjdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBTaG9ydGN1dFNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogVVNFUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IENPTkZJRyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBDT05GSUdfRkFDVE9SWSxcbiAgICAgICAgICBkZXBzOiBbVVNFUl9DT05GSUddXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy10by1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2RyYWctdG8tc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDOztJQUU5QixVQUFVLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxtQkFBbUIsQ0FBQzs7Ozs7QUFFbEUsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFtQztJQUNoRSxPQUFPLFNBQVMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQUVEO0lBQUE7SUFxQkEsQ0FBQzs7Ozs7SUFmUSwwQkFBTzs7OztJQUFkLFVBQWUsTUFBd0M7UUFBeEMsdUJBQUEsRUFBQSxXQUF3QztRQUNyRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1QsZUFBZTtnQkFDZixxQkFBcUI7Z0JBQ3JCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUMxQztvQkFDRSxPQUFPLEVBQUUsTUFBTTtvQkFDZixVQUFVLEVBQUUsY0FBYztvQkFDMUIsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUNwQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2dCQXBCRixRQUFRLFNBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixZQUFZLG1CQUFNLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxtQkFBTSxVQUFVLENBQUM7aUJBQ3pCOztJQWlCRCx5QkFBQztDQUFBLEFBckJELElBcUJDO1NBaEJZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREVGQVVMVF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBLZXlib2FyZEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuL2tleWJvYXJkLWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFNlbGVjdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNob3J0Y3V0U2VydmljZSB9IGZyb20gJy4vc2hvcnRjdXQuc2VydmljZSc7XG5pbXBvcnQgeyBDT05GSUcsIFVTRVJfQ09ORklHIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHsgbWVyZ2VEZWVwIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbU2VsZWN0Q29udGFpbmVyQ29tcG9uZW50LCBTZWxlY3RJdGVtRGlyZWN0aXZlXTtcblxuZXhwb3J0IGZ1bmN0aW9uIENPTkZJR19GQUNUT1JZKGNvbmZpZzogUGFydGlhbDxEcmFnVG9TZWxlY3RDb25maWc+KSB7XG4gIHJldHVybiBtZXJnZURlZXAoREVGQVVMVF9DT05GSUcsIGNvbmZpZyk7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdUb1NlbGVjdE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUGFydGlhbDxEcmFnVG9TZWxlY3RDb25maWc+ID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERyYWdUb1NlbGVjdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBTaG9ydGN1dFNlcnZpY2UsXG4gICAgICAgIEtleWJvYXJkRXZlbnRzU2VydmljZSxcbiAgICAgICAgeyBwcm92aWRlOiBVU0VSX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ09ORklHLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IENPTkZJR19GQUNUT1JZLFxuICAgICAgICAgIGRlcHM6IFtVU0VSX0NPTkZJR11cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -48,2 +48,4 @@ /** @enum {number} */

/** @type {?} */
Shortcuts.prototype.moveRangeStart;
/** @type {?} */
Shortcuts.prototype.disableSelection;

@@ -118,2 +120,2 @@ /** @type {?} */

Action[Action.None] = 'None';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7SUFNRSxNQUFHO0lBQ0gsU0FBTTs7Ozs7Ozs7QUFHUixrQ0FHQzs7O0lBRkMsNEJBQW9COztJQUNwQiw0QkFBMEI7Ozs7OztBQUc1QixxQ0FHQzs7O0lBRkMsaUNBQXdCOztJQUN4QixnQ0FBUzs7Ozs7QUFHWCx5Q0FFQzs7O0lBREMsaURBQWdDOzs7OztBQUdsQywrQkFLQzs7O0lBSkMscUNBQXlCOztJQUN6QixxQ0FBeUI7O0lBQ3pCLG1DQUF1Qjs7SUFDdkIsd0NBQTRCOzs7OztBQUc5Qix3Q0FHQzs7O0lBRkMsMkNBQXNCOztJQUN0Qix1Q0FBOEI7Ozs7O0FBR2hDLG1DQUdDOzs7SUFGQywwQkFBVTs7SUFDViwwQkFBVTs7Ozs7QUFHWixpQ0FLQzs7O0lBSkMsMEJBQVk7O0lBQ1osMkJBQWE7O0lBQ2IsNEJBQWM7O0lBQ2QsNkJBQWU7Ozs7OztBQUtqQiwrQkFNQzs7O0lBTEMsd0JBQU87O0lBQ1AseUJBQVE7O0lBQ1IsMEJBQVM7O0lBQ1QsMkJBQVU7O0lBQ1YsNEJBQWdCOzs7O0lBSWhCLE1BQUc7SUFDSCxTQUFNO0lBQ04sT0FBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlbGVjdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIFByZWRpY2F0ZUZuPFQ+ID0gKGl0ZW06IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBlbnVtIFVwZGF0ZUFjdGlvbnMge1xuICBBZGQsXG4gIFJlbW92ZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUFjdGlvbiB7XG4gIHR5cGU6IFVwZGF0ZUFjdGlvbnM7XG4gIGl0ZW06IFNlbGVjdEl0ZW1EaXJlY3RpdmU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JzZXJ2YWJsZVByb3h5PFQ+IHtcbiAgcHJveHkkOiBPYnNlcnZhYmxlPGFueT47XG4gIHByb3h5OiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdENvbnRhaW5lckhvc3QgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIGJvdW5kaW5nQ2xpZW50UmVjdDogQm91bmRpbmdCb3g7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hvcnRjdXRzIHtcbiAgZGlzYWJsZVNlbGVjdGlvbjogc3RyaW5nO1xuICB0b2dnbGVTaW5nbGVJdGVtOiBzdHJpbmc7XG4gIGFkZFRvU2VsZWN0aW9uOiBzdHJpbmc7XG4gIHJlbW92ZUZyb21TZWxlY3Rpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFnVG9TZWxlY3RDb25maWcge1xuICBzZWxlY3RlZENsYXNzOiBzdHJpbmc7XG4gIHNob3J0Y3V0czogUGFydGlhbDxTaG9ydGN1dHM+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vdXNlUG9zaXRpb24ge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3VuZGluZ0JveCB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RCb3hJbnB1dCA9IFtNb3VzZUV2ZW50LCBudW1iZXIsIE1vdXNlUG9zaXRpb25dO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEJveDxUPiB7XG4gIHRvcDogVDtcbiAgbGVmdDogVDtcbiAgd2lkdGg6IFQ7XG4gIGhlaWdodDogVDtcbiAgb3BhY2l0eTogbnVtYmVyO1xufVxuXG5leHBvcnQgZW51bSBBY3Rpb24ge1xuICBBZGQsXG4gIERlbGV0ZSxcbiAgTm9uZVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7SUFNRSxNQUFHO0lBQ0gsU0FBTTs7Ozs7Ozs7QUFHUixrQ0FHQzs7O0lBRkMsNEJBQW9COztJQUNwQiw0QkFBMEI7Ozs7OztBQUc1QixxQ0FHQzs7O0lBRkMsaUNBQXdCOztJQUN4QixnQ0FBUzs7Ozs7QUFHWCx5Q0FFQzs7O0lBREMsaURBQWdDOzs7OztBQUdsQywrQkFNQzs7O0lBTEMsbUNBQXVCOztJQUN2QixxQ0FBeUI7O0lBQ3pCLHFDQUF5Qjs7SUFDekIsbUNBQXVCOztJQUN2Qix3Q0FBNEI7Ozs7O0FBRzlCLHdDQUdDOzs7SUFGQywyQ0FBc0I7O0lBQ3RCLHVDQUE4Qjs7Ozs7QUFHaEMsbUNBR0M7OztJQUZDLDBCQUFVOztJQUNWLDBCQUFVOzs7OztBQUdaLGlDQUtDOzs7SUFKQywwQkFBWTs7SUFDWiwyQkFBYTs7SUFDYiw0QkFBYzs7SUFDZCw2QkFBZTs7Ozs7O0FBS2pCLCtCQU1DOzs7SUFMQyx3QkFBTzs7SUFDUCx5QkFBUTs7SUFDUiwwQkFBUzs7SUFDVCwyQkFBVTs7SUFDViw0QkFBZ0I7Ozs7SUFJaEIsTUFBRztJQUNILFNBQU07SUFDTixPQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgUHJlZGljYXRlRm48VD4gPSAoaXRlbTogVCkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGVudW0gVXBkYXRlQWN0aW9ucyB7XG4gIEFkZCxcbiAgUmVtb3ZlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQWN0aW9uIHtcbiAgdHlwZTogVXBkYXRlQWN0aW9ucztcbiAgaXRlbTogU2VsZWN0SXRlbURpcmVjdGl2ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmxlUHJveHk8VD4ge1xuICBwcm94eSQ6IE9ic2VydmFibGU8YW55PjtcbiAgcHJveHk6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Q29udGFpbmVySG9zdCBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgYm91bmRpbmdDbGllbnRSZWN0OiBCb3VuZGluZ0JveDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaG9ydGN1dHMge1xuICBtb3ZlUmFuZ2VTdGFydDogc3RyaW5nO1xuICBkaXNhYmxlU2VsZWN0aW9uOiBzdHJpbmc7XG4gIHRvZ2dsZVNpbmdsZUl0ZW06IHN0cmluZztcbiAgYWRkVG9TZWxlY3Rpb246IHN0cmluZztcbiAgcmVtb3ZlRnJvbVNlbGVjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyYWdUb1NlbGVjdENvbmZpZyB7XG4gIHNlbGVjdGVkQ2xhc3M6IHN0cmluZztcbiAgc2hvcnRjdXRzOiBQYXJ0aWFsPFNob3J0Y3V0cz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW91c2VQb3NpdGlvbiB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdW5kaW5nQm94IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEJveElucHV0ID0gW01vdXNlRXZlbnQsIG51bWJlciwgTW91c2VQb3NpdGlvbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Qm94PFQ+IHtcbiAgdG9wOiBUO1xuICBsZWZ0OiBUO1xuICB3aWR0aDogVDtcbiAgaGVpZ2h0OiBUO1xuICBvcGFjaXR5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvbiB7XG4gIEFkZCxcbiAgRGVsZXRlLFxuICBOb25lXG59XG4iXX0=
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { filter, map, withLatestFrom, distinctUntilChanged } from 'rxjs/operators';
import { distinctUntilChanged, filter, map, withLatestFrom } from 'rxjs/operators';
import { getRelativeMousePosition, hasMinimumSize } from './utils';
/** @type {?} */
export var createSelectBox = function (container) { return function (source) {
return source.pipe(map(function (_a) {
export var createSelectBox = (/**
* @param {?} container
* @return {?}
*/
function (container) { return (/**
* @param {?} source
* @return {?}
*/
function (source) {
return source.pipe(map((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 3), event = _b[0], opacity = _b[1], _c = _b[2], x = _c.x, y = _c.y;

@@ -27,20 +39,48 @@ // Type annotation is required here, because `getRelativeMousePosition` returns a `MousePosition`,

};
}));
}; };
})));
}); });
/** @type {?} */
export var whenSelectBoxVisible = function (selectBox$) { return function (source) {
return source.pipe(withLatestFrom(selectBox$), filter(function (_a) {
export var whenSelectBoxVisible = (/**
* @param {?} selectBox$
* @return {?}
*/
function (selectBox$) { return (/**
* @param {?} source
* @return {?}
*/
function (source) {
return source.pipe(withLatestFrom(selectBox$), filter((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), selectBox = _b[1];
return hasMinimumSize(selectBox, 0, 0);
}), map(function (_a) {
})), map((/**
* @param {?} __0
* @return {?}
*/
function (_a) {
var _b = tslib_1.__read(_a, 2), event = _b[0], _ = _b[1];
return event;
}));
}; };
})));
}); });
/** @type {?} */
export var distinctKeyEvents = function () { return function (source) {
return source.pipe(distinctUntilChanged(function (prev, curr) {
return prev.keyCode === curr.keyCode;
}));
}; };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRW5FLE1BQU0sS0FBTyxlQUFlLEdBQUcsVUFBQyxTQUE4QixJQUFLLE9BQUEsVUFDakUsTUFBa0M7SUFFbEMsT0FBQSxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsQ0FBQyxVQUFDLEVBQTBCO1lBQTFCLDBCQUEwQixFQUF6QixhQUFLLEVBQUUsZUFBTyxFQUFFLFVBQVEsRUFBTixRQUFDLEVBQUUsUUFBQzs7OztZQUdwQixhQUFhLEdBQWtCLHdCQUF3QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7O1lBRXpFLEtBQUssR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFDN0MsTUFBTSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBELE9BQU87WUFDTCxHQUFHLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3hCLE9BQU8sU0FBQTtTQUNSLENBQUM7SUFDSixDQUFDLENBQUMsQ0FDSDtBQWpCRCxDQWlCQyxFQXBCZ0UsQ0FvQmhFOztBQUVILE1BQU0sS0FBTyxvQkFBb0IsR0FBRyxVQUFDLFVBQXlDLElBQUssT0FBQSxVQUFDLE1BQXlCO0lBQzNHLE9BQUEsTUFBTSxDQUFDLElBQUksQ0FDVCxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQzFCLE1BQU0sQ0FBQyxVQUFDLEVBQWE7WUFBYiwwQkFBYSxFQUFWLGlCQUFTO1FBQU0sT0FBQSxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFBL0IsQ0FBK0IsQ0FBQyxFQUMxRCxHQUFHLENBQUMsVUFBQyxFQUFVO1lBQVYsMEJBQVUsRUFBVCxhQUFLLEVBQUUsU0FBQztRQUFNLE9BQUEsS0FBSztJQUFMLENBQUssQ0FBQyxDQUMzQjtBQUpELENBSUMsRUFMZ0YsQ0FLaEY7O0FBRUgsTUFBTSxLQUFPLGlCQUFpQixHQUFHLGNBQU0sT0FBQSxVQUFDLE1BQWlDO0lBQ3ZFLE9BQUEsTUFBTSxDQUFDLElBQUksQ0FDVCxvQkFBb0IsQ0FBQyxVQUFDLElBQUksRUFBRSxJQUFJO1FBQzlCLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxDQUNIO0FBSkQsQ0FJQyxFQUxvQyxDQUtwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB3aXRoTGF0ZXN0RnJvbSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNb3VzZVBvc2l0aW9uLCBTZWxlY3RCb3gsIFNlbGVjdEJveElucHV0LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uLCBoYXNNaW5pbXVtU2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VsZWN0Qm94ID0gKGNvbnRhaW5lcjogU2VsZWN0Q29udGFpbmVySG9zdCkgPT4gKFxuICBzb3VyY2U6IE9ic2VydmFibGU8U2VsZWN0Qm94SW5wdXQ+XG4pOiBPYnNlcnZhYmxlPFNlbGVjdEJveDxudW1iZXI+PiA9PlxuICBzb3VyY2UucGlwZShcbiAgICBtYXAoKFtldmVudCwgb3BhY2l0eSwgeyB4LCB5IH1dKSA9PiB7XG4gICAgICAvLyBUeXBlIGFubm90YXRpb24gaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSBgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uYCByZXR1cm5zIGEgYE1vdXNlUG9zaXRpb25gLFxuICAgICAgLy8gdGhlIFRTIGNvbXBpbGVyIGNhbm5vdCBmaWd1cmUgb3V0IHRoZSBzaGFwZSBvZiB0aGlzIHR5cGUuXG4gICAgICBjb25zdCBtb3VzZVBvc2l0aW9uOiBNb3VzZVBvc2l0aW9uID0gZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uKGV2ZW50LCBjb250YWluZXIpO1xuXG4gICAgICBjb25zdCB3aWR0aCA9IG9wYWNpdHkgPiAwID8gbW91c2VQb3NpdGlvbi54IC0geCA6IDA7XG4gICAgICBjb25zdCBoZWlnaHQgPSBvcGFjaXR5ID4gMCA/IG1vdXNlUG9zaXRpb24ueSAtIHkgOiAwO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b3A6IGhlaWdodCA8IDAgPyBtb3VzZVBvc2l0aW9uLnkgOiB5LFxuICAgICAgICBsZWZ0OiB3aWR0aCA8IDAgPyBtb3VzZVBvc2l0aW9uLnggOiB4LFxuICAgICAgICB3aWR0aDogTWF0aC5hYnMod2lkdGgpLFxuICAgICAgICBoZWlnaHQ6IE1hdGguYWJzKGhlaWdodCksXG4gICAgICAgIG9wYWNpdHlcbiAgICAgIH07XG4gICAgfSlcbiAgKTtcblxuZXhwb3J0IGNvbnN0IHdoZW5TZWxlY3RCb3hWaXNpYmxlID0gKHNlbGVjdEJveCQ6IE9ic2VydmFibGU8U2VsZWN0Qm94PG51bWJlcj4+KSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPEV2ZW50PikgPT5cbiAgc291cmNlLnBpcGUoXG4gICAgd2l0aExhdGVzdEZyb20oc2VsZWN0Qm94JCksXG4gICAgZmlsdGVyKChbLCBzZWxlY3RCb3hdKSA9PiBoYXNNaW5pbXVtU2l6ZShzZWxlY3RCb3gsIDAsIDApKSxcbiAgICBtYXAoKFtldmVudCwgX10pID0+IGV2ZW50KVxuICApO1xuXG5leHBvcnQgY29uc3QgZGlzdGluY3RLZXlFdmVudHMgPSAoKSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+KSA9PlxuICBzb3VyY2UucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4ge1xuICAgICAgcmV0dXJuIHByZXYua2V5Q29kZSA9PT0gY3Vyci5rZXlDb2RlO1xuICAgIH0pXG4gICk7XG4iXX0=
export var distinctKeyEvents = (/**
* @return {?}
*/
function () { return (/**
* @param {?} source
* @return {?}
*/
function (source) {
return source.pipe(distinctUntilChanged((/**
* @param {?} prev
* @param {?} curr
* @return {?}
*/
function (prev, curr) {
return prev && curr && prev.code === curr.code;
})));
}); });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRW5FLE1BQU0sS0FBTyxlQUFlOzs7O0FBQUcsVUFBQyxTQUE4Qjs7OztBQUFLLFVBQ2pFLE1BQWtDO0lBRWxDLE9BQUEsTUFBTSxDQUFDLElBQUksQ0FDVCxHQUFHOzs7O0lBQUMsVUFBQyxFQUEwQjtZQUExQiwwQkFBMEIsRUFBekIsYUFBSyxFQUFFLGVBQU8sRUFBRSxVQUFRLEVBQU4sUUFBQyxFQUFFLFFBQUM7Ozs7WUFHcEIsYUFBYSxHQUFrQix3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDOztZQUV6RSxLQUFLLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O1lBQzdDLE1BQU0sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRCxPQUFPO1lBQ0wsR0FBRyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUN4QixPQUFPLFNBQUE7U0FDUixDQUFDO0lBQ0osQ0FBQyxFQUFDLENBQ0g7QUFqQkQsQ0FpQkMsSUFBQSxDQUFBOztBQUVILE1BQU0sS0FBTyxvQkFBb0I7Ozs7QUFBRyxVQUFDLFVBQXlDOzs7O0FBQUssVUFBQyxNQUF5QjtJQUMzRyxPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQ1QsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUMxQixNQUFNOzs7O0lBQUMsVUFBQyxFQUFhO1lBQWIsMEJBQWEsRUFBVixpQkFBUztRQUFNLE9BQUEsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQS9CLENBQStCLEVBQUMsRUFDMUQsR0FBRzs7OztJQUFDLFVBQUMsRUFBVTtZQUFWLDBCQUFVLEVBQVQsYUFBSyxFQUFFLFNBQUM7UUFBTSxPQUFBLEtBQUs7SUFBTCxDQUFLLEVBQUMsQ0FDM0I7QUFKRCxDQUlDLElBQUEsQ0FBQTs7QUFFSCxNQUFNLEtBQU8saUJBQWlCOzs7QUFBRzs7OztBQUFNLFVBQUMsTUFBaUM7SUFDdkUsT0FBQSxNQUFNLENBQUMsSUFBSSxDQUNULG9CQUFvQjs7Ozs7SUFBQyxVQUFDLElBQUksRUFBRSxJQUFJO1FBQzlCLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDakQsQ0FBQyxFQUFDLENBQ0g7QUFKRCxDQUlDLElBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNb3VzZVBvc2l0aW9uLCBTZWxlY3RCb3gsIFNlbGVjdEJveElucHV0LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uLCBoYXNNaW5pbXVtU2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VsZWN0Qm94ID0gKGNvbnRhaW5lcjogU2VsZWN0Q29udGFpbmVySG9zdCkgPT4gKFxuICBzb3VyY2U6IE9ic2VydmFibGU8U2VsZWN0Qm94SW5wdXQ+XG4pOiBPYnNlcnZhYmxlPFNlbGVjdEJveDxudW1iZXI+PiA9PlxuICBzb3VyY2UucGlwZShcbiAgICBtYXAoKFtldmVudCwgb3BhY2l0eSwgeyB4LCB5IH1dKSA9PiB7XG4gICAgICAvLyBUeXBlIGFubm90YXRpb24gaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSBgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uYCByZXR1cm5zIGEgYE1vdXNlUG9zaXRpb25gLFxuICAgICAgLy8gdGhlIFRTIGNvbXBpbGVyIGNhbm5vdCBmaWd1cmUgb3V0IHRoZSBzaGFwZSBvZiB0aGlzIHR5cGUuXG4gICAgICBjb25zdCBtb3VzZVBvc2l0aW9uOiBNb3VzZVBvc2l0aW9uID0gZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uKGV2ZW50LCBjb250YWluZXIpO1xuXG4gICAgICBjb25zdCB3aWR0aCA9IG9wYWNpdHkgPiAwID8gbW91c2VQb3NpdGlvbi54IC0geCA6IDA7XG4gICAgICBjb25zdCBoZWlnaHQgPSBvcGFjaXR5ID4gMCA/IG1vdXNlUG9zaXRpb24ueSAtIHkgOiAwO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b3A6IGhlaWdodCA8IDAgPyBtb3VzZVBvc2l0aW9uLnkgOiB5LFxuICAgICAgICBsZWZ0OiB3aWR0aCA8IDAgPyBtb3VzZVBvc2l0aW9uLnggOiB4LFxuICAgICAgICB3aWR0aDogTWF0aC5hYnMod2lkdGgpLFxuICAgICAgICBoZWlnaHQ6IE1hdGguYWJzKGhlaWdodCksXG4gICAgICAgIG9wYWNpdHlcbiAgICAgIH07XG4gICAgfSlcbiAgKTtcblxuZXhwb3J0IGNvbnN0IHdoZW5TZWxlY3RCb3hWaXNpYmxlID0gKHNlbGVjdEJveCQ6IE9ic2VydmFibGU8U2VsZWN0Qm94PG51bWJlcj4+KSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPEV2ZW50PikgPT5cbiAgc291cmNlLnBpcGUoXG4gICAgd2l0aExhdGVzdEZyb20oc2VsZWN0Qm94JCksXG4gICAgZmlsdGVyKChbLCBzZWxlY3RCb3hdKSA9PiBoYXNNaW5pbXVtU2l6ZShzZWxlY3RCb3gsIDAsIDApKSxcbiAgICBtYXAoKFtldmVudCwgX10pID0+IGV2ZW50KVxuICApO1xuXG5leHBvcnQgY29uc3QgZGlzdGluY3RLZXlFdmVudHMgPSAoKSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+KSA9PlxuICBzb3VyY2UucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4ge1xuICAgICAgcmV0dXJuIHByZXYgJiYgY3VyciAmJiBwcmV2LmNvZGUgPT09IGN1cnIuY29kZTtcbiAgICB9KVxuICApO1xuIl19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { isPlatformBrowser } from '@angular/common';
import { Directive, ElementRef, Inject, Input, PLATFORM_ID, Renderer2 } from '@angular/core';
import { Directive, ElementRef, Inject, Input, PLATFORM_ID, Renderer2, HostBinding } from '@angular/core';
import { CONFIG } from './tokens';
import { calculateBoundingClientRect } from './utils';
/** @type {?} */
export var SELECT_ITEM_INSTANCE = Symbol();
var SelectItemDirective = /** @class */ (function () {

@@ -16,2 +18,3 @@ function SelectItemDirective(config, platformId, host, renderer) {

this.selected = false;
this.rangeStart = false;
}

@@ -35,5 +38,3 @@ Object.defineProperty(SelectItemDirective.prototype, "value", {

function () {
if (isPlatformBrowser(this.platformId)) {
this.calculateBoundingClientRect();
}
this.nativeElememnt[SELECT_ITEM_INSTANCE] = this;
};

@@ -52,2 +53,21 @@ /**

*/
SelectItemDirective.prototype.toggleRangeStart = /**
* @return {?}
*/
function () {
this.rangeStart = !this.rangeStart;
};
Object.defineProperty(SelectItemDirective.prototype, "nativeElememnt", {
get: /**
* @return {?}
*/
function () {
return this.host.nativeElement;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
SelectItemDirective.prototype.getBoundingClientRect = /**

@@ -57,2 +77,5 @@ * @return {?}

function () {
if (isPlatformBrowser(this.platformId) && !this._boundingClientRect) {
this.calculateBoundingClientRect();
}
return this._boundingClientRect;

@@ -67,3 +90,6 @@ };

function () {
this._boundingClientRect = calculateBoundingClientRect(this.host.nativeElement);
/** @type {?} */
var boundingBox = calculateBoundingClientRect(this.host.nativeElement);
this._boundingClientRect = boundingBox;
return boundingBox;
};

@@ -89,5 +115,7 @@ /**

/**
* @private
* @return {?}
*/
SelectItemDirective.prototype.applySelectedClass = /**
* @private
* @return {?}

@@ -115,3 +143,3 @@ */

{ type: undefined, decorators: [{ type: Inject, args: [CONFIG,] }] },
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
{ type: ElementRef },

@@ -121,2 +149,3 @@ { type: Renderer2 }

SelectItemDirective.propDecorators = {
rangeStart: [{ type: HostBinding, args: ['class.dts-range-start',] }],
dtsSelectItem: [{ type: Input }]

@@ -128,3 +157,6 @@ };

if (false) {
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype._boundingClientRect;

@@ -134,12 +166,26 @@ /** @type {?} */

/** @type {?} */
SelectItemDirective.prototype.rangeStart;
/** @type {?} */
SelectItemDirective.prototype.dtsSelectItem;
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.config;
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.platformId;
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.host;
/** @type {?} */
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBRVYsTUFBTSxFQUNOLEtBQUssRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXREO0lBbUJFLDZCQUMwQixNQUEwQixFQUNyQixVQUFVLEVBQy9CLElBQWdCLEVBQ2hCLFFBQW1CO1FBSEgsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBQTtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFiN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztJQWNkLENBQUM7SUFUSixzQkFBSSxzQ0FBSzs7OztRQUFUO1lBQ0UsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDeEQsQ0FBQzs7O09BQUE7Ozs7SUFTRCxzQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7Ozs7SUFFRCx1Q0FBUzs7O0lBQVQ7UUFDRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsbURBQXFCOzs7SUFBckI7UUFDRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDOzs7O0lBRUQseURBQTJCOzs7SUFBM0I7UUFDRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRixDQUFDOzs7O0lBRUQscUNBQU87OztJQUFQO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzs7OztJQUVELHVDQUFTOzs7SUFBVDtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Ozs7SUFFTyxnREFBa0I7OztJQUExQjtRQUNFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzVFO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQy9FO0lBQ0gsQ0FBQzs7Z0JBMURGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxpQkFBaUI7cUJBQ3pCO2lCQUNGOzs7O2dEQWNJLE1BQU0sU0FBQyxNQUFNO2dEQUNiLE1BQU0sU0FBQyxXQUFXO2dCQW5DckIsVUFBVTtnQkFPVixTQUFTOzs7Z0NBbUJSLEtBQUs7O0lBK0NSLDBCQUFDO0NBQUEsQUEzREQsSUEyREM7U0FwRFksbUJBQW1COzs7SUFDOUIsa0RBQTRCOztJQUU1Qix1Q0FBaUI7O0lBRWpCLDRDQUNjOztJQU9aLHFDQUFrRDs7SUFDbEQseUNBQXVDOztJQUN2QyxtQ0FBd0I7O0lBQ3hCLHVDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QgfSBmcm9tICcuL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2R0c1NlbGVjdEl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdkdHNTZWxlY3RJdGVtJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZHRzLXNlbGVjdC1pdGVtJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICBwcml2YXRlIF9ib3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkdHNTZWxlY3RJdGVtO1xuXG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kdHNTZWxlY3RJdGVtID8gdGhpcy5kdHNTZWxlY3RJdGVtIDogdGhpcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRHJhZ1RvU2VsZWN0Q29uZmlnLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZCxcbiAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgdGhpcy5hcHBseVNlbGVjdGVkQ2xhc3MoKTtcbiAgfVxuXG4gIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYm91bmRpbmdDbGllbnRSZWN0O1xuICB9XG5cbiAgY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0KCkge1xuICAgIHRoaXMuX2JvdW5kaW5nQ2xpZW50UmVjdCA9IGNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdCh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBfc2VsZWN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuICB9XG5cbiAgX2Rlc2VsZWN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTZWxlY3RlZENsYXNzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbmZpZy5zZWxlY3RlZENsYXNzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgdGhpcy5jb25maWcuc2VsZWN0ZWRDbGFzcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUVULFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFdEQsTUFBTSxLQUFPLG9CQUFvQixHQUFHLE1BQU0sRUFBRTtBQUU1QztJQW9CRSw2QkFDMEIsTUFBMEIsRUFDckIsVUFBa0IsRUFDdkMsSUFBZ0IsRUFDaEIsUUFBbUI7UUFISCxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWQ3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXFCLGVBQVUsR0FBRyxLQUFLLENBQUM7SUFhdEQsQ0FBQztJQVRKLHNCQUFJLHNDQUFLOzs7O1FBQVQ7WUFDRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN4RCxDQUFDOzs7T0FBQTs7OztJQVNELHNDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDbkQsQ0FBQzs7OztJQUVELHVDQUFTOzs7SUFBVDtRQUNFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7Ozs7SUFFRCw4Q0FBZ0I7OztJQUFoQjtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxzQkFBSSwrQ0FBYzs7OztRQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDakMsQ0FBQzs7O09BQUE7Ozs7SUFFRCxtREFBcUI7OztJQUFyQjtRQUNFLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ25FLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQzs7OztJQUVELHlEQUEyQjs7O0lBQTNCOztZQUNRLFdBQVcsR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsV0FBVyxDQUFDO1FBQ3ZDLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Ozs7SUFFRCxxQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDOzs7O0lBRUQsdUNBQVM7OztJQUFUO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQzs7Ozs7SUFFTyxnREFBa0I7Ozs7SUFBMUI7UUFDRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1RTthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMvRTtJQUNILENBQUM7O2dCQXRFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsaUJBQWlCO3FCQUN6QjtpQkFDRjs7OztnREFlSSxNQUFNLFNBQUMsTUFBTTtnQkFDMkIsTUFBTSx1QkFBOUMsTUFBTSxTQUFDLFdBQVc7Z0JBckNyQixVQUFVO2dCQUlWLFNBQVM7Ozs2QkF1QlIsV0FBVyxTQUFDLHVCQUF1QjtnQ0FFbkMsS0FBSzs7SUF5RFIsMEJBQUM7Q0FBQSxBQXZFRCxJQXVFQztTQWhFWSxtQkFBbUI7Ozs7OztJQUM5QixrREFBcUQ7O0lBRXJELHVDQUFpQjs7SUFFakIseUNBQXlEOztJQUV6RCw0Q0FBd0M7Ozs7O0lBT3RDLHFDQUFrRDs7Ozs7SUFDbEQseUNBQStDOzs7OztJQUMvQyxtQ0FBd0I7Ozs7O0lBQ3hCLHVDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyLFxuICBPbkluaXQsXG4gIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcsIEJvdW5kaW5nQm94IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ09ORklHIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHsgY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0IH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfSVRFTV9JTlNUQU5DRSA9IFN5bWJvbCgpO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZHRzU2VsZWN0SXRlbV0nLFxuICBleHBvcnRBczogJ2R0c1NlbGVjdEl0ZW0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkdHMtc2VsZWN0LWl0ZW0nXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0SXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgRG9DaGVjayB7XG4gIHByaXZhdGUgX2JvdW5kaW5nQ2xpZW50UmVjdDogQm91bmRpbmdCb3ggfCB1bmRlZmluZWQ7XG5cbiAgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmR0cy1yYW5nZS1zdGFydCcpIHJhbmdlU3RhcnQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBkdHNTZWxlY3RJdGVtOiBhbnkgfCB1bmRlZmluZWQ7XG5cbiAgZ2V0IHZhbHVlKCk6IFNlbGVjdEl0ZW1EaXJlY3RpdmUgfCBhbnkge1xuICAgIHJldHVybiB0aGlzLmR0c1NlbGVjdEl0ZW0gPyB0aGlzLmR0c1NlbGVjdEl0ZW0gOiB0aGlzO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChDT05GSUcpIHByaXZhdGUgY29uZmlnOiBEcmFnVG9TZWxlY3RDb25maWcsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgcHJpdmF0ZSBob3N0OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5uYXRpdmVFbGVtZW1udFtTRUxFQ1RfSVRFTV9JTlNUQU5DRV0gPSB0aGlzO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuYXBwbHlTZWxlY3RlZENsYXNzKCk7XG4gIH1cblxuICB0b2dnbGVSYW5nZVN0YXJ0KCkge1xuICAgIHRoaXMucmFuZ2VTdGFydCA9ICF0aGlzLnJhbmdlU3RhcnQ7XG4gIH1cblxuICBnZXQgbmF0aXZlRWxlbWVtbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmICF0aGlzLl9ib3VuZGluZ0NsaWVudFJlY3QpIHtcbiAgICAgIHRoaXMuY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ib3VuZGluZ0NsaWVudFJlY3Q7XG4gIH1cblxuICBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoKSB7XG4gICAgY29uc3QgYm91bmRpbmdCb3ggPSBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuX2JvdW5kaW5nQ2xpZW50UmVjdCA9IGJvdW5kaW5nQm94O1xuICAgIHJldHVybiBib3VuZGluZ0JveDtcbiAgfVxuXG4gIF9zZWxlY3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XG4gIH1cblxuICBfZGVzZWxlY3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVNlbGVjdGVkQ2xhc3MoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29uZmlnLnNlbGVjdGVkQ2xhc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbmZpZy5zZWxlY3RlZENsYXNzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==

@@ -1,11 +0,15 @@

import * as tslib_1 from "tslib";
var _a;
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, Inject } from '@angular/core';
import * as tslib_1 from "tslib";
import { isPlatformBrowser } from '@angular/common';
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
import { merge } from 'rxjs';
import { distinctUntilChanged, map } from 'rxjs/operators';
import { KeyboardEventsService } from './keyboard-events.service';
import { CONFIG } from './tokens';
/** @type {?} */
var SUPPORTED_KEYS = {
var SUPPORTED_META_KEYS = {
alt: true,

@@ -17,2 +21,4 @@ shift: true,

/** @type {?} */
var SUPPORTED_KEYS = /[a-z]/;
/** @type {?} */
var META_KEY = 'meta';

@@ -25,2 +31,3 @@ /** @type {?} */

var SUPPORTED_SHORTCUTS = {
moveRangeStart: true,
disableSelection: true,

@@ -33,7 +40,55 @@ toggleSingleItem: true,

var ERROR_PREFIX = '[ShortcutService]';
/**
* @record
*/
function KeyState() { }
if (false) {
/** @type {?} */
KeyState.prototype.code;
/** @type {?} */
KeyState.prototype.pressed;
}
var ShortcutService = /** @class */ (function () {
function ShortcutService(config) {
this.config = config;
function ShortcutService(platformId, config, keyboardEvents) {
var _this = this;
this.platformId = platformId;
this.keyboardEvents = keyboardEvents;
this._shortcuts = {};
this._shortcuts = this.createShortcutsFromConfig(config.shortcuts);
this._latestShortcut = new Map();
this._shortcuts = this._createShortcutsFromConfig(config.shortcuts);
if (isPlatformBrowser(this.platformId)) {
/** @type {?} */
var keydown$ = this.keyboardEvents.keydown$.pipe(map((/**
* @param {?} event
* @return {?}
*/
function (event) { return ({ code: event.code, pressed: true }); })));
/** @type {?} */
var keyup$ = this.keyboardEvents.keyup$.pipe(map((/**
* @param {?} event
* @return {?}
*/
function (event) { return ({ code: event.code, pressed: false }); })));
merge(keydown$, keyup$)
.pipe(distinctUntilChanged((/**
* @param {?} prev
* @param {?} curr
* @return {?}
*/
function (prev, curr) {
return prev.pressed === curr.pressed && prev.code === curr.code;
})))
.subscribe((/**
* @param {?} keyState
* @return {?}
*/
function (keyState) {
if (keyState.pressed) {
_this._latestShortcut.set(keyState.code, true);
}
else {
_this._latestShortcut.delete(keyState.code);
}
}));
}
}

@@ -49,3 +104,3 @@ /**

function (event) {
return this.isShortcutPressed('disableSelection', event);
return this._isShortcutPressed('disableSelection', event);
};

@@ -56,2 +111,13 @@ /**

*/
ShortcutService.prototype.moveRangeStart = /**
* @param {?} event
* @return {?}
*/
function (event) {
return this._isShortcutPressed('moveRangeStart', event);
};
/**
* @param {?} event
* @return {?}
*/
ShortcutService.prototype.toggleSingleItem = /**

@@ -62,3 +128,3 @@ * @param {?} event

function (event) {
return this.isShortcutPressed('toggleSingleItem', event);
return this._isShortcutPressed('toggleSingleItem', event);
};

@@ -74,3 +140,3 @@ /**

function (event) {
return this.isShortcutPressed('addToSelection', event);
return this._isShortcutPressed('addToSelection', event);
};

@@ -86,3 +152,3 @@ /**

function (event) {
return this.isShortcutPressed('removeFromSelection', event);
return this._isShortcutPressed('removeFromSelection', event);
};

@@ -101,6 +167,8 @@ /**

/**
* @private
* @param {?} shortcuts
* @return {?}
*/
ShortcutService.prototype.createShortcutsFromConfig = /**
ShortcutService.prototype._createShortcutsFromConfig = /**
* @private
* @param {?} shortcuts

@@ -110,9 +178,9 @@ * @return {?}

function (shortcuts) {
var e_1, _a;
var _this = this;
var e_1, _a;
/** @type {?} */
var shortcutMap = {};
var _loop_1 = function (key, shortcutsForCommand) {
if (!this_1.isSupportedShortcut(key)) {
throw new Error(this_1.getErrorMessage("Shortcut " + key + " not supported"));
if (!this_1._isSupportedShortcut(key)) {
throw new Error(this_1._getErrorMessage("Shortcut " + key + " not supported"));
}

@@ -122,3 +190,7 @@ shortcutsForCommand

.split(',')
.forEach(function (shortcut) {
.forEach((/**
* @param {?} shortcut
* @return {?}
*/
function (shortcut) {
if (!shortcutMap[key]) {

@@ -130,12 +202,22 @@ shortcutMap[key] = [];

/** @type {?} */
var cleanCombos = _this.substituteKey(shortcut, combo, META_KEY);
cleanCombos.forEach(function (cleanCombo) {
var cleanCombos = _this._substituteKey(shortcut, combo, META_KEY);
cleanCombos.forEach((/**
* @param {?} cleanCombo
* @return {?}
*/
function (cleanCombo) {
/** @type {?} */
var unsupportedKey = _this.isSupportedCombo(cleanCombo);
var unsupportedKey = _this._isSupportedCombo(cleanCombo);
if (unsupportedKey) {
throw new Error(_this.getErrorMessage("Key '" + unsupportedKey + "' in shortcut " + shortcut + " not supported"));
throw new Error(_this._getErrorMessage("Key '" + unsupportedKey + "' in shortcut " + shortcut + " not supported"));
}
shortcutMap[key].push(cleanCombo.map(function (comboKey) { return comboKey + "Key"; }));
});
});
shortcutMap[key].push(cleanCombo.map((/**
* @param {?} comboKey
* @return {?}
*/
function (comboKey) {
return SUPPORTED_META_KEYS[comboKey] ? comboKey + "Key" : "Key" + comboKey.toUpperCase();
})));
}));
}));
};

@@ -159,2 +241,3 @@ var this_1 = this;

/**
* @private
* @param {?} shortcut

@@ -165,3 +248,4 @@ * @param {?} combo

*/
ShortcutService.prototype.substituteKey = /**
ShortcutService.prototype._substituteKey = /**
* @private
* @param {?} shortcut

@@ -179,6 +263,14 @@ * @param {?} combo

/** @type {?} */
var cleanShortcut_1 = combo.filter(function (element) { return element !== META_KEY; });
KEY_ALIASES.meta.forEach(function (alias) {
var cleanShortcut_1 = combo.filter((/**
* @param {?} element
* @return {?}
*/
function (element) { return element !== META_KEY; }));
KEY_ALIASES.meta.forEach((/**
* @param {?} alias
* @return {?}
*/
function (alias) {
substitutedShortcut.push(tslib_1.__spread(cleanShortcut_1, [alias]));
});
}));
}

@@ -191,6 +283,8 @@ else {

/**
* @private
* @param {?} message
* @return {?}
*/
ShortcutService.prototype.getErrorMessage = /**
ShortcutService.prototype._getErrorMessage = /**
* @private
* @param {?} message

@@ -203,2 +297,3 @@ * @return {?}

/**
* @private
* @param {?} shortcutName

@@ -208,3 +303,4 @@ * @param {?} event

*/
ShortcutService.prototype.isShortcutPressed = /**
ShortcutService.prototype._isShortcutPressed = /**
* @private
* @param {?} shortcutName

@@ -215,13 +311,39 @@ * @param {?} event

function (shortcutName, event) {
var _this = this;
/** @type {?} */
var shortcuts = this._shortcuts[shortcutName];
return shortcuts.some(function (shortcut) {
return shortcut.every(function (key) { return event[key]; });
});
return shortcuts.some((/**
* @param {?} shortcut
* @return {?}
*/
function (shortcut) {
return shortcut.every((/**
* @param {?} key
* @return {?}
*/
function (key) { return _this._isKeyPressed(event, key); }));
}));
};
/**
* @private
* @param {?} event
* @param {?} key
* @return {?}
*/
ShortcutService.prototype._isKeyPressed = /**
* @private
* @param {?} event
* @param {?} key
* @return {?}
*/
function (event, key) {
return key.startsWith('Key') ? this._latestShortcut.has(key) : event[key];
};
/**
* @private
* @param {?} combo
* @return {?}
*/
ShortcutService.prototype.isSupportedCombo = /**
ShortcutService.prototype._isSupportedCombo = /**
* @private
* @param {?} combo

@@ -231,17 +353,37 @@ * @return {?}

function (combo) {
var _this = this;
/** @type {?} */
var unsupportedKey = null;
combo.forEach(function (key) {
if (!SUPPORTED_KEYS[key]) {
combo.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (!SUPPORTED_META_KEYS[key] && (!SUPPORTED_KEYS.test(key) || _this._isSingleChar(key))) {
unsupportedKey = key;
return;
}
});
}));
return unsupportedKey;
};
/**
* @private
* @param {?} key
* @return {?}
*/
ShortcutService.prototype._isSingleChar = /**
* @private
* @param {?} key
* @return {?}
*/
function (key) {
return key.length > 1;
};
/**
* @private
* @param {?} shortcut
* @return {?}
*/
ShortcutService.prototype.isSupportedShortcut = /**
ShortcutService.prototype._isSupportedShortcut = /**
* @private
* @param {?} shortcut

@@ -258,3 +400,5 @@ * @return {?}

ShortcutService.ctorParameters = function () { return [
{ type: undefined, decorators: [{ type: Inject, args: [CONFIG,] }] }
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },
{ type: undefined, decorators: [{ type: Inject, args: [CONFIG,] }] },
{ type: KeyboardEventsService }
]; };

@@ -265,7 +409,23 @@ return ShortcutService;

if (false) {
/** @type {?} */
/**
* @type {?}
* @private
*/
ShortcutService.prototype._shortcuts;
/** @type {?} */
ShortcutService.prototype.config;
/**
* @type {?}
* @private
*/
ShortcutService.prototype._latestShortcut;
/**
* @type {?}
* @private
*/
ShortcutService.prototype.platformId;
/**
* @type {?}
* @private
*/
ShortcutService.prototype.keyboardEvents;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRjdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbImxpYi9zaG9ydGN1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7O0lBRTVCLGNBQWMsR0FBRztJQUNyQixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUk7SUFDVixJQUFJLEVBQUUsSUFBSTtDQUNYOztJQUVLLFFBQVEsR0FBRyxNQUFNOztJQUVqQixXQUFXO0lBQ2YsR0FBQyxRQUFRLElBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO09BQzdCOztJQUVLLG1CQUFtQixHQUFHO0lBQzFCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixjQUFjLEVBQUUsSUFBSTtJQUNwQixtQkFBbUIsRUFBRSxJQUFJO0NBQzFCOztJQUVLLFlBQVksR0FBRyxtQkFBbUI7QUFFeEM7SUFJRSx5QkFBb0MsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFGdEQsZUFBVSxHQUFrQyxFQUFFLENBQUM7UUFHckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Ozs7O0lBRUQsMENBQWdCOzs7O0lBQWhCLFVBQWlCLEtBQVk7UUFDM0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7Ozs7SUFFRCwwQ0FBZ0I7Ozs7SUFBaEIsVUFBaUIsS0FBWTtRQUMzQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FB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dGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcblxuY29uc3QgU1VQUE9SVEVEX0tFWVMgPSB7XG4gIGFsdDogdHJ1ZSxcbiAgc2hpZnQ6IHRydWUsXG4gIG1ldGE6IHRydWUsXG4gIGN0cmw6IHRydWVcbn07XG5cbmNvbnN0IE1FVEFfS0VZID0gJ21ldGEnO1xuXG5jb25zdCBLRVlfQUxJQVNFUyA9IHtcbiAgW01FVEFfS0VZXTogWydjdHJsJywgJ21ldGEnXVxufTtcblxuY29uc3QgU1VQUE9SVEVEX1NIT1JUQ1VUUyA9IHtcbiAgZGlzYWJsZVNlbGVjdGlvbjogdHJ1ZSxcbiAgdG9nZ2xlU2luZ2xlSXRlbTogdHJ1ZSxcbiAgYWRkVG9TZWxlY3Rpb246IHRydWUsXG4gIHJlbW92ZUZyb21TZWxlY3Rpb246IHRydWVcbn07XG5cbmNvbnN0IEVSUk9SX1BSRUZJWCA9ICdbU2hvcnRjdXRTZXJ2aWNlXSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaG9ydGN1dFNlcnZpY2Uge1xuICBwcml2YXRlIF9zaG9ydGN1dHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW11bXSB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05GSUcpIHByaXZhdGUgY29uZmlnOiBEcmFnVG9TZWxlY3RDb25maWcpIHtcbiAgICB0aGlzLl9zaG9ydGN1dHMgPSB0aGlzLmNyZWF0ZVNob3J0Y3V0c0Zyb21Db25maWcoY29uZmlnLnNob3J0Y3V0cyk7XG4gIH1cblxuICBkaXNhYmxlU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLmlzU2hvcnRjdXRQcmVzc2VkKCdkaXNhYmxlU2VsZWN0aW9uJywgZXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlU2luZ2xlSXRlbShldmVudDogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy5pc1Nob3J0Y3V0UHJlc3NlZCgndG9nZ2xlU2luZ2xlSXRlbScsIGV2ZW50KTtcbiAgfVxuXG4gIGFkZFRvU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLmlzU2hvcnRjdXRQcmVzc2VkKCdhZGRUb1NlbGVjdGlvbicsIGV2ZW50KTtcbiAgfVxuXG4gIHJlbW92ZUZyb21TZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNTaG9ydGN1dFByZXNzZWQoJ3JlbW92ZUZyb21TZWxlY3Rpb24nLCBldmVudCk7XG4gIH1cblxuICBleHRlbmRlZFNlbGVjdGlvblNob3J0Y3V0KGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLmFkZFRvU2VsZWN0aW9uKGV2ZW50KSB8fCB0aGlzLnJlbW92ZUZyb21TZWxlY3Rpb24oZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTaG9ydGN1dHNGcm9tQ29uZmlnKHNob3J0Y3V0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHNob3J0Y3V0TWFwID0ge307XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHNob3J0Y3V0c0ZvckNvbW1hbmRdIG9mIE9iamVjdC5lbnRyaWVzKHNob3J0Y3V0cykpIHtcbiAgICAgIGlmICghdGhpcy5pc1N1cHBvcnRlZFNob3J0Y3V0KGtleSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGBTaG9ydGN1dCAke2tleX0gbm90IHN1cHBvcnRlZGApKTtcbiAgICAgIH1cblxuICAgICAgc2hvcnRjdXRzRm9yQ29tbWFuZFxuICAgICAgICAucmVwbGFjZSgvIC9nLCAnJylcbiAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgLmZvckVhY2goc2hvcnRjdXQgPT4ge1xuICAgICAgICAgIGlmICghc2hvcnRjdXRNYXBba2V5XSkge1xuICAgICAgICAgICAgc2hvcnRjdXRNYXBba2V5XSA9IFtdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGNvbWJvID0gc2hvcnRjdXQuc3BsaXQoJysnKTtcbiAgICAgICAgICBjb25zdCBjbGVhbkNvbWJvcyA9IHRoaXMuc3Vic3RpdHV0ZUtleShzaG9ydGN1dCwgY29tYm8sIE1FVEFfS0VZKTtcblxuICAgICAgICAgIGNsZWFuQ29tYm9zLmZvckVhY2goY2xlYW5Db21ibyA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bnN1cHBvcnRlZEtleSA9IHRoaXMuaXNTdXBwb3J0ZWRDb21ibyhjbGVhbkNvbWJvKTtcblxuICAgICAgICAgICAgaWYgKHVuc3VwcG9ydGVkS2V5KSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmdldEVycm9yTWVzc2FnZShgS2V5ICcke3Vuc3VwcG9ydGVkS2V5fScgaW4gc2hvcnRjdXQgJHtzaG9ydGN1dH0gbm90IHN1cHBvcnRlZGApKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2hvcnRjdXRNYXBba2V5XS5wdXNoKGNsZWFuQ29tYm8ubWFwKGNvbWJvS2V5ID0+IGAke2NvbWJvS2V5fUtleWApKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3J0Y3V0TWFwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzdGl0dXRlS2V5KHNob3J0Y3V0OiBzdHJpbmcsIGNvbWJvOiBBcnJheTxzdHJpbmc+LCBzdWJzdGl0dXRlS2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBoYXNTcGVjaWFsS2V5ID0gc2hvcnRjdXQuaW5jbHVkZXMoc3Vic3RpdHV0ZUtleSk7XG4gICAgY29uc3Qgc3Vic3RpdHV0ZWRTaG9ydGN1dCA9IFtdO1xuXG4gICAgaWYgKGhhc1NwZWNpYWxLZXkpIHtcbiAgICAgIGNvbnN0IGNsZWFuU2hvcnRjdXQgPSBjb21iby5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50ICE9PSBNRVRBX0tFWSk7XG5cbiAgICAgIEtFWV9BTElBU0VTLm1ldGEuZm9yRWFjaChhbGlhcyA9PiB7XG4gICAgICAgIHN1YnN0aXR1dGVkU2hvcnRjdXQucHVzaChbLi4uY2xlYW5TaG9ydGN1dCwgYWxpYXNdKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdWJzdGl0dXRlZFNob3J0Y3V0LnB1c2goY29tYm8pO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJzdGl0dXRlZFNob3J0Y3V0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvck1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGAke0VSUk9SX1BSRUZJWH0gJHttZXNzYWdlfWA7XG4gIH1cblxuICBwcml2YXRlIGlzU2hvcnRjdXRQcmVzc2VkKHNob3J0Y3V0TmFtZTogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBzaG9ydGN1dHMgPSB0aGlzLl9zaG9ydGN1dHNbc2hvcnRjdXROYW1lXTtcblxuICAgIHJldHVybiBzaG9ydGN1dHMuc29tZShzaG9ydGN1dCA9PiB7XG4gICAgICByZXR1cm4gc2hvcnRjdXQuZXZlcnkoa2V5ID0+IGV2ZW50W2tleV0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1N1cHBvcnRlZENvbWJvKGNvbWJvOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgbGV0IHVuc3VwcG9ydGVkS2V5ID0gbnVsbDtcblxuICAgIGNvbWJvLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmICghU1VQUE9SVEVEX0tFWVNba2V5XSkge1xuICAgICAgICB1bnN1cHBvcnRlZEtleSA9IGtleTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVuc3VwcG9ydGVkS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBpc1N1cHBvcnRlZFNob3J0Y3V0KHNob3J0Y3V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gU1VQUE9SVEVEX1NIT1JUQ1VUU1tzaG9ydGN1dF07XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRjdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbImxpYi9zaG9ydGN1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDOztJQUU1QixtQkFBbUIsR0FBRztJQUMxQixHQUFHLEVBQUUsSUFBSTtJQUNULEtBQUssRUFBRSxJQUFJO0lBQ1gsSUFBSSxFQUFFLElBQUk7SUFDVixJQUFJLEVBQUUsSUFBSTtDQUNYOztJQUVLLGNBQWMsR0FBRyxPQUFPOztJQUV4QixRQUFRLEdBQUcsTUFBTTs7SUFFakIsV0FBVztJQUNmLEdBQUMsUUFBUSxJQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztPQUM3Qjs7SUFFSyxtQkFBbUIsR0FBRztJQUMxQixjQUFjLEVBQUUsSUFBSTtJQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsbUJBQW1CLEVBQUUsSUFBSTtDQUMxQjs7SUFFSyxZQUFZLEdBQUcsbUJBQW1COzs7O0FBRXhDLHVCQUdDOzs7SUFGQyx3QkFBYTs7SUFDYiwyQkFBaUI7O0FBR25CO0lBTUUseUJBQytCLFVBQWtCLEVBQy9CLE1BQTBCLEVBQ2xDLGNBQXFDO1FBSC9D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VztnREFDbEIsTUFBTSxTQUFDLE1BQU07Z0JBMUNULHFCQUFxQjs7SUEyTDlCLHNCQUFDO0NBQUEsQUF6SkQsSUF5SkM7U0F4SlksZUFBZTs7Ozs7O0lBQzFCLHFDQUF1RDs7Ozs7SUFFdkQsMENBQTBEOzs7OztJQUd4RCxxQ0FBK0M7Ozs7O0lBRS9DLHlDQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2V5Ym9hcmRFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9rZXlib2FyZC1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuL3Rva2Vucyc7XG5cbmNvbnN0IFNVUFBPUlRFRF9NRVRBX0tFWVMgPSB7XG4gIGFsdDogdHJ1ZSxcbiAgc2hpZnQ6IHRydWUsXG4gIG1ldGE6IHRydWUsXG4gIGN0cmw6IHRydWVcbn07XG5cbmNvbnN0IFNVUFBPUlRFRF9LRVlTID0gL1thLXpdLztcblxuY29uc3QgTUVUQV9LRVkgPSAnbWV0YSc7XG5cbmNvbnN0IEtFWV9BTElBU0VTID0ge1xuICBbTUVUQV9LRVldOiBbJ2N0cmwnLCAnbWV0YSddXG59O1xuXG5jb25zdCBTVVBQT1JURURfU0hPUlRDVVRTID0ge1xuICBtb3ZlUmFuZ2VTdGFydDogdHJ1ZSxcbiAgZGlzYWJsZVNlbGVjdGlvbjogdHJ1ZSxcbiAgdG9nZ2xlU2luZ2xlSXRlbTogdHJ1ZSxcbiAgYWRkVG9TZWxlY3Rpb246IHRydWUsXG4gIHJlbW92ZUZyb21TZWxlY3Rpb246IHRydWVcbn07XG5cbmNvbnN0IEVSUk9SX1BSRUZJWCA9ICdbU2hvcnRjdXRTZXJ2aWNlXSc7XG5cbmludGVyZmFjZSBLZXlTdGF0ZSB7XG4gIGNvZGU6IHN0cmluZztcbiAgcHJlc3NlZDogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNob3J0Y3V0U2VydmljZSB7XG4gIHByaXZhdGUgX3Nob3J0Y3V0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXVtdIH0gPSB7fTtcblxuICBwcml2YXRlIF9sYXRlc3RTaG9ydGN1dDogTWFwPHN0cmluZywgYm9vbGVhbj4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgQEluamVjdChDT05GSUcpIGNvbmZpZzogRHJhZ1RvU2VsZWN0Q29uZmlnLFxuICAgIHByaXZhdGUga2V5Ym9hcmRFdmVudHM6IEtleWJvYXJkRXZlbnRzU2VydmljZVxuICApIHtcbiAgICB0aGlzLl9zaG9ydGN1dHMgPSB0aGlzLl9jcmVhdGVTaG9ydGN1dHNGcm9tQ29uZmlnKGNvbmZpZy5zaG9ydGN1dHMpO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIGNvbnN0IGtleWRvd24kID0gdGhpcy5rZXlib2FyZEV2ZW50cy5rZXlkb3duJC5waXBlKFxuICAgICAgICBtYXA8S2V5Ym9hcmRFdmVudCwgS2V5U3RhdGU+KGV2ZW50ID0+ICh7IGNvZGU6IGV2ZW50LmNvZGUsIHByZXNzZWQ6IHRydWUgfSkpXG4gICAgICApO1xuXG4gICAgICBjb25zdCBrZXl1cCQgPSB0aGlzLmtleWJvYXJkRXZlbnRzLmtleXVwJC5waXBlKFxuICAgICAgICBtYXA8S2V5Ym9hcmRFdmVudCwgS2V5U3RhdGU+KGV2ZW50ID0+ICh7IGNvZGU6IGV2ZW50LmNvZGUsIHByZXNzZWQ6IGZhbHNlIH0pKVxuICAgICAgKTtcblxuICAgICAgbWVyZ2U8S2V5U3RhdGU+KGtleWRvd24kLCBrZXl1cCQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcHJldi5wcmVzc2VkID09PSBjdXJyLnByZXNzZWQgJiYgcHJldi5jb2RlID09PSBjdXJyLmNvZGU7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKGtleVN0YXRlID0+IHtcbiAgICAgICAgICBpZiAoa2V5U3RhdGUucHJlc3NlZCkge1xuICAgICAgICAgICAgdGhpcy5fbGF0ZXN0U2hvcnRjdXQuc2V0KGtleVN0YXRlLmNvZGUsIHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sYXRlc3RTaG9ydGN1dC5kZWxldGUoa2V5U3RhdGUuY29kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnZGlzYWJsZVNlbGVjdGlvbicsIGV2ZW50KTtcbiAgfVxuXG4gIG1vdmVSYW5nZVN0YXJ0KGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnbW92ZVJhbmdlU3RhcnQnLCBldmVudCk7XG4gIH1cblxuICB0b2dnbGVTaW5nbGVJdGVtKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgndG9nZ2xlU2luZ2xlSXRlbScsIGV2ZW50KTtcbiAgfVxuXG4gIGFkZFRvU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnYWRkVG9TZWxlY3Rpb24nLCBldmVudCk7XG4gIH1cblxuICByZW1vdmVGcm9tU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgncmVtb3ZlRnJvbVNlbGVjdGlvbicsIGV2ZW50KTtcbiAgfVxuXG4gIGV4dGVuZGVkU2VsZWN0aW9uU2hvcnRjdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkVG9TZWxlY3Rpb24oZXZlbnQpIHx8IHRoaXMucmVtb3ZlRnJvbVNlbGVjdGlvbihldmVudCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVTaG9ydGN1dHNGcm9tQ29uZmlnKHNob3J0Y3V0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHNob3J0Y3V0TWFwID0ge307XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHNob3J0Y3V0c0ZvckNvbW1hbmRdIG9mIE9iamVjdC5lbnRyaWVzKHNob3J0Y3V0cykpIHtcbiAgICAgIGlmICghdGhpcy5faXNTdXBwb3J0ZWRTaG9ydGN1dChrZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLl9nZXRFcnJvck1lc3NhZ2UoYFNob3J0Y3V0ICR7a2V5fSBub3Qgc3VwcG9ydGVkYCkpO1xuICAgICAgfVxuXG4gICAgICBzaG9ydGN1dHNGb3JDb21tYW5kXG4gICAgICAgIC5yZXBsYWNlKC8gL2csICcnKVxuICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAuZm9yRWFjaChzaG9ydGN1dCA9PiB7XG4gICAgICAgICAgaWYgKCFzaG9ydGN1dE1hcFtrZXldKSB7XG4gICAgICAgICAgICBzaG9ydGN1dE1hcFtrZXldID0gW107XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY29tYm8gPSBzaG9ydGN1dC5zcGxpdCgnKycpO1xuICAgICAgICAgIGNvbnN0IGNsZWFuQ29tYm9zID0gdGhpcy5fc3Vic3RpdHV0ZUtleShzaG9ydGN1dCwgY29tYm8sIE1FVEFfS0VZKTtcblxuICAgICAgICAgIGNsZWFuQ29tYm9zLmZvckVhY2goY2xlYW5Db21ibyA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bnN1cHBvcnRlZEtleSA9IHRoaXMuX2lzU3VwcG9ydGVkQ29tYm8oY2xlYW5Db21ibyk7XG5cbiAgICAgICAgICAgIGlmICh1bnN1cHBvcnRlZEtleSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5fZ2V0RXJyb3JNZXNzYWdlKGBLZXkgJyR7dW5zdXBwb3J0ZWRLZXl9JyBpbiBzaG9ydGN1dCAke3Nob3J0Y3V0fSBub3Qgc3VwcG9ydGVkYCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzaG9ydGN1dE1hcFtrZXldLnB1c2goXG4gICAgICAgICAgICAgIGNsZWFuQ29tYm8ubWFwKGNvbWJvS2V5ID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gU1VQUE9SVEVEX01FVEFfS0VZU1tjb21ib0tleV0gPyBgJHtjb21ib0tleX1LZXlgIDogYEtleSR7Y29tYm9LZXkudG9VcHBlckNhc2UoKX1gO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3J0Y3V0TWFwO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic3RpdHV0ZUtleShzaG9ydGN1dDogc3RyaW5nLCBjb21ibzogQXJyYXk8c3RyaW5nPiwgc3Vic3RpdHV0ZUtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgaGFzU3BlY2lhbEtleSA9IHNob3J0Y3V0LmluY2x1ZGVzKHN1YnN0aXR1dGVLZXkpO1xuICAgIGNvbnN0IHN1YnN0aXR1dGVkU2hvcnRjdXQ6IHN0cmluZ1tdW10gPSBbXTtcblxuICAgIGlmIChoYXNTcGVjaWFsS2V5KSB7XG4gICAgICBjb25zdCBjbGVhblNob3J0Y3V0ID0gY29tYm8uZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudCAhPT0gTUVUQV9LRVkpO1xuXG4gICAgICBLRVlfQUxJQVNFUy5tZXRhLmZvckVhY2goYWxpYXMgPT4ge1xuICAgICAgICBzdWJzdGl0dXRlZFNob3J0Y3V0LnB1c2goWy4uLmNsZWFuU2hvcnRjdXQsIGFsaWFzXSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3Vic3RpdHV0ZWRTaG9ydGN1dC5wdXNoKGNvbWJvKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0ZWRTaG9ydGN1dDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEVycm9yTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7RVJST1JfUFJFRklYfSAke21lc3NhZ2V9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzU2hvcnRjdXRQcmVzc2VkKHNob3J0Y3V0TmFtZTogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBzaG9ydGN1dHMgPSB0aGlzLl9zaG9ydGN1dHNbc2hvcnRjdXROYW1lXTtcblxuICAgIHJldHVybiBzaG9ydGN1dHMuc29tZShzaG9ydGN1dCA9PiB7XG4gICAgICByZXR1cm4gc2hvcnRjdXQuZXZlcnkoa2V5ID0+IHRoaXMuX2lzS2V5UHJlc3NlZChldmVudCwga2V5KSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0tleVByZXNzZWQoZXZlbnQ6IEV2ZW50LCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBrZXkuc3RhcnRzV2l0aCgnS2V5JykgPyB0aGlzLl9sYXRlc3RTaG9ydGN1dC5oYXMoa2V5KSA6IGV2ZW50W2tleV07XG4gIH1cblxuICBwcml2YXRlIF9pc1N1cHBvcnRlZENvbWJvKGNvbWJvOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgbGV0IHVuc3VwcG9ydGVkS2V5ID0gbnVsbDtcblxuICAgIGNvbWJvLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmICghU1VQUE9SVEVEX01FVEFfS0VZU1trZXldICYmICghU1VQUE9SVEVEX0tFWVMudGVzdChrZXkpIHx8IHRoaXMuX2lzU2luZ2xlQ2hhcihrZXkpKSkge1xuICAgICAgICB1bnN1cHBvcnRlZEtleSA9IGtleTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVuc3VwcG9ydGVkS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNTaW5nbGVDaGFyKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGtleS5sZW5ndGggPiAxO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNTdXBwb3J0ZWRTaG9ydGN1dChzaG9ydGN1dDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFNVUFBPUlRFRF9TSE9SVENVVFNbc2hvcnRjdXRdO1xuICB9XG59XG4iXX0=
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -5,0 +5,0 @@ import { InjectionToken } from '@angular/core';

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { MIN_HEIGHT, MIN_WIDTH } from './constants';
/** @type {?} */
export var isObject = function (item) {
export var isObject = (/**
* @param {?} item
* @return {?}
*/
function (item) {
return item && typeof item === 'object' && !Array.isArray(item) && item !== null;
};
});
/**

@@ -17,3 +21,7 @@ * @param {?} target

if (isObject(target) && isObject(source)) {
Object.keys(source).forEach(function (key) {
Object.keys(source).forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
var _a, _b;

@@ -29,3 +37,3 @@ if (isObject(source[key])) {

}
});
}));
}

@@ -35,11 +43,24 @@ return target;

/** @type {?} */
export var hasMinimumSize = function (selectBox, minWidth, minHeight) {
export var hasMinimumSize = (/**
* @param {?} selectBox
* @param {?=} minWidth
* @param {?=} minHeight
* @return {?}
*/
function (selectBox, minWidth, minHeight) {
if (minWidth === void 0) { minWidth = MIN_WIDTH; }
if (minHeight === void 0) { minHeight = MIN_HEIGHT; }
return selectBox.width > minWidth || selectBox.height > minHeight;
};
});
/** @type {?} */
export var clearSelection = function (window) {
export var clearSelection = (/**
* @param {?} window
* @return {?}
*/
function (window) {
/** @type {?} */
var selection = window.getSelection();
if (!selection) {
return;
}
if (selection.removeAllRanges) {

@@ -51,9 +72,19 @@ selection.removeAllRanges();

}
};
});
/** @type {?} */
export var inBoundingBox = function (point, box) {
export var inBoundingBox = (/**
* @param {?} point
* @param {?} box
* @return {?}
*/
function (point, box) {
return (box.left <= point.x && point.x <= box.left + box.width && box.top <= point.y && point.y <= box.top + box.height);
};
});
/** @type {?} */
export var boxIntersects = function (boxA, boxB) {
export var boxIntersects = (/**
* @param {?} boxA
* @param {?} boxB
* @return {?}
*/
function (boxA, boxB) {
return (boxA.left <= boxB.left + boxB.width &&

@@ -63,9 +94,17 @@ boxA.left + boxA.width >= boxB.left &&

boxA.top + boxA.height >= boxB.top);
};
});
/** @type {?} */
export var calculateBoundingClientRect = function (element) {
export var calculateBoundingClientRect = (/**
* @param {?} element
* @return {?}
*/
function (element) {
return element.getBoundingClientRect();
};
});
/** @type {?} */
export var getMousePosition = function (event) {
export var getMousePosition = (/**
* @param {?} event
* @return {?}
*/
function (event) {
return {

@@ -75,5 +114,8 @@ x: event.clientX,

};
};
});
/** @type {?} */
export var getScroll = function () {
export var getScroll = (/**
* @return {?}
*/
function () {
if (!document || !document.documentElement) {

@@ -89,5 +131,10 @@ return {

};
};
});
/** @type {?} */
export var getRelativeMousePosition = function (event, container) {
export var getRelativeMousePosition = (/**
* @param {?} event
* @param {?} container
* @return {?}
*/
function (event, container) {
var _a = getMousePosition(event), clientX = _a.x, clientY = _a.y;

@@ -106,9 +153,14 @@ /** @type {?} */

};
};
});
/** @type {?} */
export var cursorWithinElement = function (event, element) {
export var cursorWithinElement = (/**
* @param {?} event
* @param {?} element
* @return {?}
*/
function (event, element) {
/** @type {?} */
var mousePoint = getMousePosition(event);
return inBoundingBox(mousePoint, calculateBoundingClientRect(element));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJhZy10by1zZWxlY3QvIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUdwRCxNQUFNLEtBQU8sUUFBUSxHQUFHLFVBQUMsSUFBUztJQUNoQyxPQUFPLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUM7QUFDbkYsQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFjLEVBQUUsTUFBYztJQUN0RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHOztZQUM3QixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLFlBQUksR0FBQyxHQUFHLElBQUcsRUFBRSxNQUFHLENBQUM7aUJBQ3RDO2dCQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDckM7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLFlBQUksR0FBQyxHQUFHLElBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFHLENBQUM7YUFDL0M7UUFDSCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQzs7QUFFRCxNQUFN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UUFDekQsU0FBUyxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFFN0QsT0FBTztRQUNMLENBQUMsRUFBRSxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsVUFBVTtRQUNsRixDQUFDLEVBQUUsT0FBTyxHQUFHLFVBQVUsR0FBRyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLFNBQVM7S0FDakYsQ0FBQztBQUNKLENBQUM7O0FBRUQsTUFBTSxLQUFPLG1CQUFtQixHQUFHLFVBQUMsS0FBaUIsRUFBRSxPQUFvQjs7UUFDbkUsVUFBVSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUMxQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUlOX0hFSUdIVCwgTUlOX1dJRFRIIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQm91bmRpbmdCb3gsIE1vdXNlUG9zaXRpb24sIFNlbGVjdEJveCwgU2VsZWN0Q29udGFpbmVySG9zdCB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IGlzT2JqZWN0ID0gKGl0ZW06IGFueSkgPT4ge1xuICByZXR1cm4gaXRlbSAmJiB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkoaXRlbSkgJiYgaXRlbSAhPT0gbnVsbDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZURlZXAodGFyZ2V0OiBPYmplY3QsIHNvdXJjZTogT2JqZWN0KSB7XG4gIGlmIChpc09iamVjdCh0YXJnZXQpICYmIGlzT2JqZWN0KHNvdXJjZSkpIHtcbiAgICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChpc09iamVjdChzb3VyY2Vba2V5XSkpIHtcbiAgICAgICAgaWYgKCF0YXJnZXRba2V5XSkge1xuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiB7fSB9KTtcbiAgICAgICAgfVxuICAgICAgICBtZXJnZURlZXAodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiBzb3VyY2Vba2V5XSB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmV4cG9ydCBjb25zdCBoYXNNaW5pbXVtU2l6ZSA9IChzZWxlY3RCb3g6IFNlbGVjdEJveDxudW1iZXI+LCBtaW5XaWR0aCA9IE1JTl9XSURUSCwgbWluSGVpZ2h0ID0gTUlOX0hFSUdIVCkgPT4ge1xuICByZXR1cm4gc2VsZWN0Qm94LndpZHRoID4gbWluV2lkdGggfHwgc2VsZWN0Qm94LmhlaWdodCA+IG1pbkhlaWdodDtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGVhclNlbGVjdGlvbiA9ICh3aW5kb3c6IFdpbmRvdykgPT4ge1xuICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgaWYgKHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMpIHtcbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gIH0gZWxzZSBpZiAoc2VsZWN0aW9uLmVtcHR5KSB7XG4gICAgc2VsZWN0aW9uLmVtcHR5KCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpbkJvdW5kaW5nQm94ID0gKHBvaW50OiBNb3VzZVBvc2l0aW9uLCBib3g6IEJvdW5kaW5nQm94KSA9PiB7XG4gIHJldHVybiAoXG4gICAgYm94LmxlZnQgPD0gcG9pbnQueCAmJiBwb2ludC54IDw9IGJveC5sZWZ0ICsgYm94LndpZHRoICYmIGJveC50b3AgPD0gcG9pbnQueSAmJiBwb2ludC55IDw9IGJveC50b3AgKyBib3guaGVpZ2h0XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYm94SW50ZXJzZWN0cyA9IChib3hBOiBCb3VuZGluZ0JveCwgYm94QjogQm91bmRpbmdCb3gpID0+IHtcbiAgcmV0dXJuIChcbiAgICBib3hBLmxlZnQgPD0gYm94Qi5sZWZ0ICsgYm94Qi53aWR0aCAmJlxuICAgIGJveEEubGVmdCArIGJveEEud2lkdGggPj0gYm94Qi5sZWZ0ICYmXG4gICAgYm94QS50b3AgPD0gYm94Qi50b3AgKyBib3hCLmhlaWdodCAmJlxuICAgIGJveEEudG9wICsgYm94QS5oZWlnaHQgPj0gYm94Qi50b3BcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBCb3VuZGluZ0JveCA9PiB7XG4gIHJldHVybiBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE1vdXNlUG9zaXRpb24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB4OiBldmVudC5jbGllbnRYLFxuICAgIHk6IGV2ZW50LmNsaWVudFlcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTY3JvbGwgPSAoKSA9PiB7XG4gIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICB4OiAwLFxuICAgICAgeTogMFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHg6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCxcbiAgICB5OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uID0gKGV2ZW50OiBNb3VzZUV2ZW50LCBjb250YWluZXI6IFNlbGVjdENvbnRhaW5lckhvc3QpOiBNb3VzZVBvc2l0aW9uID0+IHtcbiAgY29uc3QgeyB4OiBjbGllbnRYLCB5OiBjbGllbnRZIH0gPSBnZXRNb3VzZVBvc2l0aW9uKGV2ZW50KTtcbiAgY29uc3Qgc2Nyb2xsID0gZ2V0U2Nyb2xsKCk7XG5cbiAgY29uc3QgYm9yZGVyU2l6ZSA9IChjb250YWluZXIuYm91bmRpbmdDbGllbnRSZWN0LndpZHRoIC0gY29udGFpbmVyLmNsaWVudFdpZHRoKSAvIDI7XG4gIGNvbnN0IG9mZnNldExlZnQgPSBjb250YWluZXIuYm91bmRpbmdDbGllbnRSZWN0LmxlZnQgKyBzY3JvbGwueDtcbiAgY29uc3Qgb2Zmc2V0VG9wID0gY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC50b3AgKyBzY3JvbGwueTtcblxuICByZXR1cm4ge1xuICAgIHg6IGNsaWVudFggLSBib3JkZXJTaXplIC0gKG9mZnNldExlZnQgLSB3aW5kb3cucGFnZVhPZmZzZXQpICsgY29udGFpbmVyLnNjcm9sbExlZnQsXG4gICAgeTogY2xpZW50WSAtIGJvcmRlclNpemUgLSAob2Zmc2V0VG9wIC0gd2luZG93LnBhZ2VZT2Zmc2V0KSArIGNvbnRhaW5lci5zY3JvbGxUb3BcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjdXJzb3JXaXRoaW5FbGVtZW50ID0gKGV2ZW50OiBNb3VzZUV2ZW50LCBlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4ge1xuICBjb25zdCBtb3VzZVBvaW50ID0gZ2V0TW91c2VQb3NpdGlvbihldmVudCk7XG4gIHJldHVybiBpbkJvdW5kaW5nQm94KG1vdXNlUG9pbnQsIGNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50KSk7XG59O1xuIl19
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJhZy10by1zZWxlY3QvIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUdwRCxNQUFNLEtBQU8sUUFBUTs7OztBQUFHLFVBQUMsSUFBUztJQUNoQyxPQUFPLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUM7QUFDbkYsQ0FBQyxDQUFBOzs7Ozs7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQ3RELElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU87Ozs7UUFBQyxVQUFBLEdBQUc7O1lBQzdCLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBSSxHQUFDLEdBQUcsSUFBRyxFQUFFLE1BQUcsQ0FBQztpQkFDdEM7Z0JBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBSSxHQUFDLEdBQUcsSUFBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQUcsQ0FBQzthQUMvQztRQUNILENBQUMsRUFBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFD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QWtCLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDOztRQUM3RSxVQUFVLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQzs7UUFDekQsU0FBUyxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFFN0QsT0FBTztRQUNMLENBQUMsRUFBRSxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsVUFBVTtRQUNsRixDQUFDLEVBQUUsT0FBTyxHQUFHLFVBQVUsR0FBRyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLFNBQVM7S0FDakYsQ0FBQztBQUNKLENBQUMsQ0FBQTs7QUFFRCxNQUFNLEtBQU8sbUJBQW1COzs7OztBQUFHLFVBQUMsS0FBaUIsRUFBRSxPQUFvQjs7UUFDbkUsVUFBVSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUMxQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNSU5fSEVJR0hULCBNSU5fV0lEVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCb3VuZGluZ0JveCwgTW91c2VQb3NpdGlvbiwgU2VsZWN0Qm94LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgaXNPYmplY3QgPSAoaXRlbTogYW55KSA9PiB7XG4gIHJldHVybiBpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtKSAmJiBpdGVtICE9PSBudWxsO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcCh0YXJnZXQ6IE9iamVjdCwgc291cmNlOiBPYmplY3QpIHtcbiAgaWYgKGlzT2JqZWN0KHRhcmdldCkgJiYgaXNPYmplY3Qoc291cmNlKSkge1xuICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGlzT2JqZWN0KHNvdXJjZVtrZXldKSkge1xuICAgICAgICBpZiAoIXRhcmdldFtrZXldKSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHt9IH0pO1xuICAgICAgICB9XG4gICAgICAgIG1lcmdlRGVlcCh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc01pbmltdW1TaXplID0gKHNlbGVjdEJveDogU2VsZWN0Qm94PG51bWJlcj4sIG1pbldpZHRoID0gTUlOX1dJRFRILCBtaW5IZWlnaHQgPSBNSU5fSEVJR0hUKSA9PiB7XG4gIHJldHVybiBzZWxlY3RCb3gud2lkdGggPiBtaW5XaWR0aCB8fCBzZWxlY3RCb3guaGVpZ2h0ID4gbWluSGVpZ2h0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyU2VsZWN0aW9uID0gKHdpbmRvdzogV2luZG93KSA9PiB7XG4gIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKSB7XG4gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICB9IGVsc2UgaWYgKHNlbGVjdGlvbi5lbXB0eSkge1xuICAgIHNlbGVjdGlvbi5lbXB0eSgpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5Cb3VuZGluZ0JveCA9IChwb2ludDogTW91c2VQb3NpdGlvbiwgYm94OiBCb3VuZGluZ0JveCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGJveC5sZWZ0IDw9IHBvaW50LnggJiYgcG9pbnQueCA8PSBib3gubGVmdCArIGJveC53aWR0aCAmJiBib3gudG9wIDw9IHBvaW50LnkgJiYgcG9pbnQueSA8PSBib3gudG9wICsgYm94LmhlaWdodFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGJveEludGVyc2VjdHMgPSAoYm94QTogQm91bmRpbmdCb3gsIGJveEI6IEJvdW5kaW5nQm94KSA9PiB7XG4gIHJldHVybiAoXG4gICAgYm94QS5sZWZ0IDw9IGJveEIubGVmdCArIGJveEIud2lkdGggJiZcbiAgICBib3hBLmxlZnQgKyBib3hBLndpZHRoID49IGJveEIubGVmdCAmJlxuICAgIGJveEEudG9wIDw9IGJveEIudG9wICsgYm94Qi5oZWlnaHQgJiZcbiAgICBib3hBLnRvcCArIGJveEEuaGVpZ2h0ID49IGJveEIudG9wXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogQm91bmRpbmdCb3ggPT4ge1xuICByZXR1cm4gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRNb3VzZVBvc2l0aW9uID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gIHJldHVybiB7XG4gICAgeDogZXZlbnQuY2xpZW50WCxcbiAgICB5OiBldmVudC5jbGllbnRZXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2Nyb2xsID0gKCkgPT4ge1xuICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQsXG4gICAgeTogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlTW91c2VQb3NpdGlvbiA9IChldmVudDogTW91c2VFdmVudCwgY29udGFpbmVyOiBTZWxlY3RDb250YWluZXJIb3N0KTogTW91c2VQb3NpdGlvbiA9PiB7XG4gIGNvbnN0IHsgeDogY2xpZW50WCwgeTogY2xpZW50WSB9ID0gZ2V0TW91c2VQb3NpdGlvbihldmVudCk7XG4gIGNvbnN0IHNjcm9sbCA9IGdldFNjcm9sbCgpO1xuXG4gIGNvbnN0IGJvcmRlclNpemUgPSAoY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCAtIGNvbnRhaW5lci5jbGllbnRXaWR0aCkgLyAyO1xuICBjb25zdCBvZmZzZXRMZWZ0ID0gY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC5sZWZ0ICsgc2Nyb2xsLng7XG4gIGNvbnN0IG9mZnNldFRvcCA9IGNvbnRhaW5lci5ib3VuZGluZ0NsaWVudFJlY3QudG9wICsgc2Nyb2xsLnk7XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBjbGllbnRYIC0gYm9yZGVyU2l6ZSAtIChvZmZzZXRMZWZ0IC0gd2luZG93LnBhZ2VYT2Zmc2V0KSArIGNvbnRhaW5lci5zY3JvbGxMZWZ0LFxuICAgIHk6IGNsaWVudFkgLSBib3JkZXJTaXplIC0gKG9mZnNldFRvcCAtIHdpbmRvdy5wYWdlWU9mZnNldCkgKyBjb250YWluZXIuc2Nyb2xsVG9wXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3Vyc29yV2l0aGluRWxlbWVudCA9IChldmVudDogTW91c2VFdmVudCwgZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgY29uc3QgbW91c2VQb2ludCA9IGdldE1vdXNlUG9zaXRpb24oZXZlbnQpO1xuICByZXR1cm4gaW5Cb3VuZGluZ0JveChtb3VzZVBvaW50LCBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCkpO1xufTtcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -8,7 +8,8 @@ /**

*/
export { CONFIG_FACTORY, DragToSelectModule, SelectContainerComponent, SelectItemDirective } from './public_api';
export { CONFIG_FACTORY, DragToSelectModule, SelectContainerComponent, SELECT_ITEM_INSTANCE, SelectItemDirective } from './public_api';
export { DEFAULT_CONFIG as ɵb } from './lib/config';
export { KeyboardEventsService as ɵg } from './lib/keyboard-events.service';
export { ShortcutService as ɵf } from './lib/shortcut.service';
export { CONFIG as ɵc, USER_CONFIG as ɵd } from './lib/tokens';
export { mergeDeep as ɵa } from './lib/utils';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRyYWctdG8tc2VsZWN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibmd4LWRyYWctdG8tc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxrR0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFbEQsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsTUFBTSxJQUFJLEVBQUUsRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQzVELE9BQU8sRUFBQyxTQUFTLElBQUksRUFBRSxFQUFDLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0RFRkFVTFRfQ09ORklHIGFzIMm1Yn0gZnJvbSAnLi9saWIvY29uZmlnJztcbmV4cG9ydCB7RHJhZ1RvU2VsZWN0Q29uZmlnIGFzIMm1ZX0gZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCB7U2hvcnRjdXRTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2hvcnRjdXQuc2VydmljZSc7XG5leHBvcnQge0NPTkZJRyBhcyDJtWMsVVNFUl9DT05GSUcgYXMgybVkfSBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0IHttZXJnZURlZXAgYXMgybVhfSBmcm9tICcuL2xpYi91dGlscyc7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRyYWctdG8tc2VsZWN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibmd4LWRyYWctdG8tc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx3SEFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxJQUFJLEVBQUUsRUFBQyxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtERUZBVUxUX0NPTkZJRyBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQge0tleWJvYXJkRXZlbnRzU2VydmljZSBhcyDJtWd9IGZyb20gJy4vbGliL2tleWJvYXJkLWV2ZW50cy5zZXJ2aWNlJztcbmV4cG9ydCB7RHJhZ1RvU2VsZWN0Q29uZmlnIGFzIMm1ZX0gZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCB7U2hvcnRjdXRTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2hvcnRjdXQuc2VydmljZSc7XG5leHBvcnQge0NPTkZJRyBhcyDJtWMsVVNFUl9DT05GSUcgYXMgybVkfSBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0IHttZXJnZURlZXAgYXMgybVhfSBmcm9tICcuL2xpYi91dGlscyc7Il19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -10,3 +10,3 @@ /*

export { SelectContainerComponent } from './lib/select-container.component';
export { SelectItemDirective } from './lib/select-item.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLG1EQUFjLDZCQUE2QixDQUFDO0FBQzVDLHlDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELG9DQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZHJhZy10by1zZWxlY3RcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcmFnLXRvLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbiJdfQ==
export { SELECT_ITEM_INSTANCE, SelectItemDirective } from './lib/select-item.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLG1EQUFjLDZCQUE2QixDQUFDO0FBQzVDLHlDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELDBEQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZHJhZy10by1zZWxlY3RcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcmFnLXRvLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbiJdfQ==

@@ -20,2 +20,3 @@ import { Observable } from 'rxjs';

export interface Shortcuts {
moveRangeStart: string;
disableSelection: string;

@@ -22,0 +23,0 @@ toggleSingleItem: string;

@@ -1,8 +0,10 @@

import { ElementRef, EventEmitter, OnDestroy, Renderer2, NgZone, AfterViewInit } from '@angular/core';
import { ElementRef, EventEmitter, OnDestroy, Renderer2, NgZone, AfterViewInit, AfterContentInit } from '@angular/core';
import { Observable } from 'rxjs';
import { ShortcutService } from './shortcut.service';
import { SelectBox, SelectContainerHost, PredicateFn } from './models';
export declare class SelectContainerComponent implements AfterViewInit, OnDestroy {
import { KeyboardEventsService } from './keyboard-events.service';
export declare class SelectContainerComponent implements AfterViewInit, OnDestroy, AfterContentInit {
private platformId;
private shortcuts;
private keyboardEvents;
private hostElementRef;

@@ -22,2 +24,3 @@ private renderer;

disableDrag: boolean;
disableRangeSelection: boolean;
selectMode: boolean;

@@ -34,6 +37,12 @@ selectWithShortcut: boolean;

private _selectedItems$;
private _selectableItems;
private updateItems$;
private destroy$;
constructor(platformId: any, shortcuts: ShortcutService, hostElementRef: ElementRef, renderer: Renderer2, ngZone: NgZone);
private _lastRange;
private _lastStartIndex;
private _newRangeStart;
private _lastRangeSelection;
constructor(platformId: Object, shortcuts: ShortcutService, keyboardEvents: KeyboardEventsService, hostElementRef: ElementRef, renderer: Renderer2, ngZone: NgZone);
ngAfterViewInit(): void;
ngAfterContentInit(): void;
selectAll(): void;

@@ -66,2 +75,5 @@ toggleItems<T>(predicate: PredicateFn<T>): void;

private _hasItem;
private _getClosestSelectItem;
private _resetRangeStart;
private _getLastRangeSelection;
}

@@ -1,3 +0,4 @@

import { DoCheck, ElementRef, OnInit, Renderer2 } from '@angular/core';
import { DragToSelectConfig } from './models';
import { DoCheck, ElementRef, Renderer2, OnInit } from '@angular/core';
import { DragToSelectConfig, BoundingBox } from './models';
export declare const SELECT_ITEM_INSTANCE: unique symbol;
export declare class SelectItemDirective implements OnInit, DoCheck {

@@ -10,9 +11,12 @@ private config;

selected: boolean;
dtsSelectItem: any;
readonly value: any;
constructor(config: DragToSelectConfig, platformId: any, host: ElementRef, renderer: Renderer2);
rangeStart: boolean;
dtsSelectItem: any | undefined;
readonly value: SelectItemDirective | any;
constructor(config: DragToSelectConfig, platformId: Object, host: ElementRef, renderer: Renderer2);
ngOnInit(): void;
ngDoCheck(): void;
getBoundingClientRect(): any;
calculateBoundingClientRect(): void;
toggleRangeStart(): void;
readonly nativeElememnt: any;
getBoundingClientRect(): BoundingBox;
calculateBoundingClientRect(): BoundingBox;
_select(): void;

@@ -19,0 +23,0 @@ _deselect(): void;

@@ -0,7 +1,11 @@

import { KeyboardEventsService } from './keyboard-events.service';
import { DragToSelectConfig } from './models';
export declare class ShortcutService {
private config;
private platformId;
private keyboardEvents;
private _shortcuts;
constructor(config: DragToSelectConfig);
private _latestShortcut;
constructor(platformId: Object, config: DragToSelectConfig, keyboardEvents: KeyboardEventsService);
disableSelection(event: Event): boolean;
moveRangeStart(event: Event): boolean;
toggleSingleItem(event: Event): boolean;

@@ -11,8 +15,10 @@ addToSelection(event: Event): boolean;

extendedSelectionShortcut(event: Event): boolean;
private createShortcutsFromConfig;
private substituteKey;
private getErrorMessage;
private isShortcutPressed;
private isSupportedCombo;
private isSupportedShortcut;
private _createShortcutsFromConfig;
private _substituteKey;
private _getErrorMessage;
private _isShortcutPressed;
private _isKeyPressed;
private _isSupportedCombo;
private _isSingleChar;
private _isSupportedShortcut;
}

@@ -6,2 +6,3 @@ /**

export { DEFAULT_CONFIG as ɵb } from './lib/config';
export { KeyboardEventsService as ɵg } from './lib/keyboard-events.service';
export { DragToSelectConfig as ɵe } from './lib/models';

@@ -8,0 +9,0 @@ export { ShortcutService as ɵf } from './lib/shortcut.service';

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"CONFIG_FACTORY":{"__symbolic":"function","parameters":["config"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵa"},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"config"}]}},"DragToSelectModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":12}],"declarations":[{"__symbolic":"reference","name":"SelectContainerComponent"},{"__symbolic":"reference","name":"SelectItemDirective"}],"exports":[{"__symbolic":"reference","name":"SelectContainerComponent"},{"__symbolic":"reference","name":"SelectItemDirective"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"DragToSelectModule"},"providers":[{"__symbolic":"reference","name":"ɵf"},{"provide":{"__symbolic":"reference","name":"ɵd"},"useValue":{"__symbolic":"reference","name":"config"}},{"provide":{"__symbolic":"reference","name":"ɵc"},"useFactory":{"__symbolic":"reference","name":"CONFIG_FACTORY"},"deps":[{"__symbolic":"reference","name":"ɵd"}]}]}}}},"SelectContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":67,"character":1},"arguments":[{"selector":"dts-select-container","exportAs":"dts-select-container","host":{"class":"dts-select-container"},"template":"\n <ng-content></ng-content>\n <div\n class=\"dts-select-box\"\n #selectBox\n [ngClass]=\"selectBoxClasses$ | async\"\n [ngStyle]=\"selectBoxStyles$ | async\"\n ></div>\n ","styles":[":host{display:block;position:relative}"]}]}],"members":{"$selectBox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":89,"character":3},"arguments":["selectBox"]}]}],"$selectableItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":92,"character":3},"arguments":[{"__symbolic":"reference","name":"SelectItemDirective"},{"descendants":true}]}]}],"selectedItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":95,"character":3}}]}],"selectOnDrag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":3}}]}],"disableDrag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}}]}],"selectMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":107,"character":3}}]}],"selectWithShortcut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":3}}]}],"custom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":113,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":114,"character":3},"arguments":["class.dts-custom"]}]}],"selectedItemsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":117,"character":3}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":120,"character":3}}]}],"itemSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":123,"character":3}}]}],"itemDeselected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":126,"character":3}}]}],"selectionStarted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":129,"character":3}}]}],"selectionEnded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":132,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":142,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":142,"character":12}]}],null,null,null,null],"parameters":[null,{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":144,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":145,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":146,"character":20}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"selectAll":[{"__symbolic":"method"}],"toggleItems":[{"__symbolic":"method"}],"selectItems":[{"__symbolic":"method"}],"deselectItems":[{"__symbolic":"method"}],"clearSelection":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_filterSelectableItems":[{"__symbolic":"method"}],"_initSelectedItemsChange":[{"__symbolic":"method"}],"_observeSelectableItems":[{"__symbolic":"method"}],"_observeBoundingRectChanges":[{"__symbolic":"method"}],"_initSelectionOutputs":[{"__symbolic":"method"}],"_calculateBoundingClientRect":[{"__symbolic":"method"}],"_cursorWithinHost":[{"__symbolic":"method"}],"_onMouseUp":[{"__symbolic":"method"}],"_onMouseDown":[{"__symbolic":"method"}],"_selectItems":[{"__symbolic":"method"}],"_isExtendedSelection":[{"__symbolic":"method"}],"_normalSelectionMode":[{"__symbolic":"method"}],"_extendedSelectionMode":[{"__symbolic":"method"}],"_flushItems":[{"__symbolic":"method"}],"_addItem":[{"__symbolic":"method"}],"_removeItem":[{"__symbolic":"method"}],"_toggleItem":[{"__symbolic":"method"}],"_selectItem":[{"__symbolic":"method"}],"_deselectItem":[{"__symbolic":"method"}],"_hasItem":[{"__symbolic":"method"}]}},"SelectItemDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"[dtsSelectItem]","exportAs":"dtsSelectItem","host":{"class":"dts-select-item"}}]}],"members":{"dtsSelectItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":40,"character":12}]}],null,null],"parameters":[{"__symbolic":"reference","name":"ɵe"},null,{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":41,"character":18},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":42,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"getBoundingClientRect":[{"__symbolic":"method"}],"calculateBoundingClientRect":[{"__symbolic":"method"}],"_select":[{"__symbolic":"method"}],"_deselect":[{"__symbolic":"method"}],"applySelectedClass":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"function"},"ɵb":{"selectedClass":"selected","shortcuts":{"disableSelection":"alt","toggleSingleItem":"meta","addToSelection":"shift","removeFromSelection":"shift+meta"}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":26},"arguments":["DRAG_TO_SELECT_CONFIG"]},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":31},"arguments":["USER_CONFIG"]},"ɵe":{"__symbolic":"interface"},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":26,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵe"}]}],"disableSelection":[{"__symbolic":"method"}],"toggleSingleItem":[{"__symbolic":"method"}],"addToSelection":[{"__symbolic":"method"}],"removeFromSelection":[{"__symbolic":"method"}],"extendedSelectionShortcut":[{"__symbolic":"method"}],"createShortcutsFromConfig":[{"__symbolic":"method"}],"substituteKey":[{"__symbolic":"method"}],"getErrorMessage":[{"__symbolic":"method"}],"isShortcutPressed":[{"__symbolic":"method"}],"isSupportedCombo":[{"__symbolic":"method"}],"isSupportedShortcut":[{"__symbolic":"method"}]}}},"origins":{"CONFIG_FACTORY":"./lib/drag-to-select.module","DragToSelectModule":"./lib/drag-to-select.module","SelectContainerComponent":"./lib/select-container.component","SelectItemDirective":"./lib/select-item.directive","ɵa":"./lib/utils","ɵb":"./lib/config","ɵc":"./lib/tokens","ɵd":"./lib/tokens","ɵe":"./lib/models","ɵf":"./lib/shortcut.service"},"importAs":"ngx-drag-to-select"}
{"__symbolic":"module","version":4,"metadata":{"CONFIG_FACTORY":{"__symbolic":"function","parameters":["config"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵa"},"arguments":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"config"}]}},"DragToSelectModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":17,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":12}],"declarations":[{"__symbolic":"reference","name":"SelectContainerComponent"},{"__symbolic":"reference","name":"SelectItemDirective"}],"exports":[{"__symbolic":"reference","name":"SelectContainerComponent"},{"__symbolic":"reference","name":"SelectItemDirective"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"DragToSelectModule"},"providers":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"provide":{"__symbolic":"reference","name":"ɵd"},"useValue":{"__symbolic":"reference","name":"config"}},{"provide":{"__symbolic":"reference","name":"ɵc"},"useFactory":{"__symbolic":"reference","name":"CONFIG_FACTORY"},"deps":[{"__symbolic":"reference","name":"ɵd"}]}]}}}},"SelectContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":70,"character":1},"arguments":[{"selector":"dts-select-container","exportAs":"dts-select-container","host":{"class":"dts-select-container"},"template":"\n <ng-content></ng-content>\n <div\n class=\"dts-select-box\"\n #selectBox\n [ngClass]=\"selectBoxClasses$ | async\"\n [ngStyle]=\"selectBoxStyles$ | async\"\n ></div>\n ","styles":[":host{display:block;position:relative}"]}]}],"members":{"$selectBox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":92,"character":3},"arguments":["selectBox",{"static":true}]}]}],"$selectableItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":95,"character":3},"arguments":[{"__symbolic":"reference","name":"SelectItemDirective"},{"descendants":true}]}]}],"selectedItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":3}}]}],"selectOnDrag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":99,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":100,"character":3}}]}],"disableDrag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":3}}]}],"disableRangeSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":102,"character":3}}]}],"selectMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":103,"character":3}}]}],"selectWithShortcut":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":104,"character":3}}]}],"custom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":106,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":107,"character":3},"arguments":["class.dts-custom"]}]}],"selectedItemsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":110,"character":3}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":111,"character":3}}]}],"itemSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":112,"character":3}}]}],"itemDeselected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":113,"character":3}}]}],"selectionStarted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":114,"character":3}}]}],"selectionEnded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":115,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":130,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":130,"character":12}]}],null,null,null,null,null],"parameters":[{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":133,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":134,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":135,"character":20}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}],"selectAll":[{"__symbolic":"method"}],"toggleItems":[{"__symbolic":"method"}],"selectItems":[{"__symbolic":"method"}],"deselectItems":[{"__symbolic":"method"}],"clearSelection":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_filterSelectableItems":[{"__symbolic":"method"}],"_initSelectedItemsChange":[{"__symbolic":"method"}],"_observeSelectableItems":[{"__symbolic":"method"}],"_observeBoundingRectChanges":[{"__symbolic":"method"}],"_initSelectionOutputs":[{"__symbolic":"method"}],"_calculateBoundingClientRect":[{"__symbolic":"method"}],"_cursorWithinHost":[{"__symbolic":"method"}],"_onMouseUp":[{"__symbolic":"method"}],"_onMouseDown":[{"__symbolic":"method"}],"_selectItems":[{"__symbolic":"method"}],"_isExtendedSelection":[{"__symbolic":"method"}],"_normalSelectionMode":[{"__symbolic":"method"}],"_extendedSelectionMode":[{"__symbolic":"method"}],"_flushItems":[{"__symbolic":"method"}],"_addItem":[{"__symbolic":"method"}],"_removeItem":[{"__symbolic":"method"}],"_toggleItem":[{"__symbolic":"method"}],"_selectItem":[{"__symbolic":"method"}],"_deselectItem":[{"__symbolic":"method"}],"_hasItem":[{"__symbolic":"method"}],"_getClosestSelectItem":[{"__symbolic":"method"}],"_resetRangeStart":[{"__symbolic":"method"}],"_getLastRangeSelection":[{"__symbolic":"method"}]}},"SELECT_ITEM_INSTANCE":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Symbol"}},"SelectItemDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":20,"character":1},"arguments":[{"selector":"[dtsSelectItem]","exportAs":"dtsSelectItem","host":{"class":"dts-select-item"}}]}],"members":{"rangeStart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":32,"character":3},"arguments":["class.dts-range-start"]}]}],"dtsSelectItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":41,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":42,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":42,"character":12}]}],null,null],"parameters":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":43,"character":18},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":44,"character":22}]}],"ngOnInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"toggleRangeStart":[{"__symbolic":"method"}],"getBoundingClientRect":[{"__symbolic":"method"}],"calculateBoundingClientRect":[{"__symbolic":"method"}],"_select":[{"__symbolic":"method"}],"_deselect":[{"__symbolic":"method"}],"applySelectedClass":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"function"},"ɵb":{"selectedClass":"selected","shortcuts":{"moveRangeStart":"shift+r","disableSelection":"alt","toggleSingleItem":"meta","addToSelection":"shift","removeFromSelection":"shift+meta"}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":26},"arguments":["DRAG_TO_SELECT_CONFIG"]},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":31},"arguments":["USER_CONFIG"]},"ɵe":{"__symbolic":"interface"},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":38,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":45,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":45,"character":12}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null],"parameters":[{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵg"}]}],"disableSelection":[{"__symbolic":"method"}],"moveRangeStart":[{"__symbolic":"method"}],"toggleSingleItem":[{"__symbolic":"method"}],"addToSelection":[{"__symbolic":"method"}],"removeFromSelection":[{"__symbolic":"method"}],"extendedSelectionShortcut":[{"__symbolic":"method"}],"_createShortcutsFromConfig":[{"__symbolic":"method"}],"_substituteKey":[{"__symbolic":"method"}],"_getErrorMessage":[{"__symbolic":"method"}],"_isShortcutPressed":[{"__symbolic":"method"}],"_isKeyPressed":[{"__symbolic":"method"}],"_isSupportedCombo":[{"__symbolic":"method"}],"_isSingleChar":[{"__symbolic":"method"}],"_isSupportedShortcut":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":15,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":15,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"Object"}]}],"_initializeKeyboardStreams":[{"__symbolic":"method"}]}}},"origins":{"CONFIG_FACTORY":"./lib/drag-to-select.module","DragToSelectModule":"./lib/drag-to-select.module","SelectContainerComponent":"./lib/select-container.component","SELECT_ITEM_INSTANCE":"./lib/select-item.directive","SelectItemDirective":"./lib/select-item.directive","ɵa":"./lib/utils","ɵb":"./lib/config","ɵc":"./lib/tokens","ɵd":"./lib/tokens","ɵe":"./lib/models","ɵf":"./lib/shortcut.service","ɵg":"./lib/keyboard-events.service"},"importAs":"ngx-drag-to-select"}
{
"name": "ngx-drag-to-select",
"version": "3.1.1",
"version": "3.2.0-rc.0",
"description": "A lightweight, fast, configurable and reactive drag-to-select component for Angular 6 and beyond",

@@ -5,0 +5,0 @@ "sideEffects": false,

@@ -62,2 +62,4 @@ # ngx-drag-to-select

The above will install the **latest stable** version. If you wish to live on the edge you can also use the `next` tag. Doing so gives you the latest `alpha`, `beta` or `release candidate`.
## Setup

@@ -141,12 +143,14 @@

| Variable | Type | Default | Description |
| ----------------------------- | ------- | -------------- | ---------------------------------------------------- |
| `$dts-primary` | Color | `#7ddafc` | Primary color |
| `$select-box-color` | Color | `$dts-primary` | Color of the selection rectangle |
| `$select-box-removing-color` | Color | `$dts-primary` | Color of the selection rectangle when removing items |
| `$select-box-border-size` | Unit | `2px` | Border size for the selection rectangle |
| `$selected-item-border` | Boolean | `true` | Whether the selected item should get a border |
| `$selected-item-border-color` | Color | `#d2d2d2` | Border color of the selected item |
| `$selected-item-border-size` | Unit | `1px` | Border size of the selected item |
| `$box-shadow` | Boolean | `true` | Whether the selected item should get a box shadow |
| Variable | Type | Default | Description |
| ----------------------------- | ------- | -------------- | --------------------------------------------------------- |
| `$dts-primary` | Color | `#7ddafc` | Primary color |
| `$select-box-color` | Color | `$dts-primary` | Color of the selection rectangle |
| `$select-box-removing-color` | Color | `$dts-primary` | Color of the selection rectangle when removing items |
| `$select-box-border-size` | Unit | `2px` | Border size for the selection rectangle |
| `$selected-item-border` | Boolean | `true` | Whether the selected item should get a border |
| `$selected-item-border-color` | Color | `#d2d2d2` | Border color of the selected item |
| `$selected-item-border-size` | Unit | `1px` | Border size of the selected item |
| `$box-shadow` | Boolean | `true` | Whether the selected item should get a box shadow |
| `$range-start-border` | Boolean | `true` | Whether the range start item is highlighted with a border |
| `$range-start-border-color` | Color | `#2196f3` | Border color of the range start item |

@@ -180,5 +184,6 @@ If you wish to override one of these variables, make sure to do that **before** you import the sass package.

| ------------------- | ---------------- | --------------------------------------------------------------------------------- |
| moveRangeStart | `shift` + `r` | Move range start without selecting the item |
| disableSelection | `alt` | Disable selection mode to allow selecting text on the screen within the drag area |
| toggleSingleItem | `meta` | Add or remove single item to / from selection |
| addToSelection | `shift` | Add items to selection |
| addToSelection | `shift` | Range selection, Add items to selection |
| removeFromSelection | `shift` + `meta` | Remove items from selection |

@@ -198,3 +203,3 @@

shortcuts: {
disableSelection: 'alt+meta'
disableSelection: 'alt+meta,d'
}

@@ -207,4 +212,6 @@ })

**Note**: If you override one of the shortscut you have to make sure they do not interfear with one another to ensure a smooth selecting experience.
This will override the `disableSelection` with **two** possible shortcuts, either `alt + meta` **or** just `d`. If you want to learn more about shortcut alternatives, check [this](shortcutAlternatives) section.
**Note**: If you override one of the shortcuts you have to make sure they do not interfear with one another to ensure a smooth selecting experience.
#### Modifiers

@@ -219,5 +226,7 @@

Or you can use any key from `a - z`.
When using `meta`, it will be substituted with `ctrl` (for Windows) **and** `cmd` (for Mac). This allows for cross-platform shortcuts.
#### Shortcut alternatives
#### <a id="shortcutAlternatives"></a> Shortcut alternatives

@@ -240,11 +249,12 @@ You can also define alternative shortcuts. For that, simply chain the shortcuts with a comma. Here's an example:

| Input | Type | Default | Description |
| ------------------ | ---------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| selectedItems | Array<any> | / | Collection of items that are currently selected |
| selectOnDrag | Boolean | `true` | Whether items should be selected while dragging |
| disabled | Boolean | `false` | Disable selection |
| disableDrag | Boolean | `false` | Disable selection by dragging with the mouse. May be useful for mobile. |
| selectMode | Boolean | `false` | If set to `true`, a _toggle_ mode is activated similar to the `toggleSingleItem` shortcut. Useful for mobile. |
| custom | Boolean | `false` | If set to `true`, all default styles for selected items will not be applied. |
| selectWithShortcut | Boolean | `false` | If set to `true`, items can only be selected when single clicking and applying a keyboard shortcut |
| Input | Type | Default | Description |
| --------------------- | ---------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| selectedItems | Array<any> | / | Collection of items that are currently selected |
| selectOnDrag | Boolean | `true` | Whether items should be selected while dragging |
| disabled | Boolean | `false` | Disable selection |
| disableRangeSelection | Boolean | `false` | Disable range selection |
| disableDrag | Boolean | `false` | Disable selection by dragging with the mouse. May be useful for mobile. |
| selectMode | Boolean | `false` | If set to `true`, a _toggle_ mode is activated similar to the `toggleSingleItem` shortcut. Useful for mobile. |
| custom | Boolean | `false` | If set to `true`, all default styles for selected items will not be applied. |
| selectWithShortcut | Boolean | `false` | If set to `true`, items can only be selected when single clicking and applying a keyboard shortcut |

@@ -251,0 +261,0 @@ Here's an example of all inputs in action:

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc