Files
quiz-test/chunk-GBWD7IPI.js
2025-12-29 22:23:30 +02:00

10 lines
120 KiB
JavaScript

import{a as Ma}from"./chunk-RDQGS2XZ.js";import"./chunk-P3ICZX4Q.js";import"./chunk-VX6WCCL3.js";import"./chunk-NYYADJNO.js";import{a as ra,b as oa,c as sa}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as ia}from"./chunk-7XDVX5KB.js";import{b as ya}from"./chunk-NIBVQDYD.js";import{a as _a,b as et,c as ga,f as fa,g as ba,h as Ca,i as Da,l as va}from"./chunk-LLJSP5R2.js";import{d as pa,f as Xe,k as Je,l as ua}from"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import"./chunk-3GOV5KJM.js";import{b as ea,f as ta,h as aa,i as na}from"./chunk-EGL4ZKWQ.js";import{a as Gt,b as Ut,c as $t,f as Zt,i as Xt}from"./chunk-6NRCTHHS.js";import{a as ma,b as ha}from"./chunk-N6VRXIQE.js";import{a as It,b as Tt,c as Ft,d as Rt,f as Nt,g as Lt,h as Yt,j as Ge,l as Bt,o as Ue,r as zt,z as Ht}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as ca,F as $e,H as qt,M as jt,N as re,O as Oe,U as Wt,W as Kt,X as Se,Y as q,c as Pt,ca as oe,ea as Qt,ha as Jt,j as Et,oa as Ze,ta as da,ua as se,w as Vt,wa as de,ya as xe,za as la}from"./chunk-COFYR5MX.js";import{$ as Ce,$b as je,A as fe,Aa as Mt,B as ft,Ca as ne,Cb as D,Cc as St,Db as w,Eb as A,Ec as ke,Gc as xt,H as bt,Hb as K,Ib as Q,Jb as u,Kb as d,Lb as s,Mb as v,Mc as N,Pc as H,S as be,Tb as I,U as te,Ub as kt,Xb as _,Z as Re,Za as l,Zb as h,_ as j,_b as qe,a as _t,ac as Ot,b as gt,ba as W,bc as R,ca as Ct,cb as p,cc as T,d as V,da as m,db as Le,dc as F,eb as Ye,hb as Be,hc as We,i as E,ia as g,ic as ve,ja as f,jb as wt,jc as Y,ka as L,kb as At,kc as Ke,la as Ne,lc as c,ma as ae,mc as k,n as ge,na as Dt,nc as y,ob as S,oc as Qe,pb as De,qb as ie,qc as ye,rc as Me,sb as ze,sc as we,ta as C,ub as He,uc as Ae,xa as vt,ya as yt,za as z}from"./chunk-2MUIW2M6.js";var tt=new W("MAT_DATE_LOCALE",{providedIn:"root",factory:Wa});function Wa(){return m(St)}var G="Method not implemented",M=class{locale;_localeChanges=new E;localeChanges=this._localeChanges;setTime(r,e,t,a){throw new Error(G)}getHours(r){throw new Error(G)}getMinutes(r){throw new Error(G)}getSeconds(r){throw new Error(G)}parseTime(r,e){throw new Error(G)}addSeconds(r,e){throw new Error(G)}getValidDateOrNull(r){return this.isDateInstance(r)&&this.isValid(r)?r:null}deserialize(r){return r==null||this.isDateInstance(r)&&this.isValid(r)?r:this.invalid()}setLocale(r){this.locale=r,this._localeChanges.next()}compareDate(r,e){return this.getYear(r)-this.getYear(e)||this.getMonth(r)-this.getMonth(e)||this.getDate(r)-this.getDate(e)}compareTime(r,e){return this.getHours(r)-this.getHours(e)||this.getMinutes(r)-this.getMinutes(e)||this.getSeconds(r)-this.getSeconds(e)}sameDate(r,e){if(r&&e){let t=this.isValid(r),a=this.isValid(e);return t&&a?!this.compareDate(r,e):t==a}return r==e}sameTime(r,e){if(r&&e){let t=this.isValid(r),a=this.isValid(e);return t&&a?!this.compareTime(r,e):t==a}return r==e}clampDate(r,e,t){return e&&this.compareDate(r,e)<0?e:t&&this.compareDate(r,t)>0?t:r}},B=new W("mat-date-formats");var Ka=["mat-calendar-body",""];function Qa(i,r){return this._trackRow(r)}var Va=(i,r)=>r.id;function Ga(i,r){if(i&1&&(d(0,"tr",0)(1,"td",3),c(2),s()()),i&2){let e=h();l(),ve("padding-top",e._cellPadding)("padding-bottom",e._cellPadding),D("colspan",e.numCols),l(),y(" ",e.label," ")}}function Ua(i,r){if(i&1&&(d(0,"td",3),c(1),s()),i&2){let e=h(2);ve("padding-top",e._cellPadding)("padding-bottom",e._cellPadding),D("colspan",e._firstRowOffset),l(),y(" ",e._firstRowOffset>=e.labelMinRequiredCells?e.label:""," ")}}function $a(i,r){if(i&1){let e=I();d(0,"td",6)(1,"button",7),_("click",function(a){let n=g(e).$implicit,o=h(2);return f(o._cellClicked(n,a))})("focus",function(a){let n=g(e).$implicit,o=h(2);return f(o._emitActiveDateChange(n,a))}),d(2,"span",8),c(3),s(),v(4,"span",9),s()()}if(i&2){let e=r.$implicit,t=r.$index,a=h().$index,n=h();ve("width",n._cellWidth)("padding-top",n._cellPadding)("padding-bottom",n._cellPadding),D("data-mat-row",a)("data-mat-col",t),l(),Y("mat-calendar-body-disabled",!e.enabled)("mat-calendar-body-active",n._isActiveCell(a,t))("mat-calendar-body-range-start",n._isRangeStart(e.compareValue))("mat-calendar-body-range-end",n._isRangeEnd(e.compareValue))("mat-calendar-body-in-range",n._isInRange(e.compareValue))("mat-calendar-body-comparison-bridge-start",n._isComparisonBridgeStart(e.compareValue,a,t))("mat-calendar-body-comparison-bridge-end",n._isComparisonBridgeEnd(e.compareValue,a,t))("mat-calendar-body-comparison-start",n._isComparisonStart(e.compareValue))("mat-calendar-body-comparison-end",n._isComparisonEnd(e.compareValue))("mat-calendar-body-in-comparison-range",n._isInComparisonRange(e.compareValue))("mat-calendar-body-preview-start",n._isPreviewStart(e.compareValue))("mat-calendar-body-preview-end",n._isPreviewEnd(e.compareValue))("mat-calendar-body-in-preview",n._isInPreview(e.compareValue)),u("ngClass",e.cssClasses)("tabindex",n._isActiveCell(a,t)?0:-1),D("aria-label",e.ariaLabel)("aria-disabled",!e.enabled||null)("aria-pressed",n._isSelected(e.compareValue))("aria-current",n.todayValue===e.compareValue?"date":null)("aria-describedby",n._getDescribedby(e.compareValue)),l(),Y("mat-calendar-body-selected",n._isSelected(e.compareValue))("mat-calendar-body-comparison-identical",n._isComparisonIdentical(e.compareValue))("mat-calendar-body-today",n.todayValue===e.compareValue),l(),y(" ",e.displayValue," ")}}function Za(i,r){if(i&1&&(d(0,"tr",1),w(1,Ua,2,6,"td",4),K(2,$a,5,48,"td",5,Va),s()),i&2){let e=r.$implicit,t=r.$index,a=h();l(),A(t===0&&a._firstRowOffset?1:-1),l(),Q(e)}}function Xa(i,r){if(i&1&&(d(0,"th",2)(1,"span",6),c(2),s(),d(3,"span",3),c(4),s()()),i&2){let e=r.$implicit;l(2),k(e.long),l(2),k(e.narrow)}}var Ja=["*"];function en(i,r){}function tn(i,r){if(i&1){let e=I();d(0,"mat-month-view",4),we("activeDateChange",function(a){g(e);let n=h();return Me(n.activeDate,a)||(n.activeDate=a),f(a)}),_("_userSelection",function(a){g(e);let n=h();return f(n._dateSelected(a))})("dragStarted",function(a){g(e);let n=h();return f(n._dragStarted(a))})("dragEnded",function(a){g(e);let n=h();return f(n._dragEnded(a))}),s()}if(i&2){let e=h();ye("activeDate",e.activeDate),u("selected",e.selected)("dateFilter",e.dateFilter)("maxDate",e.maxDate)("minDate",e.minDate)("dateClass",e.dateClass)("comparisonStart",e.comparisonStart)("comparisonEnd",e.comparisonEnd)("startDateAccessibleName",e.startDateAccessibleName)("endDateAccessibleName",e.endDateAccessibleName)("activeDrag",e._activeDrag)}}function an(i,r){if(i&1){let e=I();d(0,"mat-year-view",5),we("activeDateChange",function(a){g(e);let n=h();return Me(n.activeDate,a)||(n.activeDate=a),f(a)}),_("monthSelected",function(a){g(e);let n=h();return f(n._monthSelectedInYearView(a))})("selectedChange",function(a){g(e);let n=h();return f(n._goToDateInView(a,"month"))}),s()}if(i&2){let e=h();ye("activeDate",e.activeDate),u("selected",e.selected)("dateFilter",e.dateFilter)("maxDate",e.maxDate)("minDate",e.minDate)("dateClass",e.dateClass)}}function nn(i,r){if(i&1){let e=I();d(0,"mat-multi-year-view",6),we("activeDateChange",function(a){g(e);let n=h();return Me(n.activeDate,a)||(n.activeDate=a),f(a)}),_("yearSelected",function(a){g(e);let n=h();return f(n._yearSelectedInMultiYearView(a))})("selectedChange",function(a){g(e);let n=h();return f(n._goToDateInView(a,"year"))}),s()}if(i&2){let e=h();ye("activeDate",e.activeDate),u("selected",e.selected)("dateFilter",e.dateFilter)("maxDate",e.maxDate)("minDate",e.minDate)("dateClass",e.dateClass)}}function rn(i,r){}var on=["button"],sn=[[["","matDatepickerToggleIcon",""]]],dn=["[matDatepickerToggleIcon]"];function ln(i,r){i&1&&(L(),d(0,"svg",2),v(1,"path",3),s())}var J=(()=>{class i{changes=new E;calendarLabel="Calendar";openCalendarLabel="Open calendar";closeCalendarLabel="Close calendar";prevMonthLabel="Previous month";nextMonthLabel="Next month";prevYearLabel="Previous year";nextYearLabel="Next year";prevMultiYearLabel="Previous 24 years";nextMultiYearLabel="Next 24 years";switchToMonthViewLabel="Choose date";switchToMultiYearViewLabel="Choose month and year";startDateLabel="Start date";endDateLabel="End date";comparisonDateLabel="Comparison range";formatYearRange(e,t){return`${e} \u2013 ${t}`}formatYearRangeLabel(e,t){return`${e} to ${t}`}static \u0275fac=function(t){return new(t||i)};static \u0275prov=j({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),cn=0,me=class{value;displayValue;ariaLabel;enabled;cssClasses;compareValue;rawValue;id=cn++;constructor(r,e,t,a,n={},o=r,b){this.value=r,this.displayValue=e,this.ariaLabel=t,this.enabled=a,this.cssClasses=n,this.compareValue=o,this.rawValue=b}},mn={passive:!1,capture:!0},Pe={passive:!0,capture:!0},wa={passive:!0},X=(()=>{class i{_elementRef=m(ne);_ngZone=m(Le);_platform=m(qt);_intl=m(J);_eventCleanups;_skipNextFocus;_focusActiveCellAfterViewChecked=!1;label;rows;todayValue;startValue;endValue;labelMinRequiredCells;numCols=7;activeCell=0;ngAfterViewChecked(){this._focusActiveCellAfterViewChecked&&(this._focusActiveCell(),this._focusActiveCellAfterViewChecked=!1)}isRange=!1;cellAspectRatio=1;comparisonStart;comparisonEnd;previewStart=null;previewEnd=null;startDateAccessibleName;endDateAccessibleName;selectedValueChange=new p;previewChange=new p;activeDateChange=new p;dragStarted=new p;dragEnded=new p;_firstRowOffset;_cellPadding;_cellWidth;_startDateLabelId;_endDateLabelId;_comparisonStartDateLabelId;_comparisonEndDateLabelId;_didDragSinceMouseDown=!1;_injector=m(ae);comparisonDateAccessibleName=this._intl.comparisonDateLabel;_trackRow=e=>e;constructor(){let e=m(Be),t=m(Se);this._startDateLabelId=t.getId("mat-calendar-body-start-"),this._endDateLabelId=t.getId("mat-calendar-body-end-"),this._comparisonStartDateLabelId=t.getId("mat-calendar-body-comparison-start-"),this._comparisonEndDateLabelId=t.getId("mat-calendar-body-comparison-end-"),m(re).load(da),this._ngZone.runOutsideAngular(()=>{let a=this._elementRef.nativeElement,n=[e.listen(a,"touchmove",this._touchmoveHandler,mn),e.listen(a,"mouseenter",this._enterHandler,Pe),e.listen(a,"focus",this._enterHandler,Pe),e.listen(a,"mouseleave",this._leaveHandler,Pe),e.listen(a,"blur",this._leaveHandler,Pe),e.listen(a,"mousedown",this._mousedownHandler,wa),e.listen(a,"touchstart",this._mousedownHandler,wa)];this._platform.isBrowser&&n.push(e.listen("window","mouseup",this._mouseupHandler),e.listen("window","touchend",this._touchendHandler)),this._eventCleanups=n})}_cellClicked(e,t){this._didDragSinceMouseDown||e.enabled&&this.selectedValueChange.emit({value:e.value,event:t})}_emitActiveDateChange(e,t){e.enabled&&this.activeDateChange.emit({value:e.value,event:t})}_isSelected(e){return this.startValue===e||this.endValue===e}ngOnChanges(e){let t=e.numCols,{rows:a,numCols:n}=this;(e.rows||t)&&(this._firstRowOffset=a&&a.length&&a[0].length?n-a[0].length:0),(e.cellAspectRatio||t||!this._cellPadding)&&(this._cellPadding=`${50*this.cellAspectRatio/n}%`),(t||!this._cellWidth)&&(this._cellWidth=`${100/n}%`)}ngOnDestroy(){this._eventCleanups.forEach(e=>e())}_isActiveCell(e,t){let a=e*this.numCols+t;return e&&(a-=this._firstRowOffset),a==this.activeCell}_focusActiveCell(e=!0){Ye(()=>{setTimeout(()=>{let t=this._elementRef.nativeElement.querySelector(".mat-calendar-body-active");t&&(e||(this._skipNextFocus=!0),t.focus())})},{injector:this._injector})}_scheduleFocusActiveCellAfterViewChecked(){this._focusActiveCellAfterViewChecked=!0}_isRangeStart(e){return it(e,this.startValue,this.endValue)}_isRangeEnd(e){return rt(e,this.startValue,this.endValue)}_isInRange(e){return ot(e,this.startValue,this.endValue,this.isRange)}_isComparisonStart(e){return it(e,this.comparisonStart,this.comparisonEnd)}_isComparisonBridgeStart(e,t,a){if(!this._isComparisonStart(e)||this._isRangeStart(e)||!this._isInRange(e))return!1;let n=this.rows[t][a-1];if(!n){let o=this.rows[t-1];n=o&&o[o.length-1]}return n&&!this._isRangeEnd(n.compareValue)}_isComparisonBridgeEnd(e,t,a){if(!this._isComparisonEnd(e)||this._isRangeEnd(e)||!this._isInRange(e))return!1;let n=this.rows[t][a+1];if(!n){let o=this.rows[t+1];n=o&&o[0]}return n&&!this._isRangeStart(n.compareValue)}_isComparisonEnd(e){return rt(e,this.comparisonStart,this.comparisonEnd)}_isInComparisonRange(e){return ot(e,this.comparisonStart,this.comparisonEnd,this.isRange)}_isComparisonIdentical(e){return this.comparisonStart===this.comparisonEnd&&e===this.comparisonStart}_isPreviewStart(e){return it(e,this.previewStart,this.previewEnd)}_isPreviewEnd(e){return rt(e,this.previewStart,this.previewEnd)}_isInPreview(e){return ot(e,this.previewStart,this.previewEnd,this.isRange)}_getDescribedby(e){if(!this.isRange)return null;if(this.startValue===e&&this.endValue===e)return`${this._startDateLabelId} ${this._endDateLabelId}`;if(this.startValue===e)return this._startDateLabelId;if(this.endValue===e)return this._endDateLabelId;if(this.comparisonStart!==null&&this.comparisonEnd!==null){if(e===this.comparisonStart&&e===this.comparisonEnd)return`${this._comparisonStartDateLabelId} ${this._comparisonEndDateLabelId}`;if(e===this.comparisonStart)return this._comparisonStartDateLabelId;if(e===this.comparisonEnd)return this._comparisonEndDateLabelId}return null}_enterHandler=e=>{if(this._skipNextFocus&&e.type==="focus"){this._skipNextFocus=!1;return}if(e.target&&this.isRange){let t=this._getCellFromElement(e.target);t&&this._ngZone.run(()=>this.previewChange.emit({value:t.enabled?t:null,event:e}))}};_touchmoveHandler=e=>{if(!this.isRange)return;let t=Aa(e),a=t?this._getCellFromElement(t):null;t!==e.target&&(this._didDragSinceMouseDown=!0),nt(e.target)&&e.preventDefault(),this._ngZone.run(()=>this.previewChange.emit({value:a?.enabled?a:null,event:e}))};_leaveHandler=e=>{this.previewEnd!==null&&this.isRange&&(e.type!=="blur"&&(this._didDragSinceMouseDown=!0),e.target&&this._getCellFromElement(e.target)&&!(e.relatedTarget&&this._getCellFromElement(e.relatedTarget))&&this._ngZone.run(()=>this.previewChange.emit({value:null,event:e})))};_mousedownHandler=e=>{if(!this.isRange)return;this._didDragSinceMouseDown=!1;let t=e.target&&this._getCellFromElement(e.target);!t||!this._isInRange(t.compareValue)||this._ngZone.run(()=>{this.dragStarted.emit({value:t.rawValue,event:e})})};_mouseupHandler=e=>{if(!this.isRange)return;let t=nt(e.target);if(!t){this._ngZone.run(()=>{this.dragEnded.emit({value:null,event:e})});return}t.closest(".mat-calendar-body")===this._elementRef.nativeElement&&this._ngZone.run(()=>{let a=this._getCellFromElement(t);this.dragEnded.emit({value:a?.rawValue??null,event:e})})};_touchendHandler=e=>{let t=Aa(e);t&&this._mouseupHandler({target:t})};_getCellFromElement(e){let t=nt(e);if(t){let a=t.getAttribute("data-mat-row"),n=t.getAttribute("data-mat-col");if(a&&n)return this.rows[parseInt(a)]?.[parseInt(n)]||null}return null}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=S({type:i,selectors:[["","mat-calendar-body",""]],hostAttrs:[1,"mat-calendar-body"],inputs:{label:"label",rows:"rows",todayValue:"todayValue",startValue:"startValue",endValue:"endValue",labelMinRequiredCells:"labelMinRequiredCells",numCols:"numCols",activeCell:"activeCell",isRange:"isRange",cellAspectRatio:"cellAspectRatio",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd",previewStart:"previewStart",previewEnd:"previewEnd",startDateAccessibleName:"startDateAccessibleName",endDateAccessibleName:"endDateAccessibleName"},outputs:{selectedValueChange:"selectedValueChange",previewChange:"previewChange",activeDateChange:"activeDateChange",dragStarted:"dragStarted",dragEnded:"dragEnded"},exportAs:["matCalendarBody"],features:[z],attrs:Ka,decls:11,vars:11,consts:[["aria-hidden","true"],["role","row"],[1,"mat-calendar-body-hidden-label",3,"id"],[1,"mat-calendar-body-label"],[1,"mat-calendar-body-label",3,"paddingTop","paddingBottom"],["role","gridcell",1,"mat-calendar-body-cell-container",3,"width","paddingTop","paddingBottom"],["role","gridcell",1,"mat-calendar-body-cell-container"],["type","button",1,"mat-calendar-body-cell",3,"click","focus","ngClass","tabindex"],[1,"mat-calendar-body-cell-content","mat-focus-indicator"],["aria-hidden","true",1,"mat-calendar-body-cell-preview"]],template:function(t,a){t&1&&(w(0,Ga,3,6,"tr",0),K(1,Za,4,1,"tr",1,Qa,!0),d(3,"span",2),c(4),s(),d(5,"span",2),c(6),s(),d(7,"span",2),c(8),s(),d(9,"span",2),c(10),s()),t&2&&(A(a._firstRowOffset<a.labelMinRequiredCells?0:-1),l(),Q(a.rows),l(2),u("id",a._startDateLabelId),l(),y(" ",a.startDateAccessibleName,`
`),l(),u("id",a._endDateLabelId),l(),y(" ",a.endDateAccessibleName,`
`),l(),u("id",a._comparisonStartDateLabelId),l(),Qe(" ",a.comparisonDateAccessibleName," ",a.startDateAccessibleName,`
`),l(),u("id",a._comparisonEndDateLabelId),l(),Qe(" ",a.comparisonDateAccessibleName," ",a.endDateAccessibleName,`
`))},dependencies:[Pt],styles:[`.mat-calendar-body{min-width:224px}.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:var(--mat-datepicker-calendar-date-today-outline-color, var(--mat-sys-primary))}.mat-calendar-body-label{height:0;line-height:0;text-align:start;padding-left:4.7142857143%;padding-right:4.7142857143%;font-size:var(--mat-datepicker-calendar-body-label-text-size, var(--mat-sys-title-small-size));font-weight:var(--mat-datepicker-calendar-body-label-text-weight, var(--mat-sys-title-small-weight));color:var(--mat-datepicker-calendar-body-label-text-color, var(--mat-sys-on-surface))}.mat-calendar-body-hidden-label{display:none}.mat-calendar-body-cell-container{position:relative;height:0;line-height:0}.mat-calendar-body-cell{position:absolute;top:0;left:0;width:100%;height:100%;background:none;text-align:center;outline:none;margin:0;font-family:var(--mat-datepicker-calendar-text-font, var(--mat-sys-body-medium-font));font-size:var(--mat-datepicker-calendar-text-size, var(--mat-sys-body-medium-size));-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-calendar-body-cell::-moz-focus-inner{border:0}.mat-calendar-body-cell::before,.mat-calendar-body-cell::after,.mat-calendar-body-cell-preview{content:"";position:absolute;top:5%;left:0;z-index:0;box-sizing:border-box;display:block;height:90%;width:100%}.mat-calendar-body-range-start:not(.mat-calendar-body-in-comparison-range)::before,.mat-calendar-body-range-start::after,.mat-calendar-body-comparison-start:not(.mat-calendar-body-comparison-bridge-start)::before,.mat-calendar-body-comparison-start::after,.mat-calendar-body-preview-start .mat-calendar-body-cell-preview{left:5%;width:95%;border-top-left-radius:999px;border-bottom-left-radius:999px}[dir=rtl] .mat-calendar-body-range-start:not(.mat-calendar-body-in-comparison-range)::before,[dir=rtl] .mat-calendar-body-range-start::after,[dir=rtl] .mat-calendar-body-comparison-start:not(.mat-calendar-body-comparison-bridge-start)::before,[dir=rtl] .mat-calendar-body-comparison-start::after,[dir=rtl] .mat-calendar-body-preview-start .mat-calendar-body-cell-preview{left:0;border-radius:0;border-top-right-radius:999px;border-bottom-right-radius:999px}.mat-calendar-body-range-end:not(.mat-calendar-body-in-comparison-range)::before,.mat-calendar-body-range-end::after,.mat-calendar-body-comparison-end:not(.mat-calendar-body-comparison-bridge-end)::before,.mat-calendar-body-comparison-end::after,.mat-calendar-body-preview-end .mat-calendar-body-cell-preview{width:95%;border-top-right-radius:999px;border-bottom-right-radius:999px}[dir=rtl] .mat-calendar-body-range-end:not(.mat-calendar-body-in-comparison-range)::before,[dir=rtl] .mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-end:not(.mat-calendar-body-comparison-bridge-end)::before,[dir=rtl] .mat-calendar-body-comparison-end::after,[dir=rtl] .mat-calendar-body-preview-end .mat-calendar-body-cell-preview{left:5%;border-radius:0;border-top-left-radius:999px;border-bottom-left-radius:999px}[dir=rtl] .mat-calendar-body-comparison-bridge-start.mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-bridge-end.mat-calendar-body-range-start::after{width:95%;border-top-right-radius:999px;border-bottom-right-radius:999px}.mat-calendar-body-comparison-start.mat-calendar-body-range-end::after,[dir=rtl] .mat-calendar-body-comparison-start.mat-calendar-body-range-end::after,.mat-calendar-body-comparison-end.mat-calendar-body-range-start::after,[dir=rtl] .mat-calendar-body-comparison-end.mat-calendar-body-range-start::after{width:90%}.mat-calendar-body-in-preview{color:var(--mat-datepicker-calendar-date-preview-state-outline-color, var(--mat-sys-primary))}.mat-calendar-body-in-preview .mat-calendar-body-cell-preview{border-top:dashed 1px;border-bottom:dashed 1px}.mat-calendar-body-preview-start .mat-calendar-body-cell-preview{border-left:dashed 1px}[dir=rtl] .mat-calendar-body-preview-start .mat-calendar-body-cell-preview{border-left:0;border-right:dashed 1px}.mat-calendar-body-preview-end .mat-calendar-body-cell-preview{border-right:dashed 1px}[dir=rtl] .mat-calendar-body-preview-end .mat-calendar-body-cell-preview{border-right:0;border-left:dashed 1px}.mat-calendar-body-disabled{cursor:default}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){color:var(--mat-datepicker-calendar-date-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){border-color:var(--mat-datepicker-calendar-date-today-disabled-state-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mat-calendar-body-disabled{opacity:.5}}.mat-calendar-body-cell-content{top:5%;left:5%;z-index:1;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:90%;height:90%;line-height:1;border-width:1px;border-style:solid;border-radius:999px;color:var(--mat-datepicker-calendar-date-text-color, var(--mat-sys-on-surface));border-color:var(--mat-datepicker-calendar-date-outline-color, transparent)}.mat-calendar-body-cell-content.mat-focus-indicator{position:absolute}@media(forced-colors: active){.mat-calendar-body-cell-content{border:none}}.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--mat-datepicker-calendar-date-focus-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(hover: hover){.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:var(--mat-datepicker-calendar-date-hover-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}}.mat-calendar-body-selected{background-color:var(--mat-datepicker-calendar-date-selected-state-background-color, var(--mat-sys-primary));color:var(--mat-datepicker-calendar-date-selected-state-text-color, var(--mat-sys-on-primary))}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:var(--mat-datepicker-calendar-date-selected-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-calendar-body-selected.mat-calendar-body-today{box-shadow:inset 0 0 0 1px var(--mat-datepicker-calendar-date-today-selected-state-outline-color, var(--mat-sys-primary))}.mat-calendar-body-in-range::before{background:var(--mat-datepicker-calendar-date-in-range-state-background-color, var(--mat-sys-primary-container))}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range::before{background:var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color, var(--mat-sys-tertiary-container))}.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range::before{background:var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color, var(--mat-sys-tertiary-container))}.mat-calendar-body-comparison-bridge-start::before,[dir=rtl] .mat-calendar-body-comparison-bridge-end::before{background:linear-gradient(to right, var(--mat-datepicker-calendar-date-in-range-state-background-color, var(--mat-sys-primary-container)) 50%, var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color, var(--mat-sys-tertiary-container)) 50%)}.mat-calendar-body-comparison-bridge-end::before,[dir=rtl] .mat-calendar-body-comparison-bridge-start::before{background:linear-gradient(to left, var(--mat-datepicker-calendar-date-in-range-state-background-color, var(--mat-sys-primary-container)) 50%, var(--mat-datepicker-calendar-date-in-comparison-range-state-background-color, var(--mat-sys-tertiary-container)) 50%)}.mat-calendar-body-in-range>.mat-calendar-body-comparison-identical,.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after{background:var(--mat-datepicker-calendar-date-in-overlap-range-state-background-color, var(--mat-sys-secondary-container))}.mat-calendar-body-comparison-identical.mat-calendar-body-selected,.mat-calendar-body-in-comparison-range>.mat-calendar-body-selected{background:var(--mat-datepicker-calendar-date-in-overlap-range-selected-state-background-color, var(--mat-sys-secondary))}@media(forced-colors: active){.mat-datepicker-popup:not(:empty),.mat-calendar-body-cell:not(.mat-calendar-body-in-range) .mat-calendar-body-selected{outline:solid 1px}.mat-calendar-body-today{outline:dotted 1px}.mat-calendar-body-cell::before,.mat-calendar-body-cell::after,.mat-calendar-body-selected{background:none}.mat-calendar-body-in-range::before,.mat-calendar-body-comparison-bridge-start::before,.mat-calendar-body-comparison-bridge-end::before{border-top:solid 1px;border-bottom:solid 1px}.mat-calendar-body-range-start::before{border-left:solid 1px}[dir=rtl] .mat-calendar-body-range-start::before{border-left:0;border-right:solid 1px}.mat-calendar-body-range-end::before{border-right:solid 1px}[dir=rtl] .mat-calendar-body-range-end::before{border-right:0;border-left:solid 1px}.mat-calendar-body-in-comparison-range::before{border-top:dashed 1px;border-bottom:dashed 1px}.mat-calendar-body-comparison-start::before{border-left:dashed 1px}[dir=rtl] .mat-calendar-body-comparison-start::before{border-left:0;border-right:dashed 1px}.mat-calendar-body-comparison-end::before{border-right:dashed 1px}[dir=rtl] .mat-calendar-body-comparison-end::before{border-right:0;border-left:dashed 1px}}
`],encapsulation:2,changeDetection:0})}return i})();function at(i){return i?.nodeName==="TD"}function nt(i){let r;return at(i)?r=i:at(i.parentNode)?r=i.parentNode:at(i.parentNode?.parentNode)&&(r=i.parentNode.parentNode),r?.getAttribute("data-mat-row")!=null?r:null}function it(i,r,e){return e!==null&&r!==e&&i<e&&i===r}function rt(i,r,e){return r!==null&&r!==e&&i>=r&&i===e}function ot(i,r,e,t){return t&&r!==null&&e!==null&&r!==e&&i>=r&&i<=e}function Aa(i){let r=i.changedTouches[0];return document.elementFromPoint(r.clientX,r.clientY)}var x=class{start;end;_disableStructuralEquivalency;constructor(r,e){this.start=r,this.end=e}},he=(()=>{class i{selection;_adapter;_selectionChanged=new E;selectionChanged=this._selectionChanged;constructor(e,t){this.selection=e,this._adapter=t,this.selection=e}updateSelection(e,t){let a=this.selection;this.selection=e,this._selectionChanged.next({selection:e,source:t,oldValue:a})}ngOnDestroy(){this._selectionChanged.complete()}_isValidDateInstance(e){return this._adapter.isDateInstance(e)&&this._adapter.isValid(e)}static \u0275fac=function(t){wt()};static \u0275prov=j({token:i,factory:i.\u0275fac})}return i})(),hn=(()=>{class i extends he{constructor(e){super(null,e)}add(e){super.updateSelection(e,this)}isValid(){return this.selection!=null&&this._isValidDateInstance(this.selection)}isComplete(){return this.selection!=null}clone(){let e=new i(this._adapter);return e.updateSelection(this.selection,this),e}static \u0275fac=function(t){return new(t||i)(Ct(M))};static \u0275prov=j({token:i,factory:i.\u0275fac})}return i})();function pn(i,r){return i||new hn(r)}var Ia={provide:he,deps:[[new vt,new yt,he],M],useFactory:pn};var Ta=new W("MAT_DATE_RANGE_SELECTION_STRATEGY");var st=7,un=0,ka=(()=>{class i{_changeDetectorRef=m(N);_dateFormats=m(B,{optional:!0});_dateAdapter=m(M,{optional:!0});_dir=m(oe,{optional:!0});_rangeStrategy=m(Ta,{optional:!0});_rerenderSubscription=V.EMPTY;_selectionKeyPressed;get activeDate(){return this._activeDate}set activeDate(e){let t=this._activeDate,a=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),this._hasSameMonthAndYear(t,this._activeDate)||this._init()}_activeDate;get selected(){return this._selected}set selected(e){e instanceof x?this._selected=e:this._selected=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setRanges(this._selected)}_selected;get minDate(){return this._minDate}set minDate(e){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_minDate;get maxDate(){return this._maxDate}set maxDate(e){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_maxDate;dateFilter;dateClass;comparisonStart;comparisonEnd;startDateAccessibleName;endDateAccessibleName;activeDrag=null;selectedChange=new p;_userSelection=new p;dragStarted=new p;dragEnded=new p;activeDateChange=new p;_matCalendarBody;_monthLabel=C("");_weeks=C([]);_firstWeekOffset=C(0);_rangeStart=C(null);_rangeEnd=C(null);_comparisonRangeStart=C(null);_comparisonRangeEnd=C(null);_previewStart=C(null);_previewEnd=C(null);_isRange=C(!1);_todayDate=C(null);_weekdays=C([]);constructor(){m(re).load(Oe),this._activeDate=this._dateAdapter.today()}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(be(null)).subscribe(()=>this._init())}ngOnChanges(e){let t=e.comparisonStart||e.comparisonEnd;t&&!t.firstChange&&this._setRanges(this.selected),e.activeDrag&&!this.activeDrag&&this._clearPreview()}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_dateSelected(e){let t=e.value,a=this._getDateFromDayOfMonth(t),n,o;this._selected instanceof x?(n=this._getDateInCurrentMonth(this._selected.start),o=this._getDateInCurrentMonth(this._selected.end)):n=o=this._getDateInCurrentMonth(this._selected),(n!==t||o!==t)&&this.selectedChange.emit(a),this._userSelection.emit({value:a,event:e.event}),this._clearPreview(),this._changeDetectorRef.markForCheck()}_updateActiveDate(e){let t=e.value,a=this._activeDate;this.activeDate=this._getDateFromDayOfMonth(t),this._dateAdapter.compareDate(a,this.activeDate)&&this.activeDateChange.emit(this._activeDate)}_handleCalendarBodyKeydown(e){let t=this._activeDate,a=this._isRtl();switch(e.keyCode){case 37:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,a?1:-1);break;case 39:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,a?-1:1);break;case 38:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,-7);break;case 40:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,7);break;case 36:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,1-this._dateAdapter.getDate(this._activeDate));break;case 35:this.activeDate=this._dateAdapter.addCalendarDays(this._activeDate,this._dateAdapter.getNumDaysInMonth(this._activeDate)-this._dateAdapter.getDate(this._activeDate));break;case 33:this.activeDate=e.altKey?this._dateAdapter.addCalendarYears(this._activeDate,-1):this._dateAdapter.addCalendarMonths(this._activeDate,-1);break;case 34:this.activeDate=e.altKey?this._dateAdapter.addCalendarYears(this._activeDate,1):this._dateAdapter.addCalendarMonths(this._activeDate,1);break;case 13:case 32:this._selectionKeyPressed=!0,this._canSelect(this._activeDate)&&e.preventDefault();return;case 27:this._previewEnd()!=null&&!q(e)&&(this._clearPreview(),this.activeDrag?this.dragEnded.emit({value:null,event:e}):(this.selectedChange.emit(null),this._userSelection.emit({value:null,event:e})),e.preventDefault(),e.stopPropagation());return;default:return}this._dateAdapter.compareDate(t,this.activeDate)&&(this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked()),e.preventDefault()}_handleCalendarBodyKeyup(e){(e.keyCode===32||e.keyCode===13)&&(this._selectionKeyPressed&&this._canSelect(this._activeDate)&&this._dateSelected({value:this._dateAdapter.getDate(this._activeDate),event:e}),this._selectionKeyPressed=!1)}_init(){this._setRanges(this.selected),this._todayDate.set(this._getCellCompareValue(this._dateAdapter.today())),this._monthLabel.set(this._dateFormats.display.monthLabel?this._dateAdapter.format(this.activeDate,this._dateFormats.display.monthLabel):this._dateAdapter.getMonthNames("short")[this._dateAdapter.getMonth(this.activeDate)].toLocaleUpperCase());let e=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),1);this._firstWeekOffset.set((st+this._dateAdapter.getDayOfWeek(e)-this._dateAdapter.getFirstDayOfWeek())%st),this._initWeekdays(),this._createWeekCells(),this._changeDetectorRef.markForCheck()}_focusActiveCell(e){this._matCalendarBody._focusActiveCell(e)}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_previewChanged({event:e,value:t}){if(this._rangeStrategy){let a=t?t.rawValue:null,n=this._rangeStrategy.createPreview(a,this.selected,e);if(this._previewStart.set(this._getCellCompareValue(n.start)),this._previewEnd.set(this._getCellCompareValue(n.end)),this.activeDrag&&a){let o=this._rangeStrategy.createDrag?.(this.activeDrag.value,this.selected,a,e);o&&(this._previewStart.set(this._getCellCompareValue(o.start)),this._previewEnd.set(this._getCellCompareValue(o.end)))}}}_dragEnded(e){if(this.activeDrag)if(e.value){let t=this._rangeStrategy?.createDrag?.(this.activeDrag.value,this.selected,e.value,e.event);this.dragEnded.emit({value:t??null,event:e.event})}else this.dragEnded.emit({value:null,event:e.event})}_getDateFromDayOfMonth(e){return this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),e)}_initWeekdays(){let e=this._dateAdapter.getFirstDayOfWeek(),t=this._dateAdapter.getDayOfWeekNames("narrow"),n=this._dateAdapter.getDayOfWeekNames("long").map((o,b)=>({long:o,narrow:t[b],id:un++}));this._weekdays.set(n.slice(e).concat(n.slice(0,e)))}_createWeekCells(){let e=this._dateAdapter.getNumDaysInMonth(this.activeDate),t=this._dateAdapter.getDateNames(),a=[[]];for(let n=0,o=this._firstWeekOffset();n<e;n++,o++){o==st&&(a.push([]),o=0);let b=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),this._dateAdapter.getMonth(this.activeDate),n+1),ue=this._shouldEnableDate(b),P=this._dateAdapter.format(b,this._dateFormats.display.dateA11yLabel),ee=this.dateClass?this.dateClass(b,"month"):void 0;a[a.length-1].push(new me(n+1,t[n],P,ue,ee,this._getCellCompareValue(b),b))}this._weeks.set(a)}_shouldEnableDate(e){return!!e&&(!this.minDate||this._dateAdapter.compareDate(e,this.minDate)>=0)&&(!this.maxDate||this._dateAdapter.compareDate(e,this.maxDate)<=0)&&(!this.dateFilter||this.dateFilter(e))}_getDateInCurrentMonth(e){return e&&this._hasSameMonthAndYear(e,this.activeDate)?this._dateAdapter.getDate(e):null}_hasSameMonthAndYear(e,t){return!!(e&&t&&this._dateAdapter.getMonth(e)==this._dateAdapter.getMonth(t)&&this._dateAdapter.getYear(e)==this._dateAdapter.getYear(t))}_getCellCompareValue(e){if(e){let t=this._dateAdapter.getYear(e),a=this._dateAdapter.getMonth(e),n=this._dateAdapter.getDate(e);return new Date(t,a,n).getTime()}return null}_isRtl(){return this._dir&&this._dir.value==="rtl"}_setRanges(e){e instanceof x?(this._rangeStart.set(this._getCellCompareValue(e.start)),this._rangeEnd.set(this._getCellCompareValue(e.end)),this._isRange.set(!0)):(this._rangeStart.set(this._getCellCompareValue(e)),this._rangeEnd.set(this._rangeStart()),this._isRange.set(!1)),this._comparisonRangeStart.set(this._getCellCompareValue(this.comparisonStart)),this._comparisonRangeEnd.set(this._getCellCompareValue(this.comparisonEnd))}_canSelect(e){return!this.dateFilter||this.dateFilter(e)}_clearPreview(){this._previewStart.set(null),this._previewEnd.set(null)}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=S({type:i,selectors:[["mat-month-view"]],viewQuery:function(t,a){if(t&1&&R(X,5),t&2){let n;T(n=F())&&(a._matCalendarBody=n.first)}},inputs:{activeDate:"activeDate",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd",startDateAccessibleName:"startDateAccessibleName",endDateAccessibleName:"endDateAccessibleName",activeDrag:"activeDrag"},outputs:{selectedChange:"selectedChange",_userSelection:"_userSelection",dragStarted:"dragStarted",dragEnded:"dragEnded",activeDateChange:"activeDateChange"},exportAs:["matMonthView"],features:[z],decls:8,vars:14,consts:[["role","grid",1,"mat-calendar-table"],[1,"mat-calendar-table-header"],["scope","col"],["aria-hidden","true"],["colspan","7",1,"mat-calendar-table-header-divider"],["mat-calendar-body","",3,"selectedValueChange","activeDateChange","previewChange","dragStarted","dragEnded","keyup","keydown","label","rows","todayValue","startValue","endValue","comparisonStart","comparisonEnd","previewStart","previewEnd","isRange","labelMinRequiredCells","activeCell","startDateAccessibleName","endDateAccessibleName"],[1,"cdk-visually-hidden"]],template:function(t,a){t&1&&(d(0,"table",0)(1,"thead",1)(2,"tr"),K(3,Xa,5,2,"th",2,Va),s(),d(5,"tr",3),v(6,"th",4),s()(),d(7,"tbody",5),_("selectedValueChange",function(o){return a._dateSelected(o)})("activeDateChange",function(o){return a._updateActiveDate(o)})("previewChange",function(o){return a._previewChanged(o)})("dragStarted",function(o){return a.dragStarted.emit(o)})("dragEnded",function(o){return a._dragEnded(o)})("keyup",function(o){return a._handleCalendarBodyKeyup(o)})("keydown",function(o){return a._handleCalendarBodyKeydown(o)}),s()()),t&2&&(l(3),Q(a._weekdays()),l(4),u("label",a._monthLabel())("rows",a._weeks())("todayValue",a._todayDate())("startValue",a._rangeStart())("endValue",a._rangeEnd())("comparisonStart",a._comparisonRangeStart())("comparisonEnd",a._comparisonRangeEnd())("previewStart",a._previewStart())("previewEnd",a._previewEnd())("isRange",a._isRange())("labelMinRequiredCells",3)("activeCell",a._dateAdapter.getDate(a.activeDate)-1)("startDateAccessibleName",a.startDateAccessibleName)("endDateAccessibleName",a.endDateAccessibleName))},dependencies:[X],encapsulation:2,changeDetection:0})}return i})(),O=24,dt=4,Oa=(()=>{class i{_changeDetectorRef=m(N);_dateAdapter=m(M,{optional:!0});_dir=m(oe,{optional:!0});_rerenderSubscription=V.EMPTY;_selectionKeyPressed;get activeDate(){return this._activeDate}set activeDate(e){let t=this._activeDate,a=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),Fa(this._dateAdapter,t,this._activeDate,this.minDate,this.maxDate)||this._init()}_activeDate;get selected(){return this._selected}set selected(e){e instanceof x?this._selected=e:this._selected=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setSelectedYear(e)}_selected;get minDate(){return this._minDate}set minDate(e){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_minDate;get maxDate(){return this._maxDate}set maxDate(e){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_maxDate;dateFilter;dateClass;selectedChange=new p;yearSelected=new p;activeDateChange=new p;_matCalendarBody;_years=C([]);_todayYear=C(0);_selectedYear=C(null);constructor(){this._dateAdapter,this._activeDate=this._dateAdapter.today()}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(be(null)).subscribe(()=>this._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_init(){this._todayYear.set(this._dateAdapter.getYear(this._dateAdapter.today()));let t=this._dateAdapter.getYear(this._activeDate)-le(this._dateAdapter,this.activeDate,this.minDate,this.maxDate),a=[];for(let n=0,o=[];n<O;n++)o.push(t+n),o.length==dt&&(a.push(o.map(b=>this._createCellForYear(b))),o=[]);this._years.set(a),this._changeDetectorRef.markForCheck()}_yearSelected(e){let t=e.value,a=this._dateAdapter.createDate(t,0,1),n=this._getDateFromYear(t);this.yearSelected.emit(a),this.selectedChange.emit(n)}_updateActiveDate(e){let t=e.value,a=this._activeDate;this.activeDate=this._getDateFromYear(t),this._dateAdapter.compareDate(a,this.activeDate)&&this.activeDateChange.emit(this.activeDate)}_handleCalendarBodyKeydown(e){let t=this._activeDate,a=this._isRtl();switch(e.keyCode){case 37:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,a?1:-1);break;case 39:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,a?-1:1);break;case 38:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-dt);break;case 40:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,dt);break;case 36:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,-le(this._dateAdapter,this.activeDate,this.minDate,this.maxDate));break;case 35:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,O-le(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)-1);break;case 33:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?-O*10:-O);break;case 34:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?O*10:O);break;case 13:case 32:this._selectionKeyPressed=!0;break;default:return}this._dateAdapter.compareDate(t,this.activeDate)&&this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked(),e.preventDefault()}_handleCalendarBodyKeyup(e){(e.keyCode===32||e.keyCode===13)&&(this._selectionKeyPressed&&this._yearSelected({value:this._dateAdapter.getYear(this._activeDate),event:e}),this._selectionKeyPressed=!1)}_getActiveCell(){return le(this._dateAdapter,this.activeDate,this.minDate,this.maxDate)}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_getDateFromYear(e){let t=this._dateAdapter.getMonth(this.activeDate),a=this._dateAdapter.getNumDaysInMonth(this._dateAdapter.createDate(e,t,1));return this._dateAdapter.createDate(e,t,Math.min(this._dateAdapter.getDate(this.activeDate),a))}_createCellForYear(e){let t=this._dateAdapter.createDate(e,0,1),a=this._dateAdapter.getYearName(t),n=this.dateClass?this.dateClass(t,"multi-year"):void 0;return new me(e,a,a,this._shouldEnableYear(e),n)}_shouldEnableYear(e){if(e==null||this.maxDate&&e>this._dateAdapter.getYear(this.maxDate)||this.minDate&&e<this._dateAdapter.getYear(this.minDate))return!1;if(!this.dateFilter)return!0;let t=this._dateAdapter.createDate(e,0,1);for(let a=t;this._dateAdapter.getYear(a)==e;a=this._dateAdapter.addCalendarDays(a,1))if(this.dateFilter(a))return!0;return!1}_isRtl(){return this._dir&&this._dir.value==="rtl"}_setSelectedYear(e){if(this._selectedYear.set(null),e instanceof x){let t=e.start||e.end;t&&this._selectedYear.set(this._dateAdapter.getYear(t))}else e&&this._selectedYear.set(this._dateAdapter.getYear(e))}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=S({type:i,selectors:[["mat-multi-year-view"]],viewQuery:function(t,a){if(t&1&&R(X,5),t&2){let n;T(n=F())&&(a._matCalendarBody=n.first)}},inputs:{activeDate:"activeDate",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass"},outputs:{selectedChange:"selectedChange",yearSelected:"yearSelected",activeDateChange:"activeDateChange"},exportAs:["matMultiYearView"],decls:5,vars:7,consts:[["role","grid",1,"mat-calendar-table"],["aria-hidden","true",1,"mat-calendar-table-header"],["colspan","4",1,"mat-calendar-table-header-divider"],["mat-calendar-body","",3,"selectedValueChange","activeDateChange","keyup","keydown","rows","todayValue","startValue","endValue","numCols","cellAspectRatio","activeCell"]],template:function(t,a){t&1&&(d(0,"table",0)(1,"thead",1)(2,"tr"),v(3,"th",2),s()(),d(4,"tbody",3),_("selectedValueChange",function(o){return a._yearSelected(o)})("activeDateChange",function(o){return a._updateActiveDate(o)})("keyup",function(o){return a._handleCalendarBodyKeyup(o)})("keydown",function(o){return a._handleCalendarBodyKeydown(o)}),s()()),t&2&&(l(4),u("rows",a._years())("todayValue",a._todayYear())("startValue",a._selectedYear())("endValue",a._selectedYear())("numCols",4)("cellAspectRatio",4/7)("activeCell",a._getActiveCell()))},dependencies:[X],encapsulation:2,changeDetection:0})}return i})();function Fa(i,r,e,t,a){let n=i.getYear(r),o=i.getYear(e),b=Ra(i,t,a);return Math.floor((n-b)/O)===Math.floor((o-b)/O)}function le(i,r,e,t){let a=i.getYear(r);return _n(a-Ra(i,e,t),O)}function Ra(i,r,e){let t=0;return e?t=i.getYear(e)-O+1:r&&(t=i.getYear(r)),t}function _n(i,r){return(i%r+r)%r}var Sa=(()=>{class i{_changeDetectorRef=m(N);_dateFormats=m(B,{optional:!0});_dateAdapter=m(M,{optional:!0});_dir=m(oe,{optional:!0});_rerenderSubscription=V.EMPTY;_selectionKeyPressed;get activeDate(){return this._activeDate}set activeDate(e){let t=this._activeDate,a=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))||this._dateAdapter.today();this._activeDate=this._dateAdapter.clampDate(a,this.minDate,this.maxDate),this._dateAdapter.getYear(t)!==this._dateAdapter.getYear(this._activeDate)&&this._init()}_activeDate;get selected(){return this._selected}set selected(e){e instanceof x?this._selected=e:this._selected=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e)),this._setSelectedMonth(e)}_selected;get minDate(){return this._minDate}set minDate(e){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_minDate;get maxDate(){return this._maxDate}set maxDate(e){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_maxDate;dateFilter;dateClass;selectedChange=new p;monthSelected=new p;activeDateChange=new p;_matCalendarBody;_months=C([]);_yearLabel=C("");_todayMonth=C(null);_selectedMonth=C(null);constructor(){this._activeDate=this._dateAdapter.today()}ngAfterContentInit(){this._rerenderSubscription=this._dateAdapter.localeChanges.pipe(be(null)).subscribe(()=>this._init())}ngOnDestroy(){this._rerenderSubscription.unsubscribe()}_monthSelected(e){let t=e.value,a=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),t,1);this.monthSelected.emit(a);let n=this._getDateFromMonth(t);this.selectedChange.emit(n)}_updateActiveDate(e){let t=e.value,a=this._activeDate;this.activeDate=this._getDateFromMonth(t),this._dateAdapter.compareDate(a,this.activeDate)&&this.activeDateChange.emit(this.activeDate)}_handleCalendarBodyKeydown(e){let t=this._activeDate,a=this._isRtl();switch(e.keyCode){case 37:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,a?1:-1);break;case 39:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,a?-1:1);break;case 38:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-4);break;case 40:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,4);break;case 36:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,-this._dateAdapter.getMonth(this._activeDate));break;case 35:this.activeDate=this._dateAdapter.addCalendarMonths(this._activeDate,11-this._dateAdapter.getMonth(this._activeDate));break;case 33:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?-10:-1);break;case 34:this.activeDate=this._dateAdapter.addCalendarYears(this._activeDate,e.altKey?10:1);break;case 13:case 32:this._selectionKeyPressed=!0;break;default:return}this._dateAdapter.compareDate(t,this.activeDate)&&(this.activeDateChange.emit(this.activeDate),this._focusActiveCellAfterViewChecked()),e.preventDefault()}_handleCalendarBodyKeyup(e){(e.keyCode===32||e.keyCode===13)&&(this._selectionKeyPressed&&this._monthSelected({value:this._dateAdapter.getMonth(this._activeDate),event:e}),this._selectionKeyPressed=!1)}_init(){this._setSelectedMonth(this.selected),this._todayMonth.set(this._getMonthInCurrentYear(this._dateAdapter.today())),this._yearLabel.set(this._dateAdapter.getYearName(this.activeDate));let e=this._dateAdapter.getMonthNames("short");this._months.set([[0,1,2,3],[4,5,6,7],[8,9,10,11]].map(t=>t.map(a=>this._createCellForMonth(a,e[a])))),this._changeDetectorRef.markForCheck()}_focusActiveCell(){this._matCalendarBody._focusActiveCell()}_focusActiveCellAfterViewChecked(){this._matCalendarBody._scheduleFocusActiveCellAfterViewChecked()}_getMonthInCurrentYear(e){return e&&this._dateAdapter.getYear(e)==this._dateAdapter.getYear(this.activeDate)?this._dateAdapter.getMonth(e):null}_getDateFromMonth(e){let t=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,1),a=this._dateAdapter.getNumDaysInMonth(t);return this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,Math.min(this._dateAdapter.getDate(this.activeDate),a))}_createCellForMonth(e,t){let a=this._dateAdapter.createDate(this._dateAdapter.getYear(this.activeDate),e,1),n=this._dateAdapter.format(a,this._dateFormats.display.monthYearA11yLabel),o=this.dateClass?this.dateClass(a,"year"):void 0;return new me(e,t.toLocaleUpperCase(),n,this._shouldEnableMonth(e),o)}_shouldEnableMonth(e){let t=this._dateAdapter.getYear(this.activeDate);if(e==null||this._isYearAndMonthAfterMaxDate(t,e)||this._isYearAndMonthBeforeMinDate(t,e))return!1;if(!this.dateFilter)return!0;let a=this._dateAdapter.createDate(t,e,1);for(let n=a;this._dateAdapter.getMonth(n)==e;n=this._dateAdapter.addCalendarDays(n,1))if(this.dateFilter(n))return!0;return!1}_isYearAndMonthAfterMaxDate(e,t){if(this.maxDate){let a=this._dateAdapter.getYear(this.maxDate),n=this._dateAdapter.getMonth(this.maxDate);return e>a||e===a&&t>n}return!1}_isYearAndMonthBeforeMinDate(e,t){if(this.minDate){let a=this._dateAdapter.getYear(this.minDate),n=this._dateAdapter.getMonth(this.minDate);return e<a||e===a&&t<n}return!1}_isRtl(){return this._dir&&this._dir.value==="rtl"}_setSelectedMonth(e){e instanceof x?this._selectedMonth.set(this._getMonthInCurrentYear(e.start)||this._getMonthInCurrentYear(e.end)):this._selectedMonth.set(this._getMonthInCurrentYear(e))}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=S({type:i,selectors:[["mat-year-view"]],viewQuery:function(t,a){if(t&1&&R(X,5),t&2){let n;T(n=F())&&(a._matCalendarBody=n.first)}},inputs:{activeDate:"activeDate",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass"},outputs:{selectedChange:"selectedChange",monthSelected:"monthSelected",activeDateChange:"activeDateChange"},exportAs:["matYearView"],decls:5,vars:9,consts:[["role","grid",1,"mat-calendar-table"],["aria-hidden","true",1,"mat-calendar-table-header"],["colspan","4",1,"mat-calendar-table-header-divider"],["mat-calendar-body","",3,"selectedValueChange","activeDateChange","keyup","keydown","label","rows","todayValue","startValue","endValue","labelMinRequiredCells","numCols","cellAspectRatio","activeCell"]],template:function(t,a){t&1&&(d(0,"table",0)(1,"thead",1)(2,"tr"),v(3,"th",2),s()(),d(4,"tbody",3),_("selectedValueChange",function(o){return a._monthSelected(o)})("activeDateChange",function(o){return a._updateActiveDate(o)})("keyup",function(o){return a._handleCalendarBodyKeyup(o)})("keydown",function(o){return a._handleCalendarBodyKeydown(o)}),s()()),t&2&&(l(4),u("label",a._yearLabel())("rows",a._months())("todayValue",a._todayMonth())("startValue",a._selectedMonth())("endValue",a._selectedMonth())("labelMinRequiredCells",2)("numCols",4)("cellAspectRatio",4/7)("activeCell",a._dateAdapter.getMonth(a.activeDate)))},dependencies:[X],encapsulation:2,changeDetection:0})}return i})(),Na=(()=>{class i{_intl=m(J);calendar=m(lt);_dateAdapter=m(M,{optional:!0});_dateFormats=m(B,{optional:!0});_periodButtonText;_periodButtonDescription;_periodButtonLabel;_prevButtonLabel;_nextButtonLabel;constructor(){m(re).load(Oe);let e=m(N);this._updateLabels(),this.calendar.stateChanges.subscribe(()=>{this._updateLabels(),e.markForCheck()})}get periodButtonText(){return this._periodButtonText}get periodButtonDescription(){return this._periodButtonDescription}get periodButtonLabel(){return this._periodButtonLabel}get prevButtonLabel(){return this._prevButtonLabel}get nextButtonLabel(){return this._nextButtonLabel}currentPeriodClicked(){this.calendar.currentView=this.calendar.currentView=="month"?"multi-year":"month"}previousClicked(){this.previousEnabled()&&(this.calendar.activeDate=this.calendar.currentView=="month"?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,-1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,this.calendar.currentView=="year"?-1:-O))}nextClicked(){this.nextEnabled()&&(this.calendar.activeDate=this.calendar.currentView=="month"?this._dateAdapter.addCalendarMonths(this.calendar.activeDate,1):this._dateAdapter.addCalendarYears(this.calendar.activeDate,this.calendar.currentView=="year"?1:O))}previousEnabled(){return this.calendar.minDate?!this.calendar.minDate||!this._isSameView(this.calendar.activeDate,this.calendar.minDate):!0}nextEnabled(){return!this.calendar.maxDate||!this._isSameView(this.calendar.activeDate,this.calendar.maxDate)}_updateLabels(){let e=this.calendar,t=this._intl,a=this._dateAdapter;e.currentView==="month"?(this._periodButtonText=a.format(e.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase(),this._periodButtonDescription=a.format(e.activeDate,this._dateFormats.display.monthYearLabel).toLocaleUpperCase(),this._periodButtonLabel=t.switchToMultiYearViewLabel,this._prevButtonLabel=t.prevMonthLabel,this._nextButtonLabel=t.nextMonthLabel):e.currentView==="year"?(this._periodButtonText=a.getYearName(e.activeDate),this._periodButtonDescription=a.getYearName(e.activeDate),this._periodButtonLabel=t.switchToMonthViewLabel,this._prevButtonLabel=t.prevYearLabel,this._nextButtonLabel=t.nextYearLabel):(this._periodButtonText=t.formatYearRange(...this._formatMinAndMaxYearLabels()),this._periodButtonDescription=t.formatYearRangeLabel(...this._formatMinAndMaxYearLabels()),this._periodButtonLabel=t.switchToMonthViewLabel,this._prevButtonLabel=t.prevMultiYearLabel,this._nextButtonLabel=t.nextMultiYearLabel)}_isSameView(e,t){return this.calendar.currentView=="month"?this._dateAdapter.getYear(e)==this._dateAdapter.getYear(t)&&this._dateAdapter.getMonth(e)==this._dateAdapter.getMonth(t):this.calendar.currentView=="year"?this._dateAdapter.getYear(e)==this._dateAdapter.getYear(t):Fa(this._dateAdapter,e,t,this.calendar.minDate,this.calendar.maxDate)}_formatMinAndMaxYearLabels(){let t=this._dateAdapter.getYear(this.calendar.activeDate)-le(this._dateAdapter,this.calendar.activeDate,this.calendar.minDate,this.calendar.maxDate),a=t+O-1,n=this._dateAdapter.getYearName(this._dateAdapter.createDate(t,0,1)),o=this._dateAdapter.getYearName(this._dateAdapter.createDate(a,0,1));return[n,o]}_periodButtonLabelId=m(Se).getId("mat-calendar-period-label-");static \u0275fac=function(t){return new(t||i)};static \u0275cmp=S({type:i,selectors:[["mat-calendar-header"]],exportAs:["matCalendarHeader"],ngContentSelectors:Ja,decls:17,vars:13,consts:[[1,"mat-calendar-header"],[1,"mat-calendar-controls"],["aria-live","polite",1,"cdk-visually-hidden",3,"id"],["matButton","","type","button",1,"mat-calendar-period-button",3,"click"],["aria-hidden","true"],["viewBox","0 0 10 5","focusable","false","aria-hidden","true",1,"mat-calendar-arrow"],["points","0,0 5,5 10,0"],[1,"mat-calendar-spacer"],["matIconButton","","type","button","disabledInteractive","",1,"mat-calendar-previous-button",3,"click","disabled","matTooltip"],["viewBox","0 0 24 24","focusable","false","aria-hidden","true"],["d","M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"],["matIconButton","","type","button","disabledInteractive","",1,"mat-calendar-next-button",3,"click","disabled","matTooltip"],["d","M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"]],template:function(t,a){t&1&&(qe(),d(0,"div",0)(1,"div",1)(2,"span",2),c(3),s(),d(4,"button",3),_("click",function(){return a.currentPeriodClicked()}),d(5,"span",4),c(6),s(),L(),d(7,"svg",5),v(8,"polygon",6),s()(),Ne(),v(9,"div",7),je(10),d(11,"button",8),_("click",function(){return a.previousClicked()}),L(),d(12,"svg",9),v(13,"path",10),s()(),Ne(),d(14,"button",11),_("click",function(){return a.nextClicked()}),L(),d(15,"svg",9),v(16,"path",12),s()()()()),t&2&&(l(2),u("id",a._periodButtonLabelId),l(),k(a.periodButtonDescription),l(),D("aria-label",a.periodButtonLabel)("aria-describedby",a._periodButtonLabelId),l(2),k(a.periodButtonText),l(),Y("mat-calendar-invert",a.calendar.currentView!=="month"),l(4),u("disabled",!a.previousEnabled())("matTooltip",a.prevButtonLabel),D("aria-label",a.prevButtonLabel),l(3),u("disabled",!a.nextEnabled())("matTooltip",a.nextButtonLabel),D("aria-label",a.nextButtonLabel))},dependencies:[de,se,ya],encapsulation:2,changeDetection:0})}return i})(),lt=(()=>{class i{_dateAdapter=m(M,{optional:!0});_dateFormats=m(B,{optional:!0});_changeDetectorRef=m(N);_elementRef=m(ne);headerComponent;_calendarHeaderPortal;_intlChanges;_moveFocusOnNextTick=!1;get startAt(){return this._startAt}set startAt(e){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_startAt;startView="month";get selected(){return this._selected}set selected(e){e instanceof x?this._selected=e:this._selected=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_selected;get minDate(){return this._minDate}set minDate(e){this._minDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_minDate;get maxDate(){return this._maxDate}set maxDate(e){this._maxDate=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_maxDate;dateFilter;dateClass;comparisonStart;comparisonEnd;startDateAccessibleName;endDateAccessibleName;selectedChange=new p;yearSelected=new p;monthSelected=new p;viewChanged=new p(!0);_userSelection=new p;_userDragDrop=new p;monthView;yearView;multiYearView;get activeDate(){return this._clampedActiveDate}set activeDate(e){this._clampedActiveDate=this._dateAdapter.clampDate(e,this.minDate,this.maxDate),this.stateChanges.next(),this._changeDetectorRef.markForCheck()}_clampedActiveDate;get currentView(){return this._currentView}set currentView(e){let t=this._currentView!==e?e:null;this._currentView=e,this._moveFocusOnNextTick=!0,this._changeDetectorRef.markForCheck(),t&&(this.stateChanges.next(),this.viewChanged.emit(t))}_currentView;_activeDrag=null;stateChanges=new E;constructor(){this._intlChanges=m(J).changes.subscribe(()=>{this._changeDetectorRef.markForCheck(),this.stateChanges.next()})}ngAfterContentInit(){this._calendarHeaderPortal=new Xe(this.headerComponent||Na),this.activeDate=this.startAt||this._dateAdapter.today(),this._currentView=this.startView}ngAfterViewChecked(){this._moveFocusOnNextTick&&(this._moveFocusOnNextTick=!1,this.focusActiveCell())}ngOnDestroy(){this._intlChanges.unsubscribe(),this.stateChanges.complete()}ngOnChanges(e){let t=e.minDate&&!this._dateAdapter.sameDate(e.minDate.previousValue,e.minDate.currentValue)?e.minDate:void 0,a=e.maxDate&&!this._dateAdapter.sameDate(e.maxDate.previousValue,e.maxDate.currentValue)?e.maxDate:void 0,n=t||a||e.dateFilter;if(n&&!n.firstChange){let o=this._getCurrentViewComponent();o&&(this._elementRef.nativeElement.contains($e())&&(this._moveFocusOnNextTick=!0),this._changeDetectorRef.detectChanges(),o._init())}this.stateChanges.next()}focusActiveCell(){this._getCurrentViewComponent()._focusActiveCell(!1)}updateTodaysDate(){this._getCurrentViewComponent()._init()}_dateSelected(e){let t=e.value;(this.selected instanceof x||t&&!this._dateAdapter.sameDate(t,this.selected))&&this.selectedChange.emit(t),this._userSelection.emit(e)}_yearSelectedInMultiYearView(e){this.yearSelected.emit(e)}_monthSelectedInYearView(e){this.monthSelected.emit(e)}_goToDateInView(e,t){this.activeDate=e,this.currentView=t}_dragStarted(e){this._activeDrag=e}_dragEnded(e){this._activeDrag&&(e.value&&this._userDragDrop.emit(e),this._activeDrag=null)}_getCurrentViewComponent(){return this.monthView||this.yearView||this.multiYearView}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=S({type:i,selectors:[["mat-calendar"]],viewQuery:function(t,a){if(t&1&&(R(ka,5),R(Sa,5),R(Oa,5)),t&2){let n;T(n=F())&&(a.monthView=n.first),T(n=F())&&(a.yearView=n.first),T(n=F())&&(a.multiYearView=n.first)}},hostAttrs:[1,"mat-calendar"],inputs:{headerComponent:"headerComponent",startAt:"startAt",startView:"startView",selected:"selected",minDate:"minDate",maxDate:"maxDate",dateFilter:"dateFilter",dateClass:"dateClass",comparisonStart:"comparisonStart",comparisonEnd:"comparisonEnd",startDateAccessibleName:"startDateAccessibleName",endDateAccessibleName:"endDateAccessibleName"},outputs:{selectedChange:"selectedChange",yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",_userSelection:"_userSelection",_userDragDrop:"_userDragDrop"},exportAs:["matCalendar"],features:[Ae([Ia]),z],decls:5,vars:2,consts:[[3,"cdkPortalOutlet"],["cdkMonitorSubtreeFocus","","tabindex","-1",1,"mat-calendar-content"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","startDateAccessibleName","endDateAccessibleName","activeDrag"],[3,"activeDate","selected","dateFilter","maxDate","minDate","dateClass"],[3,"activeDateChange","_userSelection","dragStarted","dragEnded","activeDate","selected","dateFilter","maxDate","minDate","dateClass","comparisonStart","comparisonEnd","startDateAccessibleName","endDateAccessibleName","activeDrag"],[3,"activeDateChange","monthSelected","selectedChange","activeDate","selected","dateFilter","maxDate","minDate","dateClass"],[3,"activeDateChange","yearSelected","selectedChange","activeDate","selected","dateFilter","maxDate","minDate","dateClass"]],template:function(t,a){if(t&1&&(He(0,en,0,0,"ng-template",0),d(1,"div",1),w(2,tn,1,11,"mat-month-view",2)(3,an,1,6,"mat-year-view",3)(4,nn,1,6,"mat-multi-year-view",3),s()),t&2){let n;u("cdkPortalOutlet",a._calendarHeaderPortal),l(2),A((n=a.currentView)==="month"?2:n==="year"?3:n==="multi-year"?4:-1)}},dependencies:[Je,jt,ka,Sa,Oa],styles:[`.mat-calendar{display:block;line-height:normal;font-family:var(--mat-datepicker-calendar-text-font, var(--mat-sys-body-medium-font));font-size:var(--mat-datepicker-calendar-text-size, var(--mat-sys-body-medium-size))}.mat-calendar-header{padding:8px 8px 0 8px}.mat-calendar-content{padding:0 8px 8px 8px;outline:none}.mat-calendar-controls{display:flex;align-items:center;margin:5% calc(4.7142857143% - 16px)}.mat-calendar-spacer{flex:1 1 auto}.mat-calendar-period-button{min-width:0;margin:0 8px;font-size:var(--mat-datepicker-calendar-period-button-text-size, var(--mat-sys-title-small-size));font-weight:var(--mat-datepicker-calendar-period-button-text-weight, var(--mat-sys-title-small-weight));--mat-button-text-label-text-color: var(--mat-datepicker-calendar-period-button-text-color, var(--mat-sys-on-surface-variant))}.mat-calendar-arrow{display:inline-block;width:10px;height:5px;margin:0 0 0 5px;vertical-align:middle;fill:var(--mat-datepicker-calendar-period-button-icon-color, var(--mat-sys-on-surface-variant))}.mat-calendar-arrow.mat-calendar-invert{transform:rotate(180deg)}[dir=rtl] .mat-calendar-arrow{margin:0 5px 0 0}@media(forced-colors: active){.mat-calendar-arrow{fill:CanvasText}}.mat-datepicker-content .mat-calendar-previous-button:not(.mat-mdc-button-disabled),.mat-datepicker-content .mat-calendar-next-button:not(.mat-mdc-button-disabled){color:var(--mat-datepicker-calendar-navigation-button-icon-color, var(--mat-sys-on-surface-variant))}[dir=rtl] .mat-calendar-previous-button,[dir=rtl] .mat-calendar-next-button{transform:rotate(180deg)}.mat-calendar-table{border-spacing:0;border-collapse:collapse;width:100%}.mat-calendar-table-header th{text-align:center;padding:0 0 8px 0;color:var(--mat-datepicker-calendar-header-text-color, var(--mat-sys-on-surface-variant));font-size:var(--mat-datepicker-calendar-header-text-size, var(--mat-sys-title-small-size));font-weight:var(--mat-datepicker-calendar-header-text-weight, var(--mat-sys-title-small-weight))}.mat-calendar-table-header-divider{position:relative;height:1px}.mat-calendar-table-header-divider::after{content:"";position:absolute;top:0;left:-8px;right:-8px;height:1px;background:var(--mat-datepicker-calendar-header-divider-color, transparent)}.mat-calendar-body-cell-content::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px)*-1)}.mat-calendar-body-cell:focus .mat-focus-indicator::before{content:""}
`],encapsulation:2,changeDetection:0})}return i})(),La=new W("mat-datepicker-scroll-strategy",{providedIn:"root",factory:()=>{let i=m(ae);return()=>et(i)}});function gn(i){let r=m(ae);return()=>et(r)}var fn={provide:La,deps:[],useFactory:gn},Ya=(()=>{class i{_elementRef=m(ne);_animationsDisabled=Ze();_changeDetectorRef=m(N);_globalModel=m(he);_dateAdapter=m(M);_ngZone=m(Le);_rangeSelectionStrategy=m(Ta,{optional:!0});_stateChanges;_model;_eventCleanups;_animationFallback;_calendar;color;datepicker;comparisonStart;comparisonEnd;startDateAccessibleName;endDateAccessibleName;_isAbove;_animationDone=new E;_isAnimating=!1;_closeButtonText;_closeButtonFocused;_actionsPortal=null;_dialogLabelId;constructor(){if(m(re).load(Oe),this._closeButtonText=m(J).closeCalendarLabel,!this._animationsDisabled){let e=this._elementRef.nativeElement,t=m(Be);this._eventCleanups=this._ngZone.runOutsideAngular(()=>[t.listen(e,"animationstart",this._handleAnimationEvent),t.listen(e,"animationend",this._handleAnimationEvent),t.listen(e,"animationcancel",this._handleAnimationEvent)])}}ngAfterViewInit(){this._stateChanges=this.datepicker.stateChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()}),this._calendar.focusActiveCell()}ngOnDestroy(){clearTimeout(this._animationFallback),this._eventCleanups?.forEach(e=>e()),this._stateChanges?.unsubscribe(),this._animationDone.complete()}_handleUserSelection(e){let t=this._model.selection,a=e.value,n=t instanceof x;if(n&&this._rangeSelectionStrategy){let o=this._rangeSelectionStrategy.selectionFinished(a,t,e.event);this._model.updateSelection(o,this)}else a&&(n||!this._dateAdapter.sameDate(a,t))&&this._model.add(a);(!this._model||this._model.isComplete())&&!this._actionsPortal&&this.datepicker.close()}_handleUserDragDrop(e){this._model.updateSelection(e.value,this)}_startExitAnimation(){this._elementRef.nativeElement.classList.add("mat-datepicker-content-exit"),this._animationsDisabled?this._animationDone.next():(clearTimeout(this._animationFallback),this._animationFallback=setTimeout(()=>{this._isAnimating||this._animationDone.next()},200))}_handleAnimationEvent=e=>{let t=this._elementRef.nativeElement;e.target!==t||!e.animationName.startsWith("_mat-datepicker-content")||(clearTimeout(this._animationFallback),this._isAnimating=e.type==="animationstart",t.classList.toggle("mat-datepicker-content-animating",this._isAnimating),this._isAnimating||this._animationDone.next())};_getSelected(){return this._model.selection}_applyPendingSelection(){this._model!==this._globalModel&&this._globalModel.updateSelection(this._model.selection,this)}_assignActions(e,t){this._model=e?this._globalModel.clone():this._globalModel,this._actionsPortal=e,t&&this._changeDetectorRef.detectChanges()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=S({type:i,selectors:[["mat-datepicker-content"]],viewQuery:function(t,a){if(t&1&&R(lt,5),t&2){let n;T(n=F())&&(a._calendar=n.first)}},hostAttrs:[1,"mat-datepicker-content"],hostVars:6,hostBindings:function(t,a){t&2&&(Ke(a.color?"mat-"+a.color:""),Y("mat-datepicker-content-touch",a.datepicker.touchUi)("mat-datepicker-content-animations-enabled",!a._animationsDisabled))},inputs:{color:"color"},exportAs:["matDatepickerContent"],decls:5,vars:26,consts:[["cdkTrapFocus","","role","dialog",1,"mat-datepicker-content-container"],[3,"yearSelected","monthSelected","viewChanged","_userSelection","_userDragDrop","id","startAt","startView","minDate","maxDate","dateFilter","headerComponent","selected","dateClass","comparisonStart","comparisonEnd","startDateAccessibleName","endDateAccessibleName"],[3,"cdkPortalOutlet"],["type","button","matButton","elevated",1,"mat-datepicker-close-button",3,"focus","blur","click","color"]],template:function(t,a){t&1&&(d(0,"div",0)(1,"mat-calendar",1),_("yearSelected",function(o){return a.datepicker._selectYear(o)})("monthSelected",function(o){return a.datepicker._selectMonth(o)})("viewChanged",function(o){return a.datepicker._viewChanged(o)})("_userSelection",function(o){return a._handleUserSelection(o)})("_userDragDrop",function(o){return a._handleUserDragDrop(o)}),s(),He(2,rn,0,0,"ng-template",2),d(3,"button",3),_("focus",function(){return a._closeButtonFocused=!0})("blur",function(){return a._closeButtonFocused=!1})("click",function(){return a.datepicker.close()}),c(4),s()()),t&2&&(Y("mat-datepicker-content-container-with-custom-header",a.datepicker.calendarHeaderComponent)("mat-datepicker-content-container-with-actions",a._actionsPortal),D("aria-modal",!0)("aria-labelledby",a._dialogLabelId??void 0),l(),Ke(a.datepicker.panelClass),u("id",a.datepicker.id)("startAt",a.datepicker.startAt)("startView",a.datepicker.startView)("minDate",a.datepicker._getMinDate())("maxDate",a.datepicker._getMaxDate())("dateFilter",a.datepicker._getDateFilter())("headerComponent",a.datepicker.calendarHeaderComponent)("selected",a._getSelected())("dateClass",a.datepicker.dateClass)("comparisonStart",a.comparisonStart)("comparisonEnd",a.comparisonEnd)("startDateAccessibleName",a.startDateAccessibleName)("endDateAccessibleName",a.endDateAccessibleName),l(),u("cdkPortalOutlet",a._actionsPortal),l(),Y("cdk-visually-hidden",!a._closeButtonFocused),u("color",a.color||"primary"),l(),k(a._closeButtonText))},dependencies:[Wt,lt,Je,de],styles:[`@keyframes _mat-datepicker-content-dropdown-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-datepicker-content-dialog-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-datepicker-content-exit{from{opacity:1}to{opacity:0}}.mat-datepicker-content{display:block;background-color:var(--mat-datepicker-calendar-container-background-color, var(--mat-sys-surface-container-high));color:var(--mat-datepicker-calendar-container-text-color, var(--mat-sys-on-surface));box-shadow:var(--mat-datepicker-calendar-container-elevation-shadow, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12));border-radius:var(--mat-datepicker-calendar-container-shape, var(--mat-sys-corner-large))}.mat-datepicker-content.mat-datepicker-content-animations-enabled{animation:_mat-datepicker-content-dropdown-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-datepicker-content .mat-calendar{width:296px;height:354px}.mat-datepicker-content .mat-datepicker-content-container-with-custom-header .mat-calendar{height:auto}.mat-datepicker-content .mat-datepicker-close-button{position:absolute;top:100%;left:0;margin-top:8px}.mat-datepicker-content-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;box-shadow:var(--mat-datepicker-calendar-container-touch-elevation-shadow, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12));border-radius:var(--mat-datepicker-calendar-container-touch-shape, var(--mat-sys-corner-extra-large));position:relative;overflow:visible}.mat-datepicker-content-touch.mat-datepicker-content-animations-enabled{animation:_mat-datepicker-content-dialog-enter 150ms cubic-bezier(0, 0, 0.2, 1)}.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}.mat-datepicker-content-exit.mat-datepicker-content-animations-enabled{animation:_mat-datepicker-content-exit 100ms linear}@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}}
`],encapsulation:2,changeDetection:0})}return i})(),xa=(()=>{class i{_injector=m(ae);_viewContainerRef=m(At);_dateAdapter=m(M,{optional:!0});_dir=m(oe,{optional:!0});_model=m(he);_animationsDisabled=Ze();_scrollStrategy=m(La);_inputStateChanges=V.EMPTY;_document=m(Dt);calendarHeaderComponent;get startAt(){return this._startAt||(this.datepickerInput?this.datepickerInput.getStartValue():null)}set startAt(e){this._startAt=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e))}_startAt;startView="month";get color(){return this._color||(this.datepickerInput?this.datepickerInput.getThemePalette():void 0)}set color(e){this._color=e}_color;touchUi=!1;get disabled(){return this._disabled===void 0&&this.datepickerInput?this.datepickerInput.disabled:!!this._disabled}set disabled(e){e!==this._disabled&&(this._disabled=e,this.stateChanges.next(void 0))}_disabled;xPosition="start";yPosition="below";restoreFocus=!0;yearSelected=new p;monthSelected=new p;viewChanged=new p(!0);dateClass;openedStream=new p;closedStream=new p;get panelClass(){return this._panelClass}set panelClass(e){this._panelClass=Jt(e)}_panelClass;get opened(){return this._opened}set opened(e){e?this.open():this.close()}_opened=!1;id=m(Se).getId("mat-datepicker-");_getMinDate(){return this.datepickerInput&&this.datepickerInput.min}_getMaxDate(){return this.datepickerInput&&this.datepickerInput.max}_getDateFilter(){return this.datepickerInput&&this.datepickerInput.dateFilter}_overlayRef;_componentRef;_focusedElementBeforeOpen=null;_backdropHarnessClass=`${this.id}-backdrop`;_actionsPortal;datepickerInput;stateChanges=new E;_changeDetectorRef=m(N);constructor(){this._dateAdapter,this._model.selectionChanged.subscribe(()=>{this._changeDetectorRef.markForCheck()})}ngOnChanges(e){let t=e.xPosition||e.yPosition;if(t&&!t.firstChange&&this._overlayRef){let a=this._overlayRef.getConfig().positionStrategy;a instanceof ba&&(this._setConnectedPositions(a),this.opened&&this._overlayRef.updatePosition())}this.stateChanges.next(void 0)}ngOnDestroy(){this._destroyOverlay(),this.close(),this._inputStateChanges.unsubscribe(),this.stateChanges.complete()}select(e){this._model.add(e)}_selectYear(e){this.yearSelected.emit(e)}_selectMonth(e){this.monthSelected.emit(e)}_viewChanged(e){this.viewChanged.emit(e)}registerInput(e){return this.datepickerInput,this._inputStateChanges.unsubscribe(),this.datepickerInput=e,this._inputStateChanges=e.stateChanges.subscribe(()=>this.stateChanges.next(void 0)),this._model}registerActions(e){this._actionsPortal,this._actionsPortal=e,this._componentRef?.instance._assignActions(e,!0)}removeActions(e){e===this._actionsPortal&&(this._actionsPortal=null,this._componentRef?.instance._assignActions(null,!0))}open(){this._opened||this.disabled||this._componentRef?.instance._isAnimating||(this.datepickerInput,this._focusedElementBeforeOpen=$e(),this._openOverlay(),this._opened=!0,this.openedStream.emit())}close(){if(!this._opened||this._componentRef?.instance._isAnimating)return;let e=this.restoreFocus&&this._focusedElementBeforeOpen&&typeof this._focusedElementBeforeOpen.focus=="function",t=()=>{this._opened&&(this._opened=!1,this.closedStream.emit())};if(this._componentRef){let{instance:a,location:n}=this._componentRef;a._animationDone.pipe(bt(1)).subscribe(()=>{let o=this._document.activeElement;e&&(!o||o===this._document.activeElement||n.nativeElement.contains(o))&&this._focusedElementBeforeOpen.focus(),this._focusedElementBeforeOpen=null,this._destroyOverlay()}),a._startExitAnimation()}e?setTimeout(t):t()}_applyPendingSelection(){this._componentRef?.instance?._applyPendingSelection()}_forwardContentValues(e){e.datepicker=this,e.color=this.color,e._dialogLabelId=this.datepickerInput.getOverlayLabelId(),e._assignActions(this._actionsPortal,!1)}_openOverlay(){this._destroyOverlay();let e=this.touchUi,t=new Xe(Ya,this._viewContainerRef),a=this._overlayRef=Da(this._injector,new ga({positionStrategy:e?this._getDialogStrategy():this._getDropdownStrategy(),hasBackdrop:!0,backdropClass:[e?"cdk-overlay-dark-backdrop":"mat-overlay-transparent-backdrop",this._backdropHarnessClass],direction:this._dir||"ltr",scrollStrategy:e?_a(this._injector):this._scrollStrategy(),panelClass:`mat-datepicker-${e?"dialog":"popup"}`,disableAnimations:this._animationsDisabled}));this._getCloseStream(a).subscribe(n=>{n&&n.preventDefault(),this.close()}),a.keydownEvents().subscribe(n=>{let o=n.keyCode;(o===38||o===40||o===37||o===39||o===33||o===34)&&n.preventDefault()}),this._componentRef=a.attach(t),this._forwardContentValues(this._componentRef.instance),e||Ye(()=>{a.updatePosition()},{injector:this._injector})}_destroyOverlay(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=this._componentRef=null)}_getDialogStrategy(){return Ca(this._injector).centerHorizontally().centerVertically()}_getDropdownStrategy(){let e=fa(this._injector,this.datepickerInput.getConnectedOverlayOrigin()).withTransformOriginOn(".mat-datepicker-content").withFlexibleDimensions(!1).withViewportMargin(8).withLockedPosition();return this._setConnectedPositions(e)}_setConnectedPositions(e){let t=this.xPosition==="end"?"end":"start",a=t==="start"?"end":"start",n=this.yPosition==="above"?"bottom":"top",o=n==="top"?"bottom":"top";return e.withPositions([{originX:t,originY:o,overlayX:t,overlayY:n},{originX:t,originY:n,overlayX:t,overlayY:o},{originX:a,originY:o,overlayX:a,overlayY:n},{originX:a,originY:n,overlayX:a,overlayY:o}])}_getCloseStream(e){let t=["ctrlKey","shiftKey","metaKey"];return fe(e.backdropClick(),e.detachments(),e.keydownEvents().pipe(ft(a=>a.keyCode===27&&!q(a)||this.datepickerInput&&q(a,"altKey")&&a.keyCode===38&&t.every(n=>!q(a,n)))))}static \u0275fac=function(t){return new(t||i)};static \u0275dir=ie({type:i,inputs:{calendarHeaderComponent:"calendarHeaderComponent",startAt:"startAt",startView:"startView",color:"color",touchUi:[2,"touchUi","touchUi",H],disabled:[2,"disabled","disabled",H],xPosition:"xPosition",yPosition:"yPosition",restoreFocus:[2,"restoreFocus","restoreFocus",H],dateClass:"dateClass",panelClass:"panelClass",opened:[2,"opened","opened",H]},outputs:{yearSelected:"yearSelected",monthSelected:"monthSelected",viewChanged:"viewChanged",openedStream:"opened",closedStream:"closed"},features:[z]})}return i})(),Ba=(()=>{class i extends xa{static \u0275fac=(()=>{let e;return function(a){return(e||(e=Mt(i)))(a||i)}})();static \u0275cmp=S({type:i,selectors:[["mat-datepicker"]],exportAs:["matDatepicker"],features:[Ae([Ia,{provide:xa,useExisting:i}]),ze],decls:0,vars:0,template:function(t,a){},encapsulation:2,changeDetection:0})}return i})(),U=class{target;targetElement;value;constructor(r,e){this.target=r,this.targetElement=e,this.value=this.target.value}},bn=(()=>{class i{_elementRef=m(ne);_dateAdapter=m(M,{optional:!0});_dateFormats=m(B,{optional:!0});_isInitialized;get value(){return this._model?this._getValueFromModel(this._model.selection):this._pendingValue}set value(e){this._assignValueProgrammatically(e)}_model;get disabled(){return!!this._disabled||this._parentDisabled()}set disabled(e){let t=e,a=this._elementRef.nativeElement;this._disabled!==t&&(this._disabled=t,this.stateChanges.next(void 0)),t&&this._isInitialized&&a.blur&&a.blur()}_disabled;dateChange=new p;dateInput=new p;stateChanges=new E;_onTouched=()=>{};_validatorOnChange=()=>{};_cvaOnChange=()=>{};_valueChangesSubscription=V.EMPTY;_localeSubscription=V.EMPTY;_pendingValue;_parseValidator=()=>this._lastValueValid?null:{matDatepickerParse:{text:this._elementRef.nativeElement.value}};_filterValidator=e=>{let t=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e.value));return!t||this._matchesFilter(t)?null:{matDatepickerFilter:!0}};_minValidator=e=>{let t=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e.value)),a=this._getMinDate();return!a||!t||this._dateAdapter.compareDate(a,t)<=0?null:{matDatepickerMin:{min:a,actual:t}}};_maxValidator=e=>{let t=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e.value)),a=this._getMaxDate();return!a||!t||this._dateAdapter.compareDate(a,t)>=0?null:{matDatepickerMax:{max:a,actual:t}}};_getValidators(){return[this._parseValidator,this._minValidator,this._maxValidator,this._filterValidator]}_registerModel(e){this._model=e,this._valueChangesSubscription.unsubscribe(),this._pendingValue&&this._assignValue(this._pendingValue),this._valueChangesSubscription=this._model.selectionChanged.subscribe(t=>{if(this._shouldHandleChangeEvent(t)){let a=this._getValueFromModel(t.selection);this._lastValueValid=this._isValidValue(a),this._cvaOnChange(a),this._onTouched(),this._formatValue(a),this.dateInput.emit(new U(this,this._elementRef.nativeElement)),this.dateChange.emit(new U(this,this._elementRef.nativeElement))}})}_lastValueValid=!1;constructor(){this._localeSubscription=this._dateAdapter.localeChanges.subscribe(()=>{this._assignValueProgrammatically(this.value)})}ngAfterViewInit(){this._isInitialized=!0}ngOnChanges(e){Cn(e,this._dateAdapter)&&this.stateChanges.next(void 0)}ngOnDestroy(){this._valueChangesSubscription.unsubscribe(),this._localeSubscription.unsubscribe(),this.stateChanges.complete()}registerOnValidatorChange(e){this._validatorOnChange=e}validate(e){return this._validator?this._validator(e):null}writeValue(e){this._assignValueProgrammatically(e)}registerOnChange(e){this._cvaOnChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_onKeydown(e){let t=["ctrlKey","shiftKey","metaKey"];q(e,"altKey")&&e.keyCode===40&&t.every(n=>!q(e,n))&&!this._elementRef.nativeElement.readOnly&&(this._openPopup(),e.preventDefault())}_onInput(e){let t=e.target.value,a=this._lastValueValid,n=this._dateAdapter.parse(t,this._dateFormats.parse.dateInput);this._lastValueValid=this._isValidValue(n),n=this._dateAdapter.getValidDateOrNull(n);let o=!this._dateAdapter.sameDate(n,this.value);!n||o?this._cvaOnChange(n):(t&&!this.value&&this._cvaOnChange(n),a!==this._lastValueValid&&this._validatorOnChange()),o&&(this._assignValue(n),this.dateInput.emit(new U(this,this._elementRef.nativeElement)))}_onChange(){this.dateChange.emit(new U(this,this._elementRef.nativeElement))}_onBlur(){this.value&&this._formatValue(this.value),this._onTouched()}_formatValue(e){this._elementRef.nativeElement.value=e!=null?this._dateAdapter.format(e,this._dateFormats.display.dateInput):""}_assignValue(e){this._model?(this._assignValueToModel(e),this._pendingValue=null):this._pendingValue=e}_isValidValue(e){return!e||this._dateAdapter.isValid(e)}_parentDisabled(){return!1}_assignValueProgrammatically(e){e=this._dateAdapter.deserialize(e),this._lastValueValid=this._isValidValue(e),e=this._dateAdapter.getValidDateOrNull(e),this._assignValue(e),this._formatValue(e)}_matchesFilter(e){let t=this._getDateFilter();return!t||t(e)}static \u0275fac=function(t){return new(t||i)};static \u0275dir=ie({type:i,inputs:{value:"value",disabled:[2,"disabled","disabled",H]},outputs:{dateChange:"dateChange",dateInput:"dateInput"},features:[z]})}return i})();function Cn(i,r){let e=Object.keys(i);for(let t of e){let{previousValue:a,currentValue:n}=i[t];if(r.isDateInstance(a)&&r.isDateInstance(n)){if(!r.sameDate(a,n))return!0}else return!0}return!1}var Dn={provide:It,useExisting:Re(()=>Fe),multi:!0},vn={provide:Ft,useExisting:Re(()=>Fe),multi:!0},Fe=(()=>{class i extends bn{_formField=m(aa,{optional:!0});_closedSubscription=V.EMPTY;_openedSubscription=V.EMPTY;set matDatepicker(e){e&&(this._datepicker=e,this._ariaOwns.set(e.opened?e.id:null),this._closedSubscription=e.closedStream.subscribe(()=>{this._onTouched(),this._ariaOwns.set(null)}),this._openedSubscription=e.openedStream.subscribe(()=>{this._ariaOwns.set(e.id)}),this._registerModel(e.registerInput(this)))}_datepicker;_ariaOwns=C(null);get min(){return this._min}set min(e){let t=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e));this._dateAdapter.sameDate(t,this._min)||(this._min=t,this._validatorOnChange())}_min;get max(){return this._max}set max(e){let t=this._dateAdapter.getValidDateOrNull(this._dateAdapter.deserialize(e));this._dateAdapter.sameDate(t,this._max)||(this._max=t,this._validatorOnChange())}_max;get dateFilter(){return this._dateFilter}set dateFilter(e){let t=this._matchesFilter(this.value);this._dateFilter=e,this._matchesFilter(this.value)!==t&&this._validatorOnChange()}_dateFilter;_validator;constructor(){super(),this._validator=Rt.compose(super._getValidators())}getConnectedOverlayOrigin(){return this._formField?this._formField.getConnectedOverlayOrigin():this._elementRef}getOverlayLabelId(){return this._formField?this._formField.getLabelId():this._elementRef.nativeElement.getAttribute("aria-labelledby")}getThemePalette(){return this._formField?this._formField.color:void 0}getStartValue(){return this.value}ngOnDestroy(){super.ngOnDestroy(),this._closedSubscription.unsubscribe(),this._openedSubscription.unsubscribe()}_openPopup(){this._datepicker&&this._datepicker.open()}_getValueFromModel(e){return e}_assignValueToModel(e){this._model&&this._model.updateSelection(e,this)}_getMinDate(){return this._min}_getMaxDate(){return this._max}_getDateFilter(){return this._dateFilter}_shouldHandleChangeEvent(e){return e.source!==this}static \u0275fac=function(t){return new(t||i)};static \u0275dir=ie({type:i,selectors:[["input","matDatepicker",""]],hostAttrs:[1,"mat-datepicker-input"],hostVars:6,hostBindings:function(t,a){t&1&&_("input",function(o){return a._onInput(o)})("change",function(){return a._onChange()})("blur",function(){return a._onBlur()})("keydown",function(o){return a._onKeydown(o)}),t&2&&(kt("disabled",a.disabled),D("aria-haspopup",a._datepicker?"dialog":null)("aria-owns",a._ariaOwns())("min",a.min?a._dateAdapter.toIso8601(a.min):null)("max",a.max?a._dateAdapter.toIso8601(a.max):null)("data-mat-calendar",a._datepicker?a._datepicker.id:null))},inputs:{matDatepicker:"matDatepicker",min:"min",max:"max",dateFilter:[0,"matDatepickerFilter","dateFilter"]},exportAs:["matDatepickerInput"],features:[Ae([Dn,vn,{provide:ra,useExisting:i}]),ze]})}return i})(),yn=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275dir=ie({type:i,selectors:[["","matDatepickerToggleIcon",""]]})}return i})(),ht=(()=>{class i{_intl=m(J);_changeDetectorRef=m(N);_stateChanges=V.EMPTY;datepicker;tabIndex;ariaLabel;get disabled(){return this._disabled===void 0&&this.datepicker?this.datepicker.disabled:!!this._disabled}set disabled(e){this._disabled=e}_disabled;disableRipple;_customIcon;_button;constructor(){let e=m(new xt("tabindex"),{optional:!0}),t=Number(e);this.tabIndex=t||t===0?t:null}ngOnChanges(e){e.datepicker&&this._watchStateChanges()}ngOnDestroy(){this._stateChanges.unsubscribe()}ngAfterContentInit(){this._watchStateChanges()}_open(e){this.datepicker&&!this.disabled&&(this.datepicker.open(),e.stopPropagation())}_watchStateChanges(){let e=this.datepicker?this.datepicker.stateChanges:ge(),t=this.datepicker&&this.datepicker.datepickerInput?this.datepicker.datepickerInput.stateChanges:ge(),a=this.datepicker?fe(this.datepicker.openedStream,this.datepicker.closedStream):ge();this._stateChanges.unsubscribe(),this._stateChanges=fe(this._intl.changes,e,t,a).subscribe(()=>this._changeDetectorRef.markForCheck())}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=S({type:i,selectors:[["mat-datepicker-toggle"]],contentQueries:function(t,a,n){if(t&1&&Ot(n,yn,5),t&2){let o;T(o=F())&&(a._customIcon=o.first)}},viewQuery:function(t,a){if(t&1&&R(on,5),t&2){let n;T(n=F())&&(a._button=n.first)}},hostAttrs:[1,"mat-datepicker-toggle"],hostVars:8,hostBindings:function(t,a){t&1&&_("click",function(o){return a._open(o)}),t&2&&(D("tabindex",null)("data-mat-calendar",a.datepicker?a.datepicker.id:null),Y("mat-datepicker-toggle-active",a.datepicker&&a.datepicker.opened)("mat-accent",a.datepicker&&a.datepicker.color==="accent")("mat-warn",a.datepicker&&a.datepicker.color==="warn"))},inputs:{datepicker:[0,"for","datepicker"],tabIndex:"tabIndex",ariaLabel:[0,"aria-label","ariaLabel"],disabled:[2,"disabled","disabled",H],disableRipple:"disableRipple"},exportAs:["matDatepickerToggle"],features:[z],ngContentSelectors:dn,decls:4,vars:7,consts:[["button",""],["matIconButton","","type","button",3,"tabIndex","disabled","disableRipple"],["viewBox","0 0 24 24","width","24px","height","24px","fill","currentColor","focusable","false","aria-hidden","true",1,"mat-datepicker-toggle-default-icon"],["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"]],template:function(t,a){t&1&&(qe(sn),d(0,"button",1,0),w(2,ln,2,0,":svg:svg",2),je(3),s()),t&2&&(u("tabIndex",a.disabled?-1:a.tabIndex)("disabled",a.disabled)("disableRipple",a.disableRipple),D("aria-haspopup",a.datepicker?"dialog":null)("aria-label",a.ariaLabel||a._intl.openCalendarLabel)("aria-expanded",a.datepicker?a.datepicker.opened:null),l(2),A(a._customIcon?-1:2))},dependencies:[se],styles:[`.mat-datepicker-toggle{pointer-events:auto;color:var(--mat-datepicker-toggle-icon-color, var(--mat-sys-on-surface-variant))}.mat-datepicker-toggle button{color:inherit}.mat-datepicker-toggle-active{color:var(--mat-datepicker-toggle-active-state-icon-color, var(--mat-sys-primary))}@media(forced-colors: active){.mat-datepicker-toggle-default-icon{color:CanvasText}}
`],encapsulation:2,changeDetection:0})}return i})();var za=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=De({type:i});static \u0275inj=Ce({providers:[J,fn],imports:[xe,va,Kt,ua,Qt,Ya,ht,Na,pa]})}return i})();var wn=/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/,An=/^(\d?\d)[:.](\d?\d)(?:[:.](\d?\d))?\s*(AM|PM)?$/i;function pt(i,r){let e=Array(i);for(let t=0;t<i;t++)e[t]=r(t);return e}var kn=(()=>{class i extends M{useUtcForDisplay=!1;_matDateLocale=m(tt,{optional:!0});constructor(){super();let e=m(tt,{optional:!0});e!==void 0&&(this._matDateLocale=e),super.setLocale(this._matDateLocale)}getYear(e){return e.getFullYear()}getMonth(e){return e.getMonth()}getDate(e){return e.getDate()}getDayOfWeek(e){return e.getDay()}getMonthNames(e){let t=new Intl.DateTimeFormat(this.locale,{month:e,timeZone:"utc"});return pt(12,a=>this._format(t,new Date(2017,a,1)))}getDateNames(){let e=new Intl.DateTimeFormat(this.locale,{day:"numeric",timeZone:"utc"});return pt(31,t=>this._format(e,new Date(2017,0,t+1)))}getDayOfWeekNames(e){let t=new Intl.DateTimeFormat(this.locale,{weekday:e,timeZone:"utc"});return pt(7,a=>this._format(t,new Date(2017,0,a+1)))}getYearName(e){let t=new Intl.DateTimeFormat(this.locale,{year:"numeric",timeZone:"utc"});return this._format(t,e)}getFirstDayOfWeek(){if(typeof Intl<"u"&&Intl.Locale){let e=new Intl.Locale(this.locale),t=(e.getWeekInfo?.()||e.weekInfo)?.firstDay??0;return t===7?0:t}return 0}getNumDaysInMonth(e){return this.getDate(this._createDateWithOverflow(this.getYear(e),this.getMonth(e)+1,0))}clone(e){return new Date(e.getTime())}createDate(e,t,a){let n=this._createDateWithOverflow(e,t,a);return n.getMonth()!=t,n}today(){return new Date}parse(e,t){return typeof e=="number"?new Date(e):e?new Date(Date.parse(e)):null}format(e,t){if(!this.isValid(e))throw Error("NativeDateAdapter: Cannot format invalid date.");let a=new Intl.DateTimeFormat(this.locale,gt(_t({},t),{timeZone:"utc"}));return this._format(a,e)}addCalendarYears(e,t){return this.addCalendarMonths(e,t*12)}addCalendarMonths(e,t){let a=this._createDateWithOverflow(this.getYear(e),this.getMonth(e)+t,this.getDate(e));return this.getMonth(a)!=((this.getMonth(e)+t)%12+12)%12&&(a=this._createDateWithOverflow(this.getYear(a),this.getMonth(a),0)),a}addCalendarDays(e,t){return this._createDateWithOverflow(this.getYear(e),this.getMonth(e),this.getDate(e)+t)}toIso8601(e){return[e.getUTCFullYear(),this._2digit(e.getUTCMonth()+1),this._2digit(e.getUTCDate())].join("-")}deserialize(e){if(typeof e=="string"){if(!e)return null;if(wn.test(e)){let t=new Date(e);if(this.isValid(t))return t}}return super.deserialize(e)}isDateInstance(e){return e instanceof Date}isValid(e){return!isNaN(e.getTime())}invalid(){return new Date(NaN)}setTime(e,t,a,n){let o=this.clone(e);return o.setHours(t,a,n,0),o}getHours(e){return e.getHours()}getMinutes(e){return e.getMinutes()}getSeconds(e){return e.getSeconds()}parseTime(e,t){if(typeof e!="string")return e instanceof Date?new Date(e.getTime()):null;let a=e.trim();if(a.length===0)return null;let n=this._parseTimeString(a);if(n===null){let o=a.replace(/[^0-9:(AM|PM)]/gi,"").trim();o.length>0&&(n=this._parseTimeString(o))}return n||this.invalid()}addSeconds(e,t){return new Date(e.getTime()+t*1e3)}_createDateWithOverflow(e,t,a){let n=new Date;return n.setFullYear(e,t,a),n.setHours(0,0,0,0),n}_2digit(e){return("00"+e).slice(-2)}_format(e,t){let a=new Date;return a.setUTCFullYear(t.getFullYear(),t.getMonth(),t.getDate()),a.setUTCHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),e.format(a)}_parseTimeString(e){let t=e.toUpperCase().match(An);if(t){let a=parseInt(t[1]),n=parseInt(t[2]),o=t[3]==null?void 0:parseInt(t[3]),b=t[4];if(a===12?a=b==="AM"?0:a:b==="PM"&&(a+=12),ut(a,0,23)&&ut(n,0,59)&&(o==null||ut(o,0,59)))return this.setTime(this.today(),a,n,o||0)}return null}static \u0275fac=function(t){return new(t||i)};static \u0275prov=j({token:i,factory:i.\u0275fac})}return i})();function ut(i,r,e){return!isNaN(i)&&i>=r&&i<=e}var On={parse:{dateInput:null,timeInput:null},display:{dateInput:{year:"numeric",month:"numeric",day:"numeric"},timeInput:{hour:"numeric",minute:"numeric"},monthYearLabel:{year:"numeric",month:"short"},dateA11yLabel:{year:"numeric",month:"long",day:"numeric"},monthYearA11yLabel:{year:"numeric",month:"long"},timeOptionLabel:{hour:"numeric",minute:"numeric"}}};var Ha=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=De({type:i});static \u0275inj=Ce({providers:[Sn()]})}return i})();function Sn(i=On){return[{provide:M,useClass:kn},{provide:B,useValue:i}]}var xn=(i,r)=>r.label;function Pn(i,r){if(i&1){let e=I();d(0,"button",20),_("click",function(){g(e);let a=h();return f(a.clearDateFilter())}),c(1," Clear Filter "),s()}}function En(i,r){i&1&&(d(0,"div",17),v(1,"mat-spinner",21),d(2,"p"),c(3,"Loading statistics..."),s()())}function Vn(i,r){if(i&1){let e=I();d(0,"mat-card",18)(1,"mat-card-content")(2,"div",22)(3,"mat-icon",23),c(4,"error_outline"),s(),d(5,"h3"),c(6,"Failed to Load Statistics"),s(),d(7,"p"),c(8),s(),d(9,"button",24),_("click",function(){g(e);let a=h();return f(a.refreshStats())}),d(10,"mat-icon"),c(11,"refresh"),s(),c(12," Try Again "),s()()()()}if(i&2){let e=h();l(8),k(e.error())}}function In(i,r){if(i&1&&(d(0,"p",30),c(1),s()),i&2){let e=h(2);l(),y(" +",e.stats().users.inactiveLast7Days," this week ")}}function Tn(i,r){if(i&1&&(d(0,"p",30),c(1),s(),d(2,"p",30),c(3),s(),d(4,"p",30),c(5),s(),d(6,"p",30),c(7),s(),d(8,"p",30),c(9),s(),d(10,"p",30),c(11),s()),i&2){let e=h(2);l(),y("",e.stats().quizzes.averageScore," Average score"),l(2),y("",e.stats().quizzes.averageScorePercentage," Average score percentage"),l(2),y("",e.stats().quizzes.failedQuizzes," Failed quizzes"),l(2),y("",e.stats().quizzes.passRate," Pass rate"),l(2),y("",e.stats().quizzes.passedQuizzes," Passed quizzes"),l(2),y("",e.stats().quizzes.totalSessions," Total sessions")}}function Fn(i,r){i&1&&(d(0,"span",39),c(1,"Excellent performance across all quizzes"),s())}function Rn(i,r){i&1&&(d(0,"span",40),c(1,"Good performance overall"),s())}function Nn(i,r){i&1&&(d(0,"span",41),c(1,"Room for improvement"),s())}function Ln(i,r){if(i&1&&(L(),v(0,"rect",52),d(1,"text",53),c(2),s(),d(3,"text",54),c(4),s()),i&2){let e=r.$implicit;D("x",e.x)("y",e.y)("width",e.width)("height",e.height),l(),D("x",e.x+e.width/2)("y",e.y-5),l(),y(" ",e.value," "),l(),D("x",e.x+e.width/2),l(),y(" ",e.label," ")}}function Yn(i,r){if(i&1&&(d(0,"mat-card",42)(1,"mat-card-header")(2,"mat-card-title")(3,"mat-icon"),c(4,"category"),s(),c(5," Most Popular Categories "),s()(),d(6,"mat-card-content")(7,"div",45),L(),d(8,"svg",46),v(9,"line",47)(10,"line",48)(11,"line",49)(12,"line",50)(13,"line",51),K(14,Ln,5,9,null,null,xn),s()()()()),i&2){let e=h(2);l(8),D("width",e.chartWidth)("height",e.chartHeight),l(6),Q(e.getCategoryBars())}}function Bn(i,r){if(i&1){let e=I();d(0,"div",25)(1,"mat-card",26)(2,"mat-card-content")(3,"div",27)(4,"mat-icon"),c(5,"people"),s()(),d(6,"div",28)(7,"h3"),c(8,"Total Users"),s(),d(9,"p",29),c(10),s(),w(11,In,2,1,"p",30),s()()(),d(12,"mat-card",31)(13,"mat-card-content")(14,"div",27)(15,"mat-icon"),c(16,"trending_up"),s()(),d(17,"div",28)(18,"h3"),c(19,"Active Users"),s(),d(20,"p",29),c(21),s(),d(22,"p",30),c(23,"Last 7 days"),s()()()(),d(24,"mat-card",32)(25,"mat-card-content")(26,"div",27)(27,"mat-icon"),c(28,"quiz"),s()(),d(29,"div",28)(30,"h3"),c(31,"Total Quizzes"),s(),d(32,"p",29),c(33),s(),w(34,Tn,12,6),s()()(),d(35,"mat-card",33)(36,"mat-card-content")(37,"div",27)(38,"mat-icon"),c(39,"help_outline"),s()(),d(40,"div",28)(41,"h3"),c(42,"Total Questions"),s(),d(43,"p",29),c(44),s(),d(45,"p",30),c(46,"In database"),s()()()()(),d(47,"mat-card",34)(48,"mat-card-header")(49,"mat-card-title")(50,"mat-icon"),c(51,"bar_chart"),s(),c(52," Average Quiz Score "),s()(),d(53,"mat-card-content")(54,"div",35)(55,"div",36)(56,"span",37),c(57),s()(),d(58,"p",38),w(59,Fn,2,0,"span",39)(60,Rn,2,0,"span",40)(61,Nn,2,0,"span",41),s()()()(),w(62,Yn,16,2,"mat-card",42),d(63,"div",43)(64,"h2"),c(65,"Quick Actions"),s(),d(66,"div",44)(67,"button",24),_("click",function(){g(e);let a=h();return f(a.goToUsers())}),d(68,"mat-icon"),c(69,"people"),s(),c(70," Manage Users "),s(),d(71,"button",24),_("click",function(){g(e);let a=h();return f(a.goToQuestions())}),d(72,"mat-icon"),c(73,"help_outline"),s(),c(74," Manage Questions "),s(),d(75,"button",24),_("click",function(){g(e);let a=h();return f(a.goToAnalytics())}),d(76,"mat-icon"),c(77,"analytics"),s(),c(78," View Analytics "),s(),d(79,"button",24),_("click",function(){g(e);let a=h();return f(a.goToSettings())}),d(80,"mat-icon"),c(81,"settings"),s(),c(82," System Settings "),s()()()}if(i&2){let e=h();l(10),k(e.formatNumber(e.totalUsers())),l(),A(e.stats()&&e.stats().users.inactiveLast7Days?11:-1),l(10),k(e.formatNumber(e.activeUsers())),l(12),k(e.formatNumber(e.totalQuizSessions())),l(),A(e.stats()&&e.stats().quizzes?34:-1),l(10),k(e.formatNumber(e.totalQuestions())),l(13),k(e.formatPercentage(e.averageScore())),l(2),A(e.averageScore()>=80?59:e.averageScore()>=60?60:61),l(3),A(e.popularCategories().length>0?62:-1)}}function zn(i,r){i&1&&(d(0,"mat-card",19)(1,"mat-card-content")(2,"mat-icon"),c(3,"analytics"),s(),d(4,"h3"),c(5,"No Statistics Available"),s(),d(6,"p"),c(7,"Statistics will appear here once users start taking quizzes"),s()()())}var qa=class i{adminService=m(Ma);router=m(Vt);destroy$=new E;stats=this.adminService.adminStatsState;isLoading=this.adminService.isLoadingStats;error=this.adminService.statsError;dateFilter=this.adminService.dateRangeFilter;dateRangeForm=new Yt({startDate:new Ge(null),endDate:new Ge(null)});totalUsers=this.adminService.totalUsers;activeUsers=this.adminService.activeUsers;totalQuizSessions=this.adminService.totalQuizSessions;totalQuestions=this.adminService.totalQuestions;averageScore=this.adminService.averageScore;userGrowthData=ke(()=>this.stats()?.userGrowth??[]);popularCategories=ke(()=>this.stats()?.popularCategories??[]);hasDateFilter=ke(()=>{let r=this.dateFilter();return r.startDate!==null&&r.endDate!==null});chartWidth=800;chartHeight=300;ngOnInit(){this.loadStatistics(),this.setupDateRangeListener()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}loadStatistics(){this.adminService.getStatistics().pipe(te(this.destroy$)).subscribe({error:r=>{console.error("Failed to load admin statistics:",r)}})}setupDateRangeListener(){this.dateRangeForm.valueChanges.pipe(te(this.destroy$)).subscribe(r=>{r.startDate&&r.endDate&&this.applyDateFilter()})}applyDateFilter(){let r=this.dateRangeForm.value.startDate,e=this.dateRangeForm.value.endDate;if(!(!r||!e)){if(r>e){alert("Start date must be before end date");return}this.adminService.getStatisticsWithDateRange(r,e).pipe(te(this.destroy$)).subscribe()}}clearDateFilter(){this.dateRangeForm.reset(),this.adminService.clearDateFilter()}refreshStats(){this.adminService.refreshStatistics().pipe(te(this.destroy$)).subscribe()}getMaxUserCount(){let r=this.userGrowthData();return r.length===0?1:Math.max(...r.map(e=>e.newUsers),1)}calculateChartY(r,e){let t=this.getMaxUserCount(),a=this.chartHeight,n=40,o=a-2*n;return a-n-r/t*o}calculateChartX(r,e){let t=this.chartWidth,a=40,n=t-2*a;return a+r/(e-1)*n}getUserGrowthPath(){let r=this.userGrowthData();if(r.length===0)return"";let e=Math.max(...r.map(P=>P.newUsers),1),t=this.chartWidth,a=this.chartHeight,n=40,o=t-2*n,b=a-2*n;return`M ${r.map((P,ee)=>{let _e=n+ee/(r.length-1)*o,ja=a-n-P.newUsers/e*b;return`${_e},${ja}`}).join(" L ")}`}getCategoryBars(){let r=this.popularCategories();if(r.length===0)return[];let e=Math.max(...r.map(P=>P.quizCount),1),t=this.chartWidth,a=this.chartHeight,n=40,o=t-2*n,b=a-2*n,ue=o/r.length-10;return r.map((P,ee)=>{let _e=P.quizCount/e*b;return{x:n+ee*(o/r.length)+5,y:a-n-_e,width:ue,height:_e,label:P.name,value:P.quizCount}})}formatNumber(r){return r.toLocaleString()}formatPercentage(r){return`${r.toFixed(1)}%`}goToUsers(){this.router.navigate(["/admin/users"])}goToQuestions(){this.router.navigate(["/admin/questions"])}goToAnalytics(){this.router.navigate(["/admin/analytics"])}goToSettings(){this.router.navigate(["/admin/settings"])}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=S({type:i,selectors:[["app-admin-dashboard"]],decls:42,vars:12,consts:[["startPicker",""],["endPicker",""],[1,"admin-dashboard"],[1,"dashboard-header"],[1,"header-content"],[1,"subtitle"],[1,"header-actions"],["mat-icon-button","","matTooltip","Refresh statistics",3,"click","disabled"],[1,"filter-card"],[1,"date-filter",3,"formGroup"],[1,"date-inputs"],["appearance","outline"],["matInput","","formControlName","startDate",3,"matDatepicker"],["matIconSuffix","",3,"for"],["matInput","","formControlName","endDate",3,"matDatepicker"],["mat-raised-button","","color","primary",3,"click","disabled"],["mat-raised-button",""],[1,"loading-container"],[1,"error-card"],[1,"empty-state"],["mat-raised-button","",3,"click"],["diameter","60"],[1,"error-content"],["color","warn"],["mat-raised-button","","color","primary",3,"click"],[1,"stats-grid"],[1,"stat-card","users-card"],[1,"stat-icon"],[1,"stat-info"],[1,"stat-value"],[1,"stat-detail"],[1,"stat-card","active-card"],[1,"stat-card","quizzes-card"],[1,"stat-card","questions-card"],[1,"score-card"],[1,"score-display"],[1,"score-circle"],[1,"score-value"],[1,"score-description"],[1,"excellent"],[1,"good"],[1,"needs-improvement"],[1,"chart-card"],[1,"quick-actions"],[1,"actions-grid"],[1,"chart-container"],[1,"bar-chart"],["x1","40","y1","40","x2","760","y2","40","stroke","#e0e0e0","stroke-width","1"],["x1","40","y1","120","x2","760","y2","120","stroke","#e0e0e0","stroke-width","1"],["x1","40","y1","200","x2","760","y2","200","stroke","#e0e0e0","stroke-width","1"],["x1","40","y1","40","x2","40","y2","260","stroke","#333","stroke-width","2"],["x1","40","y1","260","x2","760","y2","260","stroke","#333","stroke-width","2"],["fill","#4caf50","opacity","0.8"],["text-anchor","middle","font-size","12","fill","#333"],["y","280","text-anchor","middle","font-size","11","fill","#666"]],template:function(e,t){if(e&1){let a=I();d(0,"div",2)(1,"div",3)(2,"div",4)(3,"h1")(4,"mat-icon"),c(5,"admin_panel_settings"),s(),c(6," Admin Dashboard "),s(),d(7,"p",5),c(8,"System-wide statistics and analytics"),s()(),d(9,"div",6)(10,"button",7),_("click",function(){return g(a),f(t.refreshStats())}),d(11,"mat-icon"),c(12,"refresh"),s()()()(),d(13,"mat-card",8)(14,"mat-card-content")(15,"form",9)(16,"h3")(17,"mat-icon"),c(18,"date_range"),s(),c(19," Filter by Date Range "),s(),d(20,"div",10)(21,"mat-form-field",11)(22,"mat-label"),c(23,"Start Date"),s(),v(24,"input",12)(25,"mat-datepicker-toggle",13)(26,"mat-datepicker",null,0),s(),d(28,"mat-form-field",11)(29,"mat-label"),c(30,"End Date"),s(),v(31,"input",14)(32,"mat-datepicker-toggle",13)(33,"mat-datepicker",null,1),s(),d(35,"button",15),_("click",function(){return g(a),f(t.applyDateFilter())}),c(36," Apply Filter "),s(),w(37,Pn,2,0,"button",16),s()()()(),w(38,En,4,0,"div",17),w(39,Vn,13,1,"mat-card",18),w(40,Bn,83,9),w(41,zn,8,0,"mat-card",19),s()}if(e&2){let a=We(27),n=We(34);l(10),u("disabled",t.isLoading()),l(5),u("formGroup",t.dateRangeForm),l(9),u("matDatepicker",a),l(),u("for",a),l(6),u("matDatepicker",n),l(),u("for",n),l(3),u("disabled",!t.dateRangeForm.value.startDate||!t.dateRangeForm.value.endDate),l(2),A(t.hasDateFilter()?37:-1),l(),A(t.isLoading()?38:-1),l(),A(t.error()&&!t.isLoading()?39:-1),l(),A(t.stats()&&!t.isLoading()?40:-1),l(),A(!t.stats()&&!t.isLoading()&&!t.error()?41:-1)}},dependencies:[Et,Xt,Gt,$t,Zt,Ut,xe,de,se,ca,la,ha,ma,za,Ba,Fe,ht,ia,na,ea,ta,sa,oa,Ha,Ht,Bt,Tt,Nt,Lt,Ue,zt],styles:[".admin-dashboard[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto;padding:2rem}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:2rem;font-weight:600;margin:0 0 .5rem;color:#1a237e}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:2.5rem;width:2.5rem;height:2.5rem;color:#3f51b5}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:0;color:#666;font-size:1rem}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .3s ease}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:not([disabled]) mat-icon[_ngcontent-%COMP%]{transform:rotate(180deg)}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%]{margin-bottom:2rem}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:1.5rem}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.1rem;color:#333}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#3f51b5}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] .date-inputs[_ngcontent-%COMP%]{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] .date-inputs[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{flex:1;min-width:200px}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] .date-inputs[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:56px}.admin-dashboard[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.admin-dashboard[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.1rem;color:#666}.admin-dashboard[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%]{margin-bottom:2rem;border-left:4px solid #f44336}.admin-dashboard[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;gap:1rem}.admin-dashboard[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:4rem;width:4rem;height:4rem}.admin-dashboard[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;color:#333}.admin-dashboard[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#666}.admin-dashboard[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-top:1rem}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]{transition:transform .2s ease,box-shadow .2s ease}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.5rem;padding:1.5rem}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:12px}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:2rem;width:2rem;height:2rem;color:#fff}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%]{flex:1}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:.9rem;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin:0 0 .25rem;font-size:2rem;font-weight:700;color:#333}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-detail[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:#4caf50;font-weight:500}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card.users-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2)}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card.active-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f093fb,#f5576c)}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card.quizzes-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card.questions-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#43e97b,#38f9d7)}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%]{margin-bottom:2rem}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:1.5rem 1.5rem 0}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1.3rem;color:#333}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#3f51b5}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:2rem}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%]{width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #667eea66}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%]{font-size:2.5rem;font-weight:700;color:#fff}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%] .score-description[_ngcontent-%COMP%]{margin:0;font-size:1.1rem;text-align:center}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%] .score-description[_ngcontent-%COMP%] .excellent[_ngcontent-%COMP%]{color:#4caf50;font-weight:600}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%] .score-description[_ngcontent-%COMP%] .good[_ngcontent-%COMP%]{color:#ff9800;font-weight:600}.admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%] .score-description[_ngcontent-%COMP%] .needs-improvement[_ngcontent-%COMP%]{color:#f44336;font-weight:600}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%]{margin-bottom:2rem}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:1.5rem 1.5rem 0}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1.3rem;color:#333}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#3f51b5}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:1.5rem}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{overflow-x:auto}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{display:block;margin:0 auto}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg.line-chart[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{transition:stroke-dashoffset 1s ease;stroke-dasharray:2000;stroke-dashoffset:2000;animation:_ngcontent-%COMP%_drawLine 2s ease forwards}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg.bar-chart[_ngcontent-%COMP%] rect[_ngcontent-%COMP%]{transition:opacity .3s ease}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg.bar-chart[_ngcontent-%COMP%] rect[_ngcontent-%COMP%]:hover{opacity:1!important}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] text[_ngcontent-%COMP%]{font-family:Roboto,sans-serif}@keyframes _ngcontent-%COMP%_drawLine{to{stroke-dashoffset:0}}.admin-dashboard[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%]{margin-top:3rem}.admin-dashboard[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;margin-bottom:1.5rem;color:#333}.admin-dashboard[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] .actions-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.admin-dashboard[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] .actions-grid[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:60px;font-size:1rem;display:flex;align-items:center;gap:.5rem}.admin-dashboard[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] .actions-grid[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.5rem;width:1.5rem;height:1.5rem}.admin-dashboard[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{margin-top:2rem}.admin-dashboard[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.admin-dashboard[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:5rem;width:5rem;height:5rem;color:#bdbdbd;margin-bottom:1rem}.admin-dashboard[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.5rem;color:#333}.admin-dashboard[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#666;font-size:1rem}@media (max-width: 768px){.admin-dashboard[_ngcontent-%COMP%]{padding:1rem}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:2rem;width:2rem;height:2rem}.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{align-self:flex-end}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] .date-inputs[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] .date-inputs[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] .date-inputs[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:auto}.admin-dashboard[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] .actions-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}@media (max-width: 1024px){.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media (prefers-color-scheme: dark){.admin-dashboard[_ngcontent-%COMP%] .dashboard-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#e3f2fd}.admin-dashboard[_ngcontent-%COMP%] .filter-card[_ngcontent-%COMP%] .date-filter[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .admin-dashboard[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%], .admin-dashboard[_ngcontent-%COMP%] .score-card[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%], .admin-dashboard[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#e0e0e0}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#bdbdbd}.admin-dashboard[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{color:#e0e0e0}.admin-dashboard[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#e0e0e0}}"]})};export{qa as AdminDashboardComponent};