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.2.0-rc.0 to 4.0.0

24

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

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

!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";
!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="undefined"!=typeof globalThis?globalThis:t||self)["ngx-drag-to-select"]={},t.ng.common,t.ng.core,t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,o,s){"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
Copyright (c) Microsoft Corporation.
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.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
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})}));
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */Object.create;function r(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],o=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,s,r=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(o=r.next()).done;)i.push(o.value)}catch(t){s={error:t}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(s)throw s.error}}return i}function c(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(i(arguments[e]));return t}Object.create;var l={selectedClass:"selected",shortcuts:{moveRangeStart:"shift+r",disableSelection:"alt",toggleSingleItem:"meta",addToSelection:"shift",removeFromSelection:"shift+meta"}},a="dts-no-select",u=function(t){return t&&"object"==typeof t&&!Array.isArray(t)&&null!==t};function d(t,e){return u(t)&&u(e)&&Object.keys(e).forEach((function(n){var o,s;u(e[n])?(t[n]||Object.assign(t,((o={})[n]={},o)),d(t[n],e[n])):Object.assign(t,((s={})[n]=e[n],s))})),t}var h=function(t,e,n){return void 0===e&&(e=5),void 0===n&&(n=5),t.width>e||t.height>n},p=function(t,e){return e.left<=t.x&&t.x<=e.left+e.width&&e.top<=t.y&&t.y<=e.top+e.height},m=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},f=function(t){return t.getBoundingClientRect()},g=function(t){return{x:t.clientX,y:t.clientY}},y=function(t,e){var n=g(t),o=n.x,s=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:o-i-(c-window.pageXOffset)+e.scrollLeft,y:s-i-(l-window.pageYOffset)+e.scrollTop}},S=function(){return function(t){return t.pipe(s.distinctUntilChanged((function(t,e){return t&&e&&t.code===e.code})))}},v=function(){function t(t){this.platformId=t,e.isPlatformBrowser(this.platformId)&&this._initializeKeyboardStreams()}return t.prototype._initializeKeyboardStreams=function(){this.keydown$=o.fromEvent(window,"keydown").pipe(s.share()),this.keyup$=o.fromEvent(window,"keyup").pipe(s.share()),this.distinctKeydown$=this.keydown$.pipe(S(),s.share()),this.distinctKeyup$=this.keyup$.pipe(S(),s.share()),this.mouseup$=o.fromEvent(window,"mouseup").pipe(s.share()),this.mousemove$=o.fromEvent(window,"mousemove").pipe(s.share())},t}();v.decorators=[{type:n.Injectable}],v.ctorParameters=function(){return[{type:Object,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]}]};var _,I=new n.InjectionToken("DRAG_TO_SELECT_CONFIG"),b=new n.InjectionToken("USER_CONFIG"),w=Symbol(),E=function(){function t(t,e,n,o){this.config=t,this.platformId=e,this.host=n,this.renderer=o,this.selected=!1,this.rangeStart=!1}return Object.defineProperty(t.prototype,"value",{get:function(){return this.dtsSelectItem?this.dtsSelectItem:this},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){this.nativeElememnt[w]=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:!1,configurable:!0}),t.prototype.getBoundingClientRect=function(){return e.isPlatformBrowser(this.platformId)&&!this._boundingClientRect&&this.calculateBoundingClientRect(),this._boundingClientRect},t.prototype.calculateBoundingClientRect=function(){var t=f(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}();E.decorators=[{type:n.Directive,args:[{selector:"[dtsSelectItem]",exportAs:"dtsSelectItem",host:{class:"dts-select-item"}}]}],E.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[I]}]},{type:Object,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:n.ElementRef},{type:n.Renderer2}]},E.propDecorators={rangeStart:[{type:n.HostBinding,args:["class.dts-range-start"]}],dtsSelectItem:[{type:n.Input}]};var x,R,C={alt:!0,shift:!0,meta:!0,ctrl:!0},$=/[a-z]/,O="meta",M=((_={}).meta=["ctrl","meta"],_),T={moveRangeStart:!0,disableSelection:!0,toggleSingleItem:!0,addToSelection:!0,removeFromSelection:!0},j=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(s.map((function(t){return{code:t.code,pressed:!0}}))),l=this.keyboardEvents.keyup$.pipe(s.map((function(t){return{code:t.code,pressed:!1}})));o.merge(c,l).pipe(s.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,o=this,s={},c=function(t,e){if(!l._isSupportedShortcut(t))throw new Error(l._getErrorMessage("Shortcut "+t+" not supported"));e.replace(/ /g,"").split(",").forEach((function(e){s[t]||(s[t]=[]);var n=e.split("+");o._substituteKey(e,n,O).forEach((function(n){var r=o._isSupportedCombo(n);if(r)throw new Error(o._getErrorMessage("Key '"+r+"' in shortcut "+e+" not supported"));s[t].push(n.map((function(t){return C[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 s},t.prototype._substituteKey=function(t,e,n){var o=t.includes(n),s=[];if(o){var r=e.filter((function(t){return t!==O}));M.meta.forEach((function(t){s.push(c(r,[t]))}))}else s.push(e);return s},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){C[t]||$.test(t)&&!e._isSingleChar(t)||(n=t)})),n},t.prototype._isSingleChar=function(t){return t.length>1},t.prototype._isSupportedShortcut=function(t){return T[t]},t}();j.decorators=[{type:n.Injectable}],j.ctorParameters=function(){return[{type:Object,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:void 0,decorators:[{type:n.Inject,args:[I]}]},{type:v}]},function(t){t[t.Add=0]="Add",t[t.Remove=1]="Remove"}(x||(x={})),function(t){t[t.Add=0]="Add",t[t.Delete=1]="Delete",t[t.None=2]="None"}(R||(R={}));var F=function(){function t(t,e,s,r,i,c){this.platformId=t,this.shortcuts=e,this.keyboardEvents=s,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 o.BehaviorSubject([]),this._selectableItems=[],this.updateItems$=new o.Subject,this.destroy$=new o.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(s.filter((function(){return!n.disabled})),s.tap((function(){return n._onMouseUp()})),s.share()),c=this.keyboardEvents.mousemove$.pipe(s.filter((function(){return!n.disabled})),s.share()),l=o.fromEvent(this.host,"mousedown").pipe(s.filter((function(t){return 0===t.button})),s.filter((function(){return!n.disabled})),s.tap((function(t){return n._onMouseDown(t)})),s.share()),a=l.pipe(s.filter((function(t){return!n.shortcuts.disableSelection(t)})),s.filter((function(){return!n.selectMode})),s.filter((function(){return!n.disableDrag})),s.switchMap((function(){return c.pipe(s.takeUntil(r))})),s.share()),u=l.pipe(s.map((function(t){return y(t,n.host)}))),d=a.pipe(s.mapTo(1)),p=r.pipe(s.mapTo(0)),m=o.merge(d,p).pipe(s.distinctUntilChanged()),f=o.combineLatest([a,m,u]).pipe((t=this.host,function(e){return e.pipe(s.map((function(e){var n=i(e,3),o=n[0],s=n[1],r=n[2],c=r.x,l=r.y,a=y(o,t),u=s>0?a.x-c:0,d=s>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:s}})))}),s.share());this.selectBoxClasses$=o.merge(a,r,this.keyboardEvents.distinctKeydown$,this.keyboardEvents.distinctKeyup$).pipe(s.auditTime(16),s.withLatestFrom(f),s.map((function(t){var e=i(t,2),o=e[0],s=e[1];return{"dts-adding":h(s,0,0)&&!n.shortcuts.removeFromSelection(o),"dts-removing":n.shortcuts.removeFromSelection(o)}})),s.distinctUntilChanged((function(t,e){return JSON.stringify(t)===JSON.stringify(e)})));var g=a.pipe(s.filter((function(){return!n.selectOnDrag})),s.filter((function(){return!n.selectMode})),s.filter((function(t){return n._cursorWithinHost(t)})),s.switchMap((function(t){return r.pipe(s.first())})),s.filter((function(t){return!n.shortcuts.disableSelection(t)&&!n.shortcuts.toggleSingleItem(t)||n.shortcuts.removeFromSelection(t)}))),S=f.pipe(s.auditTime(16),s.withLatestFrom(c,(function(t,e){return{selectBox:t,event:e}})),s.filter((function(){return n.selectOnDrag})),s.filter((function(t){var e=t.selectBox;return h(e)})),s.map((function(t){return t.event}))),v=o.merge(this.keyboardEvents.distinctKeydown$,this.keyboardEvents.distinctKeyup$).pipe(s.auditTime(16),function(t){return function(e){return e.pipe(s.withLatestFrom(t),s.filter((function(t){var e=i(t,2)[1];return h(e,0,0)})),s.map((function(t){var e=i(t,2),n=e[0];return e[1],n})))}}(f),s.tap((function(t){n._isExtendedSelection(t)?n._tmpItems.clear():n._flushItems()})));o.merge(g,S,v).pipe(s.takeUntil(this.destroy$)).subscribe((function(t){return n._selectItems(t)})),this.selectBoxStyles$=f.pipe(s.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 o.from(this._selectableItems).pipe(s.filter((function(e){return t(e.value)})))},t.prototype._initSelectedItemsChange=function(){var t=this;this._selectedItems$.pipe(s.auditTime(16),s.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(s.withLatestFrom(this._selectedItems$),s.takeUntil(this.destroy$)).subscribe((function(e){var n=i(e,2),o=n[0],s=n[1],r=o.item;switch(o.type){case x.Add:t._addItem(r,s)&&r._select();break;case x.Remove:t._removeItem(r,s)&&r._deselect()}})),this.$selectableItems.changes.pipe(s.withLatestFrom(this._selectedItems$),s.observeOn(o.asyncScheduler),s.takeUntil(this.destroy$)).subscribe((function(e){var n=i(e,2),o=n[0],s=n[1],r=o.toArray();t._selectableItems=r;var c=s.filter((function(t){return!r.includes(t.value)}));c.length&&c.forEach((function(e){return t._removeItem(e,s)})),t.update()}))},t.prototype._observeBoundingRectChanges=function(){var t=this;this.ngZone.runOutsideAngular((function(){var e=o.fromEvent(window,"resize"),n=o.fromEvent(window,"scroll"),r=o.fromEvent(t.host,"scroll");o.merge(e,n,r).pipe(s.startWith("INITIAL_UPDATE"),s.auditTime(16),s.takeUntil(t.destroy$)).subscribe((function(){t.update()}))}))},t.prototype._initSelectionOutputs=function(t,e){var n=this;t.pipe(s.filter((function(t){return n._cursorWithinHost(t)})),s.tap((function(){return n.selectionStarted.emit()})),s.concatMapTo(e.pipe(s.first())),s.withLatestFrom(this._selectedItems$),s.map((function(t){return i(t,2)[1]})),s.takeUntil(this.destroy$)).subscribe((function(t){n.selectionEnded.emit(t)}))},t.prototype._calculateBoundingClientRect=function(){this.host.boundingClientRect=f(this.host)},t.prototype._cursorWithinHost=function(t){return function(t,e){var n=g(t);return p(n,f(e))}(t,this.host)},t.prototype._onMouseUp=function(){this._flushItems(),this.renderer.removeClass(document.body,a)},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,a),!this.shortcuts.removeFromSelection(t))){var n=g(t),o=i(this._getClosestSelectItem(t),2),s=o[0],r=o[1],c=i(this._lastRange,2),l=c[0],u=c[1],d=this.shortcuts.moveRangeStart(t),h=!this.shortcuts.extendedSelectionShortcut(t)||d||this.disableRangeSelection;h&&this._resetRangeStart(),h&&!this.disableRangeSelection&&(s>-1?(this._newRangeStart=!0,this._lastStartIndex=s,r.toggleRangeStart(),this._lastRangeSelection.clear()):this._lastStartIndex=-1),s>-1&&(l=Math.min(this._lastStartIndex,s),u=Math.max(this._lastStartIndex,s),this._lastRange=[l,u]),d||(this.$selectableItems.forEach((function(o,r){var i=o.getBoundingClientRect(),c=p(n,i);if(!e.shortcuts.extendedSelectionShortcut(t)||!e.disableRangeSelection){var a=e.shortcuts.extendedSelectionShortcut(t)&&l>-1&&u>-1&&r>=l&&r<=u&&l!==u,d=c&&!e.shortcuts.toggleSingleItem(t)&&!e.selectMode&&!e.selectWithShortcut||e.shortcuts.extendedSelectionShortcut(t)&&o.selected&&!e._lastRangeSelection.get(o)||a||c&&e.shortcuts.toggleSingleItem(t)&&!o.selected||!c&&e.shortcuts.toggleSingleItem(t)&&o.selected||c&&!o.selected&&e.selectMode||!c&&o.selected&&e.selectMode,h=!c&&!e.shortcuts.toggleSingleItem(t)&&!e.selectMode&&!e.shortcuts.extendedSelectionShortcut(t)&&!e.selectWithShortcut||e.shortcuts.extendedSelectionShortcut(t)&&s>-1||!c&&e.shortcuts.toggleSingleItem(t)&&!o.selected||c&&e.shortcuts.toggleSingleItem(t)&&o.selected||!c&&!o.selected&&e.selectMode||c&&o.selected&&e.selectMode;d?e._selectItem(o):h&&e._deselectItem(o),a&&!e._lastRangeSelection.get(o)?e._lastRangeSelection.set(o,!0):a||e._newRangeStart||o.selected||e._lastRangeSelection.delete(o)}})),this.shortcuts.toggleSingleItem(t)||(this._newRangeStart=!1))}},t.prototype._selectItems=function(t){var e=this,n=f(this.$selectBox.nativeElement);this.$selectableItems.forEach((function(o,s){e._isExtendedSelection(t)?e._extendedSelectionMode(n,o,t):(e._normalSelectionMode(n,o,t),e._lastStartIndex<0&&o.selected&&(o.toggleRangeStart(),e._lastStartIndex=s))}))},t.prototype._isExtendedSelection=function(t){return this.shortcuts.extendedSelectionShortcut(t)&&this.selectOnDrag},t.prototype._normalSelectionMode=function(t,e,n){var o=m(t,e.getBoundingClientRect()),s=o&&!e.selected&&!this.shortcuts.removeFromSelection(n),r=!o&&e.selected&&!this.shortcuts.addToSelection(n)||o&&e.selected&&this.shortcuts.removeFromSelection(n);s?this._selectItem(e):r&&this._deselectItem(e)},t.prototype._extendedSelectionMode=function(t,e,n){var o=m(t,e.getBoundingClientRect()),s=o&&!e.selected&&!this.shortcuts.removeFromSelection(n)&&!this._tmpItems.has(e)||o&&e.selected&&this.shortcuts.removeFromSelection(n)&&!this._tmpItems.has(e),r=!o&&e.selected&&this.shortcuts.addToSelection(n)&&this._tmpItems.has(e)||!o&&!e.selected&&this.shortcuts.removeFromSelection(n)&&this._tmpItems.has(e);if(s){e.selected?e._deselect():e._select();var i=this.shortcuts.removeFromSelection(n)?R.Delete:this.shortcuts.addToSelection(n)?R.Add:R.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===R.Add&&t._selectItem(n),e===R.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,o=t instanceof E?t.value:t,s=e.indexOf(o);return s>-1&&(n=!0,e.splice(s,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:x.Add,item:t})},t.prototype._deselectItem=function(t){this.updateItems$.next({type:x.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,o=null;return e&&(o=e[w],n=this._selectableItems.indexOf(o)),[n,o]},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}();F.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}"]}]}],F.ctorParameters=function(){return[{type:Object,decorators:[{type:n.Inject,args:[n.PLATFORM_ID]}]},{type:j},{type:v},{type:n.ElementRef},{type:n.Renderer2},{type:n.NgZone}]},F.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}]};var k=[F,E];function D(t){return d(l,t)}var B=function(){function t(){}return t.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[j,v,{provide:b,useValue:e},{provide:I,useFactory:D,deps:[b]}]}},t}();B.decorators=[{type:n.NgModule,args:[{imports:[e.CommonModule],declarations:c(k),exports:c(k)}]}],t.CONFIG_FACTORY=D,t.DragToSelectModule=B,t.SELECT_ITEM_INSTANCE=w,t.SelectContainerComponent=F,t.SelectItemDirective=E,t.ɵa=d,t.ɵb=l,t.ɵc=I,t.ɵd=b,t.ɵf=j,t.ɵg=v,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=ngx-drag-to-select.umd.min.js.map

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

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
export const DEFAULT_CONFIG = {

@@ -13,5 +8,5 @@ selectedClass: 'selected',

addToSelection: 'shift',
removeFromSelection: 'shift+meta'
}
removeFromSelection: 'shift+meta',
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLE1BQU0sT0FBTyxjQUFjLEdBQXVCO0lBQ2hELGFBQWEsRUFBRSxVQUFVO0lBQ3pCLFNBQVMsRUFBRTtRQUNULGNBQWMsRUFBRSxTQUFTO1FBQ3pCLGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixjQUFjLEVBQUUsT0FBTztRQUN2QixtQkFBbUIsRUFBRSxZQUFZO0tBQ2xDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogRHJhZ1RvU2VsZWN0Q29uZmlnID0ge1xuICBzZWxlY3RlZENsYXNzOiAnc2VsZWN0ZWQnLFxuICBzaG9ydGN1dHM6IHtcbiAgICBtb3ZlUmFuZ2VTdGFydDogJ3NoaWZ0K3InLFxuICAgIGRpc2FibGVTZWxlY3Rpb246ICdhbHQnLFxuICAgIHRvZ2dsZVNpbmdsZUl0ZW06ICdtZXRhJyxcbiAgICBhZGRUb1NlbGVjdGlvbjogJ3NoaWZ0JyxcbiAgICByZW1vdmVGcm9tU2VsZWN0aW9uOiAnc2hpZnQrbWV0YSdcbiAgfVxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9kZWxtL2Rldi9uZ3gtZHJhZy10by1zZWxlY3QvcHJvamVjdHMvbmd4LWRyYWctdG8tc2VsZWN0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF1QjtJQUNoRCxhQUFhLEVBQUUsVUFBVTtJQUN6QixTQUFTLEVBQUU7UUFDVCxjQUFjLEVBQUUsU0FBUztRQUN6QixnQkFBZ0IsRUFBRSxLQUFLO1FBQ3ZCLGdCQUFnQixFQUFFLE1BQU07UUFDeEIsY0FBYyxFQUFFLE9BQU87UUFDdkIsbUJBQW1CLEVBQUUsWUFBWTtLQUNsQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogRHJhZ1RvU2VsZWN0Q29uZmlnID0ge1xuICBzZWxlY3RlZENsYXNzOiAnc2VsZWN0ZWQnLFxuICBzaG9ydGN1dHM6IHtcbiAgICBtb3ZlUmFuZ2VTdGFydDogJ3NoaWZ0K3InLFxuICAgIGRpc2FibGVTZWxlY3Rpb246ICdhbHQnLFxuICAgIHRvZ2dsZVNpbmdsZUl0ZW06ICdtZXRhJyxcbiAgICBhZGRUb1NlbGVjdGlvbjogJ3NoaWZ0JyxcbiAgICByZW1vdmVGcm9tU2VsZWN0aW9uOiAnc2hpZnQrbWV0YScsXG4gIH0sXG59O1xuIl19

@@ -1,13 +0,5 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
export const AUDIT_TIME = 16;
/** @type {?} */
export const MIN_WIDTH = 5;
/** @type {?} */
export const MIN_HEIGHT = 5;
/** @type {?} */
export const NO_SELECT_CLASS = 'dts-no-select';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE1BQU0sT0FBTyxVQUFVLEdBQUcsRUFBRTs7QUFDNUIsTUFBTSxPQUFPLFNBQVMsR0FBRyxDQUFDOztBQUMxQixNQUFNLE9BQU8sVUFBVSxHQUFHLENBQUM7O0FBQzNCLE1BQU0sT0FBTyxlQUFlLEdBQUcsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBVURJVF9USU1FID0gMTY7XG5leHBvcnQgY29uc3QgTUlOX1dJRFRIID0gNTtcbmV4cG9ydCBjb25zdCBNSU5fSEVJR0hUID0gNTtcbmV4cG9ydCBjb25zdCBOT19TRUxFQ1RfQ0xBU1MgPSAnZHRzLW5vLXNlbGVjdCc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9kZWxtL2Rldi9uZ3gtZHJhZy10by1zZWxlY3QvcHJvamVjdHMvbmd4LWRyYWctdG8tc2VsZWN0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztBQUM3QixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFDNUIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBVURJVF9USU1FID0gMTY7XG5leHBvcnQgY29uc3QgTUlOX1dJRFRIID0gNTtcbmV4cG9ydCBjb25zdCBNSU5fSEVJR0hUID0gNTtcbmV4cG9ydCBjb25zdCBOT19TRUxFQ1RfQ0xBU1MgPSAnZHRzLW5vLXNlbGVjdCc7XG4iXX0=

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

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { CommonModule } from '@angular/common';

@@ -14,8 +10,3 @@ import { NgModule } from '@angular/core';

import { mergeDeep } from './utils';
/** @type {?} */
const COMPONENTS = [SelectContainerComponent, SelectItemDirective];
/**
* @param {?} config
* @return {?}
*/
export function CONFIG_FACTORY(config) {

@@ -25,6 +16,2 @@ return mergeDeep(DEFAULT_CONFIG, config);

export class DragToSelectModule {
/**
* @param {?=} config
* @return {?}
*/
static forRoot(config = {}) {

@@ -40,5 +27,5 @@ return {

useFactory: CONFIG_FACTORY,
deps: [USER_CONFIG]
}
]
deps: [USER_CONFIG],
},
],
};

@@ -51,5 +38,5 @@ }

declarations: [...COMPONENTS],
exports: [...COMPONENTS]
exports: [...COMPONENTS],
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy10by1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL2RyYWctdG8tc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7O01BRTlCLFVBQVUsR0FBRyxDQUFDLHdCQUF3QixFQUFFLG1CQUFtQixDQUFDOzs7OztBQUVsRSxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQW1DO0lBQ2hFLE9BQU8sU0FBUyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBT0QsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFzQyxFQUFFO1FBQ3JELE9BQU87WUFDTCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFNBQVMsRUFBRTtnQkFDVCxlQUFlO2dCQUNmLHFCQUFxQjtnQkFDckIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQzFDO29CQUNFLE9BQU8sRUFBRSxNQUFNO29CQUNmLFVBQVUsRUFBRSxjQUFjO29CQUMxQixJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7aUJBQ3BCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBcEJGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2dCQUM3QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREVGQVVMVF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBLZXlib2FyZEV2ZW50c1NlcnZpY2UgfSBmcm9tICcuL2tleWJvYXJkLWV2ZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFNlbGVjdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFNob3J0Y3V0U2VydmljZSB9IGZyb20gJy4vc2hvcnRjdXQuc2VydmljZSc7XG5pbXBvcnQgeyBDT05GSUcsIFVTRVJfQ09ORklHIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHsgbWVyZ2VEZWVwIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbU2VsZWN0Q29udGFpbmVyQ29tcG9uZW50LCBTZWxlY3RJdGVtRGlyZWN0aXZlXTtcblxuZXhwb3J0IGZ1bmN0aW9uIENPTkZJR19GQUNUT1JZKGNvbmZpZzogUGFydGlhbDxEcmFnVG9TZWxlY3RDb25maWc+KSB7XG4gIHJldHVybiBtZXJnZURlZXAoREVGQVVMVF9DT05GSUcsIGNvbmZpZyk7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdUb1NlbGVjdE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogUGFydGlhbDxEcmFnVG9TZWxlY3RDb25maWc+ID0ge30pOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERyYWdUb1NlbGVjdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBTaG9ydGN1dFNlcnZpY2UsXG4gICAgICAgIEtleWJvYXJkRXZlbnRzU2VydmljZSxcbiAgICAgICAgeyBwcm92aWRlOiBVU0VSX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQ09ORklHLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IENPTkZJR19GQUNUT1JZLFxuICAgICAgICAgIGRlcHM6IFtVU0VSX0NPTkZJR11cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy10by1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9kZWxtL2Rldi9uZ3gtZHJhZy10by1zZWxlY3QvcHJvamVjdHMvbmd4LWRyYWctdG8tc2VsZWN0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kcmFnLXRvLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFcEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBRW5FLE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBbUM7SUFDaEUsT0FBTyxTQUFTLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFPRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBc0MsRUFBRTtRQUNyRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1QsZUFBZTtnQkFDZixxQkFBcUI7Z0JBQ3JCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUMxQztvQkFDRSxPQUFPLEVBQUUsTUFBTTtvQkFDZixVQUFVLEVBQUUsY0FBYztvQkFDMUIsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDO2lCQUNwQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXBCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztnQkFDN0IsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7YUFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgS2V5Ym9hcmRFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9rZXlib2FyZC1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBTZWxlY3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTaG9ydGN1dFNlcnZpY2UgfSBmcm9tICcuL3Nob3J0Y3V0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ09ORklHLCBVU0VSX0NPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IG1lcmdlRGVlcCB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1NlbGVjdENvbnRhaW5lckNvbXBvbmVudCwgU2VsZWN0SXRlbURpcmVjdGl2ZV07XG5cbmV4cG9ydCBmdW5jdGlvbiBDT05GSUdfRkFDVE9SWShjb25maWc6IFBhcnRpYWw8RHJhZ1RvU2VsZWN0Q29uZmlnPikge1xuICByZXR1cm4gbWVyZ2VEZWVwKERFRkFVTFRfQ09ORklHLCBjb25maWcpO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UU10sXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ1RvU2VsZWN0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBQYXJ0aWFsPERyYWdUb1NlbGVjdENvbmZpZz4gPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RHJhZ1RvU2VsZWN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEcmFnVG9TZWxlY3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgU2hvcnRjdXRTZXJ2aWNlLFxuICAgICAgICBLZXlib2FyZEV2ZW50c1NlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogVVNFUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IENPTkZJRyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBDT05GSUdfRkFDVE9SWSxcbiAgICAgICAgICBkZXBzOiBbVVNFUl9DT05GSUddLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=

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

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { isPlatformBrowser } from '@angular/common';

@@ -11,5 +7,2 @@ import { Inject, Injectable, PLATFORM_ID } from '@angular/core';

export class KeyboardEventsService {
/**
* @param {?} platformId
*/
constructor(platformId) {

@@ -21,6 +14,2 @@ this.platformId = platformId;

}
/**
* @private
* @return {?}
*/
_initializeKeyboardStreams() {

@@ -40,25 +29,5 @@ this.keydown$ = fromEvent(window, 'keydown').pipe(share());

];
/** @nocollapse */
KeyboardEventsService.ctorParameters = () => [
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
];
if (false) {
/** @type {?} */
KeyboardEventsService.prototype.keydown$;
/** @type {?} */
KeyboardEventsService.prototype.keyup$;
/** @type {?} */
KeyboardEventsService.prototype.distinctKeydown$;
/** @type {?} */
KeyboardEventsService.prototype.distinctKeyup$;
/** @type {?} */
KeyboardEventsService.prototype.mouseup$;
/** @type {?} */
KeyboardEventsService.prototype.mousemove$;
/**
* @type {?}
* @private
*/
KeyboardEventsService.prototype.platformId;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJhZy10by1zZWxlY3QvIiwic291cmNlcyI6WyJsaWIva2V5Ym9hcmQtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHaEQsTUFBTSxPQUFPLHFCQUFxQjs7OztJQVFoQyxZQUF5QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3pELElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQzs7Ozs7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQWdCLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBZ0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXRFLGtGQUFrRjtRQUNsRix5Q0FBeUM7UUFFekMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN4QyxpQkFBaUIsRUFBRSxFQUNuQixLQUFLLEVBQUUsQ0FDUixDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEMsaUJBQWlCLEVBQUUsRUFDbkIsS0FBSyxFQUFFLENBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFhLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBYSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7O1lBbENGLFVBQVU7Ozs7WUFTNEMsTUFBTSx1QkFBOUMsTUFBTSxTQUFDLFdBQVc7Ozs7SUFQL0IseUNBQW9DOztJQUNwQyx1Q0FBa0M7O0lBQ2xDLGlEQUE0Qzs7SUFDNUMsK0NBQTBDOztJQUMxQyx5Q0FBaUM7O0lBQ2pDLDJDQUFtQzs7Ozs7SUFFdkIsMkNBQStDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzaGFyZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGRpc3RpbmN0S2V5RXZlbnRzIH0gZnJvbSAnLi9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRFdmVudHNTZXJ2aWNlIHtcbiAga2V5ZG93biQ6IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD47XG4gIGtleXVwJDogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50PjtcbiAgZGlzdGluY3RLZXlkb3duJDogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50PjtcbiAgZGlzdGluY3RLZXl1cCQ6IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD47XG4gIG1vdXNldXAkOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuICBtb3VzZW1vdmUkOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0KSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMuX2luaXRpYWxpemVLZXlib2FyZFN0cmVhbXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplS2V5Ym9hcmRTdHJlYW1zKCkge1xuICAgIHRoaXMua2V5ZG93biQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4od2luZG93LCAna2V5ZG93bicpLnBpcGUoc2hhcmUoKSk7XG4gICAgdGhpcy5rZXl1cCQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4od2luZG93LCAna2V5dXAnKS5waXBlKHNoYXJlKCkpO1xuXG4gICAgLy8gZGlzdGluY3RLZXlFdmVudHMgaXMgdXNlZCB0byBwcmV2ZW50IG11bHRpcGxlIGtleSBldmVudHMgdG8gYmUgZmlyZWQgcmVwZWF0ZWRseVxuICAgIC8vIG9uIFdpbmRvd3Mgd2hlbiBhIGtleSBpcyBiZWluZyBwcmVzc2VkXG5cbiAgICB0aGlzLmRpc3RpbmN0S2V5ZG93biQgPSB0aGlzLmtleWRvd24kLnBpcGUoXG4gICAgICBkaXN0aW5jdEtleUV2ZW50cygpLFxuICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICB0aGlzLmRpc3RpbmN0S2V5dXAkID0gdGhpcy5rZXl1cCQucGlwZShcbiAgICAgIGRpc3RpbmN0S2V5RXZlbnRzKCksXG4gICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIHRoaXMubW91c2V1cCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCAnbW91c2V1cCcpLnBpcGUoc2hhcmUoKSk7XG4gICAgdGhpcy5tb3VzZW1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgJ21vdXNlbW92ZScpLnBpcGUoc2hhcmUoKSk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2RlbG0vZGV2L25neC1kcmFnLXRvLXNlbGVjdC9wcm9qZWN0cy9uZ3gtZHJhZy10by1zZWxlY3Qvc3JjLyIsInNvdXJjZXMiOlsibGliL2tleWJvYXJkLWV2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHaEQsTUFBTSxPQUFPLHFCQUFxQjtJQVFoQyxZQUF5QyxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3pELElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBZ0IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFnQixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFdEUsa0ZBQWtGO1FBQ2xGLHlDQUF5QztRQUV6QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXpFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFhLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBYSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7O1lBNUJGLFVBQVU7OztZQVM0QyxNQUFNLHVCQUE5QyxNQUFNLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBkaXN0aW5jdEtleUV2ZW50cyB9IGZyb20gJy4vb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEtleWJvYXJkRXZlbnRzU2VydmljZSB7XG4gIGtleWRvd24kOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+O1xuICBrZXl1cCQ6IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD47XG4gIGRpc3RpbmN0S2V5ZG93biQ6IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD47XG4gIGRpc3RpbmN0S2V5dXAkOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+O1xuICBtb3VzZXVwJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcbiAgbW91c2Vtb3ZlJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLl9pbml0aWFsaXplS2V5Ym9hcmRTdHJlYW1zKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUtleWJvYXJkU3RyZWFtcygpIHtcbiAgICB0aGlzLmtleWRvd24kID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHdpbmRvdywgJ2tleWRvd24nKS5waXBlKHNoYXJlKCkpO1xuICAgIHRoaXMua2V5dXAkID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHdpbmRvdywgJ2tleXVwJykucGlwZShzaGFyZSgpKTtcblxuICAgIC8vIGRpc3RpbmN0S2V5RXZlbnRzIGlzIHVzZWQgdG8gcHJldmVudCBtdWx0aXBsZSBrZXkgZXZlbnRzIHRvIGJlIGZpcmVkIHJlcGVhdGVkbHlcbiAgICAvLyBvbiBXaW5kb3dzIHdoZW4gYSBrZXkgaXMgYmVpbmcgcHJlc3NlZFxuXG4gICAgdGhpcy5kaXN0aW5jdEtleWRvd24kID0gdGhpcy5rZXlkb3duJC5waXBlKGRpc3RpbmN0S2V5RXZlbnRzKCksIHNoYXJlKCkpO1xuXG4gICAgdGhpcy5kaXN0aW5jdEtleXVwJCA9IHRoaXMua2V5dXAkLnBpcGUoZGlzdGluY3RLZXlFdmVudHMoKSwgc2hhcmUoKSk7XG5cbiAgICB0aGlzLm1vdXNldXAkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgJ21vdXNldXAnKS5waXBlKHNoYXJlKCkpO1xuICAgIHRoaXMubW91c2Vtb3ZlJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3csICdtb3VzZW1vdmUnKS5waXBlKHNoYXJlKCkpO1xuICB9XG59XG4iXX0=

@@ -1,119 +0,12 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @enum {number} */
const UpdateActions = {
Add: 0,
Remove: 1,
};
export { UpdateActions };
UpdateActions[UpdateActions.Add] = 'Add';
UpdateActions[UpdateActions.Remove] = 'Remove';
/**
* @record
*/
export function UpdateAction() { }
if (false) {
/** @type {?} */
UpdateAction.prototype.type;
/** @type {?} */
UpdateAction.prototype.item;
}
/**
* @record
* @template T
*/
export function ObservableProxy() { }
if (false) {
/** @type {?} */
ObservableProxy.prototype.proxy$;
/** @type {?} */
ObservableProxy.prototype.proxy;
}
/**
* @record
*/
export function SelectContainerHost() { }
if (false) {
/** @type {?} */
SelectContainerHost.prototype.boundingClientRect;
}
/**
* @record
*/
export function Shortcuts() { }
if (false) {
/** @type {?} */
Shortcuts.prototype.moveRangeStart;
/** @type {?} */
Shortcuts.prototype.disableSelection;
/** @type {?} */
Shortcuts.prototype.toggleSingleItem;
/** @type {?} */
Shortcuts.prototype.addToSelection;
/** @type {?} */
Shortcuts.prototype.removeFromSelection;
}
/**
* @record
*/
export function DragToSelectConfig() { }
if (false) {
/** @type {?} */
DragToSelectConfig.prototype.selectedClass;
/** @type {?} */
DragToSelectConfig.prototype.shortcuts;
}
/**
* @record
*/
export function MousePosition() { }
if (false) {
/** @type {?} */
MousePosition.prototype.x;
/** @type {?} */
MousePosition.prototype.y;
}
/**
* @record
*/
export function BoundingBox() { }
if (false) {
/** @type {?} */
BoundingBox.prototype.top;
/** @type {?} */
BoundingBox.prototype.left;
/** @type {?} */
BoundingBox.prototype.width;
/** @type {?} */
BoundingBox.prototype.height;
}
/**
* @record
* @template T
*/
export function SelectBox() { }
if (false) {
/** @type {?} */
SelectBox.prototype.top;
/** @type {?} */
SelectBox.prototype.left;
/** @type {?} */
SelectBox.prototype.width;
/** @type {?} */
SelectBox.prototype.height;
/** @type {?} */
SelectBox.prototype.opacity;
}
/** @enum {number} */
const Action = {
Add: 0,
Delete: 1,
None: 2,
};
export { Action };
Action[Action.Add] = 'Add';
Action[Action.Delete] = 'Delete';
Action[Action.None] = 'None';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7SUFNRSxNQUFHO0lBQ0gsU0FBTTs7Ozs7Ozs7QUFHUixrQ0FHQzs7O0lBRkMsNEJBQW9COztJQUNwQiw0QkFBMEI7Ozs7OztBQUc1QixxQ0FHQzs7O0lBRkMsaUNBQXdCOztJQUN4QixnQ0FBUzs7Ozs7QUFHWCx5Q0FFQzs7O0lBREMsaURBQWdDOzs7OztBQUdsQywrQkFNQzs7O0lBTEMsbUNBQXVCOztJQUN2QixxQ0FBeUI7O0lBQ3pCLHFDQUF5Qjs7SUFDekIsbUNBQXVCOztJQUN2Qix3Q0FBNEI7Ozs7O0FBRzlCLHdDQUdDOzs7SUFGQywyQ0FBc0I7O0lBQ3RCLHVDQUE4Qjs7Ozs7QUFHaEMsbUNBR0M7OztJQUZDLDBCQUFVOztJQUNWLDBCQUFVOzs7OztBQUdaLGlDQUtDOzs7SUFKQywwQkFBWTs7SUFDWiwyQkFBYTs7SUFDYiw0QkFBYzs7SUFDZCw2QkFBZTs7Ozs7O0FBS2pCLCtCQU1DOzs7SUFMQyx3QkFBTzs7SUFDUCx5QkFBUTs7SUFDUiwwQkFBUzs7SUFDVCwyQkFBVTs7SUFDViw0QkFBZ0I7Ozs7SUFJaEIsTUFBRztJQUNILFNBQU07SUFDTixPQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VsZWN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcblxuZXhwb3J0IHR5cGUgUHJlZGljYXRlRm48VD4gPSAoaXRlbTogVCkgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGVudW0gVXBkYXRlQWN0aW9ucyB7XG4gIEFkZCxcbiAgUmVtb3ZlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQWN0aW9uIHtcbiAgdHlwZTogVXBkYXRlQWN0aW9ucztcbiAgaXRlbTogU2VsZWN0SXRlbURpcmVjdGl2ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmxlUHJveHk8VD4ge1xuICBwcm94eSQ6IE9ic2VydmFibGU8YW55PjtcbiAgcHJveHk6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Q29udGFpbmVySG9zdCBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgYm91bmRpbmdDbGllbnRSZWN0OiBCb3VuZGluZ0JveDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaG9ydGN1dHMge1xuICBtb3ZlUmFuZ2VTdGFydDogc3RyaW5nO1xuICBkaXNhYmxlU2VsZWN0aW9uOiBzdHJpbmc7XG4gIHRvZ2dsZVNpbmdsZUl0ZW06IHN0cmluZztcbiAgYWRkVG9TZWxlY3Rpb246IHN0cmluZztcbiAgcmVtb3ZlRnJvbVNlbGVjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERyYWdUb1NlbGVjdENvbmZpZyB7XG4gIHNlbGVjdGVkQ2xhc3M6IHN0cmluZztcbiAgc2hvcnRjdXRzOiBQYXJ0aWFsPFNob3J0Y3V0cz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW91c2VQb3NpdGlvbiB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdW5kaW5nQm94IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEJveElucHV0ID0gW01vdXNlRXZlbnQsIG51bWJlciwgTW91c2VQb3NpdGlvbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0Qm94PFQ+IHtcbiAgdG9wOiBUO1xuICBsZWZ0OiBUO1xuICB3aWR0aDogVDtcbiAgaGVpZ2h0OiBUO1xuICBvcGFjaXR5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvbiB7XG4gIEFkZCxcbiAgRGVsZXRlLFxuICBOb25lXG59XG4iXX0=
export var UpdateActions;
(function (UpdateActions) {
UpdateActions[UpdateActions["Add"] = 0] = "Add";
UpdateActions[UpdateActions["Remove"] = 1] = "Remove";
})(UpdateActions || (UpdateActions = {}));
export var Action;
(function (Action) {
Action[Action["Add"] = 0] = "Add";
Action[Action["Delete"] = 1] = "Delete";
Action[Action["None"] = 2] = "None";
})(Action || (Action = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9kZWxtL2Rldi9uZ3gtZHJhZy10by1zZWxlY3QvcHJvamVjdHMvbmd4LWRyYWctdG8tc2VsZWN0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2QiwrQ0FBRyxDQUFBO0lBQ0gscURBQU0sQ0FBQTtBQUNSLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQW1ERCxNQUFNLENBQU4sSUFBWSxNQUlYO0FBSkQsV0FBWSxNQUFNO0lBQ2hCLGlDQUFHLENBQUE7SUFDSCx1Q0FBTSxDQUFBO0lBQ04sbUNBQUksQ0FBQTtBQUNOLENBQUMsRUFKVyxNQUFNLEtBQU4sTUFBTSxRQUlqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlbGVjdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCB0eXBlIFByZWRpY2F0ZUZuPFQ+ID0gKGl0ZW06IFQpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBlbnVtIFVwZGF0ZUFjdGlvbnMge1xuICBBZGQsXG4gIFJlbW92ZSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVBY3Rpb24ge1xuICB0eXBlOiBVcGRhdGVBY3Rpb25zO1xuICBpdGVtOiBTZWxlY3RJdGVtRGlyZWN0aXZlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9ic2VydmFibGVQcm94eTxUPiB7XG4gIHByb3h5JDogT2JzZXJ2YWJsZTxhbnk+O1xuICBwcm94eTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RDb250YWluZXJIb3N0IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBib3VuZGluZ0NsaWVudFJlY3Q6IEJvdW5kaW5nQm94O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNob3J0Y3V0cyB7XG4gIG1vdmVSYW5nZVN0YXJ0OiBzdHJpbmc7XG4gIGRpc2FibGVTZWxlY3Rpb246IHN0cmluZztcbiAgdG9nZ2xlU2luZ2xlSXRlbTogc3RyaW5nO1xuICBhZGRUb1NlbGVjdGlvbjogc3RyaW5nO1xuICByZW1vdmVGcm9tU2VsZWN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ1RvU2VsZWN0Q29uZmlnIHtcbiAgc2VsZWN0ZWRDbGFzczogc3RyaW5nO1xuICBzaG9ydGN1dHM6IFBhcnRpYWw8U2hvcnRjdXRzPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb3VzZVBvc2l0aW9uIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm91bmRpbmdCb3gge1xuICB0b3A6IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgU2VsZWN0Qm94SW5wdXQgPSBbTW91c2VFdmVudCwgbnVtYmVyLCBNb3VzZVBvc2l0aW9uXTtcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RCb3g8VD4ge1xuICB0b3A6IFQ7XG4gIGxlZnQ6IFQ7XG4gIHdpZHRoOiBUO1xuICBoZWlnaHQ6IFQ7XG4gIG9wYWNpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uIHtcbiAgQWRkLFxuICBEZWxldGUsXG4gIE5vbmUsXG59XG4iXX0=

@@ -1,28 +0,8 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { distinctUntilChanged, filter, map, withLatestFrom } from 'rxjs/operators';
import { getRelativeMousePosition, hasMinimumSize } from './utils';
/** @type {?} */
export const createSelectBox = (/**
* @param {?} container
* @return {?}
*/
(container) => (/**
* @param {?} source
* @return {?}
*/
(source) => source.pipe(map((/**
* @param {?} __0
* @return {?}
*/
([event, opacity, { x, y }]) => {
export const createSelectBox = (container) => (source) => source.pipe(map(([event, opacity, { x, y }]) => {
// Type annotation is required here, because `getRelativeMousePosition` returns a `MousePosition`,
// the TS compiler cannot figure out the shape of this type.
/** @type {?} */
const mousePosition = getRelativeMousePosition(event, container);
/** @type {?} */
const width = opacity > 0 ? mousePosition.x - x : 0;
/** @type {?} */
const height = opacity > 0 ? mousePosition.y - y : 0;

@@ -34,39 +14,9 @@ return {

height: Math.abs(height),
opacity
opacity,
};
})))));
/** @type {?} */
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 = (/**
* @return {?}
*/
() => (/**
* @param {?} source
* @return {?}
*/
(source) => source.pipe(distinctUntilChanged((/**
* @param {?} prev
* @param {?} curr
* @return {?}
*/
(prev, curr) => {
}));
export const whenSelectBoxVisible = (selectBox$) => (source) => source.pipe(withLatestFrom(selectBox$), filter(([, selectBox]) => hasMinimumSize(selectBox, 0, 0)), map(([event, _]) => event));
export const distinctKeyEvents = () => (source) => source.pipe(distinctUntilChanged((prev, curr) => {
return prev && curr && prev.code === curr.code;
})))));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFbkUsTUFBTSxPQUFPLGVBQWU7Ozs7QUFBRyxDQUFDLFNBQThCLEVBQUUsRUFBRTs7OztBQUFDLENBQ2pFLE1BQWtDLEVBQ0gsRUFBRSxDQUNqQyxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUc7Ozs7QUFBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Ozs7VUFHM0IsYUFBYSxHQUFrQix3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDOztVQUV6RSxLQUFLLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O1VBQzdDLE1BQU0sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUN4QixPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMsRUFBQyxDQUNILENBQUEsQ0FBQTs7QUFFSCxNQUFNLE9BQU8sb0JBQW9COzs7O0FBQUcsQ0FBQyxVQUF5QyxFQUFFLEVBQUU7Ozs7QUFBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRSxDQUMvRyxNQUFNLENBQUMsSUFBSSxDQUNULGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFDMUIsTUFBTTs7OztBQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxFQUMxRCxHQUFHOzs7O0FBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFDLENBQzNCLENBQUEsQ0FBQTs7QUFFSCxNQUFNLE9BQU8saUJBQWlCOzs7QUFBRyxHQUFHLEVBQUU7Ozs7QUFBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRSxDQUMzRSxNQUFNLENBQUMsSUFBSSxDQUNULG9CQUFvQjs7Ozs7QUFBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUNsQyxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ2pELENBQUMsRUFBQyxDQUNILENBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNb3VzZVBvc2l0aW9uLCBTZWxlY3RCb3gsIFNlbGVjdEJveElucHV0LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uLCBoYXNNaW5pbXVtU2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VsZWN0Qm94ID0gKGNvbnRhaW5lcjogU2VsZWN0Q29udGFpbmVySG9zdCkgPT4gKFxuICBzb3VyY2U6IE9ic2VydmFibGU8U2VsZWN0Qm94SW5wdXQ+XG4pOiBPYnNlcnZhYmxlPFNlbGVjdEJveDxudW1iZXI+PiA9PlxuICBzb3VyY2UucGlwZShcbiAgICBtYXAoKFtldmVudCwgb3BhY2l0eSwgeyB4LCB5IH1dKSA9PiB7XG4gICAgICAvLyBUeXBlIGFubm90YXRpb24gaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSBgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uYCByZXR1cm5zIGEgYE1vdXNlUG9zaXRpb25gLFxuICAgICAgLy8gdGhlIFRTIGNvbXBpbGVyIGNhbm5vdCBmaWd1cmUgb3V0IHRoZSBzaGFwZSBvZiB0aGlzIHR5cGUuXG4gICAgICBjb25zdCBtb3VzZVBvc2l0aW9uOiBNb3VzZVBvc2l0aW9uID0gZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uKGV2ZW50LCBjb250YWluZXIpO1xuXG4gICAgICBjb25zdCB3aWR0aCA9IG9wYWNpdHkgPiAwID8gbW91c2VQb3NpdGlvbi54IC0geCA6IDA7XG4gICAgICBjb25zdCBoZWlnaHQgPSBvcGFjaXR5ID4gMCA/IG1vdXNlUG9zaXRpb24ueSAtIHkgOiAwO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b3A6IGhlaWdodCA8IDAgPyBtb3VzZVBvc2l0aW9uLnkgOiB5LFxuICAgICAgICBsZWZ0OiB3aWR0aCA8IDAgPyBtb3VzZVBvc2l0aW9uLnggOiB4LFxuICAgICAgICB3aWR0aDogTWF0aC5hYnMod2lkdGgpLFxuICAgICAgICBoZWlnaHQ6IE1hdGguYWJzKGhlaWdodCksXG4gICAgICAgIG9wYWNpdHlcbiAgICAgIH07XG4gICAgfSlcbiAgKTtcblxuZXhwb3J0IGNvbnN0IHdoZW5TZWxlY3RCb3hWaXNpYmxlID0gKHNlbGVjdEJveCQ6IE9ic2VydmFibGU8U2VsZWN0Qm94PG51bWJlcj4+KSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPEV2ZW50PikgPT5cbiAgc291cmNlLnBpcGUoXG4gICAgd2l0aExhdGVzdEZyb20oc2VsZWN0Qm94JCksXG4gICAgZmlsdGVyKChbLCBzZWxlY3RCb3hdKSA9PiBoYXNNaW5pbXVtU2l6ZShzZWxlY3RCb3gsIDAsIDApKSxcbiAgICBtYXAoKFtldmVudCwgX10pID0+IGV2ZW50KVxuICApO1xuXG5leHBvcnQgY29uc3QgZGlzdGluY3RLZXlFdmVudHMgPSAoKSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+KSA9PlxuICBzb3VyY2UucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4ge1xuICAgICAgcmV0dXJuIHByZXYgJiYgY3VyciAmJiBwcmV2LmNvZGUgPT09IGN1cnIuY29kZTtcbiAgICB9KVxuICApO1xuIl19
}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9kZWxtL2Rldi9uZ3gtZHJhZy10by1zZWxlY3QvcHJvamVjdHMvbmd4LWRyYWctdG8tc2VsZWN0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9vcGVyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVuRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxTQUE4QixFQUFFLEVBQUUsQ0FBQyxDQUNqRSxNQUFrQyxFQUNILEVBQUUsQ0FDakMsTUFBTSxDQUFDLElBQUksQ0FDVCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ2pDLGtHQUFrRztJQUNsRyw0REFBNEQ7SUFDNUQsTUFBTSxhQUFhLEdBQWtCLHdCQUF3QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztJQUVoRixNQUFNLEtBQUssR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFckQsT0FBTztRQUNMLEdBQUcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDeEIsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0FBRUosTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxVQUF5QyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRSxDQUMvRyxNQUFNLENBQUMsSUFBSSxDQUNULGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFDMUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUMxRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQzNCLENBQUM7QUFFSixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQWlDLEVBQUUsRUFBRSxDQUMzRSxNQUFNLENBQUMsSUFBSSxDQUNULG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO0lBQ2xDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNb3VzZVBvc2l0aW9uLCBTZWxlY3RCb3gsIFNlbGVjdEJveElucHV0LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uLCBoYXNNaW5pbXVtU2l6ZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2VsZWN0Qm94ID0gKGNvbnRhaW5lcjogU2VsZWN0Q29udGFpbmVySG9zdCkgPT4gKFxuICBzb3VyY2U6IE9ic2VydmFibGU8U2VsZWN0Qm94SW5wdXQ+XG4pOiBPYnNlcnZhYmxlPFNlbGVjdEJveDxudW1iZXI+PiA9PlxuICBzb3VyY2UucGlwZShcbiAgICBtYXAoKFtldmVudCwgb3BhY2l0eSwgeyB4LCB5IH1dKSA9PiB7XG4gICAgICAvLyBUeXBlIGFubm90YXRpb24gaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSBgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uYCByZXR1cm5zIGEgYE1vdXNlUG9zaXRpb25gLFxuICAgICAgLy8gdGhlIFRTIGNvbXBpbGVyIGNhbm5vdCBmaWd1cmUgb3V0IHRoZSBzaGFwZSBvZiB0aGlzIHR5cGUuXG4gICAgICBjb25zdCBtb3VzZVBvc2l0aW9uOiBNb3VzZVBvc2l0aW9uID0gZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uKGV2ZW50LCBjb250YWluZXIpO1xuXG4gICAgICBjb25zdCB3aWR0aCA9IG9wYWNpdHkgPiAwID8gbW91c2VQb3NpdGlvbi54IC0geCA6IDA7XG4gICAgICBjb25zdCBoZWlnaHQgPSBvcGFjaXR5ID4gMCA/IG1vdXNlUG9zaXRpb24ueSAtIHkgOiAwO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b3A6IGhlaWdodCA8IDAgPyBtb3VzZVBvc2l0aW9uLnkgOiB5LFxuICAgICAgICBsZWZ0OiB3aWR0aCA8IDAgPyBtb3VzZVBvc2l0aW9uLnggOiB4LFxuICAgICAgICB3aWR0aDogTWF0aC5hYnMod2lkdGgpLFxuICAgICAgICBoZWlnaHQ6IE1hdGguYWJzKGhlaWdodCksXG4gICAgICAgIG9wYWNpdHksXG4gICAgICB9O1xuICAgIH0pXG4gICk7XG5cbmV4cG9ydCBjb25zdCB3aGVuU2VsZWN0Qm94VmlzaWJsZSA9IChzZWxlY3RCb3gkOiBPYnNlcnZhYmxlPFNlbGVjdEJveDxudW1iZXI+PikgPT4gKHNvdXJjZTogT2JzZXJ2YWJsZTxFdmVudD4pID0+XG4gIHNvdXJjZS5waXBlKFxuICAgIHdpdGhMYXRlc3RGcm9tKHNlbGVjdEJveCQpLFxuICAgIGZpbHRlcigoWywgc2VsZWN0Qm94XSkgPT4gaGFzTWluaW11bVNpemUoc2VsZWN0Qm94LCAwLCAwKSksXG4gICAgbWFwKChbZXZlbnQsIF9dKSA9PiBldmVudClcbiAgKTtcblxuZXhwb3J0IGNvbnN0IGRpc3RpbmN0S2V5RXZlbnRzID0gKCkgPT4gKHNvdXJjZTogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50PikgPT5cbiAgc291cmNlLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgIHJldHVybiBwcmV2ICYmIGN1cnIgJiYgcHJldi5jb2RlID09PSBjdXJyLmNvZGU7XG4gICAgfSlcbiAgKTtcbiJdfQ==

@@ -1,18 +0,7 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { isPlatformBrowser } from '@angular/common';
import { Directive, ElementRef, Inject, Input, PLATFORM_ID, Renderer2, HostBinding } 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 {
/**
* @param {?} config
* @param {?} platformId
* @param {?} host
* @param {?} renderer
*/
constructor(config, platformId, host, renderer) {

@@ -26,35 +15,17 @@ this.config = config;

}
/**
* @return {?}
*/
get value() {
return this.dtsSelectItem ? this.dtsSelectItem : this;
}
/**
* @return {?}
*/
ngOnInit() {
this.nativeElememnt[SELECT_ITEM_INSTANCE] = this;
}
/**
* @return {?}
*/
ngDoCheck() {
this.applySelectedClass();
}
/**
* @return {?}
*/
toggleRangeStart() {
this.rangeStart = !this.rangeStart;
}
/**
* @return {?}
*/
get nativeElememnt() {
return this.host.nativeElement;
}
/**
* @return {?}
*/
getBoundingClientRect() {

@@ -66,7 +37,3 @@ if (isPlatformBrowser(this.platformId) && !this._boundingClientRect) {

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

@@ -76,18 +43,8 @@ this._boundingClientRect = boundingBox;

}
/**
* @return {?}
*/
_select() {
this.selected = true;
}
/**
* @return {?}
*/
_deselect() {
this.selected = false;
}
/**
* @private
* @return {?}
*/
applySelectedClass() {

@@ -107,7 +64,6 @@ if (this.selected) {

host: {
class: 'dts-select-item'
}
class: 'dts-select-item',
},
},] }
];
/** @nocollapse */
SelectItemDirective.ctorParameters = () => [

@@ -123,35 +79,2 @@ { type: undefined, decorators: [{ type: Inject, args: [CONFIG,] }] },

};
if (false) {
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype._boundingClientRect;
/** @type {?} */
SelectItemDirective.prototype.selected;
/** @type {?} */
SelectItemDirective.prototype.rangeStart;
/** @type {?} */
SelectItemDirective.prototype.dtsSelectItem;
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.config;
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.platformId;
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.host;
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUVULFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFFdEQsTUFBTSxPQUFPLG9CQUFvQixHQUFHLE1BQU0sRUFBRTtBQVM1QyxNQUFNLE9BQU8sbUJBQW1COzs7Ozs7O0lBYTlCLFlBQzBCLE1BQTBCLEVBQ3JCLFVBQWtCLEVBQ3ZDLElBQWdCLEVBQ2hCLFFBQW1CO1FBSEgsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFkN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVxQixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBYXRELENBQUM7Ozs7SUFUSixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDOzs7O0lBU0QsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDbkQsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7O0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQzs7OztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pDLENBQUM7Ozs7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDbkUsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7U0FDcEM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDOzs7O0lBRUQsMkJBQTJCOztjQUNuQixXQUFXLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztRQUN2QyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7O0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQzs7Ozs7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDNUU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDL0U7SUFDSCxDQUFDOzs7WUF0RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLGlCQUFpQjtpQkFDekI7YUFDRjs7Ozs0Q0FlSSxNQUFNLFNBQUMsTUFBTTtZQUMyQixNQUFNLHVCQUE5QyxNQUFNLFNBQUMsV0FBVztZQXJDckIsVUFBVTtZQUlWLFNBQVM7Ozt5QkF1QlIsV0FBVyxTQUFDLHVCQUF1Qjs0QkFFbkMsS0FBSzs7Ozs7OztJQU5OLGtEQUFxRDs7SUFFckQsdUNBQWlCOztJQUVqQix5Q0FBeUQ7O0lBRXpELDRDQUF3Qzs7Ozs7SUFPdEMscUNBQWtEOzs7OztJQUNsRCx5Q0FBK0M7Ozs7O0lBQy9DLG1DQUF3Qjs7Ozs7SUFDeEIsdUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG4gIE9uSW5pdCxcbiAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZywgQm91bmRpbmdCb3ggfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFNFTEVDVF9JVEVNX0lOU1RBTkNFID0gU3ltYm9sKCk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkdHNTZWxlY3RJdGVtXScsXG4gIGV4cG9ydEFzOiAnZHRzU2VsZWN0SXRlbScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2R0cy1zZWxlY3QtaXRlbSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrIHtcbiAgcHJpdmF0ZSBfYm91bmRpbmdDbGllbnRSZWN0OiBCb3VuZGluZ0JveCB8IHVuZGVmaW5lZDtcblxuICBzZWxlY3RlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHRzLXJhbmdlLXN0YXJ0JykgcmFuZ2VTdGFydCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGR0c1NlbGVjdEl0ZW06IGFueSB8IHVuZGVmaW5lZDtcblxuICBnZXQgdmFsdWUoKTogU2VsZWN0SXRlbURpcmVjdGl2ZSB8IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZHRzU2VsZWN0SXRlbSA/IHRoaXMuZHRzU2VsZWN0SXRlbSA6IHRoaXM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KENPTkZJRykgcHJpdmF0ZSBjb25maWc6IERyYWdUb1NlbGVjdENvbmZpZyxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCxcbiAgICBwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm5hdGl2ZUVsZW1lbW50W1NFTEVDVF9JVEVNX0lOU1RBTkNFXSA9IHRoaXM7XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgdGhpcy5hcHBseVNlbGVjdGVkQ2xhc3MoKTtcbiAgfVxuXG4gIHRvZ2dsZVJhbmdlU3RhcnQoKSB7XG4gICAgdGhpcy5yYW5nZVN0YXJ0ID0gIXRoaXMucmFuZ2VTdGFydDtcbiAgfVxuXG4gIGdldCBuYXRpdmVFbGVtZW1udCgpIHtcbiAgICByZXR1cm4gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiYgIXRoaXMuX2JvdW5kaW5nQ2xpZW50UmVjdCkge1xuICAgICAgdGhpcy5jYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2JvdW5kaW5nQ2xpZW50UmVjdDtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdCgpIHtcbiAgICBjb25zdCBib3VuZGluZ0JveCA9IGNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdCh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5fYm91bmRpbmdDbGllbnRSZWN0ID0gYm91bmRpbmdCb3g7XG4gICAgcmV0dXJuIGJvdW5kaW5nQm94O1xuICB9XG5cbiAgX3NlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIF9kZXNlbGVjdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5U2VsZWN0ZWRDbGFzcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgdGhpcy5jb25maWcuc2VsZWN0ZWRDbGFzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29uZmlnLnNlbGVjdGVkQ2xhc3MpO1xuICAgIH1cbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9kZWxtL2Rldi9uZ3gtZHJhZy10by1zZWxlY3QvcHJvamVjdHMvbmd4LWRyYWctdG8tc2VsZWN0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3QtaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUNMLFNBQVMsRUFFVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUVULFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQVM3QyxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQzBCLE1BQTBCLEVBQ3JCLFVBQWtCLEVBQ3ZDLElBQWdCLEVBQ2hCLFFBQW1CO1FBSEgsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFkN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVxQixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBYXRELENBQUM7SUFUSixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBU0QsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDbkUsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7U0FDcEM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLDJCQUEyQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztRQUN2QyxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM1RTthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMvRTtJQUNILENBQUM7OztZQXRFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLElBQUksRUFBRTtvQkFDSixLQUFLLEVBQUUsaUJBQWlCO2lCQUN6QjthQUNGOzs7NENBZUksTUFBTSxTQUFDLE1BQU07WUFDMkIsTUFBTSx1QkFBOUMsTUFBTSxTQUFDLFdBQVc7WUFyQ3JCLFVBQVU7WUFJVixTQUFTOzs7eUJBdUJSLFdBQVcsU0FBQyx1QkFBdUI7NEJBRW5DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgUExBVEZPUk1fSUQsXG4gIFJlbmRlcmVyMixcbiAgT25Jbml0LFxuICBIb3N0QmluZGluZyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWdUb1NlbGVjdENvbmZpZywgQm91bmRpbmdCb3ggfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFNFTEVDVF9JVEVNX0lOU1RBTkNFID0gU3ltYm9sKCk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkdHNTZWxlY3RJdGVtXScsXG4gIGV4cG9ydEFzOiAnZHRzU2VsZWN0SXRlbScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2R0cy1zZWxlY3QtaXRlbScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICBwcml2YXRlIF9ib3VuZGluZ0NsaWVudFJlY3Q6IEJvdW5kaW5nQm94IHwgdW5kZWZpbmVkO1xuXG4gIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kdHMtcmFuZ2Utc3RhcnQnKSByYW5nZVN0YXJ0ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZHRzU2VsZWN0SXRlbTogYW55IHwgdW5kZWZpbmVkO1xuXG4gIGdldCB2YWx1ZSgpOiBTZWxlY3RJdGVtRGlyZWN0aXZlIHwgYW55IHtcbiAgICByZXR1cm4gdGhpcy5kdHNTZWxlY3RJdGVtID8gdGhpcy5kdHNTZWxlY3RJdGVtIDogdGhpcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQ09ORklHKSBwcml2YXRlIGNvbmZpZzogRHJhZ1RvU2VsZWN0Q29uZmlnLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubmF0aXZlRWxlbWVtbnRbU0VMRUNUX0lURU1fSU5TVEFOQ0VdID0gdGhpcztcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICB0aGlzLmFwcGx5U2VsZWN0ZWRDbGFzcygpO1xuICB9XG5cbiAgdG9nZ2xlUmFuZ2VTdGFydCgpIHtcbiAgICB0aGlzLnJhbmdlU3RhcnQgPSAhdGhpcy5yYW5nZVN0YXJ0O1xuICB9XG5cbiAgZ2V0IG5hdGl2ZUVsZW1lbW50KCkge1xuICAgIHJldHVybiB0aGlzLmhvc3QubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiAhdGhpcy5fYm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgICB0aGlzLmNhbGN1bGF0ZUJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYm91bmRpbmdDbGllbnRSZWN0O1xuICB9XG5cbiAgY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0KCkge1xuICAgIGNvbnN0IGJvdW5kaW5nQm94ID0gY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0KHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLl9ib3VuZGluZ0NsaWVudFJlY3QgPSBib3VuZGluZ0JveDtcbiAgICByZXR1cm4gYm91bmRpbmdCb3g7XG4gIH1cblxuICBfc2VsZWN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuICB9XG5cbiAgX2Rlc2VsZWN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTZWxlY3RlZENsYXNzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbmZpZy5zZWxlY3RlZENsYXNzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgdGhpcy5jb25maWcuc2VsZWN0ZWRDbGFzcyk7XG4gICAgfVxuICB9XG59XG4iXX0=

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

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { isPlatformBrowser } from '@angular/common';

@@ -11,3 +7,2 @@ import { Inject, Injectable, PLATFORM_ID } from '@angular/core';

import { CONFIG } from './tokens';
/** @type {?} */
const SUPPORTED_META_KEYS = {

@@ -17,13 +12,9 @@ alt: true,

meta: true,
ctrl: true
ctrl: true,
};
/** @type {?} */
const SUPPORTED_KEYS = /[a-z]/;
/** @type {?} */
const META_KEY = 'meta';
/** @type {?} */
const KEY_ALIASES = {
[META_KEY]: ['ctrl', 'meta']
[META_KEY]: ['ctrl', 'meta'],
};
/** @type {?} */
const SUPPORTED_SHORTCUTS = {

@@ -34,22 +25,6 @@ moveRangeStart: true,

addToSelection: true,
removeFromSelection: true
removeFromSelection: true,
};
/** @type {?} */
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(platformId, config, keyboardEvents) {

@@ -62,28 +37,9 @@ this.platformId = platformId;

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 }))));
const keydown$ = this.keyboardEvents.keydown$.pipe(map((event) => ({ code: event.code, pressed: true })));
const keyup$ = this.keyboardEvents.keyup$.pipe(map((event) => ({ code: event.code, pressed: false })));
merge(keydown$, keyup$)
.pipe(distinctUntilChanged((/**
* @param {?} prev
* @param {?} curr
* @return {?}
*/
(prev, curr) => {
.pipe(distinctUntilChanged((prev, curr) => {
return prev.pressed === curr.pressed && prev.code === curr.code;
})))
.subscribe((/**
* @param {?} keyState
* @return {?}
*/
keyState => {
}))
.subscribe((keyState) => {
if (keyState.pressed) {

@@ -95,54 +51,24 @@ this._latestShortcut.set(keyState.code, true);

}
}));
});
}
}
/**
* @param {?} event
* @return {?}
*/
disableSelection(event) {
return this._isShortcutPressed('disableSelection', event);
}
/**
* @param {?} event
* @return {?}
*/
moveRangeStart(event) {
return this._isShortcutPressed('moveRangeStart', event);
}
/**
* @param {?} event
* @return {?}
*/
toggleSingleItem(event) {
return this._isShortcutPressed('toggleSingleItem', event);
}
/**
* @param {?} event
* @return {?}
*/
addToSelection(event) {
return this._isShortcutPressed('addToSelection', event);
}
/**
* @param {?} event
* @return {?}
*/
removeFromSelection(event) {
return this._isShortcutPressed('removeFromSelection', event);
}
/**
* @param {?} event
* @return {?}
*/
extendedSelectionShortcut(event) {
return this.addToSelection(event) || this.removeFromSelection(event);
}
/**
* @private
* @param {?} shortcuts
* @return {?}
*/
_createShortcutsFromConfig(shortcuts) {
/** @type {?} */
const shortcutMap = {};

@@ -156,20 +82,9 @@ for (const [key, shortcutsForCommand] of Object.entries(shortcuts)) {

.split(',')
.forEach((/**
* @param {?} shortcut
* @return {?}
*/
shortcut => {
.forEach((shortcut) => {
if (!shortcutMap[key]) {
shortcutMap[key] = [];
}
/** @type {?} */
const combo = shortcut.split('+');
/** @type {?} */
const cleanCombos = this._substituteKey(shortcut, combo, META_KEY);
cleanCombos.forEach((/**
* @param {?} cleanCombo
* @return {?}
*/
cleanCombo => {
/** @type {?} */
cleanCombos.forEach((cleanCombo) => {
const unsupportedKey = this._isSupportedCombo(cleanCombo);

@@ -179,40 +94,18 @@ if (unsupportedKey) {

}
shortcutMap[key].push(cleanCombo.map((/**
* @param {?} comboKey
* @return {?}
*/
comboKey => {
shortcutMap[key].push(cleanCombo.map((comboKey) => {
return SUPPORTED_META_KEYS[comboKey] ? `${comboKey}Key` : `Key${comboKey.toUpperCase()}`;
})));
}));
}));
}));
});
});
}
return shortcutMap;
}
/**
* @private
* @param {?} shortcut
* @param {?} combo
* @param {?} substituteKey
* @return {?}
*/
_substituteKey(shortcut, combo, substituteKey) {
/** @type {?} */
const hasSpecialKey = shortcut.includes(substituteKey);
/** @type {?} */
const substitutedShortcut = [];
if (hasSpecialKey) {
/** @type {?} */
const cleanShortcut = combo.filter((/**
* @param {?} element
* @return {?}
*/
element => element !== META_KEY));
KEY_ALIASES.meta.forEach((/**
* @param {?} alias
* @return {?}
*/
alias => {
const cleanShortcut = combo.filter((element) => element !== META_KEY);
KEY_ALIASES.meta.forEach((alias) => {
substitutedShortcut.push([...cleanShortcut, alias]);
}));
});
}

@@ -224,53 +117,17 @@ else {

}
/**
* @private
* @param {?} message
* @return {?}
*/
_getErrorMessage(message) {
return `${ERROR_PREFIX} ${message}`;
}
/**
* @private
* @param {?} shortcutName
* @param {?} event
* @return {?}
*/
_isShortcutPressed(shortcutName, event) {
/** @type {?} */
const shortcuts = this._shortcuts[shortcutName];
return shortcuts.some((/**
* @param {?} shortcut
* @return {?}
*/
shortcut => {
return shortcut.every((/**
* @param {?} key
* @return {?}
*/
key => this._isKeyPressed(event, key)));
}));
return shortcuts.some((shortcut) => {
return shortcut.every((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) {
/** @type {?} */
let unsupportedKey = null;
combo.forEach((/**
* @param {?} key
* @return {?}
*/
key => {
combo.forEach((key) => {
if (!SUPPORTED_META_KEYS[key] && (!SUPPORTED_KEYS.test(key) || this._isSingleChar(key))) {

@@ -280,18 +137,8 @@ unsupportedKey = key;

}
}));
});
return unsupportedKey;
}
/**
* @private
* @param {?} key
* @return {?}
*/
_isSingleChar(key) {
return key.length > 1;
}
/**
* @private
* @param {?} shortcut
* @return {?}
*/
_isSupportedShortcut(shortcut) {

@@ -304,3 +151,2 @@ return SUPPORTED_SHORTCUTS[shortcut];

];
/** @nocollapse */
ShortcutService.ctorParameters = () => [

@@ -311,24 +157,2 @@ { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },

];
if (false) {
/**
* @type {?}
* @private
*/
ShortcutService.prototype._shortcuts;
/**
* @type {?}
* @private
*/
ShortcutService.prototype._latestShortcut;
/**
* @type {?}
* @private
*/
ShortcutService.prototype.platformId;
/**
* @type {?}
* @private
*/
ShortcutService.prototype.keyboardEvents;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRjdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbImxpYi9zaG9ydGN1dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7TUFFNUIsbUJBQW1CLEdBQUc7SUFDMUIsR0FBRyxFQUFFLElBQUk7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLElBQUksRUFBRSxJQUFJO0lBQ1YsSUFBSSxFQUFFLElBQUk7Q0FDWDs7TUFFSyxjQUFjLEdBQUcsT0FBTzs7TUFFeEIsUUFBUSxHQUFHLE1BQU07O01BRWpCLFdBQVcsR0FBRztJQUNsQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUM3Qjs7TUFFSyxtQkFBbUIsR0FBRztJQUMxQixjQUFjLEVBQUUsSUFBSTtJQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsbUJBQW1CLEVBQUUsSUFBSTtDQUMxQjs7TUFFSyxZQUFZLEdBQUcsbUJBQW1COzs7O0FBRXhDLHVCQUdDOzs7SUFGQyx3QkFBYTs7SUFDYiwyQkFBaUI7O0FBSW5CLE1BQU0sT0FBTyxlQUFlOzs7Ozs7SUFLMUIsWUFDK0IsVUFBa0Is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S0FBWSxFQUFFLEdBQVc7UUFDN0MsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Ozs7OztJQUVPLGlCQUFpQixDQUFDLEtBQW9COztZQUN4QyxjQUFjLEdBQUcsSUFBSTtRQUV6QixLQUFLLENBQUMsT0FBTzs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZGLGNBQWMsR0FBRyxHQUFHLENBQUM7Z0JBQ3JCLE9BQU87YUFDUjtRQUNILENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQzs7Ozs7O0lBRU8sYUFBYSxDQUFDLEdBQVc7UUFDL0IsT0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDOzs7Ozs7SUFFTyxvQkFBb0IsQ0FBQyxRQUFnQjtRQUMzQyxPQUFPLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OztZQXhKRixVQUFVOzs7O1lBT2tDLE1BQU0sdUJBQTlDLE1BQU0sU0FBQyxXQUFXOzRDQUNsQixNQUFNLFNBQUMsTUFBTTtZQTFDVCxxQkFBcUI7Ozs7Ozs7SUFvQzVCLHFDQUF1RDs7Ozs7SUFFdkQsMENBQTBEOzs7OztJQUd4RCxxQ0FBK0M7Ozs7O0lBRS9DLHlDQUE2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2V5Ym9hcmRFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9rZXlib2FyZC1ldmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUcgfSBmcm9tICcuL3Rva2Vucyc7XG5cbmNvbnN0IFNVUFBPUlRFRF9NRVRBX0tFWVMgPSB7XG4gIGFsdDogdHJ1ZSxcbiAgc2hpZnQ6IHRydWUsXG4gIG1ldGE6IHRydWUsXG4gIGN0cmw6IHRydWVcbn07XG5cbmNvbnN0IFNVUFBPUlRFRF9LRVlTID0gL1thLXpdLztcblxuY29uc3QgTUVUQV9LRVkgPSAnbWV0YSc7XG5cbmNvbnN0IEtFWV9BTElBU0VTID0ge1xuICBbTUVUQV9LRVldOiBbJ2N0cmwnLCAnbWV0YSddXG59O1xuXG5jb25zdCBTVVBQT1JURURfU0hPUlRDVVRTID0ge1xuICBtb3ZlUmFuZ2VTdGFydDogdHJ1ZSxcbiAgZGlzYWJsZVNlbGVjdGlvbjogdHJ1ZSxcbiAgdG9nZ2xlU2luZ2xlSXRlbTogdHJ1ZSxcbiAgYWRkVG9TZWxlY3Rpb246IHRydWUsXG4gIHJlbW92ZUZyb21TZWxlY3Rpb246IHRydWVcbn07XG5cbmNvbnN0IEVSUk9SX1BSRUZJWCA9ICdbU2hvcnRjdXRTZXJ2aWNlXSc7XG5cbmludGVyZmFjZSBLZXlTdGF0ZSB7XG4gIGNvZGU6IHN0cmluZztcbiAgcHJlc3NlZDogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNob3J0Y3V0U2VydmljZSB7XG4gIHByaXZhdGUgX3Nob3J0Y3V0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXVtdIH0gPSB7fTtcblxuICBwcml2YXRlIF9sYXRlc3RTaG9ydGN1dDogTWFwPHN0cmluZywgYm9vbGVhbj4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsXG4gICAgQEluamVjdChDT05GSUcpIGNvbmZpZzogRHJhZ1RvU2VsZWN0Q29uZmlnLFxuICAgIHByaXZhdGUga2V5Ym9hcmRFdmVudHM6IEtleWJvYXJkRXZlbnRzU2VydmljZVxuICApIHtcbiAgICB0aGlzLl9zaG9ydGN1dHMgPSB0aGlzLl9jcmVhdGVTaG9ydGN1dHNGcm9tQ29uZmlnKGNvbmZpZy5zaG9ydGN1dHMpO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIGNvbnN0IGtleWRvd24kID0gdGhpcy5rZXlib2FyZEV2ZW50cy5rZXlkb3duJC5waXBlKFxuICAgICAgICBtYXA8S2V5Ym9hcmRFdmVudCwgS2V5U3RhdGU+KGV2ZW50ID0+ICh7IGNvZGU6IGV2ZW50LmNvZGUsIHByZXNzZWQ6IHRydWUgfSkpXG4gICAgICApO1xuXG4gICAgICBjb25zdCBrZXl1cCQgPSB0aGlzLmtleWJvYXJkRXZlbnRzLmtleXVwJC5waXBlKFxuICAgICAgICBtYXA8S2V5Ym9hcmRFdmVudCwgS2V5U3RhdGU+KGV2ZW50ID0+ICh7IGNvZGU6IGV2ZW50LmNvZGUsIHByZXNzZWQ6IGZhbHNlIH0pKVxuICAgICAgKTtcblxuICAgICAgbWVyZ2U8S2V5U3RhdGU+KGtleWRvd24kLCBrZXl1cCQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcHJldi5wcmVzc2VkID09PSBjdXJyLnByZXNzZWQgJiYgcHJldi5jb2RlID09PSBjdXJyLmNvZGU7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKGtleVN0YXRlID0+IHtcbiAgICAgICAgICBpZiAoa2V5U3RhdGUucHJlc3NlZCkge1xuICAgICAgICAgICAgdGhpcy5fbGF0ZXN0U2hvcnRjdXQuc2V0KGtleVN0YXRlLmNvZGUsIHRydWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sYXRlc3RTaG9ydGN1dC5kZWxldGUoa2V5U3RhdGUuY29kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnZGlzYWJsZVNlbGVjdGlvbicsIGV2ZW50KTtcbiAgfVxuXG4gIG1vdmVSYW5nZVN0YXJ0KGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnbW92ZVJhbmdlU3RhcnQnLCBldmVudCk7XG4gIH1cblxuICB0b2dnbGVTaW5nbGVJdGVtKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgndG9nZ2xlU2luZ2xlSXRlbScsIGV2ZW50KTtcbiAgfVxuXG4gIGFkZFRvU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgnYWRkVG9TZWxlY3Rpb24nLCBldmVudCk7XG4gIH1cblxuICByZW1vdmVGcm9tU2VsZWN0aW9uKGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLl9pc1Nob3J0Y3V0UHJlc3NlZCgncmVtb3ZlRnJvbVNlbGVjdGlvbicsIGV2ZW50KTtcbiAgfVxuXG4gIGV4dGVuZGVkU2VsZWN0aW9uU2hvcnRjdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkVG9TZWxlY3Rpb24oZXZlbnQpIHx8IHRoaXMucmVtb3ZlRnJvbVNlbGVjdGlvbihldmVudCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVTaG9ydGN1dHNGcm9tQ29uZmlnKHNob3J0Y3V0czogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHNob3J0Y3V0TWFwID0ge307XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIHNob3J0Y3V0c0ZvckNvbW1hbmRdIG9mIE9iamVjdC5lbnRyaWVzKHNob3J0Y3V0cykpIHtcbiAgICAgIGlmICghdGhpcy5faXNTdXBwb3J0ZWRTaG9ydGN1dChrZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLl9nZXRFcnJvck1lc3NhZ2UoYFNob3J0Y3V0ICR7a2V5fSBub3Qgc3VwcG9ydGVkYCkpO1xuICAgICAgfVxuXG4gICAgICBzaG9ydGN1dHNGb3JDb21tYW5kXG4gICAgICAgIC5yZXBsYWNlKC8gL2csICcnKVxuICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAuZm9yRWFjaChzaG9ydGN1dCA9PiB7XG4gICAgICAgICAgaWYgKCFzaG9ydGN1dE1hcFtrZXldKSB7XG4gICAgICAgICAgICBzaG9ydGN1dE1hcFtrZXldID0gW107XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY29tYm8gPSBzaG9ydGN1dC5zcGxpdCgnKycpO1xuICAgICAgICAgIGNvbnN0IGNsZWFuQ29tYm9zID0gdGhpcy5fc3Vic3RpdHV0ZUtleShzaG9ydGN1dCwgY29tYm8sIE1FVEFfS0VZKTtcblxuICAgICAgICAgIGNsZWFuQ29tYm9zLmZvckVhY2goY2xlYW5Db21ibyA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bnN1cHBvcnRlZEtleSA9IHRoaXMuX2lzU3VwcG9ydGVkQ29tYm8oY2xlYW5Db21ibyk7XG5cbiAgICAgICAgICAgIGlmICh1bnN1cHBvcnRlZEtleSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5fZ2V0RXJyb3JNZXNzYWdlKGBLZXkgJyR7dW5zdXBwb3J0ZWRLZXl9JyBpbiBzaG9ydGN1dCAke3Nob3J0Y3V0fSBub3Qgc3VwcG9ydGVkYCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzaG9ydGN1dE1hcFtrZXldLnB1c2goXG4gICAgICAgICAgICAgIGNsZWFuQ29tYm8ubWFwKGNvbWJvS2V5ID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gU1VQUE9SVEVEX01FVEFfS0VZU1tjb21ib0tleV0gPyBgJHtjb21ib0tleX1LZXlgIDogYEtleSR7Y29tYm9LZXkudG9VcHBlckNhc2UoKX1gO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3J0Y3V0TWFwO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic3RpdHV0ZUtleShzaG9ydGN1dDogc3RyaW5nLCBjb21ibzogQXJyYXk8c3RyaW5nPiwgc3Vic3RpdHV0ZUtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgaGFzU3BlY2lhbEtleSA9IHNob3J0Y3V0LmluY2x1ZGVzKHN1YnN0aXR1dGVLZXkpO1xuICAgIGNvbnN0IHN1YnN0aXR1dGVkU2hvcnRjdXQ6IHN0cmluZ1tdW10gPSBbXTtcblxuICAgIGlmIChoYXNTcGVjaWFsS2V5KSB7XG4gICAgICBjb25zdCBjbGVhblNob3J0Y3V0ID0gY29tYm8uZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudCAhPT0gTUVUQV9LRVkpO1xuXG4gICAgICBLRVlfQUxJQVNFUy5tZXRhLmZvckVhY2goYWxpYXMgPT4ge1xuICAgICAgICBzdWJzdGl0dXRlZFNob3J0Y3V0LnB1c2goWy4uLmNsZWFuU2hvcnRjdXQsIGFsaWFzXSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3Vic3RpdHV0ZWRTaG9ydGN1dC5wdXNoKGNvbWJvKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3Vic3RpdHV0ZWRTaG9ydGN1dDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEVycm9yTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7RVJST1JfUFJFRklYfSAke21lc3NhZ2V9YDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzU2hvcnRjdXRQcmVzc2VkKHNob3J0Y3V0TmFtZTogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBzaG9ydGN1dHMgPSB0aGlzLl9zaG9ydGN1dHNbc2hvcnRjdXROYW1lXTtcblxuICAgIHJldHVybiBzaG9ydGN1dHMuc29tZShzaG9ydGN1dCA9PiB7XG4gICAgICByZXR1cm4gc2hvcnRjdXQuZXZlcnkoa2V5ID0+IHRoaXMuX2lzS2V5UHJlc3NlZChldmVudCwga2V5KSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0tleVByZXNzZWQoZXZlbnQ6IEV2ZW50LCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBrZXkuc3RhcnRzV2l0aCgnS2V5JykgPyB0aGlzLl9sYXRlc3RTaG9ydGN1dC5oYXMoa2V5KSA6IGV2ZW50W2tleV07XG4gIH1cblxuICBwcml2YXRlIF9pc1N1cHBvcnRlZENvbWJvKGNvbWJvOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgbGV0IHVuc3VwcG9ydGVkS2V5ID0gbnVsbDtcblxuICAgIGNvbWJvLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmICghU1VQUE9SVEVEX01FVEFfS0VZU1trZXldICYmICghU1VQUE9SVEVEX0tFWVMudGVzdChrZXkpIHx8IHRoaXMuX2lzU2luZ2xlQ2hhcihrZXkpKSkge1xuICAgICAgICB1bnN1cHBvcnRlZEtleSA9IGtleTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVuc3VwcG9ydGVkS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNTaW5nbGVDaGFyKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGtleS5sZW5ndGggPiAxO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNTdXBwb3J0ZWRTaG9ydGN1dChzaG9ydGN1dDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFNVUFBPUlRFRF9TSE9SVENVVFNbc2hvcnRjdXRdO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRjdXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvZGVsbS9kZXYvbmd4LWRyYWctdG8tc2VsZWN0L3Byb2plY3RzL25neC1kcmFnLXRvLXNlbGVjdC9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hvcnRjdXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxNQUFNLG1CQUFtQixHQUFHO0lBQzFCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJO0NBQ1gsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUM7QUFFeEIsTUFBTSxXQUFXLEdBQUc7SUFDbEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDN0IsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsY0FBYyxFQUFFLElBQUk7SUFDcEIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLG1CQUFtQixFQUFFLElBQUk7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLG1CQUFt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QUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFZLEVBQUUsR0FBVztRQUM3QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQW9CO1FBQzVDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQztRQUUxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDdkYsY0FBYyxHQUFHLEdBQUcsQ0FBQztnQkFDckIsT0FBTzthQUNSO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQVc7UUFDL0IsT0FBTyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU8sb0JBQW9CLENBQUMsUUFBZ0I7UUFDM0MsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDOzs7WUF4SkYsVUFBVTs7O1lBT2tDLE1BQU0sdUJBQTlDLE1BQU0sU0FBQyxXQUFXOzRDQUNsQixNQUFNLFNBQUMsTUFBTTtZQTFDVCxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEtleWJvYXJkRXZlbnRzU2VydmljZSB9IGZyb20gJy4va2V5Ym9hcmQtZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJhZ1RvU2VsZWN0Q29uZmlnIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ09ORklHIH0gZnJvbSAnLi90b2tlbnMnO1xuXG5jb25zdCBTVVBQT1JURURfTUVUQV9LRVlTID0ge1xuICBhbHQ6IHRydWUsXG4gIHNoaWZ0OiB0cnVlLFxuICBtZXRhOiB0cnVlLFxuICBjdHJsOiB0cnVlLFxufTtcblxuY29uc3QgU1VQUE9SVEVEX0tFWVMgPSAvW2Etel0vO1xuXG5jb25zdCBNRVRBX0tFWSA9ICdtZXRhJztcblxuY29uc3QgS0VZX0FMSUFTRVMgPSB7XG4gIFtNRVRBX0tFWV06IFsnY3RybCcsICdtZXRhJ10sXG59O1xuXG5jb25zdCBTVVBQT1JURURfU0hPUlRDVVRTID0ge1xuICBtb3ZlUmFuZ2VTdGFydDogdHJ1ZSxcbiAgZGlzYWJsZVNlbGVjdGlvbjogdHJ1ZSxcbiAgdG9nZ2xlU2luZ2xlSXRlbTogdHJ1ZSxcbiAgYWRkVG9TZWxlY3Rpb246IHRydWUsXG4gIHJlbW92ZUZyb21TZWxlY3Rpb246IHRydWUsXG59O1xuXG5jb25zdCBFUlJPUl9QUkVGSVggPSAnW1Nob3J0Y3V0U2VydmljZV0nO1xuXG5pbnRlcmZhY2UgS2V5U3RhdGUge1xuICBjb2RlOiBzdHJpbmc7XG4gIHByZXNzZWQ6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaG9ydGN1dFNlcnZpY2Uge1xuICBwcml2YXRlIF9zaG9ydGN1dHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW11bXSB9ID0ge307XG5cbiAgcHJpdmF0ZSBfbGF0ZXN0U2hvcnRjdXQ6IE1hcDxzdHJpbmcsIGJvb2xlYW4+ID0gbmV3IE1hcCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIEBJbmplY3QoQ09ORklHKSBjb25maWc6IERyYWdUb1NlbGVjdENvbmZpZyxcbiAgICBwcml2YXRlIGtleWJvYXJkRXZlbnRzOiBLZXlib2FyZEV2ZW50c1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5fc2hvcnRjdXRzID0gdGhpcy5fY3JlYXRlU2hvcnRjdXRzRnJvbUNvbmZpZyhjb25maWcuc2hvcnRjdXRzKTtcblxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBjb25zdCBrZXlkb3duJCA9IHRoaXMua2V5Ym9hcmRFdmVudHMua2V5ZG93biQucGlwZShcbiAgICAgICAgbWFwPEtleWJvYXJkRXZlbnQsIEtleVN0YXRlPigoZXZlbnQpID0+ICh7IGNvZGU6IGV2ZW50LmNvZGUsIHByZXNzZWQ6IHRydWUgfSkpXG4gICAgICApO1xuXG4gICAgICBjb25zdCBrZXl1cCQgPSB0aGlzLmtleWJvYXJkRXZlbnRzLmtleXVwJC5waXBlKFxuICAgICAgICBtYXA8S2V5Ym9hcmRFdmVudCwgS2V5U3RhdGU+KChldmVudCkgPT4gKHsgY29kZTogZXZlbnQuY29kZSwgcHJlc3NlZDogZmFsc2UgfSkpXG4gICAgICApO1xuXG4gICAgICBtZXJnZTxLZXlTdGF0ZT4oa2V5ZG93biQsIGtleXVwJClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwcmV2LnByZXNzZWQgPT09IGN1cnIucHJlc3NlZCAmJiBwcmV2LmNvZGUgPT09IGN1cnIuY29kZTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGtleVN0YXRlKSA9PiB7XG4gICAgICAgICAgaWYgKGtleVN0YXRlLnByZXNzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xhdGVzdFNob3J0Y3V0LnNldChrZXlTdGF0ZS5jb2RlLCB0cnVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbGF0ZXN0U2hvcnRjdXQuZGVsZXRlKGtleVN0YXRlLmNvZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZGlzYWJsZVNlbGVjdGlvbihldmVudDogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy5faXNTaG9ydGN1dFByZXNzZWQoJ2Rpc2FibGVTZWxlY3Rpb24nLCBldmVudCk7XG4gIH1cblxuICBtb3ZlUmFuZ2VTdGFydChldmVudDogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy5faXNTaG9ydGN1dFByZXNzZWQoJ21vdmVSYW5nZVN0YXJ0JywgZXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlU2luZ2xlSXRlbShldmVudDogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy5faXNTaG9ydGN1dFByZXNzZWQoJ3RvZ2dsZVNpbmdsZUl0ZW0nLCBldmVudCk7XG4gIH1cblxuICBhZGRUb1NlbGVjdGlvbihldmVudDogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy5faXNTaG9ydGN1dFByZXNzZWQoJ2FkZFRvU2VsZWN0aW9uJywgZXZlbnQpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbVNlbGVjdGlvbihldmVudDogRXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy5faXNTaG9ydGN1dFByZXNzZWQoJ3JlbW92ZUZyb21TZWxlY3Rpb24nLCBldmVudCk7XG4gIH1cblxuICBleHRlbmRlZFNlbGVjdGlvblNob3J0Y3V0KGV2ZW50OiBFdmVudCkge1xuICAgIHJldHVybiB0aGlzLmFkZFRvU2VsZWN0aW9uKGV2ZW50KSB8fCB0aGlzLnJlbW92ZUZyb21TZWxlY3Rpb24oZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlU2hvcnRjdXRzRnJvbUNvbmZpZyhzaG9ydGN1dHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBzaG9ydGN1dE1hcCA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBzaG9ydGN1dHNGb3JDb21tYW5kXSBvZiBPYmplY3QuZW50cmllcyhzaG9ydGN1dHMpKSB7XG4gICAgICBpZiAoIXRoaXMuX2lzU3VwcG9ydGVkU2hvcnRjdXQoa2V5KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5fZ2V0RXJyb3JNZXNzYWdlKGBTaG9ydGN1dCAke2tleX0gbm90IHN1cHBvcnRlZGApKTtcbiAgICAgIH1cblxuICAgICAgc2hvcnRjdXRzRm9yQ29tbWFuZFxuICAgICAgICAucmVwbGFjZSgvIC9nLCAnJylcbiAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgLmZvckVhY2goKHNob3J0Y3V0KSA9PiB7XG4gICAgICAgICAgaWYgKCFzaG9ydGN1dE1hcFtrZXldKSB7XG4gICAgICAgICAgICBzaG9ydGN1dE1hcFtrZXldID0gW107XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY29tYm8gPSBzaG9ydGN1dC5zcGxpdCgnKycpO1xuICAgICAgICAgIGNvbnN0IGNsZWFuQ29tYm9zID0gdGhpcy5fc3Vic3RpdHV0ZUtleShzaG9ydGN1dCwgY29tYm8sIE1FVEFfS0VZKTtcblxuICAgICAgICAgIGNsZWFuQ29tYm9zLmZvckVhY2goKGNsZWFuQ29tYm8pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVuc3VwcG9ydGVkS2V5ID0gdGhpcy5faXNTdXBwb3J0ZWRDb21ibyhjbGVhbkNvbWJvKTtcblxuICAgICAgICAgICAgaWYgKHVuc3VwcG9ydGVkS2V5KSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLl9nZXRFcnJvck1lc3NhZ2UoYEtleSAnJHt1bnN1cHBvcnRlZEtleX0nIGluIHNob3J0Y3V0ICR7c2hvcnRjdXR9IG5vdCBzdXBwb3J0ZWRgKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNob3J0Y3V0TWFwW2tleV0ucHVzaChcbiAgICAgICAgICAgICAgY2xlYW5Db21iby5tYXAoKGNvbWJvS2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFNVUFBPUlRFRF9NRVRBX0tFWVNbY29tYm9LZXldID8gYCR7Y29tYm9LZXl9S2V5YCA6IGBLZXkke2NvbWJvS2V5LnRvVXBwZXJDYXNlKCl9YDtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzaG9ydGN1dE1hcDtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnN0aXR1dGVLZXkoc2hvcnRjdXQ6IHN0cmluZywgY29tYm86IEFycmF5PHN0cmluZz4sIHN1YnN0aXR1dGVLZXk6IHN0cmluZykge1xuICAgIGNvbnN0IGhhc1NwZWNpYWxLZXkgPSBzaG9ydGN1dC5pbmNsdWRlcyhzdWJzdGl0dXRlS2V5KTtcbiAgICBjb25zdCBzdWJzdGl0dXRlZFNob3J0Y3V0OiBzdHJpbmdbXVtdID0gW107XG5cbiAgICBpZiAoaGFzU3BlY2lhbEtleSkge1xuICAgICAgY29uc3QgY2xlYW5TaG9ydGN1dCA9IGNvbWJvLmZpbHRlcigoZWxlbWVudCkgPT4gZWxlbWVudCAhPT0gTUVUQV9LRVkpO1xuXG4gICAgICBLRVlfQUxJQVNFUy5tZXRhLmZvckVhY2goKGFsaWFzKSA9PiB7XG4gICAgICAgIHN1YnN0aXR1dGVkU2hvcnRjdXQucHVzaChbLi4uY2xlYW5TaG9ydGN1dCwgYWxpYXNdKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdWJzdGl0dXRlZFNob3J0Y3V0LnB1c2goY29tYm8pO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJzdGl0dXRlZFNob3J0Y3V0O1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RXJyb3JNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHJldHVybiBgJHtFUlJPUl9QUkVGSVh9ICR7bWVzc2FnZX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNTaG9ydGN1dFByZXNzZWQoc2hvcnRjdXROYW1lOiBzdHJpbmcsIGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IHNob3J0Y3V0cyA9IHRoaXMuX3Nob3J0Y3V0c1tzaG9ydGN1dE5hbWVdO1xuXG4gICAgcmV0dXJuIHNob3J0Y3V0cy5zb21lKChzaG9ydGN1dCkgPT4ge1xuICAgICAgcmV0dXJuIHNob3J0Y3V0LmV2ZXJ5KChrZXkpID0+IHRoaXMuX2lzS2V5UHJlc3NlZChldmVudCwga2V5KSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0tleVByZXNzZWQoZXZlbnQ6IEV2ZW50LCBrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBrZXkuc3RhcnRzV2l0aCgnS2V5JykgPyB0aGlzLl9sYXRlc3RTaG9ydGN1dC5oYXMoa2V5KSA6IGV2ZW50W2tleV07XG4gIH1cblxuICBwcml2YXRlIF9pc1N1cHBvcnRlZENvbWJvKGNvbWJvOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgbGV0IHVuc3VwcG9ydGVkS2V5ID0gbnVsbDtcblxuICAgIGNvbWJvLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFTVVBQT1JURURfTUVUQV9LRVlTW2tleV0gJiYgKCFTVVBQT1JURURfS0VZUy50ZXN0KGtleSkgfHwgdGhpcy5faXNTaW5nbGVDaGFyKGtleSkpKSB7XG4gICAgICAgIHVuc3VwcG9ydGVkS2V5ID0ga2V5O1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdW5zdXBwb3J0ZWRLZXk7XG4gIH1cblxuICBwcml2YXRlIF9pc1NpbmdsZUNoYXIoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4ga2V5Lmxlbmd0aCA+IDE7XG4gIH1cblxuICBwcml2YXRlIF9pc1N1cHBvcnRlZFNob3J0Y3V0KHNob3J0Y3V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gU1VQUE9SVEVEX1NIT1JUQ1VUU1tzaG9ydGN1dF07XG4gIH1cbn1cbiJdfQ==

@@ -1,10 +0,4 @@

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { InjectionToken } from '@angular/core';
/** @type {?} */
export const CONFIG = new InjectionToken('DRAG_TO_SELECT_CONFIG');
/** @type {?} */
export const USER_CONFIG = new InjectionToken('USER_CONFIG');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibGliL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHL0MsTUFBTSxPQUFPLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBcUIsdUJBQXVCLENBQUM7O0FBQ3JGLE1BQU0sT0FBTyxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQXFCLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBDT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RHJhZ1RvU2VsZWN0Q29uZmlnPignRFJBR19UT19TRUxFQ1RfQ09ORklHJyk7XG5leHBvcnQgY29uc3QgVVNFUl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RHJhZ1RvU2VsZWN0Q29uZmlnPignVVNFUl9DT05GSUcnKTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9kZWxtL2Rldi9uZ3gtZHJhZy10by1zZWxlY3QvcHJvamVjdHMvbmd4LWRyYWctdG8tc2VsZWN0L3NyYy8iLCJzb3VyY2VzIjpbImxpYi90b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQXFCLHVCQUF1QixDQUFDLENBQUM7QUFDdEYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFxQixhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcmFnVG9TZWxlY3RDb25maWcgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBDT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RHJhZ1RvU2VsZWN0Q29uZmlnPignRFJBR19UT19TRUxFQ1RfQ09ORklHJyk7XG5leHBvcnQgY29uc3QgVVNFUl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RHJhZ1RvU2VsZWN0Q29uZmlnPignVVNFUl9DT05GSUcnKTtcbiJdfQ==

@@ -1,26 +0,8 @@

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

@@ -35,23 +17,10 @@ if (!target[key]) {

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

@@ -67,19 +36,7 @@ if (!selection) {

}
});
/** @type {?} */
export const inBoundingBox = (/**
* @param {?} point
* @param {?} box
* @return {?}
*/
(point, box) => {
};
export const inBoundingBox = (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 = (/**
* @param {?} boxA
* @param {?} boxB
* @return {?}
*/
(boxA, boxB) => {
};
export const boxIntersects = (boxA, boxB) => {
return (boxA.left <= boxB.left + boxB.width &&

@@ -89,31 +46,17 @@ boxA.left + boxA.width >= boxB.left &&

boxA.top + boxA.height >= boxB.top);
});
/** @type {?} */
export const calculateBoundingClientRect = (/**
* @param {?} element
* @return {?}
*/
(element) => {
};
export const calculateBoundingClientRect = (element) => {
return element.getBoundingClientRect();
});
/** @type {?} */
export const getMousePosition = (/**
* @param {?} event
* @return {?}
*/
(event) => {
};
export const getMousePosition = (event) => {
return {
x: event.clientX,
y: event.clientY
y: event.clientY,
};
});
/** @type {?} */
export const getScroll = (/**
* @return {?}
*/
() => {
};
export const getScroll = () => {
if (!document || !document.documentElement) {
return {
x: 0,
y: 0
y: 0,
};

@@ -123,37 +66,20 @@ }

x: document.documentElement.scrollLeft || document.body.scrollLeft,
y: document.documentElement.scrollTop || document.body.scrollTop
y: document.documentElement.scrollTop || document.body.scrollTop,
};
});
/** @type {?} */
export const getRelativeMousePosition = (/**
* @param {?} event
* @param {?} container
* @return {?}
*/
(event, container) => {
};
export const getRelativeMousePosition = (event, container) => {
const { x: clientX, y: clientY } = getMousePosition(event);
/** @type {?} */
const scroll = getScroll();
/** @type {?} */
const borderSize = (container.boundingClientRect.width - container.clientWidth) / 2;
/** @type {?} */
const offsetLeft = container.boundingClientRect.left + scroll.x;
/** @type {?} */
const offsetTop = container.boundingClientRect.top + scroll.y;
return {
x: clientX - borderSize - (offsetLeft - window.pageXOffset) + container.scrollLeft,
y: clientY - borderSize - (offsetTop - window.pageYOffset) + container.scrollTop
y: clientY - borderSize - (offsetTop - window.pageYOffset) + container.scrollTop,
};
});
/** @type {?} */
export const cursorWithinElement = (/**
* @param {?} event
* @param {?} element
* @return {?}
*/
(event, element) => {
/** @type {?} */
};
export const cursorWithinElement = (event, element) => {
const mousePoint = getMousePosition(event);
return inBoundingBox(mousePoint, calculateBoundingClientRect(element));
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZHJhZy10by1zZWxlY3QvIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUdwRCxNQUFNLE9BQU8sUUFBUTs7OztBQUFHLENBQUMsSUFBUyxFQUFFLEVBQUU7SUFDcEMsT0FBTyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO0FBQ25GLENBQUMsQ0FBQTs7Ozs7O0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFjLEVBQUUsTUFBYztJQUN0RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUN0QztnQkFDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQy9DO1FBQ0gsQ0FBQyxF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RUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7O1VBQ3BELE1BQU0sR0FBRyxTQUFTLEVBQUU7O1VBRXBCLFVBQVUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7O1VBQzdFLFVBQVUsR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDOztVQUN6RCxTQUFTLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUU3RCxPQUFPO1FBQ0wsQ0FBQyxFQUFFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxVQUFVO1FBQ2xGLENBQUMsRUFBRSxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUztLQUNqRixDQUFDO0FBQ0osQ0FBQyxDQUFBOztBQUVELE1BQU0sT0FBTyxtQkFBbUI7Ozs7O0FBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQUUsRUFBRTs7VUFDdkUsVUFBVSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUMxQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNSU5fSEVJR0hULCBNSU5fV0lEVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCb3VuZGluZ0JveCwgTW91c2VQb3NpdGlvbiwgU2VsZWN0Qm94LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgaXNPYmplY3QgPSAoaXRlbTogYW55KSA9PiB7XG4gIHJldHVybiBpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtKSAmJiBpdGVtICE9PSBudWxsO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcCh0YXJnZXQ6IE9iamVjdCwgc291cmNlOiBPYmplY3QpIHtcbiAgaWYgKGlzT2JqZWN0KHRhcmdldCkgJiYgaXNPYmplY3Qoc291cmNlKSkge1xuICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGlzT2JqZWN0KHNvdXJjZVtrZXldKSkge1xuICAgICAgICBpZiAoIXRhcmdldFtrZXldKSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHt9IH0pO1xuICAgICAgICB9XG4gICAgICAgIG1lcmdlRGVlcCh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc01pbmltdW1TaXplID0gKHNlbGVjdEJveDogU2VsZWN0Qm94PG51bWJlcj4sIG1pbldpZHRoID0gTUlOX1dJRFRILCBtaW5IZWlnaHQgPSBNSU5fSEVJR0hUKSA9PiB7XG4gIHJldHVybiBzZWxlY3RCb3gud2lkdGggPiBtaW5XaWR0aCB8fCBzZWxlY3RCb3guaGVpZ2h0ID4gbWluSGVpZ2h0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyU2VsZWN0aW9uID0gKHdpbmRvdzogV2luZG93KSA9PiB7XG4gIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKSB7XG4gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICB9IGVsc2UgaWYgKHNlbGVjdGlvbi5lbXB0eSkge1xuICAgIHNlbGVjdGlvbi5lbXB0eSgpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5Cb3VuZGluZ0JveCA9IChwb2ludDogTW91c2VQb3NpdGlvbiwgYm94OiBCb3VuZGluZ0JveCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGJveC5sZWZ0IDw9IHBvaW50LnggJiYgcG9pbnQueCA8PSBib3gubGVmdCArIGJveC53aWR0aCAmJiBib3gudG9wIDw9IHBvaW50LnkgJiYgcG9pbnQueSA8PSBib3gudG9wICsgYm94LmhlaWdodFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGJveEludGVyc2VjdHMgPSAoYm94QTogQm91bmRpbmdCb3gsIGJveEI6IEJvdW5kaW5nQm94KSA9PiB7XG4gIHJldHVybiAoXG4gICAgYm94QS5sZWZ0IDw9IGJveEIubGVmdCArIGJveEIud2lkdGggJiZcbiAgICBib3hBLmxlZnQgKyBib3hBLndpZHRoID49IGJveEIubGVmdCAmJlxuICAgIGJveEEudG9wIDw9IGJveEIudG9wICsgYm94Qi5oZWlnaHQgJiZcbiAgICBib3hBLnRvcCArIGJveEEuaGVpZ2h0ID49IGJveEIudG9wXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlQm91bmRpbmdDbGllbnRSZWN0ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogQm91bmRpbmdCb3ggPT4ge1xuICByZXR1cm4gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRNb3VzZVBvc2l0aW9uID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gIHJldHVybiB7XG4gICAgeDogZXZlbnQuY2xpZW50WCxcbiAgICB5OiBldmVudC5jbGllbnRZXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2Nyb2xsID0gKCkgPT4ge1xuICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQsXG4gICAgeTogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlTW91c2VQb3NpdGlvbiA9IChldmVudDogTW91c2VFdmVudCwgY29udGFpbmVyOiBTZWxlY3RDb250YWluZXJIb3N0KTogTW91c2VQb3NpdGlvbiA9PiB7XG4gIGNvbnN0IHsgeDogY2xpZW50WCwgeTogY2xpZW50WSB9ID0gZ2V0TW91c2VQb3NpdGlvbihldmVudCk7XG4gIGNvbnN0IHNjcm9sbCA9IGdldFNjcm9sbCgpO1xuXG4gIGNvbnN0IGJvcmRlclNpemUgPSAoY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCAtIGNvbnRhaW5lci5jbGllbnRXaWR0aCkgLyAyO1xuICBjb25zdCBvZmZzZXRMZWZ0ID0gY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC5sZWZ0ICsgc2Nyb2xsLng7XG4gIGNvbnN0IG9mZnNldFRvcCA9IGNvbnRhaW5lci5ib3VuZGluZ0NsaWVudFJlY3QudG9wICsgc2Nyb2xsLnk7XG5cbiAgcmV0dXJuIHtcbiAgICB4OiBjbGllbnRYIC0gYm9yZGVyU2l6ZSAtIChvZmZzZXRMZWZ0IC0gd2luZG93LnBhZ2VYT2Zmc2V0KSArIGNvbnRhaW5lci5zY3JvbGxMZWZ0LFxuICAgIHk6IGNsaWVudFkgLSBib3JkZXJTaXplIC0gKG9mZnNldFRvcCAtIHdpbmRvdy5wYWdlWU9mZnNldCkgKyBjb250YWluZXIuc2Nyb2xsVG9wXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3Vyc29yV2l0aGluRWxlbWVudCA9IChldmVudDogTW91c2VFdmVudCwgZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgY29uc3QgbW91c2VQb2ludCA9IGdldE1vdXNlUG9zaXRpb24oZXZlbnQpO1xuICByZXR1cm4gaW5Cb3VuZGluZ0JveChtb3VzZVBvaW50LCBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCkpO1xufTtcbiJdfQ==
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiL1VzZXJzL2RlbG0vZGV2L25neC1kcmFnLXRvLXNlbGVjdC9wcm9qZWN0cy9uZ3gtZHJhZy10by1zZWxlY3Qvc3JjLyIsInNvdXJjZXMiOlsibGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3BELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFO0lBQ3BDLE9BQU8sSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQztBQUNuRixDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQWMsRUFBRSxNQUFjO0lBQ3RELElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2xDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDdEM7Z0JBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNyQztpQkFBTTtnQkFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMvQztRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBNEIsRUFBRSxRQUFRLEdBQUcsU0FBUyxFQUFFLFNBQVMsR0FBRyxVQUFVLEVBQUUsRUFBRTtJQUMzRyxPQUFPLFNBQVMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO0FBQ3BFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQy9DLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV4QyxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsT0FBTztLQUNSO0lBRUQsSUFBSSxTQUFTLENBQUMsZUFBZSxFQUFFO1FBQzdCLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztLQUM3QjtTQUFNLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRTtRQUMxQixTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDbkI7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEdBQWdCLEVBQUUsRUFBRTtJQUN0RSxPQUFPLENBQ0wsR0FBRyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FDaEgsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQWlCLEVBQUUsSUFBaUIsRUFBRSxFQUFFO0lBQ3BFLE9BQU8sQ0FDTCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUs7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJO1FBQ25DLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTTtRQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FDbkMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsT0FBb0IsRUFBZSxFQUFFO0lBQy9FLE9BQU8sT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDcEQsT0FBTztRQUNMLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTztRQUNoQixDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU87S0FDakIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUU7SUFDNUIsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFDMUMsT0FBTztZQUNMLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO0tBQ0g7SUFFRCxPQUFPO1FBQ0wsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNsRSxDQUFDLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTO0tBQ2pFLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsU0FBOEIsRUFBaUIsRUFBRTtJQUMzRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFFM0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEYsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUU5RCxPQUFPO1FBQ0wsQ0FBQyxFQUFFLE9BQU8sR0FBRyxVQUFVLEdBQUcsQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxVQUFVO1FBQ2xGLENBQUMsRUFBRSxPQUFPLEdBQUcsVUFBVSxHQUFHLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUztLQUNqRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQUUsRUFBRTtJQUM3RSxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNSU5fSEVJR0hULCBNSU5fV0lEVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCb3VuZGluZ0JveCwgTW91c2VQb3NpdGlvbiwgU2VsZWN0Qm94LCBTZWxlY3RDb250YWluZXJIb3N0IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgaXNPYmplY3QgPSAoaXRlbTogYW55KSA9PiB7XG4gIHJldHVybiBpdGVtICYmIHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheShpdGVtKSAmJiBpdGVtICE9PSBudWxsO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcCh0YXJnZXQ6IE9iamVjdCwgc291cmNlOiBPYmplY3QpIHtcbiAgaWYgKGlzT2JqZWN0KHRhcmdldCkgJiYgaXNPYmplY3Qoc291cmNlKSkge1xuICAgIE9iamVjdC5rZXlzKHNvdXJjZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoaXNPYmplY3Qoc291cmNlW2tleV0pKSB7XG4gICAgICAgIGlmICghdGFyZ2V0W2tleV0pIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHRhcmdldCwgeyBba2V5XToge30gfSk7XG4gICAgICAgIH1cbiAgICAgICAgbWVyZ2VEZWVwKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRhcmdldCwgeyBba2V5XTogc291cmNlW2tleV0gfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5leHBvcnQgY29uc3QgaGFzTWluaW11bVNpemUgPSAoc2VsZWN0Qm94OiBTZWxlY3RCb3g8bnVtYmVyPiwgbWluV2lkdGggPSBNSU5fV0lEVEgsIG1pbkhlaWdodCA9IE1JTl9IRUlHSFQpID0+IHtcbiAgcmV0dXJuIHNlbGVjdEJveC53aWR0aCA+IG1pbldpZHRoIHx8IHNlbGVjdEJveC5oZWlnaHQgPiBtaW5IZWlnaHQ7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJTZWxlY3Rpb24gPSAod2luZG93OiBXaW5kb3cpID0+IHtcbiAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuXG4gIGlmICghc2VsZWN0aW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMpIHtcbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gIH0gZWxzZSBpZiAoc2VsZWN0aW9uLmVtcHR5KSB7XG4gICAgc2VsZWN0aW9uLmVtcHR5KCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpbkJvdW5kaW5nQm94ID0gKHBvaW50OiBNb3VzZVBvc2l0aW9uLCBib3g6IEJvdW5kaW5nQm94KSA9PiB7XG4gIHJldHVybiAoXG4gICAgYm94LmxlZnQgPD0gcG9pbnQueCAmJiBwb2ludC54IDw9IGJveC5sZWZ0ICsgYm94LndpZHRoICYmIGJveC50b3AgPD0gcG9pbnQueSAmJiBwb2ludC55IDw9IGJveC50b3AgKyBib3guaGVpZ2h0XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYm94SW50ZXJzZWN0cyA9IChib3hBOiBCb3VuZGluZ0JveCwgYm94QjogQm91bmRpbmdCb3gpID0+IHtcbiAgcmV0dXJuIChcbiAgICBib3hBLmxlZnQgPD0gYm94Qi5sZWZ0ICsgYm94Qi53aWR0aCAmJlxuICAgIGJveEEubGVmdCArIGJveEEud2lkdGggPj0gYm94Qi5sZWZ0ICYmXG4gICAgYm94QS50b3AgPD0gYm94Qi50b3AgKyBib3hCLmhlaWdodCAmJlxuICAgIGJveEEudG9wICsgYm94QS5oZWlnaHQgPj0gYm94Qi50b3BcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBCb3VuZGluZ0JveCA9PiB7XG4gIHJldHVybiBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE1vdXNlUG9zaXRpb24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB4OiBldmVudC5jbGllbnRYLFxuICAgIHk6IGV2ZW50LmNsaWVudFksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2Nyb2xsID0gKCkgPT4ge1xuICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogMCxcbiAgICAgIHk6IDAsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgeDogZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0LFxuICAgIHk6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRpdmVNb3VzZVBvc2l0aW9uID0gKGV2ZW50OiBNb3VzZUV2ZW50LCBjb250YWluZXI6IFNlbGVjdENvbnRhaW5lckhvc3QpOiBNb3VzZVBvc2l0aW9uID0+IHtcbiAgY29uc3QgeyB4OiBjbGllbnRYLCB5OiBjbGllbnRZIH0gPSBnZXRNb3VzZVBvc2l0aW9uKGV2ZW50KTtcbiAgY29uc3Qgc2Nyb2xsID0gZ2V0U2Nyb2xsKCk7XG5cbiAgY29uc3QgYm9yZGVyU2l6ZSA9IChjb250YWluZXIuYm91bmRpbmdDbGllbnRSZWN0LndpZHRoIC0gY29udGFpbmVyLmNsaWVudFdpZHRoKSAvIDI7XG4gIGNvbnN0IG9mZnNldExlZnQgPSBjb250YWluZXIuYm91bmRpbmdDbGllbnRSZWN0LmxlZnQgKyBzY3JvbGwueDtcbiAgY29uc3Qgb2Zmc2V0VG9wID0gY29udGFpbmVyLmJvdW5kaW5nQ2xpZW50UmVjdC50b3AgKyBzY3JvbGwueTtcblxuICByZXR1cm4ge1xuICAgIHg6IGNsaWVudFggLSBib3JkZXJTaXplIC0gKG9mZnNldExlZnQgLSB3aW5kb3cucGFnZVhPZmZzZXQpICsgY29udGFpbmVyLnNjcm9sbExlZnQsXG4gICAgeTogY2xpZW50WSAtIGJvcmRlclNpemUgLSAob2Zmc2V0VG9wIC0gd2luZG93LnBhZ2VZT2Zmc2V0KSArIGNvbnRhaW5lci5zY3JvbGxUb3AsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3Vyc29yV2l0aGluRWxlbWVudCA9IChldmVudDogTW91c2VFdmVudCwgZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgY29uc3QgbW91c2VQb2ludCA9IGdldE1vdXNlUG9zaXRpb24oZXZlbnQpO1xuICByZXR1cm4gaW5Cb3VuZGluZ0JveChtb3VzZVBvaW50LCBjYWxjdWxhdGVCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCkpO1xufTtcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* Generated bundle index. Do not edit.
*/
export { CONFIG_FACTORY, DragToSelectModule, SelectContainerComponent, SELECT_ITEM_INSTANCE, SelectItemDirective } from './public_api';
export * from './public_api';
export { DEFAULT_CONFIG as ɵb } from './lib/config';

@@ -14,2 +10,2 @@ export { KeyboardEventsService as ɵg } from './lib/keyboard-events.service';

export { mergeDeep as ɵa } from './lib/utils';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRyYWctdG8tc2VsZWN0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRyYWctdG8tc2VsZWN0LyIsInNvdXJjZXMiOlsibmd4LWRyYWctdG8tc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSx3SEFBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM1RCxPQUFPLEVBQUMsU0FBUyxJQUFJLEVBQUUsRUFBQyxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtERUZBVUxUX0NPTkZJRyBhcyDJtWJ9IGZyb20gJy4vbGliL2NvbmZpZyc7XG5leHBvcnQge0tleWJvYXJkRXZlbnRzU2VydmljZSBhcyDJtWd9IGZyb20gJy4vbGliL2tleWJvYXJkLWV2ZW50cy5zZXJ2aWNlJztcbmV4cG9ydCB7RHJhZ1RvU2VsZWN0Q29uZmlnIGFzIMm1ZX0gZnJvbSAnLi9saWIvbW9kZWxzJztcbmV4cG9ydCB7U2hvcnRjdXRTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2hvcnRjdXQuc2VydmljZSc7XG5leHBvcnQge0NPTkZJRyBhcyDJtWMsVVNFUl9DT05GSUcgYXMgybVkfSBmcm9tICcuL2xpYi90b2tlbnMnO1xuZXhwb3J0IHttZXJnZURlZXAgYXMgybVhfSBmcm9tICcuL2xpYi91dGlscyc7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRyYWctdG8tc2VsZWN0LmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9kZWxtL2Rldi9uZ3gtZHJhZy10by1zZWxlY3QvcHJvamVjdHMvbmd4LWRyYWctdG8tc2VsZWN0L3NyYy8iLCJzb3VyY2VzIjpbIm5neC1kcmFnLXRvLXNlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQyxNQUFNLElBQUksRUFBRSxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUQsT0FBTyxFQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUMsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7REVGQVVMVF9DT05GSUcgYXMgybVifSBmcm9tICcuL2xpYi9jb25maWcnO1xuZXhwb3J0IHtLZXlib2FyZEV2ZW50c1NlcnZpY2UgYXMgybVnfSBmcm9tICcuL2xpYi9rZXlib2FyZC1ldmVudHMuc2VydmljZSc7XG5leHBvcnQge0RyYWdUb1NlbGVjdENvbmZpZyBhcyDJtWV9IGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQge1Nob3J0Y3V0U2VydmljZSBhcyDJtWZ9IGZyb20gJy4vbGliL3Nob3J0Y3V0LnNlcnZpY2UnO1xuZXhwb3J0IHtDT05GSUcgYXMgybVjLFVTRVJfQ09ORklHIGFzIMm1ZH0gZnJvbSAnLi9saWIvdG9rZW5zJztcbmV4cG9ydCB7bWVyZ2VEZWVwIGFzIMm1YX0gZnJvbSAnLi9saWIvdXRpbHMnOyJdfQ==

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

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
* Public API Surface of ngx-drag-to-select
*/
export { CONFIG_FACTORY, DragToSelectModule } from './lib/drag-to-select.module';
export { SelectContainerComponent } from './lib/select-container.component';
export { SELECT_ITEM_INSTANCE, SelectItemDirective } from './lib/select-item.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kcmFnLXRvLXNlbGVjdC8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLG1EQUFjLDZCQUE2QixDQUFDO0FBQzVDLHlDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELDBEQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZHJhZy10by1zZWxlY3RcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcmFnLXRvLXNlbGVjdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbiJdfQ==
export * from './lib/drag-to-select.module';
export * from './lib/select-container.component';
export * from './lib/select-item.directive';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvZGVsbS9kZXYvbmd4LWRyYWctdG8tc2VsZWN0L3Byb2plY3RzL25neC1kcmFnLXRvLXNlbGVjdC9zcmMvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1kcmFnLXRvLXNlbGVjdFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYWctdG8tc2VsZWN0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QtY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZWxlY3QtaXRlbS5kaXJlY3RpdmUnO1xuIl19

@@ -6,7 +6,2 @@ import { isPlatformBrowser, CommonModule } from '@angular/common';

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const DEFAULT_CONFIG = {

@@ -19,43 +14,17 @@ selectedClass: 'selected',

addToSelection: 'shift',
removeFromSelection: 'shift+meta'
}
removeFromSelection: 'shift+meta',
},
};
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const AUDIT_TIME = 16;
/** @type {?} */
const MIN_WIDTH = 5;
/** @type {?} */
const MIN_HEIGHT = 5;
/** @type {?} */
const NO_SELECT_CLASS = 'dts-no-select';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const isObject = (/**
* @param {?} item
* @return {?}
*/
(item) => {
const isObject = (item) => {
return item && typeof item === 'object' && !Array.isArray(item) && item !== null;
});
/**
* @param {?} target
* @param {?} source
* @return {?}
*/
};
function mergeDeep(target, source) {
if (isObject(target) && isObject(source)) {
Object.keys(source).forEach((/**
* @param {?} key
* @return {?}
*/
key => {
Object.keys(source).forEach((key) => {
if (isObject(source[key])) {

@@ -70,23 +39,10 @@ if (!target[key]) {

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

@@ -102,19 +58,7 @@ if (!selection) {

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

@@ -124,31 +68,17 @@ boxA.left + boxA.width >= boxB.left &&

boxA.top + boxA.height >= boxB.top);
});
/** @type {?} */
const calculateBoundingClientRect = (/**
* @param {?} element
* @return {?}
*/
(element) => {
};
const calculateBoundingClientRect = (element) => {
return element.getBoundingClientRect();
});
/** @type {?} */
const getMousePosition = (/**
* @param {?} event
* @return {?}
*/
(event) => {
};
const getMousePosition = (event) => {
return {
x: event.clientX,
y: event.clientY
y: event.clientY,
};
});
/** @type {?} */
const getScroll = (/**
* @return {?}
*/
() => {
};
const getScroll = () => {
if (!document || !document.documentElement) {
return {
x: 0,
y: 0
y: 0,
};

@@ -158,63 +88,26 @@ }

x: document.documentElement.scrollLeft || document.body.scrollLeft,
y: document.documentElement.scrollTop || document.body.scrollTop
y: document.documentElement.scrollTop || document.body.scrollTop,
};
});
/** @type {?} */
const getRelativeMousePosition = (/**
* @param {?} event
* @param {?} container
* @return {?}
*/
(event, container) => {
};
const getRelativeMousePosition = (event, container) => {
const { x: clientX, y: clientY } = getMousePosition(event);
/** @type {?} */
const scroll = getScroll();
/** @type {?} */
const borderSize = (container.boundingClientRect.width - container.clientWidth) / 2;
/** @type {?} */
const offsetLeft = container.boundingClientRect.left + scroll.x;
/** @type {?} */
const offsetTop = container.boundingClientRect.top + scroll.y;
return {
x: clientX - borderSize - (offsetLeft - window.pageXOffset) + container.scrollLeft,
y: clientY - borderSize - (offsetTop - window.pageYOffset) + container.scrollTop
y: clientY - borderSize - (offsetTop - window.pageYOffset) + container.scrollTop,
};
});
/** @type {?} */
const cursorWithinElement = (/**
* @param {?} event
* @param {?} element
* @return {?}
*/
(event, element) => {
/** @type {?} */
};
const cursorWithinElement = (event, element) => {
const mousePoint = getMousePosition(event);
return inBoundingBox(mousePoint, calculateBoundingClientRect(element));
});
};
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const createSelectBox = (/**
* @param {?} container
* @return {?}
*/
(container) => (/**
* @param {?} source
* @return {?}
*/
(source) => source.pipe(map((/**
* @param {?} __0
* @return {?}
*/
([event, opacity, { x, y }]) => {
const createSelectBox = (container) => (source) => source.pipe(map(([event, opacity, { x, y }]) => {
// Type annotation is required here, because `getRelativeMousePosition` returns a `MousePosition`,
// the TS compiler cannot figure out the shape of this type.
/** @type {?} */
const mousePosition = getRelativeMousePosition(event, container);
/** @type {?} */
const width = opacity > 0 ? mousePosition.x - x : 0;
/** @type {?} */
const height = opacity > 0 ? mousePosition.y - y : 0;

@@ -226,48 +119,11 @@ return {

height: Math.abs(height),
opacity
opacity,
};
})))));
/** @type {?} */
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 {?} */
const distinctKeyEvents = (/**
* @return {?}
*/
() => (/**
* @param {?} source
* @return {?}
*/
(source) => source.pipe(distinctUntilChanged((/**
* @param {?} prev
* @param {?} curr
* @return {?}
*/
(prev, curr) => {
}));
const whenSelectBoxVisible = (selectBox$) => (source) => source.pipe(withLatestFrom(selectBox$), filter(([, selectBox]) => hasMinimumSize(selectBox, 0, 0)), map(([event, _]) => event));
const distinctKeyEvents = () => (source) => source.pipe(distinctUntilChanged((prev, curr) => {
return prev && curr && prev.code === curr.code;
})))));
}));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class KeyboardEventsService {
/**
* @param {?} platformId
*/
constructor(platformId) {

@@ -279,6 +135,2 @@ this.platformId = platformId;

}
/**
* @private
* @return {?}
*/
_initializeKeyboardStreams() {

@@ -298,48 +150,11 @@ this.keydown$ = fromEvent(window, 'keydown').pipe(share());

];
/** @nocollapse */
KeyboardEventsService.ctorParameters = () => [
{ type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
];
if (false) {
/** @type {?} */
KeyboardEventsService.prototype.keydown$;
/** @type {?} */
KeyboardEventsService.prototype.keyup$;
/** @type {?} */
KeyboardEventsService.prototype.distinctKeydown$;
/** @type {?} */
KeyboardEventsService.prototype.distinctKeyup$;
/** @type {?} */
KeyboardEventsService.prototype.mouseup$;
/** @type {?} */
KeyboardEventsService.prototype.mousemove$;
/**
* @type {?}
* @private
*/
KeyboardEventsService.prototype.platformId;
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const CONFIG = new InjectionToken('DRAG_TO_SELECT_CONFIG');
/** @type {?} */
const USER_CONFIG = new InjectionToken('USER_CONFIG');
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const SELECT_ITEM_INSTANCE = Symbol();
class SelectItemDirective {
/**
* @param {?} config
* @param {?} platformId
* @param {?} host
* @param {?} renderer
*/
constructor(config, platformId, host, renderer) {

@@ -353,35 +168,17 @@ this.config = config;

}
/**
* @return {?}
*/
get value() {
return this.dtsSelectItem ? this.dtsSelectItem : this;
}
/**
* @return {?}
*/
ngOnInit() {
this.nativeElememnt[SELECT_ITEM_INSTANCE] = this;
}
/**
* @return {?}
*/
ngDoCheck() {
this.applySelectedClass();
}
/**
* @return {?}
*/
toggleRangeStart() {
this.rangeStart = !this.rangeStart;
}
/**
* @return {?}
*/
get nativeElememnt() {
return this.host.nativeElement;
}
/**
* @return {?}
*/
getBoundingClientRect() {

@@ -393,7 +190,3 @@ if (isPlatformBrowser(this.platformId) && !this._boundingClientRect) {

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

@@ -403,18 +196,8 @@ this._boundingClientRect = boundingBox;

}
/**
* @return {?}
*/
_select() {
this.selected = true;
}
/**
* @return {?}
*/
_deselect() {
this.selected = false;
}
/**
* @private
* @return {?}
*/
applySelectedClass() {

@@ -434,7 +217,6 @@ if (this.selected) {

host: {
class: 'dts-select-item'
}
class: 'dts-select-item',
},
},] }
];
/** @nocollapse */
SelectItemDirective.ctorParameters = () => [

@@ -450,41 +232,3 @@ { type: undefined, decorators: [{ type: Inject, args: [CONFIG,] }] },

};
if (false) {
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype._boundingClientRect;
/** @type {?} */
SelectItemDirective.prototype.selected;
/** @type {?} */
SelectItemDirective.prototype.rangeStart;
/** @type {?} */
SelectItemDirective.prototype.dtsSelectItem;
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.config;
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.platformId;
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.host;
/**
* @type {?}
* @private
*/
SelectItemDirective.prototype.renderer;
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const SUPPORTED_META_KEYS = {

@@ -494,13 +238,9 @@ alt: true,

meta: true,
ctrl: true
ctrl: true,
};
/** @type {?} */
const SUPPORTED_KEYS = /[a-z]/;
/** @type {?} */
const META_KEY = 'meta';
/** @type {?} */
const KEY_ALIASES = {
[META_KEY]: ['ctrl', 'meta']
[META_KEY]: ['ctrl', 'meta'],
};
/** @type {?} */
const SUPPORTED_SHORTCUTS = {

@@ -511,22 +251,6 @@ moveRangeStart: true,

addToSelection: true,
removeFromSelection: true
removeFromSelection: true,
};
/** @type {?} */
const ERROR_PREFIX = '[ShortcutService]';
/**
* @record
*/
function KeyState() { }
if (false) {
/** @type {?} */
KeyState.prototype.code;
/** @type {?} */
KeyState.prototype.pressed;
}
class ShortcutService {
/**
* @param {?} platformId
* @param {?} config
* @param {?} keyboardEvents
*/
constructor(platformId, config, keyboardEvents) {

@@ -539,28 +263,9 @@ this.platformId = platformId;

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 }))));
const keydown$ = this.keyboardEvents.keydown$.pipe(map((event) => ({ code: event.code, pressed: true })));
const keyup$ = this.keyboardEvents.keyup$.pipe(map((event) => ({ code: event.code, pressed: false })));
merge(keydown$, keyup$)
.pipe(distinctUntilChanged((/**
* @param {?} prev
* @param {?} curr
* @return {?}
*/
(prev, curr) => {
.pipe(distinctUntilChanged((prev, curr) => {
return prev.pressed === curr.pressed && prev.code === curr.code;
})))
.subscribe((/**
* @param {?} keyState
* @return {?}
*/
keyState => {
}))
.subscribe((keyState) => {
if (keyState.pressed) {

@@ -572,54 +277,24 @@ this._latestShortcut.set(keyState.code, true);

}
}));
});
}
}
/**
* @param {?} event
* @return {?}
*/
disableSelection(event) {
return this._isShortcutPressed('disableSelection', event);
}
/**
* @param {?} event
* @return {?}
*/
moveRangeStart(event) {
return this._isShortcutPressed('moveRangeStart', event);
}
/**
* @param {?} event
* @return {?}
*/
toggleSingleItem(event) {
return this._isShortcutPressed('toggleSingleItem', event);
}
/**
* @param {?} event
* @return {?}
*/
addToSelection(event) {
return this._isShortcutPressed('addToSelection', event);
}
/**
* @param {?} event
* @return {?}
*/
removeFromSelection(event) {
return this._isShortcutPressed('removeFromSelection', event);
}
/**
* @param {?} event
* @return {?}
*/
extendedSelectionShortcut(event) {
return this.addToSelection(event) || this.removeFromSelection(event);
}
/**
* @private
* @param {?} shortcuts
* @return {?}
*/
_createShortcutsFromConfig(shortcuts) {
/** @type {?} */
const shortcutMap = {};

@@ -633,20 +308,9 @@ for (const [key, shortcutsForCommand] of Object.entries(shortcuts)) {

.split(',')
.forEach((/**
* @param {?} shortcut
* @return {?}
*/
shortcut => {
.forEach((shortcut) => {
if (!shortcutMap[key]) {
shortcutMap[key] = [];
}
/** @type {?} */
const combo = shortcut.split('+');
/** @type {?} */
const cleanCombos = this._substituteKey(shortcut, combo, META_KEY);
cleanCombos.forEach((/**
* @param {?} cleanCombo
* @return {?}
*/
cleanCombo => {
/** @type {?} */
cleanCombos.forEach((cleanCombo) => {
const unsupportedKey = this._isSupportedCombo(cleanCombo);

@@ -656,40 +320,18 @@ if (unsupportedKey) {

}
shortcutMap[key].push(cleanCombo.map((/**
* @param {?} comboKey
* @return {?}
*/
comboKey => {
shortcutMap[key].push(cleanCombo.map((comboKey) => {
return SUPPORTED_META_KEYS[comboKey] ? `${comboKey}Key` : `Key${comboKey.toUpperCase()}`;
})));
}));
}));
}));
});
});
}
return shortcutMap;
}
/**
* @private
* @param {?} shortcut
* @param {?} combo
* @param {?} substituteKey
* @return {?}
*/
_substituteKey(shortcut, combo, substituteKey) {
/** @type {?} */
const hasSpecialKey = shortcut.includes(substituteKey);
/** @type {?} */
const substitutedShortcut = [];
if (hasSpecialKey) {
/** @type {?} */
const cleanShortcut = combo.filter((/**
* @param {?} element
* @return {?}
*/
element => element !== META_KEY));
KEY_ALIASES.meta.forEach((/**
* @param {?} alias
* @return {?}
*/
alias => {
const cleanShortcut = combo.filter((element) => element !== META_KEY);
KEY_ALIASES.meta.forEach((alias) => {
substitutedShortcut.push([...cleanShortcut, alias]);
}));
});
}

@@ -701,53 +343,17 @@ else {

}
/**
* @private
* @param {?} message
* @return {?}
*/
_getErrorMessage(message) {
return `${ERROR_PREFIX} ${message}`;
}
/**
* @private
* @param {?} shortcutName
* @param {?} event
* @return {?}
*/
_isShortcutPressed(shortcutName, event) {
/** @type {?} */
const shortcuts = this._shortcuts[shortcutName];
return shortcuts.some((/**
* @param {?} shortcut
* @return {?}
*/
shortcut => {
return shortcut.every((/**
* @param {?} key
* @return {?}
*/
key => this._isKeyPressed(event, key)));
}));
return shortcuts.some((shortcut) => {
return shortcut.every((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) {
/** @type {?} */
let unsupportedKey = null;
combo.forEach((/**
* @param {?} key
* @return {?}
*/
key => {
combo.forEach((key) => {
if (!SUPPORTED_META_KEYS[key] && (!SUPPORTED_KEYS.test(key) || this._isSingleChar(key))) {

@@ -757,18 +363,8 @@ unsupportedKey = key;

}
}));
});
return unsupportedKey;
}
/**
* @private
* @param {?} key
* @return {?}
*/
_isSingleChar(key) {
return key.length > 1;
}
/**
* @private
* @param {?} shortcut
* @return {?}
*/
_isSupportedShortcut(shortcut) {

@@ -781,3 +377,2 @@ return SUPPORTED_SHORTCUTS[shortcut];

];
/** @nocollapse */
ShortcutService.ctorParameters = () => [

@@ -788,155 +383,16 @@ { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },

];
if (false) {
/**
* @type {?}
* @private
*/
ShortcutService.prototype._shortcuts;
/**
* @type {?}
* @private
*/
ShortcutService.prototype._latestShortcut;
/**
* @type {?}
* @private
*/
ShortcutService.prototype.platformId;
/**
* @type {?}
* @private
*/
ShortcutService.prototype.keyboardEvents;
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @enum {number} */
const UpdateActions = {
Add: 0,
Remove: 1,
};
UpdateActions[UpdateActions.Add] = 'Add';
UpdateActions[UpdateActions.Remove] = 'Remove';
/**
* @record
*/
function UpdateAction() { }
if (false) {
/** @type {?} */
UpdateAction.prototype.type;
/** @type {?} */
UpdateAction.prototype.item;
}
/**
* @record
* @template T
*/
function ObservableProxy() { }
if (false) {
/** @type {?} */
ObservableProxy.prototype.proxy$;
/** @type {?} */
ObservableProxy.prototype.proxy;
}
/**
* @record
*/
function SelectContainerHost() { }
if (false) {
/** @type {?} */
SelectContainerHost.prototype.boundingClientRect;
}
/**
* @record
*/
function Shortcuts() { }
if (false) {
/** @type {?} */
Shortcuts.prototype.moveRangeStart;
/** @type {?} */
Shortcuts.prototype.disableSelection;
/** @type {?} */
Shortcuts.prototype.toggleSingleItem;
/** @type {?} */
Shortcuts.prototype.addToSelection;
/** @type {?} */
Shortcuts.prototype.removeFromSelection;
}
/**
* @record
*/
function DragToSelectConfig() { }
if (false) {
/** @type {?} */
DragToSelectConfig.prototype.selectedClass;
/** @type {?} */
DragToSelectConfig.prototype.shortcuts;
}
/**
* @record
*/
function MousePosition() { }
if (false) {
/** @type {?} */
MousePosition.prototype.x;
/** @type {?} */
MousePosition.prototype.y;
}
/**
* @record
*/
function BoundingBox() { }
if (false) {
/** @type {?} */
BoundingBox.prototype.top;
/** @type {?} */
BoundingBox.prototype.left;
/** @type {?} */
BoundingBox.prototype.width;
/** @type {?} */
BoundingBox.prototype.height;
}
/**
* @record
* @template T
*/
function SelectBox() { }
if (false) {
/** @type {?} */
SelectBox.prototype.top;
/** @type {?} */
SelectBox.prototype.left;
/** @type {?} */
SelectBox.prototype.width;
/** @type {?} */
SelectBox.prototype.height;
/** @type {?} */
SelectBox.prototype.opacity;
}
/** @enum {number} */
const Action = {
Add: 0,
Delete: 1,
None: 2,
};
Action[Action.Add] = 'Add';
Action[Action.Delete] = 'Delete';
Action[Action.None] = 'None';
var UpdateActions;
(function (UpdateActions) {
UpdateActions[UpdateActions["Add"] = 0] = "Add";
UpdateActions[UpdateActions["Remove"] = 1] = "Remove";
})(UpdateActions || (UpdateActions = {}));
var Action;
(function (Action) {
Action[Action["Add"] = 0] = "Add";
Action[Action["Delete"] = 1] = "Delete";
Action[Action["None"] = 2] = "None";
})(Action || (Action = {}));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class SelectContainerComponent {
/**
* @param {?} platformId
* @param {?} shortcuts
* @param {?} keyboardEvents
* @param {?} hostElementRef
* @param {?} renderer
* @param {?} ngZone
*/
constructor(platformId, shortcuts, keyboardEvents, hostElementRef, renderer, ngZone) {

@@ -972,5 +428,2 @@ this.platformId = platformId;

}
/**
* @return {?}
*/
ngAfterViewInit() {

@@ -983,121 +436,25 @@ if (isPlatformBrowser(this.platformId)) {

this._observeSelectableItems();
/** @type {?} */
const mouseup$ = this.keyboardEvents.mouseup$.pipe(filter((/**
* @return {?}
*/
() => !this.disabled)), tap((/**
* @return {?}
*/
() => this._onMouseUp())), share());
/** @type {?} */
const mousemove$ = this.keyboardEvents.mousemove$.pipe(filter((/**
* @return {?}
*/
() => !this.disabled)), share());
/** @type {?} */
const mousedown$ = fromEvent(this.host, 'mousedown').pipe(filter((/**
* @param {?} event
* @return {?}
*/
event => event.button === 0)), // only emit left mouse
filter((/**
* @return {?}
*/
() => !this.disabled)), tap((/**
* @param {?} event
* @return {?}
*/
event => this._onMouseDown(event))), share());
/** @type {?} */
const dragging$ = mousedown$.pipe(filter((/**
* @param {?} event
* @return {?}
*/
event => !this.shortcuts.disableSelection(event))), filter((/**
* @return {?}
*/
() => !this.selectMode)), filter((/**
* @return {?}
*/
() => !this.disableDrag)), switchMap((/**
* @return {?}
*/
() => mousemove$.pipe(takeUntil(mouseup$)))), share());
/** @type {?} */
const currentMousePosition$ = mousedown$.pipe(map((/**
* @param {?} event
* @return {?}
*/
(event) => getRelativeMousePosition(event, this.host))));
/** @type {?} */
const mouseup$ = this.keyboardEvents.mouseup$.pipe(filter(() => !this.disabled), tap(() => this._onMouseUp()), share());
const mousemove$ = this.keyboardEvents.mousemove$.pipe(filter(() => !this.disabled), share());
const mousedown$ = fromEvent(this.host, 'mousedown').pipe(filter((event) => event.button === 0), // only emit left mouse
filter(() => !this.disabled), tap((event) => this._onMouseDown(event)), share());
const dragging$ = mousedown$.pipe(filter((event) => !this.shortcuts.disableSelection(event)), filter(() => !this.selectMode), filter(() => !this.disableDrag), switchMap(() => mousemove$.pipe(takeUntil(mouseup$))), share());
const currentMousePosition$ = mousedown$.pipe(map((event) => getRelativeMousePosition(event, this.host)));
const show$ = dragging$.pipe(mapTo(1));
/** @type {?} */
const hide$ = mouseup$.pipe(mapTo(0));
/** @type {?} */
const opacity$ = merge(show$, hide$).pipe(distinctUntilChanged());
/** @type {?} */
const selectBox$ = combineLatest([dragging$, opacity$, currentMousePosition$]).pipe(createSelectBox(this.host), share());
this.selectBoxClasses$ = merge(dragging$, mouseup$, this.keyboardEvents.distinctKeydown$, this.keyboardEvents.distinctKeyup$).pipe(auditTime(AUDIT_TIME), withLatestFrom(selectBox$), map((/**
* @param {?} __0
* @return {?}
*/
([event, selectBox]) => {
this.selectBoxClasses$ = merge(dragging$, mouseup$, this.keyboardEvents.distinctKeydown$, this.keyboardEvents.distinctKeyup$).pipe(auditTime(AUDIT_TIME), withLatestFrom(selectBox$), map(([event, selectBox]) => {
return {
'dts-adding': hasMinimumSize(selectBox, 0, 0) && !this.shortcuts.removeFromSelection(event),
'dts-removing': this.shortcuts.removeFromSelection(event)
'dts-removing': this.shortcuts.removeFromSelection(event),
};
})), distinctUntilChanged((/**
* @param {?} a
* @param {?} b
* @return {?}
*/
(a, b) => JSON.stringify(a) === JSON.stringify(b))));
/** @type {?} */
const selectOnMouseUp$ = dragging$.pipe(filter((/**
* @return {?}
*/
() => !this.selectOnDrag)), filter((/**
* @return {?}
*/
() => !this.selectMode)), filter((/**
* @param {?} event
* @return {?}
*/
event => this._cursorWithinHost(event))), switchMap((/**
* @param {?} _
* @return {?}
*/
_ => mouseup$.pipe(first()))), filter((/**
* @param {?} event
* @return {?}
*/
event => (!this.shortcuts.disableSelection(event) && !this.shortcuts.toggleSingleItem(event)) ||
this.shortcuts.removeFromSelection(event))));
/** @type {?} */
const selectOnDrag$ = selectBox$.pipe(auditTime(AUDIT_TIME), withLatestFrom(mousemove$, (/**
* @param {?} selectBox
* @param {?} event
* @return {?}
*/
(selectBox, event) => ({
}), distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)));
const selectOnMouseUp$ = dragging$.pipe(filter(() => !this.selectOnDrag), filter(() => !this.selectMode), filter((event) => this._cursorWithinHost(event)), switchMap((_) => mouseup$.pipe(first())), filter((event) => (!this.shortcuts.disableSelection(event) && !this.shortcuts.toggleSingleItem(event)) ||
this.shortcuts.removeFromSelection(event)));
const selectOnDrag$ = selectBox$.pipe(auditTime(AUDIT_TIME), withLatestFrom(mousemove$, (selectBox, event) => ({
selectBox,
event
}))), filter((/**
* @return {?}
*/
() => this.selectOnDrag)), filter((/**
* @param {?} __0
* @return {?}
*/
({ selectBox }) => hasMinimumSize(selectBox))), map((/**
* @param {?} __0
* @return {?}
*/
({ event }) => event)));
/** @type {?} */
const selectOnKeyboardEvent$ = merge(this.keyboardEvents.distinctKeydown$, this.keyboardEvents.distinctKeyup$).pipe(auditTime(AUDIT_TIME), whenSelectBoxVisible(selectBox$), tap((/**
* @param {?} event
* @return {?}
*/
event => {
event,
})), filter(() => this.selectOnDrag), filter(({ selectBox }) => hasMinimumSize(selectBox)), map(({ event }) => event));
const selectOnKeyboardEvent$ = merge(this.keyboardEvents.distinctKeydown$, this.keyboardEvents.distinctKeyup$).pipe(auditTime(AUDIT_TIME), whenSelectBoxVisible(selectBox$), tap((event) => {
if (this._isExtendedSelection(event)) {

@@ -1109,15 +466,7 @@ this._tmpItems.clear();

}
})));
}));
merge(selectOnMouseUp$, selectOnDrag$, selectOnKeyboardEvent$)
.pipe(takeUntil(this.destroy$))
.subscribe((/**
* @param {?} event
* @return {?}
*/
event => this._selectItems(event)));
this.selectBoxStyles$ = selectBox$.pipe(map((/**
* @param {?} selectBox
* @return {?}
*/
selectBox => ({
.subscribe((event) => this._selectItems(event));
this.selectBoxStyles$ = selectBox$.pipe(map((selectBox) => ({
top: `${selectBox.top}px`,

@@ -1127,87 +476,33 @@ left: `${selectBox.left}px`,

height: `${selectBox.height}px`,
opacity: selectBox.opacity
}))));
opacity: selectBox.opacity,
})));
this._initSelectionOutputs(mousedown$, mouseup$);
}
}
/**
* @return {?}
*/
ngAfterContentInit() {
this._selectableItems = this.$selectableItems.toArray();
}
/**
* @return {?}
*/
selectAll() {
this.$selectableItems.forEach((/**
* @param {?} item
* @return {?}
*/
item => {
this.$selectableItems.forEach((item) => {
this._selectItem(item);
}));
});
}
/**
* @template T
* @param {?} predicate
* @return {?}
*/
toggleItems(predicate) {
this._filterSelectableItems(predicate).subscribe((/**
* @param {?} item
* @return {?}
*/
(item) => this._toggleItem(item)));
this._filterSelectableItems(predicate).subscribe((item) => this._toggleItem(item));
}
/**
* @template T
* @param {?} predicate
* @return {?}
*/
selectItems(predicate) {
this._filterSelectableItems(predicate).subscribe((/**
* @param {?} item
* @return {?}
*/
(item) => this._selectItem(item)));
this._filterSelectableItems(predicate).subscribe((item) => this._selectItem(item));
}
/**
* @template T
* @param {?} predicate
* @return {?}
*/
deselectItems(predicate) {
this._filterSelectableItems(predicate).subscribe((/**
* @param {?} item
* @return {?}
*/
(item) => this._deselectItem(item)));
this._filterSelectableItems(predicate).subscribe((item) => this._deselectItem(item));
}
/**
* @return {?}
*/
clearSelection() {
this.$selectableItems.forEach((/**
* @param {?} item
* @return {?}
*/
item => {
this.$selectableItems.forEach((item) => {
this._deselectItem(item);
}));
});
}
/**
* @return {?}
*/
update() {
this._calculateBoundingClientRect();
this.$selectableItems.forEach((/**
* @param {?} item
* @return {?}
*/
item => item.calculateBoundingClientRect()));
this.$selectableItems.forEach((item) => item.calculateBoundingClientRect());
}
/**
* @return {?}
*/
ngOnDestroy() {

@@ -1217,8 +512,2 @@ this.destroy$.next();

}
/**
* @private
* @template T
* @param {?} predicate
* @return {?}
*/
_filterSelectableItems(predicate) {

@@ -1228,36 +517,15 @@ // Wrap select items in an observable for better efficiency as

// every item once.
return from(this._selectableItems).pipe(filter((/**
* @param {?} item
* @return {?}
*/
item => predicate(item.value))));
return from(this._selectableItems).pipe(filter((item) => predicate(item.value)));
}
/**
* @private
* @return {?}
*/
_initSelectedItemsChange() {
this._selectedItems$
.pipe(auditTime(AUDIT_TIME), takeUntil(this.destroy$))
.subscribe({
next: (/**
* @param {?} selectedItems
* @return {?}
*/
selectedItems => {
this._selectedItems$.pipe(auditTime(AUDIT_TIME), takeUntil(this.destroy$)).subscribe({
next: (selectedItems) => {
this.selectedItemsChange.emit(selectedItems);
this.select.emit(selectedItems);
}),
complete: (/**
* @return {?}
*/
() => {
},
complete: () => {
this.selectedItemsChange.emit([]);
})
},
});
}
/**
* @private
* @return {?}
*/
_observeSelectableItems() {

@@ -1267,8 +535,3 @@ // Listen for updates and either select or deselect an item

.pipe(withLatestFrom(this._selectedItems$), takeUntil(this.destroy$))
.subscribe((/**
* @param {?} __0
* @return {?}
*/
([update, selectedItems]) => {
/** @type {?} */
.subscribe(([update, selectedItems]) => {
const item = update.item;

@@ -1287,102 +550,41 @@ switch (update.type) {

}
}));
});
// Update the container as well as all selectable items if the list has changed
this.$selectableItems.changes
.pipe(withLatestFrom(this._selectedItems$), observeOn(asyncScheduler), takeUntil(this.destroy$))
.subscribe((/**
* @param {?} __0
* @return {?}
*/
([items, selectedItems]) => {
/** @type {?} */
.subscribe(([items, selectedItems]) => {
const newList = items.toArray();
this._selectableItems = newList;
/** @type {?} */
const removedItems = selectedItems.filter((/**
* @param {?} item
* @return {?}
*/
item => !newList.includes(item.value)));
const removedItems = selectedItems.filter((item) => !newList.includes(item.value));
if (removedItems.length) {
removedItems.forEach((/**
* @param {?} item
* @return {?}
*/
item => this._removeItem(item, selectedItems)));
removedItems.forEach((item) => this._removeItem(item, selectedItems));
}
this.update();
}));
});
}
/**
* @private
* @return {?}
*/
_observeBoundingRectChanges() {
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
() => {
/** @type {?} */
this.ngZone.runOutsideAngular(() => {
const resize$ = fromEvent(window, 'resize');
/** @type {?} */
const windowScroll$ = fromEvent(window, 'scroll');
/** @type {?} */
const containerScroll$ = fromEvent(this.host, 'scroll');
merge(resize$, windowScroll$, containerScroll$)
.pipe(startWith('INITIAL_UPDATE'), auditTime(AUDIT_TIME), takeUntil(this.destroy$))
.subscribe((/**
* @return {?}
*/
() => {
.subscribe(() => {
this.update();
}));
}));
});
});
}
/**
* @private
* @param {?} mousedown$
* @param {?} mouseup$
* @return {?}
*/
_initSelectionOutputs(mousedown$, mouseup$) {
mousedown$
.pipe(filter((/**
* @param {?} event
* @return {?}
*/
event => this._cursorWithinHost(event))), tap((/**
* @return {?}
*/
() => this.selectionStarted.emit())), concatMapTo(mouseup$.pipe(first())), withLatestFrom(this._selectedItems$), map((/**
* @param {?} __0
* @return {?}
*/
([, items]) => items)), takeUntil(this.destroy$))
.subscribe((/**
* @param {?} items
* @return {?}
*/
items => {
.pipe(filter((event) => this._cursorWithinHost(event)), tap(() => this.selectionStarted.emit()), concatMapTo(mouseup$.pipe(first())), withLatestFrom(this._selectedItems$), map(([, items]) => items), takeUntil(this.destroy$))
.subscribe((items) => {
this.selectionEnded.emit(items);
}));
});
}
/**
* @private
* @return {?}
*/
_calculateBoundingClientRect() {
this.host.boundingClientRect = calculateBoundingClientRect(this.host);
}
/**
* @private
* @param {?} event
* @return {?}
*/
_cursorWithinHost(event) {
return cursorWithinElement(event, this.host);
}
/**
* @private
* @return {?}
*/
_onMouseUp() {

@@ -1392,7 +594,2 @@ this._flushItems();

}
/**
* @private
* @param {?} event
* @return {?}
*/
_onMouseDown(event) {

@@ -1409,9 +606,6 @@ if (this.shortcuts.disableSelection(event) || this.disabled) {

}
/** @type {?} */
const mousePoint = getMousePosition(event);
const [currentIndex, clickedItem] = this._getClosestSelectItem(event);
let [startIndex, endIndex] = this._lastRange;
/** @type {?} */
const isMoveRangeStart = this.shortcuts.moveRangeStart(event);
/** @type {?} */
const shouldResetRangeSelection = !this.shortcuts.extendedSelectionShortcut(event) || isMoveRangeStart || this.disableRangeSelection;

@@ -1441,11 +635,4 @@ if (shouldResetRangeSelection) {

}
this.$selectableItems.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
(item, index) => {
/** @type {?} */
this.$selectableItems.forEach((item, index) => {
const itemRect = item.getBoundingClientRect();
/** @type {?} */
const withinBoundingBox = inBoundingBox(mousePoint, itemRect);

@@ -1455,3 +642,2 @@ if (this.shortcuts.extendedSelectionShortcut(event) && this.disableRangeSelection) {

}
/** @type {?} */
const withinRange = this.shortcuts.extendedSelectionShortcut(event) &&

@@ -1463,3 +649,2 @@ startIndex > -1 &&

startIndex !== endIndex;
/** @type {?} */
const shouldAdd = (withinBoundingBox &&

@@ -1475,3 +660,2 @@ !this.shortcuts.toggleSingleItem(event) &&

(!withinBoundingBox && item.selected && this.selectMode);
/** @type {?} */
const shouldRemove = (!withinBoundingBox &&

@@ -1499,3 +683,3 @@ !this.shortcuts.toggleSingleItem(event) &&

}
}));
});
// if we don't toggle a single item, we set `newRangeStart` to `false`

@@ -1507,16 +691,5 @@ // meaning that we are building up a range

}
/**
* @private
* @param {?} event
* @return {?}
*/
_selectItems(event) {
/** @type {?} */
const selectionBox = calculateBoundingClientRect(this.$selectBox.nativeElement);
this.$selectableItems.forEach((/**
* @param {?} item
* @param {?} index
* @return {?}
*/
(item, index) => {
this.$selectableItems.forEach((item, index) => {
if (this._isExtendedSelection(event)) {

@@ -1532,25 +705,10 @@ this._extendedSelectionMode(selectionBox, item, event);

}
}));
});
}
/**
* @private
* @param {?} event
* @return {?}
*/
_isExtendedSelection(event) {
return this.shortcuts.extendedSelectionShortcut(event) && this.selectOnDrag;
}
/**
* @private
* @param {?} selectBox
* @param {?} item
* @param {?} event
* @return {?}
*/
_normalSelectionMode(selectBox, item, event) {
/** @type {?} */
const inSelection = boxIntersects(selectBox, item.getBoundingClientRect());
/** @type {?} */
const shouldAdd = inSelection && !item.selected && !this.shortcuts.removeFromSelection(event);
/** @type {?} */
const shouldRemove = (!inSelection && item.selected && !this.shortcuts.addToSelection(event)) ||

@@ -1565,16 +723,6 @@ (inSelection && item.selected && this.shortcuts.removeFromSelection(event));

}
/**
* @private
* @param {?} selectBox
* @param {?} item
* @param {?} event
* @return {?}
*/
_extendedSelectionMode(selectBox, item, event) {
/** @type {?} */
const inSelection = boxIntersects(selectBox, item.getBoundingClientRect());
/** @type {?} */
const shoudlAdd = (inSelection && !item.selected && !this.shortcuts.removeFromSelection(event) && !this._tmpItems.has(item)) ||
(inSelection && item.selected && this.shortcuts.removeFromSelection(event) && !this._tmpItems.has(item));
/** @type {?} */
const shouldRemove = (!inSelection && item.selected && this.shortcuts.addToSelection(event) && this._tmpItems.has(item)) ||

@@ -1584,3 +732,2 @@ (!inSelection && !item.selected && this.shortcuts.removeFromSelection(event) && this._tmpItems.has(item));

item.selected ? item._deselect() : item._select();
/** @type {?} */
const action = this.shortcuts.removeFromSelection(event)

@@ -1598,13 +745,4 @@ ? Action.Delete

}
/**
* @private
* @return {?}
*/
_flushItems() {
this._tmpItems.forEach((/**
* @param {?} action
* @param {?} item
* @return {?}
*/
(action, item) => {
this._tmpItems.forEach((action, item) => {
if (action === Action.Add) {

@@ -1616,13 +754,6 @@ this._selectItem(item);

}
}));
});
this._tmpItems.clear();
}
/**
* @private
* @param {?} item
* @param {?} selectedItems
* @return {?}
*/
_addItem(item, selectedItems) {
/** @type {?} */
let success = false;

@@ -1637,14 +768,5 @@ if (!this._hasItem(item, selectedItems)) {

}
/**
* @private
* @param {?} item
* @param {?} selectedItems
* @return {?}
*/
_removeItem(item, selectedItems) {
/** @type {?} */
let success = false;
/** @type {?} */
const value = item instanceof SelectItemDirective ? item.value : item;
/** @type {?} */
const index = selectedItems.indexOf(value);

@@ -1659,7 +781,2 @@ if (index > -1) {

}
/**
* @private
* @param {?} item
* @return {?}
*/
_toggleItem(item) {

@@ -1673,38 +790,14 @@ if (item.selected) {

}
/**
* @private
* @param {?} item
* @return {?}
*/
_selectItem(item) {
this.updateItems$.next({ type: UpdateActions.Add, item });
}
/**
* @private
* @param {?} item
* @return {?}
*/
_deselectItem(item) {
this.updateItems$.next({ type: UpdateActions.Remove, item });
}
/**
* @private
* @param {?} item
* @param {?} selectedItems
* @return {?}
*/
_hasItem(item, selectedItems) {
return selectedItems.includes(item.value);
}
/**
* @private
* @param {?} event
* @return {?}
*/
_getClosestSelectItem(event) {
/** @type {?} */
const target = ((/** @type {?} */ (event.target))).closest('.dts-select-item');
/** @type {?} */
const target = event.target.closest('.dts-select-item');
let index = -1;
/** @type {?} */
let targetItem = null;

@@ -1717,9 +810,4 @@ if (target) {

}
/**
* @private
* @return {?}
*/
_resetRangeStart() {
this._lastRange = [-1, -1];
/** @type {?} */
const lastRangeStart = this._getLastRangeSelection();

@@ -1730,6 +818,2 @@ if (lastRangeStart && lastRangeStart.rangeStart) {

}
/**
* @private
* @return {?}
*/
_getLastRangeSelection() {

@@ -1747,3 +831,3 @@ if (this._lastStartIndex >= 0) {

host: {
class: 'dts-select-container'
class: 'dts-select-container',
},

@@ -1760,5 +844,4 @@ template: `

styles: [":host{display:block;position:relative}"]
}] }
},] }
];
/** @nocollapse */
SelectContainerComponent.ctorParameters = () => [

@@ -1790,134 +873,4 @@ { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },

};
if (false) {
/** @type {?} */
SelectContainerComponent.prototype.host;
/** @type {?} */
SelectContainerComponent.prototype.selectBoxStyles$;
/** @type {?} */
SelectContainerComponent.prototype.selectBoxClasses$;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.$selectBox;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.$selectableItems;
/** @type {?} */
SelectContainerComponent.prototype.selectedItems;
/** @type {?} */
SelectContainerComponent.prototype.selectOnDrag;
/** @type {?} */
SelectContainerComponent.prototype.disabled;
/** @type {?} */
SelectContainerComponent.prototype.disableDrag;
/** @type {?} */
SelectContainerComponent.prototype.disableRangeSelection;
/** @type {?} */
SelectContainerComponent.prototype.selectMode;
/** @type {?} */
SelectContainerComponent.prototype.selectWithShortcut;
/** @type {?} */
SelectContainerComponent.prototype.custom;
/** @type {?} */
SelectContainerComponent.prototype.selectedItemsChange;
/** @type {?} */
SelectContainerComponent.prototype.select;
/** @type {?} */
SelectContainerComponent.prototype.itemSelected;
/** @type {?} */
SelectContainerComponent.prototype.itemDeselected;
/** @type {?} */
SelectContainerComponent.prototype.selectionStarted;
/** @type {?} */
SelectContainerComponent.prototype.selectionEnded;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype._tmpItems;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype._selectedItems$;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype._selectableItems;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.updateItems$;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.destroy$;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype._lastRange;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype._lastStartIndex;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype._newRangeStart;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype._lastRangeSelection;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.platformId;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.shortcuts;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.keyboardEvents;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.hostElementRef;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.renderer;
/**
* @type {?}
* @private
*/
SelectContainerComponent.prototype.ngZone;
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const COMPONENTS = [SelectContainerComponent, SelectItemDirective];
/**
* @param {?} config
* @return {?}
*/
function CONFIG_FACTORY(config) {

@@ -1927,6 +880,2 @@ return mergeDeep(DEFAULT_CONFIG, config);

class DragToSelectModule {
/**
* @param {?=} config
* @return {?}
*/
static forRoot(config = {}) {

@@ -1942,5 +891,5 @@ return {

useFactory: CONFIG_FACTORY,
deps: [USER_CONFIG]
}
]
deps: [USER_CONFIG],
},
],
};

@@ -1953,14 +902,12 @@ }

declarations: [...COMPONENTS],
exports: [...COMPONENTS]
exports: [...COMPONENTS],
},] }
];
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
/*
* Public API Surface of ngx-drag-to-select
*/
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
* Generated bundle index. Do not edit.
*/

@@ -1967,0 +914,0 @@

@@ -5,3 +5,3 @@ import { ModuleWithProviders } from '@angular/core';

export declare class DragToSelectModule {
static forRoot(config?: Partial<DragToSelectConfig>): ModuleWithProviders;
static forRoot(config?: Partial<DragToSelectConfig>): ModuleWithProviders<DragToSelectModule>;
}
import { Observable } from 'rxjs';
import { MousePosition, SelectBox, SelectContainerHost } from './models';
export declare const createSelectBox: (container: SelectContainerHost) => (source: Observable<[MouseEvent, number, MousePosition]>) => Observable<SelectBox<number>>;
import { SelectBox, SelectBoxInput, SelectContainerHost } from './models';
export declare const createSelectBox: (container: SelectContainerHost) => (source: Observable<SelectBoxInput>) => Observable<SelectBox<number>>;
export declare const whenSelectBoxVisible: (selectBox$: Observable<SelectBox<number>>) => (source: Observable<Event>) => Observable<Event>;
export declare const distinctKeyEvents: () => (source: Observable<KeyboardEvent>) => Observable<KeyboardEvent>;

@@ -13,3 +13,3 @@ import { DoCheck, ElementRef, Renderer2, OnInit } from '@angular/core';

dtsSelectItem: any | undefined;
readonly value: SelectItemDirective | any;
get value(): SelectItemDirective | any;
constructor(config: DragToSelectConfig, platformId: Object, host: ElementRef, renderer: Renderer2);

@@ -19,3 +19,3 @@ ngOnInit(): void;

toggleRangeStart(): void;
readonly nativeElememnt: any;
get nativeElememnt(): any;
getBoundingClientRect(): BoundingBox;

@@ -22,0 +22,0 @@ calculateBoundingClientRect(): BoundingBox;

{
"name": "ngx-drag-to-select",
"version": "3.2.0-rc.0",
"description": "A lightweight, fast, configurable and reactive drag-to-select component for Angular 6 and beyond",
"version": "4.0.0",
"description": "A lightweight, fast, configurable and reactive drag-to-select component for Angular 8 and beyond",
"sideEffects": false,
"peerDependencies": {
"@angular/core": ">=6.0.0 || >=7.0.0",
"@angular/common": ">=6.0.0 || >=7.0.0",
"rxjs": ">=6.1.0"
"@angular/core": ">=8.0.0",
"@angular/common": ">=8.0.0",
"rxjs": ">=6.4.0"
},

@@ -30,15 +30,13 @@ "repository": {

},
"dependencies": {
"tslib": "^2.0.0"
},
"homepage": "https://github.com/d3lm/ngx-drag-to-select#readme",
"main": "bundles/ngx-drag-to-select.umd.js",
"module": "fesm5/ngx-drag-to-select.js",
"module": "fesm2015/ngx-drag-to-select.js",
"es2015": "fesm2015/ngx-drag-to-select.js",
"esm5": "esm5/ngx-drag-to-select.js",
"esm2015": "esm2015/ngx-drag-to-select.js",
"fesm5": "fesm5/ngx-drag-to-select.js",
"fesm2015": "fesm2015/ngx-drag-to-select.js",
"typings": "ngx-drag-to-select.d.ts",
"metadata": "ngx-drag-to-select.metadata.json",
"dependencies": {
"tslib": "^1.9.0"
}
"metadata": "ngx-drag-to-select.metadata.json"
}
# ngx-drag-to-select
[![travis](https://img.shields.io/travis/d3lm/ngx-drag-to-select/master.svg?label=Travis%20CI)](https://travis-ci.org/d3lm/ngx-drag-to-select)
[![Actions Status](https://github.com/d3lm/ngx-drag-to-select/workflows/CI/badge.svg)](https://github.com/d3lm/ngx-drag-to-select/actions)
[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

@@ -78,12 +78,16 @@ [![npm](https://img.shields.io/npm/v/ngx-drag-to-select.svg)](https://www.npmjs.com/package/ngx-drag-to-select)

```scss
@import '~ngx-drag-to-select/ngx-drag-to-select.css';
```
@import "~ngx-drag-to-select/ngx-drag-to-select.css";
```
If you are using the [Angular CLI](https://github.com/angular/angular-cli) you can add it to your `angular.json`
If you are using the [Angular CLI](https://github.com/angular/angular-cli) you can add it to your `angular.json`:
```
```json
"styles": [
"styles.scss",
"../node_modules/ngx-drag-to-select/ngx-drag-to-select.css"
{
"input": "src/styles.scss"
},
{
"input": "node_modules/ngx-drag-to-select/ngx-drag-to-select.css"
}
]

@@ -96,5 +100,5 @@ ```

```scss
@import '~ngx-drag-to-select/scss/ngx-drag-to-select';
```
@import "~ngx-drag-to-select/scss/ngx-drag-to-select";
```

@@ -105,11 +109,9 @@ ### Adding the module

```
```ts
import { DragToSelectModule } from 'ngx-drag-to-select';
@NgModule({
imports: [
DragToSelectModule.forRoot()
]
imports: [DragToSelectModule.forRoot()],
})
export class AppModule { }
export class AppModule {}
```

@@ -129,4 +131,8 @@

```
<dts-select-container #container="dts-select-container" [(selectedItems)]="selectedDocuments" (select)="someMethod($event)">
```html
<dts-select-container
#container="dts-select-container"
[(selectedItems)]="selectedDocuments"
(select)="someMethod($event)"
>
<ul>

@@ -163,7 +169,7 @@ <li [dtsSelectItem]="document" *ngFor="let document of documents">{{ document.name }}</li>

```
```scss
// Example for overriding the color of the selection retangle
$select-box-color: red;
@import "~ngx-drag-to-select/scss/ngx-drag-to-select";
@import '~ngx-drag-to-select/scss/ngx-drag-to-select';
```

@@ -197,3 +203,3 @@

```
```ts
import { DragToSelectModule } from 'ngx-drag-to-select';

@@ -206,8 +212,8 @@

shortcuts: {
disableSelection: 'alt+meta,d'
}
})
]
disableSelection: 'alt+meta,d',
},
}),
],
})
export class AppModule { }
export class AppModule {}
```

@@ -236,5 +242,5 @@

```
```ts
shortcuts: {
disableSelection: 'alt+meta,shift+alt'
disableSelection: 'alt+meta,shift+alt';
}

@@ -264,3 +270,3 @@ ```

```
```html
<dts-select-container

@@ -273,3 +279,4 @@ [(selectedItems)]="selectedDocuments"

[custom]="true"
[selectWithShortcut]="false">
[selectWithShortcut]="false"
>
...

@@ -295,4 +302,8 @@ </dts-select-container>

```
<dts-select-container (select)="someMethod($event)" (itemSelected)="itemSelected($event)" (itemDeselected)="itemDeselected($event)">
```html
<dts-select-container
(select)="someMethod($event)"
(itemSelected)="itemSelected($event)"
(itemDeselected)="itemDeselected($event)"
>
...

@@ -315,3 +326,3 @@ </dts-select-container>

```
```ts
import { Component, ViewChild } from '@angular/core';

@@ -334,3 +345,3 @@ import { SelectContainerComponent } from 'ngx-drag-to-select';

```
```html
<button (click)="selectContainer.selectAll()">Select All</button>

@@ -350,12 +361,8 @@ <button (click)="selectContainer.clearSelection()">Clear Selection</button>

```
<dts-select-container #documents>
...
</dts-select-container>
```html
<dts-select-container #documents> ... </dts-select-container>
...
<dts-select-container #images>
...
</dts-select-container>
<dts-select-container #images> ... </dts-select-container>
```

@@ -365,3 +372,3 @@

```
```ts
import { Component, ViewChild } from '@angular/core';

@@ -404,3 +411,3 @@ import { SelectContainerComponent } from 'ngx-drag-to-select';

```
```ts
import { Component, ViewChild } from '@angular/core';

@@ -431,3 +438,3 @@ import { SelectContainerComponent } from 'ngx-drag-to-select';

```
```ts
import { Component, ViewChild } from '@angular/core';

@@ -458,3 +465,3 @@ import { SelectContainerComponent } from 'ngx-drag-to-select';

```
```ts
import { Component, ViewChild } from '@angular/core';

@@ -487,3 +494,3 @@ import { SelectContainerComponent } from 'ngx-drag-to-select';

```
```html
<dts-select-container>

@@ -506,3 +513,3 @@ <ul>

```
```html
<dts-select-container>

@@ -524,8 +531,16 @@ <ul>

### Does this library work with Angular 5.x?
### Can I use this library with an older version of Angular?
The latest version that supports Angular 5.x is 1.1.1. You can still install it via npm or yarn, e.g. `npm install ngx-drag-to-select@1.1.1`.
Yep you totally can! But this also means you won't be able to use the latest features. We are not back porting new features due to the maintenance overhead it would create. Severe bugs and security issues, however, are back ported.
Note, that we try to always keep up with Angular's latest version, hence, older versions will not receive bug fixes nor new features.
What does that mean for you now? We recommend to stay up to date with new Angular versions. If for some reasons you can't then here's an overview of versions you could use with older versions of Angular:
| Angular | ngx-drag-to-select |
| ------------- | ------------------ |
| 5.x.x | <= 1.1.1 |
| 6.x.x - 7.x.x | > 1.1.1 <= 3.1.1 |
| >= 8.0.0 | >= 4.0.0 |
To install a specific version run for example `npm install ngx-drag-to-select@x.x.x`.
### Does this library work with mobile?

@@ -532,0 +547,0 @@

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 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