@angular/material 11.1.2 → 11.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/_theming.scss +162 -155
  2. package/autocomplete/_autocomplete-theme.import.scss +2 -0
  3. package/autocomplete/autocomplete.d.ts +1 -1
  4. package/badge/_badge-theme.import.scss +5 -0
  5. package/bottom-sheet/_bottom-sheet-theme.import.scss +4 -0
  6. package/bottom-sheet/bottom-sheet-container.d.ts +2 -0
  7. package/bottom-sheet/index.metadata.json +1 -1
  8. package/bundles/material-autocomplete.umd.js.map +1 -1
  9. package/bundles/material-bottom-sheet.umd.js +11 -3
  10. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  11. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  12. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  13. package/bundles/material-core.umd.js +3 -3
  14. package/bundles/material-core.umd.js.map +1 -1
  15. package/bundles/material-core.umd.min.js +3 -3
  16. package/bundles/material-core.umd.min.js.map +1 -1
  17. package/bundles/material-datepicker.umd.js +21 -2
  18. package/bundles/material-datepicker.umd.js.map +1 -1
  19. package/bundles/material-datepicker.umd.min.js +1 -1
  20. package/bundles/material-datepicker.umd.min.js.map +1 -1
  21. package/bundles/material-form-field-testing.umd.js +137 -140
  22. package/bundles/material-form-field-testing.umd.js.map +1 -1
  23. package/bundles/material-form-field-testing.umd.min.js +3 -3
  24. package/bundles/material-form-field-testing.umd.min.js.map +1 -1
  25. package/bundles/material-form-field.umd.js +1 -1
  26. package/bundles/material-form-field.umd.min.js +1 -1
  27. package/bundles/material-form-field.umd.min.js.map +1 -1
  28. package/bundles/material-input.umd.js +4 -2
  29. package/bundles/material-input.umd.js.map +1 -1
  30. package/bundles/material-input.umd.min.js +1 -1
  31. package/bundles/material-input.umd.min.js.map +1 -1
  32. package/bundles/material-menu.umd.js +2 -2
  33. package/bundles/material-menu.umd.js.map +1 -1
  34. package/bundles/material-menu.umd.min.js +1 -1
  35. package/bundles/material-menu.umd.min.js.map +1 -1
  36. package/bundles/material-select.umd.js +8 -2
  37. package/bundles/material-select.umd.js.map +1 -1
  38. package/bundles/material-select.umd.min.js +5 -5
  39. package/bundles/material-select.umd.min.js.map +1 -1
  40. package/bundles/material-slide-toggle-testing.umd.js +60 -51
  41. package/bundles/material-slide-toggle-testing.umd.js.map +1 -1
  42. package/bundles/material-slide-toggle-testing.umd.min.js +2 -2
  43. package/bundles/material-slide-toggle-testing.umd.min.js.map +1 -1
  44. package/bundles/material-sort.umd.js +11 -3
  45. package/bundles/material-sort.umd.js.map +1 -1
  46. package/bundles/material-sort.umd.min.js +3 -3
  47. package/bundles/material-sort.umd.min.js.map +1 -1
  48. package/bundles/material-stepper.umd.js +6 -2
  49. package/bundles/material-stepper.umd.js.map +1 -1
  50. package/bundles/material-stepper.umd.min.js +1 -1
  51. package/bundles/material-stepper.umd.min.js.map +1 -1
  52. package/bundles/material-tabs.umd.js +8 -2
  53. package/bundles/material-tabs.umd.js.map +1 -1
  54. package/bundles/material-tabs.umd.min.js +4 -4
  55. package/bundles/material-tabs.umd.min.js.map +1 -1
  56. package/bundles/material-tooltip-testing.umd.js +44 -16
  57. package/bundles/material-tooltip-testing.umd.js.map +1 -1
  58. package/bundles/material-tooltip-testing.umd.min.js +1 -1
  59. package/bundles/material-tooltip-testing.umd.min.js.map +1 -1
  60. package/button/_button-base.import.scss +4 -0
  61. package/button/_button-theme.import.scss +3 -0
  62. package/button-toggle/_button-toggle-theme.import.scss +6 -0
  63. package/button-toggle/_button-toggle-variables.import.scss +1 -0
  64. package/card/_card-theme.import.scss +4 -0
  65. package/checkbox/_checkbox-theme.import.scss +3 -0
  66. package/chips/_chips-theme.import.scss +4 -0
  67. package/core/_core.import.scss +10 -0
  68. package/core/color/_all-color.import.scss +3 -0
  69. package/core/density/private/_all-density.import.scss +9 -0
  70. package/core/density/private/_compatibility.import.scss +1 -0
  71. package/core/focus-indicators/_focus-indicators.import.scss +3 -0
  72. package/core/index.metadata.json +1 -1
  73. package/core/option/_optgroup-theme.import.scss +4 -0
  74. package/core/option/_option-theme.import.scss +4 -0
  75. package/core/ripple/_ripple.import.scss +3 -0
  76. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.import.scss +2 -0
  77. package/core/style/_button-common.import.scss +2 -0
  78. package/core/style/_checkbox-common.import.scss +2 -0
  79. package/core/style/_elevation.import.scss +2 -0
  80. package/core/style/_form-common.import.scss +2 -0
  81. package/core/style/_layout-common.import.scss +1 -0
  82. package/core/style/_list-common.import.scss +1 -0
  83. package/core/style/_menu-common.import.scss +5 -0
  84. package/core/style/_private.import.scss +2 -0
  85. package/core/style/_variables.import.scss +1 -0
  86. package/core/style/_vendor-prefixes.import.scss +1 -0
  87. package/core/theming/_all-theme.import.scss +37 -0
  88. package/core/theming/_palette.import.scss +1 -0
  89. package/core/theming/_theming.import.scss +2 -0
  90. package/core/theming/_theming.scss +7 -4
  91. package/core/typography/_all-typography.import.scss +38 -0
  92. package/core/typography/_typography-utils.import.scss +1 -0
  93. package/core/typography/_typography.import.scss +2 -0
  94. package/datepicker/_datepicker-theme.import.scss +4 -0
  95. package/datepicker/datepicker-base.d.ts +9 -0
  96. package/datepicker/index.metadata.json +1 -1
  97. package/dialog/_dialog-theme.import.scss +4 -0
  98. package/divider/_divider-offset.import.scss +1 -0
  99. package/divider/_divider-theme.import.scss +3 -0
  100. package/esm2015/autocomplete/autocomplete.js +1 -1
  101. package/esm2015/bottom-sheet/bottom-sheet-container.js +12 -4
  102. package/esm2015/core/common-behaviors/common-module.js +1 -1
  103. package/esm2015/core/option/optgroup.js +2 -2
  104. package/esm2015/core/version.js +1 -1
  105. package/esm2015/datepicker/datepicker-base.js +13 -2
  106. package/esm2015/datepicker/datepicker-toggle.js +6 -2
  107. package/esm2015/form-field/form-field.js +1 -1
  108. package/esm2015/form-field/testing/form-field-harness.js +68 -76
  109. package/esm2015/input/input.js +5 -3
  110. package/esm2015/menu/menu-trigger.js +2 -2
  111. package/esm2015/menu/menu.js +1 -1
  112. package/esm2015/select/select.js +9 -3
  113. package/esm2015/slide-toggle/testing/slide-toggle-harness.js +29 -24
  114. package/esm2015/sort/sort.js +12 -5
  115. package/esm2015/stepper/stepper-animations.js +7 -3
  116. package/esm2015/tabs/tab-body.js +2 -2
  117. package/esm2015/tabs/tab-group.js +8 -2
  118. package/esm2015/tooltip/testing/tooltip-harness.js +14 -2
  119. package/expansion/_expansion-mixins.import.scss +1 -0
  120. package/expansion/_expansion-theme.import.scss +6 -0
  121. package/expansion/_expansion-variables.import.scss +1 -0
  122. package/fesm2015/autocomplete.js.map +1 -1
  123. package/fesm2015/bottom-sheet.js +11 -3
  124. package/fesm2015/bottom-sheet.js.map +1 -1
  125. package/fesm2015/core.js +3 -3
  126. package/fesm2015/core.js.map +1 -1
  127. package/fesm2015/datepicker.js +17 -2
  128. package/fesm2015/datepicker.js.map +1 -1
  129. package/fesm2015/form-field/testing.js +69 -77
  130. package/fesm2015/form-field/testing.js.map +1 -1
  131. package/fesm2015/form-field.js +1 -1
  132. package/fesm2015/input.js +4 -2
  133. package/fesm2015/input.js.map +1 -1
  134. package/fesm2015/menu.js +2 -2
  135. package/fesm2015/menu.js.map +1 -1
  136. package/fesm2015/select.js +8 -2
  137. package/fesm2015/select.js.map +1 -1
  138. package/fesm2015/slide-toggle/testing.js +29 -24
  139. package/fesm2015/slide-toggle/testing.js.map +1 -1
  140. package/fesm2015/sort.js +12 -5
  141. package/fesm2015/sort.js.map +1 -1
  142. package/fesm2015/stepper.js +6 -2
  143. package/fesm2015/stepper.js.map +1 -1
  144. package/fesm2015/tabs.js +8 -2
  145. package/fesm2015/tabs.js.map +1 -1
  146. package/fesm2015/tooltip/testing.js +13 -1
  147. package/fesm2015/tooltip/testing.js.map +1 -1
  148. package/form-field/_form-field-fill-theme.import.scss +5 -0
  149. package/form-field/_form-field-legacy-theme.import.scss +5 -0
  150. package/form-field/_form-field-outline-theme.import.scss +5 -0
  151. package/form-field/_form-field-standard-theme.import.scss +5 -0
  152. package/form-field/_form-field-theme.import.scss +9 -0
  153. package/form-field/index.metadata.json +1 -1
  154. package/form-field/testing/form-field-harness.d.ts +47 -32
  155. package/grid-list/_grid-list-theme.import.scss +5 -0
  156. package/icon/_icon-theme.import.scss +2 -0
  157. package/input/_input-theme.import.scss +6 -0
  158. package/input/index.metadata.json +1 -1
  159. package/list/_list-theme.import.scss +5 -0
  160. package/menu/_menu-theme.import.scss +4 -0
  161. package/menu/index.metadata.json +1 -1
  162. package/package.json +2 -2
  163. package/paginator/_paginator-theme.import.scss +5 -0
  164. package/paginator/_paginator-variables.import.scss +1 -0
  165. package/prebuilt-themes/deeppurple-amber.css +1 -1
  166. package/prebuilt-themes/indigo-pink.css +1 -1
  167. package/prebuilt-themes/pink-bluegrey.css +1 -1
  168. package/prebuilt-themes/purple-green.css +1 -1
  169. package/progress-bar/_progress-bar-theme.import.scss +3 -0
  170. package/progress-spinner/_progress-spinner-theme.import.scss +3 -0
  171. package/radio/_radio-theme.import.scss +4 -0
  172. package/schematics/ng-add/index.js +1 -1
  173. package/select/_select-theme.import.scss +5 -0
  174. package/select/index.metadata.json +1 -1
  175. package/select/select.d.ts +1 -1
  176. package/sidenav/_sidenav-theme.import.scss +3 -0
  177. package/slide-toggle/_slide-toggle-theme.import.scss +4 -0
  178. package/slide-toggle/testing/slide-toggle-harness.d.ts +19 -15
  179. package/slider/_slider-theme.import.scss +4 -0
  180. package/snack-bar/_snack-bar-theme.import.scss +4 -0
  181. package/sort/_sort-theme.import.scss +2 -0
  182. package/sort/index.metadata.json +1 -1
  183. package/sort/sort.d.ts +10 -1
  184. package/stepper/_stepper-theme.import.scss +5 -0
  185. package/stepper/_stepper-variables.import.scss +1 -0
  186. package/stepper/index.metadata.json +1 -1
  187. package/table/_table-flex-styles.import.scss +1 -0
  188. package/table/_table-flex-styles.scss +72 -0
  189. package/table/_table-theme.import.scss +4 -0
  190. package/tabs/_tabs-common.import.scss +4 -0
  191. package/tabs/_tabs-theme.import.scss +4 -0
  192. package/tabs/_tabs-theme.scss +3 -1
  193. package/tabs/index.metadata.json +1 -1
  194. package/tabs/tab-group.d.ts +3 -0
  195. package/toolbar/_toolbar-theme.import.scss +6 -0
  196. package/toolbar/_toolbar-variables.import.scss +1 -0
  197. package/tooltip/_tooltip-theme.import.scss +4 -0
  198. package/tree/_tree-theme.import.scss +4 -0
  199. package/tree/_tree-variables.import.scss +1 -0
