From 45429a7f3afad5547ba1863779ff0f44d0089510 Mon Sep 17 00:00:00 2001 From: AD2025 Date: Mon, 29 Dec 2025 22:23:30 +0200 Subject: [PATCH] add changes --- chunk-2MUIW2M6.js | 4 ++++ chunk-37GOEORY.js | 2 ++ chunk-3GOV5KJM.js | 1 + chunk-3L3FXYGZ.js | 1 + chunk-3NOMFGTV.js | 1 + chunk-3QWAVQEA.js | 1 + chunk-3RK6DDJD.js | 0 chunk-4E7NWUSO.js | 1 + chunk-52JZ5I3Y.js | 1 + chunk-5DTRLD2T.js | 1 + chunk-5WBSN65X.js | 2 ++ chunk-5WV5P2FL.js | 2 ++ chunk-66PBOFKL.js | 1 + chunk-6NRCTHHS.js | 4 ++++ chunk-6XFHITFY.js | 1 + chunk-7XDVX5KB.js | 1 + chunk-7YTCZJV6.js | 2 ++ chunk-B4CGVF35.js | 1 + chunk-BBCMZBMA.js | 1 + chunk-BGIV2LA3.js | 1 + chunk-CAFW6QNR.js | 3 +++ chunk-COFYR5MX.js | 11 +++++++++++ chunk-CTXOKINH.js | 2 ++ chunk-DBIJIYNZ.js | 2 ++ chunk-DS2WJYIM.js | 1 + chunk-E645CZY6.js | 4 ++++ chunk-EGL4ZKWQ.js | 2 ++ chunk-FETAVRDH.js | 2 ++ chunk-GBWD7IPI.js | 9 +++++++++ chunk-GIRDLTGV.js | 2 ++ chunk-GMUETU5N.js | 1 + chunk-GPI43RSU.js | 1 + chunk-GWD5A44H.js | 1 + chunk-GYQ7OXTP.js | 1 + chunk-HMKN2VB2.js | 1 + chunk-IRVPX2IZ.js | 1 + chunk-J3LCK77D.js | 1 + chunk-L5RFXRXA.js | 1 + chunk-LA37G65K.js | 1 + chunk-LJBPTG23.js | 1 + chunk-LLJSP5R2.js | 2 ++ chunk-LQYVBPUL.js | 2 ++ chunk-M5XZ5N2D.js | 1 + chunk-ML2D4U27.js | 1 + chunk-MS4AQ6UA.js | 0 chunk-N6VRXIQE.js | 2 ++ chunk-N73CTY2C.js | 2 ++ chunk-NIBVQDYD.js | 2 ++ chunk-NYYADJNO.js | 2 ++ chunk-OI7I342H.js | 1 + chunk-OSQNZFMB.js | 1 + chunk-P3ICZX4Q.js | 2 ++ chunk-PCQ5ZI2S.js | 1 + chunk-R3PUHZUP.js | 2 ++ chunk-RC3JXGN6.js | 1 + chunk-RDQGS2XZ.js | 1 + chunk-RMZSWKDH.js | 1 + chunk-RQ4AYGDA.js | 1 + chunk-SDNKCAUU.js | 1 + chunk-T6TXUSUP.js | 1 + chunk-TAS7XC6E.js | 5 +++++ chunk-TDFJQLRV.js | 1 + chunk-TPLZKWZ7.js | 1 + chunk-UI3TKFHU.js | 1 + chunk-UIJLH2NR.js | 1 + chunk-UKR5XEO6.js | 1 + chunk-VX6WCCL3.js | 2 ++ chunk-WHX74LXP.js | 16 ++++++++++++++++ chunk-WI5CBSGS.js | 1 + chunk-YTKR22CH.js | 2 ++ chunk-YWCH6MM5.js | 3 +++ favicon.ico | Bin 0 -> 15086 bytes index.html | 15 +++++++++++++++ main-6K3FPUHG.js | 3 +++ styles-NQP6VIMQ.css | 1 + 75 files changed, 157 insertions(+) create mode 100644 chunk-2MUIW2M6.js create mode 100644 chunk-37GOEORY.js create mode 100644 chunk-3GOV5KJM.js create mode 100644 chunk-3L3FXYGZ.js create mode 100644 chunk-3NOMFGTV.js create mode 100644 chunk-3QWAVQEA.js create mode 100644 chunk-3RK6DDJD.js create mode 100644 chunk-4E7NWUSO.js create mode 100644 chunk-52JZ5I3Y.js create mode 100644 chunk-5DTRLD2T.js create mode 100644 chunk-5WBSN65X.js create mode 100644 chunk-5WV5P2FL.js create mode 100644 chunk-66PBOFKL.js create mode 100644 chunk-6NRCTHHS.js create mode 100644 chunk-6XFHITFY.js create mode 100644 chunk-7XDVX5KB.js create mode 100644 chunk-7YTCZJV6.js create mode 100644 chunk-B4CGVF35.js create mode 100644 chunk-BBCMZBMA.js create mode 100644 chunk-BGIV2LA3.js create mode 100644 chunk-CAFW6QNR.js create mode 100644 chunk-COFYR5MX.js create mode 100644 chunk-CTXOKINH.js create mode 100644 chunk-DBIJIYNZ.js create mode 100644 chunk-DS2WJYIM.js create mode 100644 chunk-E645CZY6.js create mode 100644 chunk-EGL4ZKWQ.js create mode 100644 chunk-FETAVRDH.js create mode 100644 chunk-GBWD7IPI.js create mode 100644 chunk-GIRDLTGV.js create mode 100644 chunk-GMUETU5N.js create mode 100644 chunk-GPI43RSU.js create mode 100644 chunk-GWD5A44H.js create mode 100644 chunk-GYQ7OXTP.js create mode 100644 chunk-HMKN2VB2.js create mode 100644 chunk-IRVPX2IZ.js create mode 100644 chunk-J3LCK77D.js create mode 100644 chunk-L5RFXRXA.js create mode 100644 chunk-LA37G65K.js create mode 100644 chunk-LJBPTG23.js create mode 100644 chunk-LLJSP5R2.js create mode 100644 chunk-LQYVBPUL.js create mode 100644 chunk-M5XZ5N2D.js create mode 100644 chunk-ML2D4U27.js create mode 100644 chunk-MS4AQ6UA.js create mode 100644 chunk-N6VRXIQE.js create mode 100644 chunk-N73CTY2C.js create mode 100644 chunk-NIBVQDYD.js create mode 100644 chunk-NYYADJNO.js create mode 100644 chunk-OI7I342H.js create mode 100644 chunk-OSQNZFMB.js create mode 100644 chunk-P3ICZX4Q.js create mode 100644 chunk-PCQ5ZI2S.js create mode 100644 chunk-R3PUHZUP.js create mode 100644 chunk-RC3JXGN6.js create mode 100644 chunk-RDQGS2XZ.js create mode 100644 chunk-RMZSWKDH.js create mode 100644 chunk-RQ4AYGDA.js create mode 100644 chunk-SDNKCAUU.js create mode 100644 chunk-T6TXUSUP.js create mode 100644 chunk-TAS7XC6E.js create mode 100644 chunk-TDFJQLRV.js create mode 100644 chunk-TPLZKWZ7.js create mode 100644 chunk-UI3TKFHU.js create mode 100644 chunk-UIJLH2NR.js create mode 100644 chunk-UKR5XEO6.js create mode 100644 chunk-VX6WCCL3.js create mode 100644 chunk-WHX74LXP.js create mode 100644 chunk-WI5CBSGS.js create mode 100644 chunk-YTKR22CH.js create mode 100644 chunk-YWCH6MM5.js create mode 100644 favicon.ico create mode 100644 index.html create mode 100644 main-6K3FPUHG.js create mode 100644 styles-NQP6VIMQ.css diff --git a/chunk-2MUIW2M6.js b/chunk-2MUIW2M6.js new file mode 100644 index 0000000..f6ab032 --- /dev/null +++ b/chunk-2MUIW2M6.js @@ -0,0 +1,4 @@ +var Zp=Object.defineProperty,Yp=Object.defineProperties;var Kp=Object.getOwnPropertyDescriptors;var ur=Object.getOwnPropertySymbols;var jc=Object.prototype.hasOwnProperty,Vc=Object.prototype.propertyIsEnumerable;var Fc=(e,t,n)=>t in e?Zp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,W=(e,t)=>{for(var n in t||={})jc.call(t,n)&&Fc(e,n,t[n]);if(ur)for(var n of ur(t))Vc.call(t,n)&&Fc(e,n,t[n]);return e},q=(e,t)=>Yp(e,Kp(t));var yD=(e,t)=>{var n={};for(var r in e)jc.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&ur)for(var r of ur(e))t.indexOf(r)<0&&Vc.call(e,r)&&(n[r]=e[r]);return n};function w(e){return typeof e=="function"}function Pt(e){let n=e(r=>{Error.call(r),r.stack=new Error().stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var dr=Pt(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription: +${n.map((r,o)=>`${o+1}) ${r.toString()}`).join(` + `)}`:"",this.name="UnsubscriptionError",this.errors=n});function st(e,t){if(e){let n=e.indexOf(t);0<=n&&e.splice(n,1)}}var F=class e{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;let{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(let i of n)i.remove(this);else n.remove(this);let{initialTeardown:r}=this;if(w(r))try{r()}catch(i){t=i instanceof dr?i.errors:[i]}let{_finalizers:o}=this;if(o){this._finalizers=null;for(let i of o)try{Hc(i)}catch(s){t=t??[],s instanceof dr?t=[...t,...s.errors]:t.push(s)}}if(t)throw new dr(t)}}add(t){var n;if(t&&t!==this)if(this.closed)Hc(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(t)}}_hasParent(t){let{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){let{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){let{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&st(n,t)}remove(t){let{_finalizers:n}=this;n&&st(n,t),t instanceof e&&t._removeParent(this)}};F.EMPTY=(()=>{let e=new F;return e.closed=!0,e})();var hi=F.EMPTY;function fr(e){return e instanceof F||e&&"closed"in e&&w(e.remove)&&w(e.add)&&w(e.unsubscribe)}function Hc(e){w(e)?e():e.unsubscribe()}var de={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var Lt={setTimeout(e,t,...n){let{delegate:r}=Lt;return r?.setTimeout?r.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){let{delegate:t}=Lt;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function pr(e){Lt.setTimeout(()=>{let{onUnhandledError:t}=de;if(t)t(e);else throw e})}function gn(){}var Bc=gi("C",void 0,void 0);function $c(e){return gi("E",void 0,e)}function Uc(e){return gi("N",e,void 0)}function gi(e,t,n){return{kind:e,value:t,error:n}}var at=null;function Ft(e){if(de.useDeprecatedSynchronousErrorHandling){let t=!at;if(t&&(at={errorThrown:!1,error:null}),e(),t){let{errorThrown:n,error:r}=at;if(at=null,n)throw r}}else e()}function Wc(e){de.useDeprecatedSynchronousErrorHandling&&at&&(at.errorThrown=!0,at.error=e)}var ct=class extends F{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,fr(t)&&t.add(this)):this.destination=eh}static create(t,n,r){return new Pe(t,n,r)}next(t){this.isStopped?yi(Uc(t),this):this._next(t)}error(t){this.isStopped?yi($c(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?yi(Bc,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},Jp=Function.prototype.bind;function mi(e,t){return Jp.call(e,t)}var vi=class{constructor(t){this.partialObserver=t}next(t){let{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(r){hr(r)}}error(t){let{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(r){hr(r)}else hr(t)}complete(){let{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){hr(n)}}},Pe=class extends ct{constructor(t,n,r){super();let o;if(w(t)||!t)o={next:t??void 0,error:n??void 0,complete:r??void 0};else{let i;this&&de.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),o={next:t.next&&mi(t.next,i),error:t.error&&mi(t.error,i),complete:t.complete&&mi(t.complete,i)}):o=t}this.destination=new vi(o)}};function hr(e){de.useDeprecatedSynchronousErrorHandling?Wc(e):pr(e)}function Xp(e){throw e}function yi(e,t){let{onStoppedNotification:n}=de;n&&Lt.setTimeout(()=>n(e,t))}var eh={closed:!0,next:gn,error:Xp,complete:gn};var jt=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Z(e){return e}function th(...e){return Ii(e)}function Ii(e){return e.length===0?Z:e.length===1?e[0]:function(n){return e.reduce((r,o)=>o(r),n)}}var M=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){let r=new e;return r.source=this,r.operator=n,r}subscribe(n,r,o){let i=rh(n)?n:new Pe(n,r,o);return Ft(()=>{let{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(n){try{return this._subscribe(n)}catch(r){n.error(r)}}forEach(n,r){return r=qc(r),new r((o,i)=>{let s=new Pe({next:a=>{try{n(a)}catch(c){i(c),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(n){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(n)}[jt](){return this}pipe(...n){return Ii(n)(this)}toPromise(n){return n=qc(n),new n((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=t=>new e(t),e})();function qc(e){var t;return(t=e??de.Promise)!==null&&t!==void 0?t:Promise}function nh(e){return e&&w(e.next)&&w(e.error)&&w(e.complete)}function rh(e){return e&&e instanceof ct||nh(e)&&fr(e)}var Gc=Pt(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var ie=(()=>{class e extends M{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){let r=new gr(this,this);return r.operator=n,r}_throwIfClosed(){if(this.closed)throw new Gc}next(n){Ft(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(n)}})}error(n){Ft(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;let{observers:r}=this;for(;r.length;)r.shift().error(n)}})}complete(){Ft(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){let{hasError:r,isStopped:o,observers:i}=this;return r||o?hi:(this.currentObservers=null,i.push(n),new F(()=>{this.currentObservers=null,st(i,n)}))}_checkFinalizedStatuses(n){let{hasError:r,thrownError:o,isStopped:i}=this;r?n.error(o):i&&n.complete()}asObservable(){let n=new M;return n.source=this,n}}return e.create=(t,n)=>new gr(t,n),e})(),gr=class extends ie{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.next)===null||r===void 0||r.call(n,t)}error(t){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.error)===null||r===void 0||r.call(n,t)}complete(){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||n===void 0||n.call(t)}_subscribe(t){var n,r;return(r=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&r!==void 0?r:hi}};var mr=class extends F{constructor(t,n){super()}schedule(t,n=0){return this}};var mn={setInterval(e,t,...n){let{delegate:r}=mn;return r?.setInterval?r.setInterval(e,t,...n):setInterval(e,t,...n)},clearInterval(e){let{delegate:t}=mn;return(t?.clearInterval||clearInterval)(e)},delegate:void 0};var yr=class extends mr{constructor(t,n){super(t,n),this.scheduler=t,this.work=n,this.pending=!1}schedule(t,n=0){var r;if(this.closed)return this;this.state=t;let o=this.id,i=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(i,o,n)),this.pending=!0,this.delay=n,this.id=(r=this.id)!==null&&r!==void 0?r:this.requestAsyncId(i,this.id,n),this}requestAsyncId(t,n,r=0){return mn.setInterval(t.flush.bind(t,this),r)}recycleAsyncId(t,n,r=0){if(r!=null&&this.delay===r&&this.pending===!1)return n;n!=null&&mn.clearInterval(n)}execute(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;let r=this._execute(t,n);if(r)return r;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,n){let r=!1,o;try{this.work(t)}catch(i){r=!0,o=i||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),o}unsubscribe(){if(!this.closed){let{id:t,scheduler:n}=this,{actions:r}=n;this.work=this.state=this.scheduler=null,this.pending=!1,st(r,this),t!=null&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,super.unsubscribe()}}};var yn={now(){return(yn.delegate||Date).now()},delegate:void 0};var Vt=class e{constructor(t,n=e.now){this.schedulerActionCtor=t,this.now=n}schedule(t,n=0,r){return new this.schedulerActionCtor(this,t).schedule(r,n)}};Vt.now=yn.now;var vr=class extends Vt{constructor(t,n=Vt.now){super(t,n),this.actions=[],this._active=!1}flush(t){let{actions:n}=this;if(this._active){n.push(t);return}let r;this._active=!0;do if(r=t.execute(t.state,t.delay))break;while(t=n.shift());if(this._active=!1,r){for(;t=n.shift();)t.unsubscribe();throw r}}};var lt=new vr(yr),zc=lt;function Ir(e){return e&&w(e.schedule)}function Qc(e){return e instanceof Date&&!isNaN(e)}function vn(e=0,t,n=zc){let r=-1;return t!=null&&(Ir(t)?n=t:r=t),new M(o=>{let i=Qc(e)?+e-n.now():e;i<0&&(i=0);let s=0;return n.schedule(function(){o.closed||(o.next(s++),0<=r?this.schedule(void 0,r):o.complete())},i)})}function oh(e=0,t=lt){return e<0&&(e=0),vn(e,e,t)}function Ei(e){return w(e?.lift)}function C(e){return t=>{if(Ei(t))return t.lift(function(n){try{return e(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function D(e,t,n,r,o){return new Di(e,t,n,r,o)}var Di=class extends ct{constructor(t,n,r,o,i,s){super(t),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=n?function(a){try{n(a)}catch(c){t.error(c)}}:super._next,this._error=o?function(a){try{o(a)}catch(c){t.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:n}=this;super.unsubscribe(),!n&&((t=this.onFinalize)===null||t===void 0||t.call(this))}}};function ih(e,t=lt){return C((n,r)=>{let o=null,i=null,s=null,a=()=>{if(o){o.unsubscribe(),o=null;let l=i;i=null,r.next(l)}};function c(){let l=s+e,u=t.now();if(u{i=l,s=t.now(),o||(o=t.schedule(c,e),r.add(o))},()=>{a(),r.complete()},void 0,()=>{i=o=null}))})}function sh(e,t=Z){return e=e??ah,C((n,r)=>{let o,i=!0;n.subscribe(D(r,s=>{let a=t(s);(i||!e(o,a))&&(i=!1,o=a,r.next(s))}))})}function ah(e,t){return e===t}function ch(e){return C((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}function Yc(e,t,n,r){function o(i){return i instanceof n?i:new n(function(s){s(i)})}return new(n||(n=Promise))(function(i,s){function a(u){try{l(r.next(u))}catch(d){s(d)}}function c(u){try{l(r.throw(u))}catch(d){s(d)}}function l(u){u.done?i(u.value):o(u.value).then(a,c)}l((r=r.apply(e,t||[])).next())})}function Zc(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function ut(e){return this instanceof ut?(this.v=e,this):new ut(e)}function Kc(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,i=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(f){return function(h){return Promise.resolve(h).then(f,d)}}function a(f,h){r[f]&&(o[f]=function(v){return new Promise(function(N,T){i.push([f,v,N,T])>1||c(f,v)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(v){p(i[0][3],v)}}function l(f){f.value instanceof ut?Promise.resolve(f.value.v).then(u,d):p(i[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,h){f(h),i.shift(),i.length&&c(i[0][0],i[0][1])}}function Jc(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof Zc=="function"?Zc(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),o(a,c,s.done,s.value)})}}function o(i,s,a,c){Promise.resolve(c).then(function(l){i({value:l,done:a})},s)}}var Er=e=>e&&typeof e.length=="number"&&typeof e!="function";function Dr(e){return w(e?.then)}function Cr(e){return w(e[jt])}function wr(e){return Symbol.asyncIterator&&w(e?.[Symbol.asyncIterator])}function Tr(e){return new TypeError(`You provided ${e!==null&&typeof e=="object"?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function lh(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var br=lh();function _r(e){return w(e?.[br])}function Mr(e){return Kc(this,arguments,function*(){let n=e.getReader();try{for(;;){let{value:r,done:o}=yield ut(n.read());if(o)return yield ut(void 0);yield yield ut(r)}}finally{n.releaseLock()}})}function Nr(e){return w(e?.getReader)}function O(e){if(e instanceof M)return e;if(e!=null){if(Cr(e))return uh(e);if(Er(e))return dh(e);if(Dr(e))return fh(e);if(wr(e))return Xc(e);if(_r(e))return ph(e);if(Nr(e))return hh(e)}throw Tr(e)}function uh(e){return new M(t=>{let n=e[jt]();if(w(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function dh(e){return new M(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,pr)})}function ph(e){return new M(t=>{for(let n of e)if(t.next(n),t.closed)return;t.complete()})}function Xc(e){return new M(t=>{gh(e,t).catch(n=>t.error(n))})}function hh(e){return Xc(Mr(e))}function gh(e,t){var n,r,o,i;return Yc(this,void 0,void 0,function*(){try{for(n=Jc(e);r=yield n.next(),!r.done;){let s=r.value;if(t.next(s),t.closed)return}}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=n.return)&&(yield i.call(n))}finally{if(o)throw o.error}}t.complete()})}function el(e){return C((t,n)=>{O(e).subscribe(D(n,()=>n.complete(),gn)),!n.closed&&t.subscribe(n)})}function Ci(){return C((e,t)=>{let n=null;e._refCount++;let r=D(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount){n=null;return}let o=e._connection,i=n;n=null,o&&(!i||o===i)&&o.unsubscribe(),t.unsubscribe()});e.subscribe(r),r.closed||(n=e.connect())})}var wi=class extends M{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,Ei(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){let t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new F;let n=this.getSubject();t.add(this.source.subscribe(D(n,void 0,()=>{this._teardown(),n.complete()},r=>{this._teardown(),n.error(r)},()=>this._teardown()))),t.closed&&(this._connection=null,t=F.EMPTY)}return t}refCount(){return Ci()(this)}};var In=class extends ie{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){let n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){let{hasError:t,thrownError:n,_value:r}=this;if(t)throw n;return this._throwIfClosed(),r}next(t){super.next(this._value=t)}};var En=class extends ie{constructor(t=1/0,n=1/0,r=yn){super(),this._bufferSize=t,this._windowTime=n,this._timestampProvider=r,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=n===1/0,this._bufferSize=Math.max(1,t),this._windowTime=Math.max(1,n)}next(t){let{isStopped:n,_buffer:r,_infiniteTimeWindow:o,_timestampProvider:i,_windowTime:s}=this;n||(r.push(t),!o&&r.push(i.now()+s)),this._trimBuffer(),super.next(t)}_subscribe(t){this._throwIfClosed(),this._trimBuffer();let n=this._innerSubscribe(t),{_infiniteTimeWindow:r,_buffer:o}=this,i=o.slice();for(let s=0;se.complete());function Ti(e){return e[e.length-1]}function xr(e){return w(Ti(e))?e.pop():void 0}function Ce(e){return Ir(Ti(e))?e.pop():void 0}function tl(e,t){return typeof Ti(e)=="number"?e.pop():t}function ee(e,t,n,r=0,o=!1){let i=t.schedule(function(){n(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function Sr(e,t=0){return C((n,r)=>{n.subscribe(D(r,o=>ee(r,e,()=>r.next(o),t),()=>ee(r,e,()=>r.complete(),t),o=>ee(r,e,()=>r.error(o),t)))})}function Ar(e,t=0){return C((n,r)=>{r.add(e.schedule(()=>n.subscribe(r),t))})}function nl(e,t){return O(e).pipe(Ar(t),Sr(t))}function rl(e,t){return O(e).pipe(Ar(t),Sr(t))}function ol(e,t){return new M(n=>{let r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}function il(e,t){return new M(n=>{let r;return ee(n,t,()=>{r=e[br](),ee(n,t,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){n.error(s);return}i?n.complete():n.next(o)},0,!0)}),()=>w(r?.return)&&r.return()})}function Rr(e,t){if(!e)throw new Error("Iterable cannot be null");return new M(n=>{ee(n,t,()=>{let r=e[Symbol.asyncIterator]();ee(n,t,()=>{r.next().then(o=>{o.done?n.complete():n.next(o.value)})},0,!0)})})}function sl(e,t){return Rr(Mr(e),t)}function al(e,t){if(e!=null){if(Cr(e))return nl(e,t);if(Er(e))return ol(e,t);if(Dr(e))return rl(e,t);if(wr(e))return Rr(e,t);if(_r(e))return il(e,t);if(Nr(e))return sl(e,t)}throw Tr(e)}function we(e,t){return t?al(e,t):O(e)}function mh(...e){let t=Ce(e);return we(e,t)}function yh(e,t){let n=w(e)?e:()=>e,r=o=>o.error(n());return new M(t?o=>t.schedule(r,0,o):r)}function vh(e){return!!e&&(e instanceof M||w(e.lift)&&w(e.subscribe))}var ft=Pt(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function We(e,t){return C((n,r)=>{let o=0;n.subscribe(D(r,i=>{r.next(e.call(t,i,o++))}))})}var{isArray:Ih}=Array;function Eh(e,t){return Ih(t)?e(...t):e(t)}function Or(e){return We(t=>Eh(e,t))}var{isArray:Dh}=Array,{getPrototypeOf:Ch,prototype:wh,keys:Th}=Object;function kr(e){if(e.length===1){let t=e[0];if(Dh(t))return{args:t,keys:null};if(bh(t)){let n=Th(t);return{args:n.map(r=>t[r]),keys:n}}}return{args:e,keys:null}}function bh(e){return e&&typeof e=="object"&&Ch(e)===wh}function Pr(e,t){return e.reduce((n,r,o)=>(n[r]=t[o],n),{})}function _h(...e){let t=Ce(e),n=xr(e),{args:r,keys:o}=kr(e);if(r.length===0)return we([],t);let i=new M(Mh(r,t,o?s=>Pr(o,s):Z));return n?i.pipe(Or(n)):i}function Mh(e,t,n=Z){return r=>{cl(t,()=>{let{length:o}=e,i=new Array(o),s=o,a=o;for(let c=0;c{let l=we(e[c],t),u=!1;l.subscribe(D(r,d=>{i[c]=d,u||(u=!0,a--),a||r.next(n(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}function cl(e,t,n){e?ee(n,e,t):t()}function ll(e,t,n,r,o,i,s,a){let c=[],l=0,u=0,d=!1,p=()=>{d&&!c.length&&!l&&t.complete()},f=v=>l{i&&t.next(v),l++;let N=!1;O(n(v,u++)).subscribe(D(t,T=>{o?.(T),i?f(T):t.next(T)},()=>{N=!0},void 0,()=>{if(N)try{for(l--;c.length&&lh(T)):h(T)}p()}catch(T){t.error(T)}}))};return e.subscribe(D(t,f,()=>{d=!0,p()})),()=>{a?.()}}function pt(e,t,n=1/0){return w(t)?pt((r,o)=>We((i,s)=>t(r,i,o,s))(O(e(r,o))),n):(typeof t=="number"&&(n=t),C((r,o)=>ll(r,o,e,n)))}function Dn(e=1/0){return pt(Z,e)}function ul(){return Dn(1)}function Lr(...e){return ul()(we(e,Ce(e)))}function Nh(e){return new M(t=>{O(e()).subscribe(t)})}function xh(...e){let t=xr(e),{args:n,keys:r}=kr(e),o=new M(i=>{let{length:s}=n;if(!s){i.complete();return}let a=new Array(s),c=s,l=s;for(let u=0;u{d||(d=!0,l--),a[u]=p},()=>c--,void 0,()=>{(!c||!d)&&(l||i.next(r?Pr(r,a):a),i.complete())}))}});return t?o.pipe(Or(t)):o}function Sh(...e){let t=Ce(e),n=tl(e,1/0),r=e;return r.length?r.length===1?O(r[0]):Dn(n)(we(r,t)):dt}function qe(e,t){return C((n,r)=>{let o=0;n.subscribe(D(r,i=>e.call(t,i,o++)&&r.next(i)))})}function dl(e){return C((t,n)=>{let r=!1,o=null,i=null,s=!1,a=()=>{if(i?.unsubscribe(),i=null,r){r=!1;let l=o;o=null,n.next(l)}s&&n.complete()},c=()=>{i=null,s&&n.complete()};t.subscribe(D(n,l=>{r=!0,o=l,i||O(e(l)).subscribe(i=D(n,a,c))},()=>{s=!0,(!r||!i||i.closed)&&n.complete()}))})}function Ah(e,t=lt){return dl(()=>vn(e,t))}function bi(e){return C((t,n)=>{let r=null,o=!1,i;r=t.subscribe(D(n,void 0,void 0,s=>{i=O(e(s,bi(e)(t))),r?(r.unsubscribe(),r=null,i.subscribe(n)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(n))})}function fl(e,t,n,r,o){return(i,s)=>{let a=n,c=t,l=0;i.subscribe(D(s,u=>{let d=l++;c=a?e(c,u,d):(a=!0,u),r&&s.next(c)},o&&(()=>{a&&s.next(c),s.complete()})))}}function Rh(e,t){return w(t)?pt(e,t,1):pt(e,1)}function Cn(e){return C((t,n)=>{let r=!1;t.subscribe(D(n,o=>{r=!0,n.next(o)},()=>{r||n.next(e),n.complete()}))})}function _i(e){return e<=0?()=>dt:C((t,n)=>{let r=0;t.subscribe(D(n,o=>{++r<=e&&(n.next(o),e<=r&&n.complete())}))})}function Fr(e=Oh){return C((t,n)=>{let r=!1;t.subscribe(D(n,o=>{r=!0,n.next(o)},()=>r?n.complete():n.error(e())))})}function Oh(){return new ft}function kh(e,t){let n=arguments.length>=2;return r=>r.pipe(e?qe((o,i)=>e(o,i,r)):Z,_i(1),n?Cn(t):Fr(()=>new ft))}function Mi(e){return e<=0?()=>dt:C((t,n)=>{let r=[];t.subscribe(D(n,o=>{r.push(o),e{for(let o of r)n.next(o);n.complete()},void 0,()=>{r=null}))})}function Ph(e,t){let n=arguments.length>=2;return r=>r.pipe(e?qe((o,i)=>e(o,i,r)):Z,Mi(1),n?Cn(t):Fr(()=>new ft))}function Lh(){return C((e,t)=>{let n,r=!1;e.subscribe(D(t,o=>{let i=n;n=o,r&&t.next([i,o]),r=!0}))})}function Fh(e,t){return C(fl(e,t,arguments.length>=2,!0))}function xi(e={}){let{connector:t=()=>new ie,resetOnError:n=!0,resetOnComplete:r=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s,a,c,l=0,u=!1,d=!1,p=()=>{a?.unsubscribe(),a=void 0},f=()=>{p(),s=c=void 0,u=d=!1},h=()=>{let v=s;f(),v?.unsubscribe()};return C((v,N)=>{l++,!d&&!u&&p();let T=c=c??t();N.add(()=>{l--,l===0&&!d&&!u&&(a=Ni(h,o))}),T.subscribe(N),!s&&l>0&&(s=new Pe({next:De=>T.next(De),error:De=>{d=!0,p(),a=Ni(f,n,De),T.error(De)},complete:()=>{u=!0,p(),a=Ni(f,r),T.complete()}}),O(v).subscribe(s))})(i)}}function Ni(e,t,...n){if(t===!0){e();return}if(t===!1)return;let r=new Pe({next:()=>{r.unsubscribe(),e()}});return O(t(...n)).subscribe(r)}function jh(e,t,n){let r,o=!1;return e&&typeof e=="object"?{bufferSize:r=1/0,windowTime:t=1/0,refCount:o=!1,scheduler:n}=e:r=e??1/0,xi({connector:()=>new En(r,t,n),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:o})}function Vh(e){return qe((t,n)=>e<=n)}function Hh(...e){let t=Ce(e);return C((n,r)=>{(t?Lr(e,n,t):Lr(e,n)).subscribe(r)})}function Bh(e,t){return C((n,r)=>{let o=null,i=0,s=!1,a=()=>s&&!o&&r.complete();n.subscribe(D(r,c=>{o?.unsubscribe();let l=0,u=i++;O(e(c,u)).subscribe(o=D(r,d=>r.next(t?t(c,d,u,l++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function $h(e,t=!1){return C((n,r)=>{let o=0;n.subscribe(D(r,i=>{let s=e(i,o++);(s||t)&&r.next(i),!s&&r.complete()}))})}function pl(e,t,n){let r=w(e)||t||n?{next:e,error:t,complete:n}:e;return r?C((o,i)=>{var s;(s=r.subscribe)===null||s===void 0||s.call(r);let a=!0;o.subscribe(D(i,c=>{var l;(l=r.next)===null||l===void 0||l.call(r,c),i.next(c)},()=>{var c;a=!1,(c=r.complete)===null||c===void 0||c.call(r),i.complete()},c=>{var l;a=!1,(l=r.error)===null||l===void 0||l.call(r,c),i.error(c)},()=>{var c,l;a&&((c=r.unsubscribe)===null||c===void 0||c.call(r)),(l=r.finalize)===null||l===void 0||l.call(r)}))}):Z}var Si;function jr(){return Si}function Te(e){let t=Si;return Si=e,t}var hl=Symbol("NotFound");function Ht(e){return e===hl||e?.name==="\u0275NotFound"}var z=null,Vr=!1,Ai=1,Uh=null,H=Symbol("SIGNAL");function I(e){let t=z;return z=e,t}function Ur(){return z}var ht={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function gt(e){if(Vr)throw new Error("");if(z===null)return;z.consumerOnSignalRead(e);let t=z.producersTail;if(t!==void 0&&t.producer===e)return;let n,r=z.recomputing;if(r&&(n=t!==void 0?t.nextProducer:z.producers,n!==void 0&&n.producer===e)){z.producersTail=n,n.lastReadVersion=e.version;return}let o=e.consumersTail;if(o!==void 0&&o.consumer===z&&(!r||qh(o,z)))return;let i=Bt(z),s={producer:e,consumer:z,nextProducer:n,prevConsumer:o,lastReadVersion:e.version,nextConsumer:void 0};z.producersTail=s,t!==void 0?t.nextProducer=s:z.producers=s,i&&vl(e,s)}function gl(){Ai++}function Wr(e){if(!(Bt(e)&&!e.dirty)&&!(!e.dirty&&e.lastCleanEpoch===Ai)){if(!e.producerMustRecompute(e)&&!yt(e)){$r(e);return}e.producerRecomputeValue(e),$r(e)}}function Ri(e){if(e.consumers===void 0)return;let t=Vr;Vr=!0;try{for(let n=e.consumers;n!==void 0;n=n.nextConsumer){let r=n.consumer;r.dirty||Wh(r)}}finally{Vr=t}}function Oi(){return z?.consumerAllowSignalWrites!==!1}function Wh(e){e.dirty=!0,Ri(e),e.consumerMarkedDirty?.(e)}function $r(e){e.dirty=!1,e.lastCleanEpoch=Ai}function Ge(e){return e&&ml(e),I(e)}function ml(e){e.producersTail=void 0,e.recomputing=!0}function mt(e,t){I(t),e&&yl(e)}function yl(e){e.recomputing=!1;let t=e.producersTail,n=t!==void 0?t.nextProducer:e.producers;if(n!==void 0){if(Bt(e))do n=ki(n);while(n!==void 0);t!==void 0?t.nextProducer=void 0:e.producers=void 0}}function yt(e){for(let t=e.producers;t!==void 0;t=t.nextProducer){let n=t.producer,r=t.lastReadVersion;if(r!==n.version||(Wr(n),r!==n.version))return!0}return!1}function ze(e){if(Bt(e)){let t=e.producers;for(;t!==void 0;)t=ki(t)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function vl(e,t){let n=e.consumersTail,r=Bt(e);if(n!==void 0?(t.nextConsumer=n.nextConsumer,n.nextConsumer=t):(t.nextConsumer=void 0,e.consumers=t),t.prevConsumer=n,e.consumersTail=t,!r)for(let o=e.producers;o!==void 0;o=o.nextProducer)vl(o.producer,o)}function ki(e){let t=e.producer,n=e.nextProducer,r=e.nextConsumer,o=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r!==void 0?r.prevConsumer=o:t.consumersTail=o,o!==void 0)o.nextConsumer=r;else if(t.consumers=r,!Bt(t)){let i=t.producers;for(;i!==void 0;)i=ki(i)}return n}function Bt(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function qr(e){Uh?.(e)}function qh(e,t){let n=t.producersTail;if(n!==void 0){let r=t.producers;do{if(r===e)return!0;if(r===n)break;r=r.nextProducer}while(r!==void 0)}return!1}function Gr(e,t){return Object.is(e,t)}function Tn(e,t){let n=Object.create(Gh);n.computation=e,t!==void 0&&(n.equal=t);let r=()=>{if(Wr(n),gt(n),n.value===wn)throw n.error;return n.value};return r[H]=n,qr(n),r}var Hr=Symbol("UNSET"),Br=Symbol("COMPUTING"),wn=Symbol("ERRORED"),Gh=q(W({},ht),{value:Hr,dirty:!0,error:null,equal:Gr,kind:"computed",producerMustRecompute(e){return e.value===Hr||e.value===Br},producerRecomputeValue(e){if(e.value===Br)throw new Error("");let t=e.value;e.value=Br;let n=Ge(e),r,o=!1;try{r=e.computation(),I(null),o=t!==Hr&&t!==wn&&r!==wn&&e.equal(t,r)}catch(i){r=wn,e.error=i}finally{mt(e,n)}if(o){e.value=t;return}e.value=r,e.version++}});function zh(){throw new Error}var Il=zh;function El(e){Il(e)}function Pi(e){Il=e}var Qh=null;function Li(e,t){let n=Object.create(bn);n.value=e,t!==void 0&&(n.equal=t);let r=()=>Dl(n);return r[H]=n,qr(n),[r,s=>$t(n,s),s=>Fi(n,s)]}function Dl(e){return gt(e),e.value}function $t(e,t){Oi()||El(e),e.equal(e.value,t)||(e.value=t,Zh(e))}function Fi(e,t){Oi()||El(e),$t(e,t(e.value))}var bn=q(W({},ht),{equal:Gr,value:void 0,kind:"signal"});function Zh(e){e.version++,gl(),Ri(e),Qh?.(e)}function Cl(e){let t=I(null);try{return e()}finally{I(t)}}var wl=q(W({},ht),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:"effect"});function Tl(e){if(e.dirty=!1,e.version>0&&!yt(e))return;e.version++;let t=Ge(e);try{e.cleanup(),e.fn()}finally{mt(e,t)}}var Yr="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",_=class extends Error{code;constructor(t,n){super(Sn(t,n)),this.code=t}};function Yh(e){return`NG0${Math.abs(e)}`}function Sn(e,t){return`${Yh(e)}${t?": "+t:""}`}var Me=globalThis;function S(e){for(let t in e)if(e[t]===S)return t;throw Error("")}function Ml(e,t){for(let n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function Fe(e){if(typeof e=="string")return e;if(Array.isArray(e))return`[${e.map(Fe).join(", ")}]`;if(e==null)return""+e;let t=e.overriddenName||e.name;if(t)return`${t}`;let n=e.toString();if(n==null)return""+n;let r=n.indexOf(` +`);return r>=0?n.slice(0,r):n}function Kr(e,t){return e?t?`${e} ${t}`:e:t||""}var Kh=S({__forward_ref__:S});function Jr(e){return e.__forward_ref__=Jr,e.toString=function(){return Fe(this())},e}function B(e){return Zi(e)?e():e}function Zi(e){return typeof e=="function"&&e.hasOwnProperty(Kh)&&e.__forward_ref__===Jr}function U(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Nl(e){return{providers:e.providers||[],imports:e.imports||[]}}function An(e){return Xh(e,Xr)}function Jh(e){return An(e)!==null}function Xh(e,t){return e.hasOwnProperty(t)&&e[t]||null}function eg(e){let t=e?.[Xr]??null;return t||null}function Vi(e){return e&&e.hasOwnProperty(Qr)?e[Qr]:null}var Xr=S({\u0275prov:S}),Qr=S({\u0275inj:S}),x=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(t,n){this._desc=t,this.\u0275prov=void 0,typeof n=="number"?this.__NG_ELEMENT_ID__=n:n!==void 0&&(this.\u0275prov=U({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Yi(e){return e&&!!e.\u0275providers}var Ki=S({\u0275cmp:S}),Ji=S({\u0275dir:S}),Xi=S({\u0275pipe:S}),es=S({\u0275mod:S}),Mn=S({\u0275fac:S}),Ct=S({__NG_ELEMENT_ID__:S}),bl=S({__NG_ENV_ID__:S});function pe(e){return typeof e=="string"?e:e==null?"":String(e)}function xl(e){return typeof e=="function"?e.name||e.toString():typeof e=="object"&&e!=null&&typeof e.type=="function"?e.type.name||e.type.toString():pe(e)}var Sl=S({ngErrorCode:S}),tg=S({ngErrorMessage:S}),ng=S({ngTokenPath:S});function ts(e,t){return Al("",-200,t)}function eo(e,t){throw new _(-201,!1)}function Al(e,t,n){let r=new _(t,e);return r[Sl]=t,r[tg]=e,n&&(r[ng]=n),r}function rg(e){return e[Sl]}var Hi;function Rl(){return Hi}function Y(e){let t=Hi;return Hi=e,t}function ns(e,t,n){let r=An(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(n&8)return null;if(t!==void 0)return t;eo(e,"Injector")}var og={},vt=og,Bi="__NG_DI_FLAG__",$i=class{injector;constructor(t){this.injector=t}retrieve(t,n){let r=It(n)||0;try{return this.injector.get(t,r&8?null:vt,r)}catch(o){if(Ht(o))return o;throw o}}};function ig(e,t=0){let n=jr();if(n===void 0)throw new _(-203,!1);if(n===null)return ns(e,void 0,t);{let r=sg(t),o=n.retrieve(e,r);if(Ht(o)){if(r.optional)return null;throw o}return o}}function be(e,t=0){return(Rl()||ig)(B(e),t)}function y(e,t){return be(e,It(t))}function It(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function sg(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function Ui(e){let t=[];for(let n=0;nArray.isArray(n)?to(n,t):t(n))}function os(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Rn(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Pl(e,t){let n=[];for(let r=0;rt;){let i=o-2;e[o]=e[i],o--}e[t]=n,e[t+1]=r}}function no(e,t,n){let r=Wt(e,t);return r>=0?e[r|1]=n:(r=~r,Ll(e,r,t,n)),r}function ro(e,t){let n=Wt(e,t);if(n>=0)return e[n|1]}function Wt(e,t){return cg(e,t,1)}function cg(e,t,n){let r=0,o=e.length>>n;for(;o!==r;){let i=r+(o-r>>1),s=e[i<t?o=i:r=i+1}return~(o<{n.push(s)};return to(t,s=>{let a=s;Zr(a,i,[],r)&&(o||=[],o.push(a))}),o!==void 0&&Hl(o,i),n}function Hl(e,t){for(let n=0;n{t(i,r)})}}function Zr(e,t,n,r){if(e=B(e),!e)return!1;let o=null,i=Vi(e),s=!i&&Ne(e);if(!i&&!s){let c=e.ngModule;if(i=Vi(c),i)o=c;else return!1}else{if(s&&!s.standalone)return!1;o=e}let a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let l of c)Zr(l,t,n,r)}}else if(i){if(i.imports!=null&&!a){r.add(o);let l;try{to(i.imports,u=>{Zr(u,t,n,r)&&(l||=[],l.push(u))})}finally{}l!==void 0&&Hl(l,t)}if(!a){let l=Qe(o)||(()=>new o);t({provide:o,useFactory:l,deps:Q},o),t({provide:ss,useValue:o,multi:!0},o),t({provide:Ye,useValue:()=>be(o),multi:!0},o)}let c=i.providers;if(c!=null&&!a){let l=e;ls(c,u=>{t(u,l)})}}else return!1;return o!==e&&e.providers!==void 0}function ls(e,t){for(let n of e)Yi(n)&&(n=n.\u0275providers),Array.isArray(n)?ls(n,t):t(n)}var lg=S({provide:String,useValue:S});function Bl(e){return e!==null&&typeof e=="object"&&lg in e}function ug(e){return!!(e&&e.useExisting)}function dg(e){return!!(e&&e.useFactory)}function Et(e){return typeof e=="function"}function $l(e){return!!e.useClass}var us=new x(""),zr={},_l={},ji;function Gt(){return ji===void 0&&(ji=new Nn),ji}var se=class{},Dt=class extends se{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(t,n,r,o){super(),this.parent=n,this.source=r,this.scopes=o,qi(t,s=>this.processProvider(s)),this.records.set(is,Ut(void 0,this)),o.has("environment")&&this.records.set(se,Ut(void 0,this));let i=this.records.get(us);i!=null&&typeof i.value=="string"&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(ss,Q,{self:!0}))}retrieve(t,n){let r=It(n)||0;try{return this.get(t,vt,r)}catch(o){if(Ht(o))return o;throw o}}destroy(){_n(this),this._destroyed=!0;let t=I(null);try{for(let r of this._ngOnDestroyHooks)r.ngOnDestroy();let n=this._onDestroyHooks;this._onDestroyHooks=[];for(let r of n)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),I(t)}}onDestroy(t){return _n(this),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){_n(this);let n=Te(this),r=Y(void 0),o;try{return t()}finally{Te(n),Y(r)}}get(t,n=vt,r){if(_n(this),t.hasOwnProperty(bl))return t[bl](this);let o=It(r),i,s=Te(this),a=Y(void 0);try{if(!(o&4)){let l=this.records.get(t);if(l===void 0){let u=mg(t)&&An(t);u&&this.injectableDefInScope(u)?l=Ut(Wi(t),zr):l=null,this.records.set(t,l)}if(l!=null)return this.hydrate(t,l,o)}let c=o&2?Gt():this.parent;return n=o&8&&n===vt?null:n,c.get(t,n)}catch(c){let l=rg(c);throw l===-200||l===-201?new _(l,null):c}finally{Y(a),Te(s)}}resolveInjectorInitializers(){let t=I(null),n=Te(this),r=Y(void 0),o;try{let i=this.get(Ye,Q,{self:!0});for(let s of i)s()}finally{Te(n),Y(r),I(t)}}toString(){let t=[],n=this.records;for(let r of n.keys())t.push(Fe(r));return`R3Injector[${t.join(", ")}]`}processProvider(t){t=B(t);let n=Et(t)?t:B(t&&t.provide),r=pg(t);if(!Et(t)&&t.multi===!0){let o=this.records.get(n);o||(o=Ut(void 0,zr,!0),o.factory=()=>Ui(o.multi),this.records.set(n,o)),n=t,o.multi.push(t)}this.records.set(n,r)}hydrate(t,n,r){let o=I(null);try{if(n.value===_l)throw ts(Fe(t));return n.value===zr&&(n.value=_l,n.value=n.factory(void 0,r)),typeof n.value=="object"&&n.value&&gg(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}finally{I(o)}}injectableDefInScope(t){if(!t.providedIn)return!1;let n=B(t.providedIn);return typeof n=="string"?n==="any"||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){let n=this._onDestroyHooks.indexOf(t);n!==-1&&this._onDestroyHooks.splice(n,1)}};function Wi(e){let t=An(e),n=t!==null?t.factory:Qe(e);if(n!==null)return n;if(e instanceof x)throw new _(204,!1);if(e instanceof Function)return fg(e);throw new _(204,!1)}function fg(e){if(e.length>0)throw new _(204,!1);let n=eg(e);return n!==null?()=>n.factory(e):()=>new e}function pg(e){if(Bl(e))return Ut(void 0,e.useValue);{let t=ds(e);return Ut(t,zr)}}function ds(e,t,n){let r;if(Et(e)){let o=B(e);return Qe(o)||Wi(o)}else if(Bl(e))r=()=>B(e.useValue);else if(dg(e))r=()=>e.useFactory(...Ui(e.deps||[]));else if(ug(e))r=(o,i)=>be(B(e.useExisting),i!==void 0&&i&8?8:void 0);else{let o=B(e&&(e.useClass||e.provide));if(hg(e))r=()=>new o(...Ui(e.deps));else return Qe(o)||Wi(o)}return r}function _n(e){if(e.destroyed)throw new _(205,!1)}function Ut(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function hg(e){return!!e.deps}function gg(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function mg(e){return typeof e=="function"||typeof e=="object"&&e.ngMetadataName==="InjectionToken"}function qi(e,t){for(let n of e)Array.isArray(n)?qi(n,t):n&&Yi(n)?qi(n.\u0275providers,t):t(n)}function io(e,t){let n;e instanceof Dt?(_n(e),n=e):n=new $i(e);let r,o=Te(n),i=Y(void 0);try{return t()}finally{Te(o),Y(i)}}function Ul(){return Rl()!==void 0||jr()!=null}var ge=0,m=1,E=2,$=3,ae=4,K=5,wt=6,zt=7,L=8,Ke=9,xe=10,A=11,Qt=12,fs=13,Tt=14,J=15,Je=16,bt=17,Se=18,On=19,ps=20,Le=21,so=22,je=23,re=24,_t=25,Mt=26,P=27,Wl=1,hs=6,Xe=7,kn=8,Nt=9,j=10;function Ae(e){return Array.isArray(e)&&typeof e[Wl]=="object"}function me(e){return Array.isArray(e)&&e[Wl]===!0}function gs(e){return(e.flags&4)!==0}function Ve(e){return e.componentOffset>-1}function Zt(e){return(e.flags&1)===1}function ye(e){return!!e.template}function Yt(e){return(e[E]&512)!==0}function xt(e){return(e[E]&256)===256}var ms="svg",ql="math";function ce(e){for(;Array.isArray(e);)e=e[ge];return e}function ys(e,t){return ce(t[e])}function le(e,t){return ce(t[e.index])}function Pn(e,t){return e.data[t]}function ao(e,t){return e[t]}function vs(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function ue(e,t){let n=t[e];return Ae(n)?n:n[ge]}function Gl(e){return(e[E]&4)===4}function co(e){return(e[E]&128)===128}function zl(e){return me(e[$])}function oe(e,t){return t==null?null:e[t]}function Is(e){e[bt]=0}function Es(e){e[E]&1024||(e[E]|=1024,co(e)&&et(e))}function Ql(e,t){for(;e>0;)t=t[Tt],e--;return t}function Ln(e){return!!(e[E]&9216||e[re]?.dirty)}function lo(e){e[xe].changeDetectionScheduler?.notify(8),e[E]&64&&(e[E]|=1024),Ln(e)&&et(e)}function et(e){e[xe].changeDetectionScheduler?.notify(0);let t=Ze(e);for(;t!==null&&!(t[E]&8192||(t[E]|=8192,!co(t)));)t=Ze(t)}function Ds(e,t){if(xt(e))throw new _(911,!1);e[Le]===null&&(e[Le]=[]),e[Le].push(t)}function Zl(e,t){if(e[Le]===null)return;let n=e[Le].indexOf(t);n!==-1&&e[Le].splice(n,1)}function Ze(e){let t=e[$];return me(t)?t[$]:t}function Cs(e){return e[zt]??=[]}function ws(e){return e.cleanup??=[]}function Yl(e,t,n,r){let o=Cs(t);o.push(n),e.firstCreatePass&&ws(e).push(r,o.length-1)}var b={lFrame:lu(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var Gi=!1;function Kl(){return b.lFrame.elementDepthCount}function Jl(){b.lFrame.elementDepthCount++}function Ts(){b.lFrame.elementDepthCount--}function uo(){return b.bindingsEnabled}function bs(){return b.skipHydrationRootTNode!==null}function _s(e){return b.skipHydrationRootTNode===e}function Ms(){b.skipHydrationRootTNode=null}function g(){return b.lFrame.lView}function k(){return b.lFrame.tView}function Xl(e){return b.lFrame.contextLView=e,e[L]}function eu(e){return b.lFrame.contextLView=null,e}function V(){let e=Ns();for(;e!==null&&e.type===64;)e=e.parent;return e}function Ns(){return b.lFrame.currentTNode}function tu(){let e=b.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function Kt(e,t){let n=b.lFrame;n.currentTNode=e,n.isParent=t}function xs(){return b.lFrame.isParent}function Ss(){b.lFrame.isParent=!1}function nu(){return b.lFrame.contextLView}function As(){return Gi}function Jt(e){let t=Gi;return Gi=e,t}function fo(){let e=b.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Rs(){return b.lFrame.bindingIndex}function ru(e){return b.lFrame.bindingIndex=e}function He(){return b.lFrame.bindingIndex++}function Fn(e){let t=b.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function ou(){return b.lFrame.inI18n}function iu(e,t){let n=b.lFrame;n.bindingIndex=n.bindingRootIndex=e,po(t)}function su(){return b.lFrame.currentDirectiveIndex}function po(e){b.lFrame.currentDirectiveIndex=e}function au(e){let t=b.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function ho(){return b.lFrame.currentQueryIndex}function jn(e){b.lFrame.currentQueryIndex=e}function yg(e){let t=e[m];return t.type===2?t.declTNode:t.type===1?e[K]:null}function Os(e,t,n){if(n&4){let o=t,i=e;for(;o=o.parent,o===null&&!(n&1);)if(o=yg(i),o===null||(i=i[Tt],o.type&10))break;if(o===null)return!1;t=o,e=i}let r=b.lFrame=cu();return r.currentTNode=t,r.lView=e,!0}function go(e){let t=cu(),n=e[m];b.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function cu(){let e=b.lFrame,t=e===null?null:e.child;return t===null?lu(e):t}function lu(e){let t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return e!==null&&(e.child=t),t}function uu(){let e=b.lFrame;return b.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var ks=uu;function mo(){let e=uu();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function du(e){return(b.lFrame.contextLView=Ql(e,b.lFrame.contextLView))[L]}function ve(){return b.lFrame.selectedIndex}function tt(e){b.lFrame.selectedIndex=e}function Xt(){let e=b.lFrame;return Pn(e.tView,e.selectedIndex)}function fu(){b.lFrame.currentNamespace=ms}function pu(){vg()}function vg(){b.lFrame.currentNamespace=null}function hu(){return b.lFrame.currentNamespace}var gu=!0;function yo(){return gu}function Vn(e){gu=e}function zi(e,t=null,n=null,r){let o=Ps(e,t,n,r);return o.resolveInjectorInitializers(),o}function Ps(e,t=null,n=null,r,o=new Set){let i=[n||Q,Vl(e)];return r=r||(typeof e=="object"?void 0:Fe(e)),new Dt(i,t||Gt(),r||null,o)}var fe=class e{static THROW_IF_NOT_FOUND=vt;static NULL=new Nn;static create(t,n){if(Array.isArray(t))return zi({name:""},n,t,"");{let r=t.name??"";return zi({name:r},t.parent,t.providers,r)}}static \u0275prov=U({token:e,providedIn:"any",factory:()=>be(is)});static __NG_ELEMENT_ID__=-1},mu=new x(""),Re=(()=>{class e{static __NG_ELEMENT_ID__=Ig;static __NG_ENV_ID__=n=>n}return e})(),xn=class extends Re{_lView;constructor(t){super(),this._lView=t}get destroyed(){return xt(this._lView)}onDestroy(t){let n=this._lView;return Ds(n,t),()=>Zl(n,t)}};function Ig(){return new xn(g())}var _e=class{_console=console;handleError(t){this._console.error("ERROR",t)}},Oe=new x("",{providedIn:"root",factory:()=>{let e=y(se),t;return n=>{e.destroyed&&!t?setTimeout(()=>{throw n}):(t??=e.get(_e),t.handleError(n))}}}),yu={provide:Ye,useValue:()=>void y(_e),multi:!0},Eg=new x("",{providedIn:"root",factory:()=>{let e=y(mu).defaultView;if(!e)return;let t=y(Oe),n=i=>{t(i.reason),i.preventDefault()},r=i=>{i.error?t(i.error):t(new Error(i.message,{cause:i})),i.preventDefault()},o=()=>{e.addEventListener("unhandledrejection",n),e.addEventListener("error",r)};typeof Zone<"u"?Zone.root.run(o):o(),y(Re).onDestroy(()=>{e.removeEventListener("error",r),e.removeEventListener("unhandledrejection",n)})}});function Dg(){return qt([jl(()=>void y(Eg))])}function Ls(e){return typeof e=="function"&&e[H]!==void 0}function vo(e,t){let[n,r,o]=Li(e,t?.equal),i=n,s=i[H];return i.set=r,i.update=o,i.asReadonly=Fs.bind(i),i}function Fs(){let e=this[H];if(e.readonlyFn===void 0){let t=()=>this();t[H]=e,e.readonlyFn=t}return e.readonlyFn}function js(e){return Ls(e)&&typeof e.set=="function"}var St=(()=>{class e{view;node;constructor(n,r){this.view=n,this.node=r}static __NG_ELEMENT_ID__=Cg}return e})();function Cg(){return new St(g(),V())}var ne=class{},Hn=new x("",{providedIn:"root",factory:()=>!1});var Vs=new x(""),Io=new x(""),nt=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new In(!1);get hasPendingTasks(){return this.destroyed?!1:this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new M(n=>{n.next(!1),n.complete()}):this.pendingTask}add(){!this.hasPendingTasks&&!this.destroyed&&this.pendingTask.next(!0);let n=this.taskId++;return this.pendingTasks.add(n),n}has(n){return this.pendingTasks.has(n)}remove(n){this.pendingTasks.delete(n),this.pendingTasks.size===0&&this.hasPendingTasks&&this.pendingTask.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks&&this.pendingTask.next(!1),this.destroyed=!0,this.pendingTask.unsubscribe()}static \u0275prov=U({token:e,providedIn:"root",factory:()=>new e})}return e})(),Hs=(()=>{class e{internalPendingTasks=y(nt);scheduler=y(ne);errorHandler=y(Oe);add(){let n=this.internalPendingTasks.add();return()=>{this.internalPendingTasks.has(n)&&(this.scheduler.notify(11),this.internalPendingTasks.remove(n))}}run(n){let r=this.add();n().catch(this.errorHandler).finally(r)}static \u0275prov=U({token:e,providedIn:"root",factory:()=>new e})}return e})();function At(...e){}var Bn=(()=>{class e{static \u0275prov=U({token:e,providedIn:"root",factory:()=>new Qi})}return e})(),Qi=class{dirtyEffectCount=0;queues=new Map;add(t){this.enqueue(t),this.schedule(t)}schedule(t){t.dirty&&this.dirtyEffectCount++}remove(t){let n=t.zone,r=this.queues.get(n);r.has(t)&&(r.delete(t),t.dirty&&this.dirtyEffectCount--)}enqueue(t){let n=t.zone;this.queues.has(n)||this.queues.set(n,new Set);let r=this.queues.get(n);r.has(t)||r.add(t)}flush(){for(;this.dirtyEffectCount>0;){let t=!1;for(let[n,r]of this.queues)n===null?t||=this.flushQueue(r):t||=n.run(()=>this.flushQueue(r));t||(this.dirtyEffectCount=0)}}flushQueue(t){let n=!1;for(let r of t)r.dirty&&(this.dirtyEffectCount--,n=!0,r.run());return n}};function un(e){return{toString:e}.toString()}var Eo="__parameters__";function xg(e){return function(...n){if(e){let r=e(...n);for(let o in r)this[o]=r[o]}}}function ed(e,t,n){return un(()=>{let r=xg(t);function o(...i){if(this instanceof o)return r.apply(this,i),this;let s=new o(...i);return a.annotation=s,a;function a(c,l,u){let d=c.hasOwnProperty(Eo)?c[Eo]:Object.defineProperty(c,Eo,{value:[]})[Eo];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),c}}return o.prototype.ngMetadataName=e,o.annotationCls=o,o})}var Sg=rs(ed("Optional"),8);var Ag=rs(ed("SkipSelf"),4);function Rg(e){return typeof e=="function"}var Ao=class{previousValue;currentValue;firstChange;constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}};function td(e,t,n,r){t!==null?t.applyValueToInputSignal(t,r):e[n]=r}var Og=(()=>{let e=()=>nd;return e.ngInherit=!0,e})();function nd(e){return e.type.prototype.ngOnChanges&&(e.setInput=Pg),kg}function kg(){let e=od(this),t=e?.current;if(t){let n=e.previous;if(n===he)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function Pg(e,t,n,r,o){let i=this.declaredInputs[r],s=od(e)||Lg(e,{previous:he,current:null}),a=s.current||(s.current={}),c=s.previous,l=c[i];a[i]=new Ao(l&&l.currentValue,n,c===he),td(e,t,o,n)}var rd="__ngSimpleChanges__";function od(e){return e[rd]||null}function Lg(e,t){return e[rd]=t}var vu=[];var R=function(e,t=null,n){for(let r=0;r=r)break}else t[c]<0&&(e[bt]+=65536),(a>14>16&&(e[E]&3)===t&&(e[E]+=16384,Iu(a,i)):Iu(a,i)}var tn=-1,Ot=class{factory;name;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(t,n,r,o){this.factory=t,this.name=o,this.canSeeViewProviders=n,this.injectImpl=r}};function Vg(e){return(e.flags&8)!==0}function Hg(e){return(e.flags&16)!==0}function Bg(e,t,n){let r=0;for(;rt){s=i-1;break}}}for(;i>16}function Oo(e,t){let n=Ug(e),r=t;for(;n>0;)r=r[Tt],n--;return r}var Js=!0;function ko(e){let t=Js;return Js=e,t}var Wg=256,ld=Wg-1,ud=5,qg=0,ke={};function Gg(e,t,n){let r;typeof n=="string"?r=n.charCodeAt(0)||0:n.hasOwnProperty(Ct)&&(r=n[Ct]),r==null&&(r=n[Ct]=qg++);let o=r&ld,i=1<>ud)]|=i}function Po(e,t){let n=dd(e,t);if(n!==-1)return n;let r=t[m];r.firstCreatePass&&(e.injectorIndex=t.length,$s(r.data,e),$s(t,null),$s(r.blueprint,null));let o=Fa(e,t),i=e.injectorIndex;if(cd(o)){let s=Ro(o),a=Oo(o,t),c=a[m].data;for(let l=0;l<8;l++)t[i+l]=a[s+l]|c[s+l]}return t[i+8]=o,i}function $s(e,t){e.push(0,0,0,0,0,0,0,0,t)}function dd(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function Fa(e,t){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let n=0,r=null,o=t;for(;o!==null;){if(r=md(o),r===null)return tn;if(n++,o=o[Tt],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return tn}function Xs(e,t,n){Gg(e,t,n)}function zg(e,t){if(t==="class")return e.classes;if(t==="style")return e.styles;let n=e.attrs;if(n){let r=n.length,o=0;for(;o>20,d=r?a:a+u,p=o?a+u:l;for(let f=d;f=c&&h.type===n)return f}if(o){let f=s[c];if(f&&ye(f)&&f.type===n)return c}return null}function Wn(e,t,n,r,o){let i=e[n],s=t.data;if(i instanceof Ot){let a=i;if(a.resolving){let f=xl(s[n]);throw ts(f)}let c=ko(a.canSeeViewProviders);a.resolving=!0;let l=s[n].type||s[n],u,d=a.injectImpl?Y(a.injectImpl):null,p=Os(e,r,0);try{i=e[n]=a.factory(void 0,o,s,e,r),t.firstCreatePass&&n>=r.directiveStart&&Fg(n,s[n],t)}finally{d!==null&&Y(d),ko(c),a.resolving=!1,ks()}}return i}function Zg(e){if(typeof e=="string")return e.charCodeAt(0)||0;let t=e.hasOwnProperty(Ct)?e[Ct]:void 0;return typeof t=="number"?t>=0?t&ld:Yg:t}function Du(e,t,n){let r=1<>ud)]&r)}function Cu(e,t){return!(e&2)&&!(e&1&&t)}var Rt=class{_tNode;_lView;constructor(t,n){this._tNode=t,this._lView=n}get(t,n,r){return hd(this._tNode,this._lView,t,It(r),n)}};function Yg(){return new Rt(V(),g())}function Kg(e){return un(()=>{let t=e.prototype.constructor,n=t[Mn]||ea(t),r=Object.prototype,o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){let i=o[Mn]||ea(o);if(i&&i!==n)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function ea(e){return Zi(e)?()=>{let t=ea(B(e));return t&&t()}:Qe(e)}function Jg(e,t,n,r,o){let i=e,s=t;for(;i!==null&&s!==null&&s[E]&2048&&!Yt(s);){let a=gd(i,s,n,r|2,ke);if(a!==ke)return a;let c=i.parent;if(!c){let l=s[ps];if(l){let u=l.get(n,ke,r);if(u!==ke)return u}c=md(s),s=s[Tt]}i=c}return o}function md(e){let t=e[m],n=t.type;return n===2?t.declTNode:n===1?e[K]:null}function yd(e){return zg(V(),e)}function Xg(){return dn(V(),g())}function dn(e,t){return new Xn(le(e,t))}var Xn=(()=>{class e{nativeElement;constructor(n){this.nativeElement=n}static __NG_ELEMENT_ID__=Xg}return e})();function vd(e){return e instanceof Xn?e.nativeElement:e}function em(){return this._results[Symbol.iterator]()}var Lo=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new ie}constructor(t=!1){this._emitDistinctChangesOnly=t}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){this.dirty=!1;let r=kl(t);(this._changesDetected=!Ol(this._results,r,n))&&(this._results=r,this.length=r.length,this.last=r[this.length-1],this.first=r[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(t){this._onDirty=t}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=em};function Id(e){return(e.flags&128)===128}var ja=(function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e})(ja||{}),Ed=new Map,tm=0;function nm(){return tm++}function rm(e){Ed.set(e[On],e)}function ta(e){Ed.delete(e[On])}var wu="__ngContext__";function rn(e,t){Ae(t)?(e[wu]=t[On],rm(t)):e[wu]=t}function Dd(e){return wd(e[Qt])}function Cd(e){return wd(e[ae])}function wd(e){for(;e!==null&&!me(e);)e=e[ae];return e}var na;function om(e){na=e}function Va(){if(na!==void 0)return na;if(typeof document<"u")return document;throw new _(210,!1)}var im=new x("",{providedIn:"root",factory:()=>sm}),sm="ng",Td=new x(""),am=new x("",{providedIn:"platform",factory:()=>"unknown"});var cm=new x(""),lm=new x("",{providedIn:"root",factory:()=>Va().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var um="h",dm="b";var bd="r";var _d="di";var Md=!1,Nd=new x("",{providedIn:"root",factory:()=>Md});var fm=new x("");var pm=(e,t,n,r)=>{};function hm(e,t,n,r){pm(e,t,n,r)}function Jo(e){return(e.flags&32)===32}var gm=()=>null;function xd(e,t,n=!1){return gm(e,t,n)}function Sd(e,t){let n=e.contentQueries;if(n!==null){let r=I(null);try{for(let o=0;oe,createScript:e=>e,createScriptURL:e=>e})}catch{}return Do}function Xo(e){return mm()?.createHTML(e)||e}var Co;function Ad(){if(Co===void 0&&(Co=null,Me.trustedTypes))try{Co=Me.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Co}function Tu(e){return Ad()?.createHTML(e)||e}function bu(e){return Ad()?.createScriptURL(e)||e}var $e=class{changingThisBreaksApplicationSecurity;constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Yr})`}},oa=class extends $e{getTypeName(){return"HTML"}},ia=class extends $e{getTypeName(){return"Style"}},sa=class extends $e{getTypeName(){return"Script"}},aa=class extends $e{getTypeName(){return"URL"}},ca=class extends $e{getTypeName(){return"ResourceURL"}};function fn(e){return e instanceof $e?e.changingThisBreaksApplicationSecurity:e}function ei(e,t){let n=Rd(e);if(n!=null&&n!==t){if(n==="ResourceURL"&&t==="URL")return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${Yr})`)}return n===t}function Rd(e){return e instanceof $e&&e.getTypeName()||null}function ym(e){return new oa(e)}function vm(e){return new ia(e)}function Im(e){return new sa(e)}function Em(e){return new aa(e)}function Dm(e){return new ca(e)}function Cm(e){let t=new ua(e);return wm()?new la(t):t}var la=class{inertDocumentHelper;constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{let n=new window.DOMParser().parseFromString(Xo(t),"text/html").body;return n===null?this.inertDocumentHelper.getInertBodyElement(t):(n.firstChild?.remove(),n)}catch{return null}}},ua=class{defaultDoc;inertDocument;constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){let n=this.inertDocument.createElement("template");return n.innerHTML=Xo(t),n}};function wm(){try{return!!new window.DOMParser().parseFromString(Xo(""),"text/html")}catch{return!1}}var Tm=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Ba(e){return e=String(e),e.match(Tm)?e:"unsafe:"+e}function Ue(e){let t={};for(let n of e.split(","))t[n]=!0;return t}function er(...e){let t={};for(let n of e)for(let r in n)n.hasOwnProperty(r)&&(t[r]=!0);return t}var Od=Ue("area,br,col,hr,img,wbr"),kd=Ue("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pd=Ue("rp,rt"),bm=er(Pd,kd),_m=er(kd,Ue("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Mm=er(Pd,Ue("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),_u=er(Od,_m,Mm,bm),Ld=Ue("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Nm=Ue("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),xm=Ue("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"),Sm=er(Ld,Nm,xm),Am=Ue("script,style,template"),da=class{sanitizedSomething=!1;buf=[];sanitizeChildren(t){let n=t.firstChild,r=!0,o=[];for(;n;){if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild){o.push(n),n=km(n);continue}for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let i=Om(n);if(i){n=i;break}n=o.pop()}}return this.buf.join("")}startElement(t){let n=Mu(t).toLowerCase();if(!_u.hasOwnProperty(n))return this.sanitizedSomething=!0,!Am.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);let r=t.attributes;for(let o=0;o"),!0}endElement(t){let n=Mu(t).toLowerCase();_u.hasOwnProperty(n)&&!Od.hasOwnProperty(n)&&(this.buf.push(""))}chars(t){this.buf.push(Nu(t))}};function Rm(e,t){return(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function Om(e){let t=e.nextSibling;if(t&&e!==t.previousSibling)throw Fd(t);return t}function km(e){let t=e.firstChild;if(t&&Rm(e,t))throw Fd(t);return t}function Mu(e){let t=e.nodeName;return typeof t=="string"?t:"FORM"}function Fd(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}var Pm=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Lm=/([^\#-~ |!])/g;function Nu(e){return e.replace(/&/g,"&").replace(Pm,function(t){let n=t.charCodeAt(0),r=t.charCodeAt(1);return"&#"+((n-55296)*1024+(r-56320)+65536)+";"}).replace(Lm,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}var wo;function jd(e,t){let n=null;try{wo=wo||Cm(e);let r=t?String(t):"";n=wo.getInertBodyElement(r);let o=5,i=r;do{if(o===0)throw new Error("Failed to sanitize html because the input is unstable");o--,r=i,i=n.innerHTML,n=wo.getInertBodyElement(r)}while(r!==i);let a=new da().sanitizeChildren(xu(n)||n);return Xo(a)}finally{if(n){let r=xu(n)||n;for(;r.firstChild;)r.firstChild.remove()}}}function xu(e){return"content"in e&&Fm(e)?e.content:null}function Fm(e){return e.nodeType===Node.ELEMENT_NODE&&e.nodeName==="TEMPLATE"}var tr=(function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e})(tr||{});function jm(e){let t=$a();return t?Tu(t.sanitize(tr.HTML,e)||""):ei(e,"HTML")?Tu(fn(e)):jd(Va(),pe(e))}function Vd(e){let t=$a();return t?t.sanitize(tr.URL,e)||"":ei(e,"URL")?fn(e):Ba(pe(e))}function Hd(e){let t=$a();if(t)return bu(t.sanitize(tr.RESOURCE_URL,e)||"");if(ei(e,"ResourceURL"))return bu(fn(e));throw new _(904,!1)}function Vm(e,t){return t==="src"&&(e==="embed"||e==="frame"||e==="iframe"||e==="media"||e==="script")||t==="href"&&(e==="base"||e==="link")?Hd:Vd}function Hm(e,t,n){return Vm(t,n)(e)}function $a(){let e=g();return e&&e[xe].sanitizer}var Bm=/^>|^->||--!>|)/g,Um="\u200B$1\u200B";function Wm(e){return e.replace(Bm,t=>t.replace($m,Um))}function Bd(e){return e instanceof Function?e():e}function qm(e,t,n){let r=e.length;for(;;){let o=e.indexOf(t,n);if(o===-1)return o;if(o===0||e.charCodeAt(o-1)<=32){let i=t.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}n=o+1}}var $d="ng-template";function Gm(e,t,n,r){let o=0;if(r){for(;o-1){let i;for(;++oi?d="":d=o[u+1].toLowerCase(),r&2&&l!==d){if(Ie(r))return!1;s=!0}}}}return Ie(r)||s}function Ie(e){return(e&1)===0}function Zm(e,t,n,r){if(t===null)return-1;let o=0;if(r||!n){let i=!1;for(;o-1)for(n++;n0?'="'+a+'"':"")+"]"}else r&8?o+="."+s:r&4&&(o+=" "+s);else o!==""&&!Ie(s)&&(t+=Su(i,o),o=""),r=s,i=i||!Ie(r);n++}return o!==""&&(t+=Su(i,o)),t}function ty(e){return e.map(ey).join(",")}function ny(e){let t=[],n=[],r=1,o=2;for(;rnull),s=r;if(t&&typeof t=="object"){let c=t;o=c.next?.bind(c),i=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(i=this.wrapInTimeout(i),o&&(o=this.wrapInTimeout(o)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:o,error:i,complete:s});return t instanceof F&&t.add(a),a}wrapInTimeout(t){return n=>{let r=this.pendingTasks?.add();setTimeout(()=>{try{t(n)}finally{r!==void 0&&this.pendingTasks?.remove(r)}})}}},Be=pa;function Jd(e){let t,n;function r(){e=At;try{n!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(n),t!==void 0&&clearTimeout(t)}catch{}}return t=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame=="function"&&(n=requestAnimationFrame(()=>{e(),r()})),()=>r()}function Ou(e){return queueMicrotask(()=>e()),()=>{e=At}}var Qa="isAngularZone",Ho=Qa+"_ID",py=0,X=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new Be(!1);onMicrotaskEmpty=new Be(!1);onStable=new Be(!1);onError=new Be(!1);constructor(t){let{enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:o=!1,scheduleInRootZone:i=Kd}=t;if(typeof Zone>"u")throw new _(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!o&&r,s.shouldCoalesceRunChangeDetection=o,s.callbackScheduled=!1,s.scheduleInRootZone=i,my(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(Qa)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new _(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new _(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,o){let i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,hy,At,At);try{return i.runTask(s,n,r)}finally{i.cancelTask(s)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}},hy={};function Za(e){if(e._nesting==0&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function gy(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){Jd(()=>{e.callbackScheduled=!1,ha(e),e.isCheckStableRunning=!0,Za(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),ha(e)}function my(e){let t=()=>{gy(e)},n=py++;e._inner=e._inner.fork({name:"angular",properties:{[Qa]:!0,[Ho]:n,[Ho+n]:!0},onInvokeTask:(r,o,i,s,a,c)=>{if(yy(c))return r.invokeTask(i,s,a,c);try{return ku(e),r.invokeTask(i,s,a,c)}finally{(e.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&t(),Pu(e)}},onInvoke:(r,o,i,s,a,c,l)=>{try{return ku(e),r.invoke(i,s,a,c,l)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!vy(c)&&t(),Pu(e)}},onHasTask:(r,o,i,s)=>{r.hasTask(i,s),o===i&&(s.change=="microTask"?(e._hasPendingMicrotasks=s.microTask,ha(e),Za(e)):s.change=="macroTask"&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,o,i,s)=>(r.handleError(i,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}function ha(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function ku(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Pu(e){e._nesting--,Za(e)}var qn=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new Be;onMicrotaskEmpty=new Be;onStable=new Be;onError=new Be;run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,o){return t.apply(n,r)}};function yy(e){return Xd(e,"__ignore_ng_zone__")}function vy(e){return Xd(e,"__scheduler_tick__")}function Xd(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var ri=(()=>{class e{impl=null;execute(){this.impl?.execute()}static \u0275prov=U({token:e,providedIn:"root",factory:()=>new e})}return e})(),Ya=[0,1,2,3],Ka=(()=>{class e{ngZone=y(X);scheduler=y(ne);errorHandler=y(_e,{optional:!0});sequences=new Set;deferredRegistrations=new Set;executing=!1;constructor(){y(pn,{optional:!0})}execute(){let n=this.sequences.size>0;n&&R(16),this.executing=!0;for(let r of Ya)for(let o of this.sequences)if(!(o.erroredOrDestroyed||!o.hooks[r]))try{o.pipelinedValue=this.ngZone.runOutsideAngular(()=>this.maybeTrace(()=>{let i=o.hooks[r];return i(o.pipelinedValue)},o.snapshot))}catch(i){o.erroredOrDestroyed=!0,this.errorHandler?.handleError(i)}this.executing=!1;for(let r of this.sequences)r.afterRun(),r.once&&(this.sequences.delete(r),r.destroy());for(let r of this.deferredRegistrations)this.sequences.add(r);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear(),n&&R(17)}register(n){let{view:r}=n;r!==void 0?((r[_t]??=[]).push(n),et(r),r[E]|=8192):this.executing?this.deferredRegistrations.add(n):this.addSequence(n)}addSequence(n){this.sequences.add(n),this.scheduler.notify(7)}unregister(n){this.executing&&this.sequences.has(n)?(n.erroredOrDestroyed=!0,n.pipelinedValue=void 0,n.once=!0):(this.sequences.delete(n),this.deferredRegistrations.delete(n))}maybeTrace(n,r){return r?r.run(ni.AFTER_NEXT_RENDER,n):n()}static \u0275prov=U({token:e,providedIn:"root",factory:()=>new e})}return e})(),Gn=class{impl;hooks;view;once;snapshot;erroredOrDestroyed=!1;pipelinedValue=void 0;unregisterOnDestroy;constructor(t,n,r,o,i,s=null){this.impl=t,this.hooks=n,this.view=r,this.once=o,this.snapshot=s,this.unregisterOnDestroy=i?.onDestroy(()=>this.destroy())}afterRun(){this.erroredOrDestroyed=!1,this.pipelinedValue=void 0,this.snapshot?.dispose(),this.snapshot=null}destroy(){this.impl.unregister(this),this.unregisterOnDestroy?.();let t=this.view?.[_t];t&&(this.view[_t]=t.filter(n=>n!==this))}};function Iy(e,t){let n=t?.injector??y(fe);return it("NgAfterNextRender"),Dy(e,n,t,!0)}function Ey(e){return e instanceof Function?[void 0,void 0,e,void 0]:[e.earlyRead,e.write,e.mixedReadWrite,e.read]}function Dy(e,t,n,r){let o=t.get(ri);o.impl??=t.get(Ka);let i=t.get(pn,null,{optional:!0}),s=n?.manualCleanup!==!0?t.get(Re):null,a=t.get(St,null,{optional:!0}),c=new Gn(o.impl,Ey(e),a?.view,r,s,i?.snapshot(null));return o.impl.register(c),c}var Cy=new x("",{providedIn:"root",factory:()=>({queue:new Set,isScheduled:!1,scheduler:null})});function ef(e,t){let n=e.get(Cy);if(Array.isArray(t))for(let r of t)n.queue.add(r);else n.queue.add(t);n.scheduler&&n.scheduler(e)}function wy(e,t){for(let[n,r]of t)ef(e,r.animateFns)}function Lu(e,t,n,r){let o=e?.[Mt]?.enter;t!==null&&o&&o.has(n.index)&&wy(r,o)}function en(e,t,n,r,o,i,s,a){if(o!=null){let c,l=!1;me(o)?c=o:Ae(o)&&(l=!0,o=o[ge]);let u=ce(o);e===0&&r!==null?(Lu(a,r,i,n),s==null?qd(t,r,u):Fo(t,r,u,s||null,!0)):e===1&&r!==null?(Lu(a,r,i,n),Fo(t,r,u,s||null,!0)):e===2?Fu(a,i,n,d=>{Gd(t,u,l,d)}):e===3&&Fu(a,i,n,()=>{t.destroyNode(u)}),c!=null&&ky(t,e,n,c,i,r,s)}}function Ty(e,t){tf(e,t),t[ge]=null,t[K]=null}function by(e,t,n,r,o,i){r[ge]=o,r[K]=t,ii(e,r,n,1,o,i)}function tf(e,t){t[xe].changeDetectionScheduler?.notify(9),ii(e,t,t[A],2,null,null)}function _y(e){let t=e[Qt];if(!t)return Us(e[m],e);for(;t;){let n=null;if(Ae(t))n=t[Qt];else{let r=t[j];r&&(n=r)}if(!n){for(;t&&!t[ae]&&t!==e;)Ae(t)&&Us(t[m],t),t=t[$];t===null&&(t=e),Ae(t)&&Us(t[m],t),n=t&&t[ae]}t=n}}function Ja(e,t){let n=e[Nt],r=n.indexOf(t);n.splice(r,1)}function oi(e,t){if(xt(t))return;let n=t[A];n.destroyNode&&ii(e,t,n,3,null,null),_y(t)}function Us(e,t){if(xt(t))return;let n=I(null);try{t[E]&=-129,t[E]|=256,t[re]&&ze(t[re]),xy(e,t),Ny(e,t),t[m].type===1&&t[A].destroy();let r=t[Je];if(r!==null&&me(t[$])){r!==t[$]&&Ja(r,t);let o=t[Se];o!==null&&o.detachView(e)}ta(t)}finally{I(n)}}function Fu(e,t,n,r){let o=e?.[Mt];if(o==null||o.leave==null||!o.leave.has(t.index))return r(!1);if(o.skipLeaveAnimations)return o.skipLeaveAnimations=!1,r(!1);e&&Vo.add(e),ef(n,()=>{if(o.leave&&o.leave.has(t.index)){let s=o.leave.get(t.index),a=[];if(s)for(let c=0;c{e[Mt].running=void 0,Vo.delete(e),t(!0)});return}t(!1)}function Ny(e,t){let n=e.cleanup,r=t[zt];if(n!==null)for(let s=0;s=0?r[a]():r[-a].unsubscribe(),s+=2}else{let a=r[n[s+1]];n[s].call(a)}r!==null&&(t[zt]=null);let o=t[Le];if(o!==null){t[Le]=null;for(let s=0;sP&&Yd(e,t,P,!1),R(s?2:0,o,n),n(r,o)}finally{tt(i),R(s?3:1,o,n)}}function si(e,t,n){Hy(e,t,n),(n.flags&64)===64&&By(e,t,n)}function nr(e,t,n=le){let r=t.localNames;if(r!==null){let o=t.index+1;for(let i=0;inull;function Vy(e){return e==="class"?"className":e==="for"?"htmlFor":e==="formaction"?"formAction":e==="innerHtml"?"innerHTML":e==="readonly"?"readOnly":e==="tabindex"?"tabIndex":e}function cf(e,t,n,r,o,i){let s=t[m];if(ai(e,s,t,n,r)){Ve(e)&&uf(t,e.index);return}e.type&3&&(n=Vy(n)),lf(e,t,n,r,o,i)}function lf(e,t,n,r,o,i){if(e.type&3){let s=le(e,t);r=i!=null?i(r,e.value||"",n):r,o.setProperty(s,n,r)}else e.type&12}function uf(e,t){let n=ue(t,e);n[E]&16||(n[E]|=64)}function Hy(e,t,n){let r=n.directiveStart,o=n.directiveEnd;Ve(n)&&uy(t,n,e.data[r+n.componentOffset]),e.firstCreatePass||Po(n,t);let i=n.initialInputs;for(let s=r;s{et(e.lView)},consumerOnSignalRead(){this.lView[re]=this}});function Xy(e){let t=e[re]??Object.create(ev);return t.lView=e,t}var ev=q(W({},ht),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:e=>{let t=Ze(e.lView);for(;t&&!gf(t[m]);)t=Ze(t);t&&Es(t)},consumerOnSignalRead(){this.lView[re]=this}});function gf(e){return e.type!==2}function mf(e){if(e[je]===null)return;let t=!0;for(;t;){let n=!1;for(let r of e[je])r.dirty&&(n=!0,r.zone===null||Zone.current===r.zone?r.run():r.zone.run(()=>r.run()));t=n&&!!(e[E]&8192)}}var tv=100;function yf(e,t=0){let r=e[xe].rendererFactory,o=!1;o||r.begin?.();try{nv(e,t)}finally{o||r.end?.()}}function nv(e,t){let n=As();try{Jt(!0),ma(e,t);let r=0;for(;Ln(e);){if(r===tv)throw new _(103,!1);r++,ma(e,1)}}finally{Jt(n)}}function rv(e,t,n,r){if(xt(t))return;let o=t[E],i=!1,s=!1;go(t);let a=!0,c=null,l=null;i||(gf(e)?(l=Zy(t),c=Ge(l)):Ur()===null?(a=!1,l=Xy(t),c=Ge(l)):t[re]&&(ze(t[re]),t[re]=null));try{Is(t),ru(e.bindingStartIndex),n!==null&&af(e,t,n,2,r);let u=(o&3)===3;if(!i)if(u){let f=e.preOrderCheckHooks;f!==null&&_o(t,f,null)}else{let f=e.preOrderHooks;f!==null&&Mo(t,f,0,null),Bs(t,0)}if(s||ov(t),mf(t),vf(t,0),e.contentQueries!==null&&Sd(e,t),!i)if(u){let f=e.contentCheckHooks;f!==null&&_o(t,f)}else{let f=e.contentHooks;f!==null&&Mo(t,f,1),Bs(t,1)}sv(e,t);let d=e.components;d!==null&&Ef(t,d,0);let p=e.viewQuery;if(p!==null&&ra(2,p,r),!i)if(u){let f=e.viewCheckHooks;f!==null&&_o(t,f)}else{let f=e.viewHooks;f!==null&&Mo(t,f,2),Bs(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[so]){for(let f of t[so])f();t[so]=null}i||(pf(t),t[E]&=-73)}catch(u){throw i||et(t),u}finally{l!==null&&(mt(l,c),a&&Ky(l)),mo()}}function vf(e,t){for(let n=Dd(e);n!==null;n=Cd(n))for(let r=j;r0&&(e[n-1][ae]=r[ae]);let i=Rn(e,j+t);Ty(r[m],r);let s=i[Se];s!==null&&s.detachView(i[m]),r[$]=null,r[ae]=null,r[E]&=-129}return r}function av(e,t,n,r){let o=j+r,i=n.length;r>0&&(n[o-1][ae]=t),r-1&&(Qn(t,r),Rn(n,r))}this._attachedToViewContainer=!1}oi(this._lView[m],this._lView)}onDestroy(t){Ds(this._lView,t)}markForCheck(){ic(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[E]&=-129}reattach(){lo(this._lView),this._lView[E]|=128}detectChanges(){this._lView[E]|=1024,yf(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new _(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let t=Yt(this._lView),n=this._lView[Je];n!==null&&!t&&Ja(n,this._lView),tf(this._lView[m],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new _(902,!1);this._appRef=t;let n=Yt(this._lView),r=this._lView[Je];r!==null&&!n&&Tf(r,this._lView),lo(this._lView)}};var Zn=(()=>{class e{_declarationLView;_declarationTContainer;elementRef;static __NG_ELEMENT_ID__=cv;constructor(n,r,o){this._declarationLView=n,this._declarationTContainer=r,this.elementRef=o}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,r){return this.createEmbeddedViewImpl(n,r)}createEmbeddedViewImpl(n,r,o){let i=rr(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:r,dehydratedView:o});return new rt(i)}}return e})();function cv(){return ci(V(),g())}function ci(e,t){return e.type&4?new Zn(t,e,dn(e,t)):null}function hn(e,t,n,r,o){let i=e.data[t];if(i===null)i=lv(e,t,n,r,o),ou()&&(i.flags|=32);else if(i.type&64){i.type=n,i.value=r,i.attrs=o;let s=tu();i.injectorIndex=s===null?-1:s.injectorIndex}return Kt(i,!0),i}function lv(e,t,n,r,o){let i=Ns(),s=xs(),a=s?i:i&&i.parent,c=e.data[t]=dv(e,a,n,t,r,o);return uv(e,c,i,s),c}function uv(e,t,n,r){e.firstChild===null&&(e.firstChild=t),n!==null&&(r?n.child==null&&t.parent!==null&&(n.child=t):n.next===null&&(n.next=t,t.prev=n))}function dv(e,t,n,r,o,i){let s=t?t.injectorIndex:-1,a=0;return bs()&&(a|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}var sS=new RegExp(`^(\\d+)*(${dm}|${um})*(.*)`);function fv(e){let t=e[hs]??[],r=e[$][A],o=[];for(let i of t)i.data[_d]!==void 0?o.push(i):pv(i,r);e[hs]=o}function pv(e,t){let n=0,r=e.firstChild;if(r){let o=e.data[bd];for(;nnull,gv=()=>null;function Bo(e,t){return hv(e,t)}function bf(e,t,n){return gv(e,t,n)}var _f=class{},li=class{},ya=class{resolveComponentFactory(t){throw new _(917,!1)}},ir=class{static NULL=new ya},Yn=class{},mv=(()=>{class e{destroyNode=null;static __NG_ELEMENT_ID__=()=>yv()}return e})();function yv(){let e=g(),t=V(),n=ue(t.index,e);return(Ae(n)?n:e)[A]}var Mf=(()=>{class e{static \u0275prov=U({token:e,providedIn:"root",factory:()=>null})}return e})();var xo={},va=class{injector;parentInjector;constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){let o=this.injector.get(t,xo,r);return o!==xo||n===xo?o:this.parentInjector.get(t,n,r)}};function $o(e,t,n){let r=n?e.styles:null,o=n?e.classes:null,i=0;if(t!==null)for(let s=0;s0&&(n.directiveToIndex=new Map);for(let p=0;p0;){let n=e[--t];if(typeof n=="number"&&n<0)return n}return 0}function _v(e,t,n){if(n){if(t.exportAs)for(let r=0;rr(ce(v[e.index])):e.index;Of(h,t,n,i,a,f,!1)}}return l}function Av(e){return e.startsWith("animation")||e.startsWith("transition")}function Rv(e,t,n,r){let o=e.cleanup;if(o!=null)for(let i=0;ic?a[c]:null}typeof s=="string"&&(i+=2)}return null}function Of(e,t,n,r,o,i,s){let a=t.firstCreatePass?ws(t):null,c=Cs(n),l=c.length;c.push(o,i),a&&a.push(r,e,l,(l+1)*(s?-1:1))}function Uu(e,t,n,r,o,i){let s=t[n],a=t[m],l=a.data[n].outputs[r],d=s[l].subscribe(i);Of(e.index,a,t,o,i,d,!0)}var Ia=Symbol("BINDING");var Uo=class extends ir{ngModule;constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){let n=Ne(t);return new ot(n,this.ngModule)}};function Ov(e){return Object.keys(e).map(t=>{let[n,r,o]=e[t],i={propName:n,templateName:t,isSignal:(r&ti.SignalBased)!==0};return o&&(i.transform=o),i})}function kv(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function Pv(e,t,n){let r=t instanceof se?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new va(n,r):n}function Lv(e){let t=e.get(Yn,null);if(t===null)throw new _(407,!1);let n=e.get(Mf,null),r=e.get(ne,null);return{rendererFactory:t,sanitizer:n,changeDetectionScheduler:r,ngReflect:!1}}function Fv(e,t){let n=kf(e);return Wd(t,n,n==="svg"?ms:n==="math"?ql:null)}function kf(e){return(e.selectors[0][0]||"div").toLowerCase()}var ot=class extends li{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=Ov(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=kv(this.componentDef.outputs),this.cachedOutputs}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=ty(t.selectors),this.ngContentSelectors=t.ngContentSelectors??[],this.isBoundToModule=!!n}create(t,n,r,o,i,s){R(22);let a=I(null);try{let c=this.componentDef,l=jv(r,c,s,i),u=Pv(c,o||this.ngModule,t),d=Lv(u),p=d.rendererFactory.createRenderer(null,c),f=r?Ly(p,r,c.encapsulation,u):Fv(c,p),h=s?.some(Wu)||i?.some(T=>typeof T!="function"&&T.bindings.some(Wu)),v=qa(null,l,null,512|Qd(c),null,null,d,p,u,null,xd(f,u,!0));v[P]=f,go(v);let N=null;try{let T=sc(P,v,2,"#host",()=>l.directiveRegistry,!0,0);zd(p,f,T),rn(f,v),si(l,v,T),Ha(l,T,v),ac(l,T),n!==void 0&&Hv(T,this.ngContentSelectors,n),N=ue(T.index,v),v[L]=N[L],oc(l,v,null)}catch(T){throw N!==null&&ta(N),ta(v),T}finally{R(23),mo()}return new Wo(this.componentType,v,!!h)}finally{I(a)}}};function jv(e,t,n,r){let o=e?["ng-version","20.3.10"]:ny(t.selectors[0]),i=null,s=null,a=0;if(n)for(let u of n)a+=u[Ia].requiredVars,u.create&&(u.targetIdx=0,(i??=[]).push(u)),u.update&&(u.targetIdx=0,(s??=[]).push(u));if(r)for(let u=0;u{if(n&1&&e)for(let r of e)r.create();if(n&2&&t)for(let r of t)r.update()}}function Wu(e){let t=e[Ia].kind;return t==="input"||t==="twoWay"}var Wo=class extends _f{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(t,n,r){super(),this._rootLView=n,this._hasInputBindings=r,this._tNode=Pn(n[m],P),this.location=dn(this._tNode,n),this.instance=ue(this._tNode.index,n)[L],this.hostView=this.changeDetectorRef=new rt(n,void 0),this.componentType=t}setInput(t,n){this._hasInputBindings;let r=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),n))return;let o=this._rootLView,i=ai(r,o[m],o,t,n);this.previousInputValues.set(t,n);let s=ue(r.index,o);ic(s,1)}get injector(){return new Rt(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}};function Hv(e,t,n){let r=e.projection=[];for(let o=0;o{class e{static __NG_ELEMENT_ID__=Bv}return e})();function Bv(){let e=V();return Lf(e,g())}var $v=ui,Pf=class extends $v{_lContainer;_hostTNode;_hostLView;constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return dn(this._hostTNode,this._hostLView)}get injector(){return new Rt(this._hostTNode,this._hostLView)}get parentInjector(){let t=Fa(this._hostTNode,this._hostLView);if(cd(t)){let n=Oo(t,this._hostLView),r=Ro(t),o=n[m].data[r+8];return new Rt(o,n)}else return new Rt(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){let n=qu(this._lContainer);return n!==null&&n[t]||null}get length(){return this._lContainer.length-j}createEmbeddedView(t,n,r){let o,i;typeof r=="number"?o=r:r!=null&&(o=r.index,i=r.injector);let s=Bo(this._lContainer,t.ssrId),a=t.createEmbeddedViewImpl(n||{},i,s);return this.insertImpl(a,o,sn(this._hostTNode,s)),a}createComponent(t,n,r,o,i,s,a){let c=t&&!Rg(t),l;if(c)l=n;else{let N=n||{};l=N.index,r=N.injector,o=N.projectableNodes,i=N.environmentInjector||N.ngModuleRef,s=N.directives,a=N.bindings}let u=c?t:new ot(Ne(t)),d=r||this.parentInjector;if(!i&&u.ngModule==null){let T=(c?d:this.parentInjector).get(se,null);T&&(i=T)}let p=Ne(u.componentType??{}),f=Bo(this._lContainer,p?.id??null),h=f?.firstChild??null,v=u.create(d,o,h,i,s,a);return this.insertImpl(v.hostView,l,sn(this._hostTNode,f)),v}insert(t,n){return this.insertImpl(t,n,!0)}insertImpl(t,n,r){let o=t._lView;if(zl(o)){let a=this.indexOf(t);if(a!==-1)this.detach(a);else{let c=o[$],l=new Pf(c,c[K],c[$]);l.detach(l.indexOf(t))}}let i=this._adjustIndex(n),s=this._lContainer;return or(s,o,i,r),t.attachToViewContainerRef(),os(Ws(s),i,t),t}move(t,n){return this.insert(t,n)}indexOf(t){let n=qu(this._lContainer);return n!==null?n.indexOf(t):-1}remove(t){let n=this._adjustIndex(t,-1),r=Qn(this._lContainer,n);r&&(Rn(Ws(this._lContainer),n),oi(r[m],r))}detach(t){let n=this._adjustIndex(t,-1),r=Qn(this._lContainer,n);return r&&Rn(Ws(this._lContainer),n)!=null?new rt(r):null}_adjustIndex(t,n=0){return t??this.length+n}};function qu(e){return e[kn]}function Ws(e){return e[kn]||(e[kn]=[])}function Lf(e,t){let n,r=t[e.index];return me(r)?n=r:(n=Df(r,t,null,e),t[e.index]=n,Ga(t,n)),Wv(n,t,e,r),new Pf(n,e,t)}function Uv(e,t){let n=e[A],r=n.createComment(""),o=le(t,e),i=n.parentNode(o);return Fo(n,i,r,n.nextSibling(o),!1),r}var Wv=zv,qv=()=>!1;function Gv(e,t,n){return qv(e,t,n)}function zv(e,t,n,r){if(e[Xe])return;let o;n.type&8?o=ce(r):o=Uv(t,n),e[Xe]=o}var Ea=class e{queryList;matches=null;constructor(t){this.queryList=t}clone(){return new e(this.queryList)}setDirty(){this.queryList.setDirty()}},Da=class e{queries;constructor(t=[]){this.queries=t}createEmbeddedView(t){let n=t.queries;if(n!==null){let r=t.contentQueries!==null?t.contentQueries[0]:n.length,o=[];for(let i=0;i0)r.push(s[a/2]);else{let l=i[a+1],u=t[-c];for(let d=j;dt.trim())}function Bf(e,t,n){e.queries===null&&(e.queries=new Ca),e.queries.track(new wa(t,n))}function Xv(e,t){let n=e.contentQueries||(e.contentQueries=[]),r=n.length?n[n.length-1]:-1;t!==r&&n.push(e.queries.length-1,t)}function fc(e,t){return e.queries.getByIndex(t)}function $f(e,t){let n=e[m],r=fc(n,t);return r.crossesNgTemplate?Ta(n,e,t,[]):Ff(n,e,r,t)}function Uf(e,t,n){let r,o=Tn(()=>{r._dirtyCounter();let i=eI(r,e);if(t&&i===void 0)throw new _(-951,!1);return i});return r=o[H],r._dirtyCounter=vo(0),r._flatValue=void 0,o}function pc(e){return Uf(!0,!1,e)}function hc(e){return Uf(!0,!0,e)}function Wf(e,t){let n=e[H];n._lView=g(),n._queryIndex=t,n._queryList=dc(n._lView,t),n._queryList.onDirty(()=>n._dirtyCounter.update(r=>r+1))}function eI(e,t){let n=e._lView,r=e._queryIndex;if(n===void 0||r===void 0||n[E]&4)return t?void 0:Q;let o=dc(n,r),i=$f(n,r);return o.reset(i,vd),t?o.first:o._changesDetected||e._flatValue===void 0?e._flatValue=o.toArray():e._flatValue}var an=class{},qf=class{};var Go=class extends an{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new Uo(this);constructor(t,n,r,o=!0){super(),this.ngModuleType=t,this._parent=n;let i=as(t);this._bootstrapComponents=Bd(i.bootstrap),this._r3Injector=Ps(t,n,[{provide:an,useValue:this},{provide:ir,useValue:this.componentFactoryResolver},...r],Fe(t),new Set(["environment"])),o&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}},zo=class extends qf{moduleType;constructor(t){super(),this.moduleType=t}create(t){return new Go(this.moduleType,t,[])}};var Kn=class extends an{injector;componentFactoryResolver=new Uo(this);instance=null;constructor(t){super();let n=new Dt([...t.providers,{provide:an,useValue:this},{provide:ir,useValue:this.componentFactoryResolver}],t.parent||Gt(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}};function Gf(e,t,n=null){return new Kn({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var tI=(()=>{class e{_injector;cachedInjectors=new Map;constructor(n){this._injector=n}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){let r=cs(!1,n.type),o=r.length>0?Gf([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,o)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(let n of this.cachedInjectors.values())n!==null&&n.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=U({token:e,providedIn:"environment",factory:()=>new e(be(se))})}return e})();function nI(e){return un(()=>{let t=zf(e),n=q(W({},t),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ja.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?o=>o.get(tI).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||on.Emulated,styles:e.styles||Q,_:null,schemas:e.schemas||null,tView:null,id:""});t.standalone&&it("NgStandalone"),Qf(n);let r=e.dependencies;return n.directiveDefs=Gu(r,rI),n.pipeDefs=Gu(r,Fl),n.id=lI(n),n})}function rI(e){return Ne(e)||oo(e)}function oI(e){return un(()=>({type:e.type,bootstrap:e.bootstrap||Q,declarations:e.declarations||Q,imports:e.imports||Q,exports:e.exports||Q,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function iI(e,t){if(e==null)return he;let n={};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r],i,s,a,c;Array.isArray(o)?(a=o[0],i=o[1],s=o[2]??i,c=o[3]||null):(i=o,s=o,a=ti.None,c=null),n[i]=[r,a,c],t[i]=s}return n}function sI(e){if(e==null)return he;let t={};for(let n in e)e.hasOwnProperty(n)&&(t[e[n]]=n);return t}function aI(e){return un(()=>{let t=zf(e);return Qf(t),t})}function cI(e){return{type:e.type,name:e.name,factory:null,pure:e.pure!==!1,standalone:e.standalone??!0,onDestroy:e.type.prototype.ngOnDestroy||null}}function zf(e){let t={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputConfig:e.inputs||he,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||Q,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,inputs:iI(e.inputs,t),outputs:sI(e.outputs),debugInfo:null}}function Qf(e){e.features?.forEach(t=>t(e))}function Gu(e,t){return e?()=>{let n=typeof e=="function"?e():e,r=[];for(let o of n){let i=t(o);i!==null&&r.push(i)}return r}:null}function lI(e){let t=0,n=typeof e.consts=="function"?"":e.consts,r=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,n,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery];for(let i of r.join("|"))t=Math.imul(31,t)+i.charCodeAt(0)<<0;return t+=2147483648,"c"+t}function uI(e){return Object.getPrototypeOf(e.prototype).constructor}function Zf(e){let t=uI(e.type),n=!0,r=[e];for(;t;){let o;if(ye(e))o=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new _(903,!1);o=t.\u0275dir}if(o){if(n){r.push(o);let s=e;s.inputs=qs(e.inputs),s.declaredInputs=qs(e.declaredInputs),s.outputs=qs(e.outputs);let a=o.hostBindings;a&&gI(e,a);let c=o.viewQuery,l=o.contentQueries;if(c&&pI(e,c),l&&hI(e,l),dI(e,o),Ml(e.outputs,o.outputs),ye(o)&&o.data.animation){let u=e.data;u.animation=(u.animation||[]).concat(o.data.animation)}}let i=o.features;if(i)for(let s=0;s=0;r--){let o=e[r];o.hostVars=t+=o.hostVars,o.hostAttrs=nn(o.hostAttrs,n=nn(n,o.hostAttrs))}}function qs(e){return e===he?{}:e===Q?[]:e}function pI(e,t){let n=e.viewQuery;n?e.viewQuery=(r,o)=>{t(r,o),n(r,o)}:e.viewQuery=t}function hI(e,t){let n=e.contentQueries;n?e.contentQueries=(r,o,i)=>{t(r,o,i),n(r,o,i)}:e.contentQueries=t}function gI(e,t){let n=e.hostBindings;n?e.hostBindings=(r,o)=>{t(r,o),n(r,o)}:e.hostBindings=t}function mI(e){let t=n=>{let r=Array.isArray(e);n.hostDirectives===null?(n.resolveHostDirectives=yI,n.hostDirectives=r?e.map(ba):[e]):r?n.hostDirectives.unshift(...e.map(ba)):n.hostDirectives.unshift(e)};return t.ngInherit=!0,t}function yI(e){let t=[],n=!1,r=null,o=null;for(let i=0;i{class e{log(n){console.log(n)}warn(n){console.warn(n)}static \u0275fac=function(r){return new(r||e)};static \u0275prov=U({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();var ep=new x("");function gc(e){return!!e&&typeof e.then=="function"}function tp(e){return!!e&&typeof e.subscribe=="function"}var mc=new x("");function wI(e){return qt([{provide:mc,multi:!0,useValue:e}])}var yc=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r});appInits=y(mc,{optional:!0})??[];injector=y(fe);constructor(){}runInitializers(){if(this.initialized)return;let n=[];for(let o of this.appInits){let i=io(this.injector,o);if(gc(i))n.push(i);else if(tp(i)){let s=new Promise((a,c)=>{i.subscribe({complete:a,error:c})});n.push(s)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(o=>{this.reject(o)}),n.length===0&&r(),this.initialized=!0}static \u0275fac=function(r){return new(r||e)};static \u0275prov=U({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),np=new x("");function rp(){Pi(()=>{let e="";throw new _(600,e)})}function op(e){return e.isBoundToModule}var TI=10;var ar=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=y(Oe);afterRenderManager=y(ri);zonelessEnabled=y(Hn);rootEffectScheduler=y(Bn);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new ie;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=y(nt);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(We(n=>!n))}constructor(){y(pn,{optional:!0})}whenStable(){let n;return new Promise(r=>{n=this.isStable.subscribe({next:o=>{o&&r()}})}).finally(()=>{n.unsubscribe()})}_injector=y(se);_rendererFactory=null;get injector(){return this._injector}bootstrap(n,r){return this.bootstrapImpl(n,r)}bootstrapImpl(n,r,o=fe.NULL){return this._injector.get(X).run(()=>{R(10);let s=n instanceof li;if(!this._injector.get(yc).done){let h="";throw new _(405,h)}let c;s?c=n:c=this._injector.get(ir).resolveComponentFactory(n),this.componentTypes.push(c.componentType);let l=op(c)?void 0:this._injector.get(an),u=r||c.selector,d=c.create(o,[],u,l),p=d.location.nativeElement,f=d.injector.get(ep,null);return f?.registerApplication(p),d.onDestroy(()=>{this.detachView(d.hostView),Un(this.components,d),f?.unregisterApplication(p)}),this._loadComponent(d),R(11,d),d})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){R(12),this.tracingSnapshot!==null?this.tracingSnapshot.run(ni.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new _(101,!1);let n=I(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,I(n),this.afterTick.next(),R(13)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Yn,null,{optional:!0}));let n=0;for(;this.dirtyFlags!==0&&n++Ln(n))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(n){let r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){let r=n;Un(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView);try{this.tick()}catch(o){this.internalErrorHandler(o)}this.components.push(n),this._injector.get(np,[]).forEach(o=>o(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Un(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new _(406,!1);let n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(r){return new(r||e)};static \u0275prov=U({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Un(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function ip(e,t){let n=g(),r=He();if(te(n,r,t)){let o=k(),i=Xt();if(ai(i,o,n,e,t))Ve(i)&&uf(n,i.index);else{let a=le(i,n);df(n[A],a,null,i.value,e,t,null)}}return ip}function sp(e,t,n,r){let o=g(),i=He();if(te(o,i,t)){let s=k(),a=Xt();Uy(a,o,e,t,n,r)}return sp}var pS=typeof document<"u"&&typeof document?.documentElement?.getAnimations=="function";var _a=class{destroy(t){}updateValue(t,n){}swap(t,n){let r=Math.min(t,n),o=Math.max(t,n),i=this.detach(o);if(o-r>1){let s=this.detach(r);this.attach(r,i),this.attach(o,s)}else this.attach(r,i)}move(t,n){this.attach(n,this.detach(t,!0))}};function Gs(e,t,n,r,o){return e===n&&Object.is(t,r)?1:Object.is(o(e,t),o(n,r))?-1:0}function bI(e,t,n){let r,o,i=0,s=e.length-1,a=void 0;if(Array.isArray(t)){let c=t.length-1;for(;i<=s&&i<=c;){let l=e.at(i),u=t[i],d=Gs(i,l,i,u,n);if(d!==0){d<0&&e.updateValue(i,u),i++;continue}let p=e.at(s),f=t[c],h=Gs(s,p,c,f,n);if(h!==0){h<0&&e.updateValue(s,f),s--,c--;continue}let v=n(i,l),N=n(s,p),T=n(i,u);if(Object.is(T,N)){let De=n(c,f);Object.is(De,v)?(e.swap(i,s),e.updateValue(s,f),c--,s--):e.move(s,i),e.updateValue(i,u),i++;continue}if(r??=new Qo,o??=Yu(e,i,s,n),Ma(e,r,i,T))e.updateValue(i,u),i++,s++;else if(o.has(T))r.set(v,e.detach(i)),s--;else{let De=e.create(i,t[i]);e.attach(i,De),i++,s++}}for(;i<=c;)Zu(e,r,n,i,t[i]),i++}else if(t!=null){let c=t[Symbol.iterator](),l=c.next();for(;!l.done&&i<=s;){let u=e.at(i),d=l.value,p=Gs(i,u,i,d,n);if(p!==0)p<0&&e.updateValue(i,d),i++,l=c.next();else{r??=new Qo,o??=Yu(e,i,s,n);let f=n(i,d);if(Ma(e,r,i,f))e.updateValue(i,d),i++,s++,l=c.next();else if(!o.has(f))e.attach(i,e.create(i,d)),i++,s++,l=c.next();else{let h=n(i,u);r.set(h,e.detach(i)),s--}}}for(;!l.done;)Zu(e,r,n,e.length,l.value),l=c.next()}for(;i<=s;)e.destroy(e.detach(s--));r?.forEach(c=>{e.destroy(c)})}function Ma(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function Zu(e,t,n,r,o){if(Ma(e,t,r,n(r,o)))e.updateValue(r,o);else{let i=e.create(r,o);e.attach(r,i)}}function Yu(e,t,n,r){let o=new Set;for(let i=t;i<=n;i++)o.add(r(i,e.at(i)));return o}var Qo=class{kvMap=new Map;_vMap=void 0;has(t){return this.kvMap.has(t)}delete(t){if(!this.has(t))return!1;let n=this.kvMap.get(t);return this._vMap!==void 0&&this._vMap.has(n)?(this.kvMap.set(t,this._vMap.get(n)),this._vMap.delete(n)):this.kvMap.delete(t),!0}get(t){return this.kvMap.get(t)}set(t,n){if(this.kvMap.has(t)){let r=this.kvMap.get(t);this._vMap===void 0&&(this._vMap=new Map);let o=this._vMap;for(;o.has(r);)r=o.get(r);o.set(r,n)}else this.kvMap.set(t,n)}forEach(t){for(let[n,r]of this.kvMap)if(t(r,n),this._vMap!==void 0){let o=this._vMap;for(;o.has(r);)r=o.get(r),t(r,n)}}};function _I(e,t,n,r,o,i,s,a){it("NgControlFlow");let c=g(),l=k(),u=oe(l.consts,i);return cn(c,l,e,t,n,r,o,u,256,s,a),vc}function vc(e,t,n,r,o,i,s,a){it("NgControlFlow");let c=g(),l=k(),u=oe(l.consts,i);return cn(c,l,e,t,n,r,o,u,512,s,a),vc}function MI(e,t){it("NgControlFlow");let n=g(),r=He(),o=n[r]!==G?n[r]:-1,i=o!==-1?Zo(n,P+o):void 0,s=0;if(te(n,r,e)){let a=I(null);try{if(i!==void 0&&wf(i,s),e!==-1){let c=P+e,l=Zo(n,c),u=Aa(n[m],c),d=bf(l,u,n),p=rr(n,u,t,{dehydratedView:d});or(l,p,s,sn(u,d))}}finally{I(a)}}else if(i!==void 0){let a=Cf(i,s);a!==void 0&&(a[L]=t)}}var Na=class{lContainer;$implicit;$index;constructor(t,n,r){this.lContainer=t,this.$implicit=n,this.$index=r}get $count(){return this.lContainer.length-j}};function NI(e){return e}function xI(e,t){return t}var xa=class{hasEmptyBlock;trackByFn;liveCollection;constructor(t,n,r){this.hasEmptyBlock=t,this.trackByFn=n,this.liveCollection=r}};function SI(e,t,n,r,o,i,s,a,c,l,u,d,p){it("NgControlFlow");let f=g(),h=k(),v=c!==void 0,N=g(),T=a?s.bind(N[J][L]):s,De=new xa(v,T);N[P+e]=De,cn(f,h,e+1,t,n,r,o,oe(h.consts,i),256),v&&cn(f,h,e+2,c,l,u,d,oe(h.consts,p),512)}var Sa=class extends _a{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(t,n,r){super(),this.lContainer=t,this.hostLView=n,this.templateTNode=r}get length(){return this.lContainer.length-j}at(t){return this.getLView(t)[L].$implicit}attach(t,n){let r=n[wt];this.needsIndexUpdate||=t!==this.length,or(this.lContainer,n,t,sn(this.templateTNode,r))}detach(t,n){return this.needsIndexUpdate||=t!==this.length-1,n&&RI(this.lContainer,t),OI(this.lContainer,t)}create(t,n){let r=Bo(this.lContainer,this.templateTNode.tView.ssrId),o=rr(this.hostLView,this.templateTNode,new Na(this.lContainer,n,t),{dehydratedView:r});return this.operationsCounter?.recordCreate(),o}destroy(t){oi(t[m],t),this.operationsCounter?.recordDestroy()}updateValue(t,n){this.getLView(t)[L].$implicit=n}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let t=0;t(Vn(!0),Wd(t[A],r,hu()));function wc(e,t,n){let r=g(),o=r[m],i=e+P,s=o.firstCreatePass?sc(i,r,8,"ng-container",tc,uo(),t,n):o.data[i];if(nc(s,r,e,"ng-container",PI),Zt(s)){let a=r[m];si(a,r,s),Ha(a,s,r)}return n!=null&&nr(r,s),wc}function Tc(){let e=k(),t=V(),n=rc(t);return e.firstCreatePass&&ac(e,n),Tc}function dp(e,t,n){return wc(e,t,n),Tc(),dp}var PI=(e,t,n,r,o)=>(Vn(!0),iy(t[A],""));function LI(){return g()}function fp(e,t,n){let r=g(),o=He();if(te(r,o,t)){let i=k(),s=Xt();lf(s,r,e,t,r[A],n)}return fp}var To=void 0;function FI(e){let t=Math.floor(Math.abs(e)),n=e.toString().replace(/^[^.]*\.?/,"").length;return t===1&&n===0?1:5}var jI=["en",[["a","p"],["AM","PM"]],[["AM","PM"]],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],To,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],To,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",To,"{1} 'at' {0}",To],[".",",",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",FI],zs={};function VI(e){let t=HI(e),n=Ku(t);if(n)return n;let r=t.split("-")[0];if(n=Ku(r),n)return n;if(r==="en")return jI;throw new _(701,!1)}function Ku(e){return e in zs||(zs[e]=Me.ng&&Me.ng.common&&Me.ng.common.locales&&Me.ng.common.locales[e]),zs[e]}var pp=(function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e})(pp||{});function HI(e){return e.toLowerCase().replace(/_/g,"-")}var cr="en-US";var BI=cr;function hp(e){typeof e=="string"&&(BI=e.toLowerCase().replace(/_/g,"-"))}function gp(e,t,n){let r=g(),o=k(),i=V();return yp(o,r,r[A],i,e,t,n),gp}function mp(e,t,n){let r=g(),o=k(),i=V();return(i.type&3||n)&&Rf(i,o,r,n,r[A],e,t,So(i,r,t)),mp}function yp(e,t,n,r,o,i,s){let a=!0,c=null;if((r.type&3||s)&&(c??=So(r,t,i),Rf(r,e,t,s,n,o,i,c)&&(a=!1)),a){let l=r.outputs?.[o],u=r.hostDirectiveOutputs?.[o];if(u&&u.length)for(let d=0;d>17&32767}function tE(e){return(e&2)==2}function nE(e,t){return e&131071|t<<17}function Oa(e){return e|2}function ln(e){return(e&131068)>>2}function Qs(e,t){return e&-131069|t<<2}function rE(e){return(e&1)===1}function ka(e){return e|1}function oE(e,t,n,r,o,i){let s=i?t.classBindings:t.styleBindings,a=kt(s),c=ln(s);e[r]=n;let l=!1,u;if(Array.isArray(n)){let d=n;u=d[1],(u===null||Wt(d,u)>0)&&(l=!0)}else u=n;if(o)if(c!==0){let p=kt(e[a+1]);e[r+1]=bo(p,a),p!==0&&(e[p+1]=Qs(e[p+1],r)),e[a+1]=nE(e[a+1],r)}else e[r+1]=bo(a,0),a!==0&&(e[a+1]=Qs(e[a+1],r)),a=r;else e[r+1]=bo(c,0),a===0?a=r:e[c+1]=Qs(e[c+1],r),c=r;l&&(e[r+1]=Oa(e[r+1])),Ju(e,u,r,!0),Ju(e,u,r,!1),iE(t,u,e,r,i),s=bo(a,c),i?t.classBindings=s:t.styleBindings=s}function iE(e,t,n,r,o){let i=o?e.residualClasses:e.residualStyles;i!=null&&typeof t=="string"&&Wt(i,t)>=0&&(n[r+1]=ka(n[r+1]))}function Ju(e,t,n,r){let o=e[n+1],i=t===null,s=r?kt(o):ln(o),a=!1;for(;s!==0&&(a===!1||i);){let c=e[s],l=e[s+1];sE(c,t)&&(a=!0,e[s+1]=r?ka(l):Oa(l)),s=r?kt(l):ln(l)}a&&(e[n+1]=r?Oa(o):ka(o))}function sE(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t=="string"?Wt(e,t)>=0:!1}var Ee={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function aE(e){return e.substring(Ee.key,Ee.keyEnd)}function cE(e){return lE(e),vp(e,Ip(e,0,Ee.textEnd))}function vp(e,t){let n=Ee.textEnd;return n===t?-1:(t=Ee.keyEnd=uE(e,Ee.key=t,n),Ip(e,t,n))}function lE(e){Ee.key=0,Ee.keyEnd=0,Ee.value=0,Ee.valueEnd=0,Ee.textEnd=e.length}function Ip(e,t,n){for(;t32;)t++;return t}function Ep(e,t,n){return Cp(e,t,n,!1),Ep}function Dp(e,t){return Cp(e,t,null,!0),Dp}function dE(e){pE(IE,fE,e,!0)}function fE(e,t){for(let n=cE(t);n>=0;n=vp(t,n))no(e,aE(t),!0)}function Cp(e,t,n,r){let o=g(),i=k(),s=Fn(2);if(i.firstUpdatePass&&Tp(i,e,s,r),t!==G&&te(o,s,t)){let a=i.data[ve()];bp(i,a,o,o[A],e,o[s+1]=DE(t,n),r,s)}}function pE(e,t,n,r){let o=k(),i=Fn(2);o.firstUpdatePass&&Tp(o,null,i,r);let s=g();if(n!==G&&te(s,i,n)){let a=o.data[ve()];if(_p(a,r)&&!wp(o,i)){let c=r?a.classesWithoutHost:a.stylesWithoutHost;c!==null&&(n=Kr(c,n||"")),Ra(o,a,s,n,r)}else EE(o,a,s,s[A],s[i+1],s[i+1]=vE(e,t,n),r,i)}}function wp(e,t){return t>=e.expandoStartIndex}function Tp(e,t,n,r){let o=e.data;if(o[n+1]===null){let i=o[ve()],s=wp(e,n);_p(i,r)&&t===null&&!s&&(t=!1),t=hE(o,i,t,r),oE(o,i,t,n,s,r)}}function hE(e,t,n,r){let o=au(e),i=r?t.residualClasses:t.residualStyles;if(o===null)(r?t.classBindings:t.styleBindings)===0&&(n=Zs(null,e,t,n,r),n=Jn(n,t.attrs,r),i=null);else{let s=t.directiveStylingLast;if(s===-1||e[s]!==o)if(n=Zs(o,e,t,n,r),i===null){let c=gE(e,t,r);c!==void 0&&Array.isArray(c)&&(c=Zs(null,e,t,c[1],r),c=Jn(c,t.attrs,r),mE(e,t,r,c))}else i=yE(e,t,r)}return i!==void 0&&(r?t.residualClasses=i:t.residualStyles=i),n}function gE(e,t,n){let r=n?t.classBindings:t.styleBindings;if(ln(r)!==0)return e[kt(r)]}function mE(e,t,n,r){let o=n?t.classBindings:t.styleBindings;e[kt(o)]=r}function yE(e,t,n){let r,o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i0;){let c=e[o],l=Array.isArray(c),u=l?c[1]:c,d=u===null,p=n[o+1];p===G&&(p=d?Q:void 0);let f=d?ro(p,r):u===r?p:void 0;if(l&&!Yo(f)&&(f=ro(c,r)),Yo(f)&&(a=f,s))return a;let h=e[o+1];o=s?kt(h):ln(h)}if(t!==null){let c=i?t.residualClasses:t.residualStyles;c!=null&&(a=ro(c,r))}return a}function Yo(e){return e!==void 0}function DE(e,t){return e==null||e===""||(typeof t=="string"?e=e+t:typeof e=="object"&&(e=Fe(fn(e)))),e}function _p(e,t){return(e.flags&(t?8:16))!==0}function CE(e,t=""){let n=g(),r=k(),o=e+P,i=r.firstCreatePass?hn(r,o,1,t,null):r.data[o],s=wE(r,n,i,t,e);n[o]=s,yo()&&Xa(r,n,s,i),Kt(i,!1)}var wE=(e,t,n,r,o)=>(Vn(!0),ry(t[A],r));function Mp(e,t,n,r=""){return te(e,He(),n)?t+pe(n)+r:G}function TE(e,t,n,r,o,i=""){let s=Rs(),a=uc(e,s,n,o);return Fn(2),a?t+pe(n)+r+pe(o)+i:G}function bE(e,t,n,r,o,i,s,a=""){let c=Rs(),l=Sv(e,c,n,o,s);return Fn(3),l?t+pe(n)+r+pe(o)+i+pe(s)+a:G}function Np(e){return bc("",e),Np}function bc(e,t,n){let r=g(),o=Mp(r,e,t,n);return o!==G&&_c(r,ve(),o),bc}function xp(e,t,n,r,o){let i=g(),s=TE(i,e,t,n,r,o);return s!==G&&_c(i,ve(),s),xp}function Sp(e,t,n,r,o,i,s){let a=g(),c=bE(a,e,t,n,r,o,i,s);return c!==G&&_c(a,ve(),c),Sp}function _c(e,t,n){let r=ys(t,e);oy(e[A],r,n)}function Ap(e,t,n){js(t)&&(t=t());let r=g(),o=He();if(te(r,o,t)){let i=k(),s=Xt();cf(s,r,e,t,r[A],n)}return Ap}function _E(e,t){let n=js(e);return n&&e.set(t),n}function Rp(e,t){let n=g(),r=k(),o=V();return yp(r,n,n[A],o,e,t),Rp}function ME(e,t,n=""){return Mp(g(),e,t,n)}function NE(e,t,n){let r=k();if(r.firstCreatePass){let o=ye(e);Pa(n,r.data,r.blueprint,o,!0),Pa(t,r.data,r.blueprint,o,!1)}}function Pa(e,t,n,r,o){if(e=B(e),Array.isArray(e))for(let i=0;i>20;if(Et(e)||!e.multi){let f=new Ot(l,o,sr,null),h=Ks(c,t,o?u:u+p,d);h===-1?(Xs(Po(a,s),i,c),Ys(i,e,t.length),t.push(c),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),n.push(f),s.push(f)):(n[h]=f,s[h]=f)}else{let f=Ks(c,t,u+p,d),h=Ks(c,t,u,u+p),v=f>=0&&n[f],N=h>=0&&n[h];if(o&&!N||!o&&!v){Xs(Po(a,s),i,c);let T=AE(o?SE:xE,n.length,o,r,l,e);!o&&N&&(n[h].providerFactory=T),Ys(i,e,t.length,0),t.push(c),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),n.push(T),s.push(T)}else{let T=Op(n[o?h:f],l,!o&&r);Ys(i,e,f>-1?f:h,T)}!o&&r&&N&&n[h].componentProviders++}}}function Ys(e,t,n,r){let o=Et(t),i=$l(t);if(o||i){let c=(i?B(t.useClass):t).prototype.ngOnDestroy;if(c){let l=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){let u=l.indexOf(n);u===-1?l.push(n,[r,c]):l[u+1].push(r,c)}else l.push(n,c)}}}function Op(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function Ks(e,t,n,r){for(let o=n;o{n.providersResolver=(r,o)=>NE(r,o?o(e):e,t)}}function OE(e,t,n){let r=fo()+e,o=g();return o[r]===G?lc(o,r,n?t.call(n):t()):xv(o,r)}function kp(e,t){let n=e[t];return n===G?void 0:n}function kE(e,t,n,r,o,i){let s=t+n;return te(e,s,o)?lc(e,s+1,i?r.call(i,o):r(o)):kp(e,s+1)}function PE(e,t,n,r,o,i,s){let a=t+n;return uc(e,a,o,i)?lc(e,a+2,s?r.call(s,o,i):r(o,i)):kp(e,a+2)}function LE(e,t){let n=k(),r,o=e+P;n.firstCreatePass?(r=FE(t,n.pipeRegistry),n.data[o]=r,r.onDestroy&&(n.destroyHooks??=[]).push(o,r.onDestroy)):r=n.data[o];let i=r.factory||(r.factory=Qe(r.type,!0)),s,a=Y(sr);try{let c=ko(!1),l=i();return ko(c),vs(n,g(),o,l),l}finally{Y(a)}}function FE(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function jE(e,t,n){let r=e+P,o=g(),i=ao(o,r);return Pp(o,r)?kE(o,fo(),t,i.transform,n,i):i.transform(n)}function VE(e,t,n,r){let o=e+P,i=g(),s=ao(i,o);return Pp(i,o)?PE(i,fo(),t,s.transform,n,r,s):s.transform(n,r)}function Pp(e,t){return e[m].data[t].pure}function HE(e,t){return ci(e,t)}var Ko=class{ngModuleFactory;componentFactories;constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}},BE=(()=>{class e{compileModuleSync(n){return new zo(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){let r=this.compileModuleSync(n),o=as(n),i=Bd(o.declarations).reduce((s,a)=>{let c=Ne(a);return c&&s.push(new ot(c)),s},[]);return new Ko(r,i)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static \u0275fac=function(r){return new(r||e)};static \u0275prov=U({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var $E=(()=>{class e{zone=y(X);changeDetectionScheduler=y(ne);applicationRef=y(ar);applicationErrorHandler=y(Oe);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{try{this.applicationRef.dirtyFlags|=1,this.applicationRef._tick()}catch(n){this.applicationErrorHandler(n)}})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=U({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function Lp({ngZoneFactory:e,ignoreChangesOutsideZone:t,scheduleInRootZone:n}){return e??=()=>new X(q(W({},Fp()),{scheduleInRootZone:n})),[{provide:X,useFactory:e},{provide:Ye,multi:!0,useFactory:()=>{let r=y($E,{optional:!0});return()=>r.initialize()}},{provide:Ye,multi:!0,useFactory:()=>{let r=y(UE);return()=>{r.initialize()}}},t===!0?{provide:Vs,useValue:!0}:[],{provide:Io,useValue:n??Kd},{provide:Oe,useFactory:()=>{let r=y(X),o=y(se),i;return s=>{r.runOutsideAngular(()=>{o.destroyed&&!i?setTimeout(()=>{throw s}):(i??=o.get(_e),i.handleError(s))})}}}]}function Fp(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}var UE=(()=>{class e{subscription=new F;initialized=!1;zone=y(X);pendingTasks=y(nt);initialize(){if(this.initialized)return;this.initialized=!0;let n=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(n=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{X.assertNotInAngularZone(),queueMicrotask(()=>{n!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(n),n=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{X.assertInAngularZone(),n??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(r){return new(r||e)};static \u0275prov=U({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Mc=(()=>{class e{applicationErrorHandler=y(Oe);appRef=y(ar);taskService=y(nt);ngZone=y(X);zonelessEnabled=y(Hn);tracing=y(pn,{optional:!0});disableScheduling=y(Vs,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new F;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Ho):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(y(Io,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof qn||!this.zoneIsDefined)}notify(n){if(!this.zonelessEnabled&&n===5)return;let r=!1;switch(n){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2,r=!0;break}case 12:{this.appRef.dirtyFlags|=16,r=!0;break}case 13:{this.appRef.dirtyFlags|=2,r=!0;break}case 11:{r=!0;break}case 9:case 8:case 7:case 10:default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(r))return;let o=this.useMicrotaskScheduler?Ou:Jd;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>o(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>o(()=>this.tick()))}shouldScheduleTick(n){return!(this.disableScheduling&&!n||this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Ho+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let n=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){this.taskService.remove(n),this.applicationErrorHandler(r)}finally{this.cleanup()}this.useMicrotaskScheduler=!0,Ou(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(n)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let n=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(n)}}static \u0275fac=function(r){return new(r||e)};static \u0275prov=U({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function WE(){return it("NgZoneless"),qt([{provide:ne,useExisting:Mc},{provide:X,useClass:qn},{provide:Hn,useValue:!0},{provide:Io,useValue:!1},[]])}function qE(){return typeof $localize<"u"&&$localize.locale||cr}var Nc=new x("",{providedIn:"root",factory:()=>y(Nc,{optional:!0,skipSelf:!0})||qE()});var di=class{destroyed=!1;listeners=null;errorHandler=y(_e,{optional:!0});destroyRef=y(Re);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(t){if(this.destroyed)throw new _(953,!1);return(this.listeners??=[]).push(t),{unsubscribe:()=>{let n=this.listeners?.indexOf(t);n!==void 0&&n!==-1&&this.listeners?.splice(n,1)}}}emit(t){if(this.destroyed){console.warn(Sn(953,!1));return}if(this.listeners===null)return;let n=I(null);try{for(let r of this.listeners)try{r(t)}catch(o){this.errorHandler?.handleError(o)}}finally{I(n)}}};function GE(e){return Cl(e)}function zE(e,t){return Tn(e,t?.equal)}var xc=class{[H];constructor(t){this[H]=t}destroy(){this[H].destroy()}};function QE(e,t){let n=t?.injector??y(fe),r=t?.manualCleanup!==!0?n.get(Re):null,o,i=n.get(St,null,{optional:!0}),s=n.get(ne);return i!==null?(o=KE(i.view,s,e),r instanceof xn&&r._lView===i.view&&(r=null)):o=JE(e,n.get(Bn),s),o.injector=n,r!==null&&(o.onDestroyFn=r.onDestroy(()=>o.destroy())),new xc(o)}var jp=q(W({},wl),{cleanupFns:void 0,zone:null,onDestroyFn:At,run(){let e=Jt(!1);try{Tl(this)}finally{Jt(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=I(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],I(e)}}}),ZE=q(W({},jp),{consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){ze(this),this.onDestroyFn(),this.cleanup(),this.scheduler.remove(this)}}),YE=q(W({},jp),{consumerMarkedDirty(){this.view[E]|=8192,et(this.view),this.notifier.notify(13)},destroy(){ze(this),this.onDestroyFn(),this.cleanup(),this.view[je]?.delete(this)}});function KE(e,t,n){let r=Object.create(YE);return r.view=e,r.zone=typeof Zone<"u"?Zone.current:null,r.notifier=t,r.fn=Vp(r,n),e[je]??=new Set,e[je].add(r),r.consumerMarkedDirty(r),r}function JE(e,t,n){let r=Object.create(ZE);return r.fn=Vp(r,e),r.scheduler=t,r.notifier=n,r.zone=typeof Zone<"u"?Zone.current:null,r.scheduler.add(r),r.notifier.notify(12),r}function Vp(e,t){return()=>{t(n=>(e.cleanupFns??=[]).push(n))}}var Gp=Symbol("InputSignalNode#UNSET"),eD=q(W({},bn),{transformFn:void 0,applyValueToInputSignal(e,t){$t(e,t)}});function zp(e,t){let n=Object.create(eD);n.value=e,n.transformFn=t?.transform;function r(){if(gt(n),n.value===Gp){let o=null;throw new _(-950,o)}return n.value}return r[H]=n,r}var Hp=class{attributeName;constructor(t){this.attributeName=t}__NG_ELEMENT_ID__=()=>yd(this.attributeName);toString(){return`HostAttributeToken ${this.attributeName}`}},tD=new x("");tD.__NG_ELEMENT_ID__=e=>{let t=V();if(t===null)throw new _(204,!1);if(t.type&2)return t.value;if(e&8)return null;throw new _(204,!1)};function uL(e){return new di}function Bp(e,t){return zp(e,t)}function nD(e){return zp(Gp,e)}var dL=(Bp.required=nD,Bp);function $p(e,t){return pc(t)}function rD(e,t){return hc(t)}var fL=($p.required=rD,$p);function Up(e,t){return pc(t)}function oD(e,t){return hc(t)}var pL=(Up.required=oD,Up);var Ac=new x(""),iD=new x("");function lr(e){return!e.moduleRef}function sD(e){let t=lr(e)?e.r3Injector:e.moduleRef.injector,n=t.get(X);return n.run(()=>{lr(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(Oe),o;if(n.runOutsideAngular(()=>{o=n.onError.subscribe({next:r})}),lr(e)){let i=()=>t.destroy(),s=e.platformInjector.get(Ac);s.add(i),t.onDestroy(()=>{o.unsubscribe(),s.delete(i)})}else{let i=()=>e.moduleRef.destroy(),s=e.platformInjector.get(Ac);s.add(i),e.moduleRef.onDestroy(()=>{Un(e.allPlatformModules,e.moduleRef),o.unsubscribe(),s.delete(i)})}return cD(r,n,()=>{let i=t.get(nt),s=i.add(),a=t.get(yc);return a.runInitializers(),a.donePromise.then(()=>{let c=t.get(Nc,cr);if(hp(c||cr),!t.get(iD,!0))return lr(e)?t.get(ar):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(lr(e)){let u=t.get(ar);return e.rootComponent!==void 0&&u.bootstrap(e.rootComponent),u}else return aD?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>void i.remove(s))})})}var aD;function cD(e,t,n){try{let r=n();return gc(r)?r.catch(o=>{throw t.runOutsideAngular(()=>e(o)),o}):r}catch(r){throw t.runOutsideAngular(()=>e(r)),r}}var fi=null;function lD(e=[],t){return fe.create({name:t,providers:[{provide:us,useValue:"platform"},{provide:Ac,useValue:new Set([()=>fi=null])},...e]})}function uD(e=[]){if(fi)return fi;let t=lD(e);return fi=t,rp(),dD(t),t}function dD(e){let t=e.get(Td,null);io(e,()=>{t?.forEach(n=>n())})}var hL=(()=>{class e{static __NG_ELEMENT_ID__=fD}return e})();function fD(e){return pD(V(),g(),(e&16)===16)}function pD(e,t,n){if(Ve(e)&&!n){let r=ue(e.index,t);return new rt(r,r)}else if(e.type&175){let r=t[J];return new rt(r,t)}return null}var Rc=class{constructor(){}supports(t){return cc(t)}create(t){return new Oc(t)}},hD=(e,t)=>t,Oc=class{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(t){this._trackByFn=t||hD}forEachItem(t){let n;for(n=this._itHead;n!==null;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,o=0,i=null;for(;n||r;){let s=!r||n&&n.currentIndex{s=this._trackByFn(o,a),n===null||!Object.is(n.trackById,s)?(n=this._mismatch(n,a,s,o),r=!0):(r&&(n=this._verifyReinsertion(n,a,s,o)),Object.is(n.item,a)||this._addIdentityChange(n,a)),n=n._next,o++}),this.length=o;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;t!==null;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;t!==null;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;t!==null;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,r,o){let i;return t===null?i=this._itTail:(i=t._prev,this._remove(t)),t=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null),t!==null?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,i,o)):(t=this._linkedRecords===null?null:this._linkedRecords.get(r,o),t!==null?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,i,o)):t=this._addAfter(new kc(n,r),i,o)),t}_verifyReinsertion(t,n,r,o){let i=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null);return i!==null?t=this._reinsertAfter(i,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;t!==null;){let n=t._next;this._addToRemovals(this._unlink(t)),t=n}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,r){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(t);let o=t._prevRemoved,i=t._nextRemoved;return o===null?this._removalsHead=i:o._nextRemoved=i,i===null?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail===null?this._additionsTail=this._additionsHead=t:this._additionsTail=this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){let o=n===null?this._itHead:n._next;return t._next=o,t._prev=n,o===null?this._itTail=t:o._prev=t,n===null?this._itHead=t:n._next=t,this._linkedRecords===null&&(this._linkedRecords=new pi),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){this._linkedRecords!==null&&this._linkedRecords.remove(t);let n=t._prev,r=t._next;return n===null?this._itHead=r:n._next=r,r===null?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail===null?this._movesTail=this._movesHead=t:this._movesTail=this._movesTail._nextMoved=t),t}_addToRemovals(t){return this._unlinkedRecords===null&&(this._unlinkedRecords=new pi),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=t:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=t,t}},kc=class{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(t,n){this.item=t,this.trackById=n}},Pc=class{_head=null;_tail=null;add(t){this._head===null?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let r;for(r=this._head;r!==null;r=r._nextDup)if((n===null||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){let n=t._prevDup,r=t._nextDup;return n===null?this._head=r:n._nextDup=r,r===null?this._tail=n:r._prevDup=n,this._head===null}},pi=class{map=new Map;put(t){let n=t.trackById,r=this.map.get(n);r||(r=new Pc,this.map.set(n,r)),r.add(t)}get(t,n){let r=t,o=this.map.get(r);return o?o.get(t,n):null}remove(t){let n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function Wp(e,t,n){let r=e.previousIndex;if(r===null)return r;let o=0;return n&&r{class e{factories;static \u0275prov=U({token:e,providedIn:"root",factory:qp});constructor(n){this.factories=n}static create(n,r){if(r!=null){let o=r.factories.slice();n=n.concat(o)}return new e(n)}static extend(n){return{provide:e,useFactory:()=>{let r=y(e,{optional:!0,skipSelf:!0});return e.create(n,r||qp())}}}find(n){let r=this.factories.find(o=>o.supports(n));if(r!=null)return r;throw new _(901,!1)}}return e})();function gL(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:o}=e;R(8);try{let i=o?.injector??uD(r),s=[Lp({}),{provide:ne,useExisting:Mc},yu,...n||[]],a=new Kn({providers:s,parent:i,debugName:"",runEnvironmentInitializers:!1});return sD({r3Injector:a.injector,platformInjector:i,rootComponent:t})}catch(i){return Promise.reject(i)}finally{R(9)}}function mL(e){return typeof e=="boolean"?e:e!=null&&e!=="false"}function yL(e,t=NaN){return!isNaN(parseFloat(e))&&!isNaN(Number(e))?Number(e):t}var Sc=Symbol("NOT_SET"),Qp=new Set,mD=q(W({},bn),{consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,value:Sc,cleanup:null,consumerMarkedDirty(){if(this.sequence.impl.executing){if(this.sequence.lastPhase===null||this.sequence.lastPhase(gt(l),l.value),l.signal[H]=l,l.registerCleanupFn=u=>(l.cleanup??=new Set).add(u),this.nodes[a]=l,this.hooks[a]=u=>l.phaseFn(u)}}afterRun(){super.afterRun(),this.lastPhase=null}destroy(){super.destroy();for(let t of this.nodes)if(t)try{for(let n of t.cleanup??Qp)n()}finally{ze(t)}}};function vL(e,t){let n=t?.injector??y(fe),r=n.get(ne),o=n.get(ri),i=n.get(pn,null,{optional:!0});o.impl??=n.get(Ka);let s=e;typeof s=="function"&&(s={mixedReadWrite:e});let a=n.get(St,null,{optional:!0}),c=new Lc(o.impl,[s.earlyRead,s.write,s.mixedReadWrite,s.read],a?.view,r,n,i?.snapshot(null));return o.impl.register(c),c}function IL(e,t){let n=Ne(e),r=t.elementInjector||Gt();return new ot(n).create(r,t.projectableNodes,t.hostElement,t.environmentInjector,t.directives,t.bindings)}function EL(e){let t=Ne(e);if(!t)return null;let n=new ot(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}export{W as a,q as b,yD as c,F as d,th as e,M as f,Ci as g,wi as h,ie as i,In as j,En as k,dt as l,we as m,mh as n,yh as o,vh as p,ft as q,We as r,_h as s,pt as t,Dn as u,Lr as v,Nh as w,xh as x,vn as y,oh as z,Sh as A,qe as B,Ah as C,bi as D,Rh as E,ih as F,Cn as G,_i as H,sh as I,ch as J,kh as K,Mi as L,Ph as M,Lh as N,Fh as O,xi as P,jh as Q,Vh as R,Hh as S,Bh as T,el as U,$h as V,pl as W,_ as X,Sn as Y,Jr as Z,U as _,Nl as $,Jh as aa,x as ba,be as ca,y as da,qt as ea,us as fa,se as ga,io as ha,Xl as ia,eu as ja,fu as ka,pu as la,fe as ma,mu as na,Re as oa,_e as pa,Oe as qa,Dg as ra,Ls as sa,vo as ta,ne as ua,nt as va,Hs as wa,Sg as xa,Ag as ya,Og as za,Kg as Aa,yd as Ba,Xn as Ca,Lo as Da,om as Ea,im as Fa,Td as Ga,am as Ha,cm as Ia,lm as Ja,fm as Ka,on as La,fn as Ma,ei as Na,ym as Oa,vm as Pa,Im as Qa,Em as Ra,Dm as Sa,Ba as Ta,jd as Ua,tr as Va,jm as Wa,Vd as Xa,Hm as Ya,dy as Za,jo as _a,Vo as $a,pn as ab,it as bb,Be as cb,X as db,Iy as eb,Zn as fb,Yn as gb,mv as hb,sr as ib,vv as jb,ui as kb,an as lb,qf as mb,Gf as nb,nI as ob,oI as pb,aI as qb,cI as rb,Zf as sb,mI as tb,Jf as ub,Xf as vb,CI as wb,gc as xb,wI as yb,np as zb,ar as Ab,ip as Bb,sp as Cb,_I as Db,MI as Eb,NI as Fb,xI as Gb,SI as Hb,AI as Ib,ap as Jb,Ic as Kb,Ec as Lb,cp as Mb,Dc as Nb,Cc as Ob,lp as Pb,wc as Qb,Tc as Rb,dp as Sb,LI as Tb,fp as Ub,VI as Vb,pp as Wb,gp as Xb,mp as Yb,$I as Zb,WI as _b,qI as $b,zI as ac,QI as bc,ZI as cc,YI as dc,KI as ec,JI as fc,XI as gc,eE as hc,Ep as ic,Dp as jc,dE as kc,CE as lc,Np as mc,bc as nc,xp as oc,Sp as pc,Ap as qc,_E as rc,Rp as sc,ME as tc,RE as uc,OE as vc,LE as wc,jE as xc,VE as yc,HE as zc,BE as Ac,WE as Bc,Nc as Cc,GE as Dc,zE as Ec,QE as Fc,Hp as Gc,tD as Hc,uL as Ic,dL as Jc,fL as Kc,pL as Lc,hL as Mc,gD as Nc,gL as Oc,mL as Pc,yL as Qc,vL as Rc,IL as Sc,EL as Tc}; diff --git a/chunk-37GOEORY.js b/chunk-37GOEORY.js new file mode 100644 index 0000000..0614407 --- /dev/null +++ b/chunk-37GOEORY.js @@ -0,0 +1,2 @@ +import{b as Z,c as je,f as ze,i as Xe,l as Ue}from"./chunk-LLJSP5R2.js";import{d as Ye,g as Ve}from"./chunk-HMKN2VB2.js";import{D as Te,E as Se,L as G,N as Oe,X as Ee,Y as Ae,_ as Fe,ca as Be,ea as K,oa as q,ra as Le,ta as Ne,va as He}from"./chunk-COFYR5MX.js";import{$ as ae,$b as k,A as v,B as ne,Ca as x,Cb as _,Da as ue,Db as Me,Eb as ve,H as oe,Jb as Ce,Kb as V,Lb as j,Mb as z,Mc as D,Nb as X,Ob as xe,Pc as b,S as C,T as L,Tb as we,U as se,Ub as ke,Xb as U,Yb as Ie,Za as N,Zb as l,_b as Q,a as F,ac as I,b as ie,ba as c,bc as De,cb as w,cc as g,d as y,da as a,db as ce,dc as f,eb as de,fb as pe,hb as he,i as M,ia as d,ja as p,jb as _e,jc as W,ka as re,kb as ge,kc as Pe,ma as h,n as B,na as le,ob as H,pb as fe,qb as Y,sb as be,ta as me,uc as Re,vb as ye}from"./chunk-2MUIW2M6.js";var tt=["mat-menu-item",""],it=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],nt=["mat-icon, [matMenuItemIcon]","*"];function ot(o,T){o&1&&(re(),V(0,"svg",2),z(1,"polygon",3),j())}var st=["*"];function at(o,T){if(o&1){let e=we();X(0,"div",0),Ie("click",function(){d(e);let i=l();return p(i.closed.emit("click"))})("animationstart",function(i){d(e);let n=l();return p(n._onAnimationStart(i.animationName))})("animationend",function(i){d(e);let n=l();return p(n._onAnimationDone(i.animationName))})("animationcancel",function(i){d(e);let n=l();return p(n._onAnimationDone(i.animationName))}),X(1,"div",1),k(2),xe()()}if(o&2){let e=l();Pe(e._classList),W("mat-menu-panel-animations-disabled",e._animationsDisabled)("mat-menu-panel-exit-animation",e._panelAnimationState==="void")("mat-menu-panel-animating",e._isAnimating()),ke("id",e.panelId),_("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}var ee=new c("MAT_MENU_PANEL"),$=(()=>{class o{_elementRef=a(x);_document=a(le);_focusMonitor=a(G);_parentMenu=a(ee,{optional:!0});_changeDetectorRef=a(D);role="menuitem";disabled=!1;disableRipple=!1;_hovered=new M;_focused=new M;_highlighted=!1;_triggersSubmenu=!1;constructor(){a(Oe).load(Ne),this._parentMenu?.addItem?.(this)}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,t):this._getHostElement().focus(t),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){let e=this._elementRef.nativeElement.cloneNode(!0),t=e.querySelectorAll("mat-icon, .material-icons");for(let i=0;i{class o{_elementRef=a(x);_changeDetectorRef=a(D);_injector=a(h);_keyManager;_xPosition;_yPosition;_firstItemFocusRef;_exitFallbackTimeout;_animationsDisabled=q();_allItems;_directDescendantItems=new ue;_classList={};_panelAnimationState="void";_animationDone=new M;_isAnimating=me(!1);parentMenu;direction;overlayPanelClass;backdropClass;ariaLabel;ariaLabelledby;ariaDescribedby;get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}templateRef;items;lazyContent;overlapTrigger;hasBackdrop;set panelClass(e){let t=this._previousPanelClass,i=F({},this._classList);t&&t.length&&t.split(" ").forEach(n=>{i[n]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(n=>{i[n]=!0}),this._elementRef.nativeElement.className=""),this._classList=i}_previousPanelClass;get classList(){return this.panelClass}set classList(e){this.panelClass=e}closed=new w;close=this.closed;panelId=a(Ee).getId("mat-menu-panel-");constructor(){let e=a(lt);this.overlayPanelClass=e.overlayPanelClass||"",this._xPosition=e.xPosition,this._yPosition=e.yPosition,this.backdropClass=e.backdropClass,this.overlapTrigger=e.overlapTrigger,this.hasBackdrop=e.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new Fe(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(C(this._directDescendantItems),L(e=>v(...e.map(t=>t._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{let t=this._keyManager;if(this._panelAnimationState==="enter"&&t.activeItem?._hasFocus()){let i=e.toArray(),n=Math.max(0,Math.min(i.length-1,t.activeItemIndex||0));i[n]&&!i[n].disabled?t.setActiveItem(n):t.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusRef?.destroy(),clearTimeout(this._exitFallbackTimeout)}_hovered(){return this._directDescendantItems.changes.pipe(C(this._directDescendantItems),L(t=>v(...t.map(i=>i._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){let t=e.keyCode,i=this._keyManager;switch(t){case 27:Ae(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&this.direction==="ltr"&&this.closed.emit("keydown");break;case 39:this.parentMenu&&this.direction==="rtl"&&this.closed.emit("keydown");break;default:(t===38||t===40)&&i.setFocusOrigin("keyboard"),i.onKeydown(e);return}}focusFirstItem(e="program"){this._firstItemFocusRef?.destroy(),this._firstItemFocusRef=de(()=>{let t=this._resolvePanel();if(!t||!t.contains(document.activeElement)){let i=this._keyManager;i.setFocusOrigin(e).setFirstItemActive(),!i.activeItem&&t&&t.focus()}},{injector:this._injector})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){}setPositionClasses(e=this.xPosition,t=this.yPosition){this._classList=ie(F({},this._classList),{"mat-menu-before":e==="before","mat-menu-after":e==="after","mat-menu-above":t==="above","mat-menu-below":t==="below"}),this._changeDetectorRef.markForCheck()}_onAnimationDone(e){let t=e===P;(t||e===J)&&(t&&(clearTimeout(this._exitFallbackTimeout),this._exitFallbackTimeout=void 0),this._animationDone.next(t?"void":"enter"),this._isAnimating.set(!1))}_onAnimationStart(e){(e===J||e===P)&&this._isAnimating.set(!0)}_setIsOpen(e){if(this._panelAnimationState=e?"enter":"void",e){if(this._keyManager.activeItemIndex===0){let t=this._resolvePanel();t&&(t.scrollTop=0)}}else this._animationsDisabled||(this._exitFallbackTimeout=setTimeout(()=>this._onAnimationDone(P),200));this._animationsDisabled&&setTimeout(()=>{this._onAnimationDone(e?J:P)}),this._changeDetectorRef.markForCheck()}_updateDirectDescendants(){this._allItems.changes.pipe(C(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(t=>t._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}_resolvePanel(){let e=null;return this._directDescendantItems.length&&(e=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),e}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=H({type:o,selectors:[["mat-menu"]],contentQueries:function(t,i,n){if(t&1&&(I(n,rt,5),I(n,$,5),I(n,$,4)),t&2){let s;g(s=f())&&(i.lazyContent=s.first),g(s=f())&&(i._allItems=s),g(s=f())&&(i.items=s)}},viewQuery:function(t,i){if(t&1&&De(pe,5),t&2){let n;g(n=f())&&(i.templateRef=n.first)}},hostVars:3,hostBindings:function(t,i){t&2&&_("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[2,"overlapTrigger","overlapTrigger",b],hasBackdrop:[2,"hasBackdrop","hasBackdrop",e=>e==null?null:b(e)],panelClass:[0,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],features:[Re([{provide:ee,useExisting:o}])],ngContentSelectors:st,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel",3,"click","animationstart","animationend","animationcancel","id"],[1,"mat-mdc-menu-content"]],template:function(t,i){t&1&&(Q(),ye(0,at,3,12,"ng-template"))},styles:[`mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none} +`],encapsulation:2,changeDetection:0})}return o})(),Ge=new c("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let o=a(h);return()=>Z(o)}});function ut(o){let T=a(h);return()=>Z(T)}var ct={provide:Ge,deps:[],useFactory:ut};var m=new WeakMap,dt=(()=>{class o{_canHaveBackdrop;_element=a(x);_viewContainerRef=a(ge);_menuItemInstance=a($,{optional:!0,self:!0});_dir=a(Be,{optional:!0});_focusMonitor=a(G);_ngZone=a(ce);_injector=a(h);_scrollStrategy=a(Ge);_changeDetectorRef=a(D);_animationsDisabled=q();_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=y.EMPTY;_menuCloseSubscription=y.EMPTY;_pendingRemoval;_parentMaterialMenu;_parentInnerPadding;_openedBy=void 0;get _menu(){return this._menuInternal}set _menu(e){e!==this._menuInternal&&(this._menuInternal=e,this._menuCloseSubscription.unsubscribe(),e&&(this._parentMaterialMenu,this._menuCloseSubscription=e.close.subscribe(t=>{this._destroyMenu(t),(t==="click"||t==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(t)})),this._menuItemInstance?._setTriggersSubmenu(this._triggersSubmenu()))}_menuInternal;constructor(e){this._canHaveBackdrop=e;let t=a(ee,{optional:!0});this._parentMaterialMenu=t instanceof R?t:void 0}ngOnDestroy(){this._menu&&this._ownsMenu(this._menu)&&m.delete(this._menu),this._pendingRemoval?.unsubscribe(),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null)}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this._menu)}_closeMenu(){this._menu?.close.emit()}_openMenu(e){let t=this._menu;if(this._menuOpen||!t)return;this._pendingRemoval?.unsubscribe();let i=m.get(t);m.set(t,this),i&&i!==this&&i._closeMenu();let n=this._createOverlay(t),s=n.getConfig(),r=s.positionStrategy;this._setPosition(t,r),this._canHaveBackdrop?s.hasBackdrop=t.hasBackdrop==null?!this._triggersSubmenu():t.hasBackdrop:s.hasBackdrop=!1,n.hasAttached()||(n.attach(this._getPortal(t)),t.lazyContent?.attach(this.menuData)),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this._closeMenu()),t.parentMenu=this._triggersSubmenu()?this._parentMaterialMenu:void 0,t.direction=this.dir,e&&t.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0),t instanceof R&&(t._setIsOpen(!0),t._directDescendantItems.changes.pipe(se(t.close)).subscribe(()=>{r.withLockedPosition(!1).reapplyLastPosition(),r.withLockedPosition(!0)}))}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}_destroyMenu(e){let t=this._overlayRef,i=this._menu;!t||!this.menuOpen||(this._closingActionsSubscription.unsubscribe(),this._pendingRemoval?.unsubscribe(),i instanceof R&&this._ownsMenu(i)?(this._pendingRemoval=i._animationDone.pipe(oe(1)).subscribe(()=>{t.detach(),m.has(i)||i.lazyContent?.detach()}),i._setIsOpen(!1)):(t.detach(),i?.lazyContent?.detach()),i&&this._ownsMenu(i)&&m.delete(i),this.restoreFocus&&(e==="keydown"||!this._openedBy||!this._triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,this._setIsMenuOpen(!1))}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this._triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){let t=this._getOverlayConfig(e);this._subscribeToPositions(e,t.positionStrategy),this._overlayRef=Xe(this._injector,t),this._overlayRef.keydownEvents().subscribe(i=>{this._menu instanceof R&&this._menu._handleKeydown(i)})}return this._overlayRef}_getOverlayConfig(e){return new je({positionStrategy:ze(this._injector,this._getOverlayOrigin()).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr",disableAnimations:this._animationsDisabled})}_subscribeToPositions(e,t){e.setPositionClasses&&t.positionChanges.subscribe(i=>{this._ngZone.run(()=>{let n=i.connectionPair.overlayX==="start"?"after":"before",s=i.connectionPair.overlayY==="top"?"below":"above";e.setPositionClasses(n,s)})})}_setPosition(e,t){let[i,n]=e.xPosition==="before"?["end","start"]:["start","end"],[s,r]=e.yPosition==="above"?["bottom","top"]:["top","bottom"],[S,O]=[s,r],[E,A]=[i,n],u=0;if(this._triggersSubmenu()){if(A=i=e.xPosition==="before"?"start":"end",n=E=i==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let te=this._parentMaterialMenu.items.first;this._parentInnerPadding=te?te._getHostElement().offsetTop:0}u=s==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(S=s==="top"?"bottom":"top",O=r==="top"?"bottom":"top");t.withPositions([{originX:i,originY:S,overlayX:E,overlayY:s,offsetY:u},{originX:n,originY:S,overlayX:A,overlayY:s,offsetY:u},{originX:i,originY:O,overlayX:E,overlayY:r,offsetY:-u},{originX:n,originY:O,overlayX:A,overlayY:r,offsetY:-u}])}_menuClosingActions(){let e=this._getOutsideClickStream(this._overlayRef),t=this._overlayRef.detachments(),i=this._parentMaterialMenu?this._parentMaterialMenu.closed:B(),n=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(ne(s=>this._menuOpen&&s!==this._menuItemInstance)):B();return v(e,i,n,t)}_getPortal(e){return(!this._portal||this._portal.templateRef!==e.templateRef)&&(this._portal=new Ve(e.templateRef,this._viewContainerRef)),this._portal}_ownsMenu(e){return m.get(e)===this}static \u0275fac=function(t){_e()};static \u0275dir=Y({type:o})}return o})(),Xt=(()=>{class o extends dt{_cleanupTouchstart;_hoverSubscription=y.EMPTY;get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){this._menu=e}menuData;restoreFocus=!0;menuOpened=new w;onMenuOpen=this.menuOpened;menuClosed=new w;onMenuClose=this.menuClosed;constructor(){super(!0);let e=a(he);this._cleanupTouchstart=e.listen(this._element.nativeElement,"touchstart",t=>{Se(t)||(this._openedBy="touch")},{passive:!0})}triggersSubmenu(){return super._triggersSubmenu()}toggleMenu(){return this.menuOpen?this.closeMenu():this.openMenu()}openMenu(){this._openMenu(!0)}closeMenu(){this._closeMenu()}updatePosition(){this._overlayRef?.updatePosition()}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTouchstart(),this._hoverSubscription.unsubscribe()}_getOverlayOrigin(){return this._element}_getOutsideClickStream(e){return e.backdropClick()}_handleMousedown(e){Te(e)||(this._openedBy=e.button===0?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){let t=e.keyCode;(t===13||t===32)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(t===39&&this.dir==="ltr"||t===37&&this.dir==="rtl")&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&this._parentMaterialMenu&&(this._hoverSubscription=this._parentMaterialMenu._hovered().subscribe(e=>{e===this._menuItemInstance&&!e.disabled&&this._parentMaterialMenu?._panelAnimationState!=="void"&&(this._openedBy="mouse",this._openMenu(!1))}))}static \u0275fac=function(t){return new(t||o)};static \u0275dir=Y({type:o,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],hostVars:3,hostBindings:function(t,i){t&1&&U("click",function(s){return i._handleClick(s)})("mousedown",function(s){return i._handleMousedown(s)})("keydown",function(s){return i._handleKeydown(s)}),t&2&&_("aria-haspopup",i.menu?"menu":null)("aria-expanded",i.menuOpen)("aria-controls",i.menuOpen?i.menu==null?null:i.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:[0,"mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:[0,"matMenuTriggerFor","menu"],menuData:[0,"matMenuTriggerData","menuData"],restoreFocus:[0,"matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"],features:[be]})}return o})();var Ut=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=fe({type:o});static \u0275inj=ae({providers:[ct],imports:[He,K,Ue,Ye,K]})}return o})(),Ke={transformMenu:{type:7,name:"transformMenu",definitions:[{type:0,name:"void",styles:{type:6,styles:{opacity:0,transform:"scale(0.8)"},offset:null}},{type:1,expr:"void => enter",animation:{type:4,styles:{type:6,styles:{opacity:1,transform:"scale(1)"},offset:null},timings:"120ms cubic-bezier(0, 0, 0.2, 1)"},options:null},{type:1,expr:"* => void",animation:{type:4,styles:{type:6,styles:{opacity:0},offset:null},timings:"100ms 25ms linear"},options:null}],options:{}},fadeInItems:{type:7,name:"fadeInItems",definitions:[{type:0,name:"showing",styles:{type:6,styles:{opacity:1},offset:null}},{type:1,expr:"void => *",animation:[{type:6,styles:{opacity:0},offset:null},{type:4,styles:null,timings:"400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)"}],options:null}],options:{}}},Qt=Ke.fadeInItems,Wt=Ke.transformMenu;export{$ as a,R as b,Xt as c,Ut as d}; diff --git a/chunk-3GOV5KJM.js b/chunk-3GOV5KJM.js new file mode 100644 index 0000000..3f2b545 --- /dev/null +++ b/chunk-3GOV5KJM.js @@ -0,0 +1 @@ +var i={production:!0,apiUrl:"https://quzapi.fitsyncclinic.com/api",apiTimeout:3e4,cacheTimeout:3e5,enableLogging:!1,appName:"Interview Quiz Application",appVersion:"1.0.0"};export{i as a}; diff --git a/chunk-3L3FXYGZ.js b/chunk-3L3FXYGZ.js new file mode 100644 index 0000000..3fd2645 --- /dev/null +++ b/chunk-3L3FXYGZ.js @@ -0,0 +1 @@ +import{b as et,c as nt}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as tt}from"./chunk-7XDVX5KB.js";import{b as st,g as gt}from"./chunk-TAS7XC6E.js";import{a as mt}from"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import"./chunk-TPLZKWZ7.js";import{b as K,e as W,f as X,i as Z}from"./chunk-EGL4ZKWQ.js";import{a as dt}from"./chunk-GPI43RSU.js";import{a as Y,c as H,i as J}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{b as lt}from"./chunk-N6VRXIQE.js";import{b as A,f as B,j as R,n as Q,z as U}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as ct,C as q,j as N,ua as it,w as G,wa as ot,x as j,ya as rt,za as at}from"./chunk-COFYR5MX.js";import{Bb as h,Cb as T,Db as m,Eb as s,Ec as v,F as w,Gb as z,Hb as M,I as S,Ib as b,Jb as V,Kb as i,Lb as n,Mb as O,Tb as C,U as x,Xb as u,Za as c,Zb as l,da as y,i as k,ia as g,ic as F,ja as _,jc as I,lc as o,mc as f,nc as $,ob as L,ta as E,tc as P,vc as D}from"./chunk-2MUIW2M6.js";var pt=()=>[1,2,3,4,5,6],Ct=(t,r)=>r.id;function ut(t,r){if(t&1){let e=C();i(0,"button",11),u("click",function(){g(e);let d=l();return _(d.searchControl.setValue(""))}),i(1,"mat-icon"),o(2,"close"),n()()}}function ft(t,r){t&1&&(i(0,"mat-card",13)(1,"mat-card-content"),O(2,"div",14)(3,"div",15)(4,"div",16)(5,"div",17),n()())}function xt(t,r){t&1&&(i(0,"div",8)(1,"div",12),M(2,ft,6,0,"mat-card",13,z),n()()),t&2&&(c(2),b(D(0,pt)))}function yt(t,r){if(t&1){let e=C();i(0,"div",9)(1,"mat-icon",18),o(2,"error_outline"),n(),i(3,"h2"),o(4,"Oops! Something went wrong"),n(),i(5,"p"),o(6),n(),i(7,"button",19),u("click",function(){g(e);let d=l();return _(d.retry())}),i(8,"mat-icon"),o(9,"refresh"),n(),o(10," Try Again "),n()()}if(t&2){let e=l();c(6),f(e.error())}}function ht(t,r){t&1&&o(0," No categories match your search. Try a different keyword. ")}function Mt(t,r){t&1&&o(0," No categories are available at the moment. ")}function bt(t,r){if(t&1){let e=C();i(0,"button",19),u("click",function(){g(e);let d=l(3);return _(d.searchControl.setValue(""))}),i(1,"mat-icon"),o(2,"clear"),n(),o(3," Clear Search "),n()}}function Ot(t,r){if(t&1&&(i(0,"div",20)(1,"mat-icon",22),o(2,"folder_open"),n(),i(3,"h2"),o(4,"No Categories Found"),n(),i(5,"p"),m(6,ht,1,0)(7,Mt,1,0),n(),m(8,bt,4,0,"button",23),n()),t&2){let e=l(2);c(6),s(e.searchControl.value?6:7),c(2),s(e.searchControl.value?8:-1)}}function Pt(t,r){t&1&&(i(0,"div",26)(1,"mat-icon"),o(2,"lock"),n(),i(3,"span"),o(4,"Sign up to access"),n()())}function vt(t,r){t&1&&(i(0,"mat-chip",32)(1,"mat-icon"),o(2,"person"),n(),o(3," Members Only "),n())}function kt(t,r){if(t&1){let e=C();i(0,"button",36),u("click",function(d){g(e);let p=l().$implicit;return l(3).viewCategory(p),_(d.stopPropagation())}),o(1," Start Quiz "),i(2,"mat-icon"),o(3,"arrow_forward"),n()()}if(t&2){let e=l().$implicit;h("aria-label",P("Start quiz in ",e.name))}}function wt(t,r){if(t&1&&(i(0,"button",35)(1,"mat-icon"),o(2,"lock"),n(),o(3," Locked "),n()),t&2){let e=l().$implicit;h("aria-label",P("",e.name," is locked"))}}function St(t,r){if(t&1){let e=C();i(0,"mat-card",25),u("click",function(){let d=g(e).$implicit,p=l(3);return _(p.viewCategory(d))})("keydown.enter",function(){let d=g(e).$implicit,p=l(3);return _(p.viewCategory(d))})("keydown.space",function(){let d=g(e).$implicit,p=l(3);return _(p.viewCategory(d))}),m(1,Pt,5,0,"div",26),i(2,"mat-card-content")(3,"div",27)(4,"mat-icon"),o(5),n()(),i(6,"h3",28),o(7),n(),i(8,"p",29),o(9),n(),i(10,"div",30)(11,"div",31)(12,"mat-icon"),o(13,"quiz"),n(),i(14,"span"),o(15),n()(),m(16,vt,4,0,"mat-chip",32),n(),i(17,"div",33),m(18,kt,4,2,"button",34)(19,wt,4,2,"button",35),n()()()}if(t&2){let e=r.$implicit,a=l(3);I("locked",a.isCategoryLocked(e)),T("aria-label",e.name+" - "+e.description),c(),s(a.isCategoryLocked(e)?1:-1),c(2),F("background-color",e.color||"#3f51b5"),c(2),f(a.getCategoryIcon(e)),c(2),f(e.name),c(2),f(e.description),c(6),$("",e.questionCount," questions"),c(),s(e.guestAccessible?-1:16),c(2),s(a.isCategoryLocked(e)?19:18)}}function Et(t,r){if(t&1&&(i(0,"div",21),M(1,St,20,12,"mat-card",24,Ct),n()),t&2){let e=l(2);c(),b(e.filteredCategories())}}function Lt(t,r){if(t&1&&m(0,Ot,9,2,"div",20)(1,Et,3,0,"div",21),t&2){let e=l();s(e.isEmpty()?0:1)}}function Tt(t,r){t&1&&(i(0,"div",10)(1,"mat-icon"),o(2,"info"),n(),i(3,"p"),o(4," You're browsing as a guest. Some categories require registration. "),i(5,"a",37),o(6,"Sign up"),n(),o(7," to access all content! "),n()())}var _t=class t{categoryService=y(mt);guestService=y(dt);router=y(G);destroy$=new k;searchControl=new R("");filteredCategories=E([]);categories=this.categoryService.categoriesByDisplayOrder;isLoading=this.categoryService.isLoading;error=this.categoryService.error;isGuestMode=v(()=>this.guestService.guestState().isGuest);isEmpty=v(()=>!this.isLoading()&&this.filteredCategories().length===0);ngOnInit(){this.categoryService.getCategories().pipe(x(this.destroy$)).subscribe({next:()=>{this.filteredCategories.set(this.categories())}}),this.searchControl.valueChanges.pipe(w(300),S(),x(this.destroy$)).subscribe(r=>{this.handleSearch(r||"")})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}handleSearch(r){if(!r.trim()){this.filteredCategories.set(this.categories());return}let e=this.categoryService.searchCategories(r);this.filteredCategories.set(e)}viewCategory(r){!r.guestAccessible&&this.isGuestMode()||this.router.navigate(["/categories",r.id])}isCategoryLocked(r){return!r.guestAccessible&&this.isGuestMode()}getCategoryIcon(r){return r.icon||"folder"}retry(){this.categoryService.getCategories(!0).pipe(x(this.destroy$)).subscribe({next:()=>{this.filteredCategories.set(this.categories())}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-category-list"]],decls:18,vars:6,consts:[[1,"category-list-container"],[1,"header"],[1,"subtitle"],[1,"search-section"],["appearance","outline",1,"search-field"],["matInput","","placeholder","Search by name or description...","aria-label","Search categories",3,"formControl"],["matPrefix",""],["mat-icon-button","","matSuffix","","aria-label","Clear search"],[1,"loading-container"],[1,"error-container"],[1,"guest-info-banner"],["mat-icon-button","","matSuffix","","aria-label","Clear search",3,"click"],[1,"skeleton-grid"],[1,"skeleton-card"],[1,"skeleton-icon"],[1,"skeleton-title"],[1,"skeleton-description"],[1,"skeleton-meta"],[1,"error-icon"],["mat-raised-button","","color","primary",3,"click"],[1,"empty-container"],["role","list",1,"categories-grid"],[1,"empty-icon"],["mat-raised-button","","color","primary"],["tabindex","0","role","listitem",1,"category-card",3,"locked"],["tabindex","0","role","listitem",1,"category-card",3,"click","keydown.enter","keydown.space"],[1,"locked-badge"],[1,"category-icon"],[1,"category-name"],[1,"category-description"],[1,"category-meta"],[1,"meta-item"],["disabled","",1,"auth-chip"],[1,"card-actions"],["mat-raised-button","","color","primary",3,"aria-label"],["mat-stroked-button","","disabled","",3,"aria-label"],["mat-raised-button","","color","primary",3,"click","aria-label"],["routerLink","/register"]],template:function(e,a){e&1&&(i(0,"div",0)(1,"div",1)(2,"h1"),o(3,"Quiz Categories"),n(),i(4,"p",2),o(5,"Choose a category to start your quiz journey"),n()(),i(6,"div",3)(7,"mat-form-field",4)(8,"mat-label"),o(9,"Search categories"),n(),O(10,"input",5),i(11,"mat-icon",6),o(12,"search"),n(),m(13,ut,3,0,"button",7),n()(),m(14,xt,4,1,"div",8),m(15,yt,11,1,"div",9),m(16,Lt,2,1),m(17,Tt,8,0,"div",10),n()),e&2&&(c(10),V("formControl",a.searchControl),c(3),s(a.searchControl.value?13:-1),c(),s(a.isLoading()?14:-1),c(),s(a.error()&&!a.isLoading()?15:-1),c(),s(!a.isLoading()&&!a.error()?16:-1),c(),s(a.isGuestMode()?17:-1))},dependencies:[N,q,j,U,A,B,Q,J,Y,H,rt,ot,it,ct,at,nt,et,Z,K,W,X,tt,gt,st,lt],styles:['.category-list-container[_ngcontent-%COMP%]{padding:2rem;max-width:1400px;margin:0 auto}@media (max-width: 768px){.category-list-container[_ngcontent-%COMP%]{padding:1rem}}.header[_ngcontent-%COMP%]{text-align:center;margin-bottom:2rem}.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:var(--primary-color, #3f51b5)}@media (max-width: 768px){.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:2rem}}.header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--text-secondary, #666);margin:0}.search-section[_ngcontent-%COMP%]{margin-bottom:2rem;display:flex;justify-content:center}.search-section[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%]{width:100%;max-width:600px}.categories-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}@media (max-width: 768px){.categories-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:1rem}}@media (min-width: 769px) and (max-width: 1024px){.categories-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1025px){.categories-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1400px){.categories-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(4,1fr)}}.category-card[_ngcontent-%COMP%]{position:relative;cursor:pointer;transition:all .3s ease;border-radius:12px;overflow:hidden}.category-card[_ngcontent-%COMP%]:hover:not(.locked){transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.category-card[_ngcontent-%COMP%]:focus{outline:2px solid var(--primary-color, #3f51b5);outline-offset:2px}.category-card.locked[_ngcontent-%COMP%]{cursor:not-allowed;opacity:.7}.category-card.locked[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:0;background:#0000000d;pointer-events:none}.category-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.locked-badge[_ngcontent-%COMP%]{position:absolute;top:12px;right:12px;background:#000000b3;color:#fff;padding:.25rem .75rem;border-radius:20px;display:flex;align-items:center;gap:.25rem;font-size:.75rem;z-index:1}.locked-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.category-icon[_ngcontent-%COMP%]{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.category-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:#fff}.category-name[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary, #333)}.category-description[_ngcontent-%COMP%]{font-size:.9rem;color:var(--text-secondary, #666);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7rem}.category-meta[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.category-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;color:var(--text-secondary, #666);font-size:.875rem}.category-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.category-meta[_ngcontent-%COMP%] .auth-chip[_ngcontent-%COMP%]{height:24px;font-size:.75rem}.category-meta[_ngcontent-%COMP%] .auth-chip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}.card-actions[_ngcontent-%COMP%]{margin-top:.5rem}.card-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.card-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-left:.5rem}.loading-container[_ngcontent-%COMP%]{margin:2rem 0}.skeleton-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media (max-width: 768px){.skeleton-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.skeleton-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:1.5rem}.skeleton-card[_ngcontent-%COMP%] .skeleton-icon[_ngcontent-%COMP%]{width:60px;height:60px;border-radius:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:_ngcontent-%COMP%_shimmer 1.5s infinite;margin-bottom:1rem}.skeleton-card[_ngcontent-%COMP%] .skeleton-title[_ngcontent-%COMP%]{width:70%;height:24px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:_ngcontent-%COMP%_shimmer 1.5s infinite;margin-bottom:.75rem}.skeleton-card[_ngcontent-%COMP%] .skeleton-description[_ngcontent-%COMP%]{width:100%;height:40px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:_ngcontent-%COMP%_shimmer 1.5s infinite;margin-bottom:.75rem}.skeleton-card[_ngcontent-%COMP%] .skeleton-meta[_ngcontent-%COMP%]{width:50%;height:20px;border-radius:4px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:_ngcontent-%COMP%_shimmer 1.5s infinite}@keyframes _ngcontent-%COMP%_shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.error-container[_ngcontent-%COMP%]{text-align:center;padding:3rem 1rem}.error-container[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:var(--error-color, #f44336);margin-bottom:1rem}.error-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;margin-bottom:.5rem}.error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary, #666);margin-bottom:1.5rem}.error-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.empty-container[_ngcontent-%COMP%]{text-align:center;padding:3rem 1rem}.empty-container[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:var(--text-secondary, #999);margin-bottom:1rem}.empty-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;margin-bottom:.5rem}.empty-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary, #666);margin-bottom:1.5rem}.empty-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.guest-info-banner[_ngcontent-%COMP%]{background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;padding:1rem;display:flex;align-items:center;gap:1rem;margin-top:2rem}.guest-info-banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#1976d2;flex-shrink:0}.guest-info-banner[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#1565c0;font-size:.9rem}.guest-info-banner[_ngcontent-%COMP%] p[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#1976d2;font-weight:600;text-decoration:underline}.guest-info-banner[_ngcontent-%COMP%] p[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#0d47a1}']})};export{_t as CategoryListComponent}; diff --git a/chunk-3NOMFGTV.js b/chunk-3NOMFGTV.js new file mode 100644 index 0000000..f9d36ba --- /dev/null +++ b/chunk-3NOMFGTV.js @@ -0,0 +1 @@ +import{u as h,w as f}from"./chunk-COFYR5MX.js";import{Ec as P,_ as b,a as u,b as o,ca as p,ta as d}from"./chunk-2MUIW2M6.js";var l=class m{constructor(r,e){this.router=r;this.route=e}calculatePaginationState(r){let{currentPage:e,pageSize:a,totalItems:n}=r,t=Math.ceil(n/a)||1,i=Math.max(1,Math.min(e,t)),g=(i-1)*a+1,s=Math.min(i*a,n),c=i>1,v=ic+1);let n=[],t=Math.floor(a/2);n.push(1);let i=Math.max(2,r-t),g=Math.min(e-1,r+t);r<=t+1?g=Math.min(e-1,a-1):r>=e-t&&(i=Math.max(2,e-a+2)),i>2&&n.push("...");for(let s=i;s<=g;s++)n.push(s);return g1&&n.push(e),n}updateUrlQueryParams(r,e,a=!0){let n=a?u({},this.route.snapshot.queryParams):{};n.page=r,e&&(n.pageSize=e),this.router.navigate([],{relativeTo:this.route,queryParams:n,queryParamsHandling:a?"merge":"replace"})}getPaginationFromUrl(r=10){let e=this.route.snapshot.queryParams,a=parseInt(e.page)||1,n=parseInt(e.pageSize)||r;return{page:Math.max(1,a),pageSize:Math.max(1,n)}}createPaginationManager(r){let e=d(r),a=P(()=>this.calculatePaginationState(e())),n=P(()=>this.calculatePageNumbers(a().currentPage,a().totalPages,5));return{config:e,state:a,pageNumbers:n,setPage:t=>{e.update(i=>o(u({},i),{currentPage:t}))},setPageSize:t=>{e.update(i=>o(u({},i),{pageSize:t,currentPage:1}))},setTotalItems:t=>{e.update(i=>o(u({},i),{totalItems:t}))},nextPage:()=>{a().hasNextPage&&e.update(t=>o(u({},t),{currentPage:t.currentPage+1}))},prevPage:()=>{a().hasPreviousPage&&e.update(t=>o(u({},t),{currentPage:t.currentPage-1}))},firstPage:()=>{e.update(t=>o(u({},t),{currentPage:1}))},lastPage:()=>{e.update(t=>o(u({},t),{currentPage:a().totalPages}))}}}getPaginatedItems(r,e,a){let n=(e-1)*a,t=n+a;return r.slice(n,t)}static \u0275fac=function(e){return new(e||m)(p(f),p(h))};static \u0275prov=b({token:m,factory:m.\u0275fac,providedIn:"root"})};export{l as a}; diff --git a/chunk-3QWAVQEA.js b/chunk-3QWAVQEA.js new file mode 100644 index 0000000..7b92366 --- /dev/null +++ b/chunk-3QWAVQEA.js @@ -0,0 +1 @@ +import{a as bn,b as hn,c as wn}from"./chunk-N73CTY2C.js";import{a as xn}from"./chunk-L5RFXRXA.js";import"./chunk-VX6WCCL3.js";import{a as Pn,b as On}from"./chunk-FETAVRDH.js";import"./chunk-66PBOFKL.js";import{b as sn,c as un}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as cn}from"./chunk-7XDVX5KB.js";import{a as pn,b as Mn}from"./chunk-CTXOKINH.js";import"./chunk-M5XZ5N2D.js";import{b as fn,g as qn}from"./chunk-TAS7XC6E.js";import"./chunk-3GOV5KJM.js";import{b as on,d as rn,i as an}from"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as Z,c as nn,f as tn,i as en}from"./chunk-6NRCTHHS.js";import{b as B}from"./chunk-RC3JXGN6.js";import{a as _n,b as Cn}from"./chunk-N6VRXIQE.js";import{b as G,d as j,f as Y,g as W,l as H,o as U,r as J,x as K,z as X}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as mn,g as N,j as L,u as V,w as $,wa as dn,ya as gn,za as ln}from"./chunk-COFYR5MX.js";import{Db as g,Eb as l,Ec as _,Gb as I,Hb as F,Ib as T,Jb as C,Kb as e,Lb as o,Mb as b,Qb as z,Rb as v,Tb as y,U as M,Xb as h,Za as c,Zb as u,da as P,i as Q,ia as q,ic as S,ja as x,jc as w,lc as r,mc as O,nc as m,ob as E,oc as R,ta as p,wc as A,xc as D,z as k}from"./chunk-2MUIW2M6.js";function vn(i,t){if(i&1&&(e(0,"div",12)(1,"mat-icon"),r(2,"timer"),o(),e(3,"span"),r(4),o()()),i&2){let n=u();w("warning",n.timeRemaining()<60),c(4),O(n.formatTime(n.timeRemaining()))}}function yn(i,t){if(i&1&&(e(0,"mat-radio-button",27),r(1),o()),i&2){let n=t.$implicit,a=u(3);C("value",typeof n=="string"?n:n.id)("disabled",a.answerSubmitted()),c(),m(" ",typeof n=="string"?n:n.text," ")}}function Sn(i,t){if(i&1&&(e(0,"mat-radio-group",20),F(1,yn,2,3,"mat-radio-button",27,I),o()),i&2){let n=u();c(),T(n.options)}}function Qn(i,t){if(i&1){let n=y();e(0,"div",21)(1,"button",28),h("click",function(){q(n);let s=u(2);return x(s.answerForm.patchValue({answer:"true"}))}),e(2,"mat-icon"),r(3,"check_circle"),o(),e(4,"span"),r(5,"True"),o()(),e(6,"button",29),h("click",function(){q(n);let s=u(2);return x(s.answerForm.patchValue({answer:"false"}))}),e(7,"mat-icon"),r(8,"cancel"),o(),e(9,"span"),r(10,"False"),o()()()}if(i&2){let n,a,s=u(2);c(),w("selected",((n=s.answerForm.get("answer"))==null?null:n.value)==="true"),C("disabled",s.answerSubmitted()),c(5),w("selected",((a=s.answerForm.get("answer"))==null?null:a.value)==="false"),C("disabled",s.answerSubmitted())}}function kn(i,t){if(i&1&&(e(0,"mat-form-field",22)(1,"mat-label"),r(2,"Your Answer"),o(),e(3,"textarea",30),r(4," "),o(),e(5,"mat-hint"),r(6,"Be as detailed as possible"),o()()),i&2){let n=u(2);c(3),C("disabled",n.answerSubmitted())}}function En(i,t){if(i&1&&(e(0,"div",33)(1,"strong"),r(2,"Correct Answer:"),o(),e(3,"p"),r(4),o()()),i&2){let n=u(3);c(4),O(n.answerResult().correctAnswer)}}function In(i,t){if(i&1&&(e(0,"div",34)(1,"strong"),r(2,"Explanation:"),o(),e(3,"p"),r(4),o()()),i&2){let n,a=u(3);c(4),O((n=a.answerResult())==null?null:n.explanation)}}function Fn(i,t){if(i&1&&(e(0,"div",31)(1,"div",32)(2,"mat-icon"),r(3),o(),e(4,"h3"),r(5),o()(),g(6,En,5,1,"div",33),g(7,In,5,1,"div",34),e(8,"div",35)(9,"mat-icon"),r(10,"stars"),o(),e(11,"span"),r(12),o()()()),i&2){let n,a,s,f,d=u(2);w("correct",(n=d.answerResult())==null?null:n.isCorrect)("incorrect",!((a=d.answerResult())!=null&&a.isCorrect)),c(2),S("color",d.getFeedbackColor()),c(),m(" ",d.getFeedbackIcon()," "),c(),S("color",d.getFeedbackColor()),c(),m(" ",d.getFeedbackMessage()," "),c(),l(d.answerResult()&&!d.answerResult().isCorrect?6:-1),c(),l((s=d.answerResult())!=null&&s.explanation?7:-1),c(5),m("Points earned: ",(f=d.answerResult())==null?null:f.points)}}function Tn(i,t){i&1&&(b(0,"mat-spinner",36),e(1,"span"),r(2,"Submitting..."),o())}function Rn(i,t){i&1&&(z(0),e(1,"mat-icon"),r(2,"send"),o(),e(3,"span"),r(4,"Submit Answer"),o(),v())}function An(i,t){if(i&1&&(e(0,"button",25),g(1,Tn,3,0)(2,Rn,5,0,"ng-container"),o()),i&2){let n=u(2);C("disabled",!(n.answerForm!=null&&n.answerForm.valid)||!n.canSubmitAnswer()),c(),l(n.isSubmittingAnswer()?1:2)}}function Dn(i,t){i&1&&(z(0),e(1,"mat-icon"),r(2,"flag"),o(),e(3,"span"),r(4,"Complete Quiz"),o(),v())}function Nn(i,t){i&1&&(z(0),e(1,"mat-icon"),r(2,"arrow_forward"),o(),e(3,"span"),r(4,"Next Question"),o(),v())}function Ln(i,t){if(i&1){let n=y();e(0,"button",37),h("click",function(){q(n);let s=u(2);return x(s.nextQuestion())}),g(1,Dn,5,0,"ng-container")(2,Nn,5,0,"ng-container"),o()}if(i&2){let n=u(2);c(),l(n.isLastQuestion()?1:2)}}function Vn(i,t){if(i&1){let n=y();e(0,"mat-card-header")(1,"div",13)(2,"div",14)(3,"mat-chip",15),r(4),o(),e(5,"mat-chip",16),r(6),A(7,"titlecase"),o(),e(8,"span",17),r(9),o()()()(),b(10,"mat-divider"),e(11,"mat-card-content")(12,"div",18)(13,"h2"),r(14),o()(),e(15,"form",19),h("ngSubmit",function(){q(n);let s=u();return x(s.submitAnswer())}),g(16,Sn,3,0,"mat-radio-group",20),g(17,Qn,11,6,"div",21),g(18,kn,7,1,"mat-form-field",22),g(19,Fn,13,13,"div",23),e(20,"div",24),g(21,An,3,2,"button",25)(22,Ln,3,1,"button",26),o()()()}if(i&2){let n=t,a=u();c(4),O(a.questionTypeLabel()),c(),S("background-color",a.getDifficultyColor(n.difficulty)+"20")("color",a.getDifficultyColor(n.difficulty)),c(),m(" ",D(7,14,n.difficulty)," "),c(3),m("",n.points," points"),c(5),O(n.questionText),c(),C("formGroup",a.answerForm),c(),l(n.questionType==="multiple"&&n.options?16:-1),c(),l(a.isTrueFalse()?17:-1),c(),l(a.isWritten()?18:-1),c(),l(a.answerSubmitted()&&a.answerResult()?19:-1),c(2),l(a.answerSubmitted()?22:21)}}function $n(i,t){i&1&&(e(0,"mat-card-content",8),b(1,"mat-spinner",38),e(2,"p"),r(3,"Loading question..."),o()())}var zn=class i{fb=P(K);router=P($);route=P(V);quizService=P(xn);storageService=P(B);destroy$=new Q;sessionId="";answerForm;activeSession=this.quizService.activeSession;isSubmittingAnswer=this.quizService.isSubmittingAnswer;questions=this.quizService.questions;currentQuestionIndex=_(()=>this.activeSession()?.currentQuestionIndex??0);totalQuestions=_(()=>this.activeSession()?.totalQuestions??0);currentQuestion=p(null);answerSubmitted=p(!1);answerResult=p(null);showExplanation=p(!1);timeRemaining=p(0);timerRunning=p(!1);progress=_(()=>{let t=this.totalQuestions(),n=this.currentQuestionIndex();return t>0?n/t*100:0});currentScore=_(()=>this.activeSession()?.score??0);correctAnswers=_(()=>this.activeSession()?.correctAnswers??0);isLastQuestion=_(()=>this.currentQuestionIndex()>=this.totalQuestions()-1);canSubmitAnswer=_(()=>this.answerForm?.valid&&!this.answerSubmitted()&&!this.isSubmittingAnswer());questionTypeLabel=_(()=>{switch(this.currentQuestion()?.questionType){case"multiple":return"Multiple Choice";case"trueFalse":return"True/False";case"written":return"Written Answer";default:return""}});ngOnInit(){if(this.sessionId=this.route.snapshot.params.sessionId,!this.sessionId){this.router.navigate(["/quiz/setup"]);return}this.initForm(),this.loadQuizSession(),console.log(this.questions())}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.timerRunning.set(!1)}initForm(){this.answerForm=this.fb.group({answer:["",j.required]})}loadQuizSession(){let t=this.activeSession(),n=this.questions();if(t&&t.id===this.sessionId&&n.length>0){if(t.status==="completed"){this.router.navigate(["/quiz",this.sessionId,"results"]);return}if(this.loadCurrentQuestion(),t.quizType==="timed"&&t.timeSpent){let s=this.calculateTimeLimit(t.totalQuestions)*60-(t.timeSpent||0);s>0&&this.startTimer(s)}}else this.restoreSessionFromServer()}restoreSessionFromServer(){this.quizService.restoreSession(this.sessionId).pipe(M(this.destroy$)).subscribe({next:({session:t,hasQuestions:n})=>{if(t.status==="completed"){this.router.navigate(["/quiz",this.sessionId,"results"]);return}if(!n){console.warn("Session restored but questions not available"),this.router.navigate(["/quiz/setup"]);return}if(this.loadCurrentQuestion(),t.quizType==="timed"&&t.timeSpent){let s=this.calculateTimeLimit(t.totalQuestions)*60-(t.timeSpent||0);s>0&&this.startTimer(s)}},error:()=>{this.router.navigate(["/quiz/setup"])}})}calculateTimeLimit(t){return t*1.5}loadCurrentQuestion(){let t=this.currentQuestionIndex(),n=this.questions();t{let n=this.timeRemaining();n>0&&this.timerRunning()?this.timeRemaining.set(n-1):n===0&&(this.timerRunning.set(!1),this.autoCompleteQuiz())})}autoCompleteQuiz(){this.quizService.completeQuiz(this.sessionId).pipe(M(this.destroy$)).subscribe()}submitAnswer(){if(!this.canSubmitAnswer())return;let t=this.currentQuestion();if(!t)return;let n=this.answerForm.get("answer")?.value,a={questionId:t.id,userAnswer:n,quizSessionId:this.sessionId};this.quizService.submitAnswer(a).pipe(M(this.destroy$)).subscribe({next:s=>{this.answerSubmitted.set(!0),this.answerResult.set(s),this.showExplanation.set(!0),this.answerForm.disable()},error:s=>{console.error("Failed to submit answer:",s)}})}nextQuestion(){this.isLastQuestion()?this.completeQuiz():this.loadCurrentQuestion()}completeQuiz(){this.timerRunning.set(!1),this.quizService.completeQuiz(this.sessionId).pipe(M(this.destroy$)).subscribe()}getFeedbackIcon(){return this.answerResult()?.isCorrect?"check_circle":"cancel"}getFeedbackColor(){return this.answerResult()?.isCorrect?"#4CAF50":"#f44336"}getFeedbackMessage(){let t=this.answerResult();return t?t.isCorrect?"Correct!":"Incorrect":""}formatTime(t){let n=Math.floor(t/60),a=t%60;return`${n.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}getDifficultyColor(t){switch(t){case"easy":return"#4CAF50";case"medium":return"#FF9800";case"hard":return"#f44336";default:return"#9E9E9E"}}isMultipleChoice(){return this.currentQuestion()?.questionType==="multiple"}isTrueFalse(){return this.currentQuestion()?.questionType==="trueFalse"}isWritten(){return this.currentQuestion()?.questionType==="written"}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=E({type:i,selectors:[["app-quiz-question"]],decls:34,vars:9,consts:[[1,"quiz-question-container"],[1,"progress-header"],[1,"progress-info"],[1,"question-counter"],[1,"timer",3,"warning"],[1,"score-display"],["mode","determinate",1,"progress-bar",3,"value"],[1,"question-card"],[1,"loading-container"],[1,"summary-card"],[1,"summary-stats"],[1,"stat-item"],[1,"timer"],[1,"question-header"],[1,"question-meta"],[1,"type-chip"],[1,"difficulty-chip"],[1,"points"],[1,"question-text"],[1,"answer-form",3,"ngSubmit","formGroup"],["formControlName","answer",1,"radio-group"],[1,"true-false-buttons"],["appearance","outline",1,"full-width"],[1,"answer-feedback",3,"correct","incorrect"],[1,"action-buttons"],["type","submit","mat-raised-button","","color","primary",3,"disabled"],["type","button","mat-raised-button","","color","primary"],[1,"radio-option",3,"value","disabled"],["type","button","mat-raised-button","",1,"tf-button","true-button",3,"click","disabled"],["type","button","mat-raised-button","",1,"tf-button","false-button",3,"click","disabled"],["matInput","","formControlName","answer","rows","6","placeholder","Type your answer here...",3,"disabled"],[1,"answer-feedback"],[1,"feedback-header"],[1,"correct-answer"],[1,"explanation"],[1,"points-earned"],["diameter","20"],["type","button","mat-raised-button","","color","primary",3,"click"],["diameter","50"]],template:function(n,a){if(n&1&&(e(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),r(4),o(),g(5,vn,5,3,"div",4),e(6,"div",5)(7,"mat-icon"),r(8,"stars"),o(),e(9,"span"),r(10),o()()(),b(11,"mat-progress-bar",6),o(),e(12,"mat-card",7),g(13,Vn,23,16)(14,$n,4,0,"mat-card-content",8),o(),e(15,"mat-card",9)(16,"h3"),r(17,"Quiz Progress"),o(),e(18,"div",10)(19,"div",11)(20,"mat-icon"),r(21,"check_circle"),o(),e(22,"span"),r(23),o()(),e(24,"div",11)(25,"mat-icon"),r(26,"cancel"),o(),e(27,"span"),r(28),o()(),e(29,"div",11)(30,"mat-icon"),r(31,"stars"),o(),e(32,"span"),r(33),o()()()()()),n&2){let s,f,d;c(4),R(" Question ",a.currentQuestionIndex()+1," of ",a.totalQuestions()," "),c(),l(((s=a.activeSession())==null?null:s.quizType)==="timed"?5:-1),c(5),m("Score: ",a.currentScore()),c(),C("value",a.progress()),c(2),l((f=a.currentQuestion())?13:14,f),c(10),m("",a.correctAnswers()," Correct"),c(5),m("",((d=a.activeSession())==null?null:d.incorrectAnswers)||0," Incorrect"),c(5),m("",a.currentScore()," Points")}},dependencies:[L,X,H,G,Y,W,U,J,en,Z,nn,tn,wn,bn,hn,gn,dn,mn,ln,On,Pn,Cn,_n,qn,fn,cn,an,on,rn,un,sn,Mn,pn,N],styles:[".quiz-question-container[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:16px}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%]{margin-bottom:24px}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:12px}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .question-counter[_ngcontent-%COMP%]{font-size:18px;font-weight:500;color:#000000de}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .timer[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#1976d21a;border-radius:20px;font-size:16px;font-weight:500;color:#1976d2}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .timer.warning[_ngcontent-%COMP%]{background-color:#f443361a;color:#f44336;animation:_ngcontent-%COMP%_pulse 1s infinite}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .timer.warning[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#f44336}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .timer[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#4caf501a;border-radius:20px;font-size:16px;font-weight:500;color:#4caf50}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%]{margin-bottom:24px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{margin-bottom:16px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%]{width:100%}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] .type-chip[_ngcontent-%COMP%]{background-color:#1976d21a!important;color:#1976d2!important;font-weight:500}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] .difficulty-chip[_ngcontent-%COMP%]{font-weight:500}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] .points[_ngcontent-%COMP%]{margin-left:auto;font-weight:500;color:#000000b3}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%]{margin:24px 0}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:22px;font-weight:500;line-height:1.6;color:#000000de}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;margin:24px 0}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .radio-group[_ngcontent-%COMP%] .radio-option[_ngcontent-%COMP%]{padding:16px;border:2px solid rgba(0,0,0,.12);border-radius:8px;transition:all .2s}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .radio-group[_ngcontent-%COMP%] .radio-option[_ngcontent-%COMP%]:hover:not([disabled]){border-color:#1976d2;background-color:#1976d20d}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .radio-group[_ngcontent-%COMP%] .radio-option.mat-mdc-radio-checked[_ngcontent-%COMP%]{border-color:#1976d2;background-color:#1976d214}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px;height:120px;font-size:18px;border:2px solid rgba(0,0,0,.12);background-color:#fff;transition:all .2s}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button[_ngcontent-%COMP%]:hover:not([disabled]){transform:translateY(-4px);box-shadow:0 4px 8px #00000026}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.selected[_ngcontent-%COMP%]{border-width:3px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.true-button[_ngcontent-%COMP%]:hover:not([disabled]), .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.true-button.selected[_ngcontent-%COMP%]{border-color:#4caf50;background-color:#4caf5014;color:#4caf50}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.true-button[_ngcontent-%COMP%]:hover:not([disabled]) mat-icon[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.true-button.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#4caf50}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.false-button[_ngcontent-%COMP%]:hover:not([disabled]), .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.false-button.selected[_ngcontent-%COMP%]{border-color:#f44336;background-color:#f4433614;color:#f44336}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.false-button[_ngcontent-%COMP%]:hover:not([disabled]) mat-icon[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button.false-button.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#f44336}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{width:100%;margin:24px 0}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%]{margin:24px 0;padding:20px;border-radius:8px;animation:_ngcontent-%COMP%_slideIn .3s ease-out}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback.correct[_ngcontent-%COMP%]{background-color:#4caf501a;border:2px solid #4CAF50}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback.incorrect[_ngcontent-%COMP%]{background-color:#f443361a;border:2px solid #f44336}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .feedback-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .feedback-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .feedback-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:24px;font-weight:500}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .correct-answer[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%]{margin:16px 0;padding:12px;background-color:#ffffff80;border-radius:4px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .correct-answer[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{display:block;margin-bottom:8px;color:#000000de}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .correct-answer[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;line-height:1.6;color:#000000b3}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .points-earned[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-top:16px;font-weight:500;font-size:16px;color:#4caf50}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .points-earned[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{display:flex;justify-content:center;margin-top:32px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;height:48px;min-width:200px;font-size:16px;padding:0 24px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:8px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:20px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:16px;color:#0009}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%]{padding:20px;background-color:#1976d20d;border:1px solid rgba(25,118,210,.2)}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 16px;font-size:18px;font-weight:500;color:#1976d2}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-stats[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px;background-color:#fff;border-radius:8px;font-weight:500}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]:first-child{color:#4caf50}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]:nth-child(2){color:#f44336}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes _ngcontent-%COMP%_slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .question-counter[_ngcontent-%COMP%]{font-size:16px}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .timer[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%]{font-size:14px;padding:6px 12px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:18px}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%]{grid-template-columns:1fr}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button[_ngcontent-%COMP%]{height:80px}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-stats[_ngcontent-%COMP%]{grid-template-columns:1fr}}@media (max-width: 600px){.quiz-question-container[_ngcontent-%COMP%]{padding:12px}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%]{margin-left:0}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] .points[_ngcontent-%COMP%]{margin-left:0;width:100%}}@media (prefers-color-scheme: dark){.quiz-question-container[_ngcontent-%COMP%] .progress-header[_ngcontent-%COMP%] .progress-info[_ngcontent-%COMP%] .question-counter[_ngcontent-%COMP%]{color:#ffffffde}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#ffffffde}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .radio-group[_ngcontent-%COMP%] .radio-option[_ngcontent-%COMP%]{border-color:#ffffff1f;background-color:#ffffff0d}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .true-false-buttons[_ngcontent-%COMP%] .tf-button[_ngcontent-%COMP%]{border-color:#ffffff1f;background-color:#ffffff0d}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .correct-answer[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%]{background-color:#0003}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .correct-answer[_ngcontent-%COMP%] strong[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:#ffffffde}.quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .correct-answer[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .quiz-question-container[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-form[_ngcontent-%COMP%] .answer-feedback[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#ffffffb3}.quiz-question-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-stats[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{background-color:#ffffff0d}}"]})};export{zn as QuizQuestionComponent}; diff --git a/chunk-3RK6DDJD.js b/chunk-3RK6DDJD.js new file mode 100644 index 0000000..e69de29 diff --git a/chunk-4E7NWUSO.js b/chunk-4E7NWUSO.js new file mode 100644 index 0000000..31ccf7d --- /dev/null +++ b/chunk-4E7NWUSO.js @@ -0,0 +1 @@ +import{a as j,b as q}from"./chunk-GIRDLTGV.js";import{c as $}from"./chunk-P3ICZX4Q.js";import{a as I}from"./chunk-7XDVX5KB.js";import{a as B}from"./chunk-B4CGVF35.js";import{b as G}from"./chunk-NIBVQDYD.js";import{i as V}from"./chunk-EGL4ZKWQ.js";import{Aa as D,e as T,j as z,ua as F,wa as N,ya as E,za as L}from"./chunk-COFYR5MX.js";import{Cb as y,Db as x,Eb as b,Gb as v,Hb as h,Ib as M,Ic as w,Jb as p,Jc as g,Kb as i,Lb as o,Tb as u,Xb as _,Za as a,Zb as r,ia as m,ja as d,jc as k,lc as l,mc as C,nc as f,ob as S,ub as O}from"./chunk-2MUIW2M6.js";function H(t,n){if(t&1&&(i(0,"mat-option",13),l(1),o()),t&2){let e=n.$implicit;p("value",e),a(),f("",e," per page")}}function J(t,n){if(t&1){let e=u();i(0,"mat-form-field",5)(1,"mat-select",12),_("selectionChange",function(s){m(e);let P=r(2);return d(P.onPageSizeChange(s.value))}),h(2,H,2,2,"mat-option",13,v),o()()}if(t&2){let e=r(2);a(),p("value",e.state().itemsPerPage),a(),M(e.pageSizeOptions())}}function K(t,n){if(t&1){let e=u();i(0,"button",14),_("click",function(){m(e);let s=r(2);return d(s.onPageChange(1))}),i(1,"mat-icon"),l(2,"first_page"),o()()}if(t&2){let e=r(2);p("disabled",!e.state().hasPreviousPage)}}function Q(t,n){if(t&1&&(i(0,"span",15),l(1),o()),t&2){let e=r().$implicit;a(),C(e)}}function R(t,n){if(t&1){let e=u();i(0,"button",17),_("click",function(){m(e);let s=r().$implicit,P=r(2);return d(P.handlePageClick(s))}),l(1),o()}if(t&2){let e=r().$implicit,c=r(2);k("active",e===c.state().currentPage),y("aria-label","Go to page "+e)("aria-current",e===c.state().currentPage?"page":null),a(),f(" ",e," ")}}function U(t,n){if(t&1&&x(0,Q,2,1,"span",15)(1,R,2,5,"button",16),t&2){let e=n.$implicit;b(e==="..."?0:1)}}function W(t,n){if(t&1){let e=u();i(0,"button",18),_("click",function(){m(e);let s=r(2);return d(s.onPageChange(s.state().totalPages))}),i(1,"mat-icon"),l(2,"last_page"),o()()}if(t&2){let e=r(2);p("disabled",!e.state().hasNextPage)}}function X(t,n){if(t&1){let e=u();i(0,"div",1)(1,"div",2)(2,"span",3),l(3," Showing "),i(4,"strong"),l(5),o(),l(6," to "),i(7,"strong"),l(8),o(),l(9," of "),i(10,"strong"),l(11),o(),l(12),o()(),i(13,"div",4),x(14,J,4,1,"mat-form-field",5),i(15,"div",6),x(16,K,3,1,"button",7),i(17,"button",8),_("click",function(){m(e);let s=r();return d(s.onPageChange(s.state().currentPage-1))}),i(18,"mat-icon"),l(19,"chevron_left"),o()(),i(20,"div",9),h(21,U,2,1,null,null,v),o(),i(23,"button",10),_("click",function(){m(e);let s=r();return d(s.onPageChange(s.state().currentPage+1))}),i(24,"mat-icon"),l(25,"chevron_right"),o()(),x(26,W,3,1,"button",11),o()()()}if(t&2){let e=r();a(5),C(e.state().startIndex),a(3),C(e.state().endIndex),a(3),C(e.state().totalItems),a(),f(" ",e.itemLabel()," "),a(2),b(e.showPageSizeSelector()?14:-1),a(2),b(e.showFirstLast()?16:-1),a(),p("disabled",!e.state().hasPreviousPage),a(4),M(e.pageNumbers()),a(2),p("disabled",!e.state().hasNextPage),a(3),b(e.showFirstLast()?26:-1)}}var A=class t{state=g.required();pageNumbers=g([]);pageSizeOptions=g([10,25,50,100]);showPageSizeSelector=g(!0);showFirstLast=g(!0);maxVisiblePages=g(5);itemLabel=g("results");pageChange=w();pageSizeChange=w();onPageChange(n){n>=1&&n<=(this.state()?.totalPages??1)&&this.pageChange.emit(n)}handlePageClick(n){typeof n=="number"&&this.onPageChange(n)}onPageSizeChange(n){this.pageSizeChange.emit(n)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-pagination"]],inputs:{state:[1,"state"],pageNumbers:[1,"pageNumbers"],pageSizeOptions:[1,"pageSizeOptions"],showPageSizeSelector:[1,"showPageSizeSelector"],showFirstLast:[1,"showFirstLast"],maxVisiblePages:[1,"maxVisiblePages"],itemLabel:[1,"itemLabel"]},outputs:{pageChange:"pageChange",pageSizeChange:"pageSizeChange"},decls:1,vars:1,consts:[["class","pagination-container",4,"ngIf"],[1,"pagination-container"],[1,"pagination-info"],[1,"info-text"],[1,"pagination-actions"],["appearance","outline",1,"page-size-selector"],[1,"pagination-controls"],["mat-icon-button","","matTooltip","First page","aria-label","Go to first page",3,"disabled"],["mat-icon-button","","matTooltip","Previous page","aria-label","Go to previous page",3,"click","disabled"],[1,"page-numbers"],["mat-icon-button","","matTooltip","Next page","aria-label","Go to next page",3,"click","disabled"],["mat-icon-button","","matTooltip","Last page","aria-label","Go to last page",3,"disabled"],["aria-label","Items per page",3,"selectionChange","value"],[3,"value"],["mat-icon-button","","matTooltip","First page","aria-label","Go to first page",3,"click","disabled"],[1,"ellipsis"],["mat-button","",1,"page-button",3,"active"],["mat-button","",1,"page-button",3,"click"],["mat-icon-button","","matTooltip","Last page","aria-label","Go to last page",3,"click","disabled"]],template:function(e,c){e&1&&O(0,X,27,9,"div",0),e&2&&p("ngIf",c.state())},dependencies:[z,T,E,N,F,D,L,B,G,q,V,j,$,I],styles:[".pagination-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--surface-color, #fff);border-radius:8px;box-shadow:0 2px 4px #0000001a}.pagination-info[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.info-text[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary, #666)}.info-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-primary, #333);font-weight:600}.pagination-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-size-selector[_ngcontent-%COMP%]{min-width:140px}.page-size-selector[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper{display:none}.pagination-controls[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.page-numbers[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.page-button[_ngcontent-%COMP%]{min-width:40px;height:40px;padding:0 8px;border-radius:4px;transition:all .2s ease}.page-button[_ngcontent-%COMP%]:hover{background-color:var(--hover-color, rgba(0, 0, 0, .04))}.page-button.active[_ngcontent-%COMP%]{background-color:var(--primary-color, #1976d2);color:#fff;font-weight:600}.page-button.active[_ngcontent-%COMP%]:hover{background-color:var(--primary-dark, #1565c0)}.ellipsis[_ngcontent-%COMP%]{padding:0 8px;color:var(--text-secondary, #666);-webkit-user-select:none;user-select:none}@media (max-width: 768px){.pagination-container[_ngcontent-%COMP%]{padding:.75rem}.pagination-actions[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.page-size-selector[_ngcontent-%COMP%]{width:100%}.pagination-controls[_ngcontent-%COMP%]{justify-content:center}.page-numbers[_ngcontent-%COMP%]{gap:.125rem}.page-button[_ngcontent-%COMP%]{min-width:36px;height:36px;font-size:.875rem}}@media (max-width: 768px) and (max-width: 480px){.ellipsis[_ngcontent-%COMP%]{display:none}}@media (prefers-color-scheme: dark){.pagination-container[_ngcontent-%COMP%]{background:var(--surface-dark, #1e1e1e);box-shadow:0 2px 4px #0000004d}.info-text[_ngcontent-%COMP%]{color:var(--text-secondary-dark, #b0b0b0)}.info-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-primary-dark, #e0e0e0)}.page-button[_ngcontent-%COMP%]:hover{background-color:#ffffff14}.ellipsis[_ngcontent-%COMP%]{color:var(--text-secondary-dark, #b0b0b0)}}.page-button[_ngcontent-%COMP%]:focus-visible, button[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--primary-color, #1976d2);outline-offset:2px}button[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}"]})};export{A as a}; diff --git a/chunk-52JZ5I3Y.js b/chunk-52JZ5I3Y.js new file mode 100644 index 0000000..094fb09 --- /dev/null +++ b/chunk-52JZ5I3Y.js @@ -0,0 +1 @@ +import{_ as e,a as n,b as r,ta as d}from"./chunk-2MUIW2M6.js";var u=class s{toastsSignal=d([]);toasts=this.toastsSignal.asReadonly();defaultDuration=5e3;toastIdCounter=0;constructor(){}success(t,i){this.show({type:"success",message:t,duration:i||this.defaultDuration})}error(t,i){this.show({type:"error",message:t,duration:i||this.defaultDuration})}warning(t,i){this.show({type:"warning",message:t,duration:i||this.defaultDuration})}info(t,i){this.show({type:"info",message:t,duration:i||this.defaultDuration})}showWithAction(t,i,o,a="info",c){this.show({type:a,message:t,duration:c||1e4,action:{label:i,callback:o}})}show(t){let i=`toast-${++this.toastIdCounter}`,o=r(n({},t),{id:i});this.toastsSignal.update(a=>[...a,o]),t.duration&&t.duration>0&&setTimeout(()=>this.remove(i),t.duration)}remove(t){this.toastsSignal.update(i=>i.filter(o=>o.id!==t))}removeAll(){this.toastsSignal.set([])}static \u0275fac=function(i){return new(i||s)};static \u0275prov=e({token:s,factory:s.\u0275fac,providedIn:"root"})};export{u as a}; diff --git a/chunk-5DTRLD2T.js b/chunk-5DTRLD2T.js new file mode 100644 index 0000000..a3d0397 --- /dev/null +++ b/chunk-5DTRLD2T.js @@ -0,0 +1 @@ +import{a as Ft}from"./chunk-4E7NWUSO.js";import{a as _t,b as Ct,c as ht,d as xt,e as Mt,f as Pt,g as bt,h as Ot,i as vt,j as yt,k as St}from"./chunk-CAFW6QNR.js";import"./chunk-MS4AQ6UA.js";import{a as Dt,b as Et}from"./chunk-GIRDLTGV.js";import{a as Qt}from"./chunk-RDQGS2XZ.js";import{c as wt}from"./chunk-P3ICZX4Q.js";import{d as Tt}from"./chunk-37GOEORY.js";import{a as qt,b as At,c as kt,d as zt,e as Nt,f as It,g as A}from"./chunk-YWCH6MM5.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import{b as at,c as rt}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as ot}from"./chunk-7XDVX5KB.js";import{a as ft}from"./chunk-B4CGVF35.js";import{b as ut}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import{a as dt}from"./chunk-3NOMFGTV.js";import"./chunk-M5XZ5N2D.js";import{b as gt,g as pt}from"./chunk-TAS7XC6E.js";import{a as st}from"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import"./chunk-TPLZKWZ7.js";import{b as et,e as nt,i as it}from"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as Y,c as Z,i as tt}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as mt,b as ct}from"./chunk-N6VRXIQE.js";import{b as $,f as H,g as G,l as U,o as W,r as J,x as K,z as X}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as q,j as D,ua as lt,w as B,wa as E,ya as Q,za as T}from"./chunk-COFYR5MX.js";import{Db as b,Eb as O,Ec as w,F as z,Hb as R,I as N,Ib as V,J as I,Jb as g,Kb as t,Lb as e,Mb as v,Qb as p,Rb as u,Tb as y,Xb as s,Za as l,Zb as c,da as C,ia as h,ib as F,ja as x,lc as i,mc as f,nc as P,ob as S,oc as L,ta as M,ub as d,vc as j}from"./chunk-2MUIW2M6.js";function $t(o,n){if(o&1&&(t(0,"div",5)(1,"strong"),i(2,"Item:"),e(),t(3,"p"),i(4),e()()),o&2){let a=c();l(4),f(a.data.itemName)}}var k=class o{constructor(n,a){this.dialogRef=n;this.data=a}onCancel(){this.dialogRef.close(!1)}onConfirm(){this.dialogRef.close(!0)}static \u0275fac=function(a){return new(a||o)(F(qt),F(At))};static \u0275cmp=S({type:o,selectors:[["app-delete-confirm-dialog"]],decls:22,vars:5,consts:[[1,"delete-dialog"],[1,"dialog-header"],[1,"warning-icon"],["mat-dialog-title",""],[1,"dialog-message"],[1,"item-preview"],[1,"warning-box"],["align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","warn","cdkFocusInitial","",3,"click"]],template:function(a,r){a&1&&(t(0,"div",0)(1,"div",1)(2,"mat-icon",2),i(3,"warning"),e(),t(4,"h2",3),i(5),e()(),t(6,"mat-dialog-content")(7,"p",4),i(8),e(),b(9,$t,5,1,"div",5),t(10,"div",6)(11,"mat-icon"),i(12,"info"),e(),t(13,"span"),i(14,"This action cannot be undone."),e()()(),t(15,"mat-dialog-actions",7)(16,"button",8),s("click",function(){return r.onCancel()}),i(17),e(),t(18,"button",9),s("click",function(){return r.onConfirm()}),t(19,"mat-icon"),i(20,"delete"),e(),i(21),e()()()),a&2&&(l(5),f(r.data.title),l(3),f(r.data.message),l(),O(r.data.itemName?9:-1),l(8),P(" ",r.data.cancelText||"Cancel"," "),l(4),P(" ",r.data.confirmText||"Delete"," "))},dependencies:[D,A,zt,It,Nt,Q,E,q,T],styles:[".delete-dialog[_ngcontent-%COMP%]{min-width:400px}@media (max-width: 600px){.delete-dialog[_ngcontent-%COMP%]{min-width:unset}}.dialog-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.dialog-header[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%]{font-size:2.5rem;width:2.5rem;height:2.5rem;color:#f44336}.dialog-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:500}mat-dialog-content[_ngcontent-%COMP%]{padding:0 1rem 1.5rem}mat-dialog-content[_ngcontent-%COMP%] .dialog-message[_ngcontent-%COMP%]{margin:0 0 1rem;line-height:1.6;color:var(--text-secondary)}mat-dialog-content[_ngcontent-%COMP%] .item-preview[_ngcontent-%COMP%]{margin:1rem 0;padding:1rem;background-color:var(--background-light);border-radius:8px;border-left:4px solid var(--primary-color)}mat-dialog-content[_ngcontent-%COMP%] .item-preview[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem;font-size:.875rem;color:var(--text-secondary)}mat-dialog-content[_ngcontent-%COMP%] .item-preview[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.95rem;color:var(--text-primary);word-break:break-word}mat-dialog-content[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:#fff3e0;border-radius:6px;border-left:4px solid #ff9800}mat-dialog-content[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem;color:#f57c00}mat-dialog-content[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.875rem;color:#e65100;font-weight:500}mat-dialog-actions[_ngcontent-%COMP%]{padding:1rem;gap:.75rem}mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{min-width:100px}mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem;font-size:1.25rem;width:1.25rem;height:1.25rem}@media (prefers-color-scheme: dark){.delete-dialog[_ngcontent-%COMP%]{--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--background-light: rgba(255, 255, 255, .05)}mat-dialog-content[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%]{background-color:#ff980026;border-left-color:#ff9800}mat-dialog-content[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ffb74d}mat-dialog-content[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#ffb74d}}@media (prefers-color-scheme: light){.delete-dialog[_ngcontent-%COMP%]{--text-primary: #212121;--text-secondary: #757575;--background-light: #f5f5f5}}"]})};var Ht=()=>[10,25,50,100],Gt=(o,n)=>n.id;function Ut(o,n){if(o&1&&(t(0,"mat-option",15),i(1),e()),o&2){let a=n.$implicit;g("value",a.id),l(),f(a.name)}}function Wt(o,n){o&1&&(t(0,"div",33),v(1,"mat-spinner",36),t(2,"p"),i(3,"Loading questions..."),e()())}function Jt(o,n){if(o&1){let a=y();t(0,"div",34)(1,"mat-icon",37),i(2,"error"),e(),t(3,"p"),i(4),e(),t(5,"button",6),s("click",function(){h(a);let m=c();return x(m.loadQuestions())}),t(6,"mat-icon"),i(7,"refresh"),e(),i(8," Retry "),e()()}if(o&2){let a=c();l(4),f(a.error())}}function Kt(o,n){if(o&1){let a=y();t(0,"div",35)(1,"mat-icon"),i(2,"quiz"),e(),t(3,"h3"),i(4,"No Questions Found"),e(),t(5,"p"),i(6,"No questions match your current filters. Try adjusting your search criteria."),e(),t(7,"button",6),s("click",function(){h(a);let m=c();return x(m.createQuestion())}),t(8,"mat-icon"),i(9,"add"),e(),i(10," Create First Question "),e()()}}function Xt(o,n){o&1&&(t(0,"th",52),i(1,"Question"),e())}function Yt(o,n){if(o&1&&(t(0,"td",53)(1,"div",54),i(2),e()()),o&2){let a=n.$implicit;l(2),L(" ",a.questionText.substring(0,100),"",a.questionText.length>100?"...":""," ")}}function Zt(o,n){o&1&&(t(0,"th",52),i(1,"Type"),e())}function te(o,n){o&1&&(t(0,"mat-icon"),i(1,"radio_button_checked"),e(),t(2,"span",55),i(3," MCQ"),e())}function ee(o,n){o&1&&(t(0,"mat-icon"),i(1,"check_circle"),e(),t(2,"span"),i(3," T/F"),e())}function ne(o,n){o&1&&(t(0,"mat-icon"),i(1,"edit_note"),e(),t(2,"span"),i(3," Written"),e())}function ie(o,n){if(o&1&&(t(0,"td",53)(1,"mat-chip"),b(2,te,4,0)(3,ee,4,0)(4,ne,4,0),e()()),o&2){let a=n.$implicit;l(2),O(a.questionType==="multiple"?2:a.questionType==="trueFalse"?3:4)}}function oe(o,n){o&1&&(t(0,"th",52),i(1,"Category"),e())}function ae(o,n){if(o&1&&(t(0,"td",53),i(1),e()),o&2){let a=n.$implicit,r=c(2);l(),P(" ",r.getCategoryName(a)," ")}}function re(o,n){o&1&&(t(0,"th",52),i(1,"Difficulty"),e())}function le(o,n){if(o&1&&(t(0,"td",53)(1,"mat-chip",56),i(2),e()()),o&2){let a=n.$implicit,r=c(2);l(),g("color",r.getDifficultyColor(a.difficulty)),l(),P(" ",a.difficulty," ")}}function me(o,n){o&1&&(t(0,"th",52),i(1,"Points"),e())}function ce(o,n){if(o&1&&(t(0,"td",53)(1,"span",57),i(2),e()()),o&2){let a=n.$implicit;l(2),f(a.points)}}function se(o,n){o&1&&(t(0,"th",52),i(1,"Status"),e())}function de(o,n){if(o&1&&(t(0,"td",53)(1,"mat-chip",56),i(2),e()()),o&2){let a=n.$implicit,r=c(2);l(),g("color",r.getStatusColor(a.isActive)),l(),P(" ",a.isActive?"Active":"Inactive"," ")}}function ge(o,n){o&1&&(t(0,"th",52),i(1,"Actions"),e())}function pe(o,n){if(o&1){let a=y();t(0,"td",53)(1,"div",58)(2,"button",59),s("click",function(){let m=h(a).$implicit,_=c(2);return x(_.editQuestion(m))}),t(3,"mat-icon"),i(4,"edit"),e()(),t(5,"button",60),s("click",function(){let m=h(a).$implicit,_=c(2);return x(_.deleteQuestion(m))}),t(6,"mat-icon"),i(7,"delete"),e()()()()}}function ue(o,n){o&1&&v(0,"tr",61)}function fe(o,n){o&1&&v(0,"tr",62)}function _e(o,n){if(o&1){let a=y();t(0,"div",38)(1,"table",39),p(2,40),d(3,Xt,2,0,"th",41)(4,Yt,3,2,"td",42),u(),p(5,43),d(6,Zt,2,0,"th",41)(7,ie,5,1,"td",42),u(),p(8,44),d(9,oe,2,0,"th",41)(10,ae,2,1,"td",42),u(),p(11,45),d(12,re,2,0,"th",41)(13,le,3,2,"td",42),u(),p(14,46),d(15,me,2,0,"th",41)(16,ce,3,1,"td",42),u(),p(17,47),d(18,se,2,0,"th",41)(19,de,3,2,"td",42),u(),p(20,48),d(21,ge,2,0,"th",41)(22,pe,8,0,"td",42),u(),d(23,ue,1,0,"tr",49)(24,fe,1,0,"tr",50),e()(),t(25,"app-pagination",51),s("pageChange",function(m){h(a);let _=c();return x(_.goToPage(m))})("pageSizeChange",function(m){h(a);let _=c();return x(_.onPageSizeChange(m))}),e()}if(o&2){let a=c();l(),g("dataSource",a.questions()),l(22),g("matHeaderRowDef",a.displayedColumns),l(),g("matRowDefColumns",a.displayedColumns),l(),g("state",a.paginationState())("pageNumbers",a.pageNumbers())("pageSizeOptions",j(8,Ht))("showFirstLast",!0)("itemLabel","questions")}}var Rt=class o{adminService=C(Qt);categoryService=C(st);router=C(B);fb=C(K);dialog=C(kt);paginationService=C(dt);questions=M([]);isLoading=M(!1);error=M(null);categories=this.categoryService.categories;currentPage=M(1);pageSize=M(10);totalQuestions=M(0);totalPages=w(()=>Math.ceil(this.totalQuestions()/this.pageSize()));paginationState=w(()=>this.paginationService.calculatePaginationState({currentPage:this.currentPage(),pageSize:this.pageSize(),totalItems:this.totalQuestions()}));pageNumbers=w(()=>this.paginationService.calculatePageNumbers(this.currentPage(),this.totalPages(),5));displayedColumns=["questionText","type","category","difficulty","points","status","actions"];filterForm;Math=Math;ngOnInit(){this.initializeFilterForm(),this.setupSearchDebounce(),this.loadCategories(),this.loadQuestions()}initializeFilterForm(){this.filterForm=this.fb.group({search:[""],category:["all"],difficulty:["all"],type:["all"],sortBy:["createdAt"],sortOrder:["desc"]}),this.filterForm.valueChanges.pipe(z(300),N()).subscribe(()=>{this.currentPage.set(1),this.loadQuestions()})}setupSearchDebounce(){this.filterForm.get("search")?.valueChanges.pipe(z(500),N()).subscribe(()=>{this.currentPage.set(1),this.loadQuestions()})}loadCategories(){this.categories().length===0&&this.categoryService.getCategories().subscribe()}loadQuestions(){this.isLoading.set(!0),this.error.set(null);let n=this.filterForm.value,a={page:this.currentPage(),limit:this.pageSize(),search:n.search||void 0,category:n.category!=="all"?n.category:void 0,difficulty:n.difficulty!=="all"?n.difficulty:void 0,sortBy:n.sortBy,order:n.sortOrder};Object.keys(a).forEach(r=>a[r]===void 0&&delete a[r]),this.adminService.getAllQuestions(a).pipe(I(()=>this.isLoading.set(!1))).subscribe({next:r=>{this.questions.set(r.data),this.totalQuestions.set(r.total),this.currentPage.set(r.page)},error:r=>{this.error.set(r.message||"Failed to load questions"),this.questions.set([]),this.totalQuestions.set(0),console.error("Load questions error:",r)}})}createQuestion(){this.router.navigate(["/admin/questions/new"])}editQuestion(n){this.router.navigate(["/admin/questions",n.id,"edit"])}deleteQuestion(n){this.dialog.open(k,{width:"500px",data:{title:"Delete Question",message:"Are you sure you want to delete this question? This action cannot be undone.",itemName:n.questionText.substring(0,100)+(n.questionText.length>100?"...":""),confirmText:"Delete",cancelText:"Cancel"}}).afterClosed().subscribe(r=>{r&&n.id&&this.performDelete(n.id)})}performDelete(n){this.isLoading.set(!0),this.adminService.deleteQuestion(n).pipe(I(()=>this.isLoading.set(!1))).subscribe({next:()=>{this.loadQuestions()},error:a=>{this.error.set("Failed to delete question"),console.error("Delete error:",a)}})}getCategoryName(n){if(n.category?.name)return n.category.name;if(n.categoryId){let a=this.categories().find(r=>r.id===n.categoryId||r.id===n.categoryId.toString());if(a)return a.name}return n.categoryName||"Unknown"}getStatusColor(n){return n?"primary":"warn"}getDifficultyColor(n){switch(n.toLowerCase()){case"easy":return"primary";case"medium":return"accent";case"hard":return"warn";default:return""}}goToPage(n){n>=1&&n<=this.totalPages()&&(this.currentPage.set(n),this.loadQuestions())}onPageSizeChange(n){this.pageSize.set(n),this.currentPage.set(1),this.loadQuestions()}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=S({type:o,selectors:[["app-admin-questions"]],decls:81,vars:2,consts:[[1,"admin-questions-container"],[1,"page-header"],[1,"header-content"],[1,"title-section"],[1,"header-icon"],[1,"subtitle"],["mat-raised-button","","color","primary",3,"click"],[1,"filters-card"],[1,"filters-form",3,"formGroup"],["appearance","outline",1,"search-field"],["matInput","","formControlName","search","placeholder","Search by question text..."],["matPrefix",""],["appearance","outline"],["formControlName","category"],["value","all"],[3,"value"],["formControlName","difficulty"],["value","easy"],["value","medium"],["value","hard"],["formControlName","type"],["value","multiple"],["value","trueFalse"],["value","written"],["formControlName","sortBy"],["value","createdAt"],["value","questionText"],["value","difficulty"],["value","points"],["formControlName","sortOrder"],["value","asc"],["value","desc"],[1,"results-card"],[1,"loading-container"],[1,"error-container"],[1,"empty-container"],["diameter","50"],["color","warn"],[1,"table-container"],["mat-table","",1,"questions-table",3,"dataSource"],["matColumnDef","questionText"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","type"],["matColumnDef","category"],["matColumnDef","difficulty"],["matColumnDef","points"],["matColumnDef","status"],["matColumnDef","actions"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[3,"pageChange","pageSizeChange","state","pageNumbers","pageSizeOptions","showFirstLast","itemLabel"],["mat-header-cell",""],["mat-cell",""],[1,"question-text-cell"],[1,"px-5"],[3,"color"],[1,"points-badge"],[1,"action-buttons"],["mat-icon-button","","color","primary","matTooltip","Edit Question",3,"click"],["mat-icon-button","","color","warn","matTooltip","Delete Question",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(a,r){a&1&&(t(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"mat-icon",4),i(5,"quiz"),e(),t(6,"div")(7,"h1"),i(8,"Question Management"),e(),t(9,"p",5),i(10,"Create, edit, and manage quiz questions"),e()()(),t(11,"button",6),s("click",function(){return r.createQuestion()}),t(12,"mat-icon"),i(13,"add"),e(),i(14," Create Question "),e()()(),t(15,"mat-card",7)(16,"mat-card-content")(17,"form",8)(18,"mat-form-field",9)(19,"mat-label"),i(20,"Search Questions"),e(),v(21,"input",10),t(22,"mat-icon",11),i(23,"search"),e()(),t(24,"mat-form-field",12)(25,"mat-label"),i(26,"Category"),e(),t(27,"mat-select",13)(28,"mat-option",14),i(29,"All Categories"),e(),R(30,Ut,2,2,"mat-option",15,Gt),e()(),t(32,"mat-form-field",12)(33,"mat-label"),i(34,"Difficulty"),e(),t(35,"mat-select",16)(36,"mat-option",14),i(37,"All Difficulties"),e(),t(38,"mat-option",17),i(39,"Easy"),e(),t(40,"mat-option",18),i(41,"Medium"),e(),t(42,"mat-option",19),i(43,"Hard"),e()()(),t(44,"mat-form-field",12)(45,"mat-label"),i(46,"Type"),e(),t(47,"mat-select",20)(48,"mat-option",14),i(49,"All Types"),e(),t(50,"mat-option",21),i(51,"Multiple Choice"),e(),t(52,"mat-option",22),i(53,"True/False"),e(),t(54,"mat-option",23),i(55,"Written"),e()()(),t(56,"mat-form-field",12)(57,"mat-label"),i(58,"Sort By"),e(),t(59,"mat-select",24)(60,"mat-option",25),i(61,"Date Created"),e(),t(62,"mat-option",26),i(63,"Question Text"),e(),t(64,"mat-option",27),i(65,"Difficulty"),e(),t(66,"mat-option",28),i(67,"Points"),e()()(),t(68,"mat-form-field",12)(69,"mat-label"),i(70,"Order"),e(),t(71,"mat-select",29)(72,"mat-option",30),i(73,"Ascending"),e(),t(74,"mat-option",31),i(75,"Descending"),e()()()()()(),t(76,"mat-card",32),b(77,Wt,4,0,"div",33)(78,Jt,9,1,"div",34)(79,Kt,11,0,"div",35)(80,_e,26,9),e()()),a&2&&(l(17),g("formGroup",r.filterForm),l(13),V(r.categories()),l(47),O(r.isLoading()?77:r.error()?78:r.questions().length===0?79:80))},dependencies:[D,X,U,$,H,G,W,J,tt,Y,Z,Q,E,lt,q,T,St,_t,ht,bt,xt,Ct,Ot,Mt,Pt,vt,yt,rt,at,it,et,nt,ot,Et,Dt,wt,ct,mt,ft,ut,pt,gt,Tt,A,Ft],styles:[".admin-questions-container[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto;padding:2rem}@media (max-width: 768px){.admin-questions-container[_ngcontent-%COMP%]{padding:1rem}}.page-header[_ngcontent-%COMP%]{margin-bottom:2rem}.page-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:1rem}@media (max-width: 768px){.page-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}}.page-header[_ngcontent-%COMP%] .title-section[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}.page-header[_ngcontent-%COMP%] .title-section[_ngcontent-%COMP%] .header-icon[_ngcontent-%COMP%]{font-size:2.5rem;width:2.5rem;height:2.5rem;color:var(--primary-color)}.page-header[_ngcontent-%COMP%] .title-section[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:600;color:var(--text-primary)}.page-header[_ngcontent-%COMP%] .title-section[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;font-size:.95rem;color:var(--text-secondary)}.page-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:42px;padding:0 1.5rem}@media (max-width: 768px){.page-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}.page-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.filters-card[_ngcontent-%COMP%]{margin-bottom:1.5rem}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}@media (max-width: 768px){.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%]{grid-template-columns:1fr}}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%]{grid-column:span 2}@media (max-width: 768px){.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%]{grid-column:span 1}}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.results-card[_ngcontent-%COMP%]{min-height:400px}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:1rem;color:var(--text-secondary)}.error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.error-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:4rem;width:4rem;height:4rem}.error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:1rem;color:var(--text-secondary);text-align:center}.empty-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.empty-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:5rem;width:5rem;height:5rem;color:var(--text-disabled)}.empty-container[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:500;color:var(--text-primary)}.empty-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:1rem;color:var(--text-secondary);text-align:center;max-width:500px}.empty-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-top:1rem}.table-container[_ngcontent-%COMP%]{overflow-x:auto}@media (max-width: 768px){.table-container[_ngcontent-%COMP%]{margin:-1rem;padding:1rem}}.questions-table[_ngcontent-%COMP%]{width:100%;background:transparent}.questions-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:600;font-size:.875rem;text-transform:uppercase;color:var(--text-secondary);padding:1rem}.questions-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:1rem;color:var(--text-primary)}.questions-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-bottom:1px solid var(--divider-color)}.questions-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:var(--hover-background)}.questions-table[_ngcontent-%COMP%] .question-text-cell[_ngcontent-%COMP%]{max-width:400px;line-height:1.5}.questions-table[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem}.questions-table[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem}.questions-table[_ngcontent-%COMP%] .points-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:1.5rem;padding:0 .5rem;background-color:var(--primary-color);color:#fff;border-radius:12px;font-size:.875rem;font-weight:500}.questions-table[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{display:flex;gap:.25rem}.questions-table[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:36px;height:36px}.questions-table[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}.pagination-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-top:1px solid var(--divider-color);margin-top:1rem}@media (max-width: 768px){.pagination-container[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}}.pagination-container[_ngcontent-%COMP%] .pagination-info[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary)}.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}@media (max-width: 768px){.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%]{flex-wrap:wrap;justify-content:center}}.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{min-width:40px;height:40px}.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background-color:var(--primary-color);color:#fff}.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%] .ellipsis[_ngcontent-%COMP%]{padding:0 .5rem;color:var(--text-secondary)}@media (prefers-color-scheme: dark){.admin-questions-container[_ngcontent-%COMP%]{--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-disabled: #606060;--divider-color: #404040;--hover-background: rgba(255, 255, 255, .05)}.questions-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#ffffff0d}}@media (prefers-color-scheme: light){.admin-questions-container[_ngcontent-%COMP%]{--text-primary: #212121;--text-secondary: #757575;--text-disabled: #bdbdbd;--divider-color: #e0e0e0;--hover-background: rgba(0, 0, 0, .04)}.questions-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#0000000a}}"]})};export{Rt as AdminQuestionsComponent}; diff --git a/chunk-5WBSN65X.js b/chunk-5WBSN65X.js new file mode 100644 index 0000000..3803112 --- /dev/null +++ b/chunk-5WBSN65X.js @@ -0,0 +1,2 @@ +import{a as h,b as T,d as I,e as b,f as y,g as O}from"./chunk-YWCH6MM5.js";import{Aa as v,j as M,wa as _,ya as D,za as x}from"./chunk-COFYR5MX.js";import{Db as s,Eb as f,Jb as C,Kb as i,Lb as o,Xb as c,Za as n,Zb as u,da as r,lc as a,mc as d,nc as m,ob as p}from"./chunk-2MUIW2M6.js";function A(l,g){if(l&1&&(i(0,"mat-icon"),a(1),o()),l&2){let e=u();n(),d(e.data.icon)}}var P=class l{data=r(T);dialogRef=r(h);onConfirm(){this.dialogRef.close(!0)}onCancel(){this.dialogRef.close(!1)}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=p({type:l,selectors:[["app-confirm-dialog"]],decls:12,vars:6,consts:[[2,"padding","10px"],["mat-dialog-title",""],["align","end"],["mat-button","",3,"click"],["mat-raised-button","",3,"click","color"]],template:function(e,t){e&1&&(i(0,"div",0)(1,"h2",1),s(2,A,2,1,"mat-icon"),a(3),o(),i(4,"mat-dialog-content")(5,"p"),a(6),o()(),i(7,"mat-dialog-actions",2)(8,"button",3),c("click",function(){return t.onCancel()}),a(9),o(),i(10,"button",4),c("click",function(){return t.onConfirm()}),a(11),o()()()),e&2&&(n(2),f(t.data.icon?2:-1),n(),m(" ",t.data.title,` +`),n(3),d(t.data.message),n(3),m(" ",t.data.cancelText||"Cancel"," "),n(),C("color",t.data.confirmColor||"primary"),n(),m(" ",t.data.confirmText||"Confirm"," "))},dependencies:[M,O,I,y,b,D,_,v,x],styles:["h2[mat-dialog-title][_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin:0}h2[mat-dialog-title][_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px}mat-dialog-content[_ngcontent-%COMP%]{padding:1rem 0}mat-dialog-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:1rem;line-height:1.5}mat-dialog-actions[_ngcontent-%COMP%]{padding:1rem 0 0;margin:0;gap:.5rem}"]})};export{P as a}; diff --git a/chunk-5WV5P2FL.js b/chunk-5WV5P2FL.js new file mode 100644 index 0000000..bc05044 --- /dev/null +++ b/chunk-5WV5P2FL.js @@ -0,0 +1,2 @@ +import{a as ee}from"./chunk-VX6WCCL3.js";import{a as H,c as Z}from"./chunk-GWD5A44H.js";import{N as K,X as Y,ea as I,oa as $,ra as J,ta as W}from"./chunk-COFYR5MX.js";import{$ as w,$b as U,Ca as V,Cb as v,Gc as N,Jb as h,Kb as d,Lb as m,Mb as b,Mc as X,Pc as n,Qc as Q,Tb as P,Ub as q,Xb as x,Z as T,Za as _,_b as S,ba as z,bc as f,cb as p,cc as g,da as r,db as F,dc as y,hc as G,ia as s,ja as l,jc as C,ka as A,kc as j,la as D,ob as L,pb as O,ta as R,uc as B,za as M}from"./chunk-2MUIW2M6.js";var ae=["input"],oe=["label"],ie=["*"],re=new z("mat-checkbox-default-options",{providedIn:"root",factory:te});function te(){return{color:"accent",clickAction:"check-indeterminate",disabledInteractive:!1}}var o=(function(a){return a[a.Init=0]="Init",a[a.Checked=1]="Checked",a[a.Unchecked=2]="Unchecked",a[a.Indeterminate=3]="Indeterminate",a})(o||{}),E=class{source;checked},ce=te(),ne=(()=>{class a{_elementRef=r(V);_changeDetectorRef=r(X);_ngZone=r(F);_animationsDisabled=$();_options=r(re,{optional:!0});focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(e){let t=new E;return t.source=this,t.checked=e,t}_getAnimationTargetElement(){return this._inputElement?.nativeElement}_animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"};ariaLabel="";ariaLabelledby=null;ariaDescribedby;ariaExpanded;ariaControls;ariaOwns;_uniqueId;id;get inputId(){return`${this.id||this._uniqueId}-input`}required;labelPosition="after";name=null;change=new p;indeterminateChange=new p;value;disableRipple;_inputElement;_labelElement;tabIndex;color;disabledInteractive;_onTouched=()=>{};_currentAnimationClass="";_currentCheckState=o.Init;_controlValueAccessorChangeFn=()=>{};_validatorChangeFn=()=>{};constructor(){r(K).load(W);let e=r(new N("tabindex"),{optional:!0});this._options=this._options||ce,this.color=this._options.color||ce.color,this.tabIndex=e==null?0:parseInt(e)||0,this.id=this._uniqueId=r(Y).getId("mat-mdc-checkbox-"),this.disabledInteractive=this._options?.disabledInteractive??!1}ngOnChanges(e){e.required&&this._validatorChangeFn()}ngAfterViewInit(){this._syncIndeterminate(this.indeterminate)}get checked(){return this._checked}set checked(e){e!=this.checked&&(this._checked=e,this._changeDetectorRef.markForCheck())}_checked=!1;get disabled(){return this._disabled}set disabled(e){e!==this.disabled&&(this._disabled=e,this._changeDetectorRef.markForCheck())}_disabled=!1;get indeterminate(){return this._indeterminate()}set indeterminate(e){let t=e!=this._indeterminate();this._indeterminate.set(e),t&&(e?this._transitionCheckState(o.Indeterminate):this._transitionCheckState(this.checked?o.Checked:o.Unchecked),this.indeterminateChange.emit(e)),this._syncIndeterminate(e)}_indeterminate=R(!1);_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(e){this.checked=!!e}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}validate(e){return this.required&&e.value!==!0?{required:!0}:null}registerOnValidatorChange(e){this._validatorChangeFn=e}_transitionCheckState(e){let t=this._currentCheckState,c=this._getAnimationTargetElement();if(!(t===e||!c)&&(this._currentAnimationClass&&c.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(t,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){c.classList.add(this._currentAnimationClass);let i=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{c.classList.remove(i)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){let e=this._options?.clickAction;!this.disabled&&e!=="noop"?(this.indeterminate&&e!=="check"&&Promise.resolve().then(()=>{this._indeterminate.set(!1),this.indeterminateChange.emit(!1)}),this._checked=!this._checked,this._transitionCheckState(this._checked?o.Checked:o.Unchecked),this._emitChangeEvent()):(this.disabled&&this.disabledInteractive||!this.disabled&&e==="noop")&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate)}_onInteractionEvent(e){e.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(e,t){if(this._animationsDisabled)return"";switch(e){case o.Init:if(t===o.Checked)return this._animationClasses.uncheckedToChecked;if(t==o.Indeterminate)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case o.Unchecked:return t===o.Checked?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case o.Checked:return t===o.Unchecked?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case o.Indeterminate:return t===o.Checked?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(e){let t=this._inputElement;t&&(t.nativeElement.indeterminate=e)}_onInputClick(){this._handleInputClick()}_onTouchTargetClick(){this._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(e){e.target&&this._labelElement.nativeElement.contains(e.target)&&e.stopPropagation()}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=L({type:a,selectors:[["mat-checkbox"]],viewQuery:function(t,c){if(t&1&&(f(ae,5),f(oe,5)),t&2){let i;g(i=y())&&(c._inputElement=i.first),g(i=y())&&(c._labelElement=i.first)}},hostAttrs:[1,"mat-mdc-checkbox"],hostVars:16,hostBindings:function(t,c){t&2&&(q("id",c.id),v("tabindex",null)("aria-label",null)("aria-labelledby",null),j(c.color?"mat-"+c.color:"mat-accent"),C("_mat-animation-noopable",c._animationsDisabled)("mdc-checkbox--disabled",c.disabled)("mat-mdc-checkbox-disabled",c.disabled)("mat-mdc-checkbox-checked",c.checked)("mat-mdc-checkbox-disabled-interactive",c.disabledInteractive))},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],ariaExpanded:[2,"aria-expanded","ariaExpanded",n],ariaControls:[0,"aria-controls","ariaControls"],ariaOwns:[0,"aria-owns","ariaOwns"],id:"id",required:[2,"required","required",n],labelPosition:"labelPosition",name:"name",value:"value",disableRipple:[2,"disableRipple","disableRipple",n],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?void 0:Q(e)],color:"color",disabledInteractive:[2,"disabledInteractive","disabledInteractive",n],checked:[2,"checked","checked",n],disabled:[2,"disabled","disabled",n],indeterminate:[2,"indeterminate","indeterminate",n]},outputs:{change:"change",indeterminateChange:"indeterminateChange"},exportAs:["matCheckbox"],features:[B([{provide:H,useExisting:T(()=>a),multi:!0},{provide:Z,useExisting:a,multi:!0}]),M],ngContentSelectors:ie,decls:15,vars:23,consts:[["checkbox",""],["input",""],["label",""],["mat-internal-form-field","",3,"click","labelPosition"],[1,"mdc-checkbox"],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"blur","click","change","checked","indeterminate","disabled","id","required","tabIndex"],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"]],template:function(t,c){if(t&1){let i=P();S(),d(0,"div",3),x("click",function(u){return s(i),l(c._preventBubblingFromLabel(u))}),d(1,"div",4,0)(3,"div",5),x("click",function(){return s(i),l(c._onTouchTargetClick())}),m(),d(4,"input",6,1),x("blur",function(){return s(i),l(c._onBlur())})("click",function(){return s(i),l(c._onInputClick())})("change",function(u){return s(i),l(c._onInteractionEvent(u))}),m(),b(6,"div",7),d(7,"div",8),A(),d(8,"svg",9),b(9,"path",10),m(),D(),b(10,"div",11),m(),b(11,"div",12),m(),d(12,"label",13,2),U(14),m()()}if(t&2){let i=G(2);h("labelPosition",c.labelPosition),_(4),C("mdc-checkbox--selected",c.checked),h("checked",c.checked)("indeterminate",c.indeterminate)("disabled",c.disabled&&!c.disabledInteractive)("id",c.inputId)("required",c.required)("tabIndex",c.disabled&&!c.disabledInteractive?-1:c.tabIndex),v("aria-label",c.ariaLabel||null)("aria-labelledby",c.ariaLabelledby)("aria-describedby",c.ariaDescribedby)("aria-checked",c.indeterminate?"mixed":null)("aria-controls",c.ariaControls)("aria-disabled",c.disabled&&c.disabledInteractive?!0:null)("aria-expanded",c.ariaExpanded)("aria-owns",c.ariaOwns)("name",c.name)("value",c.value),_(7),h("matRippleTrigger",i)("matRippleDisabled",c.disableRipple||c.disabled)("matRippleCentered",!0),_(),h("for",c.inputId)}},dependencies:[J,ee],styles:[`.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom;padding:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2);margin:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox:hover>.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:hover>.mat-mdc-checkbox-ripple>.mat-ripple-element{background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control:focus+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));background-color:var(--mat-checkbox-unselected-focus-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-unselected-focus-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:active>.mdc-checkbox__native-control+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));background-color:var(--mat-checkbox-unselected-pressed-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:active>.mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-unselected-pressed-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:hover .mdc-checkbox__native-control:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));background-color:var(--mat-checkbox-selected-hover-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-hover-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox .mdc-checkbox__native-control:focus:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));background-color:var(--mat-checkbox-selected-focus-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-focus-state-layer-color, var(--mat-sys-primary))}.mdc-checkbox:active>.mdc-checkbox__native-control:checked+.mdc-checkbox__ripple{opacity:var(--mat-checkbox-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));background-color:var(--mat-checkbox-selected-pressed-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox:active>.mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mat-checkbox-selected-pressed-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control+.mdc-checkbox__ripple{background-color:var(--mat-checkbox-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-checkbox .mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit;z-index:1;width:var(--mat-checkbox-state-layer-size, 40px);height:var(--mat-checkbox-state-layer-size, 40px);top:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2);right:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2);left:calc((var(--mat-checkbox-state-layer-size, 40px) - var(--mat-checkbox-state-layer-size, 40px))/2)}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms cubic-bezier(0.4, 0, 0.6, 1);-webkit-print-color-adjust:exact;color-adjust:exact;border-color:var(--mat-checkbox-unselected-icon-color, var(--mat-sys-on-surface-variant));top:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2);left:calc((var(--mat-checkbox-state-layer-size, 40px) - 18px)/2)}.mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-icon-color, var(--mat-sys-primary))}.mdc-checkbox--disabled .mdc-checkbox__background{border-color:var(--mat-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{background-color:var(--mat-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}@media(forced-colors: active){.mdc-checkbox__native-control:disabled:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:disabled:indeterminate~.mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox:hover>.mdc-checkbox__native-control:not(:checked)~.mdc-checkbox__background,.mdc-checkbox:hover>.mdc-checkbox__native-control:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mat-checkbox-unselected-hover-icon-color, var(--mat-sys-on-surface));background-color:rgba(0,0,0,0)}.mdc-checkbox:hover>.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox:hover>.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-hover-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-hover-icon-color, var(--mat-sys-primary))}.mdc-checkbox__native-control:focus:focus:not(:checked)~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mat-checkbox-unselected-focus-icon-color, var(--mat-sys-on-surface))}.mdc-checkbox__native-control:focus:focus:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:focus:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mat-checkbox-selected-focus-icon-color, var(--mat-sys-primary));background-color:var(--mat-checkbox-selected-focus-icon-color, var(--mat-sys-primary))}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover>.mdc-checkbox__native-control~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:var(--mat-checkbox-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox:hover>.mdc-checkbox__native-control~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__background{border-color:GrayText}}.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{background-color:var(--mat-checkbox-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:rgba(0,0,0,0)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms cubic-bezier(0.4, 0, 0.6, 1);color:var(--mat-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}@media(forced-colors: active){.mdc-checkbox__checkmark{color:CanvasText}}.mdc-checkbox--disabled .mdc-checkbox__checkmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:var(--mat-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__checkmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__checkmark{color:GrayText}}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);border-color:var(--mat-checkbox-selected-checkmark-color, var(--mat-sys-on-primary))}@media(forced-colors: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:var(--mat-checkbox-disabled-selected-checkmark-color, var(--mat-sys-surface))}@media(forced-colors: active){.mdc-checkbox--disabled .mdc-checkbox__mixedmark,.mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive .mdc-checkbox__mixedmark{border-color:GrayText}}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__checkmark{transition:opacity 180ms cubic-bezier(0, 0, 0.2, 1),transform 180ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background>.mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background>.mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mat-mdc-checkbox-touch-target,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__native-control,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__ripple,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mat-mdc-checkbox-ripple::before,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__checkmark>.mdc-checkbox__checkmark-path,.mat-mdc-checkbox._mat-animation-noopable>.mat-internal-form-field>.mdc-checkbox>.mdc-checkbox__background>.mdc-checkbox__mixedmark{transition:none !important;animation:none !important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox .mat-internal-form-field{color:var(--mat-checkbox-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-checkbox-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-checkbox-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-checkbox-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-checkbox-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-checkbox-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-checkbox.mat-mdc-checkbox-disabled.mat-mdc-checkbox-disabled-interactive{pointer-events:auto}.mat-mdc-checkbox.mat-mdc-checkbox-disabled.mat-mdc-checkbox-disabled-interactive input{cursor:default}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default;color:var(--mat-checkbox-disabled-label-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{color:GrayText}}.mat-mdc-checkbox label:empty{display:none}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox .mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox .mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-checkbox-touch-target-size, 48px);width:var(--mat-checkbox-touch-target-size, 48px);transform:translate(-50%, -50%);display:var(--mat-checkbox-touch-target-display, block)}.mat-mdc-checkbox .mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus~.mat-focus-indicator::before{content:""} +`],encapsulation:2,changeDetection:0})}return a})(),Ee=(()=>{class a{static \u0275fac=function(t){return new(t||a)};static \u0275mod=O({type:a});static \u0275inj=w({imports:[ne,I,I]})}return a})();export{ne as a,Ee as b}; diff --git a/chunk-66PBOFKL.js b/chunk-66PBOFKL.js new file mode 100644 index 0000000..bf8f549 --- /dev/null +++ b/chunk-66PBOFKL.js @@ -0,0 +1 @@ +import{b as h}from"./chunk-M5XZ5N2D.js";import{_ as g,i as f}from"./chunk-2MUIW2M6.js";var p=(()=>{class r{_listeners=[];notify(t,s){for(let n of this._listeners)n(t,s)}listen(t){return this._listeners.push(t),()=>{this._listeners=this._listeners.filter(s=>t!==s)}}ngOnDestroy(){this._listeners=[]}static \u0275fac=function(s){return new(s||r)};static \u0275prov=g({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var d=class{applyChanges(e,t,s,n,i){e.forEachOperation((c,a,_)=>{let l,o;if(c.previousIndex==null){let m=s(c,a,_);l=t.createEmbeddedView(m.templateRef,m.context,m.index),o=h.INSERTED}else _==null?(t.remove(a),o=h.REMOVED):(l=t.get(a),t.move(l,_),o=h.MOVED);i&&i({context:l?.context,operation:o,record:c})})}detach(){}};var u=class{_multiple;_emitChanges;compareWith;_selection=new Set;_deselectedToEmit=[];_selectedToEmit=[];_selected;get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}changed=new f;constructor(e=!1,t,s=!0,n){this._multiple=e,this._emitChanges=s,this.compareWith=n,t&&t.length&&(e?t.forEach(i=>this._markSelected(i)):this._markSelected(t[0]),this._selectedToEmit.length=0)}select(...e){this._verifyValueAssignment(e),e.forEach(s=>this._markSelected(s));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}deselect(...e){this._verifyValueAssignment(e),e.forEach(s=>this._unmarkSelected(s));let t=this._hasQueuedChanges();return this._emitChangeEvent(),t}setSelection(...e){this._verifyValueAssignment(e);let t=this.selected,s=new Set(e.map(i=>this._getConcreteValue(i)));e.forEach(i=>this._markSelected(i)),t.filter(i=>!s.has(this._getConcreteValue(i,s))).forEach(i=>this._unmarkSelected(i));let n=this._hasQueuedChanges();return this._emitChangeEvent(),n}toggle(e){return this.isSelected(e)?this.deselect(e):this.select(e)}clear(e=!0){this._unmarkAll();let t=this._hasQueuedChanges();return e&&this._emitChangeEvent(),t}isSelected(e){return this._selection.has(this._getConcreteValue(e))}isEmpty(){return this._selection.size===0}hasValue(){return!this.isEmpty()}sort(e){this._multiple&&this.selected&&this._selected.sort(e)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(e){e=this._getConcreteValue(e),this.isSelected(e)||(this._multiple||this._unmarkAll(),this.isSelected(e)||this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))}_unmarkSelected(e){e=this._getConcreteValue(e),this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))}_unmarkAll(){this.isEmpty()||this._selection.forEach(e=>this._unmarkSelected(e))}_verifyValueAssignment(e){e.length>1&&this._multiple}_hasQueuedChanges(){return!!(this._deselectedToEmit.length||this._selectedToEmit.length)}_getConcreteValue(e,t){if(this.compareWith){t=t??this._selection;for(let s of t)if(this.compareWith(e,s))return s;return e}else return e}};export{p as a,d as b,u as c}; diff --git a/chunk-6NRCTHHS.js b/chunk-6NRCTHHS.js new file mode 100644 index 0000000..2637e21 --- /dev/null +++ b/chunk-6NRCTHHS.js @@ -0,0 +1,4 @@ +import{ea as m}from"./chunk-COFYR5MX.js";import{$ as s,$b as i,Nb as p,Ob as f,_b as n,ba as l,da as g,jc as o,ob as c,pb as u,qb as d}from"./chunk-2MUIW2M6.js";var v=["*"];var h=[[["","mat-card-avatar",""],["","matCardAvatar",""]],[["mat-card-title"],["mat-card-subtitle"],["","mat-card-title",""],["","mat-card-subtitle",""],["","matCardTitle",""],["","matCardSubtitle",""]],"*"],y=["[mat-card-avatar], [matCardAvatar]",`mat-card-title, mat-card-subtitle, + [mat-card-title], [mat-card-subtitle], + [matCardTitle], [matCardSubtitle]`,"*"],b=new l("MAT_CARD_CONFIG"),j=(()=>{class t{appearance;constructor(){let e=g(b,{optional:!0});this.appearance=e?.appearance||"raised"}static \u0275fac=function(a){return new(a||t)};static \u0275cmp=c({type:t,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(a,r){a&2&&o("mat-mdc-card-outlined",r.appearance==="outlined")("mdc-card--outlined",r.appearance==="outlined")("mat-mdc-card-filled",r.appearance==="filled")("mdc-card--filled",r.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:v,decls:1,vars:0,template:function(a,r){a&1&&(n(),i(0))},styles:[`.mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:"";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.mat-mdc-card-actions-align-end{justify-content:flex-end} +`],encapsulation:2,changeDetection:0})}return t})(),S=(()=>{class t{static \u0275fac=function(a){return new(a||t)};static \u0275dir=d({type:t,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-mdc-card-title"]})}return t})();var k=(()=>{class t{static \u0275fac=function(a){return new(a||t)};static \u0275dir=d({type:t,selectors:[["mat-card-content"]],hostAttrs:[1,"mat-mdc-card-content"]})}return t})(),T=(()=>{class t{static \u0275fac=function(a){return new(a||t)};static \u0275dir=d({type:t,selectors:[["mat-card-subtitle"],["","mat-card-subtitle",""],["","matCardSubtitle",""]],hostAttrs:[1,"mat-mdc-card-subtitle"]})}return t})(),z=(()=>{class t{align="start";static \u0275fac=function(a){return new(a||t)};static \u0275dir=d({type:t,selectors:[["mat-card-actions"]],hostAttrs:[1,"mat-mdc-card-actions","mdc-card__actions"],hostVars:2,hostBindings:function(a,r){a&2&&o("mat-mdc-card-actions-align-end",r.align==="end")},inputs:{align:"align"},exportAs:["matCardActions"]})}return t})(),E=(()=>{class t{static \u0275fac=function(a){return new(a||t)};static \u0275cmp=c({type:t,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-mdc-card-header"],ngContentSelectors:y,decls:4,vars:0,consts:[[1,"mat-mdc-card-header-text"]],template:function(a,r){a&1&&(n(h),i(0),p(1,"div",0),i(2,1),f(),i(3,2))},encapsulation:2,changeDetection:0})}return t})(),L=(()=>{class t{static \u0275fac=function(a){return new(a||t)};static \u0275dir=d({type:t,selectors:[["mat-card-footer"]],hostAttrs:[1,"mat-mdc-card-footer"]})}return t})();var B=(()=>{class t{static \u0275fac=function(a){return new(a||t)};static \u0275dir=d({type:t,selectors:[["","mat-card-avatar",""],["","matCardAvatar",""]],hostAttrs:[1,"mat-mdc-card-avatar"]})}return t})();var G=(()=>{class t{static \u0275fac=function(a){return new(a||t)};static \u0275mod=u({type:t});static \u0275inj=s({imports:[m,m]})}return t})();export{j as a,S as b,k as c,T as d,z as e,E as f,L as g,B as h,G as i}; diff --git a/chunk-6XFHITFY.js b/chunk-6XFHITFY.js new file mode 100644 index 0000000..d40e4e5 --- /dev/null +++ b/chunk-6XFHITFY.js @@ -0,0 +1 @@ +import{b as W}from"./chunk-CTXOKINH.js";import{b as Z,d as tt,g as et}from"./chunk-TAS7XC6E.js";import{a as X}from"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import"./chunk-TPLZKWZ7.js";import"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as j,c as R,i as N}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as J,b as K}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as Y,C as F,j as L,u as Q,w as A,wa as H,x as $,ya as U,za as G}from"./chunk-COFYR5MX.js";import{Db as _,Eb as p,Hb as z,Ib as I,Kb as e,Lb as t,Mb as T,Tb as b,U as v,Xb as x,Za as o,Zb as d,da as O,i as q,ia as u,ic as B,ja as C,kc as V,lc as n,mc as g,nc as M,ob as D,ta as y}from"./chunk-2MUIW2M6.js";var it=(r,l)=>l.id;function ot(r,l){r&1&&(e(0,"div",1),T(1,"mat-spinner",4),e(2,"p",5),n(3,"Loading category details..."),t()())}function at(r,l){if(r&1){let i=b();e(0,"div",2)(1,"mat-card",6)(2,"mat-card-content")(3,"div",7)(4,"mat-icon",8),n(5,"error_outline"),t(),e(6,"h2"),n(7,"Oops! Something went wrong"),t(),e(8,"p"),n(9),t(),e(10,"div",9)(11,"button",10),x("click",function(){u(i);let c=d();return C(c.retry())}),e(12,"mat-icon"),n(13,"refresh"),t(),n(14," Try Again "),t(),e(15,"button",11),x("click",function(){u(i);let c=d();return C(c.goBack())}),e(16,"mat-icon"),n(17,"arrow_back"),t(),n(18," Back to Categories "),t()()()()()()}if(r&2){let i=d();o(9),g(i.error())}}function rt(r,l){r&1&&(e(0,"mat-chip",24)(1,"mat-icon"),n(2,"public"),t(),n(3," Guest Accessible "),t())}function ct(r,l){r&1&&(e(0,"mat-chip",24)(1,"mat-icon"),n(2,"lock"),t(),n(3," Login Required "),t())}function lt(r,l){if(r&1&&(e(0,"div",25)(1,"h2"),n(2,"Statistics"),t(),e(3,"div",33)(4,"mat-card",34)(5,"mat-card-content")(6,"div",35)(7,"mat-icon"),n(8,"quiz"),t()(),e(9,"h3"),n(10),t(),e(11,"p"),n(12,"Total Questions"),t()()(),e(13,"mat-card",34)(14,"mat-card-content")(15,"div",36)(16,"mat-icon"),n(17,"trending_up"),t()(),e(18,"h3"),n(19),t(),e(20,"p"),n(21,"Average Accuracy"),t()()(),e(22,"mat-card",34)(23,"mat-card-content")(24,"div",37)(25,"mat-icon"),n(26,"people"),t()(),e(27,"h3"),n(28),t(),e(29,"p"),n(30,"Total Attempts"),t()()(),e(31,"mat-card",34)(32,"mat-card-content")(33,"div",38)(34,"mat-icon"),n(35,"speed"),t()(),e(36,"h3"),n(37),t(),e(38,"p"),n(39,"Average Score"),t()()()()()),r&2){let i,a,c,m,f=d(2);o(10),g(((i=f.category())==null||i.stats==null?null:i.stats.totalQuestions)||0),o(9),M("",((a=f.category())==null||a.stats==null?null:a.stats.averageAccuracy)||0,"%"),o(9),g(((c=f.category())==null||c.stats==null?null:c.stats.totalAttempts)||0),o(9),M("",((m=f.category())==null||m.stats==null?null:m.stats.averageScore)||0,"%")}}function dt(r,l){if(r&1&&(e(0,"div",26)(1,"h2"),n(2,"Difficulty Breakdown"),t(),e(3,"div",39)(4,"mat-card",40)(5,"mat-card-content")(6,"mat-icon"),n(7,"sentiment_satisfied"),t(),e(8,"h3"),n(9),t(),e(10,"p"),n(11,"Easy"),t()()(),e(12,"mat-card",41)(13,"mat-card-content")(14,"mat-icon"),n(15,"sentiment_neutral"),t(),e(16,"h3"),n(17),t(),e(18,"p"),n(19,"Medium"),t()()(),e(20,"mat-card",42)(21,"mat-card-content")(22,"mat-icon"),n(23,"sentiment_very_dissatisfied"),t(),e(24,"h3"),n(25),t(),e(26,"p"),n(27,"Hard"),t()()()()()),r&2){let i,a,c,m=d(2);o(9),g(((i=m.category())==null||i.difficultyBreakdown==null?null:i.difficultyBreakdown.easy)||0),o(8),g(((a=m.category())==null||a.difficultyBreakdown==null?null:a.difficultyBreakdown.medium)||0),o(8),g(((c=m.category())==null||c.difficultyBreakdown==null?null:c.difficultyBreakdown.hard)||0)}}function gt(r,l){if(r&1&&(e(0,"mat-card",44)(1,"mat-card-content")(2,"div",45)(3,"span",46),n(4),t(),e(5,"mat-chip-set")(6,"mat-chip"),n(7),t(),e(8,"mat-chip"),n(9),t()()(),e(10,"p",47),n(11),t()()()),r&2){let i=l.$implicit,a=l.$index;o(4),M("#",a+1),o(2),V("difficulty-"+i.difficulty),o(),M(" ",i.difficulty," "),o(2),g(i.questionType),o(2),g(i.questionText)}}function st(r,l){if(r&1&&(e(0,"div",27)(1,"h2"),n(2,"Sample Questions"),t(),e(3,"div",43),z(4,gt,12,6,"mat-card",44,it),t()()),r&2){let i,a=d(2);o(4),I((i=a.category())==null?null:i.questionPreview)}}function mt(r,l){if(r&1){let i=b();e(0,"div",3)(1,"nav",12)(2,"ol")(3,"li")(4,"a",13),n(5,"Home"),t()(),e(6,"li")(7,"a",14),n(8,"Categories"),t()(),e(9,"li",15),n(10),t()()(),e(11,"mat-card",16)(12,"mat-card-content")(13,"div",17)(14,"div",18)(15,"mat-icon",19),n(16),t()(),e(17,"div",20)(18,"h1"),n(19),t(),e(20,"p",21),n(21),t(),e(22,"div",22)(23,"mat-chip-set",23)(24,"mat-chip",24)(25,"mat-icon"),n(26,"quiz"),t(),n(27),t(),_(28,rt,4,0,"mat-chip",24),_(29,ct,4,0,"mat-chip",24),t()()()()()(),_(30,lt,40,4,"div",25),_(31,dt,28,3,"div",26),_(32,st,6,0,"div",27),e(33,"div",28)(34,"h2"),n(35,"Ready to test your knowledge?"),t(),e(36,"p"),n(37,"Choose a difficulty level to start your quiz"),t(),e(38,"div",29)(39,"button",30),x("click",function(){u(i);let c=d();return C(c.startQuiz("easy"))}),e(40,"mat-icon"),n(41,"play_arrow"),t(),n(42," Start Easy Quiz "),t(),e(43,"button",30),x("click",function(){u(i);let c=d();return C(c.startQuiz("medium"))}),e(44,"mat-icon"),n(45,"play_arrow"),t(),n(46," Start Medium Quiz "),t(),e(47,"button",30),x("click",function(){u(i);let c=d();return C(c.startQuiz("hard"))}),e(48,"mat-icon"),n(49,"play_arrow"),t(),n(50," Start Hard Quiz "),t(),e(51,"button",31),x("click",function(){u(i);let c=d();return C(c.startQuiz("mixed"))}),e(52,"mat-icon"),n(53,"shuffle"),t(),n(54," Mixed Difficulty "),t()(),e(55,"button",32),x("click",function(){u(i);let c=d();return C(c.goBack())}),e(56,"mat-icon"),n(57,"arrow_back"),t(),n(58," Back to Categories "),t()()()}if(r&2){let i,a,c,m,f,P,w,S,E,k,h,s=d();o(10),g((i=s.category())==null?null:i.name),o(4),B("background-color",((a=s.category())==null?null:a.color)||"#2196F3"),o(2),g(((c=s.category())==null?null:c.icon)||"category"),o(3),g((m=s.category())==null?null:m.name),o(2),g((f=s.category())==null?null:f.description),o(6),M(" ",((P=s.category())==null||P.stats==null?null:P.stats.totalQuestions)||((P=s.category())==null?null:P.questionCount)||0," Questions "),o(),p((w=s.category())!=null&&w.guestAccessible?28:-1),o(),p((S=s.category())!=null&&S.guestAccessible?-1:29),o(),p((E=s.category())!=null&&E.stats?30:-1),o(),p((k=s.category())!=null&&k.difficultyBreakdown?31:-1),o(),p(!((h=s.category())==null||h.questionPreview==null)&&h.questionPreview.length?32:-1)}}var nt=class r{categoryService=O(X);route=O(Q);router=O(A);destroy$=new q;category=y(null);isLoading=y(!0);error=y(null);ngOnInit(){this.route.params.pipe(v(this.destroy$)).subscribe(l=>{let i=l.id;i&&this.loadCategoryDetails(i)})}loadCategoryDetails(l){this.isLoading.set(!0),this.error.set(null),this.categoryService.getCategoryById(l).pipe(v(this.destroy$)).subscribe({next:i=>{this.category.set(i),this.isLoading.set(!1)},error:i=>{this.error.set(i.error?.message||"Failed to load category details"),this.isLoading.set(!1)}})}startQuiz(l){let i=this.category();i&&this.router.navigate(["/quiz/setup"],{queryParams:{category:i.id,difficulty:l||"mixed"}})}goBack(){this.router.navigate(["/categories"])}retry(){let l=this.route.snapshot.params.id;l&&this.loadCategoryDetails(l)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.categoryService.clearSelectedCategory()}static \u0275fac=function(i){return new(i||r)};static \u0275cmp=D({type:r,selectors:[["app-category-detail"]],decls:4,vars:3,consts:[[1,"category-detail-container"],[1,"loading-container"],[1,"error-container"],[1,"category-content"],["diameter","60"],[1,"loading-text"],[1,"error-card"],[1,"error-content"],[1,"error-icon"],[1,"error-actions"],["mat-raised-button","","color","primary",3,"click"],["mat-stroked-button","",3,"click"],["aria-label","Breadcrumb",1,"breadcrumb"],["routerLink","/"],["routerLink","/categories"],["aria-current","page"],[1,"category-header"],[1,"header-content"],[1,"category-icon-wrapper"],[1,"category-icon"],[1,"header-text"],[1,"description"],[1,"metadata"],["aria-label","Category metadata"],[1,"stat-chip"],[1,"statistics-section"],[1,"difficulty-section"],[1,"questions-section"],[1,"actions-section"],[1,"action-buttons"],["mat-raised-button","","color","primary",1,"start-button",3,"click"],["mat-raised-button","","color","accent",1,"start-button",3,"click"],["mat-stroked-button","",1,"back-button",3,"click"],[1,"stats-grid"],[1,"stat-card"],[1,"stat-icon-wrapper","primary"],[1,"stat-icon-wrapper","success"],[1,"stat-icon-wrapper","accent"],[1,"stat-icon-wrapper","warn"],[1,"difficulty-grid"],[1,"difficulty-card","easy"],[1,"difficulty-card","medium"],[1,"difficulty-card","hard"],[1,"questions-list"],[1,"question-card"],[1,"question-header"],[1,"question-number"],[1,"question-text"]],template:function(i,a){i&1&&(e(0,"div",0),_(1,ot,4,0,"div",1),_(2,at,19,1,"div",2),_(3,mt,59,12,"div",3),t()),i&2&&(o(),p(a.isLoading()?1:-1),o(),p(a.error()&&!a.isLoading()?2:-1),o(),p(a.category()&&!a.isLoading()&&!a.error()?3:-1))},dependencies:[L,F,$,N,j,R,U,H,Y,G,et,Z,tt,K,J,W],styles:['@charset "UTF-8";.category-detail-container[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;padding:24px}@media (max-width: 768px){.category-detail-container[_ngcontent-%COMP%]{padding:16px}}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:24px}.loading-container[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%]{font-size:16px;color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, .6))}.error-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:400px}.error-container[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%]{max-width:500px;width:100%}.error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px;gap:16px}.error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:var(--mdc-theme-error, #f44336)}.error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:24px;font-weight:500}.error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, .6))}.error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-actions[_ngcontent-%COMP%]{display:flex;gap:12px;margin-top:16px}@media (max-width: 480px){.error-container[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-actions[_ngcontent-%COMP%]{flex-direction:column;width:100%}}.breadcrumb[_ngcontent-%COMP%]{margin-bottom:24px}.breadcrumb[_ngcontent-%COMP%] ol[_ngcontent-%COMP%]{display:flex;list-style:none;padding:0;margin:0;gap:8px;flex-wrap:wrap}.breadcrumb[_ngcontent-%COMP%] ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:flex;align-items:center;font-size:14px}.breadcrumb[_ngcontent-%COMP%] ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(:last-child):after{content:"\\203a";margin-left:8px;color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, .6))}.breadcrumb[_ngcontent-%COMP%] ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--mdc-theme-primary, #2196F3);text-decoration:none;transition:color .2s}.breadcrumb[_ngcontent-%COMP%] ol[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.breadcrumb[_ngcontent-%COMP%] ol[_ngcontent-%COMP%] li[aria-current=page][_ngcontent-%COMP%]{color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, .6))}.category-header[_ngcontent-%COMP%]{margin-bottom:32px}.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{display:flex;gap:24px;align-items:flex-start}@media (max-width: 600px){.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{flex-direction:column;align-items:center;text-align:center}}.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .category-icon-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:12px;flex-shrink:0}.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .category-icon-wrapper[_ngcontent-%COMP%] .category-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;color:#fff}.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{flex:1}.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0 0 12px;font-size:32px;font-weight:600}@media (max-width: 600px){.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:28px}}.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{margin:0 0 16px;font-size:16px;line-height:1.6;color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, .6))}.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] .metadata[_ngcontent-%COMP%] .stat-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px}.category-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] .metadata[_ngcontent-%COMP%] .stat-chip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.statistics-section[_ngcontent-%COMP%], .difficulty-section[_ngcontent-%COMP%], .questions-section[_ngcontent-%COMP%], .actions-section[_ngcontent-%COMP%]{margin-bottom:32px}.statistics-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .difficulty-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .questions-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .actions-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:24px;font-weight:600;margin:0 0 20px}.stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}@media (max-width: 600px){.stats-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 400px){.stats-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]{text-align:center}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px!important}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon-wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px;color:#fff}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon-wrapper.primary[_ngcontent-%COMP%]{background-color:var(--mdc-theme-primary, #2196F3)}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon-wrapper.success[_ngcontent-%COMP%]{background-color:#4caf50}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon-wrapper.accent[_ngcontent-%COMP%]{background-color:var(--mdc-theme-secondary, #ff4081)}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon-wrapper.warn[_ngcontent-%COMP%]{background-color:#ff9800}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:600}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, .6))}.difficulty-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.difficulty-grid[_ngcontent-%COMP%] .difficulty-card[_ngcontent-%COMP%]{text-align:center}.difficulty-grid[_ngcontent-%COMP%] .difficulty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px!important}.difficulty-grid[_ngcontent-%COMP%] .difficulty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px}.difficulty-grid[_ngcontent-%COMP%] .difficulty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:32px;font-weight:600}.difficulty-grid[_ngcontent-%COMP%] .difficulty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:500}.difficulty-grid[_ngcontent-%COMP%] .difficulty-card.easy[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .difficulty-grid[_ngcontent-%COMP%] .difficulty-card.easy[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .difficulty-grid[_ngcontent-%COMP%] .difficulty-card.easy[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#4caf50}.difficulty-grid[_ngcontent-%COMP%] .difficulty-card.medium[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .difficulty-grid[_ngcontent-%COMP%] .difficulty-card.medium[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .difficulty-grid[_ngcontent-%COMP%] .difficulty-card.medium[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#ff9800}.difficulty-grid[_ngcontent-%COMP%] .difficulty-card.hard[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .difficulty-grid[_ngcontent-%COMP%] .difficulty-card.hard[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .difficulty-grid[_ngcontent-%COMP%] .difficulty-card.hard[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#f44336}.questions-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%]{transition:transform .2s,box-shadow .2s}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}@media (max-width: 480px){.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-number[_ngcontent-%COMP%]{font-size:18px;font-weight:600;color:var(--mdc-theme-primary, #2196F3)}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] mat-chip.difficulty-Easy[_ngcontent-%COMP%]{background-color:#4caf50!important;color:#fff!important}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] mat-chip.difficulty-Medium[_ngcontent-%COMP%]{background-color:#ff9800!important;color:#fff!important}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] mat-chip.difficulty-Hard[_ngcontent-%COMP%]{background-color:#f44336!important;color:#fff!important}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%]{margin:0;font-size:16px;line-height:1.6;color:var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, .87))}.actions-section[_ngcontent-%COMP%]{text-align:center}.actions-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:28px;margin-bottom:12px}.actions-section[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:16px;color:var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, .6));margin-bottom:24px}.actions-section[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}@media (max-width: 600px){.actions-section[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{grid-template-columns:1fr}}.actions-section[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]{padding:16px 24px;font-size:16px;font-weight:500}.actions-section[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:8px}.actions-section[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:8px}']})};export{nt as CategoryDetailComponent}; diff --git a/chunk-7XDVX5KB.js b/chunk-7XDVX5KB.js new file mode 100644 index 0000000..82f7a79 --- /dev/null +++ b/chunk-7XDVX5KB.js @@ -0,0 +1 @@ +import{i as a}from"./chunk-EGL4ZKWQ.js";import{R as i,ea as t}from"./chunk-COFYR5MX.js";import{$ as e,pb as r}from"./chunk-2MUIW2M6.js";var g=(()=>{class o{static \u0275fac=function(m){return new(m||o)};static \u0275mod=r({type:o});static \u0275inj=e({imports:[t,i,a,t]})}return o})();export{g as a}; diff --git a/chunk-7YTCZJV6.js b/chunk-7YTCZJV6.js new file mode 100644 index 0000000..5f355db --- /dev/null +++ b/chunk-7YTCZJV6.js @@ -0,0 +1,2 @@ +import{b as Z}from"./chunk-NYYADJNO.js";import{b as W}from"./chunk-CTXOKINH.js";import{H as B,J as j,N as Q,Q as N,R as V,ea as H,ga as p,oa as G,pa as q,qa as U,ta as K,va as X}from"./chunk-COFYR5MX.js";import{$ as A,$b as m,A as I,Aa as d,Ca as b,Cb as f,Kb as y,Lb as E,Mb as F,Tb as R,Xb as P,_b as v,ac as _,ba as k,bc as C,cc as l,d as M,da as o,db as D,dc as r,ia as O,ja as z,jc as x,ma as T,ob as u,pb as S,qb as n,sb as h,ta as w,uc as L}from"./chunk-2MUIW2M6.js";var Y=["*"],J=`.mdc-list{margin:0;padding:8px 0;list-style-type:none}.mdc-list:focus{outline:none}.mdc-list-item{display:flex;position:relative;justify-content:flex-start;overflow:hidden;padding:0;align-items:stretch;cursor:pointer;padding-left:16px;padding-right:16px;background-color:var(--mat-list-list-item-container-color, transparent);border-radius:var(--mat-list-list-item-container-shape, var(--mat-sys-corner-none))}.mdc-list-item.mdc-list-item--selected{background-color:var(--mat-list-list-item-selected-container-color)}.mdc-list-item:focus{outline:0}.mdc-list-item.mdc-list-item--disabled{cursor:auto}.mdc-list-item.mdc-list-item--with-one-line{height:var(--mat-list-list-item-one-line-container-height, 48px)}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__start{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-one-line .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-two-lines{height:var(--mat-list-list-item-two-line-container-height, 64px)}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-two-lines .mdc-list-item__end{align-self:center;margin-top:0}.mdc-list-item.mdc-list-item--with-three-lines{height:var(--mat-list-list-item-three-line-container-height, 88px)}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__start{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:16px}.mdc-list-item.mdc-list-item--selected::before,.mdc-list-item.mdc-list-item--selected:focus::before,.mdc-list-item:not(.mdc-list-item--selected):focus::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;content:"";pointer-events:none}a.mdc-list-item{color:inherit;text-decoration:none}.mdc-list-item__start{fill:currentColor;flex-shrink:0;pointer-events:none}.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mat-list-list-item-leading-icon-color, var(--mat-sys-on-surface-variant));width:var(--mat-list-list-item-leading-icon-size, 24px);height:var(--mat-list-list-item-leading-icon-size, 24px);margin-left:16px;margin-right:32px}[dir=rtl] .mdc-list-item--with-leading-icon .mdc-list-item__start{margin-left:32px;margin-right:16px}.mdc-list-item--with-leading-icon:hover .mdc-list-item__start{color:var(--mat-list-list-item-hover-leading-icon-color)}.mdc-list-item--with-leading-avatar .mdc-list-item__start{width:var(--mat-list-list-item-leading-avatar-size, 40px);height:var(--mat-list-list-item-leading-avatar-size, 40px);margin-left:16px;margin-right:16px;border-radius:50%}.mdc-list-item--with-leading-avatar .mdc-list-item__start,[dir=rtl] .mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-left:16px;margin-right:16px;border-radius:50%}.mdc-list-item__end{flex-shrink:0;pointer-events:none}.mdc-list-item--with-trailing-meta .mdc-list-item__end{font-family:var(--mat-list-list-item-trailing-supporting-text-font, var(--mat-sys-label-small-font));line-height:var(--mat-list-list-item-trailing-supporting-text-line-height, var(--mat-sys-label-small-line-height));font-size:var(--mat-list-list-item-trailing-supporting-text-size, var(--mat-sys-label-small-size));font-weight:var(--mat-list-list-item-trailing-supporting-text-weight, var(--mat-sys-label-small-weight));letter-spacing:var(--mat-list-list-item-trailing-supporting-text-tracking, var(--mat-sys-label-small-tracking))}.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mat-list-list-item-trailing-icon-color, var(--mat-sys-on-surface-variant));width:var(--mat-list-list-item-trailing-icon-size, 24px);height:var(--mat-list-list-item-trailing-icon-size, 24px)}.mdc-list-item--with-trailing-icon:hover .mdc-list-item__end{color:var(--mat-list-list-item-hover-trailing-icon-color)}.mdc-list-item.mdc-list-item--with-trailing-meta .mdc-list-item__end{color:var(--mat-list-list-item-trailing-supporting-text-color, var(--mat-sys-on-surface-variant))}.mdc-list-item--selected.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mat-list-list-item-selected-trailing-icon-color, var(--mat-sys-primary))}.mdc-list-item__content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;align-self:center;flex:1;pointer-events:none}.mdc-list-item--with-two-lines .mdc-list-item__content,.mdc-list-item--with-three-lines .mdc-list-item__content{align-self:stretch}.mdc-list-item__primary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--mat-list-list-item-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-list-list-item-label-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-list-list-item-label-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-list-list-item-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-list-list-item-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-list-list-item-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-list-item:hover .mdc-list-item__primary-text{color:var(--mat-list-list-item-hover-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item:focus .mdc-list-item__primary-text{color:var(--mat-list-list-item-focus-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-three-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-three-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item__secondary-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block;margin-top:0;color:var(--mat-list-list-item-supporting-text-color, var(--mat-sys-on-surface-variant));font-family:var(--mat-list-list-item-supporting-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-list-list-item-supporting-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-list-list-item-supporting-text-size, var(--mat-sys-body-medium-size));font-weight:var(--mat-list-list-item-supporting-text-weight, var(--mat-sys-body-medium-weight));letter-spacing:var(--mat-list-list-item-supporting-text-tracking, var(--mat-sys-body-medium-tracking))}.mdc-list-item__secondary-text::before{display:inline-block;width:0;height:20px;content:"";vertical-align:0}.mdc-list-item--with-three-lines .mdc-list-item__secondary-text{white-space:normal;line-height:20px}.mdc-list-item--with-overline .mdc-list-item__secondary-text{white-space:nowrap;line-height:auto}.mdc-list-item--with-leading-radio.mdc-list-item,.mdc-list-item--with-leading-checkbox.mdc-list-item,.mdc-list-item--with-leading-icon.mdc-list-item,.mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:0;padding-right:16px}[dir=rtl] .mdc-list-item--with-leading-radio.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-checkbox.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-icon.mdc-list-item,[dir=rtl] .mdc-list-item--with-leading-avatar.mdc-list-item{padding-left:16px;padding-right:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text{display:block;margin-top:0;line-height:normal;margin-bottom:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines .mdc-list-item__primary-text::after{display:inline-block;width:0;height:20px;content:"";vertical-align:-20px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end{display:block;margin-top:0;line-height:normal}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before,.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines.mdc-list-item--with-trailing-meta .mdc-list-item__end::before{display:inline-block;width:0;height:32px;content:"";vertical-align:0}.mdc-list-item--with-trailing-icon.mdc-list-item,[dir=rtl] .mdc-list-item--with-trailing-icon.mdc-list-item{padding-left:0;padding-right:0}.mdc-list-item--with-trailing-icon .mdc-list-item__end{margin-left:16px;margin-right:16px}.mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:16px;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-meta.mdc-list-item{padding-left:0;padding-right:16px}.mdc-list-item--with-trailing-meta .mdc-list-item__end{-webkit-user-select:none;user-select:none;margin-left:28px;margin-right:16px}[dir=rtl] .mdc-list-item--with-trailing-meta .mdc-list-item__end{margin-left:16px;margin-right:28px}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end,.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end{display:block;line-height:normal;align-self:flex-start;margin-top:0}.mdc-list-item--with-trailing-meta.mdc-list-item--with-three-lines .mdc-list-item__end::before,.mdc-list-item--with-trailing-meta.mdc-list-item--with-two-lines .mdc-list-item__end::before{display:inline-block;width:0;height:28px;content:"";vertical-align:0}.mdc-list-item--with-leading-radio .mdc-list-item__start,.mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:8px;margin-right:24px}[dir=rtl] .mdc-list-item--with-leading-radio .mdc-list-item__start,[dir=rtl] .mdc-list-item--with-leading-checkbox .mdc-list-item__start{margin-left:24px;margin-right:8px}.mdc-list-item--with-leading-radio.mdc-list-item--with-two-lines .mdc-list-item__start,.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines .mdc-list-item__start{align-self:flex-start;margin-top:8px}.mdc-list-item--with-trailing-radio.mdc-list-item,.mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:16px;padding-right:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item{padding-left:0;padding-right:16px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-icon,.mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-avatar,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-icon,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-avatar{padding-left:0}[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-icon,[dir=rtl] .mdc-list-item--with-trailing-radio.mdc-list-item--with-leading-avatar,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-icon,[dir=rtl] .mdc-list-item--with-trailing-checkbox.mdc-list-item--with-leading-avatar{padding-right:0}.mdc-list-item--with-trailing-radio .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:24px;margin-right:8px}[dir=rtl] .mdc-list-item--with-trailing-radio .mdc-list-item__end,[dir=rtl] .mdc-list-item--with-trailing-checkbox .mdc-list-item__end{margin-left:8px;margin-right:24px}.mdc-list-item--with-trailing-radio.mdc-list-item--with-three-lines .mdc-list-item__end,.mdc-list-item--with-trailing-checkbox.mdc-list-item--with-three-lines .mdc-list-item__end{align-self:flex-start;margin-top:8px}.mdc-list-group__subheader{margin:.75rem 16px}.mdc-list-item--disabled .mdc-list-item__start,.mdc-list-item--disabled .mdc-list-item__content,.mdc-list-item--disabled .mdc-list-item__end{opacity:1}.mdc-list-item--disabled .mdc-list-item__primary-text,.mdc-list-item--disabled .mdc-list-item__secondary-text{opacity:var(--mat-list-list-item-disabled-label-text-opacity, 0.3)}.mdc-list-item--disabled.mdc-list-item--with-leading-icon .mdc-list-item__start{color:var(--mat-list-list-item-disabled-leading-icon-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-disabled-leading-icon-opacity, 0.38)}.mdc-list-item--disabled.mdc-list-item--with-trailing-icon .mdc-list-item__end{color:var(--mat-list-list-item-disabled-trailing-icon-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-disabled-trailing-icon-opacity, 0.38)}.mat-mdc-list-item.mat-mdc-list-item-both-leading-and-trailing,[dir=rtl] .mat-mdc-list-item.mat-mdc-list-item-both-leading-and-trailing{padding-left:0;padding-right:0}.mdc-list-item.mdc-list-item--disabled .mdc-list-item__primary-text{color:var(--mat-list-list-item-disabled-label-text-color, var(--mat-sys-on-surface))}.mdc-list-item:hover::before{background-color:var(--mat-list-list-item-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-list-item.mdc-list-item--disabled::before{background-color:var(--mat-list-list-item-disabled-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-disabled-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-list-item:focus::before{background-color:var(--mat-list-list-item-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-list-list-item-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-list-item--disabled .mdc-radio,.mdc-list-item--disabled .mdc-checkbox{opacity:var(--mat-list-list-item-disabled-label-text-opacity, 0.3)}.mdc-list-item--with-leading-avatar .mat-mdc-list-item-avatar{border-radius:var(--mat-list-list-item-leading-avatar-shape, var(--mat-sys-corner-full));background-color:var(--mat-list-list-item-leading-avatar-color, var(--mat-sys-primary-container))}.mat-mdc-list-item-icon{font-size:var(--mat-list-list-item-leading-icon-size, 24px)}@media(forced-colors: active){a.mdc-list-item--activated::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}a.mdc-list-item--activated [dir=rtl]::after{right:auto;left:16px}}.mat-mdc-list-base{display:block}.mat-mdc-list-base .mdc-list-item__start,.mat-mdc-list-base .mdc-list-item__end,.mat-mdc-list-base .mdc-list-item__content{pointer-events:auto}.mat-mdc-list-item,.mat-mdc-list-option{width:100%;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-list-item:not(.mat-mdc-list-item-interactive),.mat-mdc-list-option:not(.mat-mdc-list-item-interactive){cursor:default}.mat-mdc-list-item .mat-divider-inset,.mat-mdc-list-option .mat-divider-inset{position:absolute;left:0;right:0;bottom:0}.mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,.mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-left:72px}[dir=rtl] .mat-mdc-list-item .mat-mdc-list-item-avatar~.mat-divider-inset,[dir=rtl] .mat-mdc-list-option .mat-mdc-list-item-avatar~.mat-divider-inset{margin-right:72px}.mat-mdc-list-item-interactive::before{top:0;left:0;right:0;bottom:0;position:absolute;content:"";opacity:0;pointer-events:none;border-radius:inherit}.mat-mdc-list-item>.mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-list-item:focus>.mat-focus-indicator::before{content:""}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-line.mdc-list-item__secondary-text{white-space:nowrap;line-height:normal}.mat-mdc-list-item.mdc-list-item--with-three-lines .mat-mdc-list-item-unscoped-content.mdc-list-item__secondary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}mat-action-list button{background:none;color:inherit;border:none;font:inherit;outline:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0);text-align:start}mat-action-list button::-moz-focus-inner{border:0}.mdc-list-item--with-leading-icon .mdc-list-item__start{margin-inline-start:var(--mat-list-list-item-leading-icon-start-space, 16px);margin-inline-end:var(--mat-list-list-item-leading-icon-end-space, 16px)}.mat-mdc-nav-list .mat-mdc-list-item{border-radius:var(--mat-list-active-indicator-shape, var(--mat-sys-corner-full));--mat-focus-indicator-border-radius: var(--mat-list-active-indicator-shape, var(--mat-sys-corner-full))}.mat-mdc-nav-list .mat-mdc-list-item.mdc-list-item--activated{background-color:var(--mat-list-active-indicator-color, var(--mat-sys-secondary-container))} +`,tt=["unscopedContent"],it=["text"],et=[[["","matListItemAvatar",""],["","matListItemIcon",""]],[["","matListItemTitle",""]],[["","matListItemLine",""]],"*",[["","matListItemMeta",""]],[["mat-divider"]]],at=["[matListItemAvatar],[matListItemIcon]","[matListItemTitle]","[matListItemLine]","*","[matListItemMeta]","mat-divider"];var ct=new k("ListOption"),st=(()=>{class t{_elementRef=o(b);constructor(){}static \u0275fac=function(e){return new(e||t)};static \u0275dir=n({type:t,selectors:[["","matListItemTitle",""]],hostAttrs:[1,"mat-mdc-list-item-title","mdc-list-item__primary-text"]})}return t})(),ot=(()=>{class t{_elementRef=o(b);constructor(){}static \u0275fac=function(e){return new(e||t)};static \u0275dir=n({type:t,selectors:[["","matListItemLine",""]],hostAttrs:[1,"mat-mdc-list-item-line","mdc-list-item__secondary-text"]})}return t})(),nt=(()=>{class t{static \u0275fac=function(e){return new(e||t)};static \u0275dir=n({type:t,selectors:[["","matListItemMeta",""]],hostAttrs:[1,"mat-mdc-list-item-meta","mdc-list-item__end"]})}return t})(),$=(()=>{class t{_listOption=o(ct,{optional:!0});constructor(){}_isAlignedAtStart(){return!this._listOption||this._listOption?._getTogglePosition()==="after"}static \u0275fac=function(e){return new(e||t)};static \u0275dir=n({type:t,hostVars:4,hostBindings:function(e,a){e&2&&x("mdc-list-item__start",a._isAlignedAtStart())("mdc-list-item__end",!a._isAlignedAtStart())}})}return t})(),mt=(()=>{class t extends ${static \u0275fac=(()=>{let i;return function(a){return(i||(i=d(t)))(a||t)}})();static \u0275dir=n({type:t,selectors:[["","matListItemAvatar",""]],hostAttrs:[1,"mat-mdc-list-item-avatar"],features:[h]})}return t})(),lt=(()=>{class t extends ${static \u0275fac=(()=>{let i;return function(a){return(i||(i=d(t)))(a||t)}})();static \u0275dir=n({type:t,selectors:[["","matListItemIcon",""]],hostAttrs:[1,"mat-mdc-list-item-icon"],features:[h]})}return t})(),rt=new k("MAT_LIST_CONFIG"),g=(()=>{class t{_isNonInteractive=!0;get disableRipple(){return this._disableRipple}set disableRipple(i){this._disableRipple=p(i)}_disableRipple=!1;get disabled(){return this._disabled()}set disabled(i){this._disabled.set(p(i))}_disabled=w(!1);_defaultOptions=o(rt,{optional:!0});static \u0275fac=function(e){return new(e||t)};static \u0275dir=n({type:t,hostVars:1,hostBindings:function(e,a){e&2&&f("aria-disabled",a.disabled)},inputs:{disableRipple:"disableRipple",disabled:"disabled"}})}return t})(),dt=(()=>{class t{_elementRef=o(b);_ngZone=o(D);_listBase=o(g,{optional:!0});_platform=o(B);_hostElement;_isButtonElement;_noopAnimations=G();_avatars;_icons;set lines(i){this._explicitLines=j(i,null),this._updateItemLines(!1)}_explicitLines=null;get disableRipple(){return this.disabled||this._disableRipple||this._noopAnimations||!!this._listBase?.disableRipple}set disableRipple(i){this._disableRipple=p(i)}_disableRipple=!1;get disabled(){return this._disabled()||!!this._listBase?.disabled}set disabled(i){this._disabled.set(p(i))}_disabled=w(!1);_subscriptions=new M;_rippleRenderer=null;_hasUnscopedTextContent=!1;rippleConfig;get rippleDisabled(){return this.disableRipple||!!this.rippleConfig.disabled}constructor(){o(Q).load(K);let i=o(U,{optional:!0});this.rippleConfig=i||{},this._hostElement=this._elementRef.nativeElement,this._isButtonElement=this._hostElement.nodeName.toLowerCase()==="button",this._listBase&&!this._listBase._isNonInteractive&&this._initInteractiveListItem(),this._isButtonElement&&!this._hostElement.hasAttribute("type")&&this._hostElement.setAttribute("type","button")}ngAfterViewInit(){this._monitorProjectedLinesAndTitle(),this._updateItemLines(!0)}ngOnDestroy(){this._subscriptions.unsubscribe(),this._rippleRenderer!==null&&this._rippleRenderer._removeTriggerEvents()}_hasIconOrAvatar(){return!!(this._avatars.length||this._icons.length)}_initInteractiveListItem(){this._hostElement.classList.add("mat-mdc-list-item-interactive"),this._rippleRenderer=new q(this,this._ngZone,this._hostElement,this._platform,o(T)),this._rippleRenderer.setupTriggerEvents(this._hostElement)}_monitorProjectedLinesAndTitle(){this._ngZone.runOutsideAngular(()=>{this._subscriptions.add(I(this._lines.changes,this._titles.changes).subscribe(()=>this._updateItemLines(!1)))})}_updateItemLines(i){if(!this._lines||!this._titles||!this._unscopedContent)return;i&&this._checkDomForUnscopedTextContent();let e=this._explicitLines??this._inferLinesFromContent(),a=this._unscopedContent.nativeElement;if(this._hostElement.classList.toggle("mat-mdc-list-item-single-line",e<=1),this._hostElement.classList.toggle("mdc-list-item--with-one-line",e<=1),this._hostElement.classList.toggle("mdc-list-item--with-two-lines",e===2),this._hostElement.classList.toggle("mdc-list-item--with-three-lines",e===3),this._hasUnscopedTextContent){let c=this._titles.length===0&&e===1;a.classList.toggle("mdc-list-item__primary-text",c),a.classList.toggle("mdc-list-item__secondary-text",!c)}else a.classList.remove("mdc-list-item__primary-text"),a.classList.remove("mdc-list-item__secondary-text")}_inferLinesFromContent(){let i=this._titles.length+this._lines.length;return this._hasUnscopedTextContent&&(i+=1),i}_checkDomForUnscopedTextContent(){this._hasUnscopedTextContent=Array.from(this._unscopedContent.nativeElement.childNodes).filter(i=>i.nodeType!==i.COMMENT_NODE).some(i=>!!(i.textContent&&i.textContent.trim()))}static \u0275fac=function(e){return new(e||t)};static \u0275dir=n({type:t,contentQueries:function(e,a,c){if(e&1&&(_(c,mt,4),_(c,lt,4)),e&2){let s;l(s=r())&&(a._avatars=s),l(s=r())&&(a._icons=s)}},hostVars:4,hostBindings:function(e,a){e&2&&(f("aria-disabled",a.disabled)("disabled",a._isButtonElement&&a.disabled||null),x("mdc-list-item--disabled",a.disabled))},inputs:{lines:"lines",disableRipple:"disableRipple",disabled:"disabled"}})}return t})();var Jt=(()=>{class t extends g{static \u0275fac=(()=>{let i;return function(a){return(i||(i=d(t)))(a||t)}})();static \u0275cmp=u({type:t,selectors:[["mat-list"]],hostAttrs:[1,"mat-mdc-list","mat-mdc-list-base","mdc-list"],exportAs:["matList"],features:[L([{provide:g,useExisting:t}]),h],ngContentSelectors:Y,decls:1,vars:0,template:function(e,a){e&1&&(v(),m(0))},styles:[J],encapsulation:2,changeDetection:0})}return t})(),$t=(()=>{class t extends dt{_lines;_titles;_meta;_unscopedContent;_itemText;get activated(){return this._activated}set activated(i){this._activated=p(i)}_activated=!1;_getAriaCurrent(){return this._hostElement.nodeName==="A"&&this._activated?"page":null}_hasBothLeadingAndTrailing(){return this._meta.length!==0&&(this._avatars.length!==0||this._icons.length!==0)}static \u0275fac=(()=>{let i;return function(a){return(i||(i=d(t)))(a||t)}})();static \u0275cmp=u({type:t,selectors:[["mat-list-item"],["a","mat-list-item",""],["button","mat-list-item",""]],contentQueries:function(e,a,c){if(e&1&&(_(c,ot,5),_(c,st,5),_(c,nt,5)),e&2){let s;l(s=r())&&(a._lines=s),l(s=r())&&(a._titles=s),l(s=r())&&(a._meta=s)}},viewQuery:function(e,a){if(e&1&&(C(tt,5),C(it,5)),e&2){let c;l(c=r())&&(a._unscopedContent=c.first),l(c=r())&&(a._itemText=c.first)}},hostAttrs:[1,"mat-mdc-list-item","mdc-list-item"],hostVars:13,hostBindings:function(e,a){e&2&&(f("aria-current",a._getAriaCurrent()),x("mdc-list-item--activated",a.activated)("mdc-list-item--with-leading-avatar",a._avatars.length!==0)("mdc-list-item--with-leading-icon",a._icons.length!==0)("mdc-list-item--with-trailing-meta",a._meta.length!==0)("mat-mdc-list-item-both-leading-and-trailing",a._hasBothLeadingAndTrailing())("_mat-animation-noopable",a._noopAnimations))},inputs:{activated:"activated"},exportAs:["matListItem"],features:[h],ngContentSelectors:at,decls:10,vars:0,consts:[["unscopedContent",""],[1,"mdc-list-item__content"],[1,"mat-mdc-list-item-unscoped-content",3,"cdkObserveContent"],[1,"mat-focus-indicator"]],template:function(e,a){if(e&1){let c=R();v(et),m(0),y(1,"span",1),m(2,1),m(3,2),y(4,"span",2,0),P("cdkObserveContent",function(){return O(c),z(a._updateItemLines(!0))}),m(6,3),E()(),m(7,4),m(8,5),F(9,"div",3)}},dependencies:[N],encapsulation:2,changeDetection:0})}return t})();var ti=(()=>{class t extends g{_isNonInteractive=!1;static \u0275fac=(()=>{let i;return function(a){return(i||(i=d(t)))(a||t)}})();static \u0275cmp=u({type:t,selectors:[["mat-nav-list"]],hostAttrs:["role","navigation",1,"mat-mdc-nav-list","mat-mdc-list-base","mdc-list"],exportAs:["matNavList"],features:[L([{provide:g,useExisting:t}]),h],ngContentSelectors:Y,decls:1,vars:0,template:function(e,a){e&1&&(v(),m(0))},styles:[J],encapsulation:2,changeDetection:0})}return t})();var ii=(()=>{class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=S({type:t});static \u0275inj=A({imports:[V,H,X,Z,W]})}return t})();export{st as a,ot as b,lt as c,Jt as d,$t as e,ti as f,ii as g}; diff --git a/chunk-B4CGVF35.js b/chunk-B4CGVF35.js new file mode 100644 index 0000000..e5524ff --- /dev/null +++ b/chunk-B4CGVF35.js @@ -0,0 +1 @@ +import{a as i}from"./chunk-NIBVQDYD.js";import{l as n}from"./chunk-LLJSP5R2.js";import{d as m}from"./chunk-HMKN2VB2.js";import{W as p,ea as t}from"./chunk-COFYR5MX.js";import{$ as e,pb as r}from"./chunk-2MUIW2M6.js";var T=(()=>{class o{static \u0275fac=function(l){return new(l||o)};static \u0275mod=r({type:o});static \u0275inj=e({providers:[i],imports:[p,n,t,t,m]})}return o})();export{T as a}; diff --git a/chunk-BBCMZBMA.js b/chunk-BBCMZBMA.js new file mode 100644 index 0000000..be68b32 --- /dev/null +++ b/chunk-BBCMZBMA.js @@ -0,0 +1 @@ +import{a as J,b as K,c as W,d as X,e as Z,f as tt,g as nt,h as et,i as ot,j as it,k as at}from"./chunk-CAFW6QNR.js";import{a as lt}from"./chunk-5WBSN65X.js";import{c as ct,g as rt}from"./chunk-YWCH6MM5.js";import"./chunk-66PBOFKL.js";import{a as Y}from"./chunk-B4CGVF35.js";import{b as U}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{b as G,g as Q}from"./chunk-TAS7XC6E.js";import{a as F}from"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import"./chunk-TPLZKWZ7.js";import"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as D,b as k,c as $,f as z,i as I}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as N,b as B}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as q,C as L,j as T,ua as R,w as A,wa as V,ya as H,za as j}from"./chunk-COFYR5MX.js";import{Db as s,Eb as p,Jb as x,Kb as e,Lb as o,Mb as u,Qb as d,Rb as g,Tb as h,U as y,Xb as M,Za as c,Zb as _,da as f,i as v,ia as O,ic as w,ja as P,lc as a,mc as C,nc as E,ob as S,ub as l}from"./chunk-2MUIW2M6.js";function dt(t,n){t&1&&(e(0,"div",3),u(1,"mat-spinner",5),e(2,"p"),a(3,"Loading categories..."),o()())}function gt(t,n){if(t&1){let i=h();e(0,"div",4)(1,"mat-icon",6),a(2,"error_outline"),o(),e(3,"h2"),a(4,"Failed to load categories"),o(),e(5,"p"),a(6),o(),e(7,"button",2),M("click",function(){O(i);let m=_();return P(m.retry())}),e(8,"mat-icon"),a(9,"refresh"),o(),a(10," Try Again "),o()()}if(t&2){let i=_();c(6),C(i.error())}}function _t(t,n){if(t&1){let i=h();e(0,"div",7)(1,"mat-icon",9),a(2,"folder_open"),o(),e(3,"h2"),a(4,"No Categories Yet"),o(),e(5,"p"),a(6,"Create your first category to get started."),o(),e(7,"button",2),M("click",function(){O(i);let m=_(2);return P(m.createCategory())}),e(8,"mat-icon"),a(9,"add"),o(),a(10," Create Category "),o()()}}function Ct(t,n){t&1&&(e(0,"th",22),a(1,"Icon"),o())}function st(t,n){if(t&1&&(e(0,"td",23)(1,"div",24)(2,"mat-icon"),a(3),o()()()),t&2){let i=n.$implicit;c(),w("background-color",i.color||"#2196F3"),c(2),C(i.icon||"category")}}function pt(t,n){t&1&&(e(0,"th",22),a(1,"Name"),o())}function Mt(t,n){if(t&1&&(e(0,"td",23)(1,"div",25)(2,"strong"),a(3),o(),e(4,"span",26),a(5),o()()()),t&2){let i=n.$implicit;c(3),C(i.name),c(2),C(i.description)}}function Ot(t,n){t&1&&(e(0,"th",22),a(1,"Slug"),o())}function Pt(t,n){if(t&1&&(e(0,"td",23)(1,"code"),a(2),o()()),t&2){let i=n.$implicit;c(2),C(i.slug)}}function yt(t,n){t&1&&(e(0,"th",22),a(1,"Questions"),o())}function ft(t,n){if(t&1&&(e(0,"td",23)(1,"mat-chip"),a(2),o()()),t&2){let i=n.$implicit;c(2),C(i.questionCount||0)}}function xt(t,n){t&1&&(e(0,"th",22),a(1,"Access"),o())}function ut(t,n){t&1&&(e(0,"mat-chip",27)(1,"mat-icon"),a(2,"public"),o(),a(3," Guest "),o())}function ht(t,n){t&1&&(e(0,"mat-chip",28)(1,"mat-icon"),a(2,"lock"),o(),a(3," Auth "),o())}function bt(t,n){if(t&1&&(e(0,"td",23),s(1,ut,4,0,"mat-chip",27)(2,ht,4,0,"mat-chip",28),o()),t&2){let i=n.$implicit;c(),p(i.guestAccessible?1:2)}}function vt(t,n){t&1&&(e(0,"th",22),a(1,"Order"),o())}function St(t,n){if(t&1&&(e(0,"td",23),a(1),o()),t&2){let i=n.$implicit;c(),E(" ",i.displayOrder??"-"," ")}}function wt(t,n){t&1&&(e(0,"th",22),a(1,"Actions"),o())}function Et(t,n){if(t&1){let i=h();e(0,"td",23)(1,"div",29)(2,"button",30),M("click",function(){let m=O(i).$implicit,b=_(3);return P(b.editCategory(m))}),e(3,"mat-icon"),a(4,"edit"),o()(),e(5,"button",31),M("click",function(){let m=O(i).$implicit,b=_(3);return P(b.deleteCategory(m))}),e(6,"mat-icon"),a(7,"delete"),o()()()()}}function Tt(t,n){t&1&&u(0,"tr",32)}function At(t,n){t&1&&u(0,"tr",33)}function Lt(t,n){if(t&1&&(e(0,"div",8)(1,"table",10),d(2,11),l(3,Ct,2,0,"th",12)(4,st,4,3,"td",13),g(),d(5,14),l(6,pt,2,0,"th",12)(7,Mt,6,2,"td",13),g(),d(8,15),l(9,Ot,2,0,"th",12)(10,Pt,3,1,"td",13),g(),d(11,16),l(12,yt,2,0,"th",12)(13,ft,3,1,"td",13),g(),d(14,17),l(15,xt,2,0,"th",12)(16,bt,3,1,"td",13),g(),d(17,18),l(18,vt,2,0,"th",12)(19,St,2,1,"td",13),g(),d(20,19),l(21,wt,2,0,"th",12)(22,Et,8,0,"td",13),g(),l(23,Tt,1,0,"tr",20)(24,At,1,0,"tr",21),o()()),t&2){let i=_(2);c(),x("dataSource",i.categories()),c(22),x("matHeaderRowDef",i.displayedColumns),c(),x("matRowDefColumns",i.displayedColumns)}}function Dt(t,n){if(t&1&&s(0,_t,11,0,"div",7)(1,Lt,25,3,"div",8),t&2){let i=_();p(i.categories().length===0?0:1)}}var mt=class t{categoryService=f(F);router=f(A);dialog=f(ct);destroy$=new v;categories=this.categoryService.categories;isLoading=this.categoryService.isLoading;error=this.categoryService.error;displayedColumns=["icon","name","slug","questionCount","guestAccessible","displayOrder","actions"];ngOnInit(){this.loadCategories()}loadCategories(){this.categoryService.getCategories(!0).pipe(y(this.destroy$)).subscribe()}createCategory(){this.router.navigate(["/admin/categories/new"])}editCategory(n){this.router.navigate(["/admin/categories/edit",n.id])}deleteCategory(n){this.dialog.open(lt,{width:"450px",data:{title:"Delete Category",message:`Are you sure you want to delete "${n.name}"?`,warning:n.questionCount>0?`This category has ${n.questionCount} question(s). Deleting it may affect existing quizzes.`:null,confirmText:"Delete",cancelText:"Cancel",confirmColor:"warn"}}).afterClosed().pipe(y(this.destroy$)).subscribe(r=>{r&&this.performDelete(n)})}performDelete(n){this.categoryService.deleteCategory(n.id).pipe(y(this.destroy$)).subscribe({next:()=>{},error:()=>{}})}retry(){this.loadCategories()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=S({type:t,selectors:[["app-admin-category-list"]],decls:15,vars:3,consts:[[1,"admin-category-list-container"],[1,"header-title"],["mat-raised-button","","color","primary",3,"click"],[1,"loading-container"],[1,"error-container"],["diameter","60"],[1,"error-icon"],[1,"empty-container"],[1,"table-container"],[1,"empty-icon"],["mat-table","",1,"categories-table",3,"dataSource"],["matColumnDef","icon"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","name"],["matColumnDef","slug"],["matColumnDef","questionCount"],["matColumnDef","guestAccessible"],["matColumnDef","displayOrder"],["matColumnDef","actions"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell",""],[1,"category-icon-cell"],[1,"category-name"],[1,"category-description"],[1,"access-chip","guest"],[1,"access-chip","auth"],[1,"action-buttons"],["mat-icon-button","","color","primary","matTooltip","Edit category","aria-label","Edit category",3,"click"],["mat-icon-button","","color","warn","matTooltip","Delete category","aria-label","Delete category",3,"click"],["mat-header-row",""],["mat-row",""]],template:function(i,r){i&1&&(e(0,"div",0)(1,"mat-card")(2,"mat-card-header")(3,"mat-card-title")(4,"div",1)(5,"h1"),a(6,"Manage Categories"),o(),e(7,"button",2),M("click",function(){return r.createCategory()}),e(8,"mat-icon"),a(9,"add"),o(),a(10," Create Category "),o()()()(),e(11,"mat-card-content"),s(12,dt,4,0,"div",3),s(13,gt,11,1,"div",4),s(14,Dt,2,1),o()()()),i&2&&(c(12),p(r.isLoading()?12:-1),c(),p(r.error()&&!r.isLoading()?13:-1),c(),p(!r.isLoading()&&!r.error()?14:-1))},dependencies:[T,L,I,D,$,z,k,H,V,R,q,j,at,J,W,nt,X,K,et,Z,tt,ot,it,Q,G,B,N,rt,Y,U],styles:[".admin-category-list-container[_ngcontent-%COMP%]{max-width:1400px;margin:24px auto;padding:0 16px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{margin-bottom:24px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;width:100%;flex-wrap:wrap;gap:16px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:500}@media (max-width: 600px){.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:24px}}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:20px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:16px;color:#0009}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;text-align:center}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:#f44336}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:24px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#0009}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .empty-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;text-align:center}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .empty-container[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:#0000004d}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .empty-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:24px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .empty-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#0009}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%]{overflow-x:auto}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%]{width:100%}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:16px 12px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] .category-icon-cell[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] .category-icon-cell[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fff;font-size:24px;width:24px;height:24px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] .category-name[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] .category-name[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:16px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] .category-name[_ngcontent-%COMP%] .category-description[_ngcontent-%COMP%]{font-size:13px;color:#0009;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{padding:4px 8px;background-color:#0000000d;border-radius:4px;font-family:Courier New,monospace;font-size:13px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] mat-chip.access-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] mat-chip.access-chip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] mat-chip.access-chip.guest[_ngcontent-%COMP%]{background-color:#4caf501a!important;color:#4caf50!important}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] mat-chip.access-chip.auth[_ngcontent-%COMP%]{background-color:#ff98001a!important;color:#ff9800!important}.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{display:flex;gap:4px}@media (max-width: 960px){.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-child(3), .admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:nth-child(3), .admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-child(6), .admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:nth-child(6){display:none}}@media (max-width: 600px){.admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-child(4), .admin-category-list-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:nth-child(4){display:none}}@media (prefers-color-scheme: dark){.admin-category-list-container[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .admin-category-list-container[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .admin-category-list-container[_ngcontent-%COMP%] .empty-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .admin-category-list-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] .category-name[_ngcontent-%COMP%] .category-description[_ngcontent-%COMP%]{color:#ffffffb3}.admin-category-list-container[_ngcontent-%COMP%] .categories-table[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{background-color:#ffffff1a}}"]})};export{mt as AdminCategoryListComponent}; diff --git a/chunk-BGIV2LA3.js b/chunk-BGIV2LA3.js new file mode 100644 index 0000000..473ab30 --- /dev/null +++ b/chunk-BGIV2LA3.js @@ -0,0 +1 @@ +import{a as Ge,b as qe}from"./chunk-TDFJQLRV.js";import{a as v}from"./chunk-IRVPX2IZ.js";import{a as Je}from"./chunk-4E7NWUSO.js";import{a as ve,b as Se,c as ye,d as Ee,e as Ae,f as we,g as Ue,h as Te,i as De,j as ke,k as Fe}from"./chunk-CAFW6QNR.js";import"./chunk-MS4AQ6UA.js";import"./chunk-N73CTY2C.js";import{a as Ie,b as Ve}from"./chunk-GIRDLTGV.js";import{a as Le}from"./chunk-RDQGS2XZ.js";import{c as Re}from"./chunk-P3ICZX4Q.js";import{a as ze,b as Ne,c as Be,d as $e}from"./chunk-37GOEORY.js";import{c as je,g as He}from"./chunk-YWCH6MM5.js";import"./chunk-VX6WCCL3.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import{b as se,c as de}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as me}from"./chunk-7XDVX5KB.js";import{a as be}from"./chunk-B4CGVF35.js";import{b as xe}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import{a as Pe}from"./chunk-3NOMFGTV.js";import"./chunk-M5XZ5N2D.js";import{b as he,g as Oe}from"./chunk-TAS7XC6E.js";import"./chunk-3GOV5KJM.js";import{b as ae,e as le,i as ce}from"./chunk-EGL4ZKWQ.js";import{a as Y,b as Z,c as ee,d as te,e as ne,f as ie,h as re,i as oe}from"./chunk-6NRCTHHS.js";import{a as fe,b as Me}from"./chunk-N6VRXIQE.js";import{b as H,f as G,g as q,l as J,o as W,r as K,x as Q,z as X}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as Ce,h as N,j as B,u as $,ua as _e,w as j,wa as ge,ya as pe,za as ue}from"./chunk-COFYR5MX.js";import{Db as h,Eb as O,Ec as U,F as T,Hb as R,I as D,Ib as I,Jb as _,Kb as e,Lb as n,Mb as S,Qb as M,Rb as P,Tb as x,Xb as s,Za as l,Zb as m,a as y,b as E,da as f,hc as V,ia as p,ja as u,lc as i,mc as g,nc as b,oa as k,ob as F,oc as L,ub as C,vc as z,wc as A,xc as w}from"./chunk-2MUIW2M6.js";var Qe=()=>[10,25,50,100],Xe=(o,t)=>t.id;function Ye(o,t){o&1&&(e(0,"div",31),S(1,"mat-spinner",34),e(2,"p"),i(3,"Loading users..."),n()())}function Ze(o,t){if(o&1){let r=x();e(0,"mat-card",32)(1,"mat-card-content")(2,"div",35)(3,"mat-icon",36),i(4,"error_outline"),n(),e(5,"div",37)(6,"h3"),i(7,"Failed to Load Users"),n(),e(8,"p"),i(9),n()()(),e(10,"button",38),s("click",function(){p(r);let c=m();return u(c.refreshUsers())}),e(11,"mat-icon"),i(12,"refresh"),n(),i(13," Try Again "),n()()()}if(o&2){let r=m();l(9),g(r.error())}}function et(o,t){if(o&1&&(e(0,"span",41),i(1),n()),o&2){let r,a=m(2);l(),L(" Total: ",(r=a.pagination())==null?null:r.totalItems," user",((r=a.pagination())==null?null:r.totalItems)!==1?"s":""," ")}}function tt(o,t){o&1&&(e(0,"th",58),i(1,"Username"),n())}function nt(o,t){if(o&1&&(e(0,"td",59)(1,"div",60)(2,"mat-icon",61),i(3,"account_circle"),n(),e(4,"span"),i(5),n()()()),o&2){let r=t.$implicit;l(5),g(r.username)}}function it(o,t){o&1&&(e(0,"th",58),i(1,"Email"),n())}function rt(o,t){if(o&1&&(e(0,"td",59),i(1),n()),o&2){let r=t.$implicit;l(),g(r.email)}}function ot(o,t){o&1&&(e(0,"th",58),i(1,"Role"),n())}function at(o,t){if(o&1&&(e(0,"td",59)(1,"mat-chip",62),i(2),A(3,"uppercase"),n()()),o&2){let r=t.$implicit,a=m(2);l(),_("color",a.getRoleColor(r.role)),l(),b(" ",w(3,2,r.role)," ")}}function lt(o,t){o&1&&(e(0,"th",58),i(1,"Status"),n())}function ct(o,t){if(o&1&&(e(0,"td",59)(1,"mat-chip",62),i(2),n()()),o&2){let r=t.$implicit,a=m(2);l(),_("color",a.getStatusColor(r.isActive)),l(),b(" ",a.getStatusText(r.isActive)," ")}}function mt(o,t){o&1&&(e(0,"th",58),i(1,"Joined"),n())}function st(o,t){if(o&1&&(e(0,"td",59),i(1),n()),o&2){let r=t.$implicit,a=m(2);l(),g(a.formatDate(r.createdAt))}}function dt(o,t){o&1&&(e(0,"th",58),i(1,"Last Login"),n())}function _t(o,t){if(o&1&&(e(0,"td",59),i(1),n()),o&2){let r=t.$implicit,a=m(2);l(),g(a.formatDateTime(r.lastLoginAt))}}function gt(o,t){o&1&&(e(0,"th",58),i(1,"Actions"),n())}function pt(o,t){if(o&1){let r=x();e(0,"td",59)(1,"button",63)(2,"mat-icon"),i(3,"more_vert"),n()(),e(4,"mat-menu",null,0)(6,"button",64),s("click",function(){let c=p(r).$implicit,d=m(2);return u(d.viewUserDetails(c.id))}),e(7,"mat-icon"),i(8,"visibility"),n(),e(9,"span"),i(10,"View Details"),n()(),e(11,"button",64),s("click",function(){let c=p(r).$implicit,d=m(2);return u(d.editUserRole(c))}),e(12,"mat-icon"),i(13,"edit"),n(),e(14,"span"),i(15,"Edit Role"),n()(),e(16,"button",64),s("click",function(){let c=p(r).$implicit,d=m(2);return u(d.toggleUserStatus(c))}),e(17,"mat-icon"),i(18),n(),e(19,"span"),i(20),n()()()()}if(o&2){let r=t.$implicit,a=V(5);l(),_("matMenuTriggerFor",a),l(17),g(r.isActive?"block":"check_circle"),l(2),g(r.isActive?"Deactivate":"Activate")}}function ut(o,t){o&1&&S(0,"tr",65)}function Ct(o,t){o&1&&S(0,"tr",66)}function ft(o,t){if(o&1){let r=x();e(0,"mat-card",56)(1,"mat-card-header")(2,"mat-icon",67),i(3,"account_circle"),n(),e(4,"mat-card-title"),i(5),n(),e(6,"mat-card-subtitle"),i(7),n()(),e(8,"mat-card-content")(9,"div",68)(10,"div",69)(11,"span",70),i(12,"Role:"),n(),e(13,"mat-chip",62),i(14),A(15,"uppercase"),n()(),e(16,"div",69)(17,"span",70),i(18,"Status:"),n(),e(19,"mat-chip",62),i(20),n()(),e(21,"div",69)(22,"span",70),i(23,"Joined:"),n(),e(24,"span"),i(25),n()(),e(26,"div",69)(27,"span",70),i(28,"Last Login:"),n(),e(29,"span"),i(30),n()()()(),e(31,"mat-card-actions")(32,"button",71),s("click",function(){let c=p(r).$implicit,d=m(2);return u(d.viewUserDetails(c.id))}),e(33,"mat-icon"),i(34,"visibility"),n(),i(35," View "),n(),e(36,"button",71),s("click",function(){let c=p(r).$implicit,d=m(2);return u(d.editUserRole(c))}),e(37,"mat-icon"),i(38,"edit"),n(),i(39," Edit Role "),n(),e(40,"button",72),s("click",function(){let c=p(r).$implicit,d=m(2);return u(d.toggleUserStatus(c))}),e(41,"mat-icon"),i(42),n(),i(43),n()()()}if(o&2){let r=t.$implicit,a=m(2);l(5),g(r.username),l(2),g(r.email),l(6),_("color",a.getRoleColor(r.role)),l(),b(" ",w(15,11,r.role)," "),l(5),_("color",a.getStatusColor(r.isActive)),l(),b(" ",a.getStatusText(r.isActive)," "),l(5),g(a.formatDate(r.createdAt)),l(5),g(a.formatDateTime(r.lastLoginAt)),l(10),_("color",r.isActive?"warn":"primary"),l(2),g(r.isActive?"block":"check_circle"),l(),b(" ",r.isActive?"Deactivate":"Activate"," ")}}function Mt(o,t){if(o&1){let r=x();e(0,"app-pagination",73),s("pageChange",function(c){p(r);let d=m(2);return u(d.goToPage(c))})("pageSizeChange",function(c){p(r);let d=m(2);return u(d.onPageSizeChange(c))}),n()}if(o&2){let r=m(2);_("state",r.paginationState())("pageNumbers",r.pageNumbers())("pageSizeOptions",z(5,Qe))("showFirstLast",!0)("itemLabel","users")}}function Pt(o,t){if(o&1&&(e(0,"mat-card",39)(1,"div",40)(2,"h2"),i(3,"Users"),n(),h(4,et,2,2,"span",41),n(),e(5,"div",42)(6,"table",43),M(7,44),C(8,tt,2,0,"th",45)(9,nt,6,1,"td",46),P(),M(10,47),C(11,it,2,0,"th",45)(12,rt,2,1,"td",46),P(),M(13,48),C(14,ot,2,0,"th",45)(15,at,4,4,"td",46),P(),M(16,49),C(17,lt,2,0,"th",45)(18,ct,3,2,"td",46),P(),M(19,50),C(20,mt,2,0,"th",45)(21,st,2,1,"td",46),P(),M(22,51),C(23,dt,2,0,"th",45)(24,_t,2,1,"td",46),P(),M(25,52),C(26,gt,2,0,"th",45)(27,pt,21,3,"td",46),P(),C(28,ut,1,0,"tr",53)(29,Ct,1,0,"tr",54),n()()(),e(30,"div",55),R(31,ft,44,13,"mat-card",56,Xe),n(),h(33,Mt,1,6,"app-pagination",57)),o&2){let r=m();l(4),O(r.pagination()?4:-1),l(2),_("dataSource",r.users()),l(22),_("matHeaderRowDef",r.displayedColumns),l(),_("matRowDefColumns",r.displayedColumns),l(2),I(r.users()),l(2),O(r.paginationState()?33:-1)}}function ht(o,t){if(o&1){let r=x();e(0,"mat-card",33)(1,"mat-card-content")(2,"mat-icon"),i(3,"people_outline"),n(),e(4,"h3"),i(5,"No Users Found"),n(),e(6,"p"),i(7,"No users match your current filters."),n(),e(8,"button",38),s("click",function(){p(r);let c=m();return u(c.resetFilters())}),e(9,"mat-icon"),i(10,"clear"),n(),i(11," Clear Filters "),n()()()}}var We=class o{adminService=f(Le);router=f(j);route=f($);fb=f(Q);destroyRef=f(k);dialog=f(je);paginationService=f(Pe);users=this.adminService.adminUsersState;isLoading=this.adminService.isLoadingUsers;error=this.adminService.usersError;pagination=this.adminService.usersPagination;paginationState=U(()=>{let t=this.pagination();return t?this.paginationService.calculatePaginationState({currentPage:t.currentPage,pageSize:t.itemsPerPage,totalItems:t.totalItems}):null});pageNumbers=U(()=>{let t=this.paginationState();return t?this.paginationService.calculatePageNumbers(t.currentPage,t.totalPages,5):[]});displayedColumns=["username","email","role","status","joinedDate","lastLogin","actions"];filterForm;currentParams={page:1,limit:10,role:"all",isActive:"all",sortBy:"createdAt",sortOrder:"desc",search:""};Math=Math;ngOnInit(){this.initializeFilterForm(),this.setupSearchDebounce(),this.loadUsersFromRoute()}initializeFilterForm(){this.filterForm=this.fb.group({search:[""],role:["all"],isActive:["all"],sortBy:["createdAt"],sortOrder:["desc"]})}setupSearchDebounce(){this.filterForm.get("search")?.valueChanges.pipe(T(500),D(),v(this.destroyRef)).subscribe(()=>{this.applyFilters()})}loadUsersFromRoute(){this.route.queryParams.pipe(v(this.destroyRef)).subscribe(t=>{this.currentParams={page:+(t.page||1),limit:+(t.limit||10),role:t.role||"all",isActive:t.isActive||"all",sortBy:t.sortBy||"createdAt",sortOrder:t.sortOrder||"desc",search:t.search||""},this.filterForm.patchValue({search:this.currentParams.search,role:this.currentParams.role,isActive:this.currentParams.isActive,sortBy:this.currentParams.sortBy,sortOrder:this.currentParams.sortOrder},{emitEvent:!1}),this.loadUsers()})}loadUsers(){this.adminService.getUsers(this.currentParams).pipe(v(this.destroyRef)).subscribe()}applyFilters(){let t=this.filterForm.value;this.currentParams=E(y({},this.currentParams),{page:1,search:t.search||"",role:t.role||"all",isActive:t.isActive||"all",sortBy:t.sortBy||"createdAt",sortOrder:t.sortOrder||"desc"}),this.updateRouteParams()}goToPage(t){t<1||t>(this.pagination()?.totalPages??1)||(this.currentParams=E(y({},this.currentParams),{page:t}),this.updateRouteParams())}onPageSizeChange(t){this.currentParams=E(y({},this.currentParams),{page:1,limit:t}),this.updateRouteParams()}updateRouteParams(){this.router.navigate([],{relativeTo:this.route,queryParams:this.currentParams,queryParamsHandling:"merge"})}refreshUsers(){this.loadUsers()}resetFilters(){this.filterForm.reset({search:"",role:"all",isActive:"all",sortBy:"createdAt",sortOrder:"desc"}),this.applyFilters()}viewUserDetails(t){this.router.navigate(["/admin/users",t])}editUserRole(t){this.dialog.open(Ge,{width:"600px",maxWidth:"95vw",data:{user:t},disableClose:!1}).afterClosed().subscribe(a=>{a&&a!==t.role&&this.adminService.updateUserRole(t.id,a).subscribe({next:()=>{},error:()=>{}})})}toggleUserStatus(t){let r=t.isActive?"deactivate":"activate";this.dialog.open(qe,{width:"500px",data:{user:t,action:r},disableClose:!1,autoFocus:!0}).afterClosed().pipe(v(this.destroyRef)).subscribe(c=>{if(!c)return;(r==="activate"?this.adminService.activateUser(t.id):this.adminService.deactivateUser(t.id)).pipe(v(this.destroyRef)).subscribe({next:()=>{},error:Ke=>{console.error("Error updating user status:",Ke)}})})}getRoleColor(t){return t==="admin"?"primary":"accent"}getStatusColor(t){return t?"primary":"warn"}getStatusText(t){return t?"Active":"Inactive"}formatDate(t){return t?new Date(t).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"Never"}formatDateTime(t){return t?new Date(t).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"Never"}goBack(){this.router.navigate(["/admin"])}static \u0275fac=function(r){return new(r||o)};static \u0275cmp=F({type:o,selectors:[["app-admin-users"]],decls:81,vars:6,consts:[["actionMenu","matMenu"],[1,"admin-users-container"],[1,"users-header"],[1,"header-left"],["mat-icon-button","","matTooltip","Back to Dashboard",3,"click"],[1,"header-title"],[1,"subtitle"],[1,"header-actions"],["mat-stroked-button","",3,"click","disabled"],[1,"filters-card"],[1,"filters-form",3,"formGroup"],["appearance","outline",1,"search-field"],["matInput","","formControlName","search","placeholder","Search by username or email"],["matPrefix",""],["appearance","outline"],["formControlName","role",3,"selectionChange"],["value","all"],["value","user"],["value","admin"],["formControlName","isActive",3,"selectionChange"],["value","active"],["value","inactive"],["formControlName","sortBy",3,"selectionChange"],["value","username"],["value","email"],["value","createdAt"],["value","lastLoginAt"],["formControlName","sortOrder",3,"selectionChange"],["value","asc"],["value","desc"],["mat-stroked-button","","type","button",3,"click"],[1,"loading-container"],[1,"error-card"],[1,"empty-card"],["diameter","60"],[1,"error-content"],["color","warn"],[1,"error-text"],["mat-raised-button","","color","primary",3,"click"],[1,"table-card","desktop-table"],[1,"table-header"],[1,"total-count"],[1,"table-container"],["mat-table","",1,"users-table",3,"dataSource"],["matColumnDef","username"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","email"],["matColumnDef","role"],["matColumnDef","status"],["matColumnDef","joinedDate"],["matColumnDef","lastLogin"],["matColumnDef","actions"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],[1,"mobile-cards"],[1,"user-card"],[3,"state","pageNumbers","pageSizeOptions","showFirstLast","itemLabel"],["mat-header-cell",""],["mat-cell",""],[1,"username-cell"],[1,"user-icon"],["highlighted","",3,"color"],["mat-icon-button","",3,"matMenuTriggerFor"],["mat-menu-item","",3,"click"],["mat-header-row",""],["mat-row",""],["mat-card-avatar","",1,"card-avatar"],[1,"card-info"],[1,"info-row"],[1,"label"],["mat-button","",3,"click"],["mat-button","",3,"click","color"],[3,"pageChange","pageSizeChange","state","pageNumbers","pageSizeOptions","showFirstLast","itemLabel"]],template:function(r,a){r&1&&(e(0,"div",1)(1,"div",2)(2,"div",3)(3,"button",4),s("click",function(){return a.goBack()}),e(4,"mat-icon"),i(5,"arrow_back"),n()(),e(6,"div",5)(7,"h1"),i(8,"User Management"),n(),e(9,"p",6),i(10,"Manage all users and their permissions"),n()()(),e(11,"div",7)(12,"button",8),s("click",function(){return a.refreshUsers()}),e(13,"mat-icon"),i(14,"refresh"),n(),i(15," Refresh "),n()()(),e(16,"mat-card",9)(17,"mat-card-content")(18,"form",10)(19,"mat-form-field",11)(20,"mat-label"),i(21,"Search"),n(),S(22,"input",12),e(23,"mat-icon",13),i(24,"search"),n()(),e(25,"mat-form-field",14)(26,"mat-label"),i(27,"Role"),n(),e(28,"mat-select",15),s("selectionChange",function(){return a.applyFilters()}),e(29,"mat-option",16),i(30,"All Roles"),n(),e(31,"mat-option",17),i(32,"User"),n(),e(33,"mat-option",18),i(34,"Admin"),n()(),e(35,"mat-icon",13),i(36,"badge"),n()(),e(37,"mat-form-field",14)(38,"mat-label"),i(39,"Status"),n(),e(40,"mat-select",19),s("selectionChange",function(){return a.applyFilters()}),e(41,"mat-option",16),i(42,"All Status"),n(),e(43,"mat-option",20),i(44,"Active"),n(),e(45,"mat-option",21),i(46,"Inactive"),n()(),e(47,"mat-icon",13),i(48,"toggle_on"),n()(),e(49,"mat-form-field",14)(50,"mat-label"),i(51,"Sort By"),n(),e(52,"mat-select",22),s("selectionChange",function(){return a.applyFilters()}),e(53,"mat-option",23),i(54,"Username"),n(),e(55,"mat-option",24),i(56,"Email"),n(),e(57,"mat-option",25),i(58,"Join Date"),n(),e(59,"mat-option",26),i(60,"Last Login"),n()(),e(61,"mat-icon",13),i(62,"sort"),n()(),e(63,"mat-form-field",14)(64,"mat-label"),i(65,"Order"),n(),e(66,"mat-select",27),s("selectionChange",function(){return a.applyFilters()}),e(67,"mat-option",28),i(68,"Ascending"),n(),e(69,"mat-option",29),i(70,"Descending"),n()(),e(71,"mat-icon",13),i(72,"swap_vert"),n()(),e(73,"button",30),s("click",function(){return a.resetFilters()}),e(74,"mat-icon"),i(75,"clear"),n(),i(76," Reset "),n()()()(),h(77,Ye,4,0,"div",31),h(78,Ze,14,1,"mat-card",32),h(79,Pt,34,5),h(80,ht,12,0,"mat-card",33),n()),r&2&&(l(12),_("disabled",a.isLoading()),l(6),_("formGroup",a.filterForm),l(59),O(a.isLoading()&&a.users().length===0?77:-1),l(),O(a.error()&&!a.isLoading()&&a.users().length===0?78:-1),l(),O(a.users().length>0?79:-1),l(),O(!a.isLoading()&&!a.error()&&a.users().length===0?80:-1))},dependencies:[B,X,J,H,G,q,W,K,oe,Y,ne,re,ee,ie,te,Z,pe,ge,_e,Ce,ue,Fe,ve,ye,Ue,Ee,Se,Te,Ae,we,De,ke,de,se,ce,ae,le,me,Ve,Ie,Re,Me,fe,be,xe,Oe,he,$e,Ne,ze,Be,He,Je,N],styles:[".admin-users-container[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto;padding:2rem}.users-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.users-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;flex:1}.users-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:600;color:#333}.users-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;color:#666;font-size:.95rem}.users-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem}.users-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.filters-card[_ngcontent-%COMP%]{margin-bottom:2rem}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:1rem;align-items:start}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%]{grid-column:1}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] mat-icon[matPrefix][_ngcontent-%COMP%]{margin-right:.5rem;color:#666}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-top:.5rem}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:1rem}.error-card[_ngcontent-%COMP%]{margin-bottom:2rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:3rem;width:3rem;height:3rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%]{flex:1}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#d32f2f;font-size:1.25rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#666}.table-card[_ngcontent-%COMP%]{margin-bottom:2rem}.table-card[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0}.table-card[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600}.table-card[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .total-count[_ngcontent-%COMP%]{color:#666;font-size:.9rem}.table-card[_ngcontent-%COMP%] .table-container[_ngcontent-%COMP%]{overflow-x:auto}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%]{width:100%}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:600;color:#333;background:#f5f5f5}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:1rem}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] .username-cell[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] .username-cell[_ngcontent-%COMP%] .user-icon[_ngcontent-%COMP%]{color:#666;font-size:24px;width:24px;height:24px}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{font-size:.75rem;min-height:24px;padding:0 .5rem}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background:#f9f9f9}.mobile-cards[_ngcontent-%COMP%]{display:none;flex-direction:column;gap:1rem;margin-bottom:2rem}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{margin-bottom:1rem}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-avatar[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px;color:#666}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] .card-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] .card-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] .card-info[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:500;color:#666}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid #e0e0e0}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:1}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.25rem;font-size:18px;width:18px;height:18px}.pagination-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.pagination-container[_ngcontent-%COMP%] .pagination-info[_ngcontent-%COMP%]{color:#666;font-size:.9rem}.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%]{display:flex;gap:.25rem;align-items:center}.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background:#3f51b5;color:#fff}.empty-card[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem}.empty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:80px;width:80px;height:80px;color:#999;margin-bottom:1rem}.empty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#333;font-size:1.5rem}.empty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 1.5rem;color:#666}@media (max-width: 768px){.admin-users-container[_ngcontent-%COMP%]{padding:1rem}.users-header[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.users-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.users-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}.users-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{width:100%}.users-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:1}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%]{grid-template-columns:1fr}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%]{grid-column:1}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.desktop-table[_ngcontent-%COMP%]{display:none}.mobile-cards[_ngcontent-%COMP%]{display:flex}.pagination-container[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}.pagination-container[_ngcontent-%COMP%] .pagination-info[_ngcontent-%COMP%]{text-align:center}.pagination-container[_ngcontent-%COMP%] .pagination-controls[_ngcontent-%COMP%]{flex-wrap:wrap;justify-content:center}}@media (max-width: 1024px) and (min-width: 769px){.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%]{grid-template-columns:1fr 1fr}.filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%], .filters-card[_ngcontent-%COMP%] .filters-form[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{grid-column:1/-1}.users-table[_ngcontent-%COMP%]{font-size:.9rem}.users-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%], .users-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding:.75rem}}@media (max-width: 1200px){.users-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:nth-child(6), .users-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:nth-child(6){display:none}}@media (prefers-color-scheme: dark){.users-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#fff}.users-header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#aaa}.table-card[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%]{border-bottom-color:#444}.table-card[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#fff}.table-card[_ngcontent-%COMP%] .table-header[_ngcontent-%COMP%] .total-count[_ngcontent-%COMP%]{color:#aaa}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background:#2a2a2a;color:#fff}.table-card[_ngcontent-%COMP%] .users-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background:#2a2a2a}.mobile-cards[_ngcontent-%COMP%] .user-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%]{border-top-color:#444}.pagination-container[_ngcontent-%COMP%]{background:#1a1a1a}.pagination-container[_ngcontent-%COMP%] .pagination-info[_ngcontent-%COMP%]{color:#aaa}.empty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#666}.empty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#fff}.empty-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#aaa}}"]})};export{We as AdminUsersComponent}; diff --git a/chunk-CAFW6QNR.js b/chunk-CAFW6QNR.js new file mode 100644 index 0000000..d4fde4d --- /dev/null +++ b/chunk-CAFW6QNR.js @@ -0,0 +1,3 @@ +import{b as X}from"./chunk-66PBOFKL.js";import{c as Me,e as Ee}from"./chunk-HMKN2VB2.js";import{a as G,b as Fe,c as j}from"./chunk-M5XZ5N2D.js";import{H as xe,ca as Te,ea as re}from"./chunk-COFYR5MX.js";import{$ as U,$b as O,Aa as g,Ca as T,Db as P,Eb as H,Gc as be,Kb as M,Lb as E,Mc as Se,Nc as z,Pc as S,Sb as h,U as V,Za as N,_b as q,ac as v,ba as ne,cb as ke,cc as k,da as a,dc as b,eb as L,fb as R,i as we,j as Ce,jc as K,kb as A,ma as Re,n as oe,na as ve,ob as F,p as De,pb as $,qb as d,sb as u,uc as y,za as W}from"./chunk-2MUIW2M6.js";var Ke=[[["caption"]],[["colgroup"],["col"]],"*"],Ge=["caption","colgroup, col","*"];function Xe(i,r){i&1&&O(0,2)}function Ye(i,r){i&1&&(M(0,"thead",0),h(1,1),E(),M(2,"tbody",0),h(3,2)(4,3),E(),M(5,"tfoot",0),h(6,4),E())}function Ze(i,r){i&1&&h(0,1)(1,2)(2,3)(3,4)}var w=new ne("CDK_TABLE");var ee=(()=>{class i{template=a(R);constructor(){}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","cdkCellDef",""]]})}return i})(),te=(()=>{class i{template=a(R);constructor(){}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","cdkHeaderCellDef",""]]})}return i})(),Ne=(()=>{class i{template=a(R);constructor(){}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","cdkFooterCellDef",""]]})}return i})(),B=(()=>{class i{_table=a(w,{optional:!0});_hasStickyChanged=!1;get name(){return this._name}set name(e){this._setNameInput(e)}_name;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=!0)}_sticky=!1;get stickyEnd(){return this._stickyEnd}set stickyEnd(e){e!==this._stickyEnd&&(this._stickyEnd=e,this._hasStickyChanged=!0)}_stickyEnd=!1;cell;headerCell;footerCell;cssClassFriendlyName;_columnCssClassName;constructor(){}hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=!1}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`]}_setNameInput(e){e&&(this._name=e,this.cssClassFriendlyName=e.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName())}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","cdkColumnDef",""]],contentQueries:function(t,o,n){if(t&1&&(v(n,ee,5),v(n,te,5),v(n,Ne,5)),t&2){let s;k(s=b())&&(o.cell=s.first),k(s=b())&&(o.headerCell=s.first),k(s=b())&&(o.footerCell=s.first)}},inputs:{name:[0,"cdkColumnDef","name"],sticky:[2,"sticky","sticky",S],stickyEnd:[2,"stickyEnd","stickyEnd",S]},features:[y([{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:i}])]})}return i})(),Z=class{constructor(r,e){e.nativeElement.classList.add(...r._columnCssClassName)}},Ae=(()=>{class i extends Z{constructor(){super(a(B),a(T))}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[u]})}return i})();var Pe=(()=>{class i extends Z{constructor(){let e=a(B),t=a(T);super(e,t);let o=e._table?._getCellRole();o&&t.nativeElement.setAttribute("role",o)}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[u]})}return i})();var ae=(()=>{class i{template=a(R);_differs=a(z);columns;_columnsDiffer;constructor(){}ngOnChanges(e){if(!this._columnsDiffer){let t=e.columns&&e.columns.currentValue||[];this._columnsDiffer=this._differs.find(t).create(),this._columnsDiffer.diff(t)}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(e){return this instanceof Q?e.headerCell.template:this instanceof le?e.footerCell.template:e.cell.template}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,features:[W]})}return i})(),Q=(()=>{class i extends ae{_table=a(w,{optional:!0});_hasStickyChanged=!1;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=!0)}_sticky=!1;constructor(){super(a(R),a(z))}ngOnChanges(e){super.ngOnChanges(e)}hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=!1}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:[0,"cdkHeaderRowDef","columns"],sticky:[2,"cdkHeaderRowDefSticky","sticky",S]},features:[u,W]})}return i})(),le=(()=>{class i extends ae{_table=a(w,{optional:!0});_hasStickyChanged=!1;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=!0)}_sticky=!1;constructor(){super(a(R),a(z))}ngOnChanges(e){super.ngOnChanges(e)}hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=!1}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:[0,"cdkFooterRowDef","columns"],sticky:[2,"cdkFooterRowDefSticky","sticky",S]},features:[u,W]})}return i})(),ie=(()=>{class i extends ae{_table=a(w,{optional:!0});when;constructor(){super(a(R),a(z))}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","cdkRowDef",""]],inputs:{columns:[0,"cdkRowDefColumns","columns"],when:[0,"cdkRowDefWhen","when"]},features:[u]})}return i})(),I=(()=>{class i{_viewContainer=a(A);cells;context;static mostRecentCellOutlet=null;constructor(){i.mostRecentCellOutlet=this}ngOnDestroy(){i.mostRecentCellOutlet===this&&(i.mostRecentCellOutlet=null)}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","cdkCellOutlet",""]]})}return i})(),ce=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275cmp=F({type:i,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&h(0,0)},dependencies:[I],encapsulation:2})}return i})();var de=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275cmp=F({type:i,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&h(0,0)},dependencies:[I],encapsulation:2})}return i})(),He=(()=>{class i{templateRef=a(R);_contentClassNames=["cdk-no-data-row","cdk-row"];_cellClassNames=["cdk-cell","cdk-no-data-cell"];_cellSelector="td, cdk-cell, [cdk-cell], .cdk-cell";constructor(){}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["ng-template","cdkNoDataRow",""]]})}return i})(),Oe=["top","bottom","left","right"],se=class{_isNativeHtmlTable;_stickCellCss;_isBrowser;_needsPositionStickyOnElement;direction;_positionListener;_tableInjector;_elemSizeCache=new WeakMap;_resizeObserver=globalThis?.ResizeObserver?new globalThis.ResizeObserver(r=>this._updateCachedSizes(r)):null;_updatedStickyColumnsParamsToReplay=[];_stickyColumnsReplayTimeout=null;_cachedCellWidths=[];_borderCellCss;_destroyed=!1;constructor(r,e,t=!0,o=!0,n,s,l){this._isNativeHtmlTable=r,this._stickCellCss=e,this._isBrowser=t,this._needsPositionStickyOnElement=o,this.direction=n,this._positionListener=s,this._tableInjector=l,this._borderCellCss={top:`${e}-border-elem-top`,bottom:`${e}-border-elem-bottom`,left:`${e}-border-elem-left`,right:`${e}-border-elem-right`}}clearStickyPositioning(r,e){(e.includes("left")||e.includes("right"))&&this._removeFromStickyColumnReplayQueue(r);let t=[];for(let o of r)o.nodeType===o.ELEMENT_NODE&&t.push(o,...Array.from(o.children));L({write:()=>{for(let o of t)this._removeStickyStyle(o,e)}},{injector:this._tableInjector})}updateStickyColumns(r,e,t,o=!0,n=!0){if(!r.length||!this._isBrowser||!(e.some(_=>_)||t.some(_=>_))){this._positionListener?.stickyColumnsUpdated({sizes:[]}),this._positionListener?.stickyEndColumnsUpdated({sizes:[]});return}let s=r[0],l=s.children.length,c=this.direction==="rtl",f=c?"right":"left",p=c?"left":"right",C=e.lastIndexOf(!0),D=t.indexOf(!0),x,pe,_e;n&&this._updateStickyColumnReplayQueue({rows:[...r],stickyStartStates:[...e],stickyEndStates:[...t]}),L({earlyRead:()=>{x=this._getCellWidths(s,o),pe=this._getStickyStartColumnPositions(x,e),_e=this._getStickyEndColumnPositions(x,t)},write:()=>{for(let _ of r)for(let m=0;m!!_)&&(this._positionListener.stickyColumnsUpdated({sizes:C===-1?[]:x.slice(0,C+1).map((_,m)=>e[m]?_:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:D===-1?[]:x.slice(D).map((_,m)=>t[m+D]?_:null).reverse()}))}},{injector:this._tableInjector})}stickRows(r,e,t){if(!this._isBrowser)return;let o=t==="bottom"?r.slice().reverse():r,n=t==="bottom"?e.slice().reverse():e,s=[],l=[],c=[];L({earlyRead:()=>{for(let f=0,p=0;f{let f=n.lastIndexOf(!0);for(let p=0;p{let t=r.querySelector("tfoot");t&&(e.some(o=>!o)?this._removeStickyStyle(t,["bottom"]):this._addStickyStyle(t,"bottom",0,!1))}},{injector:this._tableInjector})}destroy(){this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._resizeObserver?.disconnect(),this._destroyed=!0}_removeStickyStyle(r,e){if(!r.classList.contains(this._stickCellCss))return;for(let o of e)r.style[o]="",r.classList.remove(this._borderCellCss[o]);Oe.some(o=>e.indexOf(o)===-1&&r.style[o])?r.style.zIndex=this._getCalculatedZIndex(r):(r.style.zIndex="",this._needsPositionStickyOnElement&&(r.style.position=""),r.classList.remove(this._stickCellCss))}_addStickyStyle(r,e,t,o){r.classList.add(this._stickCellCss),o&&r.classList.add(this._borderCellCss[e]),r.style[e]=`${t}px`,r.style.zIndex=this._getCalculatedZIndex(r),this._needsPositionStickyOnElement&&(r.style.cssText+="position: -webkit-sticky; position: sticky; ")}_getCalculatedZIndex(r){let e={top:100,bottom:10,left:1,right:1},t=0;for(let o of Oe)r.style[o]&&(t+=e[o]);return t?`${t}`:""}_getCellWidths(r,e=!0){if(!e&&this._cachedCellWidths.length)return this._cachedCellWidths;let t=[],o=r.children;for(let n=0;n0;n--)e[n]&&(t[n]=o,o+=r[n]);return t}_retrieveElementSize(r){let e=this._elemSizeCache.get(r);if(e)return e;let t=r.getBoundingClientRect(),o={width:t.width,height:t.height};return this._resizeObserver&&(this._elemSizeCache.set(r,o),this._resizeObserver.observe(r,{box:"border-box"})),o}_updateStickyColumnReplayQueue(r){this._removeFromStickyColumnReplayQueue(r.rows),this._stickyColumnsReplayTimeout||this._updatedStickyColumnsParamsToReplay.push(r)}_removeFromStickyColumnReplayQueue(r){let e=new Set(r);for(let t of this._updatedStickyColumnsParamsToReplay)t.rows=t.rows.filter(o=>!e.has(o));this._updatedStickyColumnsParamsToReplay=this._updatedStickyColumnsParamsToReplay.filter(t=>!!t.rows.length)}_updateCachedSizes(r){let e=!1;for(let t of r){let o=t.borderBoxSize?.length?{width:t.borderBoxSize[0].inlineSize,height:t.borderBoxSize[0].blockSize}:{width:t.contentRect.width,height:t.contentRect.height};o.width!==this._elemSizeCache.get(t.target)?.width&&Je(t.target)&&(e=!0),this._elemSizeCache.set(t.target,o)}e&&this._updatedStickyColumnsParamsToReplay.length&&(this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._stickyColumnsReplayTimeout=setTimeout(()=>{if(!this._destroyed){for(let t of this._updatedStickyColumnsParamsToReplay)this.updateStickyColumns(t.rows,t.stickyStartStates,t.stickyEndStates,!0,!1);this._updatedStickyColumnsParamsToReplay=[],this._stickyColumnsReplayTimeout=null}},0))}};function Je(i){return["cdk-cell","cdk-header-cell","cdk-footer-cell"].some(r=>i.classList.contains(r))}var J=new ne("CDK_SPL");var ue=(()=>{class i{viewContainer=a(A);elementRef=a(T);constructor(){let e=a(w);e._rowOutlet=this,e._outletAssigned()}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","rowOutlet",""]]})}return i})(),fe=(()=>{class i{viewContainer=a(A);elementRef=a(T);constructor(){let e=a(w);e._headerRowOutlet=this,e._outletAssigned()}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","headerRowOutlet",""]]})}return i})(),he=(()=>{class i{viewContainer=a(A);elementRef=a(T);constructor(){let e=a(w);e._footerRowOutlet=this,e._outletAssigned()}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","footerRowOutlet",""]]})}return i})(),me=(()=>{class i{viewContainer=a(A);elementRef=a(T);constructor(){let e=a(w);e._noDataRowOutlet=this,e._outletAssigned()}static \u0275fac=function(t){return new(t||i)};static \u0275dir=d({type:i,selectors:[["","noDataRowOutlet",""]]})}return i})(),ye=(()=>{class i{_differs=a(z);_changeDetectorRef=a(Se);_elementRef=a(T);_dir=a(Te,{optional:!0});_platform=a(xe);_viewRepeater=a(j);_viewportRuler=a(Me);_stickyPositioningListener=a(J,{optional:!0,skipSelf:!0});_document=a(ve);_data;_onDestroy=new we;_renderRows;_renderChangeSubscription;_columnDefsByName=new Map;_rowDefs;_headerRowDefs;_footerRowDefs;_dataDiffer;_defaultRowDef;_customColumnDefs=new Set;_customRowDefs=new Set;_customHeaderRowDefs=new Set;_customFooterRowDefs=new Set;_customNoDataRow;_headerRowDefChanged=!0;_footerRowDefChanged=!0;_stickyColumnStylesNeedReset=!0;_forceRecalculateCellWidths=!0;_cachedRenderRowsMap=new Map;_isNativeHtmlTable;_stickyStyler;stickyCssClass="cdk-table-sticky";needsPositionStickyOnElement=!0;_isServer;_isShowingNoDataRow=!1;_hasAllOutlets=!1;_hasInitialized=!1;_getCellRole(){if(this._cellRoleInternal===void 0){let e=this._elementRef.nativeElement.getAttribute("role");return e==="grid"||e==="treegrid"?"gridcell":"cell"}return this._cellRoleInternal}_cellRoleInternal=void 0;get trackBy(){return this._trackByFn}set trackBy(e){this._trackByFn=e}_trackByFn;get dataSource(){return this._dataSource}set dataSource(e){this._dataSource!==e&&this._switchDataSource(e)}_dataSource;get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(e){this._multiTemplateDataRows=e,this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles())}_multiTemplateDataRows=!1;get fixedLayout(){return this._fixedLayout}set fixedLayout(e){this._fixedLayout=e,this._forceRecalculateCellWidths=!0,this._stickyColumnStylesNeedReset=!0}_fixedLayout=!1;contentChanged=new ke;viewChange=new Ce({start:0,end:Number.MAX_VALUE});_rowOutlet;_headerRowOutlet;_footerRowOutlet;_noDataRowOutlet;_contentColumnDefs;_contentRowDefs;_contentHeaderRowDefs;_contentFooterRowDefs;_noDataRow;_injector=a(Re);constructor(){a(new be("role"),{optional:!0})||this._elementRef.nativeElement.setAttribute("role","table"),this._isServer=!this._platform.isBrowser,this._isNativeHtmlTable=this._elementRef.nativeElement.nodeName==="TABLE",this._dataDiffer=this._differs.find([]).create((t,o)=>this.trackBy?this.trackBy(o.dataIndex,o.data):o)}ngOnInit(){this._setupStickyStyler(),this._viewportRuler.change().pipe(V(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=!0})}ngAfterContentInit(){this._hasInitialized=!0}ngAfterContentChecked(){this._canRender()&&this._render()}ngOnDestroy(){this._stickyStyler?.destroy(),[this._rowOutlet?.viewContainer,this._headerRowOutlet?.viewContainer,this._footerRowOutlet?.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(e=>{e?.clear()}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._onDestroy.next(),this._onDestroy.complete(),G(this.dataSource)&&this.dataSource.disconnect(this)}renderRows(){this._renderRows=this._getAllRenderRows();let e=this._dataDiffer.diff(this._renderRows);if(!e){this._updateNoDataRow(),this.contentChanged.next();return}let t=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(e,t,(o,n,s)=>this._getEmbeddedViewArgs(o.item,s),o=>o.item.data,o=>{o.operation===Fe.INSERTED&&o.context&&this._renderCellTemplateForItem(o.record.item.rowDef,o.context)}),this._updateRowIndexContext(),e.forEachIdentityChange(o=>{let n=t.get(o.currentIndex);n.context.$implicit=o.item.data}),this._updateNoDataRow(),this.contentChanged.next(),this.updateStickyColumnStyles()}addColumnDef(e){this._customColumnDefs.add(e)}removeColumnDef(e){this._customColumnDefs.delete(e)}addRowDef(e){this._customRowDefs.add(e)}removeRowDef(e){this._customRowDefs.delete(e)}addHeaderRowDef(e){this._customHeaderRowDefs.add(e),this._headerRowDefChanged=!0}removeHeaderRowDef(e){this._customHeaderRowDefs.delete(e),this._headerRowDefChanged=!0}addFooterRowDef(e){this._customFooterRowDefs.add(e),this._footerRowDefChanged=!0}removeFooterRowDef(e){this._customFooterRowDefs.delete(e),this._footerRowDefChanged=!0}setNoDataRow(e){this._customNoDataRow=e}updateStickyHeaderRowStyles(){let e=this._getRenderedRows(this._headerRowOutlet);if(this._isNativeHtmlTable){let o=Ie(this._headerRowOutlet,"thead");o&&(o.style.display=e.length?"":"none")}let t=this._headerRowDefs.map(o=>o.sticky);this._stickyStyler.clearStickyPositioning(e,["top"]),this._stickyStyler.stickRows(e,t,"top"),this._headerRowDefs.forEach(o=>o.resetStickyChanged())}updateStickyFooterRowStyles(){let e=this._getRenderedRows(this._footerRowOutlet);if(this._isNativeHtmlTable){let o=Ie(this._footerRowOutlet,"tfoot");o&&(o.style.display=e.length?"":"none")}let t=this._footerRowDefs.map(o=>o.sticky);this._stickyStyler.clearStickyPositioning(e,["bottom"]),this._stickyStyler.stickRows(e,t,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,t),this._footerRowDefs.forEach(o=>o.resetStickyChanged())}updateStickyColumnStyles(){let e=this._getRenderedRows(this._headerRowOutlet),t=this._getRenderedRows(this._rowOutlet),o=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this._fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...e,...t,...o],["left","right"]),this._stickyColumnStylesNeedReset=!1),e.forEach((n,s)=>{this._addStickyColumnStyles([n],this._headerRowDefs[s])}),this._rowDefs.forEach(n=>{let s=[];for(let l=0;l{this._addStickyColumnStyles([n],this._footerRowDefs[s])}),Array.from(this._columnDefsByName.values()).forEach(n=>n.resetStickyChanged())}_outletAssigned(){!this._hasAllOutlets&&this._rowOutlet&&this._headerRowOutlet&&this._footerRowOutlet&&this._noDataRowOutlet&&(this._hasAllOutlets=!0,this._canRender()&&this._render())}_canRender(){return this._hasAllOutlets&&this._hasInitialized}_render(){this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&this._rowDefs.length;let t=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||t,this._forceRecalculateCellWidths=t,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=!1),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates()}_getAllRenderRows(){let e=[],t=this._cachedRenderRowsMap;if(this._cachedRenderRowsMap=new Map,!this._data)return e;for(let o=0;o{let l=o&&o.has(s)?o.get(s):[];if(l.length){let c=l.shift();return c.dataIndex=t,c}else return{data:e,rowDef:s,dataIndex:t}})}_cacheColumnDefs(){this._columnDefsByName.clear(),Y(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(t=>{this._columnDefsByName.has(t.name),this._columnDefsByName.set(t.name,t)})}_cacheRowDefs(){this._headerRowDefs=Y(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=Y(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=Y(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);let e=this._rowDefs.filter(t=>!t.when);!this.multiTemplateDataRows&&e.length>1,this._defaultRowDef=e[0]}_renderUpdatedColumns(){let e=(s,l)=>{let c=!!l.getColumnsDiff();return s||c},t=this._rowDefs.reduce(e,!1);t&&this._forceRenderDataRows();let o=this._headerRowDefs.reduce(e,!1);o&&this._forceRenderHeaderRows();let n=this._footerRowDefs.reduce(e,!1);return n&&this._forceRenderFooterRows(),t||o||n}_switchDataSource(e){this._data=[],G(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),e||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet&&this._rowOutlet.viewContainer.clear()),this._dataSource=e}_observeRenderChanges(){if(!this.dataSource)return;let e;G(this.dataSource)?e=this.dataSource.connect(this):De(this.dataSource)?e=this.dataSource:Array.isArray(this.dataSource)&&(e=oe(this.dataSource)),this._renderChangeSubscription=e.pipe(V(this._onDestroy)).subscribe(t=>{this._data=t||[],this.renderRows()})}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((e,t)=>this._renderRow(this._headerRowOutlet,e,t)),this.updateStickyHeaderRowStyles()}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((e,t)=>this._renderRow(this._footerRowOutlet,e,t)),this.updateStickyFooterRowStyles()}_addStickyColumnStyles(e,t){let o=Array.from(t?.columns||[]).map(l=>{let c=this._columnDefsByName.get(l);return c}),n=o.map(l=>l.sticky),s=o.map(l=>l.stickyEnd);this._stickyStyler.updateStickyColumns(e,n,s,!this._fixedLayout||this._forceRecalculateCellWidths)}_getRenderedRows(e){let t=[];for(let o=0;o!n.when||n.when(t,e));else{let n=this._rowDefs.find(s=>s.when&&s.when(t,e))||this._defaultRowDef;n&&o.push(n)}return o.length,o}_getEmbeddedViewArgs(e,t){let o=e.rowDef,n={$implicit:e.data};return{templateRef:o.template,context:n,index:t}}_renderRow(e,t,o,n={}){let s=e.viewContainer.createEmbeddedView(t.template,n,o);return this._renderCellTemplateForItem(t,n),s}_renderCellTemplateForItem(e,t){for(let o of this._getCellTemplates(e))I.mostRecentCellOutlet&&I.mostRecentCellOutlet._viewContainer.createEmbeddedView(o,t);this._changeDetectorRef.markForCheck()}_updateRowIndexContext(){let e=this._rowOutlet.viewContainer;for(let t=0,o=e.length;t{let o=this._columnDefsByName.get(t);return e.extractCellTemplate(o)})}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows()}_checkStickyStates(){let e=(t,o)=>t||o.hasStickyChanged();this._headerRowDefs.reduce(e,!1)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(e,!1)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(e,!1)&&(this._stickyColumnStylesNeedReset=!0,this.updateStickyColumnStyles())}_setupStickyStyler(){let e=this._dir?this._dir.value:"ltr";this._stickyStyler=new se(this._isNativeHtmlTable,this.stickyCssClass,this._platform.isBrowser,this.needsPositionStickyOnElement,e,this._stickyPositioningListener,this._injector),(this._dir?this._dir.change:oe()).pipe(V(this._onDestroy)).subscribe(t=>{this._stickyStyler.direction=t,this.updateStickyColumnStyles()})}_getOwnDefs(e){return e.filter(t=>!t._table||t._table===this)}_updateNoDataRow(){let e=this._customNoDataRow||this._noDataRow;if(!e)return;let t=this._rowOutlet.viewContainer.length===0;if(t===this._isShowingNoDataRow)return;let o=this._noDataRowOutlet.viewContainer;if(t){let n=o.createEmbeddedView(e.templateRef),s=n.rootNodes[0];if(n.rootNodes.length===1&&s?.nodeType===this._document.ELEMENT_NODE){s.setAttribute("role","row"),s.classList.add(...e._contentClassNames);let l=s.querySelectorAll(e._cellSelector);for(let c=0;c{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=$({type:i});static \u0275inj=U({imports:[Ee]})}return i})();var et=[[["caption"]],[["colgroup"],["col"]],"*"],tt=["caption","colgroup, col","*"];function it(i,r){i&1&&O(0,2)}function ot(i,r){i&1&&(M(0,"thead",0),h(1,1),E(),M(2,"tbody",2),h(3,3)(4,4),E(),M(5,"tfoot",0),h(6,5),E())}function nt(i,r){i&1&&h(0,1)(1,3)(2,4)(3,5)}var Lt=(()=>{class i extends ye{stickyCssClass="mat-mdc-table-sticky";needsPositionStickyOnElement=!1;static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275cmp=F({type:i,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-mdc-table","mdc-data-table__table"],hostVars:2,hostBindings:function(t,o){t&2&&K("mdc-table-fixed-layout",o.fixedLayout)},exportAs:["matTable"],features:[y([{provide:ye,useExisting:i},{provide:w,useExisting:i},{provide:j,useClass:X},{provide:J,useValue:null}]),u],ngContentSelectors:tt,decls:5,vars:2,consts:[["role","rowgroup"],["headerRowOutlet",""],["role","rowgroup",1,"mdc-data-table__content"],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(t,o){t&1&&(q(et),O(0),O(1,1),P(2,it,1,0),P(3,ot,7,0)(4,nt,4,0)),t&2&&(N(2),H(o._isServer?2:-1),N(),H(o._isNativeHtmlTable?3:4))},dependencies:[fe,ue,me,he],styles:[`.mat-mdc-table-sticky{position:sticky !important}mat-table{display:block}mat-header-row{min-height:var(--mat-table-header-container-height, 56px)}mat-row{min-height:var(--mat-table-row-item-container-height, 52px)}mat-footer-row{min-height:var(--mat-table-footer-container-height, 52px)}mat-row,mat-header-row,mat-footer-row{display:flex;border-width:0;border-bottom-width:1px;border-style:solid;align-items:center;box-sizing:border-box}mat-cell:first-of-type,mat-header-cell:first-of-type,mat-footer-cell:first-of-type{padding-left:24px}[dir=rtl] mat-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:first-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:first-of-type:not(:only-of-type){padding-left:0;padding-right:24px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{padding-right:24px}[dir=rtl] mat-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-header-cell:last-of-type:not(:only-of-type),[dir=rtl] mat-footer-cell:last-of-type:not(:only-of-type){padding-right:0;padding-left:24px}mat-cell,mat-header-cell,mat-footer-cell{flex:1;display:flex;align-items:center;overflow:hidden;word-wrap:break-word;min-height:inherit}.mat-mdc-table{min-width:100%;border:0;border-spacing:0;table-layout:auto;white-space:normal;background-color:var(--mat-table-background-color, var(--mat-sys-surface))}.mdc-data-table__cell{box-sizing:border-box;overflow:hidden;text-align:left;text-overflow:ellipsis}[dir=rtl] .mdc-data-table__cell{text-align:right}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 16px}.mat-mdc-header-row{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;height:var(--mat-table-header-container-height, 56px);color:var(--mat-table-header-headline-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-table-header-headline-font, var(--mat-sys-title-small-font, Roboto, sans-serif));line-height:var(--mat-table-header-headline-line-height, var(--mat-sys-title-small-line-height));font-size:var(--mat-table-header-headline-size, var(--mat-sys-title-small-size, 14px));font-weight:var(--mat-table-header-headline-weight, var(--mat-sys-title-small-weight, 500))}.mat-mdc-row{height:var(--mat-table-row-item-container-height, 52px);color:var(--mat-table-row-item-label-text-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)))}.mat-mdc-row,.mdc-data-table__content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-table-row-item-label-text-font, var(--mat-sys-body-medium-font, Roboto, sans-serif));line-height:var(--mat-table-row-item-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-table-row-item-label-text-size, var(--mat-sys-body-medium-size, 14px));font-weight:var(--mat-table-row-item-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-footer-row{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;height:var(--mat-table-footer-container-height, 52px);color:var(--mat-table-row-item-label-text-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-table-footer-supporting-text-font, var(--mat-sys-body-medium-font, Roboto, sans-serif));line-height:var(--mat-table-footer-supporting-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-table-footer-supporting-text-size, var(--mat-sys-body-medium-size, 14px));font-weight:var(--mat-table-footer-supporting-text-weight, var(--mat-sys-body-medium-weight));letter-spacing:var(--mat-table-footer-supporting-text-tracking, var(--mat-sys-body-medium-tracking))}.mat-mdc-header-cell{border-bottom-color:var(--mat-table-row-item-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, 0.12)));border-bottom-width:var(--mat-table-row-item-outline-width, 1px);border-bottom-style:solid;letter-spacing:var(--mat-table-header-headline-tracking, var(--mat-sys-title-small-tracking));font-weight:inherit;line-height:inherit;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;outline:none;text-align:left}[dir=rtl] .mat-mdc-header-cell{text-align:right}.mdc-data-table__row:last-child>.mat-mdc-header-cell{border-bottom:none}.mat-mdc-cell{border-bottom-color:var(--mat-table-row-item-outline-color, var(--mat-sys-outline, rgba(0, 0, 0, 0.12)));border-bottom-width:var(--mat-table-row-item-outline-width, 1px);border-bottom-style:solid;letter-spacing:var(--mat-table-row-item-label-text-tracking, var(--mat-sys-body-medium-tracking));line-height:inherit}.mdc-data-table__row:last-child>.mat-mdc-cell{border-bottom:none}.mat-mdc-footer-cell{letter-spacing:var(--mat-table-row-item-label-text-tracking, var(--mat-sys-body-medium-tracking))}mat-row.mat-mdc-row,mat-header-row.mat-mdc-header-row,mat-footer-row.mat-mdc-footer-row{border-bottom:none}.mat-mdc-table tbody,.mat-mdc-table tfoot,.mat-mdc-table thead,.mat-mdc-cell,.mat-mdc-footer-cell,.mat-mdc-header-row,.mat-mdc-row,.mat-mdc-footer-row,.mat-mdc-table .mat-mdc-header-cell{background:inherit}.mat-mdc-table mat-header-row.mat-mdc-header-row,.mat-mdc-table mat-row.mat-mdc-row,.mat-mdc-table mat-footer-row.mat-mdc-footer-cell{height:unset}mat-header-cell.mat-mdc-header-cell,mat-cell.mat-mdc-cell,mat-footer-cell.mat-mdc-footer-cell{align-self:stretch} +`],encapsulation:2})}return i})(),jt=(()=>{class i extends ee{static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275dir=d({type:i,selectors:[["","matCellDef",""]],features:[y([{provide:ee,useExisting:i}]),u]})}return i})(),Qt=(()=>{class i extends te{static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275dir=d({type:i,selectors:[["","matHeaderCellDef",""]],features:[y([{provide:te,useExisting:i}]),u]})}return i})();var Vt=(()=>{class i extends B{get name(){return this._name}set name(e){this._setNameInput(e)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275dir=d({type:i,selectors:[["","matColumnDef",""]],inputs:{name:[0,"matColumnDef","name"]},features:[y([{provide:B,useExisting:i},{provide:"MAT_SORT_HEADER_COLUMN_DEF",useExisting:i}]),u]})}return i})(),Ut=(()=>{class i extends Ae{static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275dir=d({type:i,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-mdc-header-cell","mdc-data-table__header-cell"],features:[u]})}return i})();var Wt=(()=>{class i extends Pe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275dir=d({type:i,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:[1,"mat-mdc-cell","mdc-data-table__cell"],features:[u]})}return i})();var $t=(()=>{class i extends Q{static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275dir=d({type:i,selectors:[["","matHeaderRowDef",""]],inputs:{columns:[0,"matHeaderRowDef","columns"],sticky:[2,"matHeaderRowDefSticky","sticky",S]},features:[y([{provide:Q,useExisting:i}]),u]})}return i})();var qt=(()=>{class i extends ie{static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275dir=d({type:i,selectors:[["","matRowDef",""]],inputs:{columns:[0,"matRowDefColumns","columns"],when:[0,"matRowDefWhen","when"]},features:[y([{provide:ie,useExisting:i}]),u]})}return i})(),Kt=(()=>{class i extends ce{static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275cmp=F({type:i,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-mdc-header-row","mdc-data-table__header-row"],exportAs:["matHeaderRow"],features:[y([{provide:ce,useExisting:i}]),u],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&h(0,0)},dependencies:[I],encapsulation:2})}return i})();var Gt=(()=>{class i extends de{static \u0275fac=(()=>{let e;return function(o){return(e||(e=g(i)))(o||i)}})();static \u0275cmp=F({type:i,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-mdc-row","mdc-data-table__row"],exportAs:["matRow"],features:[y([{provide:de,useExisting:i}]),u],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&h(0,0)},dependencies:[I],encapsulation:2})}return i})();var Xt=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=$({type:i});static \u0275inj=U({imports:[re,ze,re]})}return i})();export{Lt as a,jt as b,Qt as c,Vt as d,Ut as e,Wt as f,$t as g,qt as h,Kt as i,Gt as j,Xt as k}; diff --git a/chunk-COFYR5MX.js b/chunk-COFYR5MX.js new file mode 100644 index 0000000..4fdc8a8 --- /dev/null +++ b/chunk-COFYR5MX.js @@ -0,0 +1,11 @@ +import{$ as L,$a as _s,$b as pe,Aa as gi,Ab as rn,Ac as Is,B as Z,Ba as bi,Ca as B,Cb as ft,Cc as Ss,D as De,Da as vi,Dc as Ne,E as Fe,Ea as us,F as It,Fa as ut,Fc as Rs,G as hi,Ga as ls,Gc as Qn,H as Ee,Ha as lt,I as ts,Ia as ds,J as He,Ja as tn,Jc as Ts,K as Ge,Ka as yi,L as fi,La as _i,M as ns,Ma as dt,Mb as Cs,Mc as on,Na as St,Nb as Si,Nc as Ms,O as rs,Oa as hs,Ob as Ri,Oc as Fs,P as is,Pa as fs,Pb as qe,Pc as H,Qa as ms,Qc as Ti,R as Kn,Ra as ps,S as qn,Sa as gs,Sc as Os,T as W,Ta as bs,Tc as xs,U as at,Ua as vs,Va as se,Vb as le,W as x,Wb as j,X as _,Xb as As,Y as ct,Ya as ys,_ as f,_a as Rt,_b as mt,a as h,aa as os,ab as Ds,b as Y,ba as p,bb as Di,ca as g,cb as ue,d as Ct,da as u,db as M,e as Xo,ea as Qt,eb as Yn,f as Ve,fa as ss,fb as Ei,g as ui,ga as me,gb as Tt,h as li,ha as ie,hb as ht,i as O,ib as V,j as te,jb as Es,jc as xe,kb as Mt,kc as Jn,l as Me,m as ne,ma as X,mb as ws,n as m,na as E,nb as Zn,o as st,oa as mi,ob as J,p as Jo,pa as We,pb as P,q as Qo,qa as en,qb as k,r as b,rb as Xn,s as At,sa as pi,sb as nn,t as re,ta as Oe,u as di,v as Gn,va as as,w as Wn,wa as cs,wb as wi,x as es,xb as Ci,yb as Ai,za as Ke,zb as Ii}from"./chunk-2MUIW2M6.js";var Ps=null;function Le(){return Ps}function Mi(t){Ps??=t}var sn=class{},an=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:()=>u(ks),providedIn:"platform"})}return t})(),Fi=new p(""),ks=(()=>{class t extends an{_location;_history;_doc=u(E);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Le().getBaseHref(this._doc)}onPopState(e){let n=Le().getGlobalEventTarget(this._doc,"window");return n.addEventListener("popstate",e,!1),()=>n.removeEventListener("popstate",e)}onHashChange(e){let n=Le().getGlobalEventTarget(this._doc,"window");return n.addEventListener("hashchange",e,!1),()=>n.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,n,i){this._history.pushState(e,n,i)}replaceState(e,n,i){this._history.replaceState(e,n,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function er(t,r){return t?r?t.endsWith("/")?r.startsWith("/")?t+r.slice(1):t+r:r.startsWith("/")?t+r:`${t}/${r}`:t:r}function Ns(t){let r=t.search(/#|\?|$/);return t[r-1]==="/"?t.slice(0,r-1)+t.slice(r):t}function ge(t){return t&&t[0]!=="?"?`?${t}`:t}var be=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:()=>u(nr),providedIn:"root"})}return t})(),tr=new p(""),nr=(()=>{class t extends be{_platformLocation;_baseHref;_removeListenerFns=[];constructor(e,n){super(),this._platformLocation=e,this._baseHref=n??this._platformLocation.getBaseHrefFromDOM()??u(E).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return er(this._baseHref,e)}path(e=!1){let n=this._platformLocation.pathname+ge(this._platformLocation.search),i=this._platformLocation.hash;return i&&e?`${n}${i}`:n}pushState(e,n,i,o){let s=this.prepareExternalUrl(i+ge(o));this._platformLocation.pushState(e,n,s)}replaceState(e,n,i,o){let s=this.prepareExternalUrl(i+ge(o));this._platformLocation.replaceState(e,n,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static \u0275fac=function(n){return new(n||t)(g(an),g(tr,8))};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ye=(()=>{class t{_subject=new O;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(e){this._locationStrategy=e;let n=this._locationStrategy.getBaseHref();this._basePath=Cu(Ns(Ls(n))),this._locationStrategy.onPopState(i=>{this._subject.next({url:this.path(!0),pop:!0,state:i.state,type:i.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,n=""){return this.path()==this.normalize(e+ge(n))}normalize(e){return t.stripTrailingSlash(wu(this._basePath,Ls(e)))}prepareExternalUrl(e){return e&&e[0]!=="/"&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,n="",i=null){this._locationStrategy.pushState(i,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ge(n)),i)}replaceState(e,n="",i=null){this._locationStrategy.replaceState(i,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ge(n)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(n=>{this._notifyUrlChangeListeners(n.url,n.state)}),()=>{let n=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(n,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",n){this._urlChangeListeners.forEach(i=>i(e,n))}subscribe(e,n,i){return this._subject.subscribe({next:e,error:n??void 0,complete:i??void 0})}static normalizeQueryParams=ge;static joinWithSlash=er;static stripTrailingSlash=Ns;static \u0275fac=function(n){return new(n||t)(g(be))};static \u0275prov=f({token:t,factory:()=>Eu(),providedIn:"root"})}return t})();function Eu(){return new Ye(g(be))}function wu(t,r){if(!t||!r.startsWith(t))return r;let e=r.substring(t.length);return e===""||["/",";","?","#"].includes(e[0])?e:r}function Ls(t){return t.replace(/\/index.html$/,"")}function Cu(t){if(new RegExp("^(https?:)?//").test(t)){let[,e]=t.split(/\/\/[^\/]+/);return e}return t}var Pi=(()=>{class t extends be{_platformLocation;_baseHref="";_removeListenerFns=[];constructor(e,n){super(),this._platformLocation=e,n!=null&&(this._baseHref=n)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let n=this._platformLocation.hash??"#";return n.length>0?n.substring(1):n}prepareExternalUrl(e){let n=er(this._baseHref,e);return n.length>0?"#"+n:n}pushState(e,n,i,o){let s=this.prepareExternalUrl(i+ge(o))||this._platformLocation.pathname;this._platformLocation.pushState(e,n,s)}replaceState(e,n,i,o){let s=this.prepareExternalUrl(i+ge(o))||this._platformLocation.pathname;this._platformLocation.replaceState(e,n,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static \u0275fac=function(n){return new(n||t)(g(an),g(tr,8))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})();var K=(function(t){return t[t.Format=0]="Format",t[t.Standalone=1]="Standalone",t})(K||{}),I=(function(t){return t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short",t})(I||{}),oe=(function(t){return t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full",t})(oe||{}),ke={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function zs(t){return le(t)[j.LocaleId]}function Vs(t,r,e){let n=le(t),i=[n[j.DayPeriodsFormat],n[j.DayPeriodsStandalone]],o=de(i,r);return de(o,e)}function Hs(t,r,e){let n=le(t),i=[n[j.DaysFormat],n[j.DaysStandalone]],o=de(i,r);return de(o,e)}function Gs(t,r,e){let n=le(t),i=[n[j.MonthsFormat],n[j.MonthsStandalone]],o=de(i,r);return de(o,e)}function Ws(t,r){let n=le(t)[j.Eras];return de(n,r)}function cn(t,r){let e=le(t);return de(e[j.DateFormat],r)}function un(t,r){let e=le(t);return de(e[j.TimeFormat],r)}function ln(t,r){let n=le(t)[j.DateTimeFormat];return de(n,r)}function dn(t,r){let e=le(t),n=e[j.NumberSymbols][r];if(typeof n>"u"){if(r===ke.CurrencyDecimal)return e[j.NumberSymbols][ke.Decimal];if(r===ke.CurrencyGroup)return e[j.NumberSymbols][ke.Group]}return n}function Ks(t){if(!t[j.ExtraData])throw new _(2303,!1)}function qs(t){let r=le(t);return Ks(r),(r[j.ExtraData][2]||[]).map(n=>typeof n=="string"?Oi(n):[Oi(n[0]),Oi(n[1])])}function Ys(t,r,e){let n=le(t);Ks(n);let i=[n[j.ExtraData][0],n[j.ExtraData][1]],o=de(i,r)||[];return de(o,e)||[]}function de(t,r){for(let e=r;e>-1;e--)if(typeof t[e]<"u")return t[e];throw new _(2304,!1)}function Oi(t){let[r,e]=t.split(":");return{hours:+r,minutes:+e}}var Au=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,rr={},Iu=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;function Zs(t,r,e,n){let i=Lu(t);r=Pe(e,r)||r;let s=[],a;for(;r;)if(a=Iu.exec(r),a){s=s.concat(a.slice(1));let d=s.pop();if(!d)break;r=d}else{s.push(r);break}let c=i.getTimezoneOffset();n&&(c=Js(n,c),i=Nu(i,n));let l="";return s.forEach(d=>{let v=Ou(d);l+=v?v(i,e,c):d==="''"?"'":d.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}function cr(t,r,e){let n=new Date(0);return n.setFullYear(t,r,e),n.setHours(0,0,0),n}function Pe(t,r){let e=zs(t);if(rr[e]??={},rr[e][r])return rr[e][r];let n="";switch(r){case"shortDate":n=cn(t,oe.Short);break;case"mediumDate":n=cn(t,oe.Medium);break;case"longDate":n=cn(t,oe.Long);break;case"fullDate":n=cn(t,oe.Full);break;case"shortTime":n=un(t,oe.Short);break;case"mediumTime":n=un(t,oe.Medium);break;case"longTime":n=un(t,oe.Long);break;case"fullTime":n=un(t,oe.Full);break;case"short":let i=Pe(t,"shortTime"),o=Pe(t,"shortDate");n=ir(ln(t,oe.Short),[i,o]);break;case"medium":let s=Pe(t,"mediumTime"),a=Pe(t,"mediumDate");n=ir(ln(t,oe.Medium),[s,a]);break;case"long":let c=Pe(t,"longTime"),l=Pe(t,"longDate");n=ir(ln(t,oe.Long),[c,l]);break;case"full":let d=Pe(t,"fullTime"),v=Pe(t,"fullDate");n=ir(ln(t,oe.Full),[d,v]);break}return n&&(rr[e][r]=n),n}function ir(t,r){return r&&(t=t.replace(/\{([^}]+)}/g,function(e,n){return r!=null&&n in r?r[n]:e})),t}function ve(t,r,e="-",n,i){let o="";(t<0||i&&t<=0)&&(i?t=-t+1:(t=-t,o=e));let s=String(t);for(;s.length0||a>-e)&&(a+=e),t===3)a===0&&e===-12&&(a=12);else if(t===6)return Su(a,r);let c=dn(s,ke.MinusSign);return ve(a,r,c,n,i)}}function Ru(t,r){switch(t){case 0:return r.getFullYear();case 1:return r.getMonth();case 2:return r.getDate();case 3:return r.getHours();case 4:return r.getMinutes();case 5:return r.getSeconds();case 6:return r.getMilliseconds();case 7:return r.getDay();default:throw new _(2301,!1)}}function F(t,r,e=K.Format,n=!1){return function(i,o){return Tu(i,o,t,r,e,n)}}function Tu(t,r,e,n,i,o){switch(e){case 2:return Gs(r,i,n)[t.getMonth()];case 1:return Hs(r,i,n)[t.getDay()];case 0:let s=t.getHours(),a=t.getMinutes();if(o){let l=qs(r),d=Ys(r,i,n),v=l.findIndex(w=>{if(Array.isArray(w)){let[S,R]=w,N=s>=S.hours&&a>=S.minutes,D=s0?Math.floor(i/60):Math.ceil(i/60);switch(t){case 0:return(i>=0?"+":"")+ve(s,2,o)+ve(Math.abs(i%60),2,o);case 1:return"GMT"+(i>=0?"+":"")+ve(s,1,o);case 2:return"GMT"+(i>=0?"+":"")+ve(s,2,o)+":"+ve(Math.abs(i%60),2,o);case 3:return n===0?"Z":(i>=0?"+":"")+ve(s,2,o)+":"+ve(Math.abs(i%60),2,o);default:throw new _(2310,!1)}}}var Mu=0,ar=4;function Fu(t){let r=cr(t,Mu,1).getDay();return cr(t,0,1+(r<=ar?ar:ar+7)-r)}function Xs(t){let r=t.getDay(),e=r===0?-3:ar-r;return cr(t.getFullYear(),t.getMonth(),t.getDate()+e)}function xi(t,r=!1){return function(e,n){let i;if(r){let o=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,s=e.getDate();i=1+Math.floor((s+o)/7)}else{let o=Xs(e),s=Fu(o.getFullYear()),a=o.getTime()-s.getTime();i=1+Math.round(a/6048e5)}return ve(i,t,dn(n,ke.MinusSign))}}function sr(t,r=!1){return function(e,n){let o=Xs(e).getFullYear();return ve(o,t,dn(n,ke.MinusSign),r)}}var Ni={};function Ou(t){if(Ni[t])return Ni[t];let r;switch(t){case"G":case"GG":case"GGG":r=F(3,I.Abbreviated);break;case"GGGG":r=F(3,I.Wide);break;case"GGGGG":r=F(3,I.Narrow);break;case"y":r=U(0,1,0,!1,!0);break;case"yy":r=U(0,2,0,!0,!0);break;case"yyy":r=U(0,3,0,!1,!0);break;case"yyyy":r=U(0,4,0,!1,!0);break;case"Y":r=sr(1);break;case"YY":r=sr(2,!0);break;case"YYY":r=sr(3);break;case"YYYY":r=sr(4);break;case"M":case"L":r=U(1,1,1);break;case"MM":case"LL":r=U(1,2,1);break;case"MMM":r=F(2,I.Abbreviated);break;case"MMMM":r=F(2,I.Wide);break;case"MMMMM":r=F(2,I.Narrow);break;case"LLL":r=F(2,I.Abbreviated,K.Standalone);break;case"LLLL":r=F(2,I.Wide,K.Standalone);break;case"LLLLL":r=F(2,I.Narrow,K.Standalone);break;case"w":r=xi(1);break;case"ww":r=xi(2);break;case"W":r=xi(1,!0);break;case"d":r=U(2,1);break;case"dd":r=U(2,2);break;case"c":case"cc":r=U(7,1);break;case"ccc":r=F(1,I.Abbreviated,K.Standalone);break;case"cccc":r=F(1,I.Wide,K.Standalone);break;case"ccccc":r=F(1,I.Narrow,K.Standalone);break;case"cccccc":r=F(1,I.Short,K.Standalone);break;case"E":case"EE":case"EEE":r=F(1,I.Abbreviated);break;case"EEEE":r=F(1,I.Wide);break;case"EEEEE":r=F(1,I.Narrow);break;case"EEEEEE":r=F(1,I.Short);break;case"a":case"aa":case"aaa":r=F(0,I.Abbreviated);break;case"aaaa":r=F(0,I.Wide);break;case"aaaaa":r=F(0,I.Narrow);break;case"b":case"bb":case"bbb":r=F(0,I.Abbreviated,K.Standalone,!0);break;case"bbbb":r=F(0,I.Wide,K.Standalone,!0);break;case"bbbbb":r=F(0,I.Narrow,K.Standalone,!0);break;case"B":case"BB":case"BBB":r=F(0,I.Abbreviated,K.Format,!0);break;case"BBBB":r=F(0,I.Wide,K.Format,!0);break;case"BBBBB":r=F(0,I.Narrow,K.Format,!0);break;case"h":r=U(3,1,-12);break;case"hh":r=U(3,2,-12);break;case"H":r=U(3,1);break;case"HH":r=U(3,2);break;case"m":r=U(4,1);break;case"mm":r=U(4,2);break;case"s":r=U(5,1);break;case"ss":r=U(5,2);break;case"S":r=U(6,1);break;case"SS":r=U(6,2);break;case"SSS":r=U(6,3);break;case"Z":case"ZZ":case"ZZZ":r=or(0);break;case"ZZZZZ":r=or(3);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":r=or(1);break;case"OOOO":case"ZZZZ":case"zzzz":r=or(2);break;default:return null}return Ni[t]=r,r}function Js(t,r){t=t.replace(/:/g,"");let e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?r:e}function xu(t,r){return t=new Date(t.getTime()),t.setMinutes(t.getMinutes()+r),t}function Nu(t,r,e){let i=t.getTimezoneOffset(),o=Js(r,i);return xu(t,-1*(o-i))}function Lu(t){if(Us(t))return t;if(typeof t=="number"&&!isNaN(t))return new Date(t);if(typeof t=="string"){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){let[i,o=1,s=1]=t.split("-").map(a=>+a);return cr(i,o-1,s)}let e=parseFloat(t);if(!isNaN(t-e))return new Date(e);let n;if(n=t.match(Au))return Pu(n)}let r=new Date(t);if(!Us(r))throw new _(2311,!1);return r}function Pu(t){let r=new Date(0),e=0,n=0,i=t[8]?r.setUTCFullYear:r.setFullYear,o=t[8]?r.setUTCHours:r.setHours;t[9]&&(e=Number(t[9]+t[10]),n=Number(t[9]+t[11])),i.call(r,Number(t[1]),Number(t[2])-1,Number(t[3]));let s=Number(t[4]||0)-e,a=Number(t[5]||0)-n,c=Number(t[6]||0),l=Math.floor(parseFloat("0."+(t[7]||0))*1e3);return o.call(r,s,a,c,l),r}function Us(t){return t instanceof Date&&!isNaN(t.valueOf())}var Li=/\s+/,Bs=[],ku=(()=>{class t{_ngEl;_renderer;initialClasses=Bs;rawClass;stateMap=new Map;constructor(e,n){this._ngEl=e,this._renderer=n}set klass(e){this.initialClasses=e!=null?e.trim().split(Li):Bs}set ngClass(e){this.rawClass=typeof e=="string"?e.trim().split(Li):e}ngDoCheck(){for(let n of this.initialClasses)this._updateState(n,!0);let e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(let n of e)this._updateState(n,!0);else if(e!=null)for(let n of Object.keys(e))this._updateState(n,!!e[n]);this._applyStateDiff()}_updateState(e,n){let i=this.stateMap.get(e);i!==void 0?(i.enabled!==n&&(i.changed=!0,i.enabled=n),i.touched=!0):this.stateMap.set(e,{enabled:n,changed:!0,touched:!0})}_applyStateDiff(){for(let e of this.stateMap){let n=e[0],i=e[1];i.changed?(this._toggleClass(n,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(n,!1),this.stateMap.delete(n)),i.touched=!1}}_toggleClass(e,n){e=e.trim(),e.length>0&&e.split(Li).forEach(i=>{n?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(n){return new(n||t)(V(B),V(ht))};static \u0275dir=k({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return t})();var ur=class{$implicit;ngForOf;index;count;constructor(r,e,n,i){this.$implicit=r,this.ngForOf=e,this.index=n,this.count=i}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},Qs=(()=>{class t{_viewContainer;_template;_differs;set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(e,n,i){this._viewContainer=e,this._template=n,this._differs=i}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){let e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){let n=this._viewContainer;e.forEachOperation((i,o,s)=>{if(i.previousIndex==null)n.createEmbeddedView(this._template,new ur(i.item,this._ngForOf,-1,-1),s===null?void 0:s);else if(s==null)n.remove(o===null?void 0:o);else if(o!==null){let a=n.get(o);n.move(a,s),js(a,i)}});for(let i=0,o=n.length;i{let o=n.get(i.currentIndex);js(o,i)})}static ngTemplateContextGuard(e,n){return!0}static \u0275fac=function(n){return new(n||t)(V(Mt),V(Ei),V(Ms))};static \u0275dir=k({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return t})();function js(t,r){t.context.$implicit=r.item}var Uu=(()=>{class t{_viewContainer;_context=new lr;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(e,n){this._viewContainer=e,this._thenTemplateRef=n}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){$s(e,!1),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){$s(e,!1),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(e,n){return!0}static \u0275fac=function(n){return new(n||t)(V(Mt),V(Ei))};static \u0275dir=k({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return t})(),lr=class{$implicit=null;ngIf=null};function $s(t,r){if(t&&!t.createEmbeddedView)throw new _(2020,!1)}var Bu=(()=>{class t{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let n=this._viewContainerRef;if(this._viewRef&&n.remove(n.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let i=this._createContextForwardProxy();this._viewRef=n.createEmbeddedView(this.ngTemplateOutlet,i,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,n,i)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,n,i):!1,get:(e,n,i)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,n,i)}})}static \u0275fac=function(n){return new(n||t)(V(Mt))};static \u0275dir=k({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[Ke]})}return t})();function ki(t,r){return new _(2100,!1)}var ju=/(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])\S*/g,$u=(()=>{class t{transform(e){if(e==null)return null;if(typeof e!="string")throw ki(t,e);return e.replace(ju,n=>n[0].toUpperCase()+n.slice(1).toLowerCase())}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=Xn({name:"titlecase",type:t,pure:!0})}return t})(),zu=(()=>{class t{transform(e){if(e==null)return null;if(typeof e!="string")throw ki(t,e);return e.toUpperCase()}static \u0275fac=function(n){return new(n||t)};static \u0275pipe=Xn({name:"uppercase",type:t,pure:!0})}return t})(),Vu="mediumDate",ea=new p(""),ta=new p(""),Hu=(()=>{class t{locale;defaultTimezone;defaultOptions;constructor(e,n,i){this.locale=e,this.defaultTimezone=n,this.defaultOptions=i}transform(e,n,i,o){if(e==null||e===""||e!==e)return null;try{let s=n??this.defaultOptions?.dateFormat??Vu,a=i??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return Zs(e,s,o||this.locale,a)}catch(s){throw ki(t,s.message)}}static \u0275fac=function(n){return new(n||t)(V(Ss,16),V(ea,24),V(ta,24))};static \u0275pipe=Xn({name:"date",type:t,pure:!0})}return t})();var na=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({})}return t})();function hn(t,r){r=encodeURIComponent(r);for(let e of t.split(";")){let n=e.indexOf("="),[i,o]=n==-1?[e,""]:[e.slice(0,n),e.slice(n+1)];if(i.trim()===r)return decodeURIComponent(o)}return null}var pt=class{};var Bi="browser";function ra(t){return t===Bi}var ji=(()=>{class t{static \u0275prov=f({token:t,providedIn:"root",factory:()=>new Ui(u(E),window)})}return t})(),Ui=class{document;window;offset=()=>[0,0];constructor(r,e){this.document=r,this.window=e}setOffset(r){Array.isArray(r)?this.offset=()=>r:this.offset=r}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(r,e){this.window.scrollTo(Y(h({},e),{left:r[0],top:r[1]}))}scrollToAnchor(r,e){let n=Ku(this.document,r);n&&(this.scrollToElement(n,e),n.focus())}setHistoryScrollRestoration(r){try{this.window.history.scrollRestoration=r}catch{console.warn(ct(2400,!1))}}scrollToElement(r,e){let n=r.getBoundingClientRect(),i=n.left+this.window.pageXOffset,o=n.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(Y(h({},e),{left:i-s[0],top:o-s[1]}))}};function Ku(t,r){let e=t.getElementById(r)||t.getElementsByName(r)[0];if(e)return e;if(typeof t.createTreeWalker=="function"&&t.body&&typeof t.body.attachShadow=="function"){let n=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT),i=n.currentNode;for(;i;){let o=i.shadowRoot;if(o){let s=o.getElementById(r)||o.querySelector(`[name="${r}"]`);if(s)return s}i=n.nextNode()}}return null}var fn=class{_doc;constructor(r){this._doc=r}manager},dr=(()=>{class t extends fn{constructor(e){super(e)}supports(e){return!0}addEventListener(e,n,i,o){return e.addEventListener(n,i,o),()=>this.removeEventListener(e,n,i,o)}removeEventListener(e,n,i,o){return e.removeEventListener(n,i,o)}static \u0275fac=function(n){return new(n||t)(g(E))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})(),fr=new p(""),Gi=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,n){this._zone=n,e.forEach(s=>{s.manager=this});let i=e.filter(s=>!(s instanceof dr));this._plugins=i.slice().reverse();let o=e.find(s=>s instanceof dr);o&&this._plugins.push(o)}addEventListener(e,n,i,o){return this._findPluginFor(n).addEventListener(e,n,i,o)}getZone(){return this._zone}_findPluginFor(e){let n=this._eventNameToPlugin.get(e);if(n)return n;if(n=this._plugins.find(o=>o.supports(e)),!n)throw new _(5101,!1);return this._eventNameToPlugin.set(e,n),n}static \u0275fac=function(n){return new(n||t)(g(fr),g(M))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})(),$i="ng-app-id";function ia(t){for(let r of t)r.remove()}function oa(t,r){let e=r.createElement("style");return e.textContent=t,e}function Yu(t,r,e,n){let i=t.head?.querySelectorAll(`style[${$i}="${r}"],link[${$i}="${r}"]`);if(i)for(let o of i)o.removeAttribute($i),o instanceof HTMLLinkElement?n.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&e.set(o.textContent,{usage:0,elements:[o]})}function Vi(t,r){let e=r.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),e}var Wi=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,n,i,o={}){this.doc=e,this.appId=n,this.nonce=i,Yu(e,n,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,n){for(let i of e)this.addUsage(i,this.inline,oa);n?.forEach(i=>this.addUsage(i,this.external,Vi))}removeStyles(e,n){for(let i of e)this.removeUsage(i,this.inline);n?.forEach(i=>this.removeUsage(i,this.external))}addUsage(e,n,i){let o=n.get(e);o?o.usage++:n.set(e,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,i(e,this.doc)))})}removeUsage(e,n){let i=n.get(e);i&&(i.usage--,i.usage<=0&&(ia(i.elements),n.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])ia(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[n,{elements:i}]of this.inline)i.push(this.addElement(e,oa(n,this.doc)));for(let[n,{elements:i}]of this.external)i.push(this.addElement(e,Vi(n,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,n){return this.nonce&&n.setAttribute("nonce",this.nonce),e.appendChild(n)}static \u0275fac=function(n){return new(n||t)(g(E),g(ut),g(tn,8),g(lt))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})(),zi={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},Ki=/%COMP%/g;var aa="%COMP%",Zu=`_nghost-${aa}`,Xu=`_ngcontent-${aa}`,Ju=!0,Qu=new p("",{providedIn:"root",factory:()=>Ju});function el(t){return Xu.replace(Ki,t)}function tl(t){return Zu.replace(Ki,t)}function ca(t,r){return r.map(e=>e.replace(Ki,t))}var qi=(()=>{class t{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(e,n,i,o,s,a,c,l=null,d=null){this.eventManager=e,this.sharedStylesHost=n,this.appId=i,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=c,this.nonce=l,this.tracingService=d,this.platformIsServer=!1,this.defaultRenderer=new mn(e,s,c,this.platformIsServer,this.tracingService)}createRenderer(e,n){if(!e||!n)return this.defaultRenderer;let i=this.getOrCreateRenderer(e,n);return i instanceof hr?i.applyToHost(e):i instanceof pn&&i.applyStyles(),i}getOrCreateRenderer(e,n){let i=this.rendererByCompId,o=i.get(n.id);if(!o){let s=this.doc,a=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,v=this.platformIsServer,w=this.tracingService;switch(n.encapsulation){case _i.Emulated:o=new hr(c,l,n,this.appId,d,s,a,v,w);break;case _i.ShadowDom:return new Hi(c,l,e,n,s,a,this.nonce,v,w);default:o=new pn(c,l,n,d,s,a,v,w);break}i.set(n.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(n){return new(n||t)(g(Gi),g(Wi),g(ut),g(Qu),g(E),g(lt),g(M),g(tn),g(Ds,8))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})(),mn=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(r,e,n,i,o){this.eventManager=r,this.doc=e,this.ngZone=n,this.platformIsServer=i,this.tracingService=o}destroy(){}destroyNode=null;createElement(r,e){return e?this.doc.createElementNS(zi[e]||e,r):this.doc.createElement(r)}createComment(r){return this.doc.createComment(r)}createText(r){return this.doc.createTextNode(r)}appendChild(r,e){(sa(r)?r.content:r).appendChild(e)}insertBefore(r,e,n){r&&(sa(r)?r.content:r).insertBefore(e,n)}removeChild(r,e){e.remove()}selectRootElement(r,e){let n=typeof r=="string"?this.doc.querySelector(r):r;if(!n)throw new _(-5104,!1);return e||(n.textContent=""),n}parentNode(r){return r.parentNode}nextSibling(r){return r.nextSibling}setAttribute(r,e,n,i){if(i){e=i+":"+e;let o=zi[i];o?r.setAttributeNS(o,e,n):r.setAttribute(e,n)}else r.setAttribute(e,n)}removeAttribute(r,e,n){if(n){let i=zi[n];i?r.removeAttributeNS(i,e):r.removeAttribute(`${n}:${e}`)}else r.removeAttribute(e)}addClass(r,e){r.classList.add(e)}removeClass(r,e){r.classList.remove(e)}setStyle(r,e,n,i){i&(Rt.DashCase|Rt.Important)?r.style.setProperty(e,n,i&Rt.Important?"important":""):r.style[e]=n}removeStyle(r,e,n){n&Rt.DashCase?r.style.removeProperty(e):r.style[e]=""}setProperty(r,e,n){r!=null&&(r[e]=n)}setValue(r,e){r.nodeValue=e}listen(r,e,n,i){if(typeof r=="string"&&(r=Le().getGlobalEventTarget(this.doc,r),!r))throw new _(5102,!1);let o=this.decoratePreventDefault(n);return this.tracingService?.wrapEventListener&&(o=this.tracingService.wrapEventListener(r,e,o)),this.eventManager.addEventListener(r,e,o,i)}decoratePreventDefault(r){return e=>{if(e==="__ngUnwrap__")return r;r(e)===!1&&e.preventDefault()}}};function sa(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var Hi=class extends mn{sharedStylesHost;hostEl;shadowRoot;constructor(r,e,n,i,o,s,a,c,l){super(r,o,s,c,l),this.sharedStylesHost=e,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let d=i.styles;d=ca(i.id,d);for(let w of d){let S=document.createElement("style");a&&S.setAttribute("nonce",a),S.textContent=w,this.shadowRoot.appendChild(S)}let v=i.getExternalStyles?.();if(v)for(let w of v){let S=Vi(w,o);a&&S.setAttribute("nonce",a),this.shadowRoot.appendChild(S)}}nodeOrShadowRoot(r){return r===this.hostEl?this.shadowRoot:r}appendChild(r,e){return super.appendChild(this.nodeOrShadowRoot(r),e)}insertBefore(r,e,n){return super.insertBefore(this.nodeOrShadowRoot(r),e,n)}removeChild(r,e){return super.removeChild(null,e)}parentNode(r){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(r)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},pn=class extends mn{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(r,e,n,i,o,s,a,c,l){super(r,o,s,a,c),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=i;let d=n.styles;this.styles=l?ca(l,d):d,this.styleUrls=n.getExternalStyles?.(l)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&_s.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},hr=class extends pn{contentAttr;hostAttr;constructor(r,e,n,i,o,s,a,c,l){let d=i+"-"+n.id;super(r,e,n,o,s,a,c,l,d),this.contentAttr=el(d),this.hostAttr=tl(d)}applyToHost(r){this.applyStyles(),this.setAttribute(r,this.hostAttr,"")}createElement(r,e){let n=super.createElement(r,e);return super.setAttribute(n,this.contentAttr,""),n}};var mr=class t extends sn{supportsDOMEvents=!0;static makeCurrent(){Mi(new t)}onAndCancel(r,e,n,i){return r.addEventListener(e,n,i),()=>{r.removeEventListener(e,n,i)}}dispatchEvent(r,e){r.dispatchEvent(e)}remove(r){r.remove()}createElement(r,e){return e=e||this.getDefaultDocument(),e.createElement(r)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(r){return r.nodeType===Node.ELEMENT_NODE}isShadowRoot(r){return r instanceof DocumentFragment}getGlobalEventTarget(r,e){return e==="window"?window:e==="document"?r:e==="body"?r.body:null}getBaseHref(r){let e=rl();return e==null?null:il(e)}resetBaseElement(){gn=null}getUserAgent(){return window.navigator.userAgent}getCookie(r){return hn(document.cookie,r)}},gn=null;function rl(){return gn=gn||document.head.querySelector("base"),gn?gn.getAttribute("href"):null}function il(t){return new URL(t,document.baseURI).pathname}var ol=(()=>{class t{build(){return new XMLHttpRequest}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})(),ua=["alt","control","meta","shift"],sl={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},al={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},la=(()=>{class t extends fn{constructor(e){super(e)}supports(e){return t.parseEventName(e)!=null}addEventListener(e,n,i,o){let s=t.parseEventName(n),a=t.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Le().onAndCancel(e,s.domEventName,a,o))}static parseEventName(e){let n=e.toLowerCase().split("."),i=n.shift();if(n.length===0||!(i==="keydown"||i==="keyup"))return null;let o=t._normalizeKey(n.pop()),s="",a=n.indexOf("code");if(a>-1&&(n.splice(a,1),s="code."),ua.forEach(l=>{let d=n.indexOf(l);d>-1&&(n.splice(d,1),s+=l+".")}),s+=o,n.length!=0||o.length===0)return null;let c={};return c.domEventName=i,c.fullKey=s,c}static matchEventFullKeyCode(e,n){let i=sl[e.key]||e.key,o="";return n.indexOf("code.")>-1&&(i=e.code,o="code."),i==null||!i?!1:(i=i.toLowerCase(),i===" "?i="space":i==="."&&(i="dot"),ua.forEach(s=>{if(s!==i){let a=al[s];a(e)&&(o+=s+".")}}),o+=i,o===n)}static eventCallback(e,n,i){return o=>{t.matchEventFullKeyCode(o,e)&&i.runGuarded(()=>n(o))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(n){return new(n||t)(g(E))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})();function cl(t,r,e){let n=h({rootComponent:t,platformRef:e?.platformRef},ul(r));return Fs(n)}function ul(t){return{appProviders:[...ml,...t?.providers??[]],platformProviders:fl}}function ll(){mr.makeCurrent()}function dl(){return new We}function hl(){return us(document),document}var fl=[{provide:lt,useValue:Bi},{provide:ls,useValue:ll,multi:!0},{provide:E,useFactory:hl}];var ml=[{provide:ss,useValue:"root"},{provide:We,useFactory:dl},{provide:fr,useClass:dr,multi:!0,deps:[E]},{provide:fr,useClass:la,multi:!0,deps:[E]},qi,Wi,Gi,{provide:Tt,useExisting:qi},{provide:pt,useClass:ol},[]];var xt=class{},bn=class{},Ze=class t{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(r){r?typeof r=="string"?this.lazyInit=()=>{this.headers=new Map,r.split(` +`).forEach(e=>{let n=e.indexOf(":");if(n>0){let i=e.slice(0,n),o=e.slice(n+1).trim();this.addHeaderEntry(i,o)}})}:typeof Headers<"u"&&r instanceof Headers?(this.headers=new Map,r.forEach((e,n)=>{this.addHeaderEntry(n,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(r).forEach(([e,n])=>{this.setHeaderEntries(e,n)})}:this.headers=new Map}has(r){return this.init(),this.headers.has(r.toLowerCase())}get(r){this.init();let e=this.headers.get(r.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(r){return this.init(),this.headers.get(r.toLowerCase())||null}append(r,e){return this.clone({name:r,value:e,op:"a"})}set(r,e){return this.clone({name:r,value:e,op:"s"})}delete(r,e){return this.clone({name:r,value:e,op:"d"})}maybeSetNormalizedName(r,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,r)}init(){this.lazyInit&&(this.lazyInit instanceof t?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(r=>this.applyUpdate(r)),this.lazyUpdate=null))}copyFrom(r){r.init(),Array.from(r.headers.keys()).forEach(e=>{this.headers.set(e,r.headers.get(e)),this.normalizedNames.set(e,r.normalizedNames.get(e))})}clone(r){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([r]),e}applyUpdate(r){let e=r.name.toLowerCase();switch(r.op){case"a":case"s":let n=r.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(r.name,e);let i=(r.op==="a"?this.headers.get(e):void 0)||[];i.push(...n),this.headers.set(e,i);break;case"d":let o=r.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let s=this.headers.get(e);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}break}}addHeaderEntry(r,e){let n=r.toLowerCase();this.maybeSetNormalizedName(r,n),this.headers.has(n)?this.headers.get(n).push(e):this.headers.set(n,[e])}setHeaderEntries(r,e){let n=(Array.isArray(e)?e:[e]).map(o=>o.toString()),i=r.toLowerCase();this.headers.set(i,n),this.maybeSetNormalizedName(r,i)}forEach(r){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>r(this.normalizedNames.get(e),this.headers.get(e)))}};var gr=class{encodeKey(r){return da(r)}encodeValue(r){return da(r)}decodeKey(r){return decodeURIComponent(r)}decodeValue(r){return decodeURIComponent(r)}};function pl(t,r){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(i=>{let o=i.indexOf("="),[s,a]=o==-1?[r.decodeKey(i),""]:[r.decodeKey(i.slice(0,o)),r.decodeValue(i.slice(o+1))],c=e.get(s)||[];c.push(a),e.set(s,c)}),e}var gl=/%(\d[a-f0-9])/gi,bl={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function da(t){return encodeURIComponent(t).replace(gl,(r,e)=>bl[e]??r)}function pr(t){return`${t}`}var Ue=class t{map;encoder;updates=null;cloneFrom=null;constructor(r={}){if(this.encoder=r.encoder||new gr,r.fromString){if(r.fromObject)throw new _(2805,!1);this.map=pl(r.fromString,this.encoder)}else r.fromObject?(this.map=new Map,Object.keys(r.fromObject).forEach(e=>{let n=r.fromObject[e],i=Array.isArray(n)?n.map(pr):[pr(n)];this.map.set(e,i)})):this.map=null}has(r){return this.init(),this.map.has(r)}get(r){this.init();let e=this.map.get(r);return e?e[0]:null}getAll(r){return this.init(),this.map.get(r)||null}keys(){return this.init(),Array.from(this.map.keys())}append(r,e){return this.clone({param:r,value:e,op:"a"})}appendAll(r){let e=[];return Object.keys(r).forEach(n=>{let i=r[n];Array.isArray(i)?i.forEach(o=>{e.push({param:n,value:o,op:"a"})}):e.push({param:n,value:i,op:"a"})}),this.clone(e)}set(r,e){return this.clone({param:r,value:e,op:"s"})}delete(r,e){return this.clone({param:r,value:e,op:"d"})}toString(){return this.init(),this.keys().map(r=>{let e=this.encoder.encodeKey(r);return this.map.get(r).map(n=>e+"="+this.encoder.encodeValue(n)).join("&")}).filter(r=>r!=="").join("&")}clone(r){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(r),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(r=>this.map.set(r,this.cloneFrom.map.get(r))),this.updates.forEach(r=>{switch(r.op){case"a":case"s":let e=(r.op==="a"?this.map.get(r.param):void 0)||[];e.push(pr(r.value)),this.map.set(r.param,e);break;case"d":if(r.value!==void 0){let n=this.map.get(r.param)||[],i=n.indexOf(pr(r.value));i!==-1&&n.splice(i,1),n.length>0?this.map.set(r.param,n):this.map.delete(r.param)}else{this.map.delete(r.param);break}}}),this.cloneFrom=this.updates=null)}};var br=class{map=new Map;set(r,e){return this.map.set(r,e),this}get(r){return this.map.has(r)||this.map.set(r,r.defaultValue()),this.map.get(r)}delete(r){return this.map.delete(r),this}has(r){return this.map.has(r)}keys(){return this.map.keys()}};function vl(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function ha(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function fa(t){return typeof Blob<"u"&&t instanceof Blob}function ma(t){return typeof FormData<"u"&&t instanceof FormData}function yl(t){return typeof URLSearchParams<"u"&&t instanceof URLSearchParams}var pa="Content-Type",ga="Accept",ba="X-Request-URL",va="text/plain",ya="application/json",_l=`${ya}, ${va}, */*`,Ft=class t{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(r,e,n,i){this.url=e,this.method=r.toUpperCase();let o;if(vl(this.method)||i?(this.body=n!==void 0?n:null,o=i):o=n,o){if(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,this.keepalive=!!o.keepalive,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),o.priority&&(this.priority=o.priority),o.cache&&(this.cache=o.cache),o.credentials&&(this.credentials=o.credentials),typeof o.timeout=="number"){if(o.timeout<1||!Number.isInteger(o.timeout))throw new _(2822,"");this.timeout=o.timeout}o.mode&&(this.mode=o.mode),o.redirect&&(this.redirect=o.redirect),o.integrity&&(this.integrity=o.integrity),o.referrer&&(this.referrer=o.referrer),this.transferCache=o.transferCache}if(this.headers??=new Ze,this.context??=new br,!this.params)this.params=new Ue,this.urlWithParams=e;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=e;else{let a=e.indexOf("?"),c=a===-1?"?":ait.set(ot,r.setHeaders[ot]),z)),r.setParams&&(ee=Object.keys(r.setParams).reduce((it,ot)=>it.set(ot,r.setParams[ot]),ee)),new t(e,n,N,{params:ee,headers:z,context:G,reportProgress:C,responseType:i,withCredentials:D,transferCache:S,keepalive:o,cache:a,priority:s,timeout:R,mode:c,redirect:l,credentials:d,referrer:v,integrity:w})}},gt=(function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t})(gt||{}),Nt=class{headers;status;statusText;url;ok;type;redirected;constructor(r,e=200,n="OK"){this.headers=r.headers||new Ze,this.status=r.status!==void 0?r.status:e,this.statusText=r.statusText||n,this.url=r.url||null,this.redirected=r.redirected,this.ok=this.status>=200&&this.status<300}},vr=class t extends Nt{constructor(r={}){super(r)}type=gt.ResponseHeader;clone(r={}){return new t({headers:r.headers||this.headers,status:r.status!==void 0?r.status:this.status,statusText:r.statusText||this.statusText,url:r.url||this.url||void 0})}},vn=class t extends Nt{body;constructor(r={}){super(r),this.body=r.body!==void 0?r.body:null}type=gt.Response;clone(r={}){return new t({body:r.body!==void 0?r.body:this.body,headers:r.headers||this.headers,status:r.status!==void 0?r.status:this.status,statusText:r.statusText||this.statusText,url:r.url||this.url||void 0,redirected:r.redirected??this.redirected})}},Ot=class extends Nt{name="HttpErrorResponse";message;error;ok=!1;constructor(r){super(r,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${r.url||"(unknown url)"}`:this.message=`Http failure response for ${r.url||"(unknown url)"}: ${r.status} ${r.statusText}`,this.error=r.error||null}},Dl=200,El=204;function Yi(t,r){return{body:r,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials,credentials:t.credentials,transferCache:t.transferCache,timeout:t.timeout,keepalive:t.keepalive,priority:t.priority,cache:t.cache,mode:t.mode,redirect:t.redirect,integrity:t.integrity,referrer:t.referrer}}var _r=(()=>{class t{handler;constructor(e){this.handler=e}request(e,n,i={}){let o;if(e instanceof Ft)o=e;else{let c;i.headers instanceof Ze?c=i.headers:c=new Ze(i.headers);let l;i.params&&(i.params instanceof Ue?l=i.params:l=new Ue({fromObject:i.params})),o=new Ft(e,n,i.body!==void 0?i.body:null,{headers:c,context:i.context,params:l,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials,transferCache:i.transferCache,keepalive:i.keepalive,priority:i.priority,cache:i.cache,mode:i.mode,redirect:i.redirect,credentials:i.credentials,referrer:i.referrer,integrity:i.integrity,timeout:i.timeout})}let s=m(o).pipe(Fe(c=>this.handler.handle(c)));if(e instanceof Ft||i.observe==="events")return s;let a=s.pipe(Z(c=>c instanceof vn));switch(i.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(b(c=>{if(c.body!==null&&!(c.body instanceof ArrayBuffer))throw new _(2806,!1);return c.body}));case"blob":return a.pipe(b(c=>{if(c.body!==null&&!(c.body instanceof Blob))throw new _(2807,!1);return c.body}));case"text":return a.pipe(b(c=>{if(c.body!==null&&typeof c.body!="string")throw new _(2808,!1);return c.body}));case"json":default:return a.pipe(b(c=>c.body))}case"response":return a;default:throw new _(2809,!1)}}delete(e,n={}){return this.request("DELETE",e,n)}get(e,n={}){return this.request("GET",e,n)}head(e,n={}){return this.request("HEAD",e,n)}jsonp(e,n){return this.request("JSONP",e,{params:new Ue().append(n,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,n={}){return this.request("OPTIONS",e,n)}patch(e,n,i={}){return this.request("PATCH",e,Yi(i,n))}post(e,n,i={}){return this.request("POST",e,Yi(i,n))}put(e,n,i={}){return this.request("PUT",e,Yi(i,n))}static \u0275fac=function(n){return new(n||t)(g(xt))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})();var wl=new p("");function Cl(t,r){return r(t)}function Al(t,r,e){return(n,i)=>ie(e,()=>r(n,o=>t(o,i)))}var Xi=new p(""),_a=new p(""),Da=new p("",{providedIn:"root",factory:()=>!0});var yr=(()=>{class t extends xt{backend;injector;chain=null;pendingTasks=u(cs);contributeToStability=u(Da);constructor(e,n){super(),this.backend=e,this.injector=n}handle(e){if(this.chain===null){let n=Array.from(new Set([...this.injector.get(Xi),...this.injector.get(_a,[])]));this.chain=n.reduceRight((i,o)=>Al(i,o,this.injector),Cl)}if(this.contributeToStability){let n=this.pendingTasks.add();return this.chain(e,i=>this.backend.handle(i)).pipe(He(n))}else return this.chain(e,n=>this.backend.handle(n))}static \u0275fac=function(n){return new(n||t)(g(bn),g(me))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})();var Il=/^\)\]\}',?\n/,Sl=RegExp(`^${ba}:`,"m");function Rl(t){return"responseURL"in t&&t.responseURL?t.responseURL:Sl.test(t.getAllResponseHeaders())?t.getResponseHeader(ba):null}var Zi=(()=>{class t{xhrFactory;constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new _(-2800,!1);let n=this.xhrFactory;return m(null).pipe(W(()=>new Ve(o=>{let s=n.build();if(s.open(e.method,e.urlWithParams),e.withCredentials&&(s.withCredentials=!0),e.headers.forEach((D,C)=>s.setRequestHeader(D,C.join(","))),e.headers.has(ga)||s.setRequestHeader(ga,_l),!e.headers.has(pa)){let D=e.detectContentTypeHeader();D!==null&&s.setRequestHeader(pa,D)}if(e.timeout&&(s.timeout=e.timeout),e.responseType){let D=e.responseType.toLowerCase();s.responseType=D!=="json"?D:"text"}let a=e.serializeBody(),c=null,l=()=>{if(c!==null)return c;let D=s.statusText||"OK",C=new Ze(s.getAllResponseHeaders()),z=Rl(s)||e.url;return c=new vr({headers:C,status:s.status,statusText:D,url:z}),c},d=()=>{let{headers:D,status:C,statusText:z,url:ee}=l(),G=null;C!==El&&(G=typeof s.response>"u"?s.responseText:s.response),C===0&&(C=G?Dl:0);let it=C>=200&&C<300;if(e.responseType==="json"&&typeof G=="string"){let ot=G;G=G.replace(Il,"");try{G=G!==""?JSON.parse(G):null}catch(Du){G=ot,it&&(it=!1,G={error:Du,text:G})}}it?(o.next(new vn({body:G,headers:D,status:C,statusText:z,url:ee||void 0})),o.complete()):o.error(new Ot({error:G,headers:D,status:C,statusText:z,url:ee||void 0}))},v=D=>{let{url:C}=l(),z=new Ot({error:D,status:s.status||0,statusText:s.statusText||"Unknown Error",url:C||void 0});o.error(z)},w=v;e.timeout&&(w=D=>{let{url:C}=l(),z=new Ot({error:new DOMException("Request timed out","TimeoutError"),status:s.status||0,statusText:s.statusText||"Request timeout",url:C||void 0});o.error(z)});let S=!1,R=D=>{S||(o.next(l()),S=!0);let C={type:gt.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(C.total=D.total),e.responseType==="text"&&s.responseText&&(C.partialText=s.responseText),o.next(C)},N=D=>{let C={type:gt.UploadProgress,loaded:D.loaded};D.lengthComputable&&(C.total=D.total),o.next(C)};return s.addEventListener("load",d),s.addEventListener("error",v),s.addEventListener("timeout",w),s.addEventListener("abort",v),e.reportProgress&&(s.addEventListener("progress",R),a!==null&&s.upload&&s.upload.addEventListener("progress",N)),s.send(a),o.next({type:gt.Sent}),()=>{s.removeEventListener("error",v),s.removeEventListener("abort",v),s.removeEventListener("load",d),s.removeEventListener("timeout",w),e.reportProgress&&(s.removeEventListener("progress",R),a!==null&&s.upload&&s.upload.removeEventListener("progress",N)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(n){return new(n||t)(g(pt))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})(),Ea=new p(""),Tl="XSRF-TOKEN",Ml=new p("",{providedIn:"root",factory:()=>Tl}),Fl="X-XSRF-TOKEN",Ol=new p("",{providedIn:"root",factory:()=>Fl}),yn=class{},xl=(()=>{class t{doc;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(e,n){this.doc=e,this.cookieName=n}getToken(){let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=hn(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(n){return new(n||t)(g(E),g(Ml))};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})();function Nl(t,r){let e=t.url.toLowerCase();if(!u(Ea)||t.method==="GET"||t.method==="HEAD"||e.startsWith("http://")||e.startsWith("https://"))return r(t);let n=u(yn).getToken(),i=u(Ol);return n!=null&&!t.headers.has(i)&&(t=t.clone({headers:t.headers.set(i,n)})),r(t)}var Ji=(function(t){return t[t.Interceptors=0]="Interceptors",t[t.LegacyInterceptors=1]="LegacyInterceptors",t[t.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",t[t.NoXsrfProtection=3]="NoXsrfProtection",t[t.JsonpSupport=4]="JsonpSupport",t[t.RequestsMadeViaParent=5]="RequestsMadeViaParent",t[t.Fetch=6]="Fetch",t})(Ji||{});function Ll(t,r){return{\u0275kind:t,\u0275providers:r}}function Pl(...t){let r=[_r,Zi,yr,{provide:xt,useExisting:yr},{provide:bn,useFactory:()=>u(wl,{optional:!0})??u(Zi)},{provide:Xi,useValue:Nl,multi:!0},{provide:Ea,useValue:!0},{provide:yn,useClass:xl}];for(let e of t)r.push(...e.\u0275providers);return Qt(r)}function kl(t){return Ll(Ji.Interceptors,t.map(r=>({provide:Xi,useValue:r,multi:!0})))}var wa=(()=>{class t{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(n){return new(n||t)(g(E))};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Qi=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:function(n){let i=null;return n?i=new(n||t):i=g($l),i},providedIn:"root"})}return t})(),$l=(()=>{class t extends Qi{_doc;constructor(e){super(),this._doc=e}sanitize(e,n){if(n==null)return null;switch(e){case se.NONE:return n;case se.HTML:return St(n,"HTML")?dt(n):vs(this._doc,String(n)).toString();case se.STYLE:return St(n,"Style")?dt(n):n;case se.SCRIPT:if(St(n,"Script"))return dt(n);throw new _(5200,!1);case se.URL:return St(n,"URL")?dt(n):bs(String(n));case se.RESOURCE_URL:if(St(n,"ResourceURL"))return dt(n);throw new _(5201,!1);default:throw new _(5202,!1)}}bypassSecurityTrustHtml(e){return hs(e)}bypassSecurityTrustStyle(e){return fs(e)}bypassSecurityTrustScript(e){return ms(e)}bypassSecurityTrustUrl(e){return ps(e)}bypassSecurityTrustResourceUrl(e){return gs(e)}static \u0275fac=function(n){return new(n||t)(g(E))};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var y="primary",On=Symbol("RouteTitle"),io=class{params;constructor(r){this.params=r||{}}has(r){return Object.prototype.hasOwnProperty.call(this.params,r)}get(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e[0]:e}return null}getAll(r){if(this.has(r)){let e=this.params[r];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function yt(t){return new io(t)}function Oa(t,r,e){let n=e.path.split("/");if(n.length>t.length||e.pathMatch==="full"&&(r.hasChildren()||n.lengthn[o]===i)}else return t===r}function Na(t){return t.length>0?t[t.length-1]:null}function Be(t){return Jo(t)?t:Ci(t)?ne(Promise.resolve(t)):m(t)}var Vl={exact:Pa,subset:ka},La={exact:Hl,subset:Gl,ignored:()=>!0};function Aa(t,r,e){return Vl[e.paths](t.root,r.root,e.matrixParams)&&La[e.queryParams](t.queryParams,r.queryParams)&&!(e.fragment==="exact"&&t.fragment!==r.fragment)}function Hl(t,r){return we(t,r)}function Pa(t,r,e){if(!bt(t.segments,r.segments)||!wr(t.segments,r.segments,e)||t.numberOfChildren!==r.numberOfChildren)return!1;for(let n in r.children)if(!t.children[n]||!Pa(t.children[n],r.children[n],e))return!1;return!0}function Gl(t,r){return Object.keys(r).length<=Object.keys(t).length&&Object.keys(r).every(e=>xa(t[e],r[e]))}function ka(t,r,e){return Ua(t,r,r.segments,e)}function Ua(t,r,e,n){if(t.segments.length>e.length){let i=t.segments.slice(0,e.length);return!(!bt(i,e)||r.hasChildren()||!wr(i,e,n))}else if(t.segments.length===e.length){if(!bt(t.segments,e)||!wr(t.segments,e,n))return!1;for(let i in r.children)if(!t.children[i]||!ka(t.children[i],r.children[i],n))return!1;return!0}else{let i=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!bt(t.segments,i)||!wr(t.segments,i,n)||!t.children[y]?!1:Ua(t.children[y],r,o,n)}}function wr(t,r,e){return r.every((n,i)=>La[e](t[i].parameters,n.parameters))}var Ae=class{root;queryParams;fragment;_queryParamMap;constructor(r=new A([],{}),e={},n=null){this.root=r,this.queryParams=e,this.fragment=n}get queryParamMap(){return this._queryParamMap??=yt(this.queryParams),this._queryParamMap}toString(){return ql.serialize(this)}},A=class{segments;children;parent=null;constructor(r,e){this.segments=r,this.children=e,Object.values(e).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Cr(this)}},Xe=class{path;parameters;_parameterMap;constructor(r,e){this.path=r,this.parameters=e}get parameterMap(){return this._parameterMap??=yt(this.parameters),this._parameterMap}toString(){return ja(this)}};function Wl(t,r){return bt(t,r)&&t.every((e,n)=>we(e.parameters,r[n].parameters))}function bt(t,r){return t.length!==r.length?!1:t.every((e,n)=>e.path===r[n].path)}function Kl(t,r){let e=[];return Object.entries(t.children).forEach(([n,i])=>{n===y&&(e=e.concat(r(i,n)))}),Object.entries(t.children).forEach(([n,i])=>{n!==y&&(e=e.concat(r(i,n)))}),e}var tt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:()=>new Je,providedIn:"root"})}return t})(),Je=class{parse(r){let e=new ao(r);return new Ae(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(r){let e=`/${_n(r.root,!0)}`,n=Xl(r.queryParams),i=typeof r.fragment=="string"?`#${Yl(r.fragment)}`:"";return`${e}${n}${i}`}},ql=new Je;function Cr(t){return t.segments.map(r=>ja(r)).join("/")}function _n(t,r){if(!t.hasChildren())return Cr(t);if(r){let e=t.children[y]?_n(t.children[y],!1):"",n=[];return Object.entries(t.children).forEach(([i,o])=>{i!==y&&n.push(`${i}:${_n(o,!1)}`)}),n.length>0?`${e}(${n.join("//")})`:e}else{let e=Kl(t,(n,i)=>i===y?[_n(t.children[y],!1)]:[`${i}:${_n(n,!1)}`]);return Object.keys(t.children).length===1&&t.children[y]!=null?`${Cr(t)}/${e[0]}`:`${Cr(t)}/(${e.join("//")})`}}function Ba(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Dr(t){return Ba(t).replace(/%3B/gi,";")}function Yl(t){return encodeURI(t)}function so(t){return Ba(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Ar(t){return decodeURIComponent(t)}function Ia(t){return Ar(t.replace(/\+/g,"%20"))}function ja(t){return`${so(t.path)}${Zl(t.parameters)}`}function Zl(t){return Object.entries(t).map(([r,e])=>`;${so(r)}=${so(e)}`).join("")}function Xl(t){let r=Object.entries(t).map(([e,n])=>Array.isArray(n)?n.map(i=>`${Dr(e)}=${Dr(i)}`).join("&"):`${Dr(e)}=${Dr(n)}`).filter(e=>e);return r.length?`?${r.join("&")}`:""}var Jl=/^[^\/()?;#]+/;function eo(t){let r=t.match(Jl);return r?r[0]:""}var Ql=/^[^\/()?;=#]+/;function ed(t){let r=t.match(Ql);return r?r[0]:""}var td=/^[^=?&#]+/;function nd(t){let r=t.match(td);return r?r[0]:""}var rd=/^[^&#]+/;function id(t){let r=t.match(rd);return r?r[0]:""}var ao=class{url;remaining;constructor(r){this.url=r,this.remaining=r}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new A([],{}):new A([],this.parseChildren())}parseQueryParams(){let r={};if(this.consumeOptional("?"))do this.parseQueryParam(r);while(this.consumeOptional("&"));return r}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let r=[];for(this.peekStartsWith("(")||r.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),r.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(r.length>0||Object.keys(e).length>0)&&(n[y]=new A(r,e)),n}parseSegment(){let r=eo(this.remaining);if(r===""&&this.peekStartsWith(";"))throw new _(4009,!1);return this.capture(r),new Xe(Ar(r),this.parseMatrixParams())}parseMatrixParams(){let r={};for(;this.consumeOptional(";");)this.parseParam(r);return r}parseParam(r){let e=ed(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let i=eo(this.remaining);i&&(n=i,this.capture(n))}r[Ar(e)]=Ar(n)}parseQueryParam(r){let e=nd(this.remaining);if(!e)return;this.capture(e);let n="";if(this.consumeOptional("=")){let s=id(this.remaining);s&&(n=s,this.capture(n))}let i=Ia(e),o=Ia(n);if(r.hasOwnProperty(i)){let s=r[i];Array.isArray(s)||(s=[s],r[i]=s),s.push(o)}else r[i]=o}parseParens(r){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let n=eo(this.remaining),i=this.remaining[n.length];if(i!=="/"&&i!==")"&&i!==";")throw new _(4010,!1);let o;n.indexOf(":")>-1?(o=n.slice(0,n.indexOf(":")),this.capture(o),this.capture(":")):r&&(o=y);let s=this.parseChildren();e[o??y]=Object.keys(s).length===1&&s[y]?s[y]:new A([],s),this.consumeOptional("//")}return e}peekStartsWith(r){return this.remaining.startsWith(r)}consumeOptional(r){return this.peekStartsWith(r)?(this.remaining=this.remaining.substring(r.length),!0):!1}capture(r){if(!this.consumeOptional(r))throw new _(4011,!1)}};function $a(t){return t.segments.length>0?new A([],{[y]:t}):t}function za(t){let r={};for(let[n,i]of Object.entries(t.children)){let o=za(i);if(n===y&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))r[s]=a;else(o.segments.length>0||o.hasChildren())&&(r[n]=o)}let e=new A(t.segments,r);return od(e)}function od(t){if(t.numberOfChildren===1&&t.children[y]){let r=t.children[y];return new A(t.segments.concat(r.segments),r.children)}return t}function Qe(t){return t instanceof Ae}function Va(t,r,e=null,n=null){let i=Ha(t);return Ga(i,r,e,n)}function Ha(t){let r;function e(o){let s={};for(let c of o.children){let l=e(c);s[c.outlet]=l}let a=new A(o.url,s);return o===t&&(r=a),a}let n=e(t.root),i=$a(n);return r??i}function Ga(t,r,e,n){let i=t;for(;i.parent;)i=i.parent;if(r.length===0)return to(i,i,i,e,n);let o=sd(r);if(o.toRoot())return to(i,i,new A([],{}),e,n);let s=ad(o,i,t),a=s.processChildren?En(s.segmentGroup,s.index,o.commands):Ka(s.segmentGroup,s.index,o.commands);return to(i,s.segmentGroup,a,e,n)}function Ir(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function Cn(t){return typeof t=="object"&&t!=null&&t.outlets}function to(t,r,e,n,i){let o={};n&&Object.entries(n).forEach(([c,l])=>{o[c]=Array.isArray(l)?l.map(d=>`${d}`):`${l}`});let s;t===r?s=e:s=Wa(t,r,e);let a=$a(za(s));return new Ae(a,o,i)}function Wa(t,r,e){let n={};return Object.entries(t.children).forEach(([i,o])=>{o===r?n[i]=e:n[i]=Wa(o,r,e)}),new A(t.segments,n)}var Sr=class{isAbsolute;numberOfDoubleDots;commands;constructor(r,e,n){if(this.isAbsolute=r,this.numberOfDoubleDots=e,this.commands=n,r&&n.length>0&&Ir(n[0]))throw new _(4003,!1);let i=n.find(Cn);if(i&&i!==Na(n))throw new _(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function sd(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new Sr(!0,0,t);let r=0,e=!1,n=t.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([c,l])=>{a[c]=typeof l=="string"?l.split("/"):l}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,c)=>{c==0&&a==="."||(c==0&&a===""?e=!0:a===".."?r++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new Sr(e,r,n)}var kt=class{segmentGroup;processChildren;index;constructor(r,e,n){this.segmentGroup=r,this.processChildren=e,this.index=n}};function ad(t,r,e){if(t.isAbsolute)return new kt(r,!0,0);if(!e)return new kt(r,!1,NaN);if(e.parent===null)return new kt(e,!0,0);let n=Ir(t.commands[0])?0:1,i=e.segments.length-1+n;return cd(e,i,t.numberOfDoubleDots)}function cd(t,r,e){let n=t,i=r,o=e;for(;o>i;){if(o-=i,n=n.parent,!n)throw new _(4005,!1);i=n.segments.length}return new kt(n,!1,i-o)}function ud(t){return Cn(t[0])?t[0].outlets:{[y]:t}}function Ka(t,r,e){if(t??=new A([],{}),t.segments.length===0&&t.hasChildren())return En(t,r,e);let n=ld(t,r,e),i=e.slice(n.commandIndex);if(n.match&&n.pathIndexo!==y)&&t.children[y]&&t.numberOfChildren===1&&t.children[y].segments.length===0){let o=En(t.children[y],r,e);return new A(t.segments,o.children)}return Object.entries(n).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=Ka(t.children[o],r,s))}),Object.entries(t.children).forEach(([o,s])=>{n[o]===void 0&&(i[o]=s)}),new A(t.segments,i)}}function ld(t,r,e){let n=0,i=r,o={match:!1,pathIndex:0,commandIndex:0};for(;i=e.length)return o;let s=t.segments[i],a=e[n];if(Cn(a))break;let c=`${a}`,l=n0&&c===void 0)break;if(c&&l&&typeof l=="object"&&l.outlets===void 0){if(!Ra(c,l,s))return o;n+=2}else{if(!Ra(c,{},s))return o;n++}i++}return{match:!0,pathIndex:i,commandIndex:n}}function co(t,r,e){let n=t.segments.slice(0,r),i=0;for(;i{typeof n=="string"&&(n=[n]),n!==null&&(r[e]=co(new A([],{}),0,n))}),r}function Sa(t){let r={};return Object.entries(t).forEach(([e,n])=>r[e]=`${n}`),r}function Ra(t,r,e){return t==e.path&&we(r,e.parameters)}var Ut="imperative",$=(function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t})($||{}),ce=class{id;url;constructor(r,e){this.id=r,this.url=e}},et=class extends ce{type=$.NavigationStart;navigationTrigger;restoredState;constructor(r,e,n="imperative",i=null){super(r,e),this.navigationTrigger=n,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},he=class extends ce{urlAfterRedirects;type=$.NavigationEnd;constructor(r,e,n){super(r,e),this.urlAfterRedirects=n}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},Q=(function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t[t.Aborted=4]="Aborted",t})(Q||{}),jt=(function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t})(jt||{}),Ce=class extends ce{reason;code;type=$.NavigationCancel;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},Ie=class extends ce{reason;code;type=$.NavigationSkipped;constructor(r,e,n,i){super(r,e),this.reason=n,this.code=i}},$t=class extends ce{error;target;type=$.NavigationError;constructor(r,e,n,i){super(r,e),this.error=n,this.target=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},An=class extends ce{urlAfterRedirects;state;type=$.RoutesRecognized;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Rr=class extends ce{urlAfterRedirects;state;type=$.GuardsCheckStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Tr=class extends ce{urlAfterRedirects;state;shouldActivate;type=$.GuardsCheckEnd;constructor(r,e,n,i,o){super(r,e),this.urlAfterRedirects=n,this.state=i,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Mr=class extends ce{urlAfterRedirects;state;type=$.ResolveStart;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Fr=class extends ce{urlAfterRedirects;state;type=$.ResolveEnd;constructor(r,e,n,i){super(r,e),this.urlAfterRedirects=n,this.state=i}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Or=class{route;type=$.RouteConfigLoadStart;constructor(r){this.route=r}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},xr=class{route;type=$.RouteConfigLoadEnd;constructor(r){this.route=r}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Nr=class{snapshot;type=$.ChildActivationStart;constructor(r){this.snapshot=r}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Lr=class{snapshot;type=$.ChildActivationEnd;constructor(r){this.snapshot=r}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Pr=class{snapshot;type=$.ActivationStart;constructor(r){this.snapshot=r}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},kr=class{snapshot;type=$.ActivationEnd;constructor(r){this.snapshot=r}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},zt=class{routerEvent;position;anchor;type=$.Scroll;constructor(r,e,n){this.routerEvent=r,this.position=e,this.anchor=n}toString(){let r=this.position?`${this.position[0]}, ${this.position[1]}`:null;return`Scroll(anchor: '${this.anchor}', position: '${r}')`}},In=class{},Vt=class{url;navigationBehaviorOptions;constructor(r,e){this.url=r,this.navigationBehaviorOptions=e}};function hd(t){return!(t instanceof In)&&!(t instanceof Vt)}function fd(t,r){return t.providers&&!t._injector&&(t._injector=Zn(t.providers,r,`Route: ${t.path}`)),t._injector??r}function ye(t){return t.outlet||y}function md(t,r){let e=t.filter(n=>ye(n)===r);return e.push(...t.filter(n=>ye(n)!==r)),e}function Wt(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let r=t.parent;r;r=r.parent){let e=r.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var Ur=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return Wt(this.route?.snapshot)??this.rootInjector}constructor(r){this.rootInjector=r,this.children=new _t(this.rootInjector)}},_t=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,n){let i=this.getOrCreateContext(e);i.outlet=n,this.contexts.set(e,i)}onChildOutletDestroyed(e){let n=this.getContext(e);n&&(n.outlet=null,n.attachRef=null)}onOutletDeactivated(){let e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let n=this.getContext(e);return n||(n=new Ur(this.rootInjector),this.contexts.set(e,n)),n}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(n){return new(n||t)(g(me))};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Br=class{_root;constructor(r){this._root=r}get root(){return this._root.value}parent(r){let e=this.pathFromRoot(r);return e.length>1?e[e.length-2]:null}children(r){let e=uo(r,this._root);return e?e.children.map(n=>n.value):[]}firstChild(r){let e=uo(r,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(r){let e=lo(r,this._root);return e.length<2?[]:e[e.length-2].children.map(i=>i.value).filter(i=>i!==r)}pathFromRoot(r){return lo(r,this._root).map(e=>e.value)}};function uo(t,r){if(t===r.value)return r;for(let e of r.children){let n=uo(t,e);if(n)return n}return null}function lo(t,r){if(t===r.value)return[r];for(let e of r.children){let n=lo(t,e);if(n.length)return n.unshift(r),n}return[]}var ae=class{value;children;constructor(r,e){this.value=r,this.children=e}toString(){return`TreeNode(${this.value})`}};function Pt(t){let r={};return t&&t.children.forEach(e=>r[e.value.outlet]=e),r}var Sn=class extends Br{snapshot;constructor(r,e){super(r),this.snapshot=e,yo(this,r)}toString(){return this.snapshot.toString()}};function qa(t){let r=pd(t),e=new te([new Xe("",{})]),n=new te({}),i=new te({}),o=new te({}),s=new te(""),a=new Se(e,n,o,s,i,y,t,r.root);return a.snapshot=r.root,new Sn(new ae(a,[]),r)}function pd(t){let r={},e={},n={},o=new vt([],r,n,"",e,y,t,null,{});return new Rn("",new ae(o,[]))}var Se=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(r,e,n,i,o,s,a,c){this.urlSubject=r,this.paramsSubject=e,this.queryParamsSubject=n,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(b(l=>l[On]))??m(void 0),this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(b(r=>yt(r))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(b(r=>yt(r))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function jr(t,r,e="emptyOnly"){let n,{routeConfig:i}=t;return r!==null&&(e==="always"||i?.path===""||!r.component&&!r.routeConfig?.loadComponent)?n={params:h(h({},r.params),t.params),data:h(h({},r.data),t.data),resolve:h(h(h(h({},t.data),r.data),i?.data),t._resolvedData)}:n={params:h({},t.params),data:h({},t.data),resolve:h(h({},t.data),t._resolvedData??{})},i&&Za(i)&&(n.resolve[On]=i.title),n}var vt=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[On]}constructor(r,e,n,i,o,s,a,c,l){this.url=r,this.params=e,this.queryParams=n,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=c,this._resolve=l}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=yt(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=yt(this.queryParams),this._queryParamMap}toString(){let r=this.url.map(n=>n.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${r}', path:'${e}')`}},Rn=class extends Br{url;constructor(r,e){super(e),this.url=r,yo(this,e)}toString(){return Ya(this._root)}};function yo(t,r){r.value._routerState=t,r.children.forEach(e=>yo(t,e))}function Ya(t){let r=t.children.length>0?` { ${t.children.map(Ya).join(", ")} } `:"";return`${t.value}${r}`}function no(t){if(t.snapshot){let r=t.snapshot,e=t._futureSnapshot;t.snapshot=e,we(r.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),r.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),we(r.params,e.params)||t.paramsSubject.next(e.params),zl(r.url,e.url)||t.urlSubject.next(e.url),we(r.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function ho(t,r){let e=we(t.params,r.params)&&Wl(t.url,r.url),n=!t.parent!=!r.parent;return e&&!n&&(!t.parent||ho(t.parent,r.parent))}function Za(t){return typeof t.title=="string"||t.title===null}var Xa=new p(""),_o=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=y;activateEvents=new ue;deactivateEvents=new ue;attachEvents=new ue;detachEvents=new ue;routerOutletData=Ts();parentContexts=u(_t);location=u(Mt);changeDetector=u(on);inputBinder=u(xn,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:n,previousValue:i}=e.name;if(n)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new _(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new _(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new _(4012,!1);this.location.detach();let e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,n){this.activated=e,this._activatedRoute=n,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,n){if(this.isActivated)throw new _(4013,!1);this._activatedRoute=e;let i=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,c=new fo(e,a,i.injector,this.routerOutletData);this.activated=i.createComponent(s,{index:i.length,injector:c,environmentInjector:n}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(n){return new(n||t)};static \u0275dir=k({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[Ke]})}return t})(),fo=class{route;childContexts;parent;outletData;constructor(r,e,n,i){this.route=r,this.childContexts=e,this.parent=n,this.outletData=i}get(r,e){return r===Se?this.route:r===_t?this.childContexts:r===Xa?this.outletData:this.parent.get(r,e)}},xn=new p(""),Do=(()=>{class t{outletDataSubscriptions=new Map;bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){let{activatedRoute:n}=e,i=At([n.queryParams,n.params,n.data]).pipe(W(([o,s,a],c)=>(a=h(h(h({},o),s),a),c===0?m(a):Promise.resolve(a)))).subscribe(o=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==n||n.component===null){this.unsubscribeFromRouteData(e);return}let s=xs(n.component);if(!s){this.unsubscribeFromRouteData(e);return}for(let{templateName:a}of s.inputs)e.activatedComponentRef.setInput(a,o[a])});this.outletDataSubscriptions.set(e,i)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})(),Eo=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=J({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(n,i){n&1&&Cs(0,"router-outlet")},dependencies:[_o],encapsulation:2})}return t})();function wo(t){let r=t.children&&t.children.map(wo),e=r?Y(h({},t),{children:r}):h({},t);return!e.component&&!e.loadComponent&&(r||e.loadChildren)&&e.outlet&&e.outlet!==y&&(e.component=Eo),e}function gd(t,r,e){let n=Tn(t,r._root,e?e._root:void 0);return new Sn(n,r)}function Tn(t,r,e){if(e&&t.shouldReuseRoute(r.value,e.value.snapshot)){let n=e.value;n._futureSnapshot=r.value;let i=bd(t,r,e);return new ae(n,i)}else{if(t.shouldAttach(r.value)){let o=t.retrieve(r.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=r.value,s.children=r.children.map(a=>Tn(t,a)),s}}let n=vd(r.value),i=r.children.map(o=>Tn(t,o));return new ae(n,i)}}function bd(t,r,e){return r.children.map(n=>{for(let i of e.children)if(t.shouldReuseRoute(n.value,i.value.snapshot))return Tn(t,n,i);return Tn(t,n)})}function vd(t){return new Se(new te(t.url),new te(t.params),new te(t.queryParams),new te(t.fragment),new te(t.data),t.outlet,t.component,t)}var Ht=class{redirectTo;navigationBehaviorOptions;constructor(r,e){this.redirectTo=r,this.navigationBehaviorOptions=e}},Ja="ngNavigationCancelingError";function $r(t,r){let{redirectTo:e,navigationBehaviorOptions:n}=Qe(r)?{redirectTo:r,navigationBehaviorOptions:void 0}:r,i=Qa(!1,Q.Redirect);return i.url=e,i.navigationBehaviorOptions=n,i}function Qa(t,r){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[Ja]=!0,e.cancellationCode=r,e}function yd(t){return ec(t)&&Qe(t.url)}function ec(t){return!!t&&t[Ja]}var _d=(t,r,e,n)=>b(i=>(new mo(r,i.targetRouterState,i.currentRouterState,e,n).activate(t),i)),mo=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(r,e,n,i,o){this.routeReuseStrategy=r,this.futureState=e,this.currState=n,this.forwardEvent=i,this.inputBindingEnabled=o}activate(r){let e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,r),no(this.futureState.root),this.activateChildRoutes(e,n,r)}deactivateChildRoutes(r,e,n){let i=Pt(e);r.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],n),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,n)})}deactivateRoutes(r,e,n){let i=r.value,o=e?e.value:null;if(i===o)if(i.component){let s=n.getContext(i.outlet);s&&this.deactivateChildRoutes(r,e,s.children)}else this.deactivateChildRoutes(r,e,n);else o&&this.deactivateRouteAndItsChildren(e,n)}deactivateRouteAndItsChildren(r,e){r.value.component&&this.routeReuseStrategy.shouldDetach(r.value.snapshot)?this.detachAndStoreRouteSubtree(r,e):this.deactivateRouteAndOutlet(r,e)}detachAndStoreRouteSubtree(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,o=Pt(r);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(n&&n.outlet){let s=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(r.value.snapshot,{componentRef:s,route:r,contexts:a})}}deactivateRouteAndOutlet(r,e){let n=e.getContext(r.value.outlet),i=n&&r.value.component?n.children:e,o=Pt(r);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(r,e,n){let i=Pt(e);r.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],n),this.forwardEvent(new kr(o.value.snapshot))}),r.children.length&&this.forwardEvent(new Lr(r.value.snapshot))}activateRoutes(r,e,n){let i=r.value,o=e?e.value:null;if(no(i),i===o)if(i.component){let s=n.getOrCreateContext(i.outlet);this.activateChildRoutes(r,e,s.children)}else this.activateChildRoutes(r,e,n);else if(i.component){let s=n.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),no(a.route.value),this.activateChildRoutes(r,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(r,null,s.children)}else this.activateChildRoutes(r,null,n)}},zr=class{path;route;constructor(r){this.path=r,this.route=this.path[this.path.length-1]}},Bt=class{component;route;constructor(r,e){this.component=r,this.route=e}};function Dd(t,r,e){let n=t._root,i=r?r._root:null;return Dn(n,i,e,[n.value])}function Ed(t){let r=t.routeConfig?t.routeConfig.canActivateChild:null;return!r||r.length===0?null:{node:t,guards:r}}function Kt(t,r){let e=Symbol(),n=r.get(t,e);return n===e?typeof t=="function"&&!os(t)?t:r.get(t):n}function Dn(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=Pt(r);return t.children.forEach(s=>{wd(s,o[s.value.outlet],e,n.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>wn(a,e.getContext(s),i)),i}function wd(t,r,e,n,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=r?r.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let c=Cd(s,o,o.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new zr(n)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Dn(t,r,a?a.children:null,n,i):Dn(t,r,e,n,i),c&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new Bt(a.outlet.component,s))}else s&&wn(r,a,i),i.canActivateChecks.push(new zr(n)),o.component?Dn(t,null,a?a.children:null,n,i):Dn(t,null,e,n,i);return i}function Cd(t,r,e){if(typeof e=="function")return e(t,r);switch(e){case"pathParamsChange":return!bt(t.url,r.url);case"pathParamsOrQueryParamsChange":return!bt(t.url,r.url)||!we(t.queryParams,r.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!ho(t,r)||!we(t.queryParams,r.queryParams);case"paramsChange":default:return!ho(t,r)}}function wn(t,r,e){let n=Pt(t),i=t.value;Object.entries(n).forEach(([o,s])=>{i.component?r?wn(s,r.children.getContext(o),e):wn(s,null,e):wn(s,r,e)}),i.component?r&&r.outlet&&r.outlet.isActivated?e.canDeactivateChecks.push(new Bt(r.outlet.component,i)):e.canDeactivateChecks.push(new Bt(null,i)):e.canDeactivateChecks.push(new Bt(null,i))}function Nn(t){return typeof t=="function"}function Ad(t){return typeof t=="boolean"}function Id(t){return t&&Nn(t.canLoad)}function Sd(t){return t&&Nn(t.canActivate)}function Rd(t){return t&&Nn(t.canActivateChild)}function Td(t){return t&&Nn(t.canDeactivate)}function Md(t){return t&&Nn(t.canMatch)}function tc(t){return t instanceof Qo||t?.name==="EmptyError"}var Er=Symbol("INITIAL_VALUE");function Gt(){return W(t=>At(t.map(r=>r.pipe(Ee(1),qn(Er)))).pipe(b(r=>{for(let e of r)if(e!==!0){if(e===Er)return Er;if(e===!1||Fd(e))return e}return!0}),Z(r=>r!==Er),Ee(1)))}function Fd(t){return Qe(t)||t instanceof Ht}function Od(t,r){return re(e=>{let{targetSnapshot:n,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=e;return s.length===0&&o.length===0?m(Y(h({},e),{guardsResult:!0})):xd(s,n,i,t).pipe(re(a=>a&&Ad(a)?Nd(n,o,t,r):m(a)),b(a=>Y(h({},e),{guardsResult:a})))})}function xd(t,r,e,n){return ne(t).pipe(re(i=>Bd(i.component,i.route,e,r,n)),Ge(i=>i!==!0,!0))}function Nd(t,r,e,n){return ne(r).pipe(Fe(i=>Gn(Pd(i.route.parent,n),Ld(i.route,n),Ud(t,i.path,e),kd(t,i.route,e))),Ge(i=>i!==!0,!0))}function Ld(t,r){return t!==null&&r&&r(new Pr(t)),m(!0)}function Pd(t,r){return t!==null&&r&&r(new Nr(t)),m(!0)}function kd(t,r,e){let n=r.routeConfig?r.routeConfig.canActivate:null;if(!n||n.length===0)return m(!0);let i=n.map(o=>Wn(()=>{let s=Wt(r)??e,a=Kt(o,s),c=Sd(a)?a.canActivate(r,t):ie(s,()=>a(r,t));return Be(c).pipe(Ge())}));return m(i).pipe(Gt())}function Ud(t,r,e){let n=r[r.length-1],o=r.slice(0,r.length-1).reverse().map(s=>Ed(s)).filter(s=>s!==null).map(s=>Wn(()=>{let a=s.guards.map(c=>{let l=Wt(s.node)??e,d=Kt(c,l),v=Rd(d)?d.canActivateChild(n,t):ie(l,()=>d(n,t));return Be(v).pipe(Ge())});return m(a).pipe(Gt())}));return m(o).pipe(Gt())}function Bd(t,r,e,n,i){let o=r&&r.routeConfig?r.routeConfig.canDeactivate:null;if(!o||o.length===0)return m(!0);let s=o.map(a=>{let c=Wt(r)??i,l=Kt(a,c),d=Td(l)?l.canDeactivate(t,r,e,n):ie(c,()=>l(t,r,e,n));return Be(d).pipe(Ge())});return m(s).pipe(Gt())}function jd(t,r,e,n){let i=r.canLoad;if(i===void 0||i.length===0)return m(!0);let o=i.map(s=>{let a=Kt(s,t),c=Id(a)?a.canLoad(r,e):ie(t,()=>a(r,e));return Be(c)});return m(o).pipe(Gt(),nc(n))}function nc(t){return Xo(x(r=>{if(typeof r!="boolean")throw $r(t,r)}),b(r=>r===!0))}function $d(t,r,e,n){let i=r.canMatch;if(!i||i.length===0)return m(!0);let o=i.map(s=>{let a=Kt(s,t),c=Md(a)?a.canMatch(r,e):ie(t,()=>a(r,e));return Be(c)});return m(o).pipe(Gt(),nc(n))}var Mn=class{segmentGroup;constructor(r){this.segmentGroup=r||null}},Fn=class extends Error{urlTree;constructor(r){super(),this.urlTree=r}};function Lt(t){return st(new Mn(t))}function zd(t){return st(new _(4e3,!1))}function Vd(t){return st(Qa(!1,Q.GuardRejected))}var po=class{urlSerializer;urlTree;constructor(r,e){this.urlSerializer=r,this.urlTree=e}lineralizeSegments(r,e){let n=[],i=e.root;for(;;){if(n=n.concat(i.segments),i.numberOfChildren===0)return m(n);if(i.numberOfChildren>1||!i.children[y])return zd(`${r.redirectTo}`);i=i.children[y]}}applyRedirectCommands(r,e,n,i,o){return Hd(e,i,o).pipe(b(s=>{if(s instanceof Ae)throw new Fn(s);let a=this.applyRedirectCreateUrlTree(s,this.urlSerializer.parse(s),r,n);if(s[0]==="/")throw new Fn(a);return a}))}applyRedirectCreateUrlTree(r,e,n,i){let o=this.createSegmentGroup(r,e.root,n,i);return new Ae(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(r,e){let n={};return Object.entries(r).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);n[i]=e[a]}else n[i]=o}),n}createSegmentGroup(r,e,n,i){let o=this.createSegments(r,e.segments,n,i),s={};return Object.entries(e.children).forEach(([a,c])=>{s[a]=this.createSegmentGroup(r,c,n,i)}),new A(o,s)}createSegments(r,e,n,i){return e.map(o=>o.path[0]===":"?this.findPosParam(r,o,i):this.findOrReturn(o,n))}findPosParam(r,e,n){let i=n[e.path.substring(1)];if(!i)throw new _(4001,!1);return i}findOrReturn(r,e){let n=0;for(let i of e){if(i.path===r.path)return e.splice(n),i;n++}return r}};function Hd(t,r,e){if(typeof t=="string")return m(t);let n=t,{queryParams:i,fragment:o,routeConfig:s,url:a,outlet:c,params:l,data:d,title:v}=r;return Be(ie(e,()=>n({params:l,data:d,queryParams:i,fragment:o,routeConfig:s,url:a,outlet:c,title:v})))}var go={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Gd(t,r,e,n,i){let o=rc(t,r,e);return o.matched?(n=fd(r,n),$d(n,r,e,i).pipe(b(s=>s===!0?o:h({},go)))):m(o)}function rc(t,r,e){if(r.path==="**")return Wd(e);if(r.path==="")return r.pathMatch==="full"&&(t.hasChildren()||e.length>0)?h({},go):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let i=(r.matcher||Oa)(e,t,r);if(!i)return h({},go);let o={};Object.entries(i.posParams??{}).forEach(([a,c])=>{o[a]=c.path});let s=i.consumed.length>0?h(h({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:e.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function Wd(t){return{matched:!0,parameters:t.length>0?Na(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function Ta(t,r,e,n){return e.length>0&&Yd(t,e,n)?{segmentGroup:new A(r,qd(n,new A(e,t.children))),slicedSegments:[]}:e.length===0&&Zd(t,e,n)?{segmentGroup:new A(t.segments,Kd(t,e,n,t.children)),slicedSegments:e}:{segmentGroup:new A(t.segments,t.children),slicedSegments:e}}function Kd(t,r,e,n){let i={};for(let o of e)if(Hr(t,r,o)&&!n[ye(o)]){let s=new A([],{});i[ye(o)]=s}return h(h({},n),i)}function qd(t,r){let e={};e[y]=r;for(let n of t)if(n.path===""&&ye(n)!==y){let i=new A([],{});e[ye(n)]=i}return e}function Yd(t,r,e){return e.some(n=>Hr(t,r,n)&&ye(n)!==y)}function Zd(t,r,e){return e.some(n=>Hr(t,r,n))}function Hr(t,r,e){return(t.hasChildren()||r.length>0)&&e.pathMatch==="full"?!1:e.path===""}function Xd(t,r,e){return r.length===0&&!t.children[e]}var bo=class{};function Jd(t,r,e,n,i,o,s="emptyOnly"){return new vo(t,r,e,n,i,s,o).recognize()}var Qd=31,vo=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(r,e,n,i,o,s,a){this.injector=r,this.configLoader=e,this.rootComponentType=n,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new po(this.urlSerializer,this.urlTree)}noMatchError(r){return new _(4002,`'${r.segmentGroup}'`)}recognize(){let r=Ta(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(r).pipe(b(({children:e,rootSnapshot:n})=>{let i=new ae(n,e),o=new Rn("",i),s=Va(n,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(r){let e=new vt([],Object.freeze({}),Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),y,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,r,y,e).pipe(b(n=>({children:n,rootSnapshot:e})),De(n=>{if(n instanceof Fn)return this.urlTree=n.urlTree,this.match(n.urlTree.root);throw n instanceof Mn?this.noMatchError(n):n}))}processSegmentGroup(r,e,n,i,o){return n.segments.length===0&&n.hasChildren()?this.processChildren(r,e,n,o):this.processSegment(r,e,n,n.segments,i,!0,o).pipe(b(s=>s instanceof ae?[s]:[]))}processChildren(r,e,n,i){let o=[];for(let s of Object.keys(n.children))s==="primary"?o.unshift(s):o.push(s);return ne(o).pipe(Fe(s=>{let a=n.children[s],c=md(e,s);return this.processSegmentGroup(r,c,a,s,i)}),rs((s,a)=>(s.push(...a),s)),hi(null),ns(),re(s=>{if(s===null)return Lt(n);let a=ic(s);return eh(a),m(a)}))}processSegment(r,e,n,i,o,s,a){return ne(e).pipe(Fe(c=>this.processSegmentAgainstRoute(c._injector??r,e,c,n,i,o,s,a).pipe(De(l=>{if(l instanceof Mn)return m(null);throw l}))),Ge(c=>!!c),De(c=>{if(tc(c))return Xd(n,i,o)?m(new bo):Lt(n);throw c}))}processSegmentAgainstRoute(r,e,n,i,o,s,a,c){return ye(n)!==s&&(s===y||!Hr(i,o,n))?Lt(i):n.redirectTo===void 0?this.matchSegmentAgainstRoute(r,i,n,o,s,c):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(r,i,e,n,o,s,c):Lt(i)}expandSegmentAgainstRouteUsingRedirect(r,e,n,i,o,s,a){let{matched:c,parameters:l,consumedSegments:d,positionalParamSegments:v,remainingSegments:w}=rc(e,i,o);if(!c)return Lt(e);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>Qd&&(this.allowRedirects=!1));let S=new vt(o,l,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,Ma(i),ye(i),i.component??i._loadedComponent??null,i,Fa(i)),R=jr(S,a,this.paramsInheritanceStrategy);return S.params=Object.freeze(R.params),S.data=Object.freeze(R.data),this.applyRedirects.applyRedirectCommands(d,i.redirectTo,v,S,r).pipe(W(D=>this.applyRedirects.lineralizeSegments(i,D)),re(D=>this.processSegment(r,n,e,D.concat(w),s,!1,a)))}matchSegmentAgainstRoute(r,e,n,i,o,s){let a=Gd(e,n,i,r,this.urlSerializer);return n.path==="**"&&(e.children={}),a.pipe(W(c=>c.matched?(r=n._injector??r,this.getChildConfig(r,n,i).pipe(W(({routes:l})=>{let d=n._loadedInjector??r,{parameters:v,consumedSegments:w,remainingSegments:S}=c,R=new vt(w,v,Object.freeze(h({},this.urlTree.queryParams)),this.urlTree.fragment,Ma(n),ye(n),n.component??n._loadedComponent??null,n,Fa(n)),N=jr(R,s,this.paramsInheritanceStrategy);R.params=Object.freeze(N.params),R.data=Object.freeze(N.data);let{segmentGroup:D,slicedSegments:C}=Ta(e,w,S,l);if(C.length===0&&D.hasChildren())return this.processChildren(d,l,D,R).pipe(b(ee=>new ae(R,ee)));if(l.length===0&&C.length===0)return m(new ae(R,[]));let z=ye(n)===o;return this.processSegment(d,l,D,C,z?y:o,!0,R).pipe(b(ee=>new ae(R,ee instanceof ae?[ee]:[])))}))):Lt(e)))}getChildConfig(r,e,n){return e.children?m({routes:e.children,injector:r}):e.loadChildren?e._loadedRoutes!==void 0?m({routes:e._loadedRoutes,injector:e._loadedInjector}):jd(r,e,n,this.urlSerializer).pipe(re(i=>i?this.configLoader.loadChildren(r,e).pipe(x(o=>{e._loadedRoutes=o.routes,e._loadedInjector=o.injector})):Vd(e))):m({routes:[],injector:r})}};function eh(t){t.sort((r,e)=>r.value.outlet===y?-1:e.value.outlet===y?1:r.value.outlet.localeCompare(e.value.outlet))}function th(t){let r=t.value.routeConfig;return r&&r.path===""}function ic(t){let r=[],e=new Set;for(let n of t){if(!th(n)){r.push(n);continue}let i=r.find(o=>n.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...n.children),e.add(i)):r.push(n)}for(let n of e){let i=ic(n.children);r.push(new ae(n.value,i))}return r.filter(n=>!e.has(n))}function Ma(t){return t.data||{}}function Fa(t){return t.resolve||{}}function nh(t,r,e,n,i,o){return re(s=>Jd(t,r,e,n,s.extractedUrl,i,o).pipe(b(({state:a,tree:c})=>Y(h({},s),{targetSnapshot:a,urlAfterRedirects:c}))))}function rh(t,r){return re(e=>{let{targetSnapshot:n,guards:{canActivateChecks:i}}=e;if(!i.length)return m(e);let o=new Set(i.map(c=>c.route)),s=new Set;for(let c of o)if(!s.has(c))for(let l of oc(c))s.add(l);let a=0;return ne(s).pipe(Fe(c=>o.has(c)?ih(c,n,t,r):(c.data=jr(c,c.parent,t).resolve,m(void 0))),x(()=>a++),fi(1),re(c=>a===s.size?m(e):Me))})}function oc(t){let r=t.children.map(e=>oc(e)).flat();return[t,...r]}function ih(t,r,e,n){let i=t.routeConfig,o=t._resolve;return i?.title!==void 0&&!Za(i)&&(o[On]=i.title),Wn(()=>(t.data=jr(t,t.parent,e).resolve,oh(o,t,r,n).pipe(b(s=>(t._resolvedData=s,t.data=h(h({},t.data),s),null)))))}function oh(t,r,e,n){let i=oo(t);if(i.length===0)return m({});let o={};return ne(i).pipe(re(s=>sh(t[s],r,e,n).pipe(Ge(),x(a=>{if(a instanceof Ht)throw $r(new Je,a);o[s]=a}))),fi(1),b(()=>o),De(s=>tc(s)?Me:st(s)))}function sh(t,r,e,n){let i=Wt(r)??n,o=Kt(t,i),s=o.resolve?o.resolve(r,e):ie(i,()=>o(r,e));return Be(s)}function ro(t){return W(r=>{let e=t(r);return e?ne(e).pipe(b(()=>r)):m(r)})}var Co=(()=>{class t{buildTitle(e){let n,i=e.root;for(;i!==void 0;)n=this.getResolvedTitleForRoute(i)??n,i=i.children.find(o=>o.outlet===y);return n}getResolvedTitleForRoute(e){return e.data[On]}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:()=>u(sc),providedIn:"root"})}return t})(),sc=(()=>{class t extends Co{title;constructor(e){super(),this.title=e}updateTitle(e){let n=this.buildTitle(e);n!==void 0&&this.title.setTitle(n)}static \u0275fac=function(n){return new(n||t)(g(wa))};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),nt=new p("",{providedIn:"root",factory:()=>({})}),Dt=new p(""),Gr=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=u(Is);loadComponent(e,n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return m(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);let i=Be(ie(e,()=>n.loadComponent())).pipe(b(cc),W(uc),x(s=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=s}),He(()=>{this.componentLoaders.delete(n)})),o=new li(i,()=>new O).pipe(ui());return this.componentLoaders.set(n,o),o}loadChildren(e,n){if(this.childrenLoaders.get(n))return this.childrenLoaders.get(n);if(n._loadedRoutes)return m({routes:n._loadedRoutes,injector:n._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(n);let o=ac(n,this.compiler,e,this.onLoadEndListener).pipe(He(()=>{this.childrenLoaders.delete(n)})),s=new li(o,()=>new O).pipe(ui());return this.childrenLoaders.set(n,s),s}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ac(t,r,e,n){return Be(ie(e,()=>t.loadChildren())).pipe(b(cc),W(uc),re(i=>i instanceof ws||Array.isArray(i)?m(i):ne(r.compileModuleAsync(i))),b(i=>{n&&n(t);let o,s,a=!1;return Array.isArray(i)?(s=i,a=!0):(o=i.create(e).injector,s=o.get(Dt,[],{optional:!0,self:!0}).flat()),{routes:s.map(wo),injector:o}}))}function ah(t){return t&&typeof t=="object"&&"default"in t}function cc(t){return ah(t)?t.default:t}function uc(t){return m(t)}var Wr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:()=>u(ch),providedIn:"root"})}return t})(),ch=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,n){return e}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ao=new p(""),Io=new p("");function lc(t,r,e){let n=t.get(Io),i=t.get(E);if(!i.startViewTransition||n.skipNextTransition)return n.skipNextTransition=!1,new Promise(l=>setTimeout(l));let o,s=new Promise(l=>{o=l}),a=i.startViewTransition(()=>(o(),uh(t)));a.ready.catch(l=>{});let{onViewTransitionCreated:c}=n;return c&&ie(t,()=>c({transition:a,from:r,to:e})),s}function uh(t){return new Promise(r=>{Yn({read:()=>setTimeout(r)},{injector:t})})}var So=new p(""),Ln=(()=>{class t{currentNavigation=Oe(null,{equal:()=>!1});currentTransition=null;lastSuccessfulNavigation=null;events=new O;transitionAbortWithErrorSubject=new O;configLoader=u(Gr);environmentInjector=u(me);destroyRef=u(mi);urlSerializer=u(tt);rootContexts=u(_t);location=u(Ye);inputBindingEnabled=u(xn,{optional:!0})!==null;titleStrategy=u(Co);options=u(nt,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=u(Wr);createViewTransition=u(Ao,{optional:!0});navigationErrorHandler=u(So,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>m(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=i=>this.events.next(new Or(i)),n=i=>this.events.next(new xr(i));this.configLoader.onLoadEndListener=n,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let n=++this.navigationId;Ne(()=>{this.transitions?.next(Y(h({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,abortController:new AbortController,id:n}))})}setupNavigations(e){return this.transitions=new te(null),this.transitions.pipe(Z(n=>n!==null),W(n=>{let i=!1;return m(n).pipe(W(o=>{if(this.navigationId>n.id)return this.cancelNavigationTransition(n,"",Q.SupersededByNewNavigation),Me;this.currentTransition=n,this.currentNavigation.set({id:o.id,initialUrl:o.rawUrl,extractedUrl:o.extractedUrl,targetBrowserUrl:typeof o.extras.browserUrl=="string"?this.urlSerializer.parse(o.extras.browserUrl):o.extras.browserUrl,trigger:o.source,extras:o.extras,previousNavigation:this.lastSuccessfulNavigation?Y(h({},this.lastSuccessfulNavigation),{previousNavigation:null}):null,abort:()=>o.abortController.abort()});let s=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),a=o.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!s&&a!=="reload")return this.events.next(new Ie(o.id,this.urlSerializer.serialize(o.rawUrl),"",jt.IgnoredSameUrlNavigation)),o.resolve(!1),Me;if(this.urlHandlingStrategy.shouldProcessUrl(o.rawUrl))return m(o).pipe(W(c=>(this.events.next(new et(c.id,this.urlSerializer.serialize(c.extractedUrl),c.source,c.restoredState)),c.id!==this.navigationId?Me:Promise.resolve(c))),nh(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),x(c=>{n.targetSnapshot=c.targetSnapshot,n.urlAfterRedirects=c.urlAfterRedirects,this.currentNavigation.update(d=>(d.finalUrl=c.urlAfterRedirects,d));let l=new An(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}));if(s&&this.urlHandlingStrategy.shouldProcessUrl(o.currentRawUrl)){let{id:c,extractedUrl:l,source:d,restoredState:v,extras:w}=o,S=new et(c,this.urlSerializer.serialize(l),d,v);this.events.next(S);let R=qa(this.rootComponentType).snapshot;return this.currentTransition=n=Y(h({},o),{targetSnapshot:R,urlAfterRedirects:l,extras:Y(h({},w),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.update(N=>(N.finalUrl=l,N)),m(n)}else return this.events.next(new Ie(o.id,this.urlSerializer.serialize(o.extractedUrl),"",jt.IgnoredByUrlHandlingStrategy)),o.resolve(!1),Me}),x(o=>{let s=new Rr(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot);this.events.next(s)}),b(o=>(this.currentTransition=n=Y(h({},o),{guards:Dd(o.targetSnapshot,o.currentSnapshot,this.rootContexts)}),n)),Od(this.environmentInjector,o=>this.events.next(o)),x(o=>{if(n.guardsResult=o.guardsResult,o.guardsResult&&typeof o.guardsResult!="boolean")throw $r(this.urlSerializer,o.guardsResult);let s=new Tr(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects),o.targetSnapshot,!!o.guardsResult);this.events.next(s)}),Z(o=>o.guardsResult?!0:(this.cancelNavigationTransition(o,"",Q.GuardRejected),!1)),ro(o=>{if(o.guards.canActivateChecks.length!==0)return m(o).pipe(x(s=>{let a=new Mr(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),W(s=>{let a=!1;return m(s).pipe(rh(this.paramsInheritanceStrategy,this.environmentInjector),x({next:()=>a=!0,complete:()=>{a||this.cancelNavigationTransition(s,"",Q.NoDataFromResolver)}}))}),x(s=>{let a=new Fr(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}))}),ro(o=>{let s=a=>{let c=[];if(a.routeConfig?.loadComponent){let l=Wt(a)??this.environmentInjector;c.push(this.configLoader.loadComponent(l,a.routeConfig).pipe(x(d=>{a.component=d}),b(()=>{})))}for(let l of a.children)c.push(...s(l));return c};return At(s(o.targetSnapshot.root)).pipe(hi(null),Ee(1))}),ro(()=>this.afterPreactivation()),W(()=>{let{currentSnapshot:o,targetSnapshot:s}=n,a=this.createViewTransition?.(this.environmentInjector,o.root,s.root);return a?ne(a).pipe(b(()=>n)):m(n)}),b(o=>{let s=gd(e.routeReuseStrategy,o.targetSnapshot,o.currentRouterState);return this.currentTransition=n=Y(h({},o),{targetRouterState:s}),this.currentNavigation.update(a=>(a.targetRouterState=s,a)),n}),x(()=>{this.events.next(new In)}),_d(this.rootContexts,e.routeReuseStrategy,o=>this.events.next(o),this.inputBindingEnabled),Ee(1),at(new Ve(o=>{let s=n.abortController.signal,a=()=>o.next();return s.addEventListener("abort",a),()=>s.removeEventListener("abort",a)}).pipe(Z(()=>!i&&!n.targetRouterState),x(()=>{this.cancelNavigationTransition(n,n.abortController.signal.reason+"",Q.Aborted)}))),x({next:o=>{i=!0,this.lastSuccessfulNavigation=Ne(this.currentNavigation),this.events.next(new he(o.id,this.urlSerializer.serialize(o.extractedUrl),this.urlSerializer.serialize(o.urlAfterRedirects))),this.titleStrategy?.updateTitle(o.targetRouterState.snapshot),o.resolve(!0)},complete:()=>{i=!0}}),at(this.transitionAbortWithErrorSubject.pipe(x(o=>{throw o}))),He(()=>{i||this.cancelNavigationTransition(n,"",Q.SupersededByNewNavigation),this.currentTransition?.id===n.id&&(this.currentNavigation.set(null),this.currentTransition=null)}),De(o=>{if(this.destroyed)return n.resolve(!1),Me;if(i=!0,ec(o))this.events.next(new Ce(n.id,this.urlSerializer.serialize(n.extractedUrl),o.message,o.cancellationCode)),yd(o)?this.events.next(new Vt(o.url,o.navigationBehaviorOptions)):n.resolve(!1);else{let s=new $t(n.id,this.urlSerializer.serialize(n.extractedUrl),o,n.targetSnapshot??void 0);try{let a=ie(this.environmentInjector,()=>this.navigationErrorHandler?.(s));if(a instanceof Ht){let{message:c,cancellationCode:l}=$r(this.urlSerializer,a);this.events.next(new Ce(n.id,this.urlSerializer.serialize(n.extractedUrl),c,l)),this.events.next(new Vt(a.redirectTo,a.navigationBehaviorOptions))}else throw this.events.next(s),o}catch(a){this.options.resolveNavigationPromiseOnError?n.resolve(!1):n.reject(a)}}return Me}))}))}cancelNavigationTransition(e,n,i){let o=new Ce(e.id,this.urlSerializer.serialize(e.extractedUrl),n,i);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),n=Ne(this.currentNavigation),i=n?.targetBrowserUrl??n?.extractedUrl;return e.toString()!==i?.toString()&&!n?.extras.skipLocationChange}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function lh(t){return t!==Ut}var dc=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:()=>u(dh),providedIn:"root"})}return t})(),Vr=class{shouldDetach(r){return!1}store(r,e){}shouldAttach(r){return!1}retrieve(r){return null}shouldReuseRoute(r,e){return r.routeConfig===e.routeConfig}},dh=(()=>{class t extends Vr{static \u0275fac=(()=>{let e;return function(i){return(e||(e=gi(t)))(i||t)}})();static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),hc=(()=>{class t{urlSerializer=u(tt);options=u(nt,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=u(Ye);urlHandlingStrategy=u(Wr);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new Ae;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:n,targetBrowserUrl:i}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,n):n,s=i??o;return s instanceof Ae?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:n,initialUrl:i}){n&&e?(this.currentUrlTree=n,this.rawUrlTree=this.urlHandlingStrategy.merge(n,i),this.routerState=e):this.rawUrlTree=i}routerState=qa(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();updateStateMemento(){this.stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:()=>u(hh),providedIn:"root"})}return t})(),hh=(()=>{class t extends hc{currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(n=>{n.type==="popstate"&&setTimeout(()=>{e(n.url,n.state,"popstate")})})}handleRouterEvent(e,n){e instanceof et?this.updateStateMemento():e instanceof Ie?this.commitTransition(n):e instanceof An?this.urlUpdateStrategy==="eager"&&(n.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(n),n)):e instanceof In?(this.commitTransition(n),this.urlUpdateStrategy==="deferred"&&!n.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(n),n)):e instanceof Ce&&e.code!==Q.SupersededByNewNavigation&&e.code!==Q.Redirect?this.restoreHistory(n):e instanceof $t?this.restoreHistory(n,!0):e instanceof he&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:n,id:i}){let{replaceUrl:o,state:s}=n;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,c=h(h({},s),this.generateNgRouterState(i,a));this.location.replaceState(e,"",c)}else{let a=h(h({},s),this.generateNgRouterState(i,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,n=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(n&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,n){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:n}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(i){return(e||(e=gi(t)))(i||t)}})();static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Kr(t,r){t.events.pipe(Z(e=>e instanceof he||e instanceof Ce||e instanceof $t||e instanceof Ie),b(e=>e instanceof he||e instanceof Ie?0:(e instanceof Ce?e.code===Q.Redirect||e.code===Q.SupersededByNewNavigation:!1)?2:1),Z(e=>e!==2),Ee(1)).subscribe(()=>{r()})}var fh={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},mh={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},Re=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=u(wi);stateManager=u(hc);options=u(nt,{optional:!0})||{};pendingTasks=u(as);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=u(Ln);urlSerializer=u(tt);location=u(Ye);urlHandlingStrategy=u(Wr);injector=u(me);_events=new O;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=u(dc);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=u(Dt,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!u(xn,{optional:!0});currentNavigation=this.navigationTransitions.currentNavigation.asReadonly();constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}eventsSubscription=new Ct;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(n=>{try{let i=this.navigationTransitions.currentTransition,o=Ne(this.navigationTransitions.currentNavigation);if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(n,o),n instanceof Ce&&n.code!==Q.Redirect&&n.code!==Q.SupersededByNewNavigation)this.navigated=!0;else if(n instanceof he)this.navigated=!0;else if(n instanceof Vt){let s=n.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(n.url,i.currentRawUrl),c=h({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||lh(i.source)},s);this.scheduleNavigation(a,Ut,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}hd(n)&&this._events.next(n)}catch(i){this.navigationTransitions.transitionAbortWithErrorSubject.next(i)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Ut,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,n,i)=>{this.navigateToSyncWithBrowser(e,i,n)})}navigateToSyncWithBrowser(e,n,i){let o={replaceUrl:!0},s=i?.navigationId?i:null;if(i){let c=h({},i);delete c.navigationId,delete c.\u0275routerPageId,Object.keys(c).length!==0&&(o.state=c)}let a=this.parseUrl(e);this.scheduleNavigation(a,n,s,o).catch(c=>{this.disposed||this.injector.get(en)(c)})}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return Ne(this.navigationTransitions.currentNavigation)}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(wo),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,n={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:c}=n,l=c?this.currentUrlTree.fragment:s,d=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":d=h(h({},this.currentUrlTree.queryParams),o);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=o||null}d!==null&&(d=this.removeEmptyProps(d));let v;try{let w=i?i.snapshot:this.routerState.snapshot.root;v=Ha(w)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),v=this.currentUrlTree.root}return Ga(v,e,d,l??null)}navigateByUrl(e,n={skipLocationChange:!1}){let i=Qe(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,Ut,null,n)}navigate(e,n={skipLocationChange:!1}){return ph(e),this.navigateByUrl(this.createUrlTree(e,n),n)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.console.warn(ct(4018,!1)),this.urlSerializer.parse("/")}}isActive(e,n){let i;if(n===!0?i=h({},fh):n===!1?i=h({},mh):i=n,Qe(e))return Aa(this.currentUrlTree,e,i);let o=this.parseUrl(e);return Aa(this.currentUrlTree,o,i)}removeEmptyProps(e){return Object.entries(e).reduce((n,[i,o])=>(o!=null&&(n[i]=o),n),{})}scheduleNavigation(e,n,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,c,l;s?(a=s.resolve,c=s.reject,l=s.promise):l=new Promise((v,w)=>{a=v,c=w});let d=this.pendingTasks.add();return Kr(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:n,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:c,promise:l,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),l.catch(v=>Promise.reject(v))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function ph(t){for(let r=0;r{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;reactiveHref=Oe(null);get href(){return Ne(this.reactiveHref)}set href(e){this.reactiveHref.set(e)}target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new O;applicationErrorHandler=u(en);options=u(nt,{optional:!0});constructor(e,n,i,o,s,a){this.router=e,this.route=n,this.tabIndexAttribute=i,this.renderer=o,this.el=s,this.locationStrategy=a,this.reactiveHref.set(u(new Qn("href"),{optional:!0}));let c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=c==="a"||c==="area"||!!(typeof customElements=="object"&&customElements.get(c)?.observedAttributes?.includes?.("href")),this.isAnchorElement?this.setTabIndexIfNotOnNativeEl("0"):this.subscribeToNavigationEventsIfNecessary()}subscribeToNavigationEventsIfNecessary(){if(this.subscription!==void 0||!this.isAnchorElement)return;let e=this.preserveFragment,n=i=>i==="merge"||i==="preserve";e||=n(this.queryParamsHandling),e||=!this.queryParamsHandling&&!n(this.options?.defaultQueryParamsHandling),e&&(this.subscription=this.router.events.subscribe(i=>{i instanceof he&&this.updateHref()}))}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&(this.updateHref(),this.subscribeToNavigationEventsIfNecessary()),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(Qe(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,n,i,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(e!==0||n||i||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let c={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,c)?.catch(l=>{this.applicationErrorHandler(l)}),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.reactiveHref.set(e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e))??"":null)}applyAttributeValue(e,n){let i=this.renderer,o=this.el.nativeElement;n!==null?i.setAttribute(o,e,n):i.removeAttribute(o,e)}get urlTree(){return this.routerLinkInput===null?null:Qe(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(n){return new(n||t)(V(Re),V(Se),bi("tabindex"),V(ht),V(B),V(be))};static \u0275dir=k({type:t,selectors:[["","routerLink",""]],hostVars:2,hostBindings:function(n,i){n&1&&As("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),n&2&&ft("href",i.reactiveHref(),ys)("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",H],skipLocationChange:[2,"skipLocationChange","skipLocationChange",H],replaceUrl:[2,"replaceUrl","replaceUrl",H],routerLink:"routerLink"},features:[Ke]})}return t})();var Pn=class{},gh=(()=>{class t{preload(e,n){return n().pipe(De(()=>m(null)))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var mc=(()=>{class t{router;injector;preloadingStrategy;loader;subscription;constructor(e,n,i,o){this.router=e,this.injector=n,this.preloadingStrategy=i,this.loader=o}setUpPreloading(){this.subscription=this.router.events.pipe(Z(e=>e instanceof he),Fe(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,n){let i=[];for(let o of n){o.providers&&!o._injector&&(o._injector=Zn(o.providers,e,`Route: ${o.path}`));let s=o._injector??e,a=o._loadedInjector??s;(o.loadChildren&&!o._loadedRoutes&&o.canLoad===void 0||o.loadComponent&&!o._loadedComponent)&&i.push(this.preloadConfig(s,o)),(o.children||o._loadedRoutes)&&i.push(this.processRoutes(a,o.children??o._loadedRoutes))}return ne(i).pipe(di())}preloadConfig(e,n){return this.preloadingStrategy.preload(n,()=>{let i;n.loadChildren&&n.canLoad===void 0?i=this.loader.loadChildren(e,n):i=m(null);let o=i.pipe(re(s=>s===null?m(void 0):(n._loadedRoutes=s.routes,n._loadedInjector=s.injector,this.processRoutes(s.injector??e,s.routes))));if(n.loadComponent&&!n._loadedComponent){let s=this.loader.loadComponent(e,n);return ne([o,s]).pipe(di())}else return o})}static \u0275fac=function(n){return new(n||t)(g(Re),g(me),g(Pn),g(Gr))};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),To=new p(""),pc=(()=>{class t{urlSerializer;transitions;viewportScroller;zone;options;routerEventsSubscription;scrollEventsSubscription;lastId=0;lastSource=Ut;restoredId=0;store={};constructor(e,n,i,o,s={}){this.urlSerializer=e,this.transitions=n,this.viewportScroller=i,this.zone=o,this.options=s,s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof et?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof he?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof Ie&&e.code===jt.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{if(!(e instanceof zt))return;let n={behavior:"instant"};e.position?this.options.scrollPositionRestoration==="top"?this.viewportScroller.scrollToPosition([0,0],n):this.options.scrollPositionRestoration==="enabled"&&this.viewportScroller.scrollToPosition(e.position,n):e.anchor&&this.options.anchorScrolling==="enabled"?this.viewportScroller.scrollToAnchor(e.anchor):this.options.scrollPositionRestoration!=="disabled"&&this.viewportScroller.scrollToPosition([0,0])})}scheduleScrollEvent(e,n){this.zone.runOutsideAngular(async()=>{await new Promise(i=>{setTimeout(i),typeof requestAnimationFrame<"u"&&requestAnimationFrame(i)}),this.zone.run(()=>{this.transitions.events.next(new zt(e,this.lastSource==="popstate"?this.store[this.restoredId]:null,n))})})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static \u0275fac=function(n){Es()};static \u0275prov=f({token:t,factory:t.\u0275fac})}return t})();function bh(t,...r){return Qt([{provide:Dt,multi:!0,useValue:t},[],{provide:Se,useFactory:gc,deps:[Re]},{provide:Ii,multi:!0,useFactory:bc},r.map(e=>e.\u0275providers)])}function gc(t){return t.routerState.root}function qt(t,r){return{\u0275kind:t,\u0275providers:r}}function vh(t={}){return qt(4,[{provide:To,useFactory:()=>{let e=u(ji),n=u(M),i=u(Ln),o=u(tt);return new pc(o,i,e,n,t)}}])}function bc(){let t=u(X);return r=>{let e=t.get(rn);if(r!==e.components[0])return;let n=t.get(Re),i=t.get(vc);t.get(Mo)===1&&n.initialNavigation(),t.get(Dc,null,{optional:!0})?.setUpPreloading(),t.get(To,null,{optional:!0})?.init(),n.resetRootComponentType(e.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var vc=new p("",{factory:()=>new O}),Mo=new p("",{providedIn:"root",factory:()=>1});function yc(){let t=[{provide:yi,useValue:!0},{provide:Mo,useValue:0},Ai(()=>{let r=u(X);return r.get(Fi,Promise.resolve()).then(()=>new Promise(n=>{let i=r.get(Re),o=r.get(vc);Kr(i,()=>{n(!0)}),r.get(Ln).afterPreactivation=()=>(n(!0),o.closed?m(void 0):o),i.initialNavigation()}))})];return qt(2,t)}function _c(){let t=[Ai(()=>{u(Re).setUpLocationChangeListener()}),{provide:Mo,useValue:2}];return qt(3,t)}var Dc=new p("");function Ec(t){return qt(0,[{provide:Dc,useExisting:mc},{provide:Pn,useExisting:t}])}function wc(){return qt(8,[Do,{provide:xn,useExisting:Do}])}function Cc(t){Di("NgRouterViewTransitions");let r=[{provide:Ao,useValue:lc},{provide:Io,useValue:h({skipNextTransition:!!t?.skipInitialTransition},t)}];return qt(9,r)}var Ac=[Ye,{provide:tt,useClass:Je},Re,_t,{provide:Se,useFactory:gc,deps:[Re]},Gr,[]],yh=(()=>{class t{constructor(){}static forRoot(e,n){return{ngModule:t,providers:[Ac,[],{provide:Dt,multi:!0,useValue:e},[],n?.errorHandler?{provide:So,useValue:n.errorHandler}:[],{provide:nt,useValue:n||{}},n?.useHash?Dh():Eh(),_h(),n?.preloadingStrategy?Ec(n.preloadingStrategy).\u0275providers:[],n?.initialNavigation?wh(n):[],n?.bindToComponentInputs?wc().\u0275providers:[],n?.enableViewTransitions?Cc().\u0275providers:[],Ch()]}}static forChild(e){return{ngModule:t,providers:[{provide:Dt,multi:!0,useValue:e}]}}static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({})}return t})();function _h(){return{provide:To,useFactory:()=>{let t=u(ji),r=u(M),e=u(nt),n=u(Ln),i=u(tt);return e.scrollOffset&&t.setOffset(e.scrollOffset),new pc(i,n,t,r,e)}}}function Dh(){return{provide:be,useClass:Pi}}function Eh(){return{provide:be,useClass:nr}}function wh(t){return[t.initialNavigation==="disabled"?_c().\u0275providers:[],t.initialNavigation==="enabledBlocking"?yc().\u0275providers:[]]}var Ro=new p("");function Ch(){return[{provide:Ro,useFactory:bc},{provide:Ii,multi:!0,useExisting:Ro}]}function Ic(t,...r){return r.length?r.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}function kn(t){return t.buttons===0||t.detail===0}function Un(t){let r=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!!r&&r.identifier===-1&&(r.radiusX==null||r.radiusX===1)&&(r.radiusY==null||r.radiusY===1)}var Fo;function Sc(){if(Fo==null){let t=typeof document<"u"?document.head:null;Fo=!!(t&&(t.createShadowRoot||t.attachShadow))}return Fo}function Oo(t){if(Sc()){let r=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&r instanceof ShadowRoot)return r}return null}function xo(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){let r=t.shadowRoot.activeElement;if(r===t)break;t=r}return t}function _e(t){return t.composedPath?t.composedPath()[0]:t.target}var No;try{No=typeof Intl<"u"&&Intl.v8BreakIterator}catch{No=!1}var q=(()=>{class t{_platformId=u(lt);isBrowser=this._platformId?ra(this._platformId):typeof document=="object"&&!!document;EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent);TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent);BLINK=this.isBrowser&&!!(window.chrome||No)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT;WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT;IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window);FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent);ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT;SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT;constructor(){}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Bn;function Rc(){if(Bn==null&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Bn=!0}))}finally{Bn=Bn||!1}return Bn}function Yt(t){return Rc()?t:!!t.capture}function Lo(t,r=0){return Tc(t)?Number(t):arguments.length===2?r:0}function Tc(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}function Te(t){return t instanceof B?t.nativeElement:t}var Mc=new p("cdk-input-modality-detector-options"),Fc={ignoreKeys:[18,17,224,91,16]},Oc=650,Po={passive:!0,capture:!0},xc=(()=>{class t{_platform=u(q);_listenerCleanups;modalityDetected;modalityChanged;get mostRecentModality(){return this._modality.value}_mostRecentTarget=null;_modality=new te(null);_options;_lastTouchMs=0;_onKeydown=e=>{this._options?.ignoreKeys?.some(n=>n===e.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=_e(e))};_onMousedown=e=>{Date.now()-this._lastTouchMs{if(Un(e)){this._modality.next("keyboard");return}this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=_e(e)};constructor(){let e=u(M),n=u(E),i=u(Mc,{optional:!0});if(this._options=h(h({},Fc),i),this.modalityDetected=this._modality.pipe(Kn(1)),this.modalityChanged=this.modalityDetected.pipe(ts()),this._platform.isBrowser){let o=u(Tt).createRenderer(null,null);this._listenerCleanups=e.runOutsideAngular(()=>[o.listen(n,"keydown",this._onKeydown,Po),o.listen(n,"mousedown",this._onMousedown,Po),o.listen(n,"touchstart",this._onTouchstart,Po)])}}ngOnDestroy(){this._modality.complete(),this._listenerCleanups?.forEach(e=>e())}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),jn=(function(t){return t[t.IMMEDIATE=0]="IMMEDIATE",t[t.EVENTUAL=1]="EVENTUAL",t})(jn||{}),Nc=new p("cdk-focus-monitor-default-options"),qr=Yt({passive:!0,capture:!0}),Yr=(()=>{class t{_ngZone=u(M);_platform=u(q);_inputModalityDetector=u(xc);_origin=null;_lastFocusOrigin;_windowFocused=!1;_windowFocusTimeoutId;_originTimeoutId;_originFromTouchInteraction=!1;_elementInfo=new Map;_monitoredElementCount=0;_rootNodeFocusListenerCount=new Map;_detectionMode;_windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};_document=u(E);_stopInputModalityDetector=new O;constructor(){let e=u(Nc,{optional:!0});this._detectionMode=e?.detectionMode||jn.IMMEDIATE}_rootNodeFocusAndBlurListener=e=>{let n=_e(e);for(let i=n;i;i=i.parentElement)e.type==="focus"?this._onFocus(e,i):this._onBlur(e,i)};monitor(e,n=!1){let i=Te(e);if(!this._platform.isBrowser||i.nodeType!==1)return m();let o=Oo(i)||this._document,s=this._elementInfo.get(i);if(s)return n&&(s.checkChildren=!0),s.subject;let a={checkChildren:n,subject:new O,rootNode:o};return this._elementInfo.set(i,a),this._registerGlobalListeners(a),a.subject}stopMonitoring(e){let n=Te(e),i=this._elementInfo.get(n);i&&(i.subject.complete(),this._setClasses(n),this._elementInfo.delete(n),this._removeGlobalListeners(i))}focusVia(e,n,i){let o=Te(e),s=this._document.activeElement;o===s?this._getClosestElementsInfo(o).forEach(([a,c])=>this._originChanged(a,n,c)):(this._setOrigin(n),typeof o.focus=="function"&&o.focus(i))}ngOnDestroy(){this._elementInfo.forEach((e,n)=>this.stopMonitoring(n))}_getWindow(){return this._document.defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return this._detectionMode===jn.EVENTUAL||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,n){e.classList.toggle("cdk-focused",!!n),e.classList.toggle("cdk-touch-focused",n==="touch"),e.classList.toggle("cdk-keyboard-focused",n==="keyboard"),e.classList.toggle("cdk-mouse-focused",n==="mouse"),e.classList.toggle("cdk-program-focused",n==="program")}_setOrigin(e,n=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=e,this._originFromTouchInteraction=e==="touch"&&n,this._detectionMode===jn.IMMEDIATE){clearTimeout(this._originTimeoutId);let i=this._originFromTouchInteraction?Oc:1;this._originTimeoutId=setTimeout(()=>this._origin=null,i)}})}_onFocus(e,n){let i=this._elementInfo.get(n),o=_e(e);!i||!i.checkChildren&&n!==o||this._originChanged(n,this._getFocusOrigin(o),i)}_onBlur(e,n){let i=this._elementInfo.get(n);!i||i.checkChildren&&e.relatedTarget instanceof Node&&n.contains(e.relatedTarget)||(this._setClasses(n),this._emitOrigin(i,null))}_emitOrigin(e,n){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(n))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;let n=e.rootNode,i=this._rootNodeFocusListenerCount.get(n)||0;i||this._ngZone.runOutsideAngular(()=>{n.addEventListener("focus",this._rootNodeFocusAndBlurListener,qr),n.addEventListener("blur",this._rootNodeFocusAndBlurListener,qr)}),this._rootNodeFocusListenerCount.set(n,i+1),++this._monitoredElementCount===1&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(at(this._stopInputModalityDetector)).subscribe(o=>{this._setOrigin(o,!0)}))}_removeGlobalListeners(e){let n=e.rootNode;if(this._rootNodeFocusListenerCount.has(n)){let i=this._rootNodeFocusListenerCount.get(n);i>1?this._rootNodeFocusListenerCount.set(n,i-1):(n.removeEventListener("focus",this._rootNodeFocusAndBlurListener,qr),n.removeEventListener("blur",this._rootNodeFocusAndBlurListener,qr),this._rootNodeFocusListenerCount.delete(n))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,n,i){this._setClasses(e,n),this._emitOrigin(i,n),this._lastFocusOrigin=n}_getClosestElementsInfo(e){let n=[];return this._elementInfo.forEach((i,o)=>{(o===e||i.checkChildren&&o.contains(e))&&n.push([o,i])}),n}_isLastInteractionFromInputLabel(e){let{_mostRecentTarget:n,mostRecentModality:i}=this._inputModalityDetector;if(i!=="mouse"||!n||n===e||e.nodeName!=="INPUT"&&e.nodeName!=="TEXTAREA"||e.disabled)return!1;let o=e.labels;if(o){for(let s=0;s{class t{_elementRef=u(B);_focusMonitor=u(Yr);_monitorSubscription;_focusOrigin=null;cdkFocusChange=new ue;constructor(){}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){let e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,e.nodeType===1&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(n=>{this._focusOrigin=n,this.cdkFocusChange.emit(n)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275dir=k({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]})}return t})();var Zr=new WeakMap,je=(()=>{class t{_appRef;_injector=u(X);_environmentInjector=u(me);load(e){let n=this._appRef=this._appRef||this._injector.get(rn),i=Zr.get(n);i||(i={loaders:new Set,refs:[]},Zr.set(n,i),n.onDestroy(()=>{Zr.get(n)?.refs.forEach(o=>o.destroy()),Zr.delete(n)})),i.loaders.has(e)||(i.loaders.add(e),i.refs.push(Os(e,{environmentInjector:this._environmentInjector})))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Xr=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=J({type:t,selectors:[["ng-component"]],exportAs:["cdkVisuallyHidden"],decls:0,vars:0,template:function(n,i){},styles:[`.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0} +`],encapsulation:2,changeDetection:0})}return t})();function ko(t){return Array.isArray(t)?t:[t]}var Lc=new Set,Et,Jr=(()=>{class t{_platform=u(q);_nonce=u(tn,{optional:!0});_matchMedia;constructor(){this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):Sh}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&Ih(e,this._nonce),this._matchMedia(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ih(t,r){if(!Lc.has(t))try{Et||(Et=document.createElement("style"),r&&Et.setAttribute("nonce",r),Et.setAttribute("type","text/css"),document.head.appendChild(Et)),Et.sheet&&(Et.sheet.insertRule(`@media ${t} {body{ }}`,0),Lc.add(t))}catch(e){console.error(e)}}function Sh(t){return{matches:t==="all"||t==="",media:t,addListener:()=>{},removeListener:()=>{}}}var Uo=(()=>{class t{_mediaMatcher=u(Jr);_zone=u(M);_queries=new Map;_destroySubject=new O;constructor(){}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return Pc(ko(e)).some(i=>this._registerQuery(i).mql.matches)}observe(e){let i=Pc(ko(e)).map(s=>this._registerQuery(s).observable),o=At(i);return o=Gn(o.pipe(Ee(1)),o.pipe(Kn(1),It(0))),o.pipe(b(s=>{let a={matches:!1,breakpoints:{}};return s.forEach(({matches:c,query:l})=>{a.matches=a.matches||c,a.breakpoints[l]=c}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);let n=this._mediaMatcher.matchMedia(e),o={observable:new Ve(s=>{let a=c=>this._zone.run(()=>s.next(c));return n.addListener(a),()=>{n.removeListener(a)}}).pipe(qn(n),b(({matches:s})=>({query:e,matches:s})),at(this._destroySubject)),mql:n};return this._queries.set(e,o),o}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Pc(t){return t.map(r=>r.split(",")).reduce((r,e)=>r.concat(e)).map(r=>r.trim())}function Rh(t){if(t.type==="characterData"&&t.target instanceof Comment)return!0;if(t.type==="childList"){for(let r=0;r{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Uc=(()=>{class t{_mutationObserverFactory=u(kc);_observedElements=new Map;_ngZone=u(M);constructor(){}ngOnDestroy(){this._observedElements.forEach((e,n)=>this._cleanupObserver(n))}observe(e){let n=Te(e);return new Ve(i=>{let s=this._observeElement(n).pipe(b(a=>a.filter(c=>!Rh(c))),Z(a=>!!a.length)).subscribe(a=>{this._ngZone.run(()=>{i.next(a)})});return()=>{s.unsubscribe(),this._unobserveElement(n)}})}_observeElement(e){return this._ngZone.runOutsideAngular(()=>{if(this._observedElements.has(e))this._observedElements.get(e).count++;else{let n=new O,i=this._mutationObserverFactory.create(o=>n.next(o));i&&i.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:i,stream:n,count:1})}return this._observedElements.get(e).stream})}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){let{observer:n,stream:i}=this._observedElements.get(e);n&&n.disconnect(),i.complete(),this._observedElements.delete(e)}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Jb=(()=>{class t{_contentObserver=u(Uc);_elementRef=u(B);event=new ue;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled?this._unsubscribe():this._subscribe()}_disabled=!1;get debounce(){return this._debounce}set debounce(e){this._debounce=Lo(e),this._subscribe()}_debounce;_currentSubscription=null;constructor(){}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();let e=this._contentObserver.observe(this._elementRef);this._currentSubscription=(this.debounce?e.pipe(It(this.debounce)):e).subscribe(this.event)}_unsubscribe(){this._currentSubscription?.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275dir=k({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:[2,"cdkObserveContentDisabled","disabled",H],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]})}return t})(),Bc=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({providers:[kc]})}return t})();var Vc=(()=>{class t{_platform=u(q);constructor(){}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return Mh(e)&&getComputedStyle(e).visibility==="visible"}isTabbable(e){if(!this._platform.isBrowser)return!1;let n=Th(Uh(e));if(n&&(jc(n)===-1||!this.isVisible(n)))return!1;let i=e.nodeName.toLowerCase(),o=jc(e);return e.hasAttribute("contenteditable")?o!==-1:i==="iframe"||i==="object"||this._platform.WEBKIT&&this._platform.IOS&&!Ph(e)?!1:i==="audio"?e.hasAttribute("controls")?o!==-1:!1:i==="video"?o===-1?!1:o!==null?!0:this._platform.FIREFOX||e.hasAttribute("controls"):e.tabIndex>=0}isFocusable(e,n){return kh(e)&&!this.isDisabled(e)&&(n?.ignoreVisibility||this.isVisible(e))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Th(t){try{return t.frameElement}catch{return null}}function Mh(t){return!!(t.offsetWidth||t.offsetHeight||typeof t.getClientRects=="function"&&t.getClientRects().length)}function Fh(t){let r=t.nodeName.toLowerCase();return r==="input"||r==="select"||r==="button"||r==="textarea"}function Oh(t){return Nh(t)&&t.type=="hidden"}function xh(t){return Lh(t)&&t.hasAttribute("href")}function Nh(t){return t.nodeName.toLowerCase()=="input"}function Lh(t){return t.nodeName.toLowerCase()=="a"}function Hc(t){if(!t.hasAttribute("tabindex")||t.tabIndex===void 0)return!1;let r=t.getAttribute("tabindex");return!!(r&&!isNaN(parseInt(r,10)))}function jc(t){if(!Hc(t))return null;let r=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(r)?-1:r}function Ph(t){let r=t.nodeName.toLowerCase(),e=r==="input"&&t.type;return e==="text"||e==="password"||r==="select"||r==="textarea"}function kh(t){return Oh(t)?!1:Fh(t)||xh(t)||t.hasAttribute("contenteditable")||Hc(t)}function Uh(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}var Qr=class{_element;_checker;_ngZone;_document;_injector;_startAnchor;_endAnchor;_hasAttached=!1;startAnchorListener=()=>this.focusLastTabbableElement();endAnchorListener=()=>this.focusFirstTabbableElement();get enabled(){return this._enabled}set enabled(r){this._enabled=r,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(r,this._startAnchor),this._toggleAnchorTabIndex(r,this._endAnchor))}_enabled=!0;constructor(r,e,n,i,o=!1,s){this._element=r,this._checker=e,this._ngZone=n,this._document=i,this._injector=s,o||this.attachAnchors()}destroy(){let r=this._startAnchor,e=this._endAnchor;r&&(r.removeEventListener("focus",this.startAnchorListener),r.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(r){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(r)))})}focusFirstTabbableElementWhenReady(r){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(r)))})}focusLastTabbableElementWhenReady(r){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(r)))})}_getRegionBoundary(r){let e=this._element.querySelectorAll(`[cdk-focus-region-${r}], [cdkFocusRegion${r}], [cdk-focus-${r}]`);return r=="start"?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(r){let e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){let n=this._getFirstTabbableElement(e);return n?.focus(r),!!n}return e.focus(r),!0}return this.focusFirstTabbableElement(r)}focusFirstTabbableElement(r){let e=this._getRegionBoundary("start");return e&&e.focus(r),!!e}focusLastTabbableElement(r){let e=this._getRegionBoundary("end");return e&&e.focus(r),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(r){if(this._checker.isFocusable(r)&&this._checker.isTabbable(r))return r;let e=r.children;for(let n=0;n=0;n--){let i=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(i)return i}return null}_createAnchor(){let r=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,r),r.classList.add("cdk-visually-hidden"),r.classList.add("cdk-focus-trap-anchor"),r.setAttribute("aria-hidden","true"),r}_toggleAnchorTabIndex(r,e){r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(r){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(r,this._startAnchor),this._toggleAnchorTabIndex(r,this._endAnchor))}_executeOnStable(r){this._injector?Yn(r,{injector:this._injector}):setTimeout(r)}},Gc=(()=>{class t{_checker=u(Vc);_ngZone=u(M);_document=u(E);_injector=u(X);constructor(){u(je).load(Xr)}create(e,n=!1){return new Qr(e,this._checker,this._ngZone,this._document,n,this._injector)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Bh=(()=>{class t{_elementRef=u(B);_focusTrapFactory=u(Gc);focusTrap;_previouslyFocusedElement=null;get enabled(){return this.focusTrap?.enabled||!1}set enabled(e){this.focusTrap&&(this.focusTrap.enabled=e)}autoCapture;constructor(){u(q).isBrowser&&(this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0))}ngOnDestroy(){this.focusTrap?.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap?.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap&&!this.focusTrap.hasAttached()&&this.focusTrap.attachAnchors()}ngOnChanges(e){let n=e.autoCapture;n&&!n.firstChange&&this.autoCapture&&this.focusTrap?.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=xo(),this.focusTrap?.focusInitialElementWhenReady()}static \u0275fac=function(n){return new(n||t)};static \u0275dir=k({type:t,selectors:[["","cdkTrapFocus",""]],inputs:{enabled:[2,"cdkTrapFocus","enabled",H],autoCapture:[2,"cdkTrapFocusAutoCapture","autoCapture",H]},exportAs:["cdkTrapFocus"],features:[Ke]})}return t})(),Wc=new p("liveAnnouncerElement",{providedIn:"root",factory:Kc});function Kc(){return null}var qc=new p("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),jh=0,$h=(()=>{class t{_ngZone=u(M);_defaultOptions=u(qc,{optional:!0});_liveElement;_document=u(E);_previousTimeout;_currentPromise;_currentResolve;constructor(){let e=u(Wc,{optional:!0});this._liveElement=e||this._createLiveElement()}announce(e,...n){let i=this._defaultOptions,o,s;return n.length===1&&typeof n[0]=="number"?s=n[0]:[o,s]=n,this.clear(),clearTimeout(this._previousTimeout),o||(o=i&&i.politeness?i.politeness:"polite"),s==null&&i&&(s=i.duration),this._liveElement.setAttribute("aria-live",o),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(a=>this._currentResolve=a)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,typeof s=="number"&&(this._previousTimeout=setTimeout(()=>this.clear(),s)),this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){let e="cdk-live-announcer-element",n=this._document.getElementsByClassName(e),i=this._document.createElement("div");for(let o=0;o .cdk-overlay-container [aria-modal="true"]');for(let i=0;i{class t{_platform=u(q);_hasCheckedHighContrastMode;_document=u(E);_breakpointSubscription;constructor(){this._breakpointSubscription=u(Uo).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return rt.NONE;let e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);let n=this._document.defaultView||window,i=n&&n.getComputedStyle?n.getComputedStyle(e):null,o=(i&&i.backgroundColor||"").replace(/ /g,"");switch(e.remove(),o){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return rt.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return rt.BLACK_ON_WHITE}return rt.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){let e=this._document.body.classList;e.remove(Bo,$c,zc),this._hasCheckedHighContrastMode=!0;let n=this.getHighContrastMode();n===rt.BLACK_ON_WHITE?e.add(Bo,$c):n===rt.WHITE_ON_BLACK&&e.add(Bo,zc)}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),zh=(()=>{class t{constructor(){u(ei)._applyBodyHighContrastModeCssClasses()}static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({imports:[Bc]})}return t})();var jo={},Vh=(()=>{class t{_appId=u(ut);getId(e){return this._appId!=="ng"&&(e+=this._appId),jo.hasOwnProperty(e)||(jo[e]=0),`${e}${jo[e]++}`}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Hh=200,ti=class{_letterKeyStream=new O;_items=[];_selectedItemIndex=-1;_pressedLetters=[];_skipPredicateFn;_selectedItem=new O;selectedItem=this._selectedItem;constructor(r,e){let n=typeof e?.debounceInterval=="number"?e.debounceInterval:Hh;e?.skipPredicate&&(this._skipPredicateFn=e.skipPredicate),this.setItems(r),this._setupKeyHandler(n)}destroy(){this._pressedLetters=[],this._letterKeyStream.complete(),this._selectedItem.complete()}setCurrentSelectedItemIndex(r){this._selectedItemIndex=r}setItems(r){this._items=r}handleKey(r){let e=r.keyCode;r.key&&r.key.length===1?this._letterKeyStream.next(r.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))}isTyping(){return this._pressedLetters.length>0}reset(){this._pressedLetters=[]}_setupKeyHandler(r){this._letterKeyStream.pipe(x(e=>this._pressedLetters.push(e)),It(r),Z(()=>this._pressedLetters.length>0),b(()=>this._pressedLetters.join("").toLocaleUpperCase())).subscribe(e=>{for(let n=1;nr.disabled;constructor(r,e){this._items=r,r instanceof vi?this._itemChangesSubscription=r.changes.subscribe(n=>this._itemsChanged(n.toArray())):pi(r)&&(this._effectRef=Rs(()=>this._itemsChanged(r()),{injector:e}))}tabOut=new O;change=new O;skipPredicate(r){return this._skipPredicateFn=r,this}withWrap(r=!0){return this._wrap=r,this}withVerticalOrientation(r=!0){return this._vertical=r,this}withHorizontalOrientation(r){return this._horizontal=r,this}withAllowedModifierKeys(r){return this._allowedModifierKeys=r,this}withTypeAhead(r=200){this._typeaheadSubscription.unsubscribe();let e=this._getItemsArray();return this._typeahead=new ti(e,{debounceInterval:typeof r=="number"?r:void 0,skipPredicate:n=>this._skipPredicateFn(n)}),this._typeaheadSubscription=this._typeahead.selectedItem.subscribe(n=>{this.setActiveItem(n)}),this}cancelTypeahead(){return this._typeahead?.reset(),this}withHomeAndEnd(r=!0){return this._homeAndEnd=r,this}withPageUpDown(r=!0,e=10){return this._pageUpAndDown={enabled:r,delta:e},this}setActiveItem(r){let e=this._activeItem();this.updateActiveItem(r),this._activeItem()!==e&&this.change.next(this._activeItemIndex())}onKeydown(r){let e=r.keyCode,i=["altKey","ctrlKey","metaKey","shiftKey"].every(o=>!r[o]||this._allowedModifierKeys.indexOf(o)>-1);switch(e){case 9:this.tabOut.next();return;case 40:if(this._vertical&&i){this.setNextItemActive();break}else return;case 38:if(this._vertical&&i){this.setPreviousItemActive();break}else return;case 39:if(this._horizontal&&i){this._horizontal==="rtl"?this.setPreviousItemActive():this.setNextItemActive();break}else return;case 37:if(this._horizontal&&i){this._horizontal==="rtl"?this.setNextItemActive():this.setPreviousItemActive();break}else return;case 36:if(this._homeAndEnd&&i){this.setFirstItemActive();break}else return;case 35:if(this._homeAndEnd&&i){this.setLastItemActive();break}else return;case 33:if(this._pageUpAndDown.enabled&&i){let o=this._activeItemIndex()-this._pageUpAndDown.delta;this._setActiveItemByIndex(o>0?o:0,1);break}else return;case 34:if(this._pageUpAndDown.enabled&&i){let o=this._activeItemIndex()+this._pageUpAndDown.delta,s=this._getItemsArray().length;this._setActiveItemByIndex(o-1&&n!==this._activeItemIndex()&&(this._activeItemIndex.set(n),this._typeahead?.setCurrentSelectedItemIndex(n))}}};var $o=class extends Zt{setActiveItem(r){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(r),this.activeItem&&this.activeItem.setActiveStyles()}};var zo=class extends Zt{_origin="program";setFocusOrigin(r){return this._origin=r,this}setActiveItem(r){super.setActiveItem(r),this.activeItem&&this.activeItem.focus(this._origin)}};var Zc=" ";function Gh(t,r,e){let n=ri(t,r);e=e.trim(),!n.some(i=>i.trim()===e)&&(n.push(e),t.setAttribute(r,n.join(Zc)))}function Wh(t,r,e){let n=ri(t,r);e=e.trim();let i=n.filter(o=>o!==e);i.length?t.setAttribute(r,i.join(Zc)):t.removeAttribute(r)}function ri(t,r){return t.getAttribute(r)?.match(/\S+/g)??[]}var Xc="cdk-describedby-message",ni="cdk-describedby-host",Ho=0,qv=(()=>{class t{_platform=u(q);_document=u(E);_messageRegistry=new Map;_messagesContainer=null;_id=`${Ho++}`;constructor(){u(je).load(Xr),this._id=u(ut)+"-"+Ho++}describe(e,n,i){if(!this._canBeDescribed(e,n))return;let o=Vo(n,i);typeof n!="string"?(Yc(n,this._id),this._messageRegistry.set(o,{messageElement:n,referenceCount:0})):this._messageRegistry.has(o)||this._createMessageElement(n,i),this._isElementDescribedByMessage(e,o)||this._addMessageReference(e,o)}removeDescription(e,n,i){if(!n||!this._isElementNode(e))return;let o=Vo(n,i);if(this._isElementDescribedByMessage(e,o)&&this._removeMessageReference(e,o),typeof n=="string"){let s=this._messageRegistry.get(o);s&&s.referenceCount===0&&this._deleteMessageElement(o)}this._messagesContainer?.childNodes.length===0&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){let e=this._document.querySelectorAll(`[${ni}="${this._id}"]`);for(let n=0;ni.indexOf(Xc)!=0);e.setAttribute("aria-describedby",n.join(" "))}_addMessageReference(e,n){let i=this._messageRegistry.get(n);Gh(e,"aria-describedby",i.messageElement.id),e.setAttribute(ni,this._id),i.referenceCount++}_removeMessageReference(e,n){let i=this._messageRegistry.get(n);i.referenceCount--,Wh(e,"aria-describedby",i.messageElement.id),e.removeAttribute(ni)}_isElementDescribedByMessage(e,n){let i=ri(e,"aria-describedby"),o=this._messageRegistry.get(n),s=o&&o.messageElement.id;return!!s&&i.indexOf(s)!=-1}_canBeDescribed(e,n){if(!this._isElementNode(e))return!1;if(n&&typeof n=="object")return!0;let i=n==null?"":`${n}`.trim(),o=e.getAttribute("aria-label");return i?!o||o.trim()!==i:!1}_isElementNode(e){return e.nodeType===this._document.ELEMENT_NODE}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Vo(t,r){return typeof t=="string"?`${r||""}/${t}`:t}function Yc(t,r){t.id||(t.id=`${Xc}-${r}-${Ho++}`)}var $n=(function(t){return t[t.NORMAL=0]="NORMAL",t[t.NEGATED=1]="NEGATED",t[t.INVERTED=2]="INVERTED",t})($n||{}),ii,wt;function ny(){if(wt==null){if(typeof document!="object"||!document||typeof Element!="function"||!Element)return wt=!1,wt;if(document.documentElement?.style&&"scrollBehavior"in document.documentElement.style)wt=!0;else{let t=Element.prototype.scrollTo;t?wt=!/\{\s*\[native code\]\s*\}/.test(t.toString()):wt=!1}}return wt}function ry(){if(typeof document!="object"||!document)return $n.NORMAL;if(ii==null){let t=document.createElement("div"),r=t.style;t.dir="rtl",r.width="1px",r.overflow="auto",r.visibility="hidden",r.pointerEvents="none",r.position="absolute";let e=document.createElement("div"),n=e.style;n.width="2px",n.height="1px",t.appendChild(e),document.body.appendChild(t),ii=$n.NORMAL,t.scrollLeft===0&&(t.scrollLeft=1,ii=t.scrollLeft===0?$n.NEGATED:$n.INVERTED),t.remove()}return ii}function oy(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}var Xt,Jc=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function ay(){if(Xt)return Xt;if(typeof document!="object"||!document)return Xt=new Set(Jc),Xt;let t=document.createElement("input");return Xt=new Set(Jc.filter(r=>(t.setAttribute("type",r),t.type===r))),Xt}var Kh=new p("MATERIAL_ANIMATIONS");var Qc=null;function qh(){return u(Kh,{optional:!0})?.animationsDisabled||u(ds,{optional:!0})==="NoopAnimations"?"di-disabled":(Qc??=u(Jr).matchMedia("(prefers-reduced-motion)").matches,Qc?"reduced-motion":"enabled")}function Jt(){return qh()!=="enabled"}function by(t){return t==null?"":typeof t=="string"?t:`${t}px`}function yy(t){return t!=null&&`${t}`!="false"}function _y(t,r=/\s+/){let e=[];if(t!=null){let n=Array.isArray(t)?t:`${t}`.split(r);for(let i of n){let o=`${i}`.trim();o&&e.push(o)}}return e}var fe=(function(t){return t[t.FADING_IN=0]="FADING_IN",t[t.VISIBLE=1]="VISIBLE",t[t.FADING_OUT=2]="FADING_OUT",t[t.HIDDEN=3]="HIDDEN",t})(fe||{}),Go=class{_renderer;element;config;_animationForciblyDisabledThroughCss;state=fe.HIDDEN;constructor(r,e,n,i=!1){this._renderer=r,this.element=e,this.config=n,this._animationForciblyDisabledThroughCss=i}fadeOut(){this._renderer.fadeOutRipple(this)}},eu=Yt({passive:!0,capture:!0}),Wo=class{_events=new Map;addHandler(r,e,n,i){let o=this._events.get(e);if(o){let s=o.get(n);s?s.add(i):o.set(n,new Set([i]))}else this._events.set(e,new Map([[n,new Set([i])]])),r.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,eu)})}removeHandler(r,e,n){let i=this._events.get(r);if(!i)return;let o=i.get(e);o&&(o.delete(n),o.size===0&&i.delete(e),i.size===0&&(this._events.delete(r),document.removeEventListener(r,this._delegateEventHandler,eu)))}_delegateEventHandler=r=>{let e=_e(r);e&&this._events.get(r.type)?.forEach((n,i)=>{(i===e||i.contains(e))&&n.forEach(o=>o.handleEvent(r))})}},zn={enterDuration:225,exitDuration:150},Yh=800,tu=Yt({passive:!0,capture:!0}),nu=["mousedown","touchstart"],ru=["mouseup","mouseleave","touchend","touchcancel"],Zh=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=J({type:t,selectors:[["ng-component"]],hostAttrs:["mat-ripple-style-loader",""],decls:0,vars:0,template:function(n,i){},styles:[`.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none} +`],encapsulation:2,changeDetection:0})}return t})(),Vn=class t{_target;_ngZone;_platform;_containerElement;_triggerElement;_isPointerDown=!1;_activeRipples=new Map;_mostRecentTransientRipple;_lastTouchStartEvent;_pointerUpEventsRegistered=!1;_containerRect;static _eventManager=new Wo;constructor(r,e,n,i,o){this._target=r,this._ngZone=e,this._platform=i,i.isBrowser&&(this._containerElement=Te(n)),o&&o.get(je).load(Zh)}fadeInRipple(r,e,n={}){let i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=h(h({},zn),n.animation);n.centered&&(r=i.left+i.width/2,e=i.top+i.height/2);let s=n.radius||Xh(r,e,i),a=r-i.left,c=e-i.top,l=o.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left=`${a-s}px`,d.style.top=`${c-s}px`,d.style.height=`${s*2}px`,d.style.width=`${s*2}px`,n.color!=null&&(d.style.backgroundColor=n.color),d.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(d);let v=window.getComputedStyle(d),w=v.transitionProperty,S=v.transitionDuration,R=w==="none"||S==="0s"||S==="0s, 0s"||i.width===0&&i.height===0,N=new Go(this,d,n,R);d.style.transform="scale3d(1, 1, 1)",N.state=fe.FADING_IN,n.persistent||(this._mostRecentTransientRipple=N);let D=null;return!R&&(l||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let C=()=>{D&&(D.fallbackTimer=null),clearTimeout(ee),this._finishRippleTransition(N)},z=()=>this._destroyRipple(N),ee=setTimeout(z,l+100);d.addEventListener("transitionend",C),d.addEventListener("transitioncancel",z),D={onTransitionEnd:C,onTransitionCancel:z,fallbackTimer:ee}}),this._activeRipples.set(N,D),(R||!l)&&this._finishRippleTransition(N),N}fadeOutRipple(r){if(r.state===fe.FADING_OUT||r.state===fe.HIDDEN)return;let e=r.element,n=h(h({},zn),r.config.animation);e.style.transitionDuration=`${n.exitDuration}ms`,e.style.opacity="0",r.state=fe.FADING_OUT,(r._animationForciblyDisabledThroughCss||!n.exitDuration)&&this._finishRippleTransition(r)}fadeOutAll(){this._getActiveRipples().forEach(r=>r.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(r=>{r.config.persistent||r.fadeOut()})}setupTriggerEvents(r){let e=Te(r);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,nu.forEach(n=>{t._eventManager.addHandler(this._ngZone,n,e,this)}))}handleEvent(r){r.type==="mousedown"?this._onMousedown(r):r.type==="touchstart"?this._onTouchStart(r):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{ru.forEach(e=>{this._triggerElement.addEventListener(e,this,tu)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(r){r.state===fe.FADING_IN?this._startFadeOutTransition(r):r.state===fe.FADING_OUT&&this._destroyRipple(r)}_startFadeOutTransition(r){let e=r===this._mostRecentTransientRipple,{persistent:n}=r.config;r.state=fe.VISIBLE,!n&&(!e||!this._isPointerDown)&&r.fadeOut()}_destroyRipple(r){let e=this._activeRipples.get(r)??null;this._activeRipples.delete(r),this._activeRipples.size||(this._containerRect=null),r===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),r.state=fe.HIDDEN,e!==null&&(r.element.removeEventListener("transitionend",e.onTransitionEnd),r.element.removeEventListener("transitioncancel",e.onTransitionCancel),e.fallbackTimer!==null&&clearTimeout(e.fallbackTimer)),r.element.remove()}_onMousedown(r){let e=kn(r),n=this._lastTouchStartEvent&&Date.now(){let e=r.state===fe.VISIBLE||r.config.terminateOnPointerUp&&r.state===fe.FADING_IN;!r.config.persistent&&e&&r.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let r=this._triggerElement;r&&(nu.forEach(e=>t._eventManager.removeHandler(e,r,this)),this._pointerUpEventsRegistered&&(ru.forEach(e=>r.removeEventListener(e,this,tu)),this._pointerUpEventsRegistered=!1))}};function Xh(t,r,e){let n=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),i=Math.max(Math.abs(r-e.top),Math.abs(r-e.bottom));return Math.sqrt(n*n+i*i)}var Ko=new p("mat-ripple-global-options"),Ny=(()=>{class t{_elementRef=u(B);_animationsDisabled=Jt();color;unbounded;centered;radius=0;animation;get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}_disabled=!1;get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}_trigger;_rippleRenderer;_globalOptions;_isInitialized=!1;constructor(){let e=u(M),n=u(q),i=u(Ko,{optional:!0}),o=u(X);this._globalOptions=i||{},this._rippleRenderer=new Vn(this,e,this._elementRef,n,o)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:h(h(h({},this._globalOptions.animation),this._animationsDisabled?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,n=0,i){return typeof e=="number"?this._rippleRenderer.fadeInRipple(e,n,h(h({},this.rippleConfig),i)):this._rippleRenderer.fadeInRipple(0,0,h(h({},this.rippleConfig),e))}static \u0275fac=function(n){return new(n||t)};static \u0275dir=k({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(n,i){n&2&&xe("mat-ripple-unbounded",i.unbounded)},inputs:{color:[0,"matRippleColor","color"],unbounded:[0,"matRippleUnbounded","unbounded"],centered:[0,"matRippleCentered","centered"],radius:[0,"matRippleRadius","radius"],animation:[0,"matRippleAnimation","animation"],disabled:[0,"matRippleDisabled","disabled"],trigger:[0,"matRippleTrigger","trigger"]},exportAs:["matRipple"]})}return t})();var Jh={capture:!0},Qh=["focus","mousedown","mouseenter","touchstart"],qo="mat-ripple-loader-uninitialized",Yo="mat-ripple-loader-class-name",iu="mat-ripple-loader-centered",oi="mat-ripple-loader-disabled",ou=(()=>{class t{_document=u(E);_animationsDisabled=Jt();_globalRippleOptions=u(Ko,{optional:!0});_platform=u(q);_ngZone=u(M);_injector=u(X);_eventCleanups;_hosts=new Map;constructor(){let e=u(Tt).createRenderer(null,null);this._eventCleanups=this._ngZone.runOutsideAngular(()=>Qh.map(n=>e.listen(this._document,n,this._onInteraction,Jh)))}ngOnDestroy(){let e=this._hosts.keys();for(let n of e)this.destroyRipple(n);this._eventCleanups.forEach(n=>n())}configureRipple(e,n){e.setAttribute(qo,this._globalRippleOptions?.namespace??""),(n.className||!e.hasAttribute(Yo))&&e.setAttribute(Yo,n.className||""),n.centered&&e.setAttribute(iu,""),n.disabled&&e.setAttribute(oi,"")}setDisabled(e,n){let i=this._hosts.get(e);i?(i.target.rippleDisabled=n,!n&&!i.hasSetUpEvents&&(i.hasSetUpEvents=!0,i.renderer.setupTriggerEvents(e))):n?e.setAttribute(oi,""):e.removeAttribute(oi)}_onInteraction=e=>{let n=_e(e);if(n instanceof HTMLElement){let i=n.closest(`[${qo}="${this._globalRippleOptions?.namespace??""}"]`);i&&this._createRipple(i)}};_createRipple(e){if(!this._document||this._hosts.has(e))return;e.querySelector(".mat-ripple")?.remove();let n=this._document.createElement("span");n.classList.add("mat-ripple",e.getAttribute(Yo)),e.append(n);let i=this._globalRippleOptions,o=this._animationsDisabled?0:i?.animation?.enterDuration??zn.enterDuration,s=this._animationsDisabled?0:i?.animation?.exitDuration??zn.exitDuration,a={rippleDisabled:this._animationsDisabled||i?.disabled||e.hasAttribute(oi),rippleConfig:{centered:e.hasAttribute(iu),terminateOnPointerUp:i?.terminateOnPointerUp,animation:{enterDuration:o,exitDuration:s}}},c=new Vn(a,this._ngZone,n,this._platform,this._injector),l=!a.rippleDisabled;l&&c.setupTriggerEvents(e),this._hosts.set(e,{target:a,renderer:c,hasSetUpEvents:l}),e.removeAttribute(qo)}destroyRipple(e){let n=this._hosts.get(e);n&&(n.renderer._removeTriggerEvents(),this._hosts.delete(e))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var su=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=J({type:t,selectors:[["structural-styles"]],decls:0,vars:0,template:function(n,i){},styles:[`.mat-focus-indicator{position:relative}.mat-focus-indicator::before{top:0;left:0;right:0;bottom:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border-width:var(--mat-focus-indicator-border-width, 3px);border-style:var(--mat-focus-indicator-border-style, solid);border-color:var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus::before{content:""}@media(forced-colors: active){html{--mat-focus-indicator-display: block}} +`],encapsulation:2,changeDetection:0})}return t})();var ef=["mat-icon-button",""],tf=["*"],nf=new p("MAT_BUTTON_CONFIG");function au(t){return t==null?void 0:Ti(t)}var si=(()=>{class t{_elementRef=u(B);_ngZone=u(M);_animationsDisabled=Jt();_config=u(nf,{optional:!0});_focusMonitor=u(Yr);_cleanupClick;_renderer=u(ht);_rippleLoader=u(ou);_isAnchor;_isFab=!1;color;get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=e,this._updateRippleDisabled()}_disableRipple=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._updateRippleDisabled()}_disabled=!1;ariaDisabled;disabledInteractive;tabIndex;set _tabindex(e){this.tabIndex=e}constructor(){u(je).load(su);let e=this._elementRef.nativeElement;this._isAnchor=e.tagName==="A",this.disabledInteractive=this._config?.disabledInteractive??!1,this.color=this._config?.color??null,this._rippleLoader?.configureRipple(e,{className:"mat-mdc-button-ripple"})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0),this._isAnchor&&this._setupAsAnchor()}ngOnDestroy(){this._cleanupClick?.(),this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(e="program",n){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,n):this._elementRef.nativeElement.focus(n)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this._isAnchor?this.disabled||null:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}_getTabIndex(){return this._isAnchor?this.disabled&&!this.disabledInteractive?-1:this.tabIndex:this.tabIndex}_setupAsAnchor(){this._cleanupClick=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"click",e=>{this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}))}static \u0275fac=function(n){return new(n||t)};static \u0275dir=k({type:t,hostAttrs:[1,"mat-mdc-button-base"],hostVars:13,hostBindings:function(n,i){n&2&&(ft("disabled",i._getDisabledAttribute())("aria-disabled",i._getAriaDisabled())("tabindex",i._getTabIndex()),Jn(i.color?"mat-"+i.color:""),xe("mat-mdc-button-disabled",i.disabled)("mat-mdc-button-disabled-interactive",i.disabledInteractive)("mat-unthemed",!i.color)("_mat-animation-noopable",i._animationsDisabled))},inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",H],disabled:[2,"disabled","disabled",H],ariaDisabled:[2,"aria-disabled","ariaDisabled",H],disabledInteractive:[2,"disabledInteractive","disabledInteractive",H],tabIndex:[2,"tabIndex","tabIndex",au],_tabindex:[2,"tabindex","_tabindex",au]}})}return t})(),rf=(()=>{class t extends si{constructor(){super(),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=J({type:t,selectors:[["button","mat-icon-button",""],["a","mat-icon-button",""],["button","matIconButton",""],["a","matIconButton",""]],hostAttrs:[1,"mdc-icon-button","mat-mdc-icon-button"],exportAs:["matButton","matAnchor"],features:[nn],attrs:ef,ngContentSelectors:tf,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(n,i){n&1&&(mt(),qe(0,"span",0),pe(1),qe(2,"span",1)(3,"span",2))},styles:[`.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));flex-shrink:0;text-align:center;width:var(--mat-icon-button-state-layer-size, 40px);height:var(--mat-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);font-size:var(--mat-icon-button-icon-size, 24px);color:var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-icon-button:focus>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-icon-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface-variant) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-icon-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-icon-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-icon-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-icon-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-icon-button-touch-target-size, 48px);display:var(--mat-icon-button-touch-target-display, block);left:50%;width:var(--mat-icon-button-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button[disabled],.mat-mdc-icon-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-icon-button-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-icon-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-icon-button img,.mat-mdc-icon-button svg{width:var(--mat-icon-button-icon-size, 24px);height:var(--mat-icon-button-icon-size, 24px);vertical-align:baseline}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%))}.mat-mdc-icon-button[hidden]{display:none}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1} +`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}} +`],encapsulation:2,changeDetection:0})}return t})();var of=new p("cdk-dir-doc",{providedIn:"root",factory:sf});function sf(){return u(E)}var af=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function cu(t){let r=t?.toLowerCase()||"";return r==="auto"&&typeof navigator<"u"&&navigator?.language?af.test(navigator.language)?"rtl":"ltr":r==="rtl"?"rtl":"ltr"}var cf=(()=>{class t{get value(){return this.valueSignal()}valueSignal=Oe("ltr");change=new ue;constructor(){let e=u(of,{optional:!0});if(e){let n=e.body?e.body.dir:null,i=e.documentElement?e.documentElement.dir:null;this.valueSignal.set(cu(n||i||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=f({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Zo=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({})}return t})();var $e=(()=>{class t{constructor(){u(ei)._applyBodyHighContrastModeCssClasses()}static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({imports:[Zo,Zo]})}return t})();var uu=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({imports:[$e,$e]})}return t})();var uf=["matButton",""],hu=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],fu=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"];var lf=["mat-mini-fab",""],df=`.mat-mdc-fab-base{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:56px;height:56px;padding:0;border:none;fill:currentColor;text-decoration:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;overflow:visible;transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1),opacity 15ms linear 30ms,transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1);flex-shrink:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-fab-base .mat-mdc-button-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple,.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-fab-base .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-fab-base .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-fab-base .mdc-button__label,.mat-mdc-fab-base .mat-icon{z-index:1;position:relative}.mat-mdc-fab-base .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-fab-base:focus>.mat-focus-indicator::before{content:""}.mat-mdc-fab-base._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-fab-base::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-fab-base[hidden]{display:none}.mat-mdc-fab-base::-moz-focus-inner{padding:0;border:0}.mat-mdc-fab-base:active,.mat-mdc-fab-base:focus{outline:none}.mat-mdc-fab-base:hover{cursor:pointer}.mat-mdc-fab-base>svg{width:100%}.mat-mdc-fab-base .mat-icon,.mat-mdc-fab-base .material-icons{transition:transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);fill:currentColor;will-change:transform}.mat-mdc-fab-base .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-fab-base[disabled],.mat-mdc-fab-base[disabled]:focus,.mat-mdc-fab-base.mat-mdc-button-disabled,.mat-mdc-fab-base.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-fab-base.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab{background-color:var(--mat-fab-container-color, var(--mat-sys-primary-container));border-radius:var(--mat-fab-container-shape, var(--mat-sys-corner-large));color:var(--mat-fab-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mat-fab-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab:hover{box-shadow:var(--mat-fab-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-fab:focus{box-shadow:var(--mat-fab-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab:active,.mat-mdc-fab:focus:active{box-shadow:var(--mat-fab-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-fab[disabled],.mat-mdc-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-fab-touch-target-size, 48px);display:var(--mat-fab-touch-target-display, block);left:50%;width:var(--mat-fab-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-fab .mat-ripple-element{background-color:var(--mat-fab-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-disabled-state-layer-color)}.mat-mdc-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-mini-fab{width:40px;height:40px;background-color:var(--mat-fab-small-container-color, var(--mat-sys-primary-container));border-radius:var(--mat-fab-small-container-shape, var(--mat-sys-corner-medium));color:var(--mat-fab-small-foreground-color, var(--mat-sys-on-primary-container, inherit));box-shadow:var(--mat-fab-small-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab:hover{box-shadow:var(--mat-fab-small-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-mini-fab:focus{box-shadow:var(--mat-fab-small-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab:active,.mat-mdc-mini-fab:focus:active{box-shadow:var(--mat-fab-small-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-mini-fab[disabled],.mat-mdc-mini-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-fab-small-disabled-state-foreground-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-fab-small-disabled-state-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-mini-fab .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-fab-small-touch-target-size, 48px);display:var(--mat-fab-small-touch-target-display);left:50%;width:var(--mat-fab-small-touch-target-size, 48px);transform:translate(-50%, -50%)}.mat-mdc-mini-fab .mat-ripple-element{background-color:var(--mat-fab-small-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-mini-fab .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-state-layer-color, var(--mat-sys-on-primary-container))}.mat-mdc-mini-fab.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-fab-small-disabled-state-layer-color)}.mat-mdc-mini-fab:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-mini-fab.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-mini-fab.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-mini-fab:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-fab-small-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-extended-fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:20px;padding-right:20px;width:auto;max-width:100%;line-height:normal;box-shadow:var(--mat-fab-extended-container-elevation-shadow, var(--mat-sys-level3));height:var(--mat-fab-extended-container-height, 56px);border-radius:var(--mat-fab-extended-container-shape, var(--mat-sys-corner-large));font-family:var(--mat-fab-extended-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-fab-extended-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-fab-extended-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-fab-extended-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-extended-fab:hover{box-shadow:var(--mat-fab-extended-hover-container-elevation-shadow, var(--mat-sys-level4))}.mat-mdc-extended-fab:focus{box-shadow:var(--mat-fab-extended-focus-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab:active,.mat-mdc-extended-fab:focus:active{box-shadow:var(--mat-fab-extended-pressed-container-elevation-shadow, var(--mat-sys-level3))}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab.mat-mdc-button-disabled{cursor:default;pointer-events:none}.mat-mdc-extended-fab[disabled],.mat-mdc-extended-fab[disabled]:focus,.mat-mdc-extended-fab.mat-mdc-button-disabled,.mat-mdc-extended-fab.mat-mdc-button-disabled:focus{box-shadow:none}.mat-mdc-extended-fab.mat-mdc-button-disabled-interactive{pointer-events:auto}[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-extended-fab .mdc-button__label+.material-icons,.mat-mdc-extended-fab>.mat-icon,.mat-mdc-extended-fab>.material-icons{margin-left:-8px;margin-right:12px}.mat-mdc-extended-fab .mdc-button__label+.mat-icon,.mat-mdc-extended-fab .mdc-button__label+.material-icons,[dir=rtl] .mat-mdc-extended-fab>.mat-icon,[dir=rtl] .mat-mdc-extended-fab>.material-icons{margin-left:12px;margin-right:-8px}.mat-mdc-extended-fab .mat-mdc-button-touch-target{width:100%} +`,lu=new Map([["text",["mat-mdc-button"]],["filled",["mdc-button--unelevated","mat-mdc-unelevated-button"]],["elevated",["mdc-button--raised","mat-mdc-raised-button"]],["outlined",["mdc-button--outlined","mat-mdc-outlined-button"]],["tonal",["mat-tonal-button"]]]),C_=(()=>{class t extends si{get appearance(){return this._appearance}set appearance(e){this.setAppearance(e||this._config?.defaultAppearance||"text")}_appearance=null;constructor(){super();let e=hf(this._elementRef.nativeElement);e&&this.setAppearance(e)}setAppearance(e){if(e===this._appearance)return;let n=this._elementRef.nativeElement.classList,i=this._appearance?lu.get(this._appearance):null,o=lu.get(e);i&&n.remove(...i),n.add(...o),this._appearance=e}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=J({type:t,selectors:[["button","matButton",""],["a","matButton",""],["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""],["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:[1,"mdc-button"],inputs:{appearance:[0,"matButton","appearance"]},exportAs:["matButton","matAnchor"],features:[nn],attrs:uf,ngContentSelectors:fu,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(n,i){n&1&&(mt(hu),qe(0,"span",0),pe(1),Si(2,"span",1),pe(3,1),Ri(),pe(4,2),qe(5,"span",2)(6,"span",3)),n&2&&xe("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab)},styles:[`.mat-mdc-button-base{text-decoration:none}.mat-mdc-button-base .mat-icon{min-height:fit-content;flex-shrink:0}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-button-text-horizontal-padding, 12px);height:var(--mat-button-text-container-height, 40px);font-family:var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-text-label-text-transform);font-weight:var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mat-button-text-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mat-button-text-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-button:has(.material-icons,mat-icon,[matButtonIcon]){padding:0 var(--mat-button-text-with-icon-horizontal-padding, 16px)}.mat-mdc-button>.mat-icon{margin-right:var(--mat-button-text-icon-spacing, 8px);margin-left:var(--mat-button-text-icon-offset, -4px)}[dir=rtl] .mat-mdc-button>.mat-icon{margin-right:var(--mat-button-text-icon-offset, -4px);margin-left:var(--mat-button-text-icon-spacing, 8px)}.mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-text-icon-offset, -4px);margin-left:var(--mat-button-text-icon-spacing, 8px)}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-text-icon-spacing, 8px);margin-left:var(--mat-button-text-icon-offset, -4px)}.mat-mdc-button .mat-ripple-element{background-color:var(--mat-button-text-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-text-state-layer-color, var(--mat-sys-primary))}.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-text-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-text-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-text-touch-target-size, 48px);display:var(--mat-button-text-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-unelevated-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-filled-container-height, 40px);font-family:var(--mat-button-filled-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-filled-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-filled-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-filled-label-text-transform);font-weight:var(--mat-button-filled-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-filled-horizontal-padding, 24px)}.mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-button-filled-icon-spacing, 8px);margin-left:var(--mat-button-filled-icon-offset, -8px)}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon{margin-right:var(--mat-button-filled-icon-offset, -8px);margin-left:var(--mat-button-filled-icon-spacing, 8px)}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-filled-icon-offset, -8px);margin-left:var(--mat-button-filled-icon-spacing, 8px)}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-filled-icon-spacing, 8px);margin-left:var(--mat-button-filled-icon-offset, -8px)}.mat-mdc-unelevated-button .mat-ripple-element{background-color:var(--mat-button-filled-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-filled-state-layer-color, var(--mat-sys-on-primary))}.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-filled-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-unelevated-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-unelevated-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-unelevated-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-filled-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-unelevated-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-filled-touch-target-size, 48px);display:var(--mat-button-filled-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-unelevated-button:not(:disabled){color:var(--mat-button-filled-label-text-color, var(--mat-sys-on-primary));background-color:var(--mat-button-filled-container-color, var(--mat-sys-primary))}.mat-mdc-unelevated-button,.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mat-button-filled-container-shape, var(--mat-sys-corner-full))}.mat-mdc-unelevated-button[disabled],.mat-mdc-unelevated-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-raised-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);box-shadow:var(--mat-button-protected-container-elevation-shadow, var(--mat-sys-level1));height:var(--mat-button-protected-container-height, 40px);font-family:var(--mat-button-protected-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-protected-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-protected-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-protected-label-text-transform);font-weight:var(--mat-button-protected-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-protected-horizontal-padding, 24px)}.mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-button-protected-icon-spacing, 8px);margin-left:var(--mat-button-protected-icon-offset, -8px)}[dir=rtl] .mat-mdc-raised-button>.mat-icon{margin-right:var(--mat-button-protected-icon-offset, -8px);margin-left:var(--mat-button-protected-icon-spacing, 8px)}.mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-protected-icon-offset, -8px);margin-left:var(--mat-button-protected-icon-spacing, 8px)}[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-protected-icon-spacing, 8px);margin-left:var(--mat-button-protected-icon-offset, -8px)}.mat-mdc-raised-button .mat-ripple-element{background-color:var(--mat-button-protected-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-protected-state-layer-color, var(--mat-sys-primary))}.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-protected-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-raised-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-raised-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-raised-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-protected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-raised-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-protected-touch-target-size, 48px);display:var(--mat-button-protected-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-raised-button:not(:disabled){color:var(--mat-button-protected-label-text-color, var(--mat-sys-primary));background-color:var(--mat-button-protected-container-color, var(--mat-sys-surface))}.mat-mdc-raised-button,.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mat-button-protected-container-shape, var(--mat-sys-corner-full))}.mat-mdc-raised-button:hover{box-shadow:var(--mat-button-protected-hover-container-elevation-shadow, var(--mat-sys-level2))}.mat-mdc-raised-button:focus{box-shadow:var(--mat-button-protected-focus-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button:active,.mat-mdc-raised-button:focus:active{box-shadow:var(--mat-button-protected-pressed-container-elevation-shadow, var(--mat-sys-level1))}.mat-mdc-raised-button[disabled],.mat-mdc-raised-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-protected-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-protected-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-raised-button[disabled].mat-mdc-button-disabled,.mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled{box-shadow:var(--mat-button-protected-disabled-container-elevation-shadow, var(--mat-sys-level0))}.mat-mdc-raised-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-mdc-outlined-button{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-outlined-container-height, 40px);font-family:var(--mat-button-outlined-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-outlined-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-outlined-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-outlined-label-text-transform);font-weight:var(--mat-button-outlined-label-text-weight, var(--mat-sys-label-large-weight));border-radius:var(--mat-button-outlined-container-shape, var(--mat-sys-corner-full));border-width:var(--mat-button-outlined-outline-width, 1px);padding:0 var(--mat-button-outlined-horizontal-padding, 24px)}.mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-button-outlined-icon-spacing, 8px);margin-left:var(--mat-button-outlined-icon-offset, -8px)}[dir=rtl] .mat-mdc-outlined-button>.mat-icon{margin-right:var(--mat-button-outlined-icon-offset, -8px);margin-left:var(--mat-button-outlined-icon-spacing, 8px)}.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-outlined-icon-offset, -8px);margin-left:var(--mat-button-outlined-icon-spacing, 8px)}[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-outlined-icon-spacing, 8px);margin-left:var(--mat-button-outlined-icon-offset, -8px)}.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-button-outlined-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-outlined-state-layer-color, var(--mat-sys-primary))}.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-outlined-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-outlined-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-outlined-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-outlined-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-outlined-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-outlined-touch-target-size, 48px);display:var(--mat-button-outlined-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-outlined-button:not(:disabled){color:var(--mat-button-outlined-label-text-color, var(--mat-sys-primary));border-color:var(--mat-button-outlined-outline-color, var(--mat-sys-outline))}.mat-mdc-outlined-button[disabled],.mat-mdc-outlined-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));border-color:var(--mat-button-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-tonal-button{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);height:var(--mat-button-tonal-container-height, 40px);font-family:var(--mat-button-tonal-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-tonal-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-tonal-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-tonal-label-text-transform);font-weight:var(--mat-button-tonal-label-text-weight, var(--mat-sys-label-large-weight));padding:0 var(--mat-button-tonal-horizontal-padding, 24px)}.mat-tonal-button:not(:disabled){color:var(--mat-button-tonal-label-text-color, var(--mat-sys-on-secondary-container));background-color:var(--mat-button-tonal-container-color, var(--mat-sys-secondary-container))}.mat-tonal-button,.mat-tonal-button .mdc-button__ripple{border-radius:var(--mat-button-tonal-container-shape, var(--mat-sys-corner-full))}.mat-tonal-button[disabled],.mat-tonal-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-tonal-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));background-color:var(--mat-button-tonal-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-tonal-button.mat-mdc-button-disabled-interactive{pointer-events:auto}.mat-tonal-button>.mat-icon{margin-right:var(--mat-button-tonal-icon-spacing, 8px);margin-left:var(--mat-button-tonal-icon-offset, -8px)}[dir=rtl] .mat-tonal-button>.mat-icon{margin-right:var(--mat-button-tonal-icon-offset, -8px);margin-left:var(--mat-button-tonal-icon-spacing, 8px)}.mat-tonal-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-tonal-icon-offset, -8px);margin-left:var(--mat-button-tonal-icon-spacing, 8px)}[dir=rtl] .mat-tonal-button .mdc-button__label+.mat-icon{margin-right:var(--mat-button-tonal-icon-spacing, 8px);margin-left:var(--mat-button-tonal-icon-offset, -8px)}.mat-tonal-button .mat-ripple-element{background-color:var(--mat-button-tonal-ripple-color, color-mix(in srgb, var(--mat-sys-on-secondary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent))}.mat-tonal-button .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-tonal-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-tonal-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before{background-color:var(--mat-button-tonal-disabled-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-tonal-button:hover>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-tonal-button.cdk-program-focused>.mat-mdc-button-persistent-ripple::before,.mat-tonal-button.cdk-keyboard-focused>.mat-mdc-button-persistent-ripple::before,.mat-tonal-button.mat-mdc-button-disabled-interactive:focus>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-tonal-button:active>.mat-mdc-button-persistent-ripple::before{opacity:var(--mat-button-tonal-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity))}.mat-tonal-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:var(--mat-button-tonal-touch-target-size, 48px);display:var(--mat-button-tonal-touch-target-display, block);left:0;right:0;transform:translateY(-50%)}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button,.mat-tonal-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before,.mat-tonal-button .mat-mdc-button-ripple,.mat-tonal-button .mat-mdc-button-persistent-ripple,.mat-tonal-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-tonal-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before,.mat-tonal-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-button .mdc-button__label,.mat-mdc-button .mat-icon,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-unelevated-button .mat-icon,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-raised-button .mat-icon,.mat-mdc-outlined-button .mdc-button__label,.mat-mdc-outlined-button .mat-icon,.mat-tonal-button .mdc-button__label,.mat-tonal-button .mat-icon{z-index:1;position:relative}.mat-mdc-button .mat-focus-indicator,.mat-mdc-unelevated-button .mat-focus-indicator,.mat-mdc-raised-button .mat-focus-indicator,.mat-mdc-outlined-button .mat-focus-indicator,.mat-tonal-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-button:focus>.mat-focus-indicator::before,.mat-mdc-unelevated-button:focus>.mat-focus-indicator::before,.mat-mdc-raised-button:focus>.mat-focus-indicator::before,.mat-mdc-outlined-button:focus>.mat-focus-indicator::before,.mat-tonal-button:focus>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable,.mat-tonal-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon,.mat-tonal-button>.mat-icon{display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px}.mat-mdc-unelevated-button .mat-focus-indicator::before,.mat-tonal-button .mat-focus-indicator::before,.mat-mdc-raised-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-outlined-button .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px)*-1)} +`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}} +`],encapsulation:2,changeDetection:0})}return t})();function hf(t){return t.hasAttribute("mat-raised-button")?"elevated":t.hasAttribute("mat-stroked-button")?"outlined":t.hasAttribute("mat-flat-button")?"filled":t.hasAttribute("mat-button")?"text":null}var ff=new p("mat-mdc-fab-default-options",{providedIn:"root",factory:mu});function mu(){return{color:"accent"}}var du=mu();var A_=(()=>{class t extends si{_options=u(ff,{optional:!0});_isFab=!0;constructor(){super(),this._options=this._options||du,this.color=this._options.color||du.color}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=J({type:t,selectors:[["button","mat-mini-fab",""],["a","mat-mini-fab",""],["button","matMiniFab",""],["a","matMiniFab",""]],hostAttrs:[1,"mdc-fab","mat-mdc-fab-base","mdc-fab--mini","mat-mdc-mini-fab"],exportAs:["matButton","matAnchor"],features:[nn],attrs:lf,ngContentSelectors:fu,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(n,i){n&1&&(mt(hu),qe(0,"span",0),pe(1),Si(2,"span",1),pe(3,1),Ri(),pe(4,2),qe(5,"span",2)(6,"span",3)),n&2&&xe("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab)},styles:[df],encapsulation:2,changeDetection:0})}return t})();var I_=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({imports:[$e,uu,$e]})}return t})();var ai;function mf(){if(ai===void 0&&(ai=null,typeof window<"u")){let t=window;t.trustedTypes!==void 0&&(ai=t.trustedTypes.createPolicy("angular#components",{createHTML:r=>r}))}return ai}function Hn(t){return mf()?.createHTML(t)||t}function pu(t){return Error(`Unable to find icon with the name "${t}"`)}function pf(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function gu(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function bu(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}var ze=class{url;svgText;options;svgElement;constructor(r,e,n){this.url=r,this.svgText=e,this.options=n}},yu=(()=>{class t{_httpClient;_sanitizer;_errorHandler;_document;_svgIconConfigs=new Map;_iconSetConfigs=new Map;_cachedIconsByUrl=new Map;_inProgressUrlFetches=new Map;_fontCssClassesByAlias=new Map;_resolvers=[];_defaultFontSetClass=["material-icons","mat-ligature-font"];constructor(e,n,i,o){this._httpClient=e,this._sanitizer=n,this._errorHandler=o,this._document=i}addSvgIcon(e,n,i){return this.addSvgIconInNamespace("",e,n,i)}addSvgIconLiteral(e,n,i){return this.addSvgIconLiteralInNamespace("",e,n,i)}addSvgIconInNamespace(e,n,i,o){return this._addSvgIconConfig(e,n,new ze(i,null,o))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,n,i,o){let s=this._sanitizer.sanitize(se.HTML,i);if(!s)throw bu(i);let a=Hn(s);return this._addSvgIconConfig(e,n,new ze("",a,o))}addSvgIconSet(e,n){return this.addSvgIconSetInNamespace("",e,n)}addSvgIconSetLiteral(e,n){return this.addSvgIconSetLiteralInNamespace("",e,n)}addSvgIconSetInNamespace(e,n,i){return this._addSvgIconSetConfig(e,new ze(n,null,i))}addSvgIconSetLiteralInNamespace(e,n,i){let o=this._sanitizer.sanitize(se.HTML,n);if(!o)throw bu(n);let s=Hn(o);return this._addSvgIconSetConfig(e,new ze("",s,i))}registerFontClassAlias(e,n=e){return this._fontCssClassesByAlias.set(e,n),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(...e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){let n=this._sanitizer.sanitize(se.RESOURCE_URL,e);if(!n)throw gu(e);let i=this._cachedIconsByUrl.get(n);return i?m(ci(i)):this._loadSvgIconFromConfig(new ze(e,null)).pipe(x(o=>this._cachedIconsByUrl.set(n,o)),b(o=>ci(o)))}getNamedSvgIcon(e,n=""){let i=vu(n,e),o=this._svgIconConfigs.get(i);if(o)return this._getSvgFromConfig(o);if(o=this._getIconConfigFromResolvers(n,e),o)return this._svgIconConfigs.set(i,o),this._getSvgFromConfig(o);let s=this._iconSetConfigs.get(n);return s?this._getSvgFromIconSetConfigs(e,s):st(pu(i))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?m(ci(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(b(n=>ci(n)))}_getSvgFromIconSetConfigs(e,n){let i=this._extractIconWithNameFromAnySet(e,n);if(i)return m(i);let o=n.filter(s=>!s.svgText).map(s=>this._loadSvgIconSetFromConfig(s).pipe(De(a=>{let l=`Loading icon set URL: ${this._sanitizer.sanitize(se.RESOURCE_URL,s.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(l)),m(null)})));return es(o).pipe(b(()=>{let s=this._extractIconWithNameFromAnySet(e,n);if(!s)throw pu(e);return s}))}_extractIconWithNameFromAnySet(e,n){for(let i=n.length-1;i>=0;i--){let o=n[i];if(o.svgText&&o.svgText.toString().indexOf(e)>-1){let s=this._svgElementFromConfig(o),a=this._extractSvgIconFromSet(s,e,o.options);if(a)return a}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(x(n=>e.svgText=n),b(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?m(null):this._fetchIcon(e).pipe(x(n=>e.svgText=n))}_extractSvgIconFromSet(e,n,i){let o=e.querySelector(`[id="${n}"]`);if(!o)return null;let s=o.cloneNode(!0);if(s.removeAttribute("id"),s.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(s,i);if(s.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(s),i);let a=this._svgElementFromString(Hn(""));return a.appendChild(s),this._setSvgAttributes(a,i)}_svgElementFromString(e){let n=this._document.createElement("DIV");n.innerHTML=e;let i=n.querySelector("svg");if(!i)throw Error(" tag not found");return i}_toSvgElement(e){let n=this._svgElementFromString(Hn("")),i=e.attributes;for(let o=0;oHn(l)),He(()=>this._inProgressUrlFetches.delete(s)),is());return this._inProgressUrlFetches.set(s,c),c}_addSvgIconConfig(e,n,i){return this._svgIconConfigs.set(vu(e,n),i),this}_addSvgIconSetConfig(e,n){let i=this._iconSetConfigs.get(e);return i?i.push(n):this._iconSetConfigs.set(e,[n]),this}_svgElementFromConfig(e){if(!e.svgElement){let n=this._svgElementFromString(e.svgText);this._setSvgAttributes(n,e.options),e.svgElement=n}return e.svgElement}_getIconConfigFromResolvers(e,n){for(let i=0;ir?r.pathname+r.search:""}}var _u=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],Df=_u.map(t=>`[${t}]`).join(", "),Ef=/^url\(['"]?#(.*?)['"]?\)$/,G_=(()=>{class t{_elementRef=u(B);_iconRegistry=u(yu);_location=u(yf);_errorHandler=u(We);_defaultColor;get color(){return this._color||this._defaultColor}set color(e){this._color=e}_color;inline=!1;get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}_svgIcon;get fontSet(){return this._fontSet}set fontSet(e){let n=this._cleanupFontValue(e);n!==this._fontSet&&(this._fontSet=n,this._updateFontIconClasses())}_fontSet;get fontIcon(){return this._fontIcon}set fontIcon(e){let n=this._cleanupFontValue(e);n!==this._fontIcon&&(this._fontIcon=n,this._updateFontIconClasses())}_fontIcon;_previousFontSetClass=[];_previousFontIconClass;_svgName;_svgNamespace;_previousPath;_elementsWithExternalReferences;_currentIconFetch=Ct.EMPTY;constructor(){let e=u(new Qn("aria-hidden"),{optional:!0}),n=u(vf,{optional:!0});n&&(n.color&&(this.color=this._defaultColor=n.color),n.fontSet&&(this.fontSet=n.fontSet)),e||this._elementRef.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(e){if(!e)return["",""];let n=e.split(":");switch(n.length){case 1:return["",n[0]];case 2:return n;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){let e=this._elementsWithExternalReferences;if(e&&e.size){let n=this._location.getPathname();n!==this._previousPath&&(this._previousPath=n,this._prependPathToReferences(n))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();let n=this._location.getPathname();this._previousPath=n,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(n),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){let e=this._elementRef.nativeElement,n=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();n--;){let i=e.childNodes[n];(i.nodeType!==1||i.nodeName.toLowerCase()==="svg")&&i.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let e=this._elementRef.nativeElement,n=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(i=>i.length>0);this._previousFontSetClass.forEach(i=>e.classList.remove(i)),n.forEach(i=>e.classList.add(i)),this._previousFontSetClass=n,this.fontIcon!==this._previousFontIconClass&&!n.includes("mat-ligature-font")&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return typeof e=="string"?e.trim().split(" ")[0]:e}_prependPathToReferences(e){let n=this._elementsWithExternalReferences;n&&n.forEach((i,o)=>{i.forEach(s=>{o.setAttribute(s.name,`url('${e}#${s.value}')`)})})}_cacheChildrenWithExternalReferences(e){let n=e.querySelectorAll(Df),i=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let o=0;o{let a=n[o],c=a.getAttribute(s),l=c?c.match(Ef):null;if(l){let d=i.get(a);d||(d=[],i.set(a,d)),d.push({name:s,value:l[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){let[n,i]=this._splitIconName(e);n&&(this._svgNamespace=n),i&&(this._svgName=i),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(i,n).pipe(Ee(1)).subscribe(o=>this._setSvgElement(o),o=>{let s=`Error retrieving icon ${n}:${i}! ${o.message}`;this._errorHandler.handleError(new Error(s))})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=J({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(n,i){n&2&&(ft("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet)("fontIcon",i._usingFontIcon()?i.fontIcon:null),Jn(i.color?"mat-"+i.color:""),xe("mat-icon-inline",i.inline)("mat-icon-no-color",i.color!=="primary"&&i.color!=="accent"&&i.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",H],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],ngContentSelectors:bf,decls:1,vars:0,template:function(n,i){n&1&&(mt(),pe(0))},styles:[`mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color, inherit)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto} +`],encapsulation:2,changeDetection:0})}return t})(),W_=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=P({type:t});static \u0275inj=L({imports:[$e,$e]})}return t})();export{Le as a,Ye as b,ku as c,Qs as d,Uu as e,Bu as f,$u as g,zu as h,Hu as i,na as j,qi as k,cl as l,Ue as m,_r as n,Pl as o,kl as p,et as q,he as r,Ce as s,$t as t,Se as u,_o as v,Re as w,fc as x,gh as y,bh as z,vh as A,Ec as B,yh as C,kn as D,Un as E,xo as F,_e as G,q as H,Yt as I,Lo as J,Te as K,Yr as L,Ah as M,je as N,Xr as O,ko as P,Jb as Q,Bc as R,Vc as S,Gc as T,Bh as U,$h as V,zh as W,Vh as X,Ic as Y,$o as Z,zo as _,Gh as $,Wh as aa,qv as ba,cf as ca,Zo as da,$e as ea,by as fa,yy as ga,_y as ha,$n as ia,ny as ja,ry as ka,oy as la,ay as ma,qh as na,Jt as oa,Vn as pa,Ko as qa,Ny as ra,ou as sa,su as ta,rf as ua,uu as va,C_ as wa,A_ as xa,I_ as ya,G_ as za,W_ as Aa}; diff --git a/chunk-CTXOKINH.js b/chunk-CTXOKINH.js new file mode 100644 index 0000000..7cc9e68 --- /dev/null +++ b/chunk-CTXOKINH.js @@ -0,0 +1,2 @@ +import{ea as a,ga as o}from"./chunk-COFYR5MX.js";import{$ as n,Cb as l,jc as v,ob as d,pb as s}from"./chunk-2MUIW2M6.js";var u=(()=>{class t{get vertical(){return this._vertical}set vertical(i){this._vertical=o(i)}_vertical=!1;get inset(){return this._inset}set inset(i){this._inset=o(i)}_inset=!1;static \u0275fac=function(e){return new(e||t)};static \u0275cmp=d({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(e,r){e&2&&(l("aria-orientation",r.vertical?"vertical":"horizontal"),v("mat-divider-vertical",r.vertical)("mat-divider-horizontal",!r.vertical)("mat-divider-inset",r.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(e,r){},styles:[`.mat-divider{display:block;margin:0;border-top-style:solid;border-top-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-top-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-vertical{border-top:0;border-right-style:solid;border-right-color:var(--mat-divider-color, var(--mat-sys-outline-variant));border-right-width:var(--mat-divider-width, 1px)}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px} +`],encapsulation:2,changeDetection:0})}return t})(),f=(()=>{class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=s({type:t});static \u0275inj=n({imports:[a,a]})}return t})();export{u as a,f as b}; diff --git a/chunk-DBIJIYNZ.js b/chunk-DBIJIYNZ.js new file mode 100644 index 0000000..914b338 --- /dev/null +++ b/chunk-DBIJIYNZ.js @@ -0,0 +1,2 @@ +import{a as it,b as ot,c as rt,d as at,e as ct,f as st,g as lt,h as mt,i as dt,j as _t,k as gt}from"./chunk-CAFW6QNR.js";import"./chunk-MS4AQ6UA.js";import{a as ft,b as yt}from"./chunk-YTKR22CH.js";import{a as ut,b as Ct}from"./chunk-GIRDLTGV.js";import{c as pt}from"./chunk-P3ICZX4Q.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import"./chunk-3RK6DDJD.js";import{a as B}from"./chunk-7XDVX5KB.js";import{a as nt}from"./chunk-LA37G65K.js";import{a as et}from"./chunk-B4CGVF35.js";import{b as tt}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{b as X,g as Z}from"./chunk-TAS7XC6E.js";import{a as W}from"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import{a as R}from"./chunk-TPLZKWZ7.js";import{b as A,i as N}from"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as F,c as L,i as q}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as J,b as K}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as G,c as H,d as I,e as Q,j as T,u as k,ua as $,w as D,wa as U,x as V,ya as j,za as Y}from"./chunk-COFYR5MX.js";import{Ec as w,Jb as s,Kb as i,Lb as o,Mb as v,Qb as h,Rb as M,Tb as P,Xb as u,Za as c,Zb as l,da as x,ia as g,ja as p,lc as r,mc as O,nc as y,ob as S,oc as z,pc as E,ta as C,ub as _,vc as b}from"./chunk-2MUIW2M6.js";var Ot=()=>["/quiz/setup"],vt=()=>[5,10,20,50];function bt(n,e){n&1&&(i(0,"div",3),v(1,"mat-spinner",4),i(2,"p"),r(3,"Loading quiz history..."),o()())}function wt(n,e){if(n&1){let t=P();i(0,"div",5)(1,"mat-icon",6),r(2,"error_outline"),o(),i(3,"h2"),r(4,"Failed to Load History"),o(),i(5,"p"),r(6),o(),i(7,"button",7),u("click",function(){g(t);let m=l();return p(m.loadHistory())}),i(8,"mat-icon"),r(9,"refresh"),o(),r(10," Try Again "),o()()}if(n&2){let t=l();c(6),O(t.error())}}function St(n,e){if(n&1&&(i(0,"mat-option",17),r(1),o()),n&2){let t=e.$implicit;s("value",t.id),c(),y(" ",t.name," ")}}function zt(n,e){n&1&&(i(0,"div",26)(1,"mat-icon",27),r(2,"quiz"),o(),i(3,"h2"),r(4,"No Quiz History"),o(),i(5,"p"),r(6,"You haven't completed any quizzes yet. Start your first quiz to see it here!"),o(),i(7,"button",28)(8,"mat-icon"),r(9,"play_arrow"),o(),r(10," Start a Quiz "),o()()),n&2&&(c(7),s("routerLink",b(1,Ot)))}function Et(n,e){n&1&&(i(0,"th",41),r(1,"Date"),o())}function Ht(n,e){if(n&1&&(i(0,"td",42),r(1),o()),n&2){let t=e.$implicit,a=l(3);c(),y(" ",a.formatDate(t.completedAt||t.startedAt)," ")}}function It(n,e){n&1&&(i(0,"th",41),r(1,"Category"),o())}function Qt(n,e){if(n&1&&(i(0,"td",42),r(1),o()),n&2){let t=e.$implicit;c(),y(" ",t.category.name||"Unknown"," ")}}function Tt(n,e){n&1&&(i(0,"th",41),r(1,"Score"),o())}function kt(n,e){if(n&1&&(i(0,"td",42)(1,"span",43),r(2),i(3,"span",44),r(4),o()()()),n&2){let t=e.$implicit,a=l(3);c(),s("ngClass",a.getScoreColor(t.score,t.totalQuestions)),c(),z(" ",t.score.earned,"/",t.questions.total," "),c(2),y("(",(t.score.earned/t.questions.total*100).toFixed(0),"%)")}}function Dt(n,e){n&1&&(i(0,"th",41),r(1,"Time Spent"),o())}function Vt(n,e){if(n&1&&(i(0,"td",42),r(1),o()),n&2){let t=e.$implicit,a=l(3);c(),y(" ",a.formatDuration(t.time.spent)," ")}}function Rt(n,e){n&1&&(i(0,"th",41),r(1,"Status"),o())}function Ft(n,e){if(n&1&&(i(0,"td",42)(1,"mat-chip",45),r(2),o()()),n&2){let t=e.$implicit,a=l(3);c(),s("ngClass",a.getStatusClass(t.status)),c(),y(" ",t.status==="in_progress"?"In Progress":t.status==="completed"?"Completed":"Abandoned"," ")}}function Lt(n,e){n&1&&(i(0,"th",41),r(1,"Actions"),o())}function qt(n,e){if(n&1){let t=P();i(0,"button",48),u("click",function(){g(t);let m=l().$implicit,d=l(3);return p(d.viewResults(m.id))}),i(1,"mat-icon"),r(2,"visibility"),o()()}}function At(n,e){if(n&1){let t=P();i(0,"button",49),u("click",function(){g(t);let m=l().$implicit,d=l(3);return p(d.reviewQuiz(m.id))}),i(1,"mat-icon"),r(2,"rate_review"),o()()}}function Nt(n,e){if(n&1&&(i(0,"td",42),_(1,qt,3,0,"button",46)(2,At,3,0,"button",47),o()),n&2){let t=e.$implicit;c(),s("ngIf",t.status==="completed"),c(),s("ngIf",t.status==="completed")}}function Bt(n,e){n&1&&v(0,"tr",50)}function $t(n,e){n&1&&v(0,"tr",51)}function Ut(n,e){if(n&1&&(i(0,"mat-card",29)(1,"table",30),h(2,31),_(3,Et,2,0,"th",32)(4,Ht,2,1,"td",33),M(),h(5,34),_(6,It,2,0,"th",32)(7,Qt,2,1,"td",33),M(),h(8,35),_(9,Tt,2,0,"th",32)(10,kt,5,4,"td",33),M(),h(11,36),_(12,Dt,2,0,"th",32)(13,Vt,2,1,"td",33),M(),h(14,37),_(15,Rt,2,0,"th",32)(16,Ft,3,2,"td",33),M(),h(17,38),_(18,Lt,2,0,"th",32)(19,Nt,3,2,"td",33),M(),_(20,Bt,1,0,"tr",39)(21,$t,1,0,"tr",40),o()()),n&2){let t=l(2);c(),s("dataSource",t.history()),c(19),s("matHeaderRowDef",t.displayedColumns),c(),s("matRowDefColumns",t.displayedColumns)}}function jt(n,e){if(n&1){let t=P();i(0,"div",63)(1,"button",64),u("click",function(){g(t);let m=l().$implicit,d=l(3);return p(d.viewResults(m.id))}),i(2,"mat-icon"),r(3,"visibility"),o(),r(4," View Results "),o(),i(5,"button",65),u("click",function(){g(t);let m=l().$implicit,d=l(3);return p(d.reviewQuiz(m.id))}),i(6,"mat-icon"),r(7,"rate_review"),o(),r(8," Review "),o()()}}function Yt(n,e){if(n&1&&(i(0,"mat-card",54)(1,"mat-card-content")(2,"div",55)(3,"div",56)(4,"mat-icon"),r(5,"quiz"),o(),i(6,"span"),r(7),o()(),i(8,"mat-chip",45),r(9),o()(),i(10,"div",57)(11,"div",58)(12,"mat-icon"),r(13,"calendar_today"),o(),i(14,"span"),r(15),o()(),i(16,"div",58)(17,"mat-icon"),r(18,"timer"),o(),i(19,"span"),r(20),o()(),i(21,"div",59)(22,"span",60),r(23,"Score:"),o(),i(24,"span",61),r(25),o()()(),_(26,jt,9,0,"div",62),o()()),n&2){let t=e.$implicit,a=l(3);c(7),O((t.category==null?null:t.category.name)||"Unknown"),c(),s("ngClass",a.getStatusClass(t.status)),c(),y(" ",t.status==="in_progress"?"In Progress":t.status==="completed"?"Completed":"Abandoned"," "),c(6),O(a.formatDate(t.completedAt||t.startedAt)),c(5),O(a.formatDuration(t.time.spent)),c(4),s("ngClass",a.getScoreColor(t.score.earned,t.questions.total)),c(),E(" ",t.score.earned,"/",t.questions.total," (",(t.score.earned/t.questions.total*100).toFixed(0),"%) "),c(),s("ngIf",t.status==="completed")}}function Gt(n,e){if(n&1&&(i(0,"div",52),_(1,Yt,27,10,"mat-card",53),o()),n&2){let t=l(2);c(),s("ngForOf",t.history())}}function Jt(n,e){if(n&1){let t=P();i(0,"mat-paginator",66),u("page",function(m){g(t);let d=l(2);return p(d.onPageChange(m))}),o()}if(n&2){let t=l(2);s("length",t.totalItems())("pageSize",t.pageSize())("pageIndex",t.currentPage()-1)("pageSizeOptions",b(4,vt))}}function Kt(n,e){if(n&1){let t=P();i(0,"div",8)(1,"div",9)(2,"div",10)(3,"h1")(4,"mat-icon"),r(5,"history"),o(),r(6," Quiz History "),o(),i(7,"p",11),r(8,"View all your completed quizzes"),o()(),i(9,"button",12),u("click",function(){g(t);let m=l();return p(m.exportToCSV())}),i(10,"mat-icon"),r(11,"download"),o(),r(12," Export CSV "),o()(),i(13,"mat-card",13)(14,"mat-card-content")(15,"div",14)(16,"mat-form-field",15)(17,"mat-label"),r(18,"Filter by Category"),o(),i(19,"mat-select",16),u("selectionChange",function(m){g(t);let d=l();return p(d.onCategoryChange(m.value))}),i(20,"mat-option",17),r(21,"All Categories"),o(),_(22,St,2,2,"mat-option",18),o()(),i(23,"mat-form-field",15)(24,"mat-label"),r(25,"Sort By"),o(),i(26,"mat-select",16),u("selectionChange",function(m){g(t);let d=l();return p(d.onSortChange(m.value))}),i(27,"mat-option",19),r(28,"Date (Newest First)"),o(),i(29,"mat-option",20),r(30,"Score (Highest First)"),o()()(),i(31,"button",21),u("click",function(){g(t);let m=l();return p(m.refresh())}),i(32,"mat-icon"),r(33,"refresh"),o()()()()(),_(34,zt,11,2,"div",22)(35,Ut,22,3,"mat-card",23)(36,Gt,2,1,"div",24)(37,Jt,1,5,"mat-paginator",25),o()}if(n&2){let t=l();c(9),s("disabled",t.isEmpty()),c(10),s("value",t.selectedCategory()),c(),s("value",null),c(2),s("ngForOf",t.categories()),c(4),s("value",t.sortBy()),c(8),s("ngIf",t.isEmpty()),c(),s("ngIf",!t.isEmpty()),c(),s("ngIf",!t.isEmpty()),c(),s("ngIf",!t.isEmpty())}}var ht=class n{userService=x(nt);authService=x(R);categoryService=x(W);router=x(D);route=x(k);isLoading=C(!0);history=C([]);pagination=C(null);categories=C([]);error=C(null);currentPage=C(1);pageSize=C(10);selectedCategory=C(null);sortBy=C("date");displayedColumns=["date","category","score","time","status","actions"];isEmpty=w(()=>this.history().length===0&&!this.isLoading());totalItems=w(()=>this.pagination()?.totalItems||0);ngOnInit(){this.loadCategories(),this.loadHistoryFromRoute()}loadCategories(){this.categoryService.getCategories().subscribe({next:e=>{this.categories.set(e.categories||[])},error:e=>{console.error("Error loading categories:",e)}})}loadHistoryFromRoute(){this.route.queryParams.subscribe(e=>{let t=e.page?parseInt(e.page,10):1,a=e.limit?parseInt(e.limit,10):10,m=e.category||null,d=e.sortBy||"date";this.currentPage.set(t),this.pageSize.set(a),this.selectedCategory.set(m),this.sortBy.set(d),this.loadHistory()})}loadHistory(){let t=this.authService.authState()?.user;if(!t||!t.id){this.router.navigate(["/login"]);return}this.isLoading.set(!0),this.error.set(null),this.userService.getHistory(t.id,this.currentPage(),this.pageSize(),this.selectedCategory()||void 0,this.sortBy()).subscribe({next:a=>{this.history.set(a.data.sessions||[]),this.pagination.set(a.data.pagination),this.isLoading.set(!1)},error:a=>{console.error("History error:",a),this.error.set("Failed to load quiz history"),this.isLoading.set(!1)}})}onPageChange(e){this.currentPage.set(e.pageIndex+1),this.pageSize.set(e.pageSize),this.updateUrlAndLoad()}onCategoryChange(e){this.selectedCategory.set(e),this.currentPage.set(1),this.updateUrlAndLoad()}onSortChange(e){this.sortBy.set(e),this.currentPage.set(1),this.updateUrlAndLoad()}updateUrlAndLoad(){let e={page:this.currentPage(),limit:this.pageSize(),sortBy:this.sortBy()};this.selectedCategory()&&(e.category=this.selectedCategory()),this.router.navigate([],{relativeTo:this.route,queryParams:e,queryParamsHandling:"merge"})}viewResults(e){e&&this.router.navigate(["/quiz",e,"results"])}reviewQuiz(e){e&&this.router.navigate(["/quiz",e,"review"])}formatDate(e){return e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"N/A"}formatDuration(e){if(!e)return"0s";let t=Math.floor(e/60),a=e%60;return t===0?`${a}s`:`${t}m ${a}s`}getScoreColor(e,t){let a=e/t*100;return a>=80?"success":a>=60?"warning":"error"}getStatusClass(e){switch(e){case"completed":return"status-completed";case"in_progress":return"status-in-progress";case"abandoned":return"status-abandoned";default:return""}}exportToCSV(){if(this.history().length===0)return;let t=[["Date","Category","Score","Total Questions","Percentage","Time Spent","Status"].join(",")];this.history().forEach(f=>{let Pt=(f.score.earned/f.questions.total*100).toFixed(2),xt=[this.formatDate(f.completedAt||f.startedAt),f.category?.name||"Unknown",f.score.earned.toString(),f.questions.total.toString(),`${Pt}%`,this.formatDuration(f.time.spent),f.status];t.push(xt.join(","))});let a=t.join(` +`),m=new Blob([a],{type:"text/csv;charset=utf-8;"}),d=document.createElement("a"),Mt=URL.createObjectURL(m);d.setAttribute("href",Mt),d.setAttribute("download",`quiz-history-${new Date().toISOString().split("T")[0]}.csv`),d.style.visibility="hidden",document.body.appendChild(d),d.click(),document.body.removeChild(d)}refresh(){this.loadHistory()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=S({type:n,selectors:[["app-quiz-history"]],decls:3,vars:3,consts:[["class","loading-container",4,"ngIf"],["class","error-container",4,"ngIf"],["class","history-container",4,"ngIf"],[1,"loading-container"],["diameter","50"],[1,"error-container"],[1,"error-icon"],["mat-raised-button","","color","primary",3,"click"],[1,"history-container"],[1,"history-header"],[1,"header-title"],[1,"subtitle"],["mat-raised-button","","color","primary",3,"click","disabled"],[1,"filters-card"],[1,"filters-row"],["appearance","outline",1,"filter-field"],[3,"selectionChange","value"],[3,"value"],[3,"value",4,"ngFor","ngForOf"],["value","date"],["value","score"],["mat-icon-button","","matTooltip","Refresh",3,"click"],["class","empty-state",4,"ngIf"],["class","table-card desktop-only",4,"ngIf"],["class","mobile-cards mobile-only",4,"ngIf"],["showFirstLastButtons","",3,"length","pageSize","pageIndex","pageSizeOptions","page",4,"ngIf"],[1,"empty-state"],[1,"empty-icon"],["mat-raised-button","","color","primary",3,"routerLink"],[1,"table-card","desktop-only"],["mat-table","",1,"history-table",3,"dataSource"],["matColumnDef","date"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","category"],["matColumnDef","score"],["matColumnDef","time"],["matColumnDef","status"],["matColumnDef","actions"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell",""],[1,"score-badge",3,"ngClass"],[1,"percentage"],[3,"ngClass"],["mat-icon-button","","matTooltip","View Results",3,"click",4,"ngIf"],["mat-icon-button","","matTooltip","Review Quiz",3,"click",4,"ngIf"],["mat-icon-button","","matTooltip","View Results",3,"click"],["mat-icon-button","","matTooltip","Review Quiz",3,"click"],["mat-header-row",""],["mat-row",""],[1,"mobile-cards","mobile-only"],["class","history-card",4,"ngFor","ngForOf"],[1,"history-card"],[1,"card-header"],[1,"card-title"],[1,"card-details"],[1,"detail-row"],[1,"detail-row","score-row"],[1,"score-label"],[1,"score-value",3,"ngClass"],["class","card-actions",4,"ngIf"],[1,"card-actions"],["mat-button","","color","primary",3,"click"],["mat-button","","color","accent",3,"click"],["showFirstLastButtons","",3,"page","length","pageSize","pageIndex","pageSizeOptions"]],template:function(t,a){t&1&&_(0,bt,4,0,"div",0)(1,wt,11,1,"div",1)(2,Kt,38,9,"div",2),t&2&&(s("ngIf",a.isLoading()),c(),s("ngIf",a.error()&&!a.isLoading()),c(),s("ngIf",!a.isLoading()&&!a.error()))},dependencies:[T,H,I,Q,V,q,F,L,j,U,$,G,Y,K,J,gt,it,rt,lt,at,ot,mt,ct,st,dt,_t,yt,ft,Ct,N,A,ut,pt,B,et,tt,Z,X],styles:[".history-container[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto;padding:2rem;animation:_ngcontent-%COMP%_fadeIn .4s ease-in}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1rem}.error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;padding:2rem}.error-container[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:4rem;width:4rem;height:4rem;color:var(--color-error)}.error-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:var(--text-primary)}.error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);margin:.5rem 0 1.5rem}.history-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;animation:_ngcontent-%COMP%_slideDown .5s ease-out}.history-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;margin:0 0 .5rem;font-size:2rem;font-weight:600;color:var(--text-primary)}.history-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:2rem;width:2rem;height:2rem;color:var(--color-primary)}.history-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:0;color:var(--text-secondary);font-size:1rem}.history-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.filters-card[_ngcontent-%COMP%]{margin-bottom:2rem;animation:_ngcontent-%COMP%_slideUp .5s ease-out}.filters-card[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%]{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.filters-card[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-field[_ngcontent-%COMP%]{min-width:200px;flex:1;max-width:300px}.filters-card[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] button[mat-icon-button][_ngcontent-%COMP%]{margin-top:-8px}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem;animation:_ngcontent-%COMP%_fadeIn .6s ease-in}.empty-state[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%]{font-size:5rem;width:5rem;height:5rem;color:var(--color-primary);opacity:.5;margin-bottom:1rem}.empty-state[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 1rem;color:var(--text-primary)}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);margin:0 0 2rem;font-size:1.1rem}.empty-state[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.table-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .6s ease-out;overflow-x:auto;margin-bottom:1.5rem}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%]{width:100%}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:1rem;color:var(--text-primary)}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{transition:background-color .2s ease}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:var(--bg-hover)}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] .score-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:16px;font-weight:600;font-size:.875rem}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] .score-badge.success[_ngcontent-%COMP%]{background-color:#4caf501a;color:#4caf50}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] .score-badge.warning[_ngcontent-%COMP%]{background-color:#ff98001a;color:#ff9800}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] .score-badge.error[_ngcontent-%COMP%]{background-color:#f443361a;color:#f44336}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] .score-badge[_ngcontent-%COMP%] .percentage[_ngcontent-%COMP%]{font-size:.75rem;opacity:.8}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{font-size:.75rem;height:24px}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] mat-chip.status-completed[_ngcontent-%COMP%]{background-color:#4caf501a;color:#4caf50}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] mat-chip.status-in-progress[_ngcontent-%COMP%]{background-color:#2196f31a;color:#2196f3}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] mat-chip.status-abandoned[_ngcontent-%COMP%]{background-color:#9e9e9e1a;color:#9e9e9e}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] button[mat-icon-button][_ngcontent-%COMP%]{transition:all .2s ease}.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] button[mat-icon-button][_ngcontent-%COMP%]:hover{transform:scale(1.1)}.mobile-cards[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;animation:_ngcontent-%COMP%_slideUp .6s ease-out}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%]{transition:all .3s ease}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.1rem;color:var(--text-primary)}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] .card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{font-size:.75rem;height:24px}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] mat-chip.status-completed[_ngcontent-%COMP%]{background-color:#4caf501a;color:#4caf50}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] mat-chip.status-in-progress[_ngcontent-%COMP%]{background-color:#2196f31a;color:#2196f3}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-header[_ngcontent-%COMP%] mat-chip.status-abandoned[_ngcontent-%COMP%]{background-color:#9e9e9e1a;color:#9e9e9e}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:.875rem}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem;color:var(--color-primary)}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%] .detail-row.score-row[_ngcontent-%COMP%]{padding-top:.5rem;border-top:1px solid var(--border-color);margin-top:.25rem}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%] .detail-row.score-row[_ngcontent-%COMP%] .score-label[_ngcontent-%COMP%]{font-weight:600;color:var(--text-primary)}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%] .detail-row.score-row[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%]{margin-left:auto;font-weight:700;font-size:1rem}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%] .detail-row.score-row[_ngcontent-%COMP%] .score-value.success[_ngcontent-%COMP%]{color:#4caf50}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%] .detail-row.score-row[_ngcontent-%COMP%] .score-value.warning[_ngcontent-%COMP%]{color:#ff9800}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-details[_ngcontent-%COMP%] .detail-row.score-row[_ngcontent-%COMP%] .score-value.error[_ngcontent-%COMP%]{color:#f44336}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;justify-content:flex-end;padding-top:.75rem;border-top:1px solid var(--border-color)}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%] .card-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.25rem}mat-paginator[_ngcontent-%COMP%]{background-color:transparent;animation:_ngcontent-%COMP%_fadeIn .7s ease-out}.desktop-only[_ngcontent-%COMP%]{display:block}.mobile-only[_ngcontent-%COMP%]{display:none}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.history-container[_ngcontent-%COMP%]{padding:1.5rem}.filters-card[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-field[_ngcontent-%COMP%]{max-width:100%}}@media (max-width: 768px){.history-container[_ngcontent-%COMP%]{padding:1rem}.history-header[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}.history-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}.history-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.filters-card[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%]{flex-direction:column}.filters-card[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-field[_ngcontent-%COMP%]{width:100%;max-width:100%}.filters-card[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] button[mat-icon-button][_ngcontent-%COMP%]{align-self:flex-start}.desktop-only[_ngcontent-%COMP%]{display:none}.mobile-only[_ngcontent-%COMP%]{display:flex}}@media (prefers-color-scheme: dark){.table-card[_ngcontent-%COMP%] .history-table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover{background-color:#ffffff0d}.mobile-cards[_ngcontent-%COMP%] .history-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #0000004d}}"]})};export{ht as QuizHistoryComponent}; diff --git a/chunk-DS2WJYIM.js b/chunk-DS2WJYIM.js new file mode 100644 index 0000000..be50839 --- /dev/null +++ b/chunk-DS2WJYIM.js @@ -0,0 +1 @@ +import{a as k,c as E,i as O}from"./chunk-6NRCTHHS.js";import{Aa as R,j as v,w as P,wa as y,ya as D,za as S}from"./chunk-COFYR5MX.js";import{Db as s,Eb as m,Ic as M,Jc as c,Kb as n,Lb as t,Tb as C,Xb as g,Za as a,Zb as p,ia as u,ib as h,ja as _,kc as w,lc as r,mc as f,nc as b,ob as x}from"./chunk-2MUIW2M6.js";function I(o,l){if(o&1&&(n(0,"p",5),r(1),t()),o&2){let e=p();a(),b("Error Code: ",e.errorCode())}}function N(o,l){if(o&1){let e=C();n(0,"button",13),g("click",function(){u(e);let d=p();return _(d.onRetry())}),n(1,"mat-icon"),r(2,"refresh"),t(),r(3," Retry "),t()}}function V(o,l){if(o&1){let e=C();n(0,"button",14),g("click",function(){u(e);let d=p();return _(d.reloadPage())}),n(1,"mat-icon"),r(2,"refresh"),t(),r(3," Reload Page "),t()}}function B(o,l){if(o&1){let e=C();n(0,"button",15),g("click",function(){u(e);let d=p();return _(d.goBack())}),n(1,"mat-icon"),r(2,"arrow_back"),t(),r(3," Go Back "),t()}}function z(o,l){if(o&1&&(n(0,"div",17)(1,"pre"),r(2),t()()),o&2){let e=p(2);a(2),f(e.errorDetails())}}function G(o,l){if(o&1){let e=C();n(0,"div",11)(1,"button",16),g("click",function(){u(e);let d=p();return _(d.toggleDetails())}),n(2,"mat-icon"),r(3),t(),r(4),t(),s(5,z,3,1,"div",17),t()}if(o&2){let e=p();a(3),f(e.detailsExpanded?"expand_less":"expand_more"),a(),b(" ",e.detailsExpanded?"Hide":"Show"," Details "),a(),m(e.detailsExpanded?5:-1)}}function H(o,l){o&1&&(n(0,"div",12)(1,"p"),r(2,"If the problem persists, please contact support."),t()())}var T=class o{constructor(l){this.router=l}title=c("Something Went Wrong");message=c("An unexpected error occurred. Please try again or contact support if the problem persists.");errorCode=c(null);errorType=c("default");errorDetails=c(null);showRetry=c(!0);showReload=c(!1);showBack=c(!0);showDetails=c(!1);showSupport=c(!0);retry=M();detailsExpanded=!1;getIcon(){switch(this.errorType()){case"500":return"report_problem";case"404":return"search_off";case"403":return"lock";case"401":return"person_off";case"network":return"cloud_off";default:return"error_outline"}}toggleDetails(){this.detailsExpanded=!this.detailsExpanded}onRetry(){this.retry.emit()}reloadPage(){window.location.reload()}goHome(){this.router.navigate(["/"])}goBack(){window.history.length>1?window.history.back():this.goHome()}static \u0275fac=function(e){return new(e||o)(h(P))};static \u0275cmp=x({type:o,selectors:[["app-error"]],inputs:{title:[1,"title"],message:[1,"message"],errorCode:[1,"errorCode"],errorType:[1,"errorType"],errorDetails:[1,"errorDetails"],showRetry:[1,"showRetry"],showReload:[1,"showReload"],showBack:[1,"showBack"],showDetails:[1,"showDetails"],showSupport:[1,"showSupport"]},outputs:{retry:"retry"},decls:21,vars:11,consts:[[1,"error-container"],[1,"error-card"],[1,"error-icon"],[1,"error-title"],[1,"error-message"],[1,"error-code"],[1,"error-actions"],["mat-raised-button","","color","primary","aria-label","Retry the operation"],["mat-raised-button","","color","primary","aria-label","Reload the page"],["mat-raised-button","","aria-label","Go to home page",3,"click"],["mat-stroked-button","","aria-label","Go back"],[1,"error-details"],[1,"support-message"],["mat-raised-button","","color","primary","aria-label","Retry the operation",3,"click"],["mat-raised-button","","color","primary","aria-label","Reload the page",3,"click"],["mat-stroked-button","","aria-label","Go back",3,"click"],["mat-button","","aria-label","Toggle error details",1,"details-toggle",3,"click"],[1,"details-content"]],template:function(e,i){e&1&&(n(0,"div",0)(1,"mat-card",1)(2,"mat-card-content")(3,"div",2)(4,"mat-icon"),r(5),t()(),n(6,"h1",3),r(7),t(),n(8,"p",4),r(9),t(),s(10,I,2,1,"p",5),n(11,"div",6),s(12,N,4,0,"button",7),s(13,V,4,0,"button",8),n(14,"button",9),g("click",function(){return i.goHome()}),n(15,"mat-icon"),r(16,"home"),t(),r(17," Go to Home "),t(),s(18,B,4,0,"button",10),t(),s(19,G,6,3,"div",11),s(20,H,3,0,"div",12),t()()()),e&2&&(a(4),w("error-icon-"+i.errorType()),a(),b(" ",i.getIcon()," "),a(2),f(i.title()),a(2),f(i.message()),a(),m(i.errorCode()?10:-1),a(2),m(i.showRetry()?12:-1),a(),m(i.showReload()?13:-1),a(5),m(i.showBack()?18:-1),a(),m(i.showDetails()&&i.errorDetails()?19:-1),a(),m(i.showSupport()?20:-1))},dependencies:[v,D,y,R,S,O,k,E],styles:[".error-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.error-card[_ngcontent-%COMP%]{max-width:600px;width:100%;text-align:center;padding:2rem}.error-icon[_ngcontent-%COMP%]{margin-bottom:1.5rem}.error-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:80px;width:80px;height:80px}.error-icon-500[_ngcontent-%COMP%]{color:#f44336}.error-icon-404[_ngcontent-%COMP%], .error-icon-403[_ngcontent-%COMP%], .error-icon-401[_ngcontent-%COMP%]{color:#ff9800}.error-icon-network[_ngcontent-%COMP%]{color:#9e9e9e}.error-icon-default[_ngcontent-%COMP%]{color:#f44336}.error-title[_ngcontent-%COMP%]{font-size:2rem;font-weight:600;color:#333;margin-bottom:1rem}.error-message[_ngcontent-%COMP%]{font-size:1.125rem;color:#666;margin-bottom:1rem;line-height:1.6}.error-code[_ngcontent-%COMP%]{font-size:.875rem;color:#999;font-family:Courier New,monospace;margin-bottom:1.5rem}.error-actions[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:2rem 0}.error-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{min-width:140px}.error-details[_ngcontent-%COMP%]{margin-top:2rem;text-align:left}.details-toggle[_ngcontent-%COMP%]{width:100%;justify-content:center;margin-bottom:1rem}.details-content[_ngcontent-%COMP%]{background:#f5f5f5;border-radius:4px;padding:1rem;max-height:300px;overflow-y:auto}.details-content[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{margin:0;font-size:.875rem;color:#333;white-space:pre-wrap;word-break:break-word}.support-message[_ngcontent-%COMP%]{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.support-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:.875rem}@media (prefers-color-scheme: dark){.error-container[_ngcontent-%COMP%]{background:linear-gradient(135deg,#1a1a2e,#16213e)}.error-card[_ngcontent-%COMP%]{background:#1e1e1e;color:#e0e0e0}.error-title[_ngcontent-%COMP%]{color:#e0e0e0}.error-message[_ngcontent-%COMP%]{color:#b0b0b0}.details-content[_ngcontent-%COMP%]{background:#2a2a2a}.details-content[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{color:#e0e0e0}.support-message[_ngcontent-%COMP%]{border-top-color:#333}}@media (max-width: 768px){.error-card[_ngcontent-%COMP%]{padding:1.5rem}.error-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:60px;width:60px;height:60px}.error-title[_ngcontent-%COMP%]{font-size:1.5rem}.error-message[_ngcontent-%COMP%]{font-size:1rem}.error-actions[_ngcontent-%COMP%]{flex-direction:column}.error-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}"]})};export{T as ErrorComponent}; diff --git a/chunk-E645CZY6.js b/chunk-E645CZY6.js new file mode 100644 index 0000000..6d17f6b --- /dev/null +++ b/chunk-E645CZY6.js @@ -0,0 +1,4 @@ +import{b as we,c as xe}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as ye}from"./chunk-7XDVX5KB.js";import{a as De,b as Le}from"./chunk-CTXOKINH.js";import{a as Ve}from"./chunk-LA37G65K.js";import{b as Re,c as Be,g as Fe,j as Ae,k as vt}from"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import"./chunk-3GOV5KJM.js";import{a as Ut}from"./chunk-TPLZKWZ7.js";import{a as he,b as ue,c as ge,d as _e,e as fe,f as ve,i as Ce}from"./chunk-EGL4ZKWQ.js";import{a as de,b as ce,c as me,f as be,i as pe}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as Se,b as Ee}from"./chunk-N6VRXIQE.js";import{b as Zt,d as y,f as Yt,g as Kt,l as Xt,o as Jt,r as te,x as ee,z as ne}from"./chunk-GWD5A44H.js";import{a as $t}from"./chunk-52JZ5I3Y.js";import{Aa as Oe,H as ut,M as ae,N as ie,Q as re,X as oe,Y as se,_ as le,ca as gt,ea as _t,i as jt,j as Wt,oa as et,ra as ft,ta as Pe,ua as Me,w as Gt,wa as ke,x as qt,ya as Te,za as Ie}from"./chunk-COFYR5MX.js";import{$ as Bt,$b as K,A as G,Aa as $,B as Et,Bb as zt,Ca as N,Cb as x,Da as At,Db as I,Eb as O,F as Dt,Gb as ot,Hb as st,Ib as lt,Jb as b,Kb as r,Lb as o,Mb as v,Mc as J,Pc as k,Qb as dt,Qc as tt,R as Lt,Rb as ct,S as q,T as Rt,Tb as Q,U as S,Xb as g,Za as d,Zb as w,_b as Y,ac as j,ba as A,bc as P,cb as T,cc as _,d as D,da as m,db as H,dc as f,eb as U,f as Tt,fb as Z,hb as it,hc as mt,i as F,ia as h,ic as X,ja as u,jc as M,kb as Vt,kc as B,l as It,lc as s,ma as at,mc as C,n as Ot,nc as bt,ob as L,pb as Nt,qb as R,sb as z,ta as V,ub as rt,uc as W,vb as Ht,vc as Qt,wc as pt,y as St,yc as ht,za as Ft}from"./chunk-2MUIW2M6.js";var Pt=["*"];function Ke(a,l){a&1&&K(0)}var Xe=["tabListContainer"],Je=["tabList"],tn=["tabListInner"],en=["nextPaginator"],nn=["previousPaginator"],an=["content"];function rn(a,l){}var on=["tabBodyWrapper"],sn=["tabHeader"];function ln(a,l){}function dn(a,l){if(a&1&&rt(0,ln,0,0,"ng-template",12),a&2){let t=w().$implicit;b("cdkPortalOutlet",t.templateLabel)}}function cn(a,l){if(a&1&&s(0),a&2){let t=w().$implicit;C(t.textLabel)}}function mn(a,l){if(a&1){let t=Q();r(0,"div",7,2),g("click",function(){let n=h(t),i=n.$implicit,c=n.$index,p=w(),E=mt(1);return u(p._handleClick(i,E,c))})("cdkFocusChange",function(n){let i=h(t).$index,c=w();return u(c._tabFocusChanged(n,i))}),v(2,"span",8)(3,"div",9),r(4,"span",10)(5,"span",11),I(6,dn,1,1,null,12)(7,cn,1,1),o()()()}if(a&2){let t=l.$implicit,e=l.$index,n=mt(1),i=w();B(t.labelClass),M("mdc-tab--active",i.selectedIndex===e),b("id",i._getTabLabelId(t,e))("disabled",t.disabled)("fitInkBarToContent",i.fitInkBarToContent),x("tabIndex",i._getTabIndex(e))("aria-posinset",e+1)("aria-setsize",i._tabs.length)("aria-controls",i._getTabContentId(e))("aria-selected",i.selectedIndex===e)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null),d(3),b("matRippleTrigger",n)("matRippleDisabled",t.disabled||i.disableRipple),d(3),O(t.templateLabel?6:7)}}function bn(a,l){a&1&&K(0)}function pn(a,l){if(a&1){let t=Q();r(0,"mat-tab-body",13),g("_onCentered",function(){h(t);let n=w();return u(n._removeTabBodyWrapperHeight())})("_onCentering",function(n){h(t);let i=w();return u(i._setTabBodyWrapperHeight(n))})("_beforeCentering",function(n){h(t);let i=w();return u(i._bodyCentered(n))}),o()}if(a&2){let t=l.$implicit,e=l.$index,n=w();B(t.bodyClass),b("id",n._getTabContentId(e))("content",t.content)("position",t.position)("animationDuration",n.animationDuration)("preserveContent",n.preserveContent),x("tabindex",n.contentTabIndex!=null&&n.selectedIndex===e?n.contentTabIndex:null)("aria-labelledby",n._getTabLabelId(t,e))("aria-hidden",n.selectedIndex!==e)}}var hn=new A("MatTabContent"),un=(()=>{class a{template=m(Z);constructor(){}static \u0275fac=function(e){return new(e||a)};static \u0275dir=R({type:a,selectors:[["","matTabContent",""]],features:[W([{provide:hn,useExisting:a}])]})}return a})(),gn=new A("MatTabLabel"),Qe=new A("MAT_TAB"),_n=(()=>{class a extends Ae{_closestTab=m(Qe,{optional:!0});static \u0275fac=(()=>{let t;return function(n){return(t||(t=$(a)))(n||a)}})();static \u0275dir=R({type:a,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[W([{provide:gn,useExisting:a}]),z]})}return a})(),je=new A("MAT_TAB_GROUP"),Mt=(()=>{class a{_viewContainerRef=m(Vt);_closestTabGroup=m(je,{optional:!0});disabled=!1;get templateLabel(){return this._templateLabel}set templateLabel(t){this._setTemplateLabelInput(t)}_templateLabel;_explicitContent=void 0;_implicitContent;textLabel="";ariaLabel;ariaLabelledby;labelClass;bodyClass;id=null;_contentPortal=null;get content(){return this._contentPortal}_stateChanges=new F;position=null;origin=null;isActive=!1;constructor(){m(ie).load(Pe)}ngOnChanges(t){(t.hasOwnProperty("textLabel")||t.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new Fe(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(t){t&&t._closestTab===this&&(this._templateLabel=t)}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=L({type:a,selectors:[["mat-tab"]],contentQueries:function(e,n,i){if(e&1&&(j(i,_n,5),j(i,un,7,Z)),e&2){let c;_(c=f())&&(n.templateLabel=c.first),_(c=f())&&(n._explicitContent=c.first)}},viewQuery:function(e,n){if(e&1&&P(Z,7),e&2){let i;_(i=f())&&(n._implicitContent=i.first)}},hostAttrs:["hidden",""],hostVars:1,hostBindings:function(e,n){e&2&&x("id",null)},inputs:{disabled:[2,"disabled","disabled",k],textLabel:[0,"label","textLabel"],ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass",id:"id"},exportAs:["matTab"],features:[W([{provide:Qe,useExisting:a}]),Ft],ngContentSelectors:Pt,decls:1,vars:0,template:function(e,n){e&1&&(Y(),Ht(0,Ke,1,0,"ng-template"))},encapsulation:2})}return a})(),Ct="mdc-tab-indicator--active",Ne="mdc-tab-indicator--no-transition",yt=class{_items;_currentItem;constructor(l){this._items=l}hide(){this._items.forEach(l=>l.deactivateInkBar()),this._currentItem=void 0}alignToElement(l){let t=this._items.find(n=>n.elementRef.nativeElement===l),e=this._currentItem;if(t!==e&&(e?.deactivateInkBar(),t)){let n=e?.elementRef.nativeElement.getBoundingClientRect?.();t.activateInkBar(n),this._currentItem=t}}},fn=(()=>{class a{_elementRef=m(N);_inkBarElement;_inkBarContentElement;_fitToContent=!1;get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(t){this._fitToContent!==t&&(this._fitToContent=t,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(t){let e=this._elementRef.nativeElement;if(!t||!e.getBoundingClientRect||!this._inkBarContentElement){e.classList.add(Ct);return}let n=e.getBoundingClientRect(),i=t.width/n.width,c=t.left-n.left;e.classList.add(Ne),this._inkBarContentElement.style.setProperty("transform",`translateX(${c}px) scaleX(${i})`),e.getBoundingClientRect(),e.classList.remove(Ne),e.classList.add(Ct),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this._elementRef.nativeElement.classList.remove(Ct)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){let t=this._elementRef.nativeElement.ownerDocument||document,e=this._inkBarElement=t.createElement("span"),n=this._inkBarContentElement=t.createElement("span");e.className="mdc-tab-indicator",n.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",e.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){this._inkBarElement;let t=this._fitToContent?this._elementRef.nativeElement.querySelector(".mdc-tab__content"):this._elementRef.nativeElement;t.appendChild(this._inkBarElement)}static \u0275fac=function(e){return new(e||a)};static \u0275dir=R({type:a,inputs:{fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",k]}})}return a})();var We=(()=>{class a extends fn{elementRef=m(N);disabled=!1;focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}static \u0275fac=(()=>{let t;return function(n){return(t||(t=$(a)))(n||a)}})();static \u0275dir=R({type:a,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(e,n){e&2&&(x("aria-disabled",!!n.disabled),M("mat-mdc-tab-disabled",n.disabled))},inputs:{disabled:[2,"disabled","disabled",k]},features:[z]})}return a})(),He={passive:!0},vn=650,Cn=100,yn=(()=>{class a{_elementRef=m(N);_changeDetectorRef=m(J);_viewportRuler=m(Be);_dir=m(gt,{optional:!0});_ngZone=m(H);_platform=m(ut);_sharedResizeObserver=m(he);_injector=m(at);_renderer=m(it);_animationsDisabled=et();_eventCleanups;_scrollDistance=0;_selectedIndexChanged=!1;_destroyed=new F;_showPaginationControls=!1;_disableScrollAfter=!0;_disableScrollBefore=!0;_tabLabelCount;_scrollDistanceChanged;_keyManager;_currentTextContent;_stopScrolling=new F;disablePagination=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(t){let e=isNaN(t)?0:t;this._selectedIndex!=e&&(this._selectedIndexChanged=!0,this._selectedIndex=e,this._keyManager&&this._keyManager.updateActiveItem(e))}_selectedIndex=0;selectFocusedIndex=new T;indexFocused=new T;constructor(){this._eventCleanups=this._ngZone.runOutsideAngular(()=>[this._renderer.listen(this._elementRef.nativeElement,"mouseleave",()=>this._stopInterval())])}ngAfterViewInit(){this._eventCleanups.push(this._renderer.listen(this._previousPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("before"),He),this._renderer.listen(this._nextPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("after"),He))}ngAfterContentInit(){let t=this._dir?this._dir.change:Ot("ltr"),e=this._sharedResizeObserver.observe(this._elementRef.nativeElement).pipe(Dt(32),S(this._destroyed)),n=this._viewportRuler.change(150).pipe(S(this._destroyed)),i=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new le(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(Math.max(this._selectedIndex,0)),U(i,{injector:this._injector}),G(t,n,e,this._items.changes,this._itemsResized()).pipe(S(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),i()})}),this._keyManager?.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(c=>{this.indexFocused.emit(c),this._setTabFocus(c)})}_itemsResized(){return typeof ResizeObserver!="function"?It:this._items.changes.pipe(q(this._items),Rt(t=>new Tt(e=>this._ngZone.runOutsideAngular(()=>{let n=new ResizeObserver(i=>e.next(i));return t.forEach(i=>n.observe(i.elementRef.nativeElement)),()=>{n.disconnect()}}))),Lt(1),Et(t=>t.some(e=>e.contentRect.width>0&&e.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._eventCleanups.forEach(t=>t()),this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(t){if(!se(t))switch(t.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){let e=this._items.get(this.focusIndex);e&&!e.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(t))}break;default:this._keyManager?.onKeydown(t)}}_onContentChanges(){let t=this._elementRef.nativeElement.textContent;t!==this._currentTextContent&&(this._currentTextContent=t||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(t){!this._isValidIndex(t)||this.focusIndex===t||!this._keyManager||this._keyManager.setActiveItem(t)}_isValidIndex(t){return this._items?!!this._items.toArray()[t]:!0}_setTabFocus(t){if(this._showPaginationControls&&this._scrollToLabel(t),this._items&&this._items.length){this._items.toArray()[t].focus();let e=this._tabListContainer.nativeElement;this._getLayoutDirection()=="ltr"?e.scrollLeft=0:e.scrollLeft=e.scrollWidth-e.offsetWidth}}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;let t=this.scrollDistance,e=this._getLayoutDirection()==="ltr"?-t:t;this._tabList.nativeElement.style.transform=`translateX(${Math.round(e)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(t){this._scrollTo(t)}_scrollHeader(t){let e=this._tabListContainer.nativeElement.offsetWidth,n=(t=="before"?-1:1)*e/3;return this._scrollTo(this._scrollDistance+n)}_handlePaginatorClick(t){this._stopInterval(),this._scrollHeader(t)}_scrollToLabel(t){if(this.disablePagination)return;let e=this._items?this._items.toArray()[t]:null;if(!e)return;let n=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:i,offsetWidth:c}=e.elementRef.nativeElement,p,E;this._getLayoutDirection()=="ltr"?(p=i,E=p+c):(E=this._tabListInner.nativeElement.offsetWidth-i,p=E-c);let nt=this.scrollDistance,kt=this.scrollDistance+n;pkt&&(this.scrollDistance+=Math.min(E-kt,p-nt))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{let t=this._tabListInner.nativeElement.scrollWidth,e=this._elementRef.nativeElement.offsetWidth,n=t-e>=5;n||(this.scrollDistance=0),n!==this._showPaginationControls&&(this._showPaginationControls=n,this._changeDetectorRef.markForCheck())}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=this.scrollDistance==0,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){let t=this._tabListInner.nativeElement.scrollWidth,e=this._tabListContainer.nativeElement.offsetWidth;return t-e||0}_alignInkBarToSelectedTab(){let t=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,e=t?t.elementRef.nativeElement:null;e?this._inkBar.alignToElement(e):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(t,e){e&&e.button!=null&&e.button!==0||(this._stopInterval(),St(vn,Cn).pipe(S(G(this._stopScrolling,this._destroyed))).subscribe(()=>{let{maxScrollDistance:n,distance:i}=this._scrollHeader(t);(i===0||i>=n)&&this._stopInterval()}))}_scrollTo(t){if(this.disablePagination)return{maxScrollDistance:0,distance:0};let e=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(e,t)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:e,distance:this._scrollDistance}}static \u0275fac=function(e){return new(e||a)};static \u0275dir=R({type:a,inputs:{disablePagination:[2,"disablePagination","disablePagination",k],selectedIndex:[2,"selectedIndex","selectedIndex",tt]},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"}})}return a})(),wn=(()=>{class a extends yn{_items;_tabListContainer;_tabList;_tabListInner;_nextPaginator;_previousPaginator;_inkBar;ariaLabel;ariaLabelledby;disableRipple=!1;ngAfterContentInit(){this._inkBar=new yt(this._items),super.ngAfterContentInit()}_itemSelected(t){t.preventDefault()}static \u0275fac=(()=>{let t;return function(n){return(t||(t=$(a)))(n||a)}})();static \u0275cmp=L({type:a,selectors:[["mat-tab-header"]],contentQueries:function(e,n,i){if(e&1&&j(i,We,4),e&2){let c;_(c=f())&&(n._items=c)}},viewQuery:function(e,n){if(e&1&&(P(Xe,7),P(Je,7),P(tn,7),P(en,5),P(nn,5)),e&2){let i;_(i=f())&&(n._tabListContainer=i.first),_(i=f())&&(n._tabList=i.first),_(i=f())&&(n._tabListInner=i.first),_(i=f())&&(n._nextPaginator=i.first),_(i=f())&&(n._previousPaginator=i.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(e,n){e&2&&M("mat-mdc-tab-header-pagination-controls-enabled",n._showPaginationControls)("mat-mdc-tab-header-rtl",n._getLayoutDirection()=="rtl")},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],disableRipple:[2,"disableRipple","disableRipple",k]},features:[z],ngContentSelectors:Pt,decls:13,vars:10,consts:[["previousPaginator",""],["tabListContainer",""],["tabList",""],["tabListInner",""],["nextPaginator",""],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"click","mousedown","touchend","matRippleDisabled"],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],[1,"mat-mdc-tab-labels"],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"mousedown","click","touchend","matRippleDisabled"]],template:function(e,n){if(e&1){let i=Q();Y(),r(0,"div",5,0),g("click",function(){return h(i),u(n._handlePaginatorClick("before"))})("mousedown",function(p){return h(i),u(n._handlePaginatorPress("before",p))})("touchend",function(){return h(i),u(n._stopInterval())}),v(2,"div",6),o(),r(3,"div",7,1),g("keydown",function(p){return h(i),u(n._handleKeydown(p))}),r(5,"div",8,2),g("cdkObserveContent",function(){return h(i),u(n._onContentChanges())}),r(7,"div",9,3),K(9),o()()(),r(10,"div",10,4),g("mousedown",function(p){return h(i),u(n._handlePaginatorPress("after",p))})("click",function(){return h(i),u(n._handlePaginatorClick("after"))})("touchend",function(){return h(i),u(n._stopInterval())}),v(12,"div",6),o()}e&2&&(M("mat-mdc-tab-header-pagination-disabled",n._disableScrollBefore),b("matRippleDisabled",n._disableScrollBefore||n.disableRipple),d(3),M("_mat-animation-noopable",n._animationsDisabled),d(2),x("aria-label",n.ariaLabel||null)("aria-labelledby",n.ariaLabelledby||null),d(5),M("mat-mdc-tab-header-pagination-disabled",n._disableScrollAfter),b("matRippleDisabled",n._disableScrollAfter||n.disableRipple))},dependencies:[ft,re],styles:[`.mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;outline:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-pagination-icon-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1;border-bottom-style:solid;border-bottom-width:var(--mat-tab-divider-height, 1px);border-bottom-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-group-inverted-header .mat-mdc-tab-label-container{border-bottom:none;border-top-style:solid;border-top-width:var(--mat-tab-divider-height, 1px);border-top-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.cdk-drop-list .mat-mdc-tab-labels,.mat-mdc-tab-labels.cdk-drop-list{min-height:var(--mat-tab-container-height, 48px)}.mat-mdc-tab::before{margin:5px}@media(forced-colors: active){.mat-mdc-tab[aria-disabled=true]{color:GrayText}} +`],encapsulation:2})}return a})(),xn=new A("MAT_TABS_CONFIG"),ze=(()=>{class a extends vt{_host=m(wt);_ngZone=m(H);_centeringSub=D.EMPTY;_leavingSub=D.EMPTY;constructor(){super()}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(q(this._host._isCenterPosition())).subscribe(t=>{this._host._content&&t&&!this.hasAttached()&&this._ngZone.run(()=>{Promise.resolve().then(),this.attach(this._host._content)})}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this._ngZone.run(()=>this.detach())})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}static \u0275fac=function(e){return new(e||a)};static \u0275dir=R({type:a,selectors:[["","matTabBodyHost",""]],features:[z]})}return a})(),wt=(()=>{class a{_elementRef=m(N);_dir=m(gt,{optional:!0});_ngZone=m(H);_injector=m(at);_renderer=m(it);_diAnimationsDisabled=et();_eventCleanups;_initialized;_fallbackTimer;_positionIndex;_dirChangeSubscription=D.EMPTY;_position;_previousPosition;_onCentering=new T;_beforeCentering=new T;_afterLeavingCenter=new T;_onCentered=new T(!0);_portalHost;_contentElement;_content;animationDuration="500ms";preserveContent=!1;set position(t){this._positionIndex=t,this._computePositionAnimationState()}constructor(){if(this._dir){let t=m(J);this._dirChangeSubscription=this._dir.change.subscribe(e=>{this._computePositionAnimationState(e),t.markForCheck()})}}ngOnInit(){this._bindTransitionEvents(),this._position==="center"&&(this._setActiveClass(!0),U(()=>this._onCentering.emit(this._elementRef.nativeElement.clientHeight),{injector:this._injector})),this._initialized=!0}ngOnDestroy(){clearTimeout(this._fallbackTimer),this._eventCleanups?.forEach(t=>t()),this._dirChangeSubscription.unsubscribe()}_bindTransitionEvents(){this._ngZone.runOutsideAngular(()=>{let t=this._elementRef.nativeElement,e=n=>{n.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.remove("mat-tab-body-animating"),n.type==="transitionend"&&this._transitionDone())};this._eventCleanups=[this._renderer.listen(t,"transitionstart",n=>{n.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.add("mat-tab-body-animating"),this._transitionStarted())}),this._renderer.listen(t,"transitionend",e),this._renderer.listen(t,"transitioncancel",e)]})}_transitionStarted(){clearTimeout(this._fallbackTimer);let t=this._position==="center";this._beforeCentering.emit(t),t&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_transitionDone(){this._position==="center"?this._onCentered.emit():this._previousPosition==="center"&&this._afterLeavingCenter.emit()}_setActiveClass(t){this._elementRef.nativeElement.classList.toggle("mat-mdc-tab-body-active",t)}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_isCenterPosition(){return this._positionIndex===0}_computePositionAnimationState(t=this._getLayoutDirection()){this._previousPosition=this._position,this._positionIndex<0?this._position=t=="ltr"?"left":"right":this._positionIndex>0?this._position=t=="ltr"?"right":"left":this._position="center",this._animationsDisabled()?this._simulateTransitionEvents():this._initialized&&(this._position==="center"||this._previousPosition==="center")&&(clearTimeout(this._fallbackTimer),this._fallbackTimer=this._ngZone.runOutsideAngular(()=>setTimeout(()=>this._simulateTransitionEvents(),100)))}_simulateTransitionEvents(){this._transitionStarted(),U(()=>this._transitionDone(),{injector:this._injector})}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0ms"||this.animationDuration==="0s"}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=L({type:a,selectors:[["mat-tab-body"]],viewQuery:function(e,n){if(e&1&&(P(ze,5),P(an,5)),e&2){let i;_(i=f())&&(n._portalHost=i.first),_(i=f())&&(n._contentElement=i.first)}},hostAttrs:[1,"mat-mdc-tab-body"],hostVars:1,hostBindings:function(e,n){e&2&&x("inert",n._position==="center"?null:"")},inputs:{_content:[0,"content","_content"],animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_onCentered:"_onCentered"},decls:3,vars:6,consts:[["content",""],["cdkScrollable","",1,"mat-mdc-tab-body-content"],["matTabBodyHost",""]],template:function(e,n){e&1&&(r(0,"div",1,0),rt(2,rn,0,0,"ng-template",2),o()),e&2&&M("mat-tab-body-content-left",n._position==="left")("mat-tab-body-content-right",n._position==="right")("mat-tab-body-content-can-animate",n._position==="center"||n._previousPosition==="center")},dependencies:[ze,Re],styles:[`.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto;transform:none;visibility:hidden}.mat-tab-body-animating>.mat-mdc-tab-body-content,.mat-mdc-tab-body-active>.mat-mdc-tab-body-content{visibility:visible}.mat-tab-body-animating>.mat-mdc-tab-body-content{min-height:1px}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-tab-body-content-can-animate{transition:transform var(--mat-tab-animation-duration) 1ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable .mat-tab-body-content-can-animate{transition:none}.mat-tab-body-content-left{transform:translate3d(-100%, 0, 0)}.mat-tab-body-content-right{transform:translate3d(100%, 0, 0)} +`],encapsulation:2})}return a})(),Ge=(()=>{class a{_elementRef=m(N);_changeDetectorRef=m(J);_ngZone=m(H);_tabsSubscription=D.EMPTY;_tabLabelSubscription=D.EMPTY;_tabBodySubscription=D.EMPTY;_diAnimationsDisabled=et();_allTabs;_tabBodies;_tabBodyWrapper;_tabHeader;_tabs=new At;_indexToSelect=0;_lastFocusedTabIndex=null;_tabBodyWrapperHeight=0;color;get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(t){this._fitInkBarToContent=t,this._changeDetectorRef.markForCheck()}_fitInkBarToContent=!1;stretchTabs=!0;alignTabs=null;dynamicHeight=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(t){this._indexToSelect=isNaN(t)?null:t}_selectedIndex=null;headerPosition="above";get animationDuration(){return this._animationDuration}set animationDuration(t){let e=t+"";this._animationDuration=/^\d+$/.test(e)?t+"ms":e}_animationDuration;get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(t){this._contentTabIndex=isNaN(t)?null:t}_contentTabIndex;disablePagination=!1;disableRipple=!1;preserveContent=!1;get backgroundColor(){return this._backgroundColor}set backgroundColor(t){let e=this._elementRef.nativeElement.classList;e.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),t&&e.add("mat-tabs-with-background",`mat-background-${t}`),this._backgroundColor=t}_backgroundColor;ariaLabel;ariaLabelledby;selectedIndexChange=new T;focusChange=new T;animationDone=new T;selectedTabChange=new T(!0);_groupId;_isServer=!m(ut).isBrowser;constructor(){let t=m(xn,{optional:!0});this._groupId=m(oe).getId("mat-tab-group-"),this.animationDuration=t&&t.animationDuration?t.animationDuration:"500ms",this.disablePagination=t&&t.disablePagination!=null?t.disablePagination:!1,this.dynamicHeight=t&&t.dynamicHeight!=null?t.dynamicHeight:!1,t?.contentTabIndex!=null&&(this.contentTabIndex=t.contentTabIndex),this.preserveContent=!!t?.preserveContent,this.fitInkBarToContent=t&&t.fitInkBarToContent!=null?t.fitInkBarToContent:!1,this.stretchTabs=t&&t.stretchTabs!=null?t.stretchTabs:!0,this.alignTabs=t&&t.alignTabs!=null?t.alignTabs:null}ngAfterContentChecked(){let t=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=t){let e=this._selectedIndex==null;if(!e){this.selectedTabChange.emit(this._createChangeEvent(t));let n=this._tabBodyWrapper.nativeElement;n.style.minHeight=n.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((n,i)=>n.isActive=i===t),e||(this.selectedIndexChange.emit(t),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((e,n)=>{e.position=n-t,this._selectedIndex!=null&&e.position==0&&!e.origin&&(e.origin=t-this._selectedIndex)}),this._selectedIndex!==t&&(this._selectedIndex=t,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{let t=this._clampTabIndex(this._indexToSelect);if(t===this._selectedIndex){let e=this._tabs.toArray(),n;for(let i=0;i{e[t].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(t))})}this._changeDetectorRef.markForCheck()})}ngAfterViewInit(){this._tabBodySubscription=this._tabBodies.changes.subscribe(()=>this._bodyCentered(!0))}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(q(this._allTabs)).subscribe(t=>{this._tabs.reset(t.filter(e=>e._closestTabGroup===this||!e._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe(),this._tabBodySubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(t){let e=this._tabHeader;e&&(e.focusIndex=t)}_focusChanged(t){this._lastFocusedTabIndex=t,this.focusChange.emit(this._createChangeEvent(t))}_createChangeEvent(t){let e=new xt;return e.index=t,this._tabs&&this._tabs.length&&(e.tab=this._tabs.toArray()[t]),e}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=G(...this._tabs.map(t=>t._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(t){return Math.min(this._tabs.length-1,Math.max(t||0,0))}_getTabLabelId(t,e){return t.id||`${this._groupId}-label-${e}`}_getTabContentId(t){return`${this._groupId}-content-${t}`}_setTabBodyWrapperHeight(t){if(!this.dynamicHeight||!this._tabBodyWrapperHeight){this._tabBodyWrapperHeight=t;return}let e=this._tabBodyWrapper.nativeElement;e.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(e.style.height=t+"px")}_removeTabBodyWrapperHeight(){let t=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=t.clientHeight,t.style.height="",this._ngZone.run(()=>this.animationDone.emit())}_handleClick(t,e,n){e.focusIndex=n,t.disabled||(this.selectedIndex=n)}_getTabIndex(t){let e=this._lastFocusedTabIndex??this.selectedIndex;return t===e?0:-1}_tabFocusChanged(t,e){t&&t!=="mouse"&&t!=="touch"&&(this._tabHeader.focusIndex=e)}_bodyCentered(t){t&&this._tabBodies?.forEach((e,n)=>e._setActiveClass(n===this._selectedIndex))}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0"||this.animationDuration==="0ms"}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=L({type:a,selectors:[["mat-tab-group"]],contentQueries:function(e,n,i){if(e&1&&j(i,Mt,5),e&2){let c;_(c=f())&&(n._allTabs=c)}},viewQuery:function(e,n){if(e&1&&(P(on,5),P(sn,5),P(wt,5)),e&2){let i;_(i=f())&&(n._tabBodyWrapper=i.first),_(i=f())&&(n._tabHeader=i.first),_(i=f())&&(n._tabBodies=i)}},hostAttrs:[1,"mat-mdc-tab-group"],hostVars:11,hostBindings:function(e,n){e&2&&(x("mat-align-tabs",n.alignTabs),B("mat-"+(n.color||"primary")),X("--mat-tab-animation-duration",n.animationDuration),M("mat-mdc-tab-group-dynamic-height",n.dynamicHeight)("mat-mdc-tab-group-inverted-header",n.headerPosition==="below")("mat-mdc-tab-group-stretch-tabs",n.stretchTabs))},inputs:{color:"color",fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",k],stretchTabs:[2,"mat-stretch-tabs","stretchTabs",k],alignTabs:[0,"mat-align-tabs","alignTabs"],dynamicHeight:[2,"dynamicHeight","dynamicHeight",k],selectedIndex:[2,"selectedIndex","selectedIndex",tt],headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:[2,"contentTabIndex","contentTabIndex",tt],disablePagination:[2,"disablePagination","disablePagination",k],disableRipple:[2,"disableRipple","disableRipple",k],preserveContent:[2,"preserveContent","preserveContent",k],backgroundColor:"backgroundColor",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"]},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},exportAs:["matTabGroup"],features:[W([{provide:je,useExisting:a}])],ngContentSelectors:Pt,decls:9,vars:8,consts:[["tabHeader",""],["tabBodyWrapper",""],["tabNode",""],[3,"indexFocused","selectFocusedIndex","selectedIndex","disableRipple","disablePagination","aria-label","aria-labelledby"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-focus-indicator",3,"id","mdc-tab--active","class","disabled","fitInkBarToContent"],[1,"mat-mdc-tab-body-wrapper"],["role","tabpanel",3,"id","class","content","position","animationDuration","preserveContent"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-focus-indicator",3,"click","cdkFocusChange","id","disabled","fitInkBarToContent"],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"cdkPortalOutlet"],["role","tabpanel",3,"_onCentered","_onCentering","_beforeCentering","id","content","position","animationDuration","preserveContent"]],template:function(e,n){if(e&1){let i=Q();Y(),r(0,"mat-tab-header",3,0),g("indexFocused",function(p){return h(i),u(n._focusChanged(p))})("selectFocusedIndex",function(p){return h(i),u(n.selectedIndex=p)}),st(2,mn,8,17,"div",4,ot),o(),I(4,bn,1,0),r(5,"div",5,1),st(7,pn,1,10,"mat-tab-body",6,ot),o()}e&2&&(b("selectedIndex",n.selectedIndex||0)("disableRipple",n.disableRipple)("disablePagination",n.disablePagination),zt("aria-label",n.ariaLabel)("aria-labelledby",n.ariaLabelledby),d(2),lt(n._tabs),d(2),O(n._isServer?4:-1),d(),M("_mat-animation-noopable",n._animationsDisabled()),d(2),lt(n._tabs))},dependencies:[wn,We,ae,ft,vt,wt],styles:[`.mdc-tab{min-width:90px;padding:0 24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1;touch-action:manipulation}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:100ms}._mat-animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:var(--mat-tab-animation-duration, 250ms) transform cubic-bezier(0.4, 0, 0.2, 1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._mat-animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mat-mdc-tab-ripple.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:var(--mat-tab-container-height, 48px);font-family:var(--mat-tab-label-text-font, var(--mat-sys-title-small-font));font-size:var(--mat-tab-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-tab-label-text-tracking, var(--mat-sys-title-small-tracking));line-height:var(--mat-tab-label-text-line-height, var(--mat-sys-title-small-line-height));font-weight:var(--mat-tab-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-tab-active-indicator-height, 2px);border-radius:var(--mat-tab-active-indicator-shape, 0)}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-inactive-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-inactive-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-active-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-active-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-active-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-hover-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-active-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-focus-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-disabled-ripple-color, var(--mat-sys-on-surface-variant))}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-inactive-label-text-color, var(--mat-sys-on-surface));display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-focus-indicator::before{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important} +`],encapsulation:2})}return a})(),xt=class{index;tab};var qe=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=Nt({type:a});static \u0275inj=Bt({imports:[_t,_t]})}return a})();var Mn=()=>["/dashboard"];function kn(a,l){a&1&&(v(0,"mat-spinner",25),r(1,"span"),s(2,"Saving..."),o())}function Tn(a,l){a&1&&(dt(0),r(1,"mat-icon"),s(2,"save"),o(),r(3,"span"),s(4,"Save Changes"),o(),ct())}function In(a,l){if(a&1&&(r(0,"mat-card",15)(1,"mat-card-header")(2,"mat-card-title"),s(3,"Account Information"),o()(),r(4,"mat-card-content")(5,"div",26)(6,"span",27),s(7,"Account ID:"),o(),r(8,"span",28),s(9),o()(),r(10,"div",26)(11,"span",27),s(12,"Role:"),o(),r(13,"span",29),s(14),o()(),r(15,"div",26)(16,"span",27),s(17,"Member Since:"),o(),r(18,"span",28),s(19),pt(20,"date"),o()(),r(21,"div",26)(22,"span",27),s(23,"Last Updated:"),o(),r(24,"span",28),s(25),pt(26,"date"),o()()()()),a&2){let t=w();d(9),C(t.currentUser.id),d(4),M("admin",t.currentUser.role==="admin"),d(),bt(" ",t.currentUser.role," "),d(5),C(ht(20,6,t.currentUser.createdAt,"medium")),d(6),C(ht(26,9,t.currentUser.updatedAt,"medium"))}}function On(a,l){if(a&1&&(r(0,"div",20)(1,"div",30),v(2,"div",31),o(),r(3,"span",32),s(4),o()()),a&2){let t,e,n,i,c=w();d(2),B(c.getPasswordStrength((t=c.passwordForm.get("newPassword"))==null?null:t.value).color),X("width",c.getPasswordStrength((e=c.passwordForm.get("newPassword"))==null?null:e.value).strength,"%"),d(),B(c.getPasswordStrength((n=c.passwordForm.get("newPassword"))==null?null:n.value).color),d(),bt(" ",c.getPasswordStrength((i=c.passwordForm.get("newPassword"))==null?null:i.value).label," ")}}function Sn(a,l){a&1&&(r(0,"div",22)(1,"mat-icon"),s(2,"error"),o(),r(3,"span"),s(4,"Passwords do not match"),o()())}function En(a,l){a&1&&(v(0,"mat-spinner",25),r(1,"span"),s(2,"Changing..."),o())}function Dn(a,l){a&1&&(dt(0),r(1,"mat-icon"),s(2,"vpn_key"),o(),r(3,"span"),s(4,"Change Password"),o(),ct())}var $e=class a{fb=m(ee);authService=m(Ut);userService=m(Ve);toastService=m($t);router=m(Gt);destroy$=new F;isLoading=V(!1);showCurrentPassword=V(!1);showNewPassword=V(!1);showConfirmPassword=V(!1);profileForm;passwordForm;currentUser=this.authService.getCurrentUser();ngOnInit(){if(!this.currentUser){this.toastService.error("Please log in to access settings"),this.router.navigate(["/login"]);return}this.initForms(),this.prefillProfileForm()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}initForms(){this.profileForm=this.fb.group({username:["",[y.required,y.minLength(3),y.maxLength(30),y.pattern(/^[a-zA-Z0-9_]+$/)]],email:["",[y.required,y.email,y.pattern(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)]]}),this.passwordForm=this.fb.group({currentPassword:["",[y.required,y.minLength(6)]],newPassword:["",[y.required,y.minLength(8),y.pattern(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/)]],confirmPassword:["",[y.required]]},{validators:this.passwordMatchValidator})}prefillProfileForm(){this.currentUser&&this.profileForm.patchValue({username:this.currentUser.username,email:this.currentUser.email})}passwordMatchValidator(l){let t=l.get("newPassword")?.value,e=l.get("confirmPassword")?.value;return t&&e&&t!==e?{passwordMismatch:!0}:null}saveProfile(){if(this.profileForm.invalid||!this.currentUser){this.profileForm.markAllAsTouched();return}let l=this.profileForm.value;if(!(l.username!==this.currentUser.username||l.email!==this.currentUser.email)){this.toastService.info("No changes to save");return}this.isLoading.set(!0),this.userService.updateProfile(this.currentUser.id,l).pipe(S(this.destroy$)).subscribe({next:()=>{this.isLoading.set(!1),this.toastService.success("Profile updated successfully"),setTimeout(()=>{window.location.reload()},1e3)},error:e=>{if(this.isLoading.set(!1),console.error("Error updating profile:",e),e.status===409){let n=e.error?.message?.toLowerCase()||"";n.includes("username")&&this.profileForm.get("username")?.setErrors({taken:!0}),n.includes("email")&&this.profileForm.get("email")?.setErrors({taken:!0})}}})}changePassword(){if(this.passwordForm.invalid||!this.currentUser){this.passwordForm.markAllAsTouched();return}let{currentPassword:l,newPassword:t}=this.passwordForm.value;this.isLoading.set(!0),this.userService.updateProfile(this.currentUser.id,{currentPassword:l,newPassword:t}).pipe(S(this.destroy$)).subscribe({next:()=>{this.isLoading.set(!1),this.toastService.success("Password changed successfully"),this.passwordForm.reset()},error:e=>{this.isLoading.set(!1),console.error("Error changing password:",e),e.status===401&&(this.passwordForm.get("currentPassword")?.setErrors({incorrect:!0}),this.toastService.error("Current password is incorrect"))}})}cancelProfile(){this.prefillProfileForm(),this.profileForm.markAsPristine(),this.profileForm.markAsUntouched()}cancelPassword(){this.passwordForm.reset(),this.passwordForm.markAsPristine(),this.passwordForm.markAsUntouched()}togglePasswordVisibility(l){l==="current"?this.showCurrentPassword.update(t=>!t):l==="new"?this.showNewPassword.update(t=>!t):this.showConfirmPassword.update(t=>!t)}getErrorMessage(l,t){let e=l.get(t);if(!e||!e.errors||!e.touched)return"";let n=e.errors;if(t==="username"){if(n.required)return"Username is required";if(n.minlength)return"Username must be at least 3 characters";if(n.maxlength)return"Username must not exceed 30 characters";if(n.pattern)return"Username can only contain letters, numbers, and underscores";if(n.taken)return"Username is already taken"}if(t==="email"){if(n.required)return"Email is required";if(n.email||n.pattern)return"Please enter a valid email address";if(n.taken)return"Email is already registered"}if(t==="currentPassword"){if(n.required)return"Current password is required";if(n.minlength)return"Password must be at least 6 characters";if(n.incorrect)return"Current password is incorrect"}if(t==="newPassword"){if(n.required)return"New password is required";if(n.minlength)return"Password must be at least 8 characters";if(n.pattern)return"Password must contain uppercase, lowercase, number, and special character"}if(t==="confirmPassword"){if(n.required)return"Please confirm your password";if(l.errors?.passwordMismatch)return"Passwords do not match"}return"Invalid input"}hasFormError(l,t){return l.errors?.[t]&&l.touched}getPasswordStrength(l){if(!l)return{strength:0,label:"",color:""};let t=0;return l.length>=8&&t++,l.length>=12&&t++,/[a-z]/.test(l)&&t++,/[A-Z]/.test(l)&&t++,/\d/.test(l)&&t++,/[@$!%*?&]/.test(l)&&t++,t<=2?{strength:33,label:"Weak",color:"warn"}:t<=4?{strength:66,label:"Medium",color:"accent"}:{strength:100,label:"Strong",color:"primary"}}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=L({type:a,selectors:[["app-profile-settings"]],decls:111,vars:32,consts:[[1,"profile-settings-container"],[1,"settings-header"],["mat-icon-button","",1,"back-button",3,"routerLink"],["animationDuration","300ms",1,"settings-tabs"],["label","Profile Information"],[1,"tab-content"],[1,"settings-card"],[3,"ngSubmit","formGroup"],["appearance","outline",1,"full-width"],["matInput","","formControlName","username","placeholder","Enter username","autocomplete","username",3,"disabled"],["matPrefix",""],["matInput","","type","email","formControlName","email","placeholder","Enter email address","autocomplete","email",3,"disabled"],[1,"action-buttons"],["mat-raised-button","","color","primary","type","submit",1,"save-button",3,"disabled"],["mat-button","","type","button",3,"click","disabled"],[1,"info-card"],["label","Change Password"],["matInput","","formControlName","currentPassword","placeholder","Enter current password","autocomplete","current-password",3,"type","disabled"],["mat-icon-button","","matSuffix","","type","button",3,"click"],["matInput","","formControlName","newPassword","placeholder","Enter new password","autocomplete","new-password",3,"type","disabled"],[1,"password-strength"],["matInput","","formControlName","confirmPassword","placeholder","Re-enter new password","autocomplete","new-password",3,"type","disabled"],[1,"form-error"],[1,"tips-card"],[1,"tips-list"],["diameter","20"],[1,"info-row"],[1,"info-label"],[1,"info-value"],[1,"info-value","role-badge"],[1,"strength-bar"],[1,"strength-fill"],[1,"strength-label"]],template:function(t,e){if(t&1&&(r(0,"div",0)(1,"div",1)(2,"button",2)(3,"mat-icon"),s(4,"arrow_back"),o()(),r(5,"h1"),s(6,"Profile Settings"),o()(),r(7,"mat-tab-group",3)(8,"mat-tab",4)(9,"div",5)(10,"mat-card",6)(11,"mat-card-header")(12,"mat-card-title"),s(13,"Update Your Profile"),o()(),r(14,"mat-card-content")(15,"form",7),g("ngSubmit",function(){return e.saveProfile()}),r(16,"mat-form-field",8)(17,"mat-label"),s(18,"Username"),o(),v(19,"input",9),r(20,"mat-icon",10),s(21,"person"),o(),r(22,"mat-error"),s(23),o(),r(24,"mat-hint"),s(25,"Letters, numbers, and underscores only (3-30 characters)"),o()(),r(26,"mat-form-field",8)(27,"mat-label"),s(28,"Email Address"),o(),v(29,"input",11),r(30,"mat-icon",10),s(31,"email"),o(),r(32,"mat-error"),s(33),o()(),r(34,"div",12)(35,"button",13),I(36,kn,3,0)(37,Tn,5,0,"ng-container"),o(),r(38,"button",14),g("click",function(){return e.cancelProfile()}),s(39," Cancel "),o()()()()(),I(40,In,27,12,"mat-card",15),o()(),r(41,"mat-tab",16)(42,"div",5)(43,"mat-card",6)(44,"mat-card-header")(45,"mat-card-title"),s(46,"Change Your Password"),o()(),r(47,"mat-card-content")(48,"form",7),g("ngSubmit",function(){return e.changePassword()}),r(49,"mat-form-field",8)(50,"mat-label"),s(51,"Current Password"),o(),v(52,"input",17),r(53,"mat-icon",10),s(54,"lock"),o(),r(55,"button",18),g("click",function(){return e.togglePasswordVisibility("current")}),r(56,"mat-icon"),s(57),o()(),r(58,"mat-error"),s(59),o()(),v(60,"mat-divider"),r(61,"mat-form-field",8)(62,"mat-label"),s(63,"New Password"),o(),v(64,"input",19),r(65,"mat-icon",10),s(66,"lock_open"),o(),r(67,"button",18),g("click",function(){return e.togglePasswordVisibility("new")}),r(68,"mat-icon"),s(69),o()(),r(70,"mat-error"),s(71),o(),r(72,"mat-hint"),s(73,"At least 8 characters with uppercase, lowercase, number, and special character"),o()(),I(74,On,5,7,"div",20),r(75,"mat-form-field",8)(76,"mat-label"),s(77,"Confirm New Password"),o(),v(78,"input",21),r(79,"mat-icon",10),s(80,"lock_outline"),o(),r(81,"button",18),g("click",function(){return e.togglePasswordVisibility("confirm")}),r(82,"mat-icon"),s(83),o()(),r(84,"mat-error"),s(85),o()(),I(86,Sn,5,0,"div",22),r(87,"div",12)(88,"button",13),I(89,En,3,0)(90,Dn,5,0,"ng-container"),o(),r(91,"button",14),g("click",function(){return e.cancelPassword()}),s(92," Cancel "),o()()()()(),r(93,"mat-card",23)(94,"mat-card-header")(95,"mat-card-title")(96,"mat-icon"),s(97,"security"),o(),s(98," Security Tips "),o()(),r(99,"mat-card-content")(100,"ul",24)(101,"li"),s(102,"Use a strong, unique password that you don't use anywhere else"),o(),r(103,"li"),s(104,"Include a mix of uppercase and lowercase letters, numbers, and symbols"),o(),r(105,"li"),s(106,"Avoid using personal information like your name or birthday"),o(),r(107,"li"),s(108,"Consider using a password manager to generate and store passwords"),o(),r(109,"li"),s(110,"Change your password regularly, especially if you suspect unauthorized access"),o()()()()()()()()),t&2){let n;d(2),b("routerLink",Qt(31,Mn)),d(13),b("formGroup",e.profileForm),d(4),b("disabled",e.isLoading()),d(4),C(e.getErrorMessage(e.profileForm,"username")),d(6),b("disabled",e.isLoading()),d(4),C(e.getErrorMessage(e.profileForm,"email")),d(2),b("disabled",e.profileForm.invalid||e.profileForm.pristine||e.isLoading()),d(),O(e.isLoading()?36:37),d(2),b("disabled",e.profileForm.pristine||e.isLoading()),d(2),O(e.currentUser?40:-1),d(8),b("formGroup",e.passwordForm),d(4),b("type",e.showCurrentPassword()?"text":"password")("disabled",e.isLoading()),d(3),x("aria-label","Toggle password visibility"),d(2),C(e.showCurrentPassword()?"visibility_off":"visibility"),d(2),C(e.getErrorMessage(e.passwordForm,"currentPassword")),d(5),b("type",e.showNewPassword()?"text":"password")("disabled",e.isLoading()),d(3),x("aria-label","Toggle password visibility"),d(2),C(e.showNewPassword()?"visibility_off":"visibility"),d(2),C(e.getErrorMessage(e.passwordForm,"newPassword")),d(3),O((n=e.passwordForm.get("newPassword"))!=null&&n.value?74:-1),d(4),b("type",e.showConfirmPassword()?"text":"password")("disabled",e.isLoading()),d(3),x("aria-label","Toggle password visibility"),d(2),C(e.showConfirmPassword()?"visibility_off":"visibility"),d(2),C(e.getErrorMessage(e.passwordForm,"confirmPassword")),d(),O(e.hasFormError(e.passwordForm,"passwordMismatch")?86:-1),d(2),b("disabled",e.passwordForm.invalid||e.isLoading()),d(),O(e.isLoading()?89:90),d(2),b("disabled",e.passwordForm.pristine||e.isLoading())}},dependencies:[Wt,ne,Xt,Zt,Yt,Kt,Jt,te,qt,pe,de,me,be,ce,ye,Ce,ue,_e,ge,fe,ve,xe,we,Te,ke,Me,Oe,Ie,Ee,Se,Le,De,qe,Mt,Ge,jt],styles:['@charset "UTF-8";.profile-settings-container[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:24px;min-height:calc(100vh - 64px)}@media (max-width: 768px){.profile-settings-container[_ngcontent-%COMP%]{padding:16px}}.settings-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:16px;margin-bottom:24px}.settings-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:600;color:#1a237e}@media (max-width: 768px){.settings-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}}.settings-header[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{color:#666;transition:color .3s}.settings-header[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]:hover{color:#1a237e}.settings-tabs[_ngcontent-%COMP%] .mat-mdc-tab-labels{background:#fff;border-radius:8px 8px 0 0;box-shadow:0 2px 4px #0000001a}.settings-tabs[_ngcontent-%COMP%] .mat-mdc-tab-label{font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;padding:0 32px;min-width:160px}@media (max-width: 768px){.settings-tabs[_ngcontent-%COMP%] .mat-mdc-tab-label{font-size:.875rem;padding:0 16px;min-width:120px}}.settings-tabs[_ngcontent-%COMP%] .mat-mdc-tab-body-content{padding:0}.tab-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:24px;padding:24px 0}@media (max-width: 768px){.tab-content[_ngcontent-%COMP%]{gap:16px;padding:16px 0}}.settings-card[_ngcontent-%COMP%], .info-card[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%]{box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden;transition:box-shadow .3s}.settings-card[_ngcontent-%COMP%]:hover, .info-card[_ngcontent-%COMP%]:hover, .tips-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #00000026}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%], .info-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 24px;margin:0 0 24px}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%], .info-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{margin:0;font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:8px}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .info-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;height:24px;width:24px}.settings-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%], .info-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:0 24px 24px}@media (max-width: 768px){.settings-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%], .info-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:0 16px 16px}}form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}form[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{width:100%}form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper{margin-top:4px}form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] mat-icon[matPrefix][_ngcontent-%COMP%]{margin-right:8px;color:#666}form[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{margin:16px 0}.action-buttons[_ngcontent-%COMP%]{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}@media (max-width: 768px){.action-buttons[_ngcontent-%COMP%]{flex-direction:column}.action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:0 24px;height:48px;font-weight:600;box-shadow:0 2px 8px #667eea4d;transition:all .3s}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:8px}.action-buttons[_ngcontent-%COMP%] .save-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;height:20px;width:20px}.action-buttons[_ngcontent-%COMP%] button[mat-button][_ngcontent-%COMP%]{height:48px;font-weight:500}.password-strength[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.password-strength[_ngcontent-%COMP%] .strength-bar[_ngcontent-%COMP%]{flex:1;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.password-strength[_ngcontent-%COMP%] .strength-bar[_ngcontent-%COMP%] .strength-fill[_ngcontent-%COMP%]{height:100%;transition:width .3s,background-color .3s;border-radius:4px}.password-strength[_ngcontent-%COMP%] .strength-bar[_ngcontent-%COMP%] .strength-fill.warn[_ngcontent-%COMP%]{background:linear-gradient(90deg,#f44336,#ff5722)}.password-strength[_ngcontent-%COMP%] .strength-bar[_ngcontent-%COMP%] .strength-fill.accent[_ngcontent-%COMP%]{background:linear-gradient(90deg,#ff9800,#ffc107)}.password-strength[_ngcontent-%COMP%] .strength-bar[_ngcontent-%COMP%] .strength-fill.primary[_ngcontent-%COMP%]{background:linear-gradient(90deg,#4caf50,#8bc34a)}.password-strength[_ngcontent-%COMP%] .strength-label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;min-width:60px;text-align:right}.password-strength[_ngcontent-%COMP%] .strength-label.warn[_ngcontent-%COMP%]{color:#f44336}.password-strength[_ngcontent-%COMP%] .strength-label.accent[_ngcontent-%COMP%]{color:#ff9800}.password-strength[_ngcontent-%COMP%] .strength-label.primary[_ngcontent-%COMP%]{color:#4caf50}.form-error[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ffebee;color:#c62828;border-radius:4px;font-size:.875rem;margin-top:-8px;margin-bottom:8px;animation:_ngcontent-%COMP%_slideDown .3s ease}.form-error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;height:20px;width:20px}.info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e0e0}.info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%]:last-child{border-bottom:none}.info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%]{font-weight:500;color:#666;font-size:.875rem}.info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{font-weight:600;color:#333;text-align:right}.info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-value.role-badge[_ngcontent-%COMP%]{padding:4px 12px;border-radius:12px;background:#e3f2fd;color:#1976d2;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-value.role-badge.admin[_ngcontent-%COMP%]{background:#fce4ec;color:#c2185b}@media (max-width: 768px){.info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:4px}.info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{text-align:left}}.tips-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{background:linear-gradient(135deg,#43a047,#66bb6a)}.tips-card[_ngcontent-%COMP%] .tips-list[_ngcontent-%COMP%]{margin:0;padding-left:20px;list-style:none}.tips-card[_ngcontent-%COMP%] .tips-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{position:relative;padding:8px 0 8px 24px;color:#555;font-size:.875rem;line-height:1.6}.tips-card[_ngcontent-%COMP%] .tips-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:before{content:"\\2713";position:absolute;left:0;color:#43a047;font-weight:700;font-size:1rem}@keyframes _ngcontent-%COMP%_slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}button[disabled][_ngcontent-%COMP%]{cursor:not-allowed;opacity:.6}mat-spinner[_ngcontent-%COMP%]{display:inline-block}@media (max-width: 768px){.profile-settings-container[_ngcontent-%COMP%]{padding:12px}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%], .info-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:16px}.settings-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%], .info-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%], .tips-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:0 16px 16px}form[_ngcontent-%COMP%]{gap:16px}}@media (prefers-color-scheme: dark){.profile-settings-container[_ngcontent-%COMP%] .settings-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#90caf9}.profile-settings-container[_ngcontent-%COMP%] .settings-card[_ngcontent-%COMP%], .profile-settings-container[_ngcontent-%COMP%] .info-card[_ngcontent-%COMP%], .profile-settings-container[_ngcontent-%COMP%] .tips-card[_ngcontent-%COMP%]{background:#1e1e1e;color:#e0e0e0}.profile-settings-container[_ngcontent-%COMP%] .settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%], .profile-settings-container[_ngcontent-%COMP%] .info-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%], .profile-settings-container[_ngcontent-%COMP%] .tips-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{background:linear-gradient(135deg,#1a237e,#283593)}.profile-settings-container[_ngcontent-%COMP%] .info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%]{border-bottom-color:#333}.profile-settings-container[_ngcontent-%COMP%] .info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-label[_ngcontent-%COMP%]{color:#bbb}.profile-settings-container[_ngcontent-%COMP%] .info-card[_ngcontent-%COMP%] .info-row[_ngcontent-%COMP%] .info-value[_ngcontent-%COMP%]{color:#e0e0e0}.profile-settings-container[_ngcontent-%COMP%] .tips-card[_ngcontent-%COMP%] .tips-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{color:#bbb}.profile-settings-container[_ngcontent-%COMP%] .form-error[_ngcontent-%COMP%]{background:#3e2723;color:#ff8a80}}']})};export{$e as ProfileSettingsComponent}; diff --git a/chunk-EGL4ZKWQ.js b/chunk-EGL4ZKWQ.js new file mode 100644 index 0000000..20b2c1d --- /dev/null +++ b/chunk-EGL4ZKWQ.js @@ -0,0 +1,2 @@ +import{H as xe,X as A,ca as _e,f as be,ga as ge,oa as ve}from"./chunk-COFYR5MX.js";import{$b as h,A as Y,B as E,Ca as z,Cb as Q,Db as s,Eb as f,Ec as P,Fc as fe,Jb as F,Kb as u,Kc as R,Lb as p,Lc as ue,Mb as M,Mc as pe,N as X,Nb as re,Ob as ae,Pb as q,Q as K,Rc as he,S as J,Tb as le,U as T,Ub as H,Xb as ne,Za as d,Zb as g,_ as O,_b as j,ac as w,ba as v,bc as x,cc as c,d as Z,da as n,db as y,dc as m,ec as de,f as $,fc as L,gc as W,hb as oe,hc as V,i as S,ia as ee,ja as te,jc as C,lc as ce,mc as me,ob as B,qb as _,r as U,ta as ie,ub as k,uc as D,zc as se}from"./chunk-2MUIW2M6.js";var G=class{_box;_destroyed=new S;_resizeSubject=new S;_resizeObserver;_elementObservables=new Map;constructor(a){this._box=a,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(e=>this._resizeSubject.next(e)))}observe(a){return this._elementObservables.has(a)||this._elementObservables.set(a,new $(e=>{let i=this._resizeSubject.subscribe(e);return this._resizeObserver?.observe(a,{box:this._box}),()=>{this._resizeObserver?.unobserve(a),i.unsubscribe(),this._elementObservables.delete(a)}}).pipe(E(e=>e.some(i=>i.target===a)),K({bufferSize:1,refCount:!0}),T(this._destroyed))),this._elementObservables.get(a)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}},Ce=(()=>{class t{_cleanupErrorListener;_observers=new Map;_ngZone=n(y);constructor(){typeof ResizeObserver<"u"}ngOnDestroy(){for(let[,e]of this._observers)e.destroy();this._observers.clear(),this._cleanupErrorListener?.()}observe(e,i){let o=i?.box||"content-box";return this._observers.has(o)||this._observers.set(o,new G(o)),this._observers.get(o).observe(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=O({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Ge=["notch"],Ze=["matFormFieldNotchedOutline",""],$e=["*"],Fe=["iconPrefixContainer"],we=["textPrefixContainer"],Se=["iconSuffixContainer"],ze=["textSuffixContainer"],Ue=["textField"],Ye=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],Xe=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];function Ke(t,a){t&1&&M(0,"span",21)}function Je(t,a){if(t&1&&(u(0,"label",20),h(1,1),s(2,Ke,1,0,"span",21),p()),t&2){let e=g(2);F("floating",e._shouldLabelFloat())("monitorResize",e._hasOutline())("id",e._labelId),Q("for",e._control.disableAutomaticLabeling?null:e._control.id),d(2),f(!e.hideRequiredMarker&&e._control.required?2:-1)}}function et(t,a){if(t&1&&s(0,Je,3,5,"label",20),t&2){let e=g();f(e._hasFloatingLabel()?0:-1)}}function tt(t,a){t&1&&M(0,"div",7)}function it(t,a){}function ot(t,a){if(t&1&&k(0,it,0,0,"ng-template",13),t&2){g(2);let e=V(1);F("ngTemplateOutlet",e)}}function rt(t,a){if(t&1&&(u(0,"div",9),s(1,ot,1,1,null,13),p()),t&2){let e=g();F("matFormFieldNotchedOutlineOpen",e._shouldLabelFloat()),d(),f(e._forceDisplayInfixLabel()?-1:1)}}function at(t,a){t&1&&(u(0,"div",10,2),h(2,2),p())}function lt(t,a){t&1&&(u(0,"div",11,3),h(2,3),p())}function nt(t,a){}function dt(t,a){if(t&1&&k(0,nt,0,0,"ng-template",13),t&2){g();let e=V(1);F("ngTemplateOutlet",e)}}function ct(t,a){t&1&&(u(0,"div",14,4),h(2,4),p())}function mt(t,a){t&1&&(u(0,"div",15,5),h(2,5),p())}function st(t,a){t&1&&M(0,"div",16)}function ft(t,a){t&1&&(u(0,"div",18),h(1,6),p())}function ut(t,a){if(t&1&&(u(0,"mat-hint",22),ce(1),p()),t&2){let e=g(2);F("id",e._hintLabelId),d(),me(e.hintLabel)}}function pt(t,a){if(t&1&&(u(0,"div",19),s(1,ut,2,2,"mat-hint",22),h(2,7),M(3,"div",23),h(4,8),p()),t&2){let e=g();d(),f(e.hintLabel?1:-1)}}var Me=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=_({type:t,selectors:[["mat-label"]]})}return t})(),Pe=new v("MatError"),Gt=(()=>{class t{id=n(A).getId("mat-mdc-error-");constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275dir=_({type:t,selectors:[["mat-error"],["","matError",""]],hostAttrs:[1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(i,o){i&2&&H("id",o.id)},inputs:{id:"id"},features:[D([{provide:Pe,useExisting:t}])]})}return t})(),Le=(()=>{class t{align="start";id=n(A).getId("mat-mdc-hint-");static \u0275fac=function(i){return new(i||t)};static \u0275dir=_({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(i,o){i&2&&(H("id",o.id),Q("align",null),C("mat-mdc-form-field-hint-end",o.align==="end"))},inputs:{align:"align",id:"id"}})}return t})(),Ae=new v("MatPrefix"),Zt=(()=>{class t{set _isTextSelector(e){this._isText=!0}_isText=!1;static \u0275fac=function(i){return new(i||t)};static \u0275dir=_({type:t,selectors:[["","matPrefix",""],["","matIconPrefix",""],["","matTextPrefix",""]],inputs:{_isTextSelector:[0,"matTextPrefix","_isTextSelector"]},features:[D([{provide:Ae,useExisting:t}])]})}return t})(),Ie=new v("MatSuffix"),$t=(()=>{class t{set _isTextSelector(e){this._isText=!0}_isText=!1;static \u0275fac=function(i){return new(i||t)};static \u0275dir=_({type:t,selectors:[["","matSuffix",""],["","matIconSuffix",""],["","matTextSuffix",""]],inputs:{_isTextSelector:[0,"matTextSuffix","_isTextSelector"]},features:[D([{provide:Ie,useExisting:t}])]})}return t})(),Ne=new v("FloatingLabelParent"),De=(()=>{class t{_elementRef=n(z);get floating(){return this._floating}set floating(e){this._floating=e,this.monitorResize&&this._handleResize()}_floating=!1;get monitorResize(){return this._monitorResize}set monitorResize(e){this._monitorResize=e,this._monitorResize?this._subscribeToResize():this._resizeSubscription.unsubscribe()}_monitorResize=!1;_resizeObserver=n(Ce);_ngZone=n(y);_parent=n(Ne);_resizeSubscription=new Z;constructor(){}ngOnDestroy(){this._resizeSubscription.unsubscribe()}getWidth(){return ht(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}_handleResize(){setTimeout(()=>this._parent._handleLabelResized())}_subscribeToResize(){this._resizeSubscription.unsubscribe(),this._ngZone.runOutsideAngular(()=>{this._resizeSubscription=this._resizeObserver.observe(this._elementRef.nativeElement,{box:"border-box"}).subscribe(()=>this._handleResize())})}static \u0275fac=function(i){return new(i||t)};static \u0275dir=_({type:t,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(i,o){i&2&&C("mdc-floating-label--float-above",o.floating)},inputs:{floating:"floating",monitorResize:"monitorResize"}})}return t})();function ht(t){let a=t;if(a.offsetParent!==null)return a.scrollWidth;let e=a.cloneNode(!0);e.style.setProperty("position","absolute"),e.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(e);let i=e.scrollWidth;return e.remove(),i}var Re="mdc-line-ripple--active",I="mdc-line-ripple--deactivating",Ee=(()=>{class t{_elementRef=n(z);_cleanupTransitionEnd;constructor(){let e=n(y),i=n(oe);e.runOutsideAngular(()=>{this._cleanupTransitionEnd=i.listen(this._elementRef.nativeElement,"transitionend",this._handleTransitionEnd)})}activate(){let e=this._elementRef.nativeElement.classList;e.remove(I),e.add(Re)}deactivate(){this._elementRef.nativeElement.classList.add(I)}_handleTransitionEnd=e=>{let i=this._elementRef.nativeElement.classList,o=i.contains(I);e.propertyName==="opacity"&&o&&i.remove(Re,I)};ngOnDestroy(){this._cleanupTransitionEnd()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=_({type:t,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"]})}return t})(),Te=(()=>{class t{_elementRef=n(z);_ngZone=n(y);open=!1;_notch;ngAfterViewInit(){let e=this._elementRef.nativeElement,i=e.querySelector(".mdc-floating-label");i?(e.classList.add("mdc-notched-outline--upgraded"),typeof requestAnimationFrame=="function"&&(i.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>i.style.transitionDuration="")}))):e.classList.add("mdc-notched-outline--no-label")}_setNotchWidth(e){let i=this._notch.nativeElement;!this.open||!e?i.style.width="":i.style.width=`calc(${e}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`}_setMaxWidth(e){this._notch.nativeElement.style.setProperty("--mat-form-field-notch-max-width",`calc(100% - ${e}px)`)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=B({type:t,selectors:[["div","matFormFieldNotchedOutline",""]],viewQuery:function(i,o){if(i&1&&x(Ge,5),i&2){let r;c(r=m())&&(o._notch=r.first)}},hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(i,o){i&2&&C("mdc-notched-outline--notched",o.open)},inputs:{open:[0,"matFormFieldNotchedOutlineOpen","open"]},attrs:Ze,ngContentSelectors:$e,decls:5,vars:0,consts:[["notch",""],[1,"mat-mdc-notch-piece","mdc-notched-outline__leading"],[1,"mat-mdc-notch-piece","mdc-notched-outline__notch"],[1,"mat-mdc-notch-piece","mdc-notched-outline__trailing"]],template:function(i,o){i&1&&(j(),q(0,"div",1),re(1,"div",2,0),h(3),ae(),q(4,"div",3))},encapsulation:2,changeDetection:0})}return t})(),bt=(()=>{class t{value;stateChanges;id;placeholder;ngControl;focused;empty;shouldLabelFloat;required;disabled;errorState;controlType;autofilled;userAriaDescribedBy;disableAutomaticLabeling;describedByIds;static \u0275fac=function(i){return new(i||t)};static \u0275dir=_({type:t})}return t})();var xt=new v("MatFormField"),_t=new v("MAT_FORM_FIELD_DEFAULT_OPTIONS"),Oe="fill",gt="auto",ke="fixed",vt="translateY(-50%)",Ut=(()=>{class t{_elementRef=n(z);_changeDetectorRef=n(pe);_platform=n(xe);_idGenerator=n(A);_ngZone=n(y);_defaults=n(_t,{optional:!0});_currentDirection;_textField;_iconPrefixContainer;_textPrefixContainer;_iconSuffixContainer;_textSuffixContainer;_floatingLabel;_notchedOutline;_lineRipple;_iconPrefixContainerSignal=R("iconPrefixContainer");_textPrefixContainerSignal=R("textPrefixContainer");_iconSuffixContainerSignal=R("iconSuffixContainer");_textSuffixContainerSignal=R("textSuffixContainer");_prefixSuffixContainers=P(()=>[this._iconPrefixContainerSignal(),this._textPrefixContainerSignal(),this._iconSuffixContainerSignal(),this._textSuffixContainerSignal()].map(e=>e?.nativeElement).filter(e=>e!==void 0));_formFieldControl;_prefixChildren;_suffixChildren;_errorChildren;_hintChildren;_labelChild=ue(Me);get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(e){this._hideRequiredMarker=ge(e)}_hideRequiredMarker=!1;color="primary";get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||gt}set floatLabel(e){e!==this._floatLabel&&(this._floatLabel=e,this._changeDetectorRef.markForCheck())}_floatLabel;get appearance(){return this._appearanceSignal()}set appearance(e){let i=e||this._defaults?.appearance||Oe;this._appearanceSignal.set(i)}_appearanceSignal=ie(Oe);get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||ke}set subscriptSizing(e){this._subscriptSizing=e||this._defaults?.subscriptSizing||ke}_subscriptSizing=null;get hintLabel(){return this._hintLabel}set hintLabel(e){this._hintLabel=e,this._processHints()}_hintLabel="";_hasIconPrefix=!1;_hasTextPrefix=!1;_hasIconSuffix=!1;_hasTextSuffix=!1;_labelId=this._idGenerator.getId("mat-mdc-form-field-label-");_hintLabelId=this._idGenerator.getId("mat-mdc-hint-");_describedByIds;get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(e){this._explicitFormFieldControl=e}_destroyed=new S;_isFocused=null;_explicitFormFieldControl;_previousControl=null;_previousControlValidatorFn=null;_stateChanges;_valueChanges;_describedByChanges;_outlineLabelOffsetResizeObserver=null;_animationsDisabled=ve();constructor(){let e=this._defaults,i=n(_e);e&&(e.appearance&&(this.appearance=e.appearance),this._hideRequiredMarker=!!e?.hideRequiredMarker,e.color&&(this.color=e.color)),fe(()=>this._currentDirection=i.valueSignal()),this._syncOutlineLabelOffset()}ngAfterViewInit(){this._updateFocusState(),this._animationsDisabled||this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-form-field-animations-enabled")},300)}),this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeSubscript(),this._initializePrefixAndSuffix()}ngAfterContentChecked(){this._assertFormFieldControl(),this._control!==this._previousControl&&(this._initializeControl(this._previousControl),this._control.ngControl&&this._control.ngControl.control&&(this._previousControlValidatorFn=this._control.ngControl.control.validator),this._previousControl=this._control),this._control.ngControl&&this._control.ngControl.control&&this._control.ngControl.control.validator!==this._previousControlValidatorFn&&this._changeDetectorRef.markForCheck()}ngOnDestroy(){this._outlineLabelOffsetResizeObserver?.disconnect(),this._stateChanges?.unsubscribe(),this._valueChanges?.unsubscribe(),this._describedByChanges?.unsubscribe(),this._destroyed.next(),this._destroyed.complete()}getLabelId=P(()=>this._hasFloatingLabel()?this._labelId:null);getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(e){let i=this._control,o="mat-mdc-form-field-type-";e&&this._elementRef.nativeElement.classList.remove(o+e.controlType),i.controlType&&this._elementRef.nativeElement.classList.add(o+i.controlType),this._stateChanges?.unsubscribe(),this._stateChanges=i.stateChanges.subscribe(()=>{this._updateFocusState(),this._changeDetectorRef.markForCheck()}),this._describedByChanges?.unsubscribe(),this._describedByChanges=i.stateChanges.pipe(J([void 0,void 0]),U(()=>[i.errorState,i.userAriaDescribedBy]),X(),E(([[r,l],[b,N]])=>r!==b||l!==N)).subscribe(()=>this._syncDescribedByIds()),this._valueChanges?.unsubscribe(),i.ngControl&&i.ngControl.valueChanges&&(this._valueChanges=i.ngControl.valueChanges.pipe(T(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck()))}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(e=>!e._isText),this._hasTextPrefix=!!this._prefixChildren.find(e=>e._isText),this._hasIconSuffix=!!this._suffixChildren.find(e=>!e._isText),this._hasTextSuffix=!!this._suffixChildren.find(e=>e._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),Y(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){this._control}_updateFocusState(){let e=this._control.focused;e&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!e&&(this._isFocused||this._isFocused===null)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._elementRef.nativeElement.classList.toggle("mat-focused",e),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",e)}_syncOutlineLabelOffset(){he({earlyRead:()=>{if(this._appearanceSignal()!=="outline")return this._outlineLabelOffsetResizeObserver?.disconnect(),null;if(globalThis.ResizeObserver){this._outlineLabelOffsetResizeObserver||=new globalThis.ResizeObserver(()=>{this._writeOutlinedLabelStyles(this._getOutlinedLabelOffset())});for(let e of this._prefixSuffixContainers())this._outlineLabelOffsetResizeObserver.observe(e,{box:"border-box"})}return this._getOutlinedLabelOffset()},write:e=>this._writeOutlinedLabelStyles(e())})}_shouldAlwaysFloat(){return this.floatLabel==="always"}_hasOutline(){return this.appearance==="outline"}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_hasFloatingLabel=P(()=>!!this._labelChild());_shouldLabelFloat(){return this._hasFloatingLabel()?this._control.shouldLabelFloat||this._shouldAlwaysFloat():!1}_shouldForward(e){let i=this._control?this._control.ngControl:null;return i&&i[e]}_getSubscriptMessageType(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_handleLabelResized(){this._refreshOutlineNotchWidth()}_refreshOutlineNotchWidth(){!this._hasOutline()||!this._floatingLabel||!this._shouldLabelFloat()?this._notchedOutline?._setNotchWidth(0):this._notchedOutline?._setNotchWidth(this._floatingLabel.getWidth())}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){this._hintChildren}_syncDescribedByIds(){if(this._control){let e=[];if(this._control.userAriaDescribedBy&&typeof this._control.userAriaDescribedBy=="string"&&e.push(...this._control.userAriaDescribedBy.split(" ")),this._getSubscriptMessageType()==="hint"){let r=this._hintChildren?this._hintChildren.find(b=>b.align==="start"):null,l=this._hintChildren?this._hintChildren.find(b=>b.align==="end"):null;r?e.push(r.id):this._hintLabel&&e.push(this._hintLabelId),l&&e.push(l.id)}else this._errorChildren&&e.push(...this._errorChildren.map(r=>r.id));let i=this._control.describedByIds,o;if(i){let r=this._describedByIds||e;o=e.concat(i.filter(l=>l&&!r.includes(l)))}else o=e;this._control.setDescribedByIds(o),this._describedByIds=e}}_getOutlinedLabelOffset(){if(!this._hasOutline()||!this._floatingLabel)return null;if(!this._iconPrefixContainer&&!this._textPrefixContainer)return["",null];if(!this._isAttachedToDom())return null;let e=this._iconPrefixContainer?.nativeElement,i=this._textPrefixContainer?.nativeElement,o=this._iconSuffixContainer?.nativeElement,r=this._textSuffixContainer?.nativeElement,l=e?.getBoundingClientRect().width??0,b=i?.getBoundingClientRect().width??0,N=o?.getBoundingClientRect().width??0,Qe=r?.getBoundingClientRect().width??0,qe=this._currentDirection==="rtl"?"-1":"1",He=`${l+b}px`,je=`calc(${qe} * (${He} + var(--mat-mdc-form-field-label-offset-x, 0px)))`,We=`var(--mat-mdc-form-field-label-transform, ${vt} translateX(${je}))`,Ve=l+b+N+Qe;return[We,Ve]}_writeOutlinedLabelStyles(e){if(e!==null){let[i,o]=e;this._floatingLabel&&(this._floatingLabel.element.style.transform=i),o!==null&&this._notchedOutline?._setMaxWidth(o)}}_isAttachedToDom(){let e=this._elementRef.nativeElement;if(e.getRootNode){let i=e.getRootNode();return i&&i!==e}return document.documentElement.contains(e)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=B({type:t,selectors:[["mat-form-field"]],contentQueries:function(i,o,r){if(i&1&&(de(r,o._labelChild,Me,5),w(r,bt,5),w(r,Ae,5),w(r,Ie,5),w(r,Pe,5),w(r,Le,5)),i&2){W();let l;c(l=m())&&(o._formFieldControl=l.first),c(l=m())&&(o._prefixChildren=l),c(l=m())&&(o._suffixChildren=l),c(l=m())&&(o._errorChildren=l),c(l=m())&&(o._hintChildren=l)}},viewQuery:function(i,o){if(i&1&&(L(o._iconPrefixContainerSignal,Fe,5),L(o._textPrefixContainerSignal,we,5),L(o._iconSuffixContainerSignal,Se,5),L(o._textSuffixContainerSignal,ze,5),x(Ue,5),x(Fe,5),x(we,5),x(Se,5),x(ze,5),x(De,5),x(Te,5),x(Ee,5)),i&2){W(4);let r;c(r=m())&&(o._textField=r.first),c(r=m())&&(o._iconPrefixContainer=r.first),c(r=m())&&(o._textPrefixContainer=r.first),c(r=m())&&(o._iconSuffixContainer=r.first),c(r=m())&&(o._textSuffixContainer=r.first),c(r=m())&&(o._floatingLabel=r.first),c(r=m())&&(o._notchedOutline=r.first),c(r=m())&&(o._lineRipple=r.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:38,hostBindings:function(i,o){i&2&&C("mat-mdc-form-field-label-always-float",o._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",o._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",o._hasIconSuffix)("mat-form-field-invalid",o._control.errorState)("mat-form-field-disabled",o._control.disabled)("mat-form-field-autofilled",o._control.autofilled)("mat-form-field-appearance-fill",o.appearance=="fill")("mat-form-field-appearance-outline",o.appearance=="outline")("mat-form-field-hide-placeholder",o._hasFloatingLabel()&&!o._shouldLabelFloat())("mat-primary",o.color!=="accent"&&o.color!=="warn")("mat-accent",o.color==="accent")("mat-warn",o.color==="warn")("ng-untouched",o._shouldForward("untouched"))("ng-touched",o._shouldForward("touched"))("ng-pristine",o._shouldForward("pristine"))("ng-dirty",o._shouldForward("dirty"))("ng-valid",o._shouldForward("valid"))("ng-invalid",o._shouldForward("invalid"))("ng-pending",o._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],features:[D([{provide:xt,useExisting:t},{provide:Ne,useExisting:t}])],ngContentSelectors:Xe,decls:18,vars:21,consts:[["labelTemplate",""],["textField",""],["iconPrefixContainer",""],["textPrefixContainer",""],["textSuffixContainer",""],["iconSuffixContainer",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],[1,"mat-mdc-form-field-focus-overlay"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen"],[1,"mat-mdc-form-field-icon-prefix"],[1,"mat-mdc-form-field-text-prefix"],[1,"mat-mdc-form-field-infix"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],["aria-atomic","true","aria-live","polite",1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align"],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],["matFormFieldFloatingLabel","",3,"floating","monitorResize","id"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[3,"id"],[1,"mat-mdc-form-field-hint-spacer"]],template:function(i,o){if(i&1){let r=le();j(Ye),k(0,et,1,1,"ng-template",null,0,se),u(2,"div",6,1),ne("click",function(b){return ee(r),te(o._control.onContainerClick(b))}),s(4,tt,1,0,"div",7),u(5,"div",8),s(6,rt,2,2,"div",9),s(7,at,3,0,"div",10),s(8,lt,3,0,"div",11),u(9,"div",12),s(10,dt,1,1,null,13),h(11),p(),s(12,ct,3,0,"div",14),s(13,mt,3,0,"div",15),p(),s(14,st,1,0,"div",16),p(),u(15,"div",17),s(16,ft,2,0,"div",18)(17,pt,5,1,"div",19),p()}if(i&2){let r;d(2),C("mdc-text-field--filled",!o._hasOutline())("mdc-text-field--outlined",o._hasOutline())("mdc-text-field--no-label",!o._hasFloatingLabel())("mdc-text-field--disabled",o._control.disabled)("mdc-text-field--invalid",o._control.errorState),d(2),f(!o._hasOutline()&&!o._control.disabled?4:-1),d(2),f(o._hasOutline()?6:-1),d(),f(o._hasIconPrefix?7:-1),d(),f(o._hasTextPrefix?8:-1),d(2),f(!o._hasOutline()||o._forceDisplayInfixLabel()?10:-1),d(2),f(o._hasTextSuffix?12:-1),d(),f(o._hasIconSuffix?13:-1),d(),f(o._hasOutline()?-1:14),d(),C("mat-mdc-form-field-subscript-dynamic-size",o.subscriptSizing==="dynamic");let l=o._getSubscriptMessageType();d(),f((r=l)==="error"?16:r==="hint"?17:-1)}},dependencies:[De,Te,be,Ee,Le],styles:[`.mdc-text-field{display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.mdc-text-field__input{width:100%;min-width:0;border:none;border-radius:0;background:none;padding:0;-moz-appearance:none;-webkit-appearance:none;height:28px}.mdc-text-field__input::-webkit-calendar-picker-indicator,.mdc-text-field__input::-webkit-search-cancel-button{display:none}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}.mdc-text-field__input::placeholder{opacity:0}.mdc-text-field__input::-moz-placeholder{opacity:0}.mdc-text-field__input::-webkit-input-placeholder{opacity:0}.mdc-text-field__input:-ms-input-placeholder{opacity:0}.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{opacity:1}.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-moz-placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive::-webkit-input-placeholder{opacity:0}.mdc-text-field--disabled:not(.mdc-text-field--no-label) .mdc-text-field__input.mat-mdc-input-disabled-interactive:-ms-input-placeholder{opacity:0}.mdc-text-field--outlined .mdc-text-field__input,.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mat-form-field-filled-input-text-color, var(--mat-sys-on-surface));caret-color:var(--mat-form-field-filled-caret-color, var(--mat-sys-primary))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-filled-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--mat-form-field-outlined-input-text-color, var(--mat-sys-on-surface));caret-color:var(--mat-form-field-outlined-caret-color, var(--mat-sys-primary))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-outlined-input-text-placeholder-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mat-form-field-filled-error-caret-color, var(--mat-sys-error))}.mdc-text-field--outlined.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-text-field__input{caret-color:var(--mat-form-field-outlined-error-caret-color, var(--mat-sys-error))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-text-field__input{color:var(--mat-form-field-filled-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-text-field__input{color:var(--mat-form-field-outlined-disabled-input-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}@media(forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}}.mdc-text-field--filled{height:56px;border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small));border-top-right-radius:var(--mat-form-field-filled-container-shape, var(--mat-sys-corner-extra-small))}.mdc-text-field--filled:not(.mdc-text-field--disabled){background-color:var(--mat-form-field-filled-container-color, var(--mat-sys-surface-variant))}.mdc-text-field--filled.mdc-text-field--disabled{background-color:var(--mat-form-field-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 4%, transparent))}.mdc-text-field--outlined{height:56px;overflow:visible;padding-right:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)));padding-left:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px)}[dir=rtl] .mdc-text-field--outlined{padding-right:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)) + 4px);padding-left:max(16px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)))}.mdc-floating-label{position:absolute;left:0;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label{right:0;left:auto;transform-origin:right top;text-align:right}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:auto}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label{left:auto;right:4px}.mdc-text-field--filled .mdc-floating-label{left:16px;right:auto}[dir=rtl] .mdc-text-field--filled .mdc-floating-label{left:auto;right:16px}.mdc-text-field--disabled .mdc-floating-label{cursor:default}@media(forced-colors: active){.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mat-form-field-filled-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-filled-focus-label-text-color, var(--mat-sys-primary))}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mat-form-field-filled-hover-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-floating-label{color:var(--mat-form-field-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-filled-error-label-text-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-filled-error-focus-label-text-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mat-form-field-filled-error-hover-label-text-color, var(--mat-sys-on-error-container))}.mdc-text-field--filled .mdc-floating-label{font-family:var(--mat-form-field-filled-label-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-form-field-filled-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-form-field-filled-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-form-field-filled-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-floating-label{color:var(--mat-form-field-outlined-label-text-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-outlined-focus-label-text-color, var(--mat-sys-primary))}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-floating-label{color:var(--mat-form-field-outlined-hover-label-text-color, var(--mat-sys-on-surface))}.mdc-text-field--outlined.mdc-text-field--disabled .mdc-floating-label{color:var(--mat-form-field-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-floating-label{color:var(--mat-form-field-outlined-error-label-text-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mdc-floating-label{color:var(--mat-form-field-outlined-error-focus-label-text-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--disabled):hover .mdc-floating-label{color:var(--mat-form-field-outlined-error-hover-label-text-color, var(--mat-sys-on-error-container))}.mdc-text-field--outlined .mdc-floating-label{font-family:var(--mat-form-field-outlined-label-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-form-field-outlined-label-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-form-field-outlined-label-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-form-field-outlined-label-text-tracking, var(--mat-sys-body-large-tracking))}.mdc-floating-label--float-above{cursor:auto;transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1);font-size:.75rem}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:0;margin-right:1px}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline{text-align:right}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mat-mdc-notch-piece{box-sizing:border-box;height:100%;pointer-events:none;border-top:1px solid;border-bottom:1px solid}.mdc-text-field--focused .mat-mdc-notch-piece{border-width:2px}.mdc-text-field--outlined:not(.mdc-text-field--disabled) .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-outline-color, var(--mat-sys-outline));border-width:var(--mat-form-field-outlined-outline-width, 1px)}.mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-hover-outline-color, var(--mat-sys-on-surface))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-focus-outline-color, var(--mat-sys-primary))}.mdc-text-field--outlined.mdc-text-field--disabled .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-outline-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-notched-outline .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-hover-outline-color, var(--mat-sys-on-error-container))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--invalid.mdc-text-field--focused .mat-mdc-notch-piece{border-color:var(--mat-form-field-outlined-error-focus-outline-color, var(--mat-sys-error))}.mdc-text-field--outlined:not(.mdc-text-field--disabled).mdc-text-field--focused .mdc-notched-outline .mat-mdc-notch-piece{border-width:var(--mat-form-field-outlined-focus-outline-width, 2px)}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px,var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small)))}[dir=rtl] .mdc-notched-outline__leading{border-left:none;border-right:1px solid;border-bottom-left-radius:0;border-top-left-radius:0;border-top-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-notched-outline__trailing{flex-grow:1;border-left:none;border-right:1px solid;border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-right-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}[dir=rtl] .mdc-notched-outline__trailing{border-left:1px solid;border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small));border-bottom-left-radius:var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))}.mdc-notched-outline__notch{flex:0 0 auto;width:auto}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:min(var(--mat-form-field-notch-max-width, 100%),calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2))}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{max-width:min(100%,calc(100% - max(12px, var(--mat-form-field-outlined-container-shape, var(--mat-sys-corner-extra-small))) * 2))}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1;border-bottom-width:var(--mat-form-field-filled-active-indicator-height, 1px)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-active-indicator-color, var(--mat-sys-on-surface-variant))}.mdc-text-field--filled:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-hover-active-indicator-color, var(--mat-sys-on-surface))}.mdc-text-field--filled.mdc-text-field--disabled .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-disabled-active-indicator-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-error-active-indicator-color, var(--mat-sys-error))}.mdc-text-field--filled:not(.mdc-text-field--disabled).mdc-text-field--invalid:not(.mdc-text-field--focused):hover .mdc-line-ripple::before{border-bottom-color:var(--mat-form-field-filled-error-hover-active-indicator-color, var(--mat-sys-on-error-container))}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-text-field--filled .mdc-line-ripple::after{border-bottom-width:var(--mat-form-field-filled-focus-active-indicator-height, 2px)}.mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mat-form-field-filled-focus-active-indicator-color, var(--mat-sys-primary))}.mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) .mdc-line-ripple::after{border-bottom-color:var(--mat-form-field-filled-error-focus-active-indicator-color, var(--mat-sys-error))}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-text-field--disabled{pointer-events:none}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;line-height:normal;pointer-events:all;will-change:auto}.mat-mdc-form-field:not(.mat-form-field-disabled) .mat-mdc-floating-label.mdc-floating-label{cursor:inherit}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto;will-change:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-form-field-disabled .mdc-text-field__input::placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input::-moz-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input::-webkit-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-disabled .mdc-text-field__input:-ms-input-placeholder{color:var(--mat-form-field-disabled-input-text-placeholder-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:1px solid rgba(0,0,0,0)}[dir=rtl] .mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field.mat-mdc-form-field .mdc-notched-outline__notch{border-left:none;border-right:1px solid rgba(0,0,0,0)}.mat-mdc-form-field-infix{min-height:var(--mat-form-field-container-height, 56px);padding-top:var(--mat-form-field-filled-with-label-container-padding-top, 24px);padding-bottom:var(--mat-form-field-filled-with-label-container-padding-bottom, 8px)}.mdc-text-field--outlined .mat-mdc-form-field-infix,.mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:var(--mat-form-field-container-vertical-padding, 16px);padding-bottom:var(--mat-form-field-container-vertical-padding, 16px)}.mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:calc(var(--mat-form-field-container-height, 56px)/2)}.mdc-text-field--filled .mat-mdc-floating-label{display:var(--mat-form-field-filled-label-display, block)}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY(calc(calc(6.75px + var(--mat-form-field-container-height, 56px) / 2) * -1)) scale(var(--mat-mdc-form-field-floating-label-scale, 0.75));transform:var(--mat-mdc-form-field-label-transform)}@keyframes _mat-form-field-subscript-animation{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px;opacity:1;transform:translateY(0);animation:_mat-form-field-subscript-animation 0ms cubic-bezier(0.55, 0, 0.55, 0.2)}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block;color:var(--mat-form-field-error-text-color, var(--mat-sys-error))}.mat-mdc-form-field-subscript-wrapper,.mat-mdc-form-field-bottom-align::before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-subscript-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-form-field-subscript-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-form-field-subscript-text-size, var(--mat-sys-body-small-size));letter-spacing:var(--mat-form-field-subscript-text-tracking, var(--mat-sys-body-small-tracking));font-weight:var(--mat-form-field-subscript-text-weight, var(--mat-sys-body-small-weight))}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none;background-color:var(--mat-form-field-state-layer-color, var(--mat-sys-on-surface))}.mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-form-field.mat-focused .mat-mdc-form-field-focus-overlay{opacity:var(--mat-form-field-focus-state-layer-opacity, 0)}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option{color:var(--mat-form-field-select-option-text-color, var(--mat-sys-neutral10))}select.mat-mdc-form-field-input-control:not(.mat-mdc-native-select-inline) option:disabled{color:var(--mat-form-field-select-disabled-option-text-color, color-mix(in srgb, var(--mat-sys-neutral10) 38%, transparent))}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none;color:var(--mat-form-field-enabled-select-arrow-color, var(--mat-sys-on-surface-variant))}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select.mat-focused .mat-mdc-form-field-infix::after{color:var(--mat-form-field-focus-select-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field-type-mat-native-select.mat-form-field-disabled .mat-mdc-form-field-infix::after{color:var(--mat-form-field-disabled-select-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}@media(forced-colors: active){.mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}}@media(forced-colors: active){.mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}}@media(forced-colors: active){.mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}}@media(forced-colors: active){.mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}}.mat-mdc-form-field-input-control[type=date],.mat-mdc-form-field-input-control[type=datetime],.mat-mdc-form-field-input-control[type=datetime-local],.mat-mdc-form-field-input-control[type=month],.mat-mdc-form-field-input-control[type=week],.mat-mdc-form-field-input-control[type=time]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mat-form-field-container-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-form-field-container-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-form-field-container-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-form-field-container-text-tracking, var(--mat-sys-body-large-tracking));font-weight:var(--mat-form-field-container-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(var(--mat-form-field-outlined-label-text-populated-size)*var(--mat-mdc-form-field-floating-label-scale))}.mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:var(--mat-form-field-outlined-label-text-populated-size)}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%;z-index:0}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto;position:relative;z-index:1}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:0 12px;box-sizing:content-box}.mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-leading-icon-color, var(--mat-sys-on-surface-variant))}.mat-form-field-disabled .mat-mdc-form-field-icon-prefix{color:var(--mat-form-field-disabled-leading-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-form-field-disabled .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-disabled-trailing-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-form-field-invalid .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-trailing-icon-color, var(--mat-sys-error))}.mat-form-field-invalid:not(.mat-focused):not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper:hover .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-hover-trailing-icon-color, var(--mat-sys-on-error-container))}.mat-form-field-invalid.mat-focused .mat-mdc-text-field-wrapper .mat-mdc-form-field-icon-suffix{color:var(--mat-form-field-error-focus-trailing-icon-color, var(--mat-sys-error))}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field-infix:has(textarea[cols]){width:auto}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input{transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-moz-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input::-webkit-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::-moz-placeholder,.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::-moz-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input::-webkit-input-placeholder,.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input::-webkit-input-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mat-mdc-form-field.mat-form-field-animations-enabled.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field.mat-form-field-animations-enabled .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field.mat-form-field-animations-enabled .mat-mdc-form-field-error-wrapper{animation-duration:300ms}.mdc-notched-outline .mdc-floating-label{max-width:calc(100% + 1px)}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:calc(133.3333333333% + 1px)} +`],encapsulation:2,changeDetection:0})}return t})();var Xt=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.touched||i&&i.submitted))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=O({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Be=class{_defaultMatcher;ngControl;_parentFormGroup;_parentForm;_stateChanges;errorState=!1;matcher;constructor(a,e,i,o,r){this._defaultMatcher=a,this.ngControl=e,this._parentFormGroup=i,this._parentForm=o,this._stateChanges=r}updateErrorState(){let a=this.errorState,e=this._parentFormGroup||this._parentForm,i=this.matcher||this._defaultMatcher,o=this.ngControl?this.ngControl.control:null,r=i?.isErrorState(o,e)??!1;r!==a&&(this.errorState=r,this._stateChanges.next())}};export{Ce as a,Me as b,Gt as c,Le as d,Zt as e,$t as f,bt as g,xt as h,Ut as i,Xt as j,Be as k}; diff --git a/chunk-FETAVRDH.js b/chunk-FETAVRDH.js new file mode 100644 index 0000000..32e8844 --- /dev/null +++ b/chunk-FETAVRDH.js @@ -0,0 +1,2 @@ +import{ea as B,na as M}from"./chunk-COFYR5MX.js";import{$ as p,Ca as f,Cb as y,Db as E,Eb as k,Mc as R,Nb as s,Ob as m,Pb as t,Qc as c,Za as o,ba as g,cb as u,da as n,db as b,hb as _,ic as l,jc as X,kc as A,ob as h,pb as v}from"./chunk-2MUIW2M6.js";function T(e,d){e&1&&t(0,"div",2)}var z=new g("MAT_PROGRESS_BAR_DEFAULT_OPTIONS");var Z=(()=>{class e{_elementRef=n(f);_ngZone=n(b);_changeDetectorRef=n(R);_renderer=n(_);_cleanupTransitionEnd;constructor(){let r=M(),a=n(z,{optional:!0});this._isNoopAnimation=r==="di-disabled",r==="reduced-motion"&&this._elementRef.nativeElement.classList.add("mat-progress-bar-reduced-motion"),a&&(a.color&&(this.color=this._defaultColor=a.color),this.mode=a.mode||this.mode)}_isNoopAnimation;get color(){return this._color||this._defaultColor}set color(r){this._color=r}_color;_defaultColor="primary";get value(){return this._value}set value(r){this._value=x(r||0),this._changeDetectorRef.markForCheck()}_value=0;get bufferValue(){return this._bufferValue||0}set bufferValue(r){this._bufferValue=x(r||0),this._changeDetectorRef.markForCheck()}_bufferValue=0;animationEnd=new u;get mode(){return this._mode}set mode(r){this._mode=r,this._changeDetectorRef.markForCheck()}_mode="determinate";ngAfterViewInit(){this._ngZone.runOutsideAngular(()=>{this._cleanupTransitionEnd=this._renderer.listen(this._elementRef.nativeElement,"transitionend",this._transitionendHandler)})}ngOnDestroy(){this._cleanupTransitionEnd?.()}_getPrimaryBarTransform(){return`scaleX(${this._isIndeterminate()?1:this.value/100})`}_getBufferBarFlexBasis(){return`${this.mode==="buffer"?this.bufferValue:100}%`}_isIndeterminate(){return this.mode==="indeterminate"||this.mode==="query"}_transitionendHandler=r=>{this.animationEnd.observers.length===0||!r.target||!r.target.classList.contains("mdc-linear-progress__primary-bar")||(this.mode==="determinate"||this.mode==="buffer")&&this._ngZone.run(()=>this.animationEnd.next({value:this.value}))};static \u0275fac=function(a){return new(a||e)};static \u0275cmp=h({type:e,selectors:[["mat-progress-bar"]],hostAttrs:["role","progressbar","aria-valuemin","0","aria-valuemax","100","tabindex","-1",1,"mat-mdc-progress-bar","mdc-linear-progress"],hostVars:10,hostBindings:function(a,i){a&2&&(y("aria-valuenow",i._isIndeterminate()?null:i.value)("mode",i.mode),A("mat-"+i.color),X("_mat-animation-noopable",i._isNoopAnimation)("mdc-linear-progress--animation-ready",!i._isNoopAnimation)("mdc-linear-progress--indeterminate",i._isIndeterminate()))},inputs:{color:"color",value:[2,"value","value",c],bufferValue:[2,"bufferValue","bufferValue",c],mode:"mode"},outputs:{animationEnd:"animationEnd"},exportAs:["matProgressBar"],decls:7,vars:5,consts:[["aria-hidden","true",1,"mdc-linear-progress__buffer"],[1,"mdc-linear-progress__buffer-bar"],[1,"mdc-linear-progress__buffer-dots"],["aria-hidden","true",1,"mdc-linear-progress__bar","mdc-linear-progress__primary-bar"],[1,"mdc-linear-progress__bar-inner"],["aria-hidden","true",1,"mdc-linear-progress__bar","mdc-linear-progress__secondary-bar"]],template:function(a,i){a&1&&(s(0,"div",0),t(1,"div",1),E(2,T,1,0,"div",2),m(),s(3,"div",3),t(4,"span",4),m(),s(5,"div",5),t(6,"span",4),m()),a&2&&(o(),l("flex-basis",i._getBufferBarFlexBasis()),o(),k(i.mode==="buffer"?2:-1),o(),l("transform",i._getPrimaryBarTransform()))},styles:[`.mat-mdc-progress-bar{--mat-progress-bar-animation-multiplier: 1;display:block;text-align:start}.mat-mdc-progress-bar[mode=query]{transform:scaleX(-1)}.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__buffer-dots,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__primary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__secondary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__bar-inner.mdc-linear-progress__bar-inner{animation:none}.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__primary-bar,.mat-mdc-progress-bar._mat-animation-noopable .mdc-linear-progress__buffer-bar{transition:transform 1ms}.mat-progress-bar-reduced-motion{--mat-progress-bar-animation-multiplier: 2}.mdc-linear-progress{position:relative;width:100%;transform:translateZ(0);outline:1px solid rgba(0,0,0,0);overflow-x:hidden;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);height:max(var(--mat-progress-bar-track-height, 4px),var(--mat-progress-bar-active-indicator-height, 4px))}@media(forced-colors: active){.mdc-linear-progress{outline-color:CanvasText}}.mdc-linear-progress__bar{position:absolute;top:0;bottom:0;margin:auto 0;width:100%;animation:none;transform-origin:top left;transition:transform 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);height:var(--mat-progress-bar-active-indicator-height, 4px)}.mdc-linear-progress--indeterminate .mdc-linear-progress__bar{transition:none}[dir=rtl] .mdc-linear-progress__bar{right:0;transform-origin:center right}.mdc-linear-progress__bar-inner{display:inline-block;position:absolute;width:100%;animation:none;border-top-style:solid;border-color:var(--mat-progress-bar-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-progress-bar-active-indicator-height, 4px)}.mdc-linear-progress__buffer{display:flex;position:absolute;top:0;bottom:0;margin:auto 0;width:100%;overflow:hidden;height:var(--mat-progress-bar-track-height, 4px);border-radius:var(--mat-progress-bar-track-shape, var(--mat-sys-corner-none))}.mdc-linear-progress__buffer-dots{background-image:radial-gradient(circle, var(--mat-progress-bar-track-color, var(--mat-sys-surface-variant)) calc(var(--mat-progress-bar-track-height, 4px) / 2), transparent 0);background-repeat:repeat-x;background-size:calc(calc(var(--mat-progress-bar-track-height, 4px) / 2)*5);background-position:left;flex:auto;transform:rotate(180deg);animation:mdc-linear-progress-buffering calc(250ms*var(--mat-progress-bar-animation-multiplier)) infinite linear}@media(forced-colors: active){.mdc-linear-progress__buffer-dots{background-color:ButtonBorder}}[dir=rtl] .mdc-linear-progress__buffer-dots{animation:mdc-linear-progress-buffering-reverse calc(250ms*var(--mat-progress-bar-animation-multiplier)) infinite linear;transform:rotate(0)}.mdc-linear-progress__buffer-bar{flex:0 1 100%;transition:flex-basis 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1);background-color:var(--mat-progress-bar-track-color, var(--mat-sys-surface-variant))}.mdc-linear-progress__primary-bar{transform:scaleX(0)}.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{left:-145.166611%}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation:mdc-linear-progress-primary-indeterminate-translate calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-primary-indeterminate-scale calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--animation-ready .mdc-linear-progress__primary-bar{animation-name:mdc-linear-progress-primary-indeterminate-translate-reverse}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--indeterminate .mdc-linear-progress__primary-bar{right:-145.166611%;left:auto}.mdc-linear-progress__secondary-bar{display:none}.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{left:-54.888891%;display:block}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation:mdc-linear-progress-secondary-indeterminate-translate calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}.mdc-linear-progress--indeterminate.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar>.mdc-linear-progress__bar-inner{animation:mdc-linear-progress-secondary-indeterminate-scale calc(2s*var(--mat-progress-bar-animation-multiplier)) infinite linear}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--animation-ready .mdc-linear-progress__secondary-bar{animation-name:mdc-linear-progress-secondary-indeterminate-translate-reverse}[dir=rtl] .mdc-linear-progress.mdc-linear-progress--indeterminate .mdc-linear-progress__secondary-bar{right:-54.888891%;left:auto}@keyframes mdc-linear-progress-buffering{from{transform:rotate(180deg) translateX(calc(var(--mat-progress-bar-track-height, 4px) * -2.5))}}@keyframes mdc-linear-progress-primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes mdc-linear-progress-primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes mdc-linear-progress-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes mdc-linear-progress-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes mdc-linear-progress-primary-indeterminate-translate-reverse{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(-83.67142%)}100%{transform:translateX(-200.611057%)}}@keyframes mdc-linear-progress-secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(-37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(-84.386165%)}100%{transform:translateX(-160.277782%)}}@keyframes mdc-linear-progress-buffering-reverse{from{transform:translateX(-10px)}} +`],encapsulation:2,changeDetection:0})}return e})();function x(e,d=0,r=100){return Math.max(d,Math.min(r,e))}var j=(()=>{class e{static \u0275fac=function(a){return new(a||e)};static \u0275mod=v({type:e});static \u0275inj=p({imports:[B]})}return e})();export{Z as a,j as b}; diff --git a/chunk-GBWD7IPI.js b/chunk-GBWD7IPI.js new file mode 100644 index 0000000..fcc466f --- /dev/null +++ b/chunk-GBWD7IPI.js @@ -0,0 +1,9 @@ +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.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=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=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=[];nthis._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{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{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{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}; diff --git a/chunk-GIRDLTGV.js b/chunk-GIRDLTGV.js new file mode 100644 index 0000000..f0a5486 --- /dev/null +++ b/chunk-GIRDLTGV.js @@ -0,0 +1,2 @@ +import{a as Ve,b as Le,c as Pe,d as We,e as Be,f as j}from"./chunk-P3ICZX4Q.js";import{c as Ae}from"./chunk-66PBOFKL.js";import{a as De}from"./chunk-7XDVX5KB.js";import{b as H,j as Q,k as Y,l as Fe}from"./chunk-LLJSP5R2.js";import{c as Ee,d as Re}from"./chunk-HMKN2VB2.js";import{g as ke,h as xe,j as Ie,k as Te}from"./chunk-EGL4ZKWQ.js";import{d as ge,e as fe,i as ye,o as ve}from"./chunk-GWD5A44H.js";import{$ as we,V as be,X as Ce,Y as D,Z as Oe,aa as z,c as _e,ca as Me,ea as q,oa as Se}from"./chunk-COFYR5MX.js";import{$ as J,$b as W,A as O,B as T,Ca as ie,Cb as S,Db as F,Eb as V,Gc as me,H as $,Jb as L,Kb as o,Lb as m,Mb as se,Mc as ue,Pc as d,Qc as G,S as A,T as E,Tb as P,U as g,Xb as b,Za as p,Zb as v,_b as oe,ac as k,ba as w,bc as x,cb as M,cc as u,da as l,dc as _,hb as ae,hc as ce,i as C,ia as f,ja as y,jc as B,ka as Z,kc as de,lc as K,ma as R,mc as N,ob as re,pb as ne,r as I,ta as ee,tc as he,ub as le,uc as pe,w as U,za as te}from"./chunk-2MUIW2M6.js";var Xe=["trigger"],Ue=["panel"],$e=[[["mat-select-trigger"]],"*"],Je=["mat-select-trigger","*"];function Ze(r,c){if(r&1&&(o(0,"span",4),K(1),m()),r&2){let e=v();p(),N(e.placeholder)}}function et(r,c){r&1&&W(0)}function tt(r,c){if(r&1&&(o(0,"span",11),K(1),m()),r&2){let e=v(2);p(),N(e.triggerValue)}}function it(r,c){if(r&1&&(o(0,"span",5),F(1,et,1,0)(2,tt,2,1,"span",11),m()),r&2){let e=v();p(),V(e.customTrigger?1:2)}}function at(r,c){if(r&1){let e=P();o(0,"div",12,1),b("keydown",function(i){f(e);let a=v();return y(a._handleKeydown(i))}),W(2,1),m()}if(r&2){let e=v();de(he("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",e._getPanelTheme())),B("mat-select-panel-animations-enabled",!e._animationsDisabled),L("ngClass",e.panelClass),S("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}var qe=new w("mat-select-scroll-strategy",{providedIn:"root",factory:()=>{let r=l(R);return()=>H(r)}});function rt(r){let c=l(R);return()=>H(c)}var nt=new w("MAT_SELECT_CONFIG"),lt={provide:qe,deps:[],useFactory:rt},st=new w("MatSelectTrigger"),X=class{source;value;constructor(c,e){this.source=c,this.value=e}},Bt=(()=>{class r{_viewportRuler=l(Ee);_changeDetectorRef=l(ue);_elementRef=l(ie);_dir=l(Me,{optional:!0});_idGenerator=l(Ce);_renderer=l(ae);_parentFormField=l(xe,{optional:!0});ngControl=l(fe,{self:!0,optional:!0});_liveAnnouncer=l(be);_defaultOptions=l(nt,{optional:!0});_animationsDisabled=Se();_initialized=new C;_cleanupDetach;options;optionGroups;customTrigger;_positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}];_scrollOptionIntoView(e){let t=this.options.toArray()[e];if(t){let i=this.panel.nativeElement,a=We(e,this.options,this.optionGroups),n=t._getHostElement();e===0&&a===1?i.scrollTop=0:i.scrollTop=Be(n.offsetTop,n.offsetHeight,i.scrollTop,i.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(e){return new X(this,e)}_scrollStrategyFactory=l(qe);_panelOpen=!1;_compareWith=(e,t)=>e===t;_uid=this._idGenerator.getId("mat-select-");_triggerAriaLabelledBy=null;_previousControl;_destroy=new C;_errorStateTracker;stateChanges=new C;disableAutomaticLabeling=!0;userAriaDescribedBy;_selectionModel;_keyManager;_preferredOverlayOrigin;_overlayWidth;_onChange=()=>{};_onTouched=()=>{};_valueId=this._idGenerator.getId("mat-select-value-");_scrollStrategy;_overlayPanelClass=this._defaultOptions?.overlayPanelClass||"";get focused(){return this._focused||this._panelOpen}_focused=!1;controlType="mat-select";trigger;panel;_overlayDir;panelClass;disabled=!1;get disableRipple(){return this._disableRipple()}set disableRipple(e){this._disableRipple.set(e)}_disableRipple=ee(!1);tabIndex=0;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._syncParentProperties()}_hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1;get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}_placeholder;get required(){return this._required??this.ngControl?.control?.hasValidator(ge.required)??!1}set required(e){this._required=e,this.stateChanges.next()}_required;get multiple(){return this._multiple}set multiple(e){this._selectionModel,this._multiple=e}_multiple=!1;disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1;get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}_value;ariaLabel="";ariaLabelledby;get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}typeaheadDebounceInterval;sortComparator;get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}_id;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}panelWidth=this._defaultOptions&&typeof this._defaultOptions.panelWidth<"u"?this._defaultOptions.panelWidth:"auto";canSelectNullableOptions=this._defaultOptions?.canSelectNullableOptions??!1;optionSelectionChanges=U(()=>{let e=this.options;return e?e.changes.pipe(A(e),E(()=>O(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(E(()=>this.optionSelectionChanges))});openedChange=new M;_openedStream=this.openedChange.pipe(T(e=>e),I(()=>{}));_closedStream=this.openedChange.pipe(T(e=>!e),I(()=>{}));selectionChange=new M;valueChange=new M;constructor(){let e=l(Ie),t=l(ye,{optional:!0}),i=l(ve,{optional:!0}),a=l(new me("tabindex"),{optional:!0});this.ngControl&&(this.ngControl.valueAccessor=this),this._defaultOptions?.typeaheadDebounceInterval!=null&&(this.typeaheadDebounceInterval=this._defaultOptions.typeaheadDebounceInterval),this._errorStateTracker=new Te(e,this.ngControl,i,t,this.stateChanges),this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=a==null?0:parseInt(a)||0,this.id=this.id}ngOnInit(){this._selectionModel=new Ae(this.multiple),this.stateChanges.next(),this._viewportRuler.change().pipe(g(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._changeDetectorRef.detectChanges())})}ngAfterContentInit(){this._initialized.next(),this._initialized.complete(),this._initKeyManager(),this._selectionModel.changed.pipe(g(this._destroy)).subscribe(e=>{e.added.forEach(t=>t.select()),e.removed.forEach(t=>t.deselect())}),this.options.changes.pipe(A(null),g(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){let e=this._getTriggerAriaLabelledby(),t=this.ngControl;if(e!==this._triggerAriaLabelledBy){let i=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?i.setAttribute("aria-labelledby",e):i.removeAttribute("aria-labelledby")}t&&(this._previousControl!==t.control&&(this._previousControl!==void 0&&t.disabled!==null&&t.disabled!==this.disabled&&(this.disabled=t.disabled),this._previousControl=t.control),this.updateErrorState())}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this.typeaheadDebounceInterval)}ngOnDestroy(){this._cleanupDetach?.(),this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete(),this._clearFromModal()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin()),this._cleanupDetach?.(),this._overlayWidth=this._getOverlayWidth(this._preferredOverlayOrigin),this._applyModalPanelOwnership(),this._panelOpen=!0,this._overlayDir.positionChange.pipe($(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()}),this._overlayDir.attachOverlay(),this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(!0)))}_trackedModal=null;_applyModalPanelOwnership(){let e=this._elementRef.nativeElement.closest('body > .cdk-overlay-container [aria-modal="true"]');if(!e)return;let t=`${this.id}-panel`;this._trackedModal&&z(this._trackedModal,"aria-owns",t),we(e,"aria-owns",t),this._trackedModal=e}_clearFromModal(){if(!this._trackedModal)return;let e=`${this.id}-panel`;z(this._trackedModal,"aria-owns",e),this._trackedModal=null}close(){this._panelOpen&&(this._panelOpen=!1,this._exitAndDetach(),this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched(),this.stateChanges.next(),Promise.resolve().then(()=>this.openedChange.emit(!1)))}_exitAndDetach(){if(this._animationsDisabled||!this.panel){this._detachOverlay();return}this._cleanupDetach?.(),this._cleanupDetach=()=>{t(),clearTimeout(i),this._cleanupDetach=void 0};let e=this.panel.nativeElement,t=this._renderer.listen(e,"animationend",a=>{a.animationName==="_mat-select-exit"&&(this._cleanupDetach?.(),this._detachOverlay())}),i=setTimeout(()=>{this._cleanupDetach?.(),this._detachOverlay()},200);e.classList.add("mat-select-panel-exit")}_detachOverlay(){this._overlayDir.detachOverlay(),this._changeDetectorRef.markForCheck()}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){let e=this._selectionModel.selected.map(t=>t.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}updateErrorState(){this._errorStateTracker.updateErrorState()}_isRtl(){return this._dir?this._dir.value==="rtl":!1}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){let t=e.keyCode,i=t===40||t===38||t===37||t===39,a=t===13||t===32,n=this._keyManager;if(!n.isTyping()&&a&&!D(e)||(this.multiple||e.altKey)&&i)e.preventDefault(),this.open();else if(!this.multiple){let h=this.selected;n.onKeydown(e);let s=this.selected;s&&h!==s&&this._liveAnnouncer.announce(s.viewValue,1e4)}}_handleOpenKeydown(e){let t=this._keyManager,i=e.keyCode,a=i===40||i===38,n=t.isTyping();if(a&&e.altKey)e.preventDefault(),this.close();else if(!n&&(i===13||i===32)&&t.activeItem&&!D(e))e.preventDefault(),t.activeItem._selectViaInteraction();else if(!n&&this._multiple&&i===65&&e.ctrlKey){e.preventDefault();let h=this.options.some(s=>!s.disabled&&!s.selected);this.options.forEach(s=>{s.disabled||(h?s.select():s.deselect())})}else{let h=t.activeItemIndex;t.onKeydown(e),this._multiple&&a&&e.shiftKey&&t.activeItem&&t.activeItemIndex!==h&&t.activeItem._selectViaInteraction()}}_handleOverlayKeydown(e){e.keyCode===27&&!D(e)&&(e.preventDefault(),this.close())}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this.options.forEach(t=>t.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(t=>this._selectOptionByValue(t)),this._sortValues();else{let t=this._selectOptionByValue(e);t?this._keyManager.updateActiveItem(t):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){let t=this.options.find(i=>{if(this._selectionModel.isSelected(i))return!1;try{return(i.value!=null||this.canSelectNullableOptions)&&this._compareWith(i.value,e)}catch{return!1}});return t&&this._selectionModel.select(t),t}_assignValue(e){return e!==this._value||this._multiple&&Array.isArray(e)?(this.options&&this._setSelectionByValue(e),this._value=e,!0):!1}_skipPredicate=e=>this.panelOpen?!1:e.disabled;_getOverlayWidth(e){return this.panelWidth==="auto"?(e instanceof Q?e.elementRef:e||this._elementRef).nativeElement.getBoundingClientRect().width:this.panelWidth===null?"":this.panelWidth}_syncParentProperties(){if(this.options)for(let e of this.options)e._changeDetectorRef.markForCheck()}_initKeyManager(){this._keyManager=new Oe(this.options).withTypeAhead(this.typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){let e=O(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(g(e)).subscribe(t=>{this._onSelect(t.source,t.isUserInput),t.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),O(...this.options.map(t=>t._stateChanges)).pipe(g(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(e,t){let i=this._selectionModel.isSelected(e);!this.canSelectNullableOptions&&e.value==null&&!this._multiple?(e.deselect(),this._selectionModel.clear(),this.value!=null&&this._propagateChanges(e.value)):(i!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),t&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),t&&this.focus())),i!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){let e=this.options.toArray();this._selectionModel.sort((t,i)=>this.sortComparator?this.sortComparator(t,i,e):e.indexOf(t)-e.indexOf(i)),this.stateChanges.next()}}_propagateChanges(e){let t;this.multiple?t=this.selected.map(i=>i.value):t=this.selected?this.selected.value:e,this._value=t,this.valueChange.emit(t),this._onChange(t),this.selectionChange.emit(this._getChangeEvent(t)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let e=-1;for(let t=0;t0&&!!this._overlayDir}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;let e=this._parentFormField?.getLabelId()||null,t=e?e+" ":"";return this.ariaLabelledby?t+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;let e=this._parentFormField?.getLabelId()||"";return this.ariaLabelledby&&(e+=" "+this.ariaLabelledby),e||(e=this._valueId),e}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=re({type:r,selectors:[["mat-select"]],contentQueries:function(t,i,a){if(t&1&&(k(a,st,5),k(a,Pe,5),k(a,Le,5)),t&2){let n;u(n=_())&&(i.customTrigger=n.first),u(n=_())&&(i.options=n),u(n=_())&&(i.optionGroups=n)}},viewQuery:function(t,i){if(t&1&&(x(Xe,5),x(Ue,5),x(Y,5)),t&2){let a;u(a=_())&&(i.trigger=a.first),u(a=_())&&(i.panel=a.first),u(a=_())&&(i._overlayDir=a.first)}},hostAttrs:["role","combobox","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:21,hostBindings:function(t,i){t&1&&b("keydown",function(n){return i._handleKeydown(n)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),t&2&&(S("id",i.id)("tabindex",i.disabled?-1:i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-activedescendant",i._getAriaActiveDescendant()),B("mat-mdc-select-disabled",i.disabled)("mat-mdc-select-invalid",i.errorState)("mat-mdc-select-required",i.required)("mat-mdc-select-empty",i.empty)("mat-mdc-select-multiple",i.multiple)("mat-select-open",i.panelOpen))},inputs:{userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",disabled:[2,"disabled","disabled",d],disableRipple:[2,"disableRipple","disableRipple",d],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:G(e)],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",d],placeholder:"placeholder",required:[2,"required","required",d],multiple:[2,"multiple","multiple",d],disableOptionCentering:[2,"disableOptionCentering","disableOptionCentering",d],compareWith:"compareWith",value:"value",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:[2,"typeaheadDebounceInterval","typeaheadDebounceInterval",G],sortComparator:"sortComparator",id:"id",panelWidth:"panelWidth",canSelectNullableOptions:[2,"canSelectNullableOptions","canSelectNullableOptions",d]},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},exportAs:["matSelect"],features:[pe([{provide:ke,useExisting:r},{provide:Ve,useExisting:r}]),te],ngContentSelectors:Je,decls:11,vars:9,consts:[["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],["panel",""],["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],[1,"mat-mdc-select-value"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false","aria-hidden","true"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"detach","backdropClick","overlayKeydown","cdkConnectedOverlayDisableClose","cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","cdkConnectedOverlayFlexibleDimensions"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"keydown","ngClass"]],template:function(t,i){if(t&1){let a=P();oe($e),o(0,"div",2,0),b("click",function(){return f(a),y(i.open())}),o(3,"div",3),F(4,Ze,2,1,"span",4)(5,it,3,1,"span",5),m(),o(6,"div",6)(7,"div",7),Z(),o(8,"svg",8),se(9,"path",9),m()()()(),le(10,at,3,10,"ng-template",10),b("detach",function(){return f(a),y(i.close())})("backdropClick",function(){return f(a),y(i.close())})("overlayKeydown",function(h){return f(a),y(i._handleOverlayKeydown(h))})}if(t&2){let a=ce(1);p(3),S("id",i._valueId),p(),V(i.empty?4:5),p(6),L("cdkConnectedOverlayDisableClose",!0)("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",i._preferredOverlayOrigin||a)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayWidth",i._overlayWidth)("cdkConnectedOverlayFlexibleDimensions",!0)}},dependencies:[Q,Y,_e],styles:[`@keyframes _mat-select-enter{from{opacity:0;transform:scaleY(0.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{from{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var(--mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-select-disabled{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var(--mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-invalid .mat-mdc-select-arrow,.mat-form-field-invalid:not(.mat-form-field-disabled) .mat-mdc-form-field-infix::after{color:var(--mat-select-invalid-arrow-color, var(--mat-sys-error))}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field.mat-focused .mat-mdc-select-arrow{color:var(--mat-select-focused-arrow-color, var(--mat-sys-primary))}.mat-mdc-form-field .mat-mdc-select.mat-mdc-select-disabled .mat-mdc-select-arrow{color:var(--mat-select-disabled-arrow-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-form-field-animations-enabled .mat-mdc-select-arrow{transition:transform 80ms linear}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@media(forced-colors: active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-select-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) div.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-select-panel-animations-enabled{animation:_mat-select-enter 120ms cubic-bezier(0, 0, 0.2, 1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit 100ms linear}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-form-field:not(.mat-form-field-animations-enabled) .mat-mdc-select-placeholder,._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100%/0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:var(--mat-select-arrow-transform, translateY(-8px))} +`],encapsulation:2,changeDetection:0})}return r})();var Kt=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=ne({type:r});static \u0275inj=J({providers:[lt],imports:[Fe,j,q,Re,De,j,q]})}return r})();export{Bt as a,Kt as b}; diff --git a/chunk-GMUETU5N.js b/chunk-GMUETU5N.js new file mode 100644 index 0000000..8193f3d --- /dev/null +++ b/chunk-GMUETU5N.js @@ -0,0 +1 @@ +import{a as D}from"./chunk-3GOV5KJM.js";import{a as S}from"./chunk-TPLZKWZ7.js";import{a as b}from"./chunk-GPI43RSU.js";import{a as f}from"./chunk-52JZ5I3Y.js";import{n as m}from"./chunk-COFYR5MX.js";import{D as s,Ec as y,Q as C,W as i,_ as v,a as g,b as h,da as o,n as d,o as p,r as u,ta as n}from"./chunk-2MUIW2M6.js";var E=class l{http=o(m);toastService=o(f);authService=o(S);guestService=o(b);API_URL=`${D.apiUrl}/categories`;CACHE_TTL=3600*1e3;categoriesState=n([]);selectedCategoryState=n(null);loadingState=n(!1);errorState=n(null);categoriesCache=null;categoryDetailsCache=new Map;categories=this.categoriesState.asReadonly();selectedCategory=this.selectedCategoryState.asReadonly();isLoading=this.loadingState.asReadonly();error=this.errorState.asReadonly();filteredCategories=y(()=>{let t=this.categoriesState();return this.guestService.guestState().isGuest,t});categoriesByDisplayOrder=y(()=>[...this.filteredCategories()].sort((t,e)=>{let a=t.displayOrder??999,r=e.displayOrder??999;return a!==r?a-r:t.name.localeCompare(e.name)}));getCategories(t=!1){return!t&&this.categoriesCache&&this.isCacheValid(this.categoriesCache.timestamp)?(this.categoriesState.set(this.categoriesCache.data),d(this.categoriesCache.data)):(this.loadingState.set(!0),this.errorState.set(null),this.http.get(this.API_URL).pipe(u(e=>e.data),i(e=>{this.categoriesCache={data:e,timestamp:Date.now()},console.log(e),this.categoriesState.set(e),this.loadingState.set(!1)}),s(e=>this.handleError(e,"Failed to load categories")),C(1)))}getCategoryById(t,e=!1){let a=this.categoryDetailsCache.get(t);return!e&&a&&this.isCacheValid(a.timestamp)?(this.selectedCategoryState.set(a.data),d(a.data)):(this.loadingState.set(!0),this.errorState.set(null),this.http.get(`${this.API_URL}/${t}`).pipe(u(r=>{let{category:R,questionPreview:w,stats:c}=r.data;return h(g({},R),{questionPreview:w,stats:h(g({},c),{averageScore:c.averageAccuracy}),difficultyBreakdown:c.questionsByDifficulty})}),i(r=>{this.categoryDetailsCache.set(t,{data:r,timestamp:Date.now()}),this.selectedCategoryState.set(r),this.loadingState.set(!1)}),s(r=>r.status===404?this.handleError(r,"Category not found"):r.status===403?this.handleError(r,"This category is not accessible in guest mode"):this.handleError(r,"Failed to load category details")),C(1)))}createCategory(t){return this.loadingState.set(!0),this.errorState.set(null),this.http.post(this.API_URL,t).pipe(i(e=>{this.toastService.success("Category created successfully"),this.invalidateCategoriesCache(),this.loadingState.set(!1)}),s(e=>e.status===401||e.status===403?this.handleError(e,"You do not have permission to create categories"):this.handleError(e,"Failed to create category")))}updateCategory(t,e){return this.loadingState.set(!0),this.errorState.set(null),this.http.put(`${this.API_URL}/${t}`,e).pipe(i(a=>{this.toastService.success("Category updated successfully"),this.invalidateCategoriesCache(),this.categoryDetailsCache.delete(t),this.loadingState.set(!1)}),s(a=>a.status===404?this.handleError(a,"Category not found"):a.status===401||a.status===403?this.handleError(a,"You do not have permission to update categories"):this.handleError(a,"Failed to update category")))}deleteCategory(t){return this.loadingState.set(!0),this.errorState.set(null),this.http.delete(`${this.API_URL}/${t}`).pipe(i(()=>{this.toastService.success("Category deleted successfully"),this.invalidateCategoriesCache(),this.categoryDetailsCache.delete(t);let e=this.categoriesState();this.categoriesState.set(e.filter(a=>a.id!==t)),this.loadingState.set(!1)}),s(e=>e.status===404?this.handleError(e,"Category not found"):e.status===401||e.status===403?this.handleError(e,"You do not have permission to delete categories"):this.handleError(e,"Failed to delete category")))}searchCategories(t){if(!t.trim())return this.filteredCategories();let e=t.toLowerCase();return this.filteredCategories().filter(a=>a.name.toLowerCase().includes(e)||a.description.toLowerCase().includes(e))}clearSelectedCategory(){this.selectedCategoryState.set(null)}invalidateCategoriesCache(){this.categoriesCache=null}invalidateCategoryCache(t){this.categoryDetailsCache.delete(t)}clearAllCaches(){this.categoriesCache=null,this.categoryDetailsCache.clear()}isCacheValid(t){return Date.now()-tt)}static \u0275fac=function(e){return new(e||l)};static \u0275prov=v({token:l,factory:l.\u0275fac,providedIn:"root"})};export{E as a}; diff --git a/chunk-GPI43RSU.js b/chunk-GPI43RSU.js new file mode 100644 index 0000000..eeabee5 --- /dev/null +++ b/chunk-GPI43RSU.js @@ -0,0 +1 @@ +import{a as m,b as v}from"./chunk-RC3JXGN6.js";import{a as E}from"./chunk-52JZ5I3Y.js";import{n as p,w as d}from"./chunk-COFYR5MX.js";import{D as a,W as n,_ as S,a as i,b as r,da as u,o,ta as h}from"./chunk-2MUIW2M6.js";var I=class g{http=u(p);storageService=u(v);toastService=u(E);router=u(d);API_URL=`${m.apiUrl}/guest`;GUEST_TOKEN_KEY="guest_token";GUEST_ID_KEY="guest_id";DEVICE_ID_KEY="device_id";SESSION_EXPIRY_HOURS=24;guestStateSignal=h({session:null,isGuest:this.hasActiveGuestSession(),isLoading:!1,error:null,quizLimit:null});guestState=this.guestStateSignal.asReadonly();startSession(){this.setLoading(!0);let e=this.getOrCreateDeviceId();return this.http.post(`${this.API_URL}/start-session`,{deviceId:e}).pipe(n(t=>{this.storageService.setItem(this.GUEST_ID_KEY,t.data.guestId),this.storageService.setGuestToken(t.data.sessionToken),this.guestStateSignal.update(s=>r(i({},s),{session:t.data,isGuest:!0,isLoading:!1,error:null})),this.toastService.success("Welcome! You're browsing as a guest.")}),a(t=>(this.setError("Failed to start guest session"),this.toastService.error("Unable to start guest session. Please try again."),o(()=>t))))}getSession(e){return this.setLoading(!0),this.http.get(`${this.API_URL}/session/${e}`).pipe(n(t=>{this.guestStateSignal.update(s=>r(i({},s),{session:t,isGuest:!0,isLoading:!1,error:null}))}),a(t=>(t.status===404?(this.clearGuestSession(),this.toastService.warning("Guest session expired. Please start a new session.")):this.setError("Failed to fetch guest session"),o(()=>t))))}getQuizLimit(){return this.setLoading(!0),this.http.get(`${this.API_URL}/quiz-limit`).pipe(n(e=>{this.guestStateSignal.update(t=>r(i({},t),{quizLimit:e,isLoading:!1,error:null}))}),a(e=>(this.setError("Failed to fetch quiz limit"),o(()=>e))))}convertToUser(e,t){return this.setLoading(!0),this.http.post(`${this.API_URL}/convert`,i({guestSessionId:e},t)).pipe(n(()=>{this.clearGuestSession(),this.toastService.success("Guest data successfully migrated to your account!")}),a(s=>(this.setError("Failed to convert guest session"),o(()=>s))))}getOrCreateDeviceId(){let e=this.storageService.getItem(this.DEVICE_ID_KEY);return e||(e=this.generateUUID(),this.storageService.setItem(this.DEVICE_ID_KEY,e)),e}generateUUID(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}hasActiveGuestSession(){let e=this.storageService.getItem(this.GUEST_TOKEN_KEY),t=this.storageService.getItem(this.GUEST_ID_KEY);return!!(e&&t)}getGuestToken(){return this.storageService.getItem(this.GUEST_TOKEN_KEY)}getGuestId(){return this.storageService.getItem(this.GUEST_ID_KEY)}isSessionExpired(){let e=this.guestState().session;if(!e)return!0;let t=new Date(e.createdAt);return(new Date().getTime()-t.getTime())/(1e3*60*60)>=this.SESSION_EXPIRY_HOURS}clearGuestSession(){this.storageService.removeItem(this.GUEST_TOKEN_KEY),this.storageService.removeItem(this.GUEST_ID_KEY),this.guestStateSignal.update(e=>r(i({},e),{session:null,isGuest:!1,isLoading:!1,error:null,quizLimit:null}))}setLoading(e){this.guestStateSignal.update(t=>r(i({},t),{isLoading:e}))}setError(e){this.guestStateSignal.update(t=>r(i({},t),{isLoading:!1,error:e}))}hasReachedQuizLimit(){let e=this.guestState().quizLimit;return e?e.quizzesRemaining<=0:!1}getTimeRemaining(){let e=this.guestState().session;if(!e)return"0h 0m";let t=new Date(e.createdAt),s=new Date(t.getTime()+this.SESSION_EXPIRY_HOURS*60*60*1e3),c=new Date,l=s.getTime()-c.getTime();if(l<=0)return"0h 0m";let f=Math.floor(l/(1e3*60*60)),x=Math.floor(l%(1e3*60*60)/(1e3*60));return`${f}h ${x}m`}static \u0275fac=function(t){return new(t||g)};static \u0275prov=S({token:g,factory:g.\u0275fac,providedIn:"root"})};export{I as a}; diff --git a/chunk-GWD5A44H.js b/chunk-GWD5A44H.js new file mode 100644 index 0000000..e8fe807 --- /dev/null +++ b/chunk-GWD5A44H.js @@ -0,0 +1 @@ +import{a as ue}from"./chunk-COFYR5MX.js";import{$ as L,Aa as v,Ca as se,Cb as N,Dc as m,Ec as M,Mc as Ie,Pc as le,X as H,Xb as O,Z as c,_ as we,a as f,b as g,ba as V,cb as y,hb as oe,i as be,ib as o,jc as ae,m as Ae,pb as W,qb as l,r as Me,sb as u,ta as b,uc as h,x as Ee,xb as Fe,za as A}from"./chunk-2MUIW2M6.js";var Ge=(()=>{class n{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static \u0275fac=function(i){return new(i||n)(o(oe),o(se))};static \u0275dir=l({type:n})}return n})(),Te=(()=>{class n extends Ge{static \u0275fac=(()=>{let e;return function(r){return(e||(e=v(n)))(r||n)}})();static \u0275dir=l({type:n,features:[u]})}return n})(),U=new V("");var ht={provide:U,useExisting:c(()=>Be),multi:!0};function ft(){let n=ue()?ue().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}var gt=new V(""),Be=(()=>{class n extends Ge{_compositionMode;_composing=!1;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!ft())}writeValue(e){let i=e??"";this.setProperty("value",i)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static \u0275fac=function(i){return new(i||n)(o(oe),o(se),o(gt,8))};static \u0275dir=l({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){i&1&&O("input",function(a){return r._handleInput(a.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(a){return r._compositionEnd(a.target.value)})},standalone:!1,features:[h([ht]),u]})}return n})();function fe(n){return n==null||ge(n)===0}function ge(n){return n==null?null:Array.isArray(n)||typeof n=="string"?n.length:n instanceof Set?n.size:null}var p=new V(""),D=new V(""),pt=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Se=class{static min(t){return Ue(t)}static max(t){return He(t)}static required(t){return Le(t)}static requiredTrue(t){return mt(t)}static email(t){return _t(t)}static minLength(t){return vt(t)}static maxLength(t){return We(t)}static pattern(t){return yt(t)}static nullValidator(t){return q()}static compose(t){return Ye(t)}static composeAsync(t){return Ke(t)}};function Ue(n){return t=>{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return!isNaN(e)&&e{if(t.value==null||n==null)return null;let e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}function Le(n){return fe(n.value)?{required:!0}:null}function mt(n){return n.value===!0?null:{required:!0}}function _t(n){return fe(n.value)||pt.test(n.value)?null:{email:!0}}function vt(n){return t=>{let e=t.value?.length??ge(t.value);return e===null||e===0?null:e{let e=t.value?.length??ge(t.value);return e!==null&&e>n?{maxlength:{requiredLength:n,actualLength:e}}:null}}function yt(n){if(!n)return q;let t,e;return typeof n=="string"?(e="",n.charAt(0)!=="^"&&(e+="^"),e+=n,n.charAt(n.length-1)!=="$"&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(fe(i.value))return null;let r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function q(n){return null}function $e(n){return n!=null}function qe(n){return Fe(n)?Ae(n):n}function ze(n){let t={};return n.forEach(e=>{t=e!=null?f(f({},t),e):t}),Object.keys(t).length===0?null:t}function Ze(n,t){return t.map(e=>e(n))}function Ct(n){return!n.validate}function Xe(n){return n.map(t=>Ct(t)?t:e=>t.validate(e))}function Ye(n){if(!n)return null;let t=n.filter($e);return t.length==0?null:function(e){return ze(Ze(e,t))}}function pe(n){return n!=null?Ye(Xe(n)):null}function Ke(n){if(!n)return null;let t=n.filter($e);return t.length==0?null:function(e){let i=Ze(e,t).map(qe);return Ee(i).pipe(Me(ze))}}function me(n){return n!=null?Ke(Xe(n)):null}function Ne(n,t){return n===null?[t]:Array.isArray(n)?[...n,t]:[n,t]}function Je(n){return n._rawValidators}function Qe(n){return n._rawAsyncValidators}function de(n){return n?Array.isArray(n)?n:[n]:[]}function z(n,t){return Array.isArray(n)?n.includes(t):n===t}function Oe(n,t){let e=de(t);return de(n).forEach(r=>{z(e,r)||e.push(r)}),e}function xe(n,t){return de(t).filter(e=>!z(n,e))}var Z=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=pe(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=me(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,e){return this.control?this.control.hasError(t,e):!1}getError(t,e){return this.control?this.control.getError(t,e):null}},d=class extends Z{name;get formDirective(){return null}get path(){return null}},_=class extends Z{_parent=null;name=null;valueAccessor=null},X=class{_cd;constructor(t){this._cd=t}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},Vt={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},An=g(f({},Vt),{"[class.ng-submitted]":"isSubmitted"}),Mn=(()=>{class n extends X{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(_,2))};static \u0275dir=l({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&ae("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},standalone:!1,features:[u]})}return n})(),En=(()=>{class n extends X{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(d,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&ae("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},standalone:!1,features:[u]})}return n})();var x="VALID",$="INVALID",E="PENDING",P="DISABLED",C=class{},Y=class extends C{value;source;constructor(t,e){super(),this.value=t,this.source=e}},k=class extends C{pristine;source;constructor(t,e){super(),this.pristine=t,this.source=e}},j=class extends C{touched;source;constructor(t,e){super(),this.touched=t,this.source=e}},w=class extends C{status;source;constructor(t,e){super(),this.status=t,this.source=e}},K=class extends C{source;constructor(t){super(),this.source=t}},T=class extends C{source;constructor(t){super(),this.source=t}};function _e(n){return(te(n)?n.validators:n)||null}function Dt(n){return Array.isArray(n)?pe(n):n||null}function ve(n,t){return(te(t)?t.asyncValidators:n)||null}function bt(n){return Array.isArray(n)?me(n):n||null}function te(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function et(n,t,e){let i=n.controls;if(!(t?Object.keys(i):i).length)throw new H(1e3,"");if(!i[e])throw new H(1001,"")}function tt(n,t,e){n._forEachChild((i,r)=>{if(e[r]===void 0)throw new H(1002,"")})}var F=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,e){this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get status(){return m(this.statusReactive)}set status(t){m(()=>this.statusReactive.set(t))}_status=M(()=>this.statusReactive());statusReactive=b(void 0);get valid(){return this.status===x}get invalid(){return this.status===$}get pending(){return this.status==E}get disabled(){return this.status===P}get enabled(){return this.status!==P}errors;get pristine(){return m(this.pristineReactive)}set pristine(t){m(()=>this.pristineReactive.set(t))}_pristine=M(()=>this.pristineReactive());pristineReactive=b(!0);get dirty(){return!this.pristine}get touched(){return m(this.touchedReactive)}set touched(t){m(()=>this.touchedReactive.set(t))}_touched=M(()=>this.touchedReactive());touchedReactive=b(!1);get untouched(){return!this.touched}_events=new be;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(Oe(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Oe(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(xe(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(xe(t,this._rawAsyncValidators))}hasValidator(t){return z(this._rawValidators,t)}hasAsyncValidator(t){return z(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){let e=this.touched===!1;this.touched=!0;let i=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsTouched(g(f({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new j(!0,i))}markAllAsDirty(t={}){this.markAsDirty({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsDirty(t))}markAllAsTouched(t={}){this.markAsTouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(t))}markAsUntouched(t={}){let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:i})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,i),e&&t.emitEvent!==!1&&this._events.next(new j(!1,i))}markAsDirty(t={}){let e=this.pristine===!0;this.pristine=!1;let i=t.sourceControl??this;this._parent&&!t.onlySelf&&this._parent.markAsDirty(g(f({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new k(!1,i))}markAsPristine(t={}){let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=t.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:t.emitEvent})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t,i),e&&t.emitEvent!==!1&&this._events.next(new k(!0,i))}markAsPending(t={}){this.status=E;let e=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new w(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.markAsPending(g(f({},t),{sourceControl:e}))}disable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=P,this.errors=null,this._forEachChild(r=>{r.disable(g(f({},t),{onlySelf:!0}))}),this._updateValue();let i=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Y(this.value,i)),this._events.next(new w(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(g(f({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(r=>r(!0))}enable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=x,this._forEachChild(i=>{i.enable(g(f({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(g(f({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t,e){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===x||this.status===E)&&this._runAsyncValidator(i,t.emitEvent)}let e=t.sourceControl??this;t.emitEvent!==!1&&(this._events.next(new Y(this.value,e)),this._events.next(new w(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(g(f({},t),{sourceControl:e}))}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?P:x}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,e){if(this.asyncValidator){this.status=E,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1,shouldHaveEmitted:t!==!1};let i=qe(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:t})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let t=(this._hasOwnPendingAsyncValidator?.emitEvent||this._hasOwnPendingAsyncValidator?.shouldHaveEmitted)??!1;return this._hasOwnPendingAsyncValidator=null,t}return!1}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(t){let e=t;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){let i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,e,i){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||i)&&this._events.next(new w(this.status,e)),this._parent&&this._parent._updateControlsErrors(t,e,i)}_initObservables(){this.valueChanges=new y,this.statusChanges=new y}_calculateStatus(){return this._allControlsDisabled()?P:this.errors?$:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(E)?E:this._anyControlsHaveStatus($)?$:x}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!t.onlySelf&&this._parent._updatePristine(t,e),r&&this._events.next(new k(this.pristine,e))}_updateTouched(t={},e){this.touched=this._anyControlsTouched(),this._events.next(new j(this.touched,e)),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,e)}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){te(t)&&t.updateOn!=null&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){let e=this._parent&&this._parent.dirty;return!t&&!!e&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=Dt(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=bt(this._rawAsyncValidators)}},I=class extends F{constructor(t,e,i){super(_e(e),ve(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){tt(this,!0,t),Object.keys(t).forEach(i=>{et(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(Object.keys(t).forEach(i=>{let r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t?t[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e),e?.emitEvent!==!1&&this._events.next(new T(this))}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>i._syncPendingControls()?!0:e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{let i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){let t={};return this._reduceChildren(t,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,s)=>{i=e(i,r,s)}),i}_allControlsDisabled(){for(let t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}};var ce=class extends I{};var S=new V("",{providedIn:"root",factory:()=>ne}),ne="always";function ie(n,t){return[...t.path,n]}function B(n,t,e=ne){ye(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||e==="always")&&t.valueAccessor.setDisabledState?.(n.disabled),Mt(n,t),wt(n,t),Et(n,t),At(n,t)}function J(n,t,e=!0){let i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),ee(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function Q(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function At(n,t){if(t.valueAccessor.setDisabledState){let e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}function ye(n,t){let e=Je(n);t.validator!==null?n.setValidators(Ne(e,t.validator)):typeof e=="function"&&n.setValidators([e]);let i=Qe(n);t.asyncValidator!==null?n.setAsyncValidators(Ne(i,t.asyncValidator)):typeof i=="function"&&n.setAsyncValidators([i]);let r=()=>n.updateValueAndValidity();Q(t._rawValidators,r),Q(t._rawAsyncValidators,r)}function ee(n,t){let e=!1;if(n!==null){if(t.validator!==null){let r=Je(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.validator);s.length!==r.length&&(e=!0,n.setValidators(s))}}if(t.asyncValidator!==null){let r=Qe(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.asyncValidator);s.length!==r.length&&(e=!0,n.setAsyncValidators(s))}}}let i=()=>{};return Q(t._rawValidators,i),Q(t._rawAsyncValidators,i),e}function Mt(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,n.updateOn==="change"&&nt(n,t)})}function Et(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,n.updateOn==="blur"&&n._pendingChange&&nt(n,t),n.updateOn!=="submit"&&n.markAsTouched()})}function nt(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function wt(n,t){let e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}function it(n,t){n==null,ye(n,t)}function Ft(n,t){return ee(n,t)}function Ce(n,t){if(!n.hasOwnProperty("model"))return!1;let e=n.model;return e.isFirstChange()?!0:!Object.is(t,e.currentValue)}function It(n){return Object.getPrototypeOf(n.constructor)===Te}function rt(n,t){n._syncPendingControls(),t.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function Ve(n,t){if(!t)return null;Array.isArray(t);let e,i,r;return t.forEach(s=>{s.constructor===Be?e=s:It(s)?i=s:r=s}),r||i||e||null}function St(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}var Nt={provide:d,useExisting:c(()=>Ot)},R=Promise.resolve(),Ot=(()=>{class n extends d{callSetDisabledState;get submitted(){return m(this.submittedReactive)}_submitted=M(()=>this.submittedReactive());submittedReactive=b(!1);_directives=new Set;form;ngSubmit=new y;options;constructor(e,i,r){super(),this.callSetDisabledState=r,this.form=new I({},pe(e),me(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){R.then(()=>{let i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),B(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){R.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){R.then(()=>{let i=this._findContainer(e.path),r=new I({});it(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){R.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){R.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submittedReactive.set(!0),rt(this.form,this._directives),this.ngSubmit.emit(e),this.form._events.next(new K(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static \u0275fac=function(i){return new(i||n)(o(p,10),o(D,10),o(S,8))};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){i&1&&O("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[h([Nt]),u]})}return n})();function Pe(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}function Re(n){return typeof n=="object"&&n!==null&&Object.keys(n).length===2&&"value"in n&&"disabled"in n}var G=class extends F{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(t=null,e,i){super(_e(e),ve(i,e)),this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),te(e)&&(e.nonNullable||e.initialValueIsDefault)&&(Re(t)?this.defaultValue=t.value:this.defaultValue=t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==!1)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1,e?.emitEvent!==!1&&this._events.next(new T(this))}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Pe(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Pe(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(t){Re(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};var xt=n=>n instanceof G,Pt=(()=>{class n extends d{_parent;ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return ie(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}static \u0275fac=(()=>{let e;return function(r){return(e||(e=v(n)))(r||n)}})();static \u0275dir=l({type:n,standalone:!1,features:[u]})}return n})();var Rt={provide:_,useExisting:c(()=>kt)},ke=Promise.resolve(),kt=(()=>{class n extends _{_changeDetectorRef;callSetDisabledState;control=new G;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new y;constructor(e,i,r,s,a,ct){super(),this._changeDetectorRef=a,this.callSetDisabledState=ct,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Ve(this,s)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),Ce(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){B(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){ke.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&le(i);ke.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?ie(e,this._parent):[e]}static \u0275fac=function(i){return new(i||n)(o(d,9),o(p,10),o(D,10),o(U,10),o(Ie,8),o(S,8))};static \u0275dir=l({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[h([Rt]),u,A]})}return n})();var Fn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return n})(),jt={provide:U,useExisting:c(()=>Gt),multi:!0},Gt=(()=>{class n extends Te{writeValue(e){let i=e??"";this.setProperty("value",i)}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=v(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){i&1&&O("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[h([jt]),u]})}return n})();var De=new V(""),Tt={provide:_,useExisting:c(()=>Bt)},Bt=(()=>{class n extends _{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new y;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=Ve(this,r)}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&J(i,this,!1),B(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}Ce(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&J(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||n)(o(p,10),o(D,10),o(U,10),o(De,8),o(S,8))};static \u0275dir=l({type:n,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[h([Tt]),u,A]})}return n})(),Ut={provide:d,useExisting:c(()=>st)},st=(()=>{class n extends d{callSetDisabledState;get submitted(){return m(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e)}_submitted=M(()=>this._submittedReactive());_submittedReactive=b(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new y;constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(ee(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){let i=this.form.get(e.path);return B(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){J(e.control||null,e,!1),St(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this._submittedReactive.set(!0),rt(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new K(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0,i={}){this.form.reset(e,i),this._submittedReactive.set(!1)}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(J(i||null,e),xt(r)&&(B(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let i=this.form.get(e.path);it(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let i=this.form.get(e.path);i&&Ft(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){ye(this.form,this),this._oldForm&&ee(this._oldForm,this)}static \u0275fac=function(i){return new(i||n)(o(p,10),o(D,10),o(S,8))};static \u0275dir=l({type:n,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&O("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[h([Ut]),u,A]})}return n})(),Ht={provide:d,useExisting:c(()=>ot)},ot=(()=>{class n extends Pt{name=null;constructor(e,i,r){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(r)}_checkParentType(){lt(this._parent)}static \u0275fac=function(i){return new(i||n)(o(d,13),o(p,10),o(D,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""]],inputs:{name:[0,"formGroupName","name"]},standalone:!1,features:[h([Ht]),u]})}return n})(),Lt={provide:d,useExisting:c(()=>at)},at=(()=>{class n extends d{_parent;name=null;constructor(e,i,r){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(r)}ngOnInit(){lt(this._parent),this.formDirective.addFormArray(this)}ngOnDestroy(){this.formDirective?.removeFormArray(this)}get control(){return this.formDirective.getFormArray(this)}get formDirective(){return this._parent?this._parent.formDirective:null}get path(){return ie(this.name==null?this.name:this.name.toString(),this._parent)}static \u0275fac=function(i){return new(i||n)(o(d,13),o(p,10),o(D,10))};static \u0275dir=l({type:n,selectors:[["","formArrayName",""]],inputs:{name:[0,"formArrayName","name"]},standalone:!1,features:[h([Lt]),u]})}return n})();function lt(n){return!(n instanceof ot)&&!(n instanceof st)&&!(n instanceof at)}var Wt={provide:_,useExisting:c(()=>$t)},$t=(()=>{class n extends _{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(e){}model;update=new y;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Ve(this,s)}ngOnChanges(e){this._added||this._setUpControl(),Ce(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return ie(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||n)(o(d,13),o(p,10),o(D,10),o(U,10),o(De,8))};static \u0275dir=l({type:n,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[h([Wt]),u,A]})}return n})();function qt(n){return typeof n=="number"?n:parseInt(n,10)}function ut(n){return typeof n=="number"?n:parseFloat(n)}var re=(()=>{class n{_validator=q;_onChange;_enabled;ngOnChanges(e){if(this.inputName in e){let i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):q,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return e!=null}static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,features:[A]})}return n})(),zt={provide:p,useExisting:c(()=>Zt),multi:!0},Zt=(()=>{class n extends re{max;inputName="max";normalizeInput=e=>ut(e);createValidator=e=>He(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=v(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&N("max",r._enabled?r.max:null)},inputs:{max:"max"},standalone:!1,features:[h([zt]),u]})}return n})(),Xt={provide:p,useExisting:c(()=>Yt),multi:!0},Yt=(()=>{class n extends re{min;inputName="min";normalizeInput=e=>ut(e);createValidator=e=>Ue(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=v(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&N("min",r._enabled?r.min:null)},inputs:{min:"min"},standalone:!1,features:[h([Xt]),u]})}return n})(),Kt={provide:p,useExisting:c(()=>Jt),multi:!0};var Jt=(()=>{class n extends re{required;inputName="required";normalizeInput=le;createValidator=e=>Le;enabled(e){return e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=v(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(i,r){i&2&&N("required",r._enabled?"":null)},inputs:{required:"required"},standalone:!1,features:[h([Kt]),u]})}return n})();var Qt={provide:p,useExisting:c(()=>en),multi:!0},en=(()=>{class n extends re{maxlength;inputName="maxlength";normalizeInput=e=>qt(e);createValidator=e=>We(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=v(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&N("maxlength",r._enabled?r.maxlength:null)},inputs:{maxlength:"maxlength"},standalone:!1,features:[h([Qt]),u]})}return n})();var dt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=W({type:n});static \u0275inj=L({})}return n})(),he=class extends F{constructor(t,e,i){super(_e(e),ve(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){Array.isArray(t)?t.forEach(i=>{this.controls.push(i),this._registerControl(i)}):(this.controls.push(t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){let i=this._adjustIndex(t);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){tt(this,!1,t),t.forEach((i,r)=>{et(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(t.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e),e?.emitEvent!==!1&&this._events.next(new T(this))}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((e,i)=>i._syncPendingControls()?!0:e,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(let t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}};function je(n){return!!n&&(n.asyncValidators!==void 0||n.validators!==void 0||n.updateOn!==void 0)}var In=(()=>{class n{useNonNullable=!1;get nonNullable(){let e=new n;return e.useNonNullable=!0,e}group(e,i=null){let r=this._reduceControls(e),s={};return je(i)?s=i:i!==null&&(s.validators=i.validator,s.asyncValidators=i.asyncValidator),new I(r,s)}record(e,i=null){let r=this._reduceControls(e);return new ce(r,i)}control(e,i,r){let s={};return this.useNonNullable?(je(i)?s=i:(s.validators=i,s.asyncValidators=r),new G(e,g(f({},s),{nonNullable:!0}))):new G(e,i,r)}array(e,i,r){let s=e.map(a=>this._createControl(a));return new he(s,i,r)}_reduceControls(e){let i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r])}),i}_createControl(e){if(e instanceof G)return e;if(e instanceof F)return e;if(Array.isArray(e)){let i=e[0],r=e.length>1?e[1]:null,s=e.length>2?e[2]:null;return this.control(i,r,s)}else return this.control(e)}static \u0275fac=function(i){return new(i||n)};static \u0275prov=we({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var Sn=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:S,useValue:e.callSetDisabledState??ne}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=W({type:n});static \u0275inj=L({imports:[dt]})}return n})(),Nn=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:De,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:S,useValue:e.callSetDisabledState??ne}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=W({type:n});static \u0275inj=L({imports:[dt]})}return n})();export{U as a,Be as b,p as c,Se as d,_ as e,Mn as f,En as g,I as h,Ot as i,G as j,kt as k,Fn as l,Gt as m,Bt as n,st as o,ot as p,at as q,$t as r,Zt as s,Yt as t,Jt as u,en as v,he as w,In as x,Sn as y,Nn as z}; diff --git a/chunk-GYQ7OXTP.js b/chunk-GYQ7OXTP.js new file mode 100644 index 0000000..8e4c96d --- /dev/null +++ b/chunk-GYQ7OXTP.js @@ -0,0 +1 @@ +import{a as J}from"./chunk-LA37G65K.js";import{a as H}from"./chunk-B4CGVF35.js";import{b as B}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-WI5CBSGS.js";import"./chunk-3NOMFGTV.js";import"./chunk-T6TXUSUP.js";import"./chunk-M5XZ5N2D.js";import{b as j,g as R}from"./chunk-TAS7XC6E.js";import"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import{a as I}from"./chunk-TPLZKWZ7.js";import"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as q,b as T,c as F,f as V,i as N}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as Q,b as Y}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as $,c as w,d as z,e as S,j as k,w as E,wa as L,x as D,ya as A,za as U}from"./chunk-COFYR5MX.js";import{Ec as M,Jb as s,Kb as i,Lb as t,Mb as x,Tb as u,Xb as f,Za as a,Zb as d,da as v,ia as _,ja as p,lc as o,mc as g,nc as O,ob as y,oc as b,ta as P,ub as l,vc as h}from"./chunk-2MUIW2M6.js";var W=()=>["/profile"],G=()=>["/categories"],X=()=>["/bookmarks"];function Z(r,n){r&1&&(i(0,"div",3),x(1,"mat-spinner",4),i(2,"p"),o(3,"Loading your dashboard..."),t()())}function ee(r,n){if(r&1){let e=u();i(0,"div",5)(1,"mat-icon",6),o(2,"error_outline"),t(),i(3,"h2"),o(4,"Failed to Load Dashboard"),t(),i(5,"p"),o(6),t(),i(7,"button",7),f("click",function(){_(e);let m=d();return p(m.loadDashboard())}),i(8,"mat-icon"),o(9,"refresh"),t(),o(10," Try Again "),t()()}if(r&2){let e=d();a(6),g(e.error())}}function te(r,n){if(r&1){let e=u();i(0,"div",17)(1,"mat-icon",18),o(2,"quiz"),t(),i(3,"h2"),o(4,"Start Your Journey!"),t(),i(5,"p"),o(6,"You haven't taken any quizzes yet. Start your first quiz to see your progress here."),t(),i(7,"button",7),f("click",function(){_(e);let m=d(2);return p(m.startNewQuiz())}),i(8,"mat-icon"),o(9,"play_arrow"),t(),o(10," Take Your First Quiz "),t()()}}function ne(r,n){if(r&1&&(i(0,"span",35),o(1),t()),r&2){let e=d().$implicit;a(),g(e.badge)}}function ie(r,n){if(r&1&&(i(0,"mat-card",28)(1,"mat-card-content")(2,"div",29)(3,"mat-icon",30),o(4),t(),l(5,ne,2,1,"span",31),t(),i(6,"div",32),o(7),t(),i(8,"div",33),o(9),t(),i(10,"div",34),o(11),t()()()),r&2){let e=n.$implicit;s("ngClass","card-"+e.color),a(4),g(e.icon),a(),s("ngIf",e.badge),a(2),g(e.value),a(2),g(e.title),a(2),g(e.description)}}function oe(r,n){if(r&1){let e=u();i(0,"div",40),f("click",function(){let m=_(e).$implicit,C=d(4);return p(C.viewCategory(m.category.id))}),i(1,"div",41)(2,"span",42),o(3),t()(),x(4,"div",43),t()}if(r&2){let e=n.$implicit;a(3),g(e.category.name)}}function re(r,n){r&1&&(i(0,"div",44)(1,"p"),o(2,"No category data available yet"),t()())}function ae(r,n){if(r&1&&(i(0,"mat-card",36)(1,"mat-card-header")(2,"mat-card-title")(3,"mat-icon"),o(4,"bar_chart"),t(),o(5," Top Categories Performance "),t()(),i(6,"mat-card-content")(7,"div",37),l(8,oe,5,1,"div",38),t(),l(9,re,3,0,"div",39),t()()),r&2){let e=d(3);a(8),s("ngForOf",e.topCategories()),a(),s("ngIf",e.topCategories().length===0)}}function ce(r,n){r&1&&(i(0,"span",55),o(1,"\u2022"),t())}function se(r,n){if(r&1&&(i(0,"mat-chip",63),o(1),t()),r&2){let e=d().$implicit;a(),O(" ",e.difficulty," ")}}function de(r,n){if(r&1){let e=u();i(0,"div",49),f("click",function(){let m=_(e).$implicit,C=d(4);return p(C.viewQuizResults(m.id))}),i(1,"div",50)(2,"mat-icon"),o(3,"quiz"),t()(),i(4,"div",51)(5,"div",52),o(6),t(),i(7,"div",53)(8,"span",54),o(9),t(),i(10,"span",55),o(11,"\u2022"),t(),i(12,"span",56),o(13),t(),l(14,ce,2,0,"span",57)(15,se,2,1,"mat-chip",58),t()(),i(16,"div",59)(17,"span",60),o(18),t(),i(19,"span",61),o(20),t()(),i(21,"mat-icon",62),o(22,"chevron_right"),t()()}if(r&2){let e=n.$implicit,c=d(4);a(6),g(e.category.name),a(3),g(c.formatDate(e.completedAt)),a(4),g(c.formatDuration(e.timeSpent)),a(),s("ngIf",e.difficulty),a(),s("ngIf",e.difficulty),a(2),s("ngClass",c.getScoreColor(e.score.earned,e.score.total)),a(),b(" ",e.score.total,"/",e.questionsAnswered," "),a(2),O("",e.score.percentage,"%")}}function me(r,n){r&1&&(i(0,"div",44)(1,"p"),o(2,"No recent quiz sessions"),t()())}function le(r,n){if(r&1){let e=u();i(0,"mat-card",45)(1,"mat-card-header")(2,"mat-card-title")(3,"mat-icon"),o(4,"history"),t(),o(5," Recent Quiz Sessions "),t(),i(6,"button",46),f("click",function(){_(e);let m=d(3);return p(m.viewAllHistory())}),o(7," View All "),i(8,"mat-icon"),o(9,"arrow_forward"),t()()(),i(10,"mat-card-content")(11,"div",47),l(12,de,23,9,"div",48),t(),l(13,me,3,0,"div",39),t()()}if(r&2){let e=d(3);a(12),s("ngForOf",e.recentSessions()),a(),s("ngIf",e.recentSessions().length===0)}}function ge(r,n){if(r&1&&(i(0,"div",71),o(1),t()),r&2){let e=d().$implicit,c=d(4);a(),O(" ",c.formatDate(e.completedAt)," ")}}function _e(r,n){if(r&1&&(i(0,"div",67)(1,"div",68)(2,"mat-icon"),o(3),t()(),i(4,"div",69),o(5),t(),l(6,ge,2,1,"div",70),t()),r&2){let e=n.$implicit;s("matTooltip",e.category.name),a(3),g(e.category.icon),a(2),g(e.category.name),a(),s("ngIf",e.completedAt)}}function pe(r,n){r&1&&(i(0,"div",44)(1,"p"),o(2,"No achievements earned yet. Keep taking quizzes to unlock badges!"),t()())}function fe(r,n){if(r&1&&(i(0,"mat-card",64)(1,"mat-card-header")(2,"mat-card-title")(3,"mat-icon"),o(4,"emoji_events"),t(),o(5," Achievements & Badges "),t()(),i(6,"mat-card-content")(7,"div",65),l(8,_e,7,4,"div",66),t(),l(9,pe,3,0,"div",39),t()()),r&2){let e=d(3);a(8),s("ngForOf",e.achievements()),a(),s("ngIf",e.achievements().length===0)}}function Ce(r,n){if(r&1){let e=u();i(0,"div",19)(1,"div",20),l(2,ie,12,6,"mat-card",21),t(),l(3,ae,10,2,"mat-card",22)(4,le,14,2,"mat-card",23)(5,fe,10,2,"mat-card",24),i(6,"div",25)(7,"button",26),f("click",function(){_(e);let m=d(2);return p(m.viewAllHistory())}),i(8,"mat-icon"),o(9,"history"),t(),o(10," View Full History "),t(),i(11,"button",27)(12,"mat-icon"),o(13,"category"),t(),o(14," Browse Categories "),t(),i(15,"button",27)(16,"mat-icon"),o(17,"bookmark"),t(),o(18," My Bookmarks "),t(),i(19,"button",26),f("click",function(){_(e);let m=d(2);return p(m.refresh())}),i(20,"mat-icon"),o(21,"refresh"),t(),o(22," Refresh "),t()()()}if(r&2){let e=d(2);a(2),s("ngForOf",e.statCards()),a(),s("ngIf",e.topCategories().length>0),a(),s("ngIf",e.recentSessions().length>0),a(),s("ngIf",e.achievements().length>0),a(6),s("routerLink",h(6,G)),a(4),s("routerLink",h(7,X))}}function ue(r,n){if(r&1){let e=u();i(0,"div",8)(1,"div",9)(2,"div",10)(3,"h1"),o(4),t(),i(5,"p",11),o(6,"Ready to test your knowledge today?"),t()(),i(7,"div",12)(8,"button",13),f("click",function(){_(e);let m=d();return p(m.startNewQuiz())}),i(9,"mat-icon"),o(10,"play_arrow"),t(),o(11," Start New Quiz "),t(),i(12,"button",14)(13,"mat-icon"),o(14,"settings"),t(),o(15," Profile Settings "),t()()(),l(16,te,11,0,"div",15)(17,Ce,23,8,"div",16),t()}if(r&2){let e=d();a(4),O("Welcome back, ",e.username(),"! \u{1F44B}"),a(8),s("routerLink",h(4,W)),a(4),s("ngIf",e.isEmpty()),a(),s("ngIf",!e.isEmpty())}}var K=class r{userService=v(J);authService=v(I);router=v(E);isLoading=P(!0);dashboard=P(null);error=P(null);username=M(()=>{try{return this.authService.authState()?.user?.username||"User"}catch{return"User"}});isEmpty=M(()=>{let n=this.dashboard();return n?n.stats.totalQuizzes===0:!0});statCards=M(()=>{let n=this.dashboard();return n?[{title:"Total Quizzes",value:n.stats.totalQuizzes,icon:"quiz",color:"primary",description:"Quizzes completed"},{title:"Overall Accuracy",value:`${n.stats.overallAccuracy.toFixed(1)}%`,icon:"percent",color:"success",description:"Correct answers"},{title:"Current Streak",value:n.stats.currentStreak,icon:"local_fire_department",color:"warning",description:"Days in a row",badge:n.stats.longestStreak>0?`Best: ${n.stats.longestStreak}`:void 0},{title:"Questions Answered",value:n.stats.totalQuestionsAnswered,icon:"question_answer",color:"accent",description:"Total questions"}]:[]});topCategories=M(()=>{let n=this.dashboard();return!n||!n.categoryPerformance?[]:[...n.categoryPerformance].sort((e,c)=>c.stats.accuracy-e.stats.accuracy).slice(0,5)});recentSessions=M(()=>{let n=this.dashboard();return!n||!n.recentSessions?[]:n.recentSessions.slice(0,5)});achievements=M(()=>this.dashboard()?.recentSessions||[]);ngOnInit(){this.loadDashboard()}loadDashboard(){let e=this.authService.authState()?.user;if(!e||!e.id){this.router.navigate(["/login"]);return}this.isLoading.set(!0),this.error.set(null),this.userService.getDashboard(e.id).subscribe({next:c=>{this.dashboard.set(c.data),this.isLoading.set(!1)},error:c=>{console.error("Dashboard error:",c),this.error.set("Failed to load dashboard"),this.isLoading.set(!1)}})}startNewQuiz(){this.router.navigate(["/quiz/setup"])}viewCategory(n){n&&this.router.navigate(["/categories",n])}viewQuizResults(n){n&&this.router.navigate(["/quiz",n,"results"])}viewAllHistory(){this.router.navigate(["/history"])}getAccuracyColor(n){return n>=80?"success":n>=60?"warning":"error"}getScoreColor(n,e){let c=n/e*100;return c>=80?"success":c>=60?"warning":"error"}formatDuration(n){if(!n)return"0s";let e=Math.floor(n/60),c=n%60;return e===0?`${c}s`:`${e}m ${c}s`}formatDate(n){if(!n)return"Unknown";let e=new Date(n),c=new Date,m=c.getTime()-e.getTime(),C=Math.floor(m/(1e3*60*60*24));return C===0?"Today":C===1?"Yesterday":C<7?`${C} days ago`:e.toLocaleDateString("en-US",{month:"short",day:"numeric",year:e.getFullYear()!==c.getFullYear()?"numeric":void 0})}refresh(){let e=this.authService.authState()?.user;e&&this.userService.getDashboard(e.id,!0).subscribe({next:c=>{this.dashboard.set(c)}})}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=y({type:r,selectors:[["app-dashboard"]],decls:3,vars:3,consts:[["class","loading-container",4,"ngIf"],["class","error-container",4,"ngIf"],["class","dashboard-container",4,"ngIf"],[1,"loading-container"],["diameter","50"],[1,"error-container"],[1,"error-icon"],["mat-raised-button","","color","primary",3,"click"],[1,"dashboard-container"],[1,"welcome-section"],[1,"welcome-content"],[1,"subtitle"],[1,"welcome-actions"],["mat-raised-button","","color","primary",1,"start-quiz-btn",3,"click"],["mat-stroked-button","",1,"profile-btn",3,"routerLink"],["class","empty-state",4,"ngIf"],["class","content-section",4,"ngIf"],[1,"empty-state"],[1,"empty-icon"],[1,"content-section"],[1,"stats-grid"],["class","stat-card",3,"ngClass",4,"ngFor","ngForOf"],["class","performance-card",4,"ngIf"],["class","recent-quizzes-card",4,"ngIf"],["class","achievements-card",4,"ngIf"],[1,"quick-actions"],["mat-stroked-button","",3,"click"],["mat-stroked-button","",3,"routerLink"],[1,"stat-card",3,"ngClass"],[1,"stat-header"],[1,"stat-icon"],["class","stat-badge",4,"ngIf"],[1,"stat-value"],[1,"stat-title"],[1,"stat-description"],[1,"stat-badge"],[1,"performance-card"],[1,"category-performance"],["class","category-bar",3,"click",4,"ngFor","ngForOf"],["class","empty-section",4,"ngIf"],[1,"category-bar",3,"click"],[1,"category-info"],[1,"category-name"],[1,"progress-bar-container"],[1,"empty-section"],[1,"recent-quizzes-card"],["mat-button","","color","primary",1,"view-all-btn",3,"click"],[1,"sessions-list"],["class","session-item",3,"click",4,"ngFor","ngForOf"],[1,"session-item",3,"click"],[1,"session-icon"],[1,"session-info"],[1,"session-title"],[1,"session-meta"],[1,"session-date"],[1,"session-separator"],[1,"session-time"],["class","session-separator",4,"ngIf"],["class","difficulty-chip",4,"ngIf"],[1,"session-score"],[1,"score-value",3,"ngClass"],[1,"score-percentage"],[1,"session-arrow"],[1,"difficulty-chip"],[1,"achievements-card"],[1,"achievements-grid"],["class","achievement-item",3,"matTooltip",4,"ngFor","ngForOf"],[1,"achievement-item",3,"matTooltip"],[1,"achievement-icon"],[1,"achievement-name"],["class","achievement-date",4,"ngIf"],[1,"achievement-date"]],template:function(e,c){e&1&&l(0,Z,4,0,"div",0)(1,ee,11,1,"div",1)(2,ue,18,5,"div",2),e&2&&(s("ngIf",c.isLoading()),a(),s("ngIf",c.error()&&!c.isLoading()),a(),s("ngIf",!c.isLoading()&&!c.error()))},dependencies:[k,w,z,S,N,q,F,V,T,A,L,$,U,Y,Q,R,j,H,B,D],styles:[".dashboard-container[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto;padding:2rem;animation:_ngcontent-%COMP%_fadeIn .4s ease-in}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1rem}.error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;padding:2rem}.error-container[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:4rem;width:4rem;height:4rem;color:var(--color-error)}.error-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:var(--text-primary)}.error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);margin:.5rem 0 1.5rem}.welcome-section[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);border-radius:12px;color:#fff;animation:_ngcontent-%COMP%_slideDown .5s ease-out}.welcome-section[_ngcontent-%COMP%] .welcome-content[_ngcontent-%COMP%]{flex:1}.welcome-section[_ngcontent-%COMP%] .welcome-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:2rem;font-weight:600}.welcome-section[_ngcontent-%COMP%] .welcome-content[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:0;opacity:.9;font-size:1.1rem}.welcome-section[_ngcontent-%COMP%] .welcome-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap}.welcome-section[_ngcontent-%COMP%] .start-quiz-btn[_ngcontent-%COMP%], .welcome-section[_ngcontent-%COMP%] .profile-btn[_ngcontent-%COMP%]{font-weight:600;padding:0 2rem;height:48px}.welcome-section[_ngcontent-%COMP%] .start-quiz-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .welcome-section[_ngcontent-%COMP%] .profile-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.welcome-section[_ngcontent-%COMP%] .start-quiz-btn[_ngcontent-%COMP%]:hover, .welcome-section[_ngcontent-%COMP%] .profile-btn[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.welcome-section[_ngcontent-%COMP%] .start-quiz-btn[_ngcontent-%COMP%]{background-color:#fff;color:var(--color-primary)}.welcome-section[_ngcontent-%COMP%] .profile-btn[_ngcontent-%COMP%]{background-color:transparent;color:#fff;border-color:#fff}.welcome-section[_ngcontent-%COMP%] .profile-btn[_ngcontent-%COMP%]:hover{background-color:#ffffff1a}@media (max-width: 768px){.welcome-section[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1.5rem}.welcome-section[_ngcontent-%COMP%] .welcome-actions[_ngcontent-%COMP%]{width:100%}.welcome-section[_ngcontent-%COMP%] .welcome-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:1;min-width:0}}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem;animation:_ngcontent-%COMP%_fadeIn .5s ease-in}.empty-state[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%]{font-size:5rem;width:5rem;height:5rem;color:var(--color-primary);opacity:.5;margin-bottom:1rem}.empty-state[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 1rem;color:var(--text-primary)}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);margin:0 0 2rem;font-size:1.1rem}.empty-state[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.content-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem}.stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1rem}.stat-card[_ngcontent-%COMP%]{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;animation:_ngcontent-%COMP%_slideUp .5s ease-out;animation-fill-mode:both}.stat-card[_ngcontent-%COMP%]:nth-child(1){animation-delay:.1s}.stat-card[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.stat-card[_ngcontent-%COMP%]:nth-child(3){animation-delay:.3s}.stat-card[_ngcontent-%COMP%]:nth-child(4){animation-delay:.4s}.stat-card[_ngcontent-%COMP%]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:1.5rem}.stat-card[_ngcontent-%COMP%] .stat-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stat-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{font-size:2.5rem;width:2.5rem;height:2.5rem;opacity:.8}.stat-card[_ngcontent-%COMP%] .stat-badge[_ngcontent-%COMP%]{background-color:#0000001a;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.stat-card[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{font-size:2.5rem;font-weight:700;margin-bottom:.25rem;line-height:1}.stat-card[_ngcontent-%COMP%] .stat-title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.8;margin-bottom:.25rem}.stat-card[_ngcontent-%COMP%] .stat-description[_ngcontent-%COMP%]{font-size:.875rem;opacity:.6}.stat-card.card-primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.stat-card.card-success[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stat-card.card-warning[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.stat-card.card-accent[_ngcontent-%COMP%]{background:linear-gradient(135deg,#30cfd0,#330867);color:#fff}.performance-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .6s ease-out}.performance-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:1.5rem}.performance-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;margin:0}.performance-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)}.performance-card[_ngcontent-%COMP%] .category-performance[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background-color:var(--bg-secondary);cursor:pointer;transition:all .3s ease}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%]:hover{background-color:var(--bg-hover);transform:translate(4px)}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .category-info[_ngcontent-%COMP%]{min-width:200px;display:flex;flex-direction:column;gap:.25rem}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .category-info[_ngcontent-%COMP%] .category-name[_ngcontent-%COMP%]{font-weight:600;color:var(--text-primary)}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .category-info[_ngcontent-%COMP%] .category-stats[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary)}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%]{flex:1;height:12px;background-color:var(--bg-tertiary);border-radius:6px;overflow:hidden;position:relative}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%] .progress-bar[_ngcontent-%COMP%]{height:100%;border-radius:6px;transition:width .6s ease,background-color .3s ease;animation:_ngcontent-%COMP%_progressFill 1s ease-out}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%] .progress-bar.success[_ngcontent-%COMP%]{background:linear-gradient(90deg,#4caf50,#81c784)}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%] .progress-bar.warning[_ngcontent-%COMP%]{background:linear-gradient(90deg,#ff9800,#ffb74d)}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%] .progress-bar.error[_ngcontent-%COMP%]{background:linear-gradient(90deg,#f44336,#e57373)}.performance-card[_ngcontent-%COMP%] .category-bar[_ngcontent-%COMP%] .accuracy-value[_ngcontent-%COMP%]{min-width:60px;text-align:right;font-weight:600;font-size:1.1rem;color:var(--text-primary)}.recent-quizzes-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .7s ease-out}.recent-quizzes-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.recent-quizzes-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;margin:0}.recent-quizzes-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)}.recent-quizzes-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .view-all-btn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.recent-quizzes-card[_ngcontent-%COMP%] .sessions-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background-color:var(--bg-secondary);cursor:pointer;transition:all .3s ease}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%]:hover{background-color:var(--bg-hover);transform:translate(4px)}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:var(--color-primary-light)}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--color-primary)}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.25rem}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .session-title[_ngcontent-%COMP%]{font-weight:600;color:var(--text-primary);font-size:1rem}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .session-meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .session-meta[_ngcontent-%COMP%] .session-separator[_ngcontent-%COMP%]{opacity:.5}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .session-meta[_ngcontent-%COMP%] .difficulty-chip[_ngcontent-%COMP%]{height:20px;font-size:.75rem;text-transform:capitalize}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-score[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-score[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%]{font-weight:700;font-size:1.25rem}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-score[_ngcontent-%COMP%] .score-value.success[_ngcontent-%COMP%]{color:#4caf50}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-score[_ngcontent-%COMP%] .score-value.warning[_ngcontent-%COMP%]{color:#ff9800}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-score[_ngcontent-%COMP%] .score-value.error[_ngcontent-%COMP%]{color:#f44336}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-score[_ngcontent-%COMP%] .score-percentage[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary)}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%] .session-arrow[_ngcontent-%COMP%]{color:var(--text-secondary);opacity:.5;transition:opacity .3s ease}.recent-quizzes-card[_ngcontent-%COMP%] .session-item[_ngcontent-%COMP%]:hover .session-arrow[_ngcontent-%COMP%]{opacity:1}.achievements-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .8s ease-out}.achievements-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:1.5rem}.achievements-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;margin:0}.achievements-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:gold}.achievements-card[_ngcontent-%COMP%] .achievements-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.achievements-card[_ngcontent-%COMP%] .achievement-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem;border-radius:8px;background-color:var(--bg-secondary);transition:all .3s ease;cursor:pointer}.achievements-card[_ngcontent-%COMP%] .achievement-item[_ngcontent-%COMP%]:hover{background-color:var(--bg-hover);transform:translateY(-4px)}.achievements-card[_ngcontent-%COMP%] .achievement-item[_ngcontent-%COMP%] .achievement-icon[_ngcontent-%COMP%]{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,gold,#ffed4e);display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.achievements-card[_ngcontent-%COMP%] .achievement-item[_ngcontent-%COMP%] .achievement-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:2rem;width:2rem;height:2rem;color:#fff}.achievements-card[_ngcontent-%COMP%] .achievement-item[_ngcontent-%COMP%] .achievement-name[_ngcontent-%COMP%]{font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.achievements-card[_ngcontent-%COMP%] .achievement-item[_ngcontent-%COMP%] .achievement-date[_ngcontent-%COMP%]{font-size:.75rem;color:var(--text-secondary)}.quick-actions[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;padding-top:1rem;animation:_ngcontent-%COMP%_fadeIn .9s ease-out}.quick-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;min-width:160px;justify-content:center}.empty-section[_ngcontent-%COMP%]{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes _ngcontent-%COMP%_slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_progressFill{0%{width:0}}@media (max-width: 1024px){.dashboard-container[_ngcontent-%COMP%]{padding:1.5rem}.stats-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.welcome-section[_ngcontent-%COMP%]{flex-direction:column;gap:1.5rem;text-align:center}.welcome-section[_ngcontent-%COMP%] .welcome-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.75rem}.welcome-section[_ngcontent-%COMP%] .start-quiz-btn[_ngcontent-%COMP%]{width:100%}}@media (max-width: 768px){.dashboard-container[_ngcontent-%COMP%]{padding:1rem}.stats-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.welcome-section[_ngcontent-%COMP%]{padding:1.5rem}.welcome-section[_ngcontent-%COMP%] .welcome-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}.category-bar[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start!important}.category-bar[_ngcontent-%COMP%] .category-info[_ngcontent-%COMP%], .category-bar[_ngcontent-%COMP%] .progress-bar-container[_ngcontent-%COMP%]{width:100%}.category-bar[_ngcontent-%COMP%] .accuracy-value[_ngcontent-%COMP%]{width:100%;text-align:left}.session-item[_ngcontent-%COMP%]{flex-wrap:wrap}.session-item[_ngcontent-%COMP%] .session-score[_ngcontent-%COMP%]{width:100%;flex-direction:row;justify-content:space-between;padding-top:.5rem;border-top:1px solid var(--border-color);margin-top:.5rem}.achievements-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.quick-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}@media (prefers-color-scheme: dark){.stat-card.card-primary[_ngcontent-%COMP%] .stat-badge[_ngcontent-%COMP%], .stat-card.card-success[_ngcontent-%COMP%] .stat-badge[_ngcontent-%COMP%], .stat-card.card-warning[_ngcontent-%COMP%] .stat-badge[_ngcontent-%COMP%], .stat-card.card-accent[_ngcontent-%COMP%] .stat-badge[_ngcontent-%COMP%]{background-color:#fff3}.welcome-section[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%)}}"]})};export{K as DashboardComponent}; diff --git a/chunk-HMKN2VB2.js b/chunk-HMKN2VB2.js new file mode 100644 index 0000000..48bfad5 --- /dev/null +++ b/chunk-HMKN2VB2.js @@ -0,0 +1 @@ +import{H as b,K as B,ca as j,da as O,ia as l,ja as L,ka as d}from"./chunk-COFYR5MX.js";import{$ as h,B as V,C as S,Ca as g,Sc as A,_ as D,cb as N,da as s,db as m,f as M,fb as x,ga as T,gb as k,hb as I,i as c,kb as v,lb as E,ma as y,n as F,na as _,pb as u,qb as f,sb as w}from"./chunk-2MUIW2M6.js";var $=20,Y=(()=>{class n{_ngZone=s(m);_platform=s(b);_renderer=s(k).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new c;_scrolledCount=0;scrollContainers=new Map;register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){let t=this.scrollContainers.get(e);t&&(t.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=$){return this._platform.isBrowser?new M(t=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen("document","scroll",()=>this._scrolled.next())));let r=e>0?this._scrolled.pipe(S(e)).subscribe(t):this._scrolled.subscribe(t);return this._scrolledCount++,()=>{r.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):F()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((e,t)=>this.deregister(t)),this._scrolled.complete()}ancestorScrolled(e,t){let r=this.getAncestorScrollContainers(e);return this.scrolled(t).pipe(V(o=>!o||r.indexOf(o)>-1))}getAncestorScrollContainers(e){let t=[];return this.scrollContainers.forEach((r,o)=>{this._scrollableContainsElement(o,e)&&t.push(o)}),t}_scrollableContainsElement(e,t){let r=B(t),o=e.getElementRef().nativeElement;do if(r==o)return!0;while(r=r.parentElement);return!1}static \u0275fac=function(t){return new(t||n)};static \u0275prov=D({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),Qe=(()=>{class n{elementRef=s(g);scrollDispatcher=s(Y);ngZone=s(m);dir=s(j,{optional:!0});_scrollElement=this.elementRef.nativeElement;_destroyed=new c;_renderer=s(I);_cleanupScroll;_elementScrolled=new c;constructor(){}ngOnInit(){this._cleanupScroll=this.ngZone.runOutsideAngular(()=>this._renderer.listen(this._scrollElement,"scroll",e=>this._elementScrolled.next(e))),this.scrollDispatcher.register(this)}ngOnDestroy(){this._cleanupScroll?.(),this._elementScrolled.complete(),this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(e){let t=this.elementRef.nativeElement,r=this.dir&&this.dir.value=="rtl";e.left==null&&(e.left=r?e.end:e.start),e.right==null&&(e.right=r?e.start:e.end),e.bottom!=null&&(e.top=t.scrollHeight-t.clientHeight-e.bottom),r&&d()!=l.NORMAL?(e.left!=null&&(e.right=t.scrollWidth-t.clientWidth-e.left),d()==l.INVERTED?e.left=e.right:d()==l.NEGATED&&(e.left=e.right?-e.right:e.right)):e.right!=null&&(e.left=t.scrollWidth-t.clientWidth-e.right),this._applyScrollToOptions(e)}_applyScrollToOptions(e){let t=this.elementRef.nativeElement;L()?t.scrollTo(e):(e.top!=null&&(t.scrollTop=e.top),e.left!=null&&(t.scrollLeft=e.left))}measureScrollOffset(e){let t="left",r="right",o=this.elementRef.nativeElement;if(e=="top")return o.scrollTop;if(e=="bottom")return o.scrollHeight-o.clientHeight-o.scrollTop;let a=this.dir&&this.dir.value=="rtl";return e=="start"?e=a?r:t:e=="end"&&(e=a?t:r),a&&d()==l.INVERTED?e==t?o.scrollWidth-o.clientWidth-o.scrollLeft:o.scrollLeft:a&&d()==l.NEGATED?e==t?o.scrollLeft+o.scrollWidth-o.clientWidth:-o.scrollLeft:e==t?o.scrollLeft:o.scrollWidth-o.clientWidth-o.scrollLeft}static \u0275fac=function(t){return new(t||n)};static \u0275dir=f({type:n,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]})}return n})(),q=20,Xe=(()=>{class n{_platform=s(b);_listeners;_viewportSize;_change=new c;_document=s(_);constructor(){let e=s(m),t=s(k).createRenderer(null,null);e.runOutsideAngular(()=>{if(this._platform.isBrowser){let r=o=>this._change.next(o);this._listeners=[t.listen("window","resize",r),t.listen("window","orientationchange",r)]}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){this._listeners?.forEach(e=>e()),this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){let e=this.getViewportScrollPosition(),{width:t,height:r}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+r,right:e.left+t,height:r,width:t}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let e=this._document,t=this._getWindow(),r=e.documentElement,o=r.getBoundingClientRect(),a=-o.top||e.body.scrollTop||t.scrollY||r.scrollTop||0,U=-o.left||e.body.scrollLeft||t.scrollX||r.scrollLeft||0;return{top:a,left:U}}change(e=q){return e>0?this._change.pipe(S(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=D({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var W=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=u({type:n});static \u0275inj=h({})}return n})(),Ke=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=u({type:n});static \u0275inj=h({imports:[O,W,O,W]})}return n})();var p=class{_attachedHost;attach(i){return this._attachedHost=i,i.attach(this)}detach(){let i=this._attachedHost;i!=null&&(this._attachedHost=null,i.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(i){this._attachedHost=i}},P=class extends p{component;viewContainerRef;injector;projectableNodes;constructor(i,e,t,r){super(),this.component=i,this.viewContainerRef=e,this.injector=t,this.projectableNodes=r}},C=class extends p{templateRef;viewContainerRef;context;injector;constructor(i,e,t,r){super(),this.templateRef=i,this.viewContainerRef=e,this.context=t,this.injector=r}get origin(){return this.templateRef.elementRef}attach(i,e=this.context){return this.context=e,super.attach(i)}detach(){return this.context=void 0,super.detach()}},z=class extends p{element;constructor(i){super(),this.element=i instanceof g?i.nativeElement:i}},R=class{_attachedPortal;_disposeFn;_isDisposed=!1;hasAttached(){return!!this._attachedPortal}attach(i){if(i instanceof P)return this._attachedPortal=i,this.attachComponentPortal(i);if(i instanceof C)return this._attachedPortal=i,this.attachTemplatePortal(i);if(this.attachDomPortal&&i instanceof z)return this._attachedPortal=i,this.attachDomPortal(i)}attachDomPortal=null;detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(i){this._disposeFn=i}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}},H=class extends R{outletElement;_appRef;_defaultInjector;constructor(i,e,t){super(),this.outletElement=i,this._appRef=e,this._defaultInjector=t}attachComponentPortal(i){let e;if(i.viewContainerRef){let t=i.injector||i.viewContainerRef.injector,r=t.get(E,null,{optional:!0})||void 0;e=i.viewContainerRef.createComponent(i.component,{index:i.viewContainerRef.length,injector:t,ngModuleRef:r,projectableNodes:i.projectableNodes||void 0}),this.setDisposeFn(()=>e.destroy())}else{let t=this._appRef,r=i.injector||this._defaultInjector||y.NULL,o=r.get(T,t.injector);e=A(i.component,{elementInjector:r,environmentInjector:o,projectableNodes:i.projectableNodes||void 0}),t.attachView(e.hostView),this.setDisposeFn(()=>{t.viewCount>0&&t.detachView(e.hostView),e.destroy()})}return this.outletElement.appendChild(this._getComponentRootNode(e)),this._attachedPortal=i,e}attachTemplatePortal(i){let e=i.viewContainerRef,t=e.createEmbeddedView(i.templateRef,i.context,{injector:i.injector});return t.rootNodes.forEach(r=>this.outletElement.appendChild(r)),t.detectChanges(),this.setDisposeFn(()=>{let r=e.indexOf(t);r!==-1&&e.remove(r)}),this._attachedPortal=i,t}attachDomPortal=i=>{let e=i.element;e.parentNode;let t=this.outletElement.ownerDocument.createComment("dom-portal");e.parentNode.insertBefore(t,e),this.outletElement.appendChild(e),this._attachedPortal=i,super.setDisposeFn(()=>{t.parentNode&&t.parentNode.replaceChild(e,t)})};dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(i){return i.hostView.rootNodes[0]}},st=(()=>{class n extends C{constructor(){let e=s(x),t=s(v);super(e,t)}static \u0275fac=function(t){return new(t||n)};static \u0275dir=f({type:n,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[w]})}return n})();var at=(()=>{class n extends R{_moduleRef=s(E,{optional:!0});_document=s(_);_viewContainerRef=s(v);_isInitialized=!1;_attachedRef;constructor(){super()}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}attached=new N;get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);let t=e.viewContainerRef!=null?e.viewContainerRef:this._viewContainerRef,r=t.createComponent(e.component,{index:t.length,injector:e.injector||t.injector,projectableNodes:e.projectableNodes||void 0,ngModuleRef:this._moduleRef||void 0});return t!==this._viewContainerRef&&this._getRootNode().appendChild(r.hostView.rootNodes[0]),super.setDisposeFn(()=>r.destroy()),this._attachedPortal=e,this._attachedRef=r,this.attached.emit(r),r}attachTemplatePortal(e){e.setAttachedHost(this);let t=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=t,this.attached.emit(t),t}attachDomPortal=e=>{let t=e.element;t.parentNode;let r=this._document.createComment("dom-portal");e.setAttachedHost(this),t.parentNode.insertBefore(r,t),this._getRootNode().appendChild(t),this._attachedPortal=e,super.setDisposeFn(()=>{r.parentNode&&r.parentNode.replaceChild(t,r)})};_getRootNode(){let e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}static \u0275fac=function(t){return new(t||n)};static \u0275dir=f({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[w]})}return n})();var lt=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=u({type:n});static \u0275inj=h({})}return n})();export{Y as a,Qe as b,Xe as c,W as d,Ke as e,P as f,C as g,R as h,H as i,st as j,at as k,lt as l}; diff --git a/chunk-IRVPX2IZ.js b/chunk-IRVPX2IZ.js new file mode 100644 index 0000000..ee66912 --- /dev/null +++ b/chunk-IRVPX2IZ.js @@ -0,0 +1 @@ +import{U as r,da as o,f as n,oa as s}from"./chunk-2MUIW2M6.js";function w(t){t||(t=o(s));let i=new n(e=>{if(t.destroyed){e.next();return}return t.onDestroy(e.next.bind(e))});return e=>e.pipe(r(i))}export{w as a}; diff --git a/chunk-J3LCK77D.js b/chunk-J3LCK77D.js new file mode 100644 index 0000000..ff8e610 --- /dev/null +++ b/chunk-J3LCK77D.js @@ -0,0 +1 @@ +import"./chunk-MS4AQ6UA.js";import{a as St,b as wt}from"./chunk-GIRDLTGV.js";import{c as vt}from"./chunk-P3ICZX4Q.js";import{a as Bt}from"./chunk-L5RFXRXA.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import{b as gt,c as kt}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as lt}from"./chunk-7XDVX5KB.js";import{a as yt}from"./chunk-B4CGVF35.js";import{b as xt}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{b as Pt,g as Ot}from"./chunk-TAS7XC6E.js";import{a as bt}from"./chunk-3GOV5KJM.js";import{a as I}from"./chunk-TPLZKWZ7.js";import{b as ct,e as st,f as mt,i as dt}from"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as nt,c as ot,e as it,f as at,i as rt}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as Mt,b as ht}from"./chunk-N6VRXIQE.js";import{b as X,f as Z,k as tt,y as et}from"./chunk-GWD5A44H.js";import{a as D}from"./chunk-52JZ5I3Y.js";import{Aa as ft,c as H,g as Y,j as G,n as J,ua as _t,w as T,wa as pt,x as K,ya as Ct,za as ut}from"./chunk-COFYR5MX.js";import{D as y,Db as k,Eb as _,Ec as P,Gb as W,Hb as S,Ib as w,Jb as f,Kb as a,Lb as i,Mb as z,Tb as h,U as F,W as v,Xb as p,Za as m,Zb as d,_ as U,da as C,f as A,i as $,ia as l,ja as g,lc as r,mc as b,nc as M,o as x,ob as j,qc as B,r as L,rc as E,sc as q,ta as u,vc as N,wc as R,xc as Q}from"./chunk-2MUIW2M6.js";var V=class c{http=C(J);router=C(T);toastService=C(D);authService=C(I);API_URL=`${bt.apiUrl}/users`;CACHE_TTL=300*1e3;bookmarksState=u([]);isLoading=u(!1);error=u(null);bookmarksCache=new Map;totalBookmarks=P(()=>this.bookmarksState().length);hasBookmarks=P(()=>this.bookmarksState().length>0);bookmarksByCategory=P(()=>{let e=this.bookmarksState(),t=new Map;return e.forEach(o=>{let n=o.question.categoryName;t.has(n)||t.set(n,[]),t.get(n).push(o)}),t});getBookmarks(e,t=!1){if(!t){let o=this.bookmarksCache.get(e);if(o&&Date.now()-o.timestamp{n.next(o.data),n.complete()})}return this.isLoading.set(!0),this.error.set(null),this.http.get(`${this.API_URL}/${e}/bookmarks`).pipe(v(o=>{let n=o.data.bookmarks;this.bookmarksState.set(n),this.bookmarksCache.set(e,{data:n,timestamp:Date.now()}),this.isLoading.set(!1)}),y(o=>(console.error("Error fetching bookmarks:",o),this.error.set(o.error?.message||"Failed to load bookmarks"),this.isLoading.set(!1),o.status===401?(this.toastService.error("Please log in to view your bookmarks"),this.router.navigate(["/login"])):this.toastService.error("Failed to load bookmarks"),x(()=>o))),L(o=>o.data.bookmarks))}addBookmark(e,t){let o={questionId:t};return this.http.post(`${this.API_URL}/${e}/bookmarks`,o).pipe(v(n=>{let s=this.bookmarksState();this.bookmarksState.set([...s,n.data.bookmark]),this.bookmarksCache.delete(e),this.toastService.success("Question bookmarked successfully")}),y(n=>(console.error("Error adding bookmark:",n),n.status===401?(this.toastService.error("Please log in to bookmark questions"),this.router.navigate(["/login"])):n.status===409?this.toastService.info("Question is already bookmarked"):this.toastService.error("Failed to bookmark question"),x(()=>n))),L(n=>n.data.bookmark))}removeBookmark(e,t){return this.http.delete(`${this.API_URL}/${e}/bookmarks/${t}`).pipe(v(()=>{let n=this.bookmarksState().filter(s=>s.questionId!==t);this.bookmarksState.set(n),this.bookmarksCache.delete(e),this.toastService.success("Bookmark removed")}),y(o=>{if(console.error("Error removing bookmark:",o),o.status===401)this.toastService.error("Please log in to manage bookmarks"),this.router.navigate(["/login"]);else if(o.status===404){this.toastService.warning("Bookmark not found");let s=this.bookmarksState().filter(O=>O.questionId!==t);this.bookmarksState.set(s)}else this.toastService.error("Failed to remove bookmark");return x(()=>o)}))}isBookmarked(e){return this.bookmarksState().some(t=>t.questionId===e)}getBookmarkByQuestionId(e){return this.bookmarksState().find(t=>t.questionId===e)}clearCache(){this.bookmarksCache.clear(),this.bookmarksState.set([]),this.error.set(null)}searchBookmarks(e){if(!e.trim())return this.bookmarksState();let t=e.toLowerCase();return this.bookmarksState().filter(o=>o.question.questionText.toLowerCase().includes(t)||o.question.categoryName.toLowerCase().includes(t)||o.question.tags?.some(n=>n.toLowerCase().includes(t)))}filterByCategory(e){return e?this.bookmarksState().filter(t=>t.question.categoryId===e):this.bookmarksState()}filterByDifficulty(e){return e?this.bookmarksState().filter(t=>t.question.difficulty===e):this.bookmarksState()}getCategories(){let e=new Map;return this.bookmarksState().forEach(t=>{e.set(t.question.categoryId,t.question.categoryName)}),Array.from(e.entries()).map(([t,o])=>({id:t,name:o}))}static \u0275fac=function(t){return new(t||c)};static \u0275prov=U({token:c,factory:c.\u0275fac,providedIn:"root"})};var Dt=()=>["/dashboard"],It=()=>["/categories"],qt=(c,e)=>e.id;function Vt(c,e){if(c&1){let t=h();a(0,"button",9),p("click",function(){l(t);let n=d();return g(n.practiceBookmarkedQuestions())}),a(1,"mat-icon"),r(2,"play_arrow"),i(),r(3," Practice All "),i()}}function Lt(c,e){c&1&&(a(0,"div",7),z(1,"mat-spinner",10),a(2,"p"),r(3,"Loading your bookmarks..."),i()())}function Ft(c,e){if(c&1){let t=h();a(0,"div",8)(1,"mat-icon",11),r(2,"error_outline"),i(),a(3,"h2"),r(4,"Failed to Load Bookmarks"),i(),a(5,"p"),r(6),i(),a(7,"button",12),p("click",function(){l(t);let n=d();return g(n.loadBookmarks(!0))}),a(8,"mat-icon"),r(9,"refresh"),i(),r(10," Try Again "),i()()}if(c&2){let t=d();m(6),b(t.error())}}function zt(c,e){if(c&1){let t=h();a(0,"button",33),p("click",function(){l(t);let n=d(2);return g(n.searchQuery.set(""))}),a(1,"mat-icon"),r(2,"close"),i()()}}function Nt(c,e){if(c&1&&(a(0,"mat-option",29),r(1),i()),c&2){let t=e.$implicit;f("value",t.id),m(),b(t.name)}}function Rt(c,e){if(c&1&&(a(0,"mat-option",29),r(1),R(2,"titlecase"),i()),c&2){let t=e.$implicit;f("value",t),m(),M(" ",Q(2,2,t)," ")}}function Qt(c,e){if(c&1){let t=h();a(0,"button",34),p("click",function(){l(t);let n=d(2);return g(n.resetFilters())}),a(1,"mat-icon"),r(2,"clear_all"),i(),r(3," Reset "),i()}}function At(c,e){c&1&&(a(0,"div",31)(1,"mat-icon",35),r(2,"bookmark_border"),i(),a(3,"h2"),r(4,"No Bookmarks Yet"),i(),a(5,"p"),r(6,"Start bookmarking questions while taking quizzes to build your study collection."),i(),a(7,"button",36)(8,"mat-icon"),r(9,"explore"),i(),r(10," Browse Categories "),i()()),c&2&&(m(7),f("routerLink",N(1,It)))}function $t(c,e){if(c&1){let t=h();a(0,"div",31)(1,"mat-icon",35),r(2,"search_off"),i(),a(3,"h2"),r(4,"No Matching Bookmarks"),i(),a(5,"p"),r(6,"Try adjusting your filters or search query."),i(),a(7,"button",37),p("click",function(){l(t);let n=d(2);return g(n.resetFilters())}),a(8,"mat-icon"),r(9,"clear_all"),i(),r(10," Clear Filters "),i()()}}function Ut(c,e){c&1&&z(0,"mat-spinner",43)}function jt(c,e){c&1&&(a(0,"mat-icon"),r(1,"bookmark"),i())}function Wt(c,e){if(c&1&&(a(0,"span"),r(1),i()),c&2){let t=d(2).$implicit;m(),M("+",t.question.tags.length-2)}}function Ht(c,e){if(c&1&&(a(0,"mat-chip",47)(1,"mat-icon"),r(2,"label"),i(),r(3),k(4,Wt,2,1,"span"),i()),c&2){let t=d().$implicit;m(3),M(" ",t.question.tags.slice(0,2).join(", ")," "),m(),_(t.question.tags.length>2?4:-1)}}function Yt(c,e){if(c&1){let t=h();a(0,"mat-card",39),p("click",function(){let n=l(t).$implicit,s=d(3);return g(s.viewQuestion(n))}),a(1,"mat-card-header")(2,"div",40)(3,"div",41)(4,"mat-icon"),r(5),i(),a(6,"span"),r(7),R(8,"titlecase"),i()(),a(9,"button",42),p("click",function(n){let s=l(t).$implicit,O=d(3);return g(O.removeBookmark(s.questionId,n))}),k(10,Ut,1,0,"mat-spinner",43)(11,jt,2,0,"mat-icon"),i()()(),a(12,"mat-card-content")(13,"p",44),r(14),i(),a(15,"div",45)(16,"mat-chip",46)(17,"mat-icon"),r(18,"category"),i(),r(19),i(),k(20,Ht,5,2,"mat-chip",47),a(21,"mat-chip",48)(22,"mat-icon"),r(23,"stars"),i(),r(24),i()(),a(25,"div",49)(26,"mat-icon"),r(27,"schedule"),i(),a(28,"span"),r(29),i()()(),a(30,"mat-card-actions")(31,"button",50),p("click",function(n){let s=l(t).$implicit;return d(3).viewQuestion(s),g(n.stopPropagation())}),a(32,"mat-icon"),r(33,"visibility"),i(),r(34," View Details "),i()()()}if(c&2){let t=e.$implicit,o=d(3);m(3),f("ngClass",o.getDifficultyClass(t.question.difficulty)),m(2),b(o.getDifficultyIcon(t.question.difficulty)),m(2),b(Q(8,11,t.question.difficulty)),m(2),f("disabled",o.isRemovingBookmark(t.questionId))("matTooltip","Remove bookmark"),m(),_(o.isRemovingBookmark(t.questionId)?10:11),m(4),M(" ",o.truncateText(t.question.questionText,200)," "),m(5),M(" ",t.question.categoryName," "),m(),_(t.question.tags&&t.question.tags.length>0?20:-1),m(4),M(" ",t.question.points," pts "),m(5),M("Bookmarked ",o.formatDate(t.createdAt))}}function Gt(c,e){if(c&1&&(a(0,"div",32),S(1,Yt,35,13,"mat-card",38,qt),i()),c&2){let t=d(2);m(),w(t.filteredBookmarks())}}function Jt(c,e){if(c&1){let t=h();a(0,"div",13)(1,"mat-card",14)(2,"mat-card-content")(3,"div",15)(4,"mat-icon"),r(5,"sentiment_satisfied"),i()(),a(6,"div",16)(7,"span",17),r(8),i(),a(9,"span",18),r(10,"Easy"),i()()()(),a(11,"mat-card",14)(12,"mat-card-content")(13,"div",19)(14,"mat-icon"),r(15,"sentiment_neutral"),i()(),a(16,"div",16)(17,"span",17),r(18),i(),a(19,"span",18),r(20,"Medium"),i()()()(),a(21,"mat-card",14)(22,"mat-card-content")(23,"div",20)(24,"mat-icon"),r(25,"sentiment_dissatisfied"),i()(),a(26,"div",16)(27,"span",17),r(28),i(),a(29,"span",18),r(30,"Hard"),i()()()()(),a(31,"mat-card",21)(32,"mat-card-content")(33,"div",22)(34,"mat-form-field",23)(35,"mat-label"),r(36,"Search bookmarks"),i(),a(37,"input",24),q("ngModelChange",function(n){l(t);let s=d();return E(s.searchQuery,n)||(s.searchQuery=n),g(n)}),p("ngModelChange",function(n){l(t);let s=d();return g(s.searchQuery.set(n))}),i(),a(38,"mat-icon",25),r(39,"search"),i(),k(40,zt,3,0,"button",26),i(),a(41,"mat-form-field",27)(42,"mat-label"),r(43,"Category"),i(),a(44,"mat-select",28),q("ngModelChange",function(n){l(t);let s=d();return E(s.selectedCategory,n)||(s.selectedCategory=n),g(n)}),p("ngModelChange",function(n){l(t);let s=d();return g(s.selectedCategory.set(n))}),a(45,"mat-option",29),r(46,"All Categories"),i(),S(47,Nt,2,2,"mat-option",29,qt),i(),a(49,"mat-icon",25),r(50,"category"),i()(),a(51,"mat-form-field",27)(52,"mat-label"),r(53,"Difficulty"),i(),a(54,"mat-select",28),q("ngModelChange",function(n){l(t);let s=d();return E(s.selectedDifficulty,n)||(s.selectedDifficulty=n),g(n)}),p("ngModelChange",function(n){l(t);let s=d();return g(s.selectedDifficulty.set(n))}),a(55,"mat-option",29),r(56,"All Difficulties"),i(),S(57,Rt,3,4,"mat-option",29,W),i(),a(59,"mat-icon",25),r(60,"filter_list"),i()(),k(61,Qt,4,0,"button",30),i()()(),k(62,At,11,2,"div",31),k(63,$t,11,0,"div",31),k(64,Gt,3,0,"div",32)}if(c&2){let t=d();m(8),b(t.stats().byDifficulty.easy),m(10),b(t.stats().byDifficulty.medium),m(10),b(t.stats().byDifficulty.hard),m(9),B("ngModel",t.searchQuery),m(3),_(t.searchQuery()?40:-1),m(4),B("ngModel",t.selectedCategory),m(),f("value",null),m(2),w(t.categories()),m(7),B("ngModel",t.selectedDifficulty),m(),f("value",null),m(2),w(t.difficulties),m(4),_(t.searchQuery()||t.selectedCategory()||t.selectedDifficulty()?61:-1),m(),_(t.allBookmarks().length===0?62:-1),m(),_(t.allBookmarks().length>0&&t.filteredBookmarks().length===0?63:-1),m(),_(t.filteredBookmarks().length>0?64:-1)}}var Et=class c{bookmarkService=C(V);authService=C(I);quizService=C(Bt);toastService=C(D);router=C(T);destroy$=new $;searchQuery=u("");selectedCategory=u(null);selectedDifficulty=u(null);isRemoving=u(new Set);isLoading=this.bookmarkService.isLoading;error=this.bookmarkService.error;allBookmarks=this.bookmarkService.bookmarksState;currentUser=this.authService.getCurrentUser();filteredBookmarks=P(()=>{let e=this.allBookmarks(),t=this.searchQuery();t.trim()&&(e=this.bookmarkService.searchBookmarks(t));let o=this.selectedCategory();o&&(e=e.filter(s=>s.question.categoryId===o));let n=this.selectedDifficulty();return n&&(e=e.filter(s=>s.question.difficulty===n)),e});categories=P(()=>this.bookmarkService.getCategories());difficulties=["easy","medium","hard"];stats=P(()=>{let e=this.allBookmarks();return{total:e.length,byDifficulty:{easy:e.filter(t=>t.question.difficulty==="easy").length,medium:e.filter(t=>t.question.difficulty==="medium").length,hard:e.filter(t=>t.question.difficulty==="hard").length}}});ngOnInit(){if(!this.currentUser){this.toastService.error("Please log in to view bookmarks"),this.router.navigate(["/login"]);return}this.loadBookmarks()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}loadBookmarks(e=!1){this.currentUser&&this.bookmarkService.getBookmarks(this.currentUser.id,e).pipe(F(this.destroy$)).subscribe({error:t=>{console.error("Error loading bookmarks:",t)}})}removeBookmark(e,t){t.stopPropagation(),this.currentUser&&(this.isRemoving.update(o=>{let n=new Set(o);return n.add(e),n}),this.bookmarkService.removeBookmark(this.currentUser.id,e).pipe(F(this.destroy$)).subscribe({next:()=>{this.isRemoving.update(o=>{let n=new Set(o);return n.delete(e),n})},error:o=>{console.error("Error removing bookmark:",o),this.isRemoving.update(n=>{let s=new Set(n);return s.delete(e),s})}}))}isRemovingBookmark(e){return this.isRemoving().has(e)}practiceBookmarkedQuestions(){let e=this.filteredBookmarks();if(e.length===0){this.toastService.warning("No bookmarks to practice");return}this.toastService.info(`Starting quiz with ${e.length} bookmarked questions`)}viewQuestion(e){this.toastService.info("Question detail view coming soon")}resetFilters(){this.searchQuery.set(""),this.selectedCategory.set(null),this.selectedDifficulty.set(null)}getDifficultyClass(e){switch(e){case"easy":return"difficulty-easy";case"medium":return"difficulty-medium";case"hard":return"difficulty-hard";default:return""}}getDifficultyIcon(e){switch(e){case"easy":return"sentiment_satisfied";case"medium":return"sentiment_neutral";case"hard":return"sentiment_dissatisfied";default:return"help_outline"}}truncateText(e,t){return e.length<=t?e:e.substring(0,t)+"..."}formatDate(e){let t=new Date(e),n=new Date().getTime()-t.getTime(),s=Math.floor(n/(1e3*60*60*24));return s===0?"Today":s===1?"Yesterday":s<7?`${s} days ago`:s<30?`${Math.floor(s/7)} weeks ago`:s<365?`${Math.floor(s/30)} months ago`:`${Math.floor(s/365)} years ago`}static \u0275fac=function(t){return new(t||c)};static \u0275cmp=j({type:c,selectors:[["app-bookmarks"]],decls:15,vars:7,consts:[[1,"bookmarks-container"],[1,"bookmarks-header"],[1,"header-content"],["mat-icon-button","",1,"back-button",3,"routerLink"],[1,"header-text"],[1,"subtitle"],["mat-raised-button","","color","primary",1,"practice-button"],[1,"loading-container"],[1,"error-container"],["mat-raised-button","","color","primary",1,"practice-button",3,"click"],["diameter","50"],[1,"error-icon"],["mat-raised-button","","color","primary",3,"click"],[1,"stats-section"],[1,"stat-card"],[1,"stat-icon","easy"],[1,"stat-info"],[1,"stat-value"],[1,"stat-label"],[1,"stat-icon","medium"],[1,"stat-icon","hard"],[1,"filters-card"],[1,"filters-row"],["appearance","outline",1,"search-field"],["matInput","","placeholder","Search by question or category",3,"ngModelChange","ngModel"],["matPrefix",""],["mat-icon-button","","matSuffix","","aria-label","Clear search"],["appearance","outline",1,"filter-field"],[3,"ngModelChange","ngModel"],[3,"value"],["mat-stroked-button","",1,"reset-button"],[1,"empty-state"],[1,"bookmarks-grid"],["mat-icon-button","","matSuffix","","aria-label","Clear search",3,"click"],["mat-stroked-button","",1,"reset-button",3,"click"],[1,"empty-icon"],["mat-raised-button","","color","primary",3,"routerLink"],["mat-stroked-button","",3,"click"],[1,"bookmark-card"],[1,"bookmark-card",3,"click"],[1,"card-header-content"],[1,"difficulty-badge",3,"ngClass"],["mat-icon-button","",1,"remove-button",3,"click","disabled","matTooltip"],["diameter","20"],[1,"question-text"],[1,"question-meta"],[1,"category-chip"],[1,"tags-chip"],[1,"points-chip"],[1,"bookmark-date"],["mat-button","","color","primary",3,"click"]],template:function(t,o){t&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3)(4,"mat-icon"),r(5,"arrow_back"),i()(),a(6,"div",4)(7,"h1"),r(8,"My Bookmarks"),i(),a(9,"p",5),r(10),i()()(),k(11,Vt,4,0,"button",6),i(),k(12,Lt,4,0,"div",7),k(13,Ft,11,1,"div",8),k(14,Jt,65,13),i()),t&2&&(m(3),f("routerLink",N(6,Dt)),m(7),M("",o.stats().total," saved questions"),m(),_(o.filteredBookmarks().length>0?11:-1),m(),_(o.isLoading()?12:-1),m(),_(o.error()&&!o.isLoading()?13:-1),m(),_(!o.isLoading()&&!o.error()?14:-1))},dependencies:[G,H,et,X,Z,tt,K,rt,nt,it,ot,at,Ct,pt,_t,ft,ut,Ot,Pt,ht,Mt,lt,dt,ct,st,mt,kt,gt,wt,St,vt,yt,xt,Y],styles:[".bookmarks-container[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto;padding:24px;min-height:calc(100vh - 64px)}@media (max-width: 768px){.bookmarks-container[_ngcontent-%COMP%]{padding:16px}}.bookmarks-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.bookmarks-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:16px;flex:1}.bookmarks-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{color:#666;transition:color .3s}.bookmarks-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]:hover{color:#1a237e}.bookmarks-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:600;color:#1a237e}@media (max-width: 768px){.bookmarks-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}}.bookmarks-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:4px 0 0;font-size:.875rem;color:#666}.bookmarks-header[_ngcontent-%COMP%] .practice-button[_ngcontent-%COMP%]{height:48px;padding:0 24px;font-weight:600;box-shadow:0 2px 8px #667eea4d;transition:all .3s}.bookmarks-header[_ngcontent-%COMP%] .practice-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:8px}.bookmarks-header[_ngcontent-%COMP%] .practice-button[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}@media (max-width: 768px){.bookmarks-header[_ngcontent-%COMP%] .practice-button[_ngcontent-%COMP%]{padding:0 16px;font-size:.875rem}}@media (max-width: 768px){.bookmarks-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.bookmarks-header[_ngcontent-%COMP%] .practice-button[_ngcontent-%COMP%]{width:100%}}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:1rem}.error-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;padding:2rem}.error-container[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:4rem;width:4rem;height:4rem;color:#f44336}.error-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;color:#333}.error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;margin:.5rem 0 1.5rem}.stats-section[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]{box-shadow:0 2px 8px #0000001a;border-radius:12px;transition:all .3s}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:16px;padding:20px}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:#fff}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon.easy[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4caf50,#8bc34a)}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon.medium[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ff9800,#ffc107)}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon.hard[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f44336,#ff5722)}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%]{display:flex;flex-direction:column}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;color:#333;line-height:1}.stats-section[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-size:.875rem;color:#666;margin-top:4px}.filters-card[_ngcontent-%COMP%]{margin-bottom:24px;box-shadow:0 2px 8px #0000001a;border-radius:12px}.filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:20px}.filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%]{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%]{flex:2;min-width:250px}.filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-field[_ngcontent-%COMP%]{flex:1;min-width:150px}.filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .reset-button[_ngcontent-%COMP%]{height:56px;min-width:100px}.filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .reset-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:4px}@media (max-width: 768px){.filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%], .filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .filter-field[_ngcontent-%COMP%]{flex:1 1 100%;width:100%}.filters-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .filters-row[_ngcontent-%COMP%] .reset-button[_ngcontent-%COMP%]{flex:1 1 100%;width:100%}}.empty-state[_ngcontent-%COMP%]{text-align:center;padding:4rem 2rem;animation:_ngcontent-%COMP%_fadeIn .5s ease-in}.empty-state[_ngcontent-%COMP%] .empty-icon[_ngcontent-%COMP%]{font-size:5rem;width:5rem;height:5rem;color:#667eea;opacity:.5;margin-bottom:1rem}.empty-state[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 1rem;color:#333;font-size:1.75rem}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;margin-bottom:2rem;font-size:1rem}.empty-state[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:8px}.bookmarks-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;animation:_ngcontent-%COMP%_fadeIn .5s ease-in}@media (max-width: 768px){.bookmarks-grid[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:16px}}.bookmark-card[_ngcontent-%COMP%]{box-shadow:0 2px 8px #0000001a;border-radius:12px;transition:all .3s;cursor:pointer;display:flex;flex-direction:column;height:100%}.bookmark-card[_ngcontent-%COMP%]:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.bookmark-card[_ngcontent-%COMP%]:hover .remove-button[_ngcontent-%COMP%]{opacity:1}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:16px 16px 0}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .difficulty-badge[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .difficulty-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .difficulty-badge.difficulty-easy[_ngcontent-%COMP%]{background:#e8f5e9;color:#2e7d32}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .difficulty-badge.difficulty-medium[_ngcontent-%COMP%]{background:#fff3e0;color:#e65100}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .difficulty-badge.difficulty-hard[_ngcontent-%COMP%]{background:#ffebee;color:#c62828}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .remove-button[_ngcontent-%COMP%]{opacity:.6;transition:all .3s;color:#f44336}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .remove-button[_ngcontent-%COMP%]:hover{opacity:1;background:#ffebee}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .remove-button[_ngcontent-%COMP%]:disabled{cursor:not-allowed;opacity:.4}.bookmark-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-content[_ngcontent-%COMP%] .remove-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:16px;flex:1;display:flex;flex-direction:column;gap:16px}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%]{color:#333;font-size:.938rem;line-height:1.6;margin:0;flex:1}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{height:28px;font-size:.75rem;border-radius:14px;background:#f5f5f5;color:#666}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px;margin-right:4px}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip.category-chip[_ngcontent-%COMP%]{background:#e3f2fd;color:#1976d2}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip.tags-chip[_ngcontent-%COMP%]{background:#f3e5f5;color:#7b1fa2}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip.points-chip[_ngcontent-%COMP%]{background:#fff3e0;color:#e65100}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .bookmark-date[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#999;margin-top:auto}.bookmark-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .bookmark-date[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}.bookmark-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%]{padding:12px 16px 16px;margin:0;border-top:1px solid #f0f0f0}.bookmark-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:4px;font-size:18px;width:18px;height:18px}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-color-scheme: dark){.bookmarks-container[_ngcontent-%COMP%] .bookmarks-header[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#90caf9}.bookmarks-container[_ngcontent-%COMP%] .bookmarks-header[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{color:#bbb}.bookmarks-container[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#e0e0e0}.bookmarks-container[_ngcontent-%COMP%] .error-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#bbb}.bookmarks-container[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .filters-card[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%]{background:#1e1e1e;color:#e0e0e0}.bookmarks-container[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .filters-card[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%]{color:#e0e0e0}.bookmarks-container[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .filters-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%], .bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] mat-card-actions[_ngcontent-%COMP%]{border-top-color:#333}.bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .difficulty-badge.difficulty-easy[_ngcontent-%COMP%]{background:#1b5e20;color:#a5d6a7}.bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .difficulty-badge.difficulty-medium[_ngcontent-%COMP%]{background:#e65100;color:#ffcc80}.bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .difficulty-badge.difficulty-hard[_ngcontent-%COMP%]{background:#b71c1c;color:#ef9a9a}.bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{background:#2a2a2a;color:#bbb}.bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip.category-chip[_ngcontent-%COMP%]{background:#0d47a1;color:#90caf9}.bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip.tags-chip[_ngcontent-%COMP%]{background:#4a148c;color:#ce93d8}.bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] mat-chip.points-chip[_ngcontent-%COMP%]{background:#e65100;color:#ffcc80}.bookmarks-container[_ngcontent-%COMP%] .bookmark-card[_ngcontent-%COMP%] .bookmark-date[_ngcontent-%COMP%]{color:#777}}"]})};export{Et as BookmarksComponent}; diff --git a/chunk-L5RFXRXA.js b/chunk-L5RFXRXA.js new file mode 100644 index 0000000..c3b4876 --- /dev/null +++ b/chunk-L5RFXRXA.js @@ -0,0 +1 @@ +import{a as b}from"./chunk-3GOV5KJM.js";import{a as Q}from"./chunk-GPI43RSU.js";import{b as h}from"./chunk-RC3JXGN6.js";import{a as z}from"./chunk-52JZ5I3Y.js";import{n as S,w as v}from"./chunk-COFYR5MX.js";import{D as n,Ec as u,W as i,_ as m,a as d,b as p,da as a,o,r as c,ta as r}from"./chunk-2MUIW2M6.js";var y=class l{http=a(S);router=a(v);toastService=a(z);storageService=a(h);guestService=a(Q);apiUrl=`${b.apiUrl}/quiz`;_activeSession=r(null);activeSession=this._activeSession.asReadonly();_questions=r([]);questions=this._questions.asReadonly();_quizResults=r(null);_completedQuiz=r(null);_sessionHistoryQuiz=r(null);quizResults=this._quizResults.asReadonly();sessionQuizHistory=this._sessionHistoryQuiz.asReadonly();completedQuiz=this._completedQuiz.asReadonly();_isStartingQuiz=r(!1);isStartingQuiz=this._isStartingQuiz.asReadonly();_isSubmittingAnswer=r(!1);isSubmittingAnswer=this._isSubmittingAnswer.asReadonly();_isCompletingQuiz=r(!1);isCompletingQuiz=this._isCompletingQuiz.asReadonly();hasActiveSession=u(()=>this._activeSession()!==null);currentQuestionIndex=u(()=>this._activeSession()?.currentQuestionIndex??0);totalQuestions=u(()=>this._activeSession()?.totalQuestions??0);progress=u(()=>{let s=this.totalQuestions(),e=this.currentQuestionIndex();return s>0?e/s*100:0});startQuiz(s){if(!this.canAccessCategory(s.categoryId))return this.toastService.error("You do not have access to this category"),o(()=>new Error("Category not accessible"));if(!this.storageService.isAuthenticated()){let t=this.guestService.guestState().quizLimit?.quizzesRemaining??null;if(t!==null&&t<=0)return this.toastService.warning("Guest quiz limit reached. Please sign up to continue."),this.router.navigate(["/register"]),o(()=>new Error("Guest quiz limit reached"))}return this._isStartingQuiz.set(!0),this.http.post(`${this.apiUrl}/start`,s).pipe(i(e=>{if(e.success){let t={id:e.data.sessionId,userId:this.storageService.getUserData()?.id,guestSessionId:this.guestService.guestState().session?.guestId,categoryId:s.categoryId,quizType:s.quizType||"practice",difficulty:s.difficulty||"mixed",totalQuestions:e.data.totalQuestions,currentQuestionIndex:0,score:0,correctAnswers:0,incorrectAnswers:0,skippedAnswers:0,status:"in_progress",startedAt:new Date().toISOString()};this._activeSession.set(t),e.data.questions&&this._questions.set(e.data.questions),this.storeSessionId(e.data.sessionId),this.toastService.success("Quiz started successfully!")}}),n(e=>(this.toastService.error(e.error?.message||"Failed to start quiz"),o(()=>e))),i(()=>this._isStartingQuiz.set(!1)))}submitAnswer(s){return this._isSubmittingAnswer.set(!0),this.http.post(`${this.apiUrl}/submit`,s).pipe(c(e=>{let t=e.data;return{success:e.success,isCorrect:t.isCorrect,correctAnswer:t.feedback?.correctAnswer||"",explanation:t.feedback?.explanation||"",points:t.pointsEarned||0,score:t.sessionProgress?.currentScore||0,message:e.message}}),i(e=>{if(e.success){let t=this._activeSession();if(t){let g=p(d({},t),{score:e.score,correctAnswers:e.isCorrect?t.correctAnswers+1:t.correctAnswers,incorrectAnswers:e.isCorrect?t.incorrectAnswers:t.incorrectAnswers+1,currentQuestionIndex:t.currentQuestionIndex+1});this._activeSession.set(g)}}}),n(e=>(this.toastService.error(e.error?.message||"Failed to submit answer"),o(()=>e))),i(()=>this._isSubmittingAnswer.set(!1)))}completeQuiz(s){return this._isCompletingQuiz.set(!0),this.http.post(`${this.apiUrl}/complete`,{sessionId:s}).pipe(i(e=>{if(e.success){this._completedQuiz.set(e.data);let t=this._activeSession();t&&this._activeSession.set(p(d({},t),{status:"completed",completedAt:new Date().toISOString()})),this.toastService.success("Quiz completed successfully!"),this.router.navigate(["/quiz",s,"results"])}}),n(e=>(this.toastService.error(e.error?.message||"Failed to complete quiz"),o(()=>e))),i(()=>this._isCompletingQuiz.set(!1)))}getSession(s){return this.http.get(`${this.apiUrl}/session/${s}`).pipe(i(e=>{e.success&&e.data&&this._activeSession.set(e.data)}),n(e=>(e.status===404?this.toastService.error("Quiz session not found"):this.toastService.error(e.error?.message||"Failed to load session"),o(()=>e))),c(e=>e.data))}reviewQuiz(s){return this.http.get(`${this.apiUrl}/review/${s}`).pipe(i(e=>{e.success&&this._quizResults.set(e.data)}),n(e=>(e.status===404?this.toastService.error("Quiz session not found"):this.toastService.error(e.error?.message||"Failed to load quiz review"),o(()=>e))))}abandonQuiz(s){return this.http.post(`${this.apiUrl}/abandon`,{sessionId:s}).pipe(i(()=>{this._activeSession.set(null),this.toastService.info("Quiz abandoned")}),n(e=>(this.toastService.error(e.error?.message||"Failed to abandon quiz"),o(()=>e))))}checkIncompleteSession(){let s=localStorage.getItem("activeQuizSessionId");if(s){let e=this._activeSession();if(e&&e.status==="in_progress")return s}return null}restoreSession(s){return this.getSession(s).pipe(i(e=>{localStorage.setItem("activeQuizSessionId",s),this._questions().length>0||console.log("Session restored, questions need to be loaded")}),c(e=>({session:e,hasQuestions:this._questions().length>0})),n(e=>(localStorage.removeItem("activeQuizSessionId"),o(()=>e))))}storeSessionId(s){localStorage.setItem("activeQuizSessionId",s)}clearStoredSessionId(){localStorage.removeItem("activeQuizSessionId")}clearSession(){this._activeSession.set(null),this._questions.set([]),this._quizResults.set(null),this.clearStoredSessionId()}canAccessCategory(s){return this.storageService.isAuthenticated(),!0}getEstimatedTime(s,e){return Math.ceil(s*(e==="timed"?1.5:2))}calculateTimeLimit(s){return s*1.5}static \u0275fac=function(e){return new(e||l)};static \u0275prov=m({token:l,factory:l.\u0275fac,providedIn:"root"})};export{y as a}; diff --git a/chunk-LA37G65K.js b/chunk-LA37G65K.js new file mode 100644 index 0000000..73eb363 --- /dev/null +++ b/chunk-LA37G65K.js @@ -0,0 +1 @@ +import{a as U}from"./chunk-3GOV5KJM.js";import{a as y}from"./chunk-TPLZKWZ7.js";import{b as v}from"./chunk-RC3JXGN6.js";import{a as S}from"./chunk-52JZ5I3Y.js";import{n as f,w as m}from"./chunk-COFYR5MX.js";import{D as d,Ec as n,W as h,_ as b,a as c,da as r,n as g,ta as i}from"./chunk-2MUIW2M6.js";var D=class l{http=r(f);router=r(m);toastService=r(S);authService=r(y);storageService=r(v);API_URL=`${U.apiUrl}/users`;CACHE_TTL=300*1e3;dashboardState=i(null);historyState=i(null);isLoading=i(!1);error=i(null);dashboardCache=new Map;totalQuizzes=n(()=>this.dashboardState()?.data.stats.totalQuizzes||0);overallAccuracy=n(()=>this.dashboardState()?.data.stats.overallAccuracy||0);currentStreak=n(()=>this.dashboardState()?.data.stats.currentStreak||0);getDashboard(t,s=!1){if(!s){let e=this.dashboardCache.get(t);if(e&&Date.now()-e.timestamp{this.dashboardState.set(e),this.dashboardCache.set(t,{data:e,timestamp:Date.now()}),this.isLoading.set(!1)}),d(e=>{throw console.error("Error fetching dashboard:",e),this.error.set(e.error?.message||"Failed to load dashboard"),this.isLoading.set(!1),e.status===401?(this.toastService.error("Please log in to view your dashboard"),this.router.navigate(["/login"])):this.toastService.error("Failed to load dashboard data"),e}))}getHistory(t,s=1,e=10,o,u="date"){this.isLoading.set(!0),this.error.set(null);let p={page:s,limit:e,sortBy:u};return o&&(p.category=o),this.http.get(`${this.API_URL}/${t}/history`,{params:p}).pipe(h(a=>{this.historyState.set(a),this.isLoading.set(!1)}),d(a=>{throw console.error("Error fetching history:",a),this.error.set(a.error?.message||"Failed to load quiz history"),this.isLoading.set(!1),a.status===401?(this.toastService.error("Please log in to view your history"),this.router.navigate(["/login"])):this.toastService.error("Failed to load quiz history"),a}))}updateProfile(t,s){return this.isLoading.set(!0),this.error.set(null),this.http.put(`${this.API_URL}/${t}`,s).pipe(h(e=>{let o=this.authService.getCurrentUser();if(o&&e.data?.user){let u=c(c({},o),e.data.user);this.storageService.setUserData(u)}this.isLoading.set(!1),this.toastService.success("Profile updated successfully"),this.dashboardCache.delete(t)}),d(e=>{throw console.error("Error updating profile:",e),this.error.set(e.error?.message||"Failed to update profile"),this.isLoading.set(!1),e.status===401?this.toastService.error("Please log in to update your profile"):e.status===409?this.toastService.error("Email or username already exists"):this.toastService.error("Failed to update profile"),e}))}clearCache(){this.dashboardCache.clear(),this.dashboardState.set(null),this.historyState.set(null),this.error.set(null)}isDashboardEmpty(){let t=this.dashboardState();return t?t.data.stats.totalQuizzes===0:!0}static \u0275fac=function(s){return new(s||l)};static \u0275prov=b({token:l,factory:l.\u0275fac,providedIn:"root"})};export{D as a}; diff --git a/chunk-LJBPTG23.js b/chunk-LJBPTG23.js new file mode 100644 index 0000000..70c2d91 --- /dev/null +++ b/chunk-LJBPTG23.js @@ -0,0 +1 @@ +import{a as F,c as q,d as j,e as A,g as R}from"./chunk-7YTCZJV6.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import"./chunk-CTXOKINH.js";import"./chunk-M5XZ5N2D.js";import{a as W}from"./chunk-GPI43RSU.js";import{a as v,b as w,c as S,d as b,f as y,i as E}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as L,b as I}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as G,j as P,w as O,wa as k,ya as T,za as z}from"./chunk-COFYR5MX.js";import{Db as M,Eb as f,Hb as s,Ib as g,Jb as h,Kb as e,Lb as t,Mb as x,Qb as p,Rb as u,Xb as l,Za as r,da as d,lc as n,mc as m,ob as C}from"./chunk-2MUIW2M6.js";var B=(i,a)=>a.text;function N(i,a){if(i&1&&(e(0,"mat-list-item")(1,"mat-icon",14),n(2),t(),e(3,"span",15),n(4),t()()),i&2){let o=a.$implicit;r(2),m(o.icon),r(2),m(o.text)}}function $(i,a){i&1&&(p(0),x(1,"mat-spinner",16),e(2,"span"),n(3,"Starting Session..."),t(),u())}function U(i,a){i&1&&(p(0),e(1,"mat-icon"),n(2,"play_arrow"),t(),e(3,"span"),n(4,"Try as Guest"),t(),u())}function H(i,a){if(i&1&&(e(0,"mat-list-item")(1,"mat-icon",14),n(2),t(),e(3,"span",15),n(4),t()()),i&2){let o=a.$implicit;r(2),m(o.icon),r(2),m(o.text)}}var D=class i{guestService=d(W);router=d(O);isLoading=!1;guestFeatures=[{icon:"quiz",text:"Take up to 3 quizzes per day"},{icon:"category",text:"Access selected categories"},{icon:"timer",text:"24-hour session validity"},{icon:"phone_android",text:"No installation required"}];registeredFeatures=[{icon:"all_inclusive",text:"Unlimited quizzes"},{icon:"lock_open",text:"Access all categories"},{icon:"trending_up",text:"Track your progress"},{icon:"bookmark",text:"Bookmark questions"},{icon:"history",text:"View quiz history"},{icon:"emoji_events",text:"Earn achievements"}];startGuestSession(){this.isLoading=!0,this.guestService.startSession().subscribe({next:()=>{this.isLoading=!1,this.router.navigate(["/categories"])},error:()=>{this.isLoading=!1}})}navigateToRegister(){this.router.navigate(["/register"])}navigateToLogin(){this.router.navigate(["/login"])}static \u0275fac=function(o){return new(o||i)};static \u0275cmp=C({type:i,selectors:[["app-guest-welcome"]],decls:46,vars:2,consts:[[1,"guest-welcome-container"],[1,"welcome-card"],[1,"welcome-icon"],[1,"mode-section"],[1,"mode-header"],["color","accent"],[1,"mode-description"],[1,"features-list"],["mat-raised-button","","color","accent",1,"action-button",3,"click","disabled"],[1,"divider"],["color","primary"],[1,"button-group"],["mat-raised-button","","color","primary",1,"action-button",3,"click"],["mat-stroked-button","","color","primary",3,"click"],["matListItemIcon",""],["matListItemTitle",""],["diameter","20"]],template:function(o,c){o&1&&(e(0,"div",0)(1,"mat-card",1)(2,"mat-card-header")(3,"mat-icon",2),n(4,"waving_hand"),t(),e(5,"mat-card-title"),n(6,"Welcome to Interview Quiz!"),t(),e(7,"mat-card-subtitle"),n(8,"Choose how you'd like to continue"),t()(),e(9,"mat-card-content")(10,"div",3)(11,"div",4)(12,"mat-icon",5),n(13,"visibility"),t(),e(14,"h3"),n(15,"Try as Guest"),t()(),e(16,"p",6),n(17," Start exploring immediately without creating an account. "),t(),e(18,"mat-list",7),s(19,N,5,2,"mat-list-item",null,B),t(),e(21,"button",8),l("click",function(){return c.startGuestSession()}),M(22,$,4,0,"ng-container")(23,U,5,0,"ng-container"),t()(),e(24,"div",9)(25,"span"),n(26,"OR"),t()(),e(27,"div",3)(28,"div",4)(29,"mat-icon",10),n(30,"account_circle"),t(),e(31,"h3"),n(32,"Create an Account"),t()(),e(33,"p",6),n(34," Get the full experience with unlimited access. "),t(),e(35,"mat-list",7),s(36,H,5,2,"mat-list-item",null,B),t(),e(38,"div",11)(39,"button",12),l("click",function(){return c.navigateToRegister()}),e(40,"mat-icon"),n(41,"person_add"),t(),n(42," Sign Up "),t(),e(43,"button",13),l("click",function(){return c.navigateToLogin()}),e(44,"span"),n(45,"Already have an account? Login"),t()()()()()()()),o&2&&(r(19),g(c.guestFeatures),r(2),h("disabled",c.isLoading),r(),f(c.isLoading?22:23),r(14),g(c.registeredFeatures))},dependencies:[P,E,v,S,y,b,w,T,k,G,z,R,j,A,q,F,I,L],styles:['.guest-welcome-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:2rem;background:linear-gradient(135deg,var(--primary-color-light) 0%,var(--accent-color-light) 100%)}.welcome-card[_ngcontent-%COMP%]{max-width:900px;width:100%}.welcome-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.welcome-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .welcome-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:var(--primary-color);margin-bottom:1rem}.welcome-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{font-size:2rem;font-weight:600;margin-bottom:.5rem}.welcome-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-subtitle[_ngcontent-%COMP%]{font-size:1.1rem;opacity:.8}.welcome-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:2rem}.mode-section[_ngcontent-%COMP%]{padding:1.5rem;border-radius:8px;background:var(--surface-color)}.mode-section[_ngcontent-%COMP%] .mode-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.mode-section[_ngcontent-%COMP%] .mode-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px}.mode-section[_ngcontent-%COMP%] .mode-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600}.mode-section[_ngcontent-%COMP%] .mode-description[_ngcontent-%COMP%]{margin:0 0 1.5rem;font-size:1rem;color:var(--text-secondary)}.mode-section[_ngcontent-%COMP%] .features-list[_ngcontent-%COMP%]{margin-bottom:1.5rem}.mode-section[_ngcontent-%COMP%] .features-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%]{height:auto;min-height:48px;padding:.5rem 0}.mode-section[_ngcontent-%COMP%] .features-list[_ngcontent-%COMP%] mat-list-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color);margin-right:1rem}.mode-section[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]{width:100%;height:48px;font-size:1rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem}.mode-section[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:.5rem}.mode-section[_ngcontent-%COMP%] .button-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.mode-section[_ngcontent-%COMP%] .button-group[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]{margin-bottom:.5rem}.divider[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;margin:2rem 0;position:relative}.divider[_ngcontent-%COMP%]:before, .divider[_ngcontent-%COMP%]:after{content:"";flex:1;height:1px;background:var(--divider-color)}.divider[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{padding:0 1rem;font-weight:600;color:var(--text-secondary)}@media (max-width: 768px){.guest-welcome-container[_ngcontent-%COMP%]{padding:1rem}.welcome-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:1.5rem}.welcome-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .welcome-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px}.welcome-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{font-size:1.5rem}.welcome-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:1rem}.mode-section[_ngcontent-%COMP%]{padding:1rem}.mode-section[_ngcontent-%COMP%] .mode-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-size:1.25rem}}']})};export{D as GuestWelcomeComponent}; diff --git a/chunk-LLJSP5R2.js b/chunk-LLJSP5R2.js new file mode 100644 index 0000000..87f3c05 --- /dev/null +++ b/chunk-LLJSP5R2.js @@ -0,0 +1,2 @@ +import{a as X,c as x,e as U,g as Ot,i as Ct,l as kt}from"./chunk-HMKN2VB2.js";import{G as A,H as Y,N as K,P as $,X as mt,Y as bt,b as vt,ca as G,da as wt,fa as p,ja as St,la as q}from"./chunk-COFYR5MX.js";import{$ as lt,Aa as z,Ab as yt,B as nt,Ca as M,Ia as dt,Pc as C,V as rt,_ as v,a as D,b as ot,ba as at,cb as S,d as m,da as d,db as O,eb as j,fb as _t,ga as ht,gb as B,hb as pt,i as b,kb as ft,ma as w,na as R,ob as ut,pb as gt,qb as Z,za as ct}from"./chunk-2MUIW2M6.js";var Rt=St();function At(s){return new V(s.get(x),s.get(R))}var V=class{_viewportRuler;_previousHTMLStyles={top:"",left:""};_previousScrollPosition;_isEnabled=!1;_document;constructor(t,e){this._viewportRuler=t,this._document=e}attach(){}enable(){if(this._canBeEnabled()){let t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=p(-this._previousScrollPosition.left),t.style.top=p(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let t=this._document.documentElement,e=this._document.body,i=t.style,o=e.style,n=i.scrollBehavior||"",r=o.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),Rt&&(i.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Rt&&(i.scrollBehavior=n,o.scrollBehavior=r)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let e=this._document.documentElement,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}};function Yt(s,t){return new F(s.get(X),s.get(O),s.get(x),t)}var F=class{_scrollDispatcher;_ngZone;_viewportRuler;_config;_scrollSubscription=null;_overlayRef;_initialScrollPosition;constructor(t,e,i,o){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=i,this._config=o}attach(t){this._overlayRef,this._overlayRef=t}enable(){if(this._scrollSubscription)return;let t=this._scrollDispatcher.scrolled(0).pipe(nt(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{let e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}_detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}};var E=class{enable(){}disable(){}attach(){}};function J(s,t){return t.some(e=>{let i=s.bottome.bottom,n=s.righte.right;return i||o||n||r})}function xt(s,t){return t.some(e=>{let i=s.tope.bottom,n=s.lefte.right;return i||o||n||r})}function W(s,t){return new T(s.get(X),s.get(x),s.get(O),t)}var T=class{_scrollDispatcher;_viewportRuler;_ngZone;_config;_scrollSubscription=null;_overlayRef;constructor(t,e,i,o){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=i,this._config=o}attach(t){this._overlayRef,this._overlayRef=t}enable(){if(!this._scrollSubscription){let t=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(t).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:o}=this._viewportRuler.getViewportSize();J(e,[{width:i,height:o,bottom:o,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},Xt=(()=>{class s{_injector=d(w);constructor(){}noop=()=>new E;close=e=>Yt(this._injector,e);block=()=>At(this._injector);reposition=e=>W(this._injector,e);static \u0275fac=function(i){return new(i||s)};static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})(),P=class{positionStrategy;scrollStrategy=new E;panelClass="";hasBackdrop=!1;backdropClass="cdk-overlay-dark-backdrop";disableAnimations;width;height;minWidth;minHeight;maxWidth;maxHeight;direction;disposeOnNavigation=!1;constructor(t){if(t){let e=Object.keys(t);for(let i of e)t[i]!==void 0&&(this[i]=t[i])}}};var I=class{connectionPair;scrollableViewProperties;constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}};var Vt=(()=>{class s{_attachedOverlays=[];_document=d(R);_isAttached;constructor(){}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){let i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),this._attachedOverlays.length===0&&this.detach()}static \u0275fac=function(i){return new(i||s)};static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})(),Ft=(()=>{class s extends Vt{_ngZone=d(O);_renderer=d(B).createRenderer(null,null);_cleanupKeydown;add(e){super.add(e),this._isAttached||(this._ngZone.runOutsideAngular(()=>{this._cleanupKeydown=this._renderer.listen("body","keydown",this._keydownListener)}),this._isAttached=!0)}detach(){this._isAttached&&(this._cleanupKeydown?.(),this._isAttached=!1)}_keydownListener=e=>{let i=this._attachedOverlays;for(let o=i.length-1;o>-1;o--)if(i[o]._keydownEvents.observers.length>0){this._ngZone.run(()=>i[o]._keydownEvents.next(e));break}};static \u0275fac=(()=>{let e;return function(o){return(e||(e=z(s)))(o||s)}})();static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})(),Tt=(()=>{class s extends Vt{_platform=d(Y);_ngZone=d(O);_renderer=d(B).createRenderer(null,null);_cursorOriginalValue;_cursorStyleIsSet=!1;_pointerDownEventTarget;_cleanups;add(e){if(super.add(e),!this._isAttached){let i=this._document.body,o={capture:!0},n=this._renderer;this._cleanups=this._ngZone.runOutsideAngular(()=>[n.listen(i,"pointerdown",this._pointerDownListener,o),n.listen(i,"click",this._clickListener,o),n.listen(i,"auxclick",this._clickListener,o),n.listen(i,"contextmenu",this._clickListener,o)]),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){this._isAttached&&(this._cleanups?.forEach(e=>e()),this._cleanups=void 0,this._platform.IOS&&this._cursorStyleIsSet&&(this._document.body.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1)}_pointerDownListener=e=>{this._pointerDownEventTarget=A(e)};_clickListener=e=>{let i=A(e),o=e.type==="click"&&this._pointerDownEventTarget?this._pointerDownEventTarget:i;this._pointerDownEventTarget=null;let n=this._attachedOverlays.slice();for(let r=n.length-1;r>-1;r--){let l=n[r];if(l._outsidePointerEvents.observers.length<1||!l.hasAttached())continue;if(Et(l.overlayElement,i)||Et(l.overlayElement,o))break;let h=l._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>h.next(e)):h.next(e)}};static \u0275fac=(()=>{let e;return function(o){return(e||(e=z(s)))(o||s)}})();static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})();function Et(s,t){let e=typeof ShadowRoot<"u"&&ShadowRoot,i=t;for(;i;){if(i===s)return!0;i=e&&i instanceof ShadowRoot?i.host:i.parentNode}return!1}var It=(()=>{class s{static \u0275fac=function(i){return new(i||s)};static \u0275cmp=ut({type:s,selectors:[["ng-component"]],hostAttrs:["cdk-overlay-style-loader",""],decls:0,vars:0,template:function(i,o){},styles:[`.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll} +`],encapsulation:2,changeDetection:0})}return s})(),Lt=(()=>{class s{_platform=d(Y);_containerElement;_document=d(R);_styleLoader=d(K);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let e="cdk-overlay-container";if(this._platform.isBrowser||q()){let o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let n=0;n{let t=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(t,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),t.style.pointerEvents="none",t.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}},L=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new b;_attachments=new b;_detachments=new b;_positionStrategy;_scrollStrategy;_locationChanges=m.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_previousHostParent;_keydownEvents=new b;_outsidePointerEvents=new b;_afterNextRenderRef;constructor(t,e,i,o,n,r,l,h,c,a=!1,_,y){this._portalOutlet=t,this._host=e,this._pane=i,this._config=o,this._ngZone=n,this._keyboardDispatcher=r,this._document=l,this._location=h,this._outsideClickDispatcher=c,this._animationsDisabled=a,this._injector=_,this._renderer=y,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}attach(t){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);let e=this._portalOutlet.attach(t);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=j(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof e?.onDestroy=="function"&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let t=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){let t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,t&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config=D(D({},this._config),t),this._updateElementSize()}setDirection(t){this._config=ot(D({},this._config),{direction:t}),this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){let t=this._config.direction;return t?typeof t=="string"?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;let t=this._pane.style;t.width=p(this._config.width),t.height=p(this._config.height),t.minWidth=p(this._config.minWidth),t.minHeight=p(this._config.minHeight),t.maxWidth=p(this._config.maxWidth),t.maxHeight=p(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){let t="cdk-overlay-backdrop-showing";this._backdropRef?.dispose(),this._backdropRef=new Q(this._document,this._renderer,this._ngZone,e=>{this._backdropClick.next(e)}),this._animationsDisabled&&this._backdropRef.element.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropRef.element,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropRef.element,this._host),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this._backdropRef?.element.classList.add(t))}):this._backdropRef.element.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){this._animationsDisabled?(this._backdropRef?.dispose(),this._backdropRef=null):this._backdropRef?.detach()}_toggleClasses(t,e,i){let o=$(e||[]).filter(n=>!!n);o.length&&(i?t.classList.add(...o):t.classList.remove(...o))}_detachContentWhenEmpty(){let t=!1;try{this._detachContentAfterRenderRef=j(()=>{t=!0,this._detachContent()},{injector:this._injector})}catch(e){if(t)throw e;this._detachContent()}globalThis.MutationObserver&&this._pane&&(this._detachContentMutationObserver||=new globalThis.MutationObserver(()=>{this._detachContent()}),this._detachContentMutationObserver.observe(this._pane,{childList:!0}))}_detachContent(){(!this._pane||!this._host||this._pane.children.length===0)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),this._completeDetachContent())}_completeDetachContent(){this._detachContentAfterRenderRef?.destroy(),this._detachContentAfterRenderRef=void 0,this._detachContentMutationObserver?.disconnect()}_disposeScrollStrategy(){let t=this._scrollStrategy;t?.disable(),t?.detach?.()}},Pt="cdk-overlay-connected-position-bounding-box",jt=/([A-Za-z%]+)$/;function et(s,t){return new N(t,s.get(x),s.get(R),s.get(Y),s.get(Lt))}var N=class{_viewportRuler;_document;_platform;_overlayContainer;_overlayRef;_isInitialRender;_lastBoundingBoxSize={width:0,height:0};_isPushed=!1;_canPush=!0;_growAfterOpen=!1;_hasFlexibleDimensions=!0;_positionLocked=!1;_originRect;_overlayRect;_viewportRect;_containerRect;_viewportMargin=0;_scrollables=[];_preferredPositions=[];_origin;_pane;_isDisposed;_boundingBox;_lastPosition;_lastScrollVisibility;_positionChanges=new b;_resizeSubscription=m.EMPTY;_offsetX=0;_offsetY=0;_transformOriginSelector;_appliedPanelClasses=[];_previousPushAmount;positionChanges=this._positionChanges;get positions(){return this._preferredPositions}constructor(t,e,i,o,n){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=n,this.setOrigin(t)}attach(t){this._overlayRef&&this._overlayRef,this._validatePositions(),t.hostElement.classList.add(Pt),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition){this.reapplyLastPosition();return}this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let t=this._originRect,e=this._overlayRect,i=this._viewportRect,o=this._containerRect,n=[],r;for(let l of this._preferredPositions){let h=this._getOriginPoint(t,o,l),c=this._getOverlayPoint(h,e,l),a=this._getOverlayFit(c,e,i,l);if(a.isCompletelyWithinViewport){this._isPushed=!1,this._applyPosition(l,h);return}if(this._canFitWithFlexibleDimensions(a,c,i)){n.push({position:l,origin:h,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(h,l)});continue}(!r||r.overlayFit.visibleAreah&&(h=a,l=c)}this._isPushed=!1,this._applyPosition(l.position,l.origin);return}if(this._canPush){this._isPushed=!0,this._applyPosition(r.position,r.originPoint);return}this._applyPosition(r.position,r.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&k(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Pt),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;let t=this._lastPosition;if(t){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let e=this._getOriginPoint(this._originRect,this._containerRect,t);this._applyPosition(t,e)}else this.apply()}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,t.indexOf(this._lastPosition)===-1&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e,i){let o;if(i.originX=="center")o=t.left+t.width/2;else{let r=this._isRtl()?t.right:t.left,l=this._isRtl()?t.left:t.right;o=i.originX=="start"?r:l}e.left<0&&(o-=e.left);let n;return i.originY=="center"?n=t.top+t.height/2:n=i.originY=="top"?t.top:t.bottom,e.top<0&&(n-=e.top),{x:o,y:n}}_getOverlayPoint(t,e,i){let o;i.overlayX=="center"?o=-e.width/2:i.overlayX==="start"?o=this._isRtl()?-e.width:0:o=this._isRtl()?0:-e.width;let n;return i.overlayY=="center"?n=-e.height/2:n=i.overlayY=="top"?0:-e.height,{x:t.x+o,y:t.y+n}}_getOverlayFit(t,e,i,o){let n=Mt(e),{x:r,y:l}=t,h=this._getOffset(o,"x"),c=this._getOffset(o,"y");h&&(r+=h),c&&(l+=c);let a=0-r,_=r+n.width-i.width,y=0-l,u=l+n.height-i.height,f=this._subtractOverflows(n.width,a,_),g=this._subtractOverflows(n.height,y,u),st=f*g;return{visibleArea:st,isCompletelyWithinViewport:n.width*n.height===st,fitsInViewportVertically:g===n.height,fitsInViewportHorizontally:f==n.width}}_canFitWithFlexibleDimensions(t,e,i){if(this._hasFlexibleDimensions){let o=i.bottom-e.y,n=i.right-e.x,r=Dt(this._overlayRef.getConfig().minHeight),l=Dt(this._overlayRef.getConfig().minWidth),h=t.fitsInViewportVertically||r!=null&&r<=o,c=t.fitsInViewportHorizontally||l!=null&&l<=n;return h&&c}return!1}_pushOverlayOnScreen(t,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};let o=Mt(e),n=this._viewportRect,r=Math.max(t.x+o.width-n.width,0),l=Math.max(t.y+o.height-n.height,0),h=Math.max(n.top-i.top-t.y,0),c=Math.max(n.left-i.left-t.x,0),a=0,_=0;return o.width<=n.width?a=c||-r:a=t.xf&&!this._isInitialRender&&!this._growAfterOpen&&(r=t.y-f/2)}let h=e.overlayX==="start"&&!o||e.overlayX==="end"&&o,c=e.overlayX==="end"&&!o||e.overlayX==="start"&&o,a,_,y;if(c)y=i.width-t.x+this._viewportMargin*2,a=t.x-this._viewportMargin;else if(h)_=t.x,a=i.right-t.x;else{let u=Math.min(i.right-t.x+i.left,t.x),f=this._lastBoundingBoxSize.width;a=u*2,_=t.x-u,a>f&&!this._isInitialRender&&!this._growAfterOpen&&(_=t.x-f/2)}return{top:r,left:_,bottom:l,right:y,width:a,height:n}}_setBoundingBoxStyles(t,e){let i=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));let o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{let n=this._overlayRef.getConfig().maxHeight,r=this._overlayRef.getConfig().maxWidth;o.height=p(i.height),o.top=p(i.top),o.bottom=p(i.bottom),o.width=p(i.width),o.left=p(i.left),o.right=p(i.right),e.overlayX==="center"?o.alignItems="center":o.alignItems=e.overlayX==="end"?"flex-end":"flex-start",e.overlayY==="center"?o.justifyContent="center":o.justifyContent=e.overlayY==="bottom"?"flex-end":"flex-start",n&&(o.maxHeight=p(n)),r&&(o.maxWidth=p(r))}this._lastBoundingBoxSize=i,k(this._boundingBox.style,o)}_resetBoundingBoxStyles(){k(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){k(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){let i={},o=this._hasExactPosition(),n=this._hasFlexibleDimensions,r=this._overlayRef.getConfig();if(o){let a=this._viewportRuler.getViewportScrollPosition();k(i,this._getExactOverlayY(e,t,a)),k(i,this._getExactOverlayX(e,t,a))}else i.position="static";let l="",h=this._getOffset(e,"x"),c=this._getOffset(e,"y");h&&(l+=`translateX(${h}px) `),c&&(l+=`translateY(${c}px)`),i.transform=l.trim(),r.maxHeight&&(o?i.maxHeight=p(r.maxHeight):n&&(i.maxHeight="")),r.maxWidth&&(o?i.maxWidth=p(r.maxWidth):n&&(i.maxWidth="")),k(this._pane.style,i)}_getExactOverlayY(t,e,i){let o={top:"",bottom:""},n=this._getOverlayPoint(e,this._overlayRect,t);if(this._isPushed&&(n=this._pushOverlayOnScreen(n,this._overlayRect,i)),t.overlayY==="bottom"){let r=this._document.documentElement.clientHeight;o.bottom=`${r-(n.y+this._overlayRect.height)}px`}else o.top=p(n.y);return o}_getExactOverlayX(t,e,i){let o={left:"",right:""},n=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(n=this._pushOverlayOnScreen(n,this._overlayRect,i));let r;if(this._isRtl()?r=t.overlayX==="end"?"left":"right":r=t.overlayX==="end"?"right":"left",r==="right"){let l=this._document.documentElement.clientWidth;o.right=`${l-(n.x+this._overlayRect.width)}px`}else o.left=p(n.x);return o}_getScrollVisibility(){let t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:xt(t,i),isOriginOutsideView:J(t,i),isOverlayClipped:xt(e,i),isOverlayOutsideView:J(e,i)}}_subtractOverflows(t,...e){return e.reduce((i,o)=>i-Math.max(o,0),t)}_getNarrowedViewportRect(){let t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+t-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return this._overlayRef.getDirection()==="rtl"}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return e==="x"?t.offsetX==null?this._offsetX:t.offsetX:t.offsetY==null?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&$(t).forEach(e=>{e!==""&&this._appliedPanelClasses.indexOf(e)===-1&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){let t=this._origin;if(t instanceof M)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();let e=t.width||0,i=t.height||0;return{top:t.y,bottom:t.y+i,left:t.x,right:t.x+e,height:i,width:e}}};function k(s,t){for(let e in t)t.hasOwnProperty(e)&&(s[e]=t[e]);return s}function Dt(s){if(typeof s!="number"&&s!=null){let[t,e]=s.split(jt);return!e||e==="px"?parseFloat(t):null}return s||null}function Mt(s){return{top:Math.floor(s.top),right:Math.floor(s.right),bottom:Math.floor(s.bottom),left:Math.floor(s.left),width:Math.floor(s.width),height:Math.floor(s.height)}}function Zt(s,t){return s===t?!0:s.isOriginClipped===t.isOriginClipped&&s.isOriginOutsideView===t.isOriginOutsideView&&s.isOverlayClipped===t.isOverlayClipped&&s.isOverlayOutsideView===t.isOverlayOutsideView}var Bt="cdk-global-overlay-wrapper";function Nt(s){return new H}var H=class{_overlayRef;_cssPosition="static";_topOffset="";_bottomOffset="";_alignItems="";_xPosition="";_xOffset="";_width="";_height="";_isDisposed=!1;attach(t){let e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(Bt),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._xOffset=t,this._xPosition="left",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._xOffset=t,this._xPosition="right",this}start(t=""){return this._xOffset=t,this._xPosition="start",this}end(t=""){return this._xOffset=t,this._xPosition="end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._xPosition="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;let t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:o,height:n,maxWidth:r,maxHeight:l}=i,h=(o==="100%"||o==="100vw")&&(!r||r==="100%"||r==="100vw"),c=(n==="100%"||n==="100vh")&&(!l||l==="100%"||l==="100vh"),a=this._xPosition,_=this._xOffset,y=this._overlayRef.getConfig().direction==="rtl",u="",f="",g="";h?g="flex-start":a==="center"?(g="center",y?f=_:u=_):y?a==="left"||a==="end"?(g="flex-end",u=_):(a==="right"||a==="start")&&(g="flex-start",f=_):a==="left"||a==="start"?(g="flex-start",u=_):(a==="right"||a==="end")&&(g="flex-end",f=_),t.position=this._cssPosition,t.marginLeft=h?"0":u,t.marginTop=c?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=h?"0":f,e.justifyContent=g,e.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;let t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(Bt),i.justifyContent=i.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}},Ht=(()=>{class s{_injector=d(w);constructor(){}global(){return Nt()}flexibleConnectedTo(e){return et(this._injector,e)}static \u0275fac=function(i){return new(i||s)};static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})();function it(s,t){s.get(K).load(It);let e=s.get(Lt),i=s.get(R),o=s.get(mt),n=s.get(yt),r=s.get(G),l=i.createElement("div"),h=i.createElement("div");h.id=o.getId("cdk-overlay-"),h.classList.add("cdk-overlay-pane"),l.appendChild(h),e.getContainerElement().appendChild(l);let c=new Ct(h,n,s),a=new P(t),_=s.get(pt,null,{optional:!0})||s.get(B).createRenderer(null,null);return a.direction=a.direction||r.value,new L(c,l,h,a,s.get(O),s.get(Ft),i,s.get(vt),s.get(Tt),t?.disableAnimations??s.get(dt,null,{optional:!0})==="NoopAnimations",s.get(ht),_)}var Wt=(()=>{class s{scrollStrategies=d(Xt);_positionBuilder=d(Ht);_injector=d(w);constructor(){}create(e){return it(this._injector,e)}position(){return this._positionBuilder}static \u0275fac=function(i){return new(i||s)};static \u0275prov=v({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})(),Kt=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],zt=new at("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{let s=d(w);return()=>W(s)}}),tt=(()=>{class s{elementRef=d(M);constructor(){}static \u0275fac=function(i){return new(i||s)};static \u0275dir=Z({type:s,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]})}return s})(),$t=(()=>{class s{_dir=d(G,{optional:!0});_injector=d(w);_overlayRef;_templatePortal;_backdropSubscription=m.EMPTY;_attachSubscription=m.EMPTY;_detachSubscription=m.EMPTY;_positionSubscription=m.EMPTY;_offsetX;_offsetY;_position;_scrollStrategyFactory=d(zt);_disposeOnNavigation=!1;_ngZone=d(O);origin;positions;positionStrategy;get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}width;height;minWidth;minHeight;backdropClass;panelClass;viewportMargin=0;scrollStrategy;open=!1;disableClose=!1;transformOriginSelector;hasBackdrop=!1;lockPosition=!1;flexibleDimensions=!1;growAfterOpen=!1;push=!1;get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(e){this._disposeOnNavigation=e}backdropClick=new S;positionChange=new S;attach=new S;detach=new S;overlayKeydown=new S;overlayOutsideClick=new S;constructor(){let e=d(_t),i=d(ft);this._templatePortal=new Ot(e,i),this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef?.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef?.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this.attachOverlay():this.detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=Kt);let e=this._overlayRef=it(this._injector,this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),i.keyCode===27&&!this.disableClose&&!bt(i)&&(i.preventDefault(),this.detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{let o=this._getOriginElement(),n=A(i);(!o||o!==n&&!o.contains(n))&&this.overlayOutsideClick.next(i)})}_buildConfig(){let e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new P({direction:this._dir||"ltr",positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||this.width===0)&&(i.width=this.width),(this.height||this.height===0)&&(i.height=this.height),(this.minWidth||this.minWidth===0)&&(i.minWidth=this.minWidth),(this.minHeight||this.minHeight===0)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){let i=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return e.setOrigin(this._getOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){let e=et(this._injector,this._getOrigin());return this._updatePositionStrategy(e),e}_getOrigin(){return this.origin instanceof tt?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof tt?this.origin.elementRef.nativeElement:this.origin instanceof M?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(rt(()=>this.positionChange.observers.length>0)).subscribe(e=>{this._ngZone.run(()=>this.positionChange.emit(e)),this.positionChange.observers.length===0&&this._positionSubscription.unsubscribe()})),this.open=!0}detachOverlay(){this._overlayRef?.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.open=!1}static \u0275fac=function(i){return new(i||s)};static \u0275dir=Z({type:s,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",C],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",C],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",C],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",C],push:[2,"cdkConnectedOverlayPush","push",C],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",C]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[ct]})}return s})();function Gt(s){let t=d(w);return()=>W(t)}var qt={provide:zt,useFactory:Gt},Ut=(()=>{class s{static \u0275fac=function(i){return new(i||s)};static \u0275mod=gt({type:s});static \u0275inj=lt({providers:[Wt,qt],imports:[wt,kt,U,U]})}return s})();export{At as a,W as b,P as c,Lt as d,L as e,et as f,N as g,Nt as h,it as i,tt as j,$t as k,Ut as l}; diff --git a/chunk-LQYVBPUL.js b/chunk-LQYVBPUL.js new file mode 100644 index 0000000..ec789bf --- /dev/null +++ b/chunk-LQYVBPUL.js @@ -0,0 +1,2 @@ +import{a as I}from"./chunk-IRVPX2IZ.js";import{a as Xe}from"./chunk-RDQGS2XZ.js";import{a as He}from"./chunk-VX6WCCL3.js";import{b as De,c as Fe}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as Te}from"./chunk-7XDVX5KB.js";import{b as je}from"./chunk-CTXOKINH.js";import{a as Ue}from"./chunk-B4CGVF35.js";import{b as Be}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import"./chunk-3GOV5KJM.js";import{b as ke,c as Se,d as Ee,e as ze,i as Ie}from"./chunk-EGL4ZKWQ.js";import{a as we,b as Ce,c as Me,d as xe,f as ye,i as Pe}from"./chunk-6NRCTHHS.js";import{a as Ne,b as $e}from"./chunk-N6VRXIQE.js";import{a as ne,b as ae,c as oe,d as _,f as re,g as se,l as ce,m as le,o as de,r as me,s as ge,t as he,v as ue,x as _e,z as pe}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as qe,L as fe,N as be,X as ve,ea as z,j as te,oa as Oe,ra as Qe,ta as Ge,ua as Ae,w as ie,wa as Le,ya as Re,za as Ve}from"./chunk-COFYR5MX.js";import{$ as F,$b as j,Ca as R,Cb as P,Db as d,Eb as m,Gc as J,Hb as q,Ib as H,Jb as f,Kb as i,Lb as t,Mb as h,Mc as K,Pc as M,Qc as ee,Tb as x,Ub as N,Xb as b,Z as D,Za as c,Zb as g,_b as $,ba as Q,bc as B,cb as S,cc as U,da as u,dc as X,hc as Y,ia as w,ja as C,jc as E,ka as G,kc as Z,lc as n,mc as v,nc as O,oa as A,ob as y,pb as V,uc as W,za as L}from"./chunk-2MUIW2M6.js";var Ke=["switch"],et=["*"];function tt(a,o){a&1&&(i(0,"span",11),G(),i(1,"svg",13),h(2,"path",14),t(),i(3,"svg",15),h(4,"path",16),t()())}var it=new Q("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),k=class{source;checked;constructor(o,e){this.source=o,this.checked=e}},T=(()=>{class a{_elementRef=u(R);_focusMonitor=u(fe);_changeDetectorRef=u(K);defaults=u(it);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(e){return new k(this,e)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=Oe();_focused;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required;color;disabled=!1;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck()}hideIcon;disabledInteractive;change=new S;toggleChange=new S;get inputId(){return`${this.id||this._uniqueId}-input`}constructor(){u(be).load(Ge);let e=u(new J("tabindex"),{optional:!0}),s=this.defaults;this.tabIndex=e==null?0:parseInt(e)||0,this.color=s.color||"accent",this.id=this._uniqueId=u(ve).getId("mat-mdc-slide-toggle-"),this.hideIcon=s.hideIcon??!1,this.disabledInteractive=s.disabledInteractive??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{e==="keyboard"||e==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(e){e.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(e){this.checked=!!e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}validate(e){return this.required&&e.value!==!0?{required:!0}:null}registerOnValidatorChange(e){this._validatorOnChange=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.disabled||(this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new k(this,this.checked))))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(s){return new(s||a)};static \u0275cmp=y({type:a,selectors:[["mat-slide-toggle"]],viewQuery:function(s,r){if(s&1&&B(Ke,5),s&2){let p;U(p=X())&&(r._switchElement=p.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(s,r){s&2&&(N("id",r.id),P("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),Z(r.color?"mat-"+r.color:""),E("mat-mdc-slide-toggle-focused",r._focused)("mat-mdc-slide-toggle-checked",r.checked)("_mat-animation-noopable",r._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",M],color:"color",disabled:[2,"disabled","disabled",M],disableRipple:[2,"disableRipple","disableRipple",M],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:ee(e)],checked:[2,"checked","checked",M],hideIcon:[2,"hideIcon","hideIcon",M],disabledInteractive:[2,"disabledInteractive","disabledInteractive",M]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[W([{provide:ne,useExisting:D(()=>a),multi:!0},{provide:oe,useExisting:a,multi:!0}]),L],ngContentSelectors:et,decls:14,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mat-mdc-slide-toggle-touch-target"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(s,r){if(s&1){let p=x();$(),i(0,"div",1)(1,"button",2,0),b("click",function(){return w(p),C(r._handleClick())}),h(3,"div",3)(4,"span",4),i(5,"span",5)(6,"span",6)(7,"span",7),h(8,"span",8),t(),i(9,"span",9),h(10,"span",10),t(),d(11,tt,5,0,"span",11),t()()(),i(12,"label",12),b("click",function(We){return w(p),C(We.stopPropagation())}),j(13),t()()}if(s&2){let p=Y(2);f("labelPosition",r.labelPosition),c(),E("mdc-switch--selected",r.checked)("mdc-switch--unselected",!r.checked)("mdc-switch--checked",r.checked)("mdc-switch--disabled",r.disabled)("mat-mdc-slide-toggle-disabled-interactive",r.disabledInteractive),f("tabIndex",r.disabled&&!r.disabledInteractive?-1:r.tabIndex)("disabled",r.disabled&&!r.disabledInteractive),P("id",r.buttonId)("name",r.name)("aria-label",r.ariaLabel)("aria-labelledby",r._getAriaLabelledBy())("aria-describedby",r.ariaDescribedby)("aria-required",r.required||null)("aria-checked",r.checked)("aria-disabled",r.disabled&&r.disabledInteractive?"true":null),c(9),f("matRippleTrigger",p)("matRippleDisabled",r.disableRipple||r.disabled)("matRippleCentered",!0),c(),m(r.hideIcon?-1:11),c(),f("for",r.buttonId),P("id",r._labelId)}},dependencies:[Qe,He],styles:[`.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mat-slide-toggle-track-width, 52px)}.mdc-switch.mdc-switch--disabled{cursor:default;pointer-events:none}.mdc-switch.mat-mdc-slide-toggle-disabled-interactive{pointer-events:auto}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mat-slide-toggle-track-height, 32px);border-radius:var(--mat-slide-toggle-track-shape, var(--mat-sys-corner-full))}.mdc-switch--disabled.mdc-switch .mdc-switch__track{opacity:var(--mat-slide-toggle-disabled-track-opacity, 0.12)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-slide-toggle-track-outline-width, 2px);border-color:var(--mat-slide-toggle-track-outline-color, var(--mat-sys-outline))}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-slide-toggle-selected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-selected-track-outline-color, transparent)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-slide-toggle-disabled-unselected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-disabled-unselected-track-outline-color, var(--mat-sys-on-surface))}@media(forced-colors: active){.mdc-switch__track{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mat-slide-toggle-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-hover-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-focus-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-pressed-track-color, var(--mat-sys-surface-variant))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::before,.mdc-switch.mdc-switch--disabled .mdc-switch__track::before{background:var(--mat-slide-toggle-disabled-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mat-slide-toggle-selected-track-color, var(--mat-sys-primary))}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-hover-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-focus-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-pressed-track-color, var(--mat-sys-primary))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::after,.mdc-switch.mdc-switch--disabled .mdc-switch__track::after{background:var(--mat-slide-toggle-disabled-selected-track-color, var(--mat-sys-on-surface))}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mat-slide-toggle-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mat-slide-toggle-handle-width);height:var(--mat-slide-toggle-handle-height);border-radius:var(--mat-slide-toggle-handle-shape, var(--mat-sys-corner-full))}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-slide-toggle-unselected-handle-size, 16px);height:var(--mat-slide-toggle-unselected-handle-size, 16px);margin:var(--mat-slide-toggle-unselected-handle-horizontal-margin, 0 8px)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin, 0 4px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-slide-toggle-selected-handle-size, 24px);height:var(--mat-slide-toggle-selected-handle-size, 24px);margin:var(--mat-slide-toggle-selected-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-selected-with-icon-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-slide-toggle-with-icon-handle-size, 24px);height:var(--mat-slide-toggle-with-icon-handle-size, 24px)}.mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-slide-toggle-pressed-handle-size, 28px);height:var(--mat-slide-toggle-pressed-handle-size, 28px)}.mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-selected-pressed-handle-horizontal-margin, 0 22px)}.mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-unselected-pressed-handle-horizontal-margin, 0 2px)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-selected-handle-opacity, 1)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-unselected-handle-opacity, 0.38)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media(forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-handle-color, var(--mat-sys-on-primary))}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-hover-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-focus-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-pressed-handle-color, var(--mat-sys-primary-container))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:hover:not(:focus):not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:focus:not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:active .mdc-switch__handle::after,.mdc-switch--selected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-selected-handle-color, var(--mat-sys-surface))}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-handle-color, var(--mat-sys-outline))}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-hover-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-focus-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-unselected-handle-color, var(--mat-sys-on-surface))}.mdc-switch__handle::before{background:var(--mat-slide-toggle-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-handle-elevation-shadow)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__shadow,.mdc-switch.mdc-switch--disabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mat-slide-toggle-state-layer-size, 40px);height:var(--mat-slide-toggle-state-layer-size, 40px)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch--disabled .mdc-switch__ripple::after{display:none}.mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after{display:block}.mdc-switch:hover .mdc-switch__ripple::after{transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:focus .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:active .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-hover-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-focus-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-pressed-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1;transform:translateZ(0)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-unselected-icon-opacity, 0.38)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-selected-icon-opacity, 0.38)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mat-slide-toggle-unselected-icon-size, 16px);height:var(--mat-slide-toggle-unselected-icon-size, 16px);fill:var(--mat-slide-toggle-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__icon{width:var(--mat-slide-toggle-selected-icon-size, 16px);height:var(--mat-slide-toggle-selected-icon-size, 16px);fill:var(--mat-slide-toggle-selected-icon-color, var(--mat-sys-on-primary-container))}.mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-selected-icon-color, var(--mat-sys-on-surface))}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{-webkit-user-select:none;user-select:none;display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-slide-toggle-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-slide-toggle-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-slide-toggle-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-slide-toggle-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-slide-toggle-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-slide-toggle-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mat-slide-toggle-disabled-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-slide-toggle-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-slide-toggle-touch-target-size, 48px);width:100%;transform:translate(-50%, -50%);display:var(--mat-slide-toggle-touch-target-display, block)}[dir=rtl] .mat-mdc-slide-toggle-touch-target{left:auto;right:50%;transform:translate(50%, -50%)} +`],encapsulation:2,changeDetection:0})}return a})(),Ye=(()=>{class a{static \u0275fac=function(s){return new(s||a)};static \u0275mod=V({type:a});static \u0275inj=F({imports:[T,z,z]})}return a})();var at=(a,o)=>o.label;function ot(a,o){a&1&&(i(0,"div",6),h(1,"mat-spinner",9),i(2,"p"),n(3,"Loading settings..."),t()())}function rt(a,o){if(a&1){let e=x();i(0,"mat-card",7)(1,"mat-card-content")(2,"div",10)(3,"mat-icon",11),n(4,"error_outline"),t(),i(5,"div",12)(6,"h3"),n(7,"Failed to Load Settings"),t(),i(8,"p"),n(9),t()()(),i(10,"button",13),b("click",function(){w(e);let r=g();return C(r.onCancel())}),i(11,"mat-icon"),n(12,"arrow_back"),t(),n(13," Go Back "),t()()()}if(a&2){let e=g();c(9),v(e.error())}}function st(a,o){a&1&&(i(0,"div",21)(1,"mat-icon"),n(2,"warning"),t(),i(3,"span"),n(4,"When disabled, all users must register and login to access the platform."),t()())}function ct(a,o){if(a&1&&(i(0,"mat-error"),n(1),t()),a&2){let e=g(2);c(),v(e.getErrorMessage("maxQuizzesPerDay"))}}function lt(a,o){if(a&1&&(i(0,"mat-error"),n(1),t()),a&2){let e=g(2);c(),v(e.getErrorMessage("maxQuestionsPerQuiz"))}}function dt(a,o){if(a&1&&n(0),a&2){let e,s=g(2);O(" - ",s.formatExpiryTime((e=s.settingsForm.get("sessionExpiryHours"))==null?null:e.value)," ")}}function mt(a,o){if(a&1&&(i(0,"mat-error"),n(1),t()),a&2){let e=g(2);c(),v(e.getErrorMessage("sessionExpiryHours"))}}function gt(a,o){if(a&1&&(i(0,"mat-error"),n(1),t()),a&2){let e=g(2);c(),v(e.getErrorMessage("upgradePromptMessage"))}}function ht(a,o){if(a&1&&(i(0,"div",33)(1,"div",42)(2,"mat-icon"),n(3,"visibility"),t(),i(4,"span"),n(5,"Preview:"),t()(),i(6,"div",43),n(7),t()()),a&2){let e,s=g(2);c(7),O(" ",(e=s.settingsForm.get("upgradePromptMessage"))==null?null:e.value," ")}}function ut(a,o){if(a&1&&(i(0,"div",46)(1,"div",47),n(2),t(),i(3,"div",48)(4,"span",49),n(5),t(),i(6,"mat-icon"),n(7,"arrow_forward"),t(),i(8,"span",50),n(9),t()()()),a&2){let e=o.$implicit;c(2),v(e.label),c(3),v(e.old),c(4),v(e.new)}}function _t(a,o){if(a&1&&(i(0,"mat-card",34)(1,"mat-card-header")(2,"div",44)(3,"mat-icon"),n(4,"pending_actions"),t()(),i(5,"mat-card-title"),n(6,"Pending Changes"),t(),i(7,"mat-card-subtitle"),n(8,"Review changes before saving"),t()(),i(9,"mat-card-content")(10,"div",45),q(11,ut,10,3,"div",46,at),t()()()),a&2){let e=g(2);c(11),H(e.getChangesPreview())}}function pt(a,o){a&1&&(i(0,"button",40),h(1,"mat-spinner",51),n(2," Saving... "),t())}function ft(a,o){if(a&1&&(i(0,"button",41)(1,"mat-icon"),n(2,"save"),t(),n(3," Save Changes "),t()),a&2){let e=g(2);f("disabled",e.settingsForm.invalid||!e.hasUnsavedChanges())}}function bt(a,o){if(a&1){let e=x();i(0,"form",14),b("ngSubmit",function(){w(e);let r=g();return C(r.onSubmit())}),i(1,"mat-card",15)(2,"mat-card-header")(3,"div",16)(4,"mat-icon"),n(5,"lock_open"),t()(),i(6,"mat-card-title"),n(7,"Access Control"),t(),i(8,"mat-card-subtitle"),n(9,"Enable or disable guest access to the platform"),t()(),i(10,"mat-card-content")(11,"div",17)(12,"div",18)(13,"label"),n(14,"Guest Access Enabled"),t(),i(15,"p",19),n(16,"Allow users to access the platform without registering"),t()(),h(17,"mat-slide-toggle",20),t(),d(18,st,5,0,"div",21),t()(),i(19,"mat-card",15)(20,"mat-card-header")(21,"div",22)(22,"mat-icon"),n(23,"rule"),t()(),i(24,"mat-card-title"),n(25,"Quiz Limits"),t(),i(26,"mat-card-subtitle"),n(27,"Set daily and per-quiz restrictions for guests"),t()(),i(28,"mat-card-content")(29,"div",23)(30,"mat-form-field",24)(31,"mat-label"),n(32,"Max Quizzes Per Day"),t(),h(33,"input",25),i(34,"mat-icon",26),n(35,"calendar_today"),t(),i(36,"mat-hint"),n(37,"Number of quizzes a guest can take per day (1-100)"),t(),d(38,ct,2,1,"mat-error"),t()(),i(39,"div",23)(40,"mat-form-field",24)(41,"mat-label"),n(42,"Max Questions Per Quiz"),t(),h(43,"input",27),i(44,"mat-icon",26),n(45,"quiz"),t(),i(46,"mat-hint"),n(47,"Maximum questions allowed in a single quiz (1-50)"),t(),d(48,lt,2,1,"mat-error"),t()()()(),i(49,"mat-card",15)(50,"mat-card-header")(51,"div",28)(52,"mat-icon"),n(53,"schedule"),t()(),i(54,"mat-card-title"),n(55,"Session Configuration"),t(),i(56,"mat-card-subtitle"),n(57,"Configure guest session duration"),t()(),i(58,"mat-card-content")(59,"div",23)(60,"mat-form-field",24)(61,"mat-label"),n(62,"Session Expiry Hours"),t(),h(63,"input",29),i(64,"mat-icon",26),n(65,"timer"),t(),i(66,"mat-hint"),n(67," How long guest sessions remain active (1-168 hours / 7 days) "),d(68,dt,1,1),t(),d(69,mt,2,1,"mat-error"),t()()()(),i(70,"mat-card",15)(71,"mat-card-header")(72,"div",30)(73,"mat-icon"),n(74,"message"),t()(),i(75,"mat-card-title"),n(76,"Upgrade Prompt"),t(),i(77,"mat-card-subtitle"),n(78,"Message shown when guests reach their limit"),t()(),i(79,"mat-card-content")(80,"div",23)(81,"mat-form-field",24)(82,"mat-label"),n(83,"Upgrade Prompt Message"),t(),h(84,"textarea",31),i(85,"mat-icon",26),n(86,"format_quote"),t(),i(87,"mat-hint",32),n(88),t(),d(89,gt,2,1,"mat-error"),t()(),d(90,ht,8,1,"div",33),t()(),d(91,_t,13,0,"mat-card",34),i(92,"div",35)(93,"div",36)(94,"button",37),b("click",function(){w(e);let r=g();return C(r.onReset())}),i(95,"mat-icon"),n(96,"refresh"),t(),n(97," Reset "),t()(),i(98,"div",38)(99,"button",39),b("click",function(){w(e);let r=g();return C(r.onCancel())}),n(100," Cancel "),t(),d(101,pt,3,0,"button",40)(102,ft,4,1,"button",41),t()()()}if(a&2){let e,s,r,p,l=g();f("formGroup",l.settingsForm),c(18),m((e=l.settingsForm.get("guestAccessEnabled"))!=null&&e.value?-1:18),c(20),m(l.hasError("maxQuizzesPerDay")?38:-1),c(10),m(l.hasError("maxQuestionsPerQuiz")?48:-1),c(20),m((s=l.settingsForm.get("sessionExpiryHours"))!=null&&s.value?68:-1),c(),m(l.hasError("sessionExpiryHours")?69:-1),c(19),O(" ",((r=l.settingsForm.get("upgradePromptMessage"))==null||r.value==null?null:r.value.length)||0," / 500 characters "),c(),m(l.hasError("upgradePromptMessage")?89:-1),c(),m((p=l.settingsForm.get("upgradePromptMessage"))!=null&&p.value?90:-1),c(),m(l.hasUnsavedChanges()?91:-1),c(3),f("disabled",l.isSubmitting||!l.hasUnsavedChanges()),c(5),f("disabled",l.isSubmitting),c(2),m(l.isSubmitting?101:102)}}var Ze=class a{adminService=u(Xe);router=u(ie);fb=u(_e);destroyRef=u(A);settings=this.adminService.guestSettingsState;isLoading=this.adminService.isLoadingSettings;error=this.adminService.settingsError;settingsForm;isSubmitting=!1;originalSettings=null;ngOnInit(){this.initializeForm(),this.loadSettings()}initializeForm(){this.settingsForm=this.fb.group({guestAccessEnabled:[!1],maxQuizzesPerDay:[3,[_.required,_.min(1),_.max(100)]],maxQuestionsPerQuiz:[10,[_.required,_.min(1),_.max(50)]],sessionExpiryHours:[24,[_.required,_.min(1),_.max(168)]],upgradePromptMessage:["You've reached your quiz limit. Sign up for unlimited access!",[_.required,_.minLength(10),_.maxLength(500)]]})}loadSettings(){if(this.settings()){this.populateForm(this.settings());return}this.adminService.getGuestSettings().pipe(I(this.destroyRef)).subscribe(o=>{this.populateForm(o)})}populateForm(o){this.originalSettings=o,this.settingsForm.patchValue({guestAccessEnabled:o.guestAccessEnabled,maxQuizzesPerDay:o.maxQuizzesPerDay,maxQuestionsPerQuiz:o.maxQuestionsPerQuiz,sessionExpiryHours:o.sessionExpiryHours,upgradePromptMessage:o.upgradePromptMessage})}onSubmit(){if(this.settingsForm.invalid||this.isSubmitting){this.settingsForm.markAllAsTouched();return}this.isSubmitting=!0;let o=this.settingsForm.value;this.adminService.updateGuestSettings(o).pipe(I(this.destroyRef)).subscribe({next:()=>{this.isSubmitting=!1,setTimeout(()=>{this.router.navigate(["/admin/guest-settings"])},1500)},error:()=>{this.isSubmitting=!1}})}onCancel(){this.hasUnsavedChanges()?confirm("You have unsaved changes. Are you sure you want to cancel?")&&this.router.navigate(["/admin/guest-settings"]):this.router.navigate(["/admin/guest-settings"])}onReset(){this.originalSettings&&this.populateForm(this.originalSettings)}hasUnsavedChanges(){if(!this.originalSettings)return!1;let o=this.settingsForm.value;return o.guestAccessEnabled!==this.originalSettings.guestAccessEnabled||o.maxQuizzesPerDay!==this.originalSettings.maxQuizzesPerDay||o.maxQuestionsPerQuiz!==this.originalSettings.maxQuestionsPerQuiz||o.sessionExpiryHours!==this.originalSettings.sessionExpiryHours||o.upgradePromptMessage!==this.originalSettings.upgradePromptMessage}getErrorMessage(o){let e=this.settingsForm.get(o);return!e?.errors||!e.touched?"":e.errors.required?"This field is required":e.errors.min?`Minimum value is ${e.errors.min.min}`:e.errors.max?`Maximum value is ${e.errors.max.max}`:e.errors.minlength?`Minimum length is ${e.errors.minlength.requiredLength} characters`:e.errors.maxlength?`Maximum length is ${e.errors.maxlength.requiredLength} characters`:"Invalid value"}hasError(o){let e=this.settingsForm.get(o);return!!(e?.invalid&&e?.touched)}getChangesPreview(){if(!this.originalSettings||!this.hasUnsavedChanges())return[];let o=[],e=this.settingsForm.value;return e.guestAccessEnabled!==this.originalSettings.guestAccessEnabled&&o.push({label:"Guest Access",old:this.originalSettings.guestAccessEnabled?"Enabled":"Disabled",new:e.guestAccessEnabled?"Enabled":"Disabled"}),e.maxQuizzesPerDay!==this.originalSettings.maxQuizzesPerDay&&o.push({label:"Max Quizzes Per Day",old:this.originalSettings.maxQuizzesPerDay,new:e.maxQuizzesPerDay}),e.maxQuestionsPerQuiz!==this.originalSettings.maxQuestionsPerQuiz&&o.push({label:"Max Questions Per Quiz",old:this.originalSettings.maxQuestionsPerQuiz,new:e.maxQuestionsPerQuiz}),e.sessionExpiryHours!==this.originalSettings.sessionExpiryHours&&o.push({label:"Session Expiry Hours",old:this.originalSettings.sessionExpiryHours,new:e.sessionExpiryHours}),e.upgradePromptMessage!==this.originalSettings.upgradePromptMessage&&o.push({label:"Upgrade Prompt Message",old:this.originalSettings.upgradePromptMessage,new:e.upgradePromptMessage}),o}formatExpiryTime(o){if(o<24)return`${o} hour${o!==1?"s":""}`;let e=Math.floor(o/24),s=o%24;return s===0?`${e} day${e!==1?"s":""}`:`${e} day${e!==1?"s":""} and ${s} hour${s!==1?"s":""}`}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=y({type:a,selectors:[["app-guest-settings-edit"]],decls:14,vars:3,consts:[[1,"guest-settings-edit-container"],[1,"settings-header"],[1,"header-left"],["mat-icon-button","","matTooltip","Back to Settings",3,"click"],[1,"header-title"],[1,"subtitle"],[1,"loading-container"],[1,"error-card"],[1,"settings-form",3,"formGroup"],["diameter","60"],[1,"error-content"],["color","warn"],[1,"error-text"],["mat-raised-button","","color","primary",3,"click"],[1,"settings-form",3,"ngSubmit","formGroup"],[1,"form-section"],[1,"section-icon","access"],[1,"toggle-field"],[1,"toggle-info"],[1,"field-description"],["formControlName","guestAccessEnabled","color","primary"],[1,"warning-banner"],[1,"section-icon","limits"],[1,"form-row"],["appearance","outline",1,"full-width"],["matInput","","type","number","formControlName","maxQuizzesPerDay","min","1","max","100"],["matPrefix",""],["matInput","","type","number","formControlName","maxQuestionsPerQuiz","min","1","max","50"],[1,"section-icon","session"],["matInput","","type","number","formControlName","sessionExpiryHours","min","1","max","168"],[1,"section-icon","message"],["matInput","","formControlName","upgradePromptMessage","rows","4","maxlength","500"],["align","end"],[1,"message-preview"],[1,"changes-preview"],[1,"form-actions"],[1,"actions-left"],["mat-stroked-button","","type","button",3,"click","disabled"],[1,"actions-right"],["mat-button","","type","button",3,"click","disabled"],["mat-raised-button","","color","primary","type","submit","disabled",""],["mat-raised-button","","color","primary","type","submit",3,"disabled"],[1,"preview-label"],[1,"preview-content"],[1,"section-icon","changes"],[1,"changes-list"],[1,"change-item"],[1,"change-label"],[1,"change-values"],[1,"old-value"],[1,"new-value"],["diameter","20"]],template:function(e,s){e&1&&(i(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3),b("click",function(){return s.onCancel()}),i(4,"mat-icon"),n(5,"arrow_back"),t()(),i(6,"div",4)(7,"h1"),n(8,"Edit Guest Settings"),t(),i(9,"p",5),n(10,"Configure guest user access and limitations"),t()()()(),d(11,ot,4,0,"div",6),d(12,rt,14,1,"mat-card",7),d(13,bt,103,13,"form",8),t()),e&2&&(c(11),m(s.isLoading()&&!s.settings()?11:-1),c(),m(s.error()&&!s.isLoading()&&!s.settings()?12:-1),c(),m(s.settings()||!s.isLoading()&&s.settingsForm?13:-1))},dependencies:[te,pe,ce,ae,le,re,se,ue,he,ge,de,me,Pe,we,Me,ye,xe,Ce,Re,Le,Ae,qe,Ve,Fe,De,Ie,ke,Ee,Se,ze,Te,Ye,T,$e,Ne,Ue,Be,je],styles:[".guest-settings-edit-container[_ngcontent-%COMP%]{max-width:900px;margin:0 auto;padding:2rem}.settings-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;flex:1}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:600;color:#333}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;color:#666;font-size:.95rem}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:1rem}.error-card[_ngcontent-%COMP%]{margin-bottom:2rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:3rem;width:3rem;height:3rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%]{flex:1}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#d32f2f;font-size:1.25rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#666}.settings-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .section-icon[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .section-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .section-icon.access[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4caf50,#2e7d32)}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .section-icon.limits[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .section-icon.session[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .section-icon.message[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f093fb,#f5576c)}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .section-icon.changes[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ffa726,#fb8c00)}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{margin:0;font-size:1.25rem;font-weight:600}.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;font-size:.85rem}.form-section[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding-top:1rem}.toggle-field[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:8px;background:#f5f5f5;margin-bottom:1rem}.toggle-field[_ngcontent-%COMP%] .toggle-info[_ngcontent-%COMP%]{flex:1}.toggle-field[_ngcontent-%COMP%] .toggle-info[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;font-weight:500;color:#333;margin-bottom:.25rem}.toggle-field[_ngcontent-%COMP%] .toggle-info[_ngcontent-%COMP%] .field-description[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:#666}.warning-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px}.warning-banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ff9800}.warning-banner[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#856404;font-size:.9rem}.form-row[_ngcontent-%COMP%]{margin-bottom:1rem}.form-row[_ngcontent-%COMP%]:last-child{margin-bottom:0}.full-width[_ngcontent-%COMP%]{width:100%}mat-form-field[_ngcontent-%COMP%] mat-icon[matPrefix][_ngcontent-%COMP%]{margin-right:.5rem;color:#666}.message-preview[_ngcontent-%COMP%]{margin-top:1rem;padding:1rem;background:#f5f5f5;border-radius:8px;border-left:4px solid #3f51b5}.message-preview[_ngcontent-%COMP%] .preview-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:500;color:#3f51b5}.message-preview[_ngcontent-%COMP%] .preview-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.message-preview[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%]{padding:.75rem;background:#fff;border-radius:4px;color:#333;font-style:italic;line-height:1.6}.changes-preview[_ngcontent-%COMP%]{border:2px solid #ffa726}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%]{padding:1rem;background:#fff3e0;border-radius:8px}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-label[_ngcontent-%COMP%]{font-weight:500;color:#e65100;margin-bottom:.5rem;font-size:.9rem}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-values[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-values[_ngcontent-%COMP%] .old-value[_ngcontent-%COMP%]{padding:.25rem .75rem;background:#fff;border-radius:4px;color:#999;text-decoration:line-through;font-size:.9rem}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-values[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ff9800;font-size:20px;width:20px;height:20px}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-values[_ngcontent-%COMP%] .new-value[_ngcontent-%COMP%]{padding:.25rem .75rem;background:#fff;border-radius:4px;color:#4caf50;font-weight:600;font-size:.9rem}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-top:1px solid #e0e0e0;gap:1rem}.form-actions[_ngcontent-%COMP%] .actions-left[_ngcontent-%COMP%], .form-actions[_ngcontent-%COMP%] .actions-right[_ngcontent-%COMP%]{display:flex;gap:.75rem}.form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:.5rem}@media (max-width: 768px){.guest-settings-edit-container[_ngcontent-%COMP%]{padding:1rem}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}.toggle-field[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:1rem}.form-actions[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.form-actions[_ngcontent-%COMP%] .actions-left[_ngcontent-%COMP%], .form-actions[_ngcontent-%COMP%] .actions-right[_ngcontent-%COMP%]{width:100%;justify-content:stretch}.form-actions[_ngcontent-%COMP%] .actions-left[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .form-actions[_ngcontent-%COMP%] .actions-right[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:1}.changes-preview[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-values[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.changes-preview[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-values[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transform:rotate(90deg)}}@media (max-width: 1024px){.form-section[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}}@media (prefers-color-scheme: dark){.settings-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#fff}.settings-header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#aaa}.toggle-field[_ngcontent-%COMP%]{background:#2a2a2a}.toggle-field[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#fff}.toggle-field[_ngcontent-%COMP%] .field-description[_ngcontent-%COMP%]{color:#aaa}.warning-banner[_ngcontent-%COMP%]{background:#4a3f2a}.warning-banner[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#ffd54f}mat-form-field[_ngcontent-%COMP%] mat-icon[matPrefix][_ngcontent-%COMP%]{color:#aaa}.message-preview[_ngcontent-%COMP%]{background:#2a2a2a}.message-preview[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%]{background:#1a1a1a;color:#fff}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%]{background:#3a3a2a}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-label[_ngcontent-%COMP%]{color:#ffb74d}.changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-values[_ngcontent-%COMP%] .old-value[_ngcontent-%COMP%], .changes-preview[_ngcontent-%COMP%] .changes-list[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-values[_ngcontent-%COMP%] .new-value[_ngcontent-%COMP%]{background:#1a1a1a}.form-actions[_ngcontent-%COMP%]{border-top-color:#444}}"]})};export{Ze as GuestSettingsEditComponent}; diff --git a/chunk-M5XZ5N2D.js b/chunk-M5XZ5N2D.js new file mode 100644 index 0000000..94a2983 --- /dev/null +++ b/chunk-M5XZ5N2D.js @@ -0,0 +1 @@ +import{ba as s,h as c}from"./chunk-2MUIW2M6.js";function h(t){return t&&typeof t.connect=="function"&&!(t instanceof c)}var i=(function(t){return t[t.REPLACED=0]="REPLACED",t[t.INSERTED=1]="INSERTED",t[t.MOVED=2]="MOVED",t[t.REMOVED=3]="REMOVED",t})(i||{}),E=new s("_ViewRepeater");export{h as a,i as b,E as c}; diff --git a/chunk-ML2D4U27.js b/chunk-ML2D4U27.js new file mode 100644 index 0000000..3585b0c --- /dev/null +++ b/chunk-ML2D4U27.js @@ -0,0 +1 @@ +import"./chunk-MS4AQ6UA.js";import{a as Dt,b as $t,c as Rt}from"./chunk-N73CTY2C.js";import{a as Gt,b as Lt}from"./chunk-GIRDLTGV.js";import{a as Bt}from"./chunk-RDQGS2XZ.js";import{c as zt}from"./chunk-P3ICZX4Q.js";import{a as Et,b as Pt}from"./chunk-5WV5P2FL.js";import"./chunk-VX6WCCL3.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import{b as vt,c as ht}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as Ct}from"./chunk-7XDVX5KB.js";import{a as Ft,b as At}from"./chunk-CTXOKINH.js";import{a as Nt}from"./chunk-B4CGVF35.js";import{b as Vt}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{a as St,c as qt,e as Qt,f as It,g as kt}from"./chunk-TAS7XC6E.js";import{a as Tt}from"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import"./chunk-TPLZKWZ7.js";import{b as gt,c as _t,d as xt,i as ft}from"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as mt,b as st,c as dt,f as pt,i as ut}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{b as H,d as g,f as U,g as W,h as Y,l as J,m as X,o as Z,p as tt,q as et,r as nt,s as it,t as ot,u as rt,w as at,x as lt,z as ct}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as Ot,g as R,j as B,u as j,ua as Mt,w as K,wa as bt,ya as yt,za as wt}from"./chunk-COFYR5MX.js";import{Db as s,Eb as d,Ec as P,Fb as A,Gb as q,Hb as f,Ib as C,Jb as x,Kb as o,Lb as n,Mb as w,Qb as Q,Rb as I,Tb as E,Xb as b,Za as a,Zb as c,da as y,hc as D,ia as h,ja as M,jc as T,kc as $,lc as r,mc as u,nc as _,ob as L,ta as O,wc as k,xc as V}from"./chunk-2MUIW2M6.js";var jt=(i,e)=>e.value,Ht=(i,e)=>e.id;function Ut(i,e){if(i&1&&(o(0,"p",20),r(1),n()),i&2){let t=c(2);a(),_("Question ID: ",t.questionId())}}function Wt(i,e){if(i&1&&(o(0,"h1")(1,"mat-icon"),r(2,"edit"),n(),r(3," Edit Question "),n(),o(4,"p",19),r(5,"Update the details below to modify the quiz question"),n(),s(6,Ut,2,1,"p",20)),i&2){let t=c();a(6),d(t.questionId()?6:-1)}}function Yt(i,e){i&1&&(o(0,"h1")(1,"mat-icon"),r(2,"add_circle"),n(),r(3," Create New Question "),n(),o(4,"p",19),r(5,"Fill in the details below to create a new quiz question"),n())}function Jt(i,e){i&1&&(o(0,"mat-card",4)(1,"mat-card-content")(2,"div",21)(3,"mat-icon",22),r(4,"hourglass_empty"),n(),o(5,"p"),r(6,"Loading question data..."),n()()()())}function Xt(i,e){if(i&1&&(o(0,"div",24)(1,"mat-icon"),r(2,"error"),n(),o(3,"span"),r(4),n()()),i&2){let t=c(2);a(4),u(t.getFormError())}}function Zt(i,e){if(i&1&&(o(0,"mat-error"),r(1),n()),i&2){let t=c(2);a(),u(t.getErrorMessage("questionText"))}}function te(i,e){if(i&1&&(o(0,"mat-option",30),r(1),n()),i&2){let t=e.$implicit;x("value",t.value),a(),_(" ",t.label," ")}}function ee(i,e){if(i&1&&(o(0,"mat-error"),r(1),n()),i&2){let t=c(2);a(),u(t.getErrorMessage("questionType"))}}function ne(i,e){i&1&&(o(0,"mat-option",32),r(1,"Loading categories..."),n())}function ie(i,e){if(i&1&&(o(0,"mat-option",30),r(1),n()),i&2){let t=e.$implicit;x("value",t.id),a(),_(" ",t.name," ")}}function oe(i,e){if(i&1&&f(0,ie,2,2,"mat-option",30,Ht),i&2){let t=c(2);C(t.categories())}}function re(i,e){if(i&1&&(o(0,"mat-error"),r(1),n()),i&2){let t=c(2);a(),u(t.getErrorMessage("categoryId"))}}function ae(i,e){if(i&1&&(o(0,"mat-option",30),r(1),n()),i&2){let t=e.$implicit;x("value",t.value),a(),_(" ",t.label," ")}}function le(i,e){if(i&1&&(o(0,"mat-error"),r(1),n()),i&2){let t=c(2);a(),u(t.getErrorMessage("difficulty"))}}function ce(i,e){if(i&1&&(o(0,"mat-error"),r(1),n()),i&2){let t=c(2);a(),u(t.getErrorMessage("points"))}}function me(i,e){if(i&1){let t=E();o(0,"button",54),b("click",function(){h(t);let m=c().$index,p=c(3);return M(p.removeOption(m))}),o(1,"mat-icon"),r(2,"delete"),n()()}}function se(i,e){if(i&1&&(o(0,"div",47)(1,"span",50),r(2),n(),o(3,"mat-form-field",51),w(4,"input",52),n(),s(5,me,3,0,"button",53),n()),i&2){let t=e.$index,l=c(3);x("formGroupName",t),a(2),_("Option ",t+1),a(2),x("placeholder","Enter option "+(t+1)),a(),d(l.optionsArray.length>2?5:-1)}}function de(i,e){if(i&1){let t=E();o(0,"button",55),b("click",function(){h(t);let m=c(3);return M(m.addOption())}),o(1,"mat-icon"),r(2,"add"),n(),r(3," Add Option "),n()}}function pe(i,e){if(i&1&&(o(0,"mat-option",30),r(1),n()),i&2){let t=e.$implicit;x("value",t),a(),_(" ",t," ")}}function ue(i,e){if(i&1&&(o(0,"mat-error"),r(1),n()),i&2){let t=c(3);a(),u(t.getErrorMessage("correctAnswer"))}}function ge(i,e){if(i&1&&(o(0,"div",45)(1,"h3")(2,"mat-icon"),r(3,"list"),n(),r(4," Answer Options "),n(),o(5,"div",46),f(6,se,6,4,"div",47,A),n(),s(8,de,4,0,"button",48),n(),w(9,"mat-divider"),o(10,"div",35)(11,"h3")(12,"mat-icon"),r(13,"check_circle"),n(),r(14," Correct Answer "),n(),o(15,"mat-form-field",25)(16,"mat-label"),r(17,"Select Correct Answer"),n(),o(18,"mat-select",49),f(19,pe,2,2,"mat-option",30,A),n(),s(21,ue,2,1,"mat-error"),n()()),i&2){let t=c(2);a(6),C(t.optionsArray.controls),a(2),d(t.optionsArray.length<10?8:-1),a(11),C(t.getOptionTexts()),a(2),d(t.getErrorMessage("correctAnswer")?21:-1)}}function _e(i,e){i&1&&(o(0,"div",35)(1,"h3")(2,"mat-icon"),r(3,"check_circle"),n(),r(4," Correct Answer "),n(),o(5,"mat-radio-group",56)(6,"mat-radio-button",57),r(7,"True"),n(),o(8,"mat-radio-button",58),r(9,"False"),n()()())}function xe(i,e){if(i&1&&(o(0,"mat-error"),r(1),n()),i&2){let t=c(3);a(),u(t.getErrorMessage("correctAnswer"))}}function fe(i,e){if(i&1&&(o(0,"div",35)(1,"h3")(2,"mat-icon"),r(3,"edit"),n(),r(4," Sample Correct Answer "),n(),o(5,"mat-form-field",25)(6,"mat-label"),r(7,"Expected Answer"),n(),o(8,"textarea",59),r(9," "),n(),o(10,"mat-hint"),r(11,"This is a reference answer for grading"),n(),s(12,xe,2,1,"mat-error"),n()()),i&2){let t=c(2);a(12),d(t.getErrorMessage("correctAnswer")?12:-1)}}function Ce(i,e){if(i&1&&(o(0,"mat-error"),r(1),n()),i&2){let t=c(2);a(),u(t.getErrorMessage("explanation"))}}function ve(i,e){if(i&1){let t=E();o(0,"mat-chip-row",60),b("removed",function(){let m=h(t).$implicit,p=c(2);return M(p.removeTag(m))}),r(1),o(2,"button",61)(3,"mat-icon"),r(4,"cancel"),n()()()}if(i&2){let t=e.$implicit;a(),_(" ",t," ")}}function he(i,e){if(i&1&&(Q(0),o(1,"mat-icon"),r(2,"hourglass_empty"),n(),o(3,"span"),r(4),n(),I()),i&2){let t=c(2);a(4),u(t.isEditMode()?"Updating...":"Creating...")}}function Me(i,e){if(i&1&&(Q(0),o(1,"mat-icon"),r(2,"save"),n(),o(3,"span"),r(4),n(),I()),i&2){let t=c(2);a(4),u(t.isEditMode()?"Update Question":"Save Question")}}function be(i,e){if(i&1){let t=E();o(0,"mat-card",5)(1,"mat-card-content")(2,"form",23),b("ngSubmit",function(){h(t);let m=c();return M(m.onSubmit())}),s(3,Xt,5,1,"div",24),o(4,"mat-form-field",25)(5,"mat-label"),r(6,"Question Text"),n(),o(7,"textarea",26),r(8," "),n(),o(9,"mat-hint"),r(10,"Minimum 10 characters"),n(),s(11,Zt,2,1,"mat-error"),n(),o(12,"div",27)(13,"mat-form-field",28)(14,"mat-label"),r(15,"Question Type"),n(),o(16,"mat-select",29),f(17,te,2,2,"mat-option",30,jt),n(),s(19,ee,2,1,"mat-error"),n(),o(20,"mat-form-field",28)(21,"mat-label"),r(22,"Category"),n(),o(23,"mat-select",31),s(24,ne,2,0,"mat-option",32)(25,oe,2,0),n(),s(26,re,2,1,"mat-error"),n()(),o(27,"div",27)(28,"mat-form-field",28)(29,"mat-label"),r(30,"Difficulty"),n(),o(31,"mat-select",33),f(32,ae,2,2,"mat-option",30,jt),n(),s(34,le,2,1,"mat-error"),n(),o(35,"mat-form-field",28)(36,"mat-label"),r(37,"Points"),n(),w(38,"input",34),o(39,"mat-hint"),r(40,"Between 1 and 100"),n(),s(41,ce,2,1,"mat-error"),n()(),w(42,"mat-divider"),s(43,ge,22,2),s(44,_e,10,0,"div",35),s(45,fe,13,1,"div",35),w(46,"mat-divider"),o(47,"mat-form-field",25)(48,"mat-label"),r(49,"Explanation"),n(),o(50,"textarea",36),r(51," "),n(),o(52,"mat-hint"),r(53,"Minimum 10 characters"),n(),s(54,Ce,2,1,"mat-error"),n(),o(55,"div",37)(56,"h3")(57,"mat-icon"),r(58,"label"),n(),r(59," Tags (Optional) "),n(),o(60,"mat-form-field",25)(61,"mat-label"),r(62,"Add Tags"),n(),o(63,"mat-chip-grid",null,0),f(65,ve,5,1,"mat-chip-row",null,q),n(),o(67,"input",38),b("matChipInputTokenEnd",function(m){h(t);let p=c();return M(p.addTag(m))}),n(),o(68,"mat-hint"),r(69,"Press Enter or comma to add tags"),n()()(),o(70,"div",39)(71,"mat-checkbox",40),r(72," Make question public "),n(),o(73,"mat-checkbox",41),r(74," Allow guest access "),n()(),o(75,"div",42)(76,"button",43),b("click",function(){h(t);let m=c();return M(m.onCancel())}),o(77,"mat-icon"),r(78,"close"),n(),r(79," Cancel "),n(),o(80,"button",44),s(81,he,5,1,"ng-container")(82,Me,5,1,"ng-container"),n()()()()()}if(i&2){let t=D(64),l=c();a(2),x("formGroup",l.questionForm),a(),d(l.getFormError()?3:-1),a(8),d(l.getErrorMessage("questionText")?11:-1),a(6),C(l.questionTypes),a(2),d(l.getErrorMessage("questionType")?19:-1),a(5),d(l.isLoadingCategories()?24:25),a(2),d(l.getErrorMessage("categoryId")?26:-1),a(6),C(l.difficultyLevels),a(2),d(l.getErrorMessage("difficulty")?34:-1),a(7),d(l.getErrorMessage("points")?41:-1),a(2),d(l.showOptions()?43:-1),a(),d(l.showTrueFalse()?44:-1),a(),d(l.selectedQuestionType()==="written"?45:-1),a(9),d(l.getErrorMessage("explanation")?54:-1),a(11),C(l.tagsArray),a(2),x("matChipInputFor",t)("matChipInputSeparatorKeyCodes",l.separatorKeysCodes),a(13),x("disabled",!l.isFormValid()||l.isSubmitting()||l.isLoadingQuestion()),a(),d(l.isSubmitting()?81:82)}}function ye(i,e){if(i&1&&(o(0,"div",64)(1,"mat-icon"),r(2),n(),o(3,"span"),r(4),n()()),i&2){let t,l,m=e.$implicit,p=c(2);T("correct",((t=p.questionForm.get("correctAnswer"))==null?null:t.value)===m),a(2),u(((l=p.questionForm.get("correctAnswer"))==null?null:l.value)===m?"check_circle":"radio_button_unchecked"),a(2),u(m)}}function we(i,e){if(i&1&&(o(0,"div",8)(1,"div",9),r(2,"Options:"),n(),o(3,"div",62),f(4,ye,5,4,"div",63,A),n()()),i&2){let t=c();a(4),C(t.getOptionTexts())}}function Oe(i,e){if(i&1&&(o(0,"div",8)(1,"div",9),r(2,"Options:"),n(),o(3,"div",62)(4,"div",64)(5,"mat-icon"),r(6),n(),o(7,"span"),r(8,"True"),n()(),o(9,"div",64)(10,"mat-icon"),r(11),n(),o(12,"span"),r(13,"False"),n()()()()),i&2){let t,l,m,p,v=c();a(4),T("correct",((t=v.questionForm.get("correctAnswer"))==null?null:t.value)==="true"),a(2),u(((l=v.questionForm.get("correctAnswer"))==null?null:l.value)==="true"?"check_circle":"radio_button_unchecked"),a(3),T("correct",((m=v.questionForm.get("correctAnswer"))==null?null:m.value)==="false"),a(2),u(((p=v.questionForm.get("correctAnswer"))==null?null:p.value)==="false"?"check_circle":"radio_button_unchecked")}}function Ee(i,e){if(i&1&&(o(0,"div",8)(1,"div",9),r(2,"Explanation:"),n(),o(3,"div",65),r(4),n()()),i&2){let t,l=c();a(4),_(" ",(t=l.questionForm.get("explanation"))==null?null:t.value," ")}}function Pe(i,e){if(i&1&&(o(0,"span",67),r(1),n()),i&2){let t=e.$implicit;a(),u(t)}}function Fe(i,e){if(i&1&&(o(0,"div",8)(1,"div",9),r(2,"Tags:"),n(),o(3,"div",66),f(4,Pe,2,1,"span",67,q),n()()),i&2){let t=c();a(4),C(t.tagsArray)}}function Ae(i,e){i&1&&(o(0,"span",16),r(1,"Public"),n())}function Te(i,e){i&1&&(o(0,"span",17),r(1,"Private"),n())}function Se(i,e){i&1&&(o(0,"span",18),r(1,"Guest Accessible"),n())}var Kt=class i{fb=y(lt);adminService=y(Bt);categoryService=y(Tt);router=y(K);route=y(j);questionForm;isSubmitting=O(!1);isEditMode=O(!1);questionId=O(null);isLoadingQuestion=O(!1);categories=this.categoryService.categories;isLoadingCategories=this.categoryService.isLoading;separatorKeysCodes=[13,188];questionTypes=[{value:"multiple",label:"Multiple Choice"},{value:"trueFalse",label:"True/False"},{value:"written",label:"Written Answer"}];difficultyLevels=[{value:"easy",label:"Easy"},{value:"medium",label:"Medium"},{value:"hard",label:"Hard"}];selectedQuestionType=P(()=>this.questionForm?.get("questionType")?.value);showOptions=P(()=>this.selectedQuestionType()==="multiple");showTrueFalse=P(()=>this.selectedQuestionType()==="trueFalse");isFormValid=P(()=>this.questionForm?.valid??!1);ngOnInit(){this.initializeForm(),this.categoryService.getCategories().subscribe(),this.route.params.subscribe(e=>{let t=e.id;t&&setTimeout(()=>{this.isEditMode.set(!0),this.questionId.set(t),this.loadQuestion(t)})}),this.questionForm.get("questionType")?.valueChanges.subscribe(e=>{this.onQuestionTypeChange(e)})}loadQuestion(e){this.isLoadingQuestion.set(!0),this.adminService.getQuestion(e).subscribe({next:t=>{this.isLoadingQuestion.set(!1),this.populateForm(t.data)},error:t=>{this.isLoadingQuestion.set(!1),console.error("Error loading question:",t),this.router.navigate(["/admin/questions"])}})}populateForm(e){this.optionsArray.clear(),this.questionForm.patchValue({questionText:e.questionText,questionType:e.questionType,categoryId:e.categoryId,difficulty:e.difficulty,correctAnswer:Array.isArray(e.correctAnswer)?e.correctAnswer[0]:e.correctAnswer,explanation:e.explanation,points:e.points,tags:e.tags||[],isPublic:e.isPublic,isGuestAccessible:e.isPublic}),e.questionType==="multiple"&&e.options&&e.options.forEach(t=>{this.optionsArray.push(this.createOption(t))}),this.onQuestionTypeChange(e.questionType)}initializeForm(){this.questionForm=this.fb.group({questionText:["",[g.required,g.minLength(10)]],questionType:["multiple",g.required],categoryId:["",g.required],difficulty:["medium",g.required],options:this.fb.array([this.createOption(""),this.createOption(""),this.createOption(""),this.createOption("")]),correctAnswer:["",g.required],explanation:["",[g.required,g.minLength(10)]],points:[10,[g.required,g.min(1),g.max(100)]],tags:[[]],isPublic:[!0],isGuestAccessible:[!1]}),this.questionForm.setValidators(this.correctAnswerValidator.bind(this))}createOption(e=""){return this.fb.group({text:[e,g.required]})}get optionsArray(){return this.questionForm.get("options")}get tagsArray(){return this.questionForm.get("tags")?.value||[]}onQuestionTypeChange(e){let t=this.questionForm.get("correctAnswer");if(e==="multiple"){for(;this.optionsArray.length<2;)this.addOption();t?.setValidators([g.required])}else e==="trueFalse"?(this.optionsArray.clear(),t?.setValidators([g.required]),t?.value||t?.setValue("true")):(this.optionsArray.clear(),t?.setValidators([g.required,g.minLength(1)]));t?.updateValueAndValidity(),this.questionForm.updateValueAndValidity()}addOption(){this.optionsArray.length<10&&this.optionsArray.push(this.createOption(""))}removeOption(e){if(this.optionsArray.length>2){this.optionsArray.removeAt(e);let t=this.questionForm.get("correctAnswer")?.value,l=this.optionsArray.at(e)?.get("text")?.value;t===l&&this.questionForm.get("correctAnswer")?.setValue("")}}addTag(e){let t=(e.value||"").trim(),l=this.tagsArray;t&&!l.includes(t)&&this.questionForm.get("tags")?.setValue([...l,t]),e.chipInput.clear()}removeTag(e){let t=this.tagsArray,l=t.indexOf(e);l>=0&&(t.splice(l,1),this.questionForm.get("tags")?.setValue([...t]))}correctAnswerValidator(e){let t=e,l=t.get("questionType")?.value,m=t.get("correctAnswer")?.value,p=t.get("options");return l==="multiple"&&m&&p&&!p.controls.map(F=>F.get("text")?.value).includes(m)?{correctAnswerMismatch:!0}:null}getOptionTexts(){return this.optionsArray.controls.map(e=>e.get("text")?.value).filter(e=>e.trim()!=="")}onSubmit(){if(this.questionForm.invalid||this.isSubmitting()){this.markFormGroupTouched(this.questionForm);return}this.isSubmitting.set(!0);let e=this.questionForm.value,t={questionText:e.questionText,questionType:e.questionType,difficulty:e.difficulty,categoryId:e.categoryId,correctAnswer:e.correctAnswer,explanation:e.explanation,points:e.points||10,tags:e.tags||[],isPublic:e.isPublic,isGuestAccessible:e.isGuestAccessible};e.questionType==="multiple"&&(t.options=this.getOptionTexts()),(this.isEditMode()&&this.questionId()?this.adminService.updateQuestion(this.questionId(),t):this.adminService.createQuestion(t)).subscribe({next:m=>{this.isSubmitting.set(!1),this.router.navigate(["/admin/questions"])},error:m=>{this.isSubmitting.set(!1),console.error(`Error ${this.isEditMode()?"updating":"creating"} question:`,m)}})}onCancel(){this.router.navigate(["/admin/questions"])}markFormGroupTouched(e){Object.keys(e.controls).forEach(t=>{let l=e.get(t);l?.markAsTouched(),(l instanceof Y||l instanceof at)&&this.markFormGroupTouched(l)})}getErrorMessage(e){let t=this.questionForm.get(e);return!t||!t.errors||!t.touched?"":t.errors.required?`${this.getFieldLabel(e)} is required`:t.errors.minlength?`${this.getFieldLabel(e)} must be at least ${t.errors.minlength.requiredLength} characters`:t.errors.min?`${this.getFieldLabel(e)} must be at least ${t.errors.min.min}`:t.errors.max?`${this.getFieldLabel(e)} must be at most ${t.errors.max.max}`:""}getFieldLabel(e){return{questionText:"Question text",questionType:"Question type",categoryId:"Category",difficulty:"Difficulty",correctAnswer:"Correct answer",explanation:"Explanation",points:"Points"}[e]||e}getFormError(){return this.questionForm.errors?.correctAnswerMismatch?"Correct answer must match one of the options":null}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=L({type:i,selectors:[["app-admin-question-form"]],decls:40,vars:18,consts:[["chipGrid",""],[1,"question-form-container"],[1,"form-header"],[1,"form-layout"],[1,"form-card","loading-card"],[1,"form-card"],[1,"preview-card"],[1,"preview-content"],[1,"preview-section"],[1,"preview-label"],[1,"preview-text"],[1,"preview-meta"],[1,"preview-badge","type-badge"],[1,"preview-badge","difficulty-badge"],[1,"preview-badge","points-badge"],[1,"preview-access"],[1,"access-badge","public"],[1,"access-badge","private"],[1,"access-badge","guest"],[1,"subtitle"],[1,"question-id"],[1,"loading-container"],[1,"loading-icon"],[3,"ngSubmit","formGroup"],[1,"form-error"],["appearance","outline",1,"full-width"],["matInput","","formControlName","questionText","placeholder","Enter your question here...","rows","4","required",""],[1,"form-row"],["appearance","outline",1,"half-width"],["formControlName","questionType","required",""],[3,"value"],["formControlName","categoryId","required",""],["disabled",""],["formControlName","difficulty","required",""],["matInput","","type","number","formControlName","points","min","1","max","100","placeholder","10","required",""],[1,"correct-answer-section"],["matInput","","formControlName","explanation","placeholder","Explain why this is the correct answer...","rows","4","required",""],[1,"tags-section"],["placeholder","Type tag and press Enter...",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],[1,"checkbox-group"],["formControlName","isPublic"],["formControlName","isGuestAccessible"],[1,"form-actions"],["mat-button","","type","button",3,"click"],["mat-raised-button","","color","primary","type","submit",3,"disabled"],[1,"options-section"],["formArrayName","options",1,"options-list"],[1,"option-row",3,"formGroupName"],["mat-stroked-button","","type","button",1,"add-option-btn"],["formControlName","correctAnswer","required",""],[1,"option-label"],["appearance","outline",1,"option-input"],["matInput","","formControlName","text","required","",3,"placeholder"],["mat-icon-button","","type","button","color","warn","matTooltip","Remove option"],["mat-icon-button","","type","button","color","warn","matTooltip","Remove option",3,"click"],["mat-stroked-button","","type","button",1,"add-option-btn",3,"click"],["formControlName","correctAnswer",1,"radio-group"],["value","true"],["value","false"],["matInput","","formControlName","correctAnswer","placeholder","Enter a sample correct answer...","rows","3","required",""],[3,"removed"],["matChipRemove",""],[1,"preview-options"],[1,"preview-option",3,"correct"],[1,"preview-option"],[1,"preview-explanation"],[1,"preview-tags"],[1,"preview-tag"]],template:function(t,l){if(t&1&&(o(0,"div",1)(1,"div",2),s(2,Wt,7,1)(3,Yt,6,0),n(),o(4,"div",3),s(5,Jt,7,0,"mat-card",4)(6,be,83,16,"mat-card",5),o(7,"mat-card",6)(8,"mat-card-header")(9,"mat-card-title")(10,"mat-icon"),r(11,"visibility"),n(),r(12," Preview "),n()(),o(13,"mat-card-content")(14,"div",7)(15,"div",8)(16,"div",9),r(17,"Question:"),n(),o(18,"div",10),r(19),n()(),o(20,"div",11)(21,"span",12),r(22),k(23,"titlecase"),n(),o(24,"span",13),r(25),k(26,"titlecase"),n(),o(27,"span",14),r(28),n()(),s(29,we,6,0,"div",8),s(30,Oe,14,6,"div",8),s(31,Ee,5,1,"div",8),s(32,Fe,6,0,"div",8),o(33,"div",8)(34,"div",9),r(35,"Access:"),n(),o(36,"div",15),s(37,Ae,2,0,"span",16)(38,Te,2,0,"span",17),s(39,Se,2,0,"span",18),n()()()()()()()),t&2){let m,p,v,S,F,N,z,G;a(2),d(l.isEditMode()?2:3),a(3),d(l.isLoadingQuestion()?5:6),a(14),_(" ",((m=l.questionForm.get("questionText"))==null?null:m.value)||"Your question will appear here..."," "),a(3),_(" ",V(23,14,(p=l.questionForm.get("questionType"))==null?null:p.value)," "),a(2),$("difficulty-"+((v=l.questionForm.get("difficulty"))==null?null:v.value)),a(),_(" ",V(26,16,(S=l.questionForm.get("difficulty"))==null?null:S.value)," "),a(3),_(" ",((F=l.questionForm.get("points"))==null?null:F.value)||10," Points "),a(),d(l.showOptions()&&l.getOptionTexts().length>0?29:-1),a(),d(l.showTrueFalse()?30:-1),a(),d((N=l.questionForm.get("explanation"))!=null&&N.value?31:-1),a(),d(l.tagsArray.length>0?32:-1),a(5),d((z=l.questionForm.get("isPublic"))!=null&&z.value?37:38),a(2),d((G=l.questionForm.get("isGuestAccessible"))!=null&&G.value?39:-1)}},dependencies:[B,ct,J,H,X,U,W,rt,ot,it,Z,nt,tt,et,ut,mt,dt,pt,st,Ct,ft,gt,xt,_t,ht,vt,Lt,Gt,zt,yt,bt,Mt,Ot,wt,kt,Qt,It,St,qt,Pt,Et,Rt,Dt,$t,At,Ft,Nt,Vt,R],styles:[".question-form-container[_ngcontent-%COMP%]{padding:24px;max-width:1400px;margin:0 auto}@media (max-width: 768px){.question-form-container[_ngcontent-%COMP%]{padding:16px}}.form-header[_ngcontent-%COMP%]{margin-bottom:24px}.form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:32px;font-weight:600;color:var(--mat-app-on-surface, #212121)}.form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:36px;width:36px;height:36px;color:var(--mat-app-primary, #1976d2)}.form-header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:0;font-size:16px;color:var(--mat-app-on-surface-variant, #757575)}.form-header[_ngcontent-%COMP%] .question-id[_ngcontent-%COMP%]{margin:8px 0 0;padding:6px 12px;background-color:#2196f31a;border-radius:4px;font-size:13px;font-weight:500;color:var(--mat-app-primary, #1976d2);width:fit-content}@media (max-width: 768px){.form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:24px}.form-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px}.form-header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{font-size:14px}}.form-layout[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 400px;gap:24px}@media (max-width: 1024px){.form-layout[_ngcontent-%COMP%]{grid-template-columns:1fr}}.form-card[_ngcontent-%COMP%], .preview-card[_ngcontent-%COMP%]{height:fit-content}.form-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%], .preview-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:24px!important}.preview-card[_ngcontent-%COMP%]{position:sticky;top:24px}@media (max-width: 1024px){.preview-card[_ngcontent-%COMP%]{position:static;order:-1}}.preview-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:16px 24px 0}.preview-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600}.preview-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-app-primary, #1976d2)}.full-width[_ngcontent-%COMP%]{width:100%}.half-width[_ngcontent-%COMP%]{width:calc(50% - 8px)}@media (max-width: 768px){.half-width[_ngcontent-%COMP%]{width:100%}}.form-row[_ngcontent-%COMP%]{display:flex;gap:16px;margin-bottom:16px}@media (max-width: 768px){.form-row[_ngcontent-%COMP%]{flex-direction:column;gap:0}}mat-form-field[_ngcontent-%COMP%]{margin-bottom:16px}mat-divider[_ngcontent-%COMP%]{margin:24px 0}.options-section[_ngcontent-%COMP%], .correct-answer-section[_ngcontent-%COMP%], .tags-section[_ngcontent-%COMP%]{margin-bottom:24px}.options-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .correct-answer-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%], .tags-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:18px;font-weight:600;color:var(--mat-app-on-surface, #212121)}.options-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .correct-answer-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .tags-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:22px;width:22px;height:22px;color:var(--mat-app-primary, #1976d2)}.options-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.option-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.option-row[_ngcontent-%COMP%] .option-label[_ngcontent-%COMP%]{min-width:70px;font-weight:500;color:var(--mat-app-on-surface-variant, #757575)}.option-row[_ngcontent-%COMP%] .option-input[_ngcontent-%COMP%]{flex:1;margin-bottom:0}@media (max-width: 768px){.option-row[_ngcontent-%COMP%]{flex-wrap:wrap}.option-row[_ngcontent-%COMP%] .option-label[_ngcontent-%COMP%]{width:100%;margin-bottom:4px}.option-row[_ngcontent-%COMP%] .option-input[_ngcontent-%COMP%]{width:calc(100% - 48px)}}.add-option-btn[_ngcontent-%COMP%]{width:100%;border-style:dashed!important}.radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.radio-group[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{margin:0}.checkbox-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;margin:24px 0}.form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--mat-app-outline-variant, #e0e0e0)}.form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}@media (max-width: 768px){.form-actions[_ngcontent-%COMP%]{flex-direction:column-reverse}.form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%;justify-content:center}}.form-error[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:16px;background-color:#f443361a;border-left:4px solid var(--mat-warn-main, #f44336);border-radius:4px;color:var(--mat-warn-dark, #d32f2f)}.form-error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.form-error[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-weight:500}.preview-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.preview-section[_ngcontent-%COMP%] .preview-label[_ngcontent-%COMP%]{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--mat-app-on-surface-variant, #757575);margin-bottom:8px;letter-spacing:.5px}.preview-section[_ngcontent-%COMP%] .preview-text[_ngcontent-%COMP%]{font-size:16px;line-height:1.6;color:var(--mat-app-on-surface, #212121);white-space:pre-wrap}.preview-section[_ngcontent-%COMP%] .preview-explanation[_ngcontent-%COMP%]{padding:12px;background-color:#2196f31a;border-left:3px solid var(--mat-app-primary, #1976d2);border-radius:4px;font-size:14px;line-height:1.5;color:var(--mat-app-on-surface, #212121)}.preview-meta[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px}.preview-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.preview-badge.type-badge[_ngcontent-%COMP%]{background-color:#2196f31a;color:#2196f3}.preview-badge.difficulty-badge.difficulty-easy[_ngcontent-%COMP%]{background-color:#4caf501a;color:#4caf50}.preview-badge.difficulty-badge.difficulty-medium[_ngcontent-%COMP%]{background-color:#ff98001a;color:#ff9800}.preview-badge.difficulty-badge.difficulty-hard[_ngcontent-%COMP%]{background-color:#f443361a;color:#f44336}.preview-badge.points-badge[_ngcontent-%COMP%]{background-color:#9c27b01a;color:#9c27b0}.preview-options[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.preview-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;padding:12px;background-color:var(--mat-app-surface-variant, #f5f5f5);border-radius:8px;transition:all .2s ease}.preview-option[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;color:var(--mat-app-on-surface-variant, #757575)}.preview-option[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1;font-size:14px;color:var(--mat-app-on-surface, #212121)}.preview-option.correct[_ngcontent-%COMP%]{background-color:#4caf501a;border:1px solid rgba(76,175,80,.3)}.preview-option.correct[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#4caf50}.preview-option.correct[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-weight:500}.preview-tags[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px}.preview-tag[_ngcontent-%COMP%]{display:inline-block;padding:4px 12px;background-color:var(--mat-app-surface-variant, #f5f5f5);border-radius:12px;font-size:12px;color:var(--mat-app-on-surface, #212121)}.preview-access[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:8px}.access-badge[_ngcontent-%COMP%]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.access-badge.public[_ngcontent-%COMP%]{background-color:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.access-badge.private[_ngcontent-%COMP%]{background-color:#9e9e9e1a;color:#9e9e9e;border:1px solid rgba(158,158,158,.3)}.access-badge.guest[_ngcontent-%COMP%]{background-color:#2196f31a;color:#2196f3;border:1px solid rgba(33,150,243,.3)}.loading-card[_ngcontent-%COMP%]{min-height:400px;display:flex;align-items:center;justify-content:center}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--mat-app-on-surface-variant, #757575)}.loading-container[_ngcontent-%COMP%] .loading-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;color:var(--mat-app-primary, #1976d2);animation:_ngcontent-%COMP%_spin 2s linear infinite}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:16px}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-color-scheme: dark){.preview-option[_ngcontent-%COMP%]{background-color:#ffffff0d}.preview-option.correct[_ngcontent-%COMP%]{background-color:#4caf5026}.preview-explanation[_ngcontent-%COMP%]{background-color:#2196f326}.preview-tag[_ngcontent-%COMP%], .access-badge.private[_ngcontent-%COMP%]{background-color:#ffffff0d}.form-error[_ngcontent-%COMP%]{background-color:#f4433626}}"]})};export{Kt as AdminQuestionFormComponent}; diff --git a/chunk-MS4AQ6UA.js b/chunk-MS4AQ6UA.js new file mode 100644 index 0000000..e69de29 diff --git a/chunk-N6VRXIQE.js b/chunk-N6VRXIQE.js new file mode 100644 index 0000000..9172f4e --- /dev/null +++ b/chunk-N6VRXIQE.js @@ -0,0 +1,2 @@ +import{ea as A,f as W,na as O}from"./chunk-COFYR5MX.js";import{$ as h,Ca as y,Cb as o,Jb as m,Kb as n,Lb as c,Mb as u,Qc as p,Sb as d,Za as a,Zb as S,ba as f,bc as C,cc as M,da as g,dc as x,hc as T,ic as l,jc as E,ka as _,kc as P,la as v,ob as k,pb as b,ub as w,zc as R}from"./chunk-2MUIW2M6.js";var I=["determinateSpinner"];function B(t,L){if(t&1&&(_(),n(0,"svg",11),u(1,"circle",12),c()),t&2){let e=S();o("viewBox",e._viewBox()),a(),l("stroke-dasharray",e._strokeCircumference(),"px")("stroke-dashoffset",e._strokeCircumference()/2,"px")("stroke-width",e._circleStrokeWidth(),"%"),o("r",e._circleRadius())}}var N=new f("mat-progress-spinner-default-options",{providedIn:"root",factory:z});function z(){return{diameter:D}}var D=100,F=10,J=(()=>{class t{_elementRef=g(y);_noopAnimations;get color(){return this._color||this._defaultColor}set color(e){this._color=e}_color;_defaultColor="primary";_determinateCircle;constructor(){let e=g(N),i=O(),r=this._elementRef.nativeElement;this._noopAnimations=i==="di-disabled"&&!!e&&!e._forceAnimations,this.mode=r.nodeName.toLowerCase()==="mat-spinner"?"indeterminate":"determinate",!this._noopAnimations&&i==="reduced-motion"&&r.classList.add("mat-progress-spinner-reduced-motion"),e&&(e.color&&(this.color=this._defaultColor=e.color),e.diameter&&(this.diameter=e.diameter),e.strokeWidth&&(this.strokeWidth=e.strokeWidth))}mode;get value(){return this.mode==="determinate"?this._value:0}set value(e){this._value=Math.max(0,Math.min(100,e||0))}_value=0;get diameter(){return this._diameter}set diameter(e){this._diameter=e||0}_diameter=D;get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(e){this._strokeWidth=e||0}_strokeWidth;_circleRadius(){return(this.diameter-F)/2}_viewBox(){let e=this._circleRadius()*2+this.strokeWidth;return`0 0 ${e} ${e}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return this.mode==="determinate"?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=k({type:t,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(i,r){if(i&1&&C(I,5),i&2){let s;M(s=x())&&(r._determinateCircle=s.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(i,r){i&2&&(o("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",r.mode==="determinate"?r.value:null)("mode",r.mode),P("mat-"+r.color),l("width",r.diameter,"px")("height",r.diameter,"px")("--mat-progress-spinner-size",r.diameter+"px")("--mat-progress-spinner-active-indicator-width",r.diameter+"px"),E("_mat-animation-noopable",r._noopAnimations)("mdc-circular-progress--indeterminate",r.mode==="indeterminate"))},inputs:{color:"color",mode:"mode",value:[2,"value","value",p],diameter:[2,"diameter","diameter",p],strokeWidth:[2,"strokeWidth","strokeWidth",p]},exportAs:["matProgressSpinner"],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(i,r){if(i&1&&(w(0,B,2,8,"ng-template",null,0,R),n(2,"div",2,1),_(),n(4,"svg",3),u(5,"circle",4),c()(),v(),n(6,"div",5)(7,"div",6)(8,"div",7),d(9,8),c(),n(10,"div",9),d(11,8),c(),n(12,"div",10),d(13,8),c()()()),i&2){let s=T(1);a(4),o("viewBox",r._viewBox()),a(),l("stroke-dasharray",r._strokeCircumference(),"px")("stroke-dashoffset",r._strokeDashOffset(),"px")("stroke-width",r._circleStrokeWidth(),"%"),o("r",r._circleRadius()),a(4),m("ngTemplateOutlet",s),a(2),m("ngTemplateOutlet",s),a(2),m("ngTemplateOutlet",s)}},dependencies:[W],styles:[`.mat-mdc-progress-spinner{--mat-progress-spinner-animation-multiplier: 1;display:block;overflow:hidden;line-height:0;position:relative;direction:ltr;transition:opacity 250ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-progress-spinner circle{stroke-width:var(--mat-progress-spinner-active-indicator-width, 4px)}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none !important}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}@media(forced-colors: active){.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}}.mat-progress-spinner-reduced-motion{--mat-progress-spinner-animation-multiplier: 1.25}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1;animation:mdc-circular-progress-container-rotate calc(1568.2352941176ms*var(--mat-progress-spinner-animation-multiplier)) linear infinite}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mat-progress-spinner-active-indicator-color, var(--mat-sys-primary))}@media(forced-colors: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin calc(1333ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin calc(1333ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate calc(5332ms*var(--mat-progress-spinner-animation-multiplier)) cubic-bezier(0.4, 0, 0.2, 1) infinite both}@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}} +`],encapsulation:2,changeDetection:0})}return t})();var X=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=b({type:t});static \u0275inj=h({imports:[A]})}return t})();export{J as a,X as b}; diff --git a/chunk-N73CTY2C.js b/chunk-N73CTY2C.js new file mode 100644 index 0000000..43c43f0 --- /dev/null +++ b/chunk-N73CTY2C.js @@ -0,0 +1,2 @@ +import{a as W}from"./chunk-VX6WCCL3.js";import{a as X}from"./chunk-66PBOFKL.js";import{a as U}from"./chunk-GWD5A44H.js";import{L as H,N as Z,X as w,ea as T,oa as Y,ra as $,ta as J,va as K}from"./chunk-COFYR5MX.js";import{$ as z,$b as B,Ca as k,Cb as I,Gc as Q,Jb as l,Kb as c,Lb as n,Mb as C,Mc as E,Pc as d,Qc as G,Tb as L,Xb as u,Z as M,Za as s,_b as V,ac as j,ba as v,bc as R,cb as y,cc as b,da as r,db as A,dc as _,eb as x,hb as F,ia as f,ja as g,jc as D,ma as q,ob as P,pb as S,qb as O,uc as N}from"./chunk-2MUIW2M6.js";var ae=["input"],re=["formField"],oe=["*"],h=class{source;value;constructor(te,e){this.source=te,this.value=e}},de={provide:U,useExisting:M(()=>se),multi:!0},ee=new v("MatRadioGroup"),ce=new v("mat-radio-default-options",{providedIn:"root",factory:ne});function ne(){return{color:"accent",disabledInteractive:!1}}var se=(()=>{class a{_changeDetector=r(E);_value=null;_name=r(w).getId("mat-radio-group-");_selected=null;_isInitialized=!1;_labelPosition="after";_disabled=!1;_required=!1;_buttonChanges;_controlValueAccessorChangeFn=()=>{};onTouched=()=>{};change=new y;_radios;color;get name(){return this._name}set name(e){this._name=e,this._updateRadioButtonNames()}get labelPosition(){return this._labelPosition}set labelPosition(e){this._labelPosition=e==="before"?"before":"after",this._markRadiosForCheck()}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())}_checkSelectedRadioButton(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)}get selected(){return this._selected}set selected(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._markRadiosForCheck()}get required(){return this._required}set required(e){this._required=e,this._markRadiosForCheck()}get disabledInteractive(){return this._disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e,this._markRadiosForCheck()}_disabledInteractive=!1;constructor(){}ngAfterContentInit(){this._isInitialized=!0,this._buttonChanges=this._radios.changes.subscribe(()=>{this.selected&&!this._radios.find(e=>e===this.selected)&&(this._selected=null)})}ngOnDestroy(){this._buttonChanges?.unsubscribe()}_touch(){this.onTouched&&this.onTouched()}_updateRadioButtonNames(){this._radios&&this._radios.forEach(e=>{e.name=this.name,e._markForCheck()})}_updateSelectedRadioFromValue(){let e=this._selected!==null&&this._selected.value===this._value;this._radios&&!e&&(this._selected=null,this._radios.forEach(t=>{t.checked=this.value===t.value,t.checked&&(this._selected=t)}))}_emitChangeEvent(){this._isInitialized&&this.change.emit(new h(this._selected,this._value))}_markRadiosForCheck(){this._radios&&this._radios.forEach(e=>e._markForCheck())}writeValue(e){this.value=e,this._changeDetector.markForCheck()}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetector.markForCheck()}static \u0275fac=function(t){return new(t||a)};static \u0275dir=O({type:a,selectors:[["mat-radio-group"]],contentQueries:function(t,i,o){if(t&1&&j(o,ie,5),t&2){let m;b(m=_())&&(i._radios=m)}},hostAttrs:["role","radiogroup",1,"mat-mdc-radio-group"],inputs:{color:"color",name:"name",labelPosition:"labelPosition",value:"value",selected:"selected",disabled:[2,"disabled","disabled",d],required:[2,"required","required",d],disabledInteractive:[2,"disabledInteractive","disabledInteractive",d]},outputs:{change:"change"},exportAs:["matRadioGroup"],features:[N([de,{provide:ee,useExisting:a}])]})}return a})(),ie=(()=>{class a{_elementRef=r(k);_changeDetector=r(E);_focusMonitor=r(H);_radioDispatcher=r(X);_defaultOptions=r(ce,{optional:!0});_ngZone=r(A);_renderer=r(F);_uniqueId=r(w).getId("mat-radio-");_cleanupClick;id=this._uniqueId;name;ariaLabel;ariaLabelledby;ariaDescribedby;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(e){this._checked!==e&&(this._checked=e,e&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!e&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),e&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.radioGroup!==null&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))}get labelPosition(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"}set labelPosition(e){this._labelPosition=e}_labelPosition;get disabled(){return this._disabled||this.radioGroup!==null&&this.radioGroup.disabled}set disabled(e){this._setDisabled(e)}get required(){return this._required||this.radioGroup&&this.radioGroup.required}set required(e){e!==this._required&&this._changeDetector.markForCheck(),this._required=e}get color(){return this._color||this.radioGroup&&this.radioGroup.color||this._defaultOptions&&this._defaultOptions.color||"accent"}set color(e){this._color=e}_color;get disabledInteractive(){return this._disabledInteractive||this.radioGroup!==null&&this.radioGroup.disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e}_disabledInteractive;change=new y;radioGroup;get inputId(){return`${this.id||this._uniqueId}-input`}_checked=!1;_disabled;_required;_value=null;_removeUniqueSelectionListener=()=>{};_previousTabIndex;_inputElement;_rippleTrigger;_noopAnimations=Y();_injector=r(q);constructor(){r(Z).load(J);let e=r(ee,{optional:!0}),t=r(new Q("tabindex"),{optional:!0});this.radioGroup=e,this._disabledInteractive=this._defaultOptions?.disabledInteractive??!1,t&&(this.tabIndex=G(t,0))}focus(e,t){t?this._focusMonitor.focusVia(this._inputElement,t,e):this._inputElement.nativeElement.focus(e)}_markForCheck(){this._changeDetector.markForCheck()}ngOnInit(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.checked&&(this.radioGroup.selected=this),this.name=this.radioGroup.name),this._removeUniqueSelectionListener=this._radioDispatcher.listen((e,t)=>{e!==this.id&&t===this.name&&(this.checked=!1)})}ngDoCheck(){this._updateTabIndex()}ngAfterViewInit(){this._updateTabIndex(),this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{!e&&this.radioGroup&&this.radioGroup._touch()}),this._ngZone.runOutsideAngular(()=>{this._cleanupClick=this._renderer.listen(this._inputElement.nativeElement,"click",this._onInputClick)})}ngOnDestroy(){this._cleanupClick?.(),this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()}_emitChangeEvent(){this.change.emit(new h(this,this._value))}_isRippleDisabled(){return this.disableRipple||this.disabled}_onInputInteraction(e){if(e.stopPropagation(),!this.checked&&!this.disabled){let t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())}}_onTouchTargetClick(e){this._onInputInteraction(e),(!this.disabled||this.disabledInteractive)&&this._inputElement?.nativeElement.focus()}_setDisabled(e){this._disabled!==e&&(this._disabled=e,this._changeDetector.markForCheck())}_onInputClick=e=>{this.disabled&&this.disabledInteractive&&e.preventDefault()};_updateTabIndex(){let e=this.radioGroup,t;if(!e||!e.selected||this.disabled?t=this.tabIndex:t=e.selected===this?this.tabIndex:-1,t!==this._previousTabIndex){let i=this._inputElement?.nativeElement;i&&(i.setAttribute("tabindex",t+""),this._previousTabIndex=t,x(()=>{queueMicrotask(()=>{e&&e.selected&&e.selected!==this&&document.activeElement===i&&(e.selected?._inputElement.nativeElement.focus(),document.activeElement===i&&this._inputElement.nativeElement.blur())})},{injector:this._injector}))}}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=P({type:a,selectors:[["mat-radio-button"]],viewQuery:function(t,i){if(t&1&&(R(ae,5),R(re,7,k)),t&2){let o;b(o=_())&&(i._inputElement=o.first),b(o=_())&&(i._rippleTrigger=o.first)}},hostAttrs:[1,"mat-mdc-radio-button"],hostVars:19,hostBindings:function(t,i){t&1&&u("focus",function(){return i._inputElement.nativeElement.focus()}),t&2&&(I("id",i.id)("tabindex",null)("aria-label",null)("aria-labelledby",null)("aria-describedby",null),D("mat-primary",i.color==="primary")("mat-accent",i.color==="accent")("mat-warn",i.color==="warn")("mat-mdc-radio-checked",i.checked)("mat-mdc-radio-disabled",i.disabled)("mat-mdc-radio-disabled-interactive",i.disabledInteractive)("_mat-animation-noopable",i._noopAnimations))},inputs:{id:"id",name:"name",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],disableRipple:[2,"disableRipple","disableRipple",d],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:G(e)],checked:[2,"checked","checked",d],value:"value",labelPosition:"labelPosition",disabled:[2,"disabled","disabled",d],required:[2,"required","required",d],color:"color",disabledInteractive:[2,"disabledInteractive","disabledInteractive",d]},outputs:{change:"change"},exportAs:["matRadioButton"],ngContentSelectors:oe,decls:13,vars:17,consts:[["formField",""],["input",""],["mat-internal-form-field","",3,"labelPosition"],[1,"mdc-radio"],[1,"mat-mdc-radio-touch-target",3,"click"],["type","radio","aria-invalid","false",1,"mdc-radio__native-control",3,"change","id","checked","disabled","required"],[1,"mdc-radio__background"],[1,"mdc-radio__outer-circle"],[1,"mdc-radio__inner-circle"],["mat-ripple","",1,"mat-radio-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mat-ripple-element","mat-radio-persistent-ripple"],[1,"mdc-label",3,"for"]],template:function(t,i){if(t&1){let o=L();V(),c(0,"div",2,0)(2,"div",3)(3,"div",4),u("click",function(p){return f(o),g(i._onTouchTargetClick(p))}),n(),c(4,"input",5,1),u("change",function(p){return f(o),g(i._onInputInteraction(p))}),n(),c(6,"div",6),C(7,"div",7)(8,"div",8),n(),c(9,"div",9),C(10,"div",10),n()(),c(11,"label",11),B(12),n()()}t&2&&(l("labelPosition",i.labelPosition),s(2),D("mdc-radio--disabled",i.disabled),s(2),l("id",i.inputId)("checked",i.checked)("disabled",i.disabled&&!i.disabledInteractive)("required",i.required),I("name",i.name)("value",i.value)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby)("aria-disabled",i.disabled&&i.disabledInteractive?"true":null),s(5),l("matRippleTrigger",i._rippleTrigger.nativeElement)("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",!0),s(2),l("for",i.inputId))},dependencies:[$,W],styles:[`.mat-mdc-radio-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-radio-button .mdc-radio{display:inline-block;position:relative;flex:0 0 auto;box-sizing:content-box;width:20px;height:20px;cursor:pointer;will-change:opacity,transform,border-color,color;padding:calc((var(--mat-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:not([disabled]):not(:focus)~.mdc-radio__background::before{opacity:.04;transform:scale(1)}.mat-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:not([disabled])~.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-unselected-hover-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-selected-hover-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio:hover>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:var(--mat-radio-selected-hover-icon-color, var(--mat-sys-primary, currentColor))}.mat-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-unselected-pressed-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-selected-pressed-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio:active>.mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:var(--mat-radio-selected-pressed-icon-color, var(--mat-sys-primary, currentColor))}.mat-mdc-radio-button .mdc-radio__background{display:inline-block;position:relative;box-sizing:border-box;width:20px;height:20px}.mat-mdc-radio-button .mdc-radio__background::before{position:absolute;transform:scale(0, 0);border-radius:50%;opacity:0;pointer-events:none;content:"";transition:opacity 90ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms cubic-bezier(0.4, 0, 0.6, 1);width:var(--mat-radio-state-layer-size, 40px);height:var(--mat-radio-state-layer-size, 40px);top:calc(-1*(var(--mat-radio-state-layer-size, 40px) - 20px)/2);left:calc(-1*(var(--mat-radio-state-layer-size, 40px) - 20px)/2)}.mat-mdc-radio-button .mdc-radio__outer-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border-width:2px;border-style:solid;border-radius:50%;transition:border-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}.mat-mdc-radio-button .mdc-radio__inner-circle{position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;transform:scale(0);border-radius:50%;transition:transform 90ms cubic-bezier(0.4, 0, 0.6, 1),background-color 90ms cubic-bezier(0.4, 0, 0.6, 1)}@media(forced-colors: active){.mat-mdc-radio-button .mdc-radio__inner-circle{background-color:CanvasText !important}}.mat-mdc-radio-button .mdc-radio__native-control{position:absolute;margin:0;padding:0;opacity:0;top:0;right:0;left:0;cursor:inherit;z-index:1;width:var(--mat-radio-state-layer-size, 40px);height:var(--mat-radio-state-layer-size, 40px)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__outer-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__outer-circle{transition:border-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle,.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__inner-circle{transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:focus+.mdc-radio__background::before{transform:scale(1);opacity:.12;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 1),transform 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button .mdc-radio__native-control:disabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-disabled-unselected-icon-color, var(--mat-sys-on-surface));opacity:var(--mat-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background{cursor:default}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-disabled-selected-icon-color, var(--mat-sys-on-surface));opacity:var(--mat-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-radio-button .mdc-radio__native-control:disabled+.mdc-radio__background>.mdc-radio__inner-circle{background-color:var(--mat-radio-disabled-selected-icon-color, var(--mat-sys-on-surface, currentColor));opacity:var(--mat-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-radio-button .mdc-radio__native-control:enabled:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-unselected-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-selected-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio__native-control:enabled:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:var(--mat-radio-selected-icon-color, var(--mat-sys-primary, currentColor))}.mat-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-selected-focus-icon-color, var(--mat-sys-primary))}.mat-mdc-radio-button .mdc-radio__native-control:enabled:focus:checked+.mdc-radio__background>.mdc-radio__inner-circle{background-color:var(--mat-radio-selected-focus-icon-color, var(--mat-sys-primary, currentColor))}.mat-mdc-radio-button .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle{transform:scale(0.5);transition:transform 90ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled{pointer-events:auto}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:not(:checked)+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-disabled-unselected-icon-color, var(--mat-sys-on-surface));opacity:var(--mat-radio-disabled-unselected-icon-opacity, 0.38)}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__outer-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background>.mdc-radio__outer-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-disabled-selected-icon-color, var(--mat-sys-on-surface));opacity:var(--mat-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled:hover .mdc-radio__native-control:checked+.mdc-radio__background>.mdc-radio__inner-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control:checked:focus+.mdc-radio__background>.mdc-radio__inner-circle,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__native-control+.mdc-radio__background>.mdc-radio__inner-circle{background-color:var(--mat-radio-disabled-selected-icon-color, var(--mat-sys-on-surface, currentColor));opacity:var(--mat-radio-disabled-selected-icon-opacity, 0.38)}.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__background::before,.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__outer-circle,.mat-mdc-radio-button._mat-animation-noopable .mdc-radio__inner-circle{transition:none !important}.mat-mdc-radio-button label{cursor:pointer}.mat-mdc-radio-button .mdc-radio__background::before{background-color:var(--mat-radio-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button.mat-mdc-radio-checked .mat-ripple-element,.mat-mdc-radio-button.mat-mdc-radio-checked .mdc-radio__background::before{background-color:var(--mat-radio-checked-ripple-color, var(--mat-sys-primary))}.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mat-ripple-element,.mat-mdc-radio-button.mat-mdc-radio-disabled-interactive .mdc-radio--disabled .mdc-radio__background::before{background-color:var(--mat-radio-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button .mat-internal-form-field{color:var(--mat-radio-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-radio-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-radio-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-radio-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-radio-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-radio-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-radio-button .mdc-radio--disabled+label{color:var(--mat-radio-disabled-label-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-radio-button .mat-radio-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:50%}.mat-mdc-radio-button .mat-radio-ripple>.mat-ripple-element{opacity:.14}.mat-mdc-radio-button .mat-radio-ripple::before{border-radius:50%}.mat-mdc-radio-button .mdc-radio>.mdc-radio__native-control:focus:enabled:not(:checked)~.mdc-radio__background>.mdc-radio__outer-circle{border-color:var(--mat-radio-unselected-focus-icon-color, var(--mat-sys-on-surface))}.mat-mdc-radio-button.cdk-focused .mat-focus-indicator::before{content:""}.mat-mdc-radio-disabled{cursor:default;pointer-events:none}.mat-mdc-radio-disabled.mat-mdc-radio-disabled-interactive{pointer-events:auto}.mat-mdc-radio-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-radio-touch-target-size, 48px);width:var(--mat-radio-touch-target-size, 48px);transform:translate(-50%, -50%);display:var(--mat-radio-touch-target-display, block)}[dir=rtl] .mat-mdc-radio-touch-target{left:auto;right:50%;transform:translate(50%, -50%)} +`],encapsulation:2,changeDetection:0})}return a})(),ze=(()=>{class a{static \u0275fac=function(t){return new(t||a)};static \u0275mod=S({type:a});static \u0275inj=z({imports:[T,K,ie,T]})}return a})();export{se as a,ie as b,ze as c}; diff --git a/chunk-NIBVQDYD.js b/chunk-NIBVQDYD.js new file mode 100644 index 0000000..8ba55e6 --- /dev/null +++ b/chunk-NIBVQDYD.js @@ -0,0 +1,2 @@ +import{b as T,f as Q,i as W}from"./chunk-LLJSP5R2.js";import{a as $,f as Z}from"./chunk-HMKN2VB2.js";import{H as X,I as F,J as y,L as G,Y as j,ba as U,c as z,ca as B,ga as v,oa as b}from"./chunk-COFYR5MX.js";import{Ca as c,Jb as L,Kb as f,Lb as S,Mc as H,Tb as x,U as r,Xb as u,Za as P,a as h,ba as p,bc as M,cc as k,da as n,db as E,dc as N,eb as m,i as _,ia as D,ja as C,jc as g,kb as O,lc as V,ma as d,mc as Y,na as I,ob as R,qb as A}from"./chunk-2MUIW2M6.js";var st=["tooltip"],J=20;var tt=new p("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let a=n(d);return()=>T(a,{scrollThrottle:J})}});function ot(a){let et=n(d);return()=>T(et,{scrollThrottle:J})}var Lt={provide:tt,deps:[],useFactory:ot};function nt(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}var at=new p("mat-tooltip-default-options",{providedIn:"root",factory:nt});var q="tooltip-panel",K=F({passive:!0}),rt=8,lt=8,ht=24,dt=200,St=(()=>{class a{_elementRef=n(c);_ngZone=n(E);_platform=n(X);_ariaDescriber=n(U);_focusMonitor=n(G);_dir=n(B);_injector=n(d);_viewContainerRef=n(O);_animationsDisabled=b();_defaultOptions=n(at,{optional:!0});_overlayRef;_tooltipInstance;_overlayPanelClass;_portal;_position="below";_positionAtOrigin=!1;_disabled=!1;_tooltipClass;_viewInitialized=!1;_pointerExitEventsInitialized=!1;_tooltipComponent=ct;_viewportMargin=8;_currentPosition;_cssClassPrefix="mat-mdc";_ariaDescriptionPending;_dirSubscribed=!1;get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(t){this._positionAtOrigin=v(t),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(t){let e=v(t);this._disabled!==e&&(this._disabled=e,e?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message))}get showDelay(){return this._showDelay}set showDelay(t){this._showDelay=y(t)}_showDelay;get hideDelay(){return this._hideDelay}set hideDelay(t){this._hideDelay=y(t),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}_hideDelay;touchGestures="auto";get message(){return this._message}set message(t){let e=this._message;this._message=t!=null?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(e)}_message="";get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}_passiveListeners=[];_touchstartTimeout=null;_destroyed=new _;_isDestroyed=!1;constructor(){let t=this._defaultOptions;t&&(this._showDelay=t.showDelay,this._hideDelay=t.hideDelay,t.position&&(this.position=t.position),t.positionAtOrigin&&(this.positionAtOrigin=t.positionAtOrigin),t.touchGestures&&(this.touchGestures=t.touchGestures),t.tooltipClass&&(this.tooltipClass=t.tooltipClass)),this._viewportMargin=rt}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(r(this._destroyed)).subscribe(t=>{t?t==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){let t=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([e,i])=>{t.removeEventListener(e,i,K)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._isDestroyed=!0,this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t)}show(t=this.showDelay,e){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let i=this._createOverlay(e);this._detach(),this._portal=this._portal||new Z(this._tooltipComponent,this._viewContainerRef);let s=this._tooltipInstance=i.attach(this._portal).instance;s._triggerElement=this._elementRef.nativeElement,s._mouseLeaveHideDelay=this._hideDelay,s.afterHidden().pipe(r(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),s.show(t)}hide(t=this.hideDelay){let e=this._tooltipInstance;e&&(e.isVisible()?e.hide(t):(e._cancelPendingAnimations(),this._detach()))}toggle(t){this._isTooltipVisible()?this.hide():this.show(void 0,t)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(t){if(this._overlayRef){let o=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!t)&&o._origin instanceof c)return this._overlayRef;this._detach()}let e=this._injector.get($).getAncestorScrollContainers(this._elementRef),i=`${this._cssClassPrefix}-${q}`,s=Q(this._injector,this.positionAtOrigin?t||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(e);return s.positionChanges.pipe(r(this._destroyed)).subscribe(o=>{this._updateCurrentPositionClass(o.connectionPair),this._tooltipInstance&&o.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=W(this._injector,{direction:this._dir,positionStrategy:s,panelClass:this._overlayPanelClass?[...this._overlayPanelClass,i]:i,scrollStrategy:this._injector.get(tt)(),disableAnimations:this._animationsDisabled}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(r(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(r(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(r(this._destroyed)).subscribe(o=>{this._isTooltipVisible()&&o.keyCode===27&&!j(o)&&(o.preventDefault(),o.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._dirSubscribed||(this._dirSubscribed=!0,this._dir.change.pipe(r(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(t){let e=t.getConfig().positionStrategy,i=this._getOrigin(),s=this._getOverlayPosition();e.withPositions([this._addOffset(h(h({},i.main),s.main)),this._addOffset(h(h({},i.fallback),s.fallback))])}_addOffset(t){let e=lt,i=!this._dir||this._dir.value=="ltr";return t.originY==="top"?t.offsetY=-e:t.originY==="bottom"?t.offsetY=e:t.originX==="start"?t.offsetX=i?-e:e:t.originX==="end"&&(t.offsetX=i?e:-e),t}_getOrigin(){let t=!this._dir||this._dir.value=="ltr",e=this.position,i;e=="above"||e=="below"?i={originX:"center",originY:e=="above"?"top":"bottom"}:e=="before"||e=="left"&&t||e=="right"&&!t?i={originX:"start",originY:"center"}:(e=="after"||e=="right"&&t||e=="left"&&!t)&&(i={originX:"end",originY:"center"});let{x:s,y:o}=this._invertPosition(i.originX,i.originY);return{main:i,fallback:{originX:s,originY:o}}}_getOverlayPosition(){let t=!this._dir||this._dir.value=="ltr",e=this.position,i;e=="above"?i={overlayX:"center",overlayY:"bottom"}:e=="below"?i={overlayX:"center",overlayY:"top"}:e=="before"||e=="left"&&t||e=="right"&&!t?i={overlayX:"end",overlayY:"center"}:(e=="after"||e=="right"&&t||e=="left"&&!t)&&(i={overlayX:"start",overlayY:"center"});let{x:s,y:o}=this._invertPosition(i.overlayX,i.overlayY);return{main:i,fallback:{overlayX:s,overlayY:o}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),m(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()},{injector:this._injector}))}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())}_invertPosition(t,e){return this.position==="above"||this.position==="below"?e==="top"?e="bottom":e==="bottom"&&(e="top"):t==="end"?t="start":t==="start"&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){let{overlayY:e,originX:i,originY:s}=t,o;if(e==="center"?this._dir&&this._dir.value==="rtl"?o=i==="end"?"left":"right":o=i==="start"?"left":"right":o=e==="bottom"&&s==="top"?"above":"below",o!==this._currentPosition){let l=this._overlayRef;if(l){let w=`${this._cssClassPrefix}-${q}-`;l.removePanelClass(w+this._currentPosition),l.addPanelClass(w+o)}this._currentPosition=o}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",t=>{this._setupPointerExitEventsIfNeeded();let e;t.x!==void 0&&t.y!==void 0&&(e=t),this.show(void 0,e)}]):this.touchGestures!=="off"&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",t=>{let e=t.targetTouches?.[0],i=e?{x:e.clientX,y:e.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),this._touchstartTimeout&&clearTimeout(this._touchstartTimeout);let s=500;this._touchstartTimeout=setTimeout(()=>{this._touchstartTimeout=null,this.show(void 0,i)},this._defaultOptions?.touchLongPressShowDelay??s)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;let t=[];if(this._platformSupportsMouseEvents())t.push(["mouseleave",e=>{let i=e.relatedTarget;(!i||!this._overlayRef?.overlayElement.contains(i))&&this.hide()}],["wheel",e=>this._wheelListener(e)]);else if(this.touchGestures!=="off"){this._disableNativeGesturesIfNecessary();let e=()=>{this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions?.touchendHideDelay)};t.push(["touchend",e],["touchcancel",e])}this._addListeners(t),this._passiveListeners.push(...t)}_addListeners(t){t.forEach(([e,i])=>{this._elementRef.nativeElement.addEventListener(e,i,K)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(t){if(this._isTooltipVisible()){let e=this._injector.get(I).elementFromPoint(t.clientX,t.clientY),i=this._elementRef.nativeElement;e!==i&&!i.contains(e)&&this.hide()}}_disableNativeGesturesIfNecessary(){let t=this.touchGestures;if(t!=="off"){let e=this._elementRef.nativeElement,i=e.style;(t==="on"||e.nodeName!=="INPUT"&&e.nodeName!=="TEXTAREA")&&(i.userSelect=i.msUserSelect=i.webkitUserSelect=i.MozUserSelect="none"),(t==="on"||!e.draggable)&&(i.webkitUserDrag="none"),i.touchAction="none",i.webkitTapHighlightColor="transparent"}}_syncAriaDescription(t){this._ariaDescriptionPending||(this._ariaDescriptionPending=!0,this._ariaDescriber.removeDescription(this._elementRef.nativeElement,t,"tooltip"),this._isDestroyed||m({write:()=>{this._ariaDescriptionPending=!1,this.message&&!this.disabled&&this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")}},{injector:this._injector}))}static \u0275fac=function(e){return new(e||a)};static \u0275dir=A({type:a,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(e,i){e&2&&g("mat-mdc-tooltip-disabled",i.disabled)},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"]})}return a})(),ct=(()=>{class a{_changeDetectorRef=n(H);_elementRef=n(c);_isMultiline=!1;message;tooltipClass;_showTimeoutId;_hideTimeoutId;_triggerElement;_mouseLeaveHideDelay;_animationsDisabled=b();_tooltip;_closeOnInteraction=!1;_isVisible=!1;_onHide=new _;_showAnimation="mat-mdc-tooltip-show";_hideAnimation="mat-mdc-tooltip-hide";constructor(){}show(t){this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},t)}hide(t){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},t)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:t}){(!t||!this._triggerElement.contains(t))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){let t=this._elementRef.nativeElement.getBoundingClientRect();return t.height>ht&&t.width>=dt}_handleAnimationEnd({animationName:t}){(t===this._showAnimation||t===this._hideAnimation)&&this._finalizeAnimation(t===this._showAnimation)}_cancelPendingAnimations(){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(t){t?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(t){let e=this._tooltip.nativeElement,i=this._showAnimation,s=this._hideAnimation;if(e.classList.remove(t?s:i),e.classList.add(t?i:s),this._isVisible!==t&&(this._isVisible=t,this._changeDetectorRef.markForCheck()),t&&!this._animationsDisabled&&typeof getComputedStyle=="function"){let o=getComputedStyle(e);(o.getPropertyValue("animation-duration")==="0s"||o.getPropertyValue("animation-name")==="none")&&(this._animationsDisabled=!0)}t&&this._onShow(),this._animationsDisabled&&(e.classList.add("_mat-animation-noopable"),this._finalizeAnimation(t))}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=R({type:a,selectors:[["mat-tooltip-component"]],viewQuery:function(e,i){if(e&1&&M(st,7),e&2){let s;k(s=N())&&(i._tooltip=s.first)}},hostAttrs:["aria-hidden","true"],hostBindings:function(e,i){e&1&&u("mouseleave",function(o){return i._handleMouseLeave(o)})},decls:4,vars:4,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend","ngClass"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function(e,i){if(e&1){let s=x();f(0,"div",1,0),u("animationend",function(l){return D(s),C(i._handleAnimationEnd(l))}),f(2,"div",2),V(3),S()()}e&2&&(g("mdc-tooltip--multiline",i._isMultiline),L("ngClass",i.tooltipClass),P(3),Y(i.message))},dependencies:[z],styles:[`.mat-mdc-tooltip{position:relative;transform:scale(0);display:inline-flex}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-surface{word-break:normal;overflow-wrap:anywhere;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center;will-change:transform,opacity;background-color:var(--mat-tooltip-container-color, var(--mat-sys-inverse-surface));color:var(--mat-tooltip-supporting-text-color, var(--mat-sys-inverse-on-surface));border-radius:var(--mat-tooltip-container-shape, var(--mat-sys-corner-extra-small));font-family:var(--mat-tooltip-supporting-text-font, var(--mat-sys-body-small-font));font-size:var(--mat-tooltip-supporting-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-tooltip-supporting-text-weight, var(--mat-sys-body-small-weight));line-height:var(--mat-tooltip-supporting-text-line-height, var(--mat-sys-body-small-line-height));letter-spacing:var(--mat-tooltip-supporting-text-tracking, var(--mat-sys-body-small-tracking))}.mat-mdc-tooltip-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mat-mdc-tooltip-surface{text-align:right}.mat-mdc-tooltip-panel{line-height:normal}.mat-mdc-tooltip-panel.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards} +`],encapsulation:2,changeDetection:0})}return a})();export{Lt as a,St as b}; diff --git a/chunk-NYYADJNO.js b/chunk-NYYADJNO.js new file mode 100644 index 0000000..c268f6d --- /dev/null +++ b/chunk-NYYADJNO.js @@ -0,0 +1,2 @@ +import{ea as d,oa as n}from"./chunk-COFYR5MX.js";import{$ as c,jc as s,ob as r,pb as i}from"./chunk-2MUIW2M6.js";var p=(()=>{class e{_animationsDisabled=n();state="unchecked";disabled=!1;appearance="full";constructor(){}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(t,o){t&2&&s("mat-pseudo-checkbox-indeterminate",o.state==="indeterminate")("mat-pseudo-checkbox-checked",o.state==="checked")("mat-pseudo-checkbox-disabled",o.disabled)("mat-pseudo-checkbox-minimal",o.appearance==="minimal")("mat-pseudo-checkbox-full",o.appearance==="full")("_mat-animation-noopable",o._animationsDisabled)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(t,o){},styles:[`.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-minimal-selected-checkmark-color, var(--mat-sys-primary))}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full{border-color:var(--mat-pseudo-checkbox-full-unselected-icon-color, var(--mat-sys-on-surface-variant));border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-pseudo-checkbox-full-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-pseudo-checkbox-full-selected-icon-color, var(--mat-sys-primary));border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-full-selected-checkmark-color, var(--mat-sys-on-primary))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-pseudo-checkbox-full-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-full-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px} +`],encapsulation:2,changeDetection:0})}return e})();var h=(()=>{class e{static \u0275fac=function(t){return new(t||e)};static \u0275mod=i({type:e});static \u0275inj=c({imports:[d]})}return e})();export{p as a,h as b}; diff --git a/chunk-OI7I342H.js b/chunk-OI7I342H.js new file mode 100644 index 0000000..ce66891 --- /dev/null +++ b/chunk-OI7I342H.js @@ -0,0 +1 @@ +import{a as ut,b as Mt}from"./chunk-TDFJQLRV.js";import{a as h}from"./chunk-IRVPX2IZ.js";import"./chunk-N73CTY2C.js";import{a as gt}from"./chunk-RDQGS2XZ.js";import{d as _t}from"./chunk-37GOEORY.js";import{c as pt,g as Ct}from"./chunk-YWCH6MM5.js";import"./chunk-VX6WCCL3.js";import{a as nt,b as it,c as at,d as ot,e as rt,g as ct}from"./chunk-7YTCZJV6.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import{a as tt,b as et}from"./chunk-CTXOKINH.js";import{a as mt}from"./chunk-B4CGVF35.js";import{b as dt}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{b as st,g as lt}from"./chunk-TAS7XC6E.js";import"./chunk-3GOV5KJM.js";import"./chunk-EGL4ZKWQ.js";import{a as Q,b as F,c as V,e as B,f as j,i as H}from"./chunk-6NRCTHHS.js";import{a as X,b as Z}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as K,C as N,g as U,j as T,u as L,ua as W,w as $,wa as G,x as R,ya as J,za as Y}from"./chunk-COFYR5MX.js";import{Db as g,Eb as _,Ec as f,Hb as z,Ib as b,Jb as q,Kb as e,Lb as t,Mb as S,Tb as y,Xb as u,Za as r,Zb as d,da as O,ia as x,ja as v,kc as M,lc as n,mc as s,nc as p,ob as E,oc as D,pc as k,ta as w,wc as I,xc as A}from"./chunk-2MUIW2M6.js";var Ot=(c,i)=>i.id;function xt(c,i){c&1&&(e(0,"div",12),S(1,"mat-spinner",15),e(2,"p",16),n(3,"Loading user details..."),t()())}function vt(c,i){if(c&1){let o=y();e(0,"mat-card",13)(1,"mat-card-content")(2,"div",17)(3,"mat-icon",18),n(4,"error"),t(),e(5,"h2"),n(6,"Error Loading User"),t(),e(7,"p"),n(8),t(),e(9,"button",19),u("click",function(){x(o);let l=d();return v(l.goBack())}),e(10,"mat-icon"),n(11,"arrow_back"),t(),n(12," Back to Users "),t()()()()}if(c&2){let o=d();r(8),s(o.error())}}function ft(c,i){if(c&1&&(e(0,"div",28)(1,"mat-icon"),n(2,"how_to_reg"),t(),e(3,"div",29)(4,"span",30),n(5,"Registration Method"),t(),e(6,"span",31),n(7),t()()()),c&2){let o=d(2);r(7),s(o.user().metadata.registrationMethod==="guest_conversion"?"Guest Conversion":"Direct")}}function ht(c,i){if(c&1&&(e(0,"div",45)(1,"span",46),n(2,"Favorite Category:"),t(),e(3,"span",47),n(4),t()()),c&2){let o=d(2);r(4),D(" ",o.user().statistics.favoriteCategory.name," (",o.user().statistics.favoriteCategory.quizCount," quizzes) ")}}function yt(c,i){if(c&1){let o=y();e(0,"div",53)(1,"div",54)(2,"div",55)(3,"mat-icon"),n(4,"category"),t(),e(5,"span"),n(6),t()(),e(7,"div",56),n(8),t()(),e(9,"div",57)(10,"div",58)(11,"mat-icon"),n(12,"grade"),t(),e(13,"span",59),n(14,"Score:"),t(),e(15,"span"),n(16),t()(),e(17,"div",58)(18,"mat-icon"),n(19,"timer"),t(),e(20,"span",59),n(21,"Time:"),t(),e(22,"span",60),n(23),t()(),e(24,"button",61),u("click",function(){let l=x(o).$implicit,C=d(3);return v(C.viewQuizDetails(l.id))}),e(25,"mat-icon"),n(26,"visibility"),t()()()()}if(c&2){let o=i.$implicit,a=d(3);r(6),s(o.categoryName),r(2),s(a.formatDateTime(o.completedAt)),r(3),M("score-icon-"+a.getScoreColor(o.percentage)),r(4),M("quiz-stat-value-"+a.getScoreColor(o.percentage)),r(),k(" ",o.score,"/",o.totalQuestions," (",o.percentage.toFixed(1),"%) "),r(7),s(a.formatDuration(o.timeTaken))}}function zt(c,i){if(c&1&&(e(0,"div",49),z(1,yt,27,10,"div",53,Ot),t()),c&2){let o=d(2);r(),b(o.user().quizHistory)}}function bt(c,i){c&1&&(e(0,"div",50)(1,"mat-icon"),n(2,"quiz"),t(),e(3,"p"),n(4,"No quiz history available"),t()())}function qt(c,i){if(c&1&&(e(0,"span",67)(1,"mat-icon"),n(2,"category"),t(),n(3),t()),c&2){let o=d(2).$implicit;r(3),p(" ",o.metadata.categoryName," ")}}function St(c,i){if(c&1&&(e(0,"span",67)(1,"mat-icon"),n(2,"grade"),t(),n(3),t()),c&2){let o=d(2).$implicit;r(3),p(" ",o.metadata.score,"% ")}}function wt(c,i){if(c&1&&(e(0,"div",66),g(1,qt,4,1,"span",67),g(2,St,4,1,"span",67),t()),c&2){let o=d().$implicit;r(),_(o.metadata.categoryName?1:-1),r(),_(o.metadata.score!==void 0?2:-1)}}function Et(c,i){if(c&1&&(e(0,"mat-list-item",62)(1,"mat-icon",63),n(2),t(),e(3,"div",64),n(4),t(),e(5,"div",65),n(6),t(),g(7,wt,3,2,"div",66),t(),S(8,"mat-divider")),c&2){let o=i.$implicit,a=d(3);r(),M("activity-icon-"+a.getActivityColor(o.type)),r(),p(" ",a.getActivityIcon(o.type)," "),r(2),s(o.description),r(2),s(a.formatRelativeTime(o.timestamp)),r(),_(o.metadata?7:-1)}}function Dt(c,i){if(c&1&&(e(0,"mat-list",52),z(1,Et,9,6,null,null,Ot),t()),c&2){let o=d(2);r(),b(o.user().activityTimeline)}}function kt(c,i){c&1&&(e(0,"div",50)(1,"mat-icon"),n(2,"timeline"),t(),e(3,"p"),n(4,"No activity recorded"),t()())}function It(c,i){if(c&1){let o=y();e(0,"div",14)(1,"mat-card",20)(2,"mat-card-header")(3,"div",21)(4,"div",22)(5,"mat-icon"),n(6,"account_circle"),t()(),e(7,"div",23)(8,"h2",24),n(9),t(),e(10,"p",25),n(11),t(),e(12,"div",26)(13,"mat-chip")(14,"mat-icon"),n(15),t(),n(16),I(17,"titlecase"),t(),e(18,"mat-chip")(19,"mat-icon"),n(20),t(),n(21),t()()()()(),e(22,"mat-card-content")(23,"div",27)(24,"div",28)(25,"mat-icon"),n(26,"event"),t(),e(27,"div",29)(28,"span",30),n(29,"Member Since"),t(),e(30,"span",31),n(31),t()()(),e(32,"div",28)(33,"mat-icon"),n(34,"schedule"),t(),e(35,"div",29)(36,"span",30),n(37,"Last Active"),t(),e(38,"span",31),n(39),t()()(),g(40,ft,8,1,"div",28),t()(),e(41,"mat-card-actions",32)(42,"button",19),u("click",function(){x(o);let l=d();return v(l.editUserRole())}),e(43,"mat-icon"),n(44,"edit"),t(),n(45," Edit Role "),t(),e(46,"button",33),u("click",function(){x(o);let l=d();return v(l.toggleUserStatus())}),e(47,"mat-icon"),n(48),t(),n(49),t()()(),e(50,"div",34)(51,"mat-card",35)(52,"mat-card-content")(53,"div",36)(54,"mat-icon"),n(55,"quiz"),t()(),e(56,"div",37)(57,"h3",38),n(58),t(),e(59,"p",39),n(60,"Total Quizzes"),t()()()(),e(61,"mat-card",35)(62,"mat-card-content")(63,"div",40)(64,"mat-icon"),n(65,"grade"),t()(),e(66,"div",37)(67,"h3",38),n(68),t(),e(69,"p",39),n(70,"Average Score"),t()()()(),e(71,"mat-card",35)(72,"mat-card-content")(73,"div",41)(74,"mat-icon"),n(75,"check_circle"),t()(),e(76,"div",37)(77,"h3",38),n(78),t(),e(79,"p",39),n(80,"Accuracy"),t()()()(),e(81,"mat-card",35)(82,"mat-card-content")(83,"div",42)(84,"mat-icon"),n(85,"local_fire_department"),t()(),e(86,"div",37)(87,"h3",38),n(88),t(),e(89,"p",39),n(90,"Current Streak"),t()()()(),e(91,"mat-card",35)(92,"mat-card-content")(93,"div",36)(94,"mat-icon"),n(95,"help_outline"),t()(),e(96,"div",37)(97,"h3",38),n(98),t(),e(99,"p",39),n(100,"Questions Answered"),t()()()(),e(101,"mat-card",35)(102,"mat-card-content")(103,"div",40)(104,"mat-icon"),n(105,"timer"),t()(),e(106,"div",37)(107,"h3",38),n(108),t(),e(109,"p",39),n(110,"Time Spent"),t()()()()(),e(111,"mat-card",43)(112,"mat-card-header")(113,"mat-card-title")(114,"mat-icon"),n(115,"analytics"),t(),n(116," Additional Statistics "),t()(),e(117,"mat-card-content")(118,"div",44)(119,"div",45)(120,"span",46),n(121,"Correct Answers:"),t(),e(122,"span",47),n(123),t()(),e(124,"div",45)(125,"span",46),n(126,"Longest Streak:"),t(),e(127,"span",47),n(128),t()(),g(129,ht,5,2,"div",45),e(130,"div",45)(131,"span",46),n(132,"Quizzes This Week:"),t(),e(133,"span",47),n(134),t()(),e(135,"div",45)(136,"span",46),n(137,"Quizzes This Month:"),t(),e(138,"span",47),n(139),t()()()()(),e(140,"mat-card",48)(141,"mat-card-header")(142,"mat-card-title")(143,"mat-icon"),n(144,"history"),t(),n(145," Quiz History "),t()(),e(146,"mat-card-content"),g(147,zt,3,0,"div",49)(148,bt,5,0,"div",50),t()(),e(149,"mat-card",51)(150,"mat-card-header")(151,"mat-card-title")(152,"mat-icon"),n(153,"timeline"),t(),n(154," Activity Timeline "),t()(),e(155,"mat-card-content"),g(156,Dt,3,0,"mat-list",52)(157,kt,5,0,"div",50),t()()()}if(c&2){let o,a=d();r(9),s(a.user().username),r(2),s(a.user().email),r(2),M("chip-"+a.getRoleColor(a.user().role)),r(2),s(a.user().role==="admin"?"admin_panel_settings":"person"),r(),p(" ",A(17,29,a.user().role)," "),r(2),M("chip-"+a.getStatusColor(a.user().isActive)),r(2),s(a.user().isActive?"check_circle":"cancel"),r(),p(" ",a.user().isActive?"Active":"Inactive"," "),r(10),s(a.memberSince()),r(8),s(a.lastActive()),r(),_((o=a.user().metadata)!=null&&o.registrationMethod?40:-1),r(6),q("color",a.user().isActive?"warn":"accent"),r(2),s(a.user().isActive?"block":"check_circle"),r(),p(" ",a.user().isActive?"Deactivate":"Activate"," "),r(9),s(a.formatNumber(a.user().statistics.totalQuizzes)),r(10),p("",a.user().statistics.averageScore.toFixed(1),"%"),r(10),p("",a.user().statistics.accuracy.toFixed(1),"%"),r(10),s(a.user().statistics.currentStreak),r(10),s(a.formatNumber(a.user().statistics.totalQuestionsAnswered)),r(10),s(a.formatDuration(a.user().statistics.totalTimeSpent)),r(15),s(a.formatNumber(a.user().statistics.correctAnswers)),r(5),p("",a.user().statistics.longestStreak," days"),r(),_(a.user().statistics.favoriteCategory?129:-1),r(5),s(a.user().statistics.recentActivity.quizzesThisWeek),r(5),s(a.user().statistics.recentActivity.quizzesThisMonth),r(8),_(a.hasQuizHistory()?147:148),r(9),_(a.hasActivity()?156:157)}}var Pt=class c{adminService=O(gt);router=O($);route=O(L);dialog=O(pt);Math=Math;user=this.adminService.selectedUserDetail;isLoading=this.adminService.isLoadingUserDetail;error=this.adminService.userDetailError;userId=w("");hasQuizHistory=f(()=>{let i=this.user();return i&&i.quizHistory.length>0});hasActivity=f(()=>{let i=this.user();return i&&i.activityTimeline.length>0});memberSince=f(()=>{let i=this.user();return i?this.formatDate(i.createdAt):""});lastActive=f(()=>{let i=this.user();return!i||!i.lastLoginAt?"Never":this.formatRelativeTime(i.lastLoginAt)});constructor(){h()(this.route.params)}ngOnInit(){this.route.params.pipe(h()).subscribe(i=>{let o=i.id;o?(this.userId.set(o),this.loadUserDetail(o)):this.router.navigate(["/admin/users"])})}loadUserDetail(i){this.adminService.getUserDetails(i).subscribe({error:()=>{setTimeout(()=>{this.router.navigate(["/admin/users"])},3e3)}})}goBack(){this.router.navigate(["/admin/users"])}refreshUser(){let i=this.userId();i&&this.loadUserDetail(i)}editUserRole(){let i=this.user();if(!i)return;this.dialog.open(ut,{width:"600px",maxWidth:"95vw",data:{user:i},disableClose:!1}).afterClosed().subscribe(a=>{a&&a!==i.role&&this.adminService.updateUserRole(i.id,a).subscribe({next:()=>{this.refreshUser()},error:()=>{}})})}toggleUserStatus(){let i=this.user();if(!i)return;let o=i.isActive?"deactivate":"activate",a={user:{id:i.id,username:i.username,email:i.email,role:i.role,isActive:i.isActive,createdAt:i.createdAt},action:o};this.dialog.open(Mt,{width:"500px",data:a,disableClose:!1,autoFocus:!0}).afterClosed().pipe(h()).subscribe(C=>{if(!C)return;(o==="activate"?this.adminService.activateUser(i.id):this.adminService.deactivateUser(i.id)).pipe(h()).subscribe({next:()=>{this.loadUserDetail(i.id)},error:m=>{console.error("Error updating user status:",m)}})})}viewQuizDetails(i){this.router.navigate(["/quiz",i,"review"])}getActivityIcon(i){return{login:"login",quiz_start:"play_arrow",quiz_complete:"check_circle",bookmark:"bookmark",profile_update:"edit",role_change:"admin_panel_settings"}[i]||"info"}getActivityColor(i){return{login:"primary",quiz_start:"accent",quiz_complete:"success",bookmark:"warn",profile_update:"primary",role_change:"warn"}[i]||"default"}getRoleColor(i){return i==="admin"?"warn":"primary"}getStatusColor(i){return i?"success":"default"}formatDate(i){return new Date(i).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}formatDateTime(i){return new Date(i).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}formatRelativeTime(i){let o=new Date(i),l=new Date().getTime()-o.getTime(),C=Math.floor(l/6e4),P=Math.floor(C/60),m=Math.floor(P/24);return C<1?"Just now":C<60?`${C} minute${C>1?"s":""} ago`:P<24?`${P} hour${P>1?"s":""} ago`:m<7?`${m} day${m>1?"s":""} ago`:m<30?`${Math.floor(m/7)} week${Math.floor(m/7)>1?"s":""} ago`:m<365?`${Math.floor(m/30)} month${Math.floor(m/30)>1?"s":""} ago`:`${Math.floor(m/365)} year${Math.floor(m/365)>1?"s":""} ago`}formatDuration(i){let o=Math.floor(i/3600),a=Math.floor(i%3600/60),l=i%60;return o>0?`${o}h ${a}m`:a>0?`${a}m ${l}s`:`${l}s`}formatNumber(i){return i.toLocaleString("en-US")}getScoreColor(i){return i>=80?"success":i>=60?"primary":i>=40?"accent":"warn"}static \u0275fac=function(o){return new(o||c)};static \u0275cmp=E({type:c,selectors:[["app-admin-user-detail"]],decls:26,vars:5,consts:[[1,"admin-user-detail-container"],[1,"page-header"],[1,"header-left"],["mat-icon-button","","aria-label","Go back to users list",1,"back-button",3,"click"],[1,"page-title"],[1,"header-actions"],["mat-icon-button","","matTooltip","Refresh user details","aria-label","Refresh",3,"click","disabled"],["aria-label","Breadcrumb navigation",1,"breadcrumb"],["routerLink","/admin",1,"breadcrumb-link"],[1,"breadcrumb-separator"],["routerLink","/admin/users",1,"breadcrumb-link"],[1,"breadcrumb-current"],[1,"loading-container"],[1,"error-card"],[1,"detail-content"],["diameter","48"],[1,"loading-text"],[1,"error-content"],[1,"error-icon"],["mat-raised-button","","color","primary",3,"click"],[1,"profile-card"],[1,"profile-header"],[1,"user-avatar"],[1,"user-info"],[1,"user-name"],[1,"user-email"],[1,"user-badges"],[1,"profile-details"],[1,"detail-row"],[1,"detail-info"],[1,"detail-label"],[1,"detail-value"],[1,"profile-actions"],["mat-raised-button","",3,"click","color"],[1,"stats-grid"],[1,"stat-card"],[1,"stat-icon","primary"],[1,"stat-info"],[1,"stat-value"],[1,"stat-label"],[1,"stat-icon","success"],[1,"stat-icon","accent"],[1,"stat-icon","warn"],[1,"additional-stats-card"],[1,"stats-details"],[1,"stat-detail-row"],[1,"stat-detail-label"],[1,"stat-detail-value"],[1,"quiz-history-card"],[1,"quiz-history-list"],[1,"empty-state"],[1,"activity-timeline-card"],[1,"activity-list"],[1,"quiz-history-item"],[1,"quiz-history-header"],[1,"quiz-category"],[1,"quiz-date"],[1,"quiz-history-stats"],[1,"quiz-stat"],[1,"quiz-stat-label"],[1,"quiz-stat-value"],["mat-icon-button","","matTooltip","View quiz details",1,"quiz-action-btn",3,"click"],[1,"activity-item"],["matListItemIcon",""],["matListItemTitle","",1,"activity-description"],["matListItemLine","",1,"activity-time"],["matListItemLine","",1,"activity-metadata"],[1,"metadata-item"]],template:function(o,a){if(o&1&&(e(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3),u("click",function(){return a.goBack()}),e(4,"mat-icon"),n(5,"arrow_back"),t()(),e(6,"h1",4),n(7,"User Details"),t()(),e(8,"div",5)(9,"button",6),u("click",function(){return a.refreshUser()}),e(10,"mat-icon"),n(11,"refresh"),t()()()(),e(12,"nav",7)(13,"a",8),n(14,"Admin"),t(),e(15,"mat-icon",9),n(16,"chevron_right"),t(),e(17,"a",10),n(18,"Users"),t(),e(19,"mat-icon",9),n(20,"chevron_right"),t(),e(21,"span",11),n(22),t()(),g(23,xt,4,0,"div",12),g(24,vt,13,1,"mat-card",13),g(25,It,158,31,"div",14),t()),o&2){let l;r(9),q("disabled",a.isLoading()),r(13),s(((l=a.user())==null?null:l.username)||"User Detail"),r(),_(a.isLoading()?23:-1),r(),_(a.error()&&!a.isLoading()?24:-1),r(),_(a.user()&&!a.isLoading()?25:-1)}},dependencies:[T,N,R,H,Q,B,V,j,F,J,G,W,K,Y,lt,st,Z,X,et,tt,ct,ot,rt,at,it,nt,mt,dt,_t,Ct,U],styles:[".admin-user-detail-container[_ngcontent-%COMP%]{padding:24px;max-width:1400px;margin:0 auto}.page-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.page-header[_ngcontent-%COMP%] .back-button[_ngcontent-%COMP%]{color:var(--primary-color)}.page-header[_ngcontent-%COMP%] .page-title[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:600;color:var(--text-primary)}.page-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{display:flex;gap:8px}.breadcrumb[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-bottom:24px;font-size:14px}.breadcrumb[_ngcontent-%COMP%] .breadcrumb-link[_ngcontent-%COMP%]{color:var(--primary-color);text-decoration:none;transition:opacity .2s}.breadcrumb[_ngcontent-%COMP%] .breadcrumb-link[_ngcontent-%COMP%]:hover{opacity:.8;text-decoration:underline}.breadcrumb[_ngcontent-%COMP%] .breadcrumb-separator[_ngcontent-%COMP%]{font-size:18px;color:var(--text-secondary)}.breadcrumb[_ngcontent-%COMP%] .breadcrumb-current[_ngcontent-%COMP%]{color:var(--text-primary);font-weight:500}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;gap:16px}.loading-container[_ngcontent-%COMP%] .loading-text[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:16px}.error-card[_ngcontent-%COMP%]{margin-top:24px}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;padding:32px;text-align:center}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:var(--error-color);margin-bottom:16px}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 8px;color:var(--text-primary)}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 24px;color:var(--text-secondary)}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:8px}.detail-content[_ngcontent-%COMP%]{display:grid;gap:24px}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:24px;width:100%}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:80px;width:80px;height:80px;color:var(--primary-color)}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{flex:1}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-name[_ngcontent-%COMP%]{margin:0 0 4px;font-size:28px;font-weight:600;color:var(--text-primary)}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-email[_ngcontent-%COMP%]{margin:0 0 12px;font-size:16px;color:var(--text-secondary)}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-badges[_ngcontent-%COMP%]{display:flex;gap:8px;flex-wrap:wrap}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-badges[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-badges[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-badges[_ngcontent-%COMP%] mat-chip.chip-primary[_ngcontent-%COMP%]{background-color:var(--primary-light);color:var(--primary-color)}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-badges[_ngcontent-%COMP%] mat-chip.chip-warn[_ngcontent-%COMP%]{background-color:var(--warn-light);color:var(--warn-color)}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-badges[_ngcontent-%COMP%] mat-chip.chip-success[_ngcontent-%COMP%]{background-color:var(--success-light);color:var(--success-color)}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-badges[_ngcontent-%COMP%] mat-chip.chip-default[_ngcontent-%COMP%]{background-color:var(--bg-secondary);color:var(--text-secondary)}.profile-card[_ngcontent-%COMP%] .profile-details[_ngcontent-%COMP%]{margin-top:24px;display:flex;flex-direction:column;gap:16px}.profile-card[_ngcontent-%COMP%] .profile-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.profile-card[_ngcontent-%COMP%] .profile-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] > mat-icon[_ngcontent-%COMP%]{color:var(--text-secondary)}.profile-card[_ngcontent-%COMP%] .profile-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] .detail-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px}.profile-card[_ngcontent-%COMP%] .profile-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] .detail-info[_ngcontent-%COMP%] .detail-label[_ngcontent-%COMP%]{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.profile-card[_ngcontent-%COMP%] .profile-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] .detail-info[_ngcontent-%COMP%] .detail-value[_ngcontent-%COMP%]{font-size:16px;color:var(--text-primary);font-weight:500}.profile-card[_ngcontent-%COMP%] .profile-actions[_ngcontent-%COMP%]{display:flex;gap:12px;padding:16px;border-top:1px solid var(--divider-color)}.profile-card[_ngcontent-%COMP%] .profile-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:8px}.stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:16px;padding:24px}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:#fff}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon.primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark))}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon.success[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--success-color),var(--success-dark))}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon.accent[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--accent-color),var(--accent-dark))}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon.warn[_ngcontent-%COMP%]{background:linear-gradient(135deg,var(--warn-color),var(--warn-dark))}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%]{flex:1}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{margin:0 0 4px;font-size:28px;font-weight:700;color:var(--text-primary)}.stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{margin:0;font-size:14px;color:var(--text-secondary);font-weight:500}.additional-stats-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600}.additional-stats-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.additional-stats-card[_ngcontent-%COMP%] .stats-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.additional-stats-card[_ngcontent-%COMP%] .stats-details[_ngcontent-%COMP%] .stat-detail-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--bg-secondary);border-radius:8px}.additional-stats-card[_ngcontent-%COMP%] .stats-details[_ngcontent-%COMP%] .stat-detail-row[_ngcontent-%COMP%] .stat-detail-label[_ngcontent-%COMP%]{font-size:14px;color:var(--text-secondary);font-weight:500}.additional-stats-card[_ngcontent-%COMP%] .stats-details[_ngcontent-%COMP%] .stat-detail-row[_ngcontent-%COMP%] .stat-detail-value[_ngcontent-%COMP%]{font-size:16px;color:var(--text-primary);font-weight:600}.quiz-history-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600}.quiz-history-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%]{padding:16px;border-radius:8px;background-color:var(--bg-secondary);border:1px solid var(--divider-color);transition:transform .2s,box-shadow .2s}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-header[_ngcontent-%COMP%] .quiz-category[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-primary)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-header[_ngcontent-%COMP%] .quiz-category[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-header[_ngcontent-%COMP%] .quiz-date[_ngcontent-%COMP%]{font-size:14px;color:var(--text-secondary)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%]{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:14px}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px;color:var(--text-secondary)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] mat-icon.score-icon-success[_ngcontent-%COMP%]{color:var(--success-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] mat-icon.score-icon-primary[_ngcontent-%COMP%]{color:var(--primary-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] mat-icon.score-icon-accent[_ngcontent-%COMP%]{color:var(--accent-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] mat-icon.score-icon-warn[_ngcontent-%COMP%]{color:var(--warn-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] .quiz-stat-label[_ngcontent-%COMP%]{color:var(--text-secondary)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] .quiz-stat-value[_ngcontent-%COMP%]{font-weight:600;color:var(--text-primary)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] .quiz-stat-value.quiz-stat-value-success[_ngcontent-%COMP%]{color:var(--success-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] .quiz-stat-value.quiz-stat-value-primary[_ngcontent-%COMP%]{color:var(--primary-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] .quiz-stat-value.quiz-stat-value-accent[_ngcontent-%COMP%]{color:var(--accent-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-stat[_ngcontent-%COMP%] .quiz-stat-value.quiz-stat-value-warn[_ngcontent-%COMP%]{color:var(--warn-color)}.quiz-history-card[_ngcontent-%COMP%] .quiz-history-list[_ngcontent-%COMP%] .quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-action-btn[_ngcontent-%COMP%]{margin-left:auto;color:var(--primary-color)}.activity-timeline-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600}.activity-timeline-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%]{padding:0}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%]{padding:16px 0}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] .activity-description[_ngcontent-%COMP%]{font-weight:500;color:var(--text-primary)}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] .activity-time[_ngcontent-%COMP%]{font-size:14px;color:var(--text-secondary);margin-top:4px}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] .activity-metadata[_ngcontent-%COMP%]{display:flex;gap:16px;margin-top:8px}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] .activity-metadata[_ngcontent-%COMP%] .metadata-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] .activity-metadata[_ngcontent-%COMP%] .metadata-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] mat-icon[matListItemIcon].activity-icon-primary[_ngcontent-%COMP%]{color:var(--primary-color)}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] mat-icon[matListItemIcon].activity-icon-success[_ngcontent-%COMP%]{color:var(--success-color)}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] mat-icon[matListItemIcon].activity-icon-accent[_ngcontent-%COMP%]{color:var(--accent-color)}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] mat-icon[matListItemIcon].activity-icon-warn[_ngcontent-%COMP%]{color:var(--warn-color)}.activity-timeline-card[_ngcontent-%COMP%] .activity-list[_ngcontent-%COMP%] .activity-item[_ngcontent-%COMP%] mat-icon[matListItemIcon].activity-icon-default[_ngcontent-%COMP%]{color:var(--text-secondary)}.empty-state[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:var(--text-disabled);margin-bottom:16px}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--text-secondary);font-size:16px}@media (max-width: 1023px){.stats-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-name[_ngcontent-%COMP%]{font-size:24px}}@media (max-width: 767px){.admin-user-detail-container[_ngcontent-%COMP%]{padding:16px}.page-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:12px}.page-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{width:100%;justify-content:flex-end}.breadcrumb[_ngcontent-%COMP%]{flex-wrap:wrap;font-size:12px}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:16px}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:56px;width:56px;height:56px}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{width:100%}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-name[_ngcontent-%COMP%]{font-size:20px}.profile-card[_ngcontent-%COMP%] .profile-header[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-email[_ngcontent-%COMP%]{font-size:14px}.profile-card[_ngcontent-%COMP%] .profile-actions[_ngcontent-%COMP%]{flex-direction:column}.profile-card[_ngcontent-%COMP%] .profile-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.stats-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:16px}.stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{width:48px;height:48px}.stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px}.stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{font-size:24px}.stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-size:13px}.quiz-history-item[_ngcontent-%COMP%] .quiz-history-header[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:8px}.quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:12px}.quiz-history-item[_ngcontent-%COMP%] .quiz-history-stats[_ngcontent-%COMP%] .quiz-action-btn[_ngcontent-%COMP%]{margin-left:0}}@media (prefers-color-scheme: dark){.admin-user-detail-container[_ngcontent-%COMP%]{--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-disabled: #606060;--bg-primary: #1e1e1e;--bg-secondary: #2a2a2a;--divider-color: #404040}.quiz-history-item[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #0000004d}}"]})};export{Pt as AdminUserDetailComponent}; diff --git a/chunk-OSQNZFMB.js b/chunk-OSQNZFMB.js new file mode 100644 index 0000000..1e9f31d --- /dev/null +++ b/chunk-OSQNZFMB.js @@ -0,0 +1 @@ +import{a as oe}from"./chunk-L5RFXRXA.js";import{a as W,b as J}from"./chunk-CTXOKINH.js";import{a as ne}from"./chunk-B4CGVF35.js";import{b as te}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{b as X,g as ee}from"./chunk-TAS7XC6E.js";import"./chunk-3GOV5KJM.js";import"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as D,b as $,c as A,d as H,f as N,i as j}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as K,b as Z}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as G,j as Q,u as V,w as L,wa as F,xa as U,ya as Y,za as B}from"./chunk-COFYR5MX.js";import{Db as d,Eb as m,Ec as M,Gb as I,Hb as k,Ib as q,Kb as t,Lb as n,Mb as g,Tb as S,U as y,Xb as f,Za as a,Zb as l,da as v,i as E,ia as _,ic as x,ja as C,jc as z,ka as h,kc as w,la as P,lc as i,mc as u,nc as p,ob as T,ta as b,vc as R}from"./chunk-2MUIW2M6.js";var re=()=>[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],ae=(r,o)=>o.questionId;function ce(r,o){r&1&&(t(0,"div",1),g(1,"mat-spinner",2),t(2,"p"),i(3,"Loading results..."),n()())}function se(r,o){if(r&1&&g(0,"div",59),r&2){let e=o.$implicit;x("left",e*5,"%")("animation-delay",e*.1,"s")}}function le(r,o){r&1&&(t(0,"div",3),k(1,se,1,4,"div",58,I),n()),r&2&&(a(),q(R(0,re)))}function de(r,o){r&1&&(t(0,"mat-icon"),i(1,"emoji_events"),n())}function me(r,o){r&1&&(t(0,"mat-icon"),i(1,"thumb_up"),n())}function ge(r,o){r&1&&(t(0,"mat-icon"),i(1,"trending_up"),n())}function ue(r,o){r&1&&(t(0,"mat-icon"),i(1,"school"),n())}function pe(r,o){if(r&1&&(t(0,"div",19)(1,"mat-icon",60),i(2,"remove_circle"),n(),t(3,"div")(4,"div",21),i(5),n(),t(6,"div",22),i(7,"Skipped"),n()()()),r&2){let e=l(2);a(5),u(e.results().summary.questions.unanswered)}}function _e(r,o){r&1&&(t(0,"mat-icon",61),i(1,"verified"),n(),t(2,"span",61),i(3,"Passed"),n())}function Ce(r,o){r&1&&(t(0,"mat-icon",62),i(1,"close"),n(),t(2,"span",62),i(3,"Not Passed"),n())}function fe(r,o){if(r&1&&(h(),g(0,"circle",63)),r&2){let e=l(2);x("stroke-dasharray",e.chartPercentages().skipped*5.03+" 503")("stroke-dashoffset",-(e.chartPercentages().correct+e.chartPercentages().incorrect)*5.03)}}function Me(r,o){if(r&1&&(t(0,"div",37),g(1,"span",64),t(2,"span",39),i(3),n()()),r&2){let e=l(2);a(3),p("Skipped (",e.chartData().skipped,")")}}function he(r,o){r&1&&(t(0,"mat-icon",68),i(1,"check_circle"),n())}function Pe(r,o){r&1&&(t(0,"mat-icon",69),i(1,"cancel"),n())}function xe(r,o){if(r&1&&(t(0,"div",78)(1,"span",76),i(2,"Correct Answer:"),n(),t(3,"span",80),i(4),n()()),r&2){let e=l().$implicit;a(4),u(e.correctAnswer)}}function Oe(r,o){if(r&1&&(t(0,"div",79)(1,"mat-icon"),i(2,"info"),n(),t(3,"p"),i(4),n()()),r&2){let e=l().$implicit;a(4),u(e.explanation)}}function ve(r,o){if(r&1&&(t(0,"div",65)(1,"div",66)(2,"div",67)(3,"span"),i(4),n(),d(5,he,2,0,"mat-icon",68)(6,Pe,2,0,"mat-icon",69),n(),t(7,"div",70)(8,"mat-chip",71),i(9),n(),t(10,"span",72),i(11),n()()(),t(12,"div",73),i(13),n(),t(14,"div",74)(15,"div",75)(16,"span",76),i(17,"Your Answer:"),n(),t(18,"span",77),i(19),n()(),d(20,xe,5,1,"div",78),n(),d(21,Oe,5,1,"div",79),n()),r&2){let e=o.$implicit,c=o.$index,s=l(2);z("incorrect",!e.isCorrect),a(4),u(c+1),a(),m(e.isCorrect?5:6),a(4),u(s.getQuestionTypeText(e.questionType)),a(2),p("",e.points," pts"),a(2),u(e.questionText),a(5),z("incorrect",!e.isCorrect),a(),p(" ",e.userAnswer||"Not answered"," "),a(),m(e.isCorrect?-1:20),a(),m(e.explanation?21:-1)}}function be(r,o){if(r&1){let e=S();t(0,"button",81),f("click",function(){_(e);let s=l(2);return C(s.reviewIncorrect())}),t(1,"mat-icon"),i(2,"rate_review"),n(),i(3," Review Incorrect Answers "),n()}}function we(r,o){if(r&1){let e=S();d(0,le,3,1,"div",3),t(1,"div",4)(2,"div",5)(3,"div",6),d(4,de,2,0,"mat-icon")(5,me,2,0,"mat-icon")(6,ge,2,0,"mat-icon")(7,ue,2,0,"mat-icon"),n(),t(8,"h1",7),i(9,"Quiz Completed!"),n(),t(10,"p",8),i(11),n()(),t(12,"mat-card",9)(13,"mat-card-content")(14,"div",10)(15,"div",11),h(),t(16,"svg",12),g(17,"circle",13)(18,"circle",14),n(),P(),t(19,"div",15)(20,"span",16),i(21),n(),t(22,"span",17),i(23,"Score"),n()()(),t(24,"div",18)(25,"div",19)(26,"mat-icon",20),i(27,"check_circle"),n(),t(28,"div")(29,"div",21),i(30),n(),t(31,"div",22),i(32,"Correct"),n()()(),t(33,"div",19)(34,"mat-icon",23),i(35,"cancel"),n(),t(36,"div")(37,"div",21),i(38),n(),t(39,"div",22),i(40,"Incorrect"),n()()(),d(41,pe,8,1,"div",19),n()(),g(42,"mat-divider"),t(43,"div",24)(44,"div",25)(45,"mat-icon"),i(46,"timer"),n(),t(47,"span"),i(48),n()(),t(49,"div",25)(50,"mat-icon"),i(51,"quiz"),n(),t(52,"span"),i(53),n()(),t(54,"div",25),d(55,_e,4,0)(56,Ce,4,0),n()()()(),t(57,"mat-card",26)(58,"mat-card-header")(59,"mat-card-title"),i(60,"Performance Breakdown"),n()(),t(61,"mat-card-content")(62,"div",27)(63,"div",28),h(),t(64,"svg",29),g(65,"circle",30)(66,"circle",31),d(67,fe,1,4,":svg:circle",32),n(),P(),t(68,"div",33)(69,"span",34),i(70),n(),t(71,"span",35),i(72,"Questions"),n()()(),t(73,"div",36)(74,"div",37),g(75,"span",38),t(76,"span",39),i(77),n()(),t(78,"div",37),g(79,"span",40),t(80,"span",39),i(81),n()(),d(82,Me,4,1,"div",37),n()()()(),t(83,"mat-card",41)(84,"mat-card-header")(85,"mat-card-title"),i(86,"Question Review"),n(),t(87,"mat-card-subtitle"),i(88,"Review all questions and answers"),n()(),t(89,"mat-card-content")(90,"div",42),k(91,ve,22,12,"div",43,ae),n()()(),t(93,"div",44)(94,"button",45),f("click",function(){_(e);let s=l();return C(s.retakeQuiz())}),t(95,"mat-icon"),i(96,"refresh"),n(),i(97," Retake Quiz "),n(),d(98,be,4,0,"button",46),t(99,"button",47),f("click",function(){_(e);let s=l();return C(s.goToDashboard())}),t(100,"mat-icon"),i(101,"dashboard"),n(),i(102," Return to Dashboard "),n()(),t(103,"mat-card",48)(104,"mat-card-header")(105,"mat-card-title"),i(106,"Share Your Results"),n()(),t(107,"mat-card-content")(108,"div",49)(109,"button",50),f("click",function(){_(e);let s=l();return C(s.shareResults("twitter"))}),t(110,"mat-icon"),h(),t(111,"svg",51),g(112,"path",52),n()()(),P(),t(113,"button",53),f("click",function(){_(e);let s=l();return C(s.shareResults("linkedin"))}),t(114,"mat-icon"),h(),t(115,"svg",51),g(116,"path",54),n()()(),P(),t(117,"button",55),f("click",function(){_(e);let s=l();return C(s.shareResults("facebook"))}),t(118,"mat-icon"),h(),t(119,"svg",51),g(120,"path",56),n()()(),P(),t(121,"button",57),f("click",function(){_(e);let s=l();return C(s.copyLink())}),t(122,"mat-icon"),i(123,"link"),n()()()()()()}if(r&2){let e=l();m(e.showConfetti()?0:-1),a(3),w(e.performanceLevel()),a(),m(e.performanceLevel()==="excellent"?4:e.performanceLevel()==="good"?5:e.performanceLevel()==="average"?6:7),a(6),w(e.performanceLevel()),a(),p(" ",e.performanceMessage()," "),a(),w(e.performanceLevel()),a(6),x("stroke-dashoffset",283-283*e.scorePercentage()/100);let c=e.results().summary.score.total>0?e.results().summary.score.earned/e.results().summary.score.total*100:0;a(3),p("",c,"%"),a(9),u(e.results().summary.questions.correct),a(8),u(e.results().summary.questions.incorrect),a(3),m(e.results().summary.questions.unanswered>0?41:-1),a(7),p("Time: ",e.formatTime(e.results().session.timeSpent)),a(5),p("",e.results().summary.questions.total," Questions"),a(2),m(e.results().summary.isPassed?55:56),a(10),x("stroke-dasharray",e.chartPercentages().correct*5.03+" 503"),a(),x("stroke-dasharray",e.chartPercentages().incorrect*5.03+" 503")("stroke-dashoffset",-e.chartPercentages().correct*5.03),a(),m(e.chartPercentages().skipped>0?67:-1),a(3),u(e.results().summary.questions.total),a(7),p("Correct (",e.chartData().correct,")"),a(4),p("Incorrect (",e.chartData().incorrect,")"),a(),m(e.chartData().skipped>0?82:-1),a(9),q(e.results().questions),a(7),m(e.hasIncorrectAnswers()?98:-1)}}var ie=class r{route=v(V);router=v(L);quizService=v(oe);destroy$=new E;sessionId=b("");results=this.quizService.quizResults;isLoading=b(!0);showConfetti=b(!1);scorePercentage=M(()=>{let o=this.results();return console.log(o),o?.summary.score.percentage??0});performanceLevel=M(()=>{let o=this.scorePercentage();return o>=90?"excellent":o>=70?"good":o>=50?"average":"needs-improvement"});performanceMessage=M(()=>{switch(this.performanceLevel()){case"excellent":return"Excellent! Outstanding performance! \u{1F389}";case"good":return"Good job! Keep up the great work! \u{1F44F}";case"average":return"Not bad! Keep practicing to improve! \u{1F4AA}";default:return"Keep practicing! You'll do better next time! \u{1F4DA}"}});incorrectQuestions=M(()=>this.results()?.questions.filter(e=>!e.isCorrect)??[]);hasIncorrectAnswers=M(()=>this.incorrectQuestions().length>0);chartData=M(()=>{let o=this.results();return o?{correct:o.summary.questions.correct,incorrect:o.summary.questions.incorrect,skipped:o.summary.questions.unanswered}:{correct:0,incorrect:0,skipped:0}});chartPercentages=M(()=>{let o=this.chartData(),e=o.correct+o.incorrect+o.skipped;return e===0?{correct:0,incorrect:0,skipped:0}:{correct:Math.round(o.correct/e*100),incorrect:Math.round(o.incorrect/e*100),skipped:Math.round(o.skipped/e*100)}});ngOnInit(){this.route.params.pipe(y(this.destroy$)).subscribe(o=>{let e=o.sessionId;e?(this.sessionId.set(e),this.loadResults()):this.router.navigate(["/dashboard"])})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}loadResults(){if(this.isLoading.set(!0),this.results()){this.isLoading.set(!1),this.checkConfetti();return}this.quizService.reviewQuiz(this.sessionId()).pipe(y(this.destroy$)).subscribe({next:()=>{this.isLoading.set(!1),this.checkConfetti()},error:()=>{this.isLoading.set(!1),this.router.navigate(["/dashboard"])}})}checkConfetti(){this.scorePercentage()>80&&(this.showConfetti.set(!0),setTimeout(()=>this.showConfetti.set(!1),5e3))}formatTime(o){if(!o)return"0s";let e=Math.floor(o/60),c=o%60;return e>0?`${e}m ${c}s`:`${c}s`}getDifficultyColor(o){switch(o?.toLowerCase()){case"easy":return"success";case"medium":return"warning";case"hard":return"error";default:return"default"}}getQuestionTypeText(o){switch(o){case"multiple":return"Multiple Choice";case"trueFalse":return"True/False";case"written":return"Written";default:return o}}retakeQuiz(){let o=this.quizService.activeSession();o?this.router.navigate(["/quiz/setup"],{queryParams:{categoryId:o.categoryId,difficulty:o.difficulty,quizType:o.quizType}}):this.router.navigate(["/quiz/setup"])}reviewIncorrect(){this.router.navigate(["/quiz",this.sessionId(),"review"],{queryParams:{filter:"incorrect"}})}goToDashboard(){this.quizService.clearSession(),this.router.navigate(["/dashboard"])}shareResults(o){let e=this.results();if(!e)return;let c=`I scored ${e.summary.score.percentage}% on my quiz! \u{1F3AF}`,s=window.location.href,O="";switch(o){case"twitter":O=`https://twitter.com/intent/tweet?text=${encodeURIComponent(c)}&url=${encodeURIComponent(s)}`;break;case"linkedin":O=`https://www.linkedin.com/sharing/share-offsite/?url=${encodeURIComponent(s)}`;break;case"facebook":O=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(s)}`;break}O&&window.open(O,"_blank","width=600,height=400")}copyLink(){let o=window.location.href;navigator.clipboard.writeText(o).then(()=>{console.log("Link copied to clipboard")})}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=T({type:r,selectors:[["app-quiz-results"]],decls:3,vars:2,consts:[[1,"quiz-results-container"],[1,"loading-container"],["diameter","50"],[1,"confetti-container"],[1,"results-content"],[1,"results-header"],[1,"header-icon"],[1,"results-title"],[1,"performance-message"],[1,"score-card"],[1,"score-display"],[1,"score-circle"],["viewBox","0 0 100 100"],["cx","50","cy","50","r","45",1,"score-bg"],["cx","50","cy","50","r","45",1,"score-progress"],[1,"score-text"],[1,"score-number"],[1,"score-label"],[1,"score-details"],[1,"score-stat"],[1,"stat-icon","success"],[1,"stat-value"],[1,"stat-label"],[1,"stat-icon","error"],[1,"quiz-metadata"],[1,"metadata-item"],[1,"chart-card"],[1,"pie-chart-container"],[1,"pie-chart"],["viewBox","0 0 200 200"],["cx","100","cy","100","r","80","fill","transparent","stroke","#4caf50","stroke-width","40","transform","rotate(-90 100 100)"],["cx","100","cy","100","r","80","fill","transparent","stroke","#f44336","stroke-width","40","transform","rotate(-90 100 100)"],["cx","100","cy","100","r","80","fill","transparent","stroke","#ff9800","stroke-width","40","transform","rotate(-90 100 100)",3,"stroke-dasharray","stroke-dashoffset"],[1,"chart-center"],[1,"chart-total"],[1,"chart-label"],[1,"chart-legend"],[1,"legend-item"],[1,"legend-color","correct"],[1,"legend-label"],[1,"legend-color","incorrect"],[1,"questions-card"],[1,"questions-list"],[1,"question-item",3,"incorrect"],[1,"action-buttons"],["mat-raised-button","","color","primary",1,"action-btn",3,"click"],["mat-raised-button","","color","accent",1,"action-btn"],["mat-raised-button","",1,"action-btn",3,"click"],[1,"share-card"],[1,"share-buttons"],["mat-mini-fab","","color","primary","matTooltip","Share on Twitter",1,"share-btn","twitter",3,"click"],["viewBox","0 0 24 24","width","24","height","24"],["fill","currentColor","d","M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.70,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z"],["mat-mini-fab","","color","primary","matTooltip","Share on LinkedIn",1,"share-btn","linkedin",3,"click"],["fill","currentColor","d","M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z"],["mat-mini-fab","","color","primary","matTooltip","Share on Facebook",1,"share-btn","facebook",3,"click"],["fill","currentColor","d","M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z"],["mat-mini-fab","","matTooltip","Copy Link",1,"share-btn","copy",3,"click"],[1,"confetti",3,"left","animation-delay"],[1,"confetti"],[1,"stat-icon","warning"],[1,"success"],[1,"error"],["cx","100","cy","100","r","80","fill","transparent","stroke","#ff9800","stroke-width","40","transform","rotate(-90 100 100)"],[1,"legend-color","skipped"],[1,"question-item"],[1,"question-header"],[1,"question-number"],[1,"status-icon","success"],[1,"status-icon","error"],[1,"question-meta"],[1,"type-chip"],[1,"points"],[1,"question-text"],[1,"answer-section"],[1,"answer-row"],[1,"answer-label"],[1,"answer-value"],[1,"answer-row","correct"],[1,"explanation"],[1,"answer-value","correct"],["mat-raised-button","","color","accent",1,"action-btn",3,"click"]],template:function(e,c){e&1&&(t(0,"div",0),d(1,ce,4,0,"div",1),d(2,we,124,30),n()),e&2&&(a(),m(c.isLoading()?1:-1),a(),m(!c.isLoading()&&c.results()?2:-1))},dependencies:[Q,j,D,A,N,H,$,Y,F,U,G,B,ee,X,J,W,Z,K,ne,te],styles:[".quiz-results-container[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;padding:2rem;position:relative;min-height:calc(100vh - 64px)}@media (max-width: 768px){.quiz-results-container[_ngcontent-%COMP%]{padding:1rem}}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1rem}.confetti-container[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.confetti[_ngcontent-%COMP%]{position:absolute;width:10px;height:10px;background:var(--primary-color);top:-10px;animation:_ngcontent-%COMP%_confetti-fall 3s linear forwards}.confetti[_ngcontent-%COMP%]:nth-child(2n){background:var(--accent-color);width:12px;height:12px}.confetti[_ngcontent-%COMP%]:nth-child(3n){background:#4caf50;width:8px;height:8px}.confetti[_ngcontent-%COMP%]:nth-child(4n){background:#ff9800}.confetti[_ngcontent-%COMP%]:nth-child(5n){background:#f44336;width:6px;height:6px}@keyframes _ngcontent-%COMP%_confetti-fall{to{transform:translateY(100vh) rotate(360deg);opacity:0}}.results-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;animation:_ngcontent-%COMP%_fadeIn .5s ease-in-out}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-header[_ngcontent-%COMP%]{text-align:center;margin-bottom:1rem}.results-header[_ngcontent-%COMP%] .header-icon[_ngcontent-%COMP%]{width:80px;height:80px;margin:0 auto 1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:_ngcontent-%COMP%_scaleIn .5s ease-out}.results-header[_ngcontent-%COMP%] .header-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;color:#fff}.results-header[_ngcontent-%COMP%] .header-icon.excellent[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4caf50,#8bc34a)}.results-header[_ngcontent-%COMP%] .header-icon.good[_ngcontent-%COMP%]{background:linear-gradient(135deg,#2196f3,#03a9f4)}.results-header[_ngcontent-%COMP%] .header-icon.average[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ff9800,#ffc107)}.results-header[_ngcontent-%COMP%] .header-icon.needs-improvement[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f44336,#e91e63)}.results-header[_ngcontent-%COMP%] .results-title[_ngcontent-%COMP%]{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary)}@media (max-width: 768px){.results-header[_ngcontent-%COMP%] .results-title[_ngcontent-%COMP%]{font-size:2rem}}.results-header[_ngcontent-%COMP%] .performance-message[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:500;margin:0}.results-header[_ngcontent-%COMP%] .performance-message.excellent[_ngcontent-%COMP%]{color:#4caf50}.results-header[_ngcontent-%COMP%] .performance-message.good[_ngcontent-%COMP%]{color:#2196f3}.results-header[_ngcontent-%COMP%] .performance-message.average[_ngcontent-%COMP%]{color:#ff9800}.results-header[_ngcontent-%COMP%] .performance-message.needs-improvement[_ngcontent-%COMP%]{color:#f44336}@keyframes _ngcontent-%COMP%_scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.score-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .6s ease-out .2s both}.score-card.excellent[_ngcontent-%COMP%]{border-left:4px solid #4caf50}.score-card.good[_ngcontent-%COMP%]{border-left:4px solid #2196f3}.score-card.average[_ngcontent-%COMP%]{border-left:4px solid #ff9800}.score-card.needs-improvement[_ngcontent-%COMP%]{border-left:4px solid #f44336}.score-card[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-around;gap:2rem;padding:2rem 0}@media (max-width: 768px){.score-card[_ngcontent-%COMP%] .score-display[_ngcontent-%COMP%]{flex-direction:column;gap:1.5rem}}.score-card[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%]{position:relative;width:180px;height:180px}.score-card[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:100%;transform:rotate(-90deg)}.score-card[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%] .score-bg[_ngcontent-%COMP%]{fill:none;stroke:var(--bg-tertiary);stroke-width:10}.score-card[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%] .score-progress[_ngcontent-%COMP%]{fill:none;stroke:var(--primary-color);stroke-width:10;stroke-linecap:round;stroke-dasharray:283;transition:stroke-dashoffset 1s ease-out}.score-card[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%] .score-text[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.score-card[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%] .score-text[_ngcontent-%COMP%] .score-number[_ngcontent-%COMP%]{display:block;font-size:2.5rem;font-weight:700;color:var(--text-primary)}.score-card[_ngcontent-%COMP%] .score-circle[_ngcontent-%COMP%] .score-text[_ngcontent-%COMP%] .score-label[_ngcontent-%COMP%]{margin-top:10px;display:block;font-size:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.score-card[_ngcontent-%COMP%] .score-details[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;flex:1}.score-card[_ngcontent-%COMP%] .score-stat[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}.score-card[_ngcontent-%COMP%] .score-stat[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{font-size:36px;width:36px;height:36px}.score-card[_ngcontent-%COMP%] .score-stat[_ngcontent-%COMP%] .stat-icon.success[_ngcontent-%COMP%]{color:#4caf50}.score-card[_ngcontent-%COMP%] .score-stat[_ngcontent-%COMP%] .stat-icon.error[_ngcontent-%COMP%]{color:#f44336}.score-card[_ngcontent-%COMP%] .score-stat[_ngcontent-%COMP%] .stat-icon.warning[_ngcontent-%COMP%]{color:#ff9800}.score-card[_ngcontent-%COMP%] .score-stat[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.score-card[_ngcontent-%COMP%] .score-stat[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.score-card[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{margin:2rem 0}.score-card[_ngcontent-%COMP%] .quiz-metadata[_ngcontent-%COMP%]{display:flex;justify-content:space-around;gap:1rem}@media (max-width: 768px){.score-card[_ngcontent-%COMP%] .quiz-metadata[_ngcontent-%COMP%]{flex-direction:column;gap:.75rem}}.score-card[_ngcontent-%COMP%] .quiz-metadata[_ngcontent-%COMP%] .metadata-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-secondary)}.score-card[_ngcontent-%COMP%] .quiz-metadata[_ngcontent-%COMP%] .metadata-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.score-card[_ngcontent-%COMP%] .quiz-metadata[_ngcontent-%COMP%] .metadata-item[_ngcontent-%COMP%] .success[_ngcontent-%COMP%]{color:#4caf50}.score-card[_ngcontent-%COMP%] .quiz-metadata[_ngcontent-%COMP%] .metadata-item[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{color:#f44336}@keyframes _ngcontent-%COMP%_slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.chart-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .6s ease-out .4s both}.chart-card[_ngcontent-%COMP%] .pie-chart-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-around;gap:3rem;padding:2rem 0}@media (max-width: 768px){.chart-card[_ngcontent-%COMP%] .pie-chart-container[_ngcontent-%COMP%]{flex-direction:column;gap:2rem}}.chart-card[_ngcontent-%COMP%] .pie-chart[_ngcontent-%COMP%]{position:relative;width:200px;height:200px}.chart-card[_ngcontent-%COMP%] .pie-chart[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:100%}.chart-card[_ngcontent-%COMP%] .pie-chart[_ngcontent-%COMP%] circle[_ngcontent-%COMP%]{transition:stroke-dasharray 1s ease-out,stroke-dashoffset 1s ease-out}.chart-card[_ngcontent-%COMP%] .pie-chart[_ngcontent-%COMP%] .chart-center[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.chart-card[_ngcontent-%COMP%] .pie-chart[_ngcontent-%COMP%] .chart-center[_ngcontent-%COMP%] .chart-total[_ngcontent-%COMP%]{display:block;font-size:2rem;font-weight:700;color:var(--text-primary)}.chart-card[_ngcontent-%COMP%] .pie-chart[_ngcontent-%COMP%] .chart-center[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%]{display:block;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase}.chart-card[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.chart-card[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:var(--text-primary)}.chart-card[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-color[_ngcontent-%COMP%]{width:20px;height:20px;border-radius:4px}.chart-card[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-color.correct[_ngcontent-%COMP%]{background-color:#4caf50}.chart-card[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-color.incorrect[_ngcontent-%COMP%]{background-color:#f44336}.chart-card[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-color.skipped[_ngcontent-%COMP%]{background-color:#ff9800}.questions-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .6s ease-out .6s both}.questions-card[_ngcontent-%COMP%] .questions-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto;padding:.5rem}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%]{padding:1.5rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-secondary);transition:all .3s ease}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%]:hover{box-shadow:0 2px 8px #0000001a}.questions-card[_ngcontent-%COMP%] .question-item.incorrect[_ngcontent-%COMP%]{border-left:4px solid #f44336;background-color:#f443360d}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-number[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-number[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-number[_ngcontent-%COMP%] .status-icon.success[_ngcontent-%COMP%]{color:#4caf50}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-number[_ngcontent-%COMP%] .status-icon.error[_ngcontent-%COMP%]{color:#f44336}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] .type-chip[_ngcontent-%COMP%]{font-size:.75rem;height:24px}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-header[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] .points[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary);font-weight:600}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%]{font-size:1rem;color:var(--text-primary);margin-bottom:1rem;line-height:1.6}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;font-size:.9375rem}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-label[_ngcontent-%COMP%]{font-weight:600;color:var(--text-secondary);min-width:120px}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value[_ngcontent-%COMP%]{color:var(--text-primary)}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value.incorrect[_ngcontent-%COMP%]{color:#f44336;text-decoration:line-through}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value.correct[_ngcontent-%COMP%]{color:#4caf50;font-weight:600}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row.correct[_ngcontent-%COMP%] .answer-label[_ngcontent-%COMP%]{color:#4caf50}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding:1rem;background-color:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--primary-color)}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:20px;width:20px;height:20px;flex-shrink:0}.questions-card[_ngcontent-%COMP%] .question-item[_ngcontent-%COMP%] .explanation[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.5}.action-buttons[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;animation:_ngcontent-%COMP%_slideUp .6s ease-out .8s both}.action-buttons[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600}.action-buttons[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}@media (max-width: 768px){.action-buttons[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}}.share-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .6s ease-out 1s both}.share-card[_ngcontent-%COMP%] .share-buttons[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:1rem;padding:1rem 0}.share-card[_ngcontent-%COMP%] .share-buttons[_ngcontent-%COMP%] .share-btn[_ngcontent-%COMP%]{transition:transform .2s ease,box-shadow .2s ease}.share-card[_ngcontent-%COMP%] .share-buttons[_ngcontent-%COMP%] .share-btn[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.share-card[_ngcontent-%COMP%] .share-buttons[_ngcontent-%COMP%] .share-btn.twitter[_ngcontent-%COMP%]{background-color:#1da1f2}.share-card[_ngcontent-%COMP%] .share-buttons[_ngcontent-%COMP%] .share-btn.linkedin[_ngcontent-%COMP%]{background-color:#0077b5}.share-card[_ngcontent-%COMP%] .share-buttons[_ngcontent-%COMP%] .share-btn.facebook[_ngcontent-%COMP%]{background-color:#1877f2}.share-card[_ngcontent-%COMP%] .share-buttons[_ngcontent-%COMP%] .share-btn.copy[_ngcontent-%COMP%]{background-color:var(--text-secondary)}.share-card[_ngcontent-%COMP%] .share-buttons[_ngcontent-%COMP%] .share-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fff}@media (prefers-color-scheme: dark){.question-item.incorrect[_ngcontent-%COMP%]{background-color:#f443361a}.explanation[_ngcontent-%COMP%]{background-color:#ffffff0d}}"]})};export{ie as QuizResultsComponent}; diff --git a/chunk-P3ICZX4Q.js b/chunk-P3ICZX4Q.js new file mode 100644 index 0000000..c1d0e2d --- /dev/null +++ b/chunk-P3ICZX4Q.js @@ -0,0 +1,2 @@ +import{a as q,b as Y}from"./chunk-NYYADJNO.js";import{N as F,O as H,X as B,Y as L,ea as Q,ra as G,ta as K,va as U}from"./chunk-COFYR5MX.js";import{$ as y,$b as b,Ca as C,Cb as S,Db as c,Eb as m,Jb as d,Kb as g,Lb as f,Mb as p,Mc as N,Pc as z,Ub as O,Xb as D,Za as s,Zb as u,_b as E,ba as h,bc as I,cb as w,cc as V,da as r,dc as T,i as v,jc as A,lc as P,nc as j,ob as M,pb as R,sa as x,ta as k}from"./chunk-2MUIW2M6.js";var $=["text"],tt=[[["mat-icon"]],"*"],et=["mat-icon","*"];function it(e,a){if(e&1&&p(0,"mat-pseudo-checkbox",1),e&2){let t=u();d("disabled",t.disabled)("state",t.selected?"checked":"unchecked")}}function ot(e,a){if(e&1&&p(0,"mat-pseudo-checkbox",3),e&2){let t=u();d("disabled",t.disabled)}}function at(e,a){if(e&1&&(g(0,"span",4),P(1),f()),e&2){let t=u();s(),j("(",t.group.label,")")}}var nt=new h("MAT_OPTION_PARENT_COMPONENT"),rt=new h("MatOptgroup");var _=class{source;isUserInput;constructor(a,t=!1){this.source=a,this.isUserInput=t}},J=(()=>{class e{_element=r(C);_changeDetectorRef=r(N);_parent=r(nt,{optional:!0});group=r(rt,{optional:!0});_signalDisableRipple=!1;_selected=!1;_active=!1;_mostRecentViewValue="";get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}value;id=r(B).getId("mat-option-");get disabled(){return this.group&&this.group.disabled||this._disabled()}set disabled(t){this._disabled.set(t)}_disabled=k(!1);get disableRipple(){return this._signalDisableRipple?this._parent.disableRipple():!!this._parent?.disableRipple}get hideSingleSelectionIndicator(){return!!(this._parent&&this._parent.hideSingleSelectionIndicator)}onSelectionChange=new w;_text;_stateChanges=new v;constructor(){let t=r(F);t.load(K),t.load(H),this._signalDisableRipple=!!this._parent&&x(this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(t=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),t&&this._emitSelectionChangeEvent())}deselect(t=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),t&&this._emitSelectionChangeEvent())}focus(t,o){let i=this._getHostElement();typeof i.focus=="function"&&i.focus(o)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(t){(t.keyCode===13||t.keyCode===32)&&!L(t)&&(this._selectViaInteraction(),t.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=this.multiple?!this._selected:!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){let t=this.viewValue;t!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=t)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(t=!1){this.onSelectionChange.emit(new _(this,t))}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["mat-option"]],viewQuery:function(o,i){if(o&1&&I($,7),o&2){let n;V(n=T())&&(i._text=n.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(o,i){o&1&&D("click",function(){return i._selectViaInteraction()})("keydown",function(l){return i._handleKeydown(l)}),o&2&&(O("id",i.id),S("aria-selected",i.selected)("aria-disabled",i.disabled.toString()),A("mdc-list-item--selected",i.selected)("mat-mdc-option-multiple",i.multiple)("mat-mdc-option-active",i.active)("mdc-list-item--disabled",i.disabled))},inputs:{value:"value",id:"id",disabled:[2,"disabled","disabled",z]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],ngContentSelectors:et,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(o,i){o&1&&(E(tt),c(0,it,1,2,"mat-pseudo-checkbox",1),b(1),g(2,"span",2,0),b(4,1),f(),c(5,ot,1,1,"mat-pseudo-checkbox",3),c(6,at,2,1,"span",4),p(7,"div",5)),o&2&&(m(i.multiple?0:-1),s(5),m(!i.multiple&&i.selected&&!i.hideSingleSelectionIndicator?5:-1),s(),m(i.group&&i.group._inert?6:-1),s(),d("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},dependencies:[q,G],styles:[`.mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple){background-color:var(--mat-option-selected-state-layer-color, var(--mat-sys-secondary-container))}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-multiple) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors: active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{right:auto;left:16px}}.mat-mdc-option-multiple{--mat-list-list-item-selected-container-color: var(--mat-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-focus-indicator::before{content:""} +`],encapsulation:2,changeDetection:0})}return e})();function wt(e,a,t){if(t.length){let o=a.toArray(),i=t.toArray(),n=0;for(let l=0;lt+o?Math.max(0,e-o+a):t}var Vt=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=R({type:e});static \u0275inj=y({imports:[U,Q,Y,J]})}return e})();export{nt as a,rt as b,J as c,wt as d,Mt as e,Vt as f}; diff --git a/chunk-PCQ5ZI2S.js b/chunk-PCQ5ZI2S.js new file mode 100644 index 0000000..cd1255f --- /dev/null +++ b/chunk-PCQ5ZI2S.js @@ -0,0 +1 @@ +import{a as X,b as Z}from"./chunk-YTKR22CH.js";import"./chunk-GIRDLTGV.js";import"./chunk-P3ICZX4Q.js";import{a as tt}from"./chunk-L5RFXRXA.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import"./chunk-7XDVX5KB.js";import{a as U,b as H}from"./chunk-CTXOKINH.js";import{a as K}from"./chunk-B4CGVF35.js";import{b as J}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{b as W,g as G}from"./chunk-TAS7XC6E.js";import"./chunk-3GOV5KJM.js";import"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as R,c as D,f as V,i as A}from"./chunk-6NRCTHHS.js";import{b as I}from"./chunk-RC3JXGN6.js";import{a as j,b as Y}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as L,j as Q,u as E,ua as F,w as T,wa as N,ya as $,za as B}from"./chunk-COFYR5MX.js";import{Db as u,Eb as _,Ec as p,Hb as k,Ib as S,Jb as h,Kb as n,Lb as o,Mb as w,Tb as v,U as f,Xb as C,Za as a,Zb as d,da as x,i as y,ia as m,ja as g,jc as M,lc as i,mc as O,nc as l,ob as q,ta as P,vc as z}from"./chunk-2MUIW2M6.js";var nt=()=>[5,10,20,50],ot=(c,e)=>e.id;function it(c,e){c&1&&(n(0,"div",1),w(1,"mat-spinner",3),n(2,"p"),i(3,"Loading review..."),o()())}function rt(c,e){if(c&1){let t=v();n(0,"button",51),C("click",function(){m(t);let s=d().$implicit,b=d(2);return g(b.toggleBookmark(s.id))}),n(1,"mat-icon"),i(2),o()()}if(c&2){let t=d().$implicit,r=d(2);M("bookmarked",r.isBookmarked(t.id)),h("matTooltip",r.isBookmarked(t.id)?"Remove bookmark":"Bookmark question"),a(2),l(" ",r.isBookmarked(t.id)?"bookmark":"bookmark_border"," ")}}function at(c,e){c&1&&(n(0,"mat-icon",46),i(1,"close"),o())}function ct(c,e){c&1&&(n(0,"mat-icon",47),i(1,"check"),o())}function st(c,e){if(c&1&&(n(0,"div",48)(1,"div",44),i(2,"Correct Answer:"),o(),n(3,"div",52),i(4),n(5,"mat-icon",47),i(6,"check"),o()()()),c&2){let t=d().$implicit,r=d(2);a(4),l(" ",r.formatAnswer(t.correctAnswer)," ")}}function dt(c,e){if(c&1&&(n(0,"div",49)(1,"div",53)(2,"mat-icon"),i(3,"lightbulb"),o(),n(4,"span"),i(5,"Explanation"),o()(),n(6,"p",54),i(7),o()()),c&2){let t=d().$implicit;a(7),O(t.explanation)}}function lt(c,e){if(c&1&&(n(0,"div",50)(1,"mat-icon"),i(2,"schedule"),o(),n(3,"span"),i(4),o()()),c&2){let t=d().$implicit;a(4),l("Time spent: ",t.timeSpent,"s")}}function mt(c,e){if(c&1&&(n(0,"mat-card",32)(1,"mat-card-header")(2,"div",33)(3,"div",34)(4,"span",35),i(5),o(),n(6,"mat-icon",36),i(7),o()(),n(8,"div",37)(9,"mat-chip",38),i(10),o(),n(11,"span",39),i(12),o()(),u(13,rt,3,4,"button",40),o()(),n(14,"mat-card-content")(15,"div",41),i(16),o(),w(17,"mat-divider"),n(18,"div",42)(19,"div",43)(20,"div",44),i(21,"Your Answer:"),o(),n(22,"div",45),i(23),u(24,at,2,0,"mat-icon",46)(25,ct,2,0,"mat-icon",47),o()(),u(26,st,7,1,"div",48),o(),u(27,dt,8,1,"div",49),u(28,lt,5,1,"div",50),o()()),c&2){let t=e.$implicit,r=e.$index,s=d(2);M("incorrect",!t.isCorrect),a(3),M("correct",t.isCorrect),a(2),O(s.pageIndex()*s.pageSize()+r+1),a(2),l(" ",t.isCorrect?"check_circle":"cancel"," "),a(3),l(" ",s.getQuestionTypeText(t.questionType)," "),a(2),l("",t.points," pts"),a(),_(s.isAuthenticated()?13:-1),a(3),O(t.questionText),a(6),M("incorrect",!t.isCorrect),a(),l(" ",s.formatAnswer(t.userAnswer??"")||"Not answered"," "),a(),_(t.isCorrect?25:24),a(2),_(t.isCorrect?-1:26),a(),_(t.explanation?27:-1),a(),_(t.timeSpent?28:-1)}}function gt(c,e){c&1&&(n(0,"div",27)(1,"mat-icon"),i(2,"info"),o(),n(3,"p"),i(4,"No questions match the selected filter"),o()())}function ut(c,e){if(c&1){let t=v();n(0,"mat-paginator",55),C("page",function(s){m(t);let b=d(2);return g(b.onPageChange(s))}),o()}if(c&2){let t=d(2);h("length",t.totalQuestions())("pageSize",t.pageSize())("pageIndex",t.pageIndex())("pageSizeOptions",z(4,nt))}}function _t(c,e){if(c&1){let t=v();n(0,"div",2)(1,"div",4)(2,"button",5),C("click",function(){m(t);let s=d();return g(s.backToResults())}),n(3,"mat-icon"),i(4,"arrow_back"),o()(),n(5,"div",6)(6,"h1",7),i(7,"Quiz Review"),o(),n(8,"p",8),i(9,"Review your answers and learn from mistakes"),o()()(),n(10,"div",9)(11,"mat-card",10)(12,"mat-card-content")(13,"div",11)(14,"mat-icon"),i(15,"quiz"),o()(),n(16,"div",12)(17,"div",13),i(18),o(),n(19,"div",14),i(20,"Total Questions"),o()()()(),n(21,"mat-card",15)(22,"mat-card-content")(23,"div",16)(24,"mat-icon"),i(25,"check_circle"),o()(),n(26,"div",12)(27,"div",13),i(28),o(),n(29,"div",14),i(30,"Correct"),o()()()(),n(31,"mat-card",17)(32,"mat-card-content")(33,"div",18)(34,"mat-icon"),i(35,"cancel"),o()(),n(36,"div",12)(37,"div",13),i(38),o(),n(39,"div",14),i(40,"Incorrect"),o()()()(),n(41,"mat-card",19)(42,"mat-card-content")(43,"div",20)(44,"mat-icon"),i(45,"emoji_events"),o()(),n(46,"div",12)(47,"div",13),i(48),o(),n(49,"div",14),i(50,"Score"),o()()()()(),n(51,"div",21)(52,"button",22),C("click",function(){m(t);let s=d();return g(s.setFilter("all"))}),n(53,"mat-icon"),i(54,"list"),o(),i(55),o(),n(56,"button",23),C("click",function(){m(t);let s=d();return g(s.setFilter("correct"))}),n(57,"mat-icon"),i(58,"check_circle"),o(),i(59),o(),n(60,"button",24),C("click",function(){m(t);let s=d();return g(s.setFilter("incorrect"))}),n(61,"mat-icon"),i(62,"cancel"),o(),i(63),o()(),n(64,"div",25),k(65,mt,29,17,"mat-card",26,ot),u(67,gt,5,0,"div",27),o(),u(68,ut,1,5,"mat-paginator",28),n(69,"div",29)(70,"button",30),C("click",function(){m(t);let s=d();return g(s.backToResults())}),n(71,"mat-icon"),i(72,"arrow_back"),o(),i(73," Back to Results "),o(),n(74,"button",31),C("click",function(){m(t);let s=d();return g(s.retakeQuiz())}),n(75,"mat-icon"),i(76,"refresh"),o(),i(77," Retake Quiz "),o(),n(78,"button",30),C("click",function(){m(t);let s=d();return g(s.goToDashboard())}),n(79,"mat-icon"),i(80,"dashboard"),o(),i(81," Dashboard "),o()()()}if(c&2){let t=d();a(18),O(t.allQuestions().length),a(10),O(t.correctCount()),a(10),O(t.incorrectCount());let r=t.results().summary.score.total>0?t.results().summary.score.earned/t.results().summary.score.total*100:0;a(10),l("",r,"%"),a(4),M("active",t.filterType()==="all"),a(3),l(" All Questions (",t.allQuestions().length,") "),a(),M("active",t.filterType()==="correct"),a(3),l(" Correct (",t.correctCount(),") "),a(),M("active",t.filterType()==="incorrect"),a(3),l(" Incorrect (",t.incorrectCount(),") "),a(2),S(t.paginatedQuestions()),a(2),_(t.paginatedQuestions().length===0?67:-1),a(),_(t.totalQuestions()>t.pageSize()?68:-1)}}var et=class c{route=x(E);router=x(T);quizService=x(tt);storageService=x(I);destroy$=new y;sessionId=P("");results=this.quizService.quizResults;isLoading=P(!0);pageSize=P(10);pageIndex=P(0);filterType=P("all");allQuestions=p(()=>{let e=this.results();return e&&"questions"in e&&Array.isArray(e.questions)?e.questions:[]});filteredQuestions=p(()=>{let e=this.allQuestions(),t=this.filterType();return t==="all"?e:t==="correct"?e.filter(r=>r.isCorrect):t==="incorrect"?e.filter(r=>!r.isCorrect):e});paginatedQuestions=p(()=>{let e=this.filteredQuestions(),t=this.pageIndex()*this.pageSize(),r=t+this.pageSize();return e.slice(t,r)});totalQuestions=p(()=>this.filteredQuestions().length);correctCount=p(()=>this.allQuestions().filter(e=>e.isCorrect).length);incorrectCount=p(()=>this.allQuestions().filter(e=>!e.isCorrect).length);sessionInfo=p(()=>{let e=this.results();return e&&"session"in e?e.session:null});isAuthenticated=p(()=>this.storageService.isAuthenticated());bookmarkedQuestions=P(new Set);ngOnInit(){this.route.params.pipe(f(this.destroy$)).subscribe(e=>{let t=e.sessionId;t?(this.sessionId.set(t),this.route.queryParams.pipe(f(this.destroy$)).subscribe(r=>{r.filter==="incorrect"&&this.filterType.set("incorrect"),this.loadReview()})):this.router.navigate(["/dashboard"])})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}loadReview(){if(this.isLoading.set(!0),this.results()&&this.results().questions){this.isLoading.set(!1);return}this.quizService.reviewQuiz(this.sessionId()).pipe(f(this.destroy$)).subscribe({next:()=>{this.isLoading.set(!1)},error:()=>{this.isLoading.set(!1),this.router.navigate(["/dashboard"])}})}onPageChange(e){this.pageIndex.set(e.pageIndex),this.pageSize.set(e.pageSize),window.scrollTo({top:0,behavior:"smooth"})}setFilter(e){this.filterType.set(e),this.pageIndex.set(0)}toggleBookmark(e){if(!this.isAuthenticated()){this.router.navigate(["/login"],{queryParams:{returnUrl:this.router.url}});return}let t=this.bookmarkedQuestions(),r=new Set(t);r.has(e)?(r.delete(e),console.log("Remove bookmark:",e)):(r.add(e),console.log("Add bookmark:",e)),this.bookmarkedQuestions.set(r)}isBookmarked(e){return this.bookmarkedQuestions().has(e)}getQuestionTypeText(e){switch(e){case"multiple":return"Multiple Choice";case"trueFalse":return"True/False";case"written":return"Written";default:return e}}formatAnswer(e){return Array.isArray(e)?e.join(", "):e}backToResults(){this.router.navigate(["/quiz",this.sessionId(),"results"])}retakeQuiz(){this.router.navigate(["/quiz/setup"])}goToDashboard(){this.quizService.clearSession(),this.router.navigate(["/dashboard"])}static \u0275fac=function(t){return new(t||c)};static \u0275cmp=q({type:c,selectors:[["app-quiz-review"]],decls:3,vars:2,consts:[[1,"quiz-review-container"],[1,"loading-container"],[1,"review-content"],["diameter","50"],[1,"review-header"],["mat-icon-button","",1,"back-btn",3,"click"],[1,"header-content"],[1,"review-title"],[1,"review-subtitle"],[1,"summary-cards"],[1,"summary-card"],[1,"card-icon","total"],[1,"card-info"],[1,"card-value"],[1,"card-label"],[1,"summary-card","correct"],[1,"card-icon","success"],[1,"summary-card","incorrect"],[1,"card-icon","error"],[1,"summary-card","score"],[1,"card-icon","primary"],[1,"filter-tabs"],["mat-stroked-button","",3,"click"],["mat-stroked-button","",1,"correct-tab",3,"click"],["mat-stroked-button","",1,"incorrect-tab",3,"click"],[1,"questions-list"],[1,"question-card",3,"incorrect"],[1,"empty-state"],["showFirstLastButtons","",3,"length","pageSize","pageIndex","pageSizeOptions"],[1,"action-buttons"],["mat-raised-button","",1,"action-btn",3,"click"],["mat-raised-button","","color","primary",1,"action-btn",3,"click"],[1,"question-card"],[1,"question-header-content"],[1,"question-number-badge"],[1,"number"],[1,"status-icon"],[1,"question-meta"],[1,"type-chip"],[1,"points-badge"],["mat-icon-button","",1,"bookmark-btn",3,"bookmarked","matTooltip"],[1,"question-text"],[1,"answer-section"],[1,"answer-row"],[1,"answer-label"],[1,"answer-value"],[1,"answer-icon","error"],[1,"answer-icon","success"],[1,"answer-row","correct-answer"],[1,"explanation-section"],[1,"time-spent"],["mat-icon-button","",1,"bookmark-btn",3,"click","matTooltip"],[1,"answer-value","correct"],[1,"explanation-header"],[1,"explanation-text"],["showFirstLastButtons","",3,"page","length","pageSize","pageIndex","pageSizeOptions"]],template:function(t,r){t&1&&(n(0,"div",0),u(1,it,4,0,"div",1),u(2,_t,82,15,"div",2),o()),t&2&&(a(),_(r.isLoading()?1:-1),a(),_(!r.isLoading()&&r.results()?2:-1))},dependencies:[Q,A,R,D,V,$,N,F,L,B,G,W,H,U,Y,j,K,J,Z,X],styles:[".quiz-review-container[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;padding:2rem;min-height:calc(100vh - 64px)}@media (max-width: 768px){.quiz-review-container[_ngcontent-%COMP%]{padding:1rem}}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-secondary);font-size:1rem}.review-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;animation:_ngcontent-%COMP%_fadeIn .5s ease-in-out}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.review-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.review-header[_ngcontent-%COMP%] .back-btn[_ngcontent-%COMP%]{flex-shrink:0}.review-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{flex:1}.review-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .review-title[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:700;color:var(--text-primary)}@media (max-width: 768px){.review-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .review-title[_ngcontent-%COMP%]{font-size:1.5rem}}.review-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .review-subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;font-size:1rem;color:var(--text-secondary)}.summary-cards[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 1024px){.summary-cards[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.summary-cards[_ngcontent-%COMP%]{grid-template-columns:1fr}}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_slideUp .5s ease-out both}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%]:nth-child(1){animation-delay:.1s}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%]:nth-child(2){animation-delay:.2s}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%]:nth-child(3){animation-delay:.3s}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%]:nth-child(4){animation-delay:.4s}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1.5rem}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%]{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px;color:#fff}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-icon.total[_ngcontent-%COMP%]{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-icon.success[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4caf50,#8bc34a)}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-icon.error[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f44336,#e91e63)}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-icon.primary[_ngcontent-%COMP%]{background:linear-gradient(135deg,#2196f3,#03a9f4)}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-info[_ngcontent-%COMP%]{flex:1}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-info[_ngcontent-%COMP%] .card-value[_ngcontent-%COMP%]{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.summary-cards[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .card-info[_ngcontent-%COMP%] .card-label[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}@keyframes _ngcontent-%COMP%_slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.filter-tabs[_ngcontent-%COMP%]{display:flex;gap:.75rem;flex-wrap:wrap}.filter-tabs[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-weight:600;transition:all .3s ease}.filter-tabs[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.filter-tabs[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.filter-tabs[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fff}.filter-tabs[_ngcontent-%COMP%] button.correct-tab.active[_ngcontent-%COMP%]{background-color:#4caf50;border-color:#4caf50}.filter-tabs[_ngcontent-%COMP%] button.incorrect-tab.active[_ngcontent-%COMP%]{background-color:#f44336;border-color:#f44336}.questions-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%]{transition:all .3s ease}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #00000026}.questions-list[_ngcontent-%COMP%] .question-card.incorrect[_ngcontent-%COMP%]{border-left:4px solid #f44336}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;width:100%}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-number-badge[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;background-color:var(--bg-tertiary);font-weight:700}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-number-badge.correct[_ngcontent-%COMP%]{background-color:#4caf501a;color:#4caf50}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-number-badge.correct[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{color:#4caf50}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-number-badge[_ngcontent-%COMP%]:not(.correct){background-color:#f443361a;color:#f44336}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-number-badge[_ngcontent-%COMP%]:not(.correct) .status-icon[_ngcontent-%COMP%]{color:#f44336}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-number-badge[_ngcontent-%COMP%] .number[_ngcontent-%COMP%]{font-size:1.25rem}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-number-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex:1}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] .type-chip[_ngcontent-%COMP%]{font-size:.75rem;height:28px}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .question-meta[_ngcontent-%COMP%] .points-badge[_ngcontent-%COMP%]{padding:.25rem .75rem;border-radius:12px;background-color:var(--primary-color);color:#fff;font-size:.875rem;font-weight:600}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .bookmark-btn[_ngcontent-%COMP%]{margin-left:auto;transition:transform .2s ease}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .bookmark-btn[_ngcontent-%COMP%]:hover{transform:scale(1.1)}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .bookmark-btn.bookmarked[_ngcontent-%COMP%]{color:#ffc107}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] .question-header-content[_ngcontent-%COMP%] .bookmark-btn.bookmarked[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_bookmarkPop .3s ease-out}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:1.5rem}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%]{font-size:1.125rem;font-weight:500;color:var(--text-primary);line-height:1.6;margin-bottom:1.5rem}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{margin:1.5rem 0}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background-color:var(--bg-secondary)}@media (max-width: 768px){.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row.correct-answer[_ngcontent-%COMP%]{background-color:#4caf501a;border:2px solid rgba(76,175,80,.3)}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-label[_ngcontent-%COMP%]{font-weight:600;color:var(--text-secondary);min-width:130px;font-size:.9375rem}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value[_ngcontent-%COMP%]{flex:1;font-size:1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;font-weight:500}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value.incorrect[_ngcontent-%COMP%]{color:#f44336}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value.correct[_ngcontent-%COMP%]{color:#4caf50}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value[_ngcontent-%COMP%] .answer-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value[_ngcontent-%COMP%] .answer-icon.success[_ngcontent-%COMP%]{color:#4caf50}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .answer-section[_ngcontent-%COMP%] .answer-row[_ngcontent-%COMP%] .answer-value[_ngcontent-%COMP%] .answer-icon.error[_ngcontent-%COMP%]{color:#f44336}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .explanation-section[_ngcontent-%COMP%]{margin-top:1.5rem;padding:1.25rem;background:linear-gradient(135deg,rgba(var(--primary-rgb),.05),rgba(var(--accent-rgb),.05));border-radius:8px;border-left:4px solid var(--primary-color)}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .explanation-section[_ngcontent-%COMP%] .explanation-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--primary-color);margin-bottom:.75rem}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .explanation-section[_ngcontent-%COMP%] .explanation-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .explanation-section[_ngcontent-%COMP%] .explanation-text[_ngcontent-%COMP%]{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .time-spent[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.875rem;color:var(--text-secondary)}.questions-list[_ngcontent-%COMP%] .question-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .time-spent[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}@keyframes _ngcontent-%COMP%_bookmarkPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.empty-state[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:var(--text-secondary);opacity:.5;margin-bottom:1rem}.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.125rem;color:var(--text-secondary);margin:0}mat-paginator[_ngcontent-%COMP%]{margin-top:1rem;background-color:transparent}.action-buttons[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;padding-top:1rem;border-top:2px solid var(--border-color)}.action-buttons[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600}.action-buttons[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}@media (max-width: 768px){.action-buttons[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.answer-row[_ngcontent-%COMP%]{background-color:#ffffff0d}.answer-row.correct-answer[_ngcontent-%COMP%]{background-color:#4caf5026}.explanation-section[_ngcontent-%COMP%]{background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--accent-rgb),.1))}}"]})};export{et as QuizReviewComponent}; diff --git a/chunk-R3PUHZUP.js b/chunk-R3PUHZUP.js new file mode 100644 index 0000000..6a45929 --- /dev/null +++ b/chunk-R3PUHZUP.js @@ -0,0 +1,2 @@ +import{a as I}from"./chunk-7XDVX5KB.js";import{g as j,h as q,j as U,k as Z}from"./chunk-EGL4ZKWQ.js";import{d as L,e as P,i as V,o as B}from"./chunk-GWD5A44H.js";import{H as _,K as x,N as z,X as O,ea as E,ga as f,ma as M}from"./chunk-COFYR5MX.js";import{$ as h,Ca as p,Cb as k,Fc as D,Pc as b,Ub as F,Xb as y,_ as A,ba as c,da as r,db as u,gb as S,hb as g,i as d,jc as H,l as C,ob as R,pb as m,qb as v,sa as T,uc as N,za as w}from"./chunk-2MUIW2M6.js";var X=(()=>{class s{static \u0275fac=function(t){return new(t||s)};static \u0275cmp=R({type:s,selectors:[["ng-component"]],hostAttrs:["cdk-text-field-style-loader",""],decls:0,vars:0,template:function(t,i){},styles:[`textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0 !important;box-sizing:content-box !important;height:auto !important;overflow:hidden !important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0 !important;box-sizing:content-box !important;height:0 !important}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms} +`],encapsulation:2,changeDetection:0})}return s})(),J={passive:!0},G=(()=>{class s{_platform=r(_);_ngZone=r(u);_renderer=r(S).createRenderer(null,null);_styleLoader=r(z);_monitoredElements=new Map;constructor(){}monitor(e){if(!this._platform.isBrowser)return C;this._styleLoader.load(X);let t=x(e),i=this._monitoredElements.get(t);if(i)return i.subject;let n=new d,o="cdk-text-field-autofilled",a=l=>{l.animationName==="cdk-text-field-autofill-start"&&!t.classList.contains(o)?(t.classList.add(o),this._ngZone.run(()=>n.next({target:l.target,isAutofilled:!0}))):l.animationName==="cdk-text-field-autofill-end"&&t.classList.contains(o)&&(t.classList.remove(o),this._ngZone.run(()=>n.next({target:l.target,isAutofilled:!1})))},W=this._ngZone.runOutsideAngular(()=>(t.classList.add("cdk-text-field-autofill-monitored"),this._renderer.listen(t,"animationstart",a,J)));return this._monitoredElements.set(t,{subject:n,unlisten:W}),n}stopMonitoring(e){let t=x(e),i=this._monitoredElements.get(t);i&&(i.unlisten(),i.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((e,t)=>this.stopMonitoring(t))}static \u0275fac=function(t){return new(t||s)};static \u0275prov=A({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})();var K=(()=>{class s{static \u0275fac=function(t){return new(t||s)};static \u0275mod=m({type:s});static \u0275inj=h({})}return s})();var $=new c("MAT_INPUT_VALUE_ACCESSOR");var Q=["button","checkbox","file","hidden","image","radio","range","reset","submit"],ee=new c("MAT_INPUT_CONFIG"),Le=(()=>{class s{_elementRef=r(p);_platform=r(_);ngControl=r(P,{optional:!0,self:!0});_autofillMonitor=r(G);_ngZone=r(u);_formField=r(q,{optional:!0});_renderer=r(g);_uid=r(O).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder;_errorStateTracker;_config=r(ee,{optional:!0});_cleanupIosKeyup;_cleanupWebkitWheel;_isServer;_isNativeSelect;_isTextarea;_isInFormField;focused=!1;stateChanges=new d;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=f(e),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(e){this._id=e||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator(L.required)??!1}set required(e){this._required=f(e)}_required;get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&M().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(e){e!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(e):this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=f(e)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(e=>M().has(e));constructor(){let e=r(V,{optional:!0}),t=r(B,{optional:!0}),i=r(U),n=r($,{optional:!0,self:!0}),o=this._elementRef.nativeElement,a=o.nodeName.toLowerCase();n?T(n.value)?this._signalBasedValueAccessor=n:this._inputValueAccessor=n:this._inputValueAccessor=o,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{this._cleanupIosKeyup=this._renderer.listen(o,"keyup",this._iOSKeyupListener)}),this._errorStateTracker=new Z(i,this.ngControl,t,e,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=a==="select",this._isTextarea=a==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=o.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&D(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._cleanupIosKeyup?.(),this._cleanupWebkitWheel?.()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}updateErrorState(){this._errorStateTracker.updateErrorState()}_focusChanged(e){if(e!==this.focused){if(!this._isNativeSelect&&e&&this.disabled&&this.disabledInteractive){let t=this._elementRef.nativeElement;t.type==="number"?(t.type="text",t.setSelectionRange(0,0),t.type="number"):t.setSelectionRange(0,0)}this.focused=e,this.stateChanges.next()}}_onInput(){}_dirtyCheckNativeValue(){let e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_dirtyCheckPlaceholder(){let e=this._getPlaceholder();if(e!==this._previousPlaceholder){let t=this._elementRef.nativeElement;this._previousPlaceholder=e,e?t.setAttribute("placeholder",e):t.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){Q.indexOf(this._type)>-1}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!this._isNeverEmpty()&&!this._elementRef.nativeElement.value&&!this._isBadInput()&&!this.autofilled}get shouldLabelFloat(){if(this._isNativeSelect){let e=this._elementRef.nativeElement,t=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&t&&t.label)}else return this.focused&&!this.disabled||!this.empty}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(e){let t=this._elementRef.nativeElement;e.length?t.setAttribute("aria-describedby",e.join(" ")):t.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){let e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}_iOSKeyupListener=e=>{let t=e.target;!t.value&&t.selectionStart===0&&t.selectionEnd===0&&(t.setSelectionRange(1,1),t.setSelectionRange(0,0))};_getReadonlyAttribute(){return this._isNativeSelect?null:this.readonly||this.disabled&&this.disabledInteractive?"true":null}static \u0275fac=function(t){return new(t||s)};static \u0275dir=v({type:s,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:21,hostBindings:function(t,i){t&1&&y("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),t&2&&(F("id",i.id)("disabled",i.disabled&&!i.disabledInteractive)("required",i.required),k("name",i.name||null)("readonly",i._getReadonlyAttribute())("aria-disabled",i.disabled&&i.disabledInteractive?"true":null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required)("id",i.id),H("mat-input-server",i._isServer)("mat-mdc-form-field-textarea-control",i._isInFormField&&i._isTextarea)("mat-mdc-form-field-input-control",i._isInFormField)("mat-mdc-input-disabled-interactive",i.disabledInteractive)("mdc-text-field__input",i._isInFormField)("mat-mdc-native-select-inline",i._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:[0,"aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly",disabledInteractive:[2,"disabledInteractive","disabledInteractive",b]},exportAs:["matInput"],features:[N([{provide:j,useExisting:s}]),w]})}return s})(),Pe=(()=>{class s{static \u0275fac=function(t){return new(t||s)};static \u0275mod=m({type:s});static \u0275inj=h({imports:[E,I,I,K,E]})}return s})();export{$ as a,Le as b,Pe as c}; diff --git a/chunk-RC3JXGN6.js b/chunk-RC3JXGN6.js new file mode 100644 index 0000000..4993a3c --- /dev/null +++ b/chunk-RC3JXGN6.js @@ -0,0 +1 @@ +import{_ as i}from"./chunk-2MUIW2M6.js";var s=class r{TOKEN_KEY="auth_token";GUEST_TOKEN_KEY="guest_token";USER_KEY="user_data";THEME_KEY="app_theme";REMEMBER_ME_KEY="remember_me";constructor(){}getItem(t){return localStorage.getItem(t)}setItem(t,e,n=!0){localStorage.setItem(t,e)}getToken(){return this.getItem(this.TOKEN_KEY)}setToken(t,e=!0){this.setItem(this.TOKEN_KEY,t,e),this.setItem(this.REMEMBER_ME_KEY,e.toString(),!0)}clearToken(){this.removeItem(this.TOKEN_KEY)}getGuestToken(){return this.getItem(this.GUEST_TOKEN_KEY)}setGuestToken(t){this.setItem(this.GUEST_TOKEN_KEY,t)}clearGuestToken(){this.removeItem(this.GUEST_TOKEN_KEY)}getUserData(){let t=this.getItem(this.USER_KEY);if(!t||t==="undefined"||t==="null")return null;try{return JSON.parse(t)}catch(e){return console.error("Error parsing user data:",e),null}}setUserData(t,e=!0){this.setItem(this.USER_KEY,JSON.stringify(t),e)}clearUserData(){this.removeItem(this.USER_KEY)}getTheme(){return this.getItem(this.THEME_KEY)||"light"}setTheme(t){this.setItem(this.THEME_KEY,t,!0)}getRememberMe(){return this.getItem(this.REMEMBER_ME_KEY)==="true"}clearAll(){this.clearToken(),this.clearGuestToken(),this.clearUserData()}isAuthenticated(){return!!this.getToken()}isGuest(){return!this.getToken()&&!!this.getGuestToken()}removeItem(t){localStorage.removeItem(t)}static \u0275fac=function(e){return new(e||r)};static \u0275prov=i({token:r,factory:r.\u0275fac,providedIn:"root"})};var E={production:!0,apiUrl:"https://quzapi.fitsyncclinic.com/api",apiTimeout:3e4,cacheTimeout:3e5,enableLogging:!1,appName:"Interview Quiz Application",appVersion:"1.0.0"};export{E as a,s as b}; diff --git a/chunk-RDQGS2XZ.js b/chunk-RDQGS2XZ.js new file mode 100644 index 0000000..214c013 --- /dev/null +++ b/chunk-RDQGS2XZ.js @@ -0,0 +1 @@ +import{a as A}from"./chunk-3GOV5KJM.js";import{a as U}from"./chunk-52JZ5I3Y.js";import{n as y,w as f}from"./chunk-COFYR5MX.js";import{D as n,Ec as r,W as o,_ as b,a as g,b as c,da as S,f as v,o as d,r as h,ta as a}from"./chunk-2MUIW2M6.js";var D=class m{http=S(y);router=S(f);toastService=S(U);apiUrl=`${A.apiUrl}/admin`;cache=new Map;STATS_CACHE_TTL=300*1e3;ANALYTICS_CACHE_TTL=600*1e3;adminStatsState=a(null);isLoadingStats=a(!1);statsError=a(null);guestAnalyticsState=a(null);isLoadingAnalytics=a(!1);analyticsError=a(null);guestSettingsState=a(null);isLoadingSettings=a(!1);settingsError=a(null);adminUsersState=a([]);isLoadingUsers=a(!1);usersError=a(null);usersPagination=a(null);currentUserFilters=a({});selectedUserDetail=a(null);isLoadingUserDetail=a(!1);userDetailError=a(null);dateRangeFilter=a({startDate:null,endDate:null});hasStats=r(()=>this.adminStatsState()!==null);totalUsers=r(()=>this.adminStatsState()?.users.total??0);activeUsers=r(()=>this.adminStatsState()?.users.active??0);totalQuizSessions=r(()=>this.adminStatsState()?.quizzes.totalSessions??0);totalQuestions=r(()=>this.adminStatsState()?.content.totalQuestions??0);averageScore=r(()=>this.adminStatsState()?.quizzes.averageScore??0);hasAnalytics=r(()=>this.guestAnalyticsState()!==null);totalGuestSessions=r(()=>this.guestAnalyticsState()?.overview.totalGuestSessions??0);activeGuestSessions=r(()=>this.guestAnalyticsState()?.overview.activeGuestSessions??0);conversionRate=r(()=>this.guestAnalyticsState()?.overview.conversionRate??0);avgQuizzesPerGuest=r(()=>this.guestAnalyticsState()?.quizActivity.avgQuizzesPerGuest??0);hasSettings=r(()=>this.guestSettingsState()!==null);isGuestAccessEnabled=r(()=>this.guestSettingsState()?.guestAccessEnabled??!1);maxQuizzesPerDay=r(()=>this.guestSettingsState()?.maxQuizzesPerDay??0);maxQuestionsPerQuiz=r(()=>this.guestSettingsState()?.maxQuestionsPerQuiz??0);hasUsers=r(()=>this.adminUsersState().length>0);totalUsersCount=r(()=>this.usersPagination()?.totalItems??0);currentPage=r(()=>this.usersPagination()?.currentPage??1);totalPages=r(()=>this.usersPagination()?.totalPages??1);hasUserDetail=r(()=>this.selectedUserDetail()!==null);userFullName=r(()=>{let t=this.selectedUserDetail();return t?t.username:""});userTotalQuizzes=r(()=>this.selectedUserDetail()?.statistics.totalQuizzes??0);userAverageScore=r(()=>this.selectedUserDetail()?.statistics.averageScore??0);userAccuracy=r(()=>this.selectedUserDetail()?.statistics.accuracy??0);getStatistics(t=!1){let s="admin-statistics";if(!t){let e=this.getFromCache(s);if(e)return this.adminStatsState.set(e),new v(i=>{i.next(e),i.complete()})}return this.isLoadingStats.set(!0),this.statsError.set(null),this.http.get(`${this.apiUrl}/statistics`).pipe(h(e=>e.data),o(e=>{this.adminStatsState.set(e),this.setCache(s,e),this.isLoadingStats.set(!1)}),n(e=>(this.isLoadingStats.set(!1),this.handleError(e,"Failed to load statistics"))))}getStatisticsWithDateRange(t,s){this.isLoadingStats.set(!0),this.statsError.set(null);let e={startDate:t.toISOString(),endDate:s.toISOString()};return this.http.get(`${this.apiUrl}/statistics`,{params:e}).pipe(h(i=>i.data),o(i=>{this.adminStatsState.set(i),this.isLoadingStats.set(!1),this.dateRangeFilter.set({startDate:t,endDate:s})}),n(i=>(this.isLoadingStats.set(!1),this.handleError(i,"Failed to load filtered statistics"))))}clearDateFilter(){this.dateRangeFilter.set({startDate:null,endDate:null}),this.getStatistics(!0).subscribe()}refreshStatistics(){return this.invalidateCache("admin-statistics"),this.getStatistics(!0)}getGuestAnalytics(t=!1){let s="guest-analytics";if(!t){let e=this.getFromCache(s);if(e)return this.guestAnalyticsState.set(e),new v(i=>{i.next(e),i.complete()})}return this.isLoadingAnalytics.set(!0),this.analyticsError.set(null),this.http.get(`${this.apiUrl}/guest-analytics`).pipe(h(e=>e.data),o(e=>{this.guestAnalyticsState.set(e),this.setCache(s,e,this.ANALYTICS_CACHE_TTL),this.isLoadingAnalytics.set(!1)}),n(e=>(this.isLoadingAnalytics.set(!1),this.handleError(e,"Failed to load guest analytics"))))}refreshGuestAnalytics(){return this.invalidateCache("guest-analytics"),this.getGuestAnalytics(!0)}getFromCache(t){let s=this.cache.get(t);return s?Date.now()>s.expiresAt?(this.cache.delete(t),null):s.data:null}setCache(t,s,e=this.STATS_CACHE_TTL){let i=Date.now(),l={data:s,timestamp:i,expiresAt:i+e};this.cache.set(t,l)}invalidateCache(t){this.cache.delete(t)}clearCache(){this.cache.clear()}handleError(t,s){let e=s;return t.status===401?(e="Unauthorized. Please login again.",this.toastService.error(e),this.router.navigate(["/login"])):t.status===403?(e="Access denied. Admin privileges required.",this.toastService.error(e),this.router.navigate(["/dashboard"])):t.status===404?(e="Resource not found.",this.toastService.error(e)):t.status===500?(e="Server error. Please try again later.",this.toastService.error(e)):t.error?.message?(e=t.error.message,this.toastService.error(e)):this.toastService.error(e),this.statsError.set(e),d(()=>new Error(e))}getGuestSettings(t=!1){let s="guest-settings";if(!t){let e=this.getFromCache(s);if(e)return this.guestSettingsState.set(e),new v(i=>{i.next(e),i.complete()})}return this.isLoadingSettings.set(!0),this.settingsError.set(null),this.http.get(`${this.apiUrl}/guest-settings`).pipe(h(e=>e.data),o(e=>{this.guestSettingsState.set(e),this.setCache(s,e,this.ANALYTICS_CACHE_TTL),this.isLoadingSettings.set(!1)}),n(e=>(this.isLoadingSettings.set(!1),this.handleSettingsError(e,"Failed to load guest settings"))))}refreshGuestSettings(){return this.invalidateCache("guest-settings"),this.getGuestSettings(!0)}updateGuestSettings(t){return this.isLoadingSettings.set(!0),this.settingsError.set(null),this.http.put(`${this.apiUrl}/guest-settings`,t).pipe(h(s=>s.data),o(s=>{this.guestSettingsState.set(s),this.invalidateCache("guest-settings"),this.isLoadingSettings.set(!1),this.toastService.success("Guest settings updated successfully")}),n(s=>(this.isLoadingSettings.set(!1),this.handleSettingsError(s,"Failed to update guest settings"))))}handleSettingsError(t,s){let e=s;return t.status===401?(e="Unauthorized. Please login again.",this.toastService.error(e),this.router.navigate(["/login"])):t.status===403?(e="Access denied. Admin privileges required.",this.toastService.error(e),this.router.navigate(["/dashboard"])):t.status===404?(e="Settings not found.",this.toastService.error(e)):t.error?.message?(e=t.error.message,this.toastService.error(e)):this.toastService.error(e),this.settingsError.set(e),d(()=>new Error(e))}getUsers(t={}){this.isLoadingUsers.set(!0),this.usersError.set(null);let s={page:t.page??1,limit:t.limit??10};return t.role&&t.role!=="all"&&(s.role=t.role),t.isActive&&t.isActive!=="all"&&(s.isActive=t.isActive==="active"),t.sortBy&&(s.sortBy=t.sortBy,s.sortOrder=t.sortOrder??"asc"),t.search&&(s.search=t.search),this.http.get(`${this.apiUrl}/users`,{params:s}).pipe(o(e=>{this.adminUsersState.set(e.data.users),this.usersPagination.set(e.data.pagination),this.currentUserFilters.set(t),this.isLoadingUsers.set(!1)}),n(e=>(this.isLoadingUsers.set(!1),this.handleUsersError(e,"Failed to load users"))))}refreshUsers(){let t=this.currentUserFilters();return this.getUsers(t)}getUserDetails(t){return this.isLoadingUserDetail.set(!0),this.userDetailError.set(null),this.http.get(`${this.apiUrl}/users/${t}`).pipe(h(s=>s.data),o(s=>{this.selectedUserDetail.set(s),this.isLoadingUserDetail.set(!1)}),n(s=>(this.isLoadingUserDetail.set(!1),this.handleUserDetailError(s,"Failed to load user details"))))}clearUserDetail(){this.selectedUserDetail.set(null),this.userDetailError.set(null)}updateUserRole(t,s){return this.http.put(`${this.apiUrl}/users/${t}/role`,{role:s}).pipe(o(e=>{let l=this.adminUsersState().map(p=>p.id===t?c(g({},p),{role:s}):p);this.adminUsersState.set(l);let u=this.selectedUserDetail();u&&u.id===t&&this.selectedUserDetail.set(c(g({},u),{role:s})),this.toastService.success(e.message||"User role updated successfully")}),n(e=>{let i="Failed to update user role";return e.status===401?(i="Unauthorized. Please login again.",this.toastService.error(i),this.router.navigate(["/login"])):e.status===403?(i="Access denied. Admin privileges required.",this.toastService.error(i)):e.status===404?(i="User not found.",this.toastService.error(i)):e.status===400&&e.error?.message?(i=e.error.message,this.toastService.error(i)):e.error?.message?(i=e.error.message,this.toastService.error(i)):this.toastService.error(i),d(()=>new Error(i))}))}activateUser(t){return this.http.put(`${this.apiUrl}/users/${t}/activate`,{}).pipe(o(s=>{let i=this.adminUsersState().map(u=>u.id===t?c(g({},u),{isActive:!0}):u);this.adminUsersState.set(i);let l=this.selectedUserDetail();l&&l.id===t&&this.selectedUserDetail.set(c(g({},l),{isActive:!0})),this.toastService.success(s.message||"User activated successfully")}),n(s=>{let e="Failed to activate user";return s.status===401?(e="Unauthorized. Please login again.",this.toastService.error(e),this.router.navigate(["/login"])):s.status===403?(e="Access denied. Admin privileges required.",this.toastService.error(e)):s.status===404?(e="User not found.",this.toastService.error(e)):s.error?.message?(e=s.error.message,this.toastService.error(e)):this.toastService.error(e),d(()=>new Error(e))}))}deactivateUser(t){return this.http.delete(`${this.apiUrl}/users/${t}`).pipe(o(s=>{let i=this.adminUsersState().map(u=>u.id===t?c(g({},u),{isActive:!1}):u);this.adminUsersState.set(i);let l=this.selectedUserDetail();l&&l.id===t&&this.selectedUserDetail.set(c(g({},l),{isActive:!1})),this.toastService.success(s.message||"User deactivated successfully")}),n(s=>{let e="Failed to deactivate user";return s.status===401?(e="Unauthorized. Please login again.",this.toastService.error(e),this.router.navigate(["/login"])):s.status===403?(e="Access denied. Admin privileges required.",this.toastService.error(e)):s.status===404?(e="User not found.",this.toastService.error(e)):s.error?.message?(e=s.error.message,this.toastService.error(e)):this.toastService.error(e),d(()=>new Error(e))}))}handleUserDetailError(t,s){let e=s;return t.status===401?(e="Unauthorized. Please login again.",this.toastService.error(e),this.router.navigate(["/login"])):t.status===403?(e="Access denied. Admin privileges required.",this.toastService.error(e),this.router.navigate(["/dashboard"])):t.status===404?(e="User not found.",this.toastService.error(e)):t.error?.message?(e=t.error.message,this.toastService.error(e)):this.toastService.error(e),this.userDetailError.set(e),d(()=>new Error(e))}handleUsersError(t,s){let e=s;return t.status===401?(e="Unauthorized. Please login again.",this.toastService.error(e),this.router.navigate(["/login"])):t.status===403?(e="Access denied. Admin privileges required.",this.toastService.error(e),this.router.navigate(["/dashboard"])):t.status===404?(e="Users not found.",this.toastService.error(e)):t.error?.message?(e=t.error.message,this.toastService.error(e)):this.toastService.error(e),this.usersError.set(e),d(()=>new Error(e))}getQuestion(t){return this.http.get(`${this.apiUrl}/questions/${t}`).pipe(n(s=>this.handleQuestionError(s,"Failed to load question")))}createQuestion(t){return this.http.post(`${this.apiUrl}/questions`,t).pipe(o(s=>{this.toastService.success("Question created successfully")}),n(s=>this.handleQuestionError(s,"Failed to create question")))}updateQuestion(t,s){return this.http.put(`${this.apiUrl}/questions/${t}`,s).pipe(o(e=>{this.toastService.success("Question updated successfully")}),n(e=>this.handleQuestionError(e,"Failed to update question")))}getAllQuestions(t){let s={};return t.page&&(s.page=t.page),t.limit&&(s.limit=t.limit),t.search&&(s.search=t.search),t.category&&t.category!=="all"&&(s.category=t.category),t.difficulty&&t.difficulty!=="all"&&(s.difficulty=t.difficulty),t.sortBy&&(s.sortBy=t.sortBy),t.order&&(s.order=t.order.toUpperCase()),this.http.get(`${this.apiUrl}/questions`,{params:s}).pipe(n(e=>this.handleQuestionError(e,"Failed to load questions")))}deleteQuestion(t){return this.http.delete(`${this.apiUrl}/questions/${t}`).pipe(o(s=>{this.toastService.success("Question deleted successfully")}),n(s=>this.handleQuestionError(s,"Failed to delete question")))}handleQuestionError(t,s){let e=s;return t.status===401?(e="Unauthorized. Please login again.",this.toastService.error(e),this.router.navigate(["/login"])):t.status===403?(e="Access denied. Admin privileges required.",this.toastService.error(e),this.router.navigate(["/dashboard"])):t.status===400?(e=t.error?.message||"Invalid question data. Please check all fields.",this.toastService.error(e)):t.error?.message?(e=t.error.message,this.toastService.error(e)):this.toastService.error(e),d(()=>new Error(e))}resetState(){this.adminStatsState.set(null),this.isLoadingStats.set(!1),this.statsError.set(null),this.guestAnalyticsState.set(null),this.isLoadingAnalytics.set(!1),this.analyticsError.set(null),this.guestSettingsState.set(null),this.isLoadingSettings.set(!1),this.settingsError.set(null),this.adminUsersState.set([]),this.isLoadingUsers.set(!1),this.usersError.set(null),this.usersPagination.set(null),this.currentUserFilters.set({}),this.selectedUserDetail.set(null),this.isLoadingUserDetail.set(!1),this.userDetailError.set(null),this.dateRangeFilter.set({startDate:null,endDate:null}),this.clearCache()}static \u0275fac=function(s){return new(s||m)};static \u0275prov=b({token:m,factory:m.\u0275fac,providedIn:"root"})};export{D as a}; diff --git a/chunk-RMZSWKDH.js b/chunk-RMZSWKDH.js new file mode 100644 index 0000000..33bec54 --- /dev/null +++ b/chunk-RMZSWKDH.js @@ -0,0 +1 @@ +import{a as gt,b as pt}from"./chunk-FETAVRDH.js";import{b as nt,c as it}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as rt}from"./chunk-7XDVX5KB.js";import{a as I}from"./chunk-TPLZKWZ7.js";import{b as J,c as K,d as Q,e as X,f as tt,i as et}from"./chunk-EGL4ZKWQ.js";import{a as B,b as j,c as U,d as Z,f as H,g as Y,i as W}from"./chunk-6NRCTHHS.js";import{b as R}from"./chunk-RC3JXGN6.js";import{a as dt,b as ct}from"./chunk-N6VRXIQE.js";import{b as L,d as m,f as V,g as A,l as N,o as D,r as G,x as $,z as q}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as mt,C as T,j as k,ua as ot,w as F,wa as at,x as z,ya as st,za as lt}from"./chunk-COFYR5MX.js";import{Cb as w,Db as d,Eb as c,Ec as E,Jb as f,Kb as r,Lb as i,Mb as g,U as P,Xb as M,Za as s,Zb as C,da as v,i as x,kc as y,lc as o,mc as h,nc as O,ob as S,ta as b}from"./chunk-2MUIW2M6.js";function ft(a,e){if(a&1&&(r(0,"mat-error"),o(1),i()),a&2){let t=C();s(),h(t.getErrorMessage("username"))}}function ht(a,e){if(a&1&&(r(0,"mat-error"),o(1),i()),a&2){let t=C();s(),h(t.getErrorMessage("email"))}}function vt(a,e){if(a&1&&(r(0,"mat-error"),o(1),i()),a&2){let t=C();s(),h(t.getErrorMessage("password"))}}function Ct(a,e){if(a&1&&(r(0,"div",11)(1,"div",18)(2,"span"),o(3,"Password Strength:"),i(),r(4,"span"),o(5),i()(),g(6,"mat-progress-bar",19),i()),a&2){let t=C();s(4),y("strength-"+t.passwordStrength().color),s(),O(" ",t.passwordStrength().label," "),s(),f("value",t.passwordStrength().score)("color",t.passwordStrength().color)}}function bt(a,e){a&1&&(r(0,"mat-error"),o(1,"Passwords do not match"),i())}function Mt(a,e){a&1&&(r(0,"div",13)(1,"mat-icon"),o(2,"info"),i(),r(3,"span"),o(4,"Your guest progress will be saved to this account!"),i()())}function _t(a,e){a&1&&(g(0,"mat-spinner",20),r(1,"span"),o(2,"Creating Account..."),i())}function wt(a,e){a&1&&(r(0,"span"),o(1,"Create Account"),i())}var ut=class a{fb=v($);authService=v(I);storageService=v(R);router=v(F);destroy$=new x;isSubmitting=b(!1);hidePassword=b(!0);hideConfirmPassword=b(!0);registerForm;passwordStrength=E(()=>{let e=this.registerForm?.get("password")?.value||"";return this.calculatePasswordStrength(e)});constructor(){let e=this.storageService.getGuestToken();this.registerForm=this.fb.group({username:["",[m.required,m.minLength(3),m.maxLength(30),m.pattern(/^[a-zA-Z0-9_]+$/)]],email:["",[m.required,m.email]],password:["",[m.required,m.minLength(8),this.passwordStrengthValidator]],confirmPassword:["",[m.required]]},{validators:this.passwordMatchValidator}),this.authService.isAuthenticated()&&this.router.navigate(["/dashboard"])}passwordStrengthValidator(e){let t=e.value;if(!t)return null;let n=/[A-Z]/.test(t),l=/[a-z]/.test(t),p=/[0-9]/.test(t),u=/[!@#$%^&*(),.?":{}|<>]/.test(t);return n&&l&&p&&u?null:{weakPassword:!0}}passwordMatchValidator(e){let t=e.get("password")?.value,n=e.get("confirmPassword")?.value;return t===n?null:{passwordMismatch:!0}}calculatePasswordStrength(e){if(!e)return{score:0,label:"",color:""};let t=0;e.length>=8&&(t+=25),e.length>=12&&(t+=25),/[a-z]/.test(e)&&(t+=15),/[A-Z]/.test(e)&&(t+=15),/[0-9]/.test(e)&&(t+=10),/[!@#$%^&*(),.?":{}|<>]/.test(e)&&(t+=10);let n="",l="";return t<40?(n="Weak",l="warn"):t<70?(n="Fair",l="accent"):t<90?(n="Good",l="primary"):(n="Strong",l="primary"),{score:t,label:n,color:l}}togglePasswordVisibility(){this.hidePassword.update(e=>!e)}toggleConfirmPasswordVisibility(){this.hideConfirmPassword.update(e=>!e)}onSubmit(){if(this.registerForm.invalid||this.isSubmitting()){this.registerForm.markAllAsTouched();return}this.isSubmitting.set(!0);let{username:e,email:t,password:n}=this.registerForm.value,l=this.storageService.getGuestToken()||void 0;this.authService.register(e,t,n,l).pipe(P(this.destroy$)).subscribe({next:()=>{this.isSubmitting.set(!1)},error:()=>{this.isSubmitting.set(!1)}})}getErrorMessage(e){let t=this.registerForm.get(e);return!t||!t.touched?"":t.hasError("required")?`${this.getFieldLabel(e)} is required`:t.hasError("email")?"Please enter a valid email address":t.hasError("minlength")?`Must be at least ${t.getError("minlength").requiredLength} characters`:t.hasError("maxlength")?`Must not exceed ${t.getError("maxlength").requiredLength} characters`:t.hasError("pattern")&&e==="username"?"Username can only contain letters, numbers, and underscores":t.hasError("weakPassword")?"Password must include uppercase, lowercase, number, and special character":""}getFieldLabel(e){return{username:"Username",email:"Email",password:"Password",confirmPassword:"Confirm Password"}[e]||e}hasPasswordMismatch(){return!!this.registerForm.get("confirmPassword")?.touched&&this.registerForm.hasError("passwordMismatch")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=S({type:a,selectors:[["app-register"]],decls:66,vars:15,consts:[[1,"register-container"],[1,"register-card"],[1,"header-content"],[1,"logo-icon"],[1,"register-form",3,"ngSubmit","formGroup"],["appearance","outline",1,"full-width"],["matInput","","formControlName","username","placeholder","Enter your username","autocomplete","username"],["matPrefix",""],["matInput","","type","email","formControlName","email","placeholder","Enter your email","autocomplete","email"],["matInput","","formControlName","password","placeholder","Enter your password","autocomplete","new-password",3,"type"],["mat-icon-button","","matSuffix","","type","button",3,"click"],[1,"password-strength"],["matInput","","formControlName","confirmPassword","placeholder","Confirm your password","autocomplete","new-password",3,"type"],[1,"guest-conversion-message"],["mat-raised-button","","color","primary","type","submit",1,"full-width","submit-button",3,"disabled"],[1,"footer-links"],["routerLink","/login",1,"link"],["routerLink","/",1,"link"],[1,"strength-label"],["mode","determinate",3,"value","color"],["diameter","20"]],template:function(t,n){if(t&1&&(r(0,"div",0)(1,"mat-card",1)(2,"mat-card-header")(3,"div",2)(4,"mat-icon",3),o(5,"quiz"),i(),r(6,"div")(7,"mat-card-title"),o(8,"Create Your Account"),i(),r(9,"mat-card-subtitle"),o(10,"Start your interview preparation journey"),i()()()(),r(11,"mat-card-content")(12,"form",4),M("ngSubmit",function(){return n.onSubmit()}),r(13,"mat-form-field",5)(14,"mat-label"),o(15,"Username"),i(),g(16,"input",6),r(17,"mat-icon",7),o(18,"person"),i(),d(19,ft,2,1,"mat-error"),r(20,"mat-hint"),o(21,"3-30 characters, letters, numbers, and underscores only"),i()(),r(22,"mat-form-field",5)(23,"mat-label"),o(24,"Email"),i(),g(25,"input",8),r(26,"mat-icon",7),o(27,"email"),i(),d(28,ht,2,1,"mat-error"),i(),r(29,"mat-form-field",5)(30,"mat-label"),o(31,"Password"),i(),g(32,"input",9),r(33,"mat-icon",7),o(34,"lock"),i(),r(35,"button",10),M("click",function(){return n.togglePasswordVisibility()}),r(36,"mat-icon"),o(37),i()(),d(38,vt,2,1,"mat-error"),r(39,"mat-hint"),o(40,"Minimum 8 characters"),i()(),d(41,Ct,7,5,"div",11),r(42,"mat-form-field",5)(43,"mat-label"),o(44,"Confirm Password"),i(),g(45,"input",12),r(46,"mat-icon",7),o(47,"lock"),i(),r(48,"button",10),M("click",function(){return n.toggleConfirmPasswordVisibility()}),r(49,"mat-icon"),o(50),i()(),d(51,bt,2,0,"mat-error"),i(),d(52,Mt,5,0,"div",13),r(53,"button",14),d(54,_t,3,0)(55,wt,2,0,"span"),i()()(),r(56,"mat-card-footer")(57,"div",15)(58,"p"),o(59,"Already have an account? "),r(60,"a",16),o(61,"Login here"),i()(),r(62,"p"),o(63,"Or continue as "),r(64,"a",17),o(65,"Guest"),i()()()()()()),t&2){let l,p,u,_;s(12),f("formGroup",n.registerForm),s(7),c((l=n.registerForm.get("username"))!=null&&l.invalid&&((l=n.registerForm.get("username"))!=null&&l.touched)?19:-1),s(9),c((p=n.registerForm.get("email"))!=null&&p.invalid&&((p=n.registerForm.get("email"))!=null&&p.touched)?28:-1),s(4),f("type",n.hidePassword()?"password":"text"),s(3),w("aria-label","Toggle password visibility"),s(2),h(n.hidePassword()?"visibility_off":"visibility"),s(),c((u=n.registerForm.get("password"))!=null&&u.invalid&&((u=n.registerForm.get("password"))!=null&&u.touched)?38:-1),s(3),c((_=n.registerForm.get("password"))!=null&&_.value?41:-1),s(4),f("type",n.hideConfirmPassword()?"password":"text"),s(3),w("aria-label","Toggle confirm password visibility"),s(2),h(n.hideConfirmPassword()?"visibility_off":"visibility"),s(),c(n.hasPasswordMismatch()?51:-1),s(),c(-1),s(),f("disabled",n.isSubmitting()),s(),c(n.isSubmitting()?54:55)}},dependencies:[k,q,N,L,V,A,D,G,T,z,W,B,U,Y,H,Z,j,rt,et,J,Q,K,X,tt,it,nt,st,at,ot,mt,lt,pt,gt,ct,dt],styles:[".register-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - var(--footer-height));padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary-lighter) 0%,var(--color-surface) 100%)}.register-card[_ngcontent-%COMP%]{width:100%;max-width:500px;box-shadow:var(--shadow-xl)}.register-card[_ngcontent-%COMP%] .mat-mdc-card-header{padding:var(--spacing-xl) var(--spacing-xl) 0}.register-card[_ngcontent-%COMP%] .mat-mdc-card-content{padding:var(--spacing-lg) var(--spacing-xl)}.register-card[_ngcontent-%COMP%] .mat-mdc-card-footer{padding:0 var(--spacing-xl) var(--spacing-xl)}.header-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-md);width:100%}.header-content[_ngcontent-%COMP%] .logo-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;color:var(--color-primary)}.header-content[_ngcontent-%COMP%] .mat-mdc-card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.header-content[_ngcontent-%COMP%] .mat-mdc-card-subtitle{font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0;color:var(--color-text-secondary)}.register-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.full-width[_ngcontent-%COMP%]{width:100%}.password-strength[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:calc(var(--spacing-md) * -1);margin-bottom:var(--spacing-sm)}.password-strength[_ngcontent-%COMP%] .strength-label[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.password-strength[_ngcontent-%COMP%] .strength-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child{color:var(--color-text-secondary)}.password-strength[_ngcontent-%COMP%] .strength-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child{font-weight:var(--font-weight-semibold)}.password-strength[_ngcontent-%COMP%] .strength-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child.strength-warn{color:var(--color-error)}.password-strength[_ngcontent-%COMP%] .strength-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child.strength-accent{color:var(--color-warning)}.password-strength[_ngcontent-%COMP%] .strength-label[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child.strength-primary{color:var(--color-success)}.password-strength[_ngcontent-%COMP%] .mat-mdc-progress-bar{height:6px;border-radius:var(--radius-full)}.guest-conversion-message[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-info-light);border-radius:var(--radius-md);color:var(--color-info-dark);font-size:var(--font-size-sm);margin-top:calc(var(--spacing-md) * -1)}.guest-conversion-message[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.submit-button[_ngcontent-%COMP%]{margin-top:var(--spacing-md);height:48px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.submit-button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:var(--spacing-sm)}.footer-links[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-divider)}.footer-links[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.footer-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.footer-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover{color:var(--color-primary-dark);text-decoration:underline}.footer-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)} .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:var(--color-background)} .mat-mdc-form-field .mat-mdc-form-field-hint, .mat-mdc-form-field .mat-mdc-form-field-error{font-size:var(--font-size-xs)} .mat-mdc-form-field-icon-prefix{color:var(--color-text-secondary);margin-right:var(--spacing-sm)}@media (max-width: 767px){.register-container[_ngcontent-%COMP%]{padding:var(--spacing-md)}.register-card[_ngcontent-%COMP%] .mat-mdc-card-header{padding:var(--spacing-lg) var(--spacing-md) 0}.register-card[_ngcontent-%COMP%] .mat-mdc-card-content{padding:var(--spacing-md)}.register-card[_ngcontent-%COMP%] .mat-mdc-card-footer{padding:0 var(--spacing-md) var(--spacing-md)}.header-content[_ngcontent-%COMP%] .logo-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.header-content[_ngcontent-%COMP%] .mat-mdc-card-title{font-size:var(--font-size-xl)}}"]})};export{ut as RegisterComponent}; diff --git a/chunk-RQ4AYGDA.js b/chunk-RQ4AYGDA.js new file mode 100644 index 0000000..d3f0234 --- /dev/null +++ b/chunk-RQ4AYGDA.js @@ -0,0 +1 @@ +import"./chunk-MS4AQ6UA.js";import{a as ft,b as Ct}from"./chunk-GIRDLTGV.js";import{c as gt}from"./chunk-P3ICZX4Q.js";import{a as vt}from"./chunk-L5RFXRXA.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import"./chunk-3RK6DDJD.js";import{a as at}from"./chunk-7XDVX5KB.js";import{a as pt}from"./chunk-B4CGVF35.js";import"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{g as ht}from"./chunk-TAS7XC6E.js";import{a as mt}from"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import"./chunk-TPLZKWZ7.js";import{b as et,c as it,i as nt}from"./chunk-EGL4ZKWQ.js";import{a as _t}from"./chunk-GPI43RSU.js";import{a as Y,c as K,f as J,i as tt}from"./chunk-6NRCTHHS.js";import{b as B}from"./chunk-RC3JXGN6.js";import{a as dt,b as ut}from"./chunk-N6VRXIQE.js";import{d as v,f as Q,g as L,l as W,o as X,r as $,u as H,x as G,z as j}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as lt,ea as Z,j as D,u as U,va as rt,w as F,wa as st,x as N,ya as ot,za as ct}from"./chunk-COFYR5MX.js";import{$ as z,Db as m,Eb as h,Ec as C,Gb as V,Hb as O,Ib as P,Jb as y,Kb as e,Lb as t,Mb as S,Qb as q,Rb as A,Tb as x,U as I,Xb as f,Za as o,Zb as d,da as p,i as E,ia as M,ic as T,ja as b,jc as k,lc as n,mc as u,nc as g,ob as w,pb as R}from"./chunk-2MUIW2M6.js";var Mt=(()=>{class r{static \u0275fac=function(s){return new(s||r)};static \u0275mod=R({type:r});static \u0275inj=z({imports:[Z,rt]})}return r})();var xt=(r,a)=>a.id,bt=(r,a)=>a.value;function yt(r,a){if(r&1){let i=x();e(0,"div",5)(1,"mat-icon",8),n(2,"warning"),t(),e(3,"div",9)(4,"p")(5,"strong"),n(6,"Limited Quizzes Remaining"),t()(),e(7,"p"),n(8),t(),e(9,"button",10),f("click",function(){M(i);let l=d();return b(l.navigateToRegister())}),n(10," Sign Up for Unlimited Access "),t()()()}if(r&2){let i=d();o(8),g("You have ",i.remainingQuizzes()," quiz(es) left as a guest.")}}function Tt(r,a){r&1&&(e(0,"div",6),S(1,"mat-spinner",11),e(2,"p"),n(3,"Loading categories..."),t()())}function kt(r,a){if(r&1&&(e(0,"mat-icon"),n(1),t()),r&2){let i=d().$implicit;T("color",i.color),o(),u(i.icon)}}function St(r,a){if(r&1&&(e(0,"mat-option",16)(1,"div",34),m(2,kt,2,3,"mat-icon",35),e(3,"span",36),n(4),t(),e(5,"span",37),n(6),t()()()),r&2){let i=a.$implicit;y("value",i.id),o(2),h(i.icon?2:-1),o(2),u(i.name),o(2),g("(",i.questionCount," questions)")}}function It(r,a){r&1&&(e(0,"mat-error"),n(1,"Please select a category"),t())}function wt(r,a){if(r&1&&(e(0,"div",17)(1,"mat-icon"),n(2),t(),e(3,"div",38)(4,"h3"),n(5),t(),e(6,"p"),n(7),t()()()),r&2){let i,s,l,_,c=d(2);o(),T("color",(i=c.selectedCategory())==null?null:i.color),o(),u((s=c.selectedCategory())==null?null:s.icon),o(3),u((l=c.selectedCategory())==null?null:l.name),o(2),u((_=c.selectedCategory())==null?null:_.description)}}function Et(r,a){if(r&1){let i=x();e(0,"button",39),f("click",function(){let l=M(i).$implicit,_=d(2);return b(_.setupForm.patchValue({questionCount:l}))}),n(1),t()}if(r&2){let i,s=a.$implicit,l=d(2);k("selected",((i=l.setupForm.get("questionCount"))==null?null:i.value)===s),o(),g(" ",s," ")}}function zt(r,a){if(r&1){let i=x();e(0,"button",40),f("click",function(){let l=M(i).$implicit,_=d(2);return b(_.setupForm.patchValue({difficulty:l.value}))}),e(1,"mat-icon"),n(2),t(),e(3,"span"),n(4),t()()}if(r&2){let i,s=a.$implicit,l=d(2);k("selected",((i=l.setupForm.get("difficulty"))==null?null:i.value)===s.value),o(),T("color",s.color),o(),u(s.icon),o(2),u(s.label)}}function Rt(r,a){if(r&1){let i=x();e(0,"mat-card",41),f("click",function(){let l=M(i).$implicit,_=d(2);return b(_.setupForm.patchValue({quizType:l.value}))}),e(1,"mat-icon",42),n(2),t(),e(3,"h3"),n(4),t(),e(5,"p"),n(6),t()()}if(r&2){let i,s=a.$implicit,l=d(2);k("selected",((i=l.setupForm.get("quizType"))==null?null:i.value)===s.value),o(2),u(s.icon),o(2),u(s.label),o(2),u(s.description)}}function Vt(r,a){r&1&&(S(0,"mat-spinner",43),e(1,"span"),n(2,"Starting..."),t())}function qt(r,a){r&1&&(q(0),e(1,"mat-icon"),n(2,"play_arrow"),t(),e(3,"span"),n(4,"Start Quiz"),t(),A())}function At(r,a){if(r&1){let i=x();e(0,"form",12),f("ngSubmit",function(){M(i);let l=d();return b(l.startQuiz())}),e(1,"div",13)(2,"h2")(3,"mat-icon"),n(4,"category"),t(),n(5," Select Category "),t(),e(6,"mat-form-field",14)(7,"mat-label"),n(8,"Choose a category"),t(),e(9,"mat-select",15),O(10,St,7,4,"mat-option",16,xt),t(),m(12,It,2,0,"mat-error"),t(),m(13,wt,8,5,"div",17),t(),e(14,"div",13)(15,"h2")(16,"mat-icon"),n(17,"format_list_numbered"),t(),n(18," Number of Questions "),t(),e(19,"div",18),O(20,Et,2,3,"button",19,V),t(),e(22,"p",20),n(23),t()(),e(24,"div",13)(25,"h2")(26,"mat-icon"),n(27,"tune"),t(),n(28," Difficulty Level "),t(),e(29,"div",21),O(30,zt,5,6,"button",22,bt),t()(),e(32,"div",13)(33,"h2")(34,"mat-icon"),n(35,"mode"),t(),n(36," Quiz Mode "),t(),e(37,"div",23),O(38,Rt,7,5,"mat-card",24,bt),t()(),e(40,"div",25)(41,"mat-card",26)(42,"h3")(43,"mat-icon"),n(44,"info"),t(),n(45," Quiz Summary "),t(),e(46,"div",27)(47,"div",28)(48,"span",29),n(49,"Category:"),t(),e(50,"span",30),n(51),t()(),e(52,"div",28)(53,"span",29),n(54,"Questions:"),t(),e(55,"span",30),n(56),t()(),e(57,"div",28)(58,"span",29),n(59,"Difficulty:"),t(),e(60,"span",30),n(61),t()(),e(62,"div",28)(63,"span",29),n(64,"Mode:"),t(),e(65,"span",30),n(66),t()(),e(67,"div",28)(68,"span",29),n(69,"Estimated Time:"),t(),e(70,"span",30),n(71),t()()()()(),e(72,"div",31)(73,"button",32)(74,"mat-icon"),n(75,"arrow_back"),t(),n(76," Back to Categories "),t(),e(77,"button",33),m(78,Vt,3,0)(79,qt,5,0,"ng-container"),t()()()}if(r&2){let i,s,l,_,c=d();y("formGroup",c.setupForm),o(10),P(c.getAvailableCategories()),o(2),h((i=c.setupForm.get("categoryId"))!=null&&i.hasError("required")&&((i=c.setupForm.get("categoryId"))!=null&&i.touched)?12:-1),o(),h(c.selectedCategory()?13:-1),o(7),P(c.questionCountOptions),o(3),g("Selected: ",(s=c.setupForm.get("questionCount"))==null?null:s.value," questions"),o(7),P(c.difficultyOptions),o(8),P(c.quizTypeOptions),o(13),u(((l=c.selectedCategory())==null?null:l.name)||"Not selected"),o(5),u((_=c.setupForm.get("questionCount"))==null?null:_.value),o(5),g(" ",c.getSelectedDifficultyLabel()," "),o(5),g(" ",c.getSelectedQuizTypeLabel()," "),o(5),g("~",c.estimatedTime()," minutes"),o(6),y("disabled",c.setupForm.invalid&&!c.isStartingQuiz()),o(),h(c.isStartingQuiz()?78:79)}}var Ot=class r{fb=p(G);router=p(F);route=p(U);quizService=p(vt);categoryService=p(mt);guestService=p(_t);storageService=p(B);destroy$=new E;setupForm;categories=this.categoryService.categories;isLoadingCategories=this.categoryService.isLoading;isStartingQuiz=this.quizService.isStartingQuiz;isGuest=C(()=>!this.storageService.isAuthenticated());guestState=this.guestService.guestState;remainingQuizzes=C(()=>this.guestState().quizLimit?.quizzesRemaining??null);showGuestWarning=C(()=>{let a=this.remainingQuizzes();return this.isGuest()&&a!==null&&a<=2});questionCountOptions=[5,10,15,20];difficultyOptions=[{value:"easy",label:"Easy",icon:"sentiment_satisfied",color:"#4CAF50"},{value:"medium",label:"Medium",icon:"sentiment_neutral",color:"#FF9800"},{value:"hard",label:"Hard",icon:"sentiment_very_dissatisfied",color:"#f44336"},{value:"mixed",label:"Mixed (All Levels)",icon:"shuffle",color:"#9C27B0"}];quizTypeOptions=[{value:"practice",label:"Practice Mode",icon:"school",description:"No time limit, learn at your own pace"},{value:"timed",label:"Timed Mode",icon:"timer",description:"Challenge yourself with time constraints"}];selectedCategory=C(()=>{let a=this.setupForm?.get("categoryId")?.value;return this.categories()?.find(i=>i.id===a)});estimatedTime=C(()=>{let a=this.setupForm?.get("questionCount")?.value||10,i=this.setupForm?.get("quizType")?.value||"practice";return this.quizService.getEstimatedTime(a,i)});canStartQuiz=C(()=>this.setupForm?.valid&&!this.isStartingQuiz());ngOnInit(){this.initForm(),this.loadCategories(),this.checkPreselectedCategory()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}initForm(){this.setupForm=this.fb.group({categoryId:[null,v.required],questionCount:[10,[v.required,v.min(5),v.max(20)]],difficulty:["mixed",v.required],quizType:["practice",v.required]})}loadCategories(){this.categoryService.getCategories().pipe(I(this.destroy$)).subscribe()}checkPreselectedCategory(){let a=this.route.snapshot.queryParams.category;a&&this.setupForm.patchValue({categoryId:a})}startQuiz(){if(!this.setupForm.valid)return;let a=this.setupForm.value,i={categoryId:a.categoryId,questionCount:a.questionCount,difficulty:a.difficulty,quizType:a.quizType};this.quizService.startQuiz(i).pipe(I(this.destroy$)).subscribe({next:s=>{s.success&&this.router.navigate(["/quiz",s.data.sessionId])},error:s=>{console.error("Failed to start quiz:",s)}})}getAvailableCategories(){let a=this.categories()||[];return this.isGuest()?a.filter(i=>i.guestAccessible):a}formatSliderLabel(a){return`${a} questions`}navigateToRegister(){this.router.navigate(["/register"])}getDifficultyColor(a){return this.difficultyOptions.find(s=>s.value===a)?.color||"#9E9E9E"}getSelectedDifficultyLabel(){let a=this.setupForm?.get("difficulty")?.value;return this.difficultyOptions.find(s=>s.value===a)?.label||"Not selected"}getSelectedQuizTypeLabel(){let a=this.setupForm?.get("quizType")?.value;return this.quizTypeOptions.find(s=>s.value===a)?.label||"Not selected"}static \u0275fac=function(i){return new(i||r)};static \u0275cmp=w({type:r,selectors:[["app-quiz-setup"]],decls:15,vars:3,consts:[[1,"quiz-setup-container"],[1,"header-content"],[1,"header-title"],[1,"header-icon"],[1,"subtitle"],[1,"guest-warning"],[1,"loading-container"],[1,"setup-form",3,"formGroup"],[1,"warning-icon"],[1,"warning-content"],["mat-stroked-button","","color","primary",3,"click"],["diameter","50"],[1,"setup-form",3,"ngSubmit","formGroup"],[1,"form-section"],["appearance","outline",1,"full-width"],["formControlName","categoryId","required",""],[3,"value"],[1,"category-preview"],[1,"question-count-selector"],["type","button","mat-stroked-button","",3,"selected"],[1,"helper-text"],[1,"difficulty-selector"],["type","button","mat-stroked-button","",1,"difficulty-option",3,"selected"],[1,"quiz-type-selector"],[1,"quiz-type-card",3,"selected"],[1,"summary-section"],[1,"summary-card"],[1,"summary-details"],[1,"summary-item"],[1,"label"],[1,"value"],[1,"action-buttons"],["type","button","mat-stroked-button","","routerLink","/categories"],["type","submit","mat-raised-button","","color","primary",3,"disabled"],[1,"category-option"],[3,"color"],[1,"category-name"],[1,"question-count"],[1,"category-info"],["type","button","mat-stroked-button","",3,"click"],["type","button","mat-stroked-button","",1,"difficulty-option",3,"click"],[1,"quiz-type-card",3,"click"],[1,"type-icon"],["diameter","20"]],template:function(i,s){i&1&&(e(0,"div",0)(1,"mat-card")(2,"mat-card-header")(3,"div",1)(4,"div",2)(5,"mat-icon",3),n(6,"play_circle"),t(),e(7,"h1"),n(8,"Start New Quiz"),t()(),e(9,"p",4),n(10,"Configure your quiz settings and challenge yourself!"),t()()(),e(11,"mat-card-content"),m(12,yt,11,1,"div",5),m(13,Tt,4,0,"div",6),m(14,At,80,11,"form",7),t()()()),i&2&&(o(12),h(s.showGuestWarning()?12:-1),o(),h(s.isLoadingCategories()?13:-1),o(),h(s.isLoadingCategories()?-1:14))},dependencies:[D,j,W,Q,L,H,X,$,N,tt,Y,K,J,at,nt,et,it,Ct,ft,gt,Mt,ot,st,lt,ct,ut,dt,ht,pt],styles:[".quiz-setup-container[_ngcontent-%COMP%]{max-width:900px;margin:24px auto;padding:0 16px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{margin-bottom:32px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%]{width:100%}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] .header-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:#1976d2}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:500}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:0;color:#0009;font-size:16px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .guest-warning[_ngcontent-%COMP%]{display:flex;gap:16px;padding:16px;margin-bottom:24px;background-color:#ff98001a;border-left:4px solid #FF9800;border-radius:4px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .guest-warning[_ngcontent-%COMP%] .warning-icon[_ngcontent-%COMP%]{flex-shrink:0;color:#ff9800;font-size:28px;width:28px;height:28px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .guest-warning[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%]{flex:1}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .guest-warning[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 8px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .guest-warning[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]:last-child{margin-bottom:12px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .guest-warning[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:16px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:20px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:16px;color:#0009}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%]{margin-bottom:32px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:18px;font-weight:500;color:#000000de}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:22px;width:22px;height:22px;color:#1976d2}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{width:100%}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .category-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .category-option[_ngcontent-%COMP%] .category-name[_ngcontent-%COMP%]{flex:1;font-weight:500}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .category-option[_ngcontent-%COMP%] .question-count[_ngcontent-%COMP%]{font-size:13px;color:#0009}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .category-preview[_ngcontent-%COMP%]{display:flex;gap:16px;padding:16px;margin-top:16px;background-color:#00000008;border-radius:8px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .category-preview[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .category-preview[_ngcontent-%COMP%] .category-info[_ngcontent-%COMP%]{flex:1}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .category-preview[_ngcontent-%COMP%] .category-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 4px;font-size:18px;font-weight:500}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .category-preview[_ngcontent-%COMP%] .category-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;color:#0009;line-height:1.5}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .question-count-selector[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .question-count-selector[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:56px;font-size:18px;font-weight:500;transition:all .2s}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .question-count-selector[_ngcontent-%COMP%] button.selected[_ngcontent-%COMP%]{background-color:#1976d2;color:#fff;border-color:#1976d2}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .question-count-selector[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:not(.selected){background-color:#1976d214}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .helper-text[_ngcontent-%COMP%]{margin:12px 0 0;font-size:14px;color:#0009}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .difficulty-selector[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .difficulty-selector[_ngcontent-%COMP%] .difficulty-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;height:56px;font-size:15px;transition:all .2s}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .difficulty-selector[_ngcontent-%COMP%] .difficulty-option[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .difficulty-selector[_ngcontent-%COMP%] .difficulty-option.selected[_ngcontent-%COMP%]{background-color:#1976d2;color:#fff;border-color:#1976d2}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .difficulty-selector[_ngcontent-%COMP%] .difficulty-option.selected[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#fff!important}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .quiz-type-selector[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .quiz-type-selector[_ngcontent-%COMP%] .quiz-type-card[_ngcontent-%COMP%]{padding:20px;text-align:center;cursor:pointer;transition:all .2s;border:2px solid rgba(0,0,0,.12)}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .quiz-type-selector[_ngcontent-%COMP%] .quiz-type-card[_ngcontent-%COMP%]:hover{border-color:#1976d2;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .quiz-type-selector[_ngcontent-%COMP%] .quiz-type-card.selected[_ngcontent-%COMP%]{border-color:#1976d2;background-color:#1976d214}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .quiz-type-selector[_ngcontent-%COMP%] .quiz-type-card[_ngcontent-%COMP%] .type-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;margin:0 auto 12px;color:#1976d2}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .quiz-type-selector[_ngcontent-%COMP%] .quiz-type-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 8px;font-size:18px;font-weight:500}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .quiz-type-selector[_ngcontent-%COMP%] .quiz-type-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:13px;color:#0009;line-height:1.4}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%]{margin-bottom:24px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%]{background-color:#1976d20d;border:1px solid rgba(25,118,210,.2)}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:18px;font-weight:500;color:#1976d2}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-details[_ngcontent-%COMP%]{display:grid;gap:12px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-details[_ngcontent-%COMP%] .summary-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08)}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-details[_ngcontent-%COMP%] .summary-item[_ngcontent-%COMP%]:last-child{border-bottom:none}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-details[_ngcontent-%COMP%] .summary-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-weight:500;color:#000000b3}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .summary-section[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-details[_ngcontent-%COMP%] .summary-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-weight:500;color:#000000de}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:16px;margin-top:32px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;height:48px;font-size:16px;padding:0 24px}.quiz-setup-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{margin-right:8px}@media (max-width: 768px){.quiz-setup-container[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .question-count-selector[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}.quiz-setup-container[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .difficulty-selector[_ngcontent-%COMP%], .quiz-setup-container[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .form-section[_ngcontent-%COMP%] .quiz-type-selector[_ngcontent-%COMP%]{grid-template-columns:1fr}.quiz-setup-container[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%]{flex-direction:column-reverse}.quiz-setup-container[_ngcontent-%COMP%] .setup-form[_ngcontent-%COMP%] .action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}@media (max-width: 600px){.quiz-setup-container[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:24px}.quiz-setup-container[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] .header-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px}}@media (prefers-color-scheme: dark){.quiz-setup-container[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%], .quiz-setup-container[_ngcontent-%COMP%] .helper-text[_ngcontent-%COMP%], .quiz-setup-container[_ngcontent-%COMP%] .category-option[_ngcontent-%COMP%] .question-count[_ngcontent-%COMP%]{color:#ffffffb3}.quiz-setup-container[_ngcontent-%COMP%] .category-preview[_ngcontent-%COMP%]{background-color:#ffffff0d}.quiz-setup-container[_ngcontent-%COMP%] .category-preview[_ngcontent-%COMP%] .category-info[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#ffffffb3}.quiz-setup-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%]{background-color:#1976d21a}.quiz-setup-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-item[_ngcontent-%COMP%]{border-color:#ffffff1a}.quiz-setup-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#ffffffb3}.quiz-setup-container[_ngcontent-%COMP%] .summary-card[_ngcontent-%COMP%] .summary-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{color:#ffffffe6}}"]})};export{Ot as QuizSetupComponent}; diff --git a/chunk-SDNKCAUU.js b/chunk-SDNKCAUU.js new file mode 100644 index 0000000..3175a1d --- /dev/null +++ b/chunk-SDNKCAUU.js @@ -0,0 +1 @@ +import{X as E,_ as Tt,a as me,c as Et}from"./chunk-2MUIW2M6.js";var _=(function(n){return n[n.State=0]="State",n[n.Transition=1]="Transition",n[n.Sequence=2]="Sequence",n[n.Group=3]="Group",n[n.Animate=4]="Animate",n[n.Keyframes=5]="Keyframes",n[n.Style=6]="Style",n[n.Trigger=7]="Trigger",n[n.Reference=8]="Reference",n[n.AnimateChild=9]="AnimateChild",n[n.AnimateRef=10]="AnimateRef",n[n.Query=11]="Query",n[n.Stagger=12]="Stagger",n})(_||{}),z="*";function vt(n,e=null){return{type:_.Sequence,steps:n,options:e}}function Le(n){return{type:_.Style,styles:n,offset:null}}var $=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(e=0,t=0){this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(s=>s()),t.length=0}},ee=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(e){this.players=e;let t=0,s=0,i=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==r&&this._onFinish()}),a.onDestroy(()=>{++s==r&&this._onDestroy()}),a.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((a,o)=>Math.max(a,o.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){let t=e*this.totalTime;this.players.forEach(s=>{let i=s.totalTime?Math.min(1,t/s.totalTime):1;s.setPosition(i)})}getPosition(){let e=this.players.reduce((t,s)=>t===null||s.totalTime>t.totalTime?s:t,null);return e!=null?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(s=>s()),t.length=0}},re="!";function bt(n){return new E(3e3,!1)}function bs(){return new E(3100,!1)}function ws(){return new E(3101,!1)}function Ps(n){return new E(3001,!1)}function As(n){return new E(3003,!1)}function Ns(n){return new E(3004,!1)}function Pt(n,e){return new E(3005,!1)}function At(){return new E(3006,!1)}function Nt(){return new E(3007,!1)}function Ct(n,e){return new E(3008,!1)}function Dt(n){return new E(3002,!1)}function Mt(n,e,t,s,i){return new E(3010,!1)}function kt(){return new E(3011,!1)}function Ft(){return new E(3012,!1)}function Rt(){return new E(3200,!1)}function Ot(){return new E(3202,!1)}function Lt(){return new E(3013,!1)}function It(n){return new E(3014,!1)}function zt(n){return new E(3015,!1)}function Kt(n){return new E(3016,!1)}function qt(n){return new E(3500,!1)}function Bt(n){return new E(3501,!1)}function Qt(n,e){return new E(3404,!1)}function Cs(n){return new E(3502,!1)}function Vt(n){return new E(3503,!1)}function $t(){return new E(3300,!1)}function Ut(n){return new E(3504,!1)}function Gt(n){return new E(3301,!1)}function jt(n,e){return new E(3302,!1)}function Wt(n){return new E(3303,!1)}function Ht(n,e){return new E(3400,!1)}function Yt(n){return new E(3401,!1)}function Xt(n){return new E(3402,!1)}function xt(n,e){return new E(3505,!1)}var Ds=new Set(["-moz-outline-radius","-moz-outline-radius-bottomleft","-moz-outline-radius-bottomright","-moz-outline-radius-topleft","-moz-outline-radius-topright","-ms-grid-columns","-ms-grid-rows","-webkit-line-clamp","-webkit-text-fill-color","-webkit-text-stroke","-webkit-text-stroke-color","accent-color","all","backdrop-filter","background","background-color","background-position","background-size","block-size","border","border-block-end","border-block-end-color","border-block-end-width","border-block-start","border-block-start-color","border-block-start-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-width","border-color","border-end-end-radius","border-end-start-radius","border-image-outset","border-image-slice","border-image-width","border-inline-end","border-inline-end-color","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-width","border-left","border-left-color","border-left-width","border-radius","border-right","border-right-color","border-right-width","border-start-end-radius","border-start-start-radius","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-width","border-width","bottom","box-shadow","caret-color","clip","clip-path","color","column-count","column-gap","column-rule","column-rule-color","column-rule-width","column-width","columns","filter","flex","flex-basis","flex-grow","flex-shrink","font","font-size","font-size-adjust","font-stretch","font-variation-settings","font-weight","gap","grid-column-gap","grid-gap","grid-row-gap","grid-template-columns","grid-template-rows","height","inline-size","input-security","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","left","letter-spacing","line-clamp","line-height","margin","margin-block-end","margin-block-start","margin-bottom","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","mask","mask-border","mask-position","mask-size","max-block-size","max-height","max-inline-size","max-lines","max-width","min-block-size","min-height","min-inline-size","min-width","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","outline","outline-color","outline-offset","outline-width","padding","padding-block-end","padding-block-start","padding-bottom","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","perspective","perspective-origin","right","rotate","row-gap","scale","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-coordinate","scroll-snap-destination","scrollbar-color","shape-image-threshold","shape-margin","shape-outside","tab-size","text-decoration","text-decoration-color","text-decoration-thickness","text-emphasis","text-emphasis-color","text-indent","text-shadow","text-underline-offset","top","transform","transform-origin","translate","vertical-align","visibility","width","word-spacing","z-index","zoom"]);function U(n){switch(n.length){case 0:return new $;case 1:return n[0];default:return new ee(n)}}function qe(n,e,t=new Map,s=new Map){let i=[],r=[],a=-1,o=null;if(e.forEach(l=>{let u=l.get("offset"),c=u==a,h=c&&o||new Map;l.forEach((S,y)=>{let d=y,g=S;if(y!=="offset")switch(d=n.normalizePropertyName(d,i),g){case re:g=t.get(y);break;case z:g=s.get(y);break;default:g=n.normalizeStyleValue(y,d,g,i);break}h.set(d,g)}),c||r.push(h),o=h,a=u}),i.length)throw Cs(i);return r}function pe(n,e,t,s){switch(e){case"start":n.onStart(()=>s(t&&Ie(t,"start",n)));break;case"done":n.onDone(()=>s(t&&Ie(t,"done",n)));break;case"destroy":n.onDestroy(()=>s(t&&Ie(t,"destroy",n)));break}}function Ie(n,e,t){let s=t.totalTime,i=!!t.disabled,r=ge(n.element,n.triggerName,n.fromState,n.toState,e||n.phaseName,s??n.totalTime,i),a=n._data;return a!=null&&(r._data=a),r}function ge(n,e,t,s,i="",r=0,a){return{element:n,triggerName:e,fromState:t,toState:s,phaseName:i,totalTime:r,disabled:!!a}}function F(n,e,t){let s=n.get(e);return s||n.set(e,s=t),s}function Be(n){let e=n.indexOf(":"),t=n.substring(1,e),s=n.slice(e+1);return[t,s]}var Ms=typeof document>"u"?null:document.documentElement;function ye(n){let e=n.parentNode||n.host||null;return e===Ms?null:e}function ks(n){return n.substring(1,6)=="ebkit"}var X=null,wt=!1;function Jt(n){X||(X=Rs()||{},wt=X.style?"WebkitAppearance"in X.style:!1);let e=!0;return X.style&&!ks(n)&&(e=n in X.style,!e&&wt&&(e="Webkit"+n.charAt(0).toUpperCase()+n.slice(1)in X.style)),e}function Fs(n){return Ds.has(n)}function Rs(){return typeof document<"u"?document.body:null}function Qe(n,e){for(;e;){if(e===n)return!0;e=ye(e)}return!1}function Ve(n,e,t){if(t)return Array.from(n.querySelectorAll(e));let s=n.querySelector(e);return s?[s]:[]}var Os=1e3,$e="{{",Ls="}}",_e="ng-enter",ae="ng-leave",oe="ng-trigger",le=".ng-trigger",Ue="ng-animating",Se=".ng-animating";function V(n){if(typeof n=="number")return n;let e=n.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:ze(parseFloat(e[1]),e[2])}function ze(n,e){switch(e){case"s":return n*Os;default:return n}}function ue(n,e,t){return n.hasOwnProperty("duration")?n:zs(n,e,t)}var Is=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i;function zs(n,e,t){let s,i=0,r="";if(typeof n=="string"){let a=n.match(Is);if(a===null)return e.push(bt(n)),{duration:0,delay:0,easing:""};s=ze(parseFloat(a[1]),a[2]);let o=a[3];o!=null&&(i=ze(parseFloat(o),a[4]));let l=a[5];l&&(r=l)}else s=n;if(!t){let a=!1,o=e.length;s<0&&(e.push(bs()),a=!0),i<0&&(e.push(ws()),a=!0),a&&e.splice(o,0,bt(n))}return{duration:s,delay:i,easing:r}}function Zt(n){return n.length?n[0]instanceof Map?n:n.map(e=>new Map(Object.entries(e))):[]}function Ge(n){return Array.isArray(n)?new Map(...n):new Map(n)}function K(n,e,t){e.forEach((s,i)=>{let r=Ee(i);t&&!t.has(i)&&t.set(i,n.style[r]),n.style[r]=s})}function j(n,e){e.forEach((t,s)=>{let i=Ee(s);n.style[i]=""})}function te(n){return Array.isArray(n)?n.length==1?n[0]:vt(n):n}function es(n,e,t){let s=e.params||{},i=je(n);i.length&&i.forEach(r=>{s.hasOwnProperty(r)||t.push(Ps(r))})}var Ke=new RegExp(`${$e}\\s*(.+?)\\s*${Ls}`,"g");function je(n){let e=[];if(typeof n=="string"){let t;for(;t=Ke.exec(n);)e.push(t[1]);Ke.lastIndex=0}return e}function se(n,e,t){let s=`${n}`,i=s.replace(Ke,(r,a)=>{let o=e[a];return o==null&&(t.push(As(a)),o=""),o.toString()});return i==s?n:i}var Ks=/-+([a-z0-9])/g;function Ee(n){return n.replace(Ks,(...e)=>e[1].toUpperCase())}function qs(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function ts(n,e){return n===0||e===0}function ss(n,e,t){if(t.size&&e.length){let s=e[0],i=[];if(t.forEach((r,a)=>{s.has(a)||i.push(a),s.set(a,r)}),i.length)for(let r=1;ra.set(o,Te(n,o)))}}return e}function R(n,e,t){switch(e.type){case _.Trigger:return n.visitTrigger(e,t);case _.State:return n.visitState(e,t);case _.Transition:return n.visitTransition(e,t);case _.Sequence:return n.visitSequence(e,t);case _.Group:return n.visitGroup(e,t);case _.Animate:return n.visitAnimate(e,t);case _.Keyframes:return n.visitKeyframes(e,t);case _.Style:return n.visitStyle(e,t);case _.Reference:return n.visitReference(e,t);case _.AnimateChild:return n.visitAnimateChild(e,t);case _.AnimateRef:return n.visitAnimateRef(e,t);case _.Query:return n.visitQuery(e,t);case _.Stagger:return n.visitStagger(e,t);default:throw Ns(e.type)}}function Te(n,e){return window.getComputedStyle(n)[e]}var gs=(()=>{class n{validateStyleProperty(t){return Jt(t)}containsElement(t,s){return Qe(t,s)}getParentElement(t){return ye(t)}query(t,s,i){return Ve(t,s,i)}computeStyle(t,s,i){return i||""}animate(t,s,i,r,a,o=[],l){return new $(i,r)}static \u0275fac=function(s){return new(s||n)};static \u0275prov=Tt({token:n,factory:n.\u0275fac})}return n})(),is=class{static NOOP=new gs},Je=class{},Ze=class{normalizePropertyName(e,t){return e}normalizeStyleValue(e,t,s,i){return s}},Bs=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]),et=class extends Je{normalizePropertyName(e,t){return Ee(e)}normalizeStyleValue(e,t,s,i){let r="",a=s.toString().trim();if(Bs.has(t)&&s!==0&&s!=="0")if(typeof s=="number")r="px";else{let o=s.match(/^[+-]?[\d\.]+([a-z]*)$/);o&&o[1].length==0&&i.push(Pt(e,s))}return a+r}};var Ae="*";function Qs(n,e){let t=[];return typeof n=="string"?n.split(/\s*,\s*/).forEach(s=>Vs(s,t,e)):t.push(n),t}function Vs(n,e,t){if(n[0]==":"){let l=$s(n,t);if(typeof l=="function"){e.push(l);return}n=l}let s=n.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(s==null||s.length<4)return t.push(zt(n)),e;let i=s[1],r=s[2],a=s[3];e.push(ns(i,a));let o=i==Ae&&a==Ae;r[0]=="<"&&!o&&e.push(ns(a,i))}function $s(n,e){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,s)=>parseFloat(s)>parseFloat(t);case":decrement":return(t,s)=>parseFloat(s) *"}}var ve=new Set(["true","1"]),be=new Set(["false","0"]);function ns(n,e){let t=ve.has(n)||be.has(n),s=ve.has(e)||be.has(e);return(i,r)=>{let a=n==Ae||n==i,o=e==Ae||e==r;return!a&&t&&typeof i=="boolean"&&(a=i?ve.has(n):be.has(n)),!o&&s&&typeof r=="boolean"&&(o=r?ve.has(e):be.has(e)),a&&o}}var ys=":self",Us=new RegExp(`s*${ys}s*,?`,"g");function dt(n,e,t,s){return new tt(n).build(e,t,s)}var rs="",tt=class{_driver;constructor(e){this._driver=e}build(e,t,s){let i=new st(t);return this._resetContextStyleTimingState(i),R(this,te(e),i)}_resetContextStyleTimingState(e){e.currentQuerySelector=rs,e.collectedStyles=new Map,e.collectedStyles.set(rs,new Map),e.currentTime=0}visitTrigger(e,t){let s=t.queryCount=0,i=t.depCount=0,r=[],a=[];return e.name.charAt(0)=="@"&&t.errors.push(At()),e.definitions.forEach(o=>{if(this._resetContextStyleTimingState(t),o.type==_.State){let l=o,u=l.name;u.toString().split(/\s*,\s*/).forEach(c=>{l.name=c,r.push(this.visitState(l,t))}),l.name=u}else if(o.type==_.Transition){let l=this.visitTransition(o,t);s+=l.queryCount,i+=l.depCount,a.push(l)}else t.errors.push(Nt())}),{type:_.Trigger,name:e.name,states:r,transitions:a,queryCount:s,depCount:i,options:null}}visitState(e,t){let s=this.visitStyle(e.styles,t),i=e.options&&e.options.params||null;if(s.containsDynamicStyles){let r=new Set,a=i||{};s.styles.forEach(o=>{o instanceof Map&&o.forEach(l=>{je(l).forEach(u=>{a.hasOwnProperty(u)||r.add(u)})})}),r.size&&t.errors.push(Ct(e.name,[...r.values()]))}return{type:_.State,name:e.name,style:s,options:i?{params:i}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;let s=R(this,te(e.animation),t),i=Qs(e.expr,t.errors);return{type:_.Transition,matchers:i,animation:s,queryCount:t.queryCount,depCount:t.depCount,options:x(e.options)}}visitSequence(e,t){return{type:_.Sequence,steps:e.steps.map(s=>R(this,s,t)),options:x(e.options)}}visitGroup(e,t){let s=t.currentTime,i=0,r=e.steps.map(a=>{t.currentTime=s;let o=R(this,a,t);return i=Math.max(i,t.currentTime),o});return t.currentTime=i,{type:_.Group,steps:r,options:x(e.options)}}visitAnimate(e,t){let s=Hs(e.timings,t.errors);t.currentAnimateTimings=s;let i,r=e.styles?e.styles:Le({});if(r.type==_.Keyframes)i=this.visitKeyframes(r,t);else{let a=e.styles,o=!1;if(!a){o=!0;let u={};s.easing&&(u.easing=s.easing),a=Le(u)}t.currentTime+=s.duration+s.delay;let l=this.visitStyle(a,t);l.isEmptyStep=o,i=l}return t.currentAnimateTimings=null,{type:_.Animate,timings:s,style:i,options:null}}visitStyle(e,t){let s=this._makeStyleAst(e,t);return this._validateStyleAst(s,t),s}_makeStyleAst(e,t){let s=[],i=Array.isArray(e.styles)?e.styles:[e.styles];for(let o of i)typeof o=="string"?o===z?s.push(o):t.errors.push(Dt(o)):s.push(new Map(Object.entries(o)));let r=!1,a=null;return s.forEach(o=>{if(o instanceof Map&&(o.has("easing")&&(a=o.get("easing"),o.delete("easing")),!r)){for(let l of o.values())if(l.toString().indexOf($e)>=0){r=!0;break}}}),{type:_.Style,styles:s,easing:a,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){let s=t.currentAnimateTimings,i=t.currentTime,r=t.currentTime;s&&r>0&&(r-=s.duration+s.delay),e.styles.forEach(a=>{typeof a!="string"&&a.forEach((o,l)=>{let u=t.collectedStyles.get(t.currentQuerySelector),c=u.get(l),h=!0;c&&(r!=i&&r>=c.startTime&&i<=c.endTime&&(t.errors.push(Mt(l,c.startTime,c.endTime,r,i)),h=!1),r=c.startTime),h&&u.set(l,{startTime:r,endTime:i}),t.options&&es(o,t.options,t.errors)})})}visitKeyframes(e,t){let s={type:_.Keyframes,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(kt()),s;let i=1,r=0,a=[],o=!1,l=!1,u=0,c=e.steps.map(w=>{let P=this._makeStyleAst(w,t),D=P.offset!=null?P.offset:Ws(P.styles),N=0;return D!=null&&(r++,N=P.offset=D),l=l||N<0||N>1,o=o||N0&&r{let D=S>0?P==y?1:S*P:a[P],N=D*v;t.currentTime=d+g.delay+N,g.duration=N,this._validateStyleAst(w,t),w.offset=D,s.styles.push(w)}),s}visitReference(e,t){return{type:_.Reference,animation:R(this,te(e.animation),t),options:x(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:_.AnimateChild,options:x(e.options)}}visitAnimateRef(e,t){return{type:_.AnimateRef,animation:this.visitReference(e.animation,t),options:x(e.options)}}visitQuery(e,t){let s=t.currentQuerySelector,i=e.options||{};t.queryCount++,t.currentQuery=e;let[r,a]=Gs(e.selector);t.currentQuerySelector=s.length?s+" "+r:r,F(t.collectedStyles,t.currentQuerySelector,new Map);let o=R(this,te(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=s,{type:_.Query,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:a,animation:o,originalSelector:e.selector,options:x(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push(Lt());let s=e.timings==="full"?{duration:0,delay:0,easing:"full"}:ue(e.timings,t.errors,!0);return{type:_.Stagger,animation:R(this,te(e.animation),t),timings:s,options:null}}};function Gs(n){let e=!!n.split(/\s*,\s*/).find(t=>t==ys);return e&&(n=n.replace(Us,"")),n=n.replace(/@\*/g,le).replace(/@\w+/g,t=>le+"-"+t.slice(1)).replace(/:animating/g,Se),[n,e]}function js(n){return n?me({},n):null}var st=class{errors;queryCount=0;depCount=0;currentTransition=null;currentQuery=null;currentQuerySelector=null;currentAnimateTimings=null;currentTime=0;collectedStyles=new Map;options=null;unsupportedCSSPropertiesFound=new Set;constructor(e){this.errors=e}};function Ws(n){if(typeof n=="string")return null;let e=null;if(Array.isArray(n))n.forEach(t=>{if(t instanceof Map&&t.has("offset")){let s=t;e=parseFloat(s.get("offset")),s.delete("offset")}});else if(n instanceof Map&&n.has("offset")){let t=n;e=parseFloat(t.get("offset")),t.delete("offset")}return e}function Hs(n,e){if(n.hasOwnProperty("duration"))return n;if(typeof n=="number"){let r=ue(n,e).duration;return We(r,0,"")}let t=n;if(t.split(/\s+/).some(r=>r.charAt(0)=="{"&&r.charAt(1)=="{")){let r=We(0,0,"");return r.dynamic=!0,r.strValue=t,r}let i=ue(t,e);return We(i.duration,i.delay,i.easing)}function x(n){return n?(n=me({},n),n.params&&(n.params=js(n.params))):n={},n}function We(n,e,t){return{duration:n,delay:e,easing:t}}function mt(n,e,t,s,i,r,a=null,o=!1){return{type:1,element:n,keyframes:e,preStyleProps:t,postStyleProps:s,duration:i,delay:r,totalTime:i+r,easing:a,subTimeline:o}}var ne=class{_map=new Map;get(e){return this._map.get(e)||[]}append(e,t){let s=this._map.get(e);s||this._map.set(e,s=[]),s.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}},Ys=1,Xs=":enter",xs=new RegExp(Xs,"g"),Js=":leave",Zs=new RegExp(Js,"g");function pt(n,e,t,s,i,r=new Map,a=new Map,o,l,u=[]){return new it().buildKeyframes(n,e,t,s,i,r,a,o,l,u)}var it=class{buildKeyframes(e,t,s,i,r,a,o,l,u,c=[]){u=u||new ne;let h=new nt(e,t,u,i,r,c,[]);h.options=l;let S=l.delay?V(l.delay):0;h.currentTimeline.delayNextStep(S),h.currentTimeline.setStyles([a],null,h.errors,l),R(this,s,h);let y=h.timelines.filter(d=>d.containsAnimation());if(y.length&&o.size){let d;for(let g=y.length-1;g>=0;g--){let v=y[g];if(v.element===t){d=v;break}}d&&!d.allowOnlyTimelineStyles()&&d.setStyles([o],null,h.errors,l)}return y.length?y.map(d=>d.buildKeyframes()):[mt(t,[],[],[],0,S,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){let s=t.subInstructions.get(t.element);if(s){let i=t.createSubContext(e.options),r=t.currentTimeline.currentTime,a=this._visitSubInstructions(s,i,i.options);r!=a&&t.transformIntoNewTimeline(a)}t.previousNode=e}visitAnimateRef(e,t){let s=t.createSubContext(e.options);s.transformIntoNewTimeline(),this._applyAnimationRefDelays([e.options,e.animation.options],t,s),this.visitReference(e.animation,s),t.transformIntoNewTimeline(s.currentTimeline.currentTime),t.previousNode=e}_applyAnimationRefDelays(e,t,s){for(let i of e){let r=i?.delay;if(r){let a=typeof r=="number"?r:V(se(r,i?.params??{},t.errors));s.delayNextStep(a)}}}_visitSubInstructions(e,t,s){let r=t.currentTimeline.currentTime,a=s.duration!=null?V(s.duration):null,o=s.delay!=null?V(s.delay):null;return a!==0&&e.forEach(l=>{let u=t.appendInstructionToTimeline(l,a,o);r=Math.max(r,u.duration+u.delay)}),r}visitReference(e,t){t.updateOptions(e.options,!0),R(this,e.animation,t),t.previousNode=e}visitSequence(e,t){let s=t.subContextCount,i=t,r=e.options;if(r&&(r.params||r.delay)&&(i=t.createSubContext(r),i.transformIntoNewTimeline(),r.delay!=null)){i.previousNode.type==_.Style&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=Ne);let a=V(r.delay);i.delayNextStep(a)}e.steps.length&&(e.steps.forEach(a=>R(this,a,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>s&&i.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){let s=[],i=t.currentTimeline.currentTime,r=e.options&&e.options.delay?V(e.options.delay):0;e.steps.forEach(a=>{let o=t.createSubContext(e.options);r&&o.delayNextStep(r),R(this,a,o),i=Math.max(i,o.currentTimeline.currentTime),s.push(o.currentTimeline)}),s.forEach(a=>t.currentTimeline.mergeTimelineCollectedStyles(a)),t.transformIntoNewTimeline(i),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){let s=e.strValue,i=t.params?se(s,t.params,t.errors):s;return ue(i,t.errors)}else return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){let s=t.currentAnimateTimings=this._visitTiming(e.timings,t),i=t.currentTimeline;s.delay&&(t.incrementTime(s.delay),i.snapshotCurrentStyles());let r=e.style;r.type==_.Keyframes?this.visitKeyframes(r,t):(t.incrementTime(s.duration),this.visitStyle(r,t),i.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){let s=t.currentTimeline,i=t.currentAnimateTimings;!i&&s.hasCurrentStyleProperties()&&s.forwardFrame();let r=i&&i.easing||e.easing;e.isEmptyStep?s.applyEmptyStep(r):s.setStyles(e.styles,r,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){let s=t.currentAnimateTimings,i=t.currentTimeline.duration,r=s.duration,o=t.createSubContext().currentTimeline;o.easing=s.easing,e.styles.forEach(l=>{let u=l.offset||0;o.forwardTime(u*r),o.setStyles(l.styles,l.easing,t.errors,t.options),o.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(o),t.transformIntoNewTimeline(i+r),t.previousNode=e}visitQuery(e,t){let s=t.currentTimeline.currentTime,i=e.options||{},r=i.delay?V(i.delay):0;r&&(t.previousNode.type===_.Style||s==0&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Ne);let a=s,o=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!i.optional,t.errors);t.currentQueryTotal=o.length;let l=null;o.forEach((u,c)=>{t.currentQueryIndex=c;let h=t.createSubContext(e.options,u);r&&h.delayNextStep(r),u===t.element&&(l=h.currentTimeline),R(this,e.animation,h),h.currentTimeline.applyStylesToKeyframe();let S=h.currentTimeline.currentTime;a=Math.max(a,S)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(a),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){let s=t.parentContext,i=t.currentTimeline,r=e.timings,a=Math.abs(r.duration),o=a*(t.currentQueryTotal-1),l=a*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=o-l;break;case"full":l=s.currentStaggerTime;break}let c=t.currentTimeline;l&&c.delayNextStep(l);let h=c.currentTime;R(this,e.animation,t),t.previousNode=e,s.currentStaggerTime=i.currentTime-h+(i.startTime-s.currentTimeline.startTime)}},Ne={},nt=class n{_driver;element;subInstructions;_enterClassName;_leaveClassName;errors;timelines;parentContext=null;currentTimeline;currentAnimateTimings=null;previousNode=Ne;subContextCount=0;options={};currentQueryIndex=0;currentQueryTotal=0;currentStaggerTime=0;constructor(e,t,s,i,r,a,o,l){this._driver=e,this.element=t,this.subInstructions=s,this._enterClassName=i,this._leaveClassName=r,this.errors=a,this.timelines=o,this.currentTimeline=l||new Ce(this._driver,t,0),o.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;let s=e,i=this.options;s.duration!=null&&(i.duration=V(s.duration)),s.delay!=null&&(i.delay=V(s.delay));let r=s.params;if(r){let a=i.params;a||(a=this.options.params={}),Object.keys(r).forEach(o=>{(!t||!a.hasOwnProperty(o))&&(a[o]=se(r[o],a,this.errors))})}}_copyOptions(){let e={};if(this.options){let t=this.options.params;if(t){let s=e.params={};Object.keys(t).forEach(i=>{s[i]=t[i]})}}return e}createSubContext(e=null,t,s){let i=t||this.element,r=new n(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,s||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(e),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(e){return this.previousNode=Ne,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,s){let i={duration:t??e.duration,delay:this.currentTimeline.currentTime+(s??0)+e.delay,easing:""},r=new rt(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,s,i,r,a){let o=[];if(i&&o.push(this.element),e.length>0){e=e.replace(xs,"."+this._enterClassName),e=e.replace(Zs,"."+this._leaveClassName);let l=s!=1,u=this._driver.query(this.element,e,l);s!==0&&(u=s<0?u.slice(u.length+s,u.length):u.slice(0,s)),o.push(...u)}return!r&&o.length==0&&a.push(It(t)),o}},Ce=class n{_driver;element;startTime;_elementTimelineStylesLookup;duration=0;easing=null;_previousKeyframe=new Map;_currentKeyframe=new Map;_keyframes=new Map;_styleSummary=new Map;_localTimelineStyles=new Map;_globalTimelineStyles;_pendingStyles=new Map;_backFill=new Map;_currentEmptyStepKeyframe=null;constructor(e,t,s,i){this._driver=e,this.element=t,this.startTime=s,this._elementTimelineStylesLookup=i,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(e){let t=this._keyframes.size===1&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new n(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=Ys,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles.set(e,t),this._globalTimelineStyles.set(e,t),this._styleSummary.set(e,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&this._previousKeyframe.set("easing",e);for(let[t,s]of this._globalTimelineStyles)this._backFill.set(t,s||z),this._currentKeyframe.set(t,z);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,s,i){t&&this._previousKeyframe.set("easing",t);let r=i&&i.params||{},a=ei(e,this._globalTimelineStyles);for(let[o,l]of a){let u=se(l,r,s);this._pendingStyles.set(o,u),this._localTimelineStyles.has(o)||this._backFill.set(o,this._globalTimelineStyles.get(o)??z),this._updateStyle(o,u)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(this._pendingStyles.forEach((e,t)=>{this._currentKeyframe.set(t,e)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((e,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,e)}))}snapshotCurrentStyles(){for(let[e,t]of this._localTimelineStyles)this._pendingStyles.set(e,t),this._updateStyle(e,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){let e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){e._styleSummary.forEach((t,s)=>{let i=this._styleSummary.get(s);(!i||t.time>i.time)&&this._updateStyle(s,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,t=new Set,s=this._keyframes.size===1&&this.duration===0,i=[];this._keyframes.forEach((o,l)=>{let u=new Map([...this._backFill,...o]);u.forEach((c,h)=>{c===re?e.add(h):c===z&&t.add(h)}),s||u.set("offset",l/this.duration),i.push(u)});let r=[...e.values()],a=[...t.values()];if(s){let o=i[0],l=new Map(o);o.set("offset",0),l.set("offset",1),i=[o,l]}return mt(this.element,i,r,a,this.duration,this.startTime,this.easing,!1)}},rt=class extends Ce{keyframes;preStyleProps;postStyleProps;_stretchStartingKeyframe;timings;constructor(e,t,s,i,r,a,o=!1){super(e,t,a.delay),this.keyframes=s,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=o,this.timings={duration:a.duration,delay:a.delay,easing:a.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:s,easing:i}=this.timings;if(this._stretchStartingKeyframe&&t){let r=[],a=s+t,o=t/a,l=new Map(e[0]);l.set("offset",0),r.push(l);let u=new Map(e[0]);u.set("offset",as(o)),r.push(u);let c=e.length-1;for(let h=1;h<=c;h++){let S=new Map(e[h]),y=S.get("offset"),d=t+y*s;S.set("offset",as(d/a)),r.push(S)}s=a,t=0,i="",e=r}return mt(this.element,e,this.preStyleProps,this.postStyleProps,s,t,i,!0)}};function as(n,e=3){let t=Math.pow(10,e-1);return Math.round(n*t)/t}function ei(n,e){let t=new Map,s;return n.forEach(i=>{if(i==="*"){s??=e.keys();for(let r of s)t.set(r,z)}else for(let[r,a]of i)t.set(r,a)}),t}function os(n,e,t,s,i,r,a,o,l,u,c,h,S){return{type:0,element:n,triggerName:e,isRemovalTransition:i,fromState:t,fromStyles:r,toState:s,toStyles:a,timelines:o,queriedElements:l,preStyleProps:u,postStyleProps:c,totalTime:h,errors:S}}var He={},De=class{_triggerName;ast;_stateStyles;constructor(e,t,s){this._triggerName=e,this.ast=t,this._stateStyles=s}match(e,t,s,i){return ti(this.ast.matchers,e,t,s,i)}buildStyles(e,t,s){let i=this._stateStyles.get("*");return e!==void 0&&(i=this._stateStyles.get(e?.toString())||i),i?i.buildStyles(t,s):new Map}build(e,t,s,i,r,a,o,l,u,c){let h=[],S=this.ast.options&&this.ast.options.params||He,y=o&&o.params||He,d=this.buildStyles(s,y,h),g=l&&l.params||He,v=this.buildStyles(i,g,h),w=new Set,P=new Map,D=new Map,N=i==="void",J={params:_s(g,S),delay:this.ast.options?.delay},B=c?[]:pt(e,t,this.ast.animation,r,a,d,v,J,u,h),M=0;return B.forEach(k=>{M=Math.max(k.duration+k.delay,M)}),h.length?os(t,this._triggerName,s,i,N,d,v,[],[],P,D,M,h):(B.forEach(k=>{let W=k.element,Z=F(P,W,new Set);k.preStyleProps.forEach(H=>Z.add(H));let gt=F(D,W,new Set);k.postStyleProps.forEach(H=>gt.add(H)),W!==t&&w.add(W)}),os(t,this._triggerName,s,i,N,d,v,B,[...w.values()],P,D,M))}};function ti(n,e,t,s,i){return n.some(r=>r(e,t,s,i))}function _s(n,e){let t=me({},e);return Object.entries(n).forEach(([s,i])=>{i!=null&&(t[s]=i)}),t}var at=class{styles;defaultParams;normalizer;constructor(e,t,s){this.styles=e,this.defaultParams=t,this.normalizer=s}buildStyles(e,t){let s=new Map,i=_s(e,this.defaultParams);return this.styles.styles.forEach(r=>{typeof r!="string"&&r.forEach((a,o)=>{a&&(a=se(a,i,t));let l=this.normalizer.normalizePropertyName(o,t);a=this.normalizer.normalizeStyleValue(o,l,a,t),s.set(o,a)})}),s}};function si(n,e,t){return new ot(n,e,t)}var ot=class{name;ast;_normalizer;transitionFactories=[];fallbackTransition;states=new Map;constructor(e,t,s){this.name=e,this.ast=t,this._normalizer=s,t.states.forEach(i=>{let r=i.options&&i.options.params||{};this.states.set(i.name,new at(i.style,r,s))}),ls(this.states,"true","1"),ls(this.states,"false","0"),t.transitions.forEach(i=>{this.transitionFactories.push(new De(e,i,this.states))}),this.fallbackTransition=ii(e,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,s,i){return this.transitionFactories.find(a=>a.match(e,t,s,i))||null}matchStyles(e,t,s){return this.fallbackTransition.buildStyles(e,t,s)}};function ii(n,e,t){let s=[(a,o)=>!0],i={type:_.Sequence,steps:[],options:null},r={type:_.Transition,animation:i,matchers:s,options:null,queryCount:0,depCount:0};return new De(n,r,e)}function ls(n,e,t){n.has(e)?n.has(t)||n.set(t,n.get(e)):n.has(t)&&n.set(e,n.get(t))}var ni=new ne,lt=class{bodyNode;_driver;_normalizer;_animations=new Map;_playersById=new Map;players=[];constructor(e,t,s){this.bodyNode=e,this._driver=t,this._normalizer=s}register(e,t){let s=[],i=[],r=dt(this._driver,t,s,i);if(s.length)throw Vt(s);this._animations.set(e,r)}_buildPlayer(e,t,s){let i=e.element,r=qe(this._normalizer,e.keyframes,t,s);return this._driver.animate(i,r,e.duration,e.delay,e.easing,[],!0)}create(e,t,s={}){let i=[],r=this._animations.get(e),a,o=new Map;if(r?(a=pt(this._driver,t,r,_e,ae,new Map,new Map,s,ni,i),a.forEach(c=>{let h=F(o,c.element,new Map);c.postStyleProps.forEach(S=>h.set(S,null))})):(i.push($t()),a=[]),i.length)throw Ut(i);o.forEach((c,h)=>{c.forEach((S,y)=>{c.set(y,this._driver.computeStyle(h,y,z))})});let l=a.map(c=>{let h=o.get(c.element);return this._buildPlayer(c,new Map,h)}),u=U(l);return this._playersById.set(e,u),u.onDestroy(()=>this.destroy(e)),this.players.push(u),u}destroy(e){let t=this._getPlayer(e);t.destroy(),this._playersById.delete(e);let s=this.players.indexOf(t);s>=0&&this.players.splice(s,1)}_getPlayer(e){let t=this._playersById.get(e);if(!t)throw Gt(e);return t}listen(e,t,s,i){let r=ge(t,"","","");return pe(this._getPlayer(e),s,r,i),()=>{}}command(e,t,s,i){if(s=="register"){this.register(e,i[0]);return}if(s=="create"){let a=i[0]||{};this.create(e,t,a);return}let r=this._getPlayer(e);switch(s){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e);break}}},us="ng-animate-queued",ri=".ng-animate-queued",Ye="ng-animate-disabled",ai=".ng-animate-disabled",oi="ng-star-inserted",li=".ng-star-inserted",ui=[],Ss={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},hi={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},q="__ng_removed",ce=class{namespaceId;value;options;get params(){return this.options.params}constructor(e,t=""){this.namespaceId=t;let s=e&&e.hasOwnProperty("value"),i=s?e.value:e;if(this.value=fi(i),s){let r=e,{value:a}=r,o=Et(r,["value"]);this.options=o}else this.options={};this.options.params||(this.options.params={})}absorbOptions(e){let t=e.params;if(t){let s=this.options.params;Object.keys(t).forEach(i=>{s[i]==null&&(s[i]=t[i])})}}},he="void",Xe=new ce(he),ut=class{id;hostElement;_engine;players=[];_triggers=new Map;_queue=[];_elementListeners=new Map;_hostClassName;constructor(e,t,s){this.id=e,this.hostElement=t,this._engine=s,this._hostClassName="ng-tns-"+e,I(t,this._hostClassName)}listen(e,t,s,i){if(!this._triggers.has(t))throw jt(s,t);if(s==null||s.length==0)throw Wt(t);if(!di(s))throw Ht(s,t);let r=F(this._elementListeners,e,[]),a={name:t,phase:s,callback:i};r.push(a);let o=F(this._engine.statesByElement,e,new Map);return o.has(t)||(I(e,oe),I(e,oe+"-"+t),o.set(t,Xe)),()=>{this._engine.afterFlush(()=>{let l=r.indexOf(a);l>=0&&r.splice(l,1),this._triggers.has(t)||o.delete(t)})}}register(e,t){return this._triggers.has(e)?!1:(this._triggers.set(e,t),!0)}_getTrigger(e){let t=this._triggers.get(e);if(!t)throw Yt(e);return t}trigger(e,t,s,i=!0){let r=this._getTrigger(t),a=new fe(this.id,t,e),o=this._engine.statesByElement.get(e);o||(I(e,oe),I(e,oe+"-"+t),this._engine.statesByElement.set(e,o=new Map));let l=o.get(t),u=new ce(s,this.id);if(!(s&&s.hasOwnProperty("value"))&&l&&u.absorbOptions(l.options),o.set(t,u),l||(l=Xe),!(u.value===he)&&l.value===u.value){if(!gi(l.params,u.params)){let g=[],v=r.matchStyles(l.value,l.params,g),w=r.matchStyles(u.value,u.params,g);g.length?this._engine.reportError(g):this._engine.afterFlush(()=>{j(e,v),K(e,w)})}return}let S=F(this._engine.playersByElement,e,[]);S.forEach(g=>{g.namespaceId==this.id&&g.triggerName==t&&g.queued&&g.destroy()});let y=r.matchTransition(l.value,u.value,e,u.params),d=!1;if(!y){if(!i)return;y=r.fallbackTransition,d=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:y,fromState:l,toState:u,player:a,isFallbackTransition:d}),d||(I(e,us),a.onStart(()=>{ie(e,us)})),a.onDone(()=>{let g=this.players.indexOf(a);g>=0&&this.players.splice(g,1);let v=this._engine.playersByElement.get(e);if(v){let w=v.indexOf(a);w>=0&&v.splice(w,1)}}),this.players.push(a),S.push(a),a}deregister(e){this._triggers.delete(e),this._engine.statesByElement.forEach(t=>t.delete(e)),this._elementListeners.forEach((t,s)=>{this._elementListeners.set(s,t.filter(i=>i.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);let t=this._engine.playersByElement.get(e);t&&(t.forEach(s=>s.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){let s=this._engine.driver.query(e,le,!0);s.forEach(i=>{if(i[q])return;let r=this._engine.fetchNamespacesByElement(i);r.size?r.forEach(a=>a.triggerLeaveAnimation(i,t,!1,!0)):this.clearElementCache(i)}),this._engine.afterFlushAnimationsDone(()=>s.forEach(i=>this.clearElementCache(i)))}triggerLeaveAnimation(e,t,s,i){let r=this._engine.statesByElement.get(e),a=new Map;if(r){let o=[];if(r.forEach((l,u)=>{if(a.set(u,l.value),this._triggers.has(u)){let c=this.trigger(e,u,he,i);c&&o.push(c)}}),o.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,a),s&&U(o).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){let t=this._elementListeners.get(e),s=this._engine.statesByElement.get(e);if(t&&s){let i=new Set;t.forEach(r=>{let a=r.name;if(i.has(a))return;i.add(a);let l=this._triggers.get(a).fallbackTransition,u=s.get(a)||Xe,c=new ce(he),h=new fe(this.id,a,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:a,transition:l,fromState:u,toState:c,player:h,isFallbackTransition:!0})})}}removeNode(e,t){let s=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let i=!1;if(s.totalAnimations){let r=s.players.length?s.playersByQueriedElement.get(e):[];if(r&&r.length)i=!0;else{let a=e;for(;a=a.parentNode;)if(s.statesByElement.get(a)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(e),i)s.markElementAsRemoved(this.id,e,!1,t);else{let r=e[q];(!r||r===Ss)&&(s.afterFlush(()=>this.clearElementCache(e)),s.destroyInnerAnimations(e),s._onRemovalComplete(e,t))}}insertNode(e,t){I(e,this._hostClassName)}drainQueuedTransitions(e){let t=[];return this._queue.forEach(s=>{let i=s.player;if(i.destroyed)return;let r=s.element,a=this._elementListeners.get(r);a&&a.forEach(o=>{if(o.name==s.triggerName){let l=ge(r,s.triggerName,s.fromState.value,s.toState.value);l._data=e,pe(s.player,o.phase,l,o.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):t.push(s)}),this._queue=[],t.sort((s,i)=>{let r=s.transition.ast.depCount,a=i.transition.ast.depCount;return r==0||a==0?r-a:this._engine.driver.containsElement(s.element,i.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},ht=class{bodyNode;driver;_normalizer;players=[];newHostElements=new Map;playersByElement=new Map;playersByQueriedElement=new Map;statesByElement=new Map;disabledNodes=new Set;totalAnimations=0;totalQueuedPlayers=0;_namespaceLookup={};_namespaceList=[];_flushFns=[];_whenQuietFns=[];namespacesByHostElement=new Map;collectedEnterElements=[];collectedLeaveElements=[];onRemovalComplete=(e,t)=>{};_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}constructor(e,t,s){this.bodyNode=e,this.driver=t,this._normalizer=s}get queuedPlayers(){let e=[];return this._namespaceList.forEach(t=>{t.players.forEach(s=>{s.queued&&e.push(s)})}),e}createNamespace(e,t){let s=new ut(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(s,t):(this.newHostElements.set(t,s),this.collectEnterElement(t)),this._namespaceLookup[e]=s}_balanceNamespaceList(e,t){let s=this._namespaceList,i=this.namespacesByHostElement;if(s.length-1>=0){let a=!1,o=this.driver.getParentElement(t);for(;o;){let l=i.get(o);if(l){let u=s.indexOf(l);s.splice(u+1,0,e),a=!0;break}o=this.driver.getParentElement(o)}a||s.unshift(e)}else s.push(e);return i.set(t,e),e}register(e,t){let s=this._namespaceLookup[e];return s||(s=this.createNamespace(e,t)),s}registerTrigger(e,t,s){let i=this._namespaceLookup[e];i&&i.register(t,s)&&this.totalAnimations++}destroy(e,t){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let s=this._fetchNamespace(e);this.namespacesByHostElement.delete(s.hostElement);let i=this._namespaceList.indexOf(s);i>=0&&this._namespaceList.splice(i,1),s.destroy(t),delete this._namespaceLookup[e]}))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){let t=new Set,s=this.statesByElement.get(e);if(s){for(let i of s.values())if(i.namespaceId){let r=this._fetchNamespace(i.namespaceId);r&&t.add(r)}}return t}trigger(e,t,s,i){if(we(t)){let r=this._fetchNamespace(e);if(r)return r.trigger(t,s,i),!0}return!1}insertNode(e,t,s,i){if(!we(t))return;let r=t[q];if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;let a=this.collectedLeaveElements.indexOf(t);a>=0&&this.collectedLeaveElements.splice(a,1)}if(e){let a=this._fetchNamespace(e);a&&a.insertNode(t,s)}i&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),I(e,Ye)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),ie(e,Ye))}removeNode(e,t,s){if(we(t)){let i=e?this._fetchNamespace(e):null;i?i.removeNode(t,s):this.markElementAsRemoved(e,t,!1,s);let r=this.namespacesByHostElement.get(t);r&&r.id!==e&&r.removeNode(t,s)}else this._onRemovalComplete(t,s)}markElementAsRemoved(e,t,s,i,r){this.collectedLeaveElements.push(t),t[q]={namespaceId:e,setForRemoval:i,hasAnimation:s,removedBeforeQueried:!1,previousTriggersValues:r}}listen(e,t,s,i,r){return we(t)?this._fetchNamespace(e).listen(t,s,i,r):()=>{}}_buildInstruction(e,t,s,i,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,s,i,e.fromState.options,e.toState.options,t,r)}destroyInnerAnimations(e){let t=this.driver.query(e,le,!0);t.forEach(s=>this.destroyActiveAnimationsForElement(s)),this.playersByQueriedElement.size!=0&&(t=this.driver.query(e,Se,!0),t.forEach(s=>this.finishActiveQueriedAnimationOnElement(s)))}destroyActiveAnimationsForElement(e){let t=this.playersByElement.get(e);t&&t.forEach(s=>{s.queued?s.markedForDestroy=!0:s.destroy()})}finishActiveQueriedAnimationOnElement(e){let t=this.playersByQueriedElement.get(e);t&&t.forEach(s=>s.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return U(this.players).onDone(()=>e());e()})}processLeaveNode(e){let t=e[q];if(t&&t.setForRemoval){if(e[q]=Ss,t.namespaceId){this.destroyInnerAnimations(e);let s=this._fetchNamespace(t.namespaceId);s&&s.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(Ye)&&this.markElementAsDisabled(e,!1),this.driver.query(e,ai,!0).forEach(s=>{this.markElementAsDisabled(s,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((s,i)=>this._balanceNamespaceList(s,i)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let s=0;ss()),this._flushFns=[],this._whenQuietFns.length){let s=this._whenQuietFns;this._whenQuietFns=[],t.length?U(t).onDone(()=>{s.forEach(i=>i())}):s.forEach(i=>i())}}reportError(e){throw Xt(e)}_flushAnimations(e,t){let s=new ne,i=[],r=new Map,a=[],o=new Map,l=new Map,u=new Map,c=new Set;this.disabledNodes.forEach(f=>{c.add(f);let m=this.driver.query(f,ri,!0);for(let p=0;p{let p=_e+g++;d.set(m,p),f.forEach(T=>I(T,p))});let v=[],w=new Set,P=new Set;for(let f=0;fw.add(T)):P.add(m))}let D=new Map,N=fs(S,Array.from(w));N.forEach((f,m)=>{let p=ae+g++;D.set(m,p),f.forEach(T=>I(T,p))}),e.push(()=>{y.forEach((f,m)=>{let p=d.get(m);f.forEach(T=>ie(T,p))}),N.forEach((f,m)=>{let p=D.get(m);f.forEach(T=>ie(T,p))}),v.forEach(f=>{this.processLeaveNode(f)})});let J=[],B=[];for(let f=this._namespaceList.length-1;f>=0;f--)this._namespaceList[f].drainQueuedTransitions(t).forEach(p=>{let T=p.player,A=p.element;if(J.push(T),this.collectedEnterElements.length){let C=A[q];if(C&&C.setForMove){if(C.previousTriggersValues&&C.previousTriggersValues.has(p.triggerName)){let Y=C.previousTriggersValues.get(p.triggerName),L=this.statesByElement.get(p.element);if(L&&L.has(p.triggerName)){let de=L.get(p.triggerName);de.value=Y,L.set(p.triggerName,de)}}T.destroy();return}}let Q=!h||!this.driver.containsElement(h,A),O=D.get(A),G=d.get(A),b=this._buildInstruction(p,s,G,O,Q);if(b.errors&&b.errors.length){B.push(b);return}if(Q){T.onStart(()=>j(A,b.fromStyles)),T.onDestroy(()=>K(A,b.toStyles)),i.push(T);return}if(p.isFallbackTransition){T.onStart(()=>j(A,b.fromStyles)),T.onDestroy(()=>K(A,b.toStyles)),i.push(T);return}let St=[];b.timelines.forEach(C=>{C.stretchStartingKeyframe=!0,this.disabledNodes.has(C.element)||St.push(C)}),b.timelines=St,s.append(A,b.timelines);let vs={instruction:b,player:T,element:A};a.push(vs),b.queriedElements.forEach(C=>F(o,C,[]).push(T)),b.preStyleProps.forEach((C,Y)=>{if(C.size){let L=l.get(Y);L||l.set(Y,L=new Set),C.forEach((de,Oe)=>L.add(Oe))}}),b.postStyleProps.forEach((C,Y)=>{let L=u.get(Y);L||u.set(Y,L=new Set),C.forEach((de,Oe)=>L.add(Oe))})});if(B.length){let f=[];B.forEach(m=>{f.push(xt(m.triggerName,m.errors))}),J.forEach(m=>m.destroy()),this.reportError(f)}let M=new Map,k=new Map;a.forEach(f=>{let m=f.element;s.has(m)&&(k.set(m,m),this._beforeAnimationBuild(f.player.namespaceId,f.instruction,M))}),i.forEach(f=>{let m=f.element;this._getPreviousPlayers(m,!1,f.namespaceId,f.triggerName,null).forEach(T=>{F(M,m,[]).push(T),T.destroy()})});let W=v.filter(f=>ds(f,l,u)),Z=new Map;cs(Z,this.driver,P,u,z).forEach(f=>{ds(f,l,u)&&W.push(f)});let H=new Map;y.forEach((f,m)=>{cs(H,this.driver,new Set(f),l,re)}),W.forEach(f=>{let m=Z.get(f),p=H.get(f);Z.set(f,new Map([...m?.entries()??[],...p?.entries()??[]]))});let Re=[],yt=[],_t={};a.forEach(f=>{let{element:m,player:p,instruction:T}=f;if(s.has(m)){if(c.has(m)){p.onDestroy(()=>K(m,T.toStyles)),p.disabled=!0,p.overrideTotalTime(T.totalTime),i.push(p);return}let A=_t;if(k.size>1){let O=m,G=[];for(;O=O.parentNode;){let b=k.get(O);if(b){A=b;break}G.push(O)}G.forEach(b=>k.set(b,A))}let Q=this._buildAnimation(p.namespaceId,T,M,r,H,Z);if(p.setRealPlayer(Q),A===_t)Re.push(p);else{let O=this.playersByElement.get(A);O&&O.length&&(p.parentPlayer=U(O)),i.push(p)}}else j(m,T.fromStyles),p.onDestroy(()=>K(m,T.toStyles)),yt.push(p),c.has(m)&&i.push(p)}),yt.forEach(f=>{let m=r.get(f.element);if(m&&m.length){let p=U(m);f.setRealPlayer(p)}}),i.forEach(f=>{f.parentPlayer?f.syncPlayerEvents(f.parentPlayer):f.destroy()});for(let f=0;f!Q.destroyed);A.length?mi(this,m,A):this.processLeaveNode(m)}return v.length=0,Re.forEach(f=>{this.players.push(f),f.onDone(()=>{f.destroy();let m=this.players.indexOf(f);this.players.splice(m,1)}),f.play()}),Re}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,s,i,r){let a=[];if(t){let o=this.playersByQueriedElement.get(e);o&&(a=o)}else{let o=this.playersByElement.get(e);if(o){let l=!r||r==he;o.forEach(u=>{u.queued||!l&&u.triggerName!=i||a.push(u)})}}return(s||i)&&(a=a.filter(o=>!(s&&s!=o.namespaceId||i&&i!=o.triggerName))),a}_beforeAnimationBuild(e,t,s){let i=t.triggerName,r=t.element,a=t.isRemovalTransition?void 0:e,o=t.isRemovalTransition?void 0:i;for(let l of t.timelines){let u=l.element,c=u!==r,h=F(s,u,[]);this._getPreviousPlayers(u,c,a,o,t.toState).forEach(y=>{let d=y.getRealPlayer();d.beforeDestroy&&d.beforeDestroy(),y.destroy(),h.push(y)})}j(r,t.fromStyles)}_buildAnimation(e,t,s,i,r,a){let o=t.triggerName,l=t.element,u=[],c=new Set,h=new Set,S=t.timelines.map(d=>{let g=d.element;c.add(g);let v=g[q];if(v&&v.removedBeforeQueried)return new $(d.duration,d.delay);let w=g!==l,P=pi((s.get(g)||ui).map(M=>M.getRealPlayer())).filter(M=>{let k=M;return k.element?k.element===g:!1}),D=r.get(g),N=a.get(g),J=qe(this._normalizer,d.keyframes,D,N),B=this._buildPlayer(d,J,P);if(d.subTimeline&&i&&h.add(g),w){let M=new fe(e,o,g);M.setRealPlayer(B),u.push(M)}return B});u.forEach(d=>{F(this.playersByQueriedElement,d.element,[]).push(d),d.onDone(()=>ci(this.playersByQueriedElement,d.element,d))}),c.forEach(d=>I(d,Ue));let y=U(S);return y.onDestroy(()=>{c.forEach(d=>ie(d,Ue)),K(l,t.toStyles)}),h.forEach(d=>{F(i,d,[]).push(y)}),y}_buildPlayer(e,t,s){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,s):new $(e.duration,e.delay)}},fe=class{namespaceId;triggerName;element;_player=new $;_containsRealPlayer=!1;_queuedCallbacks=new Map;destroyed=!1;parentPlayer=null;markedForDestroy=!1;disabled=!1;queued=!0;totalTime=0;constructor(e,t,s){this.namespaceId=e,this.triggerName=t,this.element=s}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,s)=>{t.forEach(i=>pe(e,s,void 0,i))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){let t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){F(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return this.queued?!1:this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){let t=this._player;t.triggerCallback&&t.triggerCallback(e)}};function ci(n,e,t){let s=n.get(e);if(s){if(s.length){let i=s.indexOf(t);s.splice(i,1)}s.length==0&&n.delete(e)}return s}function fi(n){return n??null}function we(n){return n&&n.nodeType===1}function di(n){return n=="start"||n=="done"}function hs(n,e){let t=n.style.display;return n.style.display=e??"none",t}function cs(n,e,t,s,i){let r=[];t.forEach(l=>r.push(hs(l)));let a=[];s.forEach((l,u)=>{let c=new Map;l.forEach(h=>{let S=e.computeStyle(u,h,i);c.set(h,S),(!S||S.length==0)&&(u[q]=hi,a.push(u))}),n.set(u,c)});let o=0;return t.forEach(l=>hs(l,r[o++])),a}function fs(n,e){let t=new Map;if(n.forEach(o=>t.set(o,[])),e.length==0)return t;let s=1,i=new Set(e),r=new Map;function a(o){if(!o)return s;let l=r.get(o);if(l)return l;let u=o.parentNode;return t.has(u)?l=u:i.has(u)?l=s:l=a(u),r.set(o,l),l}return e.forEach(o=>{let l=a(o);l!==s&&t.get(l).push(o)}),t}function I(n,e){n.classList?.add(e)}function ie(n,e){n.classList?.remove(e)}function mi(n,e,t){U(t).onDone(()=>n.processLeaveNode(e))}function pi(n){let e=[];return Es(n,e),e}function Es(n,e){for(let t=0;ti.add(r)):e.set(n,s),t.delete(n),!0}var Me=class{_driver;_normalizer;_transitionEngine;_timelineEngine;_triggerCache={};onRemovalComplete=(e,t)=>{};constructor(e,t,s){this._driver=t,this._normalizer=s,this._transitionEngine=new ht(e.body,t,s),this._timelineEngine=new lt(e.body,t,s),this._transitionEngine.onRemovalComplete=(i,r)=>this.onRemovalComplete(i,r)}registerTrigger(e,t,s,i,r){let a=e+"-"+i,o=this._triggerCache[a];if(!o){let l=[],u=[],c=dt(this._driver,r,l,u);if(l.length)throw Qt(i,l);o=si(i,c,this._normalizer),this._triggerCache[a]=o}this._transitionEngine.registerTrigger(t,i,o)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,s,i){this._transitionEngine.insertNode(e,t,s,i)}onRemove(e,t,s){this._transitionEngine.removeNode(e,t,s)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,s,i){if(s.charAt(0)=="@"){let[r,a]=Be(s),o=i;this._timelineEngine.command(r,t,a,o)}else this._transitionEngine.trigger(e,t,s,i)}listen(e,t,s,i,r){if(s.charAt(0)=="@"){let[a,o]=Be(s);return this._timelineEngine.listen(a,t,o,r)}return this._transitionEngine.listen(e,t,s,i,r)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(e){this._transitionEngine.afterFlushAnimationsDone(e)}};function yi(n,e){let t=null,s=null;return Array.isArray(e)&&e.length?(t=xe(e[0]),e.length>1&&(s=xe(e[e.length-1]))):e instanceof Map&&(t=xe(e)),t||s?new _i(n,t,s):null}var _i=(()=>{class n{_element;_startStyles;_endStyles;static initialStylesByElement=new WeakMap;_state=0;_initialStyles;constructor(t,s,i){this._element=t,this._startStyles=s,this._endStyles=i;let r=n.initialStylesByElement.get(t);r||n.initialStylesByElement.set(t,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&K(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(K(this._element,this._initialStyles),this._endStyles&&(K(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(n.initialStylesByElement.delete(this._element),this._startStyles&&(j(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(j(this._element,this._endStyles),this._endStyles=null),K(this._element,this._initialStyles),this._state=3)}}return n})();function xe(n){let e=null;return n.forEach((t,s)=>{Si(s)&&(e=e||new Map,e.set(s,t))}),e}function Si(n){return n==="display"||n==="position"}var ke=class{element;keyframes;options;_specialStyles;_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_duration;_delay;_initialized=!1;_finished=!1;_started=!1;_destroyed=!1;_finalKeyframe;_originalOnDoneFns=[];_originalOnStartFns=[];domPlayer=null;time=0;parentPlayer=null;currentSnapshot=new Map;constructor(e,t,s,i){this.element=e,this.keyframes=t,this.options=s,this._specialStyles=i,this._duration=s.duration,this._delay=s.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer()&&this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return this.domPlayer;this._initialized=!0;let e=this.keyframes,t=this._triggerWebAnimation(this.element,e,this.options);if(!t)return this._onFinish(),null;this.domPlayer=t,this._finalKeyframe=e.length?e[e.length-1]:new Map;let s=()=>this._onFinish();return t.addEventListener("finish",s),this.onDestroy(()=>{t.removeEventListener("finish",s)}),t}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer?.pause()}_convertKeyframesToObject(e){let t=[];return e.forEach(s=>{t.push(Object.fromEntries(s))}),t}_triggerWebAnimation(e,t,s){let i=this._convertKeyframesToObject(t);try{return e.animate(i,s)}catch{return null}}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){let e=this._buildPlayer();e&&(this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),e.play())}pause(){this.init(),this.domPlayer?.pause()}finish(){this.init(),this.domPlayer&&(this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish())}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer?.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){this.domPlayer||this.init(),this.domPlayer&&(this.domPlayer.currentTime=e*this.time)}getPosition(){return this.domPlayer?+(this.domPlayer.currentTime??0)/this.time:this._initialized?1:0}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((s,i)=>{i!=="offset"&&e.set(i,this._finished?s:Te(this.element,i))}),this.currentSnapshot=e}triggerCallback(e){let t=e==="start"?this._onStartFns:this._onDoneFns;t.forEach(s=>s()),t.length=0}},ct=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,t){return Qe(e,t)}getParentElement(e){return ye(e)}query(e,t,s){return Ve(e,t,s)}computeStyle(e,t,s){return Te(e,t)}animate(e,t,s,i,r,a=[]){let o=i==0?"both":"forwards",l={duration:s,delay:i,fill:o};r&&(l.easing=r);let u=new Map,c=a.filter(y=>y instanceof ke);ts(s,i)&&c.forEach(y=>{y.currentSnapshot.forEach((d,g)=>u.set(g,d))});let h=Zt(t).map(y=>new Map(y));h=ss(e,h,u);let S=yi(e,h);return new ke(e,h,l,S)}};function Di(n,e){return n==="noop"?new Me(e,new gs,new Ze):new Me(e,new ct,new et)}var ms=class{_driver;_animationAst;constructor(e,t){this._driver=e;let s=[],r=dt(e,t,s,[]);if(s.length)throw qt(s);this._animationAst=r}buildTimelines(e,t,s,i,r){let a=Array.isArray(t)?Ge(t):t,o=Array.isArray(s)?Ge(s):s,l=[];r=r||new ne;let u=pt(this._driver,e,this._animationAst,_e,ae,a,o,i,r,l);if(l.length)throw Bt(l);return u}},Pe="@",Ts="@.disabled",Fe=class{namespaceId;delegate;engine;_onDestroy;\u0275type=0;constructor(e,t,s,i){this.namespaceId=e,this.delegate=t,this.engine=s,this._onDestroy=i}get data(){return this.delegate.data}destroyNode(e){this.delegate.destroyNode?.(e)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,s,i=!0){this.delegate.insertBefore(e,t,s),this.engine.onInsert(this.namespaceId,t,e,i)}removeChild(e,t,s,i){if(i){this.delegate.removeChild(e,t,s,i);return}this.parentNode(t)&&this.engine.onRemove(this.namespaceId,t,this.delegate)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,s,i){this.delegate.setAttribute(e,t,s,i)}removeAttribute(e,t,s){this.delegate.removeAttribute(e,t,s)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,s,i){this.delegate.setStyle(e,t,s,i)}removeStyle(e,t,s){this.delegate.removeStyle(e,t,s)}setProperty(e,t,s){t.charAt(0)==Pe&&t==Ts?this.disableAnimations(e,!!s):this.delegate.setProperty(e,t,s)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,s,i){return this.delegate.listen(e,t,s,i)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}},ft=class extends Fe{factory;constructor(e,t,s,i,r){super(t,s,i,r),this.factory=e,this.namespaceId=t}setProperty(e,t,s){t.charAt(0)==Pe?t.charAt(1)=="."&&t==Ts?(s=s===void 0?!0:!!s,this.disableAnimations(e,s)):this.engine.process(this.namespaceId,e,t.slice(1),s):this.delegate.setProperty(e,t,s)}listen(e,t,s,i){if(t.charAt(0)==Pe){let r=Ei(e),a=t.slice(1),o="";return a.charAt(0)!=Pe&&([a,o]=Ti(a)),this.engine.listen(this.namespaceId,r,a,o,l=>{let u=l._data||-1;this.factory.scheduleListenerCallback(u,s,l)})}return this.delegate.listen(e,t,s,i)}};function Ei(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}function Ti(n){let e=n.indexOf("."),t=n.substring(0,e),s=n.slice(e+1);return[t,s]}var ps=class{delegate;engine;_zone;_currentId=0;_microtaskId=1;_animationCallbacksBuffer=[];_rendererCache=new Map;_cdRecurDepth=0;constructor(e,t,s){this.delegate=e,this.engine=t,this._zone=s,t.onRemovalComplete=(i,r)=>{r?.removeChild(null,i)}}createRenderer(e,t){let i=this.delegate.createRenderer(e,t);if(!e||!t?.data?.animation){let u=this._rendererCache,c=u.get(i);if(!c){let h=()=>u.delete(i);c=new Fe("",i,this.engine,h),u.set(i,c)}return c}let r=t.id,a=t.id+"-"+this._currentId;this._currentId++,this.engine.register(a,e);let o=u=>{Array.isArray(u)?u.forEach(o):this.engine.registerTrigger(r,a,e,u.name,u)};return t.data.animation.forEach(o),new ft(this,a,i,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(e,t,s){if(e>=0&&et(s));return}let i=this._animationCallbacksBuffer;i.length==0&&queueMicrotask(()=>{this._zone.run(()=>{i.forEach(r=>{let[a,o]=r;a(o)}),this._animationCallbacksBuffer=[]})}),i.push([t,s])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}componentReplaced(e){this.engine.flush(),this.delegate.componentReplaced?.(e)}};export{is as AnimationDriver,gs as NoopAnimationDriver,ms as \u0275Animation,Me as \u0275AnimationEngine,ft as \u0275AnimationRenderer,ps as \u0275AnimationRendererFactory,Je as \u0275AnimationStyleNormalizer,Fe as \u0275BaseAnimationRenderer,_e as \u0275ENTER_CLASSNAME,ae as \u0275LEAVE_CLASSNAME,Ze as \u0275NoopAnimationStyleNormalizer,fe as \u0275TransitionAnimationPlayer,ct as \u0275WebAnimationsDriver,ke as \u0275WebAnimationsPlayer,et as \u0275WebAnimationsStyleNormalizer,ts as \u0275allowPreviousPlayerStylesMerge,qs as \u0275camelCaseToDashCase,Qe as \u0275containsElement,Di as \u0275createEngine,ye as \u0275getParentElement,Ve as \u0275invokeQuery,Zt as \u0275normalizeKeyframes,Jt as \u0275validateStyleProperty,Fs as \u0275validateWebAnimatableStyleProperty}; diff --git a/chunk-T6TXUSUP.js b/chunk-T6TXUSUP.js new file mode 100644 index 0000000..5a95666 --- /dev/null +++ b/chunk-T6TXUSUP.js @@ -0,0 +1 @@ +import{b as c}from"./chunk-RC3JXGN6.js";import{a as d}from"./chunk-52JZ5I3Y.js";import{w as l}from"./chunk-COFYR5MX.js";import{Fc as s,_ as i,da as o,ta as r}from"./chunk-2MUIW2M6.js";var g=class a{loadingSignal=r(!1);loadingMessageSignal=r("");loadingCountSignal=r(0);isLoading=this.loadingSignal.asReadonly();loadingMessage=this.loadingMessageSignal.asReadonly();constructor(){}start(e="Loading..."){this.loadingCountSignal.update(t=>t+1),this.loadingMessageSignal.set(e),this.loadingSignal.set(!0)}stop(){this.loadingCountSignal.update(e=>{let t=Math.max(0,e-1);return t===0&&(this.loadingSignal.set(!1),this.loadingMessageSignal.set("")),t})}stopAll(){this.loadingCountSignal.set(0),this.loadingSignal.set(!1),this.loadingMessageSignal.set("")}getLoadingState(){return this.loadingSignal()}static \u0275fac=function(t){return new(t||a)};static \u0275prov=i({token:a,factory:a.\u0275fac,providedIn:"root"})};var m=class a{THEME_KEY="app-theme";storageService=o(c);themeSignal=r(this.getInitialTheme());theme=this.themeSignal.asReadonly();constructor(){this.applyTheme(this.themeSignal()),s(()=>{let e=this.themeSignal();this.applyTheme(e),this.storageService.setTheme(e)}),this.watchSystemThemePreference()}getInitialTheme(){let e=this.storageService.getTheme();return e||(typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}applyTheme(e){if(typeof document<"u"){let t=document.body;e==="dark"?(t.classList.add("dark-theme"),t.classList.remove("light-theme")):(t.classList.add("light-theme"),t.classList.remove("dark-theme")),document.documentElement.style.colorScheme=e}}watchSystemThemePreference(){typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",t=>{this.storageService.getTheme()||this.setTheme(t.matches?"dark":"light")})}setTheme(e){this.themeSignal.set(e)}toggleTheme(){let e=this.themeSignal();this.setTheme(e==="light"?"dark":"light")}isDarkMode(){return this.themeSignal()==="dark"}resetToSystemPreference(){if(localStorage.removeItem(this.THEME_KEY),typeof window<"u"&&window.matchMedia){let e=window.matchMedia("(prefers-color-scheme: dark)").matches;this.setTheme(e?"dark":"light")}else this.setTheme("light")}static \u0275fac=function(t){return new(t||a)};static \u0275prov=i({token:a,factory:a.\u0275fac,providedIn:"root"})};var u=class a{toastService=o(d);router=o(l);handleError(e){console.error("Global error caught:",e),this.logErrorToExternalService(e);let t="An unexpected error occurred. Please try again.",n=!1;if(e instanceof Error&&(e.message.includes("ChunkLoadError")||e.message.includes("Loading chunk")?t="Failed to load application resources. Please refresh the page.":e.message.includes("Network")?t="Network error. Please check your internet connection.":e.name==="TypeError"&&(t="A technical error occurred. Our team has been notified.",n=!0)),e?.status)switch(e.status){case 0:t="Cannot connect to server. Please check your internet connection.";break;case 401:t="Session expired. Please login again.",this.router.navigate(["/login"]);return;case 403:t="You do not have permission to perform this action.";break;case 404:t="The requested resource was not found.";break;case 500:case 502:case 503:t="Server error. Please try again later.",n=!0;break;default:t=`An error occurred (${e.status}). Please try again.`}this.toastService.error(t,8e3),n&&!this.router.url.includes("/error")&&this.router.navigate(["/error"],{queryParams:{message:t,timestamp:Date.now()}})}logErrorToExternalService(e){let t={message:e?.message||"Unknown error",stack:e?.stack,timestamp:new Date().toISOString(),url:window.location.href,userAgent:navigator.userAgent};console.log("Error logged:",t)}static \u0275fac=function(t){return new(t||a)};static \u0275prov=i({token:a,factory:a.\u0275fac,providedIn:"root"})};export{g as a,m as b,u as c}; diff --git a/chunk-TAS7XC6E.js b/chunk-TAS7XC6E.js new file mode 100644 index 0000000..5386984 --- /dev/null +++ b/chunk-TAS7XC6E.js @@ -0,0 +1,5 @@ +import{g as xi,h as ki,j as Z,k as Ei}from"./chunk-EGL4ZKWQ.js";import{d as _i,e as vi,i as gi,o as fi}from"./chunk-GWD5A44H.js";import{L as yi,N,O as bi,X as K,Y as W,_ as wi,ca as Ci,ea as U,oa as Ii,qa as Si,sa as Di,ta as X,va as Mi}from"./chunk-COFYR5MX.js";import{$ as ci,$b as p,A as T,Aa as ri,Ca as I,Cb as _,Da as di,Db as v,Eb as g,Hc as ui,Jb as z,Kb as m,Lb as y,Mb as x,Mc as j,Nb as V,Ob as Q,Pc as s,Qc as q,S as B,T as ai,U as f,Ub as L,Xb as C,Za as u,Zb as pi,_b as D,ac as l,ba as b,bc as G,cb as w,cc as r,da as n,db as si,dc as d,eb as li,i as k,jc as M,kc as mi,ma as oi,na as H,ob as E,pb as hi,qb as S,sb as P,uc as A,za as ni}from"./chunk-2MUIW2M6.js";var Qi=["*",[["mat-chip-avatar"],["","matChipAvatar",""]],[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],Gi=["*","mat-chip-avatar, [matChipAvatar]","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function ji(a,h){a&1&&(m(0,"span",3),p(1,1),y())}function qi(a,h){a&1&&(m(0,"span",6),p(1,2),y())}var Ni=`.mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-outline-width, 1px);border-radius:var(--mat-chip-container-shape-radius, 8px);box-sizing:border-box;content:"";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mat-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mat-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mat-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mat-chip-with-avatar-avatar-size, 24px);height:var(--mat-chip-with-avatar-avatar-size, 24px);font-size:var(--mat-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mat-chip-container-shape-radius, 8px);height:var(--mat-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mat-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mat-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mat-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mat-chip-with-icon-icon-size, 18px);height:var(--mat-chip-with-icon-icon-size, 18px);font-size:var(--mat-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mat-chip-with-icon-icon-color: var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mat-chip-elevated-container-color: var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mat-chip-label-text-color: var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mat-chip-outline-width: var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mat-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mat-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-edit,.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-edit:focus,.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-edit:hover::after,.mat-mdc-chip-remove:hover::after{opacity:var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-edit:focus::after,.mat-mdc-chip-remove:focus::after{opacity:var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,.mat-mdc-standard-chip .mdc-evolution-chip__action--primary,.mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:visible}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mat-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-edit::before,.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{content:"";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus .mat-focus-indicator::before{content:""}.mdc-evolution-chip__icon,.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content} +`,Ki=[[["","matChipEdit",""]],[["mat-chip-avatar"],["","matChipAvatar",""]],[["","matChipEditInput",""]],"*",[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],Wi=["[matChipEdit]","mat-chip-avatar, [matChipAvatar]","[matChipEditInput]","*","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function Ui(a,h){a&1&&x(0,"span",0)}function Zi(a,h){a&1&&(m(0,"span",1),p(1),y())}function Xi(a,h){a&1&&(m(0,"span",3),p(1,1),y())}function Ji(a,h){a&1&&p(0,2)}function Yi(a,h){a&1&&x(0,"span",7)}function $i(a,h){if(a&1&&v(0,Ji,1,0)(1,Yi,1,0,"span",7),a&2){let i=pi();g(i.contentEditInput?0:1)}}function it(a,h){a&1&&p(0,3)}function tt(a,h){a&1&&(m(0,"span",6),p(1,4),y())}var Li=["*"],et=`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0} +`,Oi=new b("mat-chips-default-options",{providedIn:"root",factory:()=>({separatorKeyCodes:[13]})}),Fi=new b("MatChipAvatar"),Ri=new b("MatChipTrailingIcon"),Ti=new b("MatChipEdit"),Y=new b("MatChipRemove"),ti=new b("MatChip"),O=(()=>{class a{_elementRef=n(I);_parentChip=n(ti);isInteractive=!0;_isPrimary=!0;_isLeading=!1;get disabled(){return this._disabled||this._parentChip?.disabled||!1}set disabled(i){this._disabled=i}_disabled=!1;tabIndex=-1;_allowFocusWhenDisabled=!1;_getDisabledAttribute(){return this.disabled&&!this._allowFocusWhenDisabled?"":null}_getTabindex(){return this.disabled&&!this._allowFocusWhenDisabled||!this.isInteractive?null:this.tabIndex.toString()}constructor(){n(N).load(X),this._elementRef.nativeElement.nodeName==="BUTTON"&&this._elementRef.nativeElement.setAttribute("type","button")}focus(){this._elementRef.nativeElement.focus()}_handleClick(i){!this.disabled&&this.isInteractive&&this._isPrimary&&(i.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}_handleKeydown(i){(i.keyCode===13||i.keyCode===32)&&!this.disabled&&this.isInteractive&&this._isPrimary&&!this._parentChip._isEditing&&(i.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}static \u0275fac=function(e){return new(e||a)};static \u0275dir=S({type:a,selectors:[["","matChipAction",""]],hostAttrs:[1,"mdc-evolution-chip__action","mat-mdc-chip-action"],hostVars:11,hostBindings:function(e,t){e&1&&C("click",function(c){return t._handleClick(c)})("keydown",function(c){return t._handleKeydown(c)}),e&2&&(_("tabindex",t._getTabindex())("disabled",t._getDisabledAttribute())("aria-disabled",t.disabled),M("mdc-evolution-chip__action--primary",t._isPrimary)("mdc-evolution-chip__action--presentational",!t.isInteractive)("mdc-evolution-chip__action--secondary",!t._isPrimary)("mdc-evolution-chip__action--trailing",!t._isPrimary&&!t._isLeading))},inputs:{isInteractive:"isInteractive",disabled:[2,"disabled","disabled",s],tabIndex:[2,"tabIndex","tabIndex",i=>i==null?-1:q(i)],_allowFocusWhenDisabled:"_allowFocusWhenDisabled"}})}return a})();var Lt=(()=>{class a extends O{_isPrimary=!1;_handleClick(i){this.disabled||(i.stopPropagation(),i.preventDefault(),this._parentChip.remove())}_handleKeydown(i){(i.keyCode===13||i.keyCode===32)&&!this.disabled&&(i.stopPropagation(),i.preventDefault(),this._parentChip.remove())}static \u0275fac=(()=>{let i;return function(t){return(i||(i=ri(a)))(t||a)}})();static \u0275dir=S({type:a,selectors:[["","matChipRemove",""]],hostAttrs:["role","button",1,"mat-mdc-chip-remove","mat-mdc-chip-trailing-icon","mat-focus-indicator","mdc-evolution-chip__icon","mdc-evolution-chip__icon--trailing"],hostVars:1,hostBindings:function(e,t){e&2&&_("aria-hidden",null)},features:[A([{provide:Y,useExisting:a}]),P]})}return a})(),$=(()=>{class a{_changeDetectorRef=n(j);_elementRef=n(I);_tagName=n(ui);_ngZone=n(si);_focusMonitor=n(yi);_globalRippleOptions=n(Si,{optional:!0});_document=n(H);_onFocus=new k;_onBlur=new k;_isBasicChip;role=null;_hasFocusInternal=!1;_pendingFocus;_actionChanges;_animationsDisabled=Ii();_allLeadingIcons;_allTrailingIcons;_allEditIcons;_allRemoveIcons;_hasFocus(){return this._hasFocusInternal}id=n(K).getId("mat-mdc-chip-");ariaLabel=null;ariaDescription=null;_chipListDisabled=!1;_hadFocusOnRemove=!1;_textElement;get value(){return this._value!==void 0?this._value:this._textElement.textContent.trim()}set value(i){this._value=i}_value;color;removable=!0;highlighted=!1;disableRipple=!1;get disabled(){return this._disabled||this._chipListDisabled}set disabled(i){this._disabled=i}_disabled=!1;removed=new w;destroyed=new w;basicChipAttrName="mat-basic-chip";leadingIcon;editIcon;trailingIcon;removeIcon;primaryAction;_rippleLoader=n(Di);_injector=n(oi);constructor(){let i=n(N);i.load(X),i.load(bi),this._monitorFocus(),this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-chip-ripple",disabled:this._isRippleDisabled()})}ngOnInit(){this._isBasicChip=this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName)||this._tagName.toLowerCase()===this.basicChipAttrName}ngAfterViewInit(){this._textElement=this._elementRef.nativeElement.querySelector(".mat-mdc-chip-action-label"),this._pendingFocus&&(this._pendingFocus=!1,this.focus())}ngAfterContentInit(){this._actionChanges=T(this._allLeadingIcons.changes,this._allTrailingIcons.changes,this._allEditIcons.changes,this._allRemoveIcons.changes).subscribe(()=>this._changeDetectorRef.markForCheck())}ngDoCheck(){this._rippleLoader.setDisabled(this._elementRef.nativeElement,this._isRippleDisabled())}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement),this._actionChanges?.unsubscribe(),this.destroyed.emit({chip:this}),this.destroyed.complete()}remove(){this.removable&&(this._hadFocusOnRemove=this._hasFocus(),this.removed.emit({chip:this}))}_isRippleDisabled(){return this.disabled||this.disableRipple||this._animationsDisabled||this._isBasicChip||!this._hasInteractiveActions()||!!this._globalRippleOptions?.disabled}_hasTrailingIcon(){return!!(this.trailingIcon||this.removeIcon)}_handleKeydown(i){(i.keyCode===8&&!i.repeat||i.keyCode===46)&&(i.preventDefault(),this.remove())}focus(){this.disabled||(this.primaryAction?this.primaryAction.focus():this._pendingFocus=!0)}_getSourceAction(i){return this._getActions().find(e=>{let t=e._elementRef.nativeElement;return t===i||t.contains(i)})}_getActions(){let i=[];return this.editIcon&&i.push(this.editIcon),this.primaryAction&&i.push(this.primaryAction),this.removeIcon&&i.push(this.removeIcon),this.trailingIcon&&i.push(this.trailingIcon),i}_handlePrimaryActionInteraction(){}_hasInteractiveActions(){return this._getActions().some(i=>i.isInteractive)}_edit(i){}_monitorFocus(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(i=>{let e=i!==null;e!==this._hasFocusInternal&&(this._hasFocusInternal=e,e?this._onFocus.next({chip:this}):(this._changeDetectorRef.markForCheck(),setTimeout(()=>this._ngZone.run(()=>this._onBlur.next({chip:this})))))})}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=E({type:a,selectors:[["mat-basic-chip"],["","mat-basic-chip",""],["mat-chip"],["","mat-chip",""]],contentQueries:function(e,t,o){if(e&1&&(l(o,Fi,5),l(o,Ti,5),l(o,Ri,5),l(o,Y,5),l(o,Fi,5),l(o,Ri,5),l(o,Ti,5),l(o,Y,5)),e&2){let c;r(c=d())&&(t.leadingIcon=c.first),r(c=d())&&(t.editIcon=c.first),r(c=d())&&(t.trailingIcon=c.first),r(c=d())&&(t.removeIcon=c.first),r(c=d())&&(t._allLeadingIcons=c),r(c=d())&&(t._allTrailingIcons=c),r(c=d())&&(t._allEditIcons=c),r(c=d())&&(t._allRemoveIcons=c)}},viewQuery:function(e,t){if(e&1&&G(O,5),e&2){let o;r(o=d())&&(t.primaryAction=o.first)}},hostAttrs:[1,"mat-mdc-chip"],hostVars:31,hostBindings:function(e,t){e&1&&C("keydown",function(c){return t._handleKeydown(c)}),e&2&&(L("id",t.id),_("role",t.role)("aria-label",t.ariaLabel),mi("mat-"+(t.color||"primary")),M("mdc-evolution-chip",!t._isBasicChip)("mdc-evolution-chip--disabled",t.disabled)("mdc-evolution-chip--with-trailing-action",t._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",t.leadingIcon)("mdc-evolution-chip--with-primary-icon",t.leadingIcon)("mdc-evolution-chip--with-avatar",t.leadingIcon)("mat-mdc-chip-with-avatar",t.leadingIcon)("mat-mdc-chip-highlighted",t.highlighted)("mat-mdc-chip-disabled",t.disabled)("mat-mdc-basic-chip",t._isBasicChip)("mat-mdc-standard-chip",!t._isBasicChip)("mat-mdc-chip-with-trailing-icon",t._hasTrailingIcon())("_mat-animation-noopable",t._animationsDisabled))},inputs:{role:"role",id:"id",ariaLabel:[0,"aria-label","ariaLabel"],ariaDescription:[0,"aria-description","ariaDescription"],value:"value",color:"color",removable:[2,"removable","removable",s],highlighted:[2,"highlighted","highlighted",s],disableRipple:[2,"disableRipple","disableRipple",s],disabled:[2,"disabled","disabled",s]},outputs:{removed:"removed",destroyed:"destroyed"},exportAs:["matChip"],features:[A([{provide:ti,useExisting:a}])],ngContentSelectors:Gi,decls:8,vars:3,consts:[[1,"mat-mdc-chip-focus-overlay"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary"],["matChipAction","",3,"isInteractive"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],[1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],[1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"]],template:function(e,t){e&1&&(D(Qi),x(0,"span",0),m(1,"span",1)(2,"span",2),v(3,ji,2,0,"span",3),m(4,"span",4),p(5),x(6,"span",5),y()()(),v(7,qi,2,0,"span",6)),e&2&&(u(2),z("isInteractive",!1),u(),g(t.leadingIcon?3:-1),u(4),g(t._hasTrailingIcon()?7:-1))},dependencies:[O],styles:[`.mdc-evolution-chip,.mdc-evolution-chip__cell,.mdc-evolution-chip__action{display:inline-flex;align-items:center}.mdc-evolution-chip{position:relative;max-width:100%}.mdc-evolution-chip__cell,.mdc-evolution-chip__action{height:100%}.mdc-evolution-chip__cell--primary{flex-basis:100%;overflow-x:hidden}.mdc-evolution-chip__cell--trailing{flex:1 0 auto}.mdc-evolution-chip__action{align-items:center;background:none;border:none;box-sizing:content-box;cursor:pointer;display:inline-flex;justify-content:center;outline:none;padding:0;text-decoration:none;color:inherit}.mdc-evolution-chip__action--presentational{cursor:auto}.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{pointer-events:none}@media(forced-colors: active){.mdc-evolution-chip--disabled,.mdc-evolution-chip__action:disabled{forced-color-adjust:none}}.mdc-evolution-chip__action--primary{font:inherit;letter-spacing:inherit;white-space:inherit;overflow-x:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-outline-width, 1px);border-radius:var(--mat-chip-container-shape-radius, 8px);box-sizing:border-box;content:"";height:100%;left:0;position:absolute;pointer-events:none;top:0;width:100%;z-index:1;border-style:solid}.mat-mdc-standard-chip .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-outline-color, var(--mat-sys-outline))}.mdc-evolution-chip__action--primary:not(.mdc-evolution-chip__action--presentational):not(.mdc-ripple-upgraded):focus::before{border-color:var(--mat-chip-focus-outline-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--primary::before{border-color:var(--mat-chip-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__action--primary::before{border-width:var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-basic-chip .mdc-evolution-chip__action--primary{font:inherit}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}.mat-mdc-standard-chip.mdc-evolution-chip--with-leading-action.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:0;padding-right:12px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__action--primary{padding-left:12px;padding-right:0}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--primary{padding-left:0;padding-right:0}.mdc-evolution-chip__action--secondary{position:relative;overflow:visible}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-trailing-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__action--secondary{color:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-standard-chip.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__action--secondary{padding-left:8px;padding-right:8px}.mdc-evolution-chip__text-label{-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-mdc-standard-chip .mdc-evolution-chip__text-label{font-family:var(--mat-chip-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-chip-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-chip-label-text-size, var(--mat-sys-label-large-size));font-weight:var(--mat-chip-label-text-weight, var(--mat-sys-label-large-weight));letter-spacing:var(--mat-chip-label-text-tracking, var(--mat-sys-label-large-tracking))}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-label-text-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__text-label{color:var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label,.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__text-label{color:var(--mat-chip-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mdc-evolution-chip__graphic{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;pointer-events:none;position:relative;flex:1 0 auto}.mat-mdc-standard-chip .mdc-evolution-chip__graphic{width:var(--mat-chip-with-avatar-avatar-size, 24px);height:var(--mat-chip-with-avatar-avatar-size, 24px);font-size:var(--mat-chip-with-avatar-avatar-size, 24px)}.mdc-evolution-chip--selecting .mdc-evolution-chip__graphic{transition:width 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selectable:not(.mdc-evolution-chip--selected):not(.mdc-evolution-chip--with-primary-icon) .mdc-evolution-chip__graphic{width:0}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mat-mdc-standard-chip.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:6px;padding-right:6px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:4px;padding-right:8px}[dir=rtl] .mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-trailing-action .mdc-evolution-chip__graphic{padding-left:8px;padding-right:4px}.mdc-evolution-chip--with-avatar.mdc-evolution-chip--with-primary-graphic.mdc-evolution-chip--with-leading-action .mdc-evolution-chip__graphic{padding-left:0}.mdc-evolution-chip__checkmark{position:absolute;opacity:0;top:50%;left:50%;height:20px;width:20px}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__checkmark{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark{transition:transform 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1);transform:translate(-75%, -50%)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{transform:translate(-50%, -50%);opacity:1}.mdc-evolution-chip__checkmark-svg{display:block}.mdc-evolution-chip__checkmark-path{stroke-width:2px;stroke-dasharray:29.7833385;stroke-dashoffset:29.7833385;stroke:currentColor}.mdc-evolution-chip--selecting .mdc-evolution-chip__checkmark-path{transition:stroke-dashoffset 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark-path{stroke-dashoffset:0}@media(forced-colors: active){.mdc-evolution-chip__checkmark-path{stroke:CanvasText !important}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--trailing{height:18px;width:18px;font-size:18px}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove{opacity:calc(var(--mat-chip-trailing-action-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing.mat-mdc-chip-remove:focus{opacity:calc(var(--mat-chip-trailing-action-focus-opacity, 1)*var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38))}.mat-mdc-standard-chip{border-radius:var(--mat-chip-container-shape-radius, 8px);height:var(--mat-chip-container-height, 32px)}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-container-color, transparent)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{background-color:var(--mat-chip-elevated-disabled-container-color)}.mat-mdc-standard-chip.mdc-evolution-chip--selected:not(.mdc-evolution-chip--disabled){background-color:var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled{background-color:var(--mat-chip-flat-disabled-selected-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent))}@media(forced-colors: active){.mat-mdc-standard-chip{outline:solid 1px}}.mat-mdc-standard-chip .mdc-evolution-chip__icon--primary{border-radius:var(--mat-chip-with-avatar-avatar-shape-radius, 24px);width:var(--mat-chip-with-icon-icon-size, 18px);height:var(--mat-chip-with-icon-icon-size, 18px);font-size:var(--mat-chip-with-icon-icon-size, 18px)}.mdc-evolution-chip--selected .mdc-evolution-chip__icon--primary{opacity:0}.mat-mdc-standard-chip:not(.mdc-evolution-chip--disabled) .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-standard-chip.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--primary{color:var(--mat-chip-with-icon-disabled-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-highlighted{--mat-chip-with-icon-icon-color: var(--mat-chip-with-icon-selected-icon-color, var(--mat-sys-on-secondary-container));--mat-chip-elevated-container-color: var(--mat-chip-elevated-selected-container-color, var(--mat-sys-secondary-container));--mat-chip-label-text-color: var(--mat-chip-selected-label-text-color, var(--mat-sys-on-secondary-container));--mat-chip-outline-width: var(--mat-chip-flat-selected-outline-width, 0)}.mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-selected .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-chip:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-hover-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-focus-overlay .mat-mdc-chip-selected:hover,.mat-mdc-chip-highlighted:hover .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-hover-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-focus-state-layer-color, var(--mat-sys-on-surface-variant));opacity:var(--mat-chip-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected.cdk-focused .mat-mdc-chip-focus-overlay,.mat-mdc-chip-highlighted.cdk-focused .mat-mdc-chip-focus-overlay{background:var(--mat-chip-selected-focus-state-layer-color, var(--mat-sys-on-secondary-container));opacity:var(--mat-chip-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-evolution-chip--disabled:not(.mdc-evolution-chip--selected) .mat-mdc-chip-avatar{opacity:var(--mat-chip-with-avatar-disabled-avatar-opacity, 0.38)}.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{opacity:var(--mat-chip-with-trailing-icon-disabled-trailing-icon-opacity, 0.38)}.mdc-evolution-chip--disabled.mdc-evolution-chip--selected .mdc-evolution-chip__checkmark{opacity:var(--mat-chip-with-icon-disabled-icon-opacity, 0.38)}.mat-mdc-standard-chip.mdc-evolution-chip--disabled{opacity:var(--mat-chip-disabled-container-opacity, 1)}.mat-mdc-standard-chip.mdc-evolution-chip--selected .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-trailing-icon-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip.mdc-evolution-chip--selected.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing,.mat-mdc-standard-chip.mat-mdc-chip-highlighted.mdc-evolution-chip--disabled .mdc-evolution-chip__icon--trailing{color:var(--mat-chip-selected-disabled-trailing-icon-color, var(--mat-sys-on-surface))}.mat-mdc-chip-edit,.mat-mdc-chip-remove{opacity:var(--mat-chip-trailing-action-opacity, 1)}.mat-mdc-chip-edit:focus,.mat-mdc-chip-remove:focus{opacity:var(--mat-chip-trailing-action-focus-opacity, 1)}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{background-color:var(--mat-chip-trailing-action-state-layer-color, var(--mat-sys-on-surface-variant))}.mat-mdc-chip-edit:hover::after,.mat-mdc-chip-remove:hover::after{opacity:var(--mat-chip-trailing-action-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mat-mdc-chip-edit:focus::after,.mat-mdc-chip-remove:focus::after{opacity:var(--mat-chip-trailing-action-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mat-mdc-chip-selected .mat-mdc-chip-remove::after,.mat-mdc-chip-highlighted .mat-mdc-chip-remove::after{background-color:var(--mat-chip-selected-trailing-action-state-layer-color, var(--mat-sys-on-secondary-container))}.mat-mdc-standard-chip{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-standard-chip .mdc-evolution-chip__cell--primary,.mat-mdc-standard-chip .mdc-evolution-chip__action--primary,.mat-mdc-standard-chip .mat-mdc-chip-action-label{overflow:visible}.mat-mdc-standard-chip .mat-mdc-chip-graphic,.mat-mdc-standard-chip .mat-mdc-chip-trailing-icon{box-sizing:content-box}.mat-mdc-standard-chip._mat-animation-noopable,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__graphic,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark,.mat-mdc-standard-chip._mat-animation-noopable .mdc-evolution-chip__checkmark-path{transition-duration:1ms;animation-duration:1ms}.mat-mdc-chip-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity 150ms linear}._mat-animation-noopable .mat-mdc-chip-focus-overlay{transition:none}.mat-mdc-basic-chip .mat-mdc-chip-focus-overlay{display:none}.mat-mdc-chip .mat-ripple.mat-mdc-chip-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-chip-avatar{text-align:center;line-height:1;color:var(--mat-chip-with-icon-icon-color, currentColor)}.mat-mdc-chip{position:relative;z-index:0}.mat-mdc-chip-action-label{text-align:left;z-index:1}[dir=rtl] .mat-mdc-chip-action-label{text-align:right}.mat-mdc-chip.mdc-evolution-chip--with-trailing-action .mat-mdc-chip-action-label{position:relative}.mat-mdc-chip-action-label .mat-mdc-chip-primary-focus-indicator{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mat-mdc-chip-action-label .mat-focus-indicator::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-mdc-chip-edit::before,.mat-mdc-chip-remove::before{margin:calc(var(--mat-focus-indicator-border-width, 3px)*-1);left:8px;right:8px}.mat-mdc-chip-edit::after,.mat-mdc-chip-remove::after{content:"";display:block;opacity:0;position:absolute;top:-3px;bottom:-3px;left:5px;right:5px;border-radius:50%;box-sizing:border-box;padding:12px;margin:-12px;background-clip:content-box}.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{width:18px;height:18px;font-size:18px;box-sizing:content-box}.mat-chip-edit-input{cursor:text;display:inline-block;color:inherit;outline:0}@media(forced-colors: active){.mat-mdc-chip-selected:not(.mat-mdc-chip-multiple){outline-width:3px}}.mat-mdc-chip-action:focus .mat-focus-indicator::before{content:""}.mdc-evolution-chip__icon,.mat-mdc-chip-edit .mat-icon,.mat-mdc-chip-remove .mat-icon{min-height:fit-content} +`],encapsulation:2,changeDetection:0})}return a})();var J=(()=>{class a{_elementRef=n(I);_document=n(H);constructor(){}initialize(i){this.getNativeElement().focus(),this.setValue(i)}getNativeElement(){return this._elementRef.nativeElement}setValue(i){this.getNativeElement().textContent=i,this._moveCursorToEndOfInput()}getValue(){return this.getNativeElement().textContent||""}_moveCursorToEndOfInput(){let i=this._document.createRange();i.selectNodeContents(this.getNativeElement()),i.collapse(!1);let e=window.getSelection();e.removeAllRanges(),e.addRange(i)}static \u0275fac=function(e){return new(e||a)};static \u0275dir=S({type:a,selectors:[["span","matChipEditInput",""]],hostAttrs:["role","textbox","tabindex","-1","contenteditable","true",1,"mat-chip-edit-input"]})}return a})(),at=(()=>{class a extends ${basicChipAttrName="mat-basic-chip-row";_editStartPending=!1;editable=!1;edited=new w;defaultEditInput;contentEditInput;_alreadyFocused=!1;_isEditing=!1;constructor(){super(),this.role="row",this._onBlur.pipe(f(this.destroyed)).subscribe(()=>{this._isEditing&&!this._editStartPending&&this._onEditFinish(),this._alreadyFocused=!1})}ngAfterViewInit(){super.ngAfterViewInit(),this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("mousedown",()=>this._alreadyFocused=this._hasFocus())})}_hasLeadingActionIcon(){return!this._isEditing&&!!this.editIcon}_hasTrailingIcon(){return!this._isEditing&&super._hasTrailingIcon()}_handleFocus(){!this._isEditing&&!this.disabled&&this.focus()}_handleKeydown(i){i.keyCode===13&&!this.disabled?this._isEditing?(i.preventDefault(),this._onEditFinish()):this.editable&&this._startEditing(i):this._isEditing?i.stopPropagation():super._handleKeydown(i)}_handleClick(i){!this.disabled&&this.editable&&!this._isEditing&&this._alreadyFocused&&(i.preventDefault(),i.stopPropagation(),this._startEditing(i))}_handleDoubleclick(i){!this.disabled&&this.editable&&this._startEditing(i)}_edit(){this._changeDetectorRef.markForCheck(),this._startEditing()}_startEditing(i){if(!this.primaryAction||this.removeIcon&&i&&this._getSourceAction(i.target)===this.removeIcon)return;let e=this.value;this._isEditing=this._editStartPending=!0,li(()=>{this._getEditInput().initialize(e),setTimeout(()=>this._ngZone.run(()=>this._editStartPending=!1))},{injector:this._injector})}_onEditFinish(){this._isEditing=this._editStartPending=!1,this.edited.emit({chip:this,value:this._getEditInput().getValue()}),(this._document.activeElement===this._getEditInput().getNativeElement()||this._document.activeElement===this._document.body)&&this.primaryAction.focus()}_isRippleDisabled(){return super._isRippleDisabled()||this._isEditing}_getEditInput(){return this.contentEditInput||this.defaultEditInput}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=E({type:a,selectors:[["mat-chip-row"],["","mat-chip-row",""],["mat-basic-chip-row"],["","mat-basic-chip-row",""]],contentQueries:function(e,t,o){if(e&1&&l(o,J,5),e&2){let c;r(c=d())&&(t.contentEditInput=c.first)}},viewQuery:function(e,t){if(e&1&&G(J,5),e&2){let o;r(o=d())&&(t.defaultEditInput=o.first)}},hostAttrs:[1,"mat-mdc-chip","mat-mdc-chip-row","mdc-evolution-chip"],hostVars:29,hostBindings:function(e,t){e&1&&C("focus",function(){return t._handleFocus()})("click",function(c){return t._handleClick(c)})("dblclick",function(c){return t._handleDoubleclick(c)}),e&2&&(L("id",t.id),_("tabindex",t.disabled?null:-1)("aria-label",null)("aria-description",null)("role",t.role),M("mat-mdc-chip-with-avatar",t.leadingIcon)("mat-mdc-chip-disabled",t.disabled)("mat-mdc-chip-editing",t._isEditing)("mat-mdc-chip-editable",t.editable)("mdc-evolution-chip--disabled",t.disabled)("mdc-evolution-chip--with-leading-action",t._hasLeadingActionIcon())("mdc-evolution-chip--with-trailing-action",t._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",t.leadingIcon)("mdc-evolution-chip--with-primary-icon",t.leadingIcon)("mdc-evolution-chip--with-avatar",t.leadingIcon)("mat-mdc-chip-highlighted",t.highlighted)("mat-mdc-chip-with-trailing-icon",t._hasTrailingIcon()))},inputs:{editable:"editable"},outputs:{edited:"edited"},features:[A([{provide:$,useExisting:a},{provide:ti,useExisting:a}]),P],ngContentSelectors:Wi,decls:9,vars:8,consts:[[1,"mat-mdc-chip-focus-overlay"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--leading"],["role","gridcell","matChipAction","",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary",3,"disabled"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],["aria-hidden","true",1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"],["matChipEditInput",""]],template:function(e,t){e&1&&(D(Ki),v(0,Ui,1,0,"span",0),v(1,Zi,2,0,"span",1),m(2,"span",2),v(3,Xi,2,0,"span",3),m(4,"span",4),v(5,$i,2,1)(6,it,1,0),x(7,"span",5),y()(),v(8,tt,2,0,"span",6)),e&2&&(g(t._isEditing?-1:0),u(),g(t._hasLeadingActionIcon()?1:-1),u(),z("disabled",t.disabled),_("aria-description",t.ariaDescription)("aria-label",t.ariaLabel),u(),g(t.leadingIcon?3:-1),u(2),g(t._isEditing?5:6),u(3),g(t._hasTrailingIcon()?8:-1))},dependencies:[O,J],styles:[Ni],encapsulation:2,changeDetection:0})}return a})(),ct=(()=>{class a{_elementRef=n(I);_changeDetectorRef=n(j);_dir=n(Ci,{optional:!0});_lastDestroyedFocusedChipIndex=null;_keyManager;_destroyed=new k;_defaultRole="presentation";get chipFocusChanges(){return this._getChipStream(i=>i._onFocus)}get chipDestroyedChanges(){return this._getChipStream(i=>i.destroyed)}get chipRemovedChanges(){return this._getChipStream(i=>i.removed)}get disabled(){return this._disabled}set disabled(i){this._disabled=i,this._syncChipsState()}_disabled=!1;get empty(){return!this._chips||this._chips.length===0}get role(){return this._explicitRole?this._explicitRole:this.empty?null:this._defaultRole}tabIndex=0;set role(i){this._explicitRole=i}_explicitRole=null;get focused(){return this._hasFocusedChip()}_chips;_chipActions=new di;constructor(){}ngAfterViewInit(){this._setUpFocusManagement(),this._trackChipSetChanges(),this._trackDestroyedFocusedChip()}ngOnDestroy(){this._keyManager?.destroy(),this._chipActions.destroy(),this._destroyed.next(),this._destroyed.complete()}_hasFocusedChip(){return this._chips&&this._chips.some(i=>i._hasFocus())}_syncChipsState(){this._chips?.forEach(i=>{i._chipListDisabled=this._disabled,i._changeDetectorRef.markForCheck()})}focus(){}_handleKeydown(i){this._originatesFromChip(i)&&this._keyManager.onKeydown(i)}_isValidIndex(i){return i>=0&&ithis._elementRef.nativeElement.tabIndex=i))}_getChipStream(i){return this._chips.changes.pipe(B(null),ai(()=>T(...this._chips.map(i))))}_originatesFromChip(i){let e=i.target;for(;e&&e!==this._elementRef.nativeElement;){if(e.classList.contains("mat-mdc-chip"))return!0;e=e.parentElement}return!1}_setUpFocusManagement(){this._chips.changes.pipe(B(this._chips)).subscribe(i=>{let e=[];i.forEach(t=>t._getActions().forEach(o=>e.push(o))),this._chipActions.reset(e),this._chipActions.notifyOnChanges()}),this._keyManager=new wi(this._chipActions).withVerticalOrientation().withHorizontalOrientation(this._dir?this._dir.value:"ltr").withHomeAndEnd().skipPredicate(i=>this._skipPredicate(i)),this.chipFocusChanges.pipe(f(this._destroyed)).subscribe(({chip:i})=>{let e=i._getSourceAction(document.activeElement);e&&this._keyManager.updateActiveItem(e)}),this._dir?.change.pipe(f(this._destroyed)).subscribe(i=>this._keyManager.withHorizontalOrientation(i))}_skipPredicate(i){return!i.isInteractive||i.disabled}_trackChipSetChanges(){this._chips.changes.pipe(B(null),f(this._destroyed)).subscribe(()=>{this.disabled&&Promise.resolve().then(()=>this._syncChipsState()),this._redirectDestroyedChipFocus()})}_trackDestroyedFocusedChip(){this.chipDestroyedChanges.pipe(f(this._destroyed)).subscribe(i=>{let t=this._chips.toArray().indexOf(i.chip),o=i.chip._hasFocus(),c=i.chip._hadFocusOnRemove&&this._keyManager.activeItem&&i.chip._getActions().includes(this._keyManager.activeItem),R=o||c;this._isValidIndex(t)&&R&&(this._lastDestroyedFocusedChipIndex=t)})}_redirectDestroyedChipFocus(){if(this._lastDestroyedFocusedChipIndex!=null){if(this._chips.length){let i=Math.min(this._lastDestroyedFocusedChipIndex,this._chips.length-1),e=this._chips.toArray()[i];e.disabled?this._chips.length===1?this.focus():this._keyManager.setPreviousItemActive():e.focus()}else this.focus();this._lastDestroyedFocusedChipIndex=null}}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=E({type:a,selectors:[["mat-chip-set"]],contentQueries:function(e,t,o){if(e&1&&l(o,$,5),e&2){let c;r(c=d())&&(t._chips=c)}},hostAttrs:[1,"mat-mdc-chip-set","mdc-evolution-chip-set"],hostVars:1,hostBindings:function(e,t){e&1&&C("keydown",function(c){return t._handleKeydown(c)}),e&2&&_("role",t.role)},inputs:{disabled:[2,"disabled","disabled",s],role:"role",tabIndex:[2,"tabIndex","tabIndex",i=>i==null?0:q(i)]},ngContentSelectors:Li,decls:2,vars:0,consts:[["role","presentation",1,"mdc-evolution-chip-set__chips"]],template:function(e,t){e&1&&(D(),V(0,"div",0),p(1),Q())},styles:[`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0} +`],encapsulation:2,changeDetection:0})}return a})();var ii=class{source;value;constructor(h,i){this.source=h,this.value=i}},Ot=(()=>{class a extends ct{ngControl=n(vi,{optional:!0,self:!0});controlType="mat-chip-grid";_chipInput;_defaultRole="grid";_errorStateTracker;_ariaDescribedbyIds=[];_onTouched=()=>{};_onChange=()=>{};get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(i){this._disabled=i,this._syncChipsState(),this.stateChanges.next()}get id(){return this._chipInput.id}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this._chips||this._chips.length===0)}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(i){this._placeholder=i,this.stateChanges.next()}_placeholder;get focused(){return this._chipInput.focused||this._hasFocusedChip()}get required(){return this._required??this.ngControl?.control?.hasValidator(_i.required)??!1}set required(i){this._required=i,this.stateChanges.next()}_required;get shouldLabelFloat(){return!this.empty||this.focused}get value(){return this._value}set value(i){this._value=i}_value=[];get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(i){this._errorStateTracker.matcher=i}get chipBlurChanges(){return this._getChipStream(i=>i._onBlur)}change=new w;valueChange=new w;_chips=void 0;stateChanges=new k;get errorState(){return this._errorStateTracker.errorState}set errorState(i){this._errorStateTracker.errorState=i}constructor(){super();let i=n(gi,{optional:!0}),e=n(fi,{optional:!0}),t=n(Z);this.ngControl&&(this.ngControl.valueAccessor=this),this._errorStateTracker=new Ei(t,this.ngControl,e,i,this.stateChanges)}ngAfterContentInit(){this.chipBlurChanges.pipe(f(this._destroyed)).subscribe(()=>{this._blur(),this.stateChanges.next()}),T(this.chipFocusChanges,this._chips.changes).pipe(f(this._destroyed)).subscribe(()=>this.stateChanges.next())}ngAfterViewInit(){super.ngAfterViewInit(),this._chipInput}ngDoCheck(){this.ngControl&&this.updateErrorState()}ngOnDestroy(){super.ngOnDestroy(),this.stateChanges.complete()}registerInput(i){this._chipInput=i,this._chipInput.setDescribedByIds(this._ariaDescribedbyIds)}onContainerClick(i){!this.disabled&&!this._originatesFromChip(i)&&this.focus()}focus(){if(!(this.disabled||this._chipInput.focused)){if(!this._chips.length||this._chips.first.disabled)Promise.resolve().then(()=>this._chipInput.focus());else{let i=this._keyManager.activeItem;i?i.focus():this._keyManager.setFirstItemActive()}this.stateChanges.next()}}get describedByIds(){return this._chipInput?.describedByIds||[]}setDescribedByIds(i){this._ariaDescribedbyIds=i,this._chipInput?.setDescribedByIds(i)}writeValue(i){this._value=i}registerOnChange(i){this._onChange=i}registerOnTouched(i){this._onTouched=i}setDisabledState(i){this.disabled=i,this.stateChanges.next()}updateErrorState(){this._errorStateTracker.updateErrorState()}_blur(){this.disabled||setTimeout(()=>{this.focused||(this._propagateChanges(),this._markAsTouched())})}_allowFocusEscape(){this._chipInput.focused||super._allowFocusEscape()}_handleKeydown(i){let e=i.keyCode,t=this._keyManager.activeItem;if(e===9)this._chipInput.focused&&W(i,"shiftKey")&&this._chips.length&&!this._chips.last.disabled?(i.preventDefault(),t?this._keyManager.setActiveItem(t):this._focusLastChip()):super._allowFocusEscape();else if(!this._chipInput.focused)if((e===38||e===40)&&t){let o=this._chipActions.filter(ei=>ei._isPrimary===t._isPrimary&&!this._skipPredicate(ei)),c=o.indexOf(t),R=i.keyCode===38?-1:1;i.preventDefault(),c>-1&&this._isValidIndex(c+R)&&this._keyManager.setActiveItem(o[c+R])}else super._handleKeydown(i);this.stateChanges.next()}_focusLastChip(){this._chips.length&&this._chips.last.focus()}_propagateChanges(){let i=this._chips.length?this._chips.toArray().map(e=>e.value):[];this._value=i,this.change.emit(new ii(this,i)),this.valueChange.emit(i),this._onChange(i),this._changeDetectorRef.markForCheck()}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=E({type:a,selectors:[["mat-chip-grid"]],contentQueries:function(e,t,o){if(e&1&&l(o,at,5),e&2){let c;r(c=d())&&(t._chips=c)}},hostAttrs:[1,"mat-mdc-chip-set","mat-mdc-chip-grid","mdc-evolution-chip-set"],hostVars:10,hostBindings:function(e,t){e&1&&C("focus",function(){return t.focus()})("blur",function(){return t._blur()}),e&2&&(_("role",t.role)("tabindex",t.disabled||t._chips&&t._chips.length===0?-1:t.tabIndex)("aria-disabled",t.disabled.toString())("aria-invalid",t.errorState),M("mat-mdc-chip-list-disabled",t.disabled)("mat-mdc-chip-list-invalid",t.errorState)("mat-mdc-chip-list-required",t.required))},inputs:{disabled:[2,"disabled","disabled",s],placeholder:"placeholder",required:[2,"required","required",s],value:"value",errorStateMatcher:"errorStateMatcher"},outputs:{change:"change",valueChange:"valueChange"},features:[A([{provide:xi,useExisting:a}]),P],ngContentSelectors:Li,decls:2,vars:0,consts:[["role","presentation",1,"mdc-evolution-chip-set__chips"]],template:function(e,t){e&1&&(D(),V(0,"div",0),p(1),Q())},styles:[et],encapsulation:2,changeDetection:0})}return a})(),Ht=(()=>{class a{_elementRef=n(I);focused=!1;get chipGrid(){return this._chipGrid}set chipGrid(i){i&&(this._chipGrid=i,this._chipGrid.registerInput(this))}_chipGrid;addOnBlur=!1;separatorKeyCodes;chipEnd=new w;placeholder="";id=n(K).getId("mat-mdc-chip-list-input-");get disabled(){return this._disabled||this._chipGrid&&this._chipGrid.disabled}set disabled(i){this._disabled=i}_disabled=!1;readonly=!1;disabledInteractive;get empty(){return!this.inputElement.value}inputElement;constructor(){let i=n(Oi),e=n(ki,{optional:!0});this.inputElement=this._elementRef.nativeElement,this.separatorKeyCodes=i.separatorKeyCodes,this.disabledInteractive=i.inputDisabledInteractive??!1,e&&this.inputElement.classList.add("mat-mdc-form-field-input-control")}ngOnChanges(){this._chipGrid.stateChanges.next()}ngOnDestroy(){this.chipEnd.complete()}_keydown(i){this.empty&&i.keyCode===8?(i.repeat||this._chipGrid._focusLastChip(),i.preventDefault()):this._emitChipEnd(i)}_blur(){this.addOnBlur&&this._emitChipEnd(),this.focused=!1,this._chipGrid.focused||this._chipGrid._blur(),this._chipGrid.stateChanges.next()}_focus(){this.focused=!0,this._chipGrid.stateChanges.next()}_emitChipEnd(i){(!i||this._isSeparatorKey(i)&&!i.repeat)&&(this.chipEnd.emit({input:this.inputElement,value:this.inputElement.value,chipInput:this}),i?.preventDefault())}_onInput(){this._chipGrid.stateChanges.next()}focus(){this.inputElement.focus()}clear(){this.inputElement.value=""}get describedByIds(){return this._elementRef.nativeElement.getAttribute("aria-describedby")?.split(" ")||[]}setDescribedByIds(i){let e=this._elementRef.nativeElement;i.length?e.setAttribute("aria-describedby",i.join(" ")):e.removeAttribute("aria-describedby")}_isSeparatorKey(i){return!W(i)&&new Set(this.separatorKeyCodes).has(i.keyCode)}_getReadonlyAttribute(){return this.readonly||this.disabled&&this.disabledInteractive?"true":null}static \u0275fac=function(e){return new(e||a)};static \u0275dir=S({type:a,selectors:[["input","matChipInputFor",""]],hostAttrs:[1,"mat-mdc-chip-input","mat-mdc-input-element","mdc-text-field__input","mat-input-element"],hostVars:8,hostBindings:function(e,t){e&1&&C("keydown",function(c){return t._keydown(c)})("blur",function(){return t._blur()})("focus",function(){return t._focus()})("input",function(){return t._onInput()}),e&2&&(L("id",t.id),_("disabled",t.disabled&&!t.disabledInteractive?"":null)("placeholder",t.placeholder||null)("aria-invalid",t._chipGrid&&t._chipGrid.ngControl?t._chipGrid.ngControl.invalid:null)("aria-required",t._chipGrid&&t._chipGrid.required||null)("aria-disabled",t.disabled&&t.disabledInteractive?"true":null)("readonly",t._getReadonlyAttribute())("required",t._chipGrid&&t._chipGrid.required||null))},inputs:{chipGrid:[0,"matChipInputFor","chipGrid"],addOnBlur:[2,"matChipInputAddOnBlur","addOnBlur",s],separatorKeyCodes:[0,"matChipInputSeparatorKeyCodes","separatorKeyCodes"],placeholder:"placeholder",id:"id",disabled:[2,"disabled","disabled",s],readonly:[2,"readonly","readonly",s],disabledInteractive:[2,"matChipInputDisabledInteractive","disabledInteractive",s]},outputs:{chipEnd:"matChipInputTokenEnd"},exportAs:["matChipInput","matChipInputFor"],features:[ni]})}return a})();var zt=(()=>{class a{static \u0275fac=function(e){return new(e||a)};static \u0275mod=hi({type:a});static \u0275inj=ci({providers:[Z,{provide:Oi,useValue:{separatorKeyCodes:[13]}}],imports:[U,Mi,U]})}return a})();export{Lt as a,$ as b,at as c,ct as d,Ot as e,Ht as f,zt as g}; diff --git a/chunk-TDFJQLRV.js b/chunk-TDFJQLRV.js new file mode 100644 index 0000000..d674a7c --- /dev/null +++ b/chunk-TDFJQLRV.js @@ -0,0 +1 @@ +import{a as K,b as X,c as Y}from"./chunk-N73CTY2C.js";import{a as E,b as D,d as k,e as R,f as U,g as z}from"./chunk-YWCH6MM5.js";import{a as H,b as J}from"./chunk-N6VRXIQE.js";import{f as W,k as G,y as Q}from"./chunk-GWD5A44H.js";import{Aa as S,j as h,wa as b,ya as w,za as y}from"./chunk-COFYR5MX.js";import{Db as s,Eb as m,Gb as V,Hb as N,Ib as L,Jb as p,Kb as e,Lb as t,Mb as O,Tb as v,Xa as q,Xb as C,Za as a,Zb as c,ia as u,ib as M,ja as x,jc as I,kc as f,lc as n,mc as d,nc as _,ob as P,qc as j,rc as B,sc as F,ta as T}from"./chunk-2MUIW2M6.js";function at(i,l){i&1&&(e(0,"div",19)(1,"mat-icon"),n(2,"warning"),t(),e(3,"div",24)(4,"h4"),n(5,"Warning: Demoting Administrator"),t(),e(6,"p"),n(7,"This user will lose access to:"),t(),e(8,"ul")(9,"li"),n(10,"Admin dashboard and analytics"),t(),e(11,"li"),n(12,"User management capabilities"),t(),e(13,"li"),n(14,"System settings and configuration"),t(),e(15,"li"),n(16,"Question and category management"),t()()()())}function rt(i,l){i&1&&(e(0,"div",20)(1,"mat-icon"),n(2,"info"),t(),e(3,"div",25)(4,"h4"),n(5,"Promoting to Administrator"),t(),e(6,"p"),n(7,"This user will gain access to:"),t(),e(8,"ul")(9,"li"),n(10,"Full admin dashboard and analytics"),t(),e(11,"li"),n(12,"Manage all users and their roles"),t(),e(13,"li"),n(14,"Configure system settings"),t(),e(15,"li"),n(16,"Create and manage questions/categories"),t()()()())}function lt(i,l){if(i&1){let o=v();e(0,"div",1)(1,"div",2)(2,"mat-icon",3),n(3,"admin_panel_settings"),t(),e(4,"h2",4),n(5,"Update User Role"),t()(),e(6,"mat-dialog-content")(7,"div",5)(8,"div",6)(9,"mat-icon"),n(10,"account_circle"),t()(),e(11,"div",7)(12,"h3"),n(13),t(),e(14,"p"),n(15),t(),e(16,"div",8)(17,"span",9),n(18,"Current Role:"),t(),e(19,"span"),n(20),t()()()(),e(21,"div",10)(22,"h3",11),n(23,"Select New Role"),t(),e(24,"mat-radio-group",12),F("ngModelChange",function(g){u(o);let A=c();return B(A.selectedRole,g)||(A.selectedRole=g),x(g)}),e(25,"mat-radio-button",13)(26,"div",14)(27,"div",15)(28,"mat-icon"),n(29,"person"),t(),e(30,"span",16),n(31,"Regular User"),t()(),e(32,"p",17),n(33),t()()(),e(34,"mat-radio-button",18)(35,"div",14)(36,"div",15)(37,"mat-icon"),n(38,"admin_panel_settings"),t(),e(39,"span",16),n(40,"Administrator"),t()(),e(41,"p",17),n(42),t()()()()(),s(43,at,17,0,"div",19),s(44,rt,17,0,"div",20),t(),e(45,"mat-dialog-actions",21)(46,"button",22),C("click",function(){u(o);let g=c();return x(g.onCancel())}),n(47," Cancel "),t(),e(48,"button",23),C("click",function(){u(o);let g=c();return x(g.onNext())}),n(49," Next "),e(50,"mat-icon"),n(51,"arrow_forward"),t()()()()}if(i&2){let o=c();a(13),d(o.data.user.username),a(2),d(o.data.user.email),a(4),f("role-badge role-"+o.data.user.role),a(),_(" ",o.getRoleLabel(o.data.user.role)," "),a(4),j("ngModel",o.selectedRole),a(9),d(o.getRoleDescription("user")),a(9),d(o.getRoleDescription("admin")),a(),m(o.isDemotingAdmin?43:-1),a(),m(o.isPromotingToAdmin?44:-1),a(2),p("disabled",o.isLoading()),a(2),p("disabled",!o.hasRoleChanged||o.isLoading())}}function ct(i,l){i&1&&(e(0,"div",33)(1,"mat-icon"),n(2,"error"),t(),e(3,"p")(4,"strong"),n(5,"Important:"),t(),n(6," This action will immediately revoke all administrative privileges. The user will be logged out if currently in an admin session."),t()())}function dt(i,l){if(i&1&&(e(0,"button",35),O(1,"mat-spinner",37),n(2," Updating... "),t()),i&2){let o=c(2);p("color",o.isDemotingAdmin?"warn":"primary")("disabled",!0)}}function gt(i,l){if(i&1){let o=v();e(0,"button",38),C("click",function(){u(o);let g=c(2);return x(g.onConfirm())}),e(1,"mat-icon"),n(2,"check"),t(),n(3," Confirm Change "),t()}if(i&2){let o=c(2);p("color",o.isDemotingAdmin?"warn":"primary")}}function st(i,l){if(i&1){let o=v();e(0,"div",1)(1,"div",2)(2,"mat-icon",26),n(3,"check_circle"),t(),e(4,"h2",4),n(5,"Confirm Role Change"),t()(),e(6,"mat-dialog-content")(7,"div",27)(8,"div",28)(9,"div",29)(10,"span",30),n(11,"User:"),t(),e(12,"span",31),n(13),t()(),e(14,"div",32)(15,"mat-icon"),n(16,"arrow_downward"),t()(),e(17,"div",29)(18,"span",30),n(19,"Current Role:"),t(),e(20,"span"),n(21),t()(),e(22,"div",32)(23,"mat-icon"),n(24,"arrow_downward"),t()(),e(25,"div",29)(26,"span",30),n(27,"New Role:"),t(),e(28,"span"),n(29),t()()(),s(30,ct,7,0,"div",33),e(31,"p",34),n(32," Are you sure you want to change this user's role? "),t()()(),e(33,"mat-dialog-actions",21)(34,"button",22),C("click",function(){u(o);let g=c();return x(g.onBack())}),e(35,"mat-icon"),n(36,"arrow_back"),t(),n(37," Back "),t(),s(38,dt,3,2,"button",35)(39,gt,4,1,"button",36),t()()}if(i&2){let o=c();a(13),d(o.data.user.username),a(7),f("role-badge role-"+o.data.user.role),a(),_(" ",o.getRoleLabel(o.data.user.role)," "),a(7),f("role-badge role-"+o.selectedRole),a(),_(" ",o.getRoleLabel(o.selectedRole)," "),a(),m(o.isDemotingAdmin?30:-1),a(4),p("disabled",o.isLoading()),a(4),m(o.isLoading()?38:39)}}var Z=class i{constructor(l,o){this.dialogRef=l;this.data=o;this.selectedRole=o.user.role}selectedRole;isLoading=T(!1);showConfirmation=T(!1);get hasRoleChanged(){return this.selectedRole!==this.data.user.role}get isDemotingAdmin(){return this.data.user.role==="admin"&&this.selectedRole==="user"}get isPromotingToAdmin(){return this.data.user.role==="user"&&this.selectedRole==="admin"}getRoleLabel(l){return l==="admin"?"Administrator":"Regular User"}getRoleDescription(l){return l==="admin"?"Full access to admin panel, user management, and system settings":"Standard user access with quiz and profile management"}onNext(){if(!this.hasRoleChanged){this.dialogRef.close(null);return}this.showConfirmation.set(!0)}onBack(){this.showConfirmation.set(!1)}onConfirm(){this.dialogRef.close(this.selectedRole)}onCancel(){this.dialogRef.close(null)}static \u0275fac=function(o){return new(o||i)(M(E),M(D))};static \u0275cmp=P({type:i,selectors:[["app-role-update-dialog"]],decls:3,vars:2,consts:[[1,"role-update-dialog"],[1,"dialog-content"],[1,"dialog-header"],[1,"header-icon"],["mat-dialog-title",""],[1,"user-info"],[1,"user-avatar"],[1,"user-details"],[1,"current-role"],[1,"label"],[1,"role-selector"],[1,"selector-title"],[1,"role-options",3,"ngModelChange","ngModel"],["value","user",1,"role-option"],[1,"role-option-content"],[1,"role-option-header"],[1,"role-name"],[1,"role-description"],["value","admin",1,"role-option"],[1,"warning-box"],[1,"info-box"],["align","end"],["mat-button","",3,"click","disabled"],["mat-raised-button","","color","primary",3,"click","disabled"],[1,"warning-content"],[1,"info-content"],[1,"header-icon","confirm"],[1,"confirmation-message"],[1,"change-summary"],[1,"change-item"],[1,"change-label"],[1,"change-value"],[1,"change-arrow"],[1,"final-warning"],[1,"confirmation-question"],["mat-raised-button","",3,"color","disabled"],["mat-raised-button","",3,"color"],["diameter","20"],["mat-raised-button","",3,"click","color"]],template:function(o,r){o&1&&(e(0,"div",0),s(1,lt,52,12,"div",1),s(2,st,40,10,"div",1),t()),o&2&&(a(),m(r.showConfirmation()?-1:1),a(),m(r.showConfirmation()?2:-1))},dependencies:[h,z,k,U,R,w,b,S,y,Y,K,X,Q,W,G,J,H],styles:[".role-update-dialog[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{min-width:500px;max-width:600px}.role-update-dialog[_ngcontent-%COMP%] .dialog-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.role-update-dialog[_ngcontent-%COMP%] .dialog-header[_ngcontent-%COMP%] .header-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:var(--primary-color)}.role-update-dialog[_ngcontent-%COMP%] .dialog-header[_ngcontent-%COMP%] .header-icon.confirm[_ngcontent-%COMP%]{color:var(--success-color)}.role-update-dialog[_ngcontent-%COMP%] .dialog-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:24px;font-weight:600}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--bg-secondary);border-radius:8px;margin-bottom:24px}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:56px;width:56px;height:56px;color:var(--primary-color)}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%]{flex:1}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text-primary)}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 8px;font-size:14px;color:var(--text-secondary)}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .current-role[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;font-size:14px}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .current-role[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:500}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%]{margin-bottom:24px}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .selector-title[_ngcontent-%COMP%]{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%] .role-option[_ngcontent-%COMP%]{padding:16px;border:2px solid var(--divider-color);border-radius:8px;transition:all .2s;width:100%}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%] .role-option[_ngcontent-%COMP%]:hover{border-color:var(--primary-color);background-color:var(--bg-secondary)}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%] .role-option.mat-radio-checked[_ngcontent-%COMP%]{border-color:var(--primary-color);background-color:var(--primary-light)}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%] .role-option[_ngcontent-%COMP%] .role-option-content[_ngcontent-%COMP%]{width:100%;margin-left:8px}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%] .role-option[_ngcontent-%COMP%] .role-option-content[_ngcontent-%COMP%] .role-option-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%] .role-option[_ngcontent-%COMP%] .role-option-content[_ngcontent-%COMP%] .role-option-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color)}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%] .role-option[_ngcontent-%COMP%] .role-option-content[_ngcontent-%COMP%] .role-option-header[_ngcontent-%COMP%] .role-name[_ngcontent-%COMP%]{font-size:16px;font-weight:600;color:var(--text-primary)}.role-update-dialog[_ngcontent-%COMP%] .role-selector[_ngcontent-%COMP%] .role-options[_ngcontent-%COMP%] .role-option[_ngcontent-%COMP%] .role-option-content[_ngcontent-%COMP%] .role-description[_ngcontent-%COMP%]{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.role-update-dialog[_ngcontent-%COMP%] .role-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-update-dialog[_ngcontent-%COMP%] .role-badge.role-user[_ngcontent-%COMP%]{background-color:var(--primary-light);color:var(--primary-color)}.role-update-dialog[_ngcontent-%COMP%] .role-badge.role-admin[_ngcontent-%COMP%]{background-color:var(--warn-light);color:var(--warn-color)}.role-update-dialog[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%]{display:flex;gap:12px;padding:16px;background-color:var(--warn-light);border-left:4px solid var(--warn-color);border-radius:4px;margin-top:16px}.role-update-dialog[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] > mat-icon[_ngcontent-%COMP%]{color:var(--warn-color);flex-shrink:0}.role-update-dialog[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%]{flex:1}.role-update-dialog[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--warn-dark)}.role-update-dialog[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.role-update-dialog[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:20px;font-size:13px;color:var(--text-secondary)}.role-update-dialog[_ngcontent-%COMP%] .warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:4px}.role-update-dialog[_ngcontent-%COMP%] .info-box[_ngcontent-%COMP%]{display:flex;gap:12px;padding:16px;background-color:var(--info-light);border-left:4px solid var(--info-color);border-radius:4px;margin-top:16px}.role-update-dialog[_ngcontent-%COMP%] .info-box[_ngcontent-%COMP%] > mat-icon[_ngcontent-%COMP%]{color:var(--info-color);flex-shrink:0}.role-update-dialog[_ngcontent-%COMP%] .info-box[_ngcontent-%COMP%] .info-content[_ngcontent-%COMP%]{flex:1}.role-update-dialog[_ngcontent-%COMP%] .info-box[_ngcontent-%COMP%] .info-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--info-dark)}.role-update-dialog[_ngcontent-%COMP%] .info-box[_ngcontent-%COMP%] .info-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 8px;font-size:14px;color:var(--text-primary)}.role-update-dialog[_ngcontent-%COMP%] .info-box[_ngcontent-%COMP%] .info-content[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:20px;font-size:13px;color:var(--text-secondary)}.role-update-dialog[_ngcontent-%COMP%] .info-box[_ngcontent-%COMP%] .info-content[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:4px}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .change-summary[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background-color:var(--bg-secondary);border-radius:8px;margin-bottom:24px}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .change-summary[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .change-summary[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-label[_ngcontent-%COMP%]{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .change-summary[_ngcontent-%COMP%] .change-item[_ngcontent-%COMP%] .change-value[_ngcontent-%COMP%]{font-size:16px;font-weight:600;color:var(--text-primary)}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .change-summary[_ngcontent-%COMP%] .change-arrow[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:32px;width:32px;height:32px}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .final-warning[_ngcontent-%COMP%]{display:flex;gap:12px;padding:16px;background-color:var(--error-light);border:2px solid var(--error-color);border-radius:8px;margin-bottom:16px}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .final-warning[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--error-color);flex-shrink:0}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .final-warning[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:14px;color:var(--text-primary);line-height:1.5}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .final-warning[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--error-dark)}.role-update-dialog[_ngcontent-%COMP%] .confirmation-message[_ngcontent-%COMP%] .confirmation-question[_ngcontent-%COMP%]{text-align:center;font-size:16px;font-weight:600;color:var(--text-primary);margin:16px 0 0}.role-update-dialog[_ngcontent-%COMP%] mat-dialog-actions[_ngcontent-%COMP%]{padding:16px 0 0;margin:0;border-top:1px solid var(--divider-color)}.role-update-dialog[_ngcontent-%COMP%] mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:4px}.role-update-dialog[_ngcontent-%COMP%] mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:8px}@media (max-width: 767px){.role-update-dialog[_ngcontent-%COMP%] .dialog-content[_ngcontent-%COMP%]{min-width:unset;max-width:unset;width:100%}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%]{flex-direction:column;text-align:center}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%]{width:100%}.role-update-dialog[_ngcontent-%COMP%] .user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .current-role[_ngcontent-%COMP%]{justify-content:center}.role-update-dialog[_ngcontent-%COMP%] mat-dialog-actions[_ngcontent-%COMP%]{flex-direction:column;gap:8px}.role-update-dialog[_ngcontent-%COMP%] mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}@media (prefers-color-scheme: dark){.role-update-dialog[_ngcontent-%COMP%]{--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--bg-primary: #1e1e1e;--bg-secondary: #2a2a2a;--divider-color: #404040}}"]})};function mt(i,l){if(i&1&&O(0,"img",6),i&2){let o=c();p("src",o.data.user.profilePicture,q)("alt",o.data.user.username)}}function pt(i,l){if(i&1&&(e(0,"div",7),n(1),t()),i&2){let o=c();a(),_(" ",o.data.user.username.charAt(0).toUpperCase()," ")}}function _t(i,l){i&1&&(e(0,"span"),n(1,"Reactivate Account"),t())}function Ct(i,l){i&1&&(e(0,"span"),n(1,"Deactivate Account"),t())}function ut(i,l){if(i&1&&(e(0,"span"),n(1,"Are you sure you want to activate "),e(2,"strong"),n(3),t(),n(4,"'s account?"),t()),i&2){let o=c();a(3),d(o.data.user.username)}}function xt(i,l){if(i&1&&(e(0,"span"),n(1,"Are you sure you want to deactivate "),e(2,"strong"),n(3),t(),n(4,"'s account?"),t()),i&2){let o=c();a(3),d(o.data.user.username)}}function Mt(i,l){if(i&1&&(e(0,"li"),n(1),t()),i&2){let o=l.$implicit;a(),d(o)}}function ft(i,l){i&1&&(e(0,"div",19)(1,"mat-icon"),n(2,"info"),t(),e(3,"div",23)(4,"strong"),n(5,"Note:"),t(),n(6," This is a soft delete. User data is preserved and the account can be reactivated at any time. "),t()())}function Pt(i,l){i&1&&(e(0,"div",19)(1,"mat-icon"),n(2,"check_circle"),t(),e(3,"div",23)(4,"strong"),n(5,"Note:"),t(),n(6," The user will be able to access their account immediately after activation. "),t()())}var $=class i{constructor(l,o){this.dialogRef=l;this.data=o}get actionVerb(){return this.data.action==="activate"?"Activate":"Deactivate"}get actionVerbPast(){return this.data.action==="activate"?"activated":"deactivated"}get dialogIcon(){return this.data.action==="activate"?"check_circle":"block"}get buttonColor(){return this.data.action==="activate"?"accent":"warn"}get consequences(){return this.data.action==="activate"?["User will regain access to their account","Can login and use the platform normally","All previous data will be restored","Quiz history and bookmarks remain intact"]:["User will lose access to their account immediately","Cannot login until account is reactivated","All sessions will be terminated","Data is preserved but inaccessible to user","User will not receive any notifications"]}onConfirm(){this.dialogRef.close(!0)}onCancel(){this.dialogRef.close(!1)}static \u0275fac=function(o){return new(o||i)(M(E),M(D))};static \u0275cmp=P({type:i,selectors:[["app-status-update-dialog"]],decls:47,vars:23,consts:[[1,"status-dialog"],[1,"dialog-header"],[1,"dialog-icon"],["mat-dialog-title",""],[1,"user-info"],[1,"user-avatar"],[3,"src","alt"],[1,"avatar-placeholder"],[1,"user-details"],[1,"username"],[1,"email"],[1,"role-badge"],[1,"warning-box"],[1,"warning-content"],[1,"warning-title"],[1,"warning-message"],[1,"consequences"],[1,"consequences-title"],[1,"consequences-list"],[1,"info-box"],["align","end"],["mat-button","",3,"click"],["mat-raised-button","",3,"click","color"],[1,"info-content"]],template:function(o,r){o&1&&(e(0,"div",0)(1,"div",1)(2,"mat-icon",2),n(3),t(),e(4,"h2",3),n(5),t()(),e(6,"mat-dialog-content")(7,"div",4)(8,"div",5),s(9,mt,1,2,"img",6)(10,pt,2,1,"div",7),t(),e(11,"div",8)(12,"div",9),n(13),t(),e(14,"div",10),n(15),t(),e(16,"div",11),n(17),t()()(),e(18,"div",12)(19,"mat-icon"),n(20),t(),e(21,"div",13)(22,"div",14),s(23,_t,2,0,"span")(24,Ct,2,0,"span"),t(),e(25,"div",15),s(26,ut,5,1,"span")(27,xt,5,1,"span"),t()()(),e(28,"div",16)(29,"div",17),n(30,"This action will:"),t(),e(31,"ul",18),N(32,Mt,2,1,"li",null,V),t()(),s(34,ft,7,0,"div",19)(35,Pt,7,0,"div",19),t(),e(36,"mat-dialog-actions",20)(37,"button",21),C("click",function(){return r.onCancel()}),e(38,"mat-icon"),n(39,"close"),t(),e(40,"span"),n(41,"Cancel"),t()(),e(42,"button",22),C("click",function(){return r.onConfirm()}),e(43,"mat-icon"),n(44),t(),e(45,"span"),n(46),t()()()()),o&2&&(a(),I("activate-header",r.data.action==="activate")("deactivate-header",r.data.action==="deactivate"),a(2),d(r.dialogIcon),a(2),_("",r.actionVerb," User Account"),a(4),m(r.data.user.profilePicture?9:10),a(4),d(r.data.user.username),a(2),d(r.data.user.email),a(),f("role-"+r.data.user.role.toLowerCase()),a(),_(" ",r.data.user.role," "),a(),I("activate-warning",r.data.action==="activate")("deactivate-warning",r.data.action==="deactivate"),a(2),d(r.data.action==="activate"?"info":"warning"),a(3),m(r.data.action==="activate"?23:24),a(3),m(r.data.action==="activate"?26:27),a(6),L(r.consequences),a(2),m(r.data.action==="deactivate"?34:35),a(8),p("color",r.buttonColor),a(2),d(r.dialogIcon),a(2),_("",r.actionVerb," User"))},dependencies:[h,z,k,U,R,w,b,S,y],styles:[".status-dialog[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:0;min-width:400px;max-width:550px}@media (max-width: 768px){.status-dialog[_ngcontent-%COMP%]{min-width:280px;max-width:100%}}.dialog-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:2px solid;margin:0 0 20px}.dialog-header[_ngcontent-%COMP%] .dialog-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px}.dialog-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:24px;font-weight:600}.dialog-header.activate-header[_ngcontent-%COMP%]{border-bottom-color:var(--mat-accent-main, #00bcd4)}.dialog-header.activate-header[_ngcontent-%COMP%] .dialog-icon[_ngcontent-%COMP%], .dialog-header.activate-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:var(--mat-accent-main, #00bcd4)}.dialog-header.deactivate-header[_ngcontent-%COMP%]{border-bottom-color:var(--mat-warn-main, #f44336)}.dialog-header.deactivate-header[_ngcontent-%COMP%] .dialog-icon[_ngcontent-%COMP%], .dialog-header.deactivate-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:var(--mat-warn-main, #f44336)}mat-dialog-content[_ngcontent-%COMP%]{padding:0 24px 20px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;max-height:60vh}.user-info[_ngcontent-%COMP%]{display:flex;align-items:center;gap:16px;padding:16px;background-color:var(--mat-app-surface-variant, #f5f5f5);border-radius:8px}.user-info[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%]{flex-shrink:0}.user-info[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--mat-app-primary, #1976d2)}.user-info[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] .avatar-placeholder[_ngcontent-%COMP%]{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--mat-app-primary, #1976d2),var(--mat-app-accent, #00bcd4));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;border:2px solid var(--mat-app-primary, #1976d2)}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:4px}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .username[_ngcontent-%COMP%]{font-size:18px;font-weight:600;color:var(--mat-app-on-surface, #212121)}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .email[_ngcontent-%COMP%]{font-size:14px;color:var(--mat-app-on-surface-variant, #757575)}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .role-badge[_ngcontent-%COMP%]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;width:fit-content;margin-top:4px}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .role-badge.role-admin[_ngcontent-%COMP%]{background-color:#ff98001a;color:#ff9800;border:1px solid rgba(255,152,0,.3)}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .role-badge.role-user[_ngcontent-%COMP%]{background-color:#2196f31a;color:#2196f3;border:1px solid rgba(33,150,243,.3)}@media (max-width: 768px){.user-info[_ngcontent-%COMP%]{flex-direction:column;text-align:center;gap:12px}.user-info[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] img[_ngcontent-%COMP%], .user-info[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] .avatar-placeholder[_ngcontent-%COMP%]{width:48px;height:48px}.user-info[_ngcontent-%COMP%] .user-avatar[_ngcontent-%COMP%] .avatar-placeholder[_ngcontent-%COMP%]{font-size:20px}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%]{align-items:center}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .username[_ngcontent-%COMP%]{font-size:16px}.user-info[_ngcontent-%COMP%] .user-details[_ngcontent-%COMP%] .email[_ngcontent-%COMP%]{font-size:13px}}.warning-box[_ngcontent-%COMP%]{display:flex;gap:12px;padding:16px;border-radius:8px;border-left:4px solid}.warning-box[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:24px;width:24px;height:24px}.warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:8px}.warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] .warning-title[_ngcontent-%COMP%]{font-size:16px;font-weight:600}.warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%]{font-size:14px;line-height:1.5}.warning-box[_ngcontent-%COMP%] .warning-content[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600}.warning-box.activate-warning[_ngcontent-%COMP%]{background-color:#00bcd41a;border-left-color:var(--mat-accent-main, #00bcd4)}.warning-box.activate-warning[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-accent-main, #00bcd4)}.warning-box.activate-warning[_ngcontent-%COMP%] .warning-title[_ngcontent-%COMP%]{color:var(--mat-accent-dark, #0097a7)}.warning-box.activate-warning[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%]{color:var(--mat-app-on-surface, #212121)}.warning-box.deactivate-warning[_ngcontent-%COMP%]{background-color:#f443361a;border-left-color:var(--mat-warn-main, #f44336)}.warning-box.deactivate-warning[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-warn-main, #f44336)}.warning-box.deactivate-warning[_ngcontent-%COMP%] .warning-title[_ngcontent-%COMP%]{color:var(--mat-warn-dark, #d32f2f)}.warning-box.deactivate-warning[_ngcontent-%COMP%] .warning-message[_ngcontent-%COMP%]{color:var(--mat-app-on-surface, #212121)}@media (max-width: 768px){.warning-box[_ngcontent-%COMP%]{flex-direction:column;align-items:center;text-align:center}}.consequences[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.consequences[_ngcontent-%COMP%] .consequences-title[_ngcontent-%COMP%]{font-size:15px;font-weight:600;color:var(--mat-app-on-surface, #212121)}.consequences[_ngcontent-%COMP%] .consequences-list[_ngcontent-%COMP%]{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.consequences[_ngcontent-%COMP%] .consequences-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{font-size:14px;line-height:1.5;color:var(--mat-app-on-surface-variant, #757575)}.info-box[_ngcontent-%COMP%]{display:flex;gap:12px;padding:12px 16px;background-color:#2196f31a;border-left:4px solid var(--mat-app-primary, #1976d2);border-radius:8px}.info-box[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:20px;width:20px;height:20px;color:var(--mat-app-primary, #1976d2)}.info-box[_ngcontent-%COMP%] .info-content[_ngcontent-%COMP%]{flex:1;font-size:13px;line-height:1.5;color:var(--mat-app-on-surface-variant, #757575)}.info-box[_ngcontent-%COMP%] .info-content[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:600;color:var(--mat-app-on-surface, #212121)}@media (max-width: 768px){.info-box[_ngcontent-%COMP%]{flex-direction:column;align-items:center;text-align:center}}mat-dialog-actions[_ngcontent-%COMP%]{padding:16px 24px;border-top:1px solid var(--mat-app-outline-variant, #e0e0e0);margin:0;gap:12px}mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:0 16px}mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px;font-weight:500}@media (max-width: 768px){mat-dialog-actions[_ngcontent-%COMP%]{flex-direction:column-reverse;gap:8px}mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%;justify-content:center}}@media (prefers-color-scheme: dark){.user-info[_ngcontent-%COMP%]{background-color:#ffffff0d}.warning-box.activate-warning[_ngcontent-%COMP%]{background-color:#00bcd426}.warning-box.deactivate-warning[_ngcontent-%COMP%]{background-color:#f4433626}.info-box[_ngcontent-%COMP%]{background-color:#2196f326}}"]})};export{Z as a,$ as b}; diff --git a/chunk-TPLZKWZ7.js b/chunk-TPLZKWZ7.js new file mode 100644 index 0000000..2b15c2a --- /dev/null +++ b/chunk-TPLZKWZ7.js @@ -0,0 +1 @@ +import{a as m,b as f}from"./chunk-RC3JXGN6.js";import{a as A}from"./chunk-52JZ5I3Y.js";import{n as v,w as S}from"./chunk-COFYR5MX.js";import{D as r,W as i,_ as d,a as c,b as g,da as o,o as s,ta as p}from"./chunk-2MUIW2M6.js";var b=class u{http=o(v);storageService=o(f);toastService=o(A);router=o(S);API_URL=`${m.apiUrl}/auth`;authStateSignal=p({user:this.storageService.getUserData(),isAuthenticated:this.storageService.isAuthenticated(),isLoading:!1,error:null});authState=this.authStateSignal.asReadonly();register(e,t,l,n){this.setLoading(!0);let h={username:e,email:t,password:l,guestSessionId:n};return this.http.post(`${this.API_URL}/register`,h).pipe(i(a=>{this.storageService.setToken(a.data.token,!0),this.storageService.setUserData(a.data.user),n&&this.storageService.clearGuestToken(),this.updateAuthState(a.data.user,null);let U=a.migratedStats?`Welcome ${a.data.user.username}! Your guest progress has been saved.`:`Welcome ${a.data.user.username}! Your account has been created.`;this.toastService.success(U),this.router.navigate(["/categories"])}),r(a=>(this.handleAuthError(a),s(()=>a))))}login(e,t,l=!1,n="/categories"){this.setLoading(!0);let h={email:e,password:t};return this.http.post(`${this.API_URL}/login`,h).pipe(i(a=>{console.log(a.data.user),this.storageService.setToken(a.data.token,l),this.storageService.setUserData(a.data.user),this.storageService.clearGuestToken(),this.updateAuthState(a.data.user,null),this.toastService.success(`Welcome back, ${a.data.user.username}!`),this.router.navigate([n])}),r(a=>(this.handleAuthError(a),s(()=>a))))}logout(){return this.setLoading(!0),this.http.post(`${this.API_URL}/logout`,{}).pipe(i(()=>{this.storageService.clearAll(),this.authStateSignal.set({user:null,isAuthenticated:!1,isLoading:!1,error:null}),this.toastService.success("You have been logged out successfully."),this.router.navigate(["/login"])}),r(e=>(this.storageService.clearAll(),this.authStateSignal.set({user:null,isAuthenticated:!1,isLoading:!1,error:null}),this.router.navigate(["/login"]),s(()=>e))))}verifyToken(){return this.storageService.getToken()?(this.setLoading(!0),this.http.get(`${this.API_URL}/verify`).pipe(i(t=>{t.success&&t.data.user?(this.storageService.setUserData(t.data.user),this.updateAuthState(t.data.user,null)):this.clearAuth()}),r(t=>(this.clearAuth(),s(()=>t))))):(this.authStateSignal.update(t=>g(c({},t),{isAuthenticated:!1,user:null})),s(()=>new Error("No token found")))}clearAuth(){this.storageService.clearToken(),this.storageService.clearUserData(),this.authStateSignal.set({user:null,isAuthenticated:!1,isLoading:!1,error:null})}updateAuthState(e,t){this.authStateSignal.set({user:e,isAuthenticated:!!e,isLoading:!1,error:t})}setLoading(e){this.authStateSignal.update(t=>g(c({},t),{isLoading:e}))}handleAuthError(e){let t="An error occurred. Please try again.";e.status===400?t="Invalid input. Please check your information.":e.status===401?t="Invalid email or password.":e.status===409?t=e.error?.message||"Email or username already exists.":e.status===429?t="Too many attempts. Please try again later.":e.status===0&&(t="Unable to connect to server. Please check your internet connection."),this.updateAuthState(null,t),this.toastService.error(t)}getCurrentUser(){return this.authStateSignal().user}isAuthenticated(){return this.authStateSignal().isAuthenticated}isAdmin(){return this.getCurrentUser()?.role==="admin"}static \u0275fac=function(t){return new(t||u)};static \u0275prov=d({token:u,factory:u.\u0275fac,providedIn:"root"})};export{b as a}; diff --git a/chunk-UI3TKFHU.js b/chunk-UI3TKFHU.js new file mode 100644 index 0000000..e521794 --- /dev/null +++ b/chunk-UI3TKFHU.js @@ -0,0 +1 @@ +import{a as st,b as lt}from"./chunk-5WV5P2FL.js";import"./chunk-VX6WCCL3.js";import{b as tt,c as et}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as Z}from"./chunk-7XDVX5KB.js";import{a as ct,b as gt}from"./chunk-CTXOKINH.js";import"./chunk-WI5CBSGS.js";import"./chunk-3NOMFGTV.js";import"./chunk-T6TXUSUP.js";import"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import{a as z}from"./chunk-TPLZKWZ7.js";import{b as J,c as K,e as Q,f as X,i as Y}from"./chunk-EGL4ZKWQ.js";import{a as pt}from"./chunk-GPI43RSU.js";import{a as R,b as U,c as B,d as V,f as j,g as H,i as W}from"./chunk-6NRCTHHS.js";import{b as L}from"./chunk-RC3JXGN6.js";import{a as mt,b as dt}from"./chunk-N6VRXIQE.js";import{b as G,d as f,f as D,g as T,l as N,o as I,r as A,x as $,z as q}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as at,C as F,j as w,u as O,ua as it,w as k,wa as nt,x as E,ya as ot,za as rt}from"./chunk-COFYR5MX.js";import{Cb as y,Db as g,Eb as p,Jb as u,Kb as t,Lb as e,Mb as d,Qb as M,Rb as _,U as h,Xb as b,Za as s,Zb as x,da as m,i as S,lc as n,mc as C,ob as P,ta as c}from"./chunk-2MUIW2M6.js";function ft(a,i){if(a&1&&(t(0,"mat-error"),n(1),e()),a&2){let o=x();s(),C(o.getErrorMessage("email"))}}function vt(a,i){if(a&1&&(t(0,"mat-error"),n(1),e()),a&2){let o=x();s(),C(o.getErrorMessage("password"))}}function ht(a,i){a&1&&(d(0,"mat-spinner",18),t(1,"span"),n(2,"Logging in..."),e())}function bt(a,i){a&1&&(t(0,"span"),n(1,"Login"),e())}function Ct(a,i){a&1&&(M(0),d(1,"mat-spinner",18),t(2,"span"),n(3,"Starting Session..."),e(),_())}function Mt(a,i){a&1&&(M(0),t(1,"mat-icon"),n(2,"visibility"),e(),t(3,"span"),n(4,"Continue as Guest"),e(),_())}var ut=class a{fb=m($);authService=m(z);guestService=m(pt);storageService=m(L);router=m(k);route=m(O);destroy$=new S;isSubmitting=c(!1);hidePassword=c(!0);returnUrl=c("/categories");isStartingGuestSession=c(!1);loginForm;constructor(){this.loginForm=this.fb.group({email:["",[f.required,f.email]],password:["",[f.required,f.minLength(8)]],rememberMe:[!1]}),this.route.queryParams.pipe(h(this.destroy$)).subscribe(i=>{this.returnUrl.set(i.returnUrl||"/categories")}),this.authService.isAuthenticated()&&this.router.navigate(["/categories"])}togglePasswordVisibility(){this.hidePassword.update(i=>!i)}onSubmit(){if(this.loginForm.invalid||this.isSubmitting()){this.loginForm.markAllAsTouched();return}this.isSubmitting.set(!0);let{email:i,password:o,rememberMe:r}=this.loginForm.value;this.authService.login(i,o,r,this.returnUrl()).pipe(h(this.destroy$)).subscribe({next:()=>{this.isSubmitting.set(!1)},error:()=>{this.isSubmitting.set(!1)}})}getErrorMessage(i){let o=this.loginForm.get(i);return!o||!o.touched?"":o.hasError("required")?`${this.getFieldLabel(i)} is required`:o.hasError("email")?"Please enter a valid email address":o.hasError("minlength")?`Must be at least ${o.getError("minlength").requiredLength} characters`:""}getFieldLabel(i){return{email:"Email",password:"Password"}[i]||i}continueAsGuest(){this.isStartingGuestSession.set(!0),this.guestService.startSession().pipe(h(this.destroy$)).subscribe({next:i=>{this.isStartingGuestSession.set(!1),this.router.navigate(["/guest-welcome"])},error:()=>{this.isStartingGuestSession.set(!1)}})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static \u0275fac=function(o){return new(o||a)};static \u0275cmp=P({type:a,selectors:[["app-login"]],decls:48,vars:10,consts:[[1,"login-container"],[1,"login-card"],[1,"header-content"],[1,"logo-icon"],[1,"login-form",3,"ngSubmit","formGroup"],["appearance","outline",1,"full-width"],["matInput","","type","email","formControlName","email","placeholder","Enter your email","autocomplete","email"],["matPrefix",""],["matInput","","formControlName","password","placeholder","Enter your password","autocomplete","current-password",3,"type"],["mat-icon-button","","matSuffix","","type","button",3,"click"],[1,"options-row"],["formControlName","rememberMe"],["routerLink","/forgot-password",1,"forgot-link"],["mat-raised-button","","color","primary","type","submit",1,"full-width","submit-button",3,"disabled"],[1,"divider"],["mat-stroked-button","","color","accent",1,"full-width","guest-button",3,"click","disabled"],[1,"footer-links"],["routerLink","/register",1,"link"],["diameter","20"]],template:function(o,r){if(o&1&&(t(0,"div",0)(1,"mat-card",1)(2,"mat-card-header")(3,"div",2)(4,"mat-icon",3),n(5,"quiz"),e(),t(6,"div")(7,"mat-card-title"),n(8,"Welcome Back!"),e(),t(9,"mat-card-subtitle"),n(10,"Login to continue your preparation"),e()()()(),t(11,"mat-card-content")(12,"form",4),b("ngSubmit",function(){return r.onSubmit()}),t(13,"mat-form-field",5)(14,"mat-label"),n(15,"Email"),e(),d(16,"input",6),t(17,"mat-icon",7),n(18,"email"),e(),g(19,ft,2,1,"mat-error"),e(),t(20,"mat-form-field",5)(21,"mat-label"),n(22,"Password"),e(),d(23,"input",8),t(24,"mat-icon",7),n(25,"lock"),e(),t(26,"button",9),b("click",function(){return r.togglePasswordVisibility()}),t(27,"mat-icon"),n(28),e()(),g(29,vt,2,1,"mat-error"),e(),t(30,"div",10)(31,"mat-checkbox",11),n(32," Remember me "),e(),t(33,"a",12),n(34,"Forgot Password?"),e()(),t(35,"button",13),g(36,ht,3,0)(37,bt,2,0,"span"),e()(),d(38,"mat-divider",14),t(39,"button",15),b("click",function(){return r.continueAsGuest()}),g(40,Ct,4,0,"ng-container")(41,Mt,5,0,"ng-container"),e()(),t(42,"mat-card-footer")(43,"div",16)(44,"p"),n(45,"Don't have an account? "),t(46,"a",17),n(47,"Create one here"),e()()()()()()),o&2){let l,v;s(12),u("formGroup",r.loginForm),s(7),p((l=r.loginForm.get("email"))!=null&&l.invalid&&((l=r.loginForm.get("email"))!=null&&l.touched)?19:-1),s(4),u("type",r.hidePassword()?"password":"text"),s(3),y("aria-label","Toggle password visibility"),s(2),C(r.hidePassword()?"visibility_off":"visibility"),s(),p((v=r.loginForm.get("password"))!=null&&v.invalid&&((v=r.loginForm.get("password"))!=null&&v.touched)?29:-1),s(6),u("disabled",r.isSubmitting()),s(),p(r.isSubmitting()?36:37),s(3),u("disabled",r.isStartingGuestSession()),s(),p(r.isStartingGuestSession()?40:41)}},dependencies:[w,q,N,G,D,T,I,A,F,E,W,R,B,H,j,V,U,Z,Y,J,K,Q,X,et,tt,ot,nt,it,at,rt,lt,st,dt,mt,gt,ct],styles:[".login-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - var(--footer-height));padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary-lighter) 0%,var(--color-surface) 100%)}.login-card[_ngcontent-%COMP%]{width:100%;max-width:450px;box-shadow:var(--shadow-xl)}.login-card[_ngcontent-%COMP%] .mat-mdc-card-header{padding:var(--spacing-xl) var(--spacing-xl) 0}.login-card[_ngcontent-%COMP%] .mat-mdc-card-content{padding:var(--spacing-lg) var(--spacing-xl)}.login-card[_ngcontent-%COMP%] .mat-mdc-card-footer{padding:0 var(--spacing-xl) var(--spacing-xl)}.header-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-md);width:100%}.header-content[_ngcontent-%COMP%] .logo-icon[_ngcontent-%COMP%]{font-size:48px;width:48px;height:48px;color:var(--color-primary)}.header-content[_ngcontent-%COMP%] .mat-mdc-card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.header-content[_ngcontent-%COMP%] .mat-mdc-card-subtitle{font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0;color:var(--color-text-secondary)}.login-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.full-width[_ngcontent-%COMP%]{width:100%}.options-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-top:calc(var(--spacing-md) * -1)}.options-row[_ngcontent-%COMP%] .forgot-link[_ngcontent-%COMP%]{color:var(--color-primary);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.options-row[_ngcontent-%COMP%] .forgot-link[_ngcontent-%COMP%]:hover{color:var(--color-primary-dark);text-decoration:underline}.options-row[_ngcontent-%COMP%] .forgot-link[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.submit-button[_ngcontent-%COMP%]{margin-top:var(--spacing-md);height:48px;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.submit-button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:var(--spacing-sm)}.divider[_ngcontent-%COMP%]{margin:var(--spacing-xl) 0 var(--spacing-lg);background-color:var(--color-divider)}.guest-button[_ngcontent-%COMP%]{height:48px;font-size:var(--font-size-base)}.guest-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:var(--spacing-sm)}.footer-links[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-divider)}.footer-links[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.footer-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.footer-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover{color:var(--color-primary-dark);text-decoration:underline}.footer-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)} .mat-mdc-form-field .mat-mdc-text-field-wrapper{background-color:var(--color-background)} .mat-mdc-form-field .mat-mdc-form-field-hint, .mat-mdc-form-field .mat-mdc-form-field-error{font-size:var(--font-size-xs)} .mat-mdc-form-field-icon-prefix{color:var(--color-text-secondary);margin-right:var(--spacing-sm)} .mat-mdc-checkbox{font-size:var(--font-size-sm)}@media (max-width: 767px){.login-container[_ngcontent-%COMP%]{padding:var(--spacing-md)}.login-card[_ngcontent-%COMP%] .mat-mdc-card-header{padding:var(--spacing-lg) var(--spacing-md) 0}.login-card[_ngcontent-%COMP%] .mat-mdc-card-content{padding:var(--spacing-md)}.login-card[_ngcontent-%COMP%] .mat-mdc-card-footer{padding:0 var(--spacing-md) var(--spacing-md)}.header-content[_ngcontent-%COMP%] .logo-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px}.header-content[_ngcontent-%COMP%] .mat-mdc-card-title{font-size:var(--font-size-xl)}.options-row[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}"]})};export{ut as LoginComponent}; diff --git a/chunk-UIJLH2NR.js b/chunk-UIJLH2NR.js new file mode 100644 index 0000000..9e4f31b --- /dev/null +++ b/chunk-UIJLH2NR.js @@ -0,0 +1 @@ +import{a as w}from"./chunk-IRVPX2IZ.js";import{a as nt}from"./chunk-RDQGS2XZ.js";import{a as et}from"./chunk-B4CGVF35.js";import{b as tt}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{b as Y,g as Z}from"./chunk-TAS7XC6E.js";import"./chunk-3GOV5KJM.js";import"./chunk-EGL4ZKWQ.js";import{a as L,b as R,c as F,d as j,f as H,i as Q}from"./chunk-6NRCTHHS.js";import{a as W,b as X}from"./chunk-N6VRXIQE.js";import"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as K,j as q,ua as $,w as D,wa as N,ya as U,za as J}from"./chunk-COFYR5MX.js";import{Db as g,Eb as u,Gb as I,Hb as A,Ib as V,Jb as _,Kb as e,Lb as t,Mb as B,Tb as k,Xb as p,Za as i,Zb as m,da as v,ia as E,ja as y,jc as S,lc as n,mc as f,nc as b,oa as z,ob as G}from"./chunk-2MUIW2M6.js";function at(o,c){o&1&&(e(0,"div",9),B(1,"mat-spinner",11),e(2,"p"),n(3,"Loading guest settings..."),t()())}function rt(o,c){if(o&1){let a=k();e(0,"mat-card",10)(1,"mat-card-content")(2,"div",12)(3,"mat-icon",13),n(4,"error_outline"),t(),e(5,"div",14)(6,"h3"),n(7,"Failed to Load Settings"),t(),e(8,"p"),n(9),t()()(),e(10,"button",15),p("click",function(){E(a);let s=m();return y(s.loadSettings())}),e(11,"mat-icon"),n(12,"refresh"),t(),n(13," Try Again "),t()()()}if(o&2){let a=m();i(9),f(a.error())}}function ot(o,c){o&1&&(e(0,"div",23)(1,"mat-icon"),n(2,"info"),t(),e(3,"span"),n(4,"Guest access is currently disabled. Users must register to access the platform."),t()())}function ct(o,c){if(o&1&&(e(0,"mat-card",17)(1,"mat-card-header")(2,"div",33)(3,"mat-icon"),n(4,"settings"),t()(),e(5,"mat-card-title"),n(6,"Guest Features"),t(),e(7,"mat-card-subtitle"),n(8,"Available features for guest users"),t()(),e(9,"mat-card-content")(10,"div",34)(11,"div",35)(12,"mat-icon"),n(13,"bookmark"),t(),e(14,"span"),n(15,"Bookmarking"),t(),e(16,"mat-chip",36),n(17),t()(),e(18,"div",35)(19,"mat-icon"),n(20,"history"),t(),e(21,"span"),n(22,"View History"),t(),e(23,"mat-chip",36),n(24),t()(),e(25,"div",35)(26,"mat-icon"),n(27,"download"),t(),e(28,"span"),n(29,"Export Results"),t(),e(30,"mat-chip",36),n(31),t()()()()()),o&2){let a,r,s,C,M,P,x,O,h,l=m(2);i(12),S("enabled",(a=l.settings())==null||a.features==null?null:a.features.canBookmark),i(4),_("color",l.getFeatureColor(((r=l.settings())==null||r.features==null?null:r.features.canBookmark)??!1)),i(),b(" ",l.getStatusText(((s=l.settings())==null||s.features==null?null:s.features.canBookmark)??!1)," "),i(2),S("enabled",(C=l.settings())==null||C.features==null?null:C.features.canViewHistory),i(4),_("color",l.getFeatureColor(((M=l.settings())==null||M.features==null?null:M.features.canViewHistory)??!1)),i(),b(" ",l.getStatusText(((P=l.settings())==null||P.features==null?null:P.features.canViewHistory)??!1)," "),i(2),S("enabled",(x=l.settings())==null||x.features==null?null:x.features.canExportResults),i(4),_("color",l.getFeatureColor(((O=l.settings())==null||O.features==null?null:O.features.canExportResults)??!1)),i(),b(" ",l.getStatusText(((h=l.settings())==null||h.features==null?null:h.features.canExportResults)??!1)," ")}}function lt(o,c){if(o&1&&(e(0,"mat-chip",39),n(1),t()),o&2){let a=c.$implicit;i(),f(a)}}function st(o,c){if(o&1&&(e(0,"mat-card",17)(1,"mat-card-header")(2,"div",37)(3,"mat-icon"),n(4,"category"),t()(),e(5,"mat-card-title"),n(6,"Allowed Categories"),t(),e(7,"mat-card-subtitle"),n(8,"Categories accessible to guest users"),t()(),e(9,"mat-card-content")(10,"div",38),A(11,lt,2,1,"mat-chip",39,I),t()()()),o&2){let a,r=m(2);i(11),V((a=r.settings())==null?null:a.allowedCategories)}}function dt(o,c){if(o&1){let a=k();e(0,"div",16)(1,"mat-card",17)(2,"mat-card-header")(3,"div",18)(4,"mat-icon"),n(5,"lock_open"),t()(),e(6,"mat-card-title"),n(7,"Access Control"),t(),e(8,"mat-card-subtitle"),n(9,"Guest access configuration"),t()(),e(10,"mat-card-content")(11,"div",19)(12,"div",20)(13,"mat-icon"),n(14,"toggle_on"),t(),e(15,"span"),n(16,"Guest Access"),t()(),e(17,"div",21)(18,"mat-chip",22),n(19),t()()(),g(20,ot,5,0,"div",23),t()(),e(21,"mat-card",17)(22,"mat-card-header")(23,"div",24)(24,"mat-icon"),n(25,"rule"),t()(),e(26,"mat-card-title"),n(27,"Quiz Limits"),t(),e(28,"mat-card-subtitle"),n(29,"Daily and per-quiz restrictions"),t()(),e(30,"mat-card-content")(31,"div",19)(32,"div",20)(33,"mat-icon"),n(34,"calendar_today"),t(),e(35,"span"),n(36,"Max Quizzes Per Day"),t()(),e(37,"div",21)(38,"span",25),n(39),t(),e(40,"span",26),n(41,"quizzes"),t()()(),e(42,"div",19)(43,"div",20)(44,"mat-icon"),n(45,"quiz"),t(),e(46,"span"),n(47,"Max Questions Per Quiz"),t()(),e(48,"div",21)(49,"span",25),n(50),t(),e(51,"span",26),n(52,"questions"),t()()()()(),e(53,"mat-card",17)(54,"mat-card-header")(55,"div",27)(56,"mat-icon"),n(57,"schedule"),t()(),e(58,"mat-card-title"),n(59,"Session Configuration"),t(),e(60,"mat-card-subtitle"),n(61,"Session duration and expiry"),t()(),e(62,"mat-card-content")(63,"div",19)(64,"div",20)(65,"mat-icon"),n(66,"timer"),t(),e(67,"span"),n(68,"Session Expiry Time"),t()(),e(69,"div",21)(70,"span",25),n(71),t(),e(72,"span",26),n(73,"hours"),t(),e(74,"span",28),n(75),t()()()()(),e(76,"mat-card",17)(77,"mat-card-header")(78,"div",29)(79,"mat-icon"),n(80,"message"),t()(),e(81,"mat-card-title"),n(82,"Upgrade Prompt"),t(),e(83,"mat-card-subtitle"),n(84,"Message shown to guests when limit reached"),t()(),e(85,"mat-card-content")(86,"div",30)(87,"mat-icon"),n(88,"format_quote"),t(),e(89,"p"),n(90),t()()()(),g(91,ct,32,12,"mat-card",17),g(92,st,13,0,"mat-card",17),t(),e(93,"div",31)(94,"button",32),p("click",function(){E(a);let s=m();return y(s.goToAnalytics())}),e(95,"mat-icon"),n(96,"analytics"),t(),n(97," View Guest Analytics "),t(),e(98,"button",32),p("click",function(){E(a);let s=m();return y(s.goBack())}),e(99,"mat-icon"),n(100,"dashboard"),t(),n(101," Back to Dashboard "),t()()}if(o&2){let a,r,s,C,M,P,x,O,h,l,T,d=m();i(3),S("enabled",(a=d.settings())==null?null:a.guestAccessEnabled),i(15),_("color",d.getStatusColor(((r=d.settings())==null?null:r.guestAccessEnabled)??!1)),i(),b(" ",d.getStatusText(((s=d.settings())==null?null:s.guestAccessEnabled)??!1)," "),i(),u((C=d.settings())!=null&&C.guestAccessEnabled?-1:20),i(19),f(((M=d.settings())==null?null:M.maxQuizzesPerDay)??0),i(11),f(((P=d.settings())==null?null:P.maxQuestionsPerQuiz)??0),i(21),f(((x=d.settings())==null?null:x.sessionExpiryHours)??0),i(4),b("(",d.formatExpiryTime(((O=d.settings())==null?null:O.sessionExpiryHours)??0),")"),i(15),f(((h=d.settings())==null?null:h.upgradePromptMessage)??"No message configured"),i(),u((l=d.settings())!=null&&l.features?91:-1),i(),u((T=d.settings())!=null&&T.allowedCategories&&d.settings().allowedCategories.length>0?92:-1)}}var it=class o{adminService=v(nt);router=v(D);destroyRef=v(z);settings=this.adminService.guestSettingsState;isLoading=this.adminService.isLoadingSettings;error=this.adminService.settingsError;ngOnInit(){this.loadSettings()}loadSettings(){this.adminService.getGuestSettings().pipe(w(this.destroyRef)).subscribe()}refreshSettings(){this.adminService.refreshGuestSettings().pipe(w(this.destroyRef)).subscribe()}editSettings(){this.router.navigate(["/admin/guest-settings/edit"])}goBack(){this.router.navigate(["/admin"])}goToAnalytics(){this.router.navigate(["/admin/analytics"])}getStatusColor(c){return c?"primary":"warn"}getStatusText(c){return c?"Enabled":"Disabled"}getFeatureColor(c){return c?"accent":""}formatExpiryTime(c){if(c<24)return`${c} hour${c!==1?"s":""}`;let a=Math.floor(c/24);return`${a} day${a!==1?"s":""}`}static \u0275fac=function(a){return new(a||o)};static \u0275cmp=G({type:o,selectors:[["app-guest-settings"]],decls:23,vars:5,consts:[[1,"guest-settings-container"],[1,"settings-header"],[1,"header-left"],["mat-icon-button","","matTooltip","Back to Dashboard",3,"click"],[1,"header-title"],[1,"subtitle"],[1,"header-actions"],["mat-stroked-button","",3,"click","disabled"],["mat-raised-button","","color","primary",3,"click","disabled"],[1,"loading-container"],[1,"error-card"],["diameter","60"],[1,"error-content"],["color","warn"],[1,"error-text"],["mat-raised-button","","color","primary",3,"click"],[1,"settings-content"],[1,"settings-card"],[1,"card-header-icon"],[1,"setting-item"],[1,"setting-label"],[1,"setting-value"],["highlighted","",3,"color"],[1,"info-banner"],[1,"card-header-icon","limits"],[1,"value-number"],[1,"value-unit"],[1,"card-header-icon","session"],[1,"value-formatted"],[1,"card-header-icon","message"],[1,"upgrade-message"],[1,"quick-actions"],["mat-button","",3,"click"],[1,"card-header-icon","features"],[1,"features-grid"],[1,"feature-item"],[3,"color"],[1,"card-header-icon","categories"],[1,"categories-chips"],["color","accent"]],template:function(a,r){a&1&&(e(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3),p("click",function(){return r.goBack()}),e(4,"mat-icon"),n(5,"arrow_back"),t()(),e(6,"div",4)(7,"h1"),n(8,"Guest Access Settings"),t(),e(9,"p",5),n(10,"View and manage guest user access configuration"),t()()(),e(11,"div",6)(12,"button",7),p("click",function(){return r.refreshSettings()}),e(13,"mat-icon"),n(14,"refresh"),t(),n(15," Refresh "),t(),e(16,"button",8),p("click",function(){return r.editSettings()}),e(17,"mat-icon"),n(18,"edit"),t(),n(19," Edit Settings "),t()()(),g(20,at,4,0,"div",9),g(21,rt,14,1,"mat-card",10),g(22,dt,102,12),t()),a&2&&(i(12),_("disabled",r.isLoading()),i(4),_("disabled",r.isLoading()),i(4),u(r.isLoading()?20:-1),i(),u(r.error()&&!r.isLoading()?21:-1),i(),u(r.settings()&&!r.isLoading()?22:-1))},dependencies:[q,Q,L,F,H,j,R,U,N,$,K,J,X,W,et,tt,Z,Y],styles:[".guest-settings-container[_ngcontent-%COMP%]{max-width:1200px;margin:0 auto;padding:2rem}.settings-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;flex:1}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:600;color:#333}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;color:#666;font-size:.95rem}.settings-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;align-items:center}.settings-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}.loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#666;font-size:1rem}.error-card[_ngcontent-%COMP%]{margin-bottom:2rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:3rem;width:3rem;height:3rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%]{flex:1}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#d32f2f;font-size:1.25rem}.error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#666}.settings-content[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;position:relative}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-icon[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-icon.enabled[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4caf50,#2e7d32)}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-icon.limits[_ngcontent-%COMP%]{background:linear-gradient(135deg,#ff6b6b,#ee5a6f)}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-icon.session[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-icon.message[_ngcontent-%COMP%]{background:linear-gradient(135deg,#f093fb,#f5576c)}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-icon.features[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fa709a,#fee140)}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .card-header-icon.categories[_ngcontent-%COMP%]{background:linear-gradient(135deg,#30cfd0,#330867)}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%]{margin:0;font-size:1.25rem;font-weight:600}.settings-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-subtitle[_ngcontent-%COMP%]{margin:.25rem 0 0;font-size:.85rem}.settings-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding-top:1rem}.setting-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:8px;background:#f5f5f5;margin-bottom:.75rem}.setting-item[_ngcontent-%COMP%]:last-child{margin-bottom:0}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;font-weight:500;color:#333}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#666;font-size:20px;width:20px;height:20px}.setting-item[_ngcontent-%COMP%] .setting-value[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.setting-item[_ngcontent-%COMP%] .setting-value[_ngcontent-%COMP%] .value-number[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:600;color:#3f51b5}.setting-item[_ngcontent-%COMP%] .setting-value[_ngcontent-%COMP%] .value-unit[_ngcontent-%COMP%]{font-size:.9rem;color:#666}.setting-item[_ngcontent-%COMP%] .setting-value[_ngcontent-%COMP%] .value-formatted[_ngcontent-%COMP%]{font-size:.85rem;color:#999}.info-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;margin-top:1rem}.info-banner[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ff9800}.info-banner[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#856404;font-size:.9rem}.upgrade-message[_ngcontent-%COMP%]{display:flex;gap:1rem;padding:1rem;background:#f5f5f5;border-radius:8px;border-left:4px solid #3f51b5}.upgrade-message[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#3f51b5;font-size:24px;width:24px;height:24px}.upgrade-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;flex:1;color:#333;font-style:italic;line-height:1.6}.features-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.features-grid[_ngcontent-%COMP%] .feature-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:8px;background:#f5f5f5;text-align:center}.features-grid[_ngcontent-%COMP%] .feature-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:#999;margin-bottom:.25rem}.features-grid[_ngcontent-%COMP%] .feature-item[_ngcontent-%COMP%] mat-icon.enabled[_ngcontent-%COMP%]{color:#4caf50}.features-grid[_ngcontent-%COMP%] .feature-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.9rem;font-weight:500;color:#333}.features-grid[_ngcontent-%COMP%] .feature-item[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{margin-top:.25rem}.categories-chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.5rem}.categories-chips[_ngcontent-%COMP%] mat-chip[_ngcontent-%COMP%]{font-size:.9rem}.quick-actions[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:1rem;padding:1.5rem 0;border-top:1px solid #e0e0e0}.quick-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}@media (max-width: 768px){.guest-settings-container[_ngcontent-%COMP%]{padding:1rem}.settings-header[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start}.settings-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}.settings-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{width:100%;justify-content:stretch}.settings-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:1}.settings-content[_ngcontent-%COMP%], .features-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.quick-actions[_ngcontent-%COMP%]{flex-direction:column}.quick-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}@media (max-width: 1024px){.settings-content[_ngcontent-%COMP%]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (prefers-color-scheme: dark){.settings-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#fff}.settings-header[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%], .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] .error-text[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#aaa}.setting-item[_ngcontent-%COMP%]{background:#2a2a2a}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%]{color:#fff}.setting-item[_ngcontent-%COMP%] .setting-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#aaa}.info-banner[_ngcontent-%COMP%]{background:#4a3f2a}.info-banner[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#ffd54f}.upgrade-message[_ngcontent-%COMP%]{background:#2a2a2a}.upgrade-message[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#fff}.features-grid[_ngcontent-%COMP%] .feature-item[_ngcontent-%COMP%]{background:#2a2a2a}.features-grid[_ngcontent-%COMP%] .feature-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#fff}.quick-actions[_ngcontent-%COMP%]{border-top-color:#444}}"]})};export{it as GuestSettingsComponent}; diff --git a/chunk-UKR5XEO6.js b/chunk-UKR5XEO6.js new file mode 100644 index 0000000..1bc4a4e --- /dev/null +++ b/chunk-UKR5XEO6.js @@ -0,0 +1 @@ +import"./chunk-MS4AQ6UA.js";import{a as Ot,b as Pt}from"./chunk-GIRDLTGV.js";import{c as Mt}from"./chunk-P3ICZX4Q.js";import{a as pt,b as Ct}from"./chunk-5WV5P2FL.js";import"./chunk-VX6WCCL3.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import{b as at,c as ct}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as it}from"./chunk-7XDVX5KB.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import{a as _t}from"./chunk-GMUETU5N.js";import"./chunk-3GOV5KJM.js";import"./chunk-TPLZKWZ7.js";import{b as tt,c as et,d as nt,e as ot,i as rt}from"./chunk-EGL4ZKWQ.js";import"./chunk-GPI43RSU.js";import{a as Y,b as K,c as Q,f as X,i as Z}from"./chunk-6NRCTHHS.js";import"./chunk-RC3JXGN6.js";import{a as ut,b as ft}from"./chunk-N6VRXIQE.js";import{b as A,d as m,f as B,g as z,l as G,m as R,o as V,r as j,t as H,u as J,x as U,z as W}from"./chunk-GWD5A44H.js";import"./chunk-52JZ5I3Y.js";import{Aa as st,C as $,j as T,u as q,ua as lt,w as L,wa as mt,ya as gt,za as dt}from"./chunk-COFYR5MX.js";import{Db as u,Eb as f,Ec as h,Hb as v,Ib as y,Jb as s,Kb as e,Lb as t,Mb as g,U as p,Xb as M,Za as a,Zb as N,da as C,i as I,ic as O,lc as n,mc as l,nc as P,ob as D,ta as _}from"./chunk-2MUIW2M6.js";var vt=(c,o)=>o.value;function ht(c,o){if(c&1&&(e(0,"mat-option",13)(1,"mat-icon"),n(2),t(),e(3,"span"),n(4),t()()),c&2){let r=o.$implicit;s("value",r.value),a(2),l(r.value),a(2),l(r.label)}}function bt(c,o){if(c&1&&(e(0,"mat-option",13)(1,"span",30),g(2,"span",31),n(3),t()()),c&2){let r=o.$implicit;s("value",r.value),a(2),O("background-color",r.value),a(),P(" ",r.label," ")}}function xt(c,o){c&1&&(e(0,"span",24)(1,"mat-icon"),n(2,"public"),t(),n(3," Guest Accessible "),t())}function wt(c,o){c&1&&(e(0,"span",25)(1,"mat-icon"),n(2,"lock"),t(),n(3," Login Required "),t())}function St(c,o){c&1&&g(0,"mat-spinner",29)}function Et(c,o){c&1&&n(0," Saving... ")}function Ft(c,o){c&1&&n(0," Save Changes ")}function kt(c,o){c&1&&n(0," Create Category ")}function It(c,o){if(c&1&&(e(0,"mat-icon"),n(1),t()),c&2){let r=N();a(),l(r.isEditMode()?"save":"add")}}var yt=class c{fb=C(U);categoryService=C(_t);router=C(L);route=C(q);destroy$=new I;categoryForm;isEditMode=_(!1);categoryId=_(null);isSubmitting=_(!1);iconOptions=[{value:"code",label:"Code"},{value:"javascript",label:"JavaScript"},{value:"language",label:"Language"},{value:"web",label:"Web"},{value:"storage",label:"Storage"},{value:"cloud",label:"Cloud"},{value:"category",label:"Category"},{value:"folder",label:"Folder"},{value:"description",label:"Description"},{value:"psychology",label:"Psychology"},{value:"science",label:"Science"},{value:"school",label:"School"}];colorOptions=[{value:"#2196F3",label:"Blue"},{value:"#4CAF50",label:"Green"},{value:"#FF9800",label:"Orange"},{value:"#F44336",label:"Red"},{value:"#9C27B0",label:"Purple"},{value:"#00BCD4",label:"Cyan"},{value:"#FFEB3B",label:"Yellow"},{value:"#607D8B",label:"Blue Grey"}];slugPreview=h(()=>{let o=this.categoryForm?.get("name")?.value||"";return this.generateSlug(o)});pageTitle=h(()=>this.isEditMode()?"Edit Category":"Create New Category");ngOnInit(){this.initializeForm(),this.route.params.pipe(p(this.destroy$)).subscribe(o=>{o.id&&(this.isEditMode.set(!0),this.categoryId.set(o.id),this.loadCategoryData(o.id))}),this.categoryForm.get("name")?.valueChanges.pipe(p(this.destroy$)).subscribe(o=>{!this.isEditMode()&&!this.categoryForm.get("slug")?.touched&&this.categoryForm.patchValue({slug:this.generateSlug(o)},{emitEvent:!1})})}initializeForm(){this.categoryForm=this.fb.group({name:["",[m.required,m.minLength(2),m.maxLength(100)]],slug:["",[m.required,m.pattern(/^[a-z0-9-]+$/)]],description:["",[m.required,m.minLength(10),m.maxLength(500)]],icon:["category",m.required],color:["#2196F3",m.required],displayOrder:[0,[m.min(0)]],guestAccessible:[!1]})}loadCategoryData(o){this.categoryService.getCategoryById(o).pipe(p(this.destroy$)).subscribe({next:r=>{this.categoryForm.patchValue({name:r.name,slug:r.slug,description:r.description,icon:r.icon||"category",color:r.color||"#2196F3",displayOrder:r.displayOrder||0,guestAccessible:r.guestAccessible})},error:()=>{this.router.navigate(["/admin/categories"])}})}generateSlug(o){return o.toLowerCase().trim().replace(/[^a-z0-9\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-")}onSubmit(){if(this.categoryForm.invalid||this.isSubmitting()){this.categoryForm.markAllAsTouched();return}this.isSubmitting.set(!0);let o=this.categoryForm.value;(this.isEditMode()?this.categoryService.updateCategory(this.categoryId(),o):this.categoryService.createCategory(o)).pipe(p(this.destroy$)).subscribe({next:()=>{this.isSubmitting.set(!1),this.router.navigate(["/admin/categories"])},error:()=>{this.isSubmitting.set(!1)}})}cancel(){this.router.navigate(["/admin/categories"])}getErrorMessage(o){let r=this.categoryForm.get(o);return!r||!r.touched?"":r.hasError("required")?`${this.getFieldLabel(o)} is required`:r.hasError("minlength")?`Must be at least ${r.getError("minlength").requiredLength} characters`:r.hasError("maxlength")?`Must not exceed ${r.getError("maxlength").requiredLength} characters`:r.hasError("pattern")&&o==="slug"?"Slug must contain only lowercase letters, numbers, and hyphens":r.hasError("min")?"Must be a positive number":""}getFieldLabel(o){return{name:"Category name",slug:"Slug",description:"Description",icon:"Icon",color:"Color",displayOrder:"Display order"}[o]||o}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static \u0275fac=function(r){return new(r||c)};static \u0275cmp=D({type:c,selectors:[["app-category-form"]],decls:103,vars:24,consts:[[1,"category-form-container"],[1,"header-title"],["mat-icon-button","","aria-label","Go back",3,"click"],[3,"ngSubmit","formGroup"],["appearance","outline",1,"full-width"],["matInput","","formControlName","name","placeholder","e.g., JavaScript Fundamentals","required",""],["matPrefix",""],["matInput","","formControlName","slug","placeholder","e.g., javascript-fundamentals","required",""],["matInput","","formControlName","description","rows","4","placeholder","Brief description of the category...","required",""],["align","end"],[1,"form-row"],["appearance","outline",1,"half-width"],["formControlName","icon","required",""],[3,"value"],["formControlName","color","required",""],["matPrefix","",1,"color-preview"],["matInput","","type","number","formControlName","displayOrder","placeholder","0","min","0"],[1,"checkbox-field"],["formControlName","guestAccessible"],[1,"checkbox-hint"],[1,"preview-section"],[1,"preview-card"],[1,"preview-icon"],[1,"preview-content"],[1,"preview-badge"],[1,"preview-badge","locked"],[1,"form-actions"],["mat-stroked-button","","type","button",3,"click","disabled"],["mat-raised-button","","color","primary","type","submit",3,"disabled"],["diameter","20"],[1,"color-option"],[1,"color-preview"]],template:function(r,i){if(r&1&&(e(0,"div",0)(1,"mat-card")(2,"mat-card-header")(3,"mat-card-title")(4,"div",1)(5,"button",2),M("click",function(){return i.cancel()}),e(6,"mat-icon"),n(7,"arrow_back"),t()(),e(8,"h1"),n(9),t()()()(),e(10,"mat-card-content")(11,"form",3),M("ngSubmit",function(){return i.onSubmit()}),e(12,"mat-form-field",4)(13,"mat-label"),n(14,"Category Name"),t(),g(15,"input",5),e(16,"mat-icon",6),n(17,"label"),t(),e(18,"mat-error"),n(19),t()(),e(20,"mat-form-field",4)(21,"mat-label"),n(22,"Slug (URL-friendly)"),t(),g(23,"input",7),e(24,"mat-icon",6),n(25,"link"),t(),e(26,"mat-hint"),n(27),t(),e(28,"mat-error"),n(29),t()(),e(30,"mat-form-field",4)(31,"mat-label"),n(32,"Description"),t(),e(33,"textarea",8),n(34," "),t(),e(35,"mat-icon",6),n(36,"description"),t(),e(37,"mat-hint",9),n(38),t(),e(39,"mat-error"),n(40),t()(),e(41,"div",10)(42,"mat-form-field",11)(43,"mat-label"),n(44,"Icon"),t(),e(45,"mat-select",12),v(46,ht,5,3,"mat-option",13,vt),t(),e(48,"mat-icon",6),n(49),t(),e(50,"mat-error"),n(51),t()(),e(52,"mat-form-field",11)(53,"mat-label"),n(54,"Color"),t(),e(55,"mat-select",14),v(56,bt,4,4,"mat-option",13,vt),t(),g(58,"span",15),e(59,"mat-error"),n(60),t()()(),e(61,"mat-form-field",4)(62,"mat-label"),n(63,"Display Order"),t(),g(64,"input",16),e(65,"mat-icon",6),n(66,"sort"),t(),e(67,"mat-hint"),n(68,"Lower numbers appear first in the category list"),t(),e(69,"mat-error"),n(70),t()(),e(71,"div",17)(72,"mat-checkbox",18)(73,"strong"),n(74,"Guest Accessible"),t()(),e(75,"p",19),n(76," Allow guest users to access this category without authentication "),t()(),e(77,"div",20)(78,"h3"),n(79,"Preview"),t(),e(80,"div",21)(81,"div",22)(82,"mat-icon"),n(83),t()(),e(84,"div",23)(85,"h4"),n(86),t(),e(87,"p"),n(88),t(),u(89,xt,4,0,"span",24)(90,wt,4,0,"span",25),t()()(),e(91,"div",26)(92,"button",27),M("click",function(){return i.cancel()}),e(93,"mat-icon"),n(94,"close"),t(),n(95," Cancel "),t(),e(96,"button",28),u(97,St,1,0,"mat-spinner",29),e(98,"span"),u(99,Et,1,0)(100,Ft,1,0)(101,kt,1,0),t(),u(102,It,2,1,"mat-icon"),t()()()()()()),r&2){let d,b,x,w,S,E,F,k;a(9),l(i.pageTitle()),a(2),s("formGroup",i.categoryForm),a(8),l(i.getErrorMessage("name")),a(8),P("Preview: /categories/",i.slugPreview()),a(2),l(i.getErrorMessage("slug")),a(9),P(" ",((d=i.categoryForm.get("description"))==null||d.value==null?null:d.value.length)||0," / 500 "),a(2),l(i.getErrorMessage("description")),a(6),y(i.iconOptions),a(3),l((b=i.categoryForm.get("icon"))==null?null:b.value),a(2),l(i.getErrorMessage("icon")),a(5),y(i.colorOptions),a(2),O("background-color",(x=i.categoryForm.get("color"))==null?null:x.value),a(2),l(i.getErrorMessage("color")),a(10),l(i.getErrorMessage("displayOrder")),a(11),O("background-color",(w=i.categoryForm.get("color"))==null?null:w.value),a(2),l((S=i.categoryForm.get("icon"))==null?null:S.value),a(3),l(((E=i.categoryForm.get("name"))==null?null:E.value)||"Category Name"),a(2),l(((F=i.categoryForm.get("description"))==null?null:F.value)||"Category description will appear here..."),a(),f((k=i.categoryForm.get("guestAccessible"))!=null&&k.value?89:90),a(3),s("disabled",i.isSubmitting()),a(4),s("disabled",i.categoryForm.invalid||i.isSubmitting()),a(),f(i.isSubmitting()?97:-1),a(2),f(i.isSubmitting()?99:i.isEditMode()?100:101),a(3),f(i.isSubmitting()?-1:102)}},dependencies:[T,W,G,A,R,B,z,J,H,V,j,$,Z,Y,Q,X,K,it,rt,tt,nt,et,ot,ct,at,gt,mt,lt,st,dt,Ct,pt,Pt,Ot,Mt,ft,ut],styles:[".category-form-container[_ngcontent-%COMP%]{max-width:800px;margin:24px auto;padding:0 16px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{margin-bottom:24px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px;width:100%}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] .header-title[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:28px;font-weight:500}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:16px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{width:100%}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{display:flex;gap:16px}@media (max-width: 600px){.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%]{flex-direction:column}}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-row[_ngcontent-%COMP%] .half-width[_ngcontent-%COMP%]{flex:1;min-width:0}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] mat-icon[matPrefix][_ngcontent-%COMP%]{margin-right:8px;color:#0000008a}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] .color-preview[_ngcontent-%COMP%]{display:inline-block;width:24px;height:24px;border-radius:4px;border:2px solid rgba(0,0,0,.12);margin-right:8px;vertical-align:middle}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .color-option[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .checkbox-field[_ngcontent-%COMP%]{padding:16px;background-color:#00000005;border-radius:4px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .checkbox-field[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:block;margin-bottom:8px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .checkbox-field[_ngcontent-%COMP%] .checkbox-hint[_ngcontent-%COMP%]{margin:0;padding-left:32px;font-size:14px;color:#0009}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%]{margin-top:24px;padding:20px;background-color:#00000005;border-radius:8px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 16px;font-size:18px;font-weight:500}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%]{display:flex;gap:16px;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}@media (max-width: 480px){.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%]{flex-direction:column;align-items:center;text-align:center}}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:8px;flex-shrink:0}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:36px;width:36px;height:36px;color:#fff}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%]{flex:1}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:0 0 8px;font-size:20px;font-weight:500}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 12px;font-size:14px;line-height:1.5;color:#0009}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%] .preview-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background-color:#4caf501a;color:#4caf50;border-radius:16px;font-size:12px;font-weight:500}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%] .preview-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%] .preview-badge.locked[_ngcontent-%COMP%]{background-color:#ff98001a;color:#ff9800}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(0,0,0,.12)}@media (max-width: 480px){.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%]{flex-direction:column-reverse}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.category-form-container[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] form[_ngcontent-%COMP%] .form-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:8px} .mat-mdc-option mat-icon{vertical-align:middle;margin-right:8px}@media (prefers-color-scheme: dark){.category-form-container[_ngcontent-%COMP%] .checkbox-field[_ngcontent-%COMP%], .category-form-container[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%]{background-color:#ffffff0d}.category-form-container[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%]{background-color:#ffffff14}.category-form-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%] mat-icon[matPrefix][_ngcontent-%COMP%]{color:#ffffffb3}.category-form-container[_ngcontent-%COMP%] .checkbox-field[_ngcontent-%COMP%] .checkbox-hint[_ngcontent-%COMP%], .category-form-container[_ngcontent-%COMP%] .preview-section[_ngcontent-%COMP%] .preview-card[_ngcontent-%COMP%] .preview-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:#ffffffb3}}"]})};export{yt as CategoryFormComponent}; diff --git a/chunk-VX6WCCL3.js b/chunk-VX6WCCL3.js new file mode 100644 index 0000000..af41934 --- /dev/null +++ b/chunk-VX6WCCL3.js @@ -0,0 +1,2 @@ +import{$b as o,_b as l,jc as r,ob as a}from"./chunk-2MUIW2M6.js";var d=["mat-internal-form-field",""],m=["*"],g=(()=>{class i{labelPosition;static \u0275fac=function(t){return new(t||i)};static \u0275cmp=a({type:i,selectors:[["div","mat-internal-form-field",""]],hostAttrs:[1,"mdc-form-field","mat-internal-form-field"],hostVars:2,hostBindings:function(t,n){t&2&&r("mdc-form-field--align-end",n.labelPosition==="before")},inputs:{labelPosition:"labelPosition"},attrs:d,ngContentSelectors:m,decls:1,vars:0,template:function(t,n){t&1&&(l(),o(0))},styles:[`.mat-internal-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;vertical-align:middle}.mat-internal-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mat-internal-form-field>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0} +`],encapsulation:2,changeDetection:0})}return i})();export{g as a}; diff --git a/chunk-WHX74LXP.js b/chunk-WHX74LXP.js new file mode 100644 index 0000000..0a0b24b --- /dev/null +++ b/chunk-WHX74LXP.js @@ -0,0 +1,16 @@ +import{a as q}from"./chunk-RDQGS2XZ.js";import{a as V}from"./chunk-B4CGVF35.js";import{b as L}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import"./chunk-M5XZ5N2D.js";import"./chunk-3GOV5KJM.js";import{a as w,c as k,i as A}from"./chunk-6NRCTHHS.js";import{a as D,b as I}from"./chunk-N6VRXIQE.js";import"./chunk-52JZ5I3Y.js";import{Aa as R,j as b,ua as E,w as S,wa as z,ya as G,za as T}from"./chunk-COFYR5MX.js";import{Db as d,Eb as m,Jb as y,Kb as e,Lb as n,Mb as x,Tb as h,U as P,Xb as l,Za as s,Zb as g,da as u,i as f,ia as C,ja as M,lc as a,mc as _,nc as p,ob as v}from"./chunk-2MUIW2M6.js";function j(r,c){r&1&&(e(0,"div",9),x(1,"mat-spinner",12),e(2,"p"),a(3,"Loading guest analytics..."),n()())}function B(r,c){if(r&1){let t=h();e(0,"mat-card",10)(1,"mat-card-content")(2,"div",13)(3,"mat-icon",14),a(4,"error_outline"),n(),e(5,"h3"),a(6,"Failed to Load Analytics"),n(),e(7,"p"),a(8),n(),e(9,"button",15),l("click",function(){C(t);let i=g();return M(i.refreshAnalytics())}),e(10,"mat-icon"),a(11,"refresh"),n(),a(12," Try Again "),n()()()()}if(r&2){let t=g();s(8),_(t.error())}}function N(r,c){if(r&1&&(e(0,"p",21),a(1),n()),r&2){let t=g(2);s(),p("+",t.analytics().recentActivity.last30Days," this 30 days")}}function F(r,c){if(r&1&&(e(0,"p",21),a(1),n()),r&2){let t=g(2);s(),p("",t.analytics().overview.conversionRate," conversions")}}function Q(r,c){if(r&1){let t=h();e(0,"div",16)(1,"mat-card",17)(2,"mat-card-content")(3,"div",18)(4,"mat-icon"),a(5,"group_add"),n()(),e(6,"div",19)(7,"h3"),a(8,"Total Guest Sessions"),n(),e(9,"p",20),a(10),n(),d(11,N,2,1,"p",21),n()()(),e(12,"mat-card",22)(13,"mat-card-content")(14,"div",18)(15,"mat-icon"),a(16,"online_prediction"),n()(),e(17,"div",19)(18,"h3"),a(19,"Active Sessions"),n(),e(20,"p",20),a(21),n(),e(22,"p",21),a(23,"Currently active"),n()()()(),e(24,"mat-card",23)(25,"mat-card-content")(26,"div",18)(27,"mat-icon"),a(28,"trending_up"),n()(),e(29,"div",19)(30,"h3"),a(31,"Conversion Rate"),n(),e(32,"p",20),a(33),n(),d(34,F,2,1,"p",21),n()()(),e(35,"mat-card",24)(36,"mat-card-content")(37,"div",18)(38,"mat-icon"),a(39,"quiz"),n()(),e(40,"div",19)(41,"h3"),a(42,"Avg Quizzes per Guest"),n(),e(43,"p",20),a(44),n(),e(45,"p",21),a(46,"Per guest session"),n()()()()(),e(47,"div",25)(48,"h2"),a(49,"Guest Management"),n(),e(50,"div",26)(51,"button",15),l("click",function(){C(t);let i=g();return M(i.goToSettings())}),e(52,"mat-icon"),a(53,"settings"),n(),a(54," Guest Settings "),n(),e(55,"button",15),l("click",function(){C(t);let i=g();return M(i.refreshAnalytics())}),e(56,"mat-icon"),a(57,"refresh"),n(),a(58," Refresh Data "),n(),e(59,"button",15),l("click",function(){C(t);let i=g();return M(i.goBack())}),e(60,"mat-icon"),a(61,"dashboard"),n(),a(62," Admin Dashboard "),n()()()}if(r&2){let t=g();s(10),_(t.formatNumber(t.totalSessions())),s(),m(t.analytics()&&t.analytics().recentActivity.last30Days?11:-1),s(10),_(t.formatNumber(t.activeSessions())),s(12),_(t.formatPercentage(t.conversionRate())),s(),m(t.analytics()&&t.analytics().overview.conversionRate?34:-1),s(10),_(t.avgQuizzes().toFixed(1))}}function U(r,c){r&1&&(e(0,"mat-card",11)(1,"mat-card-content")(2,"mat-icon"),a(3,"people_outline"),n(),e(4,"h3"),a(5,"No Analytics Available"),n(),e(6,"p"),a(7,"Guest analytics will appear here once guests start using the platform"),n()()())}var $=class r{adminService=u(q);router=u(S);destroy$=new f;analytics=this.adminService.guestAnalyticsState;isLoading=this.adminService.isLoadingAnalytics;error=this.adminService.analyticsError;totalSessions=this.adminService.totalGuestSessions;activeSessions=this.adminService.activeGuestSessions;conversionRate=this.adminService.conversionRate;avgQuizzes=this.adminService.avgQuizzesPerGuest;chartWidth=800;chartHeight=300;funnelHeight=400;ngOnInit(){this.loadAnalytics()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}loadAnalytics(){this.adminService.getGuestAnalytics().pipe(P(this.destroy$)).subscribe({error:c=>{console.error("Failed to load guest analytics:",c)}})}refreshAnalytics(){this.adminService.refreshGuestAnalytics().pipe(P(this.destroy$)).subscribe()}calculateTimelineX(c,t){let o=this.chartWidth,i=40,O=o-2*i;return t<=1?i:i+c/(t-1)*O}exportToCSV(){let c=this.analytics();if(!c)return;let t=`Guest Analytics Report + +`;t+=`Summary Statistics +`,t+=`Metric,Value +`,t+=`Total Guest Sessions,${c.overview.activeGuestSessions} +`,t+=`Active Guest Sessions,${c.overview.activeGuestSessions} +`,t+=`Conversion Rate,${c.overview.conversionRate}% +`,t+=`Average Quizzes per Guest,${c.quizActivity.avgQuizzesPerGuest} +`,t+=`Total Conversions,${c.overview.conversionRate} + +`,t+=`Timeline Data +`,t+=`Date,Active Sessions,New Sessions,Converted Sessions +`,t+=` +`,t+=`Conversion Funnel +`,t+=`Stage,Count,Percentage,Dropoff +`;let o=new Blob([t],{type:"text/csv;charset=utf-8;"}),i=document.createElement("a"),O=URL.createObjectURL(o);i.setAttribute("href",O),i.setAttribute("download",`guest-analytics-${new Date().toISOString().split("T")[0]}.csv`),i.style.visibility="hidden",document.body.appendChild(i),i.click(),document.body.removeChild(i)}formatNumber(c){return c.toLocaleString()}formatPercentage(c){return`${c.toFixed(1)}%`}goBack(){this.router.navigate(["/admin"])}goToSettings(){this.router.navigate(["/admin/settings"])}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=v({type:r,selectors:[["app-guest-analytics"]],decls:25,vars:6,consts:[[1,"guest-analytics"],[1,"analytics-header"],[1,"header-left"],["mat-icon-button","","matTooltip","Back to Dashboard",3,"click"],[1,"header-content"],[1,"subtitle"],[1,"header-actions"],["mat-raised-button","","color","accent",3,"click","disabled"],["mat-icon-button","","matTooltip","Refresh analytics",3,"click","disabled"],[1,"loading-container"],[1,"error-card"],[1,"empty-state"],["diameter","60"],[1,"error-content"],["color","warn"],["mat-raised-button","","color","primary",3,"click"],[1,"stats-grid"],[1,"stat-card","sessions-card"],[1,"stat-icon"],[1,"stat-info"],[1,"stat-value"],[1,"stat-detail"],[1,"stat-card","active-card"],[1,"stat-card","conversion-card"],[1,"stat-card","quizzes-card"],[1,"quick-actions"],[1,"actions-grid"]],template:function(t,o){t&1&&(e(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3),l("click",function(){return o.goBack()}),e(4,"mat-icon"),a(5,"arrow_back"),n()(),e(6,"div",4)(7,"h1")(8,"mat-icon"),a(9,"people_outline"),n(),a(10," Guest Analytics "),n(),e(11,"p",5),a(12,"Guest user behavior and conversion insights"),n()()(),e(13,"div",6)(14,"button",7),l("click",function(){return o.exportToCSV()}),e(15,"mat-icon"),a(16,"download"),n(),a(17," Export CSV "),n(),e(18,"button",8),l("click",function(){return o.refreshAnalytics()}),e(19,"mat-icon"),a(20,"refresh"),n()()()(),d(21,j,4,0,"div",9),d(22,B,13,1,"mat-card",10),d(23,Q,63,6),d(24,U,8,0,"mat-card",11),n()),t&2&&(s(14),y("disabled",!o.analytics()),s(4),y("disabled",o.isLoading()),s(3),m(o.isLoading()?21:-1),s(),m(o.error()&&!o.isLoading()?22:-1),s(),m(o.analytics()&&!o.isLoading()?23:-1),s(),m(!o.analytics()&&!o.isLoading()&&!o.error()?24:-1))},dependencies:[b,A,w,k,G,z,E,R,T,I,D,V,L],styles:[".guest-analytics[_ngcontent-%COMP%]{max-width:1400px;margin:0 auto;padding:2rem}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:1rem}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-left[_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}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-left[_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}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin:0;color:#666;font-size:1rem}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transition:transform .3s ease}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:not([disabled]) mat-icon[_ngcontent-%COMP%]:first-child{transform:rotate(180deg)}.guest-analytics[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.guest-analytics[_ngcontent-%COMP%] .loading-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:1.1rem;color:#666}.guest-analytics[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%]{margin-bottom:2rem;border-left:4px solid #f44336}.guest-analytics[_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}.guest-analytics[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:4rem;width:4rem;height:4rem}.guest-analytics[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;color:#333}.guest-analytics[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:#666}.guest-analytics[_ngcontent-%COMP%] .error-card[_ngcontent-%COMP%] .error-content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-top:1rem}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]{transition:transform .2s ease,box-shadow .2s ease}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%]:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.guest-analytics[_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}.guest-analytics[_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}.guest-analytics[_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}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%]{flex:1}.guest-analytics[_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}.guest-analytics[_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}.guest-analytics[_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}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card.sessions-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#667eea,#764ba2)}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card.active-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#4facfe,#00f2fe)}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card.conversion-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#43e97b,#38f9d7)}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card.quizzes-card[_ngcontent-%COMP%] .stat-icon[_ngcontent-%COMP%]{background:linear-gradient(135deg,#fa709a,#fee140)}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%]{margin-bottom:2rem}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%]{padding:1.5rem 1.5rem 0}.guest-analytics[_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}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-header[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#3f51b5}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%]{padding:1.5rem}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem;padding:1rem;background:#f5f5f5;border-radius:8px}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#666}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-color[_ngcontent-%COMP%]{width:20px;height:3px;border-radius:2px}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-color.active[_ngcontent-%COMP%]{background:#3f51b5}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-color.new[_ngcontent-%COMP%]{background:#4caf50}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%] .legend-color.converted[_ngcontent-%COMP%]{background:#ff9800}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{overflow-x:auto}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{display:block;margin:0 auto}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg.timeline-chart[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{transition:stroke-dashoffset 1s ease;stroke-dasharray:2000;stroke-dashoffset:2000;animation:_ngcontent-%COMP%_drawLine 2s ease forwards}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg.funnel-chart[_ngcontent-%COMP%] rect[_ngcontent-%COMP%]{transition:opacity .3s ease}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg.funnel-chart[_ngcontent-%COMP%] rect[_ngcontent-%COMP%]:hover{opacity:1!important}.guest-analytics[_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}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .funnel-insights[_ngcontent-%COMP%]{margin-top:1.5rem;padding:1rem;background:#f5f5f5;border-radius:8px}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .funnel-insights[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 .5rem;color:#333;font-weight:500}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .funnel-insights[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin:0;padding-left:1.5rem}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .funnel-insights[_ngcontent-%COMP%] ul[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{color:#666;margin-bottom:.25rem}@keyframes _ngcontent-%COMP%_drawLine{to{stroke-dashoffset:0}}.guest-analytics[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%]{margin-top:3rem}.guest-analytics[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.5rem;margin-bottom:1.5rem;color:#333}.guest-analytics[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] .actions-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.guest-analytics[_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}.guest-analytics[_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}.guest-analytics[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%]{margin-top:2rem}.guest-analytics[_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}.guest-analytics[_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}.guest-analytics[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.5rem;color:#333}.guest-analytics[_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){.guest-analytics[_ngcontent-%COMP%]{padding:1rem}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%]{width:100%}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.5rem}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:2rem;width:2rem;height:2rem}.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%]{width:100%;justify-content:space-between}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%]{flex-direction:column;gap:.5rem}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:100%;height:auto}.guest-analytics[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] .actions-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}@media (max-width: 1024px){.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}@media (prefers-color-scheme: dark){.guest-analytics[_ngcontent-%COMP%] .analytics-header[_ngcontent-%COMP%] .header-left[_ngcontent-%COMP%] .header-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:#e3f2fd}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-title[_ngcontent-%COMP%], .guest-analytics[_ngcontent-%COMP%] .quick-actions[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:#e0e0e0}.guest-analytics[_ngcontent-%COMP%] .stats-grid[_ngcontent-%COMP%] .stat-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .stat-info[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#bdbdbd}.guest-analytics[_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}.guest-analytics[_ngcontent-%COMP%] .empty-state[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{color:#e0e0e0}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%], .guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .funnel-insights[_ngcontent-%COMP%]{background:#424242}.guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%], .guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .chart-legend[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .funnel-insights[_ngcontent-%COMP%] .legend-item[_ngcontent-%COMP%], .guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .funnel-insights[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .guest-analytics[_ngcontent-%COMP%] .chart-card[_ngcontent-%COMP%] mat-card-content[_ngcontent-%COMP%] .funnel-insights[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{color:#e0e0e0}}"]})};export{$ as GuestAnalyticsComponent}; diff --git a/chunk-WI5CBSGS.js b/chunk-WI5CBSGS.js new file mode 100644 index 0000000..dada426 --- /dev/null +++ b/chunk-WI5CBSGS.js @@ -0,0 +1 @@ +import{Fc as s,_ as g,ta as a}from"./chunk-2MUIW2M6.js";var c=class n{constructor(){}createPersistedSignal(e,t){let r=localStorage.getItem(e),l=r?JSON.parse(r):t,o=a(l);return s(()=>{let i=o();localStorage.setItem(e,JSON.stringify(i))}),o}createSessionSignal(e,t){let r=sessionStorage.getItem(e),l=r?JSON.parse(r):t,o=a(l);return s(()=>{let i=o();sessionStorage.setItem(e,JSON.stringify(i))}),o}createLoadingSignal(){return a(!1)}createErrorSignal(){return a(null)}clearPersistedState(e){localStorage.removeItem(e),sessionStorage.removeItem(e)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=g({token:n,factory:n.\u0275fac,providedIn:"root"})}; diff --git a/chunk-YTKR22CH.js b/chunk-YTKR22CH.js new file mode 100644 index 0000000..eb8ee92 --- /dev/null +++ b/chunk-YTKR22CH.js @@ -0,0 +1,2 @@ +import{a as X,b as tt}from"./chunk-GIRDLTGV.js";import{c as W}from"./chunk-P3ICZX4Q.js";import{a as Q}from"./chunk-B4CGVF35.js";import{b as K}from"./chunk-NIBVQDYD.js";import{i as Z}from"./chunk-EGL4ZKWQ.js";import{X as Y,ua as q,ya as J}from"./chunk-COFYR5MX.js";import{$ as w,Bb as N,Cb as c,Db as m,Eb as u,Gb as V,Hb as G,Ib as j,Jb as l,Kb as n,Lb as r,Mb as v,Mc as H,Pc as y,Qc as P,Tb as z,Xb as d,Za as o,Zb as p,_ as O,ba as L,cb as A,da as _,hc as $,i as D,ia as h,ja as b,k as M,ka as f,la as k,lc as x,mc as U,nc as I,ob as E,pb as R,xa as B,ya as F}from"./chunk-2MUIW2M6.js";function et(i,g){if(i&1&&(n(0,"mat-option",17),x(1),r()),i&2){let t=g.$implicit;l("value",t),o(),I(" ",t," ")}}function it(i,g){if(i&1){let t=z();n(0,"mat-form-field",14)(1,"mat-select",16,0),d("selectionChange",function(e){h(t);let s=p(2);return b(s._changePageSize(e.value))}),G(3,et,2,2,"mat-option",17,V),r(),n(5,"div",18),d("click",function(){h(t);let e=$(2);return b(e.open())}),r()()}if(i&2){let t=p(2);l("appearance",t._formFieldAppearance)("color",t.color),o(),l("value",t.pageSize)("disabled",t.disabled),N("aria-labelledby",t._pageSizeLabelId),l("panelClass",t.selectConfig.panelClass||"")("disableOptionCentering",t.selectConfig.disableOptionCentering),o(2),j(t._displayedPageSizeOptions)}}function at(i,g){if(i&1&&(n(0,"div",15),x(1),r()),i&2){let t=p(2);o(),U(t.pageSize)}}function nt(i,g){if(i&1&&(n(0,"div",3)(1,"div",13),x(2),r(),m(3,it,6,7,"mat-form-field",14),m(4,at,2,1,"div",15),r()),i&2){let t=p();o(),c("id",t._pageSizeLabelId),o(),I(" ",t._intl.itemsPerPageLabel," "),o(),u(t._displayedPageSizeOptions.length>1?3:-1),o(),u(t._displayedPageSizeOptions.length<=1?4:-1)}}function ot(i,g){if(i&1){let t=z();n(0,"button",19),d("click",function(){h(t);let e=p();return b(e._buttonClicked(0,e._previousButtonsDisabled()))}),f(),n(1,"svg",8),v(2,"path",20),r()()}if(i&2){let t=p();l("matTooltip",t._intl.firstPageLabel)("matTooltipDisabled",t._previousButtonsDisabled())("disabled",t._previousButtonsDisabled())("tabindex",t._previousButtonsDisabled()?-1:null),c("aria-label",t._intl.firstPageLabel)}}function rt(i,g){if(i&1){let t=z();n(0,"button",21),d("click",function(){h(t);let e=p();return b(e._buttonClicked(e.getNumberOfPages()-1,e._nextButtonsDisabled()))}),f(),n(1,"svg",8),v(2,"path",22),r()()}if(i&2){let t=p();l("matTooltip",t._intl.lastPageLabel)("matTooltipDisabled",t._nextButtonsDisabled())("disabled",t._nextButtonsDisabled())("tabindex",t._nextButtonsDisabled()?-1:null),c("aria-label",t._intl.lastPageLabel)}}var C=(()=>{class i{changes=new D;itemsPerPageLabel="Items per page:";nextPageLabel="Next page";previousPageLabel="Previous page";firstPageLabel="First page";lastPageLabel="Last page";getRangeLabel=(t,a,e)=>{if(e==0||a==0)return`0 of ${e}`;e=Math.max(e,0);let s=t*a,S=s{class i{_intl=_(C);_changeDetectorRef=_(H);_formFieldAppearance;_pageSizeLabelId=_(Y).getId("mat-paginator-page-size-label-");_intlChanges;_isInitialized=!1;_initializedStream=new M(1);color;get pageIndex(){return this._pageIndex}set pageIndex(t){this._pageIndex=Math.max(t||0,0),this._changeDetectorRef.markForCheck()}_pageIndex=0;get length(){return this._length}set length(t){this._length=t||0,this._changeDetectorRef.markForCheck()}_length=0;get pageSize(){return this._pageSize}set pageSize(t){this._pageSize=Math.max(t||0,0),this._updateDisplayedPageSizeOptions()}_pageSize;get pageSizeOptions(){return this._pageSizeOptions}set pageSizeOptions(t){this._pageSizeOptions=(t||[]).map(a=>P(a,0)),this._updateDisplayedPageSizeOptions()}_pageSizeOptions=[];hidePageSize=!1;showFirstLastButtons=!1;selectConfig={};disabled=!1;page=new A;_displayedPageSizeOptions;initialized=this._initializedStream;constructor(){let t=this._intl,a=_(dt,{optional:!0});if(this._intlChanges=t.changes.subscribe(()=>this._changeDetectorRef.markForCheck()),a){let{pageSize:e,pageSizeOptions:s,hidePageSize:S,showFirstLastButtons:T}=a;e!=null&&(this._pageSize=e),s!=null&&(this._pageSizeOptions=s),S!=null&&(this.hidePageSize=S),T!=null&&(this.showFirstLastButtons=T)}this._formFieldAppearance=a?.formFieldAppearance||"outline"}ngOnInit(){this._isInitialized=!0,this._updateDisplayedPageSizeOptions(),this._initializedStream.next()}ngOnDestroy(){this._initializedStream.complete(),this._intlChanges.unsubscribe()}nextPage(){this.hasNextPage()&&this._navigate(this.pageIndex+1)}previousPage(){this.hasPreviousPage()&&this._navigate(this.pageIndex-1)}firstPage(){this.hasPreviousPage()&&this._navigate(0)}lastPage(){this.hasNextPage()&&this._navigate(this.getNumberOfPages()-1)}hasPreviousPage(){return this.pageIndex>=1&&this.pageSize!=0}hasNextPage(){let t=this.getNumberOfPages()-1;return this.pageIndext-a),this._changeDetectorRef.markForCheck())}_emitPageEvent(t){this.page.emit({previousPageIndex:t,pageIndex:this.pageIndex,pageSize:this.pageSize,length:this.length})}_navigate(t){let a=this.pageIndex;t!==a&&(this.pageIndex=t,this._emitPageEvent(a))}_buttonClicked(t,a){a||this._navigate(t)}static \u0275fac=function(a){return new(a||i)};static \u0275cmp=E({type:i,selectors:[["mat-paginator"]],hostAttrs:["role","group",1,"mat-mdc-paginator"],inputs:{color:"color",pageIndex:[2,"pageIndex","pageIndex",P],length:[2,"length","length",P],pageSize:[2,"pageSize","pageSize",P],pageSizeOptions:"pageSizeOptions",hidePageSize:[2,"hidePageSize","hidePageSize",y],showFirstLastButtons:[2,"showFirstLastButtons","showFirstLastButtons",y],selectConfig:"selectConfig",disabled:[2,"disabled","disabled",y]},outputs:{page:"page"},exportAs:["matPaginator"],decls:14,vars:14,consts:[["selectRef",""],[1,"mat-mdc-paginator-outer-container"],[1,"mat-mdc-paginator-container"],[1,"mat-mdc-paginator-page-size"],[1,"mat-mdc-paginator-range-actions"],["aria-live","polite",1,"mat-mdc-paginator-range-label"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-first",3,"matTooltip","matTooltipDisabled","disabled","tabindex"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-previous",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["viewBox","0 0 24 24","focusable","false","aria-hidden","true",1,"mat-mdc-paginator-icon"],["d","M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-next",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-last",3,"matTooltip","matTooltipDisabled","disabled","tabindex"],[1,"mat-mdc-paginator-page-size-label"],[1,"mat-mdc-paginator-page-size-select",3,"appearance","color"],[1,"mat-mdc-paginator-page-size-value"],["hideSingleSelectionIndicator","",3,"selectionChange","value","disabled","aria-labelledby","panelClass","disableOptionCentering"],[3,"value"],[1,"mat-mdc-paginator-touch-target",3,"click"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-first",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"],["matIconButton","","type","button","matTooltipPosition","above","disabledInteractive","",1,"mat-mdc-paginator-navigation-last",3,"click","matTooltip","matTooltipDisabled","disabled","tabindex"],["d","M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"]],template:function(a,e){a&1&&(n(0,"div",1)(1,"div",2),m(2,nt,5,4,"div",3),n(3,"div",4)(4,"div",5),x(5),r(),m(6,ot,3,5,"button",6),n(7,"button",7),d("click",function(){return e._buttonClicked(e.pageIndex-1,e._previousButtonsDisabled())}),f(),n(8,"svg",8),v(9,"path",9),r()(),k(),n(10,"button",10),d("click",function(){return e._buttonClicked(e.pageIndex+1,e._nextButtonsDisabled())}),f(),n(11,"svg",8),v(12,"path",11),r()(),m(13,rt,3,5,"button",12),r()()()),a&2&&(o(2),u(e.hidePageSize?-1:2),o(3),I(" ",e._intl.getRangeLabel(e.pageIndex,e.pageSize,e.length)," "),o(),u(e.showFirstLastButtons?6:-1),o(),l("matTooltip",e._intl.previousPageLabel)("matTooltipDisabled",e._previousButtonsDisabled())("disabled",e._previousButtonsDisabled())("tabindex",e._previousButtonsDisabled()?-1:null),c("aria-label",e._intl.previousPageLabel),o(3),l("matTooltip",e._intl.nextPageLabel)("matTooltipDisabled",e._nextButtonsDisabled())("disabled",e._nextButtonsDisabled())("tabindex",e._nextButtonsDisabled()?-1:null),c("aria-label",e._intl.nextPageLabel),o(3),u(e.showFirstLastButtons?13:-1))},dependencies:[Z,X,W,q,K],styles:[`.mat-mdc-paginator{display:block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-paginator-container-text-color, var(--mat-sys-on-surface));background-color:var(--mat-paginator-container-background-color, var(--mat-sys-surface));font-family:var(--mat-paginator-container-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-paginator-container-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-paginator-container-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-paginator-container-text-weight, var(--mat-sys-body-small-weight));letter-spacing:var(--mat-paginator-container-text-tracking, var(--mat-sys-body-small-tracking));--mat-form-field-container-height: var(--mat-paginator-form-field-container-height, 40px);--mat-form-field-container-vertical-padding: var(--mat-paginator-form-field-container-vertical-padding, 8px)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-size, var(--mat-sys-body-small-size))}.mat-mdc-paginator .mat-mdc-form-field-subscript-wrapper{display:none}.mat-mdc-paginator .mat-mdc-select{line-height:1.5}.mat-mdc-paginator-outer-container{display:flex}.mat-mdc-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap;width:100%;min-height:var(--mat-paginator-container-size, 56px)}.mat-mdc-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-mdc-paginator-page-size{margin-right:0;margin-left:8px}.mat-mdc-paginator-page-size-label{margin:0 4px}.mat-mdc-paginator-page-size-select{margin:0 4px;width:var(--mat-paginator-page-size-select-width, 84px)}.mat-mdc-paginator-range-label{margin:0 32px 0 24px}.mat-mdc-paginator-range-actions{display:flex;align-items:center}.mat-mdc-paginator-icon{display:inline-block;width:28px;fill:var(--mat-paginator-enabled-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}@media(forced-colors: active){.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon,.mat-mdc-paginator-icon{fill:currentColor}.mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}.mat-mdc-paginator-range-actions .mat-mdc-icon-button[aria-disabled]{color:GrayText}}.mat-mdc-paginator-touch-target{display:var(--mat-paginator-touch-target-display, block);position:absolute;top:50%;left:50%;width:var(--mat-paginator-page-size-select-width, 84px);height:var(--mat-paginator-page-size-select-touch-target-height, 48px);background-color:rgba(0,0,0,0);transform:translate(-50%, -50%);cursor:pointer} +`],encapsulation:2,changeDetection:0})}return i})(),Ot=(()=>{class i{static \u0275fac=function(a){return new(a||i)};static \u0275mod=R({type:i});static \u0275inj=w({providers:[lt],imports:[J,tt,Q,gt]})}return i})();export{gt as a,Ot as b}; diff --git a/chunk-YWCH6MM5.js b/chunk-YWCH6MM5.js new file mode 100644 index 0000000..951da2d --- /dev/null +++ b/chunk-YWCH6MM5.js @@ -0,0 +1,3 @@ +import{a as N,c as Tt,d as xt,e as Ot,h as G,i as wt,l as V}from"./chunk-LLJSP5R2.js";import{b as vt,f as Z,g as Ct,h as At,k as b,l as v}from"./chunk-HMKN2VB2.js";import{F as B,H as ft,J as Q,L as _t,S as yt,T as Dt,W as bt,X as D,Y as j,ca as q,ea as U,oa as Y}from"./chunk-COFYR5MX.js";import{$ as I,A as it,Aa as S,B as _,Ca as E,Cb as R,H as g,Kb as ct,Lb as mt,Mc as gt,S as w,Ub as H,_ as k,a as m,b as et,ba as u,bc as ht,cb as F,cc as ut,da as s,db as nt,dc as pt,eb as st,fb as rt,hb as lt,i as d,jc as W,ma as h,na as ot,ob as M,pb as L,qb as y,sb as f,ta as at,tb as dt,ub as P,w as O}from"./chunk-2MUIW2M6.js";function Vt(i,a){}var p=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;closeOnNavigation=!0;closeOnDestroy=!0;closeOnOverlayDetachments=!0;disableAnimations=!1;providers;container;templateContext};var K=(()=>{class i extends At{_elementRef=s(E);_focusTrapFactory=s(Dt);_config;_interactivityChecker=s(yt);_ngZone=s(nt);_focusMonitor=s(_t);_renderer=s(lt);_changeDetectorRef=s(gt);_injector=s(h);_platform=s(ft);_document=s(ot);_portalOutlet;_focusTrapped=new d;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=!1;constructor(){super(),this._config=s(p,{optional:!0})||new p,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(t){this._ariaLabelledByQueue.push(t),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(t){let e=this._ariaLabelledByQueue.indexOf(t);e>-1&&(this._ariaLabelledByQueue.splice(e,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(t){this._portalOutlet.hasAttached();let e=this._portalOutlet.attachComponentPortal(t);return this._contentAttached(),e}attachTemplatePortal(t){this._portalOutlet.hasAttached();let e=this._portalOutlet.attachTemplatePortal(t);return this._contentAttached(),e}attachDomPortal=t=>{this._portalOutlet.hasAttached();let e=this._portalOutlet.attachDomPortal(t);return this._contentAttached(),e};_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(t,e){this._interactivityChecker.isFocusable(t)||(t.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{n(),l(),t.removeAttribute("tabindex")},n=this._renderer.listen(t,"blur",o),l=this._renderer.listen(t,"mousedown",o)})),t.focus(e)}_focusByCssSelector(t,e){let o=this._elementRef.nativeElement.querySelector(t);o&&this._forceFocus(o,e)}_trapFocus(t){this._isDestroyed||st(()=>{let e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus(t);break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement(t)||this._focusDialogContainer(t);break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',t);break;default:this._focusByCssSelector(this._config.autoFocus,t);break}this._focusTrapped.next()},{injector:this._injector})}_restoreFocus(){let t=this._config.restoreFocus,e=null;if(typeof t=="string"?e=this._document.querySelector(t):typeof t=="boolean"?e=t?this._elementFocusedBeforeDialogWasOpened:null:t&&(e=t),this._config.restoreFocus&&e&&typeof e.focus=="function"){let o=B(),n=this._elementRef.nativeElement;(!o||o===this._document.body||o===n||n.contains(o))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(t){this._elementRef.nativeElement.focus?.(t)}_containsFocus(){let t=this._elementRef.nativeElement,e=B();return t===e||t.contains(e)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=B()))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=M({type:i,selectors:[["cdk-dialog-container"]],viewQuery:function(e,o){if(e&1&&ht(b,7),e&2){let n;ut(n=pt())&&(o._portalOutlet=n.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(e,o){e&2&&R("id",o._config.id||null)("role",o._config.role)("aria-modal",o._config.ariaModal)("aria-labelledby",o._config.ariaLabel?null:o._ariaLabelledByQueue[0])("aria-label",o._config.ariaLabel)("aria-describedby",o._config.ariaDescribedBy||null)},features:[f],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,o){e&1&&P(0,Vt,0,0,"ng-template",0)},dependencies:[b],styles:[`.cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit} +`],encapsulation:2})}return i})(),C=class{overlayRef;config;componentInstance;componentRef;containerInstance;disableClose;closed=new d;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(a,t){this.overlayRef=a,this.config=t,this.disableClose=t.disableClose,this.backdropClick=a.backdropClick(),this.keydownEvents=a.keydownEvents(),this.outsidePointerEvents=a.outsidePointerEvents(),this.id=t.id,this.keydownEvents.subscribe(e=>{e.keyCode===27&&!this.disableClose&&!j(e)&&(e.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{!this.disableClose&&this._canClose()?this.close(void 0,{focusOrigin:"mouse"}):this.containerInstance._recaptureFocus?.()}),this._detachSubscription=a.detachments().subscribe(()=>{t.closeOnOverlayDetachments!==!1&&this.close()})}close(a,t){if(this._canClose(a)){let e=this.closed;this.containerInstance._closeInteractionType=t?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),e.next(a),e.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(a="",t=""){return this.overlayRef.updateSize({width:a,height:t}),this}addPanelClass(a){return this.overlayRef.addPanelClass(a),this}removePanelClass(a){return this.overlayRef.removePanelClass(a),this}_canClose(a){let t=this.config;return!!this.containerInstance&&(!t.closePredicate||t.closePredicate(a,t,this.componentInstance))}},zt=new u("DialogScrollStrategy",{providedIn:"root",factory:()=>{let i=s(h);return()=>N(i)}}),Ht=new u("DialogData"),Wt=new u("DefaultDialogConfig");function Qt(i){let a=at(i),t=new F;return{valueSignal:a,get value(){return a()},change:t,ngOnDestroy(){t.complete()}}}var X=(()=>{class i{_injector=s(h);_defaultOptions=s(Wt,{optional:!0});_parentDialog=s(i,{optional:!0,skipSelf:!0});_overlayContainer=s(xt);_idGenerator=s(D);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new d;_afterOpenedAtThisLevel=new d;_ariaHiddenElements=new Map;_scrollStrategy=s(zt);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=O(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(w(void 0)));constructor(){}open(t,e){let o=this._defaultOptions||new p;e=m(m({},o),e),e.id=e.id||this._idGenerator.getId("cdk-dialog-"),e.id&&this.getDialogById(e.id);let n=this._getOverlayConfig(e),l=wt(this._injector,n),r=new C(l,e),c=this._attachContainer(l,r,e);if(r.containerInstance=c,!this.openDialogs.length){let z=this._overlayContainer.getContainerElement();c._focusTrapped?c._focusTrapped.pipe(g(1)).subscribe(()=>{this._hideNonDialogContentFromAssistiveTechnology(z)}):this._hideNonDialogContentFromAssistiveTechnology(z)}return this._attachDialogContent(t,r,c,e),this.openDialogs.push(r),r.closed.subscribe(()=>this._removeOpenDialog(r,!0)),this.afterOpened.next(r),r}closeAll(){$(this.openDialogs,t=>t.close())}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){$(this._openDialogsAtThisLevel,t=>{t.config.closeOnDestroy===!1&&this._removeOpenDialog(t,!1)}),$(this._openDialogsAtThisLevel,t=>t.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(t){let e=new Tt({positionStrategy:t.positionStrategy||G().centerHorizontally().centerVertically(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,width:t.width,height:t.height,disposeOnNavigation:t.closeOnNavigation,disableAnimations:t.disableAnimations});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachContainer(t,e,o){let n=o.injector||o.viewContainerRef?.injector,l=[{provide:p,useValue:o},{provide:C,useValue:e},{provide:Ot,useValue:t}],r;o.container?typeof o.container=="function"?r=o.container:(r=o.container.type,l.push(...o.container.providers(o))):r=K;let c=new Z(r,o.viewContainerRef,h.create({parent:n||this._injector,providers:l}));return t.attach(c).instance}_attachDialogContent(t,e,o,n){if(t instanceof rt){let l=this._createInjector(n,e,o,void 0),r={$implicit:n.data,dialogRef:e};n.templateContext&&(r=m(m({},r),typeof n.templateContext=="function"?n.templateContext():n.templateContext)),o.attachTemplatePortal(new Ct(t,null,r,l))}else{let l=this._createInjector(n,e,o,this._injector),r=o.attachComponentPortal(new Z(t,n.viewContainerRef,l));e.componentRef=r,e.componentInstance=r.instance}}_createInjector(t,e,o,n){let l=t.injector||t.viewContainerRef?.injector,r=[{provide:Ht,useValue:t.data},{provide:C,useValue:e}];return t.providers&&(typeof t.providers=="function"?r.push(...t.providers(e,t,o)):r.push(...t.providers)),t.direction&&(!l||!l.get(q,null,{optional:!0}))&&r.push({provide:q,useValue:Qt(t.direction)}),h.create({parent:l||n,providers:r})}_removeOpenDialog(t,e){let o=this.openDialogs.indexOf(t);o>-1&&(this.openDialogs.splice(o,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((n,l)=>{n?l.setAttribute("aria-hidden",n):l.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),e&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(t){if(t.parentElement){let e=t.parentElement.children;for(let o=e.length-1;o>-1;o--){let n=e[o];n!==t&&n.nodeName!=="SCRIPT"&&n.nodeName!=="STYLE"&&!n.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(n,n.getAttribute("aria-hidden")),n.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){let t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}static \u0275fac=function(e){return new(e||i)};static \u0275prov=k({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();function $(i,a){let t=i.length;for(;t--;)a(i[t])}var It=(()=>{class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=L({type:i});static \u0275inj=I({providers:[X],imports:[V,v,bt,v]})}return i})();function qt(i,a){}var T=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;position;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;delayFocusTrap=!0;scrollStrategy;closeOnNavigation=!0;enterAnimationDuration;exitAnimationDuration},J="mdc-dialog--open",St="mdc-dialog--opening",Et="mdc-dialog--closing",Ut=150,Yt=75,Lt=(()=>{class i extends K{_animationStateChanged=new F;_animationsEnabled=!Y();_actionSectionCount=0;_hostElement=this._elementRef.nativeElement;_enterAnimationDuration=this._animationsEnabled?Mt(this._config.enterAnimationDuration)??Ut:0;_exitAnimationDuration=this._animationsEnabled?Mt(this._config.exitAnimationDuration)??Yt:0;_animationTimer=null;_contentAttached(){super._contentAttached(),this._startOpenAnimation()}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._enterAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(Ft,`${this._enterAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(St,J)),this._waitForAnimationToComplete(this._enterAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(J),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._exitAnimationDuration}),this._hostElement.classList.remove(J),this._animationsEnabled?(this._hostElement.style.setProperty(Ft,`${this._exitAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(Et)),this._waitForAnimationToComplete(this._exitAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_updateActionSectionCount(t){this._actionSectionCount+=t,this._changeDetectorRef.markForCheck()}_finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._enterAnimationDuration)};_finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._exitAnimationDuration})};_clearAnimationClasses(){this._hostElement.classList.remove(St,Et)}_waitForAnimationToComplete(t,e){this._animationTimer!==null&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(e,t)}_requestAnimationFrame(t){this._ngZone.runOutsideAngular(()=>{typeof requestAnimationFrame=="function"?requestAnimationFrame(t):t()})}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(t){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:t})}ngOnDestroy(){super.ngOnDestroy(),this._animationTimer!==null&&clearTimeout(this._animationTimer)}attachComponentPortal(t){let e=super.attachComponentPortal(t);return e.location.nativeElement.classList.add("mat-mdc-dialog-component-host"),e}static \u0275fac=(()=>{let t;return function(o){return(t||(t=S(i)))(o||i)}})();static \u0275cmp=M({type:i,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:10,hostBindings:function(e,o){e&2&&(H("id",o._config.id),R("aria-modal",o._config.ariaModal)("role",o._config.role)("aria-labelledby",o._config.ariaLabel?null:o._ariaLabelledByQueue[0])("aria-label",o._config.ariaLabel)("aria-describedby",o._config.ariaDescribedBy||null),W("_mat-animation-noopable",!o._animationsEnabled)("mat-mdc-dialog-container-with-actions",o._actionSectionCount>0))},features:[f],decls:3,vars:0,consts:[[1,"mat-mdc-dialog-inner-container","mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(e,o){e&1&&(ct(0,"div",0)(1,"div",1),P(2,qt,0,0,"ng-template",2),mt()())},dependencies:[b],styles:[`.mat-mdc-dialog-container{width:100%;height:100%;display:block;box-sizing:border-box;max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;outline:0}.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-max-width, 560px);min-width:var(--mat-dialog-container-min-width, 280px)}@media(max-width: 599px){.cdk-overlay-pane.mat-mdc-dialog-panel{max-width:var(--mat-dialog-container-small-max-width, calc(100vw - 32px))}}.mat-mdc-dialog-inner-container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;opacity:0;transition:opacity linear var(--mat-dialog-transition-duration, 0ms);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mdc-dialog--closing .mat-mdc-dialog-inner-container{transition:opacity 75ms linear;transform:none}.mdc-dialog--open .mat-mdc-dialog-inner-container{opacity:1}._mat-animation-noopable .mat-mdc-dialog-inner-container{transition:none}.mat-mdc-dialog-surface{display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;width:100%;height:100%;position:relative;overflow-y:auto;outline:0;transform:scale(0.8);transition:transform var(--mat-dialog-transition-duration, 0ms) cubic-bezier(0, 0, 0.2, 1);max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit;box-shadow:var(--mat-dialog-container-elevation-shadow, none);border-radius:var(--mat-dialog-container-shape, var(--mat-sys-corner-extra-large, 4px));background-color:var(--mat-dialog-container-color, var(--mat-sys-surface, white))}[dir=rtl] .mat-mdc-dialog-surface{text-align:right}.mdc-dialog--open .mat-mdc-dialog-surface,.mdc-dialog--closing .mat-mdc-dialog-surface{transform:none}._mat-animation-noopable .mat-mdc-dialog-surface{transition:none}.mat-mdc-dialog-surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}.mat-mdc-dialog-title{display:block;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:var(--mat-dialog-headline-padding, 6px 24px 13px)}.mat-mdc-dialog-title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mat-mdc-dialog-title{text-align:right}.mat-mdc-dialog-container .mat-mdc-dialog-title{color:var(--mat-dialog-subhead-color, var(--mat-sys-on-surface, rgba(0, 0, 0, 0.87)));font-family:var(--mat-dialog-subhead-font, var(--mat-sys-headline-small-font, inherit));line-height:var(--mat-dialog-subhead-line-height, var(--mat-sys-headline-small-line-height, 1.5rem));font-size:var(--mat-dialog-subhead-size, var(--mat-sys-headline-small-size, 1rem));font-weight:var(--mat-dialog-subhead-weight, var(--mat-sys-headline-small-weight, 400));letter-spacing:var(--mat-dialog-subhead-tracking, var(--mat-sys-headline-small-tracking, 0.03125em))}.mat-mdc-dialog-content{display:block;flex-grow:1;box-sizing:border-box;margin:0;overflow:auto;max-height:65vh}.mat-mdc-dialog-content>:first-child{margin-top:0}.mat-mdc-dialog-content>:last-child{margin-bottom:0}.mat-mdc-dialog-container .mat-mdc-dialog-content{color:var(--mat-dialog-supporting-text-color, var(--mat-sys-on-surface-variant, rgba(0, 0, 0, 0.6)));font-family:var(--mat-dialog-supporting-text-font, var(--mat-sys-body-medium-font, inherit));line-height:var(--mat-dialog-supporting-text-line-height, var(--mat-sys-body-medium-line-height, 1.5rem));font-size:var(--mat-dialog-supporting-text-size, var(--mat-sys-body-medium-size, 1rem));font-weight:var(--mat-dialog-supporting-text-weight, var(--mat-sys-body-medium-weight, 400));letter-spacing:var(--mat-dialog-supporting-text-tracking, var(--mat-sys-body-medium-tracking, 0.03125em))}.mat-mdc-dialog-container .mat-mdc-dialog-content{padding:var(--mat-dialog-content-padding, 20px 24px)}.mat-mdc-dialog-container-with-actions .mat-mdc-dialog-content{padding:var(--mat-dialog-with-actions-content-padding, 20px 24px 0)}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:0}.mat-mdc-dialog-actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;box-sizing:border-box;min-height:52px;margin:0;border-top:1px solid rgba(0,0,0,0);padding:var(--mat-dialog-actions-padding, 16px 24px);justify-content:var(--mat-dialog-actions-alignment, flex-end)}@media(forced-colors: active){.mat-mdc-dialog-actions{border-top-color:CanvasText}}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-start,.mat-mdc-dialog-actions[align=start]{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}.mat-mdc-dialog-component-host{display:contents} +`],encapsulation:2})}return i})(),Ft="--mat-dialog-transition-duration";function Mt(i){return i==null?null:typeof i=="number"?i:i.endsWith("ms")?Q(i.substring(0,i.length-2)):i.endsWith("s")?Q(i.substring(0,i.length-1))*1e3:i==="0"?0:null}var A=(function(i){return i[i.OPEN=0]="OPEN",i[i.CLOSING=1]="CLOSING",i[i.CLOSED=2]="CLOSED",i})(A||{}),x=class{_ref;_config;_containerInstance;componentInstance;componentRef;disableClose;id;_afterOpened=new d;_beforeClosed=new d;_result;_closeFallbackTimeout;_state=A.OPEN;_closeInteractionType;constructor(a,t,e){this._ref=a,this._config=t,this._containerInstance=e,this.disableClose=t.disableClose,this.id=a.id,a.addPanelClass("mat-mdc-dialog-panel"),e._animationStateChanged.pipe(_(o=>o.state==="opened"),g(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),e._animationStateChanged.pipe(_(o=>o.state==="closed"),g(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),a.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),it(this.backdropClick(),this.keydownEvents().pipe(_(o=>o.keyCode===27&&!this.disableClose&&!j(o)))).subscribe(o=>{this.disableClose||(o.preventDefault(),Pt(this,o.type==="keydown"?"keyboard":"mouse"))})}close(a){let t=this._config.closePredicate;t&&!t(a,this._config,this.componentInstance)||(this._result=a,this._containerInstance._animationStateChanged.pipe(_(e=>e.state==="closing"),g(1)).subscribe(e=>{this._beforeClosed.next(a),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=A.CLOSING,this._containerInstance._startExitAnimation())}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(a){let t=this._ref.config.positionStrategy;return a&&(a.left||a.right)?a.left?t.left(a.left):t.right(a.right):t.centerHorizontally(),a&&(a.top||a.bottom)?a.top?t.top(a.top):t.bottom(a.bottom):t.centerVertically(),this._ref.updatePosition(),this}updateSize(a="",t=""){return this._ref.updateSize(a,t),this}addPanelClass(a){return this._ref.addPanelClass(a),this}removePanelClass(a){return this._ref.removePanelClass(a),this}getState(){return this._state}_finishDialogClose(){this._state=A.CLOSED,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}};function Pt(i,a,t){return i._closeInteractionType=a,i.close(t)}var Rt=new u("MatMdcDialogData"),Bt=new u("mat-mdc-dialog-default-options"),jt=new u("mat-mdc-dialog-scroll-strategy",{providedIn:"root",factory:()=>{let i=s(h);return()=>N(i)}}),tt=(()=>{class i{_defaultOptions=s(Bt,{optional:!0});_scrollStrategy=s(jt);_parentDialog=s(i,{optional:!0,skipSelf:!0});_idGenerator=s(D);_injector=s(h);_dialog=s(X);_animationsDisabled=Y();_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new d;_afterOpenedAtThisLevel=new d;dialogConfigClass=T;_dialogRefConstructor;_dialogContainerType;_dialogDataToken;get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){let t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel}afterAllClosed=O(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(w(void 0)));constructor(){this._dialogRefConstructor=x,this._dialogContainerType=Lt,this._dialogDataToken=Rt}open(t,e){let o;e=m(m({},this._defaultOptions||new T),e),e.id=e.id||this._idGenerator.getId("mat-mdc-dialog-"),e.scrollStrategy=e.scrollStrategy||this._scrollStrategy();let n=this._dialog.open(t,et(m({},e),{positionStrategy:G(this._injector).centerHorizontally().centerVertically(),disableClose:!0,closePredicate:void 0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,disableAnimations:this._animationsDisabled||e.enterAnimationDuration?.toLocaleString()==="0"||e.exitAnimationDuration?.toString()==="0",container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:e},{provide:p,useValue:e}]},templateContext:()=>({dialogRef:o}),providers:(l,r,c)=>(o=new this._dialogRefConstructor(l,e,c),o.updatePosition(e?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:r.data},{provide:this._dialogRefConstructor,useValue:o}])}));return o.componentRef=n.componentRef,o.componentInstance=n.componentInstance,this.openDialogs.push(o),this.afterOpened.next(o),o.afterClosed().subscribe(()=>{let l=this.openDialogs.indexOf(o);l>-1&&(this.openDialogs.splice(l,1),this.openDialogs.length||this._getAfterAllClosed().next())}),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(t){let e=t.length;for(;e--;)t[e].close()}static \u0275fac=function(e){return new(e||i)};static \u0275prov=k({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();var Nt=(()=>{class i{_dialogRef=s(x,{optional:!0});_elementRef=s(E);_dialog=s(tt);constructor(){}ngOnInit(){this._dialogRef||(this._dialogRef=Xt(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{this._onAdd()})}ngOnDestroy(){this._dialogRef?._containerInstance&&Promise.resolve().then(()=>{this._onRemove()})}static \u0275fac=function(e){return new(e||i)};static \u0275dir=y({type:i})}return i})(),Zt=(()=>{class i extends Nt{id=s(D).getId("mat-mdc-dialog-title-");_onAdd(){this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id)}_onRemove(){this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id)}static \u0275fac=(()=>{let t;return function(o){return(t||(t=S(i)))(o||i)}})();static \u0275dir=y({type:i,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(e,o){e&2&&H("id",o.id)},inputs:{id:"id"},exportAs:["matDialogTitle"],features:[f]})}return i})(),$t=(()=>{class i{static \u0275fac=function(e){return new(e||i)};static \u0275dir=y({type:i,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"],features:[dt([vt])]})}return i})(),Kt=(()=>{class i extends Nt{align;_onAdd(){this._dialogRef._containerInstance?._updateActionSectionCount?.(1)}_onRemove(){this._dialogRef._containerInstance?._updateActionSectionCount?.(-1)}static \u0275fac=(()=>{let t;return function(o){return(t||(t=S(i)))(o||i)}})();static \u0275dir=y({type:i,selectors:[["","mat-dialog-actions",""],["mat-dialog-actions"],["","matDialogActions",""]],hostAttrs:[1,"mat-mdc-dialog-actions","mdc-dialog__actions"],hostVars:6,hostBindings:function(e,o){e&2&&W("mat-mdc-dialog-actions-align-start",o.align==="start")("mat-mdc-dialog-actions-align-center",o.align==="center")("mat-mdc-dialog-actions-align-end",o.align==="end")},inputs:{align:"align"},features:[f]})}return i})();function Xt(i,a){let t=i.nativeElement.parentElement;for(;t&&!t.classList.contains("mat-mdc-dialog-container");)t=t.parentElement;return t?a.find(e=>e.id===t.id):null}var Jt=(()=>{class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=L({type:i});static \u0275inj=I({providers:[tt],imports:[It,V,v,U,U]})}return i})();export{x as a,Rt as b,tt as c,Zt as d,$t as e,Kt as f,Jt as g}; diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 zcmd^G33O9Omi+`8$@{|M-I6TH3wzF-p5CV8o}7f~KxR60LK+ApEFB<$bcciv%@SmA zV{n>g85YMFFeU*Uvl=i4v)C*qgnb;$GQ=3XTe9{Y%c`mO%su)noNCCQ*@t1WXn|B(hQ7i~ zrUK8|pUkD6#lNo!bt$6)jR!&C?`P5G(`e((P($RaLeq+o0Vd~f11;qB05kdbAOm?r zXv~GYr_sibQO9NGTCdT;+G(!{4Xs@4fPak8#L8PjgJwcs-Mm#nR_Z0s&u?nDX5^~@ z+A6?}g0|=4e_LoE69pPFO`yCD@BCjgKpzMH0O4Xs{Ahc?K3HC5;l=f zg>}alhBXX&);z$E-wai+9TTRtBX-bWYY@cl$@YN#gMd~tM_5lj6W%8ah4;uZ;jP@Q zVbuel1rPA?2@x9Y+u?e`l{Z4ngfG5q5BLH5QsEu4GVpt{KIp1?U)=3+KQ;%7ec8l* zdV=zZgN5>O3G(3L2fqj3;oBbZZw$Ij@`Juz@?+yy#OPw)>#wsTewVgTK9BGt5AbZ&?K&B3GVF&yu?@(Xj3fR3n+ZP0%+wo)D9_xp>Z$`A4 zfV>}NWjO#3lqumR0`gvnffd9Ka}JJMuHS&|55-*mCD#8e^anA<+sFZVaJe7{=p*oX zE_Uv?1>e~ga=seYzh{9P+n5<+7&9}&(kwqSaz;1aD|YM3HBiy<))4~QJSIryyqp| z8nGc(8>3(_nEI4n)n7j(&d4idW1tVLjZ7QbNLXg;LB ziHsS5pXHEjGJZb59KcvS~wv;uZR-+4qEqow`;JCfB*+b^UL^3!?;-^F%yt=VjU|v z39SSqKcRu_NVvz!zJzL0CceJaS6%!(eMshPv_0U5G`~!a#I$qI5Ic(>IONej@aH=f z)($TAT#1I{iCS4f{D2+ApS=$3E7}5=+y(rA9mM#;Cky%b*Gi0KfFA`ofKTzu`AV-9 znW|y@19rrZ*!N2AvDi<_ZeR3O2R{#dh1#3-d%$k${Rx42h+i&GZo5!C^dSL34*AKp z27mTd>k>?V&X;Nl%GZ(>0s`1UN~Hfyj>KPjtnc|)xM@{H_B9rNr~LuH`Gr5_am&Ep zTjZA8hljNj5H1Ipm-uD9rC}U{-vR!eay5&6x6FkfupdpT*84MVwGpdd(}ib)zZ3Ky z7C$pnjc82(W_y_F{PhYj?o!@3__UUvpX)v69aBSzYj3 zdi}YQkKs^SyXyFG2LTRz9{(w}y~!`{EuAaUr6G1M{*%c+kP1olW9z23dSH!G4_HSK zzae-DF$OGR{ofP*!$a(r^5Go>I3SObVI6FLY)N@o<*gl0&kLo-OT{Tl*7nCz>Iq=? zcigIDHtj|H;6sR?or8Wd_a4996GI*CXGU}o;D9`^FM!AT1pBY~?|4h^61BY#_yIfO zKO?E0 zJ{Pc`9rVEI&$xxXu`<5E)&+m(7zX^v0rqofLs&bnQT(1baQkAr^kEsk)15vlzAZ-l z@OO9RF<+IiJ*O@HE256gCt!bF=NM*vh|WVWmjVawcNoksRTMvR03H{p@cjwKh(CL4 z7_PB(dM=kO)!s4fW!1p0f93YN@?ZSG` z$B!JaAJCtW$B97}HNO9(x-t30&E}Mo1UPi@Av%uHj~?T|!4JLwV;KCx8xO#b9IlUW zI6+{a@Wj|<2Y=U;a@vXbxqZNngH8^}LleE_4*0&O7#3iGxfJ%Id>+sb;7{L=aIic8 z|EW|{{S)J-wr@;3PmlxRXU8!e2gm_%s|ReH!reFcY8%$Hl4M5>;6^UDUUae?kOy#h zk~6Ee_@ZAn48Bab__^bNmQ~+k=02jz)e0d9Z3>G?RGG!65?d1>9}7iG17?P*=GUV-#SbLRw)Hu{zx*azHxWkGNTWl@HeWjA?39Ia|sCi{e;!^`1Oec zb>Z|b65OM*;eC=ZLSy?_fg$&^2xI>qSLA2G*$nA3GEnp3$N-)46`|36m*sc#4%C|h zBN<2U;7k>&G_wL4=Ve5z`ubVD&*Hxi)r@{4RCDw7U_D`lbC(9&pG5C*z#W>8>HU)h z!h3g?2UL&sS!oY5$3?VlA0Me9W5e~V;2jds*fz^updz#AJ%G8w2V}AEE?E^=MK%Xt z__Bx1cr7+DQmuHmzn*|hh%~eEc9@m05@clWfpEFcr+06%0&dZJH&@8^&@*$qR@}o3 z@Tuuh2FsLz^zH+dN&T&?0G3I?MpmYJ;GP$J!EzjeM#YLJ!W$}MVNb0^HfOA>5Fe~UNn%Zk(PT@~9}1dt)1UQ zU*B5K?Dl#G74qmg|2>^>0WtLX#Jz{lO4NT`NYB*(L#D|5IpXr9v&7a@YsGp3vLR7L zHYGHZg7{ie6n~2p$6Yz>=^cEg7tEgk-1YRl%-s7^cbqFb(U7&Dp78+&ut5!Tn(hER z|Gp4Ed@CnOPeAe|N>U(dB;SZ?NU^AzoD^UAH_vamp6Ws}{|mSq`^+VP1g~2B{%N-!mWz<`)G)>V-<`9`L4?3dM%Qh6<@kba+m`JS{Ya@9Fq*m6$$ zA1%Ogc~VRH33|S9l%CNb4zM%k^EIpqY}@h{w(aBcJ9c05oiZx#SK9t->5lSI`=&l~ z+-Ic)a{FbBhXV$Xt!WRd`R#Jk-$+_Z52rS>?Vpt2IK<84|E-SBEoIw>cs=a{BlQ7O z-?{Fy_M&84&9|KM5wt~)*!~i~E=(6m8(uCO)I=)M?)&sRbzH$9Rovzd?ZEY}GqX+~ zFbEbLz`BZ49=2Yh-|<`waK-_4!7`ro@zlC|r&I4fc4oyb+m=|c8)8%tZ-z5FwhzDt zL5kB@u53`d@%nHl0Sp)Dw`(QU&>vujEn?GPEXUW!Wi<+4e%BORl&BIH+SwRcbS}X@ z01Pk|vA%OdJKAs17zSXtO55k!;%m9>1eW9LnyAX4uj7@${O6cfii`49qTNItzny5J zH&Gj`e}o}?xjQ}r?LrI%FjUd@xflT3|7LA|ka%Q3i}a8gVm<`HIWoJGH=$EGClX^C0lysQJ>UO(q&;`T#8txuoQ_{l^kEV9CAdXuU1Ghg8 zN_6hHFuy&1x24q5-(Z7;!poYdt*`UTdrQOIQ!2O7_+AHV2hgXaEz7)>$LEdG z<8vE^Tw$|YwZHZDPM!SNOAWG$?J)MdmEk{U!!$M#fp7*Wo}jJ$Q(=8>R`Ats?e|VU?Zt7Cdh%AdnfyN3MBWw{ z$OnREvPf7%z6`#2##_7id|H%Y{vV^vWXb?5d5?a_y&t3@p9t$ncHj-NBdo&X{wrfJ zamN)VMYROYh_SvjJ=Xd!Ga?PY_$;*L=SxFte!4O6%0HEh%iZ4=gvns7IWIyJHa|hT z2;1+e)`TvbNb3-0z&DD_)Jomsg-7p_Uh`wjGnU1urmv1_oVqRg#=C?e?!7DgtqojU zWoAB($&53;TsXu^@2;8M`#z{=rPy?JqgYM0CDf4v@z=ZD|ItJ&8%_7A#K?S{wjxgd z?xA6JdJojrWpB7fr2p_MSsU4(R7=XGS0+Eg#xR=j>`H@R9{XjwBmqAiOxOL` zt?XK-iTEOWV}f>Pz3H-s*>W z4~8C&Xq25UQ^xH6H9kY_RM1$ch+%YLF72AA7^b{~VNTG}Tj#qZltz5Q=qxR`&oIlW Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..a23878f --- /dev/null +++ b/index.html @@ -0,0 +1,15 @@ + + + + + Frontend + + + + + + + + + + diff --git a/main-6K3FPUHG.js b/main-6K3FPUHG.js new file mode 100644 index 0000000..c5d3e37 --- /dev/null +++ b/main-6K3FPUHG.js @@ -0,0 +1,3 @@ +import{a as rn,b as an,c as sn,d as ln}from"./chunk-37GOEORY.js";import{a as hn}from"./chunk-5WBSN65X.js";import{a as cn,b as mn,c as dn,d as pn,e as gn,f as un,g as Me}from"./chunk-YWCH6MM5.js";import{a as on}from"./chunk-L5RFXRXA.js";import{a as te,b as ne}from"./chunk-FETAVRDH.js";import{a as Kt,c as Jt,e as Xt,f as en,g as tn}from"./chunk-7YTCZJV6.js";import"./chunk-66PBOFKL.js";import"./chunk-NYYADJNO.js";import{b as jt,c as Gt}from"./chunk-R3PUHZUP.js";import"./chunk-3RK6DDJD.js";import{a as $t}from"./chunk-7XDVX5KB.js";import{a as H,b as V}from"./chunk-CTXOKINH.js";import{a as oe}from"./chunk-B4CGVF35.js";import{b as ie}from"./chunk-NIBVQDYD.js";import"./chunk-LLJSP5R2.js";import"./chunk-HMKN2VB2.js";import{a as Ut,b as Yt,c as Zt}from"./chunk-T6TXUSUP.js";import"./chunk-M5XZ5N2D.js";import{b as nn,g as xe}from"./chunk-TAS7XC6E.js";import{a as Wt}from"./chunk-3GOV5KJM.js";import{a as q}from"./chunk-TPLZKWZ7.js";import{e as Bt,f as Ht,i as Vt}from"./chunk-EGL4ZKWQ.js";import{a as $}from"./chunk-GPI43RSU.js";import{b as B}from"./chunk-RC3JXGN6.js";import{a as be,b as ee}from"./chunk-N6VRXIQE.js";import{b as zt,f as Et,k as Tt,y as It}from"./chunk-GWD5A44H.js";import{a as Q}from"./chunk-52JZ5I3Y.js";import{A as wt,Aa as k,B as kt,C as J,H as Rt,N as At,O as Dt,S as qt,W as Qt,X as Ft,ba as Lt,ea as X,j as P,k as ft,l as _t,m as Ce,n as vt,o as Ct,oa as Nt,p as bt,q as xt,r as Z,s as Mt,t as yt,ua as F,v as Pt,w as M,wa as L,x as K,y as Ot,ya as E,z as St,za as w}from"./chunk-COFYR5MX.js";import{$ as me,$b as De,B as se,Bc as gt,Ca as de,Cb as ot,D as Y,Db as g,Eb as u,Ec as N,F as He,Hb as R,I as Ve,Ia as Je,Ib as A,Ic as ut,J as $e,Jb as x,Jc as ht,Kb as o,Lb as r,Mb as h,Pc as ve,T as le,Tb as S,W as Re,Wa as Ae,X as je,Xa as Xe,Xb as f,Za as l,Zb as d,_ as ce,_b as rt,ac as at,ba as Ge,bb as et,bc as st,cc as he,da as c,db as pe,dc as fe,ea as Ue,gb as tt,hb as nt,hc as lt,i as Ne,ia as v,ja as C,jb as it,jc as D,kc as _e,lc as a,ma as Ye,mc as _,n as I,na as W,nc as y,o as Be,ob as b,oc as ct,pa as We,pb as ge,qb as ue,qc as mt,ra as Ze,rc as dt,sc as pt,ta as O,ua as Ke}from"./chunk-2MUIW2M6.js";var In="@",Rn=(()=>{class n{doc;delegate;zone;animationType;moduleImpl;_rendererFactoryPromise=null;scheduler=null;injector=c(Ye);loadingSchedulerFn=c(An,{optional:!0});_engine;constructor(e,i,s,m,p){this.doc=e,this.delegate=i,this.zone=s,this.animationType=m,this.moduleImpl=p}ngOnDestroy(){this._engine?.flush()}loadImpl(){let e=()=>this.moduleImpl??import("./chunk-SDNKCAUU.js").then(s=>s),i;return this.loadingSchedulerFn?i=this.loadingSchedulerFn(e):i=e(),i.catch(s=>{throw new je(5300,!1)}).then(({\u0275createEngine:s,\u0275AnimationRendererFactory:m})=>{this._engine=s(this.animationType,this.doc);let p=new m(this.delegate,this._engine,this.zone);return this.delegate=p,p})}createRenderer(e,i){let s=this.delegate.createRenderer(e,i);if(s.\u0275type===0)return s;typeof s.throwOnSyntheticProps=="boolean"&&(s.throwOnSyntheticProps=!1);let m=new qe(s);return i?.data?.animation&&!this._rendererFactoryPromise&&(this._rendererFactoryPromise=this.loadImpl()),this._rendererFactoryPromise?.then(p=>{let U=p.createRenderer(e,i);m.use(U),this.scheduler??=this.injector.get(Ke,null,{optional:!0}),this.scheduler?.notify(10)}).catch(p=>{m.use(s)}),m}begin(){this.delegate.begin?.()}end(){this.delegate.end?.()}whenRenderingDone(){return this.delegate.whenRenderingDone?.()??Promise.resolve()}componentReplaced(e){this._engine?.flush(),this.delegate.componentReplaced?.(e)}static \u0275fac=function(i){it()};static \u0275prov=ce({token:n,factory:n.\u0275fac})}return n})(),qe=class{delegate;replay=[];\u0275type=1;constructor(t){this.delegate=t}use(t){if(this.delegate=t,this.replay!==null){for(let e of this.replay)e(t);this.replay=null}}get data(){return this.delegate.data}destroy(){this.replay=null,this.delegate.destroy()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}get destroyNode(){return this.delegate.destroyNode}appendChild(t,e){this.delegate.appendChild(t,e)}insertBefore(t,e,i,s){this.delegate.insertBefore(t,e,i,s)}removeChild(t,e,i,s){this.delegate.removeChild(t,e,i,s)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,s){this.delegate.setAttribute(t,e,i,s)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,s){this.delegate.setStyle(t,e,i,s)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){this.shouldReplay(e)&&this.replay.push(s=>s.setProperty(t,e,i)),this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i,s){return this.shouldReplay(e)&&this.replay.push(m=>m.listen(t,e,i,s)),this.delegate.listen(t,e,i,s)}shouldReplay(t){return this.replay!==null&&t.startsWith(In)}},An=new Ge("");function fn(n="animations"){return et("NgAsyncAnimations"),Ue([{provide:tt,useFactory:(t,e,i)=>new Rn(t,e,i,n),deps:[W,ft,pe]},{provide:Je,useValue:n==="noop"?"NoopAnimations":"BrowserAnimations"}])}var re=(n,t)=>{let e=c(q),i=c(M),s=c(Q);if(e.isAuthenticated())return!0;let m=t.url;return s.warning("Please login to access this page."),i.navigate(["/login"],{queryParams:{returnUrl:m}}),!1};var Qe=(n,t)=>{let e=c(q),i=c(M);return e.isAuthenticated()?(i.navigate(["/dashboard"]),!1):!0};var z=(n,t)=>{let e=c(q),i=c(M),s=c(Q),m=e.getCurrentUser();return e.isAuthenticated()?m?.role!=="admin"?(s.error("Access denied. Admin privileges required."),i.navigate(["/dashboard"]),!1):!0:(s.error("Please login to access admin area"),i.navigate(["/login"],{queryParams:{returnUrl:t.url}}),!1)};var _n=[{path:"",pathMatch:"full",canActivate:[()=>{let n=c(q),t=c(M);return n.isAuthenticated()?(t.navigate(["/dashboard"]),!1):(t.navigate(["/categories"]),!1)}],children:[]},{path:"login",loadComponent:()=>import("./chunk-UI3TKFHU.js").then(n=>n.LoginComponent),canActivate:[Qe],title:"Login - Quiz Platform"},{path:"register",loadComponent:()=>import("./chunk-RMZSWKDH.js").then(n=>n.RegisterComponent),canActivate:[Qe],title:"Register - Quiz Platform"},{path:"guest-welcome",loadComponent:()=>import("./chunk-LJBPTG23.js").then(n=>n.GuestWelcomeComponent),title:"Welcome - Quiz Platform"},{path:"categories",loadComponent:()=>import("./chunk-3L3FXYGZ.js").then(n=>n.CategoryListComponent),title:"Categories - Quiz Platform"},{path:"categories/:id",loadComponent:()=>import("./chunk-6XFHITFY.js").then(n=>n.CategoryDetailComponent),title:"Category Detail - Quiz Platform"},{path:"dashboard",loadComponent:()=>import("./chunk-GYQ7OXTP.js").then(n=>n.DashboardComponent),canActivate:[re],title:"Dashboard - Quiz Platform"},{path:"history",loadComponent:()=>import("./chunk-DBIJIYNZ.js").then(n=>n.QuizHistoryComponent),canActivate:[re],title:"Quiz History - Quiz Platform"},{path:"profile",loadComponent:()=>import("./chunk-E645CZY6.js").then(n=>n.ProfileSettingsComponent),canActivate:[re],title:"Profile Settings - Quiz Platform"},{path:"bookmarks",loadComponent:()=>import("./chunk-J3LCK77D.js").then(n=>n.BookmarksComponent),canActivate:[re],title:"My Bookmarks - Quiz Platform"},{path:"quiz/setup",loadComponent:()=>import("./chunk-RQ4AYGDA.js").then(n=>n.QuizSetupComponent),title:"Setup Quiz - Quiz Platform"},{path:"quiz/:sessionId",loadComponent:()=>import("./chunk-3QWAVQEA.js").then(n=>n.QuizQuestionComponent),title:"Quiz - Quiz Platform"},{path:"quiz/:sessionId/results",loadComponent:()=>import("./chunk-OSQNZFMB.js").then(n=>n.QuizResultsComponent),title:"Quiz Results - Quiz Platform"},{path:"quiz/:sessionId/review",loadComponent:()=>import("./chunk-PCQ5ZI2S.js").then(n=>n.QuizReviewComponent),title:"Review Quiz - Quiz Platform"},{path:"admin",loadComponent:()=>import("./chunk-GBWD7IPI.js").then(n=>n.AdminDashboardComponent),canActivate:[z],title:"Admin Dashboard - Quiz Platform"},{path:"admin/analytics",loadComponent:()=>import("./chunk-WHX74LXP.js").then(n=>n.GuestAnalyticsComponent),canActivate:[z],title:"Guest Analytics - Admin"},{path:"admin/guest-settings",loadComponent:()=>import("./chunk-UIJLH2NR.js").then(n=>n.GuestSettingsComponent),canActivate:[z],title:"Guest Settings - Admin"},{path:"admin/guest-settings/edit",loadComponent:()=>import("./chunk-LQYVBPUL.js").then(n=>n.GuestSettingsEditComponent),canActivate:[z],title:"Edit Guest Settings - Admin"},{path:"admin/users",loadComponent:()=>import("./chunk-BGIV2LA3.js").then(n=>n.AdminUsersComponent),canActivate:[z],title:"User Management - Admin"},{path:"admin/users/:id",loadComponent:()=>import("./chunk-OI7I342H.js").then(n=>n.AdminUserDetailComponent),canActivate:[z],title:"User Details - Admin"},{path:"admin/questions",loadComponent:()=>import("./chunk-5DTRLD2T.js").then(n=>n.AdminQuestionsComponent),canActivate:[z],title:"Manage Questions - Admin"},{path:"admin/questions/new",loadComponent:()=>import("./chunk-ML2D4U27.js").then(n=>n.AdminQuestionFormComponent),canActivate:[z],title:"Create Question - Admin"},{path:"admin/questions/:id/edit",loadComponent:()=>import("./chunk-ML2D4U27.js").then(n=>n.AdminQuestionFormComponent),canActivate:[z],title:"Edit Question - Admin"},{path:"admin/categories",loadComponent:()=>import("./chunk-BBCMZBMA.js").then(n=>n.AdminCategoryListComponent),canActivate:[z],title:"Manage Categories - Admin"},{path:"admin/categories/new",loadComponent:()=>import("./chunk-UKR5XEO6.js").then(n=>n.CategoryFormComponent),canActivate:[z],title:"Create Category - Admin"},{path:"admin/categories/edit/:id",loadComponent:()=>import("./chunk-UKR5XEO6.js").then(n=>n.CategoryFormComponent),canActivate:[z],title:"Edit Category - Admin"},{path:"error",loadComponent:()=>import("./chunk-DS2WJYIM.js").then(n=>n.ErrorComponent),title:"Error - Quiz Platform"},{path:"**",redirectTo:"login"}];var vn=(n,t)=>{let e=c(B),i=c($),s=e.getToken(),m=i.getGuestToken(),p={};if(s?p.Authorization=`Bearer ${s}`:m&&(p["x-guest-token"]=m),Object.keys(p).length>0){let U=n.clone({setHeaders:p});return t(U)}return t(n)};var Cn=(n,t)=>{let e=c(B),i=e.getGuestToken();if(!e.getToken()&&i){let m=n.clone({setHeaders:{"x-guest-token":i}});return t(m)}return t(n)};var bn=(n,t)=>{let e=c(M),i=c(Q),s=c(B);return t(n).pipe(Y(m=>{let p="An error occurred";if(m.error instanceof ErrorEvent)p=`Error: ${m.error.message}`;else switch(m.status){case 400:p=m.error?.message||"Bad request";break;case 401:p="Unauthorized. Please login again.",s.clearToken(),s.clearGuestToken(),e.navigate(["/login"]);break;case 403:p=m.error?.message||"Access forbidden";break;case 404:p=m.error?.message||"Resource not found";break;case 409:p=m.error?.message||"Conflict - Resource already exists";break;case 429:p="Too many requests. Please try again later.";break;case 500:p="Server error. Please try again later.";break;default:p=m.error?.message||`Error ${m.status}: ${m.statusText}`}return m.status!==401&&i.error(p),Be(()=>({status:m.status,statusText:m.statusText,message:p,error:m.error}))}))};var xn=(n,t)=>{let e=c(Ut),i=n.headers.has("X-Skip-Loading");return i||e.start("Loading..."),t(n).pipe($e(()=>{i||e.stop()}))};var Mn={providers:[Ze(),gt(),St(_n,kt(Ot),wt({scrollPositionRestoration:"top"})),fn(),Ct(bt([xn,vn,Cn,bn])),{provide:We,useClass:Zt}]};var Dn=(n,t)=>t.id;function qn(n,t){if(n&1){let e=S();o(0,"button",8),f("click",function(){v(e);let s=d().$implicit,m=d();return C(m.onAction(s.action.callback,s.id))}),a(1),r()}if(n&2){let e=d().$implicit;l(),y(" ",e.action.label," ")}}function Qn(n,t){if(n&1){let e=S();o(0,"div",2)(1,"div",3)(2,"mat-icon",4),a(3),r(),o(4,"span",5),a(5),r(),g(6,qn,2,1,"button",6),o(7,"button",7),f("click",function(){let s=v(e).$implicit,m=d();return C(m.toastService.remove(s.id))}),o(8,"mat-icon"),a(9,"close"),r()()()()}if(n&2){let e=t.$implicit,i=d();_e("toast-"+e.type),x("@slideIn",void 0),l(3),_(i.getIcon(e.type)),l(2),_(e.message),l(),u(e.action?6:-1)}}var ye=class n{toastService=c(Q);getIcon(t){return{success:"check_circle",error:"error",warning:"warning",info:"info"}[t]||"info"}onAction(t,e){t(),this.toastService.remove(e)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-toast-container"]],decls:3,vars:0,consts:[[1,"toast-container"],[1,"toast",3,"class"],[1,"toast"],[1,"toast-content"],[1,"toast-icon"],[1,"toast-message"],["mat-button","",1,"toast-action"],["mat-icon-button","",1,"toast-close",3,"click"],["mat-button","",1,"toast-action",3,"click"]],template:function(e,i){e&1&&(o(0,"div",0),R(1,Qn,10,6,"div",1,Dn),r()),e&2&&(l(),A(i.toastService.toasts()))},dependencies:[P,k,w,E,L,F],styles:[".toast-container[_ngcontent-%COMP%]{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.toast[_ngcontent-%COMP%]{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden;animation:_ngcontent-%COMP%_slideIn .3s ease-out;border-left:4px solid}.toast.toast-success[_ngcontent-%COMP%]{border-left-color:#4caf50}.toast.toast-success[_ngcontent-%COMP%] .toast-icon[_ngcontent-%COMP%]{color:#4caf50}.toast.toast-error[_ngcontent-%COMP%]{border-left-color:#f44336}.toast.toast-error[_ngcontent-%COMP%] .toast-icon[_ngcontent-%COMP%]{color:#f44336}.toast.toast-warning[_ngcontent-%COMP%]{border-left-color:#ff9800}.toast.toast-warning[_ngcontent-%COMP%] .toast-icon[_ngcontent-%COMP%]{color:#ff9800}.toast.toast-info[_ngcontent-%COMP%]{border-left-color:#2196f3}.toast.toast-info[_ngcontent-%COMP%] .toast-icon[_ngcontent-%COMP%]{color:#2196f3}.toast-content[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:1rem}.toast-icon[_ngcontent-%COMP%]{flex-shrink:0}.toast-message[_ngcontent-%COMP%]{flex:1;font-size:.875rem;line-height:1.5}.toast-action[_ngcontent-%COMP%]{flex-shrink:0;text-transform:uppercase;font-weight:500}.toast-close[_ngcontent-%COMP%]{flex-shrink:0;width:32px;height:32px}.toast-close[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}@keyframes _ngcontent-%COMP%_slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.toast-container[_ngcontent-%COMP%]{left:1rem;right:1rem;max-width:none}}"]})};var Fn=["*",[["mat-toolbar-row"]]],Ln=["*","mat-toolbar-row"],Nn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=ue({type:n,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]})}return n})(),yn=(()=>{class n{_elementRef=c(de);_platform=c(Rt);_document=c(W);color;_toolbarRows;constructor(){}ngAfterViewInit(){this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(()=>this._checkToolbarMixedModes()))}_checkToolbarMixedModes(){this._toolbarRows.length}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=b({type:n,selectors:[["mat-toolbar"]],contentQueries:function(i,s,m){if(i&1&&at(m,Nn,5),i&2){let p;he(p=fe())&&(s._toolbarRows=p)}},hostAttrs:[1,"mat-toolbar"],hostVars:6,hostBindings:function(i,s){i&2&&(_e(s.color?"mat-"+s.color:""),D("mat-toolbar-multiple-rows",s._toolbarRows.length>0)("mat-toolbar-single-row",s._toolbarRows.length===0))},inputs:{color:"color"},exportAs:["matToolbar"],ngContentSelectors:Ln,decls:2,vars:0,template:function(i,s){i&1&&(rt(Fn),De(0),De(1,1))},styles:[`.mat-toolbar{background:var(--mat-toolbar-container-background-color, var(--mat-sys-surface));color:var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface))}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font-family:var(--mat-toolbar-title-text-font, var(--mat-sys-title-large-font));font-size:var(--mat-toolbar-title-text-size, var(--mat-sys-title-large-size));line-height:var(--mat-toolbar-title-text-line-height, var(--mat-sys-title-large-line-height));font-weight:var(--mat-toolbar-title-text-weight, var(--mat-sys-title-large-weight));letter-spacing:var(--mat-toolbar-title-text-tracking, var(--mat-sys-title-large-tracking));margin:0}@media(forced-colors: active){.mat-toolbar{outline:solid 1px}}.mat-toolbar .mat-form-field-underline,.mat-toolbar .mat-form-field-ripple,.mat-toolbar .mat-focused .mat-form-field-ripple{background-color:currentColor}.mat-toolbar .mat-form-field-label,.mat-toolbar .mat-focused .mat-form-field-label,.mat-toolbar .mat-select-value,.mat-toolbar .mat-select-arrow,.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow{color:inherit}.mat-toolbar .mat-input-element{caret-color:currentColor}.mat-toolbar .mat-mdc-button-base.mat-mdc-button-base.mat-unthemed{--mat-button-text-label-text-color: var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface));--mat-button-outlined-label-text-color: var(--mat-toolbar-container-text-color, var(--mat-sys-on-surface))}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap;height:var(--mat-toolbar-standard-height, 64px)}@media(max-width: 599px){.mat-toolbar-row,.mat-toolbar-single-row{height:var(--mat-toolbar-mobile-height, 56px)}}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%;min-height:var(--mat-toolbar-standard-height, 64px)}@media(max-width: 599px){.mat-toolbar-multiple-rows{min-height:var(--mat-toolbar-mobile-height, 56px)}} +`],encapsulation:2,changeDetection:0})}return n})();var Pn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=ge({type:n});static \u0275inj=me({imports:[X,X]})}return n})();function Hn(n,t){if(n&1&&(o(0,"div",20)(1,"mat-icon"),a(2,"emoji_events"),r(),o(3,"span"),a(4,"Current Score: "),o(5,"strong"),a(6),r()()()),n&2){let e=d();l(6),y("",e.session().score," points")}}var Pe=class n{dialogRef=c(cn);data=c(mn);router=c(M);session=O(this.data.session);progress=N(()=>{let t=this.session();return t?Math.round(t.currentQuestionIndex/t.totalQuestions*100):0});questionsRemaining=N(()=>{let t=this.session();return t?t.totalQuestions-t.currentQuestionIndex:0});resumeQuiz(){let t=this.session();t&&(this.dialogRef.close({action:"resume"}),this.router.navigate(["/quiz",t.id]))}startNewQuiz(){this.dialogRef.close({action:"new"}),this.router.navigate(["/quiz/setup"])}cancel(){this.dialogRef.close({action:"cancel"})}formatDifficulty(t){return t.charAt(0).toUpperCase()+t.slice(1)}getQuizTypeText(t){switch(t){case"practice":return"Practice";case"timed":return"Timed";case"exam":return"Exam";default:return t}}formatTimeElapsed(){let t=this.session();if(!t?.startedAt)return"Just now";let e=new Date(t.startedAt).getTime(),s=Date.now()-e,m=Math.floor(s/6e4);if(m<1)return"Just now";if(m<60)return`${m} minute${m>1?"s":""} ago`;let p=Math.floor(m/60);if(p<24)return`${p} hour${p>1?"s":""} ago`;let U=Math.floor(p/24);return`${U} day${U>1?"s":""} ago`}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-resume-quiz-dialog"]],decls:86,vars:13,consts:[[1,"resume-quiz-dialog"],[1,"dialog-header"],[1,"header-icon"],["mat-dialog-title",""],["mat-icon-button","",1,"close-btn",3,"click"],[1,"incomplete-session-info"],[1,"message"],[1,"session-details"],[1,"detail-row"],[1,"label"],[1,"value"],[1,"progress-container"],["mode","determinate",3,"value","color"],[1,"progress-text"],[1,"stats-row"],[1,"stat-item","success"],[1,"stat-value"],[1,"stat-label"],[1,"stat-item","error"],[1,"stat-item"],[1,"current-score"],["align","end"],["mat-button","",1,"action-btn","secondary",3,"click"],["mat-raised-button","","color","primary",1,"action-btn","primary",3,"click"]],template:function(e,i){e&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"mat-icon"),a(4,"history"),r()(),o(5,"h2",3),a(6,"Resume Quiz?"),r(),o(7,"button",4),f("click",function(){return i.cancel()}),o(8,"mat-icon"),a(9,"close"),r()()(),o(10,"mat-dialog-content")(11,"div",5)(12,"p",6),a(13," You have an incomplete quiz session. Would you like to continue where you left off? "),r(),o(14,"div",7)(15,"div",8)(16,"mat-icon"),a(17,"quiz"),r(),o(18,"span",9),a(19,"Progress:"),r(),o(20,"span",10),a(21),r()(),o(22,"div",11),h(23,"mat-progress-bar",12),o(24,"span",13),a(25),r()(),o(26,"div",8)(27,"mat-icon"),a(28,"category"),r(),o(29,"span",9),a(30,"Category:"),r(),o(31,"span",10),a(32),r()(),o(33,"div",8)(34,"mat-icon"),a(35,"tune"),r(),o(36,"span",9),a(37,"Difficulty:"),r(),o(38,"span",10),a(39),r()(),o(40,"div",8)(41,"mat-icon"),a(42,"timer"),r(),o(43,"span",9),a(44,"Quiz Type:"),r(),o(45,"span",10),a(46),r()(),o(47,"div",8)(48,"mat-icon"),a(49,"schedule"),r(),o(50,"span",9),a(51,"Started:"),r(),o(52,"span",10),a(53),r()(),o(54,"div",14)(55,"div",15)(56,"mat-icon"),a(57,"check_circle"),r(),o(58,"span",16),a(59),r(),o(60,"span",17),a(61,"Correct"),r()(),o(62,"div",18)(63,"mat-icon"),a(64,"cancel"),r(),o(65,"span",16),a(66),r(),o(67,"span",17),a(68,"Incorrect"),r()(),o(69,"div",19)(70,"mat-icon"),a(71,"help_outline"),r(),o(72,"span",16),a(73),r(),o(74,"span",17),a(75,"Remaining"),r()()(),g(76,Hn,7,1,"div",20),r()()(),o(77,"mat-dialog-actions",21)(78,"button",22),f("click",function(){return i.startNewQuiz()}),o(79,"mat-icon"),a(80,"add"),r(),a(81," Start New Quiz "),r(),o(82,"button",23),f("click",function(){return i.resumeQuiz()}),o(83,"mat-icon"),a(84,"play_arrow"),r(),a(85," Continue Quiz "),r()()()),e&2&&(l(21),ct(" Question ",i.session().currentQuestionIndex+1," of ",i.session().totalQuestions," "),l(2),x("value",i.progress())("color",i.progress()>66?"primary":i.progress()>33?"accent":"warn"),l(2),y("",i.progress(),"% Complete"),l(7),_(i.session().categoryName||"Quiz"),l(7),_(i.formatDifficulty(i.session().difficulty)),l(7),_(i.getQuizTypeText(i.session().quizType)),l(7),_(i.formatTimeElapsed()),l(6),_(i.session().correctAnswers),l(7),_(i.session().incorrectAnswers),l(7),_(i.questionsRemaining()),l(3),u(i.session().score>0?76:-1))},dependencies:[P,Me,pn,un,gn,E,L,F,k,w,ne,te],styles:[".resume-quiz-dialog[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:500px;max-width:600px}@media (max-width: 768px){.resume-quiz-dialog[_ngcontent-%COMP%]{min-width:unset;max-width:unset;width:100%}}.dialog-header[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border-color)}.dialog-header[_ngcontent-%COMP%] .header-icon[_ngcontent-%COMP%]{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));display:flex;align-items:center;justify-content:center;margin-bottom:1rem;animation:_ngcontent-%COMP%_pulse 2s infinite}.dialog-header[_ngcontent-%COMP%] .header-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:#fff}.dialog-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.dialog-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]{position:absolute;top:.5rem;right:.5rem}@keyframes _ngcontent-%COMP%_pulse{0%,to{transform:scale(1);box-shadow:0 0 rgba(var(--primary-rgb),.7)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(var(--primary-rgb),0)}}mat-dialog-content[_ngcontent-%COMP%]{padding:1.5rem;overflow-y:auto;max-height:70vh}.incomplete-session-info[_ngcontent-%COMP%] .message[_ngcontent-%COMP%]{font-size:1rem;color:var(--text-secondary);text-align:center;margin-bottom:1.5rem;line-height:1.5}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%]{background-color:var(--bg-secondary);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;font-size:.9375rem}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--primary-color);font-size:20px;width:20px;height:20px;flex-shrink:0}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:var(--text-secondary);font-weight:500;min-width:80px}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{color:var(--text-primary);font-weight:600}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .progress-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .progress-container[_ngcontent-%COMP%] mat-progress-bar[_ngcontent-%COMP%]{height:8px;border-radius:4px}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .progress-container[_ngcontent-%COMP%] .progress-text[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary);text-align:right;font-weight:600}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%]{display:flex;justify-content:space-around;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px;color:var(--text-secondary)}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat-item.success[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#4caf50}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat-item.error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#f44336}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .stat-value[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .stats-row[_ngcontent-%COMP%] .stat-item[_ngcontent-%COMP%] .stat-label[_ngcontent-%COMP%]{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .current-score[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--accent-rgb),.1));border-radius:6px;margin-top:.5rem}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .current-score[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:#ffc107;font-size:24px;width:24px;height:24px}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .current-score[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:1rem;color:var(--text-primary)}.incomplete-session-info[_ngcontent-%COMP%] .session-details[_ngcontent-%COMP%] .current-score[_ngcontent-%COMP%] span[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--primary-color)}mat-dialog-actions[_ngcontent-%COMP%]{padding:1rem 1.5rem;border-top:1px solid var(--border-color);gap:.75rem;display:flex;justify-content:flex-end}@media (max-width: 768px){mat-dialog-actions[_ngcontent-%COMP%]{flex-direction:column-reverse}mat-dialog-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}}mat-dialog-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-weight:600;padding:.75rem 1.5rem}mat-dialog-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}mat-dialog-actions[_ngcontent-%COMP%] .action-btn.primary[_ngcontent-%COMP%]{min-width:160px}mat-dialog-actions[_ngcontent-%COMP%] .action-btn.secondary[_ngcontent-%COMP%]{color:var(--text-secondary)}mat-dialog-actions[_ngcontent-%COMP%] .action-btn.secondary[_ngcontent-%COMP%]:hover{background-color:var(--bg-hover)}@media (prefers-color-scheme: dark){.session-details[_ngcontent-%COMP%]{background-color:#ffffff0d}.current-score[_ngcontent-%COMP%]{background:linear-gradient(135deg,rgba(var(--primary-rgb),.2),rgba(var(--accent-rgb),.2))}}"]})};var Oe=class n{http=c(vt);apiUrl=`${Wt.apiUrl}/search`;searchResults=O({questions:[],categories:[],quizzes:[],totalResults:0});isSearching=O(!1);searchQuery=O("");hasSearched=O(!1);searchCache=new Map;CACHE_TTL=300*1e3;search(t){if(this.searchQuery.set(t),!t||t.trim().length<2)return this.clearResults(),I(this.searchResults());let e=t.trim(),i=this.searchCache.get(e);if(i&&Date.now()-i.timestamp{let p=this.transformSearchResults(m);this.searchResults.set(p),this.hasSearched.set(!0),this.searchCache.set(e,{results:p,timestamp:Date.now()})}),le(()=>I(this.searchResults())),Y(m=>(console.error("Search error:",m),this.clearResults(),I(this.searchResults()))),Re(()=>this.isSearching.set(!1)))}searchQuestions(t,e=10){if(!t||t.trim().length<2)return I([]);let i=new Ce().set("q",t.trim()).set("type","questions").set("limit",e.toString());return this.http.get(`${this.apiUrl}`,{params:i}).pipe(le(s=>I(this.transformQuestions(s.data.questions))),Y(()=>I([])))}searchCategories(t,e=10){if(!t||t.trim().length<2)return I([]);let i=new Ce().set("q",t.trim()).set("type","categories").set("limit",e.toString());return this.http.get(`${this.apiUrl}`,{params:i}).pipe(le(s=>I(this.transformCategories(s.data.categories))),Y(()=>I([])))}clearResults(){this.searchResults.set({questions:[],categories:[],quizzes:[],totalResults:0}),this.searchQuery.set(""),this.hasSearched.set(!1),this.isSearching.set(!1)}clearCache(){this.searchCache.clear()}transformSearchResults(t){return{questions:this.transformQuestions(t.data.questions),categories:this.transformCategories(t.data.categories),quizzes:this.transformQuizzes(t.data.quizzes),totalResults:t.total}}transformQuestions(t){return t.map(e=>({id:e.id,type:"question",title:e.questionText,description:e.explanation?.substring(0,100),highlight:this.highlightMatch(e.questionText,this.searchQuery()),category:e.category?.name,difficulty:e.difficulty,icon:"quiz",url:`/quiz/question/${e.id}`}))}transformCategories(t){return t.map(e=>({id:e.id,type:"category",title:e.name,description:e.description?.substring(0,100),highlight:this.highlightMatch(e.name,this.searchQuery()),icon:e.icon||"category",url:`/categories/${e.id}`}))}transformQuizzes(t){return t.map(e=>({id:e.id,type:"quiz",title:`Quiz: ${e.category?.name||"Unknown"}`,description:`${e.totalQuestions} questions - Score: ${e.score}%`,category:e.category?.name,icon:"assessment",url:`/quiz/review/${e.id}`}))}highlightMatch(t,e){if(!e||!t)return t;let i=new RegExp(`(${this.escapeRegex(e)})`,"gi");return t.replace(i,"$1")}escapeRegex(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}hasResults(){return this.searchResults().totalResults>0}getResultsByType(t){let e=this.searchResults();switch(t){case"question":return e.questions;case"category":return e.categories;case"quiz":return e.quizzes;default:return[]}}static \u0275fac=function(e){return new(e||n)};static \u0275prov=ce({token:n,factory:n.\u0275fac,providedIn:"root"})};var $n=["searchInput"],Le=(n,t)=>t.id;function jn(n,t){if(n&1){let e=S();o(0,"button",8),f("click",function(){v(e);let s=d();return C(s.clearSearch())}),o(1,"mat-icon"),a(2,"close"),r()()}}function Gn(n,t){n&1&&(o(0,"div",9),h(1,"mat-spinner",12),o(2,"p"),a(3,"Searching..."),r()())}function Un(n,t){if(n&1&&(o(0,"div",10)(1,"mat-icon"),a(2,"search_off"),r(),o(3,"p"),a(4,'No results found for "'),o(5,"strong"),a(6),r(),a(7,'"'),r(),o(8,"span",13),a(9,"Try different keywords or check your spelling"),r()()),n&2){let e=d(2);l(6),_(e.searchQuery())}}function Yn(n,t){if(n&1&&(o(0,"div",24),a(1),r()),n&2){let e=d().$implicit;l(),_(e.description)}}function Wn(n,t){if(n&1){let e=S();o(0,"div",20),f("click",function(){let s=v(e).$implicit,m=d(4);return C(m.navigateToResult(s))}),o(1,"mat-icon",21),a(2),r(),o(3,"div",22),h(4,"div",23),g(5,Yn,2,1,"div",24),r(),o(6,"mat-icon",25),a(7,"chevron_right"),r()()}if(n&2){let e=t.$implicit,i=d(4);D("selected",i.isSelected(e)),l(2),_(e.icon||"category"),l(2),x("innerHTML",e.highlight||e.title,Ae),l(),u(e.description?5:-1)}}function Zn(n,t){if(n&1&&(o(0,"div",14)(1,"div",17)(2,"mat-icon"),a(3,"category"),r(),o(4,"span"),a(5,"Categories"),r(),o(6,"span",18),a(7),r()(),R(8,Wn,8,5,"div",19,Le),r()),n&2){let e=d(3);l(7),_(e.searchResults().categories.length),l(),A(e.searchResults().categories)}}function Kn(n,t){n&1&&h(0,"mat-divider")}function Jn(n,t){if(n&1&&(o(0,"span",27)(1,"mat-icon"),a(2,"category"),r(),a(3),r()),n&2){let e=d().$implicit;l(3),y(" ",e.category," ")}}function Xn(n,t){if(n&1&&(o(0,"mat-chip",28),a(1),r()),n&2){let e=d().$implicit,i=d(4);x("color",i.getDifficultyColor(e.difficulty)),l(),y(" ",e.difficulty," ")}}function ei(n,t){if(n&1){let e=S();o(0,"div",20),f("click",function(){let s=v(e).$implicit,m=d(4);return C(m.navigateToResult(s))}),o(1,"mat-icon",21),a(2,"quiz"),r(),o(3,"div",22),h(4,"div",23),o(5,"div",26),g(6,Jn,4,1,"span",27),g(7,Xn,2,2,"mat-chip",28),r()(),o(8,"mat-icon",25),a(9,"chevron_right"),r()()}if(n&2){let e=t.$implicit,i=d(4);D("selected",i.isSelected(e)),l(4),x("innerHTML",e.highlight||e.title,Ae),l(2),u(e.category?6:-1),l(),u(e.difficulty?7:-1)}}function ti(n,t){if(n&1&&(g(0,Kn,1,0,"mat-divider"),o(1,"div",14)(2,"div",17)(3,"mat-icon"),a(4,"quiz"),r(),o(5,"span"),a(6,"Questions"),r(),o(7,"span",18),a(8),r()(),R(9,ei,10,5,"div",19,Le),r()),n&2){let e=d(3);u(e.searchResults().categories.length>0?0:-1),l(8),_(e.searchResults().questions.length),l(),A(e.searchResults().questions)}}function ni(n,t){n&1&&h(0,"mat-divider")}function ii(n,t){if(n&1&&(o(0,"div",24),a(1),r()),n&2){let e=d().$implicit;l(),_(e.description)}}function oi(n,t){if(n&1){let e=S();o(0,"div",20),f("click",function(){let s=v(e).$implicit,m=d(4);return C(m.navigateToResult(s))}),o(1,"mat-icon",21),a(2,"assessment"),r(),o(3,"div",22)(4,"div",29),a(5),r(),g(6,ii,2,1,"div",24),r(),o(7,"mat-icon",25),a(8,"chevron_right"),r()()}if(n&2){let e=t.$implicit,i=d(4);D("selected",i.isSelected(e)),l(5),_(e.title),l(),u(e.description?6:-1)}}function ri(n,t){if(n&1&&(g(0,ni,1,0,"mat-divider"),o(1,"div",14)(2,"div",17)(3,"mat-icon"),a(4,"assessment"),r(),o(5,"span"),a(6,"Quiz History"),r(),o(7,"span",18),a(8),r()(),R(9,oi,9,4,"div",19,Le),r()),n&2){let e=d(3);u(e.searchResults().categories.length>0||e.searchResults().questions.length>0?0:-1),l(8),_(e.searchResults().quizzes.length),l(),A(e.searchResults().quizzes)}}function ai(n,t){if(n&1){let e=S();o(0,"div",11),g(1,Zn,10,1,"div",14),g(2,ti,11,2),g(3,ri,11,2),h(4,"mat-divider"),o(5,"div",15)(6,"button",16),f("click",function(){v(e);let s=d(2);return C(s.viewAllResults())}),o(7,"mat-icon"),a(8,"open_in_new"),r(),a(9),r()()()}if(n&2){let e=d(2);l(),u(e.searchResults().categories.length>0?1:-1),l(),u(e.searchResults().questions.length>0?2:-1),l(),u(e.searchResults().quizzes.length>0?3:-1),l(6),y(" See all ",e.searchResults().totalResults," results ")}}function si(n,t){if(n&1&&(o(0,"div",7),g(1,Gn,4,0,"div",9)(2,Un,10,1,"div",10)(3,ai,10,4,"div",11),r()),n&2){let e=d();l(),u(e.isSearching()?1:e.isEmptySearch()?2:e.hasResults()?3:-1)}}var Se=class n{searchService=c(Oe);router=c(M);searchInput;searchResults=this.searchService.searchResults;isSearching=this.searchService.isSearching;hasSearched=this.searchService.hasSearched;searchQuery=O("");showDropdown=O(!1);selectedIndex=O(-1);searchSubject=new Ne;flatResults=[];ngOnInit(){this.setupSearchDebounce(),this.setupClickOutside()}setupSearchDebounce(){this.searchSubject.pipe(He(500),Ve()).subscribe(t=>{t.trim().length>=2?this.searchService.search(t).subscribe(()=>{this.showDropdown.set(!0),this.updateFlatResults()}):this.clearSearch()})}setupClickOutside(){document.addEventListener("click",t=>{let e=t.target,i=document.querySelector(".search-container");i&&!i.contains(e)&&this.closeDropdown()})}onSearchInput(t){this.searchQuery.set(t),this.searchSubject.next(t),t.trim().length<2&&this.closeDropdown()}onKeyDown(t){let e=t.key;if(this.showDropdown())switch(e){case"ArrowDown":t.preventDefault(),this.navigateDown();break;case"ArrowUp":t.preventDefault(),this.navigateUp();break;case"Enter":t.preventDefault(),this.selectCurrentResult();break;case"Escape":t.preventDefault(),this.closeDropdown();break}}navigateDown(){let t=this.flatResults.length-1;this.selectedIndex()e+1),this.scrollToSelected())}navigateUp(){this.selectedIndex()>0&&(this.selectedIndex.update(t=>t-1),this.scrollToSelected())}selectCurrentResult(){let t=this.selectedIndex();t>=0&&t{let t=document.querySelector(".result-item.selected");t&&t.scrollIntoView({block:"nearest",behavior:"smooth"})},0)}updateFlatResults(){let t=this.searchResults();this.flatResults=[...t.categories,...t.questions,...t.quizzes],this.selectedIndex.set(-1)}navigateToResult(t){t.url&&(this.router.navigate([t.url]),this.closeDropdown(),this.clearSearch())}viewAllResults(){this.router.navigate(["/search"],{queryParams:{q:this.searchQuery()}}),this.closeDropdown()}clearSearch(){this.searchQuery.set(""),this.searchService.clearResults(),this.showDropdown.set(!1),this.selectedIndex.set(-1),this.flatResults=[]}closeDropdown(){this.showDropdown.set(!1),this.selectedIndex.set(-1)}focusSearch(){this.searchInput?.nativeElement.focus()}getTypeIcon(t){switch(t){case"question":return"quiz";case"category":return"category";case"quiz":return"assessment";default:return"search"}}getDifficultyColor(t){if(!t)return"";switch(t.toLowerCase()){case"easy":return"primary";case"medium":return"accent";case"hard":return"warn";default:return""}}isSelected(t){let e=this.selectedIndex();return e<0?!1:this.flatResults[e]?.id===t.id&&this.flatResults[e]?.type===t.type}hasResults(){return this.searchResults().totalResults>0}isEmptySearch(){return this.hasSearched()&&!this.hasResults()&&!this.isSearching()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-search"]],viewQuery:function(e,i){if(e&1&&st($n,5),e&2){let s;he(s=fe())&&(i.searchInput=s.first)}},decls:9,vars:3,consts:[["searchInput",""],[1,"search-container"],[1,"search-input-wrapper"],["appearance","outline",1,"search-field"],["matPrefix",""],["matInput","","type","text","placeholder","Search questions, categories, quizzes...","autocomplete","off",3,"ngModelChange","keydown","ngModel"],["mat-icon-button","","matSuffix","","aria-label","Clear search"],["role","listbox",1,"search-dropdown"],["mat-icon-button","","matSuffix","","aria-label","Clear search",3,"click"],[1,"search-loading"],[1,"search-empty"],[1,"search-results"],["diameter","40"],[1,"hint"],[1,"results-section"],[1,"see-all-link"],["mat-button","","color","primary",3,"click"],[1,"section-header"],[1,"count"],["role","option",1,"result-item",3,"selected"],["role","option",1,"result-item",3,"click"],[1,"result-icon"],[1,"result-content"],[1,"result-title",3,"innerHTML"],[1,"result-description"],[1,"navigate-icon"],[1,"result-meta"],[1,"meta-item"],[1,"difficulty-chip",3,"color"],[1,"result-title"]],template:function(e,i){if(e&1){let s=S();o(0,"div",1)(1,"div",2)(2,"mat-form-field",3)(3,"mat-icon",4),a(4,"search"),r(),o(5,"input",5,0),pt("ngModelChange",function(p){return v(s),dt(i.searchQuery,p)||(i.searchQuery=p),C(p)}),f("ngModelChange",function(p){return v(s),C(i.onSearchInput(p))})("keydown",function(p){return v(s),C(i.onKeyDown(p))}),r(),g(7,jn,3,0,"button",6),r()(),g(8,si,4,1,"div",7),r()}e&2&&(l(5),mt("ngModel",i.searchQuery),l(2),u(i.searchQuery()?7:-1),l(),u(i.showDropdown()?8:-1))},dependencies:[P,It,zt,Et,Tt,$t,Vt,Bt,Ht,Gt,jt,k,w,E,L,F,ee,be,V,H,xe,nn],styles:[".search-container[_ngcontent-%COMP%]{position:relative;width:100%;max-width:600px}@media (max-width: 768px){.search-container[_ngcontent-%COMP%]{max-width:100%}}.search-input-wrapper[_ngcontent-%COMP%]{position:relative}.search-input-wrapper[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%]{width:100%}.search-input-wrapper[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%] .mat-mdc-form-field-infix{padding:.5rem 0}.search-input-wrapper[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%] .mat-mdc-text-field-wrapper{padding:0}.search-input-wrapper[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%] input{font-size:.95rem}.search-input-wrapper[_ngcontent-%COMP%] .search-field[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper{display:none}.search-dropdown[_ngcontent-%COMP%]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--surface-color);border-radius:8px;box-shadow:0 8px 24px #00000026;max-height:500px;overflow-y:auto;z-index:1000;animation:_ngcontent-%COMP%_dropdownSlide .2s ease-out}@media (max-width: 768px){.search-dropdown[_ngcontent-%COMP%]{max-height:400px}}@keyframes _ngcontent-%COMP%_dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-dropdown[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.search-dropdown[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:transparent}.search-dropdown[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--scrollbar-color);border-radius:3px}.search-dropdown[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover-color)}.search-loading[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:1rem}.search-loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.95rem;color:var(--text-secondary)}.search-empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:.75rem;text-align:center}.search-empty[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:3rem;width:3rem;height:3rem;color:var(--text-disabled)}.search-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.95rem;color:var(--text-primary)}.search-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--primary-color)}.search-empty[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary)}.search-results[_ngcontent-%COMP%], .results-section[_ngcontent-%COMP%]{padding:.5rem 0}.results-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.results-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}.results-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin-left:auto;padding:.125rem .5rem;background-color:var(--chip-background);border-radius:12px;font-size:.75rem}.result-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s ease}.result-item[_ngcontent-%COMP%]:hover, .result-item.selected[_ngcontent-%COMP%]{background-color:var(--hover-background)}.result-item.selected[_ngcontent-%COMP%]{border-left:3px solid var(--primary-color);padding-left:calc(1rem - 3px)}.result-item[_ngcontent-%COMP%] .result-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:1.5rem;width:1.5rem;height:1.5rem;color:var(--icon-color)}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%]{flex:1;min-width:0}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%] .result-title[_ngcontent-%COMP%]{font-size:.95rem;font-weight:500;color:var(--text-primary);line-height:1.4;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%] .result-title[_ngcontent-%COMP%] mark{background-color:var(--highlight-background);color:var(--highlight-text);padding:.125rem .25rem;border-radius:3px;font-weight:600}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%] .result-description[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary);line-height:1.4;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%] .result-meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%] .result-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--text-secondary)}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%] .result-meta[_ngcontent-%COMP%] .meta-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%] .result-meta[_ngcontent-%COMP%] .difficulty-chip[_ngcontent-%COMP%]{height:20px;font-size:.75rem;padding:0 .5rem}.result-item[_ngcontent-%COMP%] .result-content[_ngcontent-%COMP%] .result-meta[_ngcontent-%COMP%] .difficulty-chip[_ngcontent-%COMP%] .mdc-evolution-chip__action--primary{padding:0 .5rem}.result-item[_ngcontent-%COMP%] .navigate-icon[_ngcontent-%COMP%]{flex-shrink:0;font-size:1.25rem;width:1.25rem;height:1.25rem;color:var(--text-disabled)}.see-all-link[_ngcontent-%COMP%]{padding:.5rem 1rem;text-align:center}.see-all-link[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%;justify-content:center}.see-all-link[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:.5rem}@media (prefers-color-scheme: dark){.search-container[_ngcontent-%COMP%]{--surface-color: #1e1e1e;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-disabled: #606060;--primary-color: #2196f3;--icon-color: #90caf9;--hover-background: rgba(255, 255, 255, .08);--chip-background: rgba(255, 255, 255, .1);--highlight-background: rgba(33, 150, 243, .3);--highlight-text: #ffffff;--scrollbar-color: rgba(255, 255, 255, .2);--scrollbar-hover-color: rgba(255, 255, 255, .3)}}@media (prefers-color-scheme: light){.search-container[_ngcontent-%COMP%]{--surface-color: #ffffff;--text-primary: #212121;--text-secondary: #757575;--text-disabled: #bdbdbd;--primary-color: #1976d2;--icon-color: #1976d2;--hover-background: rgba(0, 0, 0, .04);--chip-background: rgba(0, 0, 0, .08);--highlight-background: rgba(33, 150, 243, .2);--highlight-text: #0d47a1;--scrollbar-color: rgba(0, 0, 0, .2);--scrollbar-hover-color: rgba(0, 0, 0, .3)}}@media (prefers-reduced-motion: reduce){.search-dropdown[_ngcontent-%COMP%]{animation:none}.result-item[_ngcontent-%COMP%]{transition:none}}.search-field[_ngcontent-%COMP%] input:focus{outline:none}.result-item[_ngcontent-%COMP%]:focus{outline:2px solid var(--primary-color);outline-offset:-2px}"]})};function li(n,t){n&1&&(o(0,"mat-icon"),a(1,"dark_mode"),r())}function ci(n,t){n&1&&(o(0,"mat-icon"),a(1,"light_mode"),r())}function mi(n,t){if(n&1){let e=S();o(0,"div",10)(1,"mat-icon"),a(2,"visibility"),r(),o(3,"span"),a(4,"Guest Mode"),r()(),o(5,"button",11),f("click",function(){v(e);let s=d();return C(s.register())}),a(6," Sign Up "),r()}}function di(n,t){n&1&&(h(0,"mat-divider"),o(1,"button",19)(2,"mat-icon"),a(3,"admin_panel_settings"),r(),o(4,"span"),a(5,"Admin Panel"),r()())}function pi(n,t){if(n&1){let e=S();o(0,"button",12)(1,"mat-icon"),a(2,"account_circle"),r()(),o(3,"mat-menu",13,0)(5,"div",14)(6,"mat-icon"),a(7,"person"),r(),o(8,"div",15)(9,"span",16),a(10),r(),o(11,"span",17),a(12),r()()(),h(13,"mat-divider"),o(14,"button",18),f("click",function(){v(e);let s=d();return C(s.goToDashboard())}),o(15,"mat-icon"),a(16,"dashboard"),r(),o(17,"span"),a(18,"Dashboard"),r()(),o(19,"button",18),f("click",function(){v(e);let s=d();return C(s.goToProfile())}),o(20,"mat-icon"),a(21,"person"),r(),o(22,"span"),a(23,"Profile"),r()(),o(24,"button",18),f("click",function(){v(e);let s=d();return C(s.goToSettings())}),o(25,"mat-icon"),a(26,"settings"),r(),o(27,"span"),a(28,"Settings"),r()(),g(29,di,6,0),h(30,"mat-divider"),o(31,"button",18),f("click",function(){v(e);let s=d();return C(s.logout())}),o(32,"mat-icon"),a(33,"logout"),r(),o(34,"span"),a(35,"Logout"),r()()()}if(n&2){let e=lt(4),i=d();x("matMenuTriggerFor",e),l(10),_(i.currentUser==null?null:i.currentUser.username),l(2),_(i.currentUser==null?null:i.currentUser.email),l(17),u((i.currentUser==null?null:i.currentUser.role)==="admin"?29:-1)}}function gi(n,t){if(n&1){let e=S();o(0,"button",20),f("click",function(){v(e);let s=d();return C(s.login())}),a(1," Login "),r(),o(2,"button",11),f("click",function(){v(e);let s=d();return C(s.register())}),a(3," Sign Up "),r()}}var we=class n{themeService=c(Yt);authService=c(q);guestService=c($);quizService=c(on);router=c(M);dialog=c(dn);hasCheckedForIncompleteSession=!1;menuToggle=ut();theme=this.themeService.theme;authState=this.authService.authState;guestState=this.guestService.guestState;isLoggingOut=O(!1);get currentUser(){return this.authState().user}get isAuthenticated(){return this.authState().isAuthenticated}get isGuest(){return this.guestState().isGuest&&!this.isAuthenticated}ngOnInit(){this.router.events.pipe(se(t=>t instanceof Z)).subscribe(()=>{!this.hasCheckedForIncompleteSession&&!this.router.url.includes("/quiz/")&&(this.checkForIncompleteSession(),this.hasCheckedForIncompleteSession=!0)}),this.router.url.includes("/quiz/")||(this.checkForIncompleteSession(),this.hasCheckedForIncompleteSession=!0)}checkForIncompleteSession(){let t=this.quizService.checkIncompleteSession();t&&this.quizService.restoreSession(t).subscribe({next:({session:e})=>{e.status==="in_progress"&&this.showResumeDialog(e)},error:()=>{console.log("Incomplete session check: Session not found or expired")}})}showResumeDialog(t){this.dialog.open(Pe,{width:"600px",maxWidth:"95vw",disableClose:!1,data:{session:t}}).afterClosed().subscribe(i=>{i?.action==="new"&&this.quizService.clearSession()})}toggleTheme(){this.themeService.toggleTheme()}onMenuToggle(){this.menuToggle.emit()}goToProfile(){this.router.navigate(["/profile"])}goToDashboard(){this.router.navigate(["/dashboard"])}goToSettings(){this.router.navigate(["/settings"])}logout(){this.dialog.open(hn,{width:"400px",data:{title:"Logout Confirmation",message:"Are you sure you want to logout?",confirmText:"Logout",cancelText:"Cancel",confirmColor:"warn"}}).afterClosed().subscribe(e=>{e&&(this.isLoggingOut.set(!0),this.authService.logout().subscribe({next:()=>{this.isLoggingOut.set(!1)},error:()=>{this.isLoggingOut.set(!1)}}))})}login(){this.router.navigate(["/login"])}register(){this.router.navigate(["/register"])}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-header"]],outputs:{menuToggle:"menuToggle"},decls:19,vars:5,consts:[["userMenu","matMenu"],["color","primary",1,"header"],[1,"header-container"],["mat-icon-button","","aria-label","Toggle menu",1,"menu-toggle","mobile-only",3,"click"],["routerLink","/",1,"logo"],[1,"logo-icon"],[1,"logo-text"],[1,"search-wrapper","desktop-only"],[1,"spacer"],["mat-icon-button","","aria-label","Toggle theme",3,"click","matTooltip"],[1,"guest-badge"],["mat-raised-button","","color","accent",3,"click"],["mat-icon-button","","aria-label","User menu",3,"matMenuTriggerFor"],["xPosition","before"],[1,"user-menu-header"],[1,"user-info"],[1,"username"],[1,"email"],["mat-menu-item","",3,"click"],["mat-menu-item","","routerLink","/admin"],["mat-button","",3,"click"]],template:function(e,i){e&1&&(o(0,"mat-toolbar",1)(1,"div",2)(2,"button",3),f("click",function(){return i.onMenuToggle()}),o(3,"mat-icon"),a(4,"menu"),r()(),o(5,"div",4)(6,"mat-icon",5),a(7,"quiz"),r(),o(8,"span",6),a(9,"Interview Quiz"),r()(),o(10,"div",7),h(11,"app-search"),r(),h(12,"div",8),o(13,"button",9),f("click",function(){return i.toggleTheme()}),g(14,li,2,0,"mat-icon")(15,ci,2,0,"mat-icon"),r(),g(16,mi,7,0),g(17,pi,36,4),g(18,gi,4,0),r()()),e&2&&(l(13),x("matTooltip",i.theme()==="light"?"Switch to dark mode":"Switch to light mode"),l(),u(i.theme()==="light"?14:15),l(2),u(i.isGuest?16:-1),l(),u(i.isAuthenticated?17:-1),l(),u(!i.isAuthenticated&&!i.isGuest?18:-1))},dependencies:[P,J,K,Pn,yn,E,L,F,k,w,ln,an,rn,sn,oe,ie,V,H,Me,ee,xe,Se],styles:[".header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;right:0;z-index:var(--z-fixed);box-shadow:var(--shadow-md)}.header-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-md);width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md);height:var(--header-height)}@media (min-width: 768px){.header-container[_ngcontent-%COMP%]{padding:0 var(--spacing-lg)}}.menu-toggle[_ngcontent-%COMP%]{margin-right:var(--spacing-sm)}.logo[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:transform var(--transition-fast)}.logo[_ngcontent-%COMP%]:hover{transform:scale(1.05)}.logo[_ngcontent-%COMP%]:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:var(--radius-sm)}.logo-icon[_ngcontent-%COMP%]{font-size:28px;width:28px;height:28px}.logo-text[_ngcontent-%COMP%]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}@media (max-width: 480px){.logo-text[_ngcontent-%COMP%]{display:none}}.search-wrapper[_ngcontent-%COMP%]{flex:1;max-width:600px;margin:0 var(--spacing-lg)}@media (max-width: 1024px){.search-wrapper[_ngcontent-%COMP%]{max-width:400px;margin:0 var(--spacing-md)}}.spacer[_ngcontent-%COMP%]{flex:1}.guest-badge[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:#ffffff26;border-radius:var(--radius-full);font-size:var(--font-size-sm)}.guest-badge[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}@media (max-width: 480px){.guest-badge[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:none}}.user-menu-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-surface)}.user-menu-header[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:40px;width:40px;height:40px;color:var(--color-primary)}.user-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-info[_ngcontent-%COMP%] .username[_ngcontent-%COMP%]{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.user-info[_ngcontent-%COMP%] .email[_ngcontent-%COMP%]{font-size:var(--font-size-sm);color:var(--color-text-secondary)} .mat-mdc-menu-panel{min-width:250px!important} .mat-mdc-menu-item{display:flex!important;align-items:center!important;gap:var(--spacing-sm)!important} .mat-mdc-menu-item mat-icon{margin-right:0!important}"]})};var kn="mat-badge-content",ui=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275cmp=b({type:n,selectors:[["ng-component"]],decls:0,vars:0,template:function(i,s){},styles:[`.mat-badge{position:relative}.mat-badge.mat-badge{overflow:visible}.mat-badge-content{position:absolute;text-align:center;display:inline-block;transition:transform 200ms ease-in-out;transform:scale(0.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;pointer-events:none;background-color:var(--mat-badge-background-color, var(--mat-sys-error));color:var(--mat-badge-text-color, var(--mat-sys-on-error));font-family:var(--mat-badge-text-font, var(--mat-sys-label-small-font));font-weight:var(--mat-badge-text-weight, var(--mat-sys-label-small-weight));border-radius:var(--mat-badge-container-shape, var(--mat-sys-corner-full))}.mat-badge-above .mat-badge-content{bottom:100%}.mat-badge-below .mat-badge-content{top:100%}.mat-badge-before .mat-badge-content{right:100%}[dir=rtl] .mat-badge-before .mat-badge-content{right:auto;left:100%}.mat-badge-after .mat-badge-content{left:100%}[dir=rtl] .mat-badge-after .mat-badge-content{left:auto;right:100%}@media(forced-colors: active){.mat-badge-content{outline:solid 1px;border-radius:0}}.mat-badge-disabled .mat-badge-content{background-color:var(--mat-badge-disabled-state-background-color, color-mix(in srgb, var(--mat-sys-error) 38%, transparent));color:var(--mat-badge-disabled-state-text-color, var(--mat-sys-on-error))}.mat-badge-hidden .mat-badge-content{display:none}.ng-animate-disabled .mat-badge-content,.mat-badge-content._mat-animation-noopable{transition:none}.mat-badge-content.mat-badge-active{transform:none}.mat-badge-small .mat-badge-content{width:var(--mat-badge-legacy-small-size-container-size, unset);height:var(--mat-badge-legacy-small-size-container-size, unset);min-width:var(--mat-badge-small-size-container-size, 6px);min-height:var(--mat-badge-small-size-container-size, 6px);line-height:var(--mat-badge-small-size-line-height, 6px);padding:var(--mat-badge-small-size-container-padding, 0);font-size:var(--mat-badge-small-size-text-size, 0);margin:var(--mat-badge-small-size-container-offset, -6px 0)}.mat-badge-small.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-small-size-container-overlap-offset, -6px)}.mat-badge-medium .mat-badge-content{width:var(--mat-badge-legacy-container-size, unset);height:var(--mat-badge-legacy-container-size, unset);min-width:var(--mat-badge-container-size, 16px);min-height:var(--mat-badge-container-size, 16px);line-height:var(--mat-badge-line-height, 16px);padding:var(--mat-badge-container-padding, 0 4px);font-size:var(--mat-badge-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-container-offset, -12px 0)}.mat-badge-medium.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-container-overlap-offset, -12px)}.mat-badge-large .mat-badge-content{width:var(--mat-badge-legacy-large-size-container-size, unset);height:var(--mat-badge-legacy-large-size-container-size, unset);min-width:var(--mat-badge-large-size-container-size, 16px);min-height:var(--mat-badge-large-size-container-size, 16px);line-height:var(--mat-badge-large-size-line-height, 16px);padding:var(--mat-badge-large-size-container-padding, 0 4px);font-size:var(--mat-badge-large-size-text-size, var(--mat-sys-label-small-size));margin:var(--mat-badge-large-size-container-offset, -12px 0)}.mat-badge-large.mat-badge-overlap .mat-badge-content{margin:var(--mat-badge-large-size-container-overlap-offset, -12px)} +`],encapsulation:2,changeDetection:0})}return n})(),zn=(()=>{class n{_ngZone=c(pe);_elementRef=c(de);_ariaDescriber=c(Lt);_renderer=c(nt);_animationsDisabled=Nt();_idGenerator=c(Ft);get color(){return this._color}set color(e){this._setColor(e),this._color=e}_color="primary";overlap=!0;disabled;position="above after";get content(){return this._content}set content(e){this._updateRenderedContent(e)}_content;get description(){return this._description}set description(e){this._updateDescription(e)}_description;size="medium";hidden;_badgeElement;_inlineBadgeDescription;_isInitialized=!1;_interactivityChecker=c(qt);_document=c(W);constructor(){let e=c(At);e.load(ui),e.load(Dt)}isAbove(){return this.position.indexOf("below")===-1}isAfter(){return this.position.indexOf("before")===-1}getBadgeElement(){return this._badgeElement}ngOnInit(){this._clearExistingBadges(),this.content&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement(),this._updateRenderedContent(this.content)),this._isInitialized=!0}ngOnDestroy(){this._renderer.destroyNode&&(this._renderer.destroyNode(this._badgeElement),this._inlineBadgeDescription?.remove()),this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description)}_isHostInteractive(){return this._interactivityChecker.isFocusable(this._elementRef.nativeElement,{ignoreVisibility:!0})}_createBadgeElement(){let e=this._renderer.createElement("span"),i="mat-badge-active";return e.setAttribute("id",this._idGenerator.getId("mat-badge-content-")),e.setAttribute("aria-hidden","true"),e.classList.add(kn),this._animationsDisabled&&e.classList.add("_mat-animation-noopable"),this._elementRef.nativeElement.appendChild(e),typeof requestAnimationFrame=="function"&&!this._animationsDisabled?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{e.classList.add(i)})}):e.classList.add(i),e}_updateRenderedContent(e){let i=`${e??""}`.trim();this._isInitialized&&i&&!this._badgeElement&&(this._badgeElement=this._createBadgeElement()),this._badgeElement&&(this._badgeElement.textContent=i),this._content=i}_updateDescription(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this.description),(!e||this._isHostInteractive())&&this._removeInlineDescription(),this._description=e,this._isHostInteractive()?this._ariaDescriber.describe(this._elementRef.nativeElement,e):this._updateInlineDescription()}_updateInlineDescription(){this._inlineBadgeDescription||(this._inlineBadgeDescription=this._document.createElement("span"),this._inlineBadgeDescription.classList.add("cdk-visually-hidden")),this._inlineBadgeDescription.textContent=this.description,this._badgeElement?.appendChild(this._inlineBadgeDescription)}_removeInlineDescription(){this._inlineBadgeDescription?.remove(),this._inlineBadgeDescription=void 0}_setColor(e){let i=this._elementRef.nativeElement.classList;i.remove(`mat-badge-${this._color}`),e&&i.add(`mat-badge-${e}`)}_clearExistingBadges(){let e=this._elementRef.nativeElement.querySelectorAll(`:scope > .${kn}`);for(let i of Array.from(e))i!==this._badgeElement&&i.remove()}static \u0275fac=function(i){return new(i||n)};static \u0275dir=ue({type:n,selectors:[["","matBadge",""]],hostAttrs:[1,"mat-badge"],hostVars:20,hostBindings:function(i,s){i&2&&D("mat-badge-overlap",s.overlap)("mat-badge-above",s.isAbove())("mat-badge-below",!s.isAbove())("mat-badge-before",!s.isAfter())("mat-badge-after",s.isAfter())("mat-badge-small",s.size==="small")("mat-badge-medium",s.size==="medium")("mat-badge-large",s.size==="large")("mat-badge-hidden",s.hidden||!s.content)("mat-badge-disabled",s.disabled)},inputs:{color:[0,"matBadgeColor","color"],overlap:[2,"matBadgeOverlap","overlap",ve],disabled:[2,"matBadgeDisabled","disabled",ve],position:[0,"matBadgePosition","position"],content:[0,"matBadge","content"],description:[0,"matBadgeDescription","description"],size:[0,"matBadgeSize","size"],hidden:[2,"matBadgeHidden","hidden",ve]}})}return n})(),En=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=ge({type:n});static \u0275inj=me({imports:[Qt,X,X]})}return n})();var fi=(n,t)=>t.route;function _i(n,t){n&1&&h(0,"mat-divider")}function vi(n,t){if(n&1&&(o(0,"a",3)(1,"mat-icon",4),a(2),r(),o(3,"span",5),a(4),r()(),g(5,_i,1,0,"mat-divider")),n&2){let e=d().$implicit,i=d();D("active",i.isActiveRoute(e.route)),x("routerLink",e.route)("matTooltip",e.label)("matTooltipDisabled",i.isOpen()),l(),x("matBadge",e.badge),l(),y(" ",e.icon," "),l(2),_(e.label),l(),u(e.dividerAfter?5:-1)}}function Ci(n,t){if(n&1&&g(0,vi,6,9),n&2){let e=t.$implicit,i=d();u(i.shouldShowItem(e)?0:-1)}}function bi(n,t){n&1&&(o(0,"div",2),h(1,"mat-divider"),o(2,"div",6)(3,"mat-icon"),a(4,"info"),r(),o(5,"p"),a(6,"Sign up for full access"),r(),o(7,"button",7),a(8," Create Account "),r()()())}var ke=class n{storageService=c(B);router=c(M);isOpen=ht(!1);currentRoute="";constructor(){this.router.events.pipe(se(t=>t instanceof Z)).subscribe(t=>{this.currentRoute=t.urlAfterRedirects})}navItems=[{label:"Home",icon:"home",route:"/"},{label:"Dashboard",icon:"dashboard",route:"/dashboard",requiresAuth:!0,dividerAfter:!0},{label:"Categories",icon:"category",route:"/categories"},{label:"Start Quiz",icon:"play_circle",route:"/quiz/setup"},{label:"Quiz History",icon:"history",route:"/history",requiresAuth:!0},{label:"Bookmarks",icon:"bookmark",route:"/bookmarks",requiresAuth:!0,dividerAfter:!0},{label:"Profile",icon:"person",route:"/profile",requiresAuth:!0},{label:"Settings",icon:"settings",route:"/settings",requiresAuth:!0,dividerAfter:!0},{label:"Admin Panel",icon:"admin_panel_settings",route:"/admin",requiresAdmin:!0},{label:"Manage Categories",icon:"category",route:"/admin/categories",requiresAdmin:!0},{label:"User Management",icon:"people",route:"/admin/users",requiresAdmin:!0},{label:"Questions",icon:"quiz",route:"/admin/questions",requiresAdmin:!0},{label:"Analytics",icon:"analytics",route:"/admin/analytics",requiresAdmin:!0}];get currentUser(){return this.storageService.getUserData()}get isAuthenticated(){return this.storageService.isAuthenticated()}get isAdmin(){return this.currentUser?.role==="admin"}shouldShowItem(t){return!(t.requiresAdmin&&!this.isAdmin||t.requiresAuth&&!this.isAuthenticated)}isActiveRoute(t){return t==="/"?this.currentRoute==="/":this.currentRoute.startsWith(t)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-sidebar"]],inputs:{isOpen:[1,"isOpen"]},decls:6,vars:3,consts:[[1,"sidebar"],[1,"sidebar-nav"],[1,"guest-section"],["mat-list-item","","matTooltipPosition","right",3,"routerLink","matTooltip","matTooltipDisabled"],["matListItemIcon","","matBadgeColor","accent",3,"matBadge"],["matListItemTitle","",1,"nav-label"],[1,"guest-prompt"],["mat-raised-button","","color","primary","routerLink","/register"]],template:function(e,i){e&1&&(o(0,"aside",0)(1,"nav",1)(2,"mat-nav-list"),R(3,Ci,1,1,null,null,fi),r(),g(5,bi,9,0,"div",2),r()()),e&2&&(D("open",i.isOpen()),l(3),A(i.navItems),l(2),u(i.isAuthenticated?-1:5))},dependencies:[P,J,K,tn,en,Xt,Jt,H,Kt,k,w,oe,ie,V,En,zn],styles:[".sidebar[_ngcontent-%COMP%]{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);background-color:var(--color-surface-elevated);border-right:1px solid var(--color-border);overflow-y:auto;overflow-x:hidden;z-index:var(--z-sticky);transition:transform var(--transition-base)}@media (max-width: 1023px){.sidebar[_ngcontent-%COMP%]{transform:translate(-100%);box-shadow:var(--shadow-xl)}.sidebar.open[_ngcontent-%COMP%]{transform:translate(0)}}@media (min-width: 1024px){.sidebar[_ngcontent-%COMP%]{transform:translate(0)}}.sidebar[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}.sidebar[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:transparent}.sidebar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.sidebar[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:var(--color-text-disabled)}.sidebar-nav[_ngcontent-%COMP%]{padding:var(--spacing-md) 0}.sidebar-nav[_ngcontent-%COMP%] .mat-mdc-list{padding:0}.sidebar-nav[_ngcontent-%COMP%] .mat-mdc-list-item{height:56px;padding:0 var(--spacing-lg);margin:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);transition:background-color var(--transition-fast),transform var(--transition-fast);color:var(--color-text-secondary)}.sidebar-nav[_ngcontent-%COMP%] .mat-mdc-list-item:hover{background-color:var(--color-surface);transform:translate(4px)}.sidebar-nav[_ngcontent-%COMP%] .mat-mdc-list-item.active{background-color:var(--color-primary-lighter);color:var(--color-primary);font-weight:var(--font-weight-medium)}.sidebar-nav[_ngcontent-%COMP%] .mat-mdc-list-item.active mat-icon{color:var(--color-primary)}.sidebar-nav[_ngcontent-%COMP%] .mat-mdc-list-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.sidebar-nav[_ngcontent-%COMP%] .mat-mdc-list-item-icon{margin-right:var(--spacing-md);color:inherit}.sidebar-nav[_ngcontent-%COMP%] .mat-mdc-list-item-title{font-size:var(--font-size-base);color:inherit}.sidebar-nav[_ngcontent-%COMP%] mat-divider[_ngcontent-%COMP%]{margin:var(--spacing-md) var(--spacing-lg);background-color:var(--color-divider)}@media (max-width: 1023px){.nav-label[_ngcontent-%COMP%]{display:inline}}.guest-section[_ngcontent-%COMP%]{margin-top:auto;padding-top:var(--spacing-lg)}.guest-prompt[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);margin:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-lg);text-align:center}.guest-prompt[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:var(--color-primary)}.guest-prompt[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.guest-prompt[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%} .mat-badge-content{font-size:10px;font-weight:var(--font-weight-semibold)}"]})};var Tn=(n,t)=>t.label;function xi(n,t){if(n&1&&(o(0,"a",9)(1,"mat-icon"),a(2),r()()),n&2){let e=t.$implicit;x("href",e.url,Xe),ot("aria-label",e.label),l(2),_(e.icon)}}function Mi(n,t){n&1&&(o(0,"span",31),a(1,"\u2022"),r())}function yi(n,t){if(n&1&&(o(0,"a",30),a(1),r(),g(2,Mi,2,0,"span",31)),n&2){let e=t.$implicit,i=t.$index,s=t.$count;x("routerLink",e.route),l(),y(" ",e.label," "),l(),u(i!==s-1?2:-1)}}var ze=class n{currentYear=new Date().getFullYear();appVersion="1.0.0";socialLinks=[{icon:"public",label:"Website",url:"https://yourdomain.com"},{icon:"alternate_email",label:"Twitter",url:"https://twitter.com/yourapp"},{icon:"alternate_email",label:"LinkedIn",url:"https://linkedin.com/company/yourapp"},{icon:"code",label:"GitHub",url:"https://github.com/yourorg/yourapp"}];footerLinks=[{label:"About",route:"/about"},{label:"Help",route:"/help"},{label:"Privacy Policy",route:"/privacy"},{label:"Terms of Service",route:"/terms"},{label:"Contact",route:"/contact"}];static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-footer"]],decls:60,vars:2,consts:[[1,"footer"],[1,"footer-container"],[1,"footer-top"],[1,"footer-section","brand-section"],[1,"brand"],[1,"brand-icon"],[1,"brand-name"],[1,"brand-description"],[1,"social-links"],["target","_blank","rel","noopener noreferrer","mat-icon-button","",3,"href"],[1,"footer-section"],[1,"footer-heading"],[1,"footer-nav"],["routerLink","/categories",1,"footer-link"],["routerLink","/dashboard",1,"footer-link"],["routerLink","/history",1,"footer-link"],["routerLink","/bookmarks",1,"footer-link"],["routerLink","/about",1,"footer-link"],["routerLink","/help",1,"footer-link"],["routerLink","/faq",1,"footer-link"],["routerLink","/contact",1,"footer-link"],["routerLink","/privacy",1,"footer-link"],["routerLink","/terms",1,"footer-link"],["routerLink","/cookies",1,"footer-link"],["routerLink","/accessibility",1,"footer-link"],[1,"footer-divider"],[1,"footer-bottom"],[1,"copyright"],[1,"version"],[1,"footer-bottom-links"],[1,"footer-bottom-link",3,"routerLink"],[1,"separator"]],template:function(e,i){e&1&&(o(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4)(5,"mat-icon",5),a(6,"quiz"),r(),o(7,"span",6),a(8,"Interview Quiz"),r()(),o(9,"p",7),a(10," Master your interview skills with interactive quizzes and comprehensive practice tests. "),r(),o(11,"div",8),R(12,xi,3,3,"a",9,Tn),r()(),o(14,"div",10)(15,"h3",11),a(16,"Quick Links"),r(),o(17,"nav",12)(18,"a",13),a(19,"Browse Categories"),r(),o(20,"a",14),a(21,"Dashboard"),r(),o(22,"a",15),a(23,"Quiz History"),r(),o(24,"a",16),a(25,"Bookmarks"),r()()(),o(26,"div",10)(27,"h3",11),a(28,"Resources"),r(),o(29,"nav",12)(30,"a",17),a(31,"About Us"),r(),o(32,"a",18),a(33,"Help Center"),r(),o(34,"a",19),a(35,"FAQ"),r(),o(36,"a",20),a(37,"Contact"),r()()(),o(38,"div",10)(39,"h3",11),a(40,"Legal"),r(),o(41,"nav",12)(42,"a",21),a(43,"Privacy Policy"),r(),o(44,"a",22),a(45,"Terms of Service"),r(),o(46,"a",23),a(47,"Cookie Policy"),r(),o(48,"a",24),a(49,"Accessibility"),r()()()(),h(50,"mat-divider",25),o(51,"div",26)(52,"div",27)(53,"p"),a(54),r(),o(55,"p",28),a(56),r()(),o(57,"nav",29),R(58,yi,3,3,null,null,Tn),r()()()()),e&2&&(l(12),A(i.socialLinks),l(42),y("\xA9 ",i.currentYear," Interview Quiz. All rights reserved."),l(2),y("Version ",i.appVersion),l(2),A(i.footerLinks))},dependencies:[P,J,K,k,w,E,F,V,H],styles:[".footer[_ngcontent-%COMP%]{background-color:var(--color-surface);border-top:1px solid var(--color-border);margin-top:auto;padding:var(--spacing-2xl) 0 var(--spacing-lg)}@media (max-width: 767px){.footer[_ngcontent-%COMP%]{padding:var(--spacing-xl) 0 var(--spacing-md)}}.footer-container[_ngcontent-%COMP%]{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-lg)}@media (max-width: 767px){.footer-container[_ngcontent-%COMP%]{padding:0 var(--spacing-md)}}.footer-top[_ngcontent-%COMP%]{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:var(--spacing-2xl);margin-bottom:var(--spacing-xl)}@media (max-width: 1023px){.footer-top[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}}@media (max-width: 767px){.footer-top[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:var(--spacing-lg)}}.footer-section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacing-md)}.brand-section[_ngcontent-%COMP%] .brand[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.brand-section[_ngcontent-%COMP%] .brand[_ngcontent-%COMP%] .brand-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px;color:var(--color-primary)}.brand-section[_ngcontent-%COMP%] .brand[_ngcontent-%COMP%] .brand-name[_ngcontent-%COMP%]{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.brand-section[_ngcontent-%COMP%] .brand-description[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.social-links[_ngcontent-%COMP%]{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.social-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--color-text-secondary);transition:color var(--transition-fast),transform var(--transition-fast)}.social-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:var(--color-primary);transform:translateY(-2px)}.social-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.footer-heading[_ngcontent-%COMP%]{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.footer-nav[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-link[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast),padding-left var(--transition-fast)}.footer-link[_ngcontent-%COMP%]:hover{color:var(--color-primary);padding-left:var(--spacing-xs)}.footer-link[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.footer-divider[_ngcontent-%COMP%]{margin:var(--spacing-xl) 0;background-color:var(--color-divider)}.footer-bottom[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}@media (max-width: 767px){.footer-bottom[_ngcontent-%COMP%]{flex-direction:column;align-items:center;text-align:center}}.copyright[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.copyright[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.copyright[_ngcontent-%COMP%] .version[_ngcontent-%COMP%]{font-size:var(--font-size-xs);color:var(--color-text-disabled)}.footer-bottom-links[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}@media (max-width: 767px){.footer-bottom-links[_ngcontent-%COMP%]{justify-content:center}}.footer-bottom-link[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.footer-bottom-link[_ngcontent-%COMP%]:hover{color:var(--color-primary)}.footer-bottom-link[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.separator[_ngcontent-%COMP%]{color:var(--color-text-disabled);-webkit-user-select:none;user-select:none}"]})};var Ee=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-loading"]],decls:9,vars:0,consts:[[1,"app-loading-container"],[1,"app-loading-content"],[1,"app-logo"],["diameter","50"]],template:function(e,i){e&1&&(o(0,"div",0)(1,"div",1)(2,"mat-icon",2),a(3,"quiz"),r(),o(4,"h1"),a(5,"Interview Quiz"),r(),h(6,"mat-spinner",3),o(7,"p"),a(8,"Loading application..."),r()()())},dependencies:[P,ee,be,k,w],styles:[".app-loading-container[_ngcontent-%COMP%]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--surface-color);z-index:9999}.app-loading-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:1.5rem;animation:_ngcontent-%COMP%_fadeIn .3s ease-in}.app-loading-content[_ngcontent-%COMP%] .app-logo[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px;color:var(--primary-color);animation:_ngcontent-%COMP%_pulse 2s infinite}.app-loading-content[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:2rem;font-weight:500;color:var(--text-primary)}.app-loading-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;color:var(--text-secondary);font-size:.875rem}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}"]})};function Pi(n,t){if(n&1&&(o(0,"span",7)(1,"mat-icon"),a(2,"quiz"),r(),a(3),r()),n&2){let e=d();x("matTooltip",e.quizText()),l(3),y(" ",e.quizText()," ")}}function Oi(n,t){if(n&1&&(o(0,"span",8)(1,"mat-icon"),a(2,"schedule"),r(),a(3),r()),n&2){let e=d();l(3),y(" ",e.timeRemaining," ")}}function Si(n,t){if(n&1&&h(0,"mat-progress-bar",12),n&2){let e=d();x("value",e.quizProgress())}}var Te=class n{guestService=c($);router=c(M);guestState=this.guestService.guestState;timeRemaining="";timerInterval;quizProgress=N(()=>{let t=this.guestState().quizLimit;return t?t.quizzesTaken/t.maxQuizzes*100:0});quizText=N(()=>{let t=this.guestState().quizLimit;return t?`${t.quizzesRemaining} of ${t.maxQuizzes} quizzes remaining`:""});ngOnInit(){this.guestService.getQuizLimit().subscribe(),this.updateTimeRemaining(),this.timerInterval=window.setInterval(()=>{this.updateTimeRemaining()},6e4)}ngOnDestroy(){this.timerInterval&&clearInterval(this.timerInterval)}updateTimeRemaining(){this.timeRemaining=this.guestService.getTimeRemaining()}navigateToRegister(){this.router.navigate(["/register"])}dismissBanner(){}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-guest-banner"]],decls:20,vars:3,consts:[[1,"guest-banner"],[1,"banner-content"],[1,"banner-left"],[1,"guest-icon"],[1,"session-info"],[1,"guest-label"],[1,"stats"],[1,"quiz-count",3,"matTooltip"],["matTooltip","Session expires after this time",1,"time-remaining"],[1,"banner-right"],[1,"upgrade-message"],["mat-raised-button","","color","primary",1,"signup-button",3,"click"],["mode","determinate",1,"quiz-progress",3,"value"]],template:function(e,i){e&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"mat-icon",3),a(4,"visibility"),r(),o(5,"div",4)(6,"span",5),a(7,"Guest Mode"),r(),o(8,"div",6),g(9,Pi,4,2,"span",7),g(10,Oi,4,1,"span",8),r()()(),o(11,"div",9)(12,"div",10)(13,"mat-icon"),a(14,"stars"),r(),o(15,"span"),a(16,"Sign Up for Full Access"),r()(),o(17,"button",11),f("click",function(){return i.navigateToRegister()}),a(18," Sign Up Now "),r()()(),g(19,Si,1,1,"mat-progress-bar",12),r()),e&2&&(l(9),u(i.guestState().quizLimit?9:-1),l(),u(i.timeRemaining?10:-1),l(9),u(i.guestState().quizLimit?19:-1))},dependencies:[P,k,w,E,L,ne,te,oe,ie],styles:[".guest-banner[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--accent-color) 0%,var(--primary-color) 100%);color:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:64px;z-index:100}.guest-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;gap:1rem}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;flex:1}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .guest-icon[_ngcontent-%COMP%]{font-size:32px;width:32px;height:32px}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .guest-label[_ngcontent-%COMP%]{font-weight:600;font-size:1rem}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .stats[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.5rem;font-size:.875rem;opacity:.95}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .stats[_ngcontent-%COMP%] .quiz-count[_ngcontent-%COMP%], .guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .stats[_ngcontent-%COMP%] .time-remaining[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .stats[_ngcontent-%COMP%] .quiz-count[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .stats[_ngcontent-%COMP%] .time-remaining[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%] .upgrade-message[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-weight:500}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%] .upgrade-message[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:20px;width:20px;height:20px}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%] .signup-button[_ngcontent-%COMP%]{background-color:#fff!important;color:var(--primary-color)!important;font-weight:600}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%] .signup-button[_ngcontent-%COMP%]:hover{background-color:#ffffffe6!important}.guest-banner[_ngcontent-%COMP%] .quiz-progress[_ngcontent-%COMP%]{height:4px}.guest-banner[_ngcontent-%COMP%] .quiz-progress[_ngcontent-%COMP%] .mat-mdc-progress-bar-fill:after{background-color:#fff!important}@media (max-width: 768px){.guest-banner[_ngcontent-%COMP%] .banner-content[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;padding:.75rem 1rem}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%]{width:100%}.guest-banner[_ngcontent-%COMP%] .banner-left[_ngcontent-%COMP%] .session-info[_ngcontent-%COMP%] .stats[_ngcontent-%COMP%]{flex-wrap:wrap;gap:.75rem}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%]{width:100%;justify-content:space-between}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%] .upgrade-message[_ngcontent-%COMP%]{font-size:.875rem}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%] .upgrade-message[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%] .signup-button[_ngcontent-%COMP%]{padding:0 1rem}}@media (max-width: 480px){.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:.5rem}.guest-banner[_ngcontent-%COMP%] .banner-right[_ngcontent-%COMP%] .signup-button[_ngcontent-%COMP%]{width:100%}}"]})};function wi(n,t){n&1&&h(0,"app-loading")}function ki(n,t){n&1&&h(0,"mat-progress-bar",0)}function zi(n,t){n&1&&h(0,"app-guest-banner")}function Ei(n,t){if(n&1){let e=S();o(0,"div",7),f("click",function(){v(e);let s=d();return C(s.closeSidebar())}),r()}}var Ie=class n{authService=c(q);guestService=c($);toastService=c(Q);router=c(M);title="Interview Quiz Application";isSidebarOpen=O(!1);isInitializing=O(!0);isNavigating=O(!1);isGuest=N(()=>this.guestService.guestState().isGuest&&!this.authService.authState().isAuthenticated);ngOnInit(){this.initializeApp(),this.setupNavigationListener()}setupNavigationListener(){this.router.events.subscribe(t=>{t instanceof xt?this.isNavigating.set(!0):(t instanceof Z||t instanceof Mt||t instanceof yt)&&this.isNavigating.set(!1)})}initializeApp(){if(!this.authService.authState().isAuthenticated){this.isInitializing.set(!1);return}this.authService.verifyToken().subscribe({next:e=>{this.isInitializing.set(!1),e.success||(this.toastService.warning("Session expired. Please login again."),this.router.navigate(["/login"]))},error:()=>{this.isInitializing.set(!1),this.toastService.warning("Session expired. Please login again."),this.router.navigate(["/login"])}})}toggleSidebar(){this.isSidebarOpen.update(t=>!t)}closeSidebar(){this.isSidebarOpen.set(!1)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["app-root"]],decls:12,vars:5,consts:[["mode","indeterminate","role","progressbar","aria-label","Page loading",1,"navigation-progress-bar"],[1,"app-shell"],[3,"menuToggle"],[1,"main-container"],[3,"isOpen"],[1,"sidebar-overlay"],[1,"main-content"],[1,"sidebar-overlay",3,"click"]],template:function(e,i){e&1&&(g(0,wi,1,0,"app-loading"),g(1,ki,1,0,"mat-progress-bar",0),h(2,"app-toast-container"),o(3,"div",1)(4,"app-header",2),f("menuToggle",function(){return i.toggleSidebar()}),r(),g(5,zi,1,0,"app-guest-banner"),o(6,"div",3),h(7,"app-sidebar",4),g(8,Ei,1,0,"div",5),o(9,"main",6),h(10,"router-outlet"),r()(),h(11,"app-footer"),r()),e&2&&(u(i.isInitializing()?0:-1),l(),u(i.isNavigating()?1:-1),l(4),u(i.isGuest()?5:-1),l(2),x("isOpen",i.isSidebarOpen()),l(),u(i.isSidebarOpen()?8:-1))},dependencies:[P,Pt,ne,te,ye,we,ke,ze,Ee,Te],styles:[".navigation-progress-bar[_ngcontent-%COMP%]{position:fixed;top:0;left:0;right:0;z-index:calc(var(--z-modal) + 1);height:3px}.navigation-progress-bar[_ngcontent-%COMP%] .mat-mdc-progress-bar-fill:after{background-color:var(--color-primary)}.navigation-progress-bar[_ngcontent-%COMP%] .mat-mdc-progress-bar-buffer{background-color:rgba(var(--color-primary-rgb),.3)}.app-shell[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-background)}.main-container[_ngcontent-%COMP%]{display:flex;flex:1;position:relative;margin-top:var(--header-height)}.main-content[_ngcontent-%COMP%]{flex:1;padding:var(--spacing-lg);overflow-x:hidden;min-height:calc(100vh - var(--header-height) - var(--footer-height))}@media (min-width: 1024px){.main-content[_ngcontent-%COMP%]{margin-left:var(--sidebar-width)}}@media (max-width: 767px){.main-content[_ngcontent-%COMP%]{padding:var(--spacing-md)}}.sidebar-overlay[_ngcontent-%COMP%]{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:#00000080;z-index:calc(var(--z-sticky) - 1);animation:_ngcontent-%COMP%_fadeIn .25s ease-out}@media (min-width: 1024px){.sidebar-overlay[_ngcontent-%COMP%]{display:none}}@keyframes _ngcontent-%COMP%_fadeIn{0%{opacity:0}to{opacity:1}}html[_ngcontent-%COMP%]{scroll-behavior:smooth}@media (max-width: 1023px){body.sidebar-open[_ngcontent-%COMP%]{overflow:hidden}}"]})};_t(Ie,Mn).catch(n=>console.error(n)); diff --git a/styles-NQP6VIMQ.css b/styles-NQP6VIMQ.css new file mode 100644 index 0000000..2322681 --- /dev/null +++ b/styles-NQP6VIMQ.css @@ -0,0 +1 @@ +html{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}body{color-scheme:light;background-color:var(--mat-sys-surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0}html,body{height:100%}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif}:root{--color-primary: #0078d4;--color-primary-dark: #005a9e;--color-primary-light: #50a0e6;--color-primary-lighter: #e6f2fa;--color-secondary: #2c3e50;--color-secondary-dark: #1a252f;--color-secondary-light: #415769;--color-accent: #00c853;--color-accent-dark: #009624;--color-accent-light: #5efc82;--color-success: #4caf50;--color-success-light: #81c784;--color-success-dark: #388e3c;--color-error: #f44336;--color-error-light: #e57373;--color-error-dark: #d32f2f;--color-warning: #ff9800;--color-warning-light: #ffb74d;--color-warning-dark: #f57c00;--color-info: #2196f3;--color-info-light: #64b5f6;--color-info-dark: #1976d2;--color-background: #ffffff;--color-surface: #f5f5f5;--color-surface-elevated: #ffffff;--color-text-primary: #212121;--color-text-secondary: #757575;--color-text-disabled: #bdbdbd;--color-border: #e0e0e0;--color-divider: #eeeeee;--color-shadow: rgba(0, 0, 0, .1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-family-base: "Roboto", "Helvetica Neue", sans-serif;--font-family-heading: "Roboto", "Helvetica Neue", sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 10000;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--header-height: 64px;--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--footer-height: 60px;--container-max-width: 1200px}body.dark-theme{--color-background: #121212;--color-surface: #1e1e1e;--color-surface-elevated: #2d2d2d;--color-text-primary: #ffffff;--color-text-secondary: #b0b0b0;--color-text-disabled: #6f6f6f;--color-border: #3f3f3f;--color-divider: #2d2d2d;--color-shadow: rgba(0, 0, 0, .3);--color-primary: #50a0e6;--color-primary-light: #7bb8ed;--color-primary-lighter: #1a3a52}@media (min-width: 768px){.mobile-only{display:none!important}}@media (max-width: 767px){.tablet-up{display:none!important}}@media (max-width: 1023px){.desktop-only{display:none!important}}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md)}@media (min-width: 768px){.container{padding:0 var(--spacing-lg)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.m-0{margin:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}*,*:before,*:after{box-sizing:border-box}button{font-family:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}