materialize-angular
Version:
Material UI Angular library
81 lines • 87.1 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/router"),require("@angular/platform-browser")):"function"==typeof define&&define.amd?define("materialize-angular",["exports","@angular/core","@angular/common","@angular/forms","@angular/router","@angular/platform-browser"],t):t((e=e||self)["materialize-angular"]={},e.ng.core,e.ng.common,e.ng.forms,e.ng.router,e.ng.platformBrowser)}(this,(function(e,t,n,i,o,s){"use strict";
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/var r={components:{prefix:"materialize"}},a=function(){function e(n){this.renderer=n,this.className=e.defaultProps.className,this.disabled=e.defaultProps.disabled,this.isOpen=e.defaultProps.isOpen,this.showIndicator=e.defaultProps.showIndicator,this.prefix=r.components.prefix,this.onCloseEmitter=new t.EventEmitter,this.onOpenEmitter=new t.EventEmitter,this.onToggle=this.onToggle.bind(this),this.update=this.update.bind(this),window.addEventListener("resize",this.update)}return e.prototype.ngAfterContentInit=function(){var e=this;this.isOpen&&setTimeout((function(){e.update()}),300)},e.prototype.ngOnChanges=function(){this.update()},e.prototype.onToggle=function(){this.disabled||(this.isOpen?(this.close(),this.onCloseEmitter.emit()):(this.open(),this.onOpenEmitter.emit()))},e.prototype.open=function(){this.isOpen=!0,this.update()},e.prototype.close=function(){this.isOpen=!1,this.update()},e.prototype.update=function(){var e=this.containerRef.nativeElement,t=this.isOpen?e.scrollHeight:0;this.renderer.setStyle(e,"maxHeight",t+"px")},e.defaultProps={className:"",disabled:!1,isOpen:!1,showIndicator:!0},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-collapsible }",template:'<div\n [ngClass]="[prefix + \'-collapsible\', className]"\n [class.disabled]="disabled"\n [class.open]="isOpen"\n>\n <div (click)="onToggle()"\n [isRippleActive]="!disabled"\n [ngClass]="[prefix + \'-collapsible-title\', className]"\n\n materializeRipple\n >\n <ng-content select="materialize-collapsible-title"></ng-content>\n\n <materialize-icon *ngIf="showIndicator" [className]="prefix + \'-collapsible-title-icon\'">\n expand_more\n </materialize-icon>\n </div>\n\n <div [ngClass]="[prefix + \'-collapsible-content-container\', className]" #container>\n <div [ngClass]="prefix + \'-collapsible-content\'">\n <ng-content select="materialize-collapsible-content"></ng-content>\n </div>\n </div>\n</div>\n'}]}],e.ctorParameters=function(){return[{type:t.Renderer2}]},e.propDecorators={onCloseEmitter:[{type:t.Output,args:["onClose"]}],onOpenEmitter:[{type:t.Output,args:["onOpen"]}],containerRef:[{type:t.ViewChild,args:["container",{static:!0}]}],className:[{type:t.Input}],disabled:[{type:t.Input}],isOpen:[{type:t.Input}],showIndicator:[{type:t.Input}]},e}();var l=function(){function e(){this.className=e.defaultProps.className,this.activeIndex=e.defaultProps.activeIndex,this.initCollapsibles=this.initCollapsibles.bind(this),this.registerCollapsibles=this.registerCollapsibles.bind(this),this.onToggleEmitter=new t.EventEmitter}return e.prototype.ngAfterContentInit=function(){this.initCollapsibles(),this.collapsiblesQueryList.changes.subscribe(this.initCollapsibles)},e.prototype.initCollapsibles=function(){setTimeout(this.registerCollapsibles,0)},e.prototype.registerCollapsibles=function(){var e=this;this.collapsiblesQueryList.forEach((function(t,n){t.onOpenEmitter.subscribe((function(){e.toggleCollapsibles(n)}))}))},e.prototype.toggleCollapsibles=function(e){this.activeIndex=e,this.onToggleEmitter.emit(this.activeIndex),this.collapsiblesQueryList.forEach((function(t,n){n===e?t.open():t.close()}))},e.prototype.showNext=function(){var e=null===this.activeIndex||this.activeIndex>=this.collapsiblesQueryList.length?null:this.activeIndex+1;this.toggleCollapsibles(e)},e.prototype.showPrev=function(){var e=null===this.activeIndex||0===this.activeIndex?null:this.activeIndex-1;this.toggleCollapsibles(e)},e.defaultProps={activeIndex:null,className:""},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-accordion }",template:'<div [ngClass]="className">\n <ng-content select="materialize-collapsible"></ng-content>\n</div>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={collapsiblesQueryList:[{type:t.ContentChildren,args:[a]}],onToggleEmitter:[{type:t.Output,args:["onToggle"]}],className:[{type:t.Input}]},e}();var p=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-collapsible-content }",template:"<ng-content></ng-content>\n"}]}],e}(),c=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-collapsible-title }",template:"<ng-content></ng-content>\n"}]}],e}(),u=function(){function e(){}return e.decorators=[{type:t.Directive,args:[{selector:"[materializePrefix]"}]}],e}();var d=function(){function e(e,t){this.elementRef=e,this.renderer=t,this.rippleDuration=500,this.isRippleActive=!0,this.isRippleCenter=!1,this.prefix=r.components.prefix,this.createRipple=this.createRipple.bind(this),this.element=this.elementRef.nativeElement,this.renderer.addClass(this.element,this.prefix+"-ripple-element")}return e.prototype.ngOnInit=function(){this.isRippleActive||this.renderer.addClass(this.element,"disabled")},e.prototype.createRipple=function(e){if(this.isRippleActive){var t=this.isRippleCenter?this.getCoordinatesByCenter():this.getCoordinatesByEvent(e),n=this.getRippleRadio(t);this.renderRipple(n,t)}},e.prototype.renderRipple=function(e,t){var n=this.renderer.createElement("div"),i=t.y-e,o=t.x-e;this.renderer.addClass(n,"ripple"),this.renderer.setStyle(n,"height",2*e+"px"),this.renderer.setStyle(n,"width",2*e+"px"),this.renderer.setStyle(n,"top",i+"px"),this.renderer.setStyle(n,"left",o+"px"),this.renderer.insertBefore(this.element,n,this.element.firstChild),this.scaleRipple(n)},e.prototype.getCoordinatesByCenter=function(){var e=this.element,t=e.offsetHeight;return{x:e.offsetWidth/2,y:t/2}},e.prototype.getCoordinatesByEvent=function(e){var t=this.getOffset(this.element),n=e.pageY-t.top;return{x:e.pageX-t.left,y:n}},e.prototype.getRippleRadio=function(e){var t=Math.max(this.element.offsetHeight-e.y,e.y),n=Math.max(this.element.offsetWidth-e.x,e.x);return Math.hypot(t,n)},e.prototype.scaleRipple=function(e){var t=this;setTimeout((function(){e.style.transitionDuration=t.rippleDuration+"ms",e.style.transform="scale(1)",t.hideRipple(e)}),0)},e.prototype.hideRipple=function(e){var t=this;setTimeout((function(){t.renderer.setStyle(e,"transitionDuration",t.rippleDuration+"ms"),t.renderer.setStyle(e,"opacity","0"),t.removeRipple(e)}),this.rippleDuration)},e.prototype.removeRipple=function(e){var t=this;setTimeout((function(){t.renderer.removeChild(t.element,e)}),this.rippleDuration)},e.prototype.getOffset=function(e){var t=e.getBoundingClientRect(),n=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,i=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return{left:t.left+i,top:t.top+n}},e.decorators=[{type:t.Directive,args:[{selector:"["+r.components.prefix+"Ripple]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:t.Renderer2}]},e.propDecorators={rippleDuration:[{type:t.Input}],isRippleActive:[{type:t.Input}],isRippleCenter:[{type:t.Input}],createRipple:[{type:t.HostListener,args:["mousedown",["$event"]]}]},e}();var h=function(){function e(){}return e.decorators=[{type:t.Directive,args:[{selector:"[materializeSuffix]"}]}],e}(),m=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[u,d,h],exports:[u,d,h],imports:[n.CommonModule]}]}],e}();var f={NONE:"",XS:"xs",SM:"sm",MD:"md",LG:"lg",XL:"xl"},g=function(){function e(){this.className=e.defaultProps.className,this.size=e.defaultProps.size,this.prefix=r.components.prefix,this.onClickEmitter=new t.EventEmitter,this.onBlurEmitter=new t.EventEmitter}return e.prototype.onClick=function(){this.onClickEmitter.emit()},e.prototype.onBlur=function(){this.onBlurEmitter.emit()},e.defaultProps={className:"",size:f.NONE},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-icon }",template:'<span class="icon" [ngClass]="[prefix + \'-icon\', size, className]" (click)="onClick()" (blur)="onBlur()">\n <ng-content></ng-content>\n</span>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={onClickEmitter:[{type:t.Output,args:["onClick"]}],onBlurEmitter:[{type:t.Output,args:["onBlur"]}],className:[{type:t.Input}],size:[{type:t.Input}]},e}();var v=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[g],exports:[g],imports:[n.CommonModule]}]}],e}(),y=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[a,p,c],exports:[a,p,c],imports:[n.CommonModule,v,m]}]}],e}(),C=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[l],exports:[l],imports:[y,n.CommonModule,m]}]}],e}();var b={TEXT:"text",ACCENT:"accent",OUTLINE:"outline"},x={BUTTON:"button",SUBMIT:"submit",RESET:"reset"},E=function(){function e(){this.className=e.defaultProps.className,this.disabled=e.defaultProps.disabled,this.level=e.defaultProps.level,this.rippleDuration=e.defaultProps.rippleDuration,this.type=e.defaultProps.type,this.prefix=r.components.prefix,this.isFocused=!1,this.onBlurEmitter=new t.EventEmitter,this.onClickEmitter=new t.EventEmitter}return e.prototype.onFocus=function(){this.disabled||(this.isFocused=!0)},e.prototype.onClick=function(){this.disabled||(this.isFocused=!1,this.onClickEmitter.emit())},e.prototype.onBlur=function(){this.onBlurEmitter.emit(),this.isFocused=!1},e.defaultProps={className:"",disabled:!1,level:b.ACCENT,rippleDuration:250,type:x.BUTTON},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-button }",template:'<button [ngClass]="[prefix + \'-button\', level, className]"\n (blur)="onBlur()"\n (click)="onClick()"\n (focus)="onFocus()"\n\n materializeRipple\n [isRippleActive]="!disabled"\n [rippleDuration]="rippleDuration"\n \n [class.focused]="isFocused"\n [disabled]="disabled"\n [type]="type"\n \n #element>\n <ng-content></ng-content>\n</button>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={className:[{type:t.Input}],disabled:[{type:t.Input}],level:[{type:t.Input}],rippleDuration:[{type:t.Input}],type:[{type:t.Input}],onBlurEmitter:[{type:t.Output,args:["onBlur"]}],onClickEmitter:[{type:t.Output,args:["onClick"]}],element:[{type:t.ViewChild,args:["element",{static:!0}]}]},e}();var I=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[E],exports:[E],imports:[n.CommonModule,m]}]}],e}(),N=function(){function e(){this.className=e.defaultProps.className,this.disabled=e.defaultProps.disabled,this.name=e.defaultProps.name,this.value=e.defaultProps.value,this.prefix=r.components.prefix,this.onClickEmitter=new t.EventEmitter,this.isActive=!1,this.isFocused=!1}return e.prototype.onClick=function(){this.disabled||(this.isActive=!this.isActive,this.isFocused=!1,this.onClickEmitter.emit(this.value))},e.prototype.onBlur=function(){this.isFocused=!1},e.prototype.onFocus=function(){this.disabled||(this.isFocused=!0)},e.defaultProps={className:"",disabled:!1,name:"",value:""},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-button-toggle }",template:'<div (click)="onClick()" (blur)="onBlur()" (focus)="onFocus()"\n\n [ngClass]="[prefix + \'-button-toggle\', className]"\n [class.active]="isActive"\n [class.disabled]="disabled"\n [class.focused]="isFocused"\n [tabindex]="disabled ? \'-1\': \'0\'"\n [isRippleActive]="!disabled"\n\n materializeRipple \n>\n <ng-content></ng-content>\n</div>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={onClickEmitter:[{type:t.Output,args:["onClick"]}],className:[{type:t.Input}],disabled:[{type:t.Input}],name:[{type:t.Input}],value:[{type:t.Input}]},e}();var k=function(){function e(){this.canUncheck=e.defaultProps.canUncheck,this.className=e.defaultProps.className,this.disabled=e.defaultProps.disabled,this.value=e.defaultProps.value,this.prefix=r.components.prefix,this.isFocused=!1,this.onChangeEmitter=new t.EventEmitter,this.initButtons=this.initButtons.bind(this),this.registerButtons=this.registerButtons.bind(this),this.toggleButton=this.toggleButton.bind(this)}return e.prototype.ngAfterContentInit=function(){this.initButtons(),this.buttonsQueryList.changes.subscribe(this.initButtons)},e.prototype.initButtons=function(){this.disabled&&this.disableButtons(this.disabled),setTimeout(this.registerButtons,0)},e.prototype.disableButtons=function(e){this.buttonsQueryList.forEach((function(t){t.disabled=e}))},e.prototype.registerButtons=function(){var e=this;this.buttonsQueryList.forEach((function(t){t.isActive=e.value.lastIndexOf(t.value)>=0,t.onClickEmitter.subscribe(e.toggleButton)}))},e.prototype.toggleButton=function(e){this.setValueAllButtons(e);var t=this.buttonsQueryList.find((function(t){return t.value===e}));this.value=t&&t.isActive?t.value:"",this.onTouched(),this.onChange(this.value),this.onChangeEmitter.emit(this.value)},e.prototype.setValueAllButtons=function(e){var t=this;this.buttonsQueryList.forEach((function(n){n.value!==e&&(n.isActive=!1),n.value!==e||t.canUncheck||(n.isActive=!0)}))},e.prototype.setDisabledState=function(e){this.disabled=e,this.disableButtons(this.disabled)},e.prototype.writeValue=function(e){this.value=e},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.onChange=function(e){},e.prototype.onTouched=function(){},e.defaultProps={canUncheck:!1,className:"",disabled:!1,value:""},e.decorators=[{type:t.Component,args:[{providers:[{multi:!0,provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return e}))}],selector:r.components.prefix+"-button-toggle-group }",template:'<div \n [ngClass]="[prefix + \'-button-toggle-group\', className]"\n [class.disabled]="disabled"\n>\n <ng-content select="materialize-button-toggle"></ng-content>\n</div>\n '}]}],e.ctorParameters=function(){return[]},e.propDecorators={buttonsQueryList:[{type:t.ContentChildren,args:[N]}],onChangeEmitter:[{type:t.Output,args:["onChange"]}],canUncheck:[{type:t.Input}],className:[{type:t.Input}],disabled:[{type:t.Input}],value:[{type:t.Input}]},e}();var P=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[N,k],exports:[N,k],imports:[n.CommonModule,m]}]}],e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/
var T={friday:{name:"Friday",shortName:"Fri",shortestName:"Fr"},monday:{name:"Monday",shortName:"Mon",shortestName:"Mo"},saturday:{name:"Saturday",shortName:"Sat",shortestName:"Sa"},sunday:{name:"Sunday",shortName:"Sun",shortestName:"Su"},thursday:{name:"Thursday",shortName:"Thu",shortestName:"Th"},tuesday:{name:"Tuesday",shortName:"Tue",shortestName:"Tu"},wednesday:{name:"Wednesday",shortName:"Wed",shortestName:"We"}},O={april:{name:"April",shortName:"Apr",shortestName:"Ap"},august:{name:"August",shortName:"Aug",shortestName:"Au"},december:{name:"December",shortName:"Dec",shortestName:"De"},february:{name:"February",shortName:"Feb",shortestName:"Fe"},january:{name:"January",shortName:"Jan",shortestName:"Ja"},july:{name:"July",shortName:"Jul",shortestName:"Ju"},june:{name:"June",shortName:"Jun",shortestName:"Ju"},march:{name:"March",shortName:"Mar",shortestName:"Ma"},may:{name:"May",shortName:"May",shortestName:"Ma"},november:{name:"November",shortName:"Nov",shortestName:"No"},october:{name:"October",shortName:"Oct",shortestName:"Oc"},september:{name:"September",shortName:"Sep",shortestName:"Se"}},w=function(){function e(){this.className=e.defaultProps.className,this.date=e.defaultProps.date,this.displayOtherMonthDays=e.defaultProps.displayOtherMonthDays,this.prefix=r.components.prefix,this.selectYearAnimationDuration=150,this.scrollToActiveYear=this.scrollToActiveYear.bind(this),this.onSelectDayEmitter=new t.EventEmitter,this.dayLabels=this.getDayLabels(T),this.monthLabels=this.getMonthLabels(O)}return e.prototype.ngOnInit=function(){this.init()},e.prototype.ngOnChanges=function(){this.init()},e.prototype.init=function(){var e=void 0!==this.date&&null!==this.date,t=e?this.date:new Date,n=this.isTodayDate(t),i=t.getMonth(),o=t.getFullYear();this.weeks=this.fillWeeks(i,o),this.years=this.fillYears(o),this.selectedDate=this.createDateModel(t,!1,n,e)},e.prototype.getDayLabels=function(e){return[e.sunday,e.monday,e.tuesday,e.wednesday,e.thursday,e.friday,e.saturday]},e.prototype.getMonthLabels=function(e){return[e.january,e.february,e.march,e.april,e.may,e.june,e.july,e.august,e.september,e.october,e.november,e.december]},e.prototype.createDateModel=function(e,t,n,i){var o=e.getDay(),s=e.getMonth();return{ISODate:this.generateISODate(e),date:e,dayLabel:this.dayLabels[o],isOutOfMonth:t,isToday:n,monthLabel:this.monthLabels[s],showSelected:i}},e.prototype.createDateObject=function(e,t,n){var i=new Date;return i.setDate(e),i.setMonth(t),i.setFullYear(n),i},e.prototype.fillYears=function(e){for(var t=e+100,n=[],i=e-100;i<=t;i++)n.push(i);return n},e.prototype.fillWeeks=function(e,t){this.selectedMonth={label:this.monthLabels[e],number:e,year:t};for(var n=this.createDateObject(0,e,t),i=[],o=new Date(t,e,1),s=0-o.getDay(),r=[];0!==o.getDay()||n>=o;)++s,o=new Date(t,e,s),r.push(this.createDayDate(o,s,n)),7===r.length&&(i.push(r),r=[]);return i},e.prototype.isTodayDate=function(e){var t=this.generateISODate(new Date);return this.generateISODate(e)===t},e.prototype.createDayDate=function(e,t,n){var i=this.isTodayDate(e),o=t<=0||e>n;return this.createDateModel(e,o,i,!0)},e.prototype.showPrevMonth=function(){var e=this.selectedMonth.number,t=this.selectedMonth.year,n=e>=1?e-1:11,i=e<1?t-1:t;this.weeks=this.fillWeeks(n,i)},e.prototype.showNextMonth=function(){var e=this.selectedMonth.number,t=this.selectedMonth.year,n=e<11?e+1:0,i=e>=11?t+1:t;this.weeks=this.fillWeeks(n,i)},e.prototype.generateISODate=function(e){var t=e.getDate(),n=e.getMonth()+1;return e.getFullYear()+"-"+(n>9?n:"0"+n)+"-"+(t>9?t:"0"+t)},e.prototype.onSelectDay=function(e){e.isOutOfMonth||(this.selectedDate=e,this.onSelectDayEmitter.emit(this.selectedDate))},e.prototype.onSelectYear=function(e){var t=this;setTimeout((function(){var n=t.selectedDate.date.getDate(),i=t.selectedDate.date.getMonth();t.date=t.createDateObject(n,i,e),t.showYears=!1,t.selectedDate=t.createDateModel(t.date,!1,!0,!0),t.weeks=t.fillWeeks(i,e)}),this.selectYearAnimationDuration)},e.prototype.displayYears=function(){this.showYears=!0,setTimeout(this.scrollToActiveYear,0)},e.prototype.scrollToActiveYear=function(){var e=this.yearsContainerRef.nativeElement,t=e.querySelector(".selected");if(t){var n=this.getScrollCenter(e,t);e.scrollTop=n}},e.prototype.getScrollCenter=function(e,t){var n=t.offsetTop,i=t.offsetHeight/2,o=n-e.offsetTop-(e.offsetHeight/2-i);return o<0?0:o},e.defaultProps={className:"",date:new Date,displayOtherMonthDays:!0},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-calendar }",template:'<div [ngClass]="[prefix + \'-calendar\', className]">\n <div [ngClass]="prefix + \'-calendar-header\'">\n <div [ngClass]="prefix + \'-calendar-year\'">\n <materialize-button (onClick)="displayYears()">{{ selectedMonth.year }}</materialize-button>\n </div>\n <div [ngClass]="prefix + \'-calendar-date\'">\n <materialize-button (onClick)="showYears = false">\n {{ selectedDate.dayLabel.shortName }}, {{ selectedDate.monthLabel.shortName }} {{ selectedDate.date.getDate() }}\n </materialize-button>\n </div>\n </div>\n\n <div [ngClass]="prefix + \'-calendar-body\'">\n <ng-container *ngIf="!showYears">\n <div [ngClass]="prefix + \'-calendar-controls\'">\n <div [ngClass]="prefix + \'-calendar-control\'" materializeRipple (click)="showPrevMonth()">\n <materialize-icon>chevron_left</materialize-icon>\n </div>\n <div [ngClass]="prefix + \'-calendar-month\'">\n {{ selectedMonth.label.shortName }} {{ selectedMonth.year }}\n </div>\n <div [ngClass]="prefix + \'-calendar-control\'" materializeRipple (click)="showNextMonth()">\n <materialize-icon>chevron_right</materialize-icon>\n </div>\n </div>\n \n <table [ngClass]="prefix + \'-calendar-table\'">\n <thead>\n <tr>\n <td [ngClass]="prefix + \'-calendar-day-name\'" *ngFor="let day of dayLabels">{{ day.shortestName }}</td>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor="let week of weeks">\n <td *ngFor="let day of week">\n <div [ngClass]="prefix + \'-calendar-day\'"\n (click)="onSelectDay(day)"\n *ngIf="!day.isOutOfMonth || displayOtherMonthDays"\n \n [class.current]="day.isToday"\n [class.selected]="selectedDate.showSelected && selectedDate.ISODate === day.ISODate"\n [class.disabled]="day.isOutOfMonth"\n \n materializeRipple\n [rippleDuration]="800"\n >\n {{ day.date.getDate() }}\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n \n <div [ngClass]="prefix + \'-calendar-years\'" #yearsContainer>\n <ng-container *ngIf="showYears">\n <div [ngClass]="prefix + \'-calendar-year-option\'"\n *ngFor="let year of years"\n\n (click)="onSelectYear(year)"\n [class.selected]="year === selectedMonth.year"\n\n materializeRipple\n [rippleDuration]="selectYearAnimationDuration"\n >\n {{ year }}\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={yearsContainerRef:[{type:t.ViewChild,args:["yearsContainer",{static:!1}]}],onSelectDayEmitter:[{type:t.Output,args:["onSelectDay"]}],className:[{type:t.Input}],date:[{type:t.Input}],displayOtherMonthDays:[{type:t.Input}]},e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/var D=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[w],exports:[w],imports:[n.CommonModule,I,m,v]}]}],e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/var S=function(){function e(){this.className=e.defaultProps.className,this.prefix=r.components.prefix}return e.defaultProps={className:""},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-card }",template:"<div [ngClass]=\"[prefix + '-card', className]\">\n <ng-content></ng-content>\n</div>\n"}]}],e.propDecorators={className:[{type:t.Input}]},e}();var M=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[S],exports:[S],imports:[n.CommonModule]}]}],e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/var R=function(){function e(){this.className=e.defaultProps.className,this.disabled=e.defaultProps.disabled,this.id=e.defaultProps.id,this.indeterminate=e.defaultProps.indeterminate,this.name=e.defaultProps.name,this.required=e.defaultProps.required,this.value=e.defaultProps.value,this.prefix=r.components.prefix,this.isFocused=!1,this.onChangeEmitter=new t.EventEmitter}return e.prototype.toggleValue=function(){this.disabled||(this.value=!this.value,this.isFocused=!1,this.onChange(this.value),this.onChangeEmitter.emit(this.value))},e.prototype.onFocus=function(){this.disabled||(this.isFocused=!0,this.onTouched())},e.prototype.onBlur=function(){this.isFocused=!1},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype.writeValue=function(e){this.value=e},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.onChange=function(e){},e.prototype.onTouched=function(){},e.defaultProps={className:"",disabled:!1,id:null,indeterminate:!1,name:"",required:!1,value:!1},e.decorators=[{type:t.Component,args:[{providers:[{multi:!0,provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return e}))}],selector:r.components.prefix+"-checkbox }",template:'<div (click)="toggleValue()" (blur)="onBlur()" (focus)="onFocus()" \n\n [ngClass]="[prefix + \'-checkbox\', className]"\n [class.active]="value"\n [class.focused]="isFocused"\n [class.indeterminate]="indeterminate && !value"\n [class.disabled]="disabled"\n [tabindex]="disabled ? \'-1\': \'0\'"\n>\n <div [ngClass]="[prefix + \'-checkbox-indicator\']">\n <div [ngClass]="[prefix + \'-checkbox-indicator-ripple\']" materializeRipple [isRippleActive]="!disabled" [rippleDuration]="200"></div>\n </div>\n <div [ngClass]="[prefix + \'-checkbox-label\']">\n <ng-content></ng-content>\n </div>\n\n <input type="checkbox" [disabled]="disabled" [attr.id]="id" [name]="name" [required]="required" [checked]="value" [indeterminate]="indeterminate" [value]="value" />\n</div>\n '}]}],e.ctorParameters=function(){return[]},e.propDecorators={className:[{type:t.Input}],disabled:[{type:t.Input}],id:[{type:t.Input}],indeterminate:[{type:t.Input}],name:[{type:t.Input}],required:[{type:t.Input}],value:[{type:t.Input}],onChangeEmitter:[{type:t.Output,args:["onChange"]}]},e}();var L=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[R],exports:[R],imports:[n.CommonModule,m]}]}],e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/var B={PASSWORD:"password",TEXT:"text"},A=function(){function e(){this.className=e.defaultProps.className,this.disabled=e.defaultProps.disabled,this.displayOtherMonthDays=e.defaultProps.displayOtherMonthDays,this.floatLabel=e.defaultProps.floatLabel,this.format=e.defaultProps.format,this.fullSize=e.defaultProps.fullSize,this.id=e.defaultProps.id,this.name=e.defaultProps.name,this.placeholder=e.defaultProps.placeholder,this.required=e.defaultProps.required,this.inputValue=e.defaultProps.value,this.prefix=r.components.prefix,this.isOpen=!1,this.close=this.close.bind(this)}return e.prototype.ngOnInit=function(){},e.prototype.onSelectDay=function(e){this.isOpen=!1,this.date=e.date,this.inputValue=this.formatDate(e.date),this.onChange(e.date)},e.prototype.formatDate=function(e){var t=e.getDate(),n=e.getMonth()+1,i=t<10?"0"+t:t.toString(),o=n<10?"0"+n:n.toString(),s=e.getFullYear().toString();return this.format.replace("dd",i).replace("mm",o).replace("yyyy",s)},e.prototype.buildDate=function(t){var n=this.format.indexOf(e.DAY_KEY),i=this.format.indexOf(e.MONTH_KEY),o=this.format.indexOf(e.YEAR_KEY);if(n>=0&&i>=0&&o>=0){var s=n+e.DAY_KEY.length,r=i+e.MONTH_KEY.length,a=o+e.YEAR_KEY.length,l=t.substring(n,s),p=t.substring(i,r),c=t.substring(o,a);if(l&&p&&c){var u=Number(l),d=Number(p)-1,h=Number(c);return new Date(h,d,u)}}return new Date},e.prototype.open=function(){var e=this;this.isOpen=!0,setTimeout((function(){e.backdropRef.nativeElement.addEventListener("click",e.close)}),0)},e.prototype.close=function(){this.isOpen=!1},e.prototype.onInputChange=function(e){this.date=this.buildDate(e),this.onChange(this.date)},e.prototype.onInputFocus=function(){this.onTouched()},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype.writeValue=function(e){this.date=e,this.inputValue=this.formatDate(e)},e.prototype.registerOnChange=function(e){this.onChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.onChange=function(e){},e.prototype.onTouched=function(){},e.DAY_KEY="dd",e.MONTH_KEY="mm",e.YEAR_KEY="yyyy",e.defaultProps={autocomplete:"none",className:"",date:new Date,disabled:!1,displayOtherMonthDays:!0,floatLabel:"",format:"dd-mm-yyyy",fullSize:!1,hasCounter:!1,id:null,maxLength:500,name:"",placeholder:"",required:!1,type:B.TEXT,value:""},e.decorators=[{type:t.Component,args:[{providers:[{multi:!0,provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return e}))}],selector:r.components.prefix+"-datepicker }",template:'<div [ngClass]="[prefix + \'-datepicker\', className]" [class.full-size]="fullSize">\n <div #backdrop *ngIf="isOpen" [ngClass]="prefix + \'-datepicker-backdrop\'"></div>\n\n <materialize-input\n [disabled]="disabled"\n [floatLabel]="floatLabel"\n [id]="id"\n [placeholder]="placeholder"\n [required]="required"\n [value]="inputValue"\n\n (onChange)="onInputChange($event)"\n (onFocus)="onInputFocus()"\n >\n <materialize-button (onClick)="open()"\n materializeSuffix\n [className]="prefix + \'-datepicker-button\'"\n [disabled]="disabled"\n >\n <materialize-icon [className]="prefix + \'-datepicker-button\'">calendar_today</materialize-icon>\n </materialize-button>\n </materialize-input>\n\n <materialize-calendar *ngIf="isOpen"\n [className]="prefix + \'-datepicker-calendar\'"\n [date]="date"\n (onSelectDay)="onSelectDay($event)">\n </materialize-calendar>\n</div>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={backdropRef:[{type:t.ViewChild,args:["backdrop",{static:!1}]}],className:[{type:t.Input}],disabled:[{type:t.Input}],displayOtherMonthDays:[{type:t.Input}],floatLabel:[{type:t.Input}],format:[{type:t.Input}],fullSize:[{type:t.Input}],id:[{type:t.Input}],name:[{type:t.Input}],placeholder:[{type:t.Input}],required:[{type:t.Input}],inputValue:[{type:t.Input}]},e}();var z=function(){function e(){this.autocomplete=e.defaultProps.autocomplete,this.className=e.defaultProps.className,this.disabled=e.defaultProps.disabled,this.floatLabel=e.defaultProps.floatLabel,this.hasCounter=e.defaultProps.hasCounter,this.id=e.defaultProps.id,this.maxLength=e.defaultProps.maxLength,this.name=e.defaultProps.name,this.placeholder=e.defaultProps.placeholder,this.required=e.defaultProps.required,this.type=e.defaultProps.type,this.value=e.defaultProps.value,this.prefix=r.components.prefix,this.isFocused=!1,this.onBlurEmitter=new t.EventEmitter,this.onChangeEmitter=new t.EventEmitter,this.onFocusEmitter=new t.EventEmitter}return e.prototype.onBlur=function(){this.onBlurEmitter.emit(),this.isFocused=!1},e.prototype.onFocus=function(){this.disabled||(this.isFocused=!0,this.onFocusEmitter.emit(),this.onTouched())},e.prototype.onChange=function(e){var t=e.target.value;this.value=t,this.onChangeEmitter.emit(this.value),this.onInputChange(t)},e.prototype.setDisabledState=function(e){this.disabled=e},e.prototype.writeValue=function(e){this.value=e},e.prototype.registerOnChange=function(e){this.onInputChange=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.onInputChange=function(e){},e.prototype.onTouched=function(){},e.defaultProps={autocomplete:"none",className:"",disabled:!1,floatLabel:"",hasCounter:!1,id:null,maxLength:500,name:"",placeholder:"",required:!1,type:B.TEXT,value:""},e.decorators=[{type:t.Component,args:[{providers:[{multi:!0,provide:i.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return e}))}],selector:r.components.prefix+"-input }",template:'<div\n [ngClass]="[prefix + \'-form-control-container\', className]"\n [class.float-label]="floatLabel"\n [class.active]="value || placeholder"\n [class.focused]="isFocused"\n [class.disabled]="disabled"\n>\n <div [ngClass]="prefix + \'-form-control-prefix\'">\n <ng-content select="[materializePrefix]"></ng-content>\n </div>\n\n <div [ngClass]="prefix + \'-form-control-wrapper\'">\n <div [ngClass]="prefix + \'-form-control-label\'">{{ floatLabel }}</div>\n\n <input (input)="onChange($event)" (blur)="onBlur()" (focus)="onFocus()"\n [ngClass]="prefix + \'-form-control\'"\n [autocomplete]="autocomplete"\n [disabled]="disabled"\n [attr.id]="id"\n [maxLength]="maxLength"\n [name]="name"\n [placeholder]="placeholder"\n [required]="required"\n [type]="type"\n [value]="value"\n />\n </div>\n\n <div [ngClass]="prefix + \'-form-control-suffix\'">\n <ng-content select="[materializeSuffix]"></ng-content>\n </div>\n</div>\n\n<materialize-form-message type="info" *ngIf="hasCounter">{{ value.length }} / {{ maxLength }}</materialize-form-message>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={onFocusEmitter:[{type:t.Output,args:["onFocus"]}],onChangeEmitter:[{type:t.Output,args:["onChange"]}],onBlurEmitter:[{type:t.Output,args:["onBlur"]}],autocomplete:[{type:t.Input}],className:[{type:t.Input}],disabled:[{type:t.Input}],floatLabel:[{type:t.Input}],hasCounter:[{type:t.Input}],id:[{type:t.Input}],maxLength:[{type:t.Input}],name:[{type:t.Input}],placeholder:[{type:t.Input}],required:[{type:t.Input}],type:[{type:t.Input}],value:[{type:t.Input}]},e}();var F={ERROR:"error",INFO:"info",SUCCESS:"success",WARNING:"warning"},V=function(){function e(){this.className=e.defaultProps.className,this.level=e.defaultProps.level,this.prefix=r.components.prefix}return e.defaultProps={className:"",level:F.INFO},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-form-message }",template:"<div [ngClass]=\"[prefix + '-form-message', className, level]\">\n <ng-content></ng-content>\n</div>\n"}]}],e.propDecorators={className:[{type:t.Input,args:["className"]}],level:[{type:t.Input,args:["type"]}]},e}();var q=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[V],exports:[V],imports:[n.CommonModule]}]}],e}(),_=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[z],exports:[z],imports:[n.CommonModule,m,v,q]}]}],e}(),Y=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[A],exports:[A],imports:[n.CommonModule,I,D,v,_]}]}],e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/
var U=function(){};var X={RIGHT:"right",LEFT:"left"},G={OVER:"over",PUSH:"push",STATIC:"static"},W=function(){function e(n){this.renderer=n,this.className=e.defaultProps.className,this.closeOnBackdrop=e.defaultProps.closeOnBackdrop,this.hasBackdrop=e.defaultProps.hasBackdrop,this.isOpen=e.defaultProps.isOpen,this.position=e.defaultProps.position,this.transitionDuration=e.defaultProps.transitionDuration,this.type=e.defaultProps.type,this.prefix=r.components.prefix,this.close=this.close.bind(this),this.closeByBackdrop=this.closeByBackdrop.bind(this),this.open=this.open.bind(this),this.onOpenEmitter=new t.EventEmitter,this.onCloseEmitter=new t.EventEmitter}return e.prototype.ngAfterViewInit=function(){var e=this;setTimeout((function(){e.renderer.setStyle(e.drawerRef.nativeElement,"transitionDuration",e.transitionDuration+"ms"),e.closeOnBackdrop&&e.backdropRef.nativeElement.addEventListener("click",e.closeByBackdrop)}),0)},e.prototype.open=function(){var e=this;this.type!==G.STATIC&&(this.renderer.setStyle(this.backdropRef.nativeElement,"display","block"),setTimeout((function(){e.isOpen=!0}),0))},e.prototype.closeByBackdrop=function(e){e.target===this.backdropRef.nativeElement&&this.close()},e.prototype.close=function(){var e=this;this.isOpen=!1,setTimeout((function(){e.renderer.setStyle(e.backdropRef.nativeElement,"display","none"),e.onCloseEmitter.emit()}),this.transitionDuration)},e.defaultProps={className:"",closeOnBackdrop:!0,hasBackdrop:!0,isOpen:!1,position:X.LEFT,transitionDuration:250,type:G.OVER},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-drawer }",template:'<div #drawer\n [ngClass]="[prefix + \'-drawer\', className, type, position]"\n [class.open]="isOpen"\n [class.backdrop]="hasBackdrop"\n>\n <div [ngClass]="prefix + \'-drawer-backdrop\'" #backdrop></div>\n\n <div [ngClass]="prefix + \'-drawer-content\'">\n <ng-content select="materialize-drawer-content"></ng-content>\n </div>\n\n <div [ngClass]="prefix + \'-drawer-container\'">\n <ng-content select="materialize-drawer-container"></ng-content>\n </div>\n</div>\n'}]}],e.ctorParameters=function(){return[{type:t.Renderer2}]},e.propDecorators={backdropRef:[{type:t.ViewChild,args:["backdrop",{static:!0}]}],drawerRef:[{type:t.ViewChild,args:["drawer",{static:!0}]}],onOpenEmitter:[{type:t.Output,args:["onOpen"]}],onCloseEmitter:[{type:t.Output,args:["onClose"]}],className:[{type:t.Input}],closeOnBackdrop:[{type:t.Input}],hasBackdrop:[{type:t.Input}],isOpen:[{type:t.Input}],position:[{type:t.Input}],transitionDuration:[{type:t.Input}],type:[{type:t.Input}]},e}();var Q=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-drawer-container }",template:"<ng-content></ng-content>\n"}]}],e}(),H=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-drawer-content }",template:"<ng-content></ng-content> \n"}]}],e}(),j=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[W,Q,H],exports:[W,Q,H],imports:[n.CommonModule]}]}],e}(),J=function(e){for(var t=0,n=e;n.offsetParent;)isNaN(n.offsetTop)||(t+=n.offsetTop),n=n.offsetParent;return t},K=function(){function e(){this.className=e.defaultProps.className,this.referenceId=e.defaultProps.referenceId,this.prefix=r.components.prefix,this.isActive=!1,this.onClickEmitter=new t.EventEmitter}return e.prototype.onClick=function(e){this.onClickEmitter.emit(this.referenceId)},e.defaultProps={className:"",referenceId:""},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-glossary-item",template:'<li\n [ngClass]="[prefix + \'-glossary-item\', className]"\n [class.active]="isActive"\n>\n <ng-content></ng-content>\n</li>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={onClickEmitter:[{type:t.Output,args:["onClick"]}],className:[{type:t.Input}],referenceId:[{type:t.Input}],onClick:[{type:t.HostListener,args:["click",["$event"]]}]},e}();var $=function(){function e(t){this.router=t,this.className=e.defaultProps.className,this.scrollSpy=e.defaultProps.scrollSpy,this.topSpace=e.defaultProps.topSpace,this.prefix=r.components.prefix,this.activeReferenceId="",this.onClickItem=this.onClickItem.bind(this),this.registerOptions=this.registerOptions.bind(this),this.update=this.update.bind(this)}return e.prototype.ngAfterViewInit=function(){var e=this;this.registerOptions(),setTimeout(this.update,30),this.scrollSpy&&this.scrollSpy.onChangeEmitter.subscribe((function(t){e.activeReferenceId=t,e.activeItemByReferenceId(t)}))},e.prototype.update=function(){this.activeReferenceId=this.getActiveReferenceId(),this.activeItemByReferenceId(this.activeReferenceId),this.scrollTo(this.activeReferenceId)},e.prototype.scrollTo=function(e){var t=document.getElementById(e);if(t){var n=J(t)-this.topSpace;setTimeout((function(){return window.scrollTo(0,n)}),150)}},e.prototype.getActiveReferenceId=function(){var e=this.router.parseUrl(this.router.url);return e&&e.fragment?e.fragment:""},e.prototype.registerOptions=function(){var e=this;this.items.forEach((function(t){t.onClickEmitter.subscribe(e.onClickItem)}))},e.prototype.onClickItem=function(e){this.activeReferenceId=e,this.activeItemByReferenceId(e),this.scrollTo(e);var t=this.router.parseUrl(this.router.url),n=t.root.children.primary,i=n?n.segments.map((function(e){return e.path})):t.root.segments.map((function(e){return e.path}));this.router.navigate(i,{fragment:e})},e.prototype.activeItemByReferenceId=function(e){this.items.forEach((function(t){t.isActive=t.referenceId===e}))},e.defaultProps={className:"",scrollSpy:null,topSpace:0},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-glossary",template:'<ul [ngClass]="className">\n <ng-content></ng-content>\n</ul>\n'}]}],e.ctorParameters=function(){return[{type:o.Router}]},e.propDecorators={items:[{type:t.ContentChildren,args:[K]}],className:[{type:t.Input}],scrollSpy:[{type:t.Input}],topSpace:[{type:t.Input}]},e}();var Z=function(){function e(t){this.element=t,this.className=e.defaultProps.className,this.id=e.defaultProps.id}return e.defaultProps={className:"",id:""},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-scroll-spy-item",template:'<div [attr.id]="id">\n <ng-content></ng-content>\n</div>\n'}]}],e.ctorParameters=function(){return[{type:t.ElementRef}]},e.propDecorators={className:[{type:t.Input}],id:[{type:t.Input}]},e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/
var ee=function(){function e(){this.className=e.defaultProps.className,this.itemId=e.defaultProps.itemId,this.onChangeEmitter=new t.EventEmitter,this.onScroll=this.onScroll.bind(this),this.validateScroll=this.validateScroll.bind(this),window.addEventListener("scroll",this.onScroll)}return e.prototype.ngAfterContentInit=function(){this.onScroll()},e.prototype.onScroll=function(){setTimeout(this.validateScroll,100)},e.prototype.validateScroll=function(){var e=this.getCurrentItem();this.itemId!==e.id&&(this.itemId=e.id,this.onChangeEmitter.emit(this.itemId))},e.prototype.getCurrentItem=function(){for(var e=this.items.toArray(),t=0;t<e.length;t++){if(J(e[t].element.nativeElement)>(window.pageYOffset?window.pageYOffset:document.body.scrollTop))return e[t-1]?e[t-1]:e[0]}return e[e.length-1]},e.defaultProps={className:"",itemId:""},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-scroll-spy",template:'<div [ngClass]="className">\n <ng-content select="materialize-scroll-spy-item"></ng-content>\n</div>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={items:[{type:t.ContentChildren,args:[Z]}],onChangeEmitter:[{type:t.Output,args:["onChange"]}],className:[{type:t.Input}],itemId:[{type:t.Input}]},e}();var te=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[ee,Z],exports:[ee,Z],imports:[n.CommonModule,m]}]}],e}(),ne=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[$,K],exports:[$,K],imports:[n.CommonModule,te]}]}],e}();var ie=function(){function e(t){this.sanitizer=t,this.className=e.defaultProps.className,this.html=e.defaultProps.html,this.prefix=r.components.prefix}return e.prototype.ngOnInit=function(){this.htmlContent=this.render(this.html)},e.prototype.render=function(e){for(var t=this.splitByTags(e),n=[],i=0,o=0;o<t.length;o++){var s=t[o],r=t[o+1],a=t[o+2],l=this.createLineLogic(s,r,a,i,o);i=l.depth,o=l.cycle,n.push(l.line)}return n.join("<br />")},e.prototype.createNode=function(t,n){var i=t.replace(/&/g,"&");return'<span class="'+n+'">'+(i=(i=(i=(i=(i=(i=(i=(i=i.trim()).replace(/\[\[/g,"{{")).replace(/\]\]/g,"}}")).replace(/</g,"<")).replace(/>/g,">")).replace(/(\S+)="([^']*?)"/g,(function(t){var n=t.match(/"([^']*?)"/g),i=t.match(/(\S+)=/g),o=i&&i[0]||"",s=n&&n[0]||"";return'<span class="'+e.ATTRIBUTE_CLASS+'">'+o+"</span>"+('<span class="'+e.VALUE_CLASS+'">'+s+"</span>")}))).replace(/(<\/|<)/g,(function(t){return'<span class="'+e.SYMBOL_CLASS+'"><'+(t.includes("/")?"/":"")+"</span>"}))).replace(/(\/>|>)/g,(function(t){return'<span class="'+e.SYMBOL_CLASS+'">'+(t.includes("/")?"/":"")+"></span>"})))+"</span>"},e.prototype.indentNode=function(e,t){return""+"  ".repeat(e)+t},e.prototype.splitByTags=function(e){return e.split(/(<\/?[^>]+>)/g).filter((function(e){return""!==e.trim()}))},e.prototype.isTag=function(e){return/<[^>!]+>/.test(e)},e.prototype.isOpeningTag=function(e){return!(!this.isTag(e)||this.isClosingTag(e)||this.isSelfClosingTag(e))},e.prototype.isClosingTag=function(e){return/<\/+[^>]+>/.test(e)},e.prototype.isSelfClosingTag=function(e){return/<[^>]+\/>/.test(e)},e.prototype.createLineLogic=function(e,t,n,i,o){if(this.isOpeningTag(e)&&this.isClosingTag(t)){var s=this.createNode(e,"tag"),r=this.createNode(t,"tag");return{cycle:o+1,depth:i,line:this.indentNode(i,""+s+r)}}if(this.isOpeningTag(e)&&!this.isTag(t)){s=this.createNode(e,"tag");var a=this.createNode(t,"string");r=this.createNode(n,"tag");return{cycle:o+2,depth:i,line:this.indentNode(i,""+s+a+r)}}if(this.isSelfClosingTag(e)){var l=this.createNode(e,"tag");return{cycle:o,depth:i,line:this.indentNode(i,l)}}if(this.isClosingTag(e)){r=this.createNode(e,"tag");return{cycle:o,depth:i-1,line:this.indentNode(i-1,r)}}return{cycle:o,depth:i+1,line:this.indentNode(i,this.createNode(e,"text"))}},e.ATTRIBUTE_CLASS=r.components.prefix+"-html-visualizer-attribute",e.VALUE_CLASS=r.components.prefix+"-html-visualizer-value",e.SYMBOL_CLASS=r.components.prefix+"-html-visualizer-symbol",e.defaultProps={className:"",html:""},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-html-visualizer",template:'<div [ngClass]="prefix + \'-html-visualizer\'">\n <div [ngClass]="prefix + \'-html-visualizer-content\'" [innerHTML]="htmlContent" ngNonBindable></div>\n</div>\n'}]}],e.ctorParameters=function(){return[{type:s.DomSanitizer}]},e.propDecorators={className:[{type:t.Input}],html:[{type:t.Input}]},e}();var oe=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[ie],exports:[ie],imports:[n.CommonModule]}]}],e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/var se=function(){function e(){this.className=e.defaultProps.className,this.prefix=r.components.prefix}return e.defaultProps={className:""},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-label }",template:"<label [ngClass]=\"[prefix + '-label', className]\">\n <ng-content></ng-content>\n</label>\n"}]}],e.propDecorators={className:[{type:t.Input}]},e}();var re=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:[se],exports:[se],imports:[n.CommonModule]}]}],e}();
/**
* @license
* Copyright Workylab. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://raw.githubusercontent.com/workylab/materialize-angular/master/LICENSE
*/var ae=function(){function e(){this.className=e.defaultProps.className,this.dismissOnBackdrop=e.defaultProps.dismissOnBackdrop,this.hasBackdrop=e.defaultProps.hasBackdrop,this.hasCloseButton=e.defaultProps.hasCloseButton,this.isOpen=e.defaultProps.isOpen,this.transitionDuration=e.defaultProps.transitionDuration,this.prefix=r.components.prefix,this.onOpenEmitter=new t.EventEmitter,this.onCloseEmitter=new t.EventEmitter,this.open=this.open.bind(this),this.close=this.close.bind(this),this.closeByBackdrop=this.closeByBackdrop.bind(this)}return e.prototype.ngAfterViewInit=function(){this.hasBackdrop&&this.dismissOnBackdrop&&this.backdropRef.nativeElement.addEventListener("click",this.closeByBackdrop)},e.prototype.closeByBackdrop=function(e){e.target===this.backdropRef.nativeElement&&this.close()},e.prototype.open=function(){this.modalRef.nativeElement.style.transitionDuration=this.transitionDuration+"ms",this.isOpen=!0,this.onOpenEmitter.emit()},e.prototype.close=function(){this.modalRef.nativeElement.style.transitionDuration=this.transitionDuration/2+"ms",this.isOpen=!1,this.onCloseEmitter.emit()},e.defaultProps={className:"",dismissOnBackdrop:!0,hasBackdrop:!0,hasCloseButton:!0,isOpen:!1,transitionDuration:400},e.decorators=[{type:t.Component,args:[{selector:r.components.prefix+"-modal }",template:'<div [ngClass]="[prefix + \'-modal\', className]" [class.active]="isOpen" #modal>\n <div [ngClass]="prefix + \'-modal-backdrop\'" #backdrop *ngIf="hasBackdrop"></div>\n <div [ngClass]="prefix + \'-modal-content\'">\n <materialize-icon [className]="prefix + \'-modal-icon-close\'" *ngIf="hasCloseButton" (onClick)="close()">close</materialize-icon>\n\n <ng-content></ng-content>\n </div>\n</div>\n'}]}],e.ctorParameters=function(){return[]},e.propDecorators={modalRef:[{type:t.ViewChild,args:["modal",{static:!0}]}],backdropRef:[{type:t.ViewChild,args:["backdrop",{static:!1}]}],onOpenEmitter:[{type:t.Output,args:["onOpen"]}],onCloseEmitter:[{type:t.Output,a