@@ -80,7 +80,7 @@ var U=0,$=function(){function t(t,e,a,n,r){this._intl=t,this.calendar=e,this._da
80
80
  * Use of this source code is governed by an MIT-style license that can be
81
81
  * found in the LICENSE file at https://angular.io/license
82
82
  */
83
- var Z={transformPanel:m.trigger("transformPanel",[m.state("void",m.style({opacity:0,transform:"scale(1, 0.8)"})),m.transition("void => enter",m.animate("120ms cubic-bezier(0, 0, 0.2, 1)",m.style({opacity:1,transform:"scale(1, 1)"}))),m.transition("* => void",m.animate("100ms linear",m.style({opacity:0})))]),fadeInCalendar:m.trigger("fadeInCalendar",[m.state("void",m.style({opacity:0})),m.state("enter",m.style({opacity:1})),m.transition("void => *",m.animate("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])},J=0,Q=new i.InjectionToken("mat-datepicker-scroll-strategy");function tt(t){return function(){return t.scrollStrategies.reposition()}}var et={provide:Q,deps:[a.Overlay],useFactory:tt},at=function(t){function e(e,a,n,r,i,o){var s=t.call(this,e)||this;return s._changeDetectorRef=a,s._globalModel=n,s._dateAdapter=r,s._rangeSelectionStrategy=i,s._subscriptions=new c.Subscription,s._animationState="enter",s._animationDone=new c.Subject,s._actionsPortal=null,s._closeButtonText=(null==o?void 0:o.closeCalendarLabel)||"Close calendar",s}return O(e,t),e.prototype.ngOnInit=function(){this._model=this._actionsPortal?this._globalModel.clone():this._globalModel},e.prototype.ngAfterViewInit=function(){var t=this;this._subscriptions.add(this.datepicker.stateChanges.subscribe((function(){t._changeDetectorRef.markForCheck()}))),this._calendar.focusActiveCell()},e.prototype.ngOnDestroy=function(){this._subscriptions.unsubscribe(),this._animationDone.complete()},e.prototype._handleUserSelection=function(t){var e=this._model.selection,a=t.value,n=e instanceof E;if(n&&this._rangeSelectionStrategy){var r=this._rangeSelectionStrategy.selectionFinished(a,e,t.event);this._model.updateSelection(r,this)}else!a||!n&&this._dateAdapter.sameDate(a,e)||this._model.add(a);this._model&&!this._model.isComplete()||this._actionsPortal||this.datepicker.close()},e.prototype._startExitAnimation=function(){this._animationState="void",this._changeDetectorRef.markForCheck()},e.prototype._getSelected=function(){return this._model.selection},e.prototype._applyPendingSelection=function(){this._model!==this._globalModel&&this._globalModel.updateSelection(this._model.selection,this)},e}(d.mixinColor((function nt(t){this._elementRef=t})));at.decorators=[{type:i.Component,args:[{selector:"mat-datepicker-content",template:'<div\n cdkTrapFocus\n class="mat-datepicker-content-container"\n [class.mat-datepicker-content-container-with-actions]="_actionsPortal">\n <mat-calendar\n [id]="datepicker.id"\n [ngClass]="datepicker.panelClass"\n [startAt]="datepicker.startAt"\n [startView]="datepicker.startView"\n [minDate]="datepicker._getMinDate()"\n [maxDate]="datepicker._getMaxDate()"\n [dateFilter]="datepicker._getDateFilter()"\n [headerComponent]="datepicker.calendarHeaderComponent"\n [selected]="_getSelected()"\n [dateClass]="datepicker.dateClass"\n [comparisonStart]="comparisonStart"\n [comparisonEnd]="comparisonEnd"\n [@fadeInCalendar]="\'enter\'"\n (yearSelected)="datepicker._selectYear($event)"\n (monthSelected)="datepicker._selectMonth($event)"\n (viewChanged)="datepicker._viewChanged($event)"\n (_userSelection)="_handleUserSelection($event)"></mat-calendar>\n\n <ng-template [cdkPortalOutlet]="_actionsPortal"></ng-template>\n\n \x3c!-- Invisible close button for screen reader users. --\x3e\n <button\n type="button"\n mat-raised-button\n [color]="color || \'primary\'"\n class="mat-datepicker-close-button"\n [class.cdk-visually-hidden]="!_closeButtonFocused"\n (focus)="_closeButtonFocused = true"\n (blur)="_closeButtonFocused = false"\n (click)="datepicker.close()">{{ _closeButtonText }}</button>\n</div>\n',host:{class:"mat-datepicker-content","[@transformPanel]":"_animationState","(@transformPanel.done)":"_animationDone.next()","[class.mat-datepicker-content-touch]":"datepicker.touchUi"},animations:[Z.transformPanel,Z.fadeInCalendar],exportAs:"matDatepickerContent",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,inputs:["color"],styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.ng-animating .mat-datepicker-content .mat-datepicker-close-button{display:none}.mat-datepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mat-datepicker-content-touch{display:block;max-height:80vh;overflow:auto;margin:-24px}.mat-datepicker-content-touch .mat-datepicker-content-container{min-height:312px;max-height:788px;min-width:250px;max-width:750px}.mat-datepicker-content-touch .mat-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-datepicker-content-container{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-datepicker-content-container{width:80vw;height:100vw}.mat-datepicker-content-touch .mat-datepicker-content-container-with-actions{height:115vw}}\n"]}]}],at.ctorParameters=function(){return[{type:i.ElementRef},{type:i.ChangeDetectorRef},{type:V},{type:d.DateAdapter},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[N]}]},{type:v}]},at.propDecorators={_calendar:[{type:i.ViewChild,args:[X]}]};var rt=function(){function t(t,e,a,n,r,o,s,l,d){this._dialog=t,this._overlay=e,this._ngZone=a,this._viewContainerRef=n,this._dateAdapter=o,this._dir=s,this._document=l,this._model=d,this._inputStateChanges=c.Subscription.EMPTY,this.startView="month",this._touchUi=!1,this.xPosition="start",this.yPosition="below",this.yearSelected=new i.EventEmitter,this.monthSelected=new i.EventEmitter,this.viewChanged=new i.EventEmitter(!0),this.openedStream=new i.EventEmitter,this.closedStream=new i.EventEmitter,this._opened=!1,this.id="mat-datepicker-"+J++,this._focusedElementBeforeOpen=null,this._backdropHarnessClass=this.id+"-backdrop",this.stateChanges=new c.Subject,this._scrollStrategy=r}return Object.defineProperty(t.prototype,"startAt",{get:function(){return this._startAt||(this.datepickerInput?this.datepickerInput.getStartValue():null)},set:function(t){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"color",{get:function(){return this._color||(this.datepickerInput?this.datepickerInput.getThemePalette():void 0)},set:function(t){this._color=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"touchUi",{get:function(){return this._touchUi},set:function(t){this._touchUi=_.coerceBooleanProperty(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepickerInput?this.datepickerInput.disabled:!!this._disabled},set:function(t){var e=_.coerceBooleanProperty(t);e!==this._disabled&&(this._disabled=e,this.stateChanges.next(void 0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panelClass",{get:function(){return this._panelClass},set:function(t){this._panelClass=_.coerceStringArray(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(t){_.coerceBooleanProperty(t)?this.open():this.close()},enumerable:!1,configurable:!0}),t.prototype._getMinDate=function(){return this.datepickerInput&&this.datepickerInput.min},t.prototype._getMaxDate=function(){return this.datepickerInput&&this.datepickerInput.max},t.prototype._getDateFilter=function(){return this.datepickerInput&&this.datepickerInput.dateFilter},t.prototype.ngOnChanges=function(t){var e=t.xPosition||t.yPosition;e&&!e.firstChange&&this._popupRef&&(this._setConnectedPositions(this._popupRef.getConfig().positionStrategy),this.opened&&this._popupRef.updatePosition()),this.stateChanges.next(void 0)},t.prototype.ngOnDestroy=function(){this._destroyPopup(),this.close(),this._inputStateChanges.unsubscribe(),this.stateChanges.complete()},t.prototype.select=function(t){this._model.add(t)},t.prototype._selectYear=function(t){this.yearSelected.emit(t)},t.prototype._selectMonth=function(t){this.monthSelected.emit(t)},t.prototype._viewChanged=function(t){this.viewChanged.emit(t)},t.prototype.registerInput=function(t){var e=this;return this._inputStateChanges.unsubscribe(),this.datepickerInput=t,this._inputStateChanges=t.stateChanges.subscribe((function(){return e.stateChanges.next(void 0)})),this._model},t.prototype.registerActions=function(t){this._actionsPortal=t},t.prototype.removeActions=function(t){t===this._actionsPortal&&(this._actionsPortal=null)},t.prototype.open=function(){this._opened||this.disabled||(this._document&&(this._focusedElementBeforeOpen=this._document.activeElement),this.touchUi?this._openAsDialog():this._openAsPopup(),this._opened=!0,this.openedStream.emit())},t.prototype.close=function(){var t=this;if(this._opened){if(this._popupComponentRef&&this._popupRef){var e=this._popupComponentRef.instance;e._startExitAnimation(),e._animationDone.pipe(h.take(1)).subscribe((function(){return t._destroyPopup()}))}this._dialogRef&&(this._dialogRef.close(),this._dialogRef=null);var a=function(){t._opened&&(t._opened=!1,t.closedStream.emit(),t._focusedElementBeforeOpen=null)};this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(a)):a()}},t.prototype._applyPendingSelection=function(){var t,e,a=(null===(t=this._popupComponentRef)||void 0===t?void 0:t.instance)||(null===(e=this._dialogRef)||void 0===e?void 0:e.componentInstance);null==a||a._applyPendingSelection()},t.prototype._openAsDialog=function(){var t=this;this._dialogRef&&this._dialogRef.close(),this._dialogRef=this._dialog.open(at,{direction:this._dir?this._dir.value:"ltr",viewContainerRef:this._viewContainerRef,panelClass:"mat-datepicker-dialog",hasBackdrop:!0,disableClose:!1,backdropClass:["cdk-overlay-dark-backdrop",this._backdropHarnessClass],width:"",height:"",minWidth:"",minHeight:"",maxWidth:"80vw",maxHeight:"",position:{},autoFocus:!1,restoreFocus:!1}),this._dialogRef.afterClosed().subscribe((function(){return t.close()})),this._forwardContentValues(this._dialogRef.componentInstance)},t.prototype._openAsPopup=function(){var t=this,e=new n.ComponentPortal(at,this._viewContainerRef);this._destroyPopup(),this._createPopup(),this._popupComponentRef=this._popupRef.attach(e),this._forwardContentValues(this._popupComponentRef.instance),this._ngZone.onStable.pipe(h.take(1)).subscribe((function(){t._popupRef.updatePosition()}))},t.prototype._forwardContentValues=function(t){t.datepicker=this,t.color=this.color,t._actionsPortal=this._actionsPortal},t.prototype._createPopup=function(){var t=this,e=this._overlay.position().flexibleConnectedTo(this.datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition(),n=new a.OverlayConfig({positionStrategy:this._setConnectedPositions(e),hasBackdrop:!0,backdropClass:["mat-overlay-transparent-backdrop",this._backdropHarnessClass],direction:this._dir,scrollStrategy:this._scrollStrategy(),panelClass:"mat-datepicker-popup"});this._popupRef=this._overlay.create(n),this._popupRef.overlayElement.setAttribute("role","dialog"),c.merge(this._popupRef.backdropClick(),this._popupRef.detachments(),this._popupRef.keydownEvents().pipe(h.filter((function(e){return e.keyCode===p.ESCAPE&&!p.hasModifierKey(e)||t.datepickerInput&&p.hasModifierKey(e,"altKey")&&e.keyCode===p.UP_ARROW})))).subscribe((function(e){e&&e.preventDefault(),t.close()}))},t.prototype._destroyPopup=function(){this._popupRef&&(this._popupRef.dispose(),this._popupRef=this._popupComponentRef=null)},t.prototype._setConnectedPositions=function(t){var e="end"===this.xPosition?"end":"start",a="start"===e?"end":"start",n="above"===this.yPosition?"bottom":"top",r="top"===n?"bottom":"top";return t.withPositions([{originX:e,originY:r,overlayX:e,overlayY:n},{originX:e,originY:n,overlayX:e,overlayY:r},{originX:a,originY:r,overlayX:a,overlayY:n},{originX:a,originY:n,overlayX:a,overlayY:r}])},t}();rt.decorators=[{type:i.Directive}],rt.ctorParameters=function(){return[{type:s.MatDialog},{type:a.Overlay},{type:i.NgZone},{type:i.ViewContainerRef},{type:void 0,decorators:[{type:i.Inject,args:[Q]}]},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[r.DOCUMENT]}]},{type:V}]},rt.propDecorators={calendarHeaderComponent:[{type:i.Input}],startAt:[{type:i.Input}],startView:[{type:i.Input}],color:[{type:i.Input}],touchUi:[{type:i.Input}],disabled:[{type:i.Input}],xPosition:[{type:i.Input}],yPosition:[{type:i.Input}],yearSelected:[{type:i.Output}],monthSelected:[{type:i.Output}],viewChanged:[{type:i.Output}],dateClass:[{type:i.Input}],openedStream:[{type:i.Output,args:["opened"]}],closedStream:[{type:i.Output,args:["closed"]}],panelClass:[{type:i.Input}],opened:[{type:i.Input}]};var it=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return O(e,t),e}(rt);it.decorators=[{type:i.Component,args:[{selector:"mat-datepicker",template:"",exportAs:"matDatepicker",changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,providers:[F,{provide:rt,useExisting:it}]}]}];var ot=function ot(t,e){this.target=t,this.targetElement=e,this.value=this.target.value},st=function(){function t(t,e,a){var n=this;this._elementRef=t,this._dateAdapter=e,this._dateFormats=a,this.dateChange=new i.EventEmitter,this.dateInput=new i.EventEmitter,this.stateChanges=new c.Subject,this._onTouched=function(){},this._validatorOnChange=function(){},this._cvaOnChange=function(){},this._valueChangesSubscription=c.Subscription.EMPTY,this._localeSubscription=c.Subscription.EMPTY,this._parseValidator=function(){return n._lastValueValid?null:{matDatepickerParse:{text:n._elementRef.nativeElement.value}}},this._filterValidator=function(t){var e=n._dateAdapter.getValidDateOrNull(n._dateAdapter.deserialize(t.value));return!e||n._matchesFilter(e)?null:{matDatepickerFilter:!0}},this._minValidator=function(t){var e=n._dateAdapter.getValidDateOrNull(n._dateAdapter.deserialize(t.value)),a=n._getMinDate();return!a||!e||n._dateAdapter.compareDate(a,e)<=0?null:{matDatepickerMin:{min:a,actual:e}}},this._maxValidator=function(t){var e=n._dateAdapter.getValidDateOrNull(n._dateAdapter.deserialize(t.value)),a=n._getMaxDate();return!a||!e||n._dateAdapter.compareDate(a,e)>=0?null:{matDatepickerMax:{max:a,actual:e}}},this._lastValueValid=!1,this._localeSubscription=e.localeChanges.subscribe((function(){n._assignValueProgrammatically(n.value)}))}return Object.defineProperty(t.prototype,"value",{get:function(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue},set:function(t){this._assignValueProgrammatically(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return!!this._disabled||this._parentDisabled()},set:function(t){var e=_.coerceBooleanProperty(t),a=this._elementRef.nativeElement;this._disabled!==e&&(this._disabled=e,this.stateChanges.next(void 0)),e&&this._isInitialized&&a.blur&&a.blur()},enumerable:!1,configurable:!0}),t.prototype._getValidators=function(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]},t.prototype._registerModel=function(t){var e=this;this._model=t,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe((function(t){if(e._shouldHandleChangeEvent(t)){var a=e._getValueFromModel(t.selection);e._lastValueValid=e._isValidValue(a),e._cvaOnChange(a),e._onTouched(),e._formatValue(a),e.dateInput.emit(new ot(e,e._elementRef.nativeElement)),e.dateChange.emit(new ot(e,e._elementRef.nativeElement))}}))},t.prototype.ngAfterViewInit=function(){this._isInitialized=!0},t.prototype.ngOnChanges=function(t){lt(t,this._dateAdapter)&&this.stateChanges.next(void 0)},t.prototype.ngOnDestroy=function(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this.stateChanges.complete()},t.prototype.registerOnValidatorChange=function(t){this._validatorOnChange=t},t.prototype.validate=function(t){return this._validator?this._validator(t):null},t.prototype.writeValue=function(t){this._assignValueProgrammatically(t)},t.prototype.registerOnChange=function(t){this._cvaOnChange=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t},t.prototype._onKeydown=function(t){t.altKey&&t.keyCode===p.DOWN_ARROW&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),t.preventDefault())},t.prototype._onInput=function(t){var e=this._lastValueValid,a=this._dateAdapter.parse(t,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(a),a=this._dateAdapter.getValidDateOrNull(a),this._dateAdapter.sameDate(a,this.value)?(t&&!this.value&&this._cvaOnChange(a),e!==this._lastValueValid&&this._validatorOnChange()):(this._assignValue(a),this._cvaOnChange(a),this.dateInput.emit(new ot(this,this._elementRef.nativeElement)))},t.prototype._onChange=function(){this.dateChange.emit(new ot(this,this._elementRef.nativeElement))},t.prototype._onBlur=function(){this.value&&this._formatValue(this.value),this._onTouched()},t.prototype._formatValue=function(t){this._elementRef.nativeElement.value=t?this._dateAdapter.format(t,this._dateFormats.display.dateInput):""},t.prototype._assignValue=function(t){this._model?(this._assignValueToModel(t),this._pendingValue=null):this._pendingValue=t},t.prototype._isValidValue=function(t){return!t||this._dateAdapter.isValid(t)},t.prototype._parentDisabled=function(){return!1},t.prototype._assignValueProgrammatically=function(t){t=this._dateAdapter.deserialize(t),this._lastValueValid=this._isValidValue(t),t=this._dateAdapter.getValidDateOrNull(t),this._assignValue(t),this._formatValue(t)},t.prototype._matchesFilter=function(t){var e=this._getDateFilter();return!e||e(t)},t}();function lt(t,e){var a,n,r=Object.keys(t);try{for(var i=function o(t){var e="function"==typeof Symbol&&Symbol.iterator,a=e&&t[e],n=0;if(a)return a.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(r),s=i.next();!s.done;s=i.next()){var l=t[s.value],d=l.previousValue,c=l.currentValue;if(!e.isDateInstance(d)||!e.isDateInstance(c))return!0;if(!e.sameDate(d,c))return!0}}catch(t){a={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return!1}st.decorators=[{type:i.Directive}],st.ctorParameters=function(){return[{type:i.ElementRef},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]}]},st.propDecorators={value:[{type:i.Input}],disabled:[{type:i.Input}],dateChange:[{type:i.Output}],dateInput:[{type:i.Output}]};var dt,ct={provide:g.NG_VALUE_ACCESSOR,useExisting:i.forwardRef((function(){return ut})),multi:!0},pt={provide:g.NG_VALIDATORS,useExisting:i.forwardRef((function(){return ut})),multi:!0},ut=function(t){function e(e,a,n,r){var i=t.call(this,e,a,n)||this;return i._formField=r,i._closedSubscription=c.Subscription.EMPTY,i._validator=g.Validators.compose(t.prototype._getValidators.call(i)),i}return O(e,t),Object.defineProperty(e.prototype,"matDatepicker",{set:function(t){var e=this;t&&(this._datepicker=t,this._closedSubscription=t.closedStream.subscribe((function(){return e._onTouched()})),this._registerModel(t.registerInput(this)))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"min",{get:function(){return this._min},set:function(t){var e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t));this._dateAdapter.sameDate(e,this._min)||(this._min=e,this._validatorOnChange())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"max",{get:function(){return this._max},set:function(t){var e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t));this._dateAdapter.sameDate(e,this._max)||(this._max=e,this._validatorOnChange())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dateFilter",{get:function(){return this._dateFilter},set:function(t){var e=this._matchesFilter(this.value);this._dateFilter=t,this._matchesFilter(this.value)!==e&&this._validatorOnChange()},enumerable:!1,configurable:!0}),e.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},e.prototype.getThemePalette=function(){return this._formField?this._formField.color:void 0},e.prototype.getStartValue=function(){return this.value},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this._closedSubscription.unsubscribe()},e.prototype._openPopup=function(){this._datepicker&&this._datepicker.open()},e.prototype._getValueFromModel=function(t){return t},e.prototype._assignValueToModel=function(t){this._model&&this._model.updateSelection(t,this)},e.prototype._getMinDate=function(){return this._min},e.prototype._getMaxDate=function(){return this._max},e.prototype._getDateFilter=function(){return this._dateFilter},e.prototype._shouldHandleChangeEvent=function(t){return t.source!==this},e}(st);ut.decorators=[{type:i.Directive,args:[{selector:"input[matDatepicker]",providers:[ct,pt,{provide:f.MAT_INPUT_VALUE_ACCESSOR,useExisting:ut}],host:{class:"mat-datepicker-input","[attr.aria-haspopup]":'_datepicker ? "dialog" : null',"[attr.aria-owns]":"(_datepicker?.opened && _datepicker.id) || null","[attr.min]":"min ? _dateAdapter.toIso8601(min) : null","[attr.max]":"max ? _dateAdapter.toIso8601(max) : null","[attr.data-mat-calendar]":"_datepicker ? _datepicker.id : null","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(blur)":"_onBlur()","(keydown)":"_onKeydown($event)"},exportAs:"matDatepickerInput"}]}],ut.ctorParameters=function(){return[{type:i.ElementRef},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]},{type:y.MatFormField,decorators:[{type:i.Optional},{type:i.Inject,args:[y.MAT_FORM_FIELD]}]}]},ut.propDecorators={matDatepicker:[{type:i.Input}],min:[{type:i.Input}],max:[{type:i.Input}],dateFilter:[{type:i.Input,args:["matDatepickerFilter"]}]},(dt=function dt(){}).decorators=[{type:i.Directive,args:[{selector:"[matDatepickerToggleIcon]"}]}];var ht=function(){function t(t,e,a){this._intl=t,this._changeDetectorRef=e,this._stateChanges=c.Subscription.EMPTY;var n=Number(a);this.tabIndex=n||0===n?n:null}return Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled},set:function(t){this._disabled=_.coerceBooleanProperty(t)},enumerable:!1,configurable:!0}),t.prototype.ngOnChanges=function(t){t.datepicker&&this._watchStateChanges()},t.prototype.ngOnDestroy=function(){this._stateChanges.unsubscribe()},t.prototype.ngAfterContentInit=function(){this._watchStateChanges()},t.prototype._open=function(t){this.datepicker&&!this.disabled&&(this.datepicker.open(),t.stopPropagation())},t.prototype._watchStateChanges=function(){var t=this,e=this.datepicker?this.datepicker.stateChanges:c.of(),a=this.datepicker&&this.datepicker.datepickerInput?this.datepicker.datepickerInput.stateChanges:c.of(),n=this.datepicker?c.merge(this.datepicker.openedStream,this.datepicker.closedStream):c.of();this._stateChanges.unsubscribe(),this._stateChanges=c.merge(this._intl.changes,e,a,n).subscribe((function(){return t._changeDetectorRef.markForCheck()}))},t}();ht.decorators=[{type:i.Component,args:[{selector:"mat-datepicker-toggle",template:'<button\n #button\n mat-icon-button\n type="button"\n [attr.aria-haspopup]="datepicker ? \'dialog\' : null"\n [attr.aria-label]="ariaLabel || _intl.openCalendarLabel"\n [attr.tabindex]="disabled ? -1 : tabIndex"\n [disabled]="disabled"\n [disableRipple]="disableRipple"\n (click)="_open($event)">\n\n <svg\n *ngIf="!_customIcon"\n class="mat-datepicker-toggle-default-icon"\n viewBox="0 0 24 24"\n width="24px"\n height="24px"\n fill="currentColor"\n focusable="false">\n <path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"/>\n </svg>\n\n <ng-content select="[matDatepickerToggleIcon]"></ng-content>\n</button>\n',host:{class:"mat-datepicker-toggle","[attr.tabindex]":"null","[class.mat-datepicker-toggle-active]":"datepicker && datepicker.opened","[class.mat-accent]":'datepicker && datepicker.color === "accent"',"[class.mat-warn]":'datepicker && datepicker.color === "warn"',"[attr.data-mat-calendar]":"datepicker ? datepicker.id : null"},exportAs:"matDatepickerToggle",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}\n"]}]}],ht.ctorParameters=function(){return[{type:v},{type:i.ChangeDetectorRef},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]}]},ht.propDecorators={datepicker:[{type:i.Input,args:["for"]}],tabIndex:[{type:i.Input}],ariaLabel:[{type:i.Input,args:["aria-label"]}],disabled:[{type:i.Input}],disableRipple:[{type:i.Input}],_customIcon:[{type:i.ContentChild,args:[dt]}],_button:[{type:i.ViewChild,args:["button"]}]};var _t=new i.InjectionToken("MAT_DATE_RANGE_INPUT_PARENT"),mt=function(t){function e(e,a,n,r,i,o,s,l){var d=t.call(this,a,s,l)||this;return d._rangeInput=e,d._defaultErrorStateMatcher=n,d._injector=r,d._parentForm=i,d._parentFormGroup=o,d}return O(e,t),e.prototype.ngOnInit=function(){var t=this._injector.get(g.NgControl,null,i.InjectFlags.Self);t&&(this.ngControl=t)},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.isEmpty=function(){return 0===this._elementRef.nativeElement.value.length},e.prototype._getPlaceholder=function(){return this._elementRef.nativeElement.placeholder},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._onInput=function(e){t.prototype._onInput.call(this,e),this._rangeInput._handleChildValueChange()},e.prototype._openPopup=function(){this._rangeInput._openDatepicker()},e.prototype._getMinDate=function(){return this._rangeInput.min},e.prototype._getMaxDate=function(){return this._rangeInput.max},e.prototype._getDateFilter=function(){return this._rangeInput.dateFilter},e.prototype._parentDisabled=function(){return this._rangeInput._groupDisabled},e.prototype._shouldHandleChangeEvent=function(t){var e=t.source;return e!==this._rangeInput._startInput&&e!==this._rangeInput._endInput},e.prototype._assignValueProgrammatically=function(e){t.prototype._assignValueProgrammatically.call(this,e);var a=this===this._rangeInput._startInput?this._rangeInput._endInput:this._rangeInput._startInput;null==a||a._validatorOnChange()},e}(st);mt.decorators=[{type:i.Directive}],mt.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[_t]}]},{type:i.ElementRef},{type:d.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]}]};var gt=d.mixinErrorState(mt),yt=function(t){function e(e,a,n,r,i,o,s,l){var d=t.call(this,e,a,n,r,i,o,s,l)||this;return d._startValidator=function(t){var e=d._dateAdapter.getValidDateOrNull(d._dateAdapter.deserialize(t.value)),a=d._model?d._model.selection.end:null;return!e||!a||d._dateAdapter.compareDate(e,a)<=0?null:{matStartDateInvalid:{end:a,actual:e}}},d._validator=g.Validators.compose(S(t.prototype._getValidators.call(d),[d._startValidator])),d}return O(e,t),e.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},e.prototype.ngDoCheck=function(){t.prototype.ngDoCheck.call(this)},e.prototype._getValueFromModel=function(t){return t.start},e.prototype._assignValueToModel=function(t){if(this._model){var e=new E(t,this._model.selection.end);this._model.updateSelection(e,this)}},e.prototype._formatValue=function(e){t.prototype._formatValue.call(this,e),this._rangeInput._handleChildValueChange()},e.prototype.getMirrorValue=function(){var t=this._elementRef.nativeElement,e=t.value;return e.length>0?e:t.placeholder},e}(gt);yt.decorators=[{type:i.Directive,args:[{selector:"input[matStartDate]",host:{class:"mat-start-date mat-date-range-input-inner","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(keydown)":"_onKeydown($event)","[attr.id]":"_rangeInput.id","[attr.aria-haspopup]":'_rangeInput.rangePicker ? "dialog" : null',"[attr.aria-owns]":"(_rangeInput.rangePicker?.opened && _rangeInput.rangePicker.id) || null","[attr.min]":"_getMinDate() ? _dateAdapter.toIso8601(_getMinDate()) : null","[attr.max]":"_getMaxDate() ? _dateAdapter.toIso8601(_getMaxDate()) : null","(blur)":"_onBlur()",type:"text"},providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:yt,multi:!0},{provide:g.NG_VALIDATORS,useExisting:yt,multi:!0}],outputs:["dateChange","dateInput"],inputs:["errorStateMatcher"]}]}],yt.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[_t]}]},{type:i.ElementRef},{type:d.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]}]};var ft=function(t){function e(e,a,n,r,i,o,s,l){var d=t.call(this,e,a,n,r,i,o,s,l)||this;return d._endValidator=function(t){var e=d._dateAdapter.getValidDateOrNull(d._dateAdapter.deserialize(t.value)),a=d._model?d._model.selection.start:null;return!e||!a||d._dateAdapter.compareDate(e,a)>=0?null:{matEndDateInvalid:{start:a,actual:e}}},d._validator=g.Validators.compose(S(t.prototype._getValidators.call(d),[d._endValidator])),d}return O(e,t),e.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},e.prototype.ngDoCheck=function(){t.prototype.ngDoCheck.call(this)},e.prototype._getValueFromModel=function(t){return t.end},e.prototype._assignValueToModel=function(t){if(this._model){var e=new E(this._model.selection.start,t);this._model.updateSelection(e,this)}},e.prototype._onKeydown=function(e){e.keyCode!==p.BACKSPACE||this._elementRef.nativeElement.value||this._rangeInput._startInput.focus(),t.prototype._onKeydown.call(this,e)},e}(gt);ft.decorators=[{type:i.Directive,args:[{selector:"input[matEndDate]",host:{class:"mat-end-date mat-date-range-input-inner","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(keydown)":"_onKeydown($event)","[attr.aria-haspopup]":'_rangeInput.rangePicker ? "dialog" : null',"[attr.aria-owns]":"(_rangeInput.rangePicker?.opened && _rangeInput.rangePicker.id) || null","[attr.min]":"_getMinDate() ? _dateAdapter.toIso8601(_getMinDate()) : null","[attr.max]":"_getMaxDate() ? _dateAdapter.toIso8601(_getMaxDate()) : null","(blur)":"_onBlur()",type:"text"},providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:ft,multi:!0},{provide:g.NG_VALIDATORS,useExisting:ft,multi:!0}],outputs:["dateChange","dateInput"],inputs:["errorStateMatcher"]}]}],ft.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[_t]}]},{type:i.ElementRef},{type:d.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]}]};
83
+ var Z={transformPanel:m.trigger("transformPanel",[m.state("void",m.style({opacity:0,transform:"scale(1, 0.8)"})),m.transition("void => enter",m.animate("120ms cubic-bezier(0, 0, 0.2, 1)",m.style({opacity:1,transform:"scale(1, 1)"}))),m.transition("* => void",m.animate("100ms linear",m.style({opacity:0})))]),fadeInCalendar:m.trigger("fadeInCalendar",[m.state("void",m.style({opacity:0})),m.state("enter",m.style({opacity:1})),m.transition("void => *",m.animate("120ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"))])},J=0,Q=new i.InjectionToken("mat-datepicker-scroll-strategy");function tt(t){return function(){return t.scrollStrategies.reposition()}}var et={provide:Q,deps:[a.Overlay],useFactory:tt},at=function(t){function e(e,a,n,r,i,o){var s=t.call(this,e)||this;return s._changeDetectorRef=a,s._globalModel=n,s._dateAdapter=r,s._rangeSelectionStrategy=i,s._subscriptions=new c.Subscription,s._animationState="enter",s._animationDone=new c.Subject,s._actionsPortal=null,s._closeButtonText=(null==o?void 0:o.closeCalendarLabel)||"Close calendar",s}return O(e,t),e.prototype.ngOnInit=function(){this._model=this._actionsPortal?this._globalModel.clone():this._globalModel},e.prototype.ngAfterViewInit=function(){var t=this;this._subscriptions.add(this.datepicker.stateChanges.subscribe((function(){t._changeDetectorRef.markForCheck()}))),this._calendar.focusActiveCell()},e.prototype.ngOnDestroy=function(){this._subscriptions.unsubscribe(),this._animationDone.complete()},e.prototype._handleUserSelection=function(t){var e=this._model.selection,a=t.value,n=e instanceof E;if(n&&this._rangeSelectionStrategy){var r=this._rangeSelectionStrategy.selectionFinished(a,e,t.event);this._model.updateSelection(r,this)}else!a||!n&&this._dateAdapter.sameDate(a,e)||this._model.add(a);this._model&&!this._model.isComplete()||this._actionsPortal||this.datepicker.close()},e.prototype._startExitAnimation=function(){this._animationState="void",this._changeDetectorRef.markForCheck()},e.prototype._getSelected=function(){return this._model.selection},e.prototype._applyPendingSelection=function(){this._model!==this._globalModel&&this._globalModel.updateSelection(this._model.selection,this)},e}(d.mixinColor((function nt(t){this._elementRef=t})));at.decorators=[{type:i.Component,args:[{selector:"mat-datepicker-content",template:'<div\n cdkTrapFocus\n class="mat-datepicker-content-container"\n [class.mat-datepicker-content-container-with-actions]="_actionsPortal">\n <mat-calendar\n [id]="datepicker.id"\n [ngClass]="datepicker.panelClass"\n [startAt]="datepicker.startAt"\n [startView]="datepicker.startView"\n [minDate]="datepicker._getMinDate()"\n [maxDate]="datepicker._getMaxDate()"\n [dateFilter]="datepicker._getDateFilter()"\n [headerComponent]="datepicker.calendarHeaderComponent"\n [selected]="_getSelected()"\n [dateClass]="datepicker.dateClass"\n [comparisonStart]="comparisonStart"\n [comparisonEnd]="comparisonEnd"\n [@fadeInCalendar]="\'enter\'"\n (yearSelected)="datepicker._selectYear($event)"\n (monthSelected)="datepicker._selectMonth($event)"\n (viewChanged)="datepicker._viewChanged($event)"\n (_userSelection)="_handleUserSelection($event)"></mat-calendar>\n\n <ng-template [cdkPortalOutlet]="_actionsPortal"></ng-template>\n\n \x3c!-- Invisible close button for screen reader users. --\x3e\n <button\n type="button"\n mat-raised-button\n [color]="color || \'primary\'"\n class="mat-datepicker-close-button"\n [class.cdk-visually-hidden]="!_closeButtonFocused"\n (focus)="_closeButtonFocused = true"\n (blur)="_closeButtonFocused = false"\n (click)="datepicker.close()">{{ _closeButtonText }}</button>\n</div>\n',host:{class:"mat-datepicker-content","[@transformPanel]":"_animationState","(@transformPanel.done)":"_animationDone.next()","[class.mat-datepicker-content-touch]":"datepicker.touchUi"},animations:[Z.transformPanel,Z.fadeInCalendar],exportAs:"matDatepickerContent",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,inputs:["color"],styles:[".mat-datepicker-content{display:block;border-radius:4px}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.ng-animating .mat-datepicker-content .mat-datepicker-close-button{display:none}.mat-datepicker-content-container{display:flex;flex-direction:column;justify-content:space-between}.mat-datepicker-content-touch{display:block;max-height:80vh;overflow:auto;margin:-24px}.mat-datepicker-content-touch .mat-datepicker-content-container{min-height:312px;max-height:788px;min-width:250px;max-width:750px}.mat-datepicker-content-touch .mat-calendar{width:100%;height:auto}@media all and (orientation: landscape){.mat-datepicker-content-touch .mat-datepicker-content-container{width:64vh;height:80vh}}@media all and (orientation: portrait){.mat-datepicker-content-touch .mat-datepicker-content-container{width:80vw;height:100vw}.mat-datepicker-content-touch .mat-datepicker-content-container-with-actions{height:115vw}}\n"]}]}],at.ctorParameters=function(){return[{type:i.ElementRef},{type:i.ChangeDetectorRef},{type:V},{type:d.DateAdapter},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[N]}]},{type:v}]},at.propDecorators={_calendar:[{type:i.ViewChild,args:[X]}]};var rt=function(){function t(t,e,a,n,r,o,s,l,d){this._dialog=t,this._overlay=e,this._ngZone=a,this._viewContainerRef=n,this._dateAdapter=o,this._dir=s,this._document=l,this._model=d,this._inputStateChanges=c.Subscription.EMPTY,this.startView="month",this._touchUi=!1,this.xPosition="start",this.yPosition="below",this._restoreFocus=!0,this.yearSelected=new i.EventEmitter,this.monthSelected=new i.EventEmitter,this.viewChanged=new i.EventEmitter(!0),this.openedStream=new i.EventEmitter,this.closedStream=new i.EventEmitter,this._opened=!1,this.id="mat-datepicker-"+J++,this._focusedElementBeforeOpen=null,this._backdropHarnessClass=this.id+"-backdrop",this.stateChanges=new c.Subject,this._scrollStrategy=r}return Object.defineProperty(t.prototype,"startAt",{get:function(){return this._startAt||(this.datepickerInput?this.datepickerInput.getStartValue():null)},set:function(t){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"color",{get:function(){return this._color||(this.datepickerInput?this.datepickerInput.getThemePalette():void 0)},set:function(t){this._color=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"touchUi",{get:function(){return this._touchUi},set:function(t){this._touchUi=_.coerceBooleanProperty(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepickerInput?this.datepickerInput.disabled:!!this._disabled},set:function(t){var e=_.coerceBooleanProperty(t);e!==this._disabled&&(this._disabled=e,this.stateChanges.next(void 0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"restoreFocus",{get:function(){return this._restoreFocus},set:function(t){this._restoreFocus=_.coerceBooleanProperty(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"panelClass",{get:function(){return this._panelClass},set:function(t){this._panelClass=_.coerceStringArray(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"opened",{get:function(){return this._opened},set:function(t){_.coerceBooleanProperty(t)?this.open():this.close()},enumerable:!1,configurable:!0}),t.prototype._getMinDate=function(){return this.datepickerInput&&this.datepickerInput.min},t.prototype._getMaxDate=function(){return this.datepickerInput&&this.datepickerInput.max},t.prototype._getDateFilter=function(){return this.datepickerInput&&this.datepickerInput.dateFilter},t.prototype.ngOnChanges=function(t){var e=t.xPosition||t.yPosition;e&&!e.firstChange&&this._popupRef&&(this._setConnectedPositions(this._popupRef.getConfig().positionStrategy),this.opened&&this._popupRef.updatePosition()),this.stateChanges.next(void 0)},t.prototype.ngOnDestroy=function(){this._destroyPopup(),this.close(),this._inputStateChanges.unsubscribe(),this.stateChanges.complete()},t.prototype.select=function(t){this._model.add(t)},t.prototype._selectYear=function(t){this.yearSelected.emit(t)},t.prototype._selectMonth=function(t){this.monthSelected.emit(t)},t.prototype._viewChanged=function(t){this.viewChanged.emit(t)},t.prototype.registerInput=function(t){var e=this;return this._inputStateChanges.unsubscribe(),this.datepickerInput=t,this._inputStateChanges=t.stateChanges.subscribe((function(){return e.stateChanges.next(void 0)})),this._model},t.prototype.registerActions=function(t){this._actionsPortal=t},t.prototype.removeActions=function(t){t===this._actionsPortal&&(this._actionsPortal=null)},t.prototype.open=function(){this._opened||this.disabled||(this._document&&(this._focusedElementBeforeOpen=this._document.activeElement),this.touchUi?this._openAsDialog():this._openAsPopup(),this._opened=!0,this.openedStream.emit())},t.prototype.close=function(){var t=this;if(this._opened){if(this._popupComponentRef&&this._popupRef){var e=this._popupComponentRef.instance;e._startExitAnimation(),e._animationDone.pipe(h.take(1)).subscribe((function(){return t._destroyPopup()}))}this._dialogRef&&(this._dialogRef.close(),this._dialogRef=null);var a=function(){t._opened&&(t._opened=!1,t.closedStream.emit(),t._focusedElementBeforeOpen=null)};this._restoreFocus&&this._focusedElementBeforeOpen&&"function"==typeof this._focusedElementBeforeOpen.focus?(this._focusedElementBeforeOpen.focus(),setTimeout(a)):a()}},t.prototype._applyPendingSelection=function(){var t,e,a=(null===(t=this._popupComponentRef)||void 0===t?void 0:t.instance)||(null===(e=this._dialogRef)||void 0===e?void 0:e.componentInstance);null==a||a._applyPendingSelection()},t.prototype._openAsDialog=function(){var t=this;this._dialogRef&&this._dialogRef.close(),this._dialogRef=this._dialog.open(at,{direction:this._dir?this._dir.value:"ltr",viewContainerRef:this._viewContainerRef,panelClass:"mat-datepicker-dialog",hasBackdrop:!0,disableClose:!1,backdropClass:["cdk-overlay-dark-backdrop",this._backdropHarnessClass],width:"",height:"",minWidth:"",minHeight:"",maxWidth:"80vw",maxHeight:"",position:{},autoFocus:!1,restoreFocus:!1}),this._dialogRef.afterClosed().subscribe((function(){return t.close()})),this._forwardContentValues(this._dialogRef.componentInstance)},t.prototype._openAsPopup=function(){var t=this,e=new n.ComponentPortal(at,this._viewContainerRef);this._destroyPopup(),this._createPopup(),this._popupComponentRef=this._popupRef.attach(e),this._forwardContentValues(this._popupComponentRef.instance),this._ngZone.onStable.pipe(h.take(1)).subscribe((function(){t._popupRef.updatePosition()}))},t.prototype._forwardContentValues=function(t){t.datepicker=this,t.color=this.color,t._actionsPortal=this._actionsPortal},t.prototype._createPopup=function(){var t=this,e=this._overlay.position().flexibleConnectedTo(this.datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition(),n=new a.OverlayConfig({positionStrategy:this._setConnectedPositions(e),hasBackdrop:!0,backdropClass:["mat-overlay-transparent-backdrop",this._backdropHarnessClass],direction:this._dir,scrollStrategy:this._scrollStrategy(),panelClass:"mat-datepicker-popup"});this._popupRef=this._overlay.create(n),this._popupRef.overlayElement.setAttribute("role","dialog"),c.merge(this._popupRef.backdropClick(),this._popupRef.detachments(),this._popupRef.keydownEvents().pipe(h.filter((function(e){return e.keyCode===p.ESCAPE&&!p.hasModifierKey(e)||t.datepickerInput&&p.hasModifierKey(e,"altKey")&&e.keyCode===p.UP_ARROW})))).subscribe((function(e){e&&e.preventDefault(),t.close()}))},t.prototype._destroyPopup=function(){this._popupRef&&(this._popupRef.dispose(),this._popupRef=this._popupComponentRef=null)},t.prototype._setConnectedPositions=function(t){var e="end"===this.xPosition?"end":"start",a="start"===e?"end":"start",n="above"===this.yPosition?"bottom":"top",r="top"===n?"bottom":"top";return t.withPositions([{originX:e,originY:r,overlayX:e,overlayY:n},{originX:e,originY:n,overlayX:e,overlayY:r},{originX:a,originY:r,overlayX:a,overlayY:n},{originX:a,originY:n,overlayX:a,overlayY:r}])},t}();rt.decorators=[{type:i.Directive}],rt.ctorParameters=function(){return[{type:s.MatDialog},{type:a.Overlay},{type:i.NgZone},{type:i.ViewContainerRef},{type:void 0,decorators:[{type:i.Inject,args:[Q]}]},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:u.Directionality,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[r.DOCUMENT]}]},{type:V}]},rt.propDecorators={calendarHeaderComponent:[{type:i.Input}],startAt:[{type:i.Input}],startView:[{type:i.Input}],color:[{type:i.Input}],touchUi:[{type:i.Input}],disabled:[{type:i.Input}],xPosition:[{type:i.Input}],yPosition:[{type:i.Input}],restoreFocus:[{type:i.Input}],yearSelected:[{type:i.Output}],monthSelected:[{type:i.Output}],viewChanged:[{type:i.Output}],dateClass:[{type:i.Input}],openedStream:[{type:i.Output,args:["opened"]}],closedStream:[{type:i.Output,args:["closed"]}],panelClass:[{type:i.Input}],opened:[{type:i.Input}]};var it=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return O(e,t),e}(rt);it.decorators=[{type:i.Component,args:[{selector:"mat-datepicker",template:"",exportAs:"matDatepicker",changeDetection:i.ChangeDetectionStrategy.OnPush,encapsulation:i.ViewEncapsulation.None,providers:[F,{provide:rt,useExisting:it}]}]}];var ot=function ot(t,e){this.target=t,this.targetElement=e,this.value=this.target.value},st=function(){function t(t,e,a){var n=this;this._elementRef=t,this._dateAdapter=e,this._dateFormats=a,this.dateChange=new i.EventEmitter,this.dateInput=new i.EventEmitter,this.stateChanges=new c.Subject,this._onTouched=function(){},this._validatorOnChange=function(){},this._cvaOnChange=function(){},this._valueChangesSubscription=c.Subscription.EMPTY,this._localeSubscription=c.Subscription.EMPTY,this._parseValidator=function(){return n._lastValueValid?null:{matDatepickerParse:{text:n._elementRef.nativeElement.value}}},this._filterValidator=function(t){var e=n._dateAdapter.getValidDateOrNull(n._dateAdapter.deserialize(t.value));return!e||n._matchesFilter(e)?null:{matDatepickerFilter:!0}},this._minValidator=function(t){var e=n._dateAdapter.getValidDateOrNull(n._dateAdapter.deserialize(t.value)),a=n._getMinDate();return!a||!e||n._dateAdapter.compareDate(a,e)<=0?null:{matDatepickerMin:{min:a,actual:e}}},this._maxValidator=function(t){var e=n._dateAdapter.getValidDateOrNull(n._dateAdapter.deserialize(t.value)),a=n._getMaxDate();return!a||!e||n._dateAdapter.compareDate(a,e)>=0?null:{matDatepickerMax:{max:a,actual:e}}},this._lastValueValid=!1,this._localeSubscription=e.localeChanges.subscribe((function(){n._assignValueProgrammatically(n.value)}))}return Object.defineProperty(t.prototype,"value",{get:function(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue},set:function(t){this._assignValueProgrammatically(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return!!this._disabled||this._parentDisabled()},set:function(t){var e=_.coerceBooleanProperty(t),a=this._elementRef.nativeElement;this._disabled!==e&&(this._disabled=e,this.stateChanges.next(void 0)),e&&this._isInitialized&&a.blur&&a.blur()},enumerable:!1,configurable:!0}),t.prototype._getValidators=function(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]},t.prototype._registerModel=function(t){var e=this;this._model=t,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe((function(t){if(e._shouldHandleChangeEvent(t)){var a=e._getValueFromModel(t.selection);e._lastValueValid=e._isValidValue(a),e._cvaOnChange(a),e._onTouched(),e._formatValue(a),e.dateInput.emit(new ot(e,e._elementRef.nativeElement)),e.dateChange.emit(new ot(e,e._elementRef.nativeElement))}}))},t.prototype.ngAfterViewInit=function(){this._isInitialized=!0},t.prototype.ngOnChanges=function(t){lt(t,this._dateAdapter)&&this.stateChanges.next(void 0)},t.prototype.ngOnDestroy=function(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this.stateChanges.complete()},t.prototype.registerOnValidatorChange=function(t){this._validatorOnChange=t},t.prototype.validate=function(t){return this._validator?this._validator(t):null},t.prototype.writeValue=function(t){this._assignValueProgrammatically(t)},t.prototype.registerOnChange=function(t){this._cvaOnChange=t},t.prototype.registerOnTouched=function(t){this._onTouched=t},t.prototype.setDisabledState=function(t){this.disabled=t},t.prototype._onKeydown=function(t){t.altKey&&t.keyCode===p.DOWN_ARROW&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),t.preventDefault())},t.prototype._onInput=function(t){var e=this._lastValueValid,a=this._dateAdapter.parse(t,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(a),a=this._dateAdapter.getValidDateOrNull(a),this._dateAdapter.sameDate(a,this.value)?(t&&!this.value&&this._cvaOnChange(a),e!==this._lastValueValid&&this._validatorOnChange()):(this._assignValue(a),this._cvaOnChange(a),this.dateInput.emit(new ot(this,this._elementRef.nativeElement)))},t.prototype._onChange=function(){this.dateChange.emit(new ot(this,this._elementRef.nativeElement))},t.prototype._onBlur=function(){this.value&&this._formatValue(this.value),this._onTouched()},t.prototype._formatValue=function(t){this._elementRef.nativeElement.value=t?this._dateAdapter.format(t,this._dateFormats.display.dateInput):""},t.prototype._assignValue=function(t){this._model?(this._assignValueToModel(t),this._pendingValue=null):this._pendingValue=t},t.prototype._isValidValue=function(t){return!t||this._dateAdapter.isValid(t)},t.prototype._parentDisabled=function(){return!1},t.prototype._assignValueProgrammatically=function(t){t=this._dateAdapter.deserialize(t),this._lastValueValid=this._isValidValue(t),t=this._dateAdapter.getValidDateOrNull(t),this._assignValue(t),this._formatValue(t)},t.prototype._matchesFilter=function(t){var e=this._getDateFilter();return!e||e(t)},t}();function lt(t,e){var a,n,r=Object.keys(t);try{for(var i=function o(t){var e="function"==typeof Symbol&&Symbol.iterator,a=e&&t[e],n=0;if(a)return a.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(r),s=i.next();!s.done;s=i.next()){var l=t[s.value],d=l.previousValue,c=l.currentValue;if(!e.isDateInstance(d)||!e.isDateInstance(c))return!0;if(!e.sameDate(d,c))return!0}}catch(t){a={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return!1}st.decorators=[{type:i.Directive}],st.ctorParameters=function(){return[{type:i.ElementRef},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]}]},st.propDecorators={value:[{type:i.Input}],disabled:[{type:i.Input}],dateChange:[{type:i.Output}],dateInput:[{type:i.Output}]};var dt,ct={provide:g.NG_VALUE_ACCESSOR,useExisting:i.forwardRef((function(){return ut})),multi:!0},pt={provide:g.NG_VALIDATORS,useExisting:i.forwardRef((function(){return ut})),multi:!0},ut=function(t){function e(e,a,n,r){var i=t.call(this,e,a,n)||this;return i._formField=r,i._closedSubscription=c.Subscription.EMPTY,i._validator=g.Validators.compose(t.prototype._getValidators.call(i)),i}return O(e,t),Object.defineProperty(e.prototype,"matDatepicker",{set:function(t){var e=this;t&&(this._datepicker=t,this._closedSubscription=t.closedStream.subscribe((function(){return e._onTouched()})),this._registerModel(t.registerInput(this)))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"min",{get:function(){return this._min},set:function(t){var e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t));this._dateAdapter.sameDate(e,this._min)||(this._min=e,this._validatorOnChange())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"max",{get:function(){return this._max},set:function(t){var e=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(t));this._dateAdapter.sameDate(e,this._max)||(this._max=e,this._validatorOnChange())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dateFilter",{get:function(){return this._dateFilter},set:function(t){var e=this._matchesFilter(this.value);this._dateFilter=t,this._matchesFilter(this.value)!==e&&this._validatorOnChange()},enumerable:!1,configurable:!0}),e.prototype.getConnectedOverlayOrigin=function(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef},e.prototype.getThemePalette=function(){return this._formField?this._formField.color:void 0},e.prototype.getStartValue=function(){return this.value},e.prototype.ngOnDestroy=function(){t.prototype.ngOnDestroy.call(this),this._closedSubscription.unsubscribe()},e.prototype._openPopup=function(){this._datepicker&&this._datepicker.open()},e.prototype._getValueFromModel=function(t){return t},e.prototype._assignValueToModel=function(t){this._model&&this._model.updateSelection(t,this)},e.prototype._getMinDate=function(){return this._min},e.prototype._getMaxDate=function(){return this._max},e.prototype._getDateFilter=function(){return this._dateFilter},e.prototype._shouldHandleChangeEvent=function(t){return t.source!==this},e}(st);ut.decorators=[{type:i.Directive,args:[{selector:"input[matDatepicker]",providers:[ct,pt,{provide:f.MAT_INPUT_VALUE_ACCESSOR,useExisting:ut}],host:{class:"mat-datepicker-input","[attr.aria-haspopup]":'_datepicker ? "dialog" : null',"[attr.aria-owns]":"(_datepicker?.opened && _datepicker.id) || null","[attr.min]":"min ? _dateAdapter.toIso8601(min) : null","[attr.max]":"max ? _dateAdapter.toIso8601(max) : null","[attr.data-mat-calendar]":"_datepicker ? _datepicker.id : null","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(blur)":"_onBlur()","(keydown)":"_onKeydown($event)"},exportAs:"matDatepickerInput"}]}],ut.ctorParameters=function(){return[{type:i.ElementRef},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]},{type:y.MatFormField,decorators:[{type:i.Optional},{type:i.Inject,args:[y.MAT_FORM_FIELD]}]}]},ut.propDecorators={matDatepicker:[{type:i.Input}],min:[{type:i.Input}],max:[{type:i.Input}],dateFilter:[{type:i.Input,args:["matDatepickerFilter"]}]},(dt=function dt(){}).decorators=[{type:i.Directive,args:[{selector:"[matDatepickerToggleIcon]"}]}];var ht=function(){function t(t,e,a){this._intl=t,this._changeDetectorRef=e,this._stateChanges=c.Subscription.EMPTY;var n=Number(a);this.tabIndex=n||0===n?n:null}return Object.defineProperty(t.prototype,"disabled",{get:function(){return void 0===this._disabled&&this.datepicker?this.datepicker.disabled:!!this._disabled},set:function(t){this._disabled=_.coerceBooleanProperty(t)},enumerable:!1,configurable:!0}),t.prototype.ngOnChanges=function(t){t.datepicker&&this._watchStateChanges()},t.prototype.ngOnDestroy=function(){this._stateChanges.unsubscribe()},t.prototype.ngAfterContentInit=function(){this._watchStateChanges()},t.prototype._open=function(t){this.datepicker&&!this.disabled&&(this.datepicker.open(),t.stopPropagation())},t.prototype._watchStateChanges=function(){var t=this,e=this.datepicker?this.datepicker.stateChanges:c.of(),a=this.datepicker&&this.datepicker.datepickerInput?this.datepicker.datepickerInput.stateChanges:c.of(),n=this.datepicker?c.merge(this.datepicker.openedStream,this.datepicker.closedStream):c.of();this._stateChanges.unsubscribe(),this._stateChanges=c.merge(this._intl.changes,e,a,n).subscribe((function(){return t._changeDetectorRef.markForCheck()}))},t}();ht.decorators=[{type:i.Component,args:[{selector:"mat-datepicker-toggle",template:'<button\n #button\n mat-icon-button\n type="button"\n [attr.aria-haspopup]="datepicker ? \'dialog\' : null"\n [attr.aria-label]="ariaLabel || _intl.openCalendarLabel"\n [attr.tabindex]="disabled ? -1 : tabIndex"\n [disabled]="disabled"\n [disableRipple]="disableRipple">\n\n <svg\n *ngIf="!_customIcon"\n class="mat-datepicker-toggle-default-icon"\n viewBox="0 0 24 24"\n width="24px"\n height="24px"\n fill="currentColor"\n focusable="false">\n <path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"/>\n </svg>\n\n <ng-content select="[matDatepickerToggleIcon]"></ng-content>\n</button>\n',host:{class:"mat-datepicker-toggle","[attr.tabindex]":"null","[class.mat-datepicker-toggle-active]":"datepicker && datepicker.opened","[class.mat-accent]":'datepicker && datepicker.color === "accent"',"[class.mat-warn]":'datepicker && datepicker.color === "warn"',"[attr.data-mat-calendar]":"datepicker ? datepicker.id : null","(click)":"_open($event)"},exportAs:"matDatepickerToggle",encapsulation:i.ViewEncapsulation.None,changeDetection:i.ChangeDetectionStrategy.OnPush,styles:[".mat-form-field-appearance-legacy .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field-appearance-legacy .mat-form-field-suffix .mat-datepicker-toggle-default-icon{width:1em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-datepicker-toggle-default-icon{display:block;width:1.5em;height:1.5em}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-datepicker-toggle-default-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-datepicker-toggle-default-icon{margin:auto}\n"]}]}],ht.ctorParameters=function(){return[{type:v},{type:i.ChangeDetectorRef},{type:String,decorators:[{type:i.Attribute,args:["tabindex"]}]}]},ht.propDecorators={datepicker:[{type:i.Input,args:["for"]}],tabIndex:[{type:i.Input}],ariaLabel:[{type:i.Input,args:["aria-label"]}],disabled:[{type:i.Input}],disableRipple:[{type:i.Input}],_customIcon:[{type:i.ContentChild,args:[dt]}],_button:[{type:i.ViewChild,args:["button"]}]};var _t=new i.InjectionToken("MAT_DATE_RANGE_INPUT_PARENT"),mt=function(t){function e(e,a,n,r,i,o,s,l){var d=t.call(this,a,s,l)||this;return d._rangeInput=e,d._defaultErrorStateMatcher=n,d._injector=r,d._parentForm=i,d._parentFormGroup=o,d}return O(e,t),e.prototype.ngOnInit=function(){var t=this._injector.get(g.NgControl,null,i.InjectFlags.Self);t&&(this.ngControl=t)},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.isEmpty=function(){return 0===this._elementRef.nativeElement.value.length},e.prototype._getPlaceholder=function(){return this._elementRef.nativeElement.placeholder},e.prototype.focus=function(){this._elementRef.nativeElement.focus()},e.prototype._onInput=function(e){t.prototype._onInput.call(this,e),this._rangeInput._handleChildValueChange()},e.prototype._openPopup=function(){this._rangeInput._openDatepicker()},e.prototype._getMinDate=function(){return this._rangeInput.min},e.prototype._getMaxDate=function(){return this._rangeInput.max},e.prototype._getDateFilter=function(){return this._rangeInput.dateFilter},e.prototype._parentDisabled=function(){return this._rangeInput._groupDisabled},e.prototype._shouldHandleChangeEvent=function(t){var e=t.source;return e!==this._rangeInput._startInput&&e!==this._rangeInput._endInput},e.prototype._assignValueProgrammatically=function(e){t.prototype._assignValueProgrammatically.call(this,e);var a=this===this._rangeInput._startInput?this._rangeInput._endInput:this._rangeInput._startInput;null==a||a._validatorOnChange()},e}(st);mt.decorators=[{type:i.Directive}],mt.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[_t]}]},{type:i.ElementRef},{type:d.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]}]};var gt=d.mixinErrorState(mt),yt=function(t){function e(e,a,n,r,i,o,s,l){var d=t.call(this,e,a,n,r,i,o,s,l)||this;return d._startValidator=function(t){var e=d._dateAdapter.getValidDateOrNull(d._dateAdapter.deserialize(t.value)),a=d._model?d._model.selection.end:null;return!e||!a||d._dateAdapter.compareDate(e,a)<=0?null:{matStartDateInvalid:{end:a,actual:e}}},d._validator=g.Validators.compose(S(t.prototype._getValidators.call(d),[d._startValidator])),d}return O(e,t),e.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},e.prototype.ngDoCheck=function(){t.prototype.ngDoCheck.call(this)},e.prototype._getValueFromModel=function(t){return t.start},e.prototype._assignValueToModel=function(t){if(this._model){var e=new E(t,this._model.selection.end);this._model.updateSelection(e,this)}},e.prototype._formatValue=function(e){t.prototype._formatValue.call(this,e),this._rangeInput._handleChildValueChange()},e.prototype.getMirrorValue=function(){var t=this._elementRef.nativeElement,e=t.value;return e.length>0?e:t.placeholder},e}(gt);yt.decorators=[{type:i.Directive,args:[{selector:"input[matStartDate]",host:{class:"mat-start-date mat-date-range-input-inner","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(keydown)":"_onKeydown($event)","[attr.id]":"_rangeInput.id","[attr.aria-haspopup]":'_rangeInput.rangePicker ? "dialog" : null',"[attr.aria-owns]":"(_rangeInput.rangePicker?.opened && _rangeInput.rangePicker.id) || null","[attr.min]":"_getMinDate() ? _dateAdapter.toIso8601(_getMinDate()) : null","[attr.max]":"_getMaxDate() ? _dateAdapter.toIso8601(_getMaxDate()) : null","(blur)":"_onBlur()",type:"text"},providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:yt,multi:!0},{provide:g.NG_VALIDATORS,useExisting:yt,multi:!0}],outputs:["dateChange","dateInput"],inputs:["errorStateMatcher"]}]}],yt.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[_t]}]},{type:i.ElementRef},{type:d.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]}]};var ft=function(t){function e(e,a,n,r,i,o,s,l){var d=t.call(this,e,a,n,r,i,o,s,l)||this;return d._endValidator=function(t){var e=d._dateAdapter.getValidDateOrNull(d._dateAdapter.deserialize(t.value)),a=d._model?d._model.selection.start:null;return!e||!a||d._dateAdapter.compareDate(e,a)>=0?null:{matEndDateInvalid:{start:a,actual:e}}},d._validator=g.Validators.compose(S(t.prototype._getValidators.call(d),[d._endValidator])),d}return O(e,t),e.prototype.ngOnInit=function(){t.prototype.ngOnInit.call(this)},e.prototype.ngDoCheck=function(){t.prototype.ngDoCheck.call(this)},e.prototype._getValueFromModel=function(t){return t.end},e.prototype._assignValueToModel=function(t){if(this._model){var e=new E(this._model.selection.start,t);this._model.updateSelection(e,this)}},e.prototype._onKeydown=function(e){e.keyCode!==p.BACKSPACE||this._elementRef.nativeElement.value||this._rangeInput._startInput.focus(),t.prototype._onKeydown.call(this,e)},e}(gt);ft.decorators=[{type:i.Directive,args:[{selector:"input[matEndDate]",host:{class:"mat-end-date mat-date-range-input-inner","[disabled]":"disabled","(input)":"_onInput($event.target.value)","(change)":"_onChange()","(keydown)":"_onKeydown($event)","[attr.aria-haspopup]":'_rangeInput.rangePicker ? "dialog" : null',"[attr.aria-owns]":"(_rangeInput.rangePicker?.opened && _rangeInput.rangePicker.id) || null","[attr.min]":"_getMinDate() ? _dateAdapter.toIso8601(_getMinDate()) : null","[attr.max]":"_getMaxDate() ? _dateAdapter.toIso8601(_getMaxDate()) : null","(blur)":"_onBlur()",type:"text"},providers:[{provide:g.NG_VALUE_ACCESSOR,useExisting:ft,multi:!0},{provide:g.NG_VALIDATORS,useExisting:ft,multi:!0}],outputs:["dateChange","dateInput"],inputs:["errorStateMatcher"]}]}],ft.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[_t]}]},{type:i.ElementRef},{type:d.ErrorStateMatcher},{type:i.Injector},{type:g.NgForm,decorators:[{type:i.Optional}]},{type:g.FormGroupDirective,decorators:[{type:i.Optional}]},{type:d.DateAdapter,decorators:[{type:i.Optional}]},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[d.MAT_DATE_FORMATS]}]}]};
84
84
  /**
85
85
  * @license
86
86
  * Copyright Google LLC All Rights Reserved.