UNPKG

ngx-feedback

Version:

Angular Feedback Library

2 lines 23.7 kB
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("html2canvas"),require("rxjs"),require("@angular/common"),require("@angular/core")):"function"==typeof define&&define.amd?define("ngx-feedback",["exports","html2canvas","rxjs","@angular/common","@angular/core"],n):n(e["ngx-feedback"]={},e.html2canvas,e.rxjs,e.ng.common,e.ng.core)}(this,function(e,r,o,n,t){"use strict";r=r&&r.hasOwnProperty("default")?r["default"]:r;var c=function(){function e(e,n,t){this.componentFactoryResolver=e,this.appRef=n,this.injector=t}return e.prototype.load=function(e){var n=this.componentFactoryResolver.resolveComponentFactory(e).create(this.injector);this.appRef.attachView(n.hostView);var t=n.hostView.rootNodes[0];return document.body.appendChild(t),n.changeDetectorRef.detectChanges(),n},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.ComponentFactoryResolver},{type:t.ApplicationRef},{type:t.Injector}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(t.ComponentFactoryResolver),t.inject(t.ApplicationRef),t.inject(t.INJECTOR))},token:e,providedIn:"root"}),e}(),i=function(){function e(){this.feedbackClick=new o.Subject,this.feedbackClickObservable=this.feedbackClick.asObservable(),this.specificFeedbackClick=new o.Subject,this.specificFeedbackClickObservable=this.specificFeedbackClick.asObservable(),this.genericFeedbackClick=new o.Subject,this.genericFeedbackClickObservable=this.genericFeedbackClick.asObservable(),this.closeClick=new o.Subject,this.closeClickClickObservable=this.closeClick.asObservable(),this.onSendClick=new o.Subject,this.onSendClickObservable=this.onSendClick.asObservable()}return e.prototype.onSpecificFeedbackClick=function(){this.specificFeedbackClick.next()},e.prototype.onGenericFeedbackClik=function(){this.genericFeedbackClick.next()},e.prototype.onFeedbackButtonClick=function(){this.feedbackClick.next()},e.prototype.onCloseClicked=function(){this.closeClick.next()},e.prototype.onSendClicked=function(e){this.onSendClick.next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),s=function(){function e(e){this.eventsService=e}return e.prototype.ngOnInit=function(){},e.prototype.onClick=function(){this.eventsService.onFeedbackButtonClick()},e.decorators=[{type:t.Component,args:[{selector:"ngx-feedback-main-btn",template:'<button (click)="onClick()" class="feedback-button__container">Feedback</button>\n',encapsulation:t.ViewEncapsulation.None,styles:[".feedback-button__container{position:fixed;right:-34px;top:calc(50% - 37.5px);cursor:pointer;-webkit-transform:rotateZ(90deg);transform:rotateZ(-90deg);border:none;border-radius:5px 5px 0 0;background-color:#3b5560;color:#fff;font-size:14px;padding:5px 10px;font-weight:700;font-family:Verdana;outline:0}.ngx-feedback__highlight{outline:#ffc058 solid 4px;pointer-events:none;cursor:default!important}"]}]}],e.ctorParameters=function(){return[{type:i}]},e}(),a=function(){function e(e){this.eventsService=e,this.imgSrc="",this.formData={rate:0,comment:"",screenshot:null}}return e.prototype.ngOnInit=function(){},e.prototype.onSpecific=function(){this.eventsService.onSpecificFeedbackClick()},e.prototype.onGeneric=function(){this.eventsService.onGenericFeedbackClik()},e.prototype.onCloseClicked=function(){this.eventsService.onCloseClicked()},e.prototype.setPreview=function(e){this.imgSrc=e,this.formData.screenshot=e},e.prototype.onVote=function(e){this.voted=!0,this.formData.rate=e},e.prototype.onSend=function(){var e=this;this.formData.comment=this.comment.nativeElement.value,this.eventsService.onSendClicked(this.formData),this.thanks=!0,setTimeout(function(){e.eventsService.onCloseClicked()},2e3)},e.decorators=[{type:t.Component,args:[{selector:"ngx-feedback-modal",template:'<div class="ngx-feedback-modal__container">\r\n <div class="ngx-feedback-modal__header">\r\n <div class="ngx-feedback-modal__title">Feedback</div>\r\n <div class="ngx-feedback-modal__close" (click)="onCloseClicked()">\r\n <svg viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg">\r\n <line x1="1" y1="24" x2="24" y2="1" stroke="#3b5560" stroke-width="3" />\r\n <line x1="1" y1="1" x2="24" y2="24" stroke="#3b5560" stroke-width="3" />\r\n </svg>\r\n </div>\r\n </div>\r\n <div class="ngx-feedback-modal__content">\r\n <div *ngIf="thanks">\r\n Thanks for your feedback!\r\n </div>\r\n <div *ngIf="!imgSrc && !thanks" class="ngx-feedback-modal__boxes">\r\n <div\r\n class="ngx-feedback-modal__box-container"\r\n [class.ngx-feedback-modal__box-container--border]="!enterGeneric"\r\n (mouseenter)="enterGeneric = true"\r\n (mouseleave)="enterGeneric = false"\r\n >\r\n <div class="ngx-feedback-modal__box" [class.ngx-feedback-modal__box--border]="enterGeneric" (click)="onGeneric()">\r\n <div>Generic</div>\r\n <div class="ngx-feedback-modal__icon">\r\n <svg\r\n version="1.1"\r\n id="Capa_1"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n x="0px"\r\n y="0px"\r\n viewBox="0 0 60 60"\r\n style="enable-background:new 0 0 60 60;"\r\n xml:space="preserve"\r\n >\r\n <g>\r\n <path\r\n d="M7,3C4.794,3,3,4.794,3,7s1.794,4,4,4s4-1.794,4-4S9.206,3,7,3z M7,9C5.897,9,5,8.103,5,7s0.897-2,2-2s2,0.897,2,2\r\n S8.103,9,7,9z"\r\n />\r\n <path\r\n d="M16,3c-2.206,0-4,1.794-4,4s1.794,4,4,4s4-1.794,4-4S18.206,3,16,3z M16,9c-1.103,0-2-0.897-2-2s0.897-2,2-2s2,0.897,2,2\r\n S17.103,9,16,9z"\r\n />\r\n <path\r\n d="M25,3c-2.206,0-4,1.794-4,4s1.794,4,4,4s4-1.794,4-4S27.206,3,25,3z M25,9c-1.103,0-2-0.897-2-2s0.897-2,2-2s2,0.897,2,2\r\n S26.103,9,25,9z"\r\n />\r\n <path d="M0,0v14v46h60V14V0H0z M2,2h56v10H2V2z M58,58H2V14h56V58z" />\r\n <path\r\n d="M55,55V17H5v38H55z M7,53v-2.048l15.974-14.064L33.275,47.19c0.391,0.391,1.023,0.391,1.414,0s0.391-1.023,0-1.414\r\n l-4.807-4.807l9.162-10.035L53,44.424V53H7z M53,19v22.642L39.695,28.781c-0.195-0.188-0.456-0.293-0.727-0.281\r\n c-0.27,0.008-0.525,0.126-0.707,0.325l-9.795,10.727l-4.743-4.743c-0.372-0.373-0.972-0.392-1.368-0.043L7,48.287V19H53z"\r\n />\r\n <path\r\n d="M16.431,33.638c3.071,0,5.569-2.498,5.569-5.569S19.502,22.5,16.431,22.5c-3.07,0-5.568,2.498-5.568,5.569\r\n S13.36,33.638,16.431,33.638z M16.431,24.5c1.968,0,3.569,1.601,3.569,3.569s-1.602,3.569-3.569,3.569s-3.568-1.601-3.568-3.569\r\n S14.463,24.5,16.431,24.5z"\r\n />\r\n </g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class="ngx-feedback-modal__box-container"\r\n [class.ngx-feedback-modal__box-container--border]="!enterSpecific"\r\n (mouseenter)="enterSpecific = true"\r\n (mouseleave)="enterSpecific = false"\r\n >\r\n <div class="ngx-feedback-modal__box" [class.ngx-feedback-modal__box--border]="enterSpecific" (click)="onSpecific()">\r\n <div>Specific</div>\r\n <div class="ngx-feedback-modal__icon">\r\n <svg\r\n version="1.1"\r\n id="Capa_1"\r\n xmlns="http://www.w3.org/2000/svg"\r\n xmlns:xlink="http://www.w3.org/1999/xlink"\r\n x="0px"\r\n y="0px"\r\n viewBox="0 0 60 60"\r\n style="enable-background:new 0 0 60 60;"\r\n xml:space="preserve"\r\n >\r\n <g>\r\n <path\r\n d="M7,3C4.794,3,3,4.794,3,7s1.794,4,4,4s4-1.794,4-4S9.206,3,7,3z M7,9C5.897,9,5,8.103,5,7s0.897-2,2-2s2,0.897,2,2\r\n S8.103,9,7,9z"\r\n />\r\n <path\r\n d="M16,3c-2.206,0-4,1.794-4,4s1.794,4,4,4s4-1.794,4-4S18.206,3,16,3z M16,9c-1.103,0-2-0.897-2-2s0.897-2,2-2s2,0.897,2,2\r\n S17.103,9,16,9z"\r\n />\r\n <path\r\n d="M25,3c-2.206,0-4,1.794-4,4s1.794,4,4,4s4-1.794,4-4S27.206,3,25,3z M25,9c-1.103,0-2-0.897-2-2s0.897-2,2-2s2,0.897,2,2\r\n S26.103,9,25,9z"\r\n />\r\n <path d="M0,0v14v46h60V14V0H0z M2,2h56v10H2V2z M58,58H2V14h56V58z" />\r\n <path d="M28,18H6v16h22V18z M26,32H8V20h18V32z" />\r\n <path\r\n d="M28,54V38H6v16H28z M13,40c0,0.552,0.448,1,1,1s1-0.448,1-1h4c0,0.552,0.448,1,1,1s1-0.448,1-1h4c0,0.552,0.448,1,1,1v4\r\n c-0.552,0-1,0.448-1,1c0,0.552,0.448,1,1,1v4c-0.552,0-1,0.448-1,1h-4c0-0.552-0.448-1-1-1s-1,0.448-1,1h-4c0-0.552-0.448-1-1-1\r\n s-1,0.448-1,1H9c0-0.552-0.448-1-1-1v-4c0.552,0,1-0.448,1-1c0-0.552-0.448-1-1-1v-4c0.552,0,1-0.448,1-1H13z"\r\n />\r\n <path d="M54,18H32v16h22V18z M52,32H34V20h18V32z" />\r\n <path d="M54,38H32v16h22V38z M52,52H34V40h18V52z" />\r\n <circle cx="23" cy="43" r="1" />\r\n <circle cx="20" cy="46" r="1" />\r\n <circle cx="23" cy="49" r="1" />\r\n <circle cx="17" cy="43" r="1" />\r\n <circle cx="14" cy="46" r="1" />\r\n <circle cx="17" cy="49" r="1" />\r\n <circle cx="11" cy="43" r="1" />\r\n <circle cx="11" cy="49" r="1" />\r\n </g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n <g></g>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class="ngx-feedback-modal__preview-container" *ngIf="imgSrc && !thanks">\r\n <div class="ngx-feedback-modal__preview"><img [src]="imgSrc" style="width: 100%; height: auto" /></div>\r\n </div>\r\n <ngx-feedback-star-vote *ngIf="imgSrc && !thanks" (voted)="onVote($event)"></ngx-feedback-star-vote>\r\n <textarea\r\n #comment\r\n class="ngx-feedback-modal__textarea"\r\n *ngIf="imgSrc && voted && !thanks"\r\n rows="4"\r\n cols="50"\r\n placeholder="Enter your feedback..."\r\n autofocus="true"\r\n ></textarea>\r\n </div>\r\n\r\n <div class="ngx-feedback-modal__footer">\r\n <ngx-feedback-btn *ngIf="imgSrc && !thanks" class="ngx-feedback-modal__send" (click)="onSend()">Send</ngx-feedback-btn>\r\n </div>\r\n</div>\r\n',styles:[".ngx-feedback-modal__header{height:30px;color:#3b5560;font-weight:700;display:flex;flex-direction:row;justify-content:space-between}.ngx-feedback-modal__title{padding-left:16px;padding-top:8px}.ngx-feedback-modal__footer{height:30px}.ngx-feedback-modal__container{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;position:fixed;top:50%;left:50%;width:400px;padding:10px;z-index:1000;background:#fff;-webkit-transform:translate(-200px,-250px);transform:translate(-200px,-250px);border:1px solid #3b5560;border-radius:3px;box-shadow:0 0 30px 1px #000;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between}.ngx-feedback-modal__content{padding:20px 0;display:flex;flex-direction:column;justify-content:center;align-items:center}.ngx-feedback-modal__boxes{display:flex;flex-direction:row;justify-content:center;align-items:center}.ngx-feedback-modal__box{display:flex;flex-direction:column;justify-content:center;align-items:center;height:80px;padding:5px 15px;font-size:14px;font-weight:700;cursor:pointer}.ngx-feedback-modal__box--border{border:2px solid #3b5560;border-radius:3px}.ngx-feedback-modal__box-container{padding:5px;margin:0 10px}.ngx-feedback-modal__box-container--border{border-radius:3px;border:2px solid #3b5560}.ngx-feedback-modal__send{float:right}.ngx-feedback-modal__icon{width:40px;padding-top:10px}.ngx-feedback-modal__preview{width:80%;border:2px solid #3b5560;border-radius:3px}.ngx-feedback-modal__preview-container{display:flex;justify-content:center}.ngx-feedback-modal__textarea{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;outline-color:#3b5560;border-radius:3px;border:1px solid #3b5560;margin-bottom:20px;width:80%;padding:5px}.ngx-feedback-modal__close{width:14px;cursor:pointer}"]}]}],e.ctorParameters=function(){return[{type:i}]},e.propDecorators={comment:[{type:t.ViewChild,args:["comment"]}]},e}(),d=function(){function e(){this.click=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.onClick=function(){this.click.emit()},e.decorators=[{type:t.Component,args:[{selector:"ngx-feedback-backdrop",template:'<div class="ngx-feedback-backdrop__container"></div>',styles:[".ngx-feedback-backdrop__container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;background-color:#3b5560;opacity:.7}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={click:[{type:t.Output}]},e}(),l=function(){function e(e){this.componentLoader=e}return e.prototype.openWithPreview=function(e){this.draw(),this.modalRef.instance.setPreview(e)},e.prototype.draw=function(){this.backdropRef=this.componentLoader.load(d),this.modalRef=this.componentLoader.load(a)},e.prototype.remove=function(){this.modalRef.destroy(),this.backdropRef.destroy()},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:c}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(c))},token:e,providedIn:"root"}),e}(),p=function(){function e(e){this.rendererFactory=e,this.preview=new o.Subject,this.subs=[],this.renderer=this.rendererFactory.createRenderer(null,null)}return e.prototype.pageScreenshot=function(){this.screenshot(document.body)},e.prototype.elementsHighlight=function(){var n,t=this,r=[];this.source=o.fromEvent(document,"mousemove").subscribe(function(e){n&&t.renderer.removeClass(n,"ngx-feedback__highlight"),n=document.elementFromPoint(e.x,e.y),-1===r.findIndex(function(e){return e===n})&&(r.push(n),t.subs.push(o.fromEvent(n,"click").subscribe(function(e){e.stopPropagation(),t.screenshot(n)}))),t.renderer.addClass(n,"ngx-feedback__highlight")})},e.prototype.screenshot=function(e){var n,t=this;r(e).then(function(e){n=e.toDataURL(),t.preview.next(n)}),this.renderer.removeClass(e,"ngx-feedback__highlight"),this.clean()},e.prototype.clean=function(){this.source&&this.source.unsubscribe(),this.subs.forEach(function(e){return e.unsubscribe()})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:t.RendererFactory2}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(t.RendererFactory2))},token:e,providedIn:"root"}),e}(),f=function(){function e(e,n,t){this.modalService=e,this.selectorsService=n,this.eventsService=t,this.subscriptions=[],this.onSend=new o.Subject}return e.prototype.ngOnInit=function(){this.subscriptions.push(this.onFeedbackButtonClick(),this.onSpecificFeedbackClick(),this.onGenericFeedbackClick(),this.onElementSelected(),this.onCloseClick(),this.onSendClick())},e.prototype.onElementSelected=function(){var n=this;return this.selectorsService.preview.subscribe(function(e){n.modalService.openWithPreview(e)})},e.prototype.onFeedbackButtonClick=function(){var e=this;return this.eventsService.feedbackClickObservable.subscribe(function(){e.modalService.draw()})},e.prototype.onSpecificFeedbackClick=function(){var e=this;return this.eventsService.specificFeedbackClickObservable.subscribe(function(){e.modalService.remove(),e.selectorsService.elementsHighlight()})},e.prototype.onGenericFeedbackClick=function(){var e=this;return this.eventsService.genericFeedbackClickObservable.subscribe(function(){e.modalService.remove(),e.selectorsService.pageScreenshot()})},e.prototype.onCloseClick=function(){var e=this;return this.eventsService.closeClickClickObservable.subscribe(function(){e.modalService.remove()})},e.prototype.onSendClick=function(){var n=this;return this.eventsService.onSendClickObservable.subscribe(function(e){n.onSend.next(e)})},e.prototype.ngOnDestroy=function(){this.subscriptions.forEach(function(e){e.unsubscribe()})},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:l},{type:p},{type:i}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(l),t.inject(p),t.inject(i))},token:e,providedIn:"root"}),e}(),u=function(){function e(e,n){this.componentLoader=e,this.orchestratorService=n}return e.prototype.listenForFeedbacks=function(){return this.orchestratorService.ngOnInit(),this.componentLoader.load(s),this.orchestratorService.onSend},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[{type:c},{type:f}]},e.ngInjectableDef=t.defineInjectable({factory:function(){return new e(t.inject(c),t.inject(f))},token:e,providedIn:"root"}),e}(),b=function(){function e(){this.click=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.onClick=function(){this.click.emit()},e.decorators=[{type:t.Component,args:[{selector:"ngx-feedback-btn",template:'<button class="ngx-feedback-btn__container" (click)="onClick()"><ng-content></ng-content></button>\n',styles:[".ngx-feedback-btn__container{text-transform:uppercase;border:2px solid transparent;border-radius:3px;outline:0;padding:6px 12px;font-size:12px;font-weight:700;color:#fff;background-color:#3b5560;cursor:pointer}.ngx-feedback-btn__container:hover{color:#3b5560;border:2px solid #3b5560;background-color:#fff}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={click:[{type:t.Output}]},e}(),g=function(){function e(){this.click=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.onClick=function(){this.click.emit()},e.decorators=[{type:t.Component,args:[{selector:"ngx-feedback-star",template:'<div class="ngx-feedback-star__container" (click)="onClick()">\n <div *ngIf="type === \'full\' || type === \'temp\'; else empty">\n <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="#ffc058">\n <path\n d="M12 .587l3.668 7.568 8.332 1.151-6.064 5.828 1.48 8.279-7.416-3.967-7.417 3.967 1.481-8.279-6.064-5.828 8.332-1.151z"\n />\n </svg>\n </div>\n <ng-template #empty>\n <div>\n <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="#ffc058">\n <path\n d="M12 5.173l2.335 4.817 5.305.732-3.861 3.71.942 5.27-4.721-2.524-4.721 2.525.942-5.27-3.861-3.71 5.305-.733 2.335-4.817zm0-4.586l-3.668 7.568-8.332 1.151 6.064 5.828-1.48 8.279 7.416-3.967 7.416 3.966-1.48-8.279 6.064-5.827-8.332-1.15-3.668-7.569z"\n />\n </svg>\n </div>\n </ng-template>\n</div>\n',styles:[".ngx-feedback-star__container{cursor:pointer;padding:5px}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={type:[{type:t.Input}],click:[{type:t.Output}]},e}(),h=function(){function e(){this.stars=[{type:"empty",value:1},{type:"empty",value:2},{type:"empty",value:3},{type:"empty",value:4},{type:"empty",value:5}],this.voted=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.onClick=function(t){this.stars.forEach(function(e,n){e.type=n<=t?"full":"empty"}),this.voted.emit(t+1)},e.prototype.onMouseEnter=function(t){this.stars.forEach(function(e,n){n<=t&&"full"!==e.type&&(e.type="temp")})},e.prototype.onMouseLeave=function(e){this.stars.forEach(function(e,n){"temp"===e.type&&(e.type="empty")})},e.decorators=[{type:t.Component,args:[{selector:"ngx-feedback-star-vote",template:'<div class="ngx-feedback-star-vote__container">\n <div class="ngx-feedback-star-vote__star" *ngFor="let s of stars; index as i">\n <ngx-feedback-star\n (click)="onClick(i)"\n (mouseenter)="onMouseEnter(i)"\n (mouseleave)="onMouseLeave(i)"\n [type]="s.type"\n ></ngx-feedback-star>\n </div>\n</div>\n',styles:[".ngx-feedback-star-vote__container{display:flex;flex-direction:row;justify-content:center;padding:10px}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={voted:[{type:t.Output}]},e}(),v=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[s,a,b,d,g,h],entryComponents:[s,a,d],providers:[u,f,c,l,p,i],imports:[n.CommonModule],exports:[]}]}],e}(),k=function x(){};e.NgxFeedbackService=u,e.NgxFeedbackModule=v,e.FeedbackData=k,e.ɵg=d,e.ɵf=b,e.ɵc=s,e.ɵe=a,e.ɵi=h,e.ɵh=g,e.ɵb=f,e.ɵa=c,e.ɵd=i,e.ɵk=l,e.ɵj=f,e.ɵl=p,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=ngx-feedback.umd.min.js.map