UNPKG

@lucasferreiralsf/angular-frontend-library

Version:

This is a set of custom angular components to easy the development of any Subway frontend project.

2 lines 35.7 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/cdk/collections"),require("rxjs/operators"),require("ng-animate"),require("@angular/material/input"),require("@angular/material/autocomplete"),require("@angular/material/datepicker"),require("@angular/material/form-field"),require("@angular/material/radio"),require("@angular/material/select"),require("@angular/material/slider"),require("@angular/material/slide-toggle"),require("@angular/material/menu"),require("@angular/material/sidenav"),require("@angular/material/toolbar"),require("@angular/material/list"),require("@angular/material/grid-list"),require("@angular/material/card"),require("@angular/material/stepper"),require("@angular/material/tabs"),require("@angular/material/expansion"),require("@angular/material/button-toggle"),require("@angular/material/chips"),require("@angular/material/icon"),require("@angular/material/progress-spinner"),require("@angular/material/progress-bar"),require("@angular/material/tooltip"),require("@angular/material/snack-bar"),require("@angular/material/table"),require("@angular/material/sort"),require("@angular/material/paginator"),require("@angular/material/core"),require("@angular/forms"),require("@angular/cdk/portal"),require("@angular/cdk/overlay"),require("@angular/flex-layout"),require("@angular/common"),require("@angular/animations"),require("@angular/platform-browser/animations"),require("ngx-perfect-scrollbar"),require("@angular/core"),require("@angular/material"),require("@angular/material/dialog")):"function"==typeof define&&define.amd?define("@lucasferreiralsf/angular-frontend-library",["exports","@angular/cdk/collections","rxjs/operators","ng-animate","@angular/material/input","@angular/material/autocomplete","@angular/material/datepicker","@angular/material/form-field","@angular/material/radio","@angular/material/select","@angular/material/slider","@angular/material/slide-toggle","@angular/material/menu","@angular/material/sidenav","@angular/material/toolbar","@angular/material/list","@angular/material/grid-list","@angular/material/card","@angular/material/stepper","@angular/material/tabs","@angular/material/expansion","@angular/material/button-toggle","@angular/material/chips","@angular/material/icon","@angular/material/progress-spinner","@angular/material/progress-bar","@angular/material/tooltip","@angular/material/snack-bar","@angular/material/table","@angular/material/sort","@angular/material/paginator","@angular/material/core","@angular/forms","@angular/cdk/portal","@angular/cdk/overlay","@angular/flex-layout","@angular/common","@angular/animations","@angular/platform-browser/animations","ngx-perfect-scrollbar","@angular/core","@angular/material","@angular/material/dialog"],e):e((t.lucasferreiralsf=t.lucasferreiralsf||{},t.lucasferreiralsf["angular-frontend-library"]={}),t.ng.cdk.collections,t.rxjs.operators,t.ngAnimate,t.ng.material.input,t.ng.material.autocomplete,t.ng.material.datepicker,t.ng.material["form-field"],t.ng.material.radio,t.ng.material.select,t.ng.material.slider,t.ng.material["slide-toggle"],t.ng.material.menu,t.ng.material.sidenav,t.ng.material.toolbar,t.ng.material.list,t.ng.material["grid-list"],t.ng.material.card,t.ng.material.stepper,t.ng.material.tabs,t.ng.material.expansion,t.ng.material["button-toggle"],t.ng.material.chips,t.ng.material.icon,t.ng.material["progress-spinner"],t.ng.material["progress-bar"],t.ng.material.tooltip,t.ng.material["snack-bar"],t.ng.material.table,t.ng.material.sort,t.ng.material.paginator,t.ng.material.core,t.ng.forms,t.ng.cdk.portal,t.ng.cdk.overlay,t.ng["flex-layout"],t.ng.common,t.ng.animations,t.ng.platformBrowser.animations,t.ngxPerfectScrollbar,t.ng.core,t.ng.material,t.ng.material.dialog)}(this,function(t,o,n,e,r,a,i,l,s,c,u,p,m,d,g,f,h,y,b,v,C,w,x,k,I,S,E,D,M,T,B,N,O,q,A,L,P,R,F,j,H,V,z){"use strict";var G=function(){function t(){this.columnNames=[],this.actions=[],this.inputData=[],this.topActionButtons=[]}return t.prototype.ngOnInit=function(){},t.decorators=[{type:H.Component,args:[{selector:"sb-view-container",template:'<div class="view-container mat-elevation-z3">\r\n <sb-data-table [selectColumn]="tableSelectColumn" [columnNames]="columnNames" [actions]="actions" [inputData]="inputData" [topActionButtons]="topActionButtons">\r\n <ng-content select=".filters" class="sb-data-table-content"></ng-content>\r\n </sb-data-table>\r\n</div>\r\n',styles:[".view-container{transition:box-shadow 280ms cubic-bezier(.4,0,.2,1);display:block;position:relative;padding:16px 0;margin:5px;border-radius:4px;background:#fff}.filter-container{padding:5px 16px}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={tableSelectColumn:[{type:H.Input}],columnNames:[{type:H.Input}],actions:[{type:H.Input}],inputData:[{type:H.Input}],topActionButtons:[{type:H.Input}]},t}(),W=function(){function t(t,e){this.overlay=t,this.viewContainerRef=e,this.limpar=new H.EventEmitter,this.pesquisa=new H.EventEmitter,this.positions=[{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}]}return t.prototype.ngOnInit=function(){this.dropDownDialogOpen="out",this.btnLimparOutsideShow="out"},t.prototype.ngAfterViewInit=function(){this.strategy=this.overlay.position().flexibleConnectedTo(this._overlayOrigin.elementRef).withPositions(this.positions).withTransformOriginOn("#filter-table-button"),this.config=new A.OverlayConfig({positionStrategy:this.strategy,hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop"}),this.overlayRef=this.overlay.create(this.config)},t.prototype.openFilterTableContentOverlay=function(){var t=this;this.overlayRef.backdropClick().subscribe(function(){t.overlayRef.detach()}),this.overlayRef.attach(this.overlayDropDownContentTemplate)},t.prototype.closeDropdown=function(){this.overlayRef.hasAttached&&this.overlayRef.detach()},t.prototype.toggleFilter=function(){this.dropDownDialogOpen="out"===this.dropDownDialogOpen?"in":"out"},t.prototype.pesquisar=function(){this.pesquisa.emit(),this.btnLimparOutsideShow="in",this.closeDropdown()},t.prototype.limparFiltro=function(){this.limpar.emit(),this.btnLimparOutsideShow="out",this.closeDropdown()},t.decorators=[{type:H.Component,args:[{selector:"sb-filter-table",template:'<div fxLayout="row" fxLayoutAlign="flex-end center">\r\n\t<button @flipInOut *ngIf="btnLimparOutsideShow == \'in\'" id="btn-filter-limpar-outside" mat-button class="btn-filter"\r\n\t\t(click)="limparFiltro();">Limpar Filtro</button>\r\n\t<button mat-icon-button (click)="openFilterTableContentOverlay()" cdk-overlay-origin id="filter-table-button">\r\n\t\t<mat-icon>filter_list</mat-icon>\r\n\t</button>\r\n\t<ng-template cdk-portal #overlayDropDownContentTemplate="cdkPortal">\r\n\t\t<mat-card @flipInOut style="z-index: 1;" class="mat-elevation-z4">\r\n\t\t\t<div fxLayout="row wrap" fxLayoutGap="20px grid" fxLayoutAlign="center">\r\n\t\t\t\t<ng-content></ng-content>\r\n\t\t\t</div>\r\n\t\t\t<sb-filter-table-actions (limpar)="limparFiltro()" (pesquisa)="pesquisar()"></sb-filter-table-actions>\r\n\t\t</mat-card>\r\n\t</ng-template>\r\n</div>\r\n',animations:[R.trigger("flipInOut",[R.transition("void => *",R.useAnimation(e.flipInX,{params:{timing:.4,delay:0}})),R.transition("* => void",R.useAnimation(e.flipOutX,{params:{timing:.5,delay:0}}))])],styles:[""]}]}],t.ctorParameters=function(){return[{type:A.Overlay},{type:H.ViewContainerRef}]},t.propDecorators={limpar:[{type:H.Output}],pesquisa:[{type:H.Output}],_overlayOrigin:[{type:H.ViewChild,args:[A.CdkOverlayOrigin]}],overlayDropDownContentTemplate:[{type:H.ViewChild,args:["overlayDropDownContentTemplate"]}]},t}(),X=function(){function t(t){this.cdr=t,this.showHint=!1}return t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){this.formfields.forEach(function(t){t.updateOutlineGap()}),this.cdr.detectChanges()},t.decorators=[{type:H.Component,args:[{selector:"sb-mat-form-field",template:'<mat-form-field [appearance]="appearence" fxFlex >\r\n <mat-label>{{formName}}</mat-label>\r\n <input matInput placeholder="{{placeHolder ? placeHolder : formName}}" />\r\n <mat-icon matSuffix>{{iconName}}</mat-icon>\r\n <mat-hint *ngIf="showHint">{{hint}}</mat-hint>\r\n</mat-form-field>\r\n',styles:[""]}]}],t.ctorParameters=function(){return[{type:H.ChangeDetectorRef}]},t.propDecorators={appearence:[{type:H.Input}],showHint:[{type:H.Input}],hint:[{type:H.Input}],matSuffix:[{type:H.Input}],matPrefix:[{type:H.Input}],iconName:[{type:H.Input}],placeHolder:[{type:H.Input}],formName:[{type:H.Input}],ngModel:[{type:H.Output}],formfields:[{type:H.ViewChildren,args:[V.MatFormField]}]},t}(),_=function(){function t(){this.limpar=new H.EventEmitter,this.pesquisa=new H.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.pesquisar=function(){this.pesquisa.emit()},t.prototype.limparFiltro=function(){this.limpar.emit()},t.decorators=[{type:H.Component,args:[{selector:"sb-filter-table-actions",template:'<div fxLayout="row" fxLayoutAlign="flex-end center" fxLayoutGap="8px">\n <button\n id="btn-filter-limpar-inside"\n mat-stroked-button\n class="btn-filter"\n (click)="limparFiltro()"\n >\n Limpar\n </button>\n <button\n id="btn-filter-pesquisar"\n mat-flat-button\n color="primary"\n class="btn-filter"\n (click)="pesquisar()"\n >\n Pesquisar\n </button>\n <ng-content></ng-content>\n</div>\n',styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={limpar:[{type:H.Output}],pesquisa:[{type:H.Output}]},t}(),Y=function(){function t(){this.buttonRowEvent=new H.EventEmitter,this.topButtonEvent=new H.EventEmitter,this.inputDataEvent=new H.EventEmitter,this.filterLimparEvent=new H.EventEmitter,this.filterPesquisarEvent=new H.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.getData=function(){return this.data},t.prototype.setDataSource=function(t){return this.data=new V.MatTableDataSource(t),this.data},t.prototype.setInputData=function(t){this.inputDataEvent.emit(t)},t.prototype.buttonRowClick=function(t,e){this.buttonRowEvent.emit({event:t,index:e})},t.prototype.topButtonClick=function(t){this.topButtonEvent.emit(t)},t.prototype.filterLimparButtonClick=function(){this.filterLimparEvent.emit()},t.prototype.filterPesquisarButtonClick=function(){this.filterPesquisarEvent.emit()},t.decorators=[{type:H.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=H.defineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}(),$=function(){function t(){this.emitirCloseEvent=new H.EventEmitter,this.buttonClickEvent=new H.EventEmitter}return t.prototype.closeDropdown=function(){this.emitirCloseEvent.emit()},t.prototype.buttonClickEmit=function(t,e){this.buttonClickEvent.emit({event:t,elementId:e})},t.decorators=[{type:H.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=H.defineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}(),U=function(){function t(t,e,n){this.dataTableService=t,this.popoverService=e,this.renderer=n,this.selectColumn=!1,this.columnNames=[],this.actions=[],this.inputData=[],this.topActionButtons=[],this.displayedColumns=[],this.columnsToDisplay=[],this.selection=new o.SelectionModel(!0,[]),this.columnsNameApi=[],this.topButtonStyle={height:"32px","line-height":"32px"}}return t.prototype.ngOnInit=function(){var e=this;this.data=this.dataTableService.setDataSource(this.inputData),this.columnsNameApi=this.columnNames.map(function(t){return t.columnNameApi}),this.displayColumns(),this.dataTableService.inputDataEvent.subscribe(function(t){e.load(t)})},t.prototype.load=function(t){var e=this;this.inputData=t,this.columnsNameApi=this.columnNames.map(function(t){return t.columnNameApi}),this.data=this.dataTableService.setDataSource(this.inputData),this.noData=this.data.connect().pipe(n.map(function(t){return 0===t.length})),this.data.paginator=this.paginator,this.addActionsToData(),this.displayColumns(),this.popoverService.buttonClickEvent.subscribe(function(t){e.buttonRowClick(t.event,t.elementId)})},t.prototype.filterLimparButtonClick=function(){this.dataTableService.filterLimparButtonClick()},t.prototype.filterPesquisarButtonClick=function(){this.dataTableService.filterPesquisarButtonClick()},t.prototype.topButtonClick=function(t){this.dataTableService.topButtonClick(t)},t.prototype.buttonRowClick=function(t,e){this.dataTableService.buttonRowClick(t.toLowerCase(),e)},t.prototype.addActionsToData=function(){var e=this;this.data.data.map(function(t){t.actions=Object.assign({},e.actions)})},t.prototype.isAllSelected=function(){return this.selection.selected.length===this.data.data.length},t.prototype.masterToggle=function(){var e=this;this.isAllSelected()?this.selection.clear():this.data.data.forEach(function(t){return e.selection.select(t)})},t.prototype.displayColumns=function(){this.selectColumn&&this.addSelectToDisplayedColumns(),0<=this.actions.length&&this.addActionsToDisplayedColumns()},t.prototype.addSelectToDisplayedColumns=function(){var t=["select"];this.columnsNameApi&&0!==this.columnsNameApi.length?(this.columnsNameApi=t.concat(this.columnsNameApi),this.displayedColumns=this.columnsNameApi):this.displayedColumns=t.concat(Object.keys(this.data[0])),this.columnsToDisplay=this.displayedColumns.slice()},t.prototype.addActionsToDisplayedColumns=function(){var t=["actions"];this.columnsNameApi&&0!==this.columnsNameApi.length?(this.columnsNameApi.push(t[0]),this.displayedColumns=this.columnsNameApi):this.displayedColumns=t.concat(Object.keys(this.data[0])),this.columnsToDisplay=this.displayedColumns.slice()},t.prototype.verifyNameColumn=function(t){var e=this.columnNames.map(function(t){return t.columnNameApi}).indexOf(t);return 0<=e?this.columnNames[e].displayName:t},t.prototype.addColumn=function(){var t=Math.floor(Math.random()*this.displayedColumns.length);this.columnsToDisplay.push(this.displayedColumns[t])},t.prototype.removeColumn=function(){this.columnsToDisplay.length&&this.columnsToDisplay.pop()},t.decorators=[{type:H.Component,args:[{selector:"sb-data-table",template:'<div>\r\n <div fxLayout fxLayoutAlign="space-between center" class="mr-16 ml-16 mb-5">\r\n <div #topButtonAction fxLayout="row wrap" fxLayoutAlign="flex-start center" fxLayoutGap="10px grid">\r\n <sb-button\r\n *ngFor="let buttonElement of topActionButtons"\r\n [materialTypeButton]="buttonElement.buttonType"\r\n [color]="buttonElement.buttonColor"\r\n [actionName]="buttonElement.actionName"\r\n [customStyles]="topButtonStyle"\r\n (buttonClick)="topButtonClick(buttonElement.eventSlug)"\r\n ></sb-button>\r\n </div>\r\n <sb-filter-table (limpar)="filterLimparButtonClick()" (pesquisa)="filterPesquisarButtonClick()">\r\n <ng-content select=".sb-data-table-content"></ng-content>\r\n </sb-filter-table>\r\n </div>\r\n <table mat-table [dataSource]="data" style="width: 100%;" class="table-striped table-hover">\r\n \x3c!-- Checkbox Column --\x3e\r\n\r\n <ng-container [matColumnDef]="column" *ngFor="let column of displayedColumns">\r\n <div *ngIf="column == \'select\'">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox\r\n (change)="$event ? masterToggle() : null"\r\n [checked]="selection.hasValue() && isAllSelected()"\r\n [indeterminate]="selection.hasValue() && !isAllSelected()"\r\n >\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef="let row">\r\n <mat-checkbox\r\n (click)="$event.stopPropagation()"\r\n (change)="$event ? selection.toggle(row) : null"\r\n [checked]="selection.isSelected(row)"\r\n >\r\n </mat-checkbox>\r\n </td>\r\n </div>\r\n <div *ngIf="column !== \'select\' && column !== \'actions\'">\r\n <th mat-header-cell *matHeaderCellDef>\r\n {{ verifyNameColumn(column) }}\r\n </th>\r\n <td mat-cell *matCellDef="let element">{{ element[column] }}</td>\r\n </div>\r\n <div *ngIf="column == \'actions\'">\r\n <th mat-header-cell *matHeaderCellDef>Ações</th>\r\n <td mat-cell *matCellDef="let element">\r\n <div fxLayout>\r\n <div *ngFor="let buttonElement of (element.actions | keyvalue)">\r\n <button\r\n mat-icon-button\r\n *ngIf="!buttonElement.value.isDelete"\r\n (click)="buttonRowClick(buttonElement.value.actionName, element.id)"\r\n matTooltip="{{ buttonElement.value.actionDescription }}"\r\n >\r\n <mat-icon>{{ buttonElement.value.actionIcon }}</mat-icon>\r\n </button>\r\n <sb-popover\r\n *ngIf="buttonElement.value.isDelete"\r\n matTooltip="{{ buttonElement.value.actionDescription }}"\r\n elementId="{{ element.id }}"\r\n popoverTitle="{{ buttonElement.value.isDeleteTitle }}"\r\n popoverDescription="{{ buttonElement.value.isDeleteDescription }}"\r\n ></sb-popover>\r\n </div>\r\n </div>\r\n </td>\r\n </div>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef="columnsToDisplay"></tr>\r\n <tr mat-row *matRowDef="let row; columns: columnsToDisplay" (click)="selection.toggle(row)"></tr>\r\n </table>\r\n\r\n <div @flipInOut *ngIf="data.data.length == 0" fxLayout="column" fxLayoutAlign="center center" fxLayoutGap="5px" class="m-30">\r\n <img src="../../../assets/img/nodata.svg" />\r\n <p class=" mat-caption">\r\n Sem Registros\r\n </p>\r\n </div>\r\n\r\n <mat-paginator [pageSizeOptions]="[5, 10, 25, 100]" class="mt-10"></mat-paginator>\r\n</div>\r\n',animations:[R.trigger("flipInOut",[R.transition("void => *",R.useAnimation(e.flipInX,{params:{timing:.3,delay:0,a:"10px",b:"0"}})),R.transition("* => void",R.useAnimation(e.flipOutX,{params:{timing:.3,delay:0}}))])],styles:["td.mat-cell:last-of-type,td.mat-footer-cell:last-of-type,th.mat-header-cell:last-of-type{width:180px;text-align:center}"]}]}],t.ctorParameters=function(){return[{type:Y},{type:$},{type:H.Renderer2}]},t.propDecorators={selectColumn:[{type:H.Input}],columnNames:[{type:H.Input}],actions:[{type:H.Input}],inputData:[{type:H.Input}],topActionButtons:[{type:H.Input}],paginator:[{type:H.ViewChild,args:[V.MatPaginator]}]},t}(),J=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:H.Component,args:[{selector:"sb-data-table-actions",template:"<p>\n data-table-actions works!\n</p>\n",styles:[""]}]}],t.ctorParameters=function(){return[]},t}(),K=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:H.Component,args:[{selector:"sb-data-table-row-actions",template:"<p>\n data-table-row-actions works!\n</p>\n",styles:[""]}]}],t.ctorParameters=function(){return[]},t}(),Q=function(){function t(t,e,n){this.overlay=t,this.viewContainerRef=e,this.popoverService=n,this.positions=[{originX:"start",originY:"top",overlayX:"center",overlayY:"bottom"}]}return t.prototype.ngAfterViewInit=function(){this.strategy=this.overlay.position().flexibleConnectedTo(this.popoverOrigin.elementRef).withPositions(this.positions).withTransformOriginOn("#action-dropdown-button"),this.config=new A.OverlayConfig({positionStrategy:this.strategy,hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop"}),this.overlayRef=this.overlay.create(this.config)},t.prototype.openPopover=function(){var t=this;this.overlayRef.backdropClick().subscribe(function(){t.overlayRef.detach()}),this.popoverService.emitirCloseEvent.subscribe(function(){t.overlayRef.detach()}),this.overlayRef.attach(this.popoverContentTemplate)},t.prototype.clickActionButton=function(t){this.popoverService.buttonClickEmit(t.toLowerCase(),this.elementId),this.popoverService.closeDropdown()},t.decorators=[{type:H.Component,args:[{selector:"sb-popover",template:'<button\r\n mat-icon-button\r\n type="button"\r\n id="action-dropdown-button"\r\n cdk-overlay-origin\r\n (click)="openPopover()"\r\n>\r\n <mat-icon>delete</mat-icon>\r\n</button>\r\n<ng-template cdk-portal #popoverContentTemplate="cdkPortal">\r\n <div\r\n @flipInOut\r\n fxLayout="column"\r\n fxLayoutAlign="space-between"\r\n class="div-container-popover mat-elevation-z4 arrowBox"\r\n >\r\n <div fxLayout>\r\n <div class="mat-body">{{ popoverTitle }}</div>\r\n </div>\r\n <div fxLayout class="p-10">\r\n <div class="mat-caption">{{ popoverDescription }}</div>\r\n </div>\r\n <div fxLayout fxLayoutAlign="flex-end" fxLayoutGap="5px">\r\n <button\r\n mat-flat-button\r\n class="button-popover"\r\n (click)="clickActionButton(\'canceldelete\')"\r\n >\r\n Cancelar\r\n </button>\r\n <button\r\n mat-flat-button\r\n color="primary"\r\n class="button-popover"\r\n (click)="clickActionButton(\'confirmdelete\')"\r\n >\r\n Confirmar\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n',animations:[R.trigger("flipInOut",[R.transition("void => *",R.useAnimation(e.fadeInUp,{params:{timing:.3,delay:0,a:"10px",b:"0"}})),R.transition("* => void",R.useAnimation(e.fadeOut,{params:{timing:.3,delay:0}}))])],styles:[".button-popover{font-size:.7em;height:20px;line-height:20px;padding:0}.mat-body{font-weight:500}.arrowBox{min-width:200px;min-height:30px;background-color:#fff;border-radius:5px;position:relative;padding:10px;font-family:Roboto,sans-serif;font-size:14px;line-height:22px;text-align:center;margin:0 0 7px 30px}.arrowBox:after{content:' ';width:0;height:0;border-top:10px solid #fff;border-left:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #fff;border-radius:0 30%;position:absolute;left:50%;top:100%;margin:-10px 0 0 -5px;-webkit-transform:rotate(135deg);transform:rotate(135deg);box-shadow:3px -4px 5px -1px rgba(0,0,0,.26)}#player{z-index:-1;position:relative;top:-16px;left:114px}#inner{-webkit-transform:rotate(45deg);transform:rotate(45deg);background-color:#fff;width:20px;height:20px;top:2px;left:-9px;position:relative;border-radius:6px}#outer{position:absolute;width:16px;height:25px;overflow:hidden;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}"]}]}],t.ctorParameters=function(){return[{type:A.Overlay},{type:H.ViewContainerRef},{type:$}]},t.propDecorators={popoverTitle:[{type:H.Input}],popoverDescription:[{type:H.Input}],elementId:[{type:H.Input}],popoverOrigin:[{type:H.ViewChild,args:[A.CdkOverlayOrigin]}],popoverContentTemplate:[{type:H.ViewChild,args:["popoverContentTemplate"]}]},t}(),Z=function(){function t(){this.buttonClick=new H.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.topButtonClick=function(){this.buttonClick.emit()},t.decorators=[{type:H.Component,args:[{selector:"sb-button",template:'<div [ngSwitch]="materialTypeButton">\r\n <button\r\n *ngSwitchCase="\'mat-button\'"\r\n mat-button\r\n color="{{ color }}"\r\n [ngClass]="fullWidth ? \'button-full-width\' : \'\'"\r\n [type]="typeButton"\r\n [ngStyle]="customStyles"\r\n (click)="topButtonClick()"\r\n >\r\n <div *ngIf="actionName">\r\n {{ actionName }}\r\n </div>\r\n <div *ngIf="!actionName || actionName == \'\' || actionName == null">\r\n <ng-content></ng-content>\r\n </div>\r\n </button>\r\n <button\r\n *ngSwitchCase="\'mat-raised-button\'"\r\n mat-raised-button\r\n color="{{ color }}"\r\n [ngClass]="fullWidth ? \'button-full-width\' : \'\'"\r\n [type]="typeButton"\r\n [ngStyle]="customStyles"\r\n (click)="topButtonClick()"\r\n >\r\n <div *ngIf="actionName">\r\n {{ actionName }}\r\n </div>\r\n <div *ngIf="!actionName">\r\n <ng-content></ng-content>\r\n </div>\r\n </button>\r\n <button\r\n *ngSwitchCase="\'mat-icon-button\'"\r\n mat-icon-button\r\n color="{{ color }}"\r\n [ngClass]="fullWidth ? \'button-full-width\' : \'\'"\r\n [type]="typeButton"\r\n [ngStyle]="customStyles"\r\n (click)="topButtonClick()"\r\n >\r\n <div *ngIf="actionName">\r\n {{ actionName }}\r\n </div>\r\n <div *ngIf="!actionName">\r\n <ng-content></ng-content>\r\n </div>\r\n </button>\r\n <button\r\n *ngSwitchCase="\'mat-fab\'"\r\n mat-fab\r\n color="{{ color }}"\r\n [ngClass]="fullWidth ? \'button-full-width\' : \'\'"\r\n [type]="typeButton"\r\n [ngStyle]="customStyles"\r\n (click)="topButtonClick()"\r\n >\r\n <div *ngIf="actionName">\r\n {{ actionName }}\r\n </div>\r\n <div *ngIf="!actionName">\r\n <ng-content></ng-content>\r\n </div>\r\n </button>\r\n <button\r\n *ngSwitchCase="\'mat-mini-fab\'"\r\n mat-mini-fab\r\n color="{{ color }}"\r\n [ngClass]="fullWidth ? \'button-full-width\' : \'\'"\r\n [type]="typeButton"\r\n [ngStyle]="customStyles"\r\n (click)="topButtonClick()"\r\n >\r\n <div *ngIf="actionName">\r\n {{ actionName }}\r\n </div>\r\n <div *ngIf="!actionName">\r\n <ng-content></ng-content>\r\n </div>\r\n </button>\r\n <button\r\n *ngSwitchCase="\'mat-stroked-button\'"\r\n mat-stroked-button\r\n color="{{ color }}"\r\n [ngClass]="fullWidth ? \'button-full-width\' : \'\'"\r\n [type]="typeButton"\r\n [ngStyle]="customStyles"\r\n (click)="topButtonClick()"\r\n >\r\n <div *ngIf="actionName">\r\n {{ actionName }}\r\n </div>\r\n <div *ngIf="!actionName">\r\n <ng-content></ng-content>\r\n </div>\r\n </button>\r\n <button\r\n *ngSwitchCase="\'mat-flat-button\'"\r\n mat-flat-button\r\n color="{{ color }}"\r\n [ngClass]="fullWidth ? \'button-full-width\' : \'\'"\r\n [type]="typeButton"\r\n [ngStyle]="customStyles"\r\n (click)="topButtonClick()"\r\n >\r\n <div *ngIf="actionName">\r\n {{ actionName }}\r\n </div>\r\n <div *ngIf="!actionName">\r\n <ng-content></ng-content>\r\n </div>\r\n </button>\r\n</div>\r\n',styles:[".button-full-width{width:100%}"]}]}],t.ctorParameters=function(){return[]},t.propDecorators={color:[{type:H.Input}],actionName:[{type:H.Input}],typeButton:[{type:H.Input}],materialTypeButton:[{type:H.Input}],fullWidth:[{type:H.Input}],customStyles:[{type:H.Input}],buttonClick:[{type:H.Output}]},t}(),tt=function(){function t(t){this.dialogRef=t,this.confirmClick=new H.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.onCancelClick=function(){this.dialogRef.close()},t.prototype.onConfirmClick=function(){this.confirmClick.emit()},t.decorators=[{type:H.Component,args:[{selector:"sb-dialog",template:'<div mat-dialog-content>\r\n <ng-content></ng-content>\r\n</div>\r\n<div mat-dialog-actions fxLayout fxLayoutAlign="flex-end center" fxLayoutGap="5px">\r\n <sb-button actionName="Cancelar" typeButton="button" materialTypeButton="mat-stroked-button" (buttonClick)="onCancelClick()"></sb-button>\r\n <sb-button actionName="Confirmar" [typeButton]="typeButton" materialTypeButton="mat-flat-button" color="primary" (buttonClick)="onConfirmClick()"></sb-button>\r\n</div>\r\n\x3c!-- <h1 mat-dialog-title>Hi {{data.name}}</h1>\r\n <p>What\'s your favorite animal?</p>\r\n <mat-form-field>\r\n <input matInput [(ngModel)]="data">\r\n </mat-form-field>\r\n <ng-content [select]="selectContentId"></ng-content>\r\n</div>\r\n<div mat-dialog-actions>\r\n <button mat-button (click)="onNoClick()">No Thanks</button>\r\n <button mat-button [mat-dialog-close]="data" cdkFocusInitial>Ok</button>\r\n</div> --\x3e\r\n',styles:[""]}]}],t.ctorParameters=function(){return[{type:V.MatDialogRef}]},t.propDecorators={typeButton:[{type:H.Input}],confirmClick:[{type:H.Output}]},t}(),et=function(){function t(){this.modalConfirmClick=new H.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.confirmClick=function(){this.modalConfirmClick.emit()},t.decorators=[{type:H.Component,args:[{selector:"sb-view-edit-container",template:'<sb-dialog (confirmClick)="confirmClick()" [typeButton]="typeButton ? typeButton : \'submit\'">\r\n <mat-tab-group>\r\n <mat-tab #matTabTag *ngFor="let tab of templates; let index = index" [label]="tab[0]">\r\n <ng-container *ngTemplateOutlet="tab[1]"></ng-container>\r\n </mat-tab>\r\n </mat-tab-group>\r\n</sb-dialog>\r\n\r\n\x3c!-- <ng-content></ng-content> --\x3e\r\n\r\n\r\n',styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={templates:[{type:H.Input}],typeButton:[{type:H.Input}],modalConfirmClick:[{type:H.Output}]},t}(),nt=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:H.Component,args:[{selector:"sb-mat-tab",template:'<mat-tab [label]="label">\r\n <ng-content></ng-content>\r\n</mat-tab>\r\n',styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={label:[{type:H.Input}]},t}(),ot=function(){function t(){this.showMenuClickEvent=new H.EventEmitter}return t.prototype.showMenuClick=function(){this.showMenuClickEvent.emit()},t.prototype.showMenuButton=function(t){this.hasSideNav=t},t.decorators=[{type:H.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=H.defineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}(),rt=function(){function t(t){this.headerService=t}return t.prototype.ngOnInit=function(){this.showMenuButton=this.headerService.hasSideNav},t.prototype.showMenuButtonClick=function(){this.headerService.showMenuClick()},t.decorators=[{type:H.Component,args:[{selector:"sb-header",template:'<header>\n <mat-toolbar color="primary">\n <mat-toolbar-row fxLayout fxLayoutAlign="space-between center">\n <div fxLayout fxLayoutAlign="center center">\n <div fxLayout fxLayoutAlign="center center">\n <img *ngIf="logoImgSrc" [src]="logoImgSrc" class="logo-principal" />\n <div class="sb-mat-title-appbar">{{ appName }}</div>\n </div>\n <button\n *ngIf="showMenuButton"\n mat-icon-button\n (click)="showMenuButtonClick()"\n >\n <mat-icon class="icons-toolbar">menu</mat-icon>\n </button>\n </div>\n <div>\n <ng-content></ng-content>\n </div>\n </mat-toolbar-row>\n </mat-toolbar>\n</header>\n',styles:['.logo-principal{width:28px;margin:auto}.sb-mat-title-appbar{font:400 24px/36px Roboto,"Helvetica Neue",sans-serif;margin:0 0 0 8px;color:#fff}']}]}],t.ctorParameters=function(){return[{type:ot}]},t.propDecorators={logoImgSrc:[{type:H.Input}],appName:[{type:H.Input}]},t}(),at=[V.MatCheckboxModule,V.MatCheckboxModule,V.MatButtonModule,r.MatInputModule,a.MatAutocompleteModule,i.MatDatepickerModule,l.MatFormFieldModule,s.MatRadioModule,c.MatSelectModule,u.MatSliderModule,p.MatSlideToggleModule,m.MatMenuModule,d.MatSidenavModule,g.MatToolbarModule,f.MatListModule,h.MatGridListModule,y.MatCardModule,b.MatStepperModule,v.MatTabsModule,C.MatExpansionModule,w.MatButtonToggleModule,x.MatChipsModule,k.MatIconModule,I.MatProgressSpinnerModule,S.MatProgressBarModule,z.MatDialogModule,E.MatTooltipModule,D.MatSnackBarModule,M.MatTableModule,T.MatSortModule,B.MatPaginatorModule,N.MatRippleModule],it=function(){function t(){this.isExpanded=!0,this.isShowing=!1,this.isHideToggle=!this.isExpanded,this.expandEmitter=new H.EventEmitter,this.showEmitter=new H.EventEmitter,this.hideToggleEmitter=new H.EventEmitter}return t.prototype.isExpandStatus=function(){return this.isExpanded},t.prototype.expandEmit=function(t){this.expandEmitter.emit(t)},t.prototype.showEmit=function(t){this.showEmitter.emit(t)},t.prototype.hideToggleEmit=function(t){this.hideToggleEmitter.emit(t)},t.decorators=[{type:H.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ngInjectableDef=H.defineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t}(),lt=function(){function t(t,e){this.headerService=t,this.sidenavService=e,this.isExpanded=!0,this.isShowing=!1,this.isHideToggle=!this.isExpanded}return t.prototype.ngOnInit=function(){var t=this;this.headerService.showMenuClickEvent.subscribe(function(){!0===t.isExpanded?(t.sidenavService.expandEmit(!1),t.isExpanded=!1):(t.sidenavService.expandEmit(!0),t.isExpanded=!0),!0===t.isHideToggle?(t.sidenavService.hideToggleEmit(!1),t.isHideToggle=!1):(t.sidenavService.hideToggleEmit(!0),t.isHideToggle=!0)})},t.prototype.mouseenter=function(){this.isExpanded||(this.isShowing=!0,this.sidenavService.showEmit(!0),this.isHideToggle=!1,this.sidenavService.hideToggleEmit(!1))},t.prototype.mouseleave=function(){this.isExpanded||(this.isShowing=!1,this.sidenavService.showEmit(!1),this.isHideToggle=!0,this.sidenavService.hideToggleEmit(!0))},t.decorators=[{type:H.Component,args:[{selector:"sb-side-nav",template:'<mat-sidenav-container class="sb-sidenav-container" autosize>\n <mat-sidenav\n #sidenav\n class="mat-elevation-z3 sb-sidenav"\n [@openClose]="isHideToggle ? \'closed\' : \'open\'"\n mode="side"\n opened="true"\n (mouseenter)="mouseenter()"\n (mouseleave)="mouseleave()"\n *ngIf="isRenderSidenav"\n >\n <perfect-scrollbar>\n <ng-content select=".sb-sidenav-menus"></ng-content>\n </perfect-scrollbar>\n </mat-sidenav>\n\n \x3c!-- Main content --\x3e\n <mat-sidenav-content>\n <perfect-scrollbar>\n <ng-content select=".sb-sidenav-content"></ng-content>\n </perfect-scrollbar>\n </mat-sidenav-content>\n</mat-sidenav-container>\n',animations:[R.trigger("openClose",[R.state("open",R.style({width:"238px"})),R.state("closed",R.style({width:"72px"})),R.transition("open => closed",[R.style({width:"72px"}),R.animate("200ms ease-in")]),R.transition("closed => open",[R.style({width:"238px"}),R.animate("200ms ease-in")])])],styles:[".sb-sidenav-container{height:100%}.sb-sidenav{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}"]}]}],t.ctorParameters=function(){return[{type:ot},{type:it}]},t.propDecorators={isRenderSidenav:[{type:H.Input}]},t}(),st=function(){function t(t){t.showMenuButton(!0)}return t.decorators=[{type:H.Directive,args:[{selector:"[sbHasSideNav]"}]}],t.ctorParameters=function(){return[{type:ot}]},t}(),ct={},ut=function(){function t(){}return t.decorators=[{type:H.NgModule,args:[{declarations:[G,W,X,_,U,J,K,Q,Z,tt,et,nt,rt,st,lt],imports:[P.CommonModule,F.BrowserAnimationsModule,O.ReactiveFormsModule,j.PerfectScrollbarModule,O.FormsModule,at,L.FlexLayoutModule,q.PortalModule,A.OverlayModule],exports:[G,X,Z,et,tt,rt,st,lt],providers:[{provide:j.PERFECT_SCROLLBAR_CONFIG,useValue:ct}]}]}],t}(),pt=function(){function t(t){this.dialog=t,this.tabs=["First","Second","Third"]}return t.prototype.ngOnInit=function(){},t.prototype.getTabs=function(){return this.tabs},t.prototype.openDialog=function(t,e){this.dialog.open(t,{width:this.widthDialog,data:e}).afterClosed().subscribe(function(t){})},t.decorators=[{type:H.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:V.MatDialog}]},t.ngInjectableDef=H.defineInjectable({factory:function(){return new t(H.inject(z.MatDialog))},token:t,providedIn:"root"}),t}();t.SubwayComponentsLibraryModule=ut,t.DialogService=pt,t.DataTableService=Y,t.PopoverService=$,t.SidenavService=it,t.ViewContainerComponent=G,t.MatFormFieldComponent=X,t.ButtonComponent=Z,t.ViewEditContainerComponent=et,t.DialogComponent=tt,t.HeaderComponent=rt,t.SideNavComponent=lt,t.DataTableComponent=U,t.HeaderDirective=st,t.ɵc=J,t.ɵd=K,t.ɵb=_,t.ɵa=W,t.ɵe=Q,t.ɵg=ot,t.ɵh=at,t.ɵf=nt,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=lucasferreiralsf-angular-frontend-library.umd.min.js.map