diff --git a/public/apps/webapp-schulverwaltung/chunk-IT3HIVA4.js b/public/apps/webapp-schulverwaltung/chunk-5XQEEECM.js similarity index 61% rename from public/apps/webapp-schulverwaltung/chunk-IT3HIVA4.js rename to public/apps/webapp-schulverwaltung/chunk-5XQEEECM.js index 08299311..bdf24288 100644 --- a/public/apps/webapp-schulverwaltung/chunk-IT3HIVA4.js +++ b/public/apps/webapp-schulverwaltung/chunk-5XQEEECM.js @@ -1,2 +1,2 @@ -import{b as ae}from"./chunk-VMXYNWQX.js";import{a as Je}from"./chunk-VTECG2ZE.js";import{a as Qe}from"./chunk-UHCZHU5Y.js";import{a as Ze}from"./chunk-SWW2IZXB.js";import"./chunk-QNGDMYF2.js";import{p as Ye}from"./chunk-5FFJJJZ5.js";import"./chunk-VMOOBKG2.js";import{e as ie}from"./chunk-VF44T6U3.js";import{b as Ge}from"./chunk-A4TCTMIL.js";import"./chunk-Y4QYVF5K.js";import"./chunk-TCEEBBQP.js";import{d as qe,f as z,g as We}from"./chunk-4QTA7R6W.js";import"./chunk-VNNH2VUZ.js";import{d as Ve}from"./chunk-HLEZ4C3Q.js";import"./chunk-5ZOEDVCI.js";import{L as He,b as Ne,g as me,p as ze,q as Ue}from"./chunk-G2L3C6GE.js";import"./chunk-2FCCHX6W.js";import{b as Ke}from"./chunk-KCOBA4SV.js";import{a as te,b as ne}from"./chunk-GWJDWK72.js";import{w as Fe}from"./chunk-7TIAFCYF.js";import"./chunk-LXT7D3OU.js";import{$a as d,Ab as R,Ac as Ae,Bb as V,Bc as X,Cb as q,Db as Me,Eb as x,Fb as j,Jc as Re,Kb as o,Kc as Oe,Kd as Le,La as p,Lb as r,Ld as we,M as y,Mb as O,O as _e,Ob as $e,Od as Be,P as M,Pa as se,Pc as ee,Qa as _,Ra as ve,Rd as I,Sd as E,Td as je,Va as m,X as F,Ya as ye,Za as Se,_ as T,_a as c,a as G,aa as S,ab as C,b as K,d as ue,da as Ce,db as de,dc as ke,eb as xe,ec as w,ed as B,fc as J,g as be,gb as N,h as fe,hb as f,ia as Y,ib as Te,ja as Z,jb as Pe,jc as pe,ka as ge,l as L,n as b,nc as Q,o as W,qb as ce,rb as l,sb as D,sc as Ie,tb as P,ub as le,vb as De,xa as H,ya as n,za as v,zc as Ee}from"./chunk-TTJNYD2F.js";var _t=["*"];function Ct(e,s){e&1&&de(0)}function gt(e,s){if(e&1&&(c(0,"a",1),p(1,Ct,1,0,"ng-container",3),d()),e&2){let t=f(),i=ce(3);_("routerLink",t.link)("queryParams",t.linkParams),n(),_("ngTemplateOutlet",i)}}function vt(e,s){e&1&&de(0)}function yt(e,s){if(e&1&&(c(0,"a",2),p(1,vt,1,0,"ng-container",3),d()),e&2){let t=f(),i=ce(3);_("href",t.externalLink,H),n(),_("ngTemplateOutlet",i)}}function St(e,s){if(e&1&&(c(0,"span",5),l(1),d()),e&2){let t=f(2);n(),D(t.count)}}function xt(e,s){e&1&&(ge(),c(0,"svg",6),C(1,"path",7),d())}function Tt(e,s){if(e&1&&(c(0,"span",4),l(1),o(2,"translate"),d(),c(3,"div"),Pe(4),p(5,St,2,1,"span",5)(6,xt,2,0,":svg:svg",6),d()),e&2){let t=f();n(),D(r(2,2,t.label)),n(4),m(t.hasCount(t.count)?5:6)}}var Xe=(()=>{class e{constructor(){}hasCount(t){return typeof t=="number"&&t>=0}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-action"]],inputs:{label:"label",count:"count",link:"link",linkParams:"linkParams",externalLink:"externalLink"},standalone:!0,features:[x],ngContentSelectors:_t,decls:4,vars:2,consts:[["actionContent",""],[3,"routerLink","queryParams"],[3,"href"],[4,"ngTemplateOutlet"],[1,"label"],[1,"count"],["xmlns","http://www.w3.org/2000/svg","width","24","height","24","fill","none"],["fill","currentColor","d","m12 20-1.425-1.4 5.6-5.6H4v-2h12.175l-5.6-5.6L12 4l8 8-8 8Z"]],template:function(i,a){i&1&&(Te(),p(0,gt,2,3,"a",1)(1,yt,2,2,"a",2)(2,Tt,7,4,"ng-template",null,0,$e)),i&2&&(m(a.externalLink?-1:0),n(),m(a.externalLink?1:-1))},dependencies:[X,ke,E,I],styles:["a[_ngcontent-%COMP%]{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f7e9d2;text-decoration:none;line-height:1}a[_ngcontent-%COMP%]:hover{background:#f2e0c3}a[_ngcontent-%COMP%]:focus-visible{outline-width:2px;outline-offset:-2px}div[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.label[_ngcontent-%COMP%]{font-weight:400}.count[_ngcontent-%COMP%]{font-size:1.5rem}"]})}}return e})();var et=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-deadline"]],inputs:{count:"count"},standalone:!0,features:[x],decls:3,vars:8,template:function(i,a){i&1&&(l(0),o(1,"translate"),o(2,"addSpace")),i&2&&De("",r(1,3,"dashboard.actions.deadline"),"",O(2,5,": ",":"),"",a.count,` -`)},dependencies:[E,I,We],styles:["[_nghost-%COMP%]{background:#ea161f;color:#fff;white-space:nowrap;font-weight:500;font-size:.875rem;min-height:1.5rem;display:flex;padding:.375rem .5rem;align-items:center;border-radius:2.5rem}"]})}}return e})();var tt=ee({Id:Oe,Holder:Re});var it=(()=>{class e extends te{constructor(t,i){super(t,i,tt,"TeacherSubstitutions")}getTeacherSubstitution(t){return this.getList({params:{"filter.Id":`=${t}`}}).pipe(b(i=>i[0]||null))}static{this.\u0275fac=function(i){return new(i||e)(T(Q),T(B))}}static{this.\u0275prov=F({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var It=["LessonTeacherRole","ClassTeacherRole","TeacherRole","AbsenceAdministratorRole"],Et=["LessonTeacherRole","TeacherRole","StudentRole","SubstituteAdministratorRole"],At=["LessonTeacherRole","StudentRole"],A=(()=>{class e{constructor(t,i,a,h,u,$,U,ft){this.settingsService=t,this.lessonPresencesService=i,this.studentsService=a,this.courseService=h,this.teacherSubstitutionService=u,this.personService=$,this.storageService=U,this.settings=ft,this.rolesAndPermissions$=this.settingsService.getRolesAndPermissions(),this.userId$=new fe(1),this.lessonAbsences$=this.userId$.pipe(M(g=>this.studentsService.getLessonAbsences(g)),y(1)),this.lessonIncidents$=this.userId$.pipe(M(g=>this.studentsService.getLessonIncidents(g)),y(1)),this.loading$=this.rolesAndPermissions$.pipe(b(g=>g==null)),this.hasSearch$=this.rolesAndPermissions$.pipe(b(this.hasRoles(It))),this.hasActions$=this.rolesAndPermissions$.pipe(b(this.hasRoles(Et))),this.hasTimetable$=this.rolesAndPermissions$.pipe(b(this.hasRoles(At))),this.hasLessonTeacherRole$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["LessonTeacherRole"])),y(1)),this.hasTeacherRole$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["TeacherRole"])),y(1)),this.hasStudentRole$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["StudentRole"])),y(1)),this.hasSubstituteAdministratorRole$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["SubstituteAdministratorRole"])),y(1)),this.editAbsencesCount$=this.hasLessonTeacherRole$.pipe(M(g=>g?this.lessonPresencesService.checkableAbsencesCount():L(!1)),y(1)),this.openAbsencesCount$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["LessonTeacherRole","ClassTeacherRole"])),M(g=>g?this.lessonPresencesService.getListOfUnconfirmed():L([])),b(g=>g.length),y(1)),this.myAbsencesCount$=this.hasStudentRole$.pipe(M(g=>g?this.getMyAbsences():L([])),b(this.getMyAbsencesCount.bind(this)),y(1)),this.coursesToRateCount$=this.courseService.getNumberOfCoursesForRating().pipe(_e(0),y(1)),this.hasPresenceControl$=this.hasLessonTeacherRole$.pipe(M(g=>g?this.lessonPresencesService.hasLessonsLessonTeacher():L(!1)),y(1)),this.hasOpenAbsences$=this.openAbsencesCount$.pipe(b(g=>g>0),y(1)),this.editAbsencesParams$=this.getFullName().pipe(b(g=>({confirmationStates:this.settings.checkableAbsenceStateId,teacher:g})),y(1));let he=this.storageService.getPayload()?.id_person;he&&this.userId$.next(Number(he))}hasRoles(t){return i=>(i??[]).some(a=>t.includes(a))}getMyAbsences(){return W([this.userId$,this.lessonAbsences$,this.lessonIncidents$]).pipe(M(([t,i,a])=>this.loadTimetableEntries(t,i,a).pipe(b(h=>[...i,...a].map(u=>this.withTimetableEntry(u,h)).filter(Fe)))))}getMyAbsencesCount(t){return t?.filter(i=>("ConfirmationStateId"in i?i.ConfirmationStateId:null)===this.settings.unconfirmedAbsenceStateId).length||0}getFullName(){let t=Number(this.storageService.getPayload()?.substitution_id)||null;return t?this.teacherSubstitutionService.getTeacherSubstitution(t).pipe(b(i=>i?.Holder)):this.personService.getMyself().pipe(b(i=>i.FullName))}withTimetableEntry(t,i){return i.find(a=>a.Id===t.LessonRef.Id)?t:null}loadTimetableEntries(t,i,a){return this.studentsService.getTimetableEntries(t,{"filter.Id":`;${[...i,...a].map(h=>h.LessonRef.Id).join(";")}`})}static{this.\u0275fac=function(i){return new(i||e)(T(ae),T(ie),T(z),T(Ye),T(it),T(Ge),T(je),T(B))}}static{this.\u0275prov=F({token:e,factory:e.\u0275fac})}}return e})();var Rt=()=>["/presence-control"],Ot=()=>["/edit-absences"],Lt=()=>["/open-absences"],wt=()=>["/events"],Bt=()=>["/my-absences","report"],jt=()=>["/my-absences"];function Ft(e,s){e&1&&C(0,"bkd-dashboard-action",0),e&2&&_("label","dashboard.actions.presence-control")("link",j(2,Rt))}function Nt(e,s){if(e&1&&(C(0,"bkd-dashboard-action",1),o(1,"async"),o(2,"async")),e&2){let t=f();_("label","dashboard.actions.edit-absences")("link",j(8,Ot))("linkParams",r(1,4,t.dashboardService.editAbsencesParams$))("count",r(2,6,t.dashboardService.editAbsencesCount$))}}function zt(e,s){if(e&1&&(C(0,"bkd-dashboard-action",2),o(1,"async")),e&2){let t=f();_("label","dashboard.actions.open-absences")("link",j(5,Lt))("count",r(1,3,t.dashboardService.openAbsencesCount$))}}function Ut(e,s){if(e&1&&(C(0,"bkd-dashboard-deadline",4),o(1,"async")),e&2){let t=f(2);_("count",r(1,1,t.dashboardService.coursesToRateCount$))}}function Ht(e,s){if(e&1&&(c(0,"bkd-dashboard-action",0),p(1,Ut,2,3,"bkd-dashboard-deadline",4),o(2,"async"),d()),e&2){let t,i=f();_("label","dashboard.actions.tests")("link",j(5,wt)),n(),m((t=r(2,3,i.dashboardService.coursesToRateCount$))!==null&&t!==void 0&&t?1:-1)}}function Vt(e,s){e&1&&C(0,"bkd-dashboard-action",0),e&2&&_("label","dashboard.actions.my-absences-report")("link",j(2,Bt))}function qt(e,s){if(e&1&&(C(0,"bkd-dashboard-action",2),o(1,"async")),e&2){let t=f();_("label","dashboard.actions.my-absences")("link",j(5,jt))("count",r(1,3,t.dashboardService.myAbsencesCount$))}}function Gt(e,s){if(e&1&&C(0,"bkd-dashboard-action",3),e&2){let t=f();_("label","dashboard.actions.substitutions")("externalLink",t.substitutionsAdminLink)}}var at=(()=>{class e{constructor(t,i){this.dashboardService=t,this.settings=i}get substitutionsAdminLink(){return this.settings.dashboard.substitutionsAdminLink}static{this.\u0275fac=function(i){return new(i||e)(v(A),v(B))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-actions"]],standalone:!0,features:[x],decls:15,vars:23,consts:[[3,"label","link"],[3,"label","link","linkParams","count"],[3,"label","link","count"],[3,"label","externalLink"],[3,"count"]],template:function(i,a){i&1&&(p(0,Ft,1,3,"bkd-dashboard-action",0),o(1,"async"),p(2,Nt,3,9,"bkd-dashboard-action",1),o(3,"async"),o(4,"async"),p(5,zt,2,6,"bkd-dashboard-action",2),o(6,"async"),p(7,Ht,3,6,"bkd-dashboard-action",0),o(8,"async"),p(9,Vt,1,3,"bkd-dashboard-action",0),o(10,"async"),p(11,qt,2,6,"bkd-dashboard-action",2),o(12,"async"),p(13,Gt,1,2,"bkd-dashboard-action",3),o(14,"async")),i&2&&(m(r(1,7,a.dashboardService.hasPresenceControl$)?0:-1),n(2),m(r(3,9,a.dashboardService.hasLessonTeacherRole$)&&r(4,11,a.dashboardService.editAbsencesParams$)?2:-1),n(3),m(r(6,13,a.dashboardService.hasOpenAbsences$)?5:-1),n(2),m(r(8,15,a.dashboardService.hasTeacherRole$)?7:-1),n(2),m(r(10,17,a.dashboardService.hasStudentRole$)?9:-1),n(2),m(r(12,19,a.dashboardService.hasStudentRole$)?11:-1),n(2),m(r(14,21,a.dashboardService.hasSubstituteAdministratorRole$)?13:-1))},dependencies:[Xe,et,w],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}"]})}}return e})();var ot=(()=>{class e{constructor(t,i){this.studentsRestService=t,this.router=i}navigateToDossier(t){return ue(this,null,function*(){let i=Number(t);yield this.router.navigate(["dashboard","student",i,"addresses"])})}static{this.\u0275fac=function(i){return new(i||e)(v(z),v(Ae))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-search"]],standalone:!0,features:[x],decls:1,vars:2,consts:[[3,"valueChange","typeaheadService","placeholder"]],template:function(i,a){i&1&&(c(0,"bkd-typeahead",0),N("valueChange",function(u){return u&&a.navigateToDossier(u)}),d()),i&2&&_("typeaheadService",a.studentsRestService)("placeholder","dashboard.search.placeholder")},dependencies:[Je],styles:["[_nghost-%COMP%]{display:block;padding:.75rem;background:#f7e9d2}"]})}}return e})();var rt=(()=>{class e{constructor(t){this.sanitizer=t}transform(t,i){switch(i){case"html":return this.sanitizer.bypassSecurityTrustHtml(t);case"style":return this.sanitizer.bypassSecurityTrustStyle(t);case"script":return this.sanitizer.bypassSecurityTrustScript(t);case"url":return this.sanitizer.bypassSecurityTrustUrl(t);case"resourceUrl":return this.sanitizer.bypassSecurityTrustResourceUrl(t);default:throw new Error(`Invalid safe type specified: ${i}`)}}static{this.\u0275fac=function(i){return new(i||e)(v(Ie,16))}}static{this.\u0275pipe=Ce({name:"safe",type:e,pure:!0,standalone:!0})}}return e})();function st(e){return{id:lt(e.EventId,e.Id),from:e.From,until:e.To,eventId:e.EventId,subject:e.EventDesignation,room:e.EventLocation||void 0,teacher:e.EventManagerInformation||void 0}}function dt(e){let s=e.reduce((t,i)=>{let a=lt(i.EventRef.Id,i.LessonRef.Id);return K(G({},t),{[a]:[...t[a]??[],i.StudyClassNumber]})},{});return Object.keys(s).reduce((t,i)=>K(G({},t),{[i]:Le([...s[i]].sort())}),{})}function ct(e,s){return e.map(t=>K(G({},t),{studyClass:s[t.id]?.join(", ")}))}function lt(e,s){return`${e}-${s}`}var Kt=(e,s)=>s.id;function Wt(e,s){e&1&&(c(0,"th"),l(1),o(2,"translate"),d()),e&2&&(n(),P(" ",r(2,1,"dashboard.timetable.table.teacher")," "))}function Yt(e,s){if(e&1&&(R(0),c(1,"a",3),l(2),c(3,"span",8),l(4),d()()),e&2){let t=f().$implicit,i=f(2).buildLink(t.eventId);n(),_("routerLink",i.link)("queryParams",i.params),n(),P(" ",t.subject,""),n(2),P(", ",t.studyClass,"")}}function Zt(e,s){if(e&1&&l(0),e&2){let t=f().$implicit;P(" ",t.subject," ")}}function Jt(e,s){if(e&1&&(c(0,"td",4),l(1),o(2,"translate"),d()),e&2){let t=f().$implicit;n(),le(" ",r(2,2,"dashboard.timetable.table.study-class"),": ",t.studyClass," ")}}function Qt(e,s){if(e&1&&(c(0,"td",5),l(1),d()),e&2){let t=f().$implicit;n(),P(" ",t.teacher," ")}}function Xt(e,s){e&1&&(c(0,"span",7),l(1),o(2,"translate"),d()),e&2&&(n(),D(r(2,1,"dashboard.timetable.table.room")))}function ei(e,s){if(e&1&&(c(0,"tr")(1,"td",1),l(2),o(3,"date"),o(4,"date"),d(),c(5,"td",2),p(6,Yt,5,4,"a",3),o(7,"async"),p(8,Zt,1,1),d(),p(9,Jt,3,4,"td",4),o(10,"async"),p(11,Qt,2,1,"td",5),o(12,"async"),c(13,"td",6),p(14,Xt,3,3,"span",7),l(15),d()()),e&2){let t=s.$implicit,i=f(2);n(2),le(" ",O(3,7,t.from,"HH:mm"),"\u2013",O(4,10,t.until,"HH:mm")," "),n(4),m(r(7,13,i.isTeacher$)?6:8),n(3),m(r(10,15,i.isTeacher$)?9:-1),n(2),m(r(12,17,i.isStudent$)?11:-1),n(3),m(t.room?14:-1),n(),P(" ",t.room," ")}}function ti(e,s){if(e&1&&(c(0,"table",0)(1,"thead")(2,"tr")(3,"th"),l(4),o(5,"translate"),d(),c(6,"th"),l(7),o(8,"translate"),d(),p(9,Wt,3,3,"th"),o(10,"async"),c(11,"th"),l(12),o(13,"translate"),d()()(),c(14,"tbody"),ye(15,ei,16,19,"tr",null,Kt),d()()),e&2){let t=f();n(4),D(r(5,4,"dashboard.timetable.table.time")),n(3),D(r(8,6,"dashboard.timetable.table.subject")),n(2),m(r(10,8,t.isStudent$)?9:-1),n(3),P(" ",r(13,10,"dashboard.timetable.table.room")," "),n(3),Se(t.entries)}}function ii(e,s){e&1&&(c(0,"p"),l(1),o(2,"translate"),d()),e&2&&(n(),D(r(2,1,"dashboard.timetable.no-entries")))}var pt=(()=>{class e{constructor(t){this.dashboardService=t,this.entries=[],this.isStudent$=this.dashboardService.hasStudentRole$,this.isTeacher$=this.dashboardService.hasLessonTeacherRole$}buildLink(t){return Ve(Qe(t,"/dashboard"))}static{this.\u0275fac=function(i){return new(i||e)(v(A))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-timetable-table"]],inputs:{entries:"entries"},standalone:!0,features:[x],decls:2,vars:1,consts:[[1,"table"],[1,"time"],[1,"subject"],["target","_parent",3,"routerLink","queryParams"],[1,"study-class"],[1,"teacher"],[1,"room"],[1,"room-label"],[1,"subject-study-class"]],template:function(i,a){i&1&&p(0,ti,17,12,"table",0)(1,ii,3,3,"p"),i&2&&m(a.entries.length>0?0:1)},dependencies:[w,J,E,I,X],styles:['td[_ngcontent-%COMP%], th[_ngcontent-%COMP%]{padding:1rem 1.75rem}.room-label[_ngcontent-%COMP%], td.study-class[_ngcontent-%COMP%]{display:none}@media (max-width: 767.98px){table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{display:none}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%]{border-top:1px solid var(--bs-border-color)}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"time room" "subject subject" "study-class study-class" "teacher teacher";gap:.5rem;padding:1rem;border-bottom:1px solid var(--bs-border-color)}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0;padding:0}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.time[_ngcontent-%COMP%]{grid-area:time;font-size:.875rem;line-height:1.125rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.subject[_ngcontent-%COMP%]{grid-area:subject;font-size:1rem;line-height:1.25rem;font-weight:400}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.teacher[_ngcontent-%COMP%]{grid-area:teacher;font-size:.8125rem;line-height:1.0625rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.room[_ngcontent-%COMP%]{grid-area:room;text-align:right;font-size:.875rem;line-height:1.125rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.study-class[_ngcontent-%COMP%]{grid-area:study-class;font-size:.8125rem;line-height:1.0625rem;font-weight:300}td.study-class[_ngcontent-%COMP%]{display:block}.subject-study-class[_ngcontent-%COMP%]{display:none}.room-label[_ngcontent-%COMP%]{display:inline}}']})}}return e})();var ni=ee({}),mt=(()=>{class e extends te{constructor(t,i){super(t,i,ni,"Teachers")}getTimetableEntries(t,i={}){let a=i instanceof pe?i:new pe({fromObject:i});return a=a.set("fields","Id,From,To,EventId,EventNumber,EventDesignation,EventLocation"),this.http.get(`${this.baseUrl}/${t}/TimetableEntries/CurrentSemester`,{params:a}).pipe(M(Be(qe)))}static{this.\u0275fac=function(i){return new(i||e)(T(Q),T(B))}}static{this.\u0275prov=F({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function oi(e,s){e&1&&(c(0,"a",6),o(1,"safe"),l(2),o(3,"translate"),d()),e&2&&(_("href",O(1,2,s,"url"),H),n(2),P(" ",r(3,5,"dashboard.timetable.subscribe-calendar")," "))}function ri(e,s){e&1&&C(0,"bkd-spinner")}function si(e,s){e&1&&(c(0,"a",8),o(1,"safe"),l(2),o(3,"translate"),d()),e&2&&(_("href",O(1,2,s,"url"),H),n(2),P(" ",r(3,5,"dashboard.timetable.subscribe-calendar")," "))}function di(e,s){if(e&1&&(C(0,"bkd-dashboard-timetable-table",7),p(1,si,4,7,"a",8),o(2,"async")),e&2){let t,i=f(),a=q(18);_("entries",a),n(),m((t=r(2,2,i.getSubscribeCalendarUrl()))?1:-1,t)}}var ci="cal",ht=(()=>{class e{constructor(t,i,a,h,u,$){this.teachersService=t,this.studentsService=i,this.lessonPresencesService=a,this.userSettings=h,this.dashboardService=u,this.loadingService=$,this.userId$=this.dashboardService.userId$,this.isTeacher$=this.dashboardService.hasLessonTeacherRole$,this.isStudent$=this.dashboardService.hasStudentRole$,this.date$=new be(me(new Date)),this.loading$=this.loadingService.loading$,this.timetableEntries$=this.loadTimetableEntries()}gotoToday(){this.date$.next(me(new Date))}gotoPreviousDay(){this.date$.next(Ue(this.date$.getValue(),1))}gotoNextDay(){this.date$.next(Ne(this.date$.getValue(),1))}getSubscribeCalendarUrl(){return this.userSettings.getSetting(ci)}loadTimetableEntries(){return W([this.isTeacher$,this.isStudent$,this.userId$,this.date$]).pipe(M(([t,i,a,h])=>{let u=()=>t?this.fetchTimetableEntries("teacher",a,h):i?this.fetchTimetableEntries("student",a,h):L([]);return this.loadingService.load(u())}),y(1))}fetchTimetableEntries(t,i,a){let h={"filter.From":`=${ze(a,"yyyy-MM-dd")}`,sort:"From,To"};return(t==="teacher"?this.teachersService.getTimetableEntries(i,h):this.studentsService.getTimetableEntries(i,h)).pipe(b(u=>u.map(st)),b(u=>we(u,$=>$.id)),M(u=>t==="teacher"?this.loadStudyClasses(a).pipe(b($=>ct(u,$))):L(u)))}loadStudyClasses(t){return this.lessonPresencesService.getLessonStudyClassesByDate(t).pipe(b(dt))}static{this.\u0275fac=function(i){return new(i||e)(v(mt),v(z),v(ie),v(ae),v(A),v(Ke))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-timetable"]],standalone:!0,features:[x],decls:23,vars:24,consts:[[1,"header"],["type","button",1,"btn","btn-primary","today",3,"click"],["type","button",1,"btn","btn-secondary","previous-day",3,"click"],[1,"material-icons"],["type","button",1,"btn","btn-secondary","next-day",3,"click"],[1,"date"],["target","_parent",1,"btn","btn-secondary","subscribe-calendar-header",3,"href"],[3,"entries"],["target","_parent",1,"btn","btn-secondary","subscribe-calendar-bottom",3,"href"]],template:function(i,a){if(i&1){let h=xe();c(0,"div",0)(1,"button",1),N("click",function(){return Y(h),Z(a.gotoToday())}),l(2),o(3,"translate"),d(),c(4,"button",2),o(5,"translate"),N("click",function(){return Y(h),Z(a.gotoPreviousDay())}),c(6,"span",3),l(7,"chevron_left"),d()(),c(8,"button",4),o(9,"translate"),N("click",function(){return Y(h),Z(a.gotoNextDay())}),c(10,"span",3),l(11,"chevron_right"),d()(),c(12,"div",5),l(13),o(14,"async"),o(15,"date"),d(),p(16,oi,4,7,"a",6),o(17,"async"),d(),R(18),o(19,"async"),p(20,ri,1,0,"bkd-spinner"),o(21,"async"),p(22,di,3,4)}if(i&2){let h;n(2),P(" ",r(3,6,"dashboard.timetable.today")," "),n(2),se("aria-label",r(5,8,"dashboard.timetable.previousDay")),n(4),se("aria-label",r(9,10,"dashboard.timetable.nextDay")),n(5),D(O(15,14,r(14,12,a.date$),"E, dd. MMMM yyyy")),n(3),m((h=r(17,17,a.getSubscribeCalendarUrl()))?16:-1,h),n(2),V(r(19,19,a.timetableEntries$)),n(2),m(r(21,22,a.loading$)?20:22)}},dependencies:[pt,ne,w,J,E,I,rt],styles:["[_nghost-%COMP%]{display:block;margin-bottom:1rem}.header[_ngcontent-%COMP%]{margin-top:1rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem}.previous-day[_ngcontent-%COMP%], .next-day[_ngcontent-%COMP%]{padding-left:.375rem;padding-right:.375rem}.date[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:600}.subscribe-calendar-header[_ngcontent-%COMP%]{margin-left:auto}.subscribe-calendar-bottom[_ngcontent-%COMP%]{display:none}a.btn[_ngcontent-%COMP%]{text-decoration:none}@media (max-width: 767.98px){.subscribe-calendar-header[_ngcontent-%COMP%]{display:none}.subscribe-calendar-bottom[_ngcontent-%COMP%]{display:block;margin-top:2rem}}@media (max-width: 767.98px) and (max-width: 575.98px){.header[_ngcontent-%COMP%]{flex-wrap:wrap-reverse}.header[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{width:100%}}"]})}}return e})();function li(e,s){e&1&&C(0,"bkd-spinner")}function pi(e,s){e&1&&(c(0,"p"),l(1),o(2,"translate"),d()),e&2&&(n(),P(" ",r(2,1,"dashboard.no-access")," "))}function mi(e,s){e&1&&(c(0,"div")(1,"h2"),l(2),o(3,"translate"),d(),C(4,"bkd-dashboard-search"),d()),e&2&&(n(2),D(r(3,1,"dashboard.search.title")))}function hi(e,s){e&1&&(c(0,"div")(1,"h2"),l(2),o(3,"translate"),d(),C(4,"bkd-dashboard-actions"),d()),e&2&&(n(2),D(r(3,1,"dashboard.actions.title")))}function ui(e,s){if(e&1&&(c(0,"div",1),p(1,mi,5,3,"div")(2,hi,5,3,"div"),d()),e&2){f();let t=q(2),i=q(4);n(),m(t?1:-1),n(),m(i?2:-1)}}function bi(e,s){e&1&&(c(0,"div",2)(1,"h2"),l(2),o(3,"translate"),d(),C(4,"bkd-dashboard-timetable"),d()),e&2&&(n(2),D(r(3,1,"dashboard.timetable.title")))}var ut=(()=>{class e{constructor(t){this.dashboardService=t}static{this.\u0275fac=function(i){return new(i||e)(v(A))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-layout"]],standalone:!0,features:[x],decls:17,vars:19,consts:[[1,"columns"],[1,"search-actions-column"],[1,"timetable-column"]],template:function(i,a){if(i&1&&(R(0),o(1,"async"),R(2),o(3,"async"),R(4),o(5,"async"),R(6),o(7,"async"),c(8,"div")(9,"h1"),l(10),o(11,"translate"),d(),p(12,li,1,0,"bkd-spinner")(13,pi,3,3,"p"),c(14,"div",0),p(15,ui,3,2,"div",1)(16,bi,5,3,"div",2),d()()),i&2){let h=r(1,7,a.dashboardService.loading$);n(2);let u=V(r(3,9,a.dashboardService.hasSearch$));n(2);let $=V(r(5,12,a.dashboardService.hasActions$)),U=r(7,15,a.dashboardService.hasTimetable$);n(5),ve("visually-hidden",h||u||$||U),n(),P(" ",r(11,17,"dashboard.heading")," "),n(2),m(h?12:-1),n(),m(!h&&!u&&!$&&!U?13:-1),n(2),m(u||$?15:-1),n(),m(U?16:-1)}},dependencies:[ne,ot,at,ht,w,E,I],styles:[".columns[_ngcontent-%COMP%]{display:flex;flex-direction:column}.columns[_ngcontent-%COMP%], .search-actions-column[_ngcontent-%COMP%]{gap:3rem}.search-actions-column[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;max-width:40rem}.timetable-column[_ngcontent-%COMP%]{flex:2}@media (min-width: 992px){.columns[_ngcontent-%COMP%]{flex-direction:row;gap:1.5rem}.search-actions-column[_ngcontent-%COMP%]{max-width:33%}}"],changeDetection:0})}}return e})();var bt=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard"]],standalone:!0,features:[Me([A,He]),x],decls:1,vars:0,template:function(i,a){i&1&&C(0,"router-outlet")},dependencies:[Ee],changeDetection:0})}}return e})();var An=[{path:"",component:bt,children:[{path:"",component:ut},Ze]}];export{An as DASHBOARD_ROUTES}; +import{b as ae}from"./chunk-VMXYNWQX.js";import{a as Je}from"./chunk-VTECG2ZE.js";import{a as Qe}from"./chunk-7NNVHN3N.js";import{a as Ze}from"./chunk-SWW2IZXB.js";import"./chunk-QNGDMYF2.js";import{p as Ye}from"./chunk-5FFJJJZ5.js";import"./chunk-VMOOBKG2.js";import{e as ie}from"./chunk-VF44T6U3.js";import{b as Ge}from"./chunk-A4TCTMIL.js";import"./chunk-Y4QYVF5K.js";import"./chunk-TCEEBBQP.js";import{d as qe,f as z,g as We}from"./chunk-4QTA7R6W.js";import"./chunk-VNNH2VUZ.js";import{d as Ve}from"./chunk-HLEZ4C3Q.js";import"./chunk-5ZOEDVCI.js";import{L as He,b as Ne,g as me,p as ze,q as Ue}from"./chunk-G2L3C6GE.js";import"./chunk-2FCCHX6W.js";import{b as Ke}from"./chunk-KCOBA4SV.js";import{a as te,b as ne}from"./chunk-GWJDWK72.js";import{w as Fe}from"./chunk-7TIAFCYF.js";import"./chunk-LXT7D3OU.js";import{$a as d,Ab as R,Ac as Ae,Bb as V,Bc as X,Cb as q,Db as Me,Eb as x,Fb as j,Jc as Re,Kb as o,Kc as Oe,Kd as Le,La as p,Lb as r,Ld as we,M as y,Mb as O,O as _e,Ob as $e,Od as Be,P as M,Pa as se,Pc as ee,Qa as _,Ra as ve,Rd as I,Sd as E,Td as je,Va as m,X as F,Ya as ye,Za as Se,_ as T,_a as c,a as G,aa as S,ab as C,b as K,d as ue,da as Ce,db as de,dc as ke,eb as xe,ec as w,ed as B,fc as J,g as be,gb as N,h as fe,hb as f,ia as Y,ib as Te,ja as Z,jb as Pe,jc as pe,ka as ge,l as L,n as b,nc as Q,o as W,qb as ce,rb as l,sb as D,sc as Ie,tb as P,ub as le,vb as De,xa as H,ya as n,za as v,zc as Ee}from"./chunk-TTJNYD2F.js";var _t=["*"];function Ct(e,s){e&1&&de(0)}function gt(e,s){if(e&1&&(c(0,"a",1),p(1,Ct,1,0,"ng-container",3),d()),e&2){let t=f(),i=ce(3);_("routerLink",t.link)("queryParams",t.linkParams),n(),_("ngTemplateOutlet",i)}}function vt(e,s){e&1&&de(0)}function yt(e,s){if(e&1&&(c(0,"a",2),p(1,vt,1,0,"ng-container",3),d()),e&2){let t=f(),i=ce(3);_("href",t.externalLink,H),n(),_("ngTemplateOutlet",i)}}function St(e,s){if(e&1&&(c(0,"span",5),l(1),d()),e&2){let t=f(2);n(),D(t.count)}}function xt(e,s){e&1&&(ge(),c(0,"svg",6),C(1,"path",7),d())}function Tt(e,s){if(e&1&&(c(0,"span",4),l(1),o(2,"translate"),d(),c(3,"div"),Pe(4),p(5,St,2,1,"span",5)(6,xt,2,0,":svg:svg",6),d()),e&2){let t=f();n(),D(r(2,2,t.label)),n(4),m(t.hasCount(t.count)?5:6)}}var Xe=(()=>{class e{constructor(){}hasCount(t){return typeof t=="number"&&t>=0}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-action"]],inputs:{label:"label",count:"count",link:"link",linkParams:"linkParams",externalLink:"externalLink"},standalone:!0,features:[x],ngContentSelectors:_t,decls:4,vars:2,consts:[["actionContent",""],[3,"routerLink","queryParams"],[3,"href"],[4,"ngTemplateOutlet"],[1,"label"],[1,"count"],["xmlns","http://www.w3.org/2000/svg","width","24","height","24","fill","none"],["fill","currentColor","d","m12 20-1.425-1.4 5.6-5.6H4v-2h12.175l-5.6-5.6L12 4l8 8-8 8Z"]],template:function(i,a){i&1&&(Te(),p(0,gt,2,3,"a",1)(1,yt,2,2,"a",2)(2,Tt,7,4,"ng-template",null,0,$e)),i&2&&(m(a.externalLink?-1:0),n(),m(a.externalLink?1:-1))},dependencies:[X,ke,E,I],styles:["a[_ngcontent-%COMP%]{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f7e9d2;text-decoration:none;line-height:1}a[_ngcontent-%COMP%]:hover{background:#f2e0c3}a[_ngcontent-%COMP%]:focus-visible{outline-width:2px;outline-offset:-2px}div[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.label[_ngcontent-%COMP%]{font-weight:400}.count[_ngcontent-%COMP%]{font-size:1.5rem}"]})}}return e})();var et=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-deadline"]],inputs:{count:"count"},standalone:!0,features:[x],decls:3,vars:8,template:function(i,a){i&1&&(l(0),o(1,"translate"),o(2,"addSpace")),i&2&&De("",r(1,3,"dashboard.actions.deadline"),"",O(2,5,": ",":"),"",a.count,` +`)},dependencies:[E,I,We],styles:["[_nghost-%COMP%]{background:#ea161f;color:#fff;white-space:nowrap;font-weight:500;font-size:.875rem;min-height:1.5rem;display:flex;padding:.375rem .5rem;align-items:center;border-radius:2.5rem}"]})}}return e})();var tt=ee({Id:Oe,Holder:Re});var it=(()=>{class e extends te{constructor(t,i){super(t,i,tt,"TeacherSubstitutions")}getTeacherSubstitution(t){return this.getList({params:{"filter.Id":`=${t}`}}).pipe(b(i=>i[0]||null))}static{this.\u0275fac=function(i){return new(i||e)(T(Q),T(B))}}static{this.\u0275prov=F({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var It=["LessonTeacherRole","ClassTeacherRole","TeacherRole","AbsenceAdministratorRole"],Et=["LessonTeacherRole","TeacherRole","StudentRole","SubstituteAdministratorRole"],At=["LessonTeacherRole","StudentRole"],A=(()=>{class e{constructor(t,i,a,h,u,$,U,ft){this.settingsService=t,this.lessonPresencesService=i,this.studentsService=a,this.courseService=h,this.teacherSubstitutionService=u,this.personService=$,this.storageService=U,this.settings=ft,this.rolesAndPermissions$=this.settingsService.getRolesAndPermissions(),this.userId$=new fe(1),this.lessonAbsences$=this.userId$.pipe(M(g=>this.studentsService.getLessonAbsences(g)),y(1)),this.lessonIncidents$=this.userId$.pipe(M(g=>this.studentsService.getLessonIncidents(g)),y(1)),this.loading$=this.rolesAndPermissions$.pipe(b(g=>g==null)),this.hasSearch$=this.rolesAndPermissions$.pipe(b(this.hasRoles(It))),this.hasActions$=this.rolesAndPermissions$.pipe(b(this.hasRoles(Et))),this.hasTimetable$=this.rolesAndPermissions$.pipe(b(this.hasRoles(At))),this.hasLessonTeacherRole$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["LessonTeacherRole"])),y(1)),this.hasTeacherRole$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["TeacherRole"])),y(1)),this.hasStudentRole$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["StudentRole"])),y(1)),this.hasSubstituteAdministratorRole$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["SubstituteAdministratorRole"])),y(1)),this.editAbsencesCount$=this.hasLessonTeacherRole$.pipe(M(g=>g?this.lessonPresencesService.checkableAbsencesCount():L(!1)),y(1)),this.openAbsencesCount$=this.rolesAndPermissions$.pipe(b(this.hasRoles(["LessonTeacherRole","ClassTeacherRole"])),M(g=>g?this.lessonPresencesService.getListOfUnconfirmed():L([])),b(g=>g.length),y(1)),this.myAbsencesCount$=this.hasStudentRole$.pipe(M(g=>g?this.getMyAbsences():L([])),b(this.getMyAbsencesCount.bind(this)),y(1)),this.coursesToRateCount$=this.courseService.getNumberOfCoursesForRating().pipe(_e(0),y(1)),this.hasPresenceControl$=this.hasLessonTeacherRole$.pipe(M(g=>g?this.lessonPresencesService.hasLessonsLessonTeacher():L(!1)),y(1)),this.hasOpenAbsences$=this.openAbsencesCount$.pipe(b(g=>g>0),y(1)),this.editAbsencesParams$=this.getFullName().pipe(b(g=>({confirmationStates:this.settings.checkableAbsenceStateId,teacher:g})),y(1));let he=this.storageService.getPayload()?.id_person;he&&this.userId$.next(Number(he))}hasRoles(t){return i=>(i??[]).some(a=>t.includes(a))}getMyAbsences(){return W([this.userId$,this.lessonAbsences$,this.lessonIncidents$]).pipe(M(([t,i,a])=>this.loadTimetableEntries(t,i,a).pipe(b(h=>[...i,...a].map(u=>this.withTimetableEntry(u,h)).filter(Fe)))))}getMyAbsencesCount(t){return t?.filter(i=>("ConfirmationStateId"in i?i.ConfirmationStateId:null)===this.settings.unconfirmedAbsenceStateId).length||0}getFullName(){let t=Number(this.storageService.getPayload()?.substitution_id)||null;return t?this.teacherSubstitutionService.getTeacherSubstitution(t).pipe(b(i=>i?.Holder)):this.personService.getMyself().pipe(b(i=>i.FullName))}withTimetableEntry(t,i){return i.find(a=>a.Id===t.LessonRef.Id)?t:null}loadTimetableEntries(t,i,a){return this.studentsService.getTimetableEntries(t,{"filter.Id":`;${[...i,...a].map(h=>h.LessonRef.Id).join(";")}`})}static{this.\u0275fac=function(i){return new(i||e)(T(ae),T(ie),T(z),T(Ye),T(it),T(Ge),T(je),T(B))}}static{this.\u0275prov=F({token:e,factory:e.\u0275fac})}}return e})();var Rt=()=>["/presence-control"],Ot=()=>["/edit-absences"],Lt=()=>["/open-absences"],wt=()=>["/events"],Bt=()=>["/my-absences","report"],jt=()=>["/my-absences"];function Ft(e,s){e&1&&C(0,"bkd-dashboard-action",0),e&2&&_("label","dashboard.actions.presence-control")("link",j(2,Rt))}function Nt(e,s){if(e&1&&(C(0,"bkd-dashboard-action",1),o(1,"async"),o(2,"async")),e&2){let t=f();_("label","dashboard.actions.edit-absences")("link",j(8,Ot))("linkParams",r(1,4,t.dashboardService.editAbsencesParams$))("count",r(2,6,t.dashboardService.editAbsencesCount$))}}function zt(e,s){if(e&1&&(C(0,"bkd-dashboard-action",2),o(1,"async")),e&2){let t=f();_("label","dashboard.actions.open-absences")("link",j(5,Lt))("count",r(1,3,t.dashboardService.openAbsencesCount$))}}function Ut(e,s){if(e&1&&(C(0,"bkd-dashboard-deadline",4),o(1,"async")),e&2){let t=f(2);_("count",r(1,1,t.dashboardService.coursesToRateCount$))}}function Ht(e,s){if(e&1&&(c(0,"bkd-dashboard-action",0),p(1,Ut,2,3,"bkd-dashboard-deadline",4),o(2,"async"),d()),e&2){let t,i=f();_("label","dashboard.actions.tests")("link",j(5,wt)),n(),m((t=r(2,3,i.dashboardService.coursesToRateCount$))!==null&&t!==void 0&&t?1:-1)}}function Vt(e,s){e&1&&C(0,"bkd-dashboard-action",0),e&2&&_("label","dashboard.actions.my-absences-report")("link",j(2,Bt))}function qt(e,s){if(e&1&&(C(0,"bkd-dashboard-action",2),o(1,"async")),e&2){let t=f();_("label","dashboard.actions.my-absences")("link",j(5,jt))("count",r(1,3,t.dashboardService.myAbsencesCount$))}}function Gt(e,s){if(e&1&&C(0,"bkd-dashboard-action",3),e&2){let t=f();_("label","dashboard.actions.substitutions")("externalLink",t.substitutionsAdminLink)}}var at=(()=>{class e{constructor(t,i){this.dashboardService=t,this.settings=i}get substitutionsAdminLink(){return this.settings.dashboard.substitutionsAdminLink}static{this.\u0275fac=function(i){return new(i||e)(v(A),v(B))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-actions"]],standalone:!0,features:[x],decls:15,vars:23,consts:[[3,"label","link"],[3,"label","link","linkParams","count"],[3,"label","link","count"],[3,"label","externalLink"],[3,"count"]],template:function(i,a){i&1&&(p(0,Ft,1,3,"bkd-dashboard-action",0),o(1,"async"),p(2,Nt,3,9,"bkd-dashboard-action",1),o(3,"async"),o(4,"async"),p(5,zt,2,6,"bkd-dashboard-action",2),o(6,"async"),p(7,Ht,3,6,"bkd-dashboard-action",0),o(8,"async"),p(9,Vt,1,3,"bkd-dashboard-action",0),o(10,"async"),p(11,qt,2,6,"bkd-dashboard-action",2),o(12,"async"),p(13,Gt,1,2,"bkd-dashboard-action",3),o(14,"async")),i&2&&(m(r(1,7,a.dashboardService.hasPresenceControl$)?0:-1),n(2),m(r(3,9,a.dashboardService.hasLessonTeacherRole$)&&r(4,11,a.dashboardService.editAbsencesParams$)?2:-1),n(3),m(r(6,13,a.dashboardService.hasOpenAbsences$)?5:-1),n(2),m(r(8,15,a.dashboardService.hasTeacherRole$)?7:-1),n(2),m(r(10,17,a.dashboardService.hasStudentRole$)?9:-1),n(2),m(r(12,19,a.dashboardService.hasStudentRole$)?11:-1),n(2),m(r(14,21,a.dashboardService.hasSubstituteAdministratorRole$)?13:-1))},dependencies:[Xe,et,w],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}"]})}}return e})();var ot=(()=>{class e{constructor(t,i){this.studentsRestService=t,this.router=i}navigateToDossier(t){return ue(this,null,function*(){let i=Number(t);yield this.router.navigate(["dashboard","student",i,"addresses"])})}static{this.\u0275fac=function(i){return new(i||e)(v(z),v(Ae))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-search"]],standalone:!0,features:[x],decls:1,vars:2,consts:[[3,"valueChange","typeaheadService","placeholder"]],template:function(i,a){i&1&&(c(0,"bkd-typeahead",0),N("valueChange",function(u){return u&&a.navigateToDossier(u)}),d()),i&2&&_("typeaheadService",a.studentsRestService)("placeholder","dashboard.search.placeholder")},dependencies:[Je],styles:["[_nghost-%COMP%]{display:block;padding:.75rem;background:#f7e9d2}"]})}}return e})();var rt=(()=>{class e{constructor(t){this.sanitizer=t}transform(t,i){switch(i){case"html":return this.sanitizer.bypassSecurityTrustHtml(t);case"style":return this.sanitizer.bypassSecurityTrustStyle(t);case"script":return this.sanitizer.bypassSecurityTrustScript(t);case"url":return this.sanitizer.bypassSecurityTrustUrl(t);case"resourceUrl":return this.sanitizer.bypassSecurityTrustResourceUrl(t);default:throw new Error(`Invalid safe type specified: ${i}`)}}static{this.\u0275fac=function(i){return new(i||e)(v(Ie,16))}}static{this.\u0275pipe=Ce({name:"safe",type:e,pure:!0,standalone:!0})}}return e})();function st(e){return{id:lt(e.EventId,e.Id),from:e.From,until:e.To,eventId:e.EventId,subject:e.EventDesignation,room:e.EventLocation||void 0,teacher:e.EventManagerInformation||void 0}}function dt(e){let s=e.reduce((t,i)=>{let a=lt(i.EventRef.Id,i.LessonRef.Id);return K(G({},t),{[a]:[...t[a]??[],i.StudyClassNumber]})},{});return Object.keys(s).reduce((t,i)=>K(G({},t),{[i]:Le([...s[i]].sort())}),{})}function ct(e,s){return e.map(t=>K(G({},t),{studyClass:s[t.id]?.join(", ")}))}function lt(e,s){return`${e}-${s}`}var Kt=(e,s)=>s.id;function Wt(e,s){e&1&&(c(0,"th"),l(1),o(2,"translate"),d()),e&2&&(n(),P(" ",r(2,1,"dashboard.timetable.table.teacher")," "))}function Yt(e,s){if(e&1&&(R(0),c(1,"a",3),l(2),c(3,"span",8),l(4),d()()),e&2){let t=f().$implicit,i=f(2).buildLink(t.eventId);n(),_("routerLink",i.link)("queryParams",i.params),n(),P(" ",t.subject,""),n(2),P(", ",t.studyClass,"")}}function Zt(e,s){if(e&1&&l(0),e&2){let t=f().$implicit;P(" ",t.subject," ")}}function Jt(e,s){if(e&1&&(c(0,"td",4),l(1),o(2,"translate"),d()),e&2){let t=f().$implicit;n(),le(" ",r(2,2,"dashboard.timetable.table.study-class"),": ",t.studyClass," ")}}function Qt(e,s){if(e&1&&(c(0,"td",5),l(1),d()),e&2){let t=f().$implicit;n(),P(" ",t.teacher," ")}}function Xt(e,s){e&1&&(c(0,"span",7),l(1),o(2,"translate"),d()),e&2&&(n(),D(r(2,1,"dashboard.timetable.table.room")))}function ei(e,s){if(e&1&&(c(0,"tr")(1,"td",1),l(2),o(3,"date"),o(4,"date"),d(),c(5,"td",2),p(6,Yt,5,4,"a",3),o(7,"async"),p(8,Zt,1,1),d(),p(9,Jt,3,4,"td",4),o(10,"async"),p(11,Qt,2,1,"td",5),o(12,"async"),c(13,"td",6),p(14,Xt,3,3,"span",7),l(15),d()()),e&2){let t=s.$implicit,i=f(2);n(2),le(" ",O(3,7,t.from,"HH:mm"),"\u2013",O(4,10,t.until,"HH:mm")," "),n(4),m(r(7,13,i.isTeacher$)?6:8),n(3),m(r(10,15,i.isTeacher$)?9:-1),n(2),m(r(12,17,i.isStudent$)?11:-1),n(3),m(t.room?14:-1),n(),P(" ",t.room," ")}}function ti(e,s){if(e&1&&(c(0,"table",0)(1,"thead")(2,"tr")(3,"th"),l(4),o(5,"translate"),d(),c(6,"th"),l(7),o(8,"translate"),d(),p(9,Wt,3,3,"th"),o(10,"async"),c(11,"th"),l(12),o(13,"translate"),d()()(),c(14,"tbody"),ye(15,ei,16,19,"tr",null,Kt),d()()),e&2){let t=f();n(4),D(r(5,4,"dashboard.timetable.table.time")),n(3),D(r(8,6,"dashboard.timetable.table.subject")),n(2),m(r(10,8,t.isStudent$)?9:-1),n(3),P(" ",r(13,10,"dashboard.timetable.table.room")," "),n(3),Se(t.entries)}}function ii(e,s){e&1&&(c(0,"p"),l(1),o(2,"translate"),d()),e&2&&(n(),D(r(2,1,"dashboard.timetable.no-entries")))}var pt=(()=>{class e{constructor(t){this.dashboardService=t,this.entries=[],this.isStudent$=this.dashboardService.hasStudentRole$,this.isTeacher$=this.dashboardService.hasLessonTeacherRole$}buildLink(t){return Ve(Qe(t,"/dashboard"))}static{this.\u0275fac=function(i){return new(i||e)(v(A))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-timetable-table"]],inputs:{entries:"entries"},standalone:!0,features:[x],decls:2,vars:1,consts:[[1,"table"],[1,"time"],[1,"subject"],[3,"routerLink","queryParams"],[1,"study-class"],[1,"teacher"],[1,"room"],[1,"room-label"],[1,"subject-study-class"]],template:function(i,a){i&1&&p(0,ti,17,12,"table",0)(1,ii,3,3,"p"),i&2&&m(a.entries.length>0?0:1)},dependencies:[w,J,E,I,X],styles:['td[_ngcontent-%COMP%], th[_ngcontent-%COMP%]{padding:1rem 1.75rem}.room-label[_ngcontent-%COMP%], td.study-class[_ngcontent-%COMP%]{display:none}@media (max-width: 767.98px){table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{display:none}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%]{border-top:1px solid var(--bs-border-color)}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"time room" "subject subject" "study-class study-class" "teacher teacher";gap:.5rem;padding:1rem;border-bottom:1px solid var(--bs-border-color)}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0;padding:0}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.time[_ngcontent-%COMP%]{grid-area:time;font-size:.875rem;line-height:1.125rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.subject[_ngcontent-%COMP%]{grid-area:subject;font-size:1rem;line-height:1.25rem;font-weight:400}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.teacher[_ngcontent-%COMP%]{grid-area:teacher;font-size:.8125rem;line-height:1.0625rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.room[_ngcontent-%COMP%]{grid-area:room;text-align:right;font-size:.875rem;line-height:1.125rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.study-class[_ngcontent-%COMP%]{grid-area:study-class;font-size:.8125rem;line-height:1.0625rem;font-weight:300}td.study-class[_ngcontent-%COMP%]{display:block}.subject-study-class[_ngcontent-%COMP%]{display:none}.room-label[_ngcontent-%COMP%]{display:inline}}']})}}return e})();var ni=ee({}),mt=(()=>{class e extends te{constructor(t,i){super(t,i,ni,"Teachers")}getTimetableEntries(t,i={}){let a=i instanceof pe?i:new pe({fromObject:i});return a=a.set("fields","Id,From,To,EventId,EventNumber,EventDesignation,EventLocation"),this.http.get(`${this.baseUrl}/${t}/TimetableEntries/CurrentSemester`,{params:a}).pipe(M(Be(qe)))}static{this.\u0275fac=function(i){return new(i||e)(T(Q),T(B))}}static{this.\u0275prov=F({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function oi(e,s){e&1&&(c(0,"a",6),o(1,"safe"),l(2),o(3,"translate"),d()),e&2&&(_("href",O(1,2,s,"url"),H),n(2),P(" ",r(3,5,"dashboard.timetable.subscribe-calendar")," "))}function ri(e,s){e&1&&C(0,"bkd-spinner")}function si(e,s){e&1&&(c(0,"a",8),o(1,"safe"),l(2),o(3,"translate"),d()),e&2&&(_("href",O(1,2,s,"url"),H),n(2),P(" ",r(3,5,"dashboard.timetable.subscribe-calendar")," "))}function di(e,s){if(e&1&&(C(0,"bkd-dashboard-timetable-table",7),p(1,si,4,7,"a",8),o(2,"async")),e&2){let t,i=f(),a=q(18);_("entries",a),n(),m((t=r(2,2,i.getSubscribeCalendarUrl()))?1:-1,t)}}var ci="cal",ht=(()=>{class e{constructor(t,i,a,h,u,$){this.teachersService=t,this.studentsService=i,this.lessonPresencesService=a,this.userSettings=h,this.dashboardService=u,this.loadingService=$,this.userId$=this.dashboardService.userId$,this.isTeacher$=this.dashboardService.hasLessonTeacherRole$,this.isStudent$=this.dashboardService.hasStudentRole$,this.date$=new be(me(new Date)),this.loading$=this.loadingService.loading$,this.timetableEntries$=this.loadTimetableEntries()}gotoToday(){this.date$.next(me(new Date))}gotoPreviousDay(){this.date$.next(Ue(this.date$.getValue(),1))}gotoNextDay(){this.date$.next(Ne(this.date$.getValue(),1))}getSubscribeCalendarUrl(){return this.userSettings.getSetting(ci)}loadTimetableEntries(){return W([this.isTeacher$,this.isStudent$,this.userId$,this.date$]).pipe(M(([t,i,a,h])=>{let u=()=>t?this.fetchTimetableEntries("teacher",a,h):i?this.fetchTimetableEntries("student",a,h):L([]);return this.loadingService.load(u())}),y(1))}fetchTimetableEntries(t,i,a){let h={"filter.From":`=${ze(a,"yyyy-MM-dd")}`,sort:"From,To"};return(t==="teacher"?this.teachersService.getTimetableEntries(i,h):this.studentsService.getTimetableEntries(i,h)).pipe(b(u=>u.map(st)),b(u=>we(u,$=>$.id)),M(u=>t==="teacher"?this.loadStudyClasses(a).pipe(b($=>ct(u,$))):L(u)))}loadStudyClasses(t){return this.lessonPresencesService.getLessonStudyClassesByDate(t).pipe(b(dt))}static{this.\u0275fac=function(i){return new(i||e)(v(mt),v(z),v(ie),v(ae),v(A),v(Ke))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-timetable"]],standalone:!0,features:[x],decls:23,vars:24,consts:[[1,"header"],["type","button",1,"btn","btn-primary","today",3,"click"],["type","button",1,"btn","btn-secondary","previous-day",3,"click"],[1,"material-icons"],["type","button",1,"btn","btn-secondary","next-day",3,"click"],[1,"date"],["target","_parent",1,"btn","btn-secondary","subscribe-calendar-header",3,"href"],[3,"entries"],["target","_parent",1,"btn","btn-secondary","subscribe-calendar-bottom",3,"href"]],template:function(i,a){if(i&1){let h=xe();c(0,"div",0)(1,"button",1),N("click",function(){return Y(h),Z(a.gotoToday())}),l(2),o(3,"translate"),d(),c(4,"button",2),o(5,"translate"),N("click",function(){return Y(h),Z(a.gotoPreviousDay())}),c(6,"span",3),l(7,"chevron_left"),d()(),c(8,"button",4),o(9,"translate"),N("click",function(){return Y(h),Z(a.gotoNextDay())}),c(10,"span",3),l(11,"chevron_right"),d()(),c(12,"div",5),l(13),o(14,"async"),o(15,"date"),d(),p(16,oi,4,7,"a",6),o(17,"async"),d(),R(18),o(19,"async"),p(20,ri,1,0,"bkd-spinner"),o(21,"async"),p(22,di,3,4)}if(i&2){let h;n(2),P(" ",r(3,6,"dashboard.timetable.today")," "),n(2),se("aria-label",r(5,8,"dashboard.timetable.previousDay")),n(4),se("aria-label",r(9,10,"dashboard.timetable.nextDay")),n(5),D(O(15,14,r(14,12,a.date$),"E, dd. MMMM yyyy")),n(3),m((h=r(17,17,a.getSubscribeCalendarUrl()))?16:-1,h),n(2),V(r(19,19,a.timetableEntries$)),n(2),m(r(21,22,a.loading$)?20:22)}},dependencies:[pt,ne,w,J,E,I,rt],styles:["[_nghost-%COMP%]{display:block;margin-bottom:1rem}.header[_ngcontent-%COMP%]{margin-top:1rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem}.previous-day[_ngcontent-%COMP%], .next-day[_ngcontent-%COMP%]{padding-left:.375rem;padding-right:.375rem}.date[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:600}.subscribe-calendar-header[_ngcontent-%COMP%]{margin-left:auto}.subscribe-calendar-bottom[_ngcontent-%COMP%]{display:none}a.btn[_ngcontent-%COMP%]{text-decoration:none}@media (max-width: 767.98px){.subscribe-calendar-header[_ngcontent-%COMP%]{display:none}.subscribe-calendar-bottom[_ngcontent-%COMP%]{display:block;margin-top:2rem}}@media (max-width: 767.98px) and (max-width: 575.98px){.header[_ngcontent-%COMP%]{flex-wrap:wrap-reverse}.header[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{width:100%}}"]})}}return e})();function li(e,s){e&1&&C(0,"bkd-spinner")}function pi(e,s){e&1&&(c(0,"p"),l(1),o(2,"translate"),d()),e&2&&(n(),P(" ",r(2,1,"dashboard.no-access")," "))}function mi(e,s){e&1&&(c(0,"div")(1,"h2"),l(2),o(3,"translate"),d(),C(4,"bkd-dashboard-search"),d()),e&2&&(n(2),D(r(3,1,"dashboard.search.title")))}function hi(e,s){e&1&&(c(0,"div")(1,"h2"),l(2),o(3,"translate"),d(),C(4,"bkd-dashboard-actions"),d()),e&2&&(n(2),D(r(3,1,"dashboard.actions.title")))}function ui(e,s){if(e&1&&(c(0,"div",1),p(1,mi,5,3,"div")(2,hi,5,3,"div"),d()),e&2){f();let t=q(2),i=q(4);n(),m(t?1:-1),n(),m(i?2:-1)}}function bi(e,s){e&1&&(c(0,"div",2)(1,"h2"),l(2),o(3,"translate"),d(),C(4,"bkd-dashboard-timetable"),d()),e&2&&(n(2),D(r(3,1,"dashboard.timetable.title")))}var ut=(()=>{class e{constructor(t){this.dashboardService=t}static{this.\u0275fac=function(i){return new(i||e)(v(A))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-layout"]],standalone:!0,features:[x],decls:17,vars:19,consts:[[1,"columns"],[1,"search-actions-column"],[1,"timetable-column"]],template:function(i,a){if(i&1&&(R(0),o(1,"async"),R(2),o(3,"async"),R(4),o(5,"async"),R(6),o(7,"async"),c(8,"div")(9,"h1"),l(10),o(11,"translate"),d(),p(12,li,1,0,"bkd-spinner")(13,pi,3,3,"p"),c(14,"div",0),p(15,ui,3,2,"div",1)(16,bi,5,3,"div",2),d()()),i&2){let h=r(1,7,a.dashboardService.loading$);n(2);let u=V(r(3,9,a.dashboardService.hasSearch$));n(2);let $=V(r(5,12,a.dashboardService.hasActions$)),U=r(7,15,a.dashboardService.hasTimetable$);n(5),ve("visually-hidden",h||u||$||U),n(),P(" ",r(11,17,"dashboard.heading")," "),n(2),m(h?12:-1),n(),m(!h&&!u&&!$&&!U?13:-1),n(2),m(u||$?15:-1),n(),m(U?16:-1)}},dependencies:[ne,ot,at,ht,w,E,I],styles:[".columns[_ngcontent-%COMP%]{display:flex;flex-direction:column}.columns[_ngcontent-%COMP%], .search-actions-column[_ngcontent-%COMP%]{gap:3rem}.search-actions-column[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;max-width:40rem}.timetable-column[_ngcontent-%COMP%]{flex:2}@media (min-width: 992px){.columns[_ngcontent-%COMP%]{flex-direction:row;gap:1.5rem}.search-actions-column[_ngcontent-%COMP%]{max-width:33%}}"],changeDetection:0})}}return e})();var bt=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard"]],standalone:!0,features:[Me([A,He]),x],decls:1,vars:0,template:function(i,a){i&1&&C(0,"router-outlet")},dependencies:[Ee],changeDetection:0})}}return e})();var An=[{path:"",component:bt,children:[{path:"",component:ut},Ze]}];export{An as DASHBOARD_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-7NNVHN3N.js b/public/apps/webapp-schulverwaltung/chunk-7NNVHN3N.js new file mode 100644 index 00000000..841dac20 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-7NNVHN3N.js @@ -0,0 +1 @@ +import{a,b as r}from"./chunk-TTJNYD2F.js";function d(n,t){let e=new URLSearchParams(t?{returnlink:t}:{});return`/events/current/${n}?${e}`}function u(n){let t=n.ParticipatingStudents?.map(e=>({id:e.Id,name:e.FullName,email:e.DisplayEmail??void 0}))??[];return{eventId:n.Id,eventDesignation:n.Designation,studyClasses:(n.Classes??[]).map(e=>e.Designation).sort(),entries:t}}function m(n,t){return r(a({},n),{entries:n.entries.map(e=>{let i=t.find(o=>o.StudentId===e.id),s=i?[i.CompanyName,i.CompanyNameAddition].filter(Boolean).join(" \u2013 "):void 0;return r(a({},e),{company:s})})})}function l(n,t,e){return{eventId:n,eventDesignation:e[0]?.EventDesignation??"",studyClasses:[],entries:t.map(i=>({id:i.Id,name:i.FullName,email:i.DisplayEmail??void 0,status:e.find(s=>s.PersonId===i.Id)?.Status}))}}function c(n,t){return r(a({},n),{entries:n.entries.map(e=>r(a({},e),{studyClass:t.find(i=>i.StudentRef.Id===e.id)?.StudyClassNumber}))})}export{d as a,u as b,m as c,l as d,c as e}; diff --git a/public/apps/webapp-schulverwaltung/chunk-RHGC3K7J.js b/public/apps/webapp-schulverwaltung/chunk-NHL2B7KA.js similarity index 80% rename from public/apps/webapp-schulverwaltung/chunk-RHGC3K7J.js rename to public/apps/webapp-schulverwaltung/chunk-NHL2B7KA.js index fa2844dc..2a4eeaf1 100644 --- a/public/apps/webapp-schulverwaltung/chunk-RHGC3K7J.js +++ b/public/apps/webapp-schulverwaltung/chunk-NHL2B7KA.js @@ -1,2 +1,2 @@ -import{a as Fi,b as Li,c as It,d as Pt,e as Di}from"./chunk-UHCZHU5Y.js";import{a as dt}from"./chunk-MEYGFUJC.js";import{a as lt,b as pt}from"./chunk-KY334V7F.js";import{a as ji}from"./chunk-GPFQRPOC.js";import{a as kt}from"./chunk-SWW2IZXB.js";import{e as $i}from"./chunk-QNGDMYF2.js";import{a as Et,b as yi,c as bi,d as xi,e as Ti,f as it,g as nt,h as wi,i as Ei,j as ki,k as Ii,l as Pi,m as Be,o as Mi,p as me,r as rt,s as Oi,u as Gi,v as at}from"./chunk-5FFJJJZ5.js";import"./chunk-VMOOBKG2.js";import{e as gi}from"./chunk-VF44T6U3.js";import{b as Si}from"./chunk-A4TCTMIL.js";import{a as hi}from"./chunk-Y4QYVF5K.js";import"./chunk-TCEEBBQP.js";import{a as Ri}from"./chunk-SIGO6MIP.js";import{a as ct,c as Bi}from"./chunk-LQFIH3S3.js";import{a as Ci,b as _i}from"./chunk-4QTA7R6W.js";import{a as fi,d as st}from"./chunk-VNNH2VUZ.js";import{d as vi}from"./chunk-HLEZ4C3Q.js";import"./chunk-5ZOEDVCI.js";import{L as ui,U as ot,p as mi}from"./chunk-G2L3C6GE.js";import{a as De,c as ci,l as Se}from"./chunk-2FCCHX6W.js";import{a as tt,b as Re}from"./chunk-KCOBA4SV.js";import{a as et,b as ye}from"./chunk-GWJDWK72.js";import{a as wt,b as ke,h as ni,i as ri,k as si,l as ai,r as Je,w as _e}from"./chunk-7TIAFCYF.js";import{a as Qe}from"./chunk-LXT7D3OU.js";import{$a as a,Ab as B,Ac as $e,Ad as ei,B as Lt,Bb as W,Bc as te,Bd as ti,C as Dt,Cb as j,Cd as Le,D as Rt,Db as se,Dd as ii,Eb as _,F as oe,Fb as Oe,Ga as bt,Gb as L,H as Z,Ha as Pe,Hb as Tt,J as He,Jd as oi,K as Bt,Kb as d,Kd as di,La as k,Lb as c,M as ee,Mb as D,Md as li,O as jt,Od as pi,P as F,Qa as m,Qb as qt,Qd as ae,R as ge,Ra as le,Rd as I,Sd as P,Td as Ze,Ub as Q,Va as T,X as de,Xa as Me,Ya as N,Za as U,_ as O,_a as s,a as A,aa as C,ab as x,b as H,bc as pe,ca as At,da as Vt,eb as $,ec as K,ed as Ce,f as re,fc as Ue,g as q,gb as S,h as yt,ha as Ie,hb as h,hd as ze,ia as w,ib as Wt,ja as E,jb as zt,jd as Fe,kb as fe,kd as qe,l as Y,la as Ht,ld as Yt,m as Ft,n as y,nc as We,o as J,od as Kt,pd as Xt,qa as ie,qb as ve,qd as Ye,rb as p,rd as Jt,sb as f,ta as Nt,tb as v,td as Qt,ua as R,ub as xt,ud as Zt,va as Ut,w as Ve,x as xe,xa as Ne,xb as Te,ya as r,yb as we,yc as ce,yd as Ke,za as b,zb as Ee,zc as Ge,zd as Xe}from"./chunk-TTJNYD2F.js";var $n=t=>[t,"tests"];function Fn(t,l){if(t&1&&(s(0,"span"),p(1),d(2,"date"),x(3,"wbr"),p(4),d(5,"date"),a()),t&2){let e=h();r(),v("",D(2,2,e.event().dateFrom,"dd.MM.yyyy"),"\u2013"),r(3),f(D(5,5,e.event().dateTo,"dd.MM.yyyy"))}}function Ln(t,l){if(t&1&&(s(0,"a",6)(1,"i",7),p(2,"arrow_right_alt"),a(),s(3,"span",8),p(4),a()()),t&2){let e=h(2);m("routerLink",L(2,$n,e.event().id)),r(4),f(e.event().evaluationText)}}function Dn(t,l){if(t&1&&(s(0,"a",6)(1,"i",7),p(2,"arrow_right_alt"),a(),s(3,"span",8),p(4),a()()),t&2){let e=h(2);m("routerLink",e.event().evaluationLink),r(4),v("",e.event().evaluationText," ")}}function Rn(t,l){if(t&1&&(s(0,"div",5),k(1,Ln,5,4,"a",6)(2,Dn,5,2,"a",6),a()),t&2){let e=h();r(),T(e.event().evaluationLink?-1:1),r(),T(e.event().evaluationLink?2:-1)}}var Ai=(()=>{class t{constructor(){this.event=R.required(),this.withRatings=R(!0),this.link=Q(()=>vi(this.event().detailLink))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-list-entry"]],inputs:{event:[1,"event"],withRatings:[1,"withRatings"]},standalone:!0,features:[_],decls:11,vars:9,consts:[[1,"designation"],[3,"routerLink","queryParams"],[1,"date"],[1,"registrations"],[1,"registrations-label"],[1,"rating"],[1,"d-flex",3,"routerLink"],[1,"material-icons"],[1,"ps-1"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"a",1),p(2),a()(),s(3,"div",2),k(4,Fn,6,8,"span"),a(),s(5,"div",3),p(6),s(7,"span",4),p(8),d(9,"translate"),a()(),k(10,Rn,3,2,"div",5)),i&2&&(r(),m("routerLink",n.link().link)("queryParams",n.link().params),r(),f(n.event().designation),r(2),T(n.event().dateFrom&&n.event().dateTo?4:-1),r(2),v(" ",n.event().studentCount," "),r(2),f(c(9,7,n.event().studentCount===1?"events.registration":"events.registrations")),r(2),T(n.withRatings()&&n.event().evaluationText?10:-1))},dependencies:[te,Ue,P,I],styles:['[_nghost-%COMP%]{display:grid;padding:1rem;border-bottom:1px solid #dee2e6;grid-template-areas:"designation date registrations rating";grid-template-columns:4fr 2fr 2fr 3fr}.designation[_ngcontent-%COMP%]{grid-area:designation;padding-right:1rem}.date[_ngcontent-%COMP%]{grid-area:date;padding-right:1rem}.registrations[_ngcontent-%COMP%]{grid-area:registrations;padding-right:1rem}.rating[_ngcontent-%COMP%]{grid-area:rating}.rating[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.rating[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.rating[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.registrations-label[_ngcontent-%COMP%]{display:none}@media (max-width: 575.98px){.registrations-label[_ngcontent-%COMP%]{display:inline}.designation[_ngcontent-%COMP%], .date[_ngcontent-%COMP%], .registrations[_ngcontent-%COMP%]{padding-right:0}[_nghost-%COMP%]{grid-template-areas:"designation" "date" "registrations" "rating";grid-template-columns:1fr}}']})}}return t})();var Bn=10300,jn=10260,An=10250,Vn=14030,Hn=10350;function mt(t){let{HasEvaluationStarted:l,EvaluationUntil:e,HasTestGrading:i}=t.EvaluationStatusRef;if(l===!0&&(t.StatusId===Vn||t.StatusId===Hn))return{value:ne.Rating};if(l===!0&&i===!1){if(e)return{value:ne.RatingUntil};if(t.StatusId===Bn)return{value:ne.IntermediateRating}}return l===!1&&i===!0&&t.StatusId!==jn&&t.StatusId!==An?{value:ne.Tests}:l===!0&&i===!0?e?{value:ne.Tests,label:ne.RatingUntil}:{value:ne.Tests,label:ne.IntermediateRating}:null}function Vi(t){return t.EvaluationStatusRef.HasEvaluationStarted===!0}function Hi(t){return t.EvaluationStatusRef.HasReviewOfEvaluationStarted===!0&&!!t.FinalGrades?.length}function ut(t){let l=t.Classes?t.Classes.map(e=>e.Number).join(", "):null;return l?t.Designation+", "+l:t.Designation}function Ni(t,l){return t?(l.Leadership??"").split(",").some(e=>e.trim()===t.fullname):!1}var ne=function(t){return t.Rating="rating",t.RatingUntil="rating-until",t.IntermediateRating="intermediate-rating",t.Tests="add-tests",t}(ne||{}),je=(()=>{class t{constructor(e,i,n,o,u,g,G,z,ue){this.coursesRestService=e,this.eventsRestService=i,this.studyClassRestService=n,this.subscriptionsRestService=o,this.loadingService=u,this.storageService=g,this.translate=G,this.router=z,this.settings=ue,this.loading$=this.loadingService.loading$,this.searchFields$=new q(["designation"]),this.searchSubject$=new q(""),this.search$=this.searchSubject$.asObservable(),this.roles$=new q(null),this.isClassTeacher$=this.roles$.pipe(y(he=>hi(he,"ClassTeacherRole")),ee(1)),this.withStudyCourses$=new q(!1),this.unratedCourses$=this.roles$.pipe(F(this.loadUnratedCourses.bind(this)),ee(1)),this.studyCourses$=this.withStudyCourses$.pipe(F(this.loadStudyCourses.bind(this)),ee(1)),this.formativeAssessments$=this.isClassTeacher$.pipe(F(this.loadFormativeAssessments.bind(this)),ee(1)),this.studyClasses$=this.isClassTeacher$.pipe(F(this.loadStudyClasses.bind(this)),ee(1)),this.events$=this.getEvents().pipe(ee(1)),this.filteredEvents$=J([this.events$,this.searchFields$,this.search$]).pipe(y(Se(lt)))}setSearch(e){this.searchSubject$.next(e)}setRoles(e){this.roles$.next(e)}setWithStudyCourses(e){this.withStudyCourses$.next(e)}setSearchFields(e){this.searchFields$.next(e)}getEntries(e=!1){return this.filteredEvents$.pipe(y(i=>e?i.filter(n=>n.evaluationText):i))}getEvents(){return this.loadingService.load(J([this.unratedCourses$,this.studyCourses$,this.formativeAssessments$,this.studyClasses$]),{stopOnFirstValue:!0}).pipe(y(Se(this.createAndSortEvents.bind(this))))}loadUnratedCourses(e){return this.coursesRestService.getExpandedCourses(e).pipe(y(i=>i.filter(n=>!Hi(n))))}loadStudyCourses(e){if(!e)return Y([]);let i=this.storageService.getPayload();return this.eventsRestService.getStudyCourseEvents().pipe(y(n=>n.filter(o=>Ni(i,o))),F(n=>this.subscriptionsRestService.getSubscriptionCountsByEvents(n.map(o=>o.Id)).pipe(y(o=>n.map(u=>H(A({},u),{StudentCount:o[u.Id]??0}))))))}loadFormativeAssessments(e){return e?this.studyClassRestService.getActiveFormativeAssessments():Y([])}loadStudyClasses(e){return e?this.studyClassRestService.getActive():Y([])}createAndSortEvents(e,i,n,o){let u=o.filter(g=>!n.map(G=>G.Id).includes(g.Id));return[...this.createFromCourses(e),...this.createFromStudyCourses(i),...this.createFromAssessments(n),...this.createFromStudyClasses(u)].sort((g,G)=>g.designation.localeCompare(G.designation))}createFromCourses(e){return e.map(i=>{let n=mt(i);return{id:i.Id,designation:ut(i),detailLink:this.buildStudentsLink(i.Id),studentCount:i.AttendanceRef.StudentCount||0,dateFrom:i.DateFrom,dateTo:i.DateTo,state:n?.value||null,evaluationText:this.getEvaluationText(n,i.EvaluationStatusRef.EvaluationUntil),evaluationLink:n?.value&&n?.value!==ne.Tests?this.buildEvaluationLink(i.Id):null}})}createFromStudyCourses(e){return e.map(i=>({id:i.Id,designation:i.Designation,detailLink:this.buildStudentsLink(i.Id),studentCount:i.StudentCount,state:null}))}createFromAssessments(e){return this.createFromStudyClasses(e).map(n=>H(A({},n),{state:ne.Rating,evaluationText:this.translate.instant("events.state.rating"),evaluationLink:this.buildEvaluationLink(n.id)}))}createFromStudyClasses(e){return e.map(i=>({id:i.Id,designation:i.Number,detailLink:this.buildStudentsLink(i.Id),studentCount:i.StudentCount,state:null}))}getEvaluationText(e,i){let n=e?.label||e?.value;return n?this.translate.instant(`events.state.${n}`)+(n===ne.RatingUntil?` ${i?mi(i,"dd.MM.yyyy"):""}`:""):""}buildStudentsLink(e){return Fi(e,this.router.url)}buildEvaluationLink(e){return(this.settings.eventlist.evaluation??"").replace(":id",String(e))}static{this.\u0275fac=function(i){return new(i||t)(O(me),O(dt),O(ji),O(rt),O(Re),O(Ze),O(ae),O($e),O(Ce))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var qn=(t,l)=>l.id,Yn=()=>[];function Kn(t,l){t&1&&x(0,"bkd-spinner")}function Xn(t,l){t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2&&(r(),v(" ",c(2,1,"events.rating")," "))}function Jn(t,l){if(t&1&&x(0,"bkd-events-list-entry",8),t&2){let e=l.$implicit,i=h(3);m("event",e)("withRatings",i.withRatings)}}function Qn(t,l){if(t&1&&(s(0,"div",3)(1,"div",4),p(2),d(3,"translate"),a(),s(4,"div",5),p(5),d(6,"translate"),a(),s(7,"div",6),p(8),d(9,"translate"),a(),k(10,Xn,3,3,"div",7),a(),N(11,Jn,1,2,"bkd-events-list-entry",8,qn)),t&2){let e=h(2),i=j(0);r(2),f(c(3,4,"events.designation")),r(3),f(c(6,6,"events.date")),r(3),v(" ",c(9,8,"events.registrations")," "),r(2),T(e.withRatings?10:-1),r(),U(i)}}function Zn(t,l){t&1&&(s(0,"p",2),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events.no-events")))}function er(t,l){if(t&1&&k(0,Qn,13,10)(1,Zn,3,3,"p",2),t&2){h();let e=j(0);T(e.length>0?0:1)}}var Wi=["designation"],tr=[...Wi,"evaluationText"],gt=(()=>{class t{constructor(e,i){this.state=e,this.storage=i,this.withStudyCourses=!1,this.withRatings=!0,this.state.setRoles(this.storage.getPayload()?.roles??null)}ngOnChanges(e){e.withStudyCourses&&this.state.setWithStudyCourses(e.withStudyCourses.currentValue),e.withRatings&&this.state.setSearchFields(e.withRatings.currentValue?tr:Wi)}static{this.\u0275fac=function(i){return new(i||t)(b(je),b(Ze))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-list"]],inputs:{withStudyCourses:"withStudyCourses",withRatings:"withRatings"},standalone:!0,features:[Ie,_],decls:10,vars:17,consts:[[1,"bkd-container"],[1,"d-flex","search",3,"valueChange","value","placeholder","label","disabled"],[1,"mt-3"],[1,"event-header"],[1,"designation"],[1,"date"],[1,"registrations"],[1,"rating"],[3,"event","withRatings"]],template:function(i,n){if(i&1){let o=$();B(0),d(1,"async"),s(2,"div",0)(3,"bkd-resettable-input",1),d(4,"async"),d(5,"translate"),d(6,"translate"),S("valueChange",function(g){return w(o),E(n.state.setSearch(g))}),a(),k(7,Kn,1,0,"bkd-spinner"),d(8,"async"),k(9,er,2,1),a()}if(i&2){let o,u=W((o=c(1,5,n.state.getEntries(n.withRatings)))!==null&&o!==void 0?o:Oe(16,Yn));r(3),m("value",c(4,8,n.state.search$))("placeholder",c(5,10,"events.search-by"))("label",c(6,12,"events.search"))("disabled",!u),r(4),T(c(8,14,n.state.loading$)?7:9)}},dependencies:[pt,ye,K,P,I,Ai],styles:['.search[_ngcontent-%COMP%]{max-width:500px}.event-header[_ngcontent-%COMP%]{display:grid;padding:1rem;border-bottom:2px solid #dee2e6;grid-template-areas:"designation date registrations rating";grid-template-columns:4fr 2fr 2fr 3fr}@media (max-width: 575.98px){.event-header[_ngcontent-%COMP%]{display:none}}']})}}return t})();var zi=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-current"]],standalone:!0,features:[_],decls:4,vars:5,consts:[[3,"withStudyCourses","withRatings"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),d(2,"translate"),a(),x(3,"bkd-events-list",0)),i&2&&(r(),f(c(2,3,"events.current.title")),r(2),m("withStudyCourses",!0)("withRatings",!1))},dependencies:[gt,P,I]})}}return t})();var qi=(()=>{class t{constructor(){this.entry=R.required(),this.multipleStudyClasses=R(!1),this.returnLink=R(null),this.link=Q(()=>["student",this.entry().id,"addresses"]),this.linkParams=Q(()=>{let e=this.returnLink();return e?{returnparams:new URLSearchParams({returnlink:e}).toString()}:{}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-course-entry"]],inputs:{entry:[1,"entry"],multipleStudyClasses:[1,"multipleStudyClasses"],returnLink:[1,"returnLink"]},standalone:!0,features:[_],decls:7,vars:10,consts:[[1,"avatar","large",3,"studentId","link","linkParams"],[1,"name",3,"title","routerLink","queryParams"],[1,"study-class"],[1,"company",3,"title"]],template:function(i,n){i&1&&(x(0,"bkd-avatar",0),s(1,"a",1),p(2),a(),s(3,"div",2),p(4),a(),s(5,"div",3),p(6),a()),i&2&&(m("studentId",n.entry().id)("link",n.link())("linkParams",n.linkParams()),r(),m("title",n.entry().name)("routerLink",n.link())("queryParams",n.linkParams()),r(),f(n.entry().name),r(2),v(" ",n.multipleStudyClasses()?n.entry().studyClass:"",` -`),r(),m("title",n.entry().company),r(),f(n.entry().company))},dependencies:[te,$i],styles:['[_nghost-%COMP%]{display:grid;grid-template-columns:min-content 1fr;grid-template-rows:min-content min-content 1fr;grid-template-areas:"avatar name" "avatar study-class" "avatar company";padding:2rem 1rem}.avatar[_ngcontent-%COMP%]{grid-area:avatar;margin-right:1.5rem}.name[_ngcontent-%COMP%]{grid-area:name}.study-class[_ngcontent-%COMP%]{grid-area:study-class;font-size:.875rem}.company[_ngcontent-%COMP%]{grid-area:company;align-content:end;padding-bottom:1.5rem}.name[_ngcontent-%COMP%], .company[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}'],changeDetection:0})}}return t})();var ir=t=>({count:t});function nr(t,l){if(t&1&&(s(0,"div",0),p(1),d(2,"translate"),a()),t&2){h();let e=j(2);r(),v(" ",D(2,1,e===1?"events-students.registration":"events-students.registrations",L(4,ir,e))," ")}}var ft=(()=>{class t{constructor(){this.title=R.required(),this.count=R(null),this.searchTerm=Pe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-header"]],inputs:{title:[1,"title"],count:[1,"count"],searchTerm:[1,"searchTerm"]},outputs:{searchTerm:"searchTermChange"},standalone:!0,features:[_],decls:7,vars:10,consts:[[1,"additional-info"],[1,"search",3,"valueChange","value","placeholder","label"]],template:function(i,n){if(i&1){let o=$();s(0,"h1"),p(1),a(),B(2),k(3,nr,3,6,"div",0),s(4,"bkd-resettable-input",1),d(5,"translate"),d(6,"translate"),S("valueChange",function(g){return w(o),E(n.searchTerm.set(g))}),a()}if(i&2){r(),f(n.title()),r();let o=W(n.count());r(),T(o!==null?3:-1),r(),m("value",n.searchTerm())("placeholder",c(5,6,"events-students.search-placeholder"))("label",c(6,8,"events-students.search"))}},dependencies:[P,I,pt],styles:["h1[_ngcontent-%COMP%]{margin-bottom:0}.search[_ngcontent-%COMP%]{margin-top:1rem;display:flex;max-width:300px}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}"],changeDetection:0})}}return t})();var rr=(t,l)=>l.id;function sr(t,l){t&1&&(s(0,"p"),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function ar(t,l){if(t&1&&x(0,"bkd-events-students-course-entry",2),t&2){let e=l.$implicit,i=h();m("entry",e)("multipleStudyClasses",i.multipleStudyClasses())("returnLink",i.returnLink())}}var Yi=(()=>{class t{constructor(){this.title=R.required(),this.count=R.required(),this.entries=R.required(),this.multipleStudyClasses=R(!1),this.returnLink=R(null),this.searchTerm=Pe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-course-list"]],inputs:{title:[1,"title"],count:[1,"count"],entries:[1,"entries"],multipleStudyClasses:[1,"multipleStudyClasses"],returnLink:[1,"returnLink"],searchTerm:[1,"searchTerm"]},outputs:{searchTerm:"searchTermChange"},standalone:!0,features:[_],decls:5,vars:4,consts:[[3,"searchTermChange","title","count","searchTerm"],[1,"list"],[3,"entry","multipleStudyClasses","returnLink"]],template:function(i,n){i&1&&(s(0,"bkd-events-students-header",0),Ee("searchTermChange",function(u){return we(n.searchTerm,u)||(n.searchTerm=u),u}),a(),s(1,"section",1),k(2,sr,3,3,"p"),N(3,ar,1,3,"bkd-events-students-course-entry",2,rr),a()),i&2&&(m("title",n.title())("count",n.count()),Te("searchTerm",n.searchTerm),r(2),T(n.entries().length===0?2:-1),r(),U(n.entries()))},dependencies:[P,I,ft,qi],styles:["[_nghost-%COMP%]{display:block;overflow:hidden}section.list[_ngcontent-%COMP%]{width:calc(100% + 1px);margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}bkd-events-students-course-entry[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6}"],changeDetection:0})}}return t})();var Ki=(()=>{class t{constructor(){this.entry=R.required(),this.returnLink=R(null),this.link=Q(()=>["student",this.entry().id,"absences"]),this.linkParams=Q(()=>{let e=this.returnLink();return e?{returnparams:new URLSearchParams({returnlink:e}).toString()}:{}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-study-course-entry"]],inputs:{entry:[1,"entry"],returnLink:[1,"returnLink"]},standalone:!0,features:[_],decls:4,vars:4,consts:[[1,"name",3,"routerLink","queryParams"],[1,"status"]],template:function(i,n){i&1&&(s(0,"a",0),p(1),a(),s(2,"div",1),p(3),a()),i&2&&(m("routerLink",n.link())("queryParams",n.linkParams()),r(),f(n.entry().name),r(2),f(n.entry().status))},dependencies:[te],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;align-items:stretch;border-bottom:1px solid #dee2e6}.name[_ngcontent-%COMP%], .status[_ngcontent-%COMP%]{padding:1rem}.name[_ngcontent-%COMP%]{flex:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status[_ngcontent-%COMP%]{flex:1;padding-left:0}@media (max-width: 750px){[_nghost-%COMP%]{flex-direction:column}.name[_ngcontent-%COMP%]{padding-bottom:0}.status[_ngcontent-%COMP%]{padding-top:0;padding-left:1rem;font-size:.875rem}}"],changeDetection:0})}}return t})();var or=(t,l)=>l.id;function dr(t,l){if(t&1){let e=$();s(0,"div",2)(1,"div",4),S("click",function(){w(e);let n=h();return E(n.toggleSort.emit())}),p(2),d(3,"translate"),s(4,"span",5),p(5),a()()()}if(t&2){let e=h();r(),m("className",e.primarySortKey),r(),v(" ",c(3,3,"events-students.list.header."+e.primarySortKey)," "),r(3),f(e.getSortDirectionCharacter(e.sortCriteria()))}}function lr(t,l){t&1&&(s(0,"p"),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function pr(t,l){if(t&1&&x(0,"bkd-events-students-study-course-entry",3),t&2){let e=l.$implicit,i=h();m("entry",e)("returnLink",i.returnLink())}}var Xi=(()=>{class t{constructor(){this.title=R.required(),this.count=R.required(),this.entries=R.required(),this.returnLink=R(null),this.sortCriteria=R.required(),this.toggleSort=Nt(),this.searchTerm=Pe(),this.primarySortKey="name"}getSortDirectionCharacter(e){return e.ascending?"\u2191":"\u2193"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-study-course-list"]],inputs:{title:[1,"title"],count:[1,"count"],entries:[1,"entries"],returnLink:[1,"returnLink"],sortCriteria:[1,"sortCriteria"],searchTerm:[1,"searchTerm"]},outputs:{toggleSort:"toggleSort",searchTerm:"searchTermChange"},standalone:!0,features:[se([]),_],decls:6,vars:4,consts:[[3,"searchTermChange","title","count","searchTerm"],[1,"list"],[1,"list-header"],[3,"entry","returnLink"],[1,"name",3,"click","className"],[1,"sort-direction"]],template:function(i,n){i&1&&(s(0,"bkd-events-students-header",0),Ee("searchTermChange",function(u){return we(n.searchTerm,u)||(n.searchTerm=u),u}),a(),s(1,"section",1),k(2,dr,6,5,"div",2)(3,lr,3,3,"p"),N(4,pr,1,2,"bkd-events-students-study-course-entry",3,or),a()),i&2&&(m("title",n.title())("count",n.count()),Te("searchTerm",n.searchTerm),r(2),T(n.entries().length>0?2:3),r(2),U(n.entries()))},dependencies:[P,I,ft,Ki],styles:[".list-header[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;border-bottom:2px solid #dee2e6}.name[_ngcontent-%COMP%]{padding:1rem}"],changeDetection:0})}}return t})();var Ji=(()=>{class t extends et{constructor(e,i){super(e,i,Ci,"ApprenticeshipContracts")}getCompaniesForStudents(e){let i=new Date,n={"filter.StudentId":`;${e.join(";")}`,"filter.ApprenticeshipDateFrom":`<${i.toISOString()}`,"filter.ApprenticeshipDateTo":`>${i.toISOString()}`,fields:"Id,StudentId,CompanyName,CompanyNameAddition"};return this.http.get(`${this.baseUrl}/`,{params:n}).pipe(F(pi(_i)))}static{this.\u0275fac=function(i){return new(i||t)(O(We),O(Ce))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var vt=1;var Qi=10,Ct=(()=>{class t{constructor(e,i,n,o,u,g,G,z,ue){this.route=e,this.loadingService=i,this.eventsService=n,this.coursesService=o,this.subscriptionsService=u,this.personsService=g,this.apprenticeshipContractsService=G,this.lessonPresencesService=z,this.reportsService=ue,this.eventId$=this.route.paramMap.pipe(y(he=>Number(he.get("id")))),this.eventTypeId=ke(this.eventId$.pipe(F(this.loadEventTypeId.bind(this))),{initialValue:null}),this.studentEntries=ke(this.loadStudentEntries(),{initialValue:null}),this.isStudyCourse=Q(()=>this.eventTypeId()===vt),this.loading=ke(this.loadingService.loading(ct)),this.title=Q(()=>this.getTitle(this.studentEntries())),this.multipleStudyClasses=Q(()=>(this.studentEntries()?.studyClasses?.length??0)>1),this.searchTerm=bt(""),this.sortCriteria=bt({primarySortKey:"name",ascending:!0}),this.entries=Q(()=>this.studentEntries()?.entries??[]),this.sortedEntries=Q(()=>this.sortStudentEntries(this.entries(),this.sortCriteria())),this.filteredEntries=Q(()=>lt(this.sortedEntries(),["name","status","company","studyClass"],this.searchTerm())),this.mailtoLink=Q(()=>this.getMailtoLink(this.eventTypeId(),this.entries())),this.reports=ke(J([this.eventId$,wt(this.eventTypeId).pipe(xe(_e))]).pipe(F(Se(this.loadReports.bind(this)))),{initialValue:[]})}loadEventTypeId(e){return this.loadingService.load(this.eventsService.getEventTypeId(e),ct)}loadStudentEntries(){return J([this.eventId$,wt(this.eventTypeId)]).pipe(F(([e,i])=>{let n=()=>{switch(i){case null:return Y(null);case vt:return this.loadStudyCourseStudents(e);case Qi:return this.loadStudyClassStudents(e);default:return this.loadCourseStudents(e)}};return this.loadingService.load(n(),ct)}))}toggleSort(){this.sortCriteria.update(e=>H(A({},e),{ascending:!e.ascending}))}loadStudyCourseStudents(e){return this.subscriptionsService.getSubscriptionsByCourse(e).pipe(F(i=>this.personsService.getSummaries(i.map(({PersonId:n})=>n).filter(_e)).pipe(y(n=>Pt(e,n,i)))))}loadStudyClassStudents(e){return this.subscriptionsService.getSubscriptionsByCourse(e,{"filter.IsOkay":"=1"}).pipe(F(i=>{let n=i.map(({PersonId:o})=>o).filter(_e);return J([this.personsService.getSummaries(n),this.apprenticeshipContractsService.getCompaniesForStudents(n)]).pipe(y(([o,u])=>{let g=Pt(e,o,i);return It(g,u)}))}))}loadCourseStudents(e){return this.coursesService.getExpandedCourseWithParticipants(e).pipe(y(Li),F(i=>J([this.apprenticeshipContractsService.getCompaniesForStudents(i.entries.map(({id:n})=>n)),this.lessonPresencesService.getLessonStudyClassesByEvent(e)]).pipe(y(([n,o])=>{let u=It(i,n);return Di(u,o)}))))}getTitle(e){if(!e||!e.eventDesignation)return null;let{eventDesignation:i,studyClasses:n}=e;return[i,...n].join(", ")}getMailtoLink(e,i){if(e===null||e===vt)return null;let n=i.map(o=>o.email).filter(Boolean);return n.length>0?`mailto:${n.join(";")}`:null}loadReports(e,i){switch(i){case null:case vt:return Y([]);case Qi:return this.reportsService.getStudyClassStudentsReports(e);default:return this.reportsService.getCourseStudentsReports(e)}}sortStudentEntries(e,i){return[...e].sort(hr(i))}static{this.\u0275fac=function(i){return new(i||t)(O(ce),O(Re),O(dt),O(me),O(rt),O(Si),O(Ji),O(gi),O(st))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function hr(t){return(l,e)=>t.ascending?l.name.localeCompare(e.name):e.name.localeCompare(l.name)}var fr=t=>[t];function vr(t,l){if(t&1&&(s(0,"a",4)(1,"i",6),p(2,"mail"),a()()),t&2){let e=h(2);m("href",e.state.mailtoLink(),Ne)}}function Cr(t,l){if(t&1&&(s(0,"bkd-backlink",0)(1,"div",3),k(2,vr,3,1,"a",4),x(3,"bkd-reports-link",5),a()()),t&2){let e=h(),i=j(0);m("link",L(3,fr,i)),r(2),T(e.state.mailtoLink()?2:-1),r(),m("reports",e.state.reports())}}function _r(t,l){t&1&&x(0,"bkd-spinner")}function Sr(t,l){t&1&&(s(0,"p"),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function yr(t,l){if(t&1){let e=$();s(0,"bkd-events-students-study-course-list",7),S("toggleSort",function(){w(e);let n=h();return E(n.state.toggleSort())}),Ee("searchTermChange",function(n){w(e);let o=h();return we(o.state.searchTerm,n)||(o.state.searchTerm=n),E(n)}),a()}if(t&2){let e=h();m("title",e.state.title())("count",e.state.entries().length)("entries",e.state.filteredEntries())("returnLink",e.returnLink())("sortCriteria",e.state.sortCriteria()),Te("searchTerm",e.state.searchTerm)}}function br(t,l){if(t&1){let e=$();s(0,"bkd-events-students-course-list",8),Ee("searchTermChange",function(n){w(e);let o=h();return we(o.state.searchTerm,n)||(o.state.searchTerm=n),E(n)}),a()}if(t&2){let e=h();m("title",e.state.title())("count",e.state.entries().length)("entries",e.state.filteredEntries())("multipleStudyClasses",e.state.multipleStudyClasses())("returnLink",e.returnLink()),Te("searchTerm",e.state.searchTerm)}}var Zi=(()=>{class t{constructor(e,i){this.state=e,this.route=i,this.returnLink=ke(this.route.queryParams.pipe(y(({returnlink:n})=>n?decodeURIComponent(n):null)))}static{this.\u0275fac=function(i){return new(i||t)(b(Ct),b(ce))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-list"]],standalone:!0,features:[_],decls:6,vars:3,consts:[[3,"link"],[3,"title","count","entries","returnLink","sortCriteria","searchTerm"],[3,"title","count","entries","multipleStudyClasses","returnLink","searchTerm"],[1,"d-flex"],["target","_blank",1,"mail","btn","btn-primary","btn-icon","me-2",3,"href"],[1,"ms-2",3,"reports"],[1,"material-icons"],[3,"toggleSort","searchTermChange","title","count","entries","returnLink","sortCriteria","searchTerm"],[3,"searchTermChange","title","count","entries","multipleStudyClasses","returnLink","searchTerm"]],template:function(i,n){if(i&1&&(B(0),k(1,Cr,4,5,"bkd-backlink",0)(2,_r,1,0,"bkd-spinner")(3,Sr,3,3,"p")(4,yr,1,6,"bkd-events-students-study-course-list",1)(5,br,1,6,"bkd-events-students-course-list",2)),i&2){let o=W(n.returnLink());r(),T(o?1:-1),r(),T(n.state.loading()?2:n.state.entries().length===0?3:n.state.isStudyCourse()?4:5)}},dependencies:[P,I,ye,ot,tt,Yi,Xi],changeDetection:0})}}return t})();var en=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students"]],standalone:!0,features:[se([Ct]),_],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[Ge],encapsulation:2,changeDetection:0})}}return t})();var tn=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-tests"]],standalone:!0,features:[_],decls:4,vars:4,consts:[[3,"withRatings"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),d(2,"translate"),a(),x(3,"bkd-events-list",0)),i&2&&(r(),f(c(2,2,"events.title")),r(2),m("withRatings",!0))},dependencies:[gt,P,I]})}}return t})();var nn=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events"]],standalone:!0,features:[se([je,ui]),_],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[Ge]})}}return t})();function rn(t){return l=>{let e=Number(l.value);return e<=t?{greaterThan:{value:e,greaterThanValue:t}}:null}}function Mt(t){return t.map(({finalGrade:l})=>l).filter(xr)}function xr(t){return t!==null}function on(t,l,e,i){return t?.map(n=>({student:n,finalGrade:wr(n,e,i),grades:Tr(n,l)}))}function Tr(t,l){return l.map(e=>{if(e.Results===void 0||e.Results?.length===0)return{kind:"no-result",test:e};let i=e.Results?.find(n=>n.StudentId===t.Id);return i!==void 0?{kind:"grade",result:i,test:e}:{kind:"no-result",test:e}})}function wr(t,l,e){let i=l.find(o=>o.StudentId===t.Id),n=e.find(o=>o.StudentId===t.Id);return i?{id:i.Id,average:Er(i),finalGradeId:i.GradeId,freeHandGrade:n?Number(n.Grade):null,canGrade:i.CanGrade}:null}function Er(t){return t.AverageTestResult===0?null:t.AverageTestResult}var dn=({key:t,ascending:l})=>(e,i)=>{let n=l?1:-1;switch(t){case"FullName":return n*e.student.FullName.localeCompare(i.student.FullName);case"FinalGrade":return!e.finalGrade?.finalGradeId||!i.finalGrade?.finalGradeId?n*-1:n*sn(e.finalGrade.finalGradeId,i.finalGrade.finalGradeId);case"TestsMean":return!e.finalGrade?.average||!i.finalGrade?.average?n*-1:n*sn(e.finalGrade.average,i.finalGrade.average)}return n*kr(t,e,i)},kr=(t,l,e)=>{let i=l.grades.filter(an).find(o=>o.test.Id===t.Id),n=e.grades.filter(an).find(o=>o.test.Id===t.Id);return t.IsPointGrading&&i?.result.GradeId===n?.result.GradeId?(i?.result.Points??0)-(n?.result.Points??0):((i?.result.GradeId??Number.POSITIVE_INFINITY)-(n?.result.GradeId??Number.POSITIVE_INFINITY))*-1};function sn(t,l){return t===l?0:te.average).filter(e=>e!=null&&e!==0).map(Number);return Et(l)}function cn(t,l){let e=t.map(n=>n.freeHandGrade).filter(n=>!!n),i=t.map(n=>n.finalGradeId).filter(n=>n!==null).map(n=>l.find(o=>o.Key===n)).filter(n=>n!==void 0).map(n=>n?.Value).filter(n=>n!==void 0).map(Number).filter(n=>!isNaN(n));return Et([...i,...e])}function Ot(t,l){return[...l.filter(e=>e.Id!==t?.Id),t].filter(e=>e!=null)}function mn({id:t,selectedGradeId:l},e){return e.map(i=>i.Id!==t?i:H(A({},i),{GradeId:l}))}function un(t,l){switch(l.type){case"reset":return l.payload;case"updateResult":return t?H(A({},t),{Tests:bi(l.payload.testResult,t.Tests||[],l.payload.ignore),Gradings:l.payload.grading?Ot(l.payload.grading,t.Gradings||[]):t.Gradings}):null;case"deleteResult":return t?H(A({},t),{Tests:xi(l.payload.testId,l.payload.studentId,t.Tests||[]),Gradings:l.payload.grading?Ot(l.payload.grading,t.Gradings||[]):t.Gradings||[]}):null;case"toggle-test-state":return t?H(A({},t),{Tests:Ti(l.payload,t.Tests||[])}):null;case"final-grade-overwritten":return t?H(A({},t),{Gradings:mn({id:l.payload.id,selectedGradeId:l.payload.selectedGradeId},t.Gradings||[])}):null;case"replace-grades":return t?H(A({},t),{Gradings:l.payload}):null;case"delete-test":return t?H(A({},t),{Tests:wi(l.payload,t.Tests||[])}):null;default:return t}}var hn=(()=>{class t extends et{constructor(e,i){super(e,i,Mi,"Gradings")}updateGrade(e,i){return this.http.put(`${this.baseUrl}/${e}`,{GradeId:i}).pipe(y(()=>e))}static{this.\u0275fac=function(i){return new(i||t)(O(We),O(Ce))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Gt={onlyMine:!1,hidePublished:!1},X=(()=>{class t{constructor(e,i,n,o,u){this.coursesRestService=e,this.gradingScalesRestService=i,this.gradingsRestService=n,this.loadingService=o,this.sortService=u,this.action$=new yt(1),this.loading$=this.loadingService.loading$,this._courseId$=new yt(1),this.courseId$=this._courseId$.asObservable(),this.fetchedCourse$=this._courseId$.pipe(F(g=>this.loadingService.load(this.coursesRestService.getExpandedCourse(g))),ee(1)),this.course$=Ve(this.action$,this.fetchedCourse$.pipe(xe(_e),y(g=>({type:"reset",payload:g})))).pipe(Bt(un,null),xe(_e),ee(1)),this.tests$=this.course$.pipe(y(g=>g.Tests||[]),y(Ei)),this.hasTests$=this.tests$.pipe(y(g=>g.length>0)),this.filterSubject$=new q(Gt),this.filter$=this.filterSubject$.asObservable(),this.expandedHeaderSubject$=new q(!1),this.expandedHeader$=this.expandedHeaderSubject$.asObservable(),this.filteredTests$=J([this.tests$,this.filter$]).pipe(y(([g,G])=>g.filter(z=>(!G.onlyMine||z.IsOwner)&&(!G.hidePublished||!z.IsPublished)))),this.sorting$=this.sortService.sorting$,this.studentGrades$=J([this.course$,this.filteredTests$,this.sorting$]).pipe(y(Se(this.toStudentGrades.bind(this)))),this.canSetFinalGrade$=this.course$.pipe(y(Vi)),this.gradingScaleIds$=this.course$.pipe(y(g=>di([...(g.Tests??[]).map(G=>G.GradingScaleId),g.GradingScaleId]).filter(_e)),Z(oi),ee(1)),this.gradingScales$=this.gradingScaleIds$.pipe(F(g=>this.gradingScalesRestService.getGradingScales(g)),ee(1)),this.UNDEFINED_GRADINGSCALE_ID=-1,this.gradingScalesOptions$=this.gradingScales$.pipe(y(g=>g.map(G=>{let z=G?.Id||this.UNDEFINED_GRADINGSCALE_ID,ue=G?.Grades.map(he=>({Key:he.Id,Value:he.Designation}))||[];return{id:z,options:ue}}).reduce((G,z)=>H(A({},G),{[z.id]:z.options}),{})),ee(1)),this.meanOfStudentGradesForCourse$=this.studentGrades$.pipe(y(g=>pn(Mt(g)))),this.meanOfFinalGradesForCourse$=J([this.gradingScalesOptions$,this.studentGrades$]).pipe(F(Se(this.meanOfOverwrittenGradesForCourse.bind(this))))}setCourseId(e){this._courseId$.next(e)}setFilter(e){this.filterSubject$.next(e)}gradingOptionsForTest$(e){return this.gradingOptions$(e.GradingScaleId)}gradingOptionsForCourse$(){return this.course$.pipe(F(e=>this.gradingOptions$(e.GradingScaleId)))}toStudentGrades(e,i=[],n){return on(e.ParticipatingStudents??[],i,e.Gradings??[],e.FinalGrades??[]).sort(dn(n))}setSorting(e){this.sortService.setSorting(e)}getSortingChar$(e){return this.sortService.getSortingChar$(e)}sortBy(e){this.sortService.toggleSorting(e)}toggleHeader(e){this.expandedHeaderSubject$.next(e)}optimisticallyUpdateGrade(e){return this.course$.pipe(oe(1),y(i=>{let{originalResult:n,updatedResult:o}=this.buildOptimisticResultUpdate(i,e);return this.updateTestResult(o,null),n}))}saveGrade(e,i){this.course$.pipe(oe(1),F(n=>this.coursesRestService.updateTestResult(n.Id,e).pipe(Lt(o=>(i&&this.updateTestResult(A({},i),null),Ft(()=>o)))))).subscribe(({testResult:n,grading:o})=>this.updateOrDeleteTestResult(e.testId,e.studentId,n,o,"gradeId"in e?"grade":"points"))}publish(e){this.coursesRestService.publishTest(e.Id).subscribe(this.toggleTestPublishedState.bind(this))}unpublish(e){this.coursesRestService.unpublishTest(e.Id).subscribe(this.toggleTestPublishedState.bind(this))}deleteTest(e){this.action$.next({type:"delete-test",payload:e})}overwriteFinalGrade({id:e,selectedGradeId:i}){this.gradingsRestService.updateGrade(e,i).subscribe(()=>{this.action$.next({type:"final-grade-overwritten",payload:{id:e,selectedGradeId:i}})})}setAveragesAsFinalGrades(e){this.coursesRestService.setAverageAsFinalGrade(e).subscribe(i=>this.action$.next({type:"replace-grades",payload:i.Gradings}))}buildOptimisticResultUpdate(e,i){let n=yi(e,i.testId,i.studentId),o=n?A({},n):{Id:"",TestId:i.testId,StudentId:i.studentId,CourseRegistrationId:0,GradeId:null,GradeValue:null,GradeDesignation:null,Points:null};return o.GradeId="gradeId"in i?i.gradeId:n?.GradeId??null,o.Points="points"in i?i.points:n?.Points??null,{originalResult:n,updatedResult:o}}updateOrDeleteTestResult(e,i,n,o,u){n?this.updateTestResult(n,o,u):this.deleteTestResult(e,i,o)}updateTestResult(e,i,n){this.action$.next({type:"updateResult",payload:{testResult:e,grading:i??null,ignore:n}})}deleteTestResult(e,i,n){this.action$.next({type:"deleteResult",payload:{testId:e,studentId:i,grading:n}})}toggleTestPublishedState(e){this.action$.next({type:"toggle-test-state",payload:e})}gradingOptions$(e){return e===null?Y(null):this.gradingScalesOptions$.pipe(y(i=>i[e]),ee(1))}meanOfOverwrittenGradesForCourse(e,i){return this.course$.pipe(y(n=>{if(n.GradingScaleId===null||e[n.GradingScaleId]===void 0)return null;let o=e[n.GradingScaleId];return cn(Mt(i),o)}))}static{this.\u0275fac=function(i){return new(i||t)(O(me),O(Oi),O(hn),O(Re),O(Bi))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac})}}return t})();var Mr=t=>["/events",t,"tests"];function Or(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Gr(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function $r(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Fr(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Lr(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Dr(t,l){if(t&1&&(s(0,"div",29)(1,"div",30)(2,"div",16)(3,"label",31),p(4),d(5,"translate"),a(),s(6,"div",32),x(7,"input",33),d(8,"async"),N(9,Fr,3,4,"div",7,Me),d(11,"async"),a()()(),s(12,"div",30)(13,"div",16)(14,"label",34),p(15),d(16,"translate"),a(),s(17,"div",32),x(18,"input",35),d(19,"async"),N(20,Lr,3,4,"div",7,Me),d(22,"async"),a()()()(),s(23,"div",36),Ht(),s(24,"math")(25,"mi"),p(26),d(27,"translate"),a(),s(28,"mo"),p(29,"="),a(),s(30,"mfrac")(31,"mrow")(32,"mi"),p(33),d(34,"translate"),a(),s(35,"mo"),p(36,"\xD7"),a(),s(37,"mn"),p(38,"5"),a()(),s(39,"mi"),p(40),d(41,"translate"),a()(),s(42,"mo"),p(43,"+"),a(),s(44,"mn"),p(45,"1"),a()()()),t&2){let e,i,n=h(2);r(4),f(c(5,9,"tests.form.max-points")),r(3),le("is-invalid",((e=c(8,11,n.maxPointsErrors$))==null?null:e.length)||!1),r(2),U(c(11,13,n.maxPointsErrors$)),r(6),f(c(16,15,"tests.form.max-points-adjusted")),r(3),le("is-invalid",((i=c(19,17,n.maxPointsAdjustedErrors$))==null?null:i.length)||!1),r(2),U(c(22,19,n.maxPointsAdjustedErrors$)),r(6),v(" ",c(27,21,"tests.form.math.grade")," "),r(7),v(" ",c(34,23,"tests.form.math.points")," "),r(7),f(c(41,25,"tests.form.math.max-points"))}}function Rr(t,l){t&1&&(s(0,"div",28)(1,"span",37),p(2,"Loading..."),a()())}function Br(t,l){if(t&1){let e=$();s(0,"form",2),S("ngSubmit",function(){w(e);let n=h();return E(n.onSubmit())}),s(1,"div",3)(2,"div",4)(3,"label",5),p(4),d(5,"translate"),a(),x(6,"input",6),d(7,"async"),d(8,"translate"),N(9,Or,3,4,"div",7,Me),d(11,"async"),a(),s(12,"div",8)(13,"label",9),p(14),d(15,"translate"),a(),s(16,"div",10)(17,"span",11)(18,"i",12),p(19,"calendar_today"),a()(),s(20,"input",13,0),d(22,"async"),d(23,"translate"),S("click",function(){w(e);let n=ve(21);return E(n.toggle())}),a(),N(24,Gr,3,4,"div",7,Me),d(26,"async"),a()()(),s(27,"div",14)(28,"label",15),p(29),d(30,"translate"),a(),s(31,"div",4)(32,"div",16)(33,"label",17),p(34),d(35,"translate"),a(),s(36,"div",18),x(37,"input",19),d(38,"async"),N(39,$r,3,4,"div",7,Me),d(41,"async"),a()()()(),s(42,"div")(43,"label",15),p(44),d(45,"translate"),a(),s(46,"div",20),x(47,"input",21),s(48,"label",22),p(49),d(50,"translate"),a()(),s(51,"div",20),x(52,"input",23),s(53,"label",24),p(54),d(55,"translate"),a()(),k(56,Dr,46,27),a(),s(57,"div",25)(58,"button",26),d(59,"async"),p(60),d(61,"translate"),a(),s(62,"button",27),p(63),d(64,"translate"),k(65,Rr,3,0,"div",28),a()()()}if(t&2){let e,i,n,o,u=h();m("formGroup",u.formGroup),r(4),f(c(5,26,"tests.form.designation")),r(2),le("is-invalid",((e=c(7,28,u.designationErrors$))==null?null:e.length)||!1),m("placeholder",c(8,30,"tests.form.designation-placeholder")),r(3),U(c(11,32,u.designationErrors$)),r(5),f(c(15,34,"tests.form.date")),r(3),m("id",u.componentId),r(3),le("is-invalid",((i=c(22,36,u.dateErrors$))==null?null:i.length)||!1),m("placeholder",c(23,38,"shared.date-select.default-placeholder")),r(4),U(c(26,40,u.dateErrors$)),r(5),f(c(30,42,"tests.form.weight")),r(5),f(c(35,44,"tests.form.factor")),r(3),le("is-invalid",((n=c(38,46,u.weightErrors$))==null?null:n.length)||!1),r(2),U(c(41,48,u.weightErrors$)),r(5),f(c(45,50,"tests.form.grading-type")),r(3),m("value",!1),r(2),f(c(50,52,"tests.form.grades")),r(3),m("value",!0),r(2),f(c(55,54,"tests.form.points")),r(2),T((o=u.formGroup.get("isPointGrading"))!=null&&o.value?56:-1),r(2),m("disabled",u.saving)("routerLink",L(62,Mr,c(59,56,u.courseId$))),r(2),v(" ",c(61,58,"tests.form.cancel")," "),r(2),m("disabled",u.saving),r(),v(" ",c(64,60,"tests.form.save")," "),r(2),T(u.saving?65:-1)}}var _t=(()=>{class t{constructor(e,i,n){this.fb=e,this.translate=i,this.testStateService=n,this.test=null,this.saving=!1,this.save=new ie,this.componentId=li("bkd-tests-edit-form"),this.formGroup=this.createFormGroup(),this.submitted$=new q(!1),this.destroy$=new re,this.designationErrors$=De(Y(this.formGroup),this.submitted$,"designation"),this.dateErrors$=De(Y(this.formGroup),this.submitted$,"date"),this.maxPointsErrors$=De(Y(this.formGroup),this.submitted$,"maxPoints"),this.maxPointsAdjustedErrors$=De(Y(this.formGroup),this.submitted$,"maxPointsAdjusted"),this.weightErrors$=De(Y(this.formGroup),this.submitted$,"weight"),this.courseId$=this.testStateService.courseId$}ngOnInit(){this.test&&this.setInitialValues(this.test),ci(Y(this.formGroup),"isPointGrading").pipe(ge(this.destroy$)).subscribe(this.togglePointFieldsDisability.bind(this))}ngOnDestroy(){this.destroy$.next()}onSubmit(){this.submitted$.next(!0),this.formGroup.valid&&this.save.emit(this.formGroup.value)}createFormGroup(){return this.fb.group({designation:["",Fe.required],date:[null,Fe.required],weight:[1,Fe.compose([Fe.required,rn(0)])],isPointGrading:[!1],maxPoints:[{value:null,disabled:!0},Fe.required],maxPointsAdjusted:[{value:null,disabled:!0},null]})}setInitialValues(e){this.formGroup.patchValue({designation:e.Designation,date:e.Date,weight:e.Weight,isPointGrading:e.IsPointGrading,maxPoints:e.MaxPoints,maxPointsAdjusted:e.MaxPointsAdjusted}),e.Results&&e.Results.length>0&&(this.formGroup.get("isPointGrading")?.disable(),this.formGroup.get("maxPoints")?.disable(),this.formGroup.get("maxPointsAdjusted")?.disable()),this.togglePointFieldsDisability()}togglePointFieldsDisability(){let e=this.formGroup.get("maxPoints"),i=this.formGroup.get("maxPointsAdjusted");this.formGroup.get("isPointGrading")?.value?(e?.enable(),i?.enable()):(e?.reset({value:this.test?.MaxPoints,disabled:!0}),i?.reset({value:this.test?.MaxPointsAdjusted,disabled:!0}))}static{this.\u0275fac=function(i){return new(i||t)(b(ti),b(ae),b(X))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-edit-form"]],inputs:{test:"test",saving:"saving"},outputs:{save:"save"},standalone:!0,features:[se([{provide:ni,useClass:ai},{provide:ri,useClass:Ri}]),_],decls:1,vars:1,consts:[["dp","ngbDatepicker"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"row","g-3","mb-3"],[1,"col-md-6"],["for","designation",1,"form-label"],["id","designation","name","designation","type","text","formControlName","designation","required","",1,"form-control",3,"placeholder"],[1,"invalid-feedback"],[1,"col-md-6","mb-3"],["for","date",1,"form-label"],[1,"input-group"],[1,"input-group-text",3,"id"],[1,"material-icons"],["id","date","name","date","type","text","ngbDatepicker","","formControlName","date","required","",1,"form-control",3,"click","placeholder"],[1,"row","mb-3"],[1,"form-label"],[1,"row"],["for","factor",1,"form-label","col-3","col-sm-2"],[1,"col-9","col-sm-10"],["id","factor","name","factor","type","number","formControlName","weight","step","0.05","min","0","required","",1,"form-control"],[1,"form-check"],["type","radio","formControlName","isPointGrading","id","type-grades",1,"form-check-input",3,"value"],["for","type-grades",1,"form-check-label"],["type","radio","formControlName","isPointGrading","id","type-points",1,"form-check-input",3,"value"],["for","type-points",1,"form-check-label"],[1,"d-flex","justify-content-end","mt-4"],["type","button",1,"btn","btn-outline-secondary",3,"disabled","routerLink"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],[1,"row","ms-4","mb-3","g-3"],[1,"col-sm-6","col-md-4"],["for","max-points",1,"ms-2","col-4","col-form-label"],[1,"col-6"],["type","number","name","maxPoints","id","max-points","formControlName","maxPoints","step","0.01","min","0","max","999","required","",1,"form-control"],["for","max-points-adjusted",1,"ms-2","col-4","col-form-label"],["type","number","name","maxPointsAdjusted","id","max-points-adjusted","formControlName","maxPointsAdjusted","step","0.01","min","0","max","999",1,"form-control"],[1,"ms-4","ps-3","py-3"],[1,"visually-hidden"]],template:function(i,n){i&1&&k(0,Br,66,64,"form",1),i&2&&T(n.formGroup?0:-1)},dependencies:[Le,Xt,ze,Ye,Jt,qe,Yt,ei,Xe,Ke,ii,Qt,Zt,si,te,K,P,I],styles:["#factor[_ngcontent-%COMP%], #max-points[_ngcontent-%COMP%], #max-points-adjusted[_ngcontent-%COMP%]{width:5em}"]})}}return t})();var gn=(()=>{class t{constructor(e,i,n,o,u){this.route=e,this.courseService=i,this.toastService=n,this.translate=o,this.router=u,this.saving$=new q(!1),this.courseId$=this.route.paramMap.pipe(y(g=>Number(g.get("id"))),Z())}save(e){this.saving$.next(!0);let{designation:i,date:n,weight:o,isPointGrading:u,maxPoints:g,maxPointsAdjusted:G}=e;this.courseId$.pipe(F(z=>this.courseService.add(z,n,i,o,u,g,G)),He(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.toastService.success(this.translate.instant("tests.form.save-success")),this.navigateBack()}navigateBack(){this.courseId$.subscribe(e=>void this.router.navigate(["events",e,"tests"]))}static{this.\u0275fac=function(i){return new(i||t)(b(ce),b(me),b(Qe),b(ae),b($e))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-add"]],standalone:!0,features:[_],decls:6,vars:6,consts:[[1,"bkd-container","bkd-container-limited"],[3,"save","saving"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),d(2,"translate"),a(),s(3,"div",0)(4,"bkd-tests-edit-form",1),d(5,"async"),S("save",function(u){return n.save(u)}),a()()),i&2&&(r(),f(c(2,2,"tests.add-title")),r(3),m("saving",c(5,4,n.saving$)))},dependencies:[_t,K,P,I]})}}return t})();var fn=(()=>{class t{constructor(e){this.activeModal=e}get canDeleteTest(){return(this.test?.Results?.filter(i=>i.GradeId!==null||i.GradeValue!==null||i.Points!==null)||[]).length===0}static{this.\u0275fac=function(i){return new(i||t)(b(Je))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-delete"]],inputs:{test:"test"},standalone:!0,features:[_],decls:13,vars:10,consts:[[1,"modal-body"],["data-testid","confirmation-message"],[1,"modal-footer"],["data-testid","cancel-button","type","button",1,"btn","btn-outline-secondary",3,"click","hidden"],[1,"px-2"],["data-testid","confirm-button","type","button",1,"btn","btn-primary",3,"click"],[1,"px-3"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"p",1),p(2),d(3,"translate"),a()(),s(4,"div",2)(5,"button",3),S("click",function(){return n.activeModal.dismiss()}),s(6,"span",4),p(7),d(8,"translate"),a()(),s(9,"button",5),S("click",function(){return n.activeModal.close(n.canDeleteTest?n.test:null)}),s(10,"span",6),p(11),d(12,"translate"),a()()()),i&2&&(r(2),v(" ",c(3,4,n.canDeleteTest?"tests.form.confirm":"tests.form.delete-not-allowed")," "),r(3),m("hidden",!n.canDeleteTest),r(2),v(" ",c(8,6,"tests.dialog.no")," "),r(4),v(" ",c(12,8,n.canDeleteTest?"tests.dialog.yes":"tests.dialog.ok")," "))},dependencies:[P,I]})}}return t})();var Hr=t=>({test:t});function Nr(t,l){t&1&&x(0,"bkd-spinner")}function Ur(t,l){if(t&1){let e=$();s(0,"div",1)(1,"h1"),p(2),d(3,"translate"),a(),s(4,"button",2),S("click",function(){w(e);let n=h(),o=j(0);return E(n.openDeleteModal(o))}),s(5,"i",3),p(6,"delete"),a()()(),s(7,"bkd-tests-edit-form",4),S("save",function(n){w(e);let o=h();return E(o.save(n))}),a()}if(t&2){h();let e=j(0),i=j(2);r(2),v(" ",D(3,3,"tests.edit-title",L(6,Hr,e.Designation))," "),r(5),m("test",e)("saving",i)}}var vn=(()=>{class t{constructor(e,i,n,o,u,g,G){this.state=e,this.courseService=i,this.route=n,this.toastService=o,this.translate=u,this.router=g,this.modalService=G,this.saving$=new q(!1),this.testId$=this.route.paramMap.pipe(y(z=>Number(z.get("testId"))),Z()),this.test$=J([this.state.tests$,this.testId$]).pipe(y(([z,ue])=>z.find(he=>he.Id===ue)))}openDeleteModal(e){let i=this.modalService.open(fn);i.componentInstance.test=e,i.result.then(n=>{n&&this.courseService.delete(e.CourseId,e.Id).subscribe(this.onDeleteSuccess.bind(this))},()=>{})}save(e){this.saving$.next(!0);let{designation:i,date:n,weight:o,isPointGrading:u,maxPoints:g,maxPointsAdjusted:G}=e;J([this.state.courseId$,this.testId$]).pipe(oe(1),F(([z,ue])=>this.courseService.update(z,ue,i,n,o,u,g,G)),He(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.toastService.success(this.translate.instant("tests.form.save-success")),this.navigateBack()}onDeleteSuccess(e){this.toastService.success(this.translate.instant("tests.form.delete-success")),this.state.deleteTest(e),this.navigateBack()}navigateBack(){this.state.courseId$.pipe(oe(1)).subscribe(e=>void this.router.navigate(["events",e,"tests"]))}static{this.\u0275fac=function(i){return new(i||t)(b(X),b(me),b(ce),b(Qe),b(ae),b($e),b(at))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-edit"]],standalone:!0,features:[_],decls:8,vars:9,consts:[[1,"bkd-container","bkd-container-limited"],[1,"d-flex","justify-content-between","align-items-center"],["type","button",1,"btn","btn-primary","btn-icon",3,"click"],[1,"material-icons"],[3,"save","test","saving"]],template:function(i,n){if(i&1&&(B(0),d(1,"async"),B(2),d(3,"async"),s(4,"div",0),k(5,Nr,1,0,"bkd-spinner"),d(6,"async"),k(7,Ur,8,8),a()),i&2){let o=W(c(1,1,n.test$));r(2),W(c(3,4,n.saving$)),r(3),T(c(6,7,n.state.loading$)?5:o?7:-1)}},dependencies:[_t,ye,K,P,I]})}}return t})();var Wr=t=>({designation:t}),Cn=(()=>{class t{constructor(e){this.activeModal=e}static{this.\u0275fac=function(i){return new(i||t)(b(Je))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-publish-test"]],inputs:{test:"test"},standalone:!0,features:[_],decls:11,vars:12,consts:[[1,"modal-body"],["data-testid","confirmation-message"],[1,"modal-footer"],["data-testid","cancel-button","type","button",1,"btn","btn-outline-secondary",3,"click"],["data-testid","confirm-button","type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"p",1),p(2),d(3,"translate"),a()(),s(4,"div",2)(5,"button",3),S("click",function(){return n.activeModal.dismiss()}),p(6),d(7,"translate"),a(),s(8,"button",4),S("click",function(){return n.activeModal.close(!0)}),p(9),d(10,"translate"),a()()),i&2&&(r(2),v(" ",D(3,3,n.test.IsPublished?"tests.publishing.unpublish":"tests.publishing.publish",L(10,Wr,n.test.Designation))," "),r(4),v(" ",c(7,6,"tests.publishing.cancel")," "),r(3),v(" ",c(10,8,"tests.publishing.confirm")," "))},dependencies:[P,I],encapsulation:2})}}return t})();var zr=t=>({maxPoints:t});function qr(t,l){if(t&1&&(s(0,"div",6),p(1),d(2,"translate"),a()),t&2){let e=h(2);r(),v(" ",D(2,1,"global.validation-errors.invalidPoints",L(4,zr,e.maxPoints))," ")}}function Yr(t,l){if(t&1){let e=$();s(0,"div",3)(1,"input",5,0),S("ngModelChange",function(){w(e);let n=ve(2),o=h();return E(o.onPointsChange(n.value))}),a(),k(3,qr,3,6,"div",6),a()}if(t&2){let e=ve(2),i=h();r(),le("is-invalid",e.errors),fe("max",i.maxPoints),fe("tabindex",i.tabIndex),m("disabled",i.grade.test.IsPublished)("ngModel",i.grade.kind==="grade"?i.grade.result.Points:null),r(2),T(e.errors?3:-1)}}var Kr=1250,_n=(()=>{class t{constructor(e){this.state=e,this.maxPoints=0,this.pointsSubject$=new re,this.gradeSubject$=new re,this.gradingScaleDisabledSubject$=new q(!0),this.gradingScaleDisabled$=this.gradingScaleDisabledSubject$.asObservable(),this.destroy$=new re}ngOnInit(){this.gradingScaleDisabledSubject$.next(this.disableGradingScale()),this.maxPoints=ln(this.grade),this.initSave(this.pointsSubject$.pipe(xe(this.isValid.bind(this)),y(e=>({studentId:this.student.Id,testId:this.grade.test.Id,points:e?Number(e):null})))),this.initSave(this.gradeSubject$.pipe(y(e=>({studentId:this.student.Id,testId:this.grade.test.Id,gradeId:e}))))}ngOnChanges(){this.gradingScaleDisabledSubject$.next(this.disableGradingScale())}ngOnDestroy(){this.destroy$.next()}onPointsChange(e){this.pointsSubject$.next(e),this.gradingScaleDisabledSubject$.next(!(e===null||e===""))}onGradeChange(e){this.gradeSubject$.next(e)}isValid(e){return e===""||e===null?!0:isNaN(Number(e))?!1:!(Number(e)<0||Number(e)>this.maxPoints)}initSave(e){e.pipe(Dt(i=>this.state.optimisticallyUpdateGrade(i).pipe(y(n=>({params:i,originalResult:n})))),Rt(Kr),ge(this.destroy$)).subscribe(({params:i,originalResult:n})=>this.state.saveGrade(i,n))}disableGradingScale(){return this.grade.test.IsPublished?!0:this.grade.kind==="no-result"?!1:this.grade.result.Points!=null&&this.grade.test.IsPointGrading}static{this.\u0275fac=function(i){return new(i||t)(b(X))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-grade"]],inputs:{grade:"grade",student:"student",tabIndex:"tabIndex",gradeOptions:"gradeOptions"},standalone:!0,features:[Ie,_],decls:5,vars:8,consts:[["points","ngModel"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"point-input-container","me-2","me-md-3"],["data-testid","grade-select",1,"grade-select",3,"valueChange","options","allowEmpty","value","disabled","tabindex"],["type","number","step","0.01","min","0","data-testid","point-input",1,"form-control",3,"ngModelChange","max","disabled","tabindex","ngModel"],["data-testid","validation-error-message",1,"invalid-feedback"]],template:function(i,n){i&1&&(s(0,"div",1)(1,"div",2),k(2,Yr,4,7,"div",3),s(3,"bkd-select",4),d(4,"async"),S("valueChange",function(u){return n.onGradeChange(u)}),a()()()),i&2&&(r(2),T(n.grade.test.IsPointGrading?2:-1),r(),m("options",n.gradeOptions)("allowEmpty",!0)("value",n.grade.kind==="grade"?n.grade.result.GradeId:null)("disabled",c(4,6,n.gradingScaleDisabled$))("tabindex",n.tabIndex))},dependencies:[Le,ze,Ye,qe,Xe,Ke,Kt,Be,K,P,I],styles:[".point-input-container[_ngcontent-%COMP%]{width:4em}[_nghost-%COMP%] select{width:127px}@media (min-width: 576px){.point-input-container[_ngcontent-%COMP%]{width:5em}}"]})}}return t})();function Xr(t,l){if(t&1&&(s(0,"span",1),p(1),a()),t&2){let e=h();r(),f(e.calculatePointsAverage(e.test))}}var Sn=(()=>{class t{constructor(e){this.locale=e}calculatePointsAverage(e){return this.safeAverage(e,2,it)}calculateGradeAverage(e){return this.safeAverage(e,3,nt)}safeAverage(e,i,n){try{return Pi(n(e),this.locale,i)}catch{return ki}}static{this.\u0275fac=function(i){return new(i||t)(b(qt))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-average-grades"]],inputs:{test:"test"},standalone:!0,features:[_],decls:4,vars:2,consts:[[1,"d-flex","flex-row","w-100"],["data-testid","average-points",1,"mr-2","mr-md-3","average-points"],["data-testid","average-grade"]],template:function(i,n){i&1&&(s(0,"div",0),k(1,Xr,2,1,"span",1),s(2,"span",2),p(3),a()()),i&2&&(r(),T(n.test.IsPointGrading?1:-1),r(2),f(n.calculateGradeAverage(n.test)))},styles:[".average-points[_ngcontent-%COMP%]{min-width:4.5em}@media (min-width: 576px){.average-points[_ngcontent-%COMP%]{min-width:6em}}"]})}}return t})();var yn=(()=>{class t{constructor(){this.disabled=!1,this.width="127px",this.gradeIdSelected=new ie}onGradeChange(e){this.gradeId?.valueOf()!==void 0&&this.gradeIdSelected.emit({id:this.gradeId?.valueOf(),selectedGradeId:e})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-grade-select"]],inputs:{options:"options",valueId:"valueId",gradeId:"gradeId",disabled:"disabled",width:"width"},outputs:{gradeIdSelected:"gradeIdSelected"},standalone:!0,features:[_],decls:1,vars:5,consts:[["data-testid","grade-select",3,"valueChange","options","allowEmpty","value","disabled","width"]],template:function(i,n){i&1&&(s(0,"bkd-select",0),S("valueChange",function(u){return n.onGradeChange(u)}),a()),i&2&&m("options",n.options)("allowEmpty",!0)("value",n.valueId)("disabled",n.disabled)("width",n.width)},dependencies:[Be]})}}return t})();var Jr=576,bn=(()=>{class t{constructor(e,i){this.portal=e,this.state=i,this.destroy$=new re,this.handleWindowScroll=()=>{this.updateStickyVisibility(),this.updateStickyTopOffset()},this.handleWindowResize=()=>{this.updateStickyWidth(),this.updateStickyVisibility(),this.updateStickyTopOffset()},this.handleTableScroll=()=>{this.updateStickyLeftOffset()}}ngOnInit(){J([this.state.filteredTests$,this.state.expandedHeader$]).pipe(ge(this.destroy$)).subscribe(()=>setTimeout(()=>this.updateStickyWidth()))}ngAfterViewInit(){this.handleWindowScroll(),this.handleTableScroll(),this.handleWindowResize(),this.window.addEventListener("scroll",this.handleWindowScroll),this.getTableScrollContainer()?.addEventListener("scroll",this.handleTableScroll),this.window.addEventListener("resize",this.handleWindowResize)}ngOnDestroy(){this.window.removeEventListener("scroll",this.handleWindowScroll),this.getTableScrollContainer()?.removeEventListener("scroll",this.handleTableScroll),this.window.removeEventListener("resize",this.handleWindowResize)}get window(){return this.portal.window??window}getTableScrollContainer(){return document.querySelector(".table-responsive-wrapper")??null}updateStickyVisibility(){if(this.isSmallBreakpointDown())return;let e=this.inlineHeader.getTop()+this.getIframeScrollY();this.stickyHeader.shown=this.getScrollTop()>e}updateStickyTopOffset(){this.isSmallBreakpointDown()||this.stickyHeader.setTopOffset(this.portal.inIframe?this.getScrollTop():0)}updateStickyLeftOffset(){this.isSmallBreakpointDown()||this.stickyHeader.setLeftOffset(this.inlineHeader.getLeft())}updateStickyWidth(){this.isSmallBreakpointDown()||(this.stickyHeader.setWidth(this.inlineHeader.getWidth()),this.stickyHeader.setColumnWidths(this.inlineHeader.getColumnWidths()),this.stickyHeader.setStickyColumnHeights(this.inlineHeader.getStickyColumnsHeights()))}getScrollTop(){return this.window.scrollY-this.portal.getIframeTop()}getIframeScrollY(){return window.scrollY}isSmallBreakpointDown(){return window.innerWidth({"btn-primary":t,"btn-outline-secondary":l}),Tn=(()=>{class t{constructor(){this.filter=Gt,this.filterChange=new ie}showOnlyMine(){this.filterChange.next(H(A({},this.filter),{onlyMine:!0}))}showAll(){this.filterChange.next(H(A({},this.filter),{onlyMine:!1}))}onHidePublishedChange(e){let i=(e.target&&e.target instanceof HTMLInputElement&&e.target?.checked)??!1;this.filterChange.next(H(A({},this.filter),{hidePublished:i}))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-test-table-filter"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},standalone:!0,features:[_],decls:13,vars:18,consts:[[1,"only-mine-buttons"],["type","button",1,"btn","desktop",3,"click","ngClass"],["type","button",1,"btn","ms-2","desktop",3,"click","ngClass"],[1,"hide-published"],[1,"form-check"],["id","hide-published","type","checkbox",1,"form-check-input",3,"change","checked"],["for","hide-published",1,"form-check-label"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"button",1),S("click",function(){return n.showAll()}),p(2),d(3,"translate"),a(),s(4,"button",2),S("click",function(){return n.showOnlyMine()}),p(5),d(6,"translate"),a()(),s(7,"div",3)(8,"div",4)(9,"input",5),S("change",function(u){return n.onHidePublishedChange(u)}),a(),s(10,"label",6),p(11),d(12,"translate"),a()()()),i&2&&(r(),m("ngClass",Tt(12,xn,!n.filter.onlyMine,n.filter.onlyMine)),r(),v(" ",c(3,6,"tests.all-tests")," "),r(2),m("ngClass",Tt(15,xn,n.filter.onlyMine,!n.filter.onlyMine)),r(),v(" ",c(6,8,"tests.owned-tests")," "),r(4),m("checked",n.filter.hidePublished),r(2),v(" ",c(12,10,"tests.hide-published")," "))},dependencies:[pe,Le,P,I],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:space-between;height:100%}.only-mine-buttons[_ngcontent-%COMP%]{display:flex;align-items:center;height:3.625rem}.hide-published[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.375rem;margin-bottom:1rem}.hide-published[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:300}.hide-published[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%]{margin-bottom:0}"]})}}return t})();var Qr=["*"],wn=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-preserve-line-height"]],standalone:!0,features:[_],ngContentSelectors:Qr,decls:3,vars:0,template:function(i,n){i&1&&(Wt(),s(0,"div"),zt(1),p(2,"\xA0"),a())},encapsulation:2})}}return t})();var En=(()=>{class t{constructor(e){this.translate=e}transform(e){return`${e.Weight} (${e.WeightPercent}%)${this.getPoints(e)}`}getPoints(e){return e.IsPointGrading?`, ${e.MaxPointsAdjusted??e.MaxPoints} ${this.translate.instant("tests.summary.points")}`:""}static{this.\u0275fac=function(i){return new(i||t)(b(ae,16))}}static{this.\u0275pipe=Vt({name:"testSummaryShort",type:t,pure:!0,standalone:!0})}}return t})();var Zr=t=>[t,"edit"];function es(t,l){t&1&&(s(0,"i",9),p(1,"edit"),a())}function ts(t,l){if(t&1&&(s(0,"div",5)(1,"div",7)(2,"bkd-preserve-line-height"),p(3),d(4,"date"),a(),s(5,"a",8),k(6,es,2,0,"i",9),a()(),s(7,"bkd-preserve-line-height"),p(8),d(9,"testSummaryShort"),a(),s(10,"bkd-preserve-line-height"),p(11),a()()),t&2){let e=h();r(3),f(D(4,5,e.test.Date,"dd.MM.yyyy")),r(2),m("routerLink",L(10,Zr,e.test.Id)),r(),T(e.test.IsOwner&&e.test.IsPublished===!1?6:-1),r(2),v(" ",c(9,8,e.test)," "),r(3),f(e.test.Owner)}}function is(t,l){if(t&1){let e=$();s(0,"div",6)(1,"a",10),d(2,"translate"),S("click",function(){w(e);let n=h();return E(n.unpublishTest())}),s(3,"i",11),p(4,"lock"),a(),s(5,"span"),p(6),d(7,"translate"),a()(),s(8,"bkd-caret",12),S("click",function(){w(e);let n=h();return E(n.emitToggleHeader())}),a()()}if(t&2){let e=h();r(),fe("title",c(2,3,"tests.edit")),r(5),f(c(7,5,"tests.published")),r(2),m("expanded",e.expanded)}}function ns(t,l){if(t&1){let e=$();s(0,"div",6)(1,"a",13),d(2,"translate"),S("click",function(){w(e);let n=h();return E(n.publishTest())}),s(3,"i",11),p(4,"lock_open"),a(),s(5,"span"),p(6),d(7,"translate"),a()(),s(8,"bkd-caret",12),S("click",function(){w(e);let n=h();return E(n.emitToggleHeader())}),a()()}if(t&2){let e=h();r(),fe("title",c(2,3,"tests.publish")),r(5),f(c(7,5,"tests.not-published")),r(2),m("expanded",e.expanded)}}var kn=(()=>{class t{constructor(){this.toggleHeader=new ie,this.publish=new ie,this.unpublish=new ie}emitToggleHeader(){this.toggleHeader.emit(!this.expanded)}publishTest(){this.publish.emit(this.test)}unpublishTest(){this.unpublish.emit(this.test)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-test-table-header"]],inputs:{test:"test",expanded:"expanded"},outputs:{toggleHeader:"toggleHeader",publish:"publish",unpublish:"unpublish"},standalone:!0,features:[_],decls:9,vars:5,consts:[[1,"d-flex","flex-column","h-100","justify-content-between"],["role","button",1,"test-designation","d-flex","flex-row","my-3","align-items-end","justify-content-between",3,"click"],[3,"ngClass"],[1,"align-self-start",3,"expanded"],[1,"d-flex","flex-column"],[1,"d-flex","flex-column","mb-3"],[1,"d-flex","align-items-center","justify-content-between","test-status"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-link","p-0","edit",3,"routerLink"],[1,"material-icons"],[1,"d-flex","btn","btn-link","ps-0","edit",3,"click","title"],[1,"material-icons","me-1"],[1,"expand-mobile",3,"click","expanded"],[1,"d-flex","btn","btn-link","ps-0",3,"click","title"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"div",1),S("click",function(){return n.emitToggleHeader()}),s(2,"div",2),p(3),a(),x(4,"bkd-caret",3),a(),s(5,"div",4),k(6,ts,12,12,"div",5)(7,is,9,7,"div",6)(8,ns,9,7,"div",6),a()()),i&2&&(r(2),m("ngClass",n.expanded?"expanded":"collapsed"),r(),v(" ",n.test.Designation," "),r(),m("expanded",n.expanded),r(2),T(n.expanded?6:-1),r(),T(n.test.IsPublished?7:8))},dependencies:[pe,fi,wn,te,Ue,P,I,En],styles:["[_nghost-%COMP%]{font-weight:300}.collapsed[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-designation[_ngcontent-%COMP%]{display:none!important}.test-status[_ngcontent-%COMP%]{order:-1;padding-bottom:1rem}.test-status[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.test-status[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#000}.test-status[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.test-status[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.edit[_ngcontent-%COMP%]{color:#00000080;text-decoration:none}@media (min-width: 811px){.test-designation[_ngcontent-%COMP%]{display:inherit!important}.test-status[_ngcontent-%COMP%]{order:initial}.expand-mobile[_ngcontent-%COMP%]{display:none!important}}"]})}}return t})();var rs=["bkdTestEditGradesHeader",""],$t=(t,l)=>l.Id,ss=t=>({"test-point-grading":t}),as=t=>({selected:t});function os(t,l){if(t&1){let e=$();s(0,"th",3)(1,"bkd-test-table-header",14),S("toggleHeader",function(n){w(e);let o=h();return E(o.state.toggleHeader(n))})("publish",function(n){w(e);let o=h();return E(o.publish.emit(n))})("unpublish",function(n){w(e);let o=h();return E(o.unpublish.emit(n))}),a()()}if(t&2){let e=l.$implicit,i=h(),n=j(4);m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)("expanded",n)}}function ds(t,l){if(t&1){let e=$();s(0,"th",4)(1,"bkd-test-table-header",14),S("toggleHeader",function(n){w(e);let o=h();return E(o.state.toggleHeader(n))})("publish",function(n){w(e);let o=h();return E(o.publish.emit(n))})("unpublish",function(n){w(e);let o=h();return E(o.unpublish.emit(n))}),a()()}if(t&2){let e=l.$implicit,i=h(),n=j(4);m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)("expanded",n)}}function ls(t,l){if(t&1){let e=$();s(0,"div",15)(1,"span",16),S("click",function(){w(e);let n=h().$implicit,o=h();return E(o.state.sortBy(n))}),p(2),d(3,"translate"),a()()}t&2&&(r(2),v("",c(3,1,"tests.points")," "))}function ps(t,l){if(t&1){let e=$();s(0,"th",13)(1,"div",8),k(2,ls,4,3,"div",15),s(3,"div",9)(4,"span",16),S("click",function(){let n=w(e).$implicit,o=h();return E(o.state.sortBy(n))}),p(5),d(6,"translate"),a()(),s(7,"div",10),p(8),d(9,"async"),a()()()}if(t&2){let e=l.$implicit,i=h();m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(2),T(e.IsPointGrading?2:-1),r(3),f(c(6,4,"tests.grade")),r(3),v(" ",c(9,6,i.state.getSortingChar$(e))," ")}}var In=(()=>{class t{set shown(e){let i=this.element.nativeElement.classList;e?i.add("shown"):i.remove("shown")}constructor(e,i){this.state=e,this.element=i,this.sticky=!1,this.publish=new ie,this.unpublish=new ie}getTop(){return this.element.nativeElement.getBoundingClientRect().top}getLeft(){return this.element.nativeElement.getBoundingClientRect().left}setTopOffset(e){this.element.nativeElement.style.top=`${e}px`}setLeftOffset(e){this.element.nativeElement.style.left=`${e}px`}getWidth(){return this.element.nativeElement.getBoundingClientRect().width}setWidth(e){this.element.nativeElement.style.width=`${e}px`}getColumnWidths(){return this.getRowsAndColumns().map(e=>e.map(i=>i.getBoundingClientRect().width))}setColumnWidths(e){let i=this.getRowsAndColumns();if(i.length!==e.length||!i.every((n,o)=>n.length===e[o].length))throw new Error("Given column widths do not match number of header rows/columns");i.forEach((n,o)=>n.forEach((u,g)=>{u.style.width=`${e[o][g]}px`,u.style.minWidth=`${e[o][g]}px`}))}getStickyColumnsHeights(){return this.getRowsAndColumns(".sticky").map(e=>e.map(i=>i.getBoundingClientRect().height))}setStickyColumnHeights(e){let i=this.getRowsAndColumns(".sticky");if(i.length!==e.length||!i.every((n,o)=>n.length===e[o].length))throw new Error("Given column heights do not match number of sticky header columns");i.forEach((n,o)=>n.forEach((u,g)=>{u.style.height=`${e[o][g]}px`})),this.getRows().forEach((n,o)=>{let u=e[o].reduce((g,G)=>Math.max(g,G),0);n.style.height=`${u}px`})}getRowsAndColumns(e){return this.getRows().map(i=>Array.from(i.querySelectorAll(`th:not(.header-mobile)${e??""}`)))}getRows(){return Array.from(this.element.nativeElement.querySelectorAll("tr"))}static{this.\u0275fac=function(i){return new(i||t)(b(X),b(Ut))}}static{this.\u0275cmp=C({type:t,selectors:[["thead","bkdTestEditGradesHeader",""]],hostVars:2,hostBindings:function(i,n){i&2&&le("sticky",n.sticky)},inputs:{selectedTest:"selectedTest",sticky:"sticky",shown:"shown"},outputs:{publish:"publish",unpublish:"unpublish"},standalone:!0,features:[_],attrs:rs,decls:42,vars:32,consts:[[1,"header-collapsible"],["colspan","3",1,"desktop","sticky"],[3,"filterChange","filter"],["container","body",1,"test-grade","grade","test-info-desktop",3,"ngClass"],["container","body","colspan","3",1,"test-grade","header-mobile","test-info-mobile",3,"ngClass"],[1,"filler"],[3,"ngClass"],[1,"sticky","student-name",3,"click"],[1,"d-flex"],[1,"column-title"],[1,"sort-direction","ms-1"],[1,"sticky","student-grade","desktop",3,"click","ngClass"],[1,"border-end","sticky","student-average","desktop",3,"click"],["container","body",1,"test-grade",3,"ngClass"],[3,"toggleHeader","publish","unpublish","test","expanded"],[1,"column-title","point-input-container","me-2","me-md-3"],[3,"click"]],template:function(i,n){if(i&1){let o=$();B(0),d(1,"async"),B(2),d(3,"async"),B(4),d(5,"async"),s(6,"tr",0)(7,"th",1)(8,"bkd-test-table-filter",2),S("filterChange",function(g){return w(o),E(n.state.setFilter(g))}),a()(),N(9,os,2,3,"th",3,$t),N(11,ds,2,3,"th",4,$t),x(13,"th",5),a(),s(14,"tr",6)(15,"th",7),S("click",function(){return w(o),E(n.state.sortBy("FullName"))}),s(16,"div",8)(17,"div",9),p(18),d(19,"translate"),a(),s(20,"div",10),p(21),d(22,"async"),a()()(),s(23,"th",11),S("click",function(){return w(o),E(n.state.sortBy("FinalGrade"))}),s(24,"div",8)(25,"div",9),p(26),d(27,"translate"),a(),s(28,"div",10),p(29),d(30,"async"),a()()(),s(31,"th",12),S("click",function(){return w(o),E(n.state.sortBy("TestsMean"))}),s(32,"div",8)(33,"div",9),p(34),d(35,"translate"),a(),s(36,"div",10),p(37),d(38,"async"),a()()(),N(39,ps,10,8,"th",13,$t),x(41,"th",5),a()}if(i&2){let o=c(1,9,n.state.filteredTests$),u=c(3,11,n.state.filter$);r(4),W(c(5,13,n.state.expandedHeader$)),r(4),m("filter",u),r(),U(o),r(2),U(o),r(3),m("ngClass",L(28,ss,n.selectedTest==null?null:n.selectedTest.IsPointGrading)),r(4),v(" ",c(19,16,"tests.student.name")," "),r(3),v(" ",c(22,18,n.state.getSortingChar$("FullName"))," "),r(2),m("ngClass",L(30,as,n.selectedTest===void 0)),r(3),v(" ",c(27,20,"tests.grade")," "),r(3),v(" ",c(30,22,n.state.getSortingChar$("FinalGrade"))," "),r(5),v(" ",c(35,24,"tests.mean")," "),r(3),v(" ",c(38,26,n.state.getSortingChar$("TestsMean"))," "),r(2),U(o)}},dependencies:[K,pe,P,I,Tn,kn],styles:["[_nghost-%COMP%]{--spacer: 16px;--point-input-size: 4em;--grade-input-size: 127px;--points-grade-gap: 1rem;--student-name-column-width: 225px;--student-grade-column-width: calc( var(--spacer) + var(--grade-input-size) + var(--spacer) );--student-average-column-width: 100px;--test-grade-column-width: calc( var(--spacer) + var(--point-input-size) + var(--points-grade-gap) + var(--grade-input-size) + var(--spacer) );--student-grade-column-offset: var(--student-name-column-width);--student-average-column-offset: calc( var(--student-grade-column-offset) + var(--student-grade-column-width) );--test-columns-offset: calc( var(--student-average-column-offset) + var(--student-average-column-width) )}@media (min-width: 1000px){[_nghost-%COMP%]{--student-name-column-width: 275px}}@media (max-width: 767.98px){[_nghost-%COMP%]{--points-grade-gap: calc(.5 * var(--spacer))}}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:1rem}td[_ngcontent-%COMP%]{vertical-align:middle}@media (min-width: 576px){[_nghost-%COMP%]{--point-input-size: 5em}}tr[_ngcontent-%COMP%]:not(.header-collapsible) th.test-grade[_ngcontent-%COMP%], td.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}@media (max-width: 810px){tr[_ngcontent-%COMP%]:not(.header-collapsible):not(.test-point-grading) th.test-grade[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]:not(.test-point-grading) th.student-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.test-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.student-grade[_ngcontent-%COMP%]{width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));min-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));max-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer))}}th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{padding:0;width:auto}@media (max-width: 810px){th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{width:0}}th.test-grade[_ngcontent-%COMP%] .column-title.point-input-container[_ngcontent-%COMP%]{width:var(--point-input-size)}@media (max-width: 810px){.desktop[_ngcontent-%COMP%]:not(.selected), .student-grade[_ngcontent-%COMP%]:not(.selected), .student-average[_ngcontent-%COMP%], .test-grade[_ngcontent-%COMP%]:not(.selected){display:none}table[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%], thead[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%}th[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{display:flex;width:100%}.student-name[_ngcontent-%COMP%]{flex:1;display:block;padding-right:0}.test-grade[_ngcontent-%COMP%]{flex:none;display:block}}@media (min-width: 811px){.mobile[_ngcontent-%COMP%]{display:none}.student-name[_ngcontent-%COMP%]{width:var(--student-name-column-width);min-width:var(--student-name-column-width);max-width:var(--student-name-column-width)}.student-grade[_ngcontent-%COMP%]{width:var(--student-grade-column-width);min-width:var(--student-grade-column-width);max-width:var(--student-grade-column-width)}.student-average[_ngcontent-%COMP%]{width:var(--student-average-column-width);min-width:var(--student-average-column-width);max-width:var(--student-average-column-width)}.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}th.sticky[_ngcontent-%COMP%], td.sticky[_ngcontent-%COMP%]{position:sticky;left:0;background-color:#fff}th.sticky.student-grade[_ngcontent-%COMP%], td.sticky.student-grade[_ngcontent-%COMP%]{left:var(--student-grade-column-offset)}th.sticky.student-average[_ngcontent-%COMP%], td.sticky.student-average[_ngcontent-%COMP%]{left:var(--student-average-column-offset)}}@media (max-width: 1200px){[_nghost-%COMP%]{--student-average-column-width: 1px}.student-average[_ngcontent-%COMP%]{padding:0;overflow:hidden}}@media (min-width: 1201px){.student-average-inline[_ngcontent-%COMP%]{display:none}}.sticky[_nghost-%COMP%]{position:fixed;top:0;left:0;z-index:1000;display:none}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-top:none;vertical-align:top}.header-collapsible[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6;padding:0 1rem}tr[_ngcontent-%COMP%] th.test-info-desktop[_ngcontent-%COMP%]{display:none!important}@media (min-width: 811px){.sticky.shown[_nghost-%COMP%]{display:table-header-group}tr[_ngcontent-%COMP%] th.test-info-mobile[_ngcontent-%COMP%]{display:none!important}tr[_ngcontent-%COMP%] th.test-info-desktop[_ngcontent-%COMP%]{display:table-cell!important}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-top:none;padding-top:.25rem;padding-bottom:.25rem;border-top:initial}.sticky[_nghost-%COMP%]{margin-left:var(--test-columns-offset)}.sticky[_nghost-%COMP%] th.sticky[_ngcontent-%COMP%]{position:fixed}}"],changeDetection:0})}}return t})();var cs=(t,l)=>l.student.Id,ms=(t,l)=>l.Id,us=(t,l)=>l.id,hs=t=>({"test-point-grading":t}),Pn=t=>({selected:t}),gs=t=>["student",t,"grades"],fs=t=>({"visible-on-mobile":t});function vs(t,l){if(t&1){let e=$();s(0,"bkd-grade-select",19),d(1,"async"),d(2,"async"),S("gradeIdSelected",function(n){w(e);let o=h(2);return E(o.state.overwriteFinalGrade(n))}),a()}if(t&2){let e=h().$implicit,i=h();m("options",c(1,4,i.state.gradingOptionsForCourse$()))("valueId",e.finalGrade.finalGradeId)("gradeId",e.finalGrade.id)("disabled",c(2,6,i.isEditFinalGradesAllowed(e))===!1)}}function Cs(t,l){if(t&1&&(s(0,"div"),p(1),a()),t&2){let e=h().$implicit;r(),v(" ",e.finalGrade.freeHandGrade," ")}}function _s(t,l){if(t&1&&(B(0),s(1,"td",11),x(2,"bkd-grade",20),d(3,"async"),a()),t&2){let e=l.$implicit,i=l.$index,n=h(),o=n.$implicit,u=n.$index,g=h(),G=e.grade;r(),m("ngClass",g.selectedTest!==void 0&&G.test.Id===g.selectedTest.Id?"selected":""),r(),m("grade",G)("gradeOptions",c(3,5,g.state.gradingOptionsForTest$(G.test)))("student",o.student)("tabIndex",(1+i)*1e3+u)}}function Ss(t,l){if(t&1&&(s(0,"tr")(1,"td",6)(2,"a",15)(3,"div"),p(4),a(),s(5,"div",8),p(6),d(7,"translate"),d(8,"decimalOrDash"),a()()(),s(9,"td",16),k(10,vs,3,8,"bkd-grade-select",17)(11,Cs,2,1,"div"),a(),s(12,"td",18),p(13),d(14,"decimalOrDash"),a(),N(15,_s,4,7,"td",11,us),x(17,"td",12),a()),t&2){let e=l.$implicit,i=h();r(2),m("routerLink",L(16,gs,e.student.Id)),r(2),f(e.student.FullName),r(2),xt(" ",c(7,8,"tests.mean"),": ",D(8,10,e.finalGrade==null?null:e.finalGrade.average,"1-3")," "),r(3),m("ngClass",L(18,Pn,i.selectedTest===void 0)),r(),T(e.finalGrade&&!e.finalGrade.freeHandGrade?10:-1),r(),T(e.finalGrade&&e.finalGrade.freeHandGrade?11:-1),r(2),v(" ",D(14,13,e.finalGrade==null?null:e.finalGrade.average,"1-3")," "),r(2),U(i.getGrades(e))}}function ys(t,l){if(t&1&&(s(0,"td",11),x(1,"bkd-average-grades",21),a()),t&2){let e=l.$implicit,i=h();m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)||e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)}}function bs(t,l){if(t&1){let e=$();s(0,"button",22),S("click",function(){w(e);let n=h();return E(n.setAverageAsFinalGrade())}),p(1),d(2,"translate"),a()}if(t&2){let e=h(),i=j(2);m("ngClass",L(4,fs,!i||!e.selectedTest)),r(),v(" ",c(2,2,"tests.set-final-grade")," ")}}var Mn=(()=>{class t{constructor(e,i){this.state=e,this.modalService=i}ngOnInit(){this.state.setSorting({key:"FullName",ascending:!0})}setAverageAsFinalGrade(){this.state.course$.pipe(oe(1)).subscribe(e=>this.state.setAveragesAsFinalGrades({CourseIds:[e.Id]}))}isEditFinalGradesAllowed(e){return this.state.course$.pipe(y(i=>!!(mt(i)?.value&&e.finalGrade?.canGrade)))}getGrades(e){return e.grades.flatMap(i=>({id:`${e.student.Id}-${i.test.Id}`,grade:i}))}publish(e){let i=this.openModal(e);this.onCloseModal(i,()=>this.state.publish(e))}unpublish(e){let i=this.openModal(e);this.onCloseModal(i,()=>this.state.unpublish(e))}calculatePointsAverage(e){return this.safeAverage(e,it)}calculateGradeAverage(e){return this.safeAverage(e,nt)}safeAverage(e,i){try{return i(e).toString()}catch{return"\u2013"}}openModal(e){let i=this.modalService.open(Cn);return i.componentInstance.test=e,i}onCloseModal(e,i){e.result.then(n=>{n&&i()},()=>{})}static{this.\u0275fac=function(i){return new(i||t)(b(X),b(at))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-test-edit-grades"]],inputs:{selectedTest:"selectedTest"},standalone:!0,features:[se([je]),_],decls:40,vars:45,consts:[["inlineHeader",""],["stickyHeader",""],[1,"table-responsive-wrapper"],["bkdTestEditGradesHeaderSticky","",1,"table","table-hover","h-100",3,"ngClass","inlineHeader","stickyHeader"],["bkdTestEditGradesHeader","",3,"publish","unpublish","selectedTest"],["bkdTestEditGradesHeader","",3,"publish","unpublish","sticky","selectedTest"],[1,"sticky","student-name"],[1,"d-flex","flex-column"],[1,"student-average-inline"],[1,"desktop","sticky","student-grade",3,"ngClass"],[1,"desktop","border-end","sticky","student-average"],[1,"test-grade",3,"ngClass"],[1,"filler"],[1,"action-buttons"],["data-testId","apply-average-button","type","button",1,"apply-average-button","btn","btn-primary","m-3",3,"ngClass"],[3,"routerLink"],[1,"sticky","student-grade",3,"ngClass"],[3,"options","valueId","gradeId","disabled"],[1,"border-end","sticky","student-average"],[3,"gradeIdSelected","options","valueId","gradeId","disabled"],[3,"grade","gradeOptions","student","tabIndex"],[3,"test"],["data-testId","apply-average-button","type","button",1,"apply-average-button","btn","btn-primary","m-3",3,"click","ngClass"]],template:function(i,n){if(i&1){let o=$();B(0),d(1,"async"),B(2),d(3,"async"),B(4),d(5,"async"),s(6,"div",2)(7,"table",3)(8,"thead",4,0),S("publish",function(g){return w(o),E(n.publish(g))})("unpublish",function(g){return w(o),E(n.unpublish(g))}),a(),s(10,"thead",5,1),S("publish",function(g){return w(o),E(n.publish(g))})("unpublish",function(g){return w(o),E(n.unpublish(g))}),a(),s(12,"tbody"),N(13,Ss,18,20,"tr",null,cs),s(15,"tr")(16,"td",6)(17,"div",7)(18,"div"),p(19),d(20,"translate"),a(),s(21,"div",8),p(22),d(23,"translate"),d(24,"async"),d(25,"decimalOrDash"),a()()(),s(26,"td",9),p(27),d(28,"async"),d(29,"decimalOrDash"),a(),s(30,"td",10),p(31),d(32,"async"),d(33,"decimalOrDash"),a(),N(34,ys,2,2,"td",11,ms),x(36,"td",12),a()()(),s(37,"div",13),k(38,bs,3,6,"button",14),d(39,"async"),a()()}if(i&2){let o=ve(9),u=ve(11),g=c(1,13,n.state.filteredTests$);r(2),W(c(3,15,n.state.hasTests$));let G=c(5,18,n.state.studentGrades$);r(5),m("ngClass",L(41,hs,n.selectedTest==null?null:n.selectedTest.IsPointGrading))("inlineHeader",o)("stickyHeader",u),r(),m("selectedTest",n.selectedTest),r(2),m("sticky",!0)("selectedTest",n.selectedTest),r(3),U(G),r(6),f(c(20,20,"tests.average")),r(3),xt(" ",c(23,22,"tests.mean"),": ",D(25,26,c(24,24,n.state.meanOfStudentGradesForCourse$),"1-3")," "),r(4),m("ngClass",L(43,Pn,n.selectedTest===void 0)),r(),v(" ",D(29,31,c(28,29,n.state.meanOfFinalGradesForCourse$),"1-3")," "),r(4),v(" ",D(33,36,c(32,34,n.state.meanOfStudentGradesForCourse$),"1-3")," "),r(3),U(g),r(4),T(c(39,39,n.state.canSetFinalGrade$)?38:-1)}},dependencies:[pe,te,yn,_n,Sn,K,P,I,Ii,bn,In],styles:["[_nghost-%COMP%]{--spacer: 16px;--point-input-size: 4em;--grade-input-size: 127px;--points-grade-gap: 1rem;--student-name-column-width: 225px;--student-grade-column-width: calc( var(--spacer) + var(--grade-input-size) + var(--spacer) );--student-average-column-width: 100px;--test-grade-column-width: calc( var(--spacer) + var(--point-input-size) + var(--points-grade-gap) + var(--grade-input-size) + var(--spacer) );--student-grade-column-offset: var(--student-name-column-width);--student-average-column-offset: calc( var(--student-grade-column-offset) + var(--student-grade-column-width) );--test-columns-offset: calc( var(--student-average-column-offset) + var(--student-average-column-width) )}@media (min-width: 1000px){[_nghost-%COMP%]{--student-name-column-width: 275px}}@media (max-width: 767.98px){[_nghost-%COMP%]{--points-grade-gap: calc(.5 * var(--spacer))}}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:1rem}td[_ngcontent-%COMP%]{vertical-align:middle}@media (min-width: 576px){[_nghost-%COMP%]{--point-input-size: 5em}}tr[_ngcontent-%COMP%]:not(.header-collapsible) th.test-grade[_ngcontent-%COMP%], td.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}@media (max-width: 810px){tr[_ngcontent-%COMP%]:not(.header-collapsible):not(.test-point-grading) th.test-grade[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]:not(.test-point-grading) th.student-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.test-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.student-grade[_ngcontent-%COMP%]{width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));min-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));max-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer))}}th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{padding:0;width:auto}@media (max-width: 810px){th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{width:0}}th.test-grade[_ngcontent-%COMP%] .column-title.point-input-container[_ngcontent-%COMP%]{width:var(--point-input-size)}@media (max-width: 810px){.desktop[_ngcontent-%COMP%]:not(.selected), .student-grade[_ngcontent-%COMP%]:not(.selected), .student-average[_ngcontent-%COMP%], .test-grade[_ngcontent-%COMP%]:not(.selected){display:none}table[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%], thead[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%}th[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{display:flex;width:100%}.student-name[_ngcontent-%COMP%]{flex:1;display:block;padding-right:0}.test-grade[_ngcontent-%COMP%]{flex:none;display:block}}@media (min-width: 811px){.mobile[_ngcontent-%COMP%]{display:none}.student-name[_ngcontent-%COMP%]{width:var(--student-name-column-width);min-width:var(--student-name-column-width);max-width:var(--student-name-column-width)}.student-grade[_ngcontent-%COMP%]{width:var(--student-grade-column-width);min-width:var(--student-grade-column-width);max-width:var(--student-grade-column-width)}.student-average[_ngcontent-%COMP%]{width:var(--student-average-column-width);min-width:var(--student-average-column-width);max-width:var(--student-average-column-width)}.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}th.sticky[_ngcontent-%COMP%], td.sticky[_ngcontent-%COMP%]{position:sticky;left:0;background-color:#fff}th.sticky.student-grade[_ngcontent-%COMP%], td.sticky.student-grade[_ngcontent-%COMP%]{left:var(--student-grade-column-offset)}th.sticky.student-average[_ngcontent-%COMP%], td.sticky.student-average[_ngcontent-%COMP%]{left:var(--student-average-column-offset)}}@media (max-width: 1200px){[_nghost-%COMP%]{--student-average-column-width: 1px}.student-average[_ngcontent-%COMP%]{padding:0;overflow:hidden}}@media (min-width: 1201px){.student-average-inline[_ngcontent-%COMP%]{display:none}}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child{text-decoration:underline}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child:hover{text-decoration-color:#ea161f}.student-average-inline[_ngcontent-%COMP%]{color:#4e4e4ef2;font-size:.875rem;line-height:1}@media (min-width: 811px){.table-responsive-wrapper[_ngcontent-%COMP%]{display:block;overflow-x:auto}table[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:0}.action-buttons[_ngcontent-%COMP%]{position:sticky;left:0}}@media (max-width: 810px){.apply-average-button[_ngcontent-%COMP%]:not(.visible-on-mobile){display:none!important}}"]})}}return t})();var xs=()=>["/events"],Ts=t=>({count:t});function ws(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=h();r(),v(" ",D(2,1,e.course.ParticipatingStudents.length===1?"courses.registration":"courses.registrations",L(4,Ts,e.course.ParticipatingStudents.length))," ")}}var On=(()=>{class t{constructor(e){this.reportsService=e,this.course$=new q(null),this.reports$=this.course$.pipe(y(i=>i?.Id),Z(),F(i=>i?this.reportsService.getCourseTestsReports(i):Y([])),jt([]))}ngOnChanges(e){e.course&&this.course$.next(e.course.currentValue)}getDesignation(){return ut(this.course)}static{this.\u0275fac=function(i){return new(i||t)(b(st))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-header"]],inputs:{course:"course"},standalone:!0,features:[Ie,_],decls:12,vars:7,consts:[[3,"link"],[1,"d-flex"],["routerLink","add",1,"edit","btn","btn-primary","btn-icon","ms-2"],[1,"material-icons"],[1,"ms-2",3,"reports"],["id","excel-import"],[1,"d-flex","flex-column","header"],[1,"additional-info"]],template:function(i,n){i&1&&(s(0,"bkd-backlink",0)(1,"div",1)(2,"a",2)(3,"i",3),p(4,"add"),a()(),x(5,"bkd-reports-link",4),d(6,"async"),x(7,"div",5),a()(),s(8,"div",6)(9,"h1"),p(10),a(),k(11,ws,3,6,"div",7),a()),i&2&&(m("link",Oe(6,xs)),r(5),m("reports",c(6,4,n.reports$)),r(5),f(n.getDesignation()),r(),T(n.course.ParticipatingStudents?11:-1))},dependencies:[ot,te,tt,K,P,I],styles:[".header[_ngcontent-%COMP%]{padding-bottom:1rem;border-bottom:1px solid #dee2e6}h1[_ngcontent-%COMP%]{margin-bottom:0}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}"]})}}return t})();var Es=()=>[],ks=t=>({"visible-on-mobile":t});function Is(t,l){t&1&&x(0,"bkd-spinner")}function Ps(t,l){if(t&1){let e=$();s(0,"bkd-select",4),S("valueChange",function(n){w(e);let o=h(2);return E(n&&o.testSelected(n))}),a(),x(1,"bkd-test-edit-grades",5)}if(t&2){h(2);let e=j(6),i=j(8),n=j(10);m("options",e)("value",i)("allowEmpty",!1),r(),m("selectedTest",n)}}function Ms(t,l){t&1&&(s(0,"p",2),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"tests.no-tests")))}function Os(t,l){if(t&1&&(s(0,"a",3),d(1,"async"),s(2,"i",6),p(3,"arrow_right_alt"),a(),s(4,"span",7),p(5),d(6,"translate"),a()()),t&2){let e=h(2),i=j(4),n=j(10);fe("href",c(1,3,e.buildLinkToRatingOverview()),Ne),m("ngClass",L(7,ks,!i||!n)),r(5),f(c(6,5,"tests.link-to-rating-overview"))}}function Gs(t,l){if(t&1&&(x(0,"bkd-tests-header",1),k(1,Ps,2,4)(2,Ms,3,3,"p",2)(3,Os,7,9,"a",3),d(4,"async")),t&2){let e=h(),i=j(0),n=j(2);m("course",i),r(),T(n.length>0?1:2),r(2),T(c(4,3,e.state.canSetFinalGrade$)?3:-1)}}var Gn=(()=>{class t{constructor(e,i,n){this.settings=e,this.state=i,this.translate=n,this.selectTest$=new re,this.testOptions$=this.state.tests$.pipe(y(o=>[{Key:-1,Value:this.translate.instant("tests.grade")},...o.map(u=>({Key:u.Id,Value:u.Designation}))]),Z()),this.selectedTestId$=Ve(this.selectTest$,this.state.tests$.pipe(oe(1),y(o=>o[0]?.Id))).pipe(Z()),this.selectedTest$=this.selectedTestId$.pipe(F(o=>this.state.tests$.pipe(y(u=>u.find(g=>g.Id===o)))),Z())}testSelected(e){this.selectTest$.next(e)}buildLinkToRatingOverview(){return this.state.course$.pipe(oe(1),y(e=>this.settings.eventlist.evaluation.replace(":id",String(e.Id))))}static{this.\u0275fac=function(i){return new(i||t)(b(Ce),b(X),b(ae))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-list"]],standalone:!0,features:[_],decls:16,vars:22,consts:[[1,"bkd-container"],[3,"course"],[1,"mt-3","px-3"],[1,"rating-overview","d-flex","justify-content-end","pe-3","border-top","pt-3",3,"ngClass","href"],["width","100%",1,"tests-dropdown",3,"valueChange","options","value","allowEmpty"],[3,"selectedTest"],[1,"material-icons","fw-bold"],[1,"ps-1"]],template:function(i,n){if(i&1&&(B(0),d(1,"async"),B(2),d(3,"async"),B(4),d(5,"async"),B(6),d(7,"async"),B(8),d(9,"async"),B(10),d(11,"async"),s(12,"div",0),k(13,Is,1,0,"bkd-spinner"),d(14,"async"),k(15,Gs,5,5),a()),i&2){let o;W(c(1,1,n.state.course$)),r(2),W((o=c(3,4,n.state.tests$))!==null&&o!==void 0?o:Oe(21,Es)),r(2),W(c(5,7,n.state.hasTests$)),r(2),W(c(7,10,n.testOptions$)),r(2),W(c(9,13,n.selectedTestId$)),r(2),W(c(11,16,n.selectedTest$)),r(3),T(c(14,19,n.state.loading$)?13:15)}},dependencies:[On,Be,Mn,pe,ye,K,P,I],styles:[".tests-dropdown[_ngcontent-%COMP%]{display:block;padding:1rem 0}@media (min-width: 811px){.tests-dropdown[_ngcontent-%COMP%]{display:none}}a.rating-overview[_ngcontent-%COMP%]{text-decoration:none}a.rating-overview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}a.rating-overview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}@media (max-width: 810px){a.rating-overview[_ngcontent-%COMP%]:not(.visible-on-mobile){display:none!important}}"]})}}return t})();var St=(()=>{class t{constructor(e,i){this.state=e,this.route=i,this.courseId$=this.route.paramMap.pipe(y(n=>Number(n.get("id"))),Z()),this.destroy$=new re}ngOnInit(){this.courseId$.pipe(ge(this.destroy$)).subscribe(e=>this.state.setCourseId(e))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(i){return new(i||t)(b(X),b(ce))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests"]],standalone:!0,features:[se([X]),_],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[Ge]})}}return t})();var kp=[{path:"",component:nn,children:[{path:"",component:tn},{path:"current",component:zi},{path:"students/:id",component:en,children:[{path:"",component:Zi},kt]},{path:":id",component:St,children:[{path:"tests",component:Gn}]},{path:":id/tests/:testId/edit",component:St,children:[{path:"",component:vn}]},{path:":id/tests/add",component:St,children:[{path:"",component:gn}]},{path:":id/tests",children:[kt]}]}];export{kp as EVENTS_ROUTES}; +import{a as Fi,b as Li,c as It,d as Pt,e as Di}from"./chunk-7NNVHN3N.js";import{a as dt}from"./chunk-MEYGFUJC.js";import{a as lt,b as pt}from"./chunk-KY334V7F.js";import{a as ji}from"./chunk-GPFQRPOC.js";import{a as kt}from"./chunk-SWW2IZXB.js";import{e as $i}from"./chunk-QNGDMYF2.js";import{a as Et,b as yi,c as bi,d as xi,e as Ti,f as it,g as nt,h as wi,i as Ei,j as ki,k as Ii,l as Pi,m as Be,o as Mi,p as me,r as rt,s as Oi,u as Gi,v as at}from"./chunk-5FFJJJZ5.js";import"./chunk-VMOOBKG2.js";import{e as gi}from"./chunk-VF44T6U3.js";import{b as Si}from"./chunk-A4TCTMIL.js";import{a as hi}from"./chunk-Y4QYVF5K.js";import"./chunk-TCEEBBQP.js";import{a as Ri}from"./chunk-SIGO6MIP.js";import{a as ct,c as Bi}from"./chunk-LQFIH3S3.js";import{a as Ci,b as _i}from"./chunk-4QTA7R6W.js";import{a as fi,d as st}from"./chunk-VNNH2VUZ.js";import{d as vi}from"./chunk-HLEZ4C3Q.js";import"./chunk-5ZOEDVCI.js";import{L as ui,U as ot,p as mi}from"./chunk-G2L3C6GE.js";import{a as De,c as ci,l as ye}from"./chunk-2FCCHX6W.js";import{a as tt,b as Re}from"./chunk-KCOBA4SV.js";import{a as et,b as be}from"./chunk-GWJDWK72.js";import{a as wt,b as Ie,h as ni,i as ri,k as si,l as ai,r as Je,w as Se}from"./chunk-7TIAFCYF.js";import{a as Qe}from"./chunk-LXT7D3OU.js";import{$a as a,Ab as B,Ac as $e,Ad as ei,B as Lt,Bb as W,Bc as te,Bd as ti,C as Dt,Cb as j,Cd as Le,D as Rt,Db as se,Dd as ii,Eb as _,F as oe,Fb as Ge,Ga as bt,Gb as L,H as Z,Ha as Me,Hb as Tt,J as He,Jd as oi,K as Bt,Kb as d,Kd as di,La as k,Lb as c,M as ee,Mb as D,Md as li,O as jt,Od as pi,P as F,Qa as m,Qb as qt,Qd as ae,R as ge,Ra as le,Rd as I,Sd as P,Td as Ze,Ub as Q,Va as T,X as de,Xa as Oe,Ya as N,Za as U,_ as O,_a as s,a as A,aa as C,ab as x,b as H,bc as pe,ca as At,da as Vt,eb as $,ec as K,ed as _e,f as re,fc as Ue,g as q,gb as S,h as yt,ha as Pe,hb as h,hd as ze,ia as w,ib as Wt,ja as E,jb as zt,jd as Fe,kb as fe,kd as qe,l as Y,la as Ht,ld as Yt,m as Ft,n as y,nc as We,o as J,od as Kt,pd as Xt,qa as ie,qb as ve,qd as Ye,rb as p,rd as Jt,sb as f,ta as Nt,tb as v,td as Qt,ua as R,ub as xt,ud as Zt,va as Ut,w as Ve,x as Te,xa as Ne,xb as we,ya as r,yb as Ee,yc as ce,yd as Ke,za as b,zb as ke,zc as Ce,zd as Xe}from"./chunk-TTJNYD2F.js";var Fn=t=>[t,"tests"];function Ln(t,l){if(t&1&&(s(0,"span"),p(1),d(2,"date"),x(3,"wbr"),p(4),d(5,"date"),a()),t&2){let e=h();r(),v("",D(2,2,e.event().dateFrom,"dd.MM.yyyy"),"\u2013"),r(3),f(D(5,5,e.event().dateTo,"dd.MM.yyyy"))}}function Dn(t,l){if(t&1&&(s(0,"a",6)(1,"i",7),p(2,"arrow_right_alt"),a(),s(3,"span",8),p(4),a()()),t&2){let e=h(2);m("routerLink",L(2,Fn,e.event().id)),r(4),f(e.event().evaluationText)}}function Rn(t,l){if(t&1&&(s(0,"a",6)(1,"i",7),p(2,"arrow_right_alt"),a(),s(3,"span",8),p(4),a()()),t&2){let e=h(2);m("routerLink",e.event().evaluationLink),r(4),v("",e.event().evaluationText," ")}}function Bn(t,l){if(t&1&&(s(0,"div",5),k(1,Dn,5,4,"a",6)(2,Rn,5,2,"a",6),a()),t&2){let e=h();r(),T(e.event().evaluationLink?-1:1),r(),T(e.event().evaluationLink?2:-1)}}var Ai=(()=>{class t{constructor(){this.event=R.required(),this.withRatings=R(!0),this.link=Q(()=>vi(this.event().detailLink))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-list-entry"]],inputs:{event:[1,"event"],withRatings:[1,"withRatings"]},standalone:!0,features:[_],decls:11,vars:9,consts:[[1,"designation"],[3,"routerLink","queryParams"],[1,"date"],[1,"registrations"],[1,"registrations-label"],[1,"rating"],[1,"d-flex",3,"routerLink"],[1,"material-icons"],[1,"ps-1"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"a",1),p(2),a()(),s(3,"div",2),k(4,Ln,6,8,"span"),a(),s(5,"div",3),p(6),s(7,"span",4),p(8),d(9,"translate"),a()(),k(10,Bn,3,2,"div",5)),i&2&&(r(),m("routerLink",n.link().link)("queryParams",n.link().params),r(),f(n.event().designation),r(2),T(n.event().dateFrom&&n.event().dateTo?4:-1),r(2),v(" ",n.event().studentCount," "),r(2),f(c(9,7,n.event().studentCount===1?"events.registration":"events.registrations")),r(2),T(n.withRatings()&&n.event().evaluationText?10:-1))},dependencies:[te,Ue,P,I],styles:['[_nghost-%COMP%]{display:grid;padding:1rem;border-bottom:1px solid #dee2e6;grid-template-areas:"designation date registrations rating";grid-template-columns:4fr 2fr 2fr 3fr}.designation[_ngcontent-%COMP%]{grid-area:designation;padding-right:1rem}.date[_ngcontent-%COMP%]{grid-area:date;padding-right:1rem}.registrations[_ngcontent-%COMP%]{grid-area:registrations;padding-right:1rem}.rating[_ngcontent-%COMP%]{grid-area:rating}.rating[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.rating[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.rating[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.registrations-label[_ngcontent-%COMP%]{display:none}@media (max-width: 575.98px){.registrations-label[_ngcontent-%COMP%]{display:inline}.designation[_ngcontent-%COMP%], .date[_ngcontent-%COMP%], .registrations[_ngcontent-%COMP%]{padding-right:0}[_nghost-%COMP%]{grid-template-areas:"designation" "date" "registrations" "rating";grid-template-columns:1fr}}']})}}return t})();var jn=10300,An=10260,Vn=10250,Hn=14030,Nn=10350;function mt(t){let{HasEvaluationStarted:l,EvaluationUntil:e,HasTestGrading:i}=t.EvaluationStatusRef;if(l===!0&&(t.StatusId===Hn||t.StatusId===Nn))return{value:ne.Rating};if(l===!0&&i===!1){if(e)return{value:ne.RatingUntil};if(t.StatusId===jn)return{value:ne.IntermediateRating}}return l===!1&&i===!0&&t.StatusId!==An&&t.StatusId!==Vn?{value:ne.Tests}:l===!0&&i===!0?e?{value:ne.Tests,label:ne.RatingUntil}:{value:ne.Tests,label:ne.IntermediateRating}:null}function Vi(t){return t.EvaluationStatusRef.HasEvaluationStarted===!0}function Hi(t){return t.EvaluationStatusRef.HasReviewOfEvaluationStarted===!0&&!!t.FinalGrades?.length}function ut(t){let l=t.Classes?t.Classes.map(e=>e.Number).join(", "):null;return l?t.Designation+", "+l:t.Designation}function Ni(t,l){return t?(l.Leadership??"").split(",").some(e=>e.trim()===t.fullname):!1}var ne=function(t){return t.Rating="rating",t.RatingUntil="rating-until",t.IntermediateRating="intermediate-rating",t.Tests="add-tests",t}(ne||{}),je=(()=>{class t{constructor(e,i,n,o,u,g,G,z,ue){this.coursesRestService=e,this.eventsRestService=i,this.studyClassRestService=n,this.subscriptionsRestService=o,this.loadingService=u,this.storageService=g,this.translate=G,this.router=z,this.settings=ue,this.loading$=this.loadingService.loading$,this.searchFields$=new q(["designation"]),this.searchSubject$=new q(""),this.search$=this.searchSubject$.asObservable(),this.roles$=new q(null),this.isClassTeacher$=this.roles$.pipe(y(he=>hi(he,"ClassTeacherRole")),ee(1)),this.withStudyCourses$=new q(!1),this.unratedCourses$=this.roles$.pipe(F(this.loadUnratedCourses.bind(this)),ee(1)),this.studyCourses$=this.withStudyCourses$.pipe(F(this.loadStudyCourses.bind(this)),ee(1)),this.formativeAssessments$=this.isClassTeacher$.pipe(F(this.loadFormativeAssessments.bind(this)),ee(1)),this.studyClasses$=this.isClassTeacher$.pipe(F(this.loadStudyClasses.bind(this)),ee(1)),this.events$=this.getEvents().pipe(ee(1)),this.filteredEvents$=J([this.events$,this.searchFields$,this.search$]).pipe(y(ye(lt)))}setSearch(e){this.searchSubject$.next(e)}setRoles(e){this.roles$.next(e)}setWithStudyCourses(e){this.withStudyCourses$.next(e)}setSearchFields(e){this.searchFields$.next(e)}getEntries(e=!1){return this.filteredEvents$.pipe(y(i=>e?i.filter(n=>n.evaluationText):i))}getEvents(){return this.loadingService.load(J([this.unratedCourses$,this.studyCourses$,this.formativeAssessments$,this.studyClasses$]),{stopOnFirstValue:!0}).pipe(y(ye(this.createAndSortEvents.bind(this))))}loadUnratedCourses(e){return this.coursesRestService.getExpandedCourses(e).pipe(y(i=>i.filter(n=>!Hi(n))))}loadStudyCourses(e){if(!e)return Y([]);let i=this.storageService.getPayload();return this.eventsRestService.getStudyCourseEvents().pipe(y(n=>n.filter(o=>Ni(i,o))),F(n=>this.subscriptionsRestService.getSubscriptionCountsByEvents(n.map(o=>o.Id)).pipe(y(o=>n.map(u=>H(A({},u),{StudentCount:o[u.Id]??0}))))))}loadFormativeAssessments(e){return e?this.studyClassRestService.getActiveFormativeAssessments():Y([])}loadStudyClasses(e){return e?this.studyClassRestService.getActive():Y([])}createAndSortEvents(e,i,n,o){let u=o.filter(g=>!n.map(G=>G.Id).includes(g.Id));return[...this.createFromCourses(e),...this.createFromStudyCourses(i),...this.createFromAssessments(n),...this.createFromStudyClasses(u)].sort((g,G)=>g.designation.localeCompare(G.designation))}createFromCourses(e){return e.map(i=>{let n=mt(i);return{id:i.Id,designation:ut(i),detailLink:this.buildStudentsLink(i.Id),studentCount:i.AttendanceRef.StudentCount||0,dateFrom:i.DateFrom,dateTo:i.DateTo,state:n?.value||null,evaluationText:this.getEvaluationText(n,i.EvaluationStatusRef.EvaluationUntil),evaluationLink:n?.value&&n?.value!==ne.Tests?this.buildEvaluationLink(i.Id):null}})}createFromStudyCourses(e){return e.map(i=>({id:i.Id,designation:i.Designation,detailLink:this.buildStudentsLink(i.Id),studentCount:i.StudentCount,state:null}))}createFromAssessments(e){return this.createFromStudyClasses(e).map(n=>H(A({},n),{state:ne.Rating,evaluationText:this.translate.instant("events.state.rating"),evaluationLink:this.buildEvaluationLink(n.id)}))}createFromStudyClasses(e){return e.map(i=>({id:i.Id,designation:i.Number,detailLink:this.buildStudentsLink(i.Id),studentCount:i.StudentCount,state:null}))}getEvaluationText(e,i){let n=e?.label||e?.value;return n?this.translate.instant(`events.state.${n}`)+(n===ne.RatingUntil?` ${i?mi(i,"dd.MM.yyyy"):""}`:""):""}buildStudentsLink(e){return Fi(e,this.router.url)}buildEvaluationLink(e){return(this.settings.eventlist.evaluation??"").replace(":id",String(e))}static{this.\u0275fac=function(i){return new(i||t)(O(me),O(dt),O(ji),O(rt),O(Re),O(Ze),O(ae),O($e),O(_e))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Yn=(t,l)=>l.id,Kn=()=>[];function Xn(t,l){t&1&&x(0,"bkd-spinner")}function Jn(t,l){t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2&&(r(),v(" ",c(2,1,"events.rating")," "))}function Qn(t,l){if(t&1&&x(0,"bkd-events-list-entry",8),t&2){let e=l.$implicit,i=h(3);m("event",e)("withRatings",i.withRatings)}}function Zn(t,l){if(t&1&&(s(0,"div",3)(1,"div",4),p(2),d(3,"translate"),a(),s(4,"div",5),p(5),d(6,"translate"),a(),s(7,"div",6),p(8),d(9,"translate"),a(),k(10,Jn,3,3,"div",7),a(),N(11,Qn,1,2,"bkd-events-list-entry",8,Yn)),t&2){let e=h(2),i=j(0);r(2),f(c(3,4,"events.designation")),r(3),f(c(6,6,"events.date")),r(3),v(" ",c(9,8,"events.registrations")," "),r(2),T(e.withRatings?10:-1),r(),U(i)}}function er(t,l){t&1&&(s(0,"p",2),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events.no-events")))}function tr(t,l){if(t&1&&k(0,Zn,13,10)(1,er,3,3,"p",2),t&2){h();let e=j(0);T(e.length>0?0:1)}}var Wi=["designation"],ir=[...Wi,"evaluationText"],gt=(()=>{class t{constructor(e,i){this.state=e,this.storage=i,this.withStudyCourses=!1,this.withRatings=!0,this.state.setRoles(this.storage.getPayload()?.roles??null)}ngOnChanges(e){e.withStudyCourses&&this.state.setWithStudyCourses(e.withStudyCourses.currentValue),e.withRatings&&this.state.setSearchFields(e.withRatings.currentValue?ir:Wi)}static{this.\u0275fac=function(i){return new(i||t)(b(je),b(Ze))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-list"]],inputs:{withStudyCourses:"withStudyCourses",withRatings:"withRatings"},standalone:!0,features:[Pe,_],decls:10,vars:17,consts:[[1,"bkd-container"],[1,"d-flex","search",3,"valueChange","value","placeholder","label","disabled"],[1,"mt-3"],[1,"event-header"],[1,"designation"],[1,"date"],[1,"registrations"],[1,"rating"],[3,"event","withRatings"]],template:function(i,n){if(i&1){let o=$();B(0),d(1,"async"),s(2,"div",0)(3,"bkd-resettable-input",1),d(4,"async"),d(5,"translate"),d(6,"translate"),S("valueChange",function(g){return w(o),E(n.state.setSearch(g))}),a(),k(7,Xn,1,0,"bkd-spinner"),d(8,"async"),k(9,tr,2,1),a()}if(i&2){let o,u=W((o=c(1,5,n.state.getEntries(n.withRatings)))!==null&&o!==void 0?o:Ge(16,Kn));r(3),m("value",c(4,8,n.state.search$))("placeholder",c(5,10,"events.search-by"))("label",c(6,12,"events.search"))("disabled",!u),r(4),T(c(8,14,n.state.loading$)?7:9)}},dependencies:[pt,be,K,P,I,Ai],styles:['.search[_ngcontent-%COMP%]{max-width:500px}.event-header[_ngcontent-%COMP%]{display:grid;padding:1rem;border-bottom:2px solid #dee2e6;grid-template-areas:"designation date registrations rating";grid-template-columns:4fr 2fr 2fr 3fr}@media (max-width: 575.98px){.event-header[_ngcontent-%COMP%]{display:none}}']})}}return t})();var zi=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-current-list"]],standalone:!0,features:[_],decls:4,vars:5,consts:[[3,"withStudyCourses","withRatings"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),d(2,"translate"),a(),x(3,"bkd-events-list",0)),i&2&&(r(),f(c(2,3,"events.current.title")),r(2),m("withStudyCourses",!0)("withRatings",!1))},dependencies:[gt,P,I],changeDetection:0})}}return t})();var qi=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-current"]],standalone:!0,features:[_],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[Ce],encapsulation:2})}}return t})();var Yi=(()=>{class t{constructor(){this.entry=R.required(),this.multipleStudyClasses=R(!1),this.returnLink=R(null),this.link=Q(()=>["student",this.entry().id,"addresses"]),this.linkParams=Q(()=>{let e=this.returnLink();return e?{returnparams:new URLSearchParams({returnlink:e}).toString()}:{}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-course-entry"]],inputs:{entry:[1,"entry"],multipleStudyClasses:[1,"multipleStudyClasses"],returnLink:[1,"returnLink"]},standalone:!0,features:[_],decls:7,vars:10,consts:[[1,"avatar","large",3,"studentId","link","linkParams"],[1,"name",3,"title","routerLink","queryParams"],[1,"study-class"],[1,"company",3,"title"]],template:function(i,n){i&1&&(x(0,"bkd-avatar",0),s(1,"a",1),p(2),a(),s(3,"div",2),p(4),a(),s(5,"div",3),p(6),a()),i&2&&(m("studentId",n.entry().id)("link",n.link())("linkParams",n.linkParams()),r(),m("title",n.entry().name)("routerLink",n.link())("queryParams",n.linkParams()),r(),f(n.entry().name),r(2),v(" ",n.multipleStudyClasses()?n.entry().studyClass:"",` +`),r(),m("title",n.entry().company),r(),f(n.entry().company))},dependencies:[te,$i],styles:['[_nghost-%COMP%]{display:grid;grid-template-columns:min-content 1fr;grid-template-rows:min-content min-content 1fr;grid-template-areas:"avatar name" "avatar study-class" "avatar company";padding:2rem 1rem}.avatar[_ngcontent-%COMP%]{grid-area:avatar;margin-right:1.5rem}.name[_ngcontent-%COMP%]{grid-area:name}.study-class[_ngcontent-%COMP%]{grid-area:study-class;font-size:.875rem}.company[_ngcontent-%COMP%]{grid-area:company;align-content:end;padding-bottom:1.5rem}.name[_ngcontent-%COMP%], .company[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}'],changeDetection:0})}}return t})();var nr=t=>({count:t});function rr(t,l){if(t&1&&(s(0,"div",0),p(1),d(2,"translate"),a()),t&2){h();let e=j(2);r(),v(" ",D(2,1,e===1?"events-students.registration":"events-students.registrations",L(4,nr,e))," ")}}var ft=(()=>{class t{constructor(){this.title=R.required(),this.count=R(null),this.searchTerm=Me()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-header"]],inputs:{title:[1,"title"],count:[1,"count"],searchTerm:[1,"searchTerm"]},outputs:{searchTerm:"searchTermChange"},standalone:!0,features:[_],decls:7,vars:10,consts:[[1,"additional-info"],[1,"search",3,"valueChange","value","placeholder","label"]],template:function(i,n){if(i&1){let o=$();s(0,"h1"),p(1),a(),B(2),k(3,rr,3,6,"div",0),s(4,"bkd-resettable-input",1),d(5,"translate"),d(6,"translate"),S("valueChange",function(g){return w(o),E(n.searchTerm.set(g))}),a()}if(i&2){r(),f(n.title()),r();let o=W(n.count());r(),T(o!==null?3:-1),r(),m("value",n.searchTerm())("placeholder",c(5,6,"events-students.search-placeholder"))("label",c(6,8,"events-students.search"))}},dependencies:[P,I,pt],styles:["h1[_ngcontent-%COMP%]{margin-bottom:0}.search[_ngcontent-%COMP%]{margin-top:1rem;display:flex;max-width:300px}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}"],changeDetection:0})}}return t})();var sr=(t,l)=>l.id;function ar(t,l){t&1&&(s(0,"p"),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function or(t,l){if(t&1&&x(0,"bkd-events-students-course-entry",2),t&2){let e=l.$implicit,i=h();m("entry",e)("multipleStudyClasses",i.multipleStudyClasses())("returnLink",i.returnLink())}}var Ki=(()=>{class t{constructor(){this.title=R.required(),this.count=R.required(),this.entries=R.required(),this.multipleStudyClasses=R(!1),this.returnLink=R(null),this.searchTerm=Me()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-course-list"]],inputs:{title:[1,"title"],count:[1,"count"],entries:[1,"entries"],multipleStudyClasses:[1,"multipleStudyClasses"],returnLink:[1,"returnLink"],searchTerm:[1,"searchTerm"]},outputs:{searchTerm:"searchTermChange"},standalone:!0,features:[_],decls:5,vars:4,consts:[[3,"searchTermChange","title","count","searchTerm"],[1,"list"],[3,"entry","multipleStudyClasses","returnLink"]],template:function(i,n){i&1&&(s(0,"bkd-events-students-header",0),ke("searchTermChange",function(u){return Ee(n.searchTerm,u)||(n.searchTerm=u),u}),a(),s(1,"section",1),k(2,ar,3,3,"p"),N(3,or,1,3,"bkd-events-students-course-entry",2,sr),a()),i&2&&(m("title",n.title())("count",n.count()),we("searchTerm",n.searchTerm),r(2),T(n.entries().length===0?2:-1),r(),U(n.entries()))},dependencies:[P,I,ft,Yi],styles:["[_nghost-%COMP%]{display:block;overflow:hidden}section.list[_ngcontent-%COMP%]{width:calc(100% + 1px);margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}bkd-events-students-course-entry[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6}"],changeDetection:0})}}return t})();var Xi=(()=>{class t{constructor(){this.entry=R.required(),this.returnLink=R(null),this.link=Q(()=>["student",this.entry().id,"absences"]),this.linkParams=Q(()=>{let e=this.returnLink();return e?{returnparams:new URLSearchParams({returnlink:e}).toString()}:{}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-study-course-entry"]],inputs:{entry:[1,"entry"],returnLink:[1,"returnLink"]},standalone:!0,features:[_],decls:4,vars:4,consts:[[1,"name",3,"routerLink","queryParams"],[1,"status"]],template:function(i,n){i&1&&(s(0,"a",0),p(1),a(),s(2,"div",1),p(3),a()),i&2&&(m("routerLink",n.link())("queryParams",n.linkParams()),r(),f(n.entry().name),r(2),f(n.entry().status))},dependencies:[te],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;align-items:stretch;border-bottom:1px solid #dee2e6}.name[_ngcontent-%COMP%], .status[_ngcontent-%COMP%]{padding:1rem}.name[_ngcontent-%COMP%]{flex:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status[_ngcontent-%COMP%]{flex:1;padding-left:0}@media (max-width: 750px){[_nghost-%COMP%]{flex-direction:column}.name[_ngcontent-%COMP%]{padding-bottom:0}.status[_ngcontent-%COMP%]{padding-top:0;padding-left:1rem;font-size:.875rem}}"],changeDetection:0})}}return t})();var dr=(t,l)=>l.id;function lr(t,l){if(t&1){let e=$();s(0,"div",2)(1,"div",4),S("click",function(){w(e);let n=h();return E(n.toggleSort.emit())}),p(2),d(3,"translate"),s(4,"span",5),p(5),a()()()}if(t&2){let e=h();r(),m("className",e.primarySortKey),r(),v(" ",c(3,3,"events-students.list.header."+e.primarySortKey)," "),r(3),f(e.getSortDirectionCharacter(e.sortCriteria()))}}function pr(t,l){t&1&&(s(0,"p"),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function cr(t,l){if(t&1&&x(0,"bkd-events-students-study-course-entry",3),t&2){let e=l.$implicit,i=h();m("entry",e)("returnLink",i.returnLink())}}var Ji=(()=>{class t{constructor(){this.title=R.required(),this.count=R.required(),this.entries=R.required(),this.returnLink=R(null),this.sortCriteria=R.required(),this.toggleSort=Nt(),this.searchTerm=Me(),this.primarySortKey="name"}getSortDirectionCharacter(e){return e.ascending?"\u2191":"\u2193"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-study-course-list"]],inputs:{title:[1,"title"],count:[1,"count"],entries:[1,"entries"],returnLink:[1,"returnLink"],sortCriteria:[1,"sortCriteria"],searchTerm:[1,"searchTerm"]},outputs:{toggleSort:"toggleSort",searchTerm:"searchTermChange"},standalone:!0,features:[se([]),_],decls:6,vars:4,consts:[[3,"searchTermChange","title","count","searchTerm"],[1,"list"],[1,"list-header"],[3,"entry","returnLink"],[1,"name",3,"click","className"],[1,"sort-direction"]],template:function(i,n){i&1&&(s(0,"bkd-events-students-header",0),ke("searchTermChange",function(u){return Ee(n.searchTerm,u)||(n.searchTerm=u),u}),a(),s(1,"section",1),k(2,lr,6,5,"div",2)(3,pr,3,3,"p"),N(4,cr,1,2,"bkd-events-students-study-course-entry",3,dr),a()),i&2&&(m("title",n.title())("count",n.count()),we("searchTerm",n.searchTerm),r(2),T(n.entries().length>0?2:3),r(2),U(n.entries()))},dependencies:[P,I,ft,Xi],styles:[".list-header[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;border-bottom:2px solid #dee2e6}.name[_ngcontent-%COMP%]{padding:1rem}"],changeDetection:0})}}return t})();var Qi=(()=>{class t extends et{constructor(e,i){super(e,i,Ci,"ApprenticeshipContracts")}getCompaniesForStudents(e){let i=new Date,n={"filter.StudentId":`;${e.join(";")}`,"filter.ApprenticeshipDateFrom":`<${i.toISOString()}`,"filter.ApprenticeshipDateTo":`>${i.toISOString()}`,fields:"Id,StudentId,CompanyName,CompanyNameAddition"};return this.http.get(`${this.baseUrl}/`,{params:n}).pipe(F(pi(_i)))}static{this.\u0275fac=function(i){return new(i||t)(O(We),O(_e))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var vt=1;var Zi=10,Ct=(()=>{class t{constructor(e,i,n,o,u,g,G,z,ue){this.route=e,this.loadingService=i,this.eventsService=n,this.coursesService=o,this.subscriptionsService=u,this.personsService=g,this.apprenticeshipContractsService=G,this.lessonPresencesService=z,this.reportsService=ue,this.eventId$=this.route.paramMap.pipe(y(he=>Number(he.get("id")))),this.eventTypeId=Ie(this.eventId$.pipe(F(this.loadEventTypeId.bind(this))),{initialValue:null}),this.studentEntries=Ie(this.loadStudentEntries(),{initialValue:null}),this.isStudyCourse=Q(()=>this.eventTypeId()===vt),this.loading=Ie(this.loadingService.loading(ct)),this.title=Q(()=>this.getTitle(this.studentEntries())),this.multipleStudyClasses=Q(()=>(this.studentEntries()?.studyClasses?.length??0)>1),this.searchTerm=bt(""),this.sortCriteria=bt({primarySortKey:"name",ascending:!0}),this.entries=Q(()=>this.studentEntries()?.entries??[]),this.sortedEntries=Q(()=>this.sortStudentEntries(this.entries(),this.sortCriteria())),this.filteredEntries=Q(()=>lt(this.sortedEntries(),["name","status","company","studyClass"],this.searchTerm())),this.mailtoLink=Q(()=>this.getMailtoLink(this.eventTypeId(),this.entries())),this.reports=Ie(J([this.eventId$,wt(this.eventTypeId).pipe(Te(Se))]).pipe(F(ye(this.loadReports.bind(this)))),{initialValue:[]})}loadEventTypeId(e){return this.loadingService.load(this.eventsService.getEventTypeId(e),ct)}loadStudentEntries(){return J([this.eventId$,wt(this.eventTypeId)]).pipe(F(([e,i])=>{let n=()=>{switch(i){case null:return Y(null);case vt:return this.loadStudyCourseStudents(e);case Zi:return this.loadStudyClassStudents(e);default:return this.loadCourseStudents(e)}};return this.loadingService.load(n(),ct)}))}toggleSort(){this.sortCriteria.update(e=>H(A({},e),{ascending:!e.ascending}))}loadStudyCourseStudents(e){return this.subscriptionsService.getSubscriptionsByCourse(e).pipe(F(i=>this.personsService.getSummaries(i.map(({PersonId:n})=>n).filter(Se)).pipe(y(n=>Pt(e,n,i)))))}loadStudyClassStudents(e){return this.subscriptionsService.getSubscriptionsByCourse(e,{"filter.IsOkay":"=1"}).pipe(F(i=>{let n=i.map(({PersonId:o})=>o).filter(Se);return J([this.personsService.getSummaries(n),this.apprenticeshipContractsService.getCompaniesForStudents(n)]).pipe(y(([o,u])=>{let g=Pt(e,o,i);return It(g,u)}))}))}loadCourseStudents(e){return this.coursesService.getExpandedCourseWithParticipants(e).pipe(y(Li),F(i=>J([this.apprenticeshipContractsService.getCompaniesForStudents(i.entries.map(({id:n})=>n)),this.lessonPresencesService.getLessonStudyClassesByEvent(e)]).pipe(y(([n,o])=>{let u=It(i,n);return Di(u,o)}))))}getTitle(e){if(!e||!e.eventDesignation)return null;let{eventDesignation:i,studyClasses:n}=e;return[i,...n].join(", ")}getMailtoLink(e,i){if(e===null||e===vt)return null;let n=i.map(o=>o.email).filter(Boolean);return n.length>0?`mailto:${n.join(";")}`:null}loadReports(e,i){switch(i){case null:case vt:return Y([]);case Zi:return this.reportsService.getStudyClassStudentsReports(e);default:return this.reportsService.getCourseStudentsReports(e)}}sortStudentEntries(e,i){return[...e].sort(gr(i))}static{this.\u0275fac=function(i){return new(i||t)(O(ce),O(Re),O(dt),O(me),O(rt),O(Si),O(Qi),O(gi),O(st))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function gr(t){return(l,e)=>t.ascending?l.name.localeCompare(e.name):e.name.localeCompare(l.name)}var vr=t=>[t];function Cr(t,l){if(t&1&&(s(0,"a",4)(1,"i",6),p(2,"mail"),a()()),t&2){let e=h(2);m("href",e.state.mailtoLink(),Ne)}}function _r(t,l){if(t&1&&(s(0,"bkd-backlink",0)(1,"div",3),k(2,Cr,3,1,"a",4),x(3,"bkd-reports-link",5),a()()),t&2){let e=h(),i=j(0);m("link",L(3,vr,i)),r(2),T(e.state.mailtoLink()?2:-1),r(),m("reports",e.state.reports())}}function Sr(t,l){t&1&&x(0,"bkd-spinner")}function yr(t,l){t&1&&(s(0,"p"),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function br(t,l){if(t&1){let e=$();s(0,"bkd-events-students-study-course-list",7),S("toggleSort",function(){w(e);let n=h();return E(n.state.toggleSort())}),ke("searchTermChange",function(n){w(e);let o=h();return Ee(o.state.searchTerm,n)||(o.state.searchTerm=n),E(n)}),a()}if(t&2){let e=h();m("title",e.state.title())("count",e.state.entries().length)("entries",e.state.filteredEntries())("returnLink",e.returnLink())("sortCriteria",e.state.sortCriteria()),we("searchTerm",e.state.searchTerm)}}function xr(t,l){if(t&1){let e=$();s(0,"bkd-events-students-course-list",8),ke("searchTermChange",function(n){w(e);let o=h();return Ee(o.state.searchTerm,n)||(o.state.searchTerm=n),E(n)}),a()}if(t&2){let e=h();m("title",e.state.title())("count",e.state.entries().length)("entries",e.state.filteredEntries())("multipleStudyClasses",e.state.multipleStudyClasses())("returnLink",e.returnLink()),we("searchTerm",e.state.searchTerm)}}var en=(()=>{class t{constructor(e,i){this.state=e,this.route=i,this.returnLink=Ie(this.route.queryParams.pipe(y(({returnlink:n})=>n?decodeURIComponent(n):null)))}static{this.\u0275fac=function(i){return new(i||t)(b(Ct),b(ce))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students-list"]],standalone:!0,features:[_],decls:6,vars:3,consts:[[3,"link"],[3,"title","count","entries","returnLink","sortCriteria","searchTerm"],[3,"title","count","entries","multipleStudyClasses","returnLink","searchTerm"],[1,"d-flex"],["target","_blank",1,"mail","btn","btn-primary","btn-icon","me-2",3,"href"],[1,"ms-2",3,"reports"],[1,"material-icons"],[3,"toggleSort","searchTermChange","title","count","entries","returnLink","sortCriteria","searchTerm"],[3,"searchTermChange","title","count","entries","multipleStudyClasses","returnLink","searchTerm"]],template:function(i,n){if(i&1&&(B(0),k(1,_r,4,5,"bkd-backlink",0)(2,Sr,1,0,"bkd-spinner")(3,yr,3,3,"p")(4,br,1,6,"bkd-events-students-study-course-list",1)(5,xr,1,6,"bkd-events-students-course-list",2)),i&2){let o=W(n.returnLink());r(),T(o?1:-1),r(),T(n.state.loading()?2:n.state.entries().length===0?3:n.state.isStudyCourse()?4:5)}},dependencies:[P,I,be,ot,tt,Ki,Ji],changeDetection:0})}}return t})();var tn=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-students"]],standalone:!0,features:[se([Ct]),_],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[Ce],encapsulation:2,changeDetection:0})}}return t})();var nn=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events-tests"]],standalone:!0,features:[_],decls:4,vars:4,consts:[[3,"withRatings"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),d(2,"translate"),a(),x(3,"bkd-events-list",0)),i&2&&(r(),f(c(2,2,"events.title")),r(2),m("withRatings",!0))},dependencies:[gt,P,I]})}}return t})();var rn=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-events"]],standalone:!0,features:[se([je,ui]),_],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[Ce]})}}return t})();function sn(t){return l=>{let e=Number(l.value);return e<=t?{greaterThan:{value:e,greaterThanValue:t}}:null}}function Mt(t){return t.map(({finalGrade:l})=>l).filter(Tr)}function Tr(t){return t!==null}function dn(t,l,e,i){return t?.map(n=>({student:n,finalGrade:Er(n,e,i),grades:wr(n,l)}))}function wr(t,l){return l.map(e=>{if(e.Results===void 0||e.Results?.length===0)return{kind:"no-result",test:e};let i=e.Results?.find(n=>n.StudentId===t.Id);return i!==void 0?{kind:"grade",result:i,test:e}:{kind:"no-result",test:e}})}function Er(t,l,e){let i=l.find(o=>o.StudentId===t.Id),n=e.find(o=>o.StudentId===t.Id);return i?{id:i.Id,average:kr(i),finalGradeId:i.GradeId,freeHandGrade:n?Number(n.Grade):null,canGrade:i.CanGrade}:null}function kr(t){return t.AverageTestResult===0?null:t.AverageTestResult}var ln=({key:t,ascending:l})=>(e,i)=>{let n=l?1:-1;switch(t){case"FullName":return n*e.student.FullName.localeCompare(i.student.FullName);case"FinalGrade":return!e.finalGrade?.finalGradeId||!i.finalGrade?.finalGradeId?n*-1:n*an(e.finalGrade.finalGradeId,i.finalGrade.finalGradeId);case"TestsMean":return!e.finalGrade?.average||!i.finalGrade?.average?n*-1:n*an(e.finalGrade.average,i.finalGrade.average)}return n*Ir(t,e,i)},Ir=(t,l,e)=>{let i=l.grades.filter(on).find(o=>o.test.Id===t.Id),n=e.grades.filter(on).find(o=>o.test.Id===t.Id);return t.IsPointGrading&&i?.result.GradeId===n?.result.GradeId?(i?.result.Points??0)-(n?.result.Points??0):((i?.result.GradeId??Number.POSITIVE_INFINITY)-(n?.result.GradeId??Number.POSITIVE_INFINITY))*-1};function an(t,l){return t===l?0:te.average).filter(e=>e!=null&&e!==0).map(Number);return Et(l)}function mn(t,l){let e=t.map(n=>n.freeHandGrade).filter(n=>!!n),i=t.map(n=>n.finalGradeId).filter(n=>n!==null).map(n=>l.find(o=>o.Key===n)).filter(n=>n!==void 0).map(n=>n?.Value).filter(n=>n!==void 0).map(Number).filter(n=>!isNaN(n));return Et([...i,...e])}function Ot(t,l){return[...l.filter(e=>e.Id!==t?.Id),t].filter(e=>e!=null)}function un({id:t,selectedGradeId:l},e){return e.map(i=>i.Id!==t?i:H(A({},i),{GradeId:l}))}function hn(t,l){switch(l.type){case"reset":return l.payload;case"updateResult":return t?H(A({},t),{Tests:bi(l.payload.testResult,t.Tests||[],l.payload.ignore),Gradings:l.payload.grading?Ot(l.payload.grading,t.Gradings||[]):t.Gradings}):null;case"deleteResult":return t?H(A({},t),{Tests:xi(l.payload.testId,l.payload.studentId,t.Tests||[]),Gradings:l.payload.grading?Ot(l.payload.grading,t.Gradings||[]):t.Gradings||[]}):null;case"toggle-test-state":return t?H(A({},t),{Tests:Ti(l.payload,t.Tests||[])}):null;case"final-grade-overwritten":return t?H(A({},t),{Gradings:un({id:l.payload.id,selectedGradeId:l.payload.selectedGradeId},t.Gradings||[])}):null;case"replace-grades":return t?H(A({},t),{Gradings:l.payload}):null;case"delete-test":return t?H(A({},t),{Tests:wi(l.payload,t.Tests||[])}):null;default:return t}}var gn=(()=>{class t extends et{constructor(e,i){super(e,i,Mi,"Gradings")}updateGrade(e,i){return this.http.put(`${this.baseUrl}/${e}`,{GradeId:i}).pipe(y(()=>e))}static{this.\u0275fac=function(i){return new(i||t)(O(We),O(_e))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Gt={onlyMine:!1,hidePublished:!1},X=(()=>{class t{constructor(e,i,n,o,u){this.coursesRestService=e,this.gradingScalesRestService=i,this.gradingsRestService=n,this.loadingService=o,this.sortService=u,this.action$=new yt(1),this.loading$=this.loadingService.loading$,this._courseId$=new yt(1),this.courseId$=this._courseId$.asObservable(),this.fetchedCourse$=this._courseId$.pipe(F(g=>this.loadingService.load(this.coursesRestService.getExpandedCourse(g))),ee(1)),this.course$=Ve(this.action$,this.fetchedCourse$.pipe(Te(Se),y(g=>({type:"reset",payload:g})))).pipe(Bt(hn,null),Te(Se),ee(1)),this.tests$=this.course$.pipe(y(g=>g.Tests||[]),y(Ei)),this.hasTests$=this.tests$.pipe(y(g=>g.length>0)),this.filterSubject$=new q(Gt),this.filter$=this.filterSubject$.asObservable(),this.expandedHeaderSubject$=new q(!1),this.expandedHeader$=this.expandedHeaderSubject$.asObservable(),this.filteredTests$=J([this.tests$,this.filter$]).pipe(y(([g,G])=>g.filter(z=>(!G.onlyMine||z.IsOwner)&&(!G.hidePublished||!z.IsPublished)))),this.sorting$=this.sortService.sorting$,this.studentGrades$=J([this.course$,this.filteredTests$,this.sorting$]).pipe(y(ye(this.toStudentGrades.bind(this)))),this.canSetFinalGrade$=this.course$.pipe(y(Vi)),this.gradingScaleIds$=this.course$.pipe(y(g=>di([...(g.Tests??[]).map(G=>G.GradingScaleId),g.GradingScaleId]).filter(Se)),Z(oi),ee(1)),this.gradingScales$=this.gradingScaleIds$.pipe(F(g=>this.gradingScalesRestService.getGradingScales(g)),ee(1)),this.UNDEFINED_GRADINGSCALE_ID=-1,this.gradingScalesOptions$=this.gradingScales$.pipe(y(g=>g.map(G=>{let z=G?.Id||this.UNDEFINED_GRADINGSCALE_ID,ue=G?.Grades.map(he=>({Key:he.Id,Value:he.Designation}))||[];return{id:z,options:ue}}).reduce((G,z)=>H(A({},G),{[z.id]:z.options}),{})),ee(1)),this.meanOfStudentGradesForCourse$=this.studentGrades$.pipe(y(g=>cn(Mt(g)))),this.meanOfFinalGradesForCourse$=J([this.gradingScalesOptions$,this.studentGrades$]).pipe(F(ye(this.meanOfOverwrittenGradesForCourse.bind(this))))}setCourseId(e){this._courseId$.next(e)}setFilter(e){this.filterSubject$.next(e)}gradingOptionsForTest$(e){return this.gradingOptions$(e.GradingScaleId)}gradingOptionsForCourse$(){return this.course$.pipe(F(e=>this.gradingOptions$(e.GradingScaleId)))}toStudentGrades(e,i=[],n){return dn(e.ParticipatingStudents??[],i,e.Gradings??[],e.FinalGrades??[]).sort(ln(n))}setSorting(e){this.sortService.setSorting(e)}getSortingChar$(e){return this.sortService.getSortingChar$(e)}sortBy(e){this.sortService.toggleSorting(e)}toggleHeader(e){this.expandedHeaderSubject$.next(e)}optimisticallyUpdateGrade(e){return this.course$.pipe(oe(1),y(i=>{let{originalResult:n,updatedResult:o}=this.buildOptimisticResultUpdate(i,e);return this.updateTestResult(o,null),n}))}saveGrade(e,i){this.course$.pipe(oe(1),F(n=>this.coursesRestService.updateTestResult(n.Id,e).pipe(Lt(o=>(i&&this.updateTestResult(A({},i),null),Ft(()=>o)))))).subscribe(({testResult:n,grading:o})=>this.updateOrDeleteTestResult(e.testId,e.studentId,n,o,"gradeId"in e?"grade":"points"))}publish(e){this.coursesRestService.publishTest(e.Id).subscribe(this.toggleTestPublishedState.bind(this))}unpublish(e){this.coursesRestService.unpublishTest(e.Id).subscribe(this.toggleTestPublishedState.bind(this))}deleteTest(e){this.action$.next({type:"delete-test",payload:e})}overwriteFinalGrade({id:e,selectedGradeId:i}){this.gradingsRestService.updateGrade(e,i).subscribe(()=>{this.action$.next({type:"final-grade-overwritten",payload:{id:e,selectedGradeId:i}})})}setAveragesAsFinalGrades(e){this.coursesRestService.setAverageAsFinalGrade(e).subscribe(i=>this.action$.next({type:"replace-grades",payload:i.Gradings}))}buildOptimisticResultUpdate(e,i){let n=yi(e,i.testId,i.studentId),o=n?A({},n):{Id:"",TestId:i.testId,StudentId:i.studentId,CourseRegistrationId:0,GradeId:null,GradeValue:null,GradeDesignation:null,Points:null};return o.GradeId="gradeId"in i?i.gradeId:n?.GradeId??null,o.Points="points"in i?i.points:n?.Points??null,{originalResult:n,updatedResult:o}}updateOrDeleteTestResult(e,i,n,o,u){n?this.updateTestResult(n,o,u):this.deleteTestResult(e,i,o)}updateTestResult(e,i,n){this.action$.next({type:"updateResult",payload:{testResult:e,grading:i??null,ignore:n}})}deleteTestResult(e,i,n){this.action$.next({type:"deleteResult",payload:{testId:e,studentId:i,grading:n}})}toggleTestPublishedState(e){this.action$.next({type:"toggle-test-state",payload:e})}gradingOptions$(e){return e===null?Y(null):this.gradingScalesOptions$.pipe(y(i=>i[e]),ee(1))}meanOfOverwrittenGradesForCourse(e,i){return this.course$.pipe(y(n=>{if(n.GradingScaleId===null||e[n.GradingScaleId]===void 0)return null;let o=e[n.GradingScaleId];return mn(Mt(i),o)}))}static{this.\u0275fac=function(i){return new(i||t)(O(me),O(Oi),O(gn),O(Re),O(Bi))}}static{this.\u0275prov=de({token:t,factory:t.\u0275fac})}}return t})();var Or=t=>["/events",t,"tests"];function Gr(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function $r(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Fr(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Lr(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Dr(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=l.$implicit;r(),v(" ",D(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Rr(t,l){if(t&1&&(s(0,"div",29)(1,"div",30)(2,"div",16)(3,"label",31),p(4),d(5,"translate"),a(),s(6,"div",32),x(7,"input",33),d(8,"async"),N(9,Lr,3,4,"div",7,Oe),d(11,"async"),a()()(),s(12,"div",30)(13,"div",16)(14,"label",34),p(15),d(16,"translate"),a(),s(17,"div",32),x(18,"input",35),d(19,"async"),N(20,Dr,3,4,"div",7,Oe),d(22,"async"),a()()()(),s(23,"div",36),Ht(),s(24,"math")(25,"mi"),p(26),d(27,"translate"),a(),s(28,"mo"),p(29,"="),a(),s(30,"mfrac")(31,"mrow")(32,"mi"),p(33),d(34,"translate"),a(),s(35,"mo"),p(36,"\xD7"),a(),s(37,"mn"),p(38,"5"),a()(),s(39,"mi"),p(40),d(41,"translate"),a()(),s(42,"mo"),p(43,"+"),a(),s(44,"mn"),p(45,"1"),a()()()),t&2){let e,i,n=h(2);r(4),f(c(5,9,"tests.form.max-points")),r(3),le("is-invalid",((e=c(8,11,n.maxPointsErrors$))==null?null:e.length)||!1),r(2),U(c(11,13,n.maxPointsErrors$)),r(6),f(c(16,15,"tests.form.max-points-adjusted")),r(3),le("is-invalid",((i=c(19,17,n.maxPointsAdjustedErrors$))==null?null:i.length)||!1),r(2),U(c(22,19,n.maxPointsAdjustedErrors$)),r(6),v(" ",c(27,21,"tests.form.math.grade")," "),r(7),v(" ",c(34,23,"tests.form.math.points")," "),r(7),f(c(41,25,"tests.form.math.max-points"))}}function Br(t,l){t&1&&(s(0,"div",28)(1,"span",37),p(2,"Loading..."),a()())}function jr(t,l){if(t&1){let e=$();s(0,"form",2),S("ngSubmit",function(){w(e);let n=h();return E(n.onSubmit())}),s(1,"div",3)(2,"div",4)(3,"label",5),p(4),d(5,"translate"),a(),x(6,"input",6),d(7,"async"),d(8,"translate"),N(9,Gr,3,4,"div",7,Oe),d(11,"async"),a(),s(12,"div",8)(13,"label",9),p(14),d(15,"translate"),a(),s(16,"div",10)(17,"span",11)(18,"i",12),p(19,"calendar_today"),a()(),s(20,"input",13,0),d(22,"async"),d(23,"translate"),S("click",function(){w(e);let n=ve(21);return E(n.toggle())}),a(),N(24,$r,3,4,"div",7,Oe),d(26,"async"),a()()(),s(27,"div",14)(28,"label",15),p(29),d(30,"translate"),a(),s(31,"div",4)(32,"div",16)(33,"label",17),p(34),d(35,"translate"),a(),s(36,"div",18),x(37,"input",19),d(38,"async"),N(39,Fr,3,4,"div",7,Oe),d(41,"async"),a()()()(),s(42,"div")(43,"label",15),p(44),d(45,"translate"),a(),s(46,"div",20),x(47,"input",21),s(48,"label",22),p(49),d(50,"translate"),a()(),s(51,"div",20),x(52,"input",23),s(53,"label",24),p(54),d(55,"translate"),a()(),k(56,Rr,46,27),a(),s(57,"div",25)(58,"button",26),d(59,"async"),p(60),d(61,"translate"),a(),s(62,"button",27),p(63),d(64,"translate"),k(65,Br,3,0,"div",28),a()()()}if(t&2){let e,i,n,o,u=h();m("formGroup",u.formGroup),r(4),f(c(5,26,"tests.form.designation")),r(2),le("is-invalid",((e=c(7,28,u.designationErrors$))==null?null:e.length)||!1),m("placeholder",c(8,30,"tests.form.designation-placeholder")),r(3),U(c(11,32,u.designationErrors$)),r(5),f(c(15,34,"tests.form.date")),r(3),m("id",u.componentId),r(3),le("is-invalid",((i=c(22,36,u.dateErrors$))==null?null:i.length)||!1),m("placeholder",c(23,38,"shared.date-select.default-placeholder")),r(4),U(c(26,40,u.dateErrors$)),r(5),f(c(30,42,"tests.form.weight")),r(5),f(c(35,44,"tests.form.factor")),r(3),le("is-invalid",((n=c(38,46,u.weightErrors$))==null?null:n.length)||!1),r(2),U(c(41,48,u.weightErrors$)),r(5),f(c(45,50,"tests.form.grading-type")),r(3),m("value",!1),r(2),f(c(50,52,"tests.form.grades")),r(3),m("value",!0),r(2),f(c(55,54,"tests.form.points")),r(2),T((o=u.formGroup.get("isPointGrading"))!=null&&o.value?56:-1),r(2),m("disabled",u.saving)("routerLink",L(62,Or,c(59,56,u.courseId$))),r(2),v(" ",c(61,58,"tests.form.cancel")," "),r(2),m("disabled",u.saving),r(),v(" ",c(64,60,"tests.form.save")," "),r(2),T(u.saving?65:-1)}}var _t=(()=>{class t{constructor(e,i,n){this.fb=e,this.translate=i,this.testStateService=n,this.test=null,this.saving=!1,this.save=new ie,this.componentId=li("bkd-tests-edit-form"),this.formGroup=this.createFormGroup(),this.submitted$=new q(!1),this.destroy$=new re,this.designationErrors$=De(Y(this.formGroup),this.submitted$,"designation"),this.dateErrors$=De(Y(this.formGroup),this.submitted$,"date"),this.maxPointsErrors$=De(Y(this.formGroup),this.submitted$,"maxPoints"),this.maxPointsAdjustedErrors$=De(Y(this.formGroup),this.submitted$,"maxPointsAdjusted"),this.weightErrors$=De(Y(this.formGroup),this.submitted$,"weight"),this.courseId$=this.testStateService.courseId$}ngOnInit(){this.test&&this.setInitialValues(this.test),ci(Y(this.formGroup),"isPointGrading").pipe(ge(this.destroy$)).subscribe(this.togglePointFieldsDisability.bind(this))}ngOnDestroy(){this.destroy$.next()}onSubmit(){this.submitted$.next(!0),this.formGroup.valid&&this.save.emit(this.formGroup.value)}createFormGroup(){return this.fb.group({designation:["",Fe.required],date:[null,Fe.required],weight:[1,Fe.compose([Fe.required,sn(0)])],isPointGrading:[!1],maxPoints:[{value:null,disabled:!0},Fe.required],maxPointsAdjusted:[{value:null,disabled:!0},null]})}setInitialValues(e){this.formGroup.patchValue({designation:e.Designation,date:e.Date,weight:e.Weight,isPointGrading:e.IsPointGrading,maxPoints:e.MaxPoints,maxPointsAdjusted:e.MaxPointsAdjusted}),e.Results&&e.Results.length>0&&(this.formGroup.get("isPointGrading")?.disable(),this.formGroup.get("maxPoints")?.disable(),this.formGroup.get("maxPointsAdjusted")?.disable()),this.togglePointFieldsDisability()}togglePointFieldsDisability(){let e=this.formGroup.get("maxPoints"),i=this.formGroup.get("maxPointsAdjusted");this.formGroup.get("isPointGrading")?.value?(e?.enable(),i?.enable()):(e?.reset({value:this.test?.MaxPoints,disabled:!0}),i?.reset({value:this.test?.MaxPointsAdjusted,disabled:!0}))}static{this.\u0275fac=function(i){return new(i||t)(b(ti),b(ae),b(X))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-edit-form"]],inputs:{test:"test",saving:"saving"},outputs:{save:"save"},standalone:!0,features:[se([{provide:ni,useClass:ai},{provide:ri,useClass:Ri}]),_],decls:1,vars:1,consts:[["dp","ngbDatepicker"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"row","g-3","mb-3"],[1,"col-md-6"],["for","designation",1,"form-label"],["id","designation","name","designation","type","text","formControlName","designation","required","",1,"form-control",3,"placeholder"],[1,"invalid-feedback"],[1,"col-md-6","mb-3"],["for","date",1,"form-label"],[1,"input-group"],[1,"input-group-text",3,"id"],[1,"material-icons"],["id","date","name","date","type","text","ngbDatepicker","","formControlName","date","required","",1,"form-control",3,"click","placeholder"],[1,"row","mb-3"],[1,"form-label"],[1,"row"],["for","factor",1,"form-label","col-3","col-sm-2"],[1,"col-9","col-sm-10"],["id","factor","name","factor","type","number","formControlName","weight","step","0.05","min","0","required","",1,"form-control"],[1,"form-check"],["type","radio","formControlName","isPointGrading","id","type-grades",1,"form-check-input",3,"value"],["for","type-grades",1,"form-check-label"],["type","radio","formControlName","isPointGrading","id","type-points",1,"form-check-input",3,"value"],["for","type-points",1,"form-check-label"],[1,"d-flex","justify-content-end","mt-4"],["type","button",1,"btn","btn-outline-secondary",3,"disabled","routerLink"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],[1,"row","ms-4","mb-3","g-3"],[1,"col-sm-6","col-md-4"],["for","max-points",1,"ms-2","col-4","col-form-label"],[1,"col-6"],["type","number","name","maxPoints","id","max-points","formControlName","maxPoints","step","0.01","min","0","max","999","required","",1,"form-control"],["for","max-points-adjusted",1,"ms-2","col-4","col-form-label"],["type","number","name","maxPointsAdjusted","id","max-points-adjusted","formControlName","maxPointsAdjusted","step","0.01","min","0","max","999",1,"form-control"],[1,"ms-4","ps-3","py-3"],[1,"visually-hidden"]],template:function(i,n){i&1&&k(0,jr,66,64,"form",1),i&2&&T(n.formGroup?0:-1)},dependencies:[Le,Xt,ze,Ye,Jt,qe,Yt,ei,Xe,Ke,ii,Qt,Zt,si,te,K,P,I],styles:["#factor[_ngcontent-%COMP%], #max-points[_ngcontent-%COMP%], #max-points-adjusted[_ngcontent-%COMP%]{width:5em}"]})}}return t})();var fn=(()=>{class t{constructor(e,i,n,o,u){this.route=e,this.courseService=i,this.toastService=n,this.translate=o,this.router=u,this.saving$=new q(!1),this.courseId$=this.route.paramMap.pipe(y(g=>Number(g.get("id"))),Z())}save(e){this.saving$.next(!0);let{designation:i,date:n,weight:o,isPointGrading:u,maxPoints:g,maxPointsAdjusted:G}=e;this.courseId$.pipe(F(z=>this.courseService.add(z,n,i,o,u,g,G)),He(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.toastService.success(this.translate.instant("tests.form.save-success")),this.navigateBack()}navigateBack(){this.courseId$.subscribe(e=>void this.router.navigate(["events",e,"tests"]))}static{this.\u0275fac=function(i){return new(i||t)(b(ce),b(me),b(Qe),b(ae),b($e))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-add"]],standalone:!0,features:[_],decls:6,vars:6,consts:[[1,"bkd-container","bkd-container-limited"],[3,"save","saving"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),d(2,"translate"),a(),s(3,"div",0)(4,"bkd-tests-edit-form",1),d(5,"async"),S("save",function(u){return n.save(u)}),a()()),i&2&&(r(),f(c(2,2,"tests.add-title")),r(3),m("saving",c(5,4,n.saving$)))},dependencies:[_t,K,P,I]})}}return t})();var vn=(()=>{class t{constructor(e){this.activeModal=e}get canDeleteTest(){return(this.test?.Results?.filter(i=>i.GradeId!==null||i.GradeValue!==null||i.Points!==null)||[]).length===0}static{this.\u0275fac=function(i){return new(i||t)(b(Je))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-delete"]],inputs:{test:"test"},standalone:!0,features:[_],decls:13,vars:10,consts:[[1,"modal-body"],["data-testid","confirmation-message"],[1,"modal-footer"],["data-testid","cancel-button","type","button",1,"btn","btn-outline-secondary",3,"click","hidden"],[1,"px-2"],["data-testid","confirm-button","type","button",1,"btn","btn-primary",3,"click"],[1,"px-3"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"p",1),p(2),d(3,"translate"),a()(),s(4,"div",2)(5,"button",3),S("click",function(){return n.activeModal.dismiss()}),s(6,"span",4),p(7),d(8,"translate"),a()(),s(9,"button",5),S("click",function(){return n.activeModal.close(n.canDeleteTest?n.test:null)}),s(10,"span",6),p(11),d(12,"translate"),a()()()),i&2&&(r(2),v(" ",c(3,4,n.canDeleteTest?"tests.form.confirm":"tests.form.delete-not-allowed")," "),r(3),m("hidden",!n.canDeleteTest),r(2),v(" ",c(8,6,"tests.dialog.no")," "),r(4),v(" ",c(12,8,n.canDeleteTest?"tests.dialog.yes":"tests.dialog.ok")," "))},dependencies:[P,I]})}}return t})();var Nr=t=>({test:t});function Ur(t,l){t&1&&x(0,"bkd-spinner")}function Wr(t,l){if(t&1){let e=$();s(0,"div",1)(1,"h1"),p(2),d(3,"translate"),a(),s(4,"button",2),S("click",function(){w(e);let n=h(),o=j(0);return E(n.openDeleteModal(o))}),s(5,"i",3),p(6,"delete"),a()()(),s(7,"bkd-tests-edit-form",4),S("save",function(n){w(e);let o=h();return E(o.save(n))}),a()}if(t&2){h();let e=j(0),i=j(2);r(2),v(" ",D(3,3,"tests.edit-title",L(6,Nr,e.Designation))," "),r(5),m("test",e)("saving",i)}}var Cn=(()=>{class t{constructor(e,i,n,o,u,g,G){this.state=e,this.courseService=i,this.route=n,this.toastService=o,this.translate=u,this.router=g,this.modalService=G,this.saving$=new q(!1),this.testId$=this.route.paramMap.pipe(y(z=>Number(z.get("testId"))),Z()),this.test$=J([this.state.tests$,this.testId$]).pipe(y(([z,ue])=>z.find(he=>he.Id===ue)))}openDeleteModal(e){let i=this.modalService.open(vn);i.componentInstance.test=e,i.result.then(n=>{n&&this.courseService.delete(e.CourseId,e.Id).subscribe(this.onDeleteSuccess.bind(this))},()=>{})}save(e){this.saving$.next(!0);let{designation:i,date:n,weight:o,isPointGrading:u,maxPoints:g,maxPointsAdjusted:G}=e;J([this.state.courseId$,this.testId$]).pipe(oe(1),F(([z,ue])=>this.courseService.update(z,ue,i,n,o,u,g,G)),He(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.toastService.success(this.translate.instant("tests.form.save-success")),this.navigateBack()}onDeleteSuccess(e){this.toastService.success(this.translate.instant("tests.form.delete-success")),this.state.deleteTest(e),this.navigateBack()}navigateBack(){this.state.courseId$.pipe(oe(1)).subscribe(e=>void this.router.navigate(["events",e,"tests"]))}static{this.\u0275fac=function(i){return new(i||t)(b(X),b(me),b(ce),b(Qe),b(ae),b($e),b(at))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-edit"]],standalone:!0,features:[_],decls:8,vars:9,consts:[[1,"bkd-container","bkd-container-limited"],[1,"d-flex","justify-content-between","align-items-center"],["type","button",1,"btn","btn-primary","btn-icon",3,"click"],[1,"material-icons"],[3,"save","test","saving"]],template:function(i,n){if(i&1&&(B(0),d(1,"async"),B(2),d(3,"async"),s(4,"div",0),k(5,Ur,1,0,"bkd-spinner"),d(6,"async"),k(7,Wr,8,8),a()),i&2){let o=W(c(1,1,n.test$));r(2),W(c(3,4,n.saving$)),r(3),T(c(6,7,n.state.loading$)?5:o?7:-1)}},dependencies:[_t,be,K,P,I]})}}return t})();var zr=t=>({designation:t}),_n=(()=>{class t{constructor(e){this.activeModal=e}static{this.\u0275fac=function(i){return new(i||t)(b(Je))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-publish-test"]],inputs:{test:"test"},standalone:!0,features:[_],decls:11,vars:12,consts:[[1,"modal-body"],["data-testid","confirmation-message"],[1,"modal-footer"],["data-testid","cancel-button","type","button",1,"btn","btn-outline-secondary",3,"click"],["data-testid","confirm-button","type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"p",1),p(2),d(3,"translate"),a()(),s(4,"div",2)(5,"button",3),S("click",function(){return n.activeModal.dismiss()}),p(6),d(7,"translate"),a(),s(8,"button",4),S("click",function(){return n.activeModal.close(!0)}),p(9),d(10,"translate"),a()()),i&2&&(r(2),v(" ",D(3,3,n.test.IsPublished?"tests.publishing.unpublish":"tests.publishing.publish",L(10,zr,n.test.Designation))," "),r(4),v(" ",c(7,6,"tests.publishing.cancel")," "),r(3),v(" ",c(10,8,"tests.publishing.confirm")," "))},dependencies:[P,I],encapsulation:2})}}return t})();var qr=t=>({maxPoints:t});function Yr(t,l){if(t&1&&(s(0,"div",6),p(1),d(2,"translate"),a()),t&2){let e=h(2);r(),v(" ",D(2,1,"global.validation-errors.invalidPoints",L(4,qr,e.maxPoints))," ")}}function Kr(t,l){if(t&1){let e=$();s(0,"div",3)(1,"input",5,0),S("ngModelChange",function(){w(e);let n=ve(2),o=h();return E(o.onPointsChange(n.value))}),a(),k(3,Yr,3,6,"div",6),a()}if(t&2){let e=ve(2),i=h();r(),le("is-invalid",e.errors),fe("max",i.maxPoints),fe("tabindex",i.tabIndex),m("disabled",i.grade.test.IsPublished)("ngModel",i.grade.kind==="grade"?i.grade.result.Points:null),r(2),T(e.errors?3:-1)}}var Xr=1250,Sn=(()=>{class t{constructor(e){this.state=e,this.maxPoints=0,this.pointsSubject$=new re,this.gradeSubject$=new re,this.gradingScaleDisabledSubject$=new q(!0),this.gradingScaleDisabled$=this.gradingScaleDisabledSubject$.asObservable(),this.destroy$=new re}ngOnInit(){this.gradingScaleDisabledSubject$.next(this.disableGradingScale()),this.maxPoints=pn(this.grade),this.initSave(this.pointsSubject$.pipe(Te(this.isValid.bind(this)),y(e=>({studentId:this.student.Id,testId:this.grade.test.Id,points:e?Number(e):null})))),this.initSave(this.gradeSubject$.pipe(y(e=>({studentId:this.student.Id,testId:this.grade.test.Id,gradeId:e}))))}ngOnChanges(){this.gradingScaleDisabledSubject$.next(this.disableGradingScale())}ngOnDestroy(){this.destroy$.next()}onPointsChange(e){this.pointsSubject$.next(e),this.gradingScaleDisabledSubject$.next(!(e===null||e===""))}onGradeChange(e){this.gradeSubject$.next(e)}isValid(e){return e===""||e===null?!0:isNaN(Number(e))?!1:!(Number(e)<0||Number(e)>this.maxPoints)}initSave(e){e.pipe(Dt(i=>this.state.optimisticallyUpdateGrade(i).pipe(y(n=>({params:i,originalResult:n})))),Rt(Xr),ge(this.destroy$)).subscribe(({params:i,originalResult:n})=>this.state.saveGrade(i,n))}disableGradingScale(){return this.grade.test.IsPublished?!0:this.grade.kind==="no-result"?!1:this.grade.result.Points!=null&&this.grade.test.IsPointGrading}static{this.\u0275fac=function(i){return new(i||t)(b(X))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-grade"]],inputs:{grade:"grade",student:"student",tabIndex:"tabIndex",gradeOptions:"gradeOptions"},standalone:!0,features:[Pe,_],decls:5,vars:8,consts:[["points","ngModel"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"point-input-container","me-2","me-md-3"],["data-testid","grade-select",1,"grade-select",3,"valueChange","options","allowEmpty","value","disabled","tabindex"],["type","number","step","0.01","min","0","data-testid","point-input",1,"form-control",3,"ngModelChange","max","disabled","tabindex","ngModel"],["data-testid","validation-error-message",1,"invalid-feedback"]],template:function(i,n){i&1&&(s(0,"div",1)(1,"div",2),k(2,Kr,4,7,"div",3),s(3,"bkd-select",4),d(4,"async"),S("valueChange",function(u){return n.onGradeChange(u)}),a()()()),i&2&&(r(2),T(n.grade.test.IsPointGrading?2:-1),r(),m("options",n.gradeOptions)("allowEmpty",!0)("value",n.grade.kind==="grade"?n.grade.result.GradeId:null)("disabled",c(4,6,n.gradingScaleDisabled$))("tabindex",n.tabIndex))},dependencies:[Le,ze,Ye,qe,Xe,Ke,Kt,Be,K,P,I],styles:[".point-input-container[_ngcontent-%COMP%]{width:4em}[_nghost-%COMP%] select{width:127px}@media (min-width: 576px){.point-input-container[_ngcontent-%COMP%]{width:5em}}"]})}}return t})();function Jr(t,l){if(t&1&&(s(0,"span",1),p(1),a()),t&2){let e=h();r(),f(e.calculatePointsAverage(e.test))}}var yn=(()=>{class t{constructor(e){this.locale=e}calculatePointsAverage(e){return this.safeAverage(e,2,it)}calculateGradeAverage(e){return this.safeAverage(e,3,nt)}safeAverage(e,i,n){try{return Pi(n(e),this.locale,i)}catch{return ki}}static{this.\u0275fac=function(i){return new(i||t)(b(qt))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-average-grades"]],inputs:{test:"test"},standalone:!0,features:[_],decls:4,vars:2,consts:[[1,"d-flex","flex-row","w-100"],["data-testid","average-points",1,"mr-2","mr-md-3","average-points"],["data-testid","average-grade"]],template:function(i,n){i&1&&(s(0,"div",0),k(1,Jr,2,1,"span",1),s(2,"span",2),p(3),a()()),i&2&&(r(),T(n.test.IsPointGrading?1:-1),r(2),f(n.calculateGradeAverage(n.test)))},styles:[".average-points[_ngcontent-%COMP%]{min-width:4.5em}@media (min-width: 576px){.average-points[_ngcontent-%COMP%]{min-width:6em}}"]})}}return t})();var bn=(()=>{class t{constructor(){this.disabled=!1,this.width="127px",this.gradeIdSelected=new ie}onGradeChange(e){this.gradeId?.valueOf()!==void 0&&this.gradeIdSelected.emit({id:this.gradeId?.valueOf(),selectedGradeId:e})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-grade-select"]],inputs:{options:"options",valueId:"valueId",gradeId:"gradeId",disabled:"disabled",width:"width"},outputs:{gradeIdSelected:"gradeIdSelected"},standalone:!0,features:[_],decls:1,vars:5,consts:[["data-testid","grade-select",3,"valueChange","options","allowEmpty","value","disabled","width"]],template:function(i,n){i&1&&(s(0,"bkd-select",0),S("valueChange",function(u){return n.onGradeChange(u)}),a()),i&2&&m("options",n.options)("allowEmpty",!0)("value",n.valueId)("disabled",n.disabled)("width",n.width)},dependencies:[Be]})}}return t})();var Qr=576,xn=(()=>{class t{constructor(e,i){this.portal=e,this.state=i,this.destroy$=new re,this.handleWindowScroll=()=>{this.updateStickyVisibility(),this.updateStickyTopOffset()},this.handleWindowResize=()=>{this.updateStickyWidth(),this.updateStickyVisibility(),this.updateStickyTopOffset()},this.handleTableScroll=()=>{this.updateStickyLeftOffset()}}ngOnInit(){J([this.state.filteredTests$,this.state.expandedHeader$]).pipe(ge(this.destroy$)).subscribe(()=>setTimeout(()=>this.updateStickyWidth()))}ngAfterViewInit(){this.handleWindowScroll(),this.handleTableScroll(),this.handleWindowResize(),this.window.addEventListener("scroll",this.handleWindowScroll),this.getTableScrollContainer()?.addEventListener("scroll",this.handleTableScroll),this.window.addEventListener("resize",this.handleWindowResize)}ngOnDestroy(){this.window.removeEventListener("scroll",this.handleWindowScroll),this.getTableScrollContainer()?.removeEventListener("scroll",this.handleTableScroll),this.window.removeEventListener("resize",this.handleWindowResize)}get window(){return this.portal.window??window}getTableScrollContainer(){return document.querySelector(".table-responsive-wrapper")??null}updateStickyVisibility(){if(this.isSmallBreakpointDown())return;let e=this.inlineHeader.getTop()+this.getIframeScrollY();this.stickyHeader.shown=this.getScrollTop()>e}updateStickyTopOffset(){this.isSmallBreakpointDown()||this.stickyHeader.setTopOffset(this.portal.inIframe?this.getScrollTop():0)}updateStickyLeftOffset(){this.isSmallBreakpointDown()||this.stickyHeader.setLeftOffset(this.inlineHeader.getLeft())}updateStickyWidth(){this.isSmallBreakpointDown()||(this.stickyHeader.setWidth(this.inlineHeader.getWidth()),this.stickyHeader.setColumnWidths(this.inlineHeader.getColumnWidths()),this.stickyHeader.setStickyColumnHeights(this.inlineHeader.getStickyColumnsHeights()))}getScrollTop(){return this.window.scrollY-this.portal.getIframeTop()}getIframeScrollY(){return window.scrollY}isSmallBreakpointDown(){return window.innerWidth({"btn-primary":t,"btn-outline-secondary":l}),wn=(()=>{class t{constructor(){this.filter=Gt,this.filterChange=new ie}showOnlyMine(){this.filterChange.next(H(A({},this.filter),{onlyMine:!0}))}showAll(){this.filterChange.next(H(A({},this.filter),{onlyMine:!1}))}onHidePublishedChange(e){let i=(e.target&&e.target instanceof HTMLInputElement&&e.target?.checked)??!1;this.filterChange.next(H(A({},this.filter),{hidePublished:i}))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-test-table-filter"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},standalone:!0,features:[_],decls:13,vars:18,consts:[[1,"only-mine-buttons"],["type","button",1,"btn","desktop",3,"click","ngClass"],["type","button",1,"btn","ms-2","desktop",3,"click","ngClass"],[1,"hide-published"],[1,"form-check"],["id","hide-published","type","checkbox",1,"form-check-input",3,"change","checked"],["for","hide-published",1,"form-check-label"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"button",1),S("click",function(){return n.showAll()}),p(2),d(3,"translate"),a(),s(4,"button",2),S("click",function(){return n.showOnlyMine()}),p(5),d(6,"translate"),a()(),s(7,"div",3)(8,"div",4)(9,"input",5),S("change",function(u){return n.onHidePublishedChange(u)}),a(),s(10,"label",6),p(11),d(12,"translate"),a()()()),i&2&&(r(),m("ngClass",Tt(12,Tn,!n.filter.onlyMine,n.filter.onlyMine)),r(),v(" ",c(3,6,"tests.all-tests")," "),r(2),m("ngClass",Tt(15,Tn,n.filter.onlyMine,!n.filter.onlyMine)),r(),v(" ",c(6,8,"tests.owned-tests")," "),r(4),m("checked",n.filter.hidePublished),r(2),v(" ",c(12,10,"tests.hide-published")," "))},dependencies:[pe,Le,P,I],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:space-between;height:100%}.only-mine-buttons[_ngcontent-%COMP%]{display:flex;align-items:center;height:3.625rem}.hide-published[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.375rem;margin-bottom:1rem}.hide-published[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:300}.hide-published[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%]{margin-bottom:0}"]})}}return t})();var Zr=["*"],En=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-preserve-line-height"]],standalone:!0,features:[_],ngContentSelectors:Zr,decls:3,vars:0,template:function(i,n){i&1&&(Wt(),s(0,"div"),zt(1),p(2,"\xA0"),a())},encapsulation:2})}}return t})();var kn=(()=>{class t{constructor(e){this.translate=e}transform(e){return`${e.Weight} (${e.WeightPercent}%)${this.getPoints(e)}`}getPoints(e){return e.IsPointGrading?`, ${e.MaxPointsAdjusted??e.MaxPoints} ${this.translate.instant("tests.summary.points")}`:""}static{this.\u0275fac=function(i){return new(i||t)(b(ae,16))}}static{this.\u0275pipe=Vt({name:"testSummaryShort",type:t,pure:!0,standalone:!0})}}return t})();var es=t=>[t,"edit"];function ts(t,l){t&1&&(s(0,"i",9),p(1,"edit"),a())}function is(t,l){if(t&1&&(s(0,"div",5)(1,"div",7)(2,"bkd-preserve-line-height"),p(3),d(4,"date"),a(),s(5,"a",8),k(6,ts,2,0,"i",9),a()(),s(7,"bkd-preserve-line-height"),p(8),d(9,"testSummaryShort"),a(),s(10,"bkd-preserve-line-height"),p(11),a()()),t&2){let e=h();r(3),f(D(4,5,e.test.Date,"dd.MM.yyyy")),r(2),m("routerLink",L(10,es,e.test.Id)),r(),T(e.test.IsOwner&&e.test.IsPublished===!1?6:-1),r(2),v(" ",c(9,8,e.test)," "),r(3),f(e.test.Owner)}}function ns(t,l){if(t&1){let e=$();s(0,"div",6)(1,"a",10),d(2,"translate"),S("click",function(){w(e);let n=h();return E(n.unpublishTest())}),s(3,"i",11),p(4,"lock"),a(),s(5,"span"),p(6),d(7,"translate"),a()(),s(8,"bkd-caret",12),S("click",function(){w(e);let n=h();return E(n.emitToggleHeader())}),a()()}if(t&2){let e=h();r(),fe("title",c(2,3,"tests.edit")),r(5),f(c(7,5,"tests.published")),r(2),m("expanded",e.expanded)}}function rs(t,l){if(t&1){let e=$();s(0,"div",6)(1,"a",13),d(2,"translate"),S("click",function(){w(e);let n=h();return E(n.publishTest())}),s(3,"i",11),p(4,"lock_open"),a(),s(5,"span"),p(6),d(7,"translate"),a()(),s(8,"bkd-caret",12),S("click",function(){w(e);let n=h();return E(n.emitToggleHeader())}),a()()}if(t&2){let e=h();r(),fe("title",c(2,3,"tests.publish")),r(5),f(c(7,5,"tests.not-published")),r(2),m("expanded",e.expanded)}}var In=(()=>{class t{constructor(){this.toggleHeader=new ie,this.publish=new ie,this.unpublish=new ie}emitToggleHeader(){this.toggleHeader.emit(!this.expanded)}publishTest(){this.publish.emit(this.test)}unpublishTest(){this.unpublish.emit(this.test)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-test-table-header"]],inputs:{test:"test",expanded:"expanded"},outputs:{toggleHeader:"toggleHeader",publish:"publish",unpublish:"unpublish"},standalone:!0,features:[_],decls:9,vars:5,consts:[[1,"d-flex","flex-column","h-100","justify-content-between"],["role","button",1,"test-designation","d-flex","flex-row","my-3","align-items-end","justify-content-between",3,"click"],[3,"ngClass"],[1,"align-self-start",3,"expanded"],[1,"d-flex","flex-column"],[1,"d-flex","flex-column","mb-3"],[1,"d-flex","align-items-center","justify-content-between","test-status"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-link","p-0","edit",3,"routerLink"],[1,"material-icons"],[1,"d-flex","btn","btn-link","ps-0","edit",3,"click","title"],[1,"material-icons","me-1"],[1,"expand-mobile",3,"click","expanded"],[1,"d-flex","btn","btn-link","ps-0",3,"click","title"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"div",1),S("click",function(){return n.emitToggleHeader()}),s(2,"div",2),p(3),a(),x(4,"bkd-caret",3),a(),s(5,"div",4),k(6,is,12,12,"div",5)(7,ns,9,7,"div",6)(8,rs,9,7,"div",6),a()()),i&2&&(r(2),m("ngClass",n.expanded?"expanded":"collapsed"),r(),v(" ",n.test.Designation," "),r(),m("expanded",n.expanded),r(2),T(n.expanded?6:-1),r(),T(n.test.IsPublished?7:8))},dependencies:[pe,fi,En,te,Ue,P,I,kn],styles:["[_nghost-%COMP%]{font-weight:300}.collapsed[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-designation[_ngcontent-%COMP%]{display:none!important}.test-status[_ngcontent-%COMP%]{order:-1;padding-bottom:1rem}.test-status[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.test-status[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#000}.test-status[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.test-status[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.edit[_ngcontent-%COMP%]{color:#00000080;text-decoration:none}@media (min-width: 811px){.test-designation[_ngcontent-%COMP%]{display:inherit!important}.test-status[_ngcontent-%COMP%]{order:initial}.expand-mobile[_ngcontent-%COMP%]{display:none!important}}"]})}}return t})();var ss=["bkdTestEditGradesHeader",""],$t=(t,l)=>l.Id,as=t=>({"test-point-grading":t}),os=t=>({selected:t});function ds(t,l){if(t&1){let e=$();s(0,"th",3)(1,"bkd-test-table-header",14),S("toggleHeader",function(n){w(e);let o=h();return E(o.state.toggleHeader(n))})("publish",function(n){w(e);let o=h();return E(o.publish.emit(n))})("unpublish",function(n){w(e);let o=h();return E(o.unpublish.emit(n))}),a()()}if(t&2){let e=l.$implicit,i=h(),n=j(4);m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)("expanded",n)}}function ls(t,l){if(t&1){let e=$();s(0,"th",4)(1,"bkd-test-table-header",14),S("toggleHeader",function(n){w(e);let o=h();return E(o.state.toggleHeader(n))})("publish",function(n){w(e);let o=h();return E(o.publish.emit(n))})("unpublish",function(n){w(e);let o=h();return E(o.unpublish.emit(n))}),a()()}if(t&2){let e=l.$implicit,i=h(),n=j(4);m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)("expanded",n)}}function ps(t,l){if(t&1){let e=$();s(0,"div",15)(1,"span",16),S("click",function(){w(e);let n=h().$implicit,o=h();return E(o.state.sortBy(n))}),p(2),d(3,"translate"),a()()}t&2&&(r(2),v("",c(3,1,"tests.points")," "))}function cs(t,l){if(t&1){let e=$();s(0,"th",13)(1,"div",8),k(2,ps,4,3,"div",15),s(3,"div",9)(4,"span",16),S("click",function(){let n=w(e).$implicit,o=h();return E(o.state.sortBy(n))}),p(5),d(6,"translate"),a()(),s(7,"div",10),p(8),d(9,"async"),a()()()}if(t&2){let e=l.$implicit,i=h();m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(2),T(e.IsPointGrading?2:-1),r(3),f(c(6,4,"tests.grade")),r(3),v(" ",c(9,6,i.state.getSortingChar$(e))," ")}}var Pn=(()=>{class t{set shown(e){let i=this.element.nativeElement.classList;e?i.add("shown"):i.remove("shown")}constructor(e,i){this.state=e,this.element=i,this.sticky=!1,this.publish=new ie,this.unpublish=new ie}getTop(){return this.element.nativeElement.getBoundingClientRect().top}getLeft(){return this.element.nativeElement.getBoundingClientRect().left}setTopOffset(e){this.element.nativeElement.style.top=`${e}px`}setLeftOffset(e){this.element.nativeElement.style.left=`${e}px`}getWidth(){return this.element.nativeElement.getBoundingClientRect().width}setWidth(e){this.element.nativeElement.style.width=`${e}px`}getColumnWidths(){return this.getRowsAndColumns().map(e=>e.map(i=>i.getBoundingClientRect().width))}setColumnWidths(e){let i=this.getRowsAndColumns();if(i.length!==e.length||!i.every((n,o)=>n.length===e[o].length))throw new Error("Given column widths do not match number of header rows/columns");i.forEach((n,o)=>n.forEach((u,g)=>{u.style.width=`${e[o][g]}px`,u.style.minWidth=`${e[o][g]}px`}))}getStickyColumnsHeights(){return this.getRowsAndColumns(".sticky").map(e=>e.map(i=>i.getBoundingClientRect().height))}setStickyColumnHeights(e){let i=this.getRowsAndColumns(".sticky");if(i.length!==e.length||!i.every((n,o)=>n.length===e[o].length))throw new Error("Given column heights do not match number of sticky header columns");i.forEach((n,o)=>n.forEach((u,g)=>{u.style.height=`${e[o][g]}px`})),this.getRows().forEach((n,o)=>{let u=e[o].reduce((g,G)=>Math.max(g,G),0);n.style.height=`${u}px`})}getRowsAndColumns(e){return this.getRows().map(i=>Array.from(i.querySelectorAll(`th:not(.header-mobile)${e??""}`)))}getRows(){return Array.from(this.element.nativeElement.querySelectorAll("tr"))}static{this.\u0275fac=function(i){return new(i||t)(b(X),b(Ut))}}static{this.\u0275cmp=C({type:t,selectors:[["thead","bkdTestEditGradesHeader",""]],hostVars:2,hostBindings:function(i,n){i&2&&le("sticky",n.sticky)},inputs:{selectedTest:"selectedTest",sticky:"sticky",shown:"shown"},outputs:{publish:"publish",unpublish:"unpublish"},standalone:!0,features:[_],attrs:ss,decls:42,vars:32,consts:[[1,"header-collapsible"],["colspan","3",1,"desktop","sticky"],[3,"filterChange","filter"],["container","body",1,"test-grade","grade","test-info-desktop",3,"ngClass"],["container","body","colspan","3",1,"test-grade","header-mobile","test-info-mobile",3,"ngClass"],[1,"filler"],[3,"ngClass"],[1,"sticky","student-name",3,"click"],[1,"d-flex"],[1,"column-title"],[1,"sort-direction","ms-1"],[1,"sticky","student-grade","desktop",3,"click","ngClass"],[1,"border-end","sticky","student-average","desktop",3,"click"],["container","body",1,"test-grade",3,"ngClass"],[3,"toggleHeader","publish","unpublish","test","expanded"],[1,"column-title","point-input-container","me-2","me-md-3"],[3,"click"]],template:function(i,n){if(i&1){let o=$();B(0),d(1,"async"),B(2),d(3,"async"),B(4),d(5,"async"),s(6,"tr",0)(7,"th",1)(8,"bkd-test-table-filter",2),S("filterChange",function(g){return w(o),E(n.state.setFilter(g))}),a()(),N(9,ds,2,3,"th",3,$t),N(11,ls,2,3,"th",4,$t),x(13,"th",5),a(),s(14,"tr",6)(15,"th",7),S("click",function(){return w(o),E(n.state.sortBy("FullName"))}),s(16,"div",8)(17,"div",9),p(18),d(19,"translate"),a(),s(20,"div",10),p(21),d(22,"async"),a()()(),s(23,"th",11),S("click",function(){return w(o),E(n.state.sortBy("FinalGrade"))}),s(24,"div",8)(25,"div",9),p(26),d(27,"translate"),a(),s(28,"div",10),p(29),d(30,"async"),a()()(),s(31,"th",12),S("click",function(){return w(o),E(n.state.sortBy("TestsMean"))}),s(32,"div",8)(33,"div",9),p(34),d(35,"translate"),a(),s(36,"div",10),p(37),d(38,"async"),a()()(),N(39,cs,10,8,"th",13,$t),x(41,"th",5),a()}if(i&2){let o=c(1,9,n.state.filteredTests$),u=c(3,11,n.state.filter$);r(4),W(c(5,13,n.state.expandedHeader$)),r(4),m("filter",u),r(),U(o),r(2),U(o),r(3),m("ngClass",L(28,as,n.selectedTest==null?null:n.selectedTest.IsPointGrading)),r(4),v(" ",c(19,16,"tests.student.name")," "),r(3),v(" ",c(22,18,n.state.getSortingChar$("FullName"))," "),r(2),m("ngClass",L(30,os,n.selectedTest===void 0)),r(3),v(" ",c(27,20,"tests.grade")," "),r(3),v(" ",c(30,22,n.state.getSortingChar$("FinalGrade"))," "),r(5),v(" ",c(35,24,"tests.mean")," "),r(3),v(" ",c(38,26,n.state.getSortingChar$("TestsMean"))," "),r(2),U(o)}},dependencies:[K,pe,P,I,wn,In],styles:["[_nghost-%COMP%]{--spacer: 16px;--point-input-size: 4em;--grade-input-size: 127px;--points-grade-gap: 1rem;--student-name-column-width: 225px;--student-grade-column-width: calc( var(--spacer) + var(--grade-input-size) + var(--spacer) );--student-average-column-width: 100px;--test-grade-column-width: calc( var(--spacer) + var(--point-input-size) + var(--points-grade-gap) + var(--grade-input-size) + var(--spacer) );--student-grade-column-offset: var(--student-name-column-width);--student-average-column-offset: calc( var(--student-grade-column-offset) + var(--student-grade-column-width) );--test-columns-offset: calc( var(--student-average-column-offset) + var(--student-average-column-width) )}@media (min-width: 1000px){[_nghost-%COMP%]{--student-name-column-width: 275px}}@media (max-width: 767.98px){[_nghost-%COMP%]{--points-grade-gap: calc(.5 * var(--spacer))}}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:1rem}td[_ngcontent-%COMP%]{vertical-align:middle}@media (min-width: 576px){[_nghost-%COMP%]{--point-input-size: 5em}}tr[_ngcontent-%COMP%]:not(.header-collapsible) th.test-grade[_ngcontent-%COMP%], td.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}@media (max-width: 810px){tr[_ngcontent-%COMP%]:not(.header-collapsible):not(.test-point-grading) th.test-grade[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]:not(.test-point-grading) th.student-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.test-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.student-grade[_ngcontent-%COMP%]{width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));min-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));max-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer))}}th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{padding:0;width:auto}@media (max-width: 810px){th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{width:0}}th.test-grade[_ngcontent-%COMP%] .column-title.point-input-container[_ngcontent-%COMP%]{width:var(--point-input-size)}@media (max-width: 810px){.desktop[_ngcontent-%COMP%]:not(.selected), .student-grade[_ngcontent-%COMP%]:not(.selected), .student-average[_ngcontent-%COMP%], .test-grade[_ngcontent-%COMP%]:not(.selected){display:none}table[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%], thead[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%}th[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{display:flex;width:100%}.student-name[_ngcontent-%COMP%]{flex:1;display:block;padding-right:0}.test-grade[_ngcontent-%COMP%]{flex:none;display:block}}@media (min-width: 811px){.mobile[_ngcontent-%COMP%]{display:none}.student-name[_ngcontent-%COMP%]{width:var(--student-name-column-width);min-width:var(--student-name-column-width);max-width:var(--student-name-column-width)}.student-grade[_ngcontent-%COMP%]{width:var(--student-grade-column-width);min-width:var(--student-grade-column-width);max-width:var(--student-grade-column-width)}.student-average[_ngcontent-%COMP%]{width:var(--student-average-column-width);min-width:var(--student-average-column-width);max-width:var(--student-average-column-width)}.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}th.sticky[_ngcontent-%COMP%], td.sticky[_ngcontent-%COMP%]{position:sticky;left:0;background-color:#fff}th.sticky.student-grade[_ngcontent-%COMP%], td.sticky.student-grade[_ngcontent-%COMP%]{left:var(--student-grade-column-offset)}th.sticky.student-average[_ngcontent-%COMP%], td.sticky.student-average[_ngcontent-%COMP%]{left:var(--student-average-column-offset)}}@media (max-width: 1200px){[_nghost-%COMP%]{--student-average-column-width: 1px}.student-average[_ngcontent-%COMP%]{padding:0;overflow:hidden}}@media (min-width: 1201px){.student-average-inline[_ngcontent-%COMP%]{display:none}}.sticky[_nghost-%COMP%]{position:fixed;top:0;left:0;z-index:1000;display:none}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-top:none;vertical-align:top}.header-collapsible[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6;padding:0 1rem}tr[_ngcontent-%COMP%] th.test-info-desktop[_ngcontent-%COMP%]{display:none!important}@media (min-width: 811px){.sticky.shown[_nghost-%COMP%]{display:table-header-group}tr[_ngcontent-%COMP%] th.test-info-mobile[_ngcontent-%COMP%]{display:none!important}tr[_ngcontent-%COMP%] th.test-info-desktop[_ngcontent-%COMP%]{display:table-cell!important}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-top:none;padding-top:.25rem;padding-bottom:.25rem;border-top:initial}.sticky[_nghost-%COMP%]{margin-left:var(--test-columns-offset)}.sticky[_nghost-%COMP%] th.sticky[_ngcontent-%COMP%]{position:fixed}}"],changeDetection:0})}}return t})();var ms=(t,l)=>l.student.Id,us=(t,l)=>l.Id,hs=(t,l)=>l.id,gs=t=>({"test-point-grading":t}),Mn=t=>({selected:t}),fs=t=>["student",t,"grades"],vs=t=>({"visible-on-mobile":t});function Cs(t,l){if(t&1){let e=$();s(0,"bkd-grade-select",19),d(1,"async"),d(2,"async"),S("gradeIdSelected",function(n){w(e);let o=h(2);return E(o.state.overwriteFinalGrade(n))}),a()}if(t&2){let e=h().$implicit,i=h();m("options",c(1,4,i.state.gradingOptionsForCourse$()))("valueId",e.finalGrade.finalGradeId)("gradeId",e.finalGrade.id)("disabled",c(2,6,i.isEditFinalGradesAllowed(e))===!1)}}function _s(t,l){if(t&1&&(s(0,"div"),p(1),a()),t&2){let e=h().$implicit;r(),v(" ",e.finalGrade.freeHandGrade," ")}}function Ss(t,l){if(t&1&&(B(0),s(1,"td",11),x(2,"bkd-grade",20),d(3,"async"),a()),t&2){let e=l.$implicit,i=l.$index,n=h(),o=n.$implicit,u=n.$index,g=h(),G=e.grade;r(),m("ngClass",g.selectedTest!==void 0&&G.test.Id===g.selectedTest.Id?"selected":""),r(),m("grade",G)("gradeOptions",c(3,5,g.state.gradingOptionsForTest$(G.test)))("student",o.student)("tabIndex",(1+i)*1e3+u)}}function ys(t,l){if(t&1&&(s(0,"tr")(1,"td",6)(2,"a",15)(3,"div"),p(4),a(),s(5,"div",8),p(6),d(7,"translate"),d(8,"decimalOrDash"),a()()(),s(9,"td",16),k(10,Cs,3,8,"bkd-grade-select",17)(11,_s,2,1,"div"),a(),s(12,"td",18),p(13),d(14,"decimalOrDash"),a(),N(15,Ss,4,7,"td",11,hs),x(17,"td",12),a()),t&2){let e=l.$implicit,i=h();r(2),m("routerLink",L(16,fs,e.student.Id)),r(2),f(e.student.FullName),r(2),xt(" ",c(7,8,"tests.mean"),": ",D(8,10,e.finalGrade==null?null:e.finalGrade.average,"1-3")," "),r(3),m("ngClass",L(18,Mn,i.selectedTest===void 0)),r(),T(e.finalGrade&&!e.finalGrade.freeHandGrade?10:-1),r(),T(e.finalGrade&&e.finalGrade.freeHandGrade?11:-1),r(2),v(" ",D(14,13,e.finalGrade==null?null:e.finalGrade.average,"1-3")," "),r(2),U(i.getGrades(e))}}function bs(t,l){if(t&1&&(s(0,"td",11),x(1,"bkd-average-grades",21),a()),t&2){let e=l.$implicit,i=h();m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)||e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)}}function xs(t,l){if(t&1){let e=$();s(0,"button",22),S("click",function(){w(e);let n=h();return E(n.setAverageAsFinalGrade())}),p(1),d(2,"translate"),a()}if(t&2){let e=h(),i=j(2);m("ngClass",L(4,vs,!i||!e.selectedTest)),r(),v(" ",c(2,2,"tests.set-final-grade")," ")}}var On=(()=>{class t{constructor(e,i){this.state=e,this.modalService=i}ngOnInit(){this.state.setSorting({key:"FullName",ascending:!0})}setAverageAsFinalGrade(){this.state.course$.pipe(oe(1)).subscribe(e=>this.state.setAveragesAsFinalGrades({CourseIds:[e.Id]}))}isEditFinalGradesAllowed(e){return this.state.course$.pipe(y(i=>!!(mt(i)?.value&&e.finalGrade?.canGrade)))}getGrades(e){return e.grades.flatMap(i=>({id:`${e.student.Id}-${i.test.Id}`,grade:i}))}publish(e){let i=this.openModal(e);this.onCloseModal(i,()=>this.state.publish(e))}unpublish(e){let i=this.openModal(e);this.onCloseModal(i,()=>this.state.unpublish(e))}calculatePointsAverage(e){return this.safeAverage(e,it)}calculateGradeAverage(e){return this.safeAverage(e,nt)}safeAverage(e,i){try{return i(e).toString()}catch{return"\u2013"}}openModal(e){let i=this.modalService.open(_n);return i.componentInstance.test=e,i}onCloseModal(e,i){e.result.then(n=>{n&&i()},()=>{})}static{this.\u0275fac=function(i){return new(i||t)(b(X),b(at))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-test-edit-grades"]],inputs:{selectedTest:"selectedTest"},standalone:!0,features:[se([je]),_],decls:40,vars:45,consts:[["inlineHeader",""],["stickyHeader",""],[1,"table-responsive-wrapper"],["bkdTestEditGradesHeaderSticky","",1,"table","table-hover","h-100",3,"ngClass","inlineHeader","stickyHeader"],["bkdTestEditGradesHeader","",3,"publish","unpublish","selectedTest"],["bkdTestEditGradesHeader","",3,"publish","unpublish","sticky","selectedTest"],[1,"sticky","student-name"],[1,"d-flex","flex-column"],[1,"student-average-inline"],[1,"desktop","sticky","student-grade",3,"ngClass"],[1,"desktop","border-end","sticky","student-average"],[1,"test-grade",3,"ngClass"],[1,"filler"],[1,"action-buttons"],["data-testId","apply-average-button","type","button",1,"apply-average-button","btn","btn-primary","m-3",3,"ngClass"],[3,"routerLink"],[1,"sticky","student-grade",3,"ngClass"],[3,"options","valueId","gradeId","disabled"],[1,"border-end","sticky","student-average"],[3,"gradeIdSelected","options","valueId","gradeId","disabled"],[3,"grade","gradeOptions","student","tabIndex"],[3,"test"],["data-testId","apply-average-button","type","button",1,"apply-average-button","btn","btn-primary","m-3",3,"click","ngClass"]],template:function(i,n){if(i&1){let o=$();B(0),d(1,"async"),B(2),d(3,"async"),B(4),d(5,"async"),s(6,"div",2)(7,"table",3)(8,"thead",4,0),S("publish",function(g){return w(o),E(n.publish(g))})("unpublish",function(g){return w(o),E(n.unpublish(g))}),a(),s(10,"thead",5,1),S("publish",function(g){return w(o),E(n.publish(g))})("unpublish",function(g){return w(o),E(n.unpublish(g))}),a(),s(12,"tbody"),N(13,ys,18,20,"tr",null,ms),s(15,"tr")(16,"td",6)(17,"div",7)(18,"div"),p(19),d(20,"translate"),a(),s(21,"div",8),p(22),d(23,"translate"),d(24,"async"),d(25,"decimalOrDash"),a()()(),s(26,"td",9),p(27),d(28,"async"),d(29,"decimalOrDash"),a(),s(30,"td",10),p(31),d(32,"async"),d(33,"decimalOrDash"),a(),N(34,bs,2,2,"td",11,us),x(36,"td",12),a()()(),s(37,"div",13),k(38,xs,3,6,"button",14),d(39,"async"),a()()}if(i&2){let o=ve(9),u=ve(11),g=c(1,13,n.state.filteredTests$);r(2),W(c(3,15,n.state.hasTests$));let G=c(5,18,n.state.studentGrades$);r(5),m("ngClass",L(41,gs,n.selectedTest==null?null:n.selectedTest.IsPointGrading))("inlineHeader",o)("stickyHeader",u),r(),m("selectedTest",n.selectedTest),r(2),m("sticky",!0)("selectedTest",n.selectedTest),r(3),U(G),r(6),f(c(20,20,"tests.average")),r(3),xt(" ",c(23,22,"tests.mean"),": ",D(25,26,c(24,24,n.state.meanOfStudentGradesForCourse$),"1-3")," "),r(4),m("ngClass",L(43,Mn,n.selectedTest===void 0)),r(),v(" ",D(29,31,c(28,29,n.state.meanOfFinalGradesForCourse$),"1-3")," "),r(4),v(" ",D(33,36,c(32,34,n.state.meanOfStudentGradesForCourse$),"1-3")," "),r(3),U(g),r(4),T(c(39,39,n.state.canSetFinalGrade$)?38:-1)}},dependencies:[pe,te,bn,Sn,yn,K,P,I,Ii,xn,Pn],styles:["[_nghost-%COMP%]{--spacer: 16px;--point-input-size: 4em;--grade-input-size: 127px;--points-grade-gap: 1rem;--student-name-column-width: 225px;--student-grade-column-width: calc( var(--spacer) + var(--grade-input-size) + var(--spacer) );--student-average-column-width: 100px;--test-grade-column-width: calc( var(--spacer) + var(--point-input-size) + var(--points-grade-gap) + var(--grade-input-size) + var(--spacer) );--student-grade-column-offset: var(--student-name-column-width);--student-average-column-offset: calc( var(--student-grade-column-offset) + var(--student-grade-column-width) );--test-columns-offset: calc( var(--student-average-column-offset) + var(--student-average-column-width) )}@media (min-width: 1000px){[_nghost-%COMP%]{--student-name-column-width: 275px}}@media (max-width: 767.98px){[_nghost-%COMP%]{--points-grade-gap: calc(.5 * var(--spacer))}}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:1rem}td[_ngcontent-%COMP%]{vertical-align:middle}@media (min-width: 576px){[_nghost-%COMP%]{--point-input-size: 5em}}tr[_ngcontent-%COMP%]:not(.header-collapsible) th.test-grade[_ngcontent-%COMP%], td.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}@media (max-width: 810px){tr[_ngcontent-%COMP%]:not(.header-collapsible):not(.test-point-grading) th.test-grade[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]:not(.test-point-grading) th.student-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.test-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.student-grade[_ngcontent-%COMP%]{width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));min-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));max-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer))}}th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{padding:0;width:auto}@media (max-width: 810px){th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{width:0}}th.test-grade[_ngcontent-%COMP%] .column-title.point-input-container[_ngcontent-%COMP%]{width:var(--point-input-size)}@media (max-width: 810px){.desktop[_ngcontent-%COMP%]:not(.selected), .student-grade[_ngcontent-%COMP%]:not(.selected), .student-average[_ngcontent-%COMP%], .test-grade[_ngcontent-%COMP%]:not(.selected){display:none}table[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%], thead[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%}th[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{display:flex;width:100%}.student-name[_ngcontent-%COMP%]{flex:1;display:block;padding-right:0}.test-grade[_ngcontent-%COMP%]{flex:none;display:block}}@media (min-width: 811px){.mobile[_ngcontent-%COMP%]{display:none}.student-name[_ngcontent-%COMP%]{width:var(--student-name-column-width);min-width:var(--student-name-column-width);max-width:var(--student-name-column-width)}.student-grade[_ngcontent-%COMP%]{width:var(--student-grade-column-width);min-width:var(--student-grade-column-width);max-width:var(--student-grade-column-width)}.student-average[_ngcontent-%COMP%]{width:var(--student-average-column-width);min-width:var(--student-average-column-width);max-width:var(--student-average-column-width)}.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}th.sticky[_ngcontent-%COMP%], td.sticky[_ngcontent-%COMP%]{position:sticky;left:0;background-color:#fff}th.sticky.student-grade[_ngcontent-%COMP%], td.sticky.student-grade[_ngcontent-%COMP%]{left:var(--student-grade-column-offset)}th.sticky.student-average[_ngcontent-%COMP%], td.sticky.student-average[_ngcontent-%COMP%]{left:var(--student-average-column-offset)}}@media (max-width: 1200px){[_nghost-%COMP%]{--student-average-column-width: 1px}.student-average[_ngcontent-%COMP%]{padding:0;overflow:hidden}}@media (min-width: 1201px){.student-average-inline[_ngcontent-%COMP%]{display:none}}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child{text-decoration:underline}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child:hover{text-decoration-color:#ea161f}.student-average-inline[_ngcontent-%COMP%]{color:#4e4e4ef2;font-size:.875rem;line-height:1}@media (min-width: 811px){.table-responsive-wrapper[_ngcontent-%COMP%]{display:block;overflow-x:auto}table[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:0}.action-buttons[_ngcontent-%COMP%]{position:sticky;left:0}}@media (max-width: 810px){.apply-average-button[_ngcontent-%COMP%]:not(.visible-on-mobile){display:none!important}}"]})}}return t})();var Ts=()=>["/events"],ws=t=>({count:t});function Es(t,l){if(t&1&&(s(0,"div",7),p(1),d(2,"translate"),a()),t&2){let e=h();r(),v(" ",D(2,1,e.course.ParticipatingStudents.length===1?"courses.registration":"courses.registrations",L(4,ws,e.course.ParticipatingStudents.length))," ")}}var Gn=(()=>{class t{constructor(e){this.reportsService=e,this.course$=new q(null),this.reports$=this.course$.pipe(y(i=>i?.Id),Z(),F(i=>i?this.reportsService.getCourseTestsReports(i):Y([])),jt([]))}ngOnChanges(e){e.course&&this.course$.next(e.course.currentValue)}getDesignation(){return ut(this.course)}static{this.\u0275fac=function(i){return new(i||t)(b(st))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-header"]],inputs:{course:"course"},standalone:!0,features:[Pe,_],decls:12,vars:7,consts:[[3,"link"],[1,"d-flex"],["routerLink","add",1,"edit","btn","btn-primary","btn-icon","ms-2"],[1,"material-icons"],[1,"ms-2",3,"reports"],["id","excel-import"],[1,"d-flex","flex-column","header"],[1,"additional-info"]],template:function(i,n){i&1&&(s(0,"bkd-backlink",0)(1,"div",1)(2,"a",2)(3,"i",3),p(4,"add"),a()(),x(5,"bkd-reports-link",4),d(6,"async"),x(7,"div",5),a()(),s(8,"div",6)(9,"h1"),p(10),a(),k(11,Es,3,6,"div",7),a()),i&2&&(m("link",Ge(6,Ts)),r(5),m("reports",c(6,4,n.reports$)),r(5),f(n.getDesignation()),r(),T(n.course.ParticipatingStudents?11:-1))},dependencies:[ot,te,tt,K,P,I],styles:[".header[_ngcontent-%COMP%]{padding-bottom:1rem;border-bottom:1px solid #dee2e6}h1[_ngcontent-%COMP%]{margin-bottom:0}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}"]})}}return t})();var ks=()=>[],Is=t=>({"visible-on-mobile":t});function Ps(t,l){t&1&&x(0,"bkd-spinner")}function Ms(t,l){if(t&1){let e=$();s(0,"bkd-select",4),S("valueChange",function(n){w(e);let o=h(2);return E(n&&o.testSelected(n))}),a(),x(1,"bkd-test-edit-grades",5)}if(t&2){h(2);let e=j(6),i=j(8),n=j(10);m("options",e)("value",i)("allowEmpty",!1),r(),m("selectedTest",n)}}function Os(t,l){t&1&&(s(0,"p",2),p(1),d(2,"translate"),a()),t&2&&(r(),f(c(2,1,"tests.no-tests")))}function Gs(t,l){if(t&1&&(s(0,"a",3),d(1,"async"),s(2,"i",6),p(3,"arrow_right_alt"),a(),s(4,"span",7),p(5),d(6,"translate"),a()()),t&2){let e=h(2),i=j(4),n=j(10);fe("href",c(1,3,e.buildLinkToRatingOverview()),Ne),m("ngClass",L(7,Is,!i||!n)),r(5),f(c(6,5,"tests.link-to-rating-overview"))}}function $s(t,l){if(t&1&&(x(0,"bkd-tests-header",1),k(1,Ms,2,4)(2,Os,3,3,"p",2)(3,Gs,7,9,"a",3),d(4,"async")),t&2){let e=h(),i=j(0),n=j(2);m("course",i),r(),T(n.length>0?1:2),r(2),T(c(4,3,e.state.canSetFinalGrade$)?3:-1)}}var $n=(()=>{class t{constructor(e,i,n){this.settings=e,this.state=i,this.translate=n,this.selectTest$=new re,this.testOptions$=this.state.tests$.pipe(y(o=>[{Key:-1,Value:this.translate.instant("tests.grade")},...o.map(u=>({Key:u.Id,Value:u.Designation}))]),Z()),this.selectedTestId$=Ve(this.selectTest$,this.state.tests$.pipe(oe(1),y(o=>o[0]?.Id))).pipe(Z()),this.selectedTest$=this.selectedTestId$.pipe(F(o=>this.state.tests$.pipe(y(u=>u.find(g=>g.Id===o)))),Z())}testSelected(e){this.selectTest$.next(e)}buildLinkToRatingOverview(){return this.state.course$.pipe(oe(1),y(e=>this.settings.eventlist.evaluation.replace(":id",String(e.Id))))}static{this.\u0275fac=function(i){return new(i||t)(b(_e),b(X),b(ae))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests-list"]],standalone:!0,features:[_],decls:16,vars:22,consts:[[1,"bkd-container"],[3,"course"],[1,"mt-3","px-3"],[1,"rating-overview","d-flex","justify-content-end","pe-3","border-top","pt-3",3,"ngClass","href"],["width","100%",1,"tests-dropdown",3,"valueChange","options","value","allowEmpty"],[3,"selectedTest"],[1,"material-icons","fw-bold"],[1,"ps-1"]],template:function(i,n){if(i&1&&(B(0),d(1,"async"),B(2),d(3,"async"),B(4),d(5,"async"),B(6),d(7,"async"),B(8),d(9,"async"),B(10),d(11,"async"),s(12,"div",0),k(13,Ps,1,0,"bkd-spinner"),d(14,"async"),k(15,$s,5,5),a()),i&2){let o;W(c(1,1,n.state.course$)),r(2),W((o=c(3,4,n.state.tests$))!==null&&o!==void 0?o:Ge(21,ks)),r(2),W(c(5,7,n.state.hasTests$)),r(2),W(c(7,10,n.testOptions$)),r(2),W(c(9,13,n.selectedTestId$)),r(2),W(c(11,16,n.selectedTest$)),r(3),T(c(14,19,n.state.loading$)?13:15)}},dependencies:[Gn,Be,On,pe,be,K,P,I],styles:[".tests-dropdown[_ngcontent-%COMP%]{display:block;padding:1rem 0}@media (min-width: 811px){.tests-dropdown[_ngcontent-%COMP%]{display:none}}a.rating-overview[_ngcontent-%COMP%]{text-decoration:none}a.rating-overview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}a.rating-overview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}@media (max-width: 810px){a.rating-overview[_ngcontent-%COMP%]:not(.visible-on-mobile){display:none!important}}"]})}}return t})();var St=(()=>{class t{constructor(e,i){this.state=e,this.route=i,this.courseId$=this.route.paramMap.pipe(y(n=>Number(n.get("id"))),Z()),this.destroy$=new re}ngOnInit(){this.courseId$.pipe(ge(this.destroy$)).subscribe(e=>this.state.setCourseId(e))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(i){return new(i||t)(b(X),b(ce))}}static{this.\u0275cmp=C({type:t,selectors:[["bkd-tests"]],standalone:!0,features:[se([X]),_],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[Ce]})}}return t})();var Op=[{path:"",component:rn,children:[{path:"",component:nn},{path:"current",component:qi,children:[{path:"",component:zi},{path:":id",component:tn,children:[{path:"",component:en},kt]}]},{path:":id",component:St,children:[{path:"tests",component:$n}]},{path:":id/tests/:testId/edit",component:St,children:[{path:"",component:Cn}]},{path:":id/tests/add",component:St,children:[{path:"",component:fn}]},{path:":id/tests",children:[kt]}]}];export{Op as EVENTS_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-UHCZHU5Y.js b/public/apps/webapp-schulverwaltung/chunk-UHCZHU5Y.js deleted file mode 100644 index eb379add..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-UHCZHU5Y.js +++ /dev/null @@ -1 +0,0 @@ -import{a,b as s}from"./chunk-TTJNYD2F.js";function d(n,t){let e=new URLSearchParams(t?{returnlink:t}:{});return`/events/students/${n}?${e}`}function u(n){let t=n.ParticipatingStudents?.map(e=>({id:e.Id,name:e.FullName,email:e.DisplayEmail??void 0}))??[];return{eventId:n.Id,eventDesignation:n.Designation,studyClasses:(n.Classes??[]).map(e=>e.Designation).sort(),entries:t}}function m(n,t){return s(a({},n),{entries:n.entries.map(e=>{let i=t.find(o=>o.StudentId===e.id),r=i?[i.CompanyName,i.CompanyNameAddition].filter(Boolean).join(" \u2013 "):void 0;return s(a({},e),{company:r})})})}function l(n,t,e){return{eventId:n,eventDesignation:e[0]?.EventDesignation??"",studyClasses:[],entries:t.map(i=>({id:i.Id,name:i.FullName,email:i.DisplayEmail??void 0,status:e.find(r=>r.PersonId===i.Id)?.Status}))}}function p(n,t){return s(a({},n),{entries:n.entries.map(e=>s(a({},e),{studyClass:t.find(i=>i.StudentRef.Id===e.id)?.StudyClassNumber}))})}export{d as a,u as b,m as c,l as d,p as e}; diff --git a/public/apps/webapp-schulverwaltung/main.js b/public/apps/webapp-schulverwaltung/main.js index 9e2e45b9..b34b1022 100644 --- a/public/apps/webapp-schulverwaltung/main.js +++ b/public/apps/webapp-schulverwaltung/main.js @@ -1 +1 @@ -import{b as Ds}from"./chunk-VMOOBKG2.js";import{c as Ps}from"./chunk-HLEZ4C3Q.js";import{a as As,b as Ms}from"./chunk-5ZOEDVCI.js";import{t as Ss}from"./chunk-7TIAFCYF.js";import{a as ye}from"./chunk-LXT7D3OU.js";import{$ as H,$a as Y,Ac as Ie,B as Qt,Bc as ps,Ca as Jt,Dc as gs,Eb as X,Ec as ys,Fa as Yt,Gd as Es,Kb as pe,La as Xt,Lb as ge,Nd as vs,Pd as Ts,Qa as Fe,Qd as bs,Rd as Le,Sa as Zt,Sd as _e,Td as ws,V as v,Va as es,Wa as ts,X as W,Xa as ss,Ya as Re,Yb as os,Z as Vt,Za as ke,_ as j,_a as U,a as Ce,aa as J,ab as is,ac as at,c as qt,dd as _s,ea as Ht,eb as ns,ec as as,ed as Z,gb as rs,hb as rt,ia as Gt,ja as xt,k as Ut,mc as ls,nc as cs,oc as us,pc as hs,qc as ds,ra as Ne,rb as oe,rc as fs,sa as Wt,sb as ot,tb as Oe,wa as nt,ya as q,za as re,zc as ms}from"./chunk-TTJNYD2F.js";function vi(i){let e=i,t=Math.floor(Math.abs(i)),s=i.toString().replace(/^[^.]*\.?/,"").length;return t===1&&s===0?1:5}var Cs=["de-CH",[["AM","PM"],void 0,void 0],void 0,[["S","M","D","M","D","F","S"],["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],["So","Mo","Di","Mi","Do","Fr","Sa"]],[["S","M","D","M","D","F","S"],["So","Mo","Di","Mi","Do","Fr","Sa"],["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]],[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan.","Feb.","M\xE4rz","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]],[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]],[["v. Chr.","n. Chr."],void 0,void 0],1,[6,0],["dd.MM.yy","dd.MM.y","d. MMMM y","EEEE, d. MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH:mm:ss zzzz"],["{1}, {0}",void 0,"{1} 'um' {0}",void 0],[".","\u2019",";","%","+","-","E","\xB7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4\xA0#,##0.00;\xA4-#,##0.00","#E0"],"CHF","CHF","Schweizer Franken",{ATS:["\xF6S"],AUD:["AU$","$"],BGM:["BGK"],BGO:["BGJ"],BYN:[void 0,"\u0440."],CUC:[void 0,"Cub$"],DEM:["DM"],EUR:[],FKP:[void 0,"Fl\xA3"],GHS:[void 0,"\u20B5"],GNF:[void 0,"F.G."],KMF:[void 0,"FC"],PHP:[void 0,"\u20B1"],RON:[void 0,"L"],RUR:[void 0,"\u0440."],RWF:[void 0,"F.Rw"],SYP:[],THB:["\u0E3F"],TWD:["NT$"],XXX:[],ZMW:[void 0,"K"]},"ltr",vi];function Ti(i){let e=i,t=Math.floor(Math.abs(i)),s=i.toString().replace(/^[^.]*\.?/,"").length,n=parseInt(i.toString().replace(/^[^e]*(e([-+]?\d+))?/,"$2"))||0;return t===0||t===1?1:n===0&&t!==0&&t%1e6===0&&s===0||!(n>=0&&n<=5)?4:5}var Ns=["fr-CH",[["AM","PM"],void 0,void 0],void 0,[["D","L","M","M","J","V","S"],["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],["di","lu","ma","me","je","ve","sa"]],void 0,[["J","F","M","A","M","J","J","A","S","O","N","D"],["janv.","f\xE9vr.","mars","avr.","mai","juin","juil.","ao\xFBt","sept.","oct.","nov.","d\xE9c."],["janvier","f\xE9vrier","mars","avril","mai","juin","juillet","ao\xFBt","septembre","octobre","novembre","d\xE9cembre"]],void 0,[["av. J.-C.","ap. J.-C."],void 0,["avant J\xE9sus-Christ","apr\xE8s J\xE9sus-Christ"]],1,[6,0],["dd.MM.yy","d MMM y","d MMMM y","EEEE, d MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH.mm:ss 'h' zzzz"],["{1} {0}","{1}, {0}","{1} '\xE0' {0}",void 0],[",","\u202F",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":","."],["#,##0.###","#,##0%","#,##0.00\xA0\xA4","#E0"],"CHF","CHF","franc suisse",{ARS:["$AR","$"],AUD:["$AU","$"],BEF:["FB"],BMD:["$BM","$"],BND:["$BN","$"],BYN:[void 0,"\u0440."],BZD:["$BZ","$"],CAD:["$CA","$"],CLP:["$CL","$"],CNY:[void 0,"\xA5"],COP:["$CO","$"],CYP:["\xA3CY"],EGP:[void 0,"\xA3E"],FJD:["$FJ","$"],FKP:["\xA3FK","\xA3"],FRF:["F"],GBP:["\xA3GB","\xA3"],GIP:["\xA3GI","\xA3"],HKD:[void 0,"$"],IEP:["\xA3IE"],ILP:["\xA3IL"],ITL:["\u20A4IT"],JPY:[void 0,"\xA5"],KMF:[void 0,"FC"],LBP:["\xA3LB","\xA3L"],MTP:["\xA3MT"],MXN:["$MX","$"],NAD:["$NA","$"],NIO:[void 0,"$C"],NZD:["$NZ","$"],PHP:[void 0,"\u20B1"],RHD:["$RH"],RON:[void 0,"L"],RWF:[void 0,"FR"],SBD:["$SB","$"],SGD:["$SG","$"],SRD:["$SR","$"],TOP:[void 0,"$T"],TTD:["$TT","$"],TWD:[void 0,"NT$"],USD:["$US","$"],UYU:["$UY","$"],WST:["$WS"],XCD:[void 0,"$"],XPF:["FCFP"],ZMW:[void 0,"Kw"]},"ltr",Ti];function bi(i,e){if(i&1&&(U(0,"i",3),oe(1),Y()),i&2){let t=rt().$implicit;q(),ot(t.icon)}}function wi(i,e){if(i&1){let t=ns();U(0,"ngb-toast",1),rs("hidden",function(){let n=Gt(t).$implicit,r=rt();return xt(r.toastService.remove(n))}),U(1,"div",2),Xt(2,bi,2,1,"i",3),U(3,"span"),oe(4),Y()()()}if(i&2){let t=e.$implicit;Zt(t.classname),Fe("header",t.header||"")("autohide",!0),q(2),es(t.icon?2:-1),q(2),ot(t.message)}}var Rs=(()=>{class i{constructor(t){this.toastService=t}static{this.\u0275fac=function(s){return new(s||i)(re(ye))}}static{this.\u0275cmp=J({type:i,selectors:[["bkd-toast"]],standalone:!0,features:[X],decls:3,vars:2,consts:[[3,"header","class","autohide"],[3,"hidden","header","autohide"],[1,"d-flex","gap-2"],[1,"material-icons"]],template:function(s,n){s&1&&(Re(0,wi,5,6,"ngb-toast",0,ss),pe(2,"async")),s&2&&ke(ge(2,0,n.toastService.toasts$))},dependencies:[Ss,as],styles:["[_nghost-%COMP%]{position:fixed;top:0;right:0;margin:.5em;z-index:1200}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{font-size:medium}"]})}}return i})();var ks=new Vt("Navigator API",{providedIn:"root",factory:()=>navigator});var Os=(()=>{class i{constructor(t,s,n,r){this.toastService=s,this.settings=n,this.navigator=r,t.initialize(),this.checkSettings()}checkSettings(){vs(_s)(this.settings).pipe(Qt(t=>(console.error(String(t)),this.toastService.error("Please check the contents of the settings.js file (see Console output for more details).","Invalid Settings"),Ut))).subscribe()}static{this.\u0275fac=function(s){return new(s||i)(re(Ms),re(ye),re(Z),re(ks))}}static{this.\u0275cmp=J({type:i,selectors:[["bkd-app"]],standalone:!0,features:[X],decls:2,vars:0,consts:[["aria-live","polite","aria-atomic","true"]],template:function(s,n){s&1&&is(0,"bkd-toast",0)(1,"router-outlet")},dependencies:[Rs,ms],styles:["[_nghost-%COMP%]{width:100%}"],changeDetection:0})}}return i})();var _=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(_||{}),Q="*";function Is(i,e=null){return{type:_.Sequence,steps:i,options:e}}function lt(i){return{type:_.Style,styles:i,offset:null}}var ee=class{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,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}},ve=class{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,s=0,n=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==r&&this._onFinish()}),o.onDestroy(()=>{++s==r&&this._onDestroy()}),o.onStart(()=>{++n==r&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.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 n=s.totalTime?Math.min(1,t/s.totalTime):1;s.setPosition(n)})}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}},$e="!";function Ls(i){return new v(3e3,!1)}function Ai(){return new v(3100,!1)}function Mi(){return new v(3101,!1)}function Pi(i){return new v(3001,!1)}function Di(i){return new v(3003,!1)}function Ci(i){return new v(3004,!1)}function Ni(i,e){return new v(3005,!1)}function Fi(){return new v(3006,!1)}function Ri(){return new v(3007,!1)}function ki(i,e){return new v(3008,!1)}function Oi(i){return new v(3002,!1)}function Ii(i,e,t,s,n){return new v(3010,!1)}function Li(){return new v(3011,!1)}function $i(){return new v(3012,!1)}function zi(){return new v(3200,!1)}function Bi(){return new v(3202,!1)}function Ki(){return new v(3013,!1)}function ji(i){return new v(3014,!1)}function qi(i){return new v(3015,!1)}function Ui(i){return new v(3016,!1)}function Qi(i,e){return new v(3404,!1)}function Vi(i){return new v(3502,!1)}function Hi(i){return new v(3503,!1)}function Gi(){return new v(3300,!1)}function xi(i){return new v(3504,!1)}function Wi(i){return new v(3301,!1)}function Ji(i,e){return new v(3302,!1)}function Yi(i){return new v(3303,!1)}function Xi(i,e){return new v(3400,!1)}function Zi(i){return new v(3401,!1)}function en(i){return new v(3402,!1)}function tn(i,e){return new v(3505,!1)}function te(i){switch(i.length){case 0:return new ee;case 1:return i[0];default:return new ve(i)}}function Js(i,e,t=new Map,s=new Map){let n=[],r=[],o=-1,a=null;if(e.forEach(l=>{let c=l.get("offset"),h=c==o,u=h&&a||new Map;l.forEach((S,y)=>{let f=y,g=S;if(y!=="offset")switch(f=i.normalizePropertyName(f,n),g){case $e:g=t.get(y);break;case Q:g=s.get(y);break;default:g=i.normalizeStyleValue(y,f,g,n);break}u.set(f,g)}),h||r.push(u),a=u,o=c}),n.length)throw Vi(n);return r}function Ft(i,e,t,s){switch(e){case"start":i.onStart(()=>s(t&&ct(t,"start",i)));break;case"done":i.onDone(()=>s(t&&ct(t,"done",i)));break;case"destroy":i.onDestroy(()=>s(t&&ct(t,"destroy",i)));break}}function ct(i,e,t){let s=t.totalTime,n=!!t.disabled,r=Rt(i.element,i.triggerName,i.fromState,i.toState,e||i.phaseName,s??i.totalTime,n),o=i._data;return o!=null&&(r._data=o),r}function Rt(i,e,t,s,n="",r=0,o){return{element:i,triggerName:e,fromState:t,toState:s,phaseName:n,totalTime:r,disabled:!!o}}function O(i,e,t){let s=i.get(e);return s||i.set(e,s=t),s}function $s(i){let e=i.indexOf(":"),t=i.substring(1,e),s=i.slice(e+1);return[t,s]}var sn=typeof document>"u"?null:document.documentElement;function kt(i){let e=i.parentNode||i.host||null;return e===sn?null:e}function nn(i){return i.substring(1,6)=="ebkit"}var le=null,zs=!1;function rn(i){le||(le=on()||{},zs=le.style?"WebkitAppearance"in le.style:!1);let e=!0;return le.style&&!nn(i)&&(e=i in le.style,!e&&zs&&(e="Webkit"+i.charAt(0).toUpperCase()+i.slice(1)in le.style)),e}function on(){return typeof document<"u"?document.body:null}function Ys(i,e){for(;e;){if(e===i)return!0;e=kt(e)}return!1}function Xs(i,e,t){if(t)return Array.from(i.querySelectorAll(e));let s=i.querySelector(e);return s?[s]:[]}var Ot=(()=>{class i{validateStyleProperty(t){return rn(t)}containsElement(t,s){return Ys(t,s)}getParentElement(t){return kt(t)}query(t,s,n){return Xs(t,s,n)}computeStyle(t,s,n){return n||""}animate(t,s,n,r,o,a=[],l){return new ee(n,r)}static{this.\u0275fac=function(s){return new(s||i)}}static{this.\u0275prov=W({token:i,factory:i.\u0275fac})}}return i})(),he=class{static{this.NOOP=new Ot}},de=class{};var an=1e3,Zs="{{",ln="}}",ei="ng-enter",pt="ng-leave",ze="ng-trigger",Ue=".ng-trigger",Bs="ng-animating",gt=".ng-animating";function G(i){if(typeof i=="number")return i;let e=i.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:yt(parseFloat(e[1]),e[2])}function yt(i,e){switch(e){case"s":return i*an;default:return i}}function Qe(i,e,t){return i.hasOwnProperty("duration")?i:cn(i,e,t)}function cn(i,e,t){let s=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,n,r=0,o="";if(typeof i=="string"){let a=i.match(s);if(a===null)return e.push(Ls(i)),{duration:0,delay:0,easing:""};n=yt(parseFloat(a[1]),a[2]);let l=a[3];l!=null&&(r=yt(parseFloat(l),a[4]));let c=a[5];c&&(o=c)}else n=i;if(!t){let a=!1,l=e.length;n<0&&(e.push(Ai()),a=!0),r<0&&(e.push(Mi()),a=!0),a&&e.splice(l,0,Ls(i))}return{duration:n,delay:r,easing:o}}function un(i){return i.length?i[0]instanceof Map?i:i.map(e=>new Map(Object.entries(e))):[]}function V(i,e,t){e.forEach((s,n)=>{let r=It(n);t&&!t.has(n)&&t.set(n,i.style[r]),i.style[r]=s})}function ue(i,e){e.forEach((t,s)=>{let n=It(s);i.style[n]=""})}function Te(i){return Array.isArray(i)?i.length==1?i[0]:Is(i):i}function hn(i,e,t){let s=e.params||{},n=ti(i);n.length&&n.forEach(r=>{s.hasOwnProperty(r)||t.push(Pi(r))})}var _t=new RegExp(`${Zs}\\s*(.+?)\\s*${ln}`,"g");function ti(i){let e=[];if(typeof i=="string"){let t;for(;t=_t.exec(i);)e.push(t[1]);_t.lastIndex=0}return e}function we(i,e,t){let s=`${i}`,n=s.replace(_t,(r,o)=>{let a=e[o];return a==null&&(t.push(Di(o)),a=""),a.toString()});return n==s?i:n}var dn=/-+([a-z0-9])/g;function It(i){return i.replace(dn,(...e)=>e[1].toUpperCase())}function fn(i,e){return i===0||e===0}function mn(i,e,t){if(t.size&&e.length){let s=e[0],n=[];if(t.forEach((r,o)=>{s.has(o)||n.push(o),s.set(o,r)}),n.length)for(let r=1;ro.set(a,Lt(i,a)))}}return e}function k(i,e,t){switch(e.type){case _.Trigger:return i.visitTrigger(e,t);case _.State:return i.visitState(e,t);case _.Transition:return i.visitTransition(e,t);case _.Sequence:return i.visitSequence(e,t);case _.Group:return i.visitGroup(e,t);case _.Animate:return i.visitAnimate(e,t);case _.Keyframes:return i.visitKeyframes(e,t);case _.Style:return i.visitStyle(e,t);case _.Reference:return i.visitReference(e,t);case _.AnimateChild:return i.visitAnimateChild(e,t);case _.AnimateRef:return i.visitAnimateRef(e,t);case _.Query:return i.visitQuery(e,t);case _.Stagger:return i.visitStagger(e,t);default:throw Ci(e.type)}}function Lt(i,e){return window.getComputedStyle(i)[e]}var pn=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"]),Ve=class extends de{normalizePropertyName(e,t){return It(e)}normalizeStyleValue(e,t,s,n){let r="",o=s.toString().trim();if(pn.has(t)&&s!==0&&s!=="0")if(typeof s=="number")r="px";else{let a=s.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&n.push(Ni(e,s))}return o+r}};var He="*";function gn(i,e){let t=[];return typeof i=="string"?i.split(/\s*,\s*/).forEach(s=>yn(s,t,e)):t.push(i),t}function yn(i,e,t){if(i[0]==":"){let l=_n(i,t);if(typeof l=="function"){e.push(l);return}i=l}let s=i.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(s==null||s.length<4)return t.push(qi(i)),e;let n=s[1],r=s[2],o=s[3];e.push(Ks(n,o));let a=n==He&&o==He;r[0]=="<"&&!a&&e.push(Ks(o,n))}function _n(i,e){switch(i){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 Be=new Set(["true","1"]),Ke=new Set(["false","0"]);function Ks(i,e){let t=Be.has(i)||Ke.has(i),s=Be.has(e)||Ke.has(e);return(n,r)=>{let o=i==He||i==n,a=e==He||e==r;return!o&&t&&typeof n=="boolean"&&(o=n?Be.has(i):Ke.has(i)),!a&&s&&typeof r=="boolean"&&(a=r?Be.has(e):Ke.has(e)),o&&a}}var si=":self",Sn=new RegExp(`s*${si}s*,?`,"g");function ii(i,e,t,s){return new St(i).build(e,t,s)}var js="",St=class{constructor(e){this._driver=e}build(e,t,s){let n=new Et(t);return this._resetContextStyleTimingState(n),k(this,Te(e),n)}_resetContextStyleTimingState(e){e.currentQuerySelector=js,e.collectedStyles=new Map,e.collectedStyles.set(js,new Map),e.currentTime=0}visitTrigger(e,t){let s=t.queryCount=0,n=t.depCount=0,r=[],o=[];return e.name.charAt(0)=="@"&&t.errors.push(Fi()),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),a.type==_.State){let l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(h=>{l.name=h,r.push(this.visitState(l,t))}),l.name=c}else if(a.type==_.Transition){let l=this.visitTransition(a,t);s+=l.queryCount,n+=l.depCount,o.push(l)}else t.errors.push(Ri())}),{type:_.Trigger,name:e.name,states:r,transitions:o,queryCount:s,depCount:n,options:null}}visitState(e,t){let s=this.visitStyle(e.styles,t),n=e.options&&e.options.params||null;if(s.containsDynamicStyles){let r=new Set,o=n||{};s.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{ti(l).forEach(c=>{o.hasOwnProperty(c)||r.add(c)})})}),r.size&&t.errors.push(ki(e.name,[...r.values()]))}return{type:_.State,name:e.name,style:s,options:n?{params:n}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;let s=k(this,Te(e.animation),t),n=gn(e.expr,t.errors);return{type:_.Transition,matchers:n,animation:s,queryCount:t.queryCount,depCount:t.depCount,options:ce(e.options)}}visitSequence(e,t){return{type:_.Sequence,steps:e.steps.map(s=>k(this,s,t)),options:ce(e.options)}}visitGroup(e,t){let s=t.currentTime,n=0,r=e.steps.map(o=>{t.currentTime=s;let a=k(this,o,t);return n=Math.max(n,t.currentTime),a});return t.currentTime=n,{type:_.Group,steps:r,options:ce(e.options)}}visitAnimate(e,t){let s=bn(e.timings,t.errors);t.currentAnimateTimings=s;let n,r=e.styles?e.styles:lt({});if(r.type==_.Keyframes)n=this.visitKeyframes(r,t);else{let o=e.styles,a=!1;if(!o){a=!0;let c={};s.easing&&(c.easing=s.easing),o=lt(c)}t.currentTime+=s.duration+s.delay;let l=this.visitStyle(o,t);l.isEmptyStep=a,n=l}return t.currentAnimateTimings=null,{type:_.Animate,timings:s,style:n,options:null}}visitStyle(e,t){let s=this._makeStyleAst(e,t);return this._validateStyleAst(s,t),s}_makeStyleAst(e,t){let s=[],n=Array.isArray(e.styles)?e.styles:[e.styles];for(let a of n)typeof a=="string"?a===Q?s.push(a):t.errors.push(Oi(a)):s.push(new Map(Object.entries(a)));let r=!1,o=null;return s.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(o=a.get("easing"),a.delete("easing")),!r)){for(let l of a.values())if(l.toString().indexOf(Zs)>=0){r=!0;break}}}),{type:_.Style,styles:s,easing:o,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){let s=t.currentAnimateTimings,n=t.currentTime,r=t.currentTime;s&&r>0&&(r-=s.duration+s.delay),e.styles.forEach(o=>{typeof o!="string"&&o.forEach((a,l)=>{let c=t.collectedStyles.get(t.currentQuerySelector),h=c.get(l),u=!0;h&&(r!=n&&r>=h.startTime&&n<=h.endTime&&(t.errors.push(Ii(l,h.startTime,h.endTime,r,n)),u=!1),r=h.startTime),u&&c.set(l,{startTime:r,endTime:n}),t.options&&hn(a,t.options,t.errors)})})}visitKeyframes(e,t){let s={type:_.Keyframes,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(Li()),s;let n=1,r=0,o=[],a=!1,l=!1,c=0,h=e.steps.map(w=>{let A=this._makeStyleAst(w,t),C=A.offset!=null?A.offset:Tn(A.styles),P=0;return C!=null&&(r++,P=A.offset=C),l=l||P<0||P>1,a=a||P0&&r{let C=S>0?A==y?1:S*A:o[A],P=C*T;t.currentTime=f+g.delay+P,g.duration=P,this._validateStyleAst(w,t),w.offset=C,s.styles.push(w)}),s}visitReference(e,t){return{type:_.Reference,animation:k(this,Te(e.animation),t),options:ce(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:_.AnimateChild,options:ce(e.options)}}visitAnimateRef(e,t){return{type:_.AnimateRef,animation:this.visitReference(e.animation,t),options:ce(e.options)}}visitQuery(e,t){let s=t.currentQuerySelector,n=e.options||{};t.queryCount++,t.currentQuery=e;let[r,o]=En(e.selector);t.currentQuerySelector=s.length?s+" "+r:r,O(t.collectedStyles,t.currentQuerySelector,new Map);let a=k(this,Te(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=s,{type:_.Query,selector:r,limit:n.limit||0,optional:!!n.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:ce(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push(Ki());let s=e.timings==="full"?{duration:0,delay:0,easing:"full"}:Qe(e.timings,t.errors,!0);return{type:_.Stagger,animation:k(this,Te(e.animation),t),timings:s,options:null}}};function En(i){let e=!!i.split(/\s*,\s*/).find(t=>t==si);return e&&(i=i.replace(Sn,"")),i=i.replace(/@\*/g,Ue).replace(/@\w+/g,t=>Ue+"-"+t.slice(1)).replace(/:animating/g,gt),[i,e]}function vn(i){return i?Ce({},i):null}var Et=class{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}};function Tn(i){if(typeof i=="string")return null;let e=null;if(Array.isArray(i))i.forEach(t=>{if(t instanceof Map&&t.has("offset")){let s=t;e=parseFloat(s.get("offset")),s.delete("offset")}});else if(i instanceof Map&&i.has("offset")){let t=i;e=parseFloat(t.get("offset")),t.delete("offset")}return e}function bn(i,e){if(i.hasOwnProperty("duration"))return i;if(typeof i=="number"){let r=Qe(i,e).duration;return ut(r,0,"")}let t=i;if(t.split(/\s+/).some(r=>r.charAt(0)=="{"&&r.charAt(1)=="{")){let r=ut(0,0,"");return r.dynamic=!0,r.strValue=t,r}let n=Qe(t,e);return ut(n.duration,n.delay,n.easing)}function ce(i){return i?(i=Ce({},i),i.params&&(i.params=vn(i.params))):i={},i}function ut(i,e,t){return{duration:i,delay:e,easing:t}}function $t(i,e,t,s,n,r,o=null,a=!1){return{type:1,element:i,keyframes:e,preStyleProps:t,postStyleProps:s,duration:n,delay:r,totalTime:n+r,easing:o,subTimeline:a}}var Ae=class{constructor(){this._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()}},wn=1,An=":enter",Mn=new RegExp(An,"g"),Pn=":leave",Dn=new RegExp(Pn,"g");function ni(i,e,t,s,n,r=new Map,o=new Map,a,l,c=[]){return new vt().buildKeyframes(i,e,t,s,n,r,o,a,l,c)}var vt=class{buildKeyframes(e,t,s,n,r,o,a,l,c,h=[]){c=c||new Ae;let u=new Tt(e,t,c,n,r,h,[]);u.options=l;let S=l.delay?G(l.delay):0;u.currentTimeline.delayNextStep(S),u.currentTimeline.setStyles([o],null,u.errors,l),k(this,s,u);let y=u.timelines.filter(f=>f.containsAnimation());if(y.length&&a.size){let f;for(let g=y.length-1;g>=0;g--){let T=y[g];if(T.element===t){f=T;break}}f&&!f.allowOnlyTimelineStyles()&&f.setStyles([a],null,u.errors,l)}return y.length?y.map(f=>f.buildKeyframes()):[$t(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 n=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(s,n,n.options);r!=o&&t.transformIntoNewTimeline(o)}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 n of e){let r=n?.delay;if(r){let o=typeof r=="number"?r:G(we(r,n?.params??{},t.errors));s.delayNextStep(o)}}}_visitSubInstructions(e,t,s){let r=t.currentTimeline.currentTime,o=s.duration!=null?G(s.duration):null,a=s.delay!=null?G(s.delay):null;return o!==0&&e.forEach(l=>{let c=t.appendInstructionToTimeline(l,o,a);r=Math.max(r,c.duration+c.delay)}),r}visitReference(e,t){t.updateOptions(e.options,!0),k(this,e.animation,t),t.previousNode=e}visitSequence(e,t){let s=t.subContextCount,n=t,r=e.options;if(r&&(r.params||r.delay)&&(n=t.createSubContext(r),n.transformIntoNewTimeline(),r.delay!=null)){n.previousNode.type==_.Style&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=Ge);let o=G(r.delay);n.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>k(this,o,n)),n.currentTimeline.applyStylesToKeyframe(),n.subContextCount>s&&n.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){let s=[],n=t.currentTimeline.currentTime,r=e.options&&e.options.delay?G(e.options.delay):0;e.steps.forEach(o=>{let a=t.createSubContext(e.options);r&&a.delayNextStep(r),k(this,o,a),n=Math.max(n,a.currentTimeline.currentTime),s.push(a.currentTimeline)}),s.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(n),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){let s=e.strValue,n=t.params?we(s,t.params,t.errors):s;return Qe(n,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),n=t.currentTimeline;s.delay&&(t.incrementTime(s.delay),n.snapshotCurrentStyles());let r=e.style;r.type==_.Keyframes?this.visitKeyframes(r,t):(t.incrementTime(s.duration),this.visitStyle(r,t),n.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){let s=t.currentTimeline,n=t.currentAnimateTimings;!n&&s.hasCurrentStyleProperties()&&s.forwardFrame();let r=n&&n.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,n=t.currentTimeline.duration,r=s.duration,a=t.createSubContext().currentTimeline;a.easing=s.easing,e.styles.forEach(l=>{let c=l.offset||0;a.forwardTime(c*r),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(n+r),t.previousNode=e}visitQuery(e,t){let s=t.currentTimeline.currentTime,n=e.options||{},r=n.delay?G(n.delay):0;r&&(t.previousNode.type===_.Style||s==0&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Ge);let o=s,a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!n.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,h)=>{t.currentQueryIndex=h;let u=t.createSubContext(e.options,c);r&&u.delayNextStep(r),c===t.element&&(l=u.currentTimeline),k(this,e.animation,u),u.currentTimeline.applyStylesToKeyframe();let S=u.currentTimeline.currentTime;o=Math.max(o,S)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){let s=t.parentContext,n=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),l=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=s.currentStaggerTime;break}let h=t.currentTimeline;l&&h.delayNextStep(l);let u=h.currentTime;k(this,e.animation,t),t.previousNode=e,s.currentStaggerTime=n.currentTime-u+(n.startTime-s.currentTimeline.startTime)}},Ge={},Tt=class i{constructor(e,t,s,n,r,o,a,l){this._driver=e,this.element=t,this.subInstructions=s,this._enterClassName=n,this._leaveClassName=r,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Ge,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new xe(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;let s=e,n=this.options;s.duration!=null&&(n.duration=G(s.duration)),s.delay!=null&&(n.delay=G(s.delay));let r=s.params;if(r){let o=n.params;o||(o=this.options.params={}),Object.keys(r).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=we(r[a],o,this.errors))})}}_copyOptions(){let e={};if(this.options){let t=this.options.params;if(t){let s=e.params={};Object.keys(t).forEach(n=>{s[n]=t[n]})}}return e}createSubContext(e=null,t,s){let n=t||this.element,r=new i(this._driver,n,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(n,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=Ge,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,s){let n={duration:t??e.duration,delay:this.currentTimeline.currentTime+(s??0)+e.delay,easing:""},r=new bt(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,n,e.stretchStartingKeyframe);return this.timelines.push(r),n}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,s,n,r,o){let a=[];if(n&&a.push(this.element),e.length>0){e=e.replace(Mn,"."+this._enterClassName),e=e.replace(Dn,"."+this._leaveClassName);let l=s!=1,c=this._driver.query(this.element,e,l);s!==0&&(c=s<0?c.slice(c.length+s,c.length):c.slice(0,s)),a.push(...c)}return!r&&a.length==0&&o.push(ji(t)),a}},xe=class i{constructor(e,t,s,n){this._driver=e,this.element=t,this.startTime=s,this._elementTimelineStylesLookup=n,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,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 i(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+=wn,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||Q),this._currentKeyframe.set(t,Q);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,s,n){t&&this._previousKeyframe.set("easing",t);let r=n&&n.params||{},o=Cn(e,this._globalTimelineStyles);for(let[a,l]of o){let c=we(l,r,s);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Q),this._updateStyle(a,c)}}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 n=this._styleSummary.get(s);(!n||t.time>n.time)&&this._updateStyle(s,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,t=new Set,s=this._keyframes.size===1&&this.duration===0,n=[];this._keyframes.forEach((a,l)=>{let c=new Map([...this._backFill,...a]);c.forEach((h,u)=>{h===$e?e.add(u):h===Q&&t.add(u)}),s||c.set("offset",l/this.duration),n.push(c)});let r=[...e.values()],o=[...t.values()];if(s){let a=n[0],l=new Map(a);a.set("offset",0),l.set("offset",1),n=[a,l]}return $t(this.element,n,r,o,this.duration,this.startTime,this.easing,!1)}},bt=class extends xe{constructor(e,t,s,n,r,o,a=!1){super(e,t,o.delay),this.keyframes=s,this.preStyleProps=n,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:s,easing:n}=this.timings;if(this._stretchStartingKeyframe&&t){let r=[],o=s+t,a=t/o,l=new Map(e[0]);l.set("offset",0),r.push(l);let c=new Map(e[0]);c.set("offset",qs(a)),r.push(c);let h=e.length-1;for(let u=1;u<=h;u++){let S=new Map(e[u]),y=S.get("offset"),f=t+y*s;S.set("offset",qs(f/o)),r.push(S)}s=o,t=0,n="",e=r}return $t(this.element,e,this.preStyleProps,this.postStyleProps,s,t,n,!0)}};function qs(i,e=3){let t=Math.pow(10,e-1);return Math.round(i*t)/t}function Cn(i,e){let t=new Map,s;return i.forEach(n=>{if(n==="*"){s??=e.keys();for(let r of s)t.set(r,Q)}else for(let[r,o]of n)t.set(r,o)}),t}function Us(i,e,t,s,n,r,o,a,l,c,h,u,S){return{type:0,element:i,triggerName:e,isRemovalTransition:n,fromState:t,fromStyles:r,toState:s,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:h,totalTime:u,errors:S}}var ht={},We=class{constructor(e,t,s){this._triggerName=e,this.ast=t,this._stateStyles=s}match(e,t,s,n){return Nn(this.ast.matchers,e,t,s,n)}buildStyles(e,t,s){let n=this._stateStyles.get("*");return e!==void 0&&(n=this._stateStyles.get(e?.toString())||n),n?n.buildStyles(t,s):new Map}build(e,t,s,n,r,o,a,l,c,h){let u=[],S=this.ast.options&&this.ast.options.params||ht,y=a&&a.params||ht,f=this.buildStyles(s,y,u),g=l&&l.params||ht,T=this.buildStyles(n,g,u),w=new Set,A=new Map,C=new Map,P=n==="void",fe={params:ri(g,S),delay:this.ast.options?.delay},B=h?[]:ni(e,t,this.ast.animation,r,o,f,T,fe,c,u),N=0;return B.forEach(F=>{N=Math.max(F.duration+F.delay,N)}),u.length?Us(t,this._triggerName,s,n,P,f,T,[],[],A,C,N,u):(B.forEach(F=>{let se=F.element,me=O(A,se,new Set);F.preStyleProps.forEach(ie=>me.add(ie));let zt=O(C,se,new Set);F.postStyleProps.forEach(ie=>zt.add(ie)),se!==t&&w.add(se)}),Us(t,this._triggerName,s,n,P,f,T,B,[...w.values()],A,C,N))}};function Nn(i,e,t,s,n){return i.some(r=>r(e,t,s,n))}function ri(i,e){let t=Ce({},e);return Object.entries(i).forEach(([s,n])=>{n!=null&&(t[s]=n)}),t}var wt=class{constructor(e,t,s){this.styles=e,this.defaultParams=t,this.normalizer=s}buildStyles(e,t){let s=new Map,n=ri(e,this.defaultParams);return this.styles.styles.forEach(r=>{typeof r!="string"&&r.forEach((o,a)=>{o&&(o=we(o,n,t));let l=this.normalizer.normalizePropertyName(a,t);o=this.normalizer.normalizeStyleValue(a,l,o,t),s.set(a,o)})}),s}};function Fn(i,e,t){return new At(i,e,t)}var At=class{constructor(e,t,s){this.name=e,this.ast=t,this._normalizer=s,this.transitionFactories=[],this.states=new Map,t.states.forEach(n=>{let r=n.options&&n.options.params||{};this.states.set(n.name,new wt(n.style,r,s))}),Qs(this.states,"true","1"),Qs(this.states,"false","0"),t.transitions.forEach(n=>{this.transitionFactories.push(new We(e,n,this.states))}),this.fallbackTransition=Rn(e,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,s,n){return this.transitionFactories.find(o=>o.match(e,t,s,n))||null}matchStyles(e,t,s){return this.fallbackTransition.buildStyles(e,t,s)}};function Rn(i,e,t){let s=[(o,a)=>!0],n={type:_.Sequence,steps:[],options:null},r={type:_.Transition,animation:n,matchers:s,options:null,queryCount:0,depCount:0};return new We(i,r,e)}function Qs(i,e,t){i.has(e)?i.has(t)||i.set(t,i.get(e)):i.has(t)&&i.set(e,i.get(t))}var kn=new Ae,Mt=class{constructor(e,t,s){this.bodyNode=e,this._driver=t,this._normalizer=s,this._animations=new Map,this._playersById=new Map,this.players=[]}register(e,t){let s=[],n=[],r=ii(this._driver,t,s,n);if(s.length)throw Hi(s);n.length&&void 0,this._animations.set(e,r)}_buildPlayer(e,t,s){let n=e.element,r=Js(this._normalizer,e.keyframes,t,s);return this._driver.animate(n,r,e.duration,e.delay,e.easing,[],!0)}create(e,t,s={}){let n=[],r=this._animations.get(e),o,a=new Map;if(r?(o=ni(this._driver,t,r,ei,pt,new Map,new Map,s,kn,n),o.forEach(h=>{let u=O(a,h.element,new Map);h.postStyleProps.forEach(S=>u.set(S,null))})):(n.push(Gi()),o=[]),n.length)throw xi(n);a.forEach((h,u)=>{h.forEach((S,y)=>{h.set(y,this._driver.computeStyle(u,y,Q))})});let l=o.map(h=>{let u=a.get(h.element);return this._buildPlayer(h,new Map,u)}),c=te(l);return this._playersById.set(e,c),c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}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 Wi(e);return t}listen(e,t,s,n){let r=Rt(t,"","","");return Ft(this._getPlayer(e),s,r,n),()=>{}}command(e,t,s,n){if(s=="register"){this.register(e,n[0]);return}if(s=="create"){let o=n[0]||{};this.create(e,t,o);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(n[0]));break;case"destroy":this.destroy(e);break}}},Vs="ng-animate-queued",On=".ng-animate-queued",dt="ng-animate-disabled",In=".ng-animate-disabled",Ln="ng-star-inserted",$n=".ng-star-inserted",zn=[],oi={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Bn={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},$="__ng_removed",Me=class{get params(){return this.options.params}constructor(e,t=""){this.namespaceId=t;let s=e&&e.hasOwnProperty("value"),n=s?e.value:e;if(this.value=jn(n),s){let r=e,{value:o}=r,a=qt(r,["value"]);this.options=a}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(n=>{s[n]==null&&(s[n]=t[n])})}}},be="void",ft=new Me(be),Pt=class{constructor(e,t,s){this.id=e,this.hostElement=t,this._engine=s,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,L(t,this._hostClassName)}listen(e,t,s,n){if(!this._triggers.has(t))throw Ji(s,t);if(s==null||s.length==0)throw Yi(t);if(!qn(s))throw Xi(s,t);let r=O(this._elementListeners,e,[]),o={name:t,phase:s,callback:n};r.push(o);let a=O(this._engine.statesByElement,e,new Map);return a.has(t)||(L(e,ze),L(e,ze+"-"+t),a.set(t,ft)),()=>{this._engine.afterFlush(()=>{let l=r.indexOf(o);l>=0&&r.splice(l,1),this._triggers.has(t)||a.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 Zi(e);return t}trigger(e,t,s,n=!0){let r=this._getTrigger(t),o=new Pe(this.id,t,e),a=this._engine.statesByElement.get(e);a||(L(e,ze),L(e,ze+"-"+t),this._engine.statesByElement.set(e,a=new Map));let l=a.get(t),c=new Me(s,this.id);if(!(s&&s.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(t,c),l||(l=ft),!(c.value===be)&&l.value===c.value){if(!Vn(l.params,c.params)){let g=[],T=r.matchStyles(l.value,l.params,g),w=r.matchStyles(c.value,c.params,g);g.length?this._engine.reportError(g):this._engine.afterFlush(()=>{ue(e,T),V(e,w)})}return}let S=O(this._engine.playersByElement,e,[]);S.forEach(g=>{g.namespaceId==this.id&&g.triggerName==t&&g.queued&&g.destroy()});let y=r.matchTransition(l.value,c.value,e,c.params),f=!1;if(!y){if(!n)return;y=r.fallbackTransition,f=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:y,fromState:l,toState:c,player:o,isFallbackTransition:f}),f||(L(e,Vs),o.onStart(()=>{Se(e,Vs)})),o.onDone(()=>{let g=this.players.indexOf(o);g>=0&&this.players.splice(g,1);let T=this._engine.playersByElement.get(e);if(T){let w=T.indexOf(o);w>=0&&T.splice(w,1)}}),this.players.push(o),S.push(o),o}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(n=>n.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,Ue,!0);s.forEach(n=>{if(n[$])return;let r=this._engine.fetchNamespacesByElement(n);r.size?r.forEach(o=>o.triggerLeaveAnimation(n,t,!1,!0)):this.clearElementCache(n)}),this._engine.afterFlushAnimationsDone(()=>s.forEach(n=>this.clearElementCache(n)))}triggerLeaveAnimation(e,t,s,n){let r=this._engine.statesByElement.get(e),o=new Map;if(r){let a=[];if(r.forEach((l,c)=>{if(o.set(c,l.value),this._triggers.has(c)){let h=this.trigger(e,c,be,n);h&&a.push(h)}}),a.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,o),s&&te(a).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 n=new Set;t.forEach(r=>{let o=r.name;if(n.has(o))return;n.add(o);let l=this._triggers.get(o).fallbackTransition,c=s.get(o)||ft,h=new Me(be),u=new Pe(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:h,player:u,isFallbackTransition:!0})})}}removeNode(e,t){let s=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let n=!1;if(s.totalAnimations){let r=s.players.length?s.playersByQueriedElement.get(e):[];if(r&&r.length)n=!0;else{let o=e;for(;o=o.parentNode;)if(s.statesByElement.get(o)){n=!0;break}}}if(this.prepareLeaveAnimationListeners(e),n)s.markElementAsRemoved(this.id,e,!1,t);else{let r=e[$];(!r||r===oi)&&(s.afterFlush(()=>this.clearElementCache(e)),s.destroyInnerAnimations(e),s._onRemovalComplete(e,t))}}insertNode(e,t){L(e,this._hostClassName)}drainQueuedTransitions(e){let t=[];return this._queue.forEach(s=>{let n=s.player;if(n.destroyed)return;let r=s.element,o=this._elementListeners.get(r);o&&o.forEach(a=>{if(a.name==s.triggerName){let l=Rt(r,s.triggerName,s.fromState.value,s.toState.value);l._data=e,Ft(s.player,a.phase,l,a.callback)}}),n.markedForDestroy?this._engine.afterFlush(()=>{n.destroy()}):t.push(s)}),this._queue=[],t.sort((s,n)=>{let r=s.transition.ast.depCount,o=n.transition.ast.depCount;return r==0||o==0?r-o:this._engine.driver.containsElement(s.element,n.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},Dt=class{_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}constructor(e,t,s){this.bodyNode=e,this.driver=t,this._normalizer=s,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(n,r)=>{}}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 Pt(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,n=this.namespacesByHostElement;if(s.length-1>=0){let o=!1,a=this.driver.getParentElement(t);for(;a;){let l=n.get(a);if(l){let c=s.indexOf(l);s.splice(c+1,0,e),o=!0;break}a=this.driver.getParentElement(a)}o||s.unshift(e)}else s.push(e);return n.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 n=this._namespaceLookup[e];n&&n.register(t,s)&&this.totalAnimations++}destroy(e,t){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let s=this._fetchNamespace(e);this.namespacesByHostElement.delete(s.hostElement);let n=this._namespaceList.indexOf(s);n>=0&&this._namespaceList.splice(n,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 n of s.values())if(n.namespaceId){let r=this._fetchNamespace(n.namespaceId);r&&t.add(r)}}return t}trigger(e,t,s,n){if(je(t)){let r=this._fetchNamespace(e);if(r)return r.trigger(t,s,n),!0}return!1}insertNode(e,t,s,n){if(!je(t))return;let r=t[$];if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;let o=this.collectedLeaveElements.indexOf(t);o>=0&&this.collectedLeaveElements.splice(o,1)}if(e){let o=this._fetchNamespace(e);o&&o.insertNode(t,s)}n&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),L(e,dt)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),Se(e,dt))}removeNode(e,t,s){if(je(t)){let n=e?this._fetchNamespace(e):null;n?n.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,n,r){this.collectedLeaveElements.push(t),t[$]={namespaceId:e,setForRemoval:n,hasAnimation:s,removedBeforeQueried:!1,previousTriggersValues:r}}listen(e,t,s,n,r){return je(t)?this._fetchNamespace(e).listen(t,s,n,r):()=>{}}_buildInstruction(e,t,s,n,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,s,n,e.fromState.options,e.toState.options,t,r)}destroyInnerAnimations(e){let t=this.driver.query(e,Ue,!0);t.forEach(s=>this.destroyActiveAnimationsForElement(s)),this.playersByQueriedElement.size!=0&&(t=this.driver.query(e,gt,!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 te(this.players).onDone(()=>e());e()})}processLeaveNode(e){let t=e[$];if(t&&t.setForRemoval){if(e[$]=oi,t.namespaceId){this.destroyInnerAnimations(e);let s=this._fetchNamespace(t.namespaceId);s&&s.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(dt)&&this.markElementAsDisabled(e,!1),this.driver.query(e,In,!0).forEach(s=>{this.markElementAsDisabled(s,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((s,n)=>this._balanceNamespaceList(s,n)),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?te(t).onDone(()=>{s.forEach(n=>n())}):s.forEach(n=>n())}}reportError(e){throw en(e)}_flushAnimations(e,t){let s=new Ae,n=[],r=new Map,o=[],a=new Map,l=new Map,c=new Map,h=new Set;this.disabledNodes.forEach(d=>{h.add(d);let m=this.driver.query(d,On,!0);for(let p=0;p{let p=ei+g++;f.set(m,p),d.forEach(E=>L(E,p))});let T=[],w=new Set,A=new Set;for(let d=0;dw.add(E)):A.add(m))}let C=new Map,P=xs(S,Array.from(w));P.forEach((d,m)=>{let p=pt+g++;C.set(m,p),d.forEach(E=>L(E,p))}),e.push(()=>{y.forEach((d,m)=>{let p=f.get(m);d.forEach(E=>Se(E,p))}),P.forEach((d,m)=>{let p=C.get(m);d.forEach(E=>Se(E,p))}),T.forEach(d=>{this.processLeaveNode(d)})});let fe=[],B=[];for(let d=this._namespaceList.length-1;d>=0;d--)this._namespaceList[d].drainQueuedTransitions(t).forEach(p=>{let E=p.player,M=p.element;if(fe.push(E),this.collectedEnterElements.length){let D=M[$];if(D&&D.setForMove){if(D.previousTriggersValues&&D.previousTriggersValues.has(p.triggerName)){let ne=D.previousTriggersValues.get(p.triggerName),I=this.statesByElement.get(p.element);if(I&&I.has(p.triggerName)){let De=I.get(p.triggerName);De.value=ne,I.set(p.triggerName,De)}}E.destroy();return}}let K=!u||!this.driver.containsElement(u,M),R=C.get(M),x=f.get(M),b=this._buildInstruction(p,s,x,R,K);if(b.errors&&b.errors.length){B.push(b);return}if(K){E.onStart(()=>ue(M,b.fromStyles)),E.onDestroy(()=>V(M,b.toStyles)),n.push(E);return}if(p.isFallbackTransition){E.onStart(()=>ue(M,b.fromStyles)),E.onDestroy(()=>V(M,b.toStyles)),n.push(E);return}let jt=[];b.timelines.forEach(D=>{D.stretchStartingKeyframe=!0,this.disabledNodes.has(D.element)||jt.push(D)}),b.timelines=jt,s.append(M,b.timelines);let Ei={instruction:b,player:E,element:M};o.push(Ei),b.queriedElements.forEach(D=>O(a,D,[]).push(E)),b.preStyleProps.forEach((D,ne)=>{if(D.size){let I=l.get(ne);I||l.set(ne,I=new Set),D.forEach((De,it)=>I.add(it))}}),b.postStyleProps.forEach((D,ne)=>{let I=c.get(ne);I||c.set(ne,I=new Set),D.forEach((De,it)=>I.add(it))})});if(B.length){let d=[];B.forEach(m=>{d.push(tn(m.triggerName,m.errors))}),fe.forEach(m=>m.destroy()),this.reportError(d)}let N=new Map,F=new Map;o.forEach(d=>{let m=d.element;s.has(m)&&(F.set(m,m),this._beforeAnimationBuild(d.player.namespaceId,d.instruction,N))}),n.forEach(d=>{let m=d.element;this._getPreviousPlayers(m,!1,d.namespaceId,d.triggerName,null).forEach(E=>{O(N,m,[]).push(E),E.destroy()})});let se=T.filter(d=>Ws(d,l,c)),me=new Map;Gs(me,this.driver,A,c,Q).forEach(d=>{Ws(d,l,c)&&se.push(d)});let ie=new Map;y.forEach((d,m)=>{Gs(ie,this.driver,new Set(d),l,$e)}),se.forEach(d=>{let m=me.get(d),p=ie.get(d);me.set(d,new Map([...m?.entries()??[],...p?.entries()??[]]))});let st=[],Bt=[],Kt={};o.forEach(d=>{let{element:m,player:p,instruction:E}=d;if(s.has(m)){if(h.has(m)){p.onDestroy(()=>V(m,E.toStyles)),p.disabled=!0,p.overrideTotalTime(E.totalTime),n.push(p);return}let M=Kt;if(F.size>1){let R=m,x=[];for(;R=R.parentNode;){let b=F.get(R);if(b){M=b;break}x.push(R)}x.forEach(b=>F.set(b,M))}let K=this._buildAnimation(p.namespaceId,E,N,r,ie,me);if(p.setRealPlayer(K),M===Kt)st.push(p);else{let R=this.playersByElement.get(M);R&&R.length&&(p.parentPlayer=te(R)),n.push(p)}}else ue(m,E.fromStyles),p.onDestroy(()=>V(m,E.toStyles)),Bt.push(p),h.has(m)&&n.push(p)}),Bt.forEach(d=>{let m=r.get(d.element);if(m&&m.length){let p=te(m);d.setRealPlayer(p)}}),n.forEach(d=>{d.parentPlayer?d.syncPlayerEvents(d.parentPlayer):d.destroy()});for(let d=0;d!K.destroyed);M.length?Un(this,m,M):this.processLeaveNode(m)}return T.length=0,st.forEach(d=>{this.players.push(d),d.onDone(()=>{d.destroy();let m=this.players.indexOf(d);this.players.splice(m,1)}),d.play()}),st}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,s,n,r){let o=[];if(t){let a=this.playersByQueriedElement.get(e);a&&(o=a)}else{let a=this.playersByElement.get(e);if(a){let l=!r||r==be;a.forEach(c=>{c.queued||!l&&c.triggerName!=n||o.push(c)})}}return(s||n)&&(o=o.filter(a=>!(s&&s!=a.namespaceId||n&&n!=a.triggerName))),o}_beforeAnimationBuild(e,t,s){let n=t.triggerName,r=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:n;for(let l of t.timelines){let c=l.element,h=c!==r,u=O(s,c,[]);this._getPreviousPlayers(c,h,o,a,t.toState).forEach(y=>{let f=y.getRealPlayer();f.beforeDestroy&&f.beforeDestroy(),y.destroy(),u.push(y)})}ue(r,t.fromStyles)}_buildAnimation(e,t,s,n,r,o){let a=t.triggerName,l=t.element,c=[],h=new Set,u=new Set,S=t.timelines.map(f=>{let g=f.element;h.add(g);let T=g[$];if(T&&T.removedBeforeQueried)return new ee(f.duration,f.delay);let w=g!==l,A=Qn((s.get(g)||zn).map(N=>N.getRealPlayer())).filter(N=>{let F=N;return F.element?F.element===g:!1}),C=r.get(g),P=o.get(g),fe=Js(this._normalizer,f.keyframes,C,P),B=this._buildPlayer(f,fe,A);if(f.subTimeline&&n&&u.add(g),w){let N=new Pe(e,a,g);N.setRealPlayer(B),c.push(N)}return B});c.forEach(f=>{O(this.playersByQueriedElement,f.element,[]).push(f),f.onDone(()=>Kn(this.playersByQueriedElement,f.element,f))}),h.forEach(f=>L(f,Bs));let y=te(S);return y.onDestroy(()=>{h.forEach(f=>Se(f,Bs)),V(l,t.toStyles)}),u.forEach(f=>{O(n,f,[]).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 ee(e.duration,e.delay)}},Pe=class{constructor(e,t,s){this.namespaceId=e,this.triggerName=t,this.element=s,this._player=new ee,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,s)=>{t.forEach(n=>Ft(e,s,void 0,n))}),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){O(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 Kn(i,e,t){let s=i.get(e);if(s){if(s.length){let n=s.indexOf(t);s.splice(n,1)}s.length==0&&i.delete(e)}return s}function jn(i){return i??null}function je(i){return i&&i.nodeType===1}function qn(i){return i=="start"||i=="done"}function Hs(i,e){let t=i.style.display;return i.style.display=e??"none",t}function Gs(i,e,t,s,n){let r=[];t.forEach(l=>r.push(Hs(l)));let o=[];s.forEach((l,c)=>{let h=new Map;l.forEach(u=>{let S=e.computeStyle(c,u,n);h.set(u,S),(!S||S.length==0)&&(c[$]=Bn,o.push(c))}),i.set(c,h)});let a=0;return t.forEach(l=>Hs(l,r[a++])),o}function xs(i,e){let t=new Map;if(i.forEach(a=>t.set(a,[])),e.length==0)return t;let s=1,n=new Set(e),r=new Map;function o(a){if(!a)return s;let l=r.get(a);if(l)return l;let c=a.parentNode;return t.has(c)?l=c:n.has(c)?l=s:l=o(c),r.set(a,l),l}return e.forEach(a=>{let l=o(a);l!==s&&t.get(l).push(a)}),t}function L(i,e){i.classList?.add(e)}function Se(i,e){i.classList?.remove(e)}function Un(i,e,t){te(t).onDone(()=>i.processLeaveNode(e))}function Qn(i){let e=[];return ai(i,e),e}function ai(i,e){for(let t=0;tn.add(r)):e.set(i,s),t.delete(i),!0}var Ee=class{constructor(e,t,s){this._driver=t,this._normalizer=s,this._triggerCache={},this.onRemovalComplete=(n,r)=>{},this._transitionEngine=new Dt(e.body,t,s),this._timelineEngine=new Mt(e.body,t,s),this._transitionEngine.onRemovalComplete=(n,r)=>this.onRemovalComplete(n,r)}registerTrigger(e,t,s,n,r){let o=e+"-"+n,a=this._triggerCache[o];if(!a){let l=[],c=[],h=ii(this._driver,r,l,c);if(l.length)throw Qi(n,l);c.length&&void 0,a=Fn(n,h,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,n,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,s,n){this._transitionEngine.insertNode(e,t,s,n)}onRemove(e,t,s){this._transitionEngine.removeNode(e,t,s)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,s,n){if(s.charAt(0)=="@"){let[r,o]=$s(s),a=n;this._timelineEngine.command(r,t,o,a)}else this._transitionEngine.trigger(e,t,s,n)}listen(e,t,s,n,r){if(s.charAt(0)=="@"){let[o,a]=$s(s);return this._timelineEngine.listen(o,t,a,r)}return this._transitionEngine.listen(e,t,s,n,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 Hn(i,e){let t=null,s=null;return Array.isArray(e)&&e.length?(t=mt(e[0]),e.length>1&&(s=mt(e[e.length-1]))):e instanceof Map&&(t=mt(e)),t||s?new Ct(i,t,s):null}var Ct=class i{static{this.initialStylesByElement=new WeakMap}constructor(e,t,s){this._element=e,this._startStyles=t,this._endStyles=s,this._state=0;let n=i.initialStylesByElement.get(e);n||i.initialStylesByElement.set(e,n=new Map),this._initialStyles=n}start(){this._state<1&&(this._startStyles&&V(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(V(this._element,this._initialStyles),this._endStyles&&(V(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(i.initialStylesByElement.delete(this._element),this._startStyles&&(ue(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(ue(this._element,this._endStyles),this._endStyles=null),V(this._element,this._initialStyles),this._state=3)}};function mt(i){let e=null;return i.forEach((t,s)=>{Gn(s)&&(e=e||new Map,e.set(s,t))}),e}function Gn(i){return i==="display"||i==="position"}var Je=class{constructor(e,t,s,n){this.element=e,this.keyframes=t,this.options=s,this._specialStyles=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,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._initialized=!0;let e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:new Map;let t=()=>this._onFinish();this.domPlayer.addEventListener("finish",t),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",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){return e.animate(this._convertKeyframesToObject(t),s)}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(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),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&&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===void 0&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((s,n)=>{n!=="offset"&&e.set(n,this._finished?s:Lt(this.element,n))}),this.currentSnapshot=e}triggerCallback(e){let t=e==="start"?this._onStartFns:this._onDoneFns;t.forEach(s=>s()),t.length=0}},Ye=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,t){return Ys(e,t)}getParentElement(e){return kt(e)}query(e,t,s){return Xs(e,t,s)}computeStyle(e,t,s){return Lt(e,t)}animate(e,t,s,n,r,o=[]){let a=n==0?"both":"forwards",l={duration:s,delay:n,fill:a};r&&(l.easing=r);let c=new Map,h=o.filter(y=>y instanceof Je);fn(s,n)&&h.forEach(y=>{y.currentSnapshot.forEach((f,g)=>c.set(g,f))});let u=un(t).map(y=>new Map(y));u=mn(e,u,c);let S=Hn(e,u);return new Je(e,u,l,S)}};var qe="@",li="@.disabled",Xe=class{constructor(e,t,s,n){this.namespaceId=e,this.delegate=t,this.engine=s,this._onDestroy=n,this.\u0275type=0}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,n=!0){this.delegate.insertBefore(e,t,s),this.engine.onInsert(this.namespaceId,t,e,n)}removeChild(e,t,s){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,n){this.delegate.setAttribute(e,t,s,n)}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,n){this.delegate.setStyle(e,t,s,n)}removeStyle(e,t,s){this.delegate.removeStyle(e,t,s)}setProperty(e,t,s){t.charAt(0)==qe&&t==li?this.disableAnimations(e,!!s):this.delegate.setProperty(e,t,s)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,s){return this.delegate.listen(e,t,s)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}},Nt=class extends Xe{constructor(e,t,s,n,r){super(t,s,n,r),this.factory=e,this.namespaceId=t}setProperty(e,t,s){t.charAt(0)==qe?t.charAt(1)=="."&&t==li?(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){if(t.charAt(0)==qe){let n=xn(e),r=t.slice(1),o="";return r.charAt(0)!=qe&&([r,o]=Wn(r)),this.engine.listen(this.namespaceId,n,r,o,a=>{let l=a._data||-1;this.factory.scheduleListenerCallback(l,s,a)})}return this.delegate.listen(e,t,s)}};function xn(i){switch(i){case"body":return document.body;case"document":return document;case"window":return window;default:return i}}function Wn(i){let e=i.indexOf("."),t=i.substring(0,e),s=i.slice(e+1);return[t,s]}var Ze=class{constructor(e,t,s){this.delegate=e,this.engine=t,this._zone=s,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,t.onRemovalComplete=(n,r)=>{r?.removeChild(null,n)}}createRenderer(e,t){let s="",n=this.delegate.createRenderer(e,t);if(!e||!t?.data?.animation){let c=this._rendererCache,h=c.get(n);if(!h){let u=()=>c.delete(n);h=new Xe(s,n,this.engine,u),c.set(n,h)}return h}let r=t.id,o=t.id+"-"+this._currentId;this._currentId++,this.engine.register(o,e);let a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(r,o,e,c.name,c)};return t.data.animation.forEach(a),new Nt(this,o,n,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 n=this._animationCallbacksBuffer;n.length==0&&queueMicrotask(()=>{this._zone.run(()=>{n.forEach(r=>{let[o,a]=r;o(a)}),this._animationCallbacksBuffer=[]})}),n.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()}};var Yn=(()=>{class i extends Ee{constructor(t,s,n){super(t,s,n)}ngOnDestroy(){this.flush()}static{this.\u0275fac=function(s){return new(s||i)(j(os),j(he),j(de))}}static{this.\u0275prov=W({token:i,factory:i.\u0275fac})}}return i})();function Xn(){return new Ve}function Zn(i,e,t){return new Ze(i,e,t)}var ci=[{provide:de,useFactory:Xn},{provide:Ee,useClass:Yn},{provide:Jt,useFactory:Zn,deps:[ds,Ee,Ne]}],er=[{provide:he,useFactory:()=>new Ye},{provide:nt,useValue:"BrowserAnimations"},...ci],Lr=[{provide:he,useClass:Ot},{provide:nt,useValue:"NoopAnimations"},...ci];function ui(){return Yt("NgEagerAnimations"),[...er]}var et=class{http;prefix;suffix;constructor(e,t="/assets/i18n/",s=".json"){this.http=e,this.prefix=t,this.suffix=s}getTranslation(e){return this.http.get(`${this.prefix}${e}${this.suffix}`)}};function tr(i,e){if(i&1&&(U(0,"li")(1,"h2")(2,"a",1),oe(3),pe(4,"translate"),Y()()()),i&2){let t,s=e.$implicit;q(2),Fe("routerLink","/"+s.path),q(),Oe(" ",ge(4,2,((t=s.name)!==null&&t!==void 0?t:s.path)+".title")," ")}}var di=(()=>{class i{constructor(){this.sections=[{path:"dashboard"},{path:"presence-control"},{path:"open-absences"},{path:"edit-absences"},{path:"evaluate-absences"},{path:"events"},{path:"events/current",name:"events.current"},{path:"my-absences"},{path:"my-profile"},{path:"my-grades"},{path:"my-settings"}]}static{this.\u0275fac=function(s){return new(s||i)}}static{this.\u0275cmp=J({type:i,selectors:[["bkd-home"]],standalone:!0,features:[X],decls:3,vars:0,consts:[[1,"mt-3"],[3,"routerLink"]],template:function(s,n){s&1&&(U(0,"ul",0),Re(1,tr,5,4,"li",null,ts),Y()),s&2&&(q(),ke(n.sections))},dependencies:[ps,_e,Le],changeDetection:0})}}return i})();var fi=(()=>{class i{constructor(){}static{this.\u0275fac=function(s){return new(s||i)}}static{this.\u0275cmp=J({type:i,selectors:[["bkd-unauthenticated"]],standalone:!0,features:[X],decls:4,vars:3,consts:[[1,"bkd-container"],[1,"alert","alert-danger","my-3"]],template:function(s,n){s&1&&(U(0,"div",0)(1,"div",1),oe(2),pe(3,"translate"),Y()()),s&2&&(q(2),Oe(" ",ge(3,1,"unauthenticated.message")," "))},dependencies:[_e,Le],encapsulation:2})}}return i})();var tt=(()=>{class i{constructor(t){this.storage=t}get isAuthenticated(){return!!this.accessToken}get accessToken(){return this.storage.getAccessToken()}static{this.\u0275fac=function(s){return new(s||i)(j(ws))}}static{this.\u0275prov=W({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function z(){return()=>{let i=H(tt),e=H(Ie);return i.isAuthenticated?!0:(e.navigate(["/unauthenticated"]),!1)}}var mi=[{path:"dashboard",canActivate:[z()],loadChildren:()=>import("./chunk-IT3HIVA4.js").then(i=>i.DASHBOARD_ROUTES)},{path:"presence-control",canActivate:[z()],loadChildren:()=>import("./chunk-O7HCD6PL.js").then(i=>i.PRESENCE_CONTROL_ROUTES)},{path:"open-absences",canActivate:[z()],loadChildren:()=>import("./chunk-UP6DLYGU.js").then(i=>i.OPEN_ABSENCES_ROUTES)},{path:"edit-absences",canActivate:[z()],loadChildren:()=>import("./chunk-HRBF4EGW.js").then(i=>i.EDIT_ABSENCES_ROUTES)},{path:"evaluate-absences",canActivate:[z()],loadChildren:()=>import("./chunk-GLN2SJKI.js").then(i=>i.EVALUATE_ABSENCES_ROUTES)},{path:"events",canActivate:[z()],loadChildren:()=>import("./chunk-RHGC3K7J.js").then(i=>i.EVENTS_ROUTES)},{path:"my-absences",canActivate:[z()],loadChildren:()=>import("./chunk-GOKKCCVM.js").then(i=>i.MY_ABSENCES_ROUTES)},{path:"my-profile",canActivate:[z()],loadChildren:()=>import("./chunk-JNG2NCBS.js").then(i=>i.MY_PROFILE_ROUTES)},{path:"my-grades",canActivate:[z()],loadChildren:()=>import("./chunk-Y4GZONU4.js").then(i=>i.MY_GRADES_ROUTES)},{path:"my-settings",canActivate:[z()],loadChildren:()=>import("./chunk-2WXLI2TD.js").then(i=>i.MY_SETTINGS_ROUTES)},{path:"unauthenticated",component:fi},{path:"",component:di,pathMatch:"full"}];function pi(){return(i,e)=>{let t=H(tt),s=H(Z);if(i.url.startsWith(s.apiUrl)&&t.accessToken){let n=i.headers.set("Authorization",`Bearer ${t.accessToken}`);return e(i.clone({headers:n}))}return e(i)}}function gi(){return(i,e)=>{let t=H(Z);if(!i.headers.has("X-Role-Restriction")&&t.headerRoleRestriction){let s=sr();if(s&&t.headerRoleRestriction[s]){let n=i.headers.set("X-Role-Restriction",t.headerRoleRestriction[s]);return e(i.clone({headers:n}))}}return e(i)}}function sr(){let i=H(Ie),e=i.url?Ps(i.url):null;return e?Es(e):null}function yi(){return[{provide:Wt,useClass:ir}]}var ir=(()=>{class i{constructor(t,s,n){this.ngZone=t,this.translate=s,this.toastService=n}handleError(t){console.error(String(t)),t instanceof ls||this.notifyError()}notifyError(){this.ngZone.run(()=>{this.toastService.error(this.translate.instant("global.app-errors.exception-message"),this.translate.instant("global.app-errors.exception-title"))})}static{this.\u0275fac=function(s){return new(s||i)(j(Ne),j(bs),j(ye))}}static{this.\u0275prov=W({token:i,factory:i.\u0275fac})}}return i})();function nr(i,e){return new et(i,`${e.scriptsAndAssetsPath}/assets/locales/`,".json")}var _i={providers:[gs(mi,ys()),us(hs([Ds(),pi(),gi()])),ui(),yi(),Ht(_e.forRoot({loader:{provide:Ts,useFactory:nr,deps:[cs,Z]}})),As()]};var Si={production:!0};Si.production&&void 0;at(Cs);at(Ns);fs(Os,_i).catch(i=>console.error(i)); +import{b as Ds}from"./chunk-VMOOBKG2.js";import{c as Ps}from"./chunk-HLEZ4C3Q.js";import{a as As,b as Ms}from"./chunk-5ZOEDVCI.js";import{t as Ss}from"./chunk-7TIAFCYF.js";import{a as ye}from"./chunk-LXT7D3OU.js";import{$ as H,$a as Y,Ac as Ie,B as Qt,Bc as ps,Ca as Jt,Dc as gs,Eb as X,Ec as ys,Fa as Yt,Gd as Es,Kb as pe,La as Xt,Lb as ge,Nd as vs,Pd as Ts,Qa as Fe,Qd as bs,Rd as Le,Sa as Zt,Sd as _e,Td as ws,V as v,Va as es,Wa as ts,X as W,Xa as ss,Ya as Re,Yb as os,Z as Vt,Za as ke,_ as j,_a as U,a as Ce,aa as J,ab as is,ac as at,c as qt,dd as _s,ea as Ht,eb as ns,ec as as,ed as Z,gb as rs,hb as rt,ia as Gt,ja as xt,k as Ut,mc as ls,nc as cs,oc as us,pc as hs,qc as ds,ra as Ne,rb as oe,rc as fs,sa as Wt,sb as ot,tb as Oe,wa as nt,ya as q,za as re,zc as ms}from"./chunk-TTJNYD2F.js";function vi(i){let e=i,t=Math.floor(Math.abs(i)),s=i.toString().replace(/^[^.]*\.?/,"").length;return t===1&&s===0?1:5}var Cs=["de-CH",[["AM","PM"],void 0,void 0],void 0,[["S","M","D","M","D","F","S"],["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],["So","Mo","Di","Mi","Do","Fr","Sa"]],[["S","M","D","M","D","F","S"],["So","Mo","Di","Mi","Do","Fr","Sa"],["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]],[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan.","Feb.","M\xE4rz","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]],[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]],[["v. Chr.","n. Chr."],void 0,void 0],1,[6,0],["dd.MM.yy","dd.MM.y","d. MMMM y","EEEE, d. MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH:mm:ss zzzz"],["{1}, {0}",void 0,"{1} 'um' {0}",void 0],[".","\u2019",";","%","+","-","E","\xB7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4\xA0#,##0.00;\xA4-#,##0.00","#E0"],"CHF","CHF","Schweizer Franken",{ATS:["\xF6S"],AUD:["AU$","$"],BGM:["BGK"],BGO:["BGJ"],BYN:[void 0,"\u0440."],CUC:[void 0,"Cub$"],DEM:["DM"],EUR:[],FKP:[void 0,"Fl\xA3"],GHS:[void 0,"\u20B5"],GNF:[void 0,"F.G."],KMF:[void 0,"FC"],PHP:[void 0,"\u20B1"],RON:[void 0,"L"],RUR:[void 0,"\u0440."],RWF:[void 0,"F.Rw"],SYP:[],THB:["\u0E3F"],TWD:["NT$"],XXX:[],ZMW:[void 0,"K"]},"ltr",vi];function Ti(i){let e=i,t=Math.floor(Math.abs(i)),s=i.toString().replace(/^[^.]*\.?/,"").length,n=parseInt(i.toString().replace(/^[^e]*(e([-+]?\d+))?/,"$2"))||0;return t===0||t===1?1:n===0&&t!==0&&t%1e6===0&&s===0||!(n>=0&&n<=5)?4:5}var Ns=["fr-CH",[["AM","PM"],void 0,void 0],void 0,[["D","L","M","M","J","V","S"],["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],["di","lu","ma","me","je","ve","sa"]],void 0,[["J","F","M","A","M","J","J","A","S","O","N","D"],["janv.","f\xE9vr.","mars","avr.","mai","juin","juil.","ao\xFBt","sept.","oct.","nov.","d\xE9c."],["janvier","f\xE9vrier","mars","avril","mai","juin","juillet","ao\xFBt","septembre","octobre","novembre","d\xE9cembre"]],void 0,[["av. J.-C.","ap. J.-C."],void 0,["avant J\xE9sus-Christ","apr\xE8s J\xE9sus-Christ"]],1,[6,0],["dd.MM.yy","d MMM y","d MMMM y","EEEE, d MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH.mm:ss 'h' zzzz"],["{1} {0}","{1}, {0}","{1} '\xE0' {0}",void 0],[",","\u202F",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":","."],["#,##0.###","#,##0%","#,##0.00\xA0\xA4","#E0"],"CHF","CHF","franc suisse",{ARS:["$AR","$"],AUD:["$AU","$"],BEF:["FB"],BMD:["$BM","$"],BND:["$BN","$"],BYN:[void 0,"\u0440."],BZD:["$BZ","$"],CAD:["$CA","$"],CLP:["$CL","$"],CNY:[void 0,"\xA5"],COP:["$CO","$"],CYP:["\xA3CY"],EGP:[void 0,"\xA3E"],FJD:["$FJ","$"],FKP:["\xA3FK","\xA3"],FRF:["F"],GBP:["\xA3GB","\xA3"],GIP:["\xA3GI","\xA3"],HKD:[void 0,"$"],IEP:["\xA3IE"],ILP:["\xA3IL"],ITL:["\u20A4IT"],JPY:[void 0,"\xA5"],KMF:[void 0,"FC"],LBP:["\xA3LB","\xA3L"],MTP:["\xA3MT"],MXN:["$MX","$"],NAD:["$NA","$"],NIO:[void 0,"$C"],NZD:["$NZ","$"],PHP:[void 0,"\u20B1"],RHD:["$RH"],RON:[void 0,"L"],RWF:[void 0,"FR"],SBD:["$SB","$"],SGD:["$SG","$"],SRD:["$SR","$"],TOP:[void 0,"$T"],TTD:["$TT","$"],TWD:[void 0,"NT$"],USD:["$US","$"],UYU:["$UY","$"],WST:["$WS"],XCD:[void 0,"$"],XPF:["FCFP"],ZMW:[void 0,"Kw"]},"ltr",Ti];function bi(i,e){if(i&1&&(U(0,"i",3),oe(1),Y()),i&2){let t=rt().$implicit;q(),ot(t.icon)}}function wi(i,e){if(i&1){let t=ns();U(0,"ngb-toast",1),rs("hidden",function(){let n=Gt(t).$implicit,r=rt();return xt(r.toastService.remove(n))}),U(1,"div",2),Xt(2,bi,2,1,"i",3),U(3,"span"),oe(4),Y()()()}if(i&2){let t=e.$implicit;Zt(t.classname),Fe("header",t.header||"")("autohide",!0),q(2),es(t.icon?2:-1),q(2),ot(t.message)}}var Rs=(()=>{class i{constructor(t){this.toastService=t}static{this.\u0275fac=function(s){return new(s||i)(re(ye))}}static{this.\u0275cmp=J({type:i,selectors:[["bkd-toast"]],standalone:!0,features:[X],decls:3,vars:2,consts:[[3,"header","class","autohide"],[3,"hidden","header","autohide"],[1,"d-flex","gap-2"],[1,"material-icons"]],template:function(s,n){s&1&&(Re(0,wi,5,6,"ngb-toast",0,ss),pe(2,"async")),s&2&&ke(ge(2,0,n.toastService.toasts$))},dependencies:[Ss,as],styles:["[_nghost-%COMP%]{position:fixed;top:0;right:0;margin:.5em;z-index:1200}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{font-size:medium}"]})}}return i})();var ks=new Vt("Navigator API",{providedIn:"root",factory:()=>navigator});var Os=(()=>{class i{constructor(t,s,n,r){this.toastService=s,this.settings=n,this.navigator=r,t.initialize(),this.checkSettings()}checkSettings(){vs(_s)(this.settings).pipe(Qt(t=>(console.error(String(t)),this.toastService.error("Please check the contents of the settings.js file (see Console output for more details).","Invalid Settings"),Ut))).subscribe()}static{this.\u0275fac=function(s){return new(s||i)(re(Ms),re(ye),re(Z),re(ks))}}static{this.\u0275cmp=J({type:i,selectors:[["bkd-app"]],standalone:!0,features:[X],decls:2,vars:0,consts:[["aria-live","polite","aria-atomic","true"]],template:function(s,n){s&1&&is(0,"bkd-toast",0)(1,"router-outlet")},dependencies:[Rs,ms],styles:["[_nghost-%COMP%]{width:100%}"],changeDetection:0})}}return i})();var _=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(_||{}),Q="*";function Is(i,e=null){return{type:_.Sequence,steps:i,options:e}}function lt(i){return{type:_.Style,styles:i,offset:null}}var ee=class{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,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}},ve=class{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,s=0,n=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==r&&this._onFinish()}),o.onDestroy(()=>{++s==r&&this._onDestroy()}),o.onStart(()=>{++n==r&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.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 n=s.totalTime?Math.min(1,t/s.totalTime):1;s.setPosition(n)})}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}},$e="!";function Ls(i){return new v(3e3,!1)}function Ai(){return new v(3100,!1)}function Mi(){return new v(3101,!1)}function Pi(i){return new v(3001,!1)}function Di(i){return new v(3003,!1)}function Ci(i){return new v(3004,!1)}function Ni(i,e){return new v(3005,!1)}function Fi(){return new v(3006,!1)}function Ri(){return new v(3007,!1)}function ki(i,e){return new v(3008,!1)}function Oi(i){return new v(3002,!1)}function Ii(i,e,t,s,n){return new v(3010,!1)}function Li(){return new v(3011,!1)}function $i(){return new v(3012,!1)}function zi(){return new v(3200,!1)}function Bi(){return new v(3202,!1)}function Ki(){return new v(3013,!1)}function ji(i){return new v(3014,!1)}function qi(i){return new v(3015,!1)}function Ui(i){return new v(3016,!1)}function Qi(i,e){return new v(3404,!1)}function Vi(i){return new v(3502,!1)}function Hi(i){return new v(3503,!1)}function Gi(){return new v(3300,!1)}function xi(i){return new v(3504,!1)}function Wi(i){return new v(3301,!1)}function Ji(i,e){return new v(3302,!1)}function Yi(i){return new v(3303,!1)}function Xi(i,e){return new v(3400,!1)}function Zi(i){return new v(3401,!1)}function en(i){return new v(3402,!1)}function tn(i,e){return new v(3505,!1)}function te(i){switch(i.length){case 0:return new ee;case 1:return i[0];default:return new ve(i)}}function Js(i,e,t=new Map,s=new Map){let n=[],r=[],o=-1,a=null;if(e.forEach(l=>{let c=l.get("offset"),h=c==o,u=h&&a||new Map;l.forEach((S,y)=>{let f=y,g=S;if(y!=="offset")switch(f=i.normalizePropertyName(f,n),g){case $e:g=t.get(y);break;case Q:g=s.get(y);break;default:g=i.normalizeStyleValue(y,f,g,n);break}u.set(f,g)}),h||r.push(u),a=u,o=c}),n.length)throw Vi(n);return r}function Ft(i,e,t,s){switch(e){case"start":i.onStart(()=>s(t&&ct(t,"start",i)));break;case"done":i.onDone(()=>s(t&&ct(t,"done",i)));break;case"destroy":i.onDestroy(()=>s(t&&ct(t,"destroy",i)));break}}function ct(i,e,t){let s=t.totalTime,n=!!t.disabled,r=Rt(i.element,i.triggerName,i.fromState,i.toState,e||i.phaseName,s??i.totalTime,n),o=i._data;return o!=null&&(r._data=o),r}function Rt(i,e,t,s,n="",r=0,o){return{element:i,triggerName:e,fromState:t,toState:s,phaseName:n,totalTime:r,disabled:!!o}}function O(i,e,t){let s=i.get(e);return s||i.set(e,s=t),s}function $s(i){let e=i.indexOf(":"),t=i.substring(1,e),s=i.slice(e+1);return[t,s]}var sn=typeof document>"u"?null:document.documentElement;function kt(i){let e=i.parentNode||i.host||null;return e===sn?null:e}function nn(i){return i.substring(1,6)=="ebkit"}var le=null,zs=!1;function rn(i){le||(le=on()||{},zs=le.style?"WebkitAppearance"in le.style:!1);let e=!0;return le.style&&!nn(i)&&(e=i in le.style,!e&&zs&&(e="Webkit"+i.charAt(0).toUpperCase()+i.slice(1)in le.style)),e}function on(){return typeof document<"u"?document.body:null}function Ys(i,e){for(;e;){if(e===i)return!0;e=kt(e)}return!1}function Xs(i,e,t){if(t)return Array.from(i.querySelectorAll(e));let s=i.querySelector(e);return s?[s]:[]}var Ot=(()=>{class i{validateStyleProperty(t){return rn(t)}containsElement(t,s){return Ys(t,s)}getParentElement(t){return kt(t)}query(t,s,n){return Xs(t,s,n)}computeStyle(t,s,n){return n||""}animate(t,s,n,r,o,a=[],l){return new ee(n,r)}static{this.\u0275fac=function(s){return new(s||i)}}static{this.\u0275prov=W({token:i,factory:i.\u0275fac})}}return i})(),he=class{static{this.NOOP=new Ot}},de=class{};var an=1e3,Zs="{{",ln="}}",ei="ng-enter",pt="ng-leave",ze="ng-trigger",Ue=".ng-trigger",Bs="ng-animating",gt=".ng-animating";function G(i){if(typeof i=="number")return i;let e=i.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:yt(parseFloat(e[1]),e[2])}function yt(i,e){switch(e){case"s":return i*an;default:return i}}function Qe(i,e,t){return i.hasOwnProperty("duration")?i:cn(i,e,t)}function cn(i,e,t){let s=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,n,r=0,o="";if(typeof i=="string"){let a=i.match(s);if(a===null)return e.push(Ls(i)),{duration:0,delay:0,easing:""};n=yt(parseFloat(a[1]),a[2]);let l=a[3];l!=null&&(r=yt(parseFloat(l),a[4]));let c=a[5];c&&(o=c)}else n=i;if(!t){let a=!1,l=e.length;n<0&&(e.push(Ai()),a=!0),r<0&&(e.push(Mi()),a=!0),a&&e.splice(l,0,Ls(i))}return{duration:n,delay:r,easing:o}}function un(i){return i.length?i[0]instanceof Map?i:i.map(e=>new Map(Object.entries(e))):[]}function V(i,e,t){e.forEach((s,n)=>{let r=It(n);t&&!t.has(n)&&t.set(n,i.style[r]),i.style[r]=s})}function ue(i,e){e.forEach((t,s)=>{let n=It(s);i.style[n]=""})}function Te(i){return Array.isArray(i)?i.length==1?i[0]:Is(i):i}function hn(i,e,t){let s=e.params||{},n=ti(i);n.length&&n.forEach(r=>{s.hasOwnProperty(r)||t.push(Pi(r))})}var _t=new RegExp(`${Zs}\\s*(.+?)\\s*${ln}`,"g");function ti(i){let e=[];if(typeof i=="string"){let t;for(;t=_t.exec(i);)e.push(t[1]);_t.lastIndex=0}return e}function we(i,e,t){let s=`${i}`,n=s.replace(_t,(r,o)=>{let a=e[o];return a==null&&(t.push(Di(o)),a=""),a.toString()});return n==s?i:n}var dn=/-+([a-z0-9])/g;function It(i){return i.replace(dn,(...e)=>e[1].toUpperCase())}function fn(i,e){return i===0||e===0}function mn(i,e,t){if(t.size&&e.length){let s=e[0],n=[];if(t.forEach((r,o)=>{s.has(o)||n.push(o),s.set(o,r)}),n.length)for(let r=1;ro.set(a,Lt(i,a)))}}return e}function k(i,e,t){switch(e.type){case _.Trigger:return i.visitTrigger(e,t);case _.State:return i.visitState(e,t);case _.Transition:return i.visitTransition(e,t);case _.Sequence:return i.visitSequence(e,t);case _.Group:return i.visitGroup(e,t);case _.Animate:return i.visitAnimate(e,t);case _.Keyframes:return i.visitKeyframes(e,t);case _.Style:return i.visitStyle(e,t);case _.Reference:return i.visitReference(e,t);case _.AnimateChild:return i.visitAnimateChild(e,t);case _.AnimateRef:return i.visitAnimateRef(e,t);case _.Query:return i.visitQuery(e,t);case _.Stagger:return i.visitStagger(e,t);default:throw Ci(e.type)}}function Lt(i,e){return window.getComputedStyle(i)[e]}var pn=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"]),Ve=class extends de{normalizePropertyName(e,t){return It(e)}normalizeStyleValue(e,t,s,n){let r="",o=s.toString().trim();if(pn.has(t)&&s!==0&&s!=="0")if(typeof s=="number")r="px";else{let a=s.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&n.push(Ni(e,s))}return o+r}};var He="*";function gn(i,e){let t=[];return typeof i=="string"?i.split(/\s*,\s*/).forEach(s=>yn(s,t,e)):t.push(i),t}function yn(i,e,t){if(i[0]==":"){let l=_n(i,t);if(typeof l=="function"){e.push(l);return}i=l}let s=i.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(s==null||s.length<4)return t.push(qi(i)),e;let n=s[1],r=s[2],o=s[3];e.push(Ks(n,o));let a=n==He&&o==He;r[0]=="<"&&!a&&e.push(Ks(o,n))}function _n(i,e){switch(i){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 Be=new Set(["true","1"]),Ke=new Set(["false","0"]);function Ks(i,e){let t=Be.has(i)||Ke.has(i),s=Be.has(e)||Ke.has(e);return(n,r)=>{let o=i==He||i==n,a=e==He||e==r;return!o&&t&&typeof n=="boolean"&&(o=n?Be.has(i):Ke.has(i)),!a&&s&&typeof r=="boolean"&&(a=r?Be.has(e):Ke.has(e)),o&&a}}var si=":self",Sn=new RegExp(`s*${si}s*,?`,"g");function ii(i,e,t,s){return new St(i).build(e,t,s)}var js="",St=class{constructor(e){this._driver=e}build(e,t,s){let n=new Et(t);return this._resetContextStyleTimingState(n),k(this,Te(e),n)}_resetContextStyleTimingState(e){e.currentQuerySelector=js,e.collectedStyles=new Map,e.collectedStyles.set(js,new Map),e.currentTime=0}visitTrigger(e,t){let s=t.queryCount=0,n=t.depCount=0,r=[],o=[];return e.name.charAt(0)=="@"&&t.errors.push(Fi()),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),a.type==_.State){let l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(h=>{l.name=h,r.push(this.visitState(l,t))}),l.name=c}else if(a.type==_.Transition){let l=this.visitTransition(a,t);s+=l.queryCount,n+=l.depCount,o.push(l)}else t.errors.push(Ri())}),{type:_.Trigger,name:e.name,states:r,transitions:o,queryCount:s,depCount:n,options:null}}visitState(e,t){let s=this.visitStyle(e.styles,t),n=e.options&&e.options.params||null;if(s.containsDynamicStyles){let r=new Set,o=n||{};s.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{ti(l).forEach(c=>{o.hasOwnProperty(c)||r.add(c)})})}),r.size&&t.errors.push(ki(e.name,[...r.values()]))}return{type:_.State,name:e.name,style:s,options:n?{params:n}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;let s=k(this,Te(e.animation),t),n=gn(e.expr,t.errors);return{type:_.Transition,matchers:n,animation:s,queryCount:t.queryCount,depCount:t.depCount,options:ce(e.options)}}visitSequence(e,t){return{type:_.Sequence,steps:e.steps.map(s=>k(this,s,t)),options:ce(e.options)}}visitGroup(e,t){let s=t.currentTime,n=0,r=e.steps.map(o=>{t.currentTime=s;let a=k(this,o,t);return n=Math.max(n,t.currentTime),a});return t.currentTime=n,{type:_.Group,steps:r,options:ce(e.options)}}visitAnimate(e,t){let s=bn(e.timings,t.errors);t.currentAnimateTimings=s;let n,r=e.styles?e.styles:lt({});if(r.type==_.Keyframes)n=this.visitKeyframes(r,t);else{let o=e.styles,a=!1;if(!o){a=!0;let c={};s.easing&&(c.easing=s.easing),o=lt(c)}t.currentTime+=s.duration+s.delay;let l=this.visitStyle(o,t);l.isEmptyStep=a,n=l}return t.currentAnimateTimings=null,{type:_.Animate,timings:s,style:n,options:null}}visitStyle(e,t){let s=this._makeStyleAst(e,t);return this._validateStyleAst(s,t),s}_makeStyleAst(e,t){let s=[],n=Array.isArray(e.styles)?e.styles:[e.styles];for(let a of n)typeof a=="string"?a===Q?s.push(a):t.errors.push(Oi(a)):s.push(new Map(Object.entries(a)));let r=!1,o=null;return s.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(o=a.get("easing"),a.delete("easing")),!r)){for(let l of a.values())if(l.toString().indexOf(Zs)>=0){r=!0;break}}}),{type:_.Style,styles:s,easing:o,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){let s=t.currentAnimateTimings,n=t.currentTime,r=t.currentTime;s&&r>0&&(r-=s.duration+s.delay),e.styles.forEach(o=>{typeof o!="string"&&o.forEach((a,l)=>{let c=t.collectedStyles.get(t.currentQuerySelector),h=c.get(l),u=!0;h&&(r!=n&&r>=h.startTime&&n<=h.endTime&&(t.errors.push(Ii(l,h.startTime,h.endTime,r,n)),u=!1),r=h.startTime),u&&c.set(l,{startTime:r,endTime:n}),t.options&&hn(a,t.options,t.errors)})})}visitKeyframes(e,t){let s={type:_.Keyframes,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(Li()),s;let n=1,r=0,o=[],a=!1,l=!1,c=0,h=e.steps.map(w=>{let A=this._makeStyleAst(w,t),C=A.offset!=null?A.offset:Tn(A.styles),P=0;return C!=null&&(r++,P=A.offset=C),l=l||P<0||P>1,a=a||P0&&r{let C=S>0?A==y?1:S*A:o[A],P=C*T;t.currentTime=f+g.delay+P,g.duration=P,this._validateStyleAst(w,t),w.offset=C,s.styles.push(w)}),s}visitReference(e,t){return{type:_.Reference,animation:k(this,Te(e.animation),t),options:ce(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:_.AnimateChild,options:ce(e.options)}}visitAnimateRef(e,t){return{type:_.AnimateRef,animation:this.visitReference(e.animation,t),options:ce(e.options)}}visitQuery(e,t){let s=t.currentQuerySelector,n=e.options||{};t.queryCount++,t.currentQuery=e;let[r,o]=En(e.selector);t.currentQuerySelector=s.length?s+" "+r:r,O(t.collectedStyles,t.currentQuerySelector,new Map);let a=k(this,Te(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=s,{type:_.Query,selector:r,limit:n.limit||0,optional:!!n.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:ce(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push(Ki());let s=e.timings==="full"?{duration:0,delay:0,easing:"full"}:Qe(e.timings,t.errors,!0);return{type:_.Stagger,animation:k(this,Te(e.animation),t),timings:s,options:null}}};function En(i){let e=!!i.split(/\s*,\s*/).find(t=>t==si);return e&&(i=i.replace(Sn,"")),i=i.replace(/@\*/g,Ue).replace(/@\w+/g,t=>Ue+"-"+t.slice(1)).replace(/:animating/g,gt),[i,e]}function vn(i){return i?Ce({},i):null}var Et=class{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}};function Tn(i){if(typeof i=="string")return null;let e=null;if(Array.isArray(i))i.forEach(t=>{if(t instanceof Map&&t.has("offset")){let s=t;e=parseFloat(s.get("offset")),s.delete("offset")}});else if(i instanceof Map&&i.has("offset")){let t=i;e=parseFloat(t.get("offset")),t.delete("offset")}return e}function bn(i,e){if(i.hasOwnProperty("duration"))return i;if(typeof i=="number"){let r=Qe(i,e).duration;return ut(r,0,"")}let t=i;if(t.split(/\s+/).some(r=>r.charAt(0)=="{"&&r.charAt(1)=="{")){let r=ut(0,0,"");return r.dynamic=!0,r.strValue=t,r}let n=Qe(t,e);return ut(n.duration,n.delay,n.easing)}function ce(i){return i?(i=Ce({},i),i.params&&(i.params=vn(i.params))):i={},i}function ut(i,e,t){return{duration:i,delay:e,easing:t}}function $t(i,e,t,s,n,r,o=null,a=!1){return{type:1,element:i,keyframes:e,preStyleProps:t,postStyleProps:s,duration:n,delay:r,totalTime:n+r,easing:o,subTimeline:a}}var Ae=class{constructor(){this._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()}},wn=1,An=":enter",Mn=new RegExp(An,"g"),Pn=":leave",Dn=new RegExp(Pn,"g");function ni(i,e,t,s,n,r=new Map,o=new Map,a,l,c=[]){return new vt().buildKeyframes(i,e,t,s,n,r,o,a,l,c)}var vt=class{buildKeyframes(e,t,s,n,r,o,a,l,c,h=[]){c=c||new Ae;let u=new Tt(e,t,c,n,r,h,[]);u.options=l;let S=l.delay?G(l.delay):0;u.currentTimeline.delayNextStep(S),u.currentTimeline.setStyles([o],null,u.errors,l),k(this,s,u);let y=u.timelines.filter(f=>f.containsAnimation());if(y.length&&a.size){let f;for(let g=y.length-1;g>=0;g--){let T=y[g];if(T.element===t){f=T;break}}f&&!f.allowOnlyTimelineStyles()&&f.setStyles([a],null,u.errors,l)}return y.length?y.map(f=>f.buildKeyframes()):[$t(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 n=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(s,n,n.options);r!=o&&t.transformIntoNewTimeline(o)}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 n of e){let r=n?.delay;if(r){let o=typeof r=="number"?r:G(we(r,n?.params??{},t.errors));s.delayNextStep(o)}}}_visitSubInstructions(e,t,s){let r=t.currentTimeline.currentTime,o=s.duration!=null?G(s.duration):null,a=s.delay!=null?G(s.delay):null;return o!==0&&e.forEach(l=>{let c=t.appendInstructionToTimeline(l,o,a);r=Math.max(r,c.duration+c.delay)}),r}visitReference(e,t){t.updateOptions(e.options,!0),k(this,e.animation,t),t.previousNode=e}visitSequence(e,t){let s=t.subContextCount,n=t,r=e.options;if(r&&(r.params||r.delay)&&(n=t.createSubContext(r),n.transformIntoNewTimeline(),r.delay!=null)){n.previousNode.type==_.Style&&(n.currentTimeline.snapshotCurrentStyles(),n.previousNode=Ge);let o=G(r.delay);n.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>k(this,o,n)),n.currentTimeline.applyStylesToKeyframe(),n.subContextCount>s&&n.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){let s=[],n=t.currentTimeline.currentTime,r=e.options&&e.options.delay?G(e.options.delay):0;e.steps.forEach(o=>{let a=t.createSubContext(e.options);r&&a.delayNextStep(r),k(this,o,a),n=Math.max(n,a.currentTimeline.currentTime),s.push(a.currentTimeline)}),s.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(n),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){let s=e.strValue,n=t.params?we(s,t.params,t.errors):s;return Qe(n,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),n=t.currentTimeline;s.delay&&(t.incrementTime(s.delay),n.snapshotCurrentStyles());let r=e.style;r.type==_.Keyframes?this.visitKeyframes(r,t):(t.incrementTime(s.duration),this.visitStyle(r,t),n.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){let s=t.currentTimeline,n=t.currentAnimateTimings;!n&&s.hasCurrentStyleProperties()&&s.forwardFrame();let r=n&&n.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,n=t.currentTimeline.duration,r=s.duration,a=t.createSubContext().currentTimeline;a.easing=s.easing,e.styles.forEach(l=>{let c=l.offset||0;a.forwardTime(c*r),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(n+r),t.previousNode=e}visitQuery(e,t){let s=t.currentTimeline.currentTime,n=e.options||{},r=n.delay?G(n.delay):0;r&&(t.previousNode.type===_.Style||s==0&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Ge);let o=s,a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!n.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,h)=>{t.currentQueryIndex=h;let u=t.createSubContext(e.options,c);r&&u.delayNextStep(r),c===t.element&&(l=u.currentTimeline),k(this,e.animation,u),u.currentTimeline.applyStylesToKeyframe();let S=u.currentTimeline.currentTime;o=Math.max(o,S)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){let s=t.parentContext,n=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),l=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=s.currentStaggerTime;break}let h=t.currentTimeline;l&&h.delayNextStep(l);let u=h.currentTime;k(this,e.animation,t),t.previousNode=e,s.currentStaggerTime=n.currentTime-u+(n.startTime-s.currentTimeline.startTime)}},Ge={},Tt=class i{constructor(e,t,s,n,r,o,a,l){this._driver=e,this.element=t,this.subInstructions=s,this._enterClassName=n,this._leaveClassName=r,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Ge,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new xe(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;let s=e,n=this.options;s.duration!=null&&(n.duration=G(s.duration)),s.delay!=null&&(n.delay=G(s.delay));let r=s.params;if(r){let o=n.params;o||(o=this.options.params={}),Object.keys(r).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=we(r[a],o,this.errors))})}}_copyOptions(){let e={};if(this.options){let t=this.options.params;if(t){let s=e.params={};Object.keys(t).forEach(n=>{s[n]=t[n]})}}return e}createSubContext(e=null,t,s){let n=t||this.element,r=new i(this._driver,n,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(n,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=Ge,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,s){let n={duration:t??e.duration,delay:this.currentTimeline.currentTime+(s??0)+e.delay,easing:""},r=new bt(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,n,e.stretchStartingKeyframe);return this.timelines.push(r),n}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,s,n,r,o){let a=[];if(n&&a.push(this.element),e.length>0){e=e.replace(Mn,"."+this._enterClassName),e=e.replace(Dn,"."+this._leaveClassName);let l=s!=1,c=this._driver.query(this.element,e,l);s!==0&&(c=s<0?c.slice(c.length+s,c.length):c.slice(0,s)),a.push(...c)}return!r&&a.length==0&&o.push(ji(t)),a}},xe=class i{constructor(e,t,s,n){this._driver=e,this.element=t,this.startTime=s,this._elementTimelineStylesLookup=n,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,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 i(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+=wn,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||Q),this._currentKeyframe.set(t,Q);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,s,n){t&&this._previousKeyframe.set("easing",t);let r=n&&n.params||{},o=Cn(e,this._globalTimelineStyles);for(let[a,l]of o){let c=we(l,r,s);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Q),this._updateStyle(a,c)}}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 n=this._styleSummary.get(s);(!n||t.time>n.time)&&this._updateStyle(s,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,t=new Set,s=this._keyframes.size===1&&this.duration===0,n=[];this._keyframes.forEach((a,l)=>{let c=new Map([...this._backFill,...a]);c.forEach((h,u)=>{h===$e?e.add(u):h===Q&&t.add(u)}),s||c.set("offset",l/this.duration),n.push(c)});let r=[...e.values()],o=[...t.values()];if(s){let a=n[0],l=new Map(a);a.set("offset",0),l.set("offset",1),n=[a,l]}return $t(this.element,n,r,o,this.duration,this.startTime,this.easing,!1)}},bt=class extends xe{constructor(e,t,s,n,r,o,a=!1){super(e,t,o.delay),this.keyframes=s,this.preStyleProps=n,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:s,easing:n}=this.timings;if(this._stretchStartingKeyframe&&t){let r=[],o=s+t,a=t/o,l=new Map(e[0]);l.set("offset",0),r.push(l);let c=new Map(e[0]);c.set("offset",qs(a)),r.push(c);let h=e.length-1;for(let u=1;u<=h;u++){let S=new Map(e[u]),y=S.get("offset"),f=t+y*s;S.set("offset",qs(f/o)),r.push(S)}s=o,t=0,n="",e=r}return $t(this.element,e,this.preStyleProps,this.postStyleProps,s,t,n,!0)}};function qs(i,e=3){let t=Math.pow(10,e-1);return Math.round(i*t)/t}function Cn(i,e){let t=new Map,s;return i.forEach(n=>{if(n==="*"){s??=e.keys();for(let r of s)t.set(r,Q)}else for(let[r,o]of n)t.set(r,o)}),t}function Us(i,e,t,s,n,r,o,a,l,c,h,u,S){return{type:0,element:i,triggerName:e,isRemovalTransition:n,fromState:t,fromStyles:r,toState:s,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:h,totalTime:u,errors:S}}var ht={},We=class{constructor(e,t,s){this._triggerName=e,this.ast=t,this._stateStyles=s}match(e,t,s,n){return Nn(this.ast.matchers,e,t,s,n)}buildStyles(e,t,s){let n=this._stateStyles.get("*");return e!==void 0&&(n=this._stateStyles.get(e?.toString())||n),n?n.buildStyles(t,s):new Map}build(e,t,s,n,r,o,a,l,c,h){let u=[],S=this.ast.options&&this.ast.options.params||ht,y=a&&a.params||ht,f=this.buildStyles(s,y,u),g=l&&l.params||ht,T=this.buildStyles(n,g,u),w=new Set,A=new Map,C=new Map,P=n==="void",fe={params:ri(g,S),delay:this.ast.options?.delay},B=h?[]:ni(e,t,this.ast.animation,r,o,f,T,fe,c,u),N=0;return B.forEach(F=>{N=Math.max(F.duration+F.delay,N)}),u.length?Us(t,this._triggerName,s,n,P,f,T,[],[],A,C,N,u):(B.forEach(F=>{let se=F.element,me=O(A,se,new Set);F.preStyleProps.forEach(ie=>me.add(ie));let zt=O(C,se,new Set);F.postStyleProps.forEach(ie=>zt.add(ie)),se!==t&&w.add(se)}),Us(t,this._triggerName,s,n,P,f,T,B,[...w.values()],A,C,N))}};function Nn(i,e,t,s,n){return i.some(r=>r(e,t,s,n))}function ri(i,e){let t=Ce({},e);return Object.entries(i).forEach(([s,n])=>{n!=null&&(t[s]=n)}),t}var wt=class{constructor(e,t,s){this.styles=e,this.defaultParams=t,this.normalizer=s}buildStyles(e,t){let s=new Map,n=ri(e,this.defaultParams);return this.styles.styles.forEach(r=>{typeof r!="string"&&r.forEach((o,a)=>{o&&(o=we(o,n,t));let l=this.normalizer.normalizePropertyName(a,t);o=this.normalizer.normalizeStyleValue(a,l,o,t),s.set(a,o)})}),s}};function Fn(i,e,t){return new At(i,e,t)}var At=class{constructor(e,t,s){this.name=e,this.ast=t,this._normalizer=s,this.transitionFactories=[],this.states=new Map,t.states.forEach(n=>{let r=n.options&&n.options.params||{};this.states.set(n.name,new wt(n.style,r,s))}),Qs(this.states,"true","1"),Qs(this.states,"false","0"),t.transitions.forEach(n=>{this.transitionFactories.push(new We(e,n,this.states))}),this.fallbackTransition=Rn(e,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,s,n){return this.transitionFactories.find(o=>o.match(e,t,s,n))||null}matchStyles(e,t,s){return this.fallbackTransition.buildStyles(e,t,s)}};function Rn(i,e,t){let s=[(o,a)=>!0],n={type:_.Sequence,steps:[],options:null},r={type:_.Transition,animation:n,matchers:s,options:null,queryCount:0,depCount:0};return new We(i,r,e)}function Qs(i,e,t){i.has(e)?i.has(t)||i.set(t,i.get(e)):i.has(t)&&i.set(e,i.get(t))}var kn=new Ae,Mt=class{constructor(e,t,s){this.bodyNode=e,this._driver=t,this._normalizer=s,this._animations=new Map,this._playersById=new Map,this.players=[]}register(e,t){let s=[],n=[],r=ii(this._driver,t,s,n);if(s.length)throw Hi(s);n.length&&void 0,this._animations.set(e,r)}_buildPlayer(e,t,s){let n=e.element,r=Js(this._normalizer,e.keyframes,t,s);return this._driver.animate(n,r,e.duration,e.delay,e.easing,[],!0)}create(e,t,s={}){let n=[],r=this._animations.get(e),o,a=new Map;if(r?(o=ni(this._driver,t,r,ei,pt,new Map,new Map,s,kn,n),o.forEach(h=>{let u=O(a,h.element,new Map);h.postStyleProps.forEach(S=>u.set(S,null))})):(n.push(Gi()),o=[]),n.length)throw xi(n);a.forEach((h,u)=>{h.forEach((S,y)=>{h.set(y,this._driver.computeStyle(u,y,Q))})});let l=o.map(h=>{let u=a.get(h.element);return this._buildPlayer(h,new Map,u)}),c=te(l);return this._playersById.set(e,c),c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}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 Wi(e);return t}listen(e,t,s,n){let r=Rt(t,"","","");return Ft(this._getPlayer(e),s,r,n),()=>{}}command(e,t,s,n){if(s=="register"){this.register(e,n[0]);return}if(s=="create"){let o=n[0]||{};this.create(e,t,o);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(n[0]));break;case"destroy":this.destroy(e);break}}},Vs="ng-animate-queued",On=".ng-animate-queued",dt="ng-animate-disabled",In=".ng-animate-disabled",Ln="ng-star-inserted",$n=".ng-star-inserted",zn=[],oi={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Bn={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},$="__ng_removed",Me=class{get params(){return this.options.params}constructor(e,t=""){this.namespaceId=t;let s=e&&e.hasOwnProperty("value"),n=s?e.value:e;if(this.value=jn(n),s){let r=e,{value:o}=r,a=qt(r,["value"]);this.options=a}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(n=>{s[n]==null&&(s[n]=t[n])})}}},be="void",ft=new Me(be),Pt=class{constructor(e,t,s){this.id=e,this.hostElement=t,this._engine=s,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,L(t,this._hostClassName)}listen(e,t,s,n){if(!this._triggers.has(t))throw Ji(s,t);if(s==null||s.length==0)throw Yi(t);if(!qn(s))throw Xi(s,t);let r=O(this._elementListeners,e,[]),o={name:t,phase:s,callback:n};r.push(o);let a=O(this._engine.statesByElement,e,new Map);return a.has(t)||(L(e,ze),L(e,ze+"-"+t),a.set(t,ft)),()=>{this._engine.afterFlush(()=>{let l=r.indexOf(o);l>=0&&r.splice(l,1),this._triggers.has(t)||a.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 Zi(e);return t}trigger(e,t,s,n=!0){let r=this._getTrigger(t),o=new Pe(this.id,t,e),a=this._engine.statesByElement.get(e);a||(L(e,ze),L(e,ze+"-"+t),this._engine.statesByElement.set(e,a=new Map));let l=a.get(t),c=new Me(s,this.id);if(!(s&&s.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(t,c),l||(l=ft),!(c.value===be)&&l.value===c.value){if(!Vn(l.params,c.params)){let g=[],T=r.matchStyles(l.value,l.params,g),w=r.matchStyles(c.value,c.params,g);g.length?this._engine.reportError(g):this._engine.afterFlush(()=>{ue(e,T),V(e,w)})}return}let S=O(this._engine.playersByElement,e,[]);S.forEach(g=>{g.namespaceId==this.id&&g.triggerName==t&&g.queued&&g.destroy()});let y=r.matchTransition(l.value,c.value,e,c.params),f=!1;if(!y){if(!n)return;y=r.fallbackTransition,f=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:y,fromState:l,toState:c,player:o,isFallbackTransition:f}),f||(L(e,Vs),o.onStart(()=>{Se(e,Vs)})),o.onDone(()=>{let g=this.players.indexOf(o);g>=0&&this.players.splice(g,1);let T=this._engine.playersByElement.get(e);if(T){let w=T.indexOf(o);w>=0&&T.splice(w,1)}}),this.players.push(o),S.push(o),o}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(n=>n.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,Ue,!0);s.forEach(n=>{if(n[$])return;let r=this._engine.fetchNamespacesByElement(n);r.size?r.forEach(o=>o.triggerLeaveAnimation(n,t,!1,!0)):this.clearElementCache(n)}),this._engine.afterFlushAnimationsDone(()=>s.forEach(n=>this.clearElementCache(n)))}triggerLeaveAnimation(e,t,s,n){let r=this._engine.statesByElement.get(e),o=new Map;if(r){let a=[];if(r.forEach((l,c)=>{if(o.set(c,l.value),this._triggers.has(c)){let h=this.trigger(e,c,be,n);h&&a.push(h)}}),a.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,o),s&&te(a).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 n=new Set;t.forEach(r=>{let o=r.name;if(n.has(o))return;n.add(o);let l=this._triggers.get(o).fallbackTransition,c=s.get(o)||ft,h=new Me(be),u=new Pe(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:h,player:u,isFallbackTransition:!0})})}}removeNode(e,t){let s=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let n=!1;if(s.totalAnimations){let r=s.players.length?s.playersByQueriedElement.get(e):[];if(r&&r.length)n=!0;else{let o=e;for(;o=o.parentNode;)if(s.statesByElement.get(o)){n=!0;break}}}if(this.prepareLeaveAnimationListeners(e),n)s.markElementAsRemoved(this.id,e,!1,t);else{let r=e[$];(!r||r===oi)&&(s.afterFlush(()=>this.clearElementCache(e)),s.destroyInnerAnimations(e),s._onRemovalComplete(e,t))}}insertNode(e,t){L(e,this._hostClassName)}drainQueuedTransitions(e){let t=[];return this._queue.forEach(s=>{let n=s.player;if(n.destroyed)return;let r=s.element,o=this._elementListeners.get(r);o&&o.forEach(a=>{if(a.name==s.triggerName){let l=Rt(r,s.triggerName,s.fromState.value,s.toState.value);l._data=e,Ft(s.player,a.phase,l,a.callback)}}),n.markedForDestroy?this._engine.afterFlush(()=>{n.destroy()}):t.push(s)}),this._queue=[],t.sort((s,n)=>{let r=s.transition.ast.depCount,o=n.transition.ast.depCount;return r==0||o==0?r-o:this._engine.driver.containsElement(s.element,n.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},Dt=class{_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}constructor(e,t,s){this.bodyNode=e,this.driver=t,this._normalizer=s,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(n,r)=>{}}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 Pt(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,n=this.namespacesByHostElement;if(s.length-1>=0){let o=!1,a=this.driver.getParentElement(t);for(;a;){let l=n.get(a);if(l){let c=s.indexOf(l);s.splice(c+1,0,e),o=!0;break}a=this.driver.getParentElement(a)}o||s.unshift(e)}else s.push(e);return n.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 n=this._namespaceLookup[e];n&&n.register(t,s)&&this.totalAnimations++}destroy(e,t){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let s=this._fetchNamespace(e);this.namespacesByHostElement.delete(s.hostElement);let n=this._namespaceList.indexOf(s);n>=0&&this._namespaceList.splice(n,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 n of s.values())if(n.namespaceId){let r=this._fetchNamespace(n.namespaceId);r&&t.add(r)}}return t}trigger(e,t,s,n){if(je(t)){let r=this._fetchNamespace(e);if(r)return r.trigger(t,s,n),!0}return!1}insertNode(e,t,s,n){if(!je(t))return;let r=t[$];if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;let o=this.collectedLeaveElements.indexOf(t);o>=0&&this.collectedLeaveElements.splice(o,1)}if(e){let o=this._fetchNamespace(e);o&&o.insertNode(t,s)}n&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),L(e,dt)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),Se(e,dt))}removeNode(e,t,s){if(je(t)){let n=e?this._fetchNamespace(e):null;n?n.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,n,r){this.collectedLeaveElements.push(t),t[$]={namespaceId:e,setForRemoval:n,hasAnimation:s,removedBeforeQueried:!1,previousTriggersValues:r}}listen(e,t,s,n,r){return je(t)?this._fetchNamespace(e).listen(t,s,n,r):()=>{}}_buildInstruction(e,t,s,n,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,s,n,e.fromState.options,e.toState.options,t,r)}destroyInnerAnimations(e){let t=this.driver.query(e,Ue,!0);t.forEach(s=>this.destroyActiveAnimationsForElement(s)),this.playersByQueriedElement.size!=0&&(t=this.driver.query(e,gt,!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 te(this.players).onDone(()=>e());e()})}processLeaveNode(e){let t=e[$];if(t&&t.setForRemoval){if(e[$]=oi,t.namespaceId){this.destroyInnerAnimations(e);let s=this._fetchNamespace(t.namespaceId);s&&s.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(dt)&&this.markElementAsDisabled(e,!1),this.driver.query(e,In,!0).forEach(s=>{this.markElementAsDisabled(s,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((s,n)=>this._balanceNamespaceList(s,n)),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?te(t).onDone(()=>{s.forEach(n=>n())}):s.forEach(n=>n())}}reportError(e){throw en(e)}_flushAnimations(e,t){let s=new Ae,n=[],r=new Map,o=[],a=new Map,l=new Map,c=new Map,h=new Set;this.disabledNodes.forEach(d=>{h.add(d);let m=this.driver.query(d,On,!0);for(let p=0;p{let p=ei+g++;f.set(m,p),d.forEach(E=>L(E,p))});let T=[],w=new Set,A=new Set;for(let d=0;dw.add(E)):A.add(m))}let C=new Map,P=xs(S,Array.from(w));P.forEach((d,m)=>{let p=pt+g++;C.set(m,p),d.forEach(E=>L(E,p))}),e.push(()=>{y.forEach((d,m)=>{let p=f.get(m);d.forEach(E=>Se(E,p))}),P.forEach((d,m)=>{let p=C.get(m);d.forEach(E=>Se(E,p))}),T.forEach(d=>{this.processLeaveNode(d)})});let fe=[],B=[];for(let d=this._namespaceList.length-1;d>=0;d--)this._namespaceList[d].drainQueuedTransitions(t).forEach(p=>{let E=p.player,M=p.element;if(fe.push(E),this.collectedEnterElements.length){let D=M[$];if(D&&D.setForMove){if(D.previousTriggersValues&&D.previousTriggersValues.has(p.triggerName)){let ne=D.previousTriggersValues.get(p.triggerName),I=this.statesByElement.get(p.element);if(I&&I.has(p.triggerName)){let De=I.get(p.triggerName);De.value=ne,I.set(p.triggerName,De)}}E.destroy();return}}let K=!u||!this.driver.containsElement(u,M),R=C.get(M),x=f.get(M),b=this._buildInstruction(p,s,x,R,K);if(b.errors&&b.errors.length){B.push(b);return}if(K){E.onStart(()=>ue(M,b.fromStyles)),E.onDestroy(()=>V(M,b.toStyles)),n.push(E);return}if(p.isFallbackTransition){E.onStart(()=>ue(M,b.fromStyles)),E.onDestroy(()=>V(M,b.toStyles)),n.push(E);return}let jt=[];b.timelines.forEach(D=>{D.stretchStartingKeyframe=!0,this.disabledNodes.has(D.element)||jt.push(D)}),b.timelines=jt,s.append(M,b.timelines);let Ei={instruction:b,player:E,element:M};o.push(Ei),b.queriedElements.forEach(D=>O(a,D,[]).push(E)),b.preStyleProps.forEach((D,ne)=>{if(D.size){let I=l.get(ne);I||l.set(ne,I=new Set),D.forEach((De,it)=>I.add(it))}}),b.postStyleProps.forEach((D,ne)=>{let I=c.get(ne);I||c.set(ne,I=new Set),D.forEach((De,it)=>I.add(it))})});if(B.length){let d=[];B.forEach(m=>{d.push(tn(m.triggerName,m.errors))}),fe.forEach(m=>m.destroy()),this.reportError(d)}let N=new Map,F=new Map;o.forEach(d=>{let m=d.element;s.has(m)&&(F.set(m,m),this._beforeAnimationBuild(d.player.namespaceId,d.instruction,N))}),n.forEach(d=>{let m=d.element;this._getPreviousPlayers(m,!1,d.namespaceId,d.triggerName,null).forEach(E=>{O(N,m,[]).push(E),E.destroy()})});let se=T.filter(d=>Ws(d,l,c)),me=new Map;Gs(me,this.driver,A,c,Q).forEach(d=>{Ws(d,l,c)&&se.push(d)});let ie=new Map;y.forEach((d,m)=>{Gs(ie,this.driver,new Set(d),l,$e)}),se.forEach(d=>{let m=me.get(d),p=ie.get(d);me.set(d,new Map([...m?.entries()??[],...p?.entries()??[]]))});let st=[],Bt=[],Kt={};o.forEach(d=>{let{element:m,player:p,instruction:E}=d;if(s.has(m)){if(h.has(m)){p.onDestroy(()=>V(m,E.toStyles)),p.disabled=!0,p.overrideTotalTime(E.totalTime),n.push(p);return}let M=Kt;if(F.size>1){let R=m,x=[];for(;R=R.parentNode;){let b=F.get(R);if(b){M=b;break}x.push(R)}x.forEach(b=>F.set(b,M))}let K=this._buildAnimation(p.namespaceId,E,N,r,ie,me);if(p.setRealPlayer(K),M===Kt)st.push(p);else{let R=this.playersByElement.get(M);R&&R.length&&(p.parentPlayer=te(R)),n.push(p)}}else ue(m,E.fromStyles),p.onDestroy(()=>V(m,E.toStyles)),Bt.push(p),h.has(m)&&n.push(p)}),Bt.forEach(d=>{let m=r.get(d.element);if(m&&m.length){let p=te(m);d.setRealPlayer(p)}}),n.forEach(d=>{d.parentPlayer?d.syncPlayerEvents(d.parentPlayer):d.destroy()});for(let d=0;d!K.destroyed);M.length?Un(this,m,M):this.processLeaveNode(m)}return T.length=0,st.forEach(d=>{this.players.push(d),d.onDone(()=>{d.destroy();let m=this.players.indexOf(d);this.players.splice(m,1)}),d.play()}),st}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,s,n,r){let o=[];if(t){let a=this.playersByQueriedElement.get(e);a&&(o=a)}else{let a=this.playersByElement.get(e);if(a){let l=!r||r==be;a.forEach(c=>{c.queued||!l&&c.triggerName!=n||o.push(c)})}}return(s||n)&&(o=o.filter(a=>!(s&&s!=a.namespaceId||n&&n!=a.triggerName))),o}_beforeAnimationBuild(e,t,s){let n=t.triggerName,r=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:n;for(let l of t.timelines){let c=l.element,h=c!==r,u=O(s,c,[]);this._getPreviousPlayers(c,h,o,a,t.toState).forEach(y=>{let f=y.getRealPlayer();f.beforeDestroy&&f.beforeDestroy(),y.destroy(),u.push(y)})}ue(r,t.fromStyles)}_buildAnimation(e,t,s,n,r,o){let a=t.triggerName,l=t.element,c=[],h=new Set,u=new Set,S=t.timelines.map(f=>{let g=f.element;h.add(g);let T=g[$];if(T&&T.removedBeforeQueried)return new ee(f.duration,f.delay);let w=g!==l,A=Qn((s.get(g)||zn).map(N=>N.getRealPlayer())).filter(N=>{let F=N;return F.element?F.element===g:!1}),C=r.get(g),P=o.get(g),fe=Js(this._normalizer,f.keyframes,C,P),B=this._buildPlayer(f,fe,A);if(f.subTimeline&&n&&u.add(g),w){let N=new Pe(e,a,g);N.setRealPlayer(B),c.push(N)}return B});c.forEach(f=>{O(this.playersByQueriedElement,f.element,[]).push(f),f.onDone(()=>Kn(this.playersByQueriedElement,f.element,f))}),h.forEach(f=>L(f,Bs));let y=te(S);return y.onDestroy(()=>{h.forEach(f=>Se(f,Bs)),V(l,t.toStyles)}),u.forEach(f=>{O(n,f,[]).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 ee(e.duration,e.delay)}},Pe=class{constructor(e,t,s){this.namespaceId=e,this.triggerName=t,this.element=s,this._player=new ee,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,s)=>{t.forEach(n=>Ft(e,s,void 0,n))}),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){O(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 Kn(i,e,t){let s=i.get(e);if(s){if(s.length){let n=s.indexOf(t);s.splice(n,1)}s.length==0&&i.delete(e)}return s}function jn(i){return i??null}function je(i){return i&&i.nodeType===1}function qn(i){return i=="start"||i=="done"}function Hs(i,e){let t=i.style.display;return i.style.display=e??"none",t}function Gs(i,e,t,s,n){let r=[];t.forEach(l=>r.push(Hs(l)));let o=[];s.forEach((l,c)=>{let h=new Map;l.forEach(u=>{let S=e.computeStyle(c,u,n);h.set(u,S),(!S||S.length==0)&&(c[$]=Bn,o.push(c))}),i.set(c,h)});let a=0;return t.forEach(l=>Hs(l,r[a++])),o}function xs(i,e){let t=new Map;if(i.forEach(a=>t.set(a,[])),e.length==0)return t;let s=1,n=new Set(e),r=new Map;function o(a){if(!a)return s;let l=r.get(a);if(l)return l;let c=a.parentNode;return t.has(c)?l=c:n.has(c)?l=s:l=o(c),r.set(a,l),l}return e.forEach(a=>{let l=o(a);l!==s&&t.get(l).push(a)}),t}function L(i,e){i.classList?.add(e)}function Se(i,e){i.classList?.remove(e)}function Un(i,e,t){te(t).onDone(()=>i.processLeaveNode(e))}function Qn(i){let e=[];return ai(i,e),e}function ai(i,e){for(let t=0;tn.add(r)):e.set(i,s),t.delete(i),!0}var Ee=class{constructor(e,t,s){this._driver=t,this._normalizer=s,this._triggerCache={},this.onRemovalComplete=(n,r)=>{},this._transitionEngine=new Dt(e.body,t,s),this._timelineEngine=new Mt(e.body,t,s),this._transitionEngine.onRemovalComplete=(n,r)=>this.onRemovalComplete(n,r)}registerTrigger(e,t,s,n,r){let o=e+"-"+n,a=this._triggerCache[o];if(!a){let l=[],c=[],h=ii(this._driver,r,l,c);if(l.length)throw Qi(n,l);c.length&&void 0,a=Fn(n,h,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,n,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,s,n){this._transitionEngine.insertNode(e,t,s,n)}onRemove(e,t,s){this._transitionEngine.removeNode(e,t,s)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,s,n){if(s.charAt(0)=="@"){let[r,o]=$s(s),a=n;this._timelineEngine.command(r,t,o,a)}else this._transitionEngine.trigger(e,t,s,n)}listen(e,t,s,n,r){if(s.charAt(0)=="@"){let[o,a]=$s(s);return this._timelineEngine.listen(o,t,a,r)}return this._transitionEngine.listen(e,t,s,n,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 Hn(i,e){let t=null,s=null;return Array.isArray(e)&&e.length?(t=mt(e[0]),e.length>1&&(s=mt(e[e.length-1]))):e instanceof Map&&(t=mt(e)),t||s?new Ct(i,t,s):null}var Ct=class i{static{this.initialStylesByElement=new WeakMap}constructor(e,t,s){this._element=e,this._startStyles=t,this._endStyles=s,this._state=0;let n=i.initialStylesByElement.get(e);n||i.initialStylesByElement.set(e,n=new Map),this._initialStyles=n}start(){this._state<1&&(this._startStyles&&V(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(V(this._element,this._initialStyles),this._endStyles&&(V(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(i.initialStylesByElement.delete(this._element),this._startStyles&&(ue(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(ue(this._element,this._endStyles),this._endStyles=null),V(this._element,this._initialStyles),this._state=3)}};function mt(i){let e=null;return i.forEach((t,s)=>{Gn(s)&&(e=e||new Map,e.set(s,t))}),e}function Gn(i){return i==="display"||i==="position"}var Je=class{constructor(e,t,s,n){this.element=e,this.keyframes=t,this.options=s,this._specialStyles=n,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,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._initialized=!0;let e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:new Map;let t=()=>this._onFinish();this.domPlayer.addEventListener("finish",t),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",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){return e.animate(this._convertKeyframesToObject(t),s)}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(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),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&&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===void 0&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((s,n)=>{n!=="offset"&&e.set(n,this._finished?s:Lt(this.element,n))}),this.currentSnapshot=e}triggerCallback(e){let t=e==="start"?this._onStartFns:this._onDoneFns;t.forEach(s=>s()),t.length=0}},Ye=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,t){return Ys(e,t)}getParentElement(e){return kt(e)}query(e,t,s){return Xs(e,t,s)}computeStyle(e,t,s){return Lt(e,t)}animate(e,t,s,n,r,o=[]){let a=n==0?"both":"forwards",l={duration:s,delay:n,fill:a};r&&(l.easing=r);let c=new Map,h=o.filter(y=>y instanceof Je);fn(s,n)&&h.forEach(y=>{y.currentSnapshot.forEach((f,g)=>c.set(g,f))});let u=un(t).map(y=>new Map(y));u=mn(e,u,c);let S=Hn(e,u);return new Je(e,u,l,S)}};var qe="@",li="@.disabled",Xe=class{constructor(e,t,s,n){this.namespaceId=e,this.delegate=t,this.engine=s,this._onDestroy=n,this.\u0275type=0}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,n=!0){this.delegate.insertBefore(e,t,s),this.engine.onInsert(this.namespaceId,t,e,n)}removeChild(e,t,s){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,n){this.delegate.setAttribute(e,t,s,n)}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,n){this.delegate.setStyle(e,t,s,n)}removeStyle(e,t,s){this.delegate.removeStyle(e,t,s)}setProperty(e,t,s){t.charAt(0)==qe&&t==li?this.disableAnimations(e,!!s):this.delegate.setProperty(e,t,s)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,s){return this.delegate.listen(e,t,s)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}},Nt=class extends Xe{constructor(e,t,s,n,r){super(t,s,n,r),this.factory=e,this.namespaceId=t}setProperty(e,t,s){t.charAt(0)==qe?t.charAt(1)=="."&&t==li?(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){if(t.charAt(0)==qe){let n=xn(e),r=t.slice(1),o="";return r.charAt(0)!=qe&&([r,o]=Wn(r)),this.engine.listen(this.namespaceId,n,r,o,a=>{let l=a._data||-1;this.factory.scheduleListenerCallback(l,s,a)})}return this.delegate.listen(e,t,s)}};function xn(i){switch(i){case"body":return document.body;case"document":return document;case"window":return window;default:return i}}function Wn(i){let e=i.indexOf("."),t=i.substring(0,e),s=i.slice(e+1);return[t,s]}var Ze=class{constructor(e,t,s){this.delegate=e,this.engine=t,this._zone=s,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,t.onRemovalComplete=(n,r)=>{r?.removeChild(null,n)}}createRenderer(e,t){let s="",n=this.delegate.createRenderer(e,t);if(!e||!t?.data?.animation){let c=this._rendererCache,h=c.get(n);if(!h){let u=()=>c.delete(n);h=new Xe(s,n,this.engine,u),c.set(n,h)}return h}let r=t.id,o=t.id+"-"+this._currentId;this._currentId++,this.engine.register(o,e);let a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(r,o,e,c.name,c)};return t.data.animation.forEach(a),new Nt(this,o,n,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 n=this._animationCallbacksBuffer;n.length==0&&queueMicrotask(()=>{this._zone.run(()=>{n.forEach(r=>{let[o,a]=r;o(a)}),this._animationCallbacksBuffer=[]})}),n.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()}};var Yn=(()=>{class i extends Ee{constructor(t,s,n){super(t,s,n)}ngOnDestroy(){this.flush()}static{this.\u0275fac=function(s){return new(s||i)(j(os),j(he),j(de))}}static{this.\u0275prov=W({token:i,factory:i.\u0275fac})}}return i})();function Xn(){return new Ve}function Zn(i,e,t){return new Ze(i,e,t)}var ci=[{provide:de,useFactory:Xn},{provide:Ee,useClass:Yn},{provide:Jt,useFactory:Zn,deps:[ds,Ee,Ne]}],er=[{provide:he,useFactory:()=>new Ye},{provide:nt,useValue:"BrowserAnimations"},...ci],Lr=[{provide:he,useClass:Ot},{provide:nt,useValue:"NoopAnimations"},...ci];function ui(){return Yt("NgEagerAnimations"),[...er]}var et=class{http;prefix;suffix;constructor(e,t="/assets/i18n/",s=".json"){this.http=e,this.prefix=t,this.suffix=s}getTranslation(e){return this.http.get(`${this.prefix}${e}${this.suffix}`)}};function tr(i,e){if(i&1&&(U(0,"li")(1,"h2")(2,"a",1),oe(3),pe(4,"translate"),Y()()()),i&2){let t,s=e.$implicit;q(2),Fe("routerLink","/"+s.path),q(),Oe(" ",ge(4,2,((t=s.name)!==null&&t!==void 0?t:s.path)+".title")," ")}}var di=(()=>{class i{constructor(){this.sections=[{path:"dashboard"},{path:"presence-control"},{path:"open-absences"},{path:"edit-absences"},{path:"evaluate-absences"},{path:"events"},{path:"events/current",name:"events.current"},{path:"my-absences"},{path:"my-profile"},{path:"my-grades"},{path:"my-settings"}]}static{this.\u0275fac=function(s){return new(s||i)}}static{this.\u0275cmp=J({type:i,selectors:[["bkd-home"]],standalone:!0,features:[X],decls:3,vars:0,consts:[[1,"mt-3"],[3,"routerLink"]],template:function(s,n){s&1&&(U(0,"ul",0),Re(1,tr,5,4,"li",null,ts),Y()),s&2&&(q(),ke(n.sections))},dependencies:[ps,_e,Le],changeDetection:0})}}return i})();var fi=(()=>{class i{constructor(){}static{this.\u0275fac=function(s){return new(s||i)}}static{this.\u0275cmp=J({type:i,selectors:[["bkd-unauthenticated"]],standalone:!0,features:[X],decls:4,vars:3,consts:[[1,"bkd-container"],[1,"alert","alert-danger","my-3"]],template:function(s,n){s&1&&(U(0,"div",0)(1,"div",1),oe(2),pe(3,"translate"),Y()()),s&2&&(q(2),Oe(" ",ge(3,1,"unauthenticated.message")," "))},dependencies:[_e,Le],encapsulation:2})}}return i})();var tt=(()=>{class i{constructor(t){this.storage=t}get isAuthenticated(){return!!this.accessToken}get accessToken(){return this.storage.getAccessToken()}static{this.\u0275fac=function(s){return new(s||i)(j(ws))}}static{this.\u0275prov=W({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function z(){return()=>{let i=H(tt),e=H(Ie);return i.isAuthenticated?!0:(e.navigate(["/unauthenticated"]),!1)}}var mi=[{path:"dashboard",canActivate:[z()],loadChildren:()=>import("./chunk-5XQEEECM.js").then(i=>i.DASHBOARD_ROUTES)},{path:"presence-control",canActivate:[z()],loadChildren:()=>import("./chunk-O7HCD6PL.js").then(i=>i.PRESENCE_CONTROL_ROUTES)},{path:"open-absences",canActivate:[z()],loadChildren:()=>import("./chunk-UP6DLYGU.js").then(i=>i.OPEN_ABSENCES_ROUTES)},{path:"edit-absences",canActivate:[z()],loadChildren:()=>import("./chunk-HRBF4EGW.js").then(i=>i.EDIT_ABSENCES_ROUTES)},{path:"evaluate-absences",canActivate:[z()],loadChildren:()=>import("./chunk-GLN2SJKI.js").then(i=>i.EVALUATE_ABSENCES_ROUTES)},{path:"events",canActivate:[z()],loadChildren:()=>import("./chunk-NHL2B7KA.js").then(i=>i.EVENTS_ROUTES)},{path:"my-absences",canActivate:[z()],loadChildren:()=>import("./chunk-GOKKCCVM.js").then(i=>i.MY_ABSENCES_ROUTES)},{path:"my-profile",canActivate:[z()],loadChildren:()=>import("./chunk-JNG2NCBS.js").then(i=>i.MY_PROFILE_ROUTES)},{path:"my-grades",canActivate:[z()],loadChildren:()=>import("./chunk-Y4GZONU4.js").then(i=>i.MY_GRADES_ROUTES)},{path:"my-settings",canActivate:[z()],loadChildren:()=>import("./chunk-2WXLI2TD.js").then(i=>i.MY_SETTINGS_ROUTES)},{path:"unauthenticated",component:fi},{path:"",component:di,pathMatch:"full"}];function pi(){return(i,e)=>{let t=H(tt),s=H(Z);if(i.url.startsWith(s.apiUrl)&&t.accessToken){let n=i.headers.set("Authorization",`Bearer ${t.accessToken}`);return e(i.clone({headers:n}))}return e(i)}}function gi(){return(i,e)=>{let t=H(Z);if(!i.headers.has("X-Role-Restriction")&&t.headerRoleRestriction){let s=sr();if(s&&t.headerRoleRestriction[s]){let n=i.headers.set("X-Role-Restriction",t.headerRoleRestriction[s]);return e(i.clone({headers:n}))}}return e(i)}}function sr(){let i=H(Ie),e=i.url?Ps(i.url):null;return e?Es(e):null}function yi(){return[{provide:Wt,useClass:ir}]}var ir=(()=>{class i{constructor(t,s,n){this.ngZone=t,this.translate=s,this.toastService=n}handleError(t){console.error(String(t)),t instanceof ls||this.notifyError()}notifyError(){this.ngZone.run(()=>{this.toastService.error(this.translate.instant("global.app-errors.exception-message"),this.translate.instant("global.app-errors.exception-title"))})}static{this.\u0275fac=function(s){return new(s||i)(j(Ne),j(bs),j(ye))}}static{this.\u0275prov=W({token:i,factory:i.\u0275fac})}}return i})();function nr(i,e){return new et(i,`${e.scriptsAndAssetsPath}/assets/locales/`,".json")}var _i={providers:[gs(mi,ys()),us(hs([Ds(),pi(),gi()])),ui(),yi(),Ht(_e.forRoot({loader:{provide:Ts,useFactory:nr,deps:[cs,Z]}})),As()]};var Si={production:!0};Si.production&&void 0;at(Cs);at(Ns);fs(Os,_i).catch(i=>console.error(i));