1"use strict";(self.webpackChunkVeryConnect=self.webpackChunkVeryConnect||[]).push([[6400],{41383:(z,J,o)=>{o.d(J,{b:()=>e});var r=o(25989);function e(t,f,u=r.Z){const y=new Map;if(!Array.isArray(t)&&!t?.[Symbol.iterator])return y;let O=0;for(const B of t)y.set(f(B,O),u(B,O)),++O;return y}},29910:(z,J,o)=>{o.d(J,{X:()=>t});var r=o(49731),e=o(14026);let t=(()=>{class f extends r.TemplateContainer{}return f.\u0275fac=function(){let u;return function(O){return(u||(u=e.n5z(f)))(O||f)}}(),f.\u0275dir=e.lG2({type:f,selectors:[["","tg-accordion-item-body",""]],features:[e.qOj]}),f})()},6730:(z,J,o)=>{o.d(J,{_:()=>t});var r=o(49731),e=o(14026);let t=(()=>{class f extends r.TemplateContainer{}return f.\u0275fac=function(){let u;return function(O){return(u||(u=e.n5z(f)))(O||f)}}(),f.\u0275dir=e.lG2({type:f,selectors:[["","tg-accordion-item-heading",""]],features:[e.qOj]}),f})()},88226:(z,J,o)=>{o.d(J,{r:()=>f});var r=o(14026),e=o(29910),t=o(6730);let f=(()=>{class u{constructor(O){this.cdr=O,this.active=!1,this.disabled=!1,this.openPrevented=new r.vpe}getBody(){return this.body?.template||null}getHeading(){return this.heading?.template||null}ngOnDestroy(){this.openPrevented.complete()}}return u.\u0275fac=function(O){return new(O||u)(r.Y36(r.sBO))},u.\u0275dir=r.lG2({type:u,selectors:[["tg-accordion-item"]],contentQueries:function(O,B,G){if(1&O&&(r.Suo(G,e.X,5),r.Suo(G,t._,5)),2&O){let x;r.iGM(x=r.CRH())&&(B.body=x.first),r.iGM(x=r.CRH())&&(B.heading=x.first)}},inputs:{disabled:"disabled"},outputs:{openPrevented:"openPrevented"},exportAs:["tg-accordion-item"]}),u})()},67263:(z,J,o)=>{o.d(J,{h:()=>M});var r=o(55324),e=o(95707),t=o(14026),f=o(7670),u=o(10319),y=o(64177),O=o(4678),B=o(33746),G=o(6522);function x(g,A){if(1&g&&(t.TgZ(0,"tg-panel-body"),t.GkF(1,2),t.qZA()),2&g){const k=t.oxw();t.ekj("hidden",k.hideBody),t.Q6J("@slideDownOnEntry",void 0)("@slideUpOnExit",void 0),t.xp6(1),t.Q6J("ngTemplateOutlet",k.bodyTpl)}}const C=["*"];let T=(()=>{class g{constructor(){this.headerClicked=new t.vpe}ngOnChanges(){this.hideBody=this.activeIdx!==this.itemIdx,this.renderBody=this.activeIdx===this.itemIdx||"if"!==this.mode}ngOnDestroy(){this.headerClicked.complete()}onHeaderClick(){this.headerClicked.emit(this.itemIdx)}}return g.\u0275fac=function(k){return new(k||g)},g.\u0275cmp=t.Xpm({type:g,selectors:[["tg-accordion-item-inner"]],hostVars:4,hostBindings:function(k,E){2&k&&t.ekj("panel-default",!0)("panel",!0)},inputs:{activeIdx:"activeIdx",bodyTpl:"bodyTpl",disabled:"disabled",itemIdx:"itemIdx",mode:"mode"},outputs:{headerClicked:"headerClicked"},features:[t.TTD],ngContentSelectors:C,decls:3,vars:3,consts:[[3,"effectiveClick"],[3,"hidden",4,"ngIf"],[3,"ngTemplateOutlet"]],template:function(k,E){1&k&&(t.F$t(),t.TgZ(0,"tg-panel-heading",0),t.NdJ("effectiveClick",function(){return E.onHeaderClick()}),t.Hsn(1),t.qZA(),t.YNc(2,x,2,5,"tg-panel-body",1)),2&k&&(t.ekj("accordion-item-disabled",E.disabled),t.xp6(2),t.Q6J("ngIf",E.renderBody))},dependencies:[y.O5,y.tP,O.Av,O.Nk,B.t,G.Z],styles:["[_nghost-%COMP%]{display:block;margin-bottom:0}tg-panel-heading[_ngcontent-%COMP%]{cursor:pointer}.accordion-item-disabled[_ngcontent-%COMP%]{color:#777!important}"],data:{animation:[f.Y,u.b]}}),g})();var I=o(22009);let M=(()=>{class g{}return g.\u0275fac=function(k){return new(k||g)},g.\u0275mod=t.oAB({type:g}),g.\u0275inj=t.cJS({imports:[r.GlobalModule]}),g})();t.B6R(e.Z,[y.sg,y.O5,y.tP,y.RF,y.n9,I.a,T],[])},95707:(z,J,o)=>{o.d(J,{Z:()=>I});var r=o(14026),e=o(88226),t=o(49731);let f=(()=>
1{class g extends t.TemplateContainer{constructor(k){super(),this.cdr=k,this.active=!1,this.disabled=!1,this.openPrevented=new r.vpe}ngOnDestroy(){this.openPrevented.complete()}}return g.\u0275fac=function(k){return new(k||g)(r.Y36(r.sBO))},g.\u0275dir=r.lG2({type:g,selectors:[["","tg-accordion-item",""]],inputs:{disabled:"disabled",heading:["tg-accordion-item","heading"]},outputs:{openPrevented:"openPrevented"},features:[r.qOj]}),g})();function u(g,A){1&g&&(r.TgZ(0,"div",4),r._uU(1,"Don't mix and match rich + simple accordion items - pick one and stick with it."),r.qZA())}function y(g,A){if(1&g){const k=r.EpF();r.TgZ(0,"tg-accordion-item-inner",9),r.NdJ("headerClicked",function(U){r.CHM(k);const w=r.oxw(3);return r.KtG(w.setIndex(U))}),r._uU(1),r.qZA()}if(2&g){const k=A.$implicit,E=A.index,U=r.oxw(3);r.Q6J("bodyTpl",k.template)("disabled",k.disabled)("itemIdx",E)("mode",U.mode)("activeIdx",U.index),r.xp6(1),r.Oqu(k.heading)}}function O(g,A){if(1&g&&r.YNc(0,y,2,6,"tg-accordion-item-inner",8),2&g){const k=r.oxw(2);r.Q6J("ngForOf",k.simpleItems)}}function B(g,A){if(1&g){const k=r.EpF();r.TgZ(0,"tg-accordion-item-inner",9),r.NdJ("headerClicked",function(U){r.CHM(k);const w=r.oxw(3);return r.KtG(w.setIndex(U))}),r.GkF(1,10),r.qZA()}if(2&g){const k=A.$implicit,E=A.index,U=r.oxw(3),w=r.MAs(5),Y=r.MAs(3);r.Q6J("bodyTpl",k.getBody()||w)("disabled",k.disabled)("itemIdx",E)("mode",U.mode)("activeIdx",U.index),r.xp6(1),r.Q6J("ngTemplateOutlet",k.getHeading()||Y)}}function G(g,A){if(1&g&&r.YNc(0,B,2,6,"tg-accordion-item-inner",8),2&g){const k=r.oxw(2);r.Q6J("ngForOf",k.richItems)}}function x(g,A){if(1&g&&(r.TgZ(0,"div",5),r.ynx(1,6),r.YNc(2,O,1,1,"ng-template",7),r.YNc(3,G,1,1,"ng-template",7),r.BQk(),r.qZA()),2&g){const k=r.oxw();r.xp6(1),r.Q6J("ngSwitch",k.ui),r.xp6(1),r.Q6J("ngSwitchCase","simple"),r.xp6(1),r.Q6J("ngSwitchCase","rich")}}function C(g,A){1&g&&(r.TgZ(0,"div",11),r._uU(1,"Accordion item missing a heading!"),r.qZA())}function T(g,A){1&g&&(r.TgZ(0,"div",11),r._uU(1,"Accordion item missing a body!"),r.qZA())}let I=(()=>{class g{constructor(){this.index=0,this.indexChange=new r.vpe,this.mode="if"}ngAfterContentChecked(){this.onContentRefresh(),this.updateActiveStatesIfNeeded()}ngAfterContentInit(){this.onContentRefresh(),this.updateActiveStatesIfNeeded()}ngOnChanges({index:k}){!1===k?.firstChange&&(this.updateActiveStatesIfNeeded(),this.setOpenPreventedFalse())}ngOnDestroy(){this.indexChange.complete()}setIndex(k){const E=k===this.index?-1:k,U=this.itemAt(E);U?.disabled?U.openPrevented.emit(!0):(this.setOpenPreventedFalse(),this.index=E,this.indexChange.emit(E),this.updateActiveStatesIfNeeded())}itemAt(k){if(!(k<0)){if(this.richItems.length)return this.richItems.get(k);if(this.simpleItems.length)return this.simpleItems.get(k)}}onContentRefresh(){this.ui=this.simpleItems?.length?"simple":this.richItems?.length?"rich":void 0,this.hasMixed=Boolean(this.simpleItems?.length&&this.richItems?.length)}setOpenPreventedFalse(){this.richItems.length?M(this.richItems):this.simpleItems.length&&M(this.simpleItems)}updateActiveStates(k){for(let E=0;E<k.length;E++){const U=k.get(E),w=E===this.index;w!==U.active&&(U.active=w,U.cdr.markForCheck())}}updateActiveStatesIfNeeded(){this.richItems.length?this.updateActiveStates(this.richItems):this.simpleItems.length&&this.updateActiveStates(this.simpleItems)}}return g.\u0275fac=function(k){return new(k||g)},g.\u0275cmp=r.Xpm({type:g,selectors:[["tg-accordion"]],contentQueries:function(k,E,U){if(1&k&&(r.Suo(U,e.r,4),r.Suo(U,f,4)),2&k){let w;r.iGM(w=r.CRH())&&(E.richItems=w),r.iGM(w=r.CRH())&&(E.simpleItems=w)}},inputs:{index:"index",mode:"mode"},outputs:{indexChange:"indexChange"},features:[r.TTD],decls:6,vars:2,consts:[["class","panel panel-danger",4,"ngIf"],["class","panel panel-default",4,"ngIf"],["tplMissingHeading",""],["tplMissingBody",""],[1,"panel","panel-danger"],[1,"panel","panel-default"],[3,"ngSwitch"],[3,"ngSwitchCase"],[3,"bodyTpl","disabled","itemIdx","mode","activeIdx","headerClicked",4,"ngFor","ngForOf"],[3,"bodyTpl","disabled","itemIdx","mode","activeIdx","headerClicked"],[3,"ngTemplateOutlet"],[1,"alert","alert-danger"]],template:function(k,E){1&k&&(r.YNc(0,u,2,0,"div",0),r.YNc(1,x,4,3,"div",1),r.YNc(2,C,2,0,"ng-template",null,2,r.W1O),r.YNc(4,T,2,0,"ng-template",null,3,r.W1O)),2&k&&(r.Q6J("ngIf",E.hasMixed),r.xp6(1),r.Q6J("ngIf",E.ui))},encapsulation:2,changeDetection:0}),g})();function M(g){for(const A of g)A.openPrevented.emit(!1)}},82530:(z,J,o)=>{o.d(J,{X:()=>G});var r=o(64762),e=o(78425),t=o(13913),f=o(14026),u=o(89969),y=o(54074),O=o(19807);class B{constructor(C){this.alert=(0,f.f3M)(O.c),this.tr=(0,f.f3M)(y.D);const T=this.tr.getNamespace(C);if(!T)throw new Error(`Namespace '${C}' not found`);this.namespace=T}alertHttpError(){return(0,u.b)({error:this.negotiate})}negotiate(C,T){if(C instanceof t.UA&&"string"==typeof C.error){const I=this.namespace.get(C.error);if(I)return this.alert.alertError(I)}return this.alert.negotiate(C,T)}}(0,r.gn)([(0,e.h)()],B.prototype,"negotiate",null);let G=(()=>{class x extends B{constructor(){super("events.errors")}}return x.\u0275fac=function(T){return new(T||x)},x.\u0275prov=f.Yz7({token:x,factory:x.\u0275fac,providedIn:"root"}),x})()},53249:(z,J,o)=>{o.d(J,{N:()=>O});var r=o(78771),e=o(14026),t=o(54074),f=o(68165),u=o(5674),y=o(61143);let O=(()=>{class B{constructor(x,C,T,I,M){this.tr=x,this.vat=C,this.cents=T,this.currency=I,this.incVat=M?.showVat??!0,this.includeVatBreakdown=M?.alwaysIncludeVatBreakdown??!1}transform(x,C=this.incVat){if(!x)return this.tr.translate("free","events");if(!this.includeVatBreakdown)return this.currency.transform(this.cents.transform(C?this.vat.transform(x):x));const T=this.currency.transform(this.cents.transform(x));return C?`${T} (${this.tr.translate("costIncVat","events",{cost:this.currency.transform(this.cents.transform(this.vat.transform(x)))})})`:T}}return B.\u0275fac=function(x){return new(x||B)(e.Y36(t.D,16),e.Y36(f.N,16),e.Y36(u.Z,16),e.Y36(y.z,16),e.Y36(r.f,24))},B.\u0275pipe=e.Yjl({name:"formatTicketPrice",type:B,pure:!0,standalone:!0}),B.\u0275prov=e.Yz7({token:B,factory:B.\u0275fac}),B})()},27444:(z,J,o)=>{o.d(J,{a:()=>t});var r=o(14026),e=o(40800);let t=(()=>{class f{constructor(){this.formSvc=(0,r.f3M)(e.l)}get disabled(){return this.ctrl.disabled}}return f.\u0275fac=function(y){return new(y||f)},f.\u0275dir=r.lG2({type:f,inputs:{ctrl:"ctrl"}}),f})()},34411:(z,J,o)=>{o.d(J,{o:()=>St});var r=o(10174),e=o(14026),t=o(52805),f=o(25989),u=o(56625),y=o(10067),O=o(50725),B=o(48921),G=o(1226),x=o(85597),C=o(55324),T=o(3814),I=o(72867),M=o(41069),g=o(97482),A=o(83375),k=o(27444),E=o(41383),U=o(78771),w=o(85960),Y=o(18416),gt=o(53249),ft=o(94688),ct=o(40800),rt=o(64177),tt=o(10218),dt=o(62441),nt=o(64683);function pt(b,h){1&b&&(e.TgZ(0,"span"),e._uU(1,", "),e.qZA())}function ot(b,h){if(1&b&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"formatTicketPrice"),e.qZA(),e.YNc(3,pt,2,0,"span",5)),2&b){const a=h.$implicit,c=h.last,_=e.oxw(3);
1e.xp6(1),e.AsE("",_.getAddon(a).name," (",e.xi3(2,3,_.getAddon(a).price,_.showVat),")"),e.xp6(2),e.Q6J("ngIf",!c)}}function at(b,h){if(1&b&&e.YNc(0,ot,4,6,"ng-template",4),2&b){const a=e.oxw(2);e.Q6J("ngForOf",a.ctrl.value)}}function p(b,h){1&b&&e._UZ(0,"span",1),2&b&&e.Q6J("translate","none")("tr-namespace","common")}function m(b,h){if(1&b&&(e._UZ(0,"strong",1),e.TgZ(1,"span"),e._uU(2,": "),e.qZA(),e.YNc(3,at,1,1,"ng-template",2),e.YNc(4,p,1,2,"ng-template",null,3,e.W1O)),2&b){const a=e.MAs(5),c=e.oxw();e.Q6J("translate","addonTickets")("tr-namespace","events.admin"),e.xp6(3),e.Q6J("ngIf",c.ctrl.value.length)("ngIfElse",a)}}function Z(b,h){1&b&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"tr"),e.qZA()),2&b&&(e.xp6(1),e.hij("\xa0(",e.lcZ(2,1,"ticket_state_sold-out"),")"))}function N(b,h){if(1&b){const a=e.EpF();e.TgZ(0,"button",9),e.NdJ("click.passive",function(_){const $=e.CHM(a).$implicit,mt=e.oxw(2);return e.KtG(mt.onClick($.id,_))}),e.TgZ(1,"h4",10)(2,"span"),e._uU(3),e.qZA(),e.YNc(4,Z,3,3,"span",5),e.qZA(),e.TgZ(5,"div",11),e._UZ(6,"tg-event-price",12),e.qZA()()}if(2&b){const a=h.$implicit,c=e.oxw(2);e.Q6J("ngClass",c.resolveStyleClass(a.id))("disabled",c.busy||c.isSoldOut(a.id)||!c.isReservation),e.xp6(3),e.Oqu(a.name),e.xp6(1),e.Q6J("ngIf",c.isSoldOut(a.id)&&!c.busy),e.xp6(2),e.Q6J("ticket",a)}}function D(b,h){if(1&b&&(e._UZ(0,"strong",6),e.TgZ(1,"div",7),e.YNc(2,N,7,5,"button",8),e.qZA()),2&b){const a=e.oxw();e.Q6J("translate","chooseAddons"),e.xp6(2),e.Q6J("ngForOf",a.allowedAddonTickets)("ngForTrackBy",a.trackById)}}let R=(()=>{class b{constructor(){this.addonsEnabled=(0,e.f3M)(U.f).addonsEnabled,this.allowedAddonTickets=[],this.busy=!1,this.formSvc=(0,e.f3M)(ct.l),this.reservations=void 0,this.showVat=(0,e.f3M)(ct.l).showVat,this.saveDraft=new e.vpe,this.trackById=w.trackById,this.cdr=(0,e.f3M)(e.sBO),this.selected=new Set,this.soldOut=new Set,this.stateSvc=(0,e.f3M)(ft.A),this.event=this.formSvc.event,this.isReservation=this.formSvc.isReservation,this.keyedAddonTickets=(0,E.b)(this.event.addon_tickets,a=>a.id)}getAddon(a){return this.formSvc.addonTickets.get(a)}isSoldOut(a){return this.soldOut.has(a)&&!this.isSelected(a)}ngOnChanges(a){if(a.ctrl){this.selected.clear();const c=this.ctrl.value;for(const _ of c)this.selected.add(_);this.reservations&&this.updateState(!1)}if(a.ticket){let c;if(this.allowedAddonTickets=[],c="string"==typeof this.ticket?this.findTicketById(this.ticket):this.ticket,!c)return;const _=c.addon_tickets.map($=>$.ticket_id),P=[];for(const $ of _)P.push(this.keyedAddonTickets.get($));this.allowedAddonTickets=P}}ngOnDestroy(){this.saveDraft.complete()}ngOnInit(){const a=this.saveDraft.pipe((0,u.Z)(null,null));this.stateSvc.pluck("busy").pipe((0,x.R)(a)).subscribe(c=>{this.busy=c,this.cdr.markForCheck()}),this.stateSvc.pluck("addonReservations").pipe((0,x.R)(a)).subscribe(c=>{this.reservations=c;for(let _=0;_<this.event.addon_tickets.length;++_){const $=this.reservations[this.event.addon_tickets[_].id];this.soldOut[_]=!$||$.booked>=$.reserved}this.updateState(!1),this.cdr.markForCheck()})}onClick(a,c){this.busy||!this.isSelected(a)&&(this.isSoldOut(a)||!this.addonIsSelectable(a))||this.toggleSelected(a)}resolveStyleClass(a){return this.isSelected(a)?"active":this.addonIsSelectable(a)?void 0:"disabled"}addonIsSelectable(a){const c=this.keyedAddonTickets.get(a),_=this.reservations[c.id];return Boolean(_&&_.booked<_.reserved)}findTicketById(a){for(const c of["tickets","guest_tickets"]){const _=this.event[c].find(P=>P.id===a);if(_)return _}}isSelected(a){return this.selected.has(a)}toggleSelected(a){this.selected.has(a)?this.selected.delete(a):this.selected.add(a),this.updateState()}updateState(a=!0){this.ctrl.setValue([...this.selected]),this.selected=new Set(this.selected),this.soldOut=new Set(this.soldOut),a&&this.saveDraft.emit({ids:[...this.selected]})}}return b.\u0275fac=function(a){return new(a||b)},b.\u0275cmp=e.Xpm({type:b,selectors:[["tg-booking-modal-addons"]],inputs:{ctrl:"ctrl",ticket:"ticket"},outputs:{saveDraft:"saveDraft"},standalone:!0,features:[e.TTD,e.jDz],decls:2,vars:2,consts:[[3,"ngIf"],[3,"translate","tr-namespace"],[3,"ngIf","ngIfElse"],["none",""],["ngFor","",3,"ngForOf"],[4,"ngIf"],[3,"translate"],[1,"list-group"],["class","list-group-item",3,"ngClass","disabled","click.passive",4,"ngFor","ngForOf","ngForTrackBy"],[1,"list-group-item",3,"ngClass","disabled","click.passive"],[1,"list-group-item-heading"],[1,"list-group-item-text"],[3,"ticket"]],template:function(a,c){1&a&&(e.YNc(0,m,6,4,"ng-template",0),e.YNc(1,D,3,3,"ng-template",0)),2&a&&(e.Q6J("ngIf",c.addonsEnabled&&!c.isReservation&&c.allowedAddonTickets.length),e.xp6(1),e.Q6J("ngIf",c.formSvc.isReservation&&c.reservations&&c.allowedAddonTickets.length))},dependencies:[C.GlobalModule,rt.mk,rt.sg,rt.O5,tt.P,dt.h,nt.H,t.UX,t.u5,Y.r,gt.N],encapsulation:2,changeDetection:0}),b})();var H=o(662),L=o(48568),F=o(5296),q=o(9803),W=o(3811),V=o(91696),X=o(86991),j=o(49363),It=o(70840),kt=o(99092),st=o(26495),ht=o(61958);function it(b,h){1&b&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&b&&(e.xp6(1),e.hij("*"," ",""))}function Mt(b,h){if(1&b){const a=e.EpF();e.TgZ(0,"button",8),e.NdJ("click.passive",function(){e.CHM(a);const _=e.oxw().$implicit,P=e.oxw();return e.KtG(P.reset(_.ctrl))}),e.qZA()}if(2&b){const a=e.oxw(2);e.Q6J("disabled",a.disabled)}}function At(b,h){if(1&b&&(e.TgZ(0,"div")(1,"label",1,2),e.YNc(3,it,2,1,"span",3),e.TgZ(4,"span"),e._uU(5),e.qZA()(),e.TgZ(6,"div",4)(7,"tg-help-block-container",5),e._UZ(8,"tg-custom-form-control",6),e.qZA(),e.YNc(9,Mt,1,1,"button",7),e.qZA()()),2&b){const a=h.$implicit,c=e.MAs(2),_=e.oxw();e.xp6(1),e.ekj("text-muted",_.disabled),e.Q6J("autoId",!1)("for",c.id),e.xp6(2),e.Q6J("ngIf",a.def.field.required),e.xp6(2),e.Oqu(a.def.name),e.xp6(3),e.Q6J("spec",a.def.field)("formControl",a.ctrl)("c
1ontrolId",c.id),e.xp6(1),e.Q6J("ngIf",!a.def.field.required)}}let Ct=(()=>{class b{constructor(){this.workshops=[],this._ctrl$=new q.X(void 0),this.cdr=(0,e.f3M)(e.sBO),this.formSvc=(0,e.f3M)(ct.l)}get ctrl(){return this._ctrl$.value}set ctrl(a){a!==this.ctrl&&this._ctrl$.next(a)}get disabled(){return this.ctrl.disabled}ngOnDestroy(){this._ctrl$.complete()}ngOnInit(){this._ctrl$.pipe((0,W.w)(It.observeControlValue),(0,O.U)(()=>Object.entries(this.ctrl.controls)),(0,V.x)(yt),(0,L.g)((a,[c,_])=>{const P=this.formSvc.workshops.get(c);return P&&a.push({ctrl:_,def:P}),a},()=>[]),(0,x.R)(this._ctrl$.pipe((0,u.Z)(null,null))),(0,F.H)("[BookingModalWorkshops.list]")).subscribe((0,H.e)(a=>{this.workshops=a,this.cdr.markForCheck()}))}reset(a){this.disabled||a.reset()}trackFn(a,c){return c.def.id}}return b.\u0275fac=function(a){return new(a||b)},b.\u0275cmp=e.Xpm({type:b,selectors:[["tg-booking-modal-workshops"]],inputs:{ctrl:"ctrl"},standalone:!0,features:[e.jDz],decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],[3,"autoId","for"],["idShop","id"],[4,"ngIf"],[1,"d-flex","flex-row","flex-nowrap"],[1,"w-100"],[3,"spec","formControl","controlId"],["class","btn btn-default",3,"tg-clear-button","disabled","click.passive",4,"ngIf"],[1,"btn","btn-default",3,"tg-clear-button","disabled","click.passive"]],template:function(a,c){1&a&&e.YNc(0,At,10,10,"div",0),2&a&&e.Q6J("ngForOf",c.workshops)("ngForTrackBy",c.trackFn)},dependencies:[C.GlobalModule,rt.sg,rt.O5,kt.X,st.f,T.u0,T.k6,dt.h,ht.y,t.UX,t.JJ,t.oH,j.m,X.h],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{margin-top:var(--tg-space-4)}[_nghost-%COMP%] > div[_ngcontent-%COMP%]:first-child{margin-top:0}tg-help-block-container[_ngcontent-%COMP%]{width:100%}"],changeDetection:0}),b})();function yt(b,h){if(b.length!==h.length)return!1;for(let a=0;a<b.length;++a)if(b[a][0]!==h[a][0])return!1;return!0}function Et(b,h){if(1&b){const a=e.EpF();e.TgZ(0,"div",3,4)(2,"label",5),e._uU(3),e.ALo(4,"tr"),e.qZA(),e.TgZ(5,"tg-help-block-container")(6,"textarea",6),e.NdJ("blurIfChanged",function(_){e.CHM(a);const P=e.oxw(2);return e.KtG(P.forwardDraft("dietary",_))}),e.ALo(7,"tr"),e.qZA()()()}if(2&b){const a=h.ngIf,c=e.MAs(1);e.Q6J("autoId",!1),e.xp6(2),e.ekj("text-muted",a.disabled),e.Q6J("for",c.id),e.xp6(1),e.hij("",e.lcZ(4,8,"dietary"),":"),e.xp6(3),e.Q6J("id",c.id)("placeholder",e.lcZ(7,10,"dietary"))("formControl",a)}}function Ot(b,h){if(1&b){const a=e.EpF();e.TgZ(0,"div",3,7)(2,"label",5),e._uU(3),e.ALo(4,"tr"),e.qZA(),e.TgZ(5,"tg-help-block-container")(6,"textarea",6),e.NdJ("blurIfChanged",function(_){e.CHM(a);const P=e.oxw(2);return e.KtG(P.forwardDraft("special_needs",_))}),e.ALo(7,"tr"),e.qZA()()()}if(2&b){const a=h.ngIf,c=e.MAs(1);e.Q6J("autoId",!1),e.xp6(2),e.ekj("text-muted",a.disabled),e.Q6J("for",c.id),e.xp6(1),e.hij("",e.lcZ(4,8,"special_needs"),":"),e.xp6(3),e.Q6J("id",c.id)("placeholder",e.lcZ(7,10,"special_needs"))("formControl",a)}}function Dt(b,h){if(1&b&&(e.YNc(0,Et,8,12,"div",2),e.YNc(1,Ot,8,12,"div",2)),2&b){const a=e.oxw();e.Q6J("ngIf",a.ctrl.controls.dietary),e.xp6(1),e.Q6J("ngIf",a.ctrl.controls.special_needs)}}function Bt(b,h){if(1&b){const a=e.EpF();e.TgZ(0,"tg-booking-modal-addons",8),e.NdJ("saveDraft",function(_){e.CHM(a);const P=e.oxw();return e.KtG(P.saveAddonsDraft.emit(_))}),e.qZA()}if(2&b){const a=e.oxw();e.Q6J("ctrl",a.addonsCtrl)("ticket",a.ticket)}}function Pt(b,h){if(1&b&&e._UZ(0,"tg-booking-modal-workshops",9)(1,"tg-help-block-container",10),2&b){const a=e.oxw();e.Q6J("ctrl",a.ctrl.controls.workshops),e.xp6(1),e.Q6J("control",a.ctrl.controls.workshops)}}let St=(()=>{class b extends k.a{constructor(){super(...arguments),this.saveAddonsDraft=new e.vpe,this.saveInfoDraft=new e.vpe,this.hideInfo=!1}forwardDraft(a,c){this.saveInfoDraft.emit({field:a,...c})}ngOnDestroy(){(0,A.completeAll)(this.saveInfoDraft,this.saveAddonsDraft)}ngOnInit(){const a=this.ctrl.controls.workshops;if(!a)return;let c=f.Z;if(this.formSvc.profileFieldWorkshopIds.size){const P=($,[mt,Tt])=>(this.formSvc.profileFieldWorkshopIds.has(mt)||($[mt]=Tt),$);c=$=>Object.entries($).reduce(P,{})}const _=this.saveInfoDraft.pipe((0,u.Z)(null,null));a.valueChanges.pipe((0,y.b)(1e3),(0,O.U)(()=>c(a.getRawValue())),(0,B.O)(c(a.getRawValue())),(0,r.p)(),(0,G.G)(),(0,x.R)(_)).subscribe(([P,$])=>{this.forwardDraft("workshops",{from:P,to:$})})}}return b.\u0275fac=function(){let h;
1return function(c){return(h||(h=e.n5z(b)))(c||b)}}(),b.\u0275cmp=e.Xpm({type:b,selectors:[["tg-booking-modal-common-user-info"]],viewQuery:function(a,c){if(1&a&&e.Gf(Ct,5),2&a){let _;e.iGM(_=e.CRH())&&(c.workshops=_.first)}},inputs:{addonsCtrl:"addonsCtrl",hideInfo:"hideInfo",ticket:"ticket"},outputs:{saveAddonsDraft:"saveAddonsDraft",saveInfoDraft:"saveInfoDraft"},standalone:!0,features:[e._Bn([],[{provide:g.z,useValue:"events"}]),e.qOj,e.jDz],decls:3,vars:3,consts:[[3,"ngIf"],[3,"ctrl","ticket","saveDraft",4,"ngIf"],["class","form-group",3,"autoId",4,"ngIf"],[1,"form-group",3,"autoId"],["idDietary","id"],[3,"for"],["rows","3",1,"form-control",3,"id","placeholder","formControl","blurIfChanged"],["idSpecial","id"],[3,"ctrl","ticket","saveDraft"],[1,"mb-4",3,"ctrl"],[3,"control"]],template:function(a,c){1&a&&(e.YNc(0,Dt,2,2,"ng-template",0),e.YNc(1,Bt,1,2,"tg-booking-modal-addons",1),e.YNc(2,Pt,2,2,"ng-template",0)),2&a&&(e.Q6J("ngIf",!c.hideInfo),e.xp6(1),e.Q6J("ngIf",c.ticket),e.xp6(1),e.Q6J("ngIf",c.ctrl.controls.workshops))},dependencies:[C.GlobalModule,rt.O5,st.f,T.u0,T.k6,ht.y,nt.H,I.M,T.TV,M.d,t.UX,t.Fj,t.JJ,t.oH,Ct,R],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),b})()},36709:(z,J,o)=>{o.d(J,{M:()=>eo,q:()=>Vt});var r=o(92194),e=o(5296),t=o(14026),f=o(5891),u=o(69962),y=o(26454),O=o(49037),B=o(9004),G=o(98411),x=o(95517),C=o(3811),T=o(19259),I=o(50725),M=o(5958),g=o(20700),A=o(78771),k=o(13032),E=o(58629),U=o(19807),w=o(93338),Y=o(55324),gt=o(27527),ft=o(65606),ct=o(97482),rt=o(88462),tt=o(89763),dt=o(51248),nt=o(20321),pt=o(82530),ot=o(53249),at=o(662),p=o(75134),m=o(52805),Z=o(25989),N=o(9803),D=o(85597),R=o(56625),H=o(67263),L=o(72867),F=o(70840),q=o(82125),W=o(64177),V=o(50339);function X(s,l){if(1&s&&(t.TgZ(0,"span"),t._uU(1),t.qZA()),2&s){const n=t.oxw();t.xp6(1),t.AsE("",n.labelPrefix,""," ","")}}function j(s,l){if(1&s&&t._UZ(0,"div",3),2&s){const n=t.oxw();t.Udp("max-height",n.maxHeight),t.Q6J("innerHTML",n.html,t.oJD)}}let It=(()=>{class s extends q.f{constructor(){super(...arguments),this.maxHeight="200px",this.startExpanded=!1}toggle(n){n.preventDefault(),this.expanded=!this.expanded}ngOnInit(){super.ngOnInit(),this.expanded=this.startExpanded}}return s.\u0275fac=function(){let l;return function(i){return(l||(l=t.n5z(s)))(i||s)}}(),s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-wysiwyg-cfg-collapsible"]],inputs:{labelPrefix:"labelPrefix",maxHeight:"maxHeight",startExpanded:"startExpanded"},standalone:!0,features:[t.qOj,t.jDz],decls:6,vars:3,consts:[[4,"ngIf"],[1,"pointer","text-nowrap",3,"click"],["class","expand",3,"max-height","innerHTML",4,"ngIf"],[1,"expand",3,"innerHTML"]],template:function(n,i){1&n&&(t.YNc(0,X,2,2,"span",0),t.TgZ(1,"a",1),t.NdJ("click",function(v){return i.toggle(v)}),t._uU(2),t.qZA(),t.TgZ(3,"span"),t._uU(4,"."),t.qZA(),t.YNc(5,j,1,3,"div",2)),2&n&&(t.Q6J("ngIf",i.labelPrefix),t.xp6(2),t.Oqu(i.heading),t.xp6(3),t.Q6J("ngIf",i.expanded))},dependencies:[Y.GlobalModule,W.O5,V.k],styles:[".expand[_ngcontent-%COMP%]{overflow-y:auto}"],changeDetection:0}),s})();var kt=o(27444),st=o(40800),ht=o(16354),it=o(64683);function Mt(s,l){1&s&&(t._uU(0),t.ALo(1,"tr")),2&s&&t.Oqu(t.xi3(1,1,"notSet","common"))}function At(s,l){if(1&s&&(t._uU(0),t.ALo(1,"formatTicketPrice")),2&s){const n=t.oxw();t.AsE("",n.ticket.name," - ",t.xi3(1,2,n.ticket.price,n.showVat),"")}}function Ct(s,l){if(1&s&&t._uU(0),2&s){const n=t.oxw(2);t.Oqu(n.name)}}function yt(s,l){if(1&s&&t.YNc(0,Ct,1,1,"ng-template",3),2&s){const n=t.oxw(),i=t.MAs(1);t.Q6J("ngIf",n.name)("ngIfElse",i)}}function Et(s,l){if(1&s&&t._UZ(0,"tg-user-name",7),2&s){const n=t.oxw();t.Q6J("user",n.user)("link",!0)("linkTarget","_blank")}}function Ot(s,l){1&s&&(t.TgZ(0,"span"),t._uU(1,", "),t.qZA())}function Dt(s,l){if(1&s&&(t.TgZ(0,"span"),t._uU(1),t.ALo(2,"formatTicketPrice"),t.qZA(),t.YNc(3,Ot,2,0,"span",9)),2&s){const n=l.$implicit,i=l.last,d=t.oxw(2);t.xp6(1),t.AsE("",d.getAddon(n).name," - ",t.xi3(2,3,d.getAddon(n).price,d.showVat),""),t.xp6(2),t.Q6J("ngIf",!i)}}function Bt(s,l){if(1&s&&(t.TgZ(0,"strong",1),t._uU(1),t.ALo(2,"tr"),t.qZA(),t.TgZ(3,"div",2),t.YNc(4,Dt,4,6,"ng-template",8),t.qZA()),2&s){const n=t.oxw();
1t.xp6(1),t.hij("",t.xi3(2,2,"addonTickets","events.admin"),":"),t.xp6(3),t.Q6J("ngForOf",n.addons)}}let Pt=(()=>{class s{constructor(){this.showVat=(0,t.f3M)(st.l).showVat,this.formSvc=(0,t.f3M)(st.l)}getAddon(n){return this.formSvc.addonTickets.get(n)}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-confirm-tab-attendee"]],hostVars:2,hostBindings:function(n,i){2&n&&t.ekj("row",!0)},inputs:{addons:"addons",name:"name",ticket:"ticket",user:"user"},standalone:!0,features:[t.jDz],decls:15,vars:13,consts:[["tplNotSet",""],[1,"col-xs-12","col-md-4"],[1,"col-xs-12","col-md-8"],[3,"ngIf","ngIfElse"],["tplBasicName",""],[3,"user","link","linkTarget",4,"ngIf","ngIfElse"],[3,"ngIf"],[3,"user","link","linkTarget"],["ngFor","",3,"ngForOf"],[4,"ngIf"]],template:function(n,i){if(1&n&&(t.YNc(0,Mt,2,4,"ng-template",null,0,t.W1O),t.TgZ(2,"strong",1),t._uU(3),t.ALo(4,"tr"),t.qZA(),t.TgZ(5,"div",2),t.YNc(6,At,2,5,"ng-template",3),t.qZA(),t.TgZ(7,"strong",1),t._uU(8),t.ALo(9,"tr"),t.qZA(),t.TgZ(10,"div",2),t.YNc(11,yt,1,2,"ng-template",null,4,t.W1O),t.YNc(13,Et,1,3,"tg-user-name",5),t.qZA(),t.YNc(14,Bt,5,5,"ng-template",6)),2&n){const d=t.MAs(1),v=t.MAs(12);t.xp6(3),t.hij("",t.xi3(4,7,"ticket","events"),":"),t.xp6(3),t.Q6J("ngIf",i.ticket)("ngIfElse",d),t.xp6(2),t.hij("",t.xi3(9,10,"name","addressbook.admin"),":"),t.xp6(5),t.Q6J("ngIf",i.user)("ngIfElse",v),t.xp6(1),t.Q6J("ngIf",i.addons.length)}},dependencies:[Y.GlobalModule,W.sg,W.O5,ht.j,it.H,ot.N],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),s})();var St=o(84773),b=o(10218),h=o(7933),a=o(13731),c=o(61958),_=o(95707),P=o(88226),$=o(6730),mt=o(29910);function Tt(s,l){1&s&&(t._uU(0),t.ALo(1,"tr")),2&s&&t.hij("[",t.xi3(1,1,"notSet","common"),"]")}function Rt(s,l){if(1&s&&t._uU(0),2&s){const n=t.oxw();t.Oqu(n.userName)}}function le(s,l){if(1&s&&t._UZ(0,"tg-confirm-tab-attendee",6),2&s){const n=t.oxw();t.Q6J("name",n.userName)("ticket",n.formSvc.primaryTicket)("user",n.formSvc.bookingUser)("addons",n.addons.value)}}function de(s,l){if(1&s&&t._uU(0),2&s){const n=t.oxw(2).$implicit;t.Oqu(n.name)}}function ue(s,l){if(1&s&&t.YNc(0,de,1,1,"ng-template",7),2&s){const n=t.oxw().$implicit;t.oxw();const i=t.MAs(1);t.Q6J("ngIf",n.name)("ngIfElse",i)}}function ge(s,l){if(1&s&&t._UZ(0,"tg-confirm-tab-attendee",6),2&s){const n=t.oxw().$implicit;t.Q6J("name",n.name)("ticket",n.ticket)("user",n.user)("addons",n.addons)}}function me(s,l){if(1&s&&(t.TgZ(0,"tg-accordion-item",1),t.YNc(1,ue,1,2,"ng-template",2),t.YNc(2,ge,1,4,"tg-confirm-tab-attendee",3),t.qZA()),2&s){const n=t.oxw();t.Q6J("disabled",n.disabled)}}function fe(s,l){if(1&s&&(t.TgZ(0,"span"),t._uU(1),t.ALo(2,"tr"),t.qZA()),2&s){const n=l.ngIf;t.xp6(1),t.AsE(""," ","",t.lcZ(2,2,n),"")}}function pe(s,l){if(1&s&&t._UZ(0,"tg-help-block",13),2&s){const n=t.oxw(2);t.Q6J("control",n.ctrl)}}function he(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"div",8)(1,"label")(2,"input",9),t.NdJ("touched",function(){t.CHM(n);const d=t.oxw();return t.KtG(d.markForCheck())}),t.qZA(),t.TgZ(3,"span"),t._UZ(4,"span",10),t.YNc(5,fe,3,4,"span",11),t.qZA()()(),t.YNc(6,pe,1,1,"tg-help-block",12)}if(2&s){const n=t.oxw();t.xp6(2),t.Q6J("formControl",n.ctrl),t.xp6(1),t.ekj("text-muted",n.disabled)("text-danger",n.invalidAndTouched),t.xp6(1),t.Q6J("translate","bookingConfirmCheckbox"),t.xp6(1),t.Q6J("ngIf",n.checkboxExtraText),t.xp6(1),t.Q6J("ngIf",n.ctrl.touched)}}function ve(s,l){1&s&&t._UZ(0,"input",17),2&s&&t.Q6J("checked",!0)("disabled",!0)}function _e(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"input",9),t.NdJ("touched",function(){t.CHM(n);const d=t.oxw(2);return t.KtG(d.markForCheck())}),t.qZA()}if(2&s){const n=t.oxw(2);t.Q6J("formControl",n.eventsTosCtrl)}}function be(s,l){if(1&s&&t._UZ(0,"tg-help-block",13),2&s){const n=t.oxw(2);t.Q6J("control",n.eventsTosCtrl)}}function ke(s,l){if(1&s&&(t.TgZ(0,"div",8)(1,"label"),t.YNc(2,ve,1,2,"ng-template",null,14,t.W1O),t.YNc(4,_e,1,1,"input",15),t.TgZ(5,"span"),t._uU(6),t.ALo(7,"tr"),t.qZA(),t._UZ(8,"tg-wysiwyg-cfg-collapsible",16),t.ALo(9,"tr"),t.qZA()(),t.YNc(10,be,1,1,"tg-help-block",12)),2&s){const n=t.MAs(3),i=t.oxw();
1t.xp6(1),t.ekj("text-muted",i.disabled||!i.formSvc.isReservation)("text-danger",i.eventsTosInvalidAndTouched),t.xp6(3),t.Q6J("ngIf",i.formSvc.isReservation)("ngIfElse",n),t.xp6(2),t.lnq(""," ","",t.xi3(7,13,"iAcceptThe","signup"),""," ",""),t.xp6(2),t.Q6J("heading",t.xi3(9,16,"eventsTermsAndConditions","legal"))("templateId","eventstermsandconditions")("maxHeight","150px"),t.xp6(2),t.Q6J("ngIf",i.eventsTosCtrl.touched&&i.formSvc.isReservation)}}let $t=(()=>{class s extends kt.a{constructor(){super(...arguments),this.guests=[],this.trackByIdx=Z.Z,this._ctrlGuests$=new N.X(void 0),this.cdr=(0,t.f3M)(t.sBO)}get ctrlGuests(){return this._ctrlGuests$.value}set ctrlGuests(n){n!==this.ctrlGuests&&this._ctrlGuests$.next(n)}get invalidAndTouched(){return this.ctrl.invalid&&this.ctrl.touched}get eventsTosInvalidAndTouched(){return this.eventsTosCtrl.invalid&&this.eventsTosCtrl.touched}markForCheck(){this.cdr.markForCheck()}ngOnDestroy(){this.ctrl.markAsTouched(),this.eventsTosCtrl?.markAsTouched(),this._ctrlGuests$.complete()}ngOnInit(){this.userName=this.formSvc.bookingUser.fullName,this._ctrlGuests$.pipe((0,C.w)(F.observeControlValue),(0,p.V)(this.formatGuest.bind(this)),(0,D.R)(this._ctrlGuests$.pipe((0,R.Z)(null,null))),(0,e.H)("[BookingModalConfirmTab.guests]")).subscribe((0,at.e)(n=>{this.guests=n,this.checkboxExtraText=n.length?this.formSvc.isPublicUser?"bookingConfirmGuestsCheckboxPublic":"bookingConfirmGuestsCheckbox":void 0,this.cdr.markForCheck()}))}formatGuest(n){let i,d;if(n.user)i=n.user,d=i.fullName;else{const v=`${(n.firstname||"").trim()} ${(n.lastname||"").trim()}`;" "!==v&&(d=v)}return{addons:n.addons,name:d,ticket:this.formSvc.guestTickets.get(n.ticket),user:i}}}return s.\u0275fac=function(){let l;return function(i){return(l||(l=t.n5z(s)))(i||s)}}(),s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-booking-modal-confirm-tab"]],inputs:{addons:"addons",eventsTosCtrl:"eventsTosCtrl",ctrlGuests:["guests","ctrlGuests"]},standalone:!0,features:[t._Bn([{multi:!0,provide:m.JU,useExisting:(0,t.Gpc)(()=>s)}]),t.qOj,t.jDz],decls:9,vars:5,consts:[["tplNotSet",""],[3,"disabled"],["tg-accordion-item-heading",""],[3,"name","ticket","user","addons",4,"tg-accordion-item-body"],[3,"disabled",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngIf"],[3,"name","ticket","user","addons"],[3,"ngIf","ngIfElse"],[1,"checkbox"],["type","checkbox",3,"formControl","touched"],[3,"translate"],[4,"ngIf"],[3,"control",4,"ngIf"],[3,"control"],["tplReadonlyEventsTos",""],["type","checkbox",3,"formControl","touched",4,"ngIf","ngIfElse"],[3,"heading","templateId","maxHeight"],["type","checkbox","name","eventstermsandconditions",3,"checked","disabled"]],template:function(n,i){1&n&&(t.YNc(0,Tt,2,4,"ng-template",null,0,t.W1O),t.TgZ(2,"tg-accordion")(3,"tg-accordion-item",1),t.YNc(4,Rt,1,1,"ng-template",2),t.YNc(5,le,1,4,"tg-confirm-tab-attendee",3),t.qZA(),t.YNc(6,me,3,1,"tg-accordion-item",4),t.qZA(),t.YNc(7,he,7,8,"ng-template",5),t.YNc(8,ke,11,19,"ng-template",5)),2&n&&(t.xp6(3),t.Q6J("disabled",i.disabled),t.xp6(3),t.Q6J("ngForOf",i.guests)("ngForTrackBy",i.trackByIdx),t.xp6(1),t.Q6J("ngIf",i.formSvc.isReservation),t.xp6(1),t.Q6J("ngIf",i.formSvc.showEventsTos))},dependencies:[Y.GlobalModule,W.sg,W.O5,St.s,b.P,h._,a.z,c.y,it.H,L.M,m.UX,m.Wl,m.JJ,m.oH,H.h,_.Z,P.r,$._,mt.X,It,Pt],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),s})();var Qt=o(82668),Jt=o(10174),zt=o(91183),Ce=o(25336),Ft=o(6281),Xt=o(92706),Lt=o(48921),Te=o(41383);let qt=(()=>{class s extends kt.a{ngOnInit(){if(!this.formSvc.enableWorkshops)return;const n=new Set(this.formSvc.eventWorkshops.map(i=>i.id));this.workshops$.pipe((0,D.R)(this._destroyed$)).subscribe(i=>{const d=(0,Te.b)(i,S=>S.id);let v=!1;const Q={emitEvent:!1};for(const S of Object.keys(this.workshopsCtrl.controls))!n.has(S)&&!d.has(S)&&(this.workshopsCtrl.removeControl(S,Q),v=!0);for(const S of i)S.id in this.workshopsCtrl.controls||(v=!0,this.workshopsCtrl.addControl(S.id,this.formSvc.createWorkshop(S.field),Q));v&&this.workshopsCtrl.updateValueAndValidity()})}}return s.\u0275fac=function(){let l;return function(i){return(l||(l=t.n5z(s)))(i||s)}}(),s.\u0275dir=t.lG2({type:s,features:[t.qOj]}),s})();var Wt=o(34411),et=o(87842),Zt=o(94688),xe=o(61225),wt=o(85868),te=o(90237),Ie=o(54610),Nt=o(37666),Yt=o(39805);const Me=function(s){return{num:s}};function Ae(s,l){if(1&s&&(t.TgZ(0,"option",5),t._uU(1),t.ALo(2,"applyTrPlaceholders"),t.ALo(3,"translateCount"),t.ALo(4,"tr"),t.qZA()),2&s){const n=l.$implicit;t.Q6J("ngValue",n),t.xp6(1),t.Oqu(t.xi3(2,2,t.xi3(3,5,t.lcZ(4,8,"nGuests"),n),t.VKq(10,Me,n)))}}function ye(s,l){if(1&s&&t._UZ(0,"span",9),2&s){const n=t.oxw(3);t.Q6J("translate","underReservedNotice")("tr-placeholders",n.underReserved)}}function Ee(s,l){if(1&s&&(t.TgZ(0,"span",6),t._UZ(1,"i",7),t.YNc(2,ye,1,2,"span",8),t.qZA()),2&s){const n=t.oxw(2);t.xp6(2),t.Q6J("ngIf",n.underReserved)}}const Oe=function(){return{standalone:!0}};function De(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"select",1),t.NdJ("ngModelChange",function(d){t.CHM(n);const v=t.oxw();return t.KtG(v.onChange(d))}),t.YNc(1,Ae,5,12,"option",2),t.qZA(),t._UZ(2,"tg-loader-spinner",3),t.YNc(3,Ee,3,1,"span",4)}if(2&s){const n=t.oxw();t.Q6J("ngModel",n.value)("tgConsumeControlId","id")("ngModelOptions",t.DdM(7,Oe))("disabled",n.disabled),t.xp6(1),t.Q6J("tgRepeatFor",n.max+1),t.xp6(1),t.Q6J("invisible",!n.disabled),t.xp6(1),t.Q6J("ngIf",!n.disabled&&n.underReserved)}}let Be=(()=>{class s{constructor(){this.max=0,this.cdr=(0,t.f3M)(t.sBO),this.stateSvc=(0,t.f3M)(Zt.A)}ngOnDestroy(){(0,dt.unsubscribeFromAll)(this._subs)}ngOnInit(){this.stateSvc.latest("maxGuests").subscribe(n=>{this.max=n,this.cdr.markForCheck()}),this._subs=[this.stateSvc.store.subscribe(n=>{this.disabled=n.reservationsChanging,this.cdr.markForCheck()}),this.stateSvc.store.pipe((0,I.U)(n=>n.guestsPending??n.guestIds.length),(0,tt.N)(this.value=0)).subscribe(n=>{this.value=n,this.refreshUnderReserved(),this.cdr.markForCheck()}),this.stateSvc.pluck("guestIds","length").pipe((0,tt.N)(this.numReserved=0)).subscribe(n=>{this.numReserved=n,this.refreshUnderReserved(),this.cdr.markForCheck()})]}onChange(n){if(this.disabled)return void this.cdr.detectChanges();const i=n-this.value;if(0===i)return;const d=i>0?(0,et.Jt)({by:i}):(0,et.YR)({by:-i});this.stateSvc.dispatch(d)}refreshUnderReserved(){this.underReserved=this.numReserved===this.value?void 0:{num:this.numReserved}}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-num-guests"]],standalone:!0,features:[t.jDz],decls:1,vars:1,consts:[[3,"ngIf"],[1,"form-control",3,"ngModel","tgConsumeControlId","ngModelOptions","disabled","ngModelChange"],[3,"ngValue",4,"tgRepeat","tgRepeatFor"],[3,"invisible"],["class","text-info",4,"ngIf"],[3,"ngValue"],[1,"text-info"],[1,"fa","fa-info-circle"],[3,"translate","tr-placeholders",4,"ngIf"],[3,"translate","tr-placeholders"]],template:function(n,i){1&n&&t.YNc(0,De,4,8,"ng-template",0),2&n&&t.Q6J("ngIf",i.max)},dependencies:[Y.GlobalModule,W.O5,xe.c,wt.G,b.P,te.I,Ie.e,Nt.d,Yt.v,it.H,m.u5,m.YN,m.Kr,m.EJ,m.JJ,m.On],styles:["[_nghost-%COMP%]{display:block}tg-loader-spinner[_ngcontent-%COMP%]{margin-left:1ch;margin-right:1ch}span[_ngcontent-%COMP%] + span[_ngcontent-%COMP%]{margin-left:1ch}select[_ngcontent-%COMP%]{display:inline-block;width:auto}"],changeDetection:0}),s})();var Gt=o(3814);function Pe(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"tg-booking-modal-common-user-info",2),t.NdJ("saveInfoDraft",function(d){t.CHM(n);const v=t.oxw();return t.KtG(v.saveDraftUserDetails(d))})("saveAddonsDraft",function(d){t.CHM(n);const v=t.oxw();return t.KtG(v.saveDraftUserAddons(d))}),t.qZA()}if(2&s){const n=t.oxw();t.Q6J("ctrl",n.ctrl)("addonsCtrl",n.addonsCtrl)("ticket",n.formSvc.primaryTicket)}}function Se(s,l){if(1&s&&(t.TgZ(0,"span"),t._uU(1),t.ALo(2,"applyTrPlaceholders"),t.ALo(3,"translateCount"),t.ALo(4,"tr"),t.qZA()),2&s){const n=t.oxw(2);t.xp6(1),t.lnq(""," ","(",t.xi3(2,3,t.xi3(3,6,t.lcZ(4,9,"upToNGuests"),n.maxGuestsPH.num),n.maxGuestsPH),")"," ","")}}function Ze(s,l){if(1&s&&(t.TgZ(0,"div",3)(1,"label",4,5),t._UZ(3,"span",6),t.YNc(4,Se,5,11,"span",7),t.TgZ(5,"span"),t._uU(6,"?"),t.qZA()(),t._UZ(7,"tg-num-guests"),t.qZA()),2&s){const n=t.MAs(2),i=t.oxw();
1t.xp6(1),t.ekj("text-muted",i.disabled),t.Q6J("autoId",!1)("for",n.id),t.xp6(2),t.Q6J("translate","howManyGuests"),t.xp6(1),t.Q6J("ngIf",i.maxGuestsPH)}}let Ue=(()=>{class s extends qt{constructor(){super(...arguments),this.store=(0,t.f3M)(zt.yh)}get workshops$(){const n=(0,Ce.of)(this.formSvc.primaryTicket.workshops),i=this.addonsCtrl.valueChanges.pipe((0,Lt.O)(this.addonsCtrl.value),(0,Jt.p)(),(0,I.U)(d=>d.flatMap(v=>this.formSvc.addonTickets.get(v)?.workshops??[])));return(0,Ft.a)([n,i]).pipe((0,I.U)(([d,v])=>[...d,...v]))}get workshopsCtrl(){return this.ctrl.controls.workshops}ngOnDestroy(){this._destroyed$&&(0,Qt.t)(this._destroyed$)}ngOnInit(){this._destroyed$=new Xt.c,super.ngOnInit(),this.formSvc.primaryTicket.maximum_guests&&(this.maxGuestsPH={num:this.formSvc.primaryTicket.maximum_guests})}saveDraftUserAddons(n){this.store.dispatch((0,et.oV)(n))}saveDraftUserDetails({field:n,to:i}){this.store.dispatch((0,et.zi)({[n]:i}))}}return s.\u0275fac=function(){let l;return function(i){return(l||(l=t.n5z(s)))(i||s)}}(),s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-booking-modal-details-tab"]],inputs:{acceptsGuests:"acceptsGuests",addonsCtrl:"addonsCtrl"},standalone:!0,features:[t._Bn([{multi:!0,provide:m.JU,useExisting:(0,t.Gpc)(()=>s)}]),t.qOj,t.jDz],decls:2,vars:2,consts:[[3,"ctrl","addonsCtrl","ticket","saveInfoDraft","saveAddonsDraft",4,"ngIf"],["class","form-group",4,"ngIf"],[3,"ctrl","addonsCtrl","ticket","saveInfoDraft","saveAddonsDraft"],[1,"form-group"],[3,"autoId","for"],["idNumGuests","id"],[3,"translate"],[4,"ngIf"]],template:function(n,i){1&n&&(t.YNc(0,Pe,1,3,"tg-booking-modal-common-user-info",0),t.YNc(1,Ze,8,6,"div",1)),2&n&&(t.Q6J("ngIf",i.formSvc.showCommonUserInfo),t.xp6(1),t.Q6J("ngIf",i.acceptsGuests&&i.formSvc.isReservation))},dependencies:[Y.GlobalModule,W.O5,b.P,Gt.u0,Gt.k6,c.y,Nt.d,Yt.v,it.H,Wt.o,Be],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),s})();var ee=o(64762),ne=o(88990),Re=o(79662);function Je(s,l){1&s&&t._UZ(0,"div",2),2&s&&t.Q6J("translate","hasDuplicateGuests")}function Ne(s,l){if(1&s&&(t.TgZ(0,"div"),t._UZ(1,"span",3),t.ALo(2,"applyTrPlaceholders"),t.ALo(3,"translateCount"),t.ALo(4,"tr"),t.TgZ(5,"span"),t._uU(6),t.ALo(7,"applyTrPlaceholders"),t.ALo(8,"translateCount"),t.ALo(9,"tr"),t.qZA()()),2&s){const n=l.$implicit,i=t.oxw();t.xp6(1),t.Q6J("innerHTML",t.xi3(2,2,t.xi3(3,5,t.lcZ(4,8,"e_overbooked_1"),n.actual),i.startPlaceholder(n)),t.oJD),t.xp6(5),t.hij(": ",t.xi3(7,10,t.xi3(8,13,t.lcZ(9,16,"e_overbooked_2"),n.max),i.endPlaceholder(n)),"")}}class vt{constructor(){this.tracker=(0,Re.createTrackFn)("ticket"),this.cdr=(0,t.f3M)(t.sBO)}endPlaceholder(l){return l.max>1?{count:l.max}:{}}ngOnDestroy(){this._sub?.unsubscribe()}ngOnInit(){this.setErrors(),this._sub=this.ctrl.valueChanges.subscribe(()=>{this.setErrors(),this.cdr.markForCheck()})}startPlaceholder(l){return 1===l.actual?{name:l.ticket}:{count:l.actual,name:l.ticket}}setErrors(){const l=this.ctrl.errors;l?(this.hasDuplicateGuests=!0===l.duplicateUserId,this.overbooked=l.overbooked??[]):(this.hasDuplicateGuests=!1,this.overbooked=[])}}vt.\u0275fac=function(l){return new(l||vt)},vt.\u0275cmp=t.Xpm({type:vt,selectors:[["tg-booking-modal-guest-errors"]],hostVars:6,hostBindings:function(l,n){2&l&&t.ekj("alert",!0)("alert-danger",!0)("text-center",!0)},inputs:{ctrl:"ctrl"},standalone:!0,features:[t.jDz],decls:2,vars:3,consts:[[3,"translate",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"translate"],[3,"innerHTML"]],template:function(l,n){1&l&&(t.YNc(0,Je,1,1,"div",0),t.YNc(1,Ne,10,18,"div",1)),2&l&&(t.Q6J("ngIf",n.hasDuplicateGuests),t.xp6(1),t.Q6J("ngForOf",n.overbooked)("ngForTrackBy",n.tracker))},dependencies:[Y.GlobalModule,W.sg,W.O5,b.P,Nt.d,Yt.v,it.H],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%]:empty{display:none}"],changeDetection:0}),(0,ee.gn)([(0,ne.qQ)(s=>s.max)],vt.prototype,"endPlaceholder",null),(0,ee.gn)([(0,ne.qQ)(s=>`${s.actual}|${s.ticket}`)],vt.prototype,"startPlaceholder",null);var Ht=o(54074);let Ge=(()=>{class s{constructor(){if(!this.txtNotSet){const n=(0,t.f3M)(Ht.D);
1s.prototype.txtNotSet=`[${n.translate("notSet","common")}]`,s.prototype.txtGuest=n.translate("guest","events")}}get defaultName(){return`${this.txtGuest} ${this.idx+1}`}get providedName(){if("user"===this.type){const n=this.user?.firstname;if(n)return n}else{if(this.later)return this.txtNotSet;if(this.firstname)return this.firstname}}ngOnChanges(){this.resolved=this.providedName??this.defaultName}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-booking-modal-guest-tab-name"]],inputs:{firstname:"firstname",idx:"idx",later:"later",type:"type",user:"user"},standalone:!0,features:[t.TTD,t.jDz],decls:1,vars:1,template:function(n,i){1&n&&t._uU(0),2&n&&t.Oqu(i.resolved)},encapsulation:2,changeDetection:0}),s})();var _t=o(91696),Qe=o(1226),Fe=o(75372),Kt=o(35673),oe=o(7670),se=o(10319),Le=o(26477),We=o(41069),we=o(22675),Ye=o(95877),He=o(71050),Ke=o(84416),je=o(22710),Ve=o(76473),$e=o(85960),ze=o(20813);let Xe=(()=>{class s{constructor(){this.count=(0,t.f3M)(Nt.d),this.formSvc=(0,t.f3M)(st.l),this.trSvc=(0,t.f3M)(Ht.D)}transform(n,i){switch(n.ticket.availability){case 1:return this.tr("e_ticketSalesEnded");case 2:return this.tr("e_ticketSalesNotStarted");case 3:return this.tr("e_ticketSoldOut");case 0:{const{max_per_booking:d,min_guests:v,ticket_id:Q}=this.formSvc.primaryTicket.guest_tickets.find(S=>S.ticket_id===n.id);if(v&&(i[Q]?.booked??0)<v.count){const S=this.tr("e_needsMinGuests"),K=this.count.transform(S,v.count);return(0,ze.o)(K,{num:v.count,ticket:this.formSvc.guestTickets.get(v.ticket_id).name})}if(d&&n.booked>=d)return this.tr("e_maxGuestsReached",{v:d})}}return this.tr("e_ticketMysteriouslyUnavailable")}tr(n,i){return this.trSvc.translate(n,"events",i)}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275pipe=t.Yjl({name:"whyUnavailableThough",type:s,pure:!0,standalone:!0}),s})();const qe=["selectableTicket",""];function tn(s,l){if(1&s&&(t._UZ(0,"p",2),t.ALo(1,"whyUnavailableThough")),2&s){const n=t.oxw();t.Q6J("innerHTML",t.xi3(1,1,n.ticket,n.reservations),t.oJD)}}let en=(()=>{class s{constructor(){this.cdr=(0,t.f3M)(t.sBO),this.clicked=new t.vpe,this.formSvc=(0,t.f3M)(st.l)}ngOnChanges(){this.active=this.selectedId===this.ticket.id,this.disabled=!this.ticket.available&&this.ticket.id!==this.selectedId}ngOnDestroy(){this.clicked.complete()}onClick(){if(this.disabled)return void this.cdr.detectChanges();const n=this.selectedId;if(this.ticket.id!==n){if(!n)return this.clicked.emit();this.formSvc.getBlockingTicketAssignmentForUnassign(n).subscribe(i=>{i?this.formSvc.showTicketUnselectNotice(n,i):n===this.selectedId&&this.clicked.emit()})}}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275cmp=t.Xpm({type:s,selectors:[["button","selectableTicket",""]],hostVars:5,hostBindings:function(n,i){1&n&&t.NdJ("click.passive",function(){return i.onClick()}),2&n&&(t.Ikx("disabled",i.disabled),t.ekj("active",i.active&&!i.disabled)("disabled",i.disabled))},inputs:{reservations:"reservations",selectedId:"selectedId",ticket:["selectableTicket","ticket"]},outputs:{clicked:"clicked"},standalone:!0,features:[t.TTD,t.jDz],attrs:qe,decls:4,vars:6,consts:[[1,"h4","list-group-item-heading"],["class","list-group-item-text",3,"innerHTML",4,"ngIf"],[1,"list-group-item-text",3,"innerHTML"]],template:function(n,i){1&n&&(t.TgZ(0,"div",0),t._uU(1),t.ALo(2,"formatTicketPrice"),t.qZA(),t.YNc(3,tn,2,4,"p",1)),2&n&&(t.xp6(1),t.AsE("",i.ticket.ticket.name," - ",t.xi3(2,3,i.ticket.ticket.price,i.formSvc.showVat),""),t.xp6(2),t.Q6J("ngIf",i.disabled))},dependencies:[Y.GlobalModule,W.O5,ot.N,Xe],encapsulation:2,changeDetection:0}),s})();var jt=o(4678),nn=o(33746),on=o(6522),ie=o(62441);function sn(s,l){1&s&&(t._uU(0),t.ALo(1,"tr")),2&s&&t.Oqu(t.lcZ(1,1,"noTicketSelected"))}function rn(s,l){if(1&s&&(t._uU(0),t.ALo(1,"formatTicketPrice")),2&s){const n=t.oxw();t.AsE("",n.formSvc.guestTickets.get(n.value).name," - ",t.xi3(1,2,n.formSvc.guestTickets.get(n.value).price,n.formSvc.showVat),"")}}function an(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"button",8),t.NdJ("clicked",function(){const v=t.CHM(n).$implicit,Q=t.oxw(2);return t.KtG(Q.pickTicket(v.id))}),t.qZA()}if(2&s){const n=l.$implicit,i=t.oxw(2);
1t.Q6J("selectableTicket",n)("reservations",i.reservations)("selectedId",i.value)}}function cn(s,l){if(1&s&&(t.TgZ(0,"tg-panel-body")(1,"div",6),t.YNc(2,an,1,3,"button",7),t.qZA()()),2&s){const n=t.oxw();t.xp6(2),t.Q6J("ngForOf",n.tickets)("ngForTrackBy",n.trackById)}}let ln=(()=>{class s extends Ve.S{constructor(){super(...arguments),this.formSvc=(0,t.f3M)(st.l),this.open=!1,this.tickets=[],this.trackById=$e.trackById,this.stateSvc=(0,t.f3M)(Zt.A)}ngOnDestroy(){(0,dt.unsubscribeFromAll)(this._sub),super.ngOnDestroy()}ngOnInit(){super.ngOnInit();const n=this.stateSvc.pluck("guestReservations").pipe((0,_t.x)()),i=(0,F.observeControlValue)(this.ctrl).pipe((0,_t.x)());this._sub=[(0,Ft.a)([n,i]).pipe((0,I.U)(([d,v])=>{const Q=[];for(const[S,K]of Object.entries(d)){const lt=this.formSvc.guestTickets.get(S);let ut;if(K.booked>=K.reserved)ut=!1;else{const{min_guests:bt}=this.formSvc.primaryTicket.guest_tickets.find(xt=>xt.ticket_id===S);if(bt){const xt=d[bt.ticket_id]?.booked??0;ut=bt.ticket_id===v?xt>bt.count:xt>=bt.count}else ut=!0}Q.push({available:ut,id:S,ticket:lt,...K})}return this.reservations=d,Q}),(0,e.H)("[BookingModalTicketSelect.reservations]")).subscribe((0,at.e)(d=>{this.tickets=d,this.cdr.markForCheck()}))]}pickTicket(n){this.onTouch();const i=this.value;this.open=!1,this.cdr.markForCheck(),i!==n&&(this.ctrl.setValue(n),this.stateSvc.dispatch((0,et.$N)({from:i,guestId:this.guestId,to:n})))}registerOnChange(n){const i=this._onChangeFn===He.Z;super.registerOnChange(n),i&&1===this.tickets.length&&!this.value&&this.pickTicket(this.tickets[0].id)}toggleOpen(){this.disabled||(this.open=!this.open)}createCtrl(){return this.fb.control(null)}}return s.\u0275fac=function(){let l;return function(i){return(l||(l=t.n5z(s)))(i||s)}}(),s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-booking-modal-ticket-select"]],hostVars:2,hostBindings:function(n,i){2&n&&t.ekj("tg-txt-error-boundary",!0)},inputs:{guestId:"guestId"},standalone:!0,features:[t._Bn([{multi:!0,provide:m.JU,useExisting:(0,t.Gpc)(()=>s)}]),t.qOj,t.jDz],decls:8,vars:8,consts:[[3,"effectiveClick"],[1,"tg-txt-error-boundary-receiver",3,"direction"],[1,"tg-txt-error-boundary-receiver"],["tplNoTick",""],[3,"ngIf","ngIfElse"],[4,"ngIf"],[1,"list-group"],["class","list-group-item",3,"selectableTicket","reservations","selectedId","clicked",4,"ngFor","ngForOf","ngForTrackBy"],[1,"list-group-item",3,"selectableTicket","reservations","selectedId","clicked"]],template:function(n,i){if(1&n&&(t.TgZ(0,"tg-panel")(1,"tg-panel-heading",0),t.NdJ("effectiveClick",function(){return i.toggleOpen()}),t._UZ(2,"tg-caret",1),t.TgZ(3,"span",2),t.YNc(4,sn,2,3,"ng-template",null,3,t.W1O),t.YNc(6,rn,2,5,"ng-template",4),t.qZA()(),t.YNc(7,cn,3,2,"tg-panel-body",5),t.qZA()),2&n){const d=t.MAs(5);t.xp6(2),t.ekj("text-muted",i.disabled),t.Q6J("direction",i.open?"up":"down"),t.xp6(1),t.ekj("text-muted",i.disabled),t.xp6(3),t.Q6J("ngIf",i.value)("ngIfElse",d),t.xp6(1),t.Q6J("ngIf",i.open&&!i.disabled)}},dependencies:[Y.GlobalModule,W.sg,W.O5,jt.jl,jt.Av,jt.Nk,nn.t,on.Z,ie.h,it.H,Ke.K,ot.N,je.S,en],styles:["[_nghost-%COMP%]{display:block}tg-panel-heading[_ngcontent-%COMP%] .tg-txt-error-boundary-receiver[_ngcontent-%COMP%]{cursor:pointer}tg-panel-heading[_ngcontent-%COMP%] .tg-txt-error-boundary-receiver.text-muted[_ngcontent-%COMP%]{cursor:not-allowed}"],data:{animation:[oe.Y,se.b]},changeDetection:0}),s})();var dn=o(39989),un=o(26495),gn=o(49043);const mn=function(){return{standalone:!0}},fn=function(s){return{organisation:s}};function pn(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"div",8)(1,"label")(2,"input",9),t.NdJ("ngModelChange",function(d){t.CHM(n);const v=t.oxw();return t.KtG(v.isMember=d)}),t.qZA(),t._UZ(3,"span",10),t.qZA()()}if(2&s){const n=t.oxw();t.xp6(2),t.Q6J("ngModel",n.isMember)("ngModelOptions",t.DdM(7,mn))("disabled",n.disabled),t.xp6(1),t.ekj("text-muted",n.disabled),t.Q6J("translate","isKnownMember")("tr-placeholders",t.VKq(8,fn,n.organisation))}}function hn(s,l){if(1&s&&(t._uU(0),t.ALo(1,"formatTicketPrice")),2&s){const n=l.$implicit,i=t.oxw();t.AsE("",n.name," - ",t.xi3(1,2,n.price,i.formSvc.showVat),"")}}const vn=function(s){return{$implicit:s}};function _n(s,l){if(1&s&&(t.TgZ(0,"strong"),t._uU(1),t.ALo(2,"tr"),t.qZA(),t.TgZ(3,"span"),t.GkF(4,11),t.qZA()),2&s){const n=t.oxw(),i=t.MAs(2);t.xp6(1),t.AsE("",t.lcZ(2,4,"ticket"),":"," ",""),t.xp6(3),t.Q6J("ngTemplateOutlet",i)("ngTemplateOutletContext",t.VKq(6,vn,n.formSvc.guestTickets.get(n.ticket)))}}function bn(s,l){if(1&s&&(t.TgZ(0,"label",12,13),t._uU(2),t.ALo(3,"tr"),t.qZA(),t.TgZ(4,"tg-help-block-container",14),t._UZ(5,"tg-booking-modal-ticket-select",15),t.qZA()),2&s){const n=t.MAs(1),i=t.oxw();t.ekj("text-muted",i.disabled),t.Q6J("autoId",!1)("for",n.id),t.xp6(2),t.hij("* ",t.lcZ(3,8,"ticket"),":"),t.xp6(2),t.Q6J("messages",i.ticketMessages),t.xp6(1),t.Q6J("formControl",i.ctrl.controls.ticket)("guestId",i.ctrl.controls.id.value)}}function kn(s,l){if(1&s&&(t.TgZ(0,"div",8)(1,"label"),t._UZ(2,"input",17),t.TgZ(3,"tg-info-bubble"),t._uU(4),t.ALo(5,"tr"),t.qZA(),t._UZ(6,"span",18),t.qZA(),t._UZ(7,"tg-help-block",19),t.qZA()),2&s){const n=t.oxw(2);t.xp6(1),t.ekj("text-muted",n.disabled),t.xp6(1),t.Q6J("formControl",n.ctrl.controls.later),t.xp6(2),t.Oqu(t.lcZ(5,6,"addDetailsLaterTT")),t.xp6(2),t.Q6J("translate","addDetailsLater"),t.xp6(1),t.Q6J("control",n.ctrl.controls.later)}}function Cn(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"div",20,21)(2,"label",22),t._uU(3),t.ALo(4,"tr"),t.qZA(),t.TgZ(5,"tg-help-block-container")(6,"input",23),t.
1NdJ("blurIfChanged",function(){t.CHM(n);const d=t.oxw(2);return t.KtG(d.saveDraft("firstname"))}),t.qZA()()(),t.TgZ(7,"div",20,24)(9,"label",22),t._uU(10),t.ALo(11,"tr"),t.qZA(),t.TgZ(12,"tg-help-block-container")(13,"input",23),t.NdJ("blurIfChanged",function(){t.CHM(n);const d=t.oxw(2);return t.KtG(d.saveDraft("lastname"))}),t.qZA()()(),t.TgZ(14,"div",20,25)(16,"label",22),t._uU(17),t.ALo(18,"tr"),t.qZA(),t.TgZ(19,"tg-help-block-container")(20,"input",23),t.NdJ("blurIfChanged",function(){t.CHM(n);const d=t.oxw(2);return t.KtG(d.saveDraft("email"))}),t.qZA()()()}if(2&s){const n=t.MAs(1),i=t.MAs(8),d=t.MAs(15),v=t.oxw(2);t.Q6J("autoId",!1),t.xp6(2),t.ekj("text-muted",v.disabled),t.Q6J("for",n.id),t.xp6(1),t.hij("* ",t.xi3(4,21,"firstname","user"),":"),t.xp6(3),t.Q6J("id",n.id)("formControl",v.ctrl.controls.firstname),t.xp6(1),t.Q6J("autoId",!1),t.xp6(2),t.ekj("text-muted",v.disabled),t.Q6J("for",i.id),t.xp6(1),t.hij("* ",t.xi3(11,24,"lastname","user"),":"),t.xp6(3),t.Q6J("id",i.id)("formControl",v.ctrl.controls.lastname),t.xp6(1),t.Q6J("autoId",!1),t.xp6(2),t.ekj("text-muted",v.disabled),t.Q6J("for",d.id),t.xp6(1),t.hij("",t.xi3(18,27,"email","user"),":"),t.xp6(3),t.Q6J("id",d.id)("formControl",v.ctrl.controls.email)}}function Tn(s,l){if(1&s&&(t.YNc(0,kn,8,8,"div",0),t.YNc(1,Cn,21,30,"ng-template",16)),2&s){const n=t.oxw();t.Q6J("ngIf",!n.formSvc.isPublicUser&&!n.formSvc.event.disable_provide_guest_details_later),t.xp6(1),t.Q6J("ngIf",!n.later)}}function xn(s,l){if(1&s&&t._UZ(0,"tg-user-name",27),2&s){const n=t.oxw(2);t.Q6J("link",!n.user.deleted)("user",n.user)("linkTarget","_blank")}}function In(s,l){1&s&&(t.TgZ(0,"div",30),t._UZ(1,"i",31)(2,"span",18),t.qZA()),2&s&&(t.Q6J("@slideDownOnEntry",void 0)("@slideUpOnExit",void 0),t.xp6(2),t.Q6J("translate","membNoShowUpNotice"))}function Mn(s,l){if(1&s&&(t.TgZ(0,"tg-help-block-container"),t._UZ(1,"tg-user-select",28),t.ALo(2,"tr"),t.qZA(),t.YNc(3,In,3,3,"div",29)),2&s){const n=t.oxw(2);t.xp6(1),t.Q6J("formControl",n.ctrl.controls.user)("disableControl",n.disabled||!n.ticket)("placeholder",n.ticket?void 0:t.xi3(2,7,"pickTicketBfUser","events"))("linkTarget","_blank")("container",void 0)("params",n.memberParams),t.xp6(2),t.Q6J("ngIf",n.ticket&&!n.user)}}function An(s,l){if(1&s&&(t.TgZ(0,"div",2),t.YNc(1,xn,1,3,"ng-template",null,26,t.W1O),t.YNc(3,Mn,4,10,"ng-template",4),t.qZA()),2&s){const n=t.MAs(2),i=t.oxw();t.xp6(3),t.Q6J("ngIf",i.formSvc.isReservation)("ngIfElse",n)}}function yn(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"tg-booking-modal-common-user-info",32),t.NdJ("saveInfoDraft",function(){t.CHM(n);const d=t.oxw();return t.KtG(d.saveDraft("info"))})("saveAddonsDraft",function(d){t.CHM(n);const v=t.oxw();return t.KtG(v.saveDraftAddons(d))}),t.qZA()}if(2&s){const n=t.oxw();t.Q6J("hideInfo",!n.isMember&&n.later)("ctrl",n.ctrl.controls.info)("addonsCtrl",n.ctrl.controls.addons)("ticket",n.ctrl.controls.ticket.value)}}let En=(()=>{class s extends qt{constructor(){if(super(),this.cdr=(0,t.f3M)(t.sBO),this.store=(0,t.f3M)(zt.yh),!this.ticketMessages){const n=(0,t.f3M)(Ht.D);s.prototype.organisation=(0,t.f3M)(st.l).organisation,s.prototype.ticketMessages=[{key:"publicNotEligible",param:{organisation:this.organisation}},{key:"userNotEligible"},{key:"ticketSoldOut"},{key:"ticketSalesEnded"},{key:"ticketSalesNotStarted"},{key:"minGuests"}].reduce((i,d)=>(i[d.key]=n.translate(`e_${d.key}`,"events",d.param),i),{})}}get isMember(){return"user"===this.ctrl.controls.type.value}set isMember(n){const i=n?"user":"public",d=this.ctrl.controls.type;i!==d.value&&d.setValue(i)}get later(){return this.ctrl.controls.later.value}get ticket(){return this.ctrl.controls.ticket.value}get user(){return this.ctrl.controls.user.value}get workshops$(){const n=this.ctrl.controls.ticket.valueChanges.pipe((0,Lt.O)(this.ctrl.controls.ticket.value),(0,Jt.p)(),(0,I.U)(d=>this.formSvc.guestTickets.get(d)?.workshops??[])),i=this.ctrl.controls.addons.valueChanges.pipe((0,Lt.O)(this.ctrl.controls.addons.value),(0,Jt.p)(),(0,I.U)(d=>d.flatMap(v=>this.formSvc.addonTickets.get(v)?.workshops??[])));return(0,Ft.a)([n,i]).pipe((0,I.U)(([d,v])=>[...d,...v]))}get workshopsCtrl(){return this.ctrl.controls.info.controls.workshops}ngOnDestroy(){this._destroyed$&&(0,Qt.t)(this._destroyed$)}ngOnInit(){this._destroyed$=new Xt.c,super.ngOnInit(),this.showIsMember=this.formSvc.hasPublicTickets&&this.formSvc.hasNonPublicTickets&&!this.formSvc.isPublicUser&&this.formSvc.isReservation,this.initMemberParams(),this.initUserReset(),this.initValidationSync(),this.ctrl.controls.user.valueChanges.pipe((0,D.R)(this._destroyed$)).subscribe(n=>{this.store.dispatch((0,et.sF)({guestId:this.ctrl.controls.id.value,user:n?n.id:null}))})}saveDraft(n){this.store.dispatch((0,et.sF)({guestId:this.ctrl.controls.id.value,[n]:this.ctrl.controls[n].value}))}saveDraftAddons(n){const i={...n,guestId:this.ctrl.controls.id.value};this.store.dispatch((0,et.SR)(i))}initMemberParams(){const n={nevent:this.formSvc.event.id};this.formSvc.isPublicUser||(n.nids=this.formSvc.bookingUser.id),this.memberParams=n,(0,F.observeControlValue)(this.ctrl.controls.ticket).pipe((0,I.U)(i=>this.formSvc.guestTickets.get(i)?.roles??[]),(0,Jt.p)(),(0,D.R)(this._destroyed$)).subscribe(i=>{this.memberParams=i.length?{...n,roles:i}:n,this.cdr.markForCheck()})}initUserReset(){(0,F.observeControlValue)(this.ctrl.controls.ticket).pipe((0,_t.x)(),(0,Qe.G)(),(0,Fe.h)(([n,i])=>{const d=this.user;if(!d)return!1;const v=this.formSvc.guestTickets.get(n)?.roles??[],Q=this.formSvc.guestTickets.get(i)?.roles??[];return v.sort(),Q.sort(),!((0,u.Z)(v,Q)||d.roles&&d.hasRolesSome(...Q))}),(0,D.R)(this._destroyed$)).subscribe(()=>{this.ctrl.controls.user.reset(null),this.cdr.markForCheck()})}initValidationSync(){const n={emitEvent:!1};(0,F.observeControlValue)(this.ctrl.controls.later).pipe((0,_t.x)(),(0,Kt.T)(1),(0,D.R)(this._destroyed$)).subscribe(()=>{this.onLaterChanged(),this.ctrl.updateValueAndValidity(),this.cdr.markForCheck()}),(0,F.observeControlValue)(this.ctrl.controls.type).pipe((0,_t.x)(),(0,Kt.T)(1),(0,D.R)(this._destroyed$)).subscribe(()=>{this.onLaterChanged(),this.ctrl.controls.ticket.updateValueAndValidity(n),this.ctrl.controls.user.updateValueAndValidity(n),this.ctrl.updateValueAndValidity(),this.cdr.markForCheck()}),(0,F.observeControlValue)(this.ctrl.controls.user).pipe((0,_t.x)(),(0,Kt.T)(1),(0,D.R)(this._destroyed$)).subscribe(()=>{this.ctrl.controls.ticket.updateValueAndValidity(),this.cdr.markForCheck()})}onLaterChanged(){const n={emitEvent:!1};this.ctrl.controls.email.updateValueAndValidity(n),this.ctrl.controls.firstname.updateValueAndValidity(n),this.ctrl.controls.lastname.updateValueAndValidity(n),this.ctrl.updateValueAndValidity()}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-booking-modal-guest-tab"]],viewQuery:function(n,i){if
1(1&n&&t.Gf(Wt.o,5),2&n){let d;t.iGM(d=t.CRH())&&(i.commonUserInfo=d.first)}},standalone:!0,features:[t.qOj,t.jDz],decls:11,vars:6,consts:[["class","checkbox",4,"ngIf"],["tplTicketName",""],[1,"form-group"],["tplTickEditMode",""],[3,"ngIf","ngIfElse"],["tplPublic",""],["class","form-group",4,"ngIf","ngIfElse"],[3,"hideInfo","ctrl","addonsCtrl","ticket","saveInfoDraft","saveAddonsDraft",4,"ngIf"],[1,"checkbox"],["type","checkbox",3,"ngModel","ngModelOptions","disabled","ngModelChange"],[3,"translate","tr-placeholders"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"autoId","for"],["idTicket","id"],[3,"messages"],[3,"formControl","guestId"],[3,"ngIf"],["type","checkbox",3,"formControl"],[3,"translate"],[3,"control"],[1,"form-group",3,"autoId"],["idFirstname","id"],[3,"for"],[1,"form-control",3,"id","formControl","blurIfChanged"],["idLastname","id"],["idEmail","id"],["tplUserEditMode",""],[3,"link","user","linkTarget"],[3,"formControl","disableControl","placeholder","linkTarget","container","params"],["class","text-info",4,"ngIf"],[1,"text-info"],[1,"fa","fa-info-circle"],[3,"hideInfo","ctrl","addonsCtrl","ticket","saveInfoDraft","saveAddonsDraft"]],template:function(n,i){if(1&n&&(t.YNc(0,pn,4,10,"div",0),t.YNc(1,hn,2,5,"ng-template",null,1,t.W1O),t.TgZ(3,"div",2),t.YNc(4,_n,5,8,"ng-template",null,3,t.W1O),t.YNc(6,bn,6,10,"ng-template",4),t.qZA(),t.YNc(7,Tn,2,2,"ng-template",null,5,t.W1O),t.YNc(9,An,4,2,"div",6),t.YNc(10,yn,1,4,"tg-booking-modal-common-user-info",7)),2&n){const d=t.MAs(5),v=t.MAs(8);t.Q6J("ngIf",i.showIsMember),t.xp6(6),t.Q6J("ngIf",i.formSvc.isReservation)("ngIfElse",d),t.xp6(3),t.Q6J("ngIf",i.isMember)("ngIfElse",v),t.xp6(1),t.Q6J("ngIf",i.formSvc.showCommonUserInfo)}},dependencies:[Y.GlobalModule,W.O5,W.tP,wt.G,dn.d,b.P,un.f,h._,a.z,Gt.u0,Gt.k6,ht.j,c.y,it.H,m.u5,m.Fj,m.Wl,m.JJ,m.On,m.UX,m.oH,we.b,L.M,Ye.Q,gn.U,ot.N,ln,Le.d,Wt.o,We.d],encapsulation:2,data:{animation:[oe.Y,se.b]},changeDetection:0}),s})();var Ut=o(33606),re=o(28784),ae=o(60407),On=o(9099),Dn=o(83375);function Bn(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"div",10)(1,"button",11),t.NdJ("click.passive",function(){t.CHM(n);const d=t.oxw(2);return t.KtG(d.rmGuest())}),t.qZA()()}if(2&s){const n=t.oxw(2);t.ekj("col-md-offset-4",!n.btns.addGuest&&!n.btns.confirm)("col-md-offset-2",!n.btns.addGuest&&n.btns.confirm),t.xp6(1),t.Q6J("disabled",n.reservationsChanging)("translate","rmGuest")}}function Pn(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"div",10)(1,"button",12),t.NdJ("click.passive",function(){t.CHM(n);const d=t.oxw(2);return t.KtG(d.addGuest())}),t.qZA()()}if(2&s){const n=t.oxw(2);t.ekj("col-md-offset-4",!n.btns.rmGuest),t.xp6(1),t.Q6J("disabled",n.reservationsChanging)("translate",n.btns.addGuest)}}function Sn(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"div",10)(1,"button",13),t.NdJ("click.passive",function(){t.CHM(n);const d=t.oxw(2);return t.KtG(d.goToConfirm())}),t._uU(2),t.ALo(3,"tr"),t.qZA()()}if(2&s){const n=t.oxw(2);t.ekj("col-md-offset-4",!n.btns.addGuest&&!n.btns.rmGuest),t.xp6(1),t.Q6J("disabled",n.reservationsChanging),t.xp6(1),t.Oqu(t.lcZ(3,4,"reviewMyBooking"))}}function Zn(s,l){if(1&s&&(t.YNc(0,Bn,2,6,"div",8),t.YNc(1,Pn,2,4,"div",9),t.YNc(2,Sn,4,6,"div",9)),2&s){const n=t.oxw();t.Q6J("ngIf",n.btns.rmGuest),t.xp6(1),t.Q6J("ngIf",n.btns.addGuest),t.xp6(1),t.Q6J("ngIf",n.btns.confirm)}}function Un(s,l){if(1&s){const n=t.EpF();t.TgZ(0,"div",14)(1,"button",15),t.NdJ("click.passive",function(){t.CHM(n);const d=t.oxw();return t.KtG(d.book())}),t._uU(2),t.ALo(3,"tr"),t.qZA()()}if(2&s){const n=t.oxw();t.xp6(1),t.Q6J("disabled",n.hasBackgroundApiRequests)("tgLoadingBtn",n.hasBackgroundApiRequests),t.xp6(1),t.Oqu(t.lcZ(3,3,n.btns.book))}}let Rn=(()=>{class s{constructor(){this.activeTabChange=new t.vpe,this.confirmTabEnabledChange=new t.vpe,this.numGuests=0,this.actions$=(0,t.f3M)(Ut.eX),this.book$=new t.vpe,this.cdr=(0,t.f3M)(t.sBO),this.formSvc=(0,t.f3M)(st.l),this.stateSvc=(0,t.f3M)(Zt.A)}addGuest(){this.reservationsChanging?this.cdr.detectChanges():(this.actions$.pipe((0,Ut.l4)(et.ws.type),(0,ae.q)(1),(0,D.R)((0,re.S)(this.destroyed$,this.actions$.pipe((0,Ut.l4)(et.d1.type,et.DS.type))))).subscribe(()=>{this.setTab(this.activeTab+1),this.cdr.markForCheck()}),this.stateSvc.dispatch((0,et.Jt)({by:1})))}back(){this.reservationsChanging?this.cdr.detectChanges():this.setTab(this.activeTab-1)}book(){this.reservationsChanging?this.cdr.detectChanges():this.book$.emit()}goToConfirm(){this.reservationsChanging||(this.confirmTabEnabled||(0,Qt.t)(this.confirmTabEnabledChange,this.confirmTabEnabled=!0),this.setTab(this.numGuests+1))}next(){this.reservationsChanging?this.cdr.detectChanges():this.setTab(this.activeTab+1)}
1ngOnChanges(n){const i=n.showDetailsTab,v=i||n.activeTab||n.confirmTabEnabled||n.editMode;i&&(this.tabIndicesOffset=this.showDetailsTab?1:0),v&&!v.firstChange&&(this.btns=this.resolveButtonTexts())}ngOnDestroy(){(0,Dn.completeAll)(this.activeTabChange,this.confirmTabEnabledChange)}ngOnInit(){this.destroyed$=this.activeTabChange.pipe((0,R.Z)(null,null)),this.stateSvc.pluck("guestIds","length").pipe((0,_t.x)(),(0,D.R)(this.destroyed$)).subscribe(n=>{this.numGuests=n,this.guestsAtCapacity=this.refreshGuestsAtCapacity(),this.btns=this.resolveButtonTexts(),this.cdr.markForCheck()}),this.stateSvc.pluck("reservationsChanging").pipe((0,tt.N)(this.reservationsChanging=!1),(0,D.R)(this.destroyed$)).subscribe(n=>{this.reservationsChanging=n,this.cdr.markForCheck()}),this.stateSvc.pluck("busy").pipe((0,tt.N)(this.hasBackgroundApiRequests=!1),(0,D.R)(this.destroyed$)).subscribe(n=>{this.hasBackgroundApiRequests=n,this.cdr.markForCheck()})}rmGuest(){if(this.reservationsChanging)return void this.cdr.detectChanges();const n=this.activeTab-this.tabIndicesOffset,i=this.guestsForm.controls[n].controls.ticket.value;if(!i)return this.doRmGuest(n);this.formSvc.getBlockingTicketAssignmentForUnassign(i).subscribe(d=>{d?this.formSvc.showTicketUnselectNotice(i,d):this.doRmGuest(n)})}doRmGuest(n){this.actions$.pipe((0,Ut.l4)(et.iR.type),(0,ae.q)(1),(0,D.R)((0,re.S)(this.destroyed$,this.actions$.pipe((0,Ut.l4)(et.yI.type,et.DS.type))))).subscribe(()=>{this.setTab(this.activeTab-1),this.cdr.markForCheck()}),this.stateSvc.dispatch((0,et.y1)({idx:n}))}refreshGuestsAtCapacity(){return this.numGuests>=Math.min(this.formSvc.primaryTicket.maximum_guests??Number.MAX_VALUE,this.formSvc.event.capacity.remaining-1)}resolveButtonTexts(){const n=this.resolveTabType(),i={};if(2===n)i.back=!0,i.book=this.editMode?"editBookingSave":"book";else{const d=this.numGuests;i.confirm=!d||this.activeTab===d,1===n?(i.back=!0,this.editMode||(i.rmGuest=!0,!this.guestsAtCapacity&&this.activeTab===d&&(i.addGuest="addAnotherGuest")),this.activeTab!==d&&(i.next=!0)):d&&(i.next=!0)}return i}resolveTabType(){return this.activeTab===this.tabIndicesOffset-1?0:this.confirmTabEnabled&&this.activeTab===this.numGuests+this.tabIndicesOffset?2:1}setTab(n){this.activeTabChange.emit(this.activeTab=n)}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-booking-modal-nav"]],hostAttrs:["role","navigation"],inputs:{activeTab:"activeTab",confirmTabEnabled:"confirmTabEnabled",editMode:"editMode",guestsForm:"guestsForm",showDetailsTab:"showDetail
1sTab"},outputs:{activeTabChange:"activeTabChange",confirmTabEnabledChange:"confirmTabEnabledChange",book$:"book"},standalone:!0,features:[t.TTD,t.jDz],decls:12,vars:12,consts:[[1,"btn","btn-default",3,"disabled","click.passive"],[1,"fa","fa-fw","fa-arrow-left"],[3,"translate","tr-namespace"],[1,"row","w-100"],["tplNotOnBookPage",""],["class","col-md-offset-5 col-xs-12 col-md-4",4,"ngIf","ngIfElse"],[1,"text-right"],[1,"fa","fa-fw","fa-arrow-right"],["class","col-xs-12 col-md-4",3,"col-md-offset-4","col-md-offset-2",4,"ngIf"],["class","col-xs-12 col-md-4",3,"col-md-offset-4",4,"ngIf"],[1,"col-xs-12","col-md-4"],[1,"btn-block","btn","btn-danger",3,"disabled","translate","click.passive"],[1,"btn-block","btn","btn-success",3,"disabled","translate","click.passive"],[1,"btn-block","btn","btn-primary",3,"disabled","click.passive"],[1,"col-md-offset-5","col-xs-12","col-md-4"],[1,"btn","btn-primary",3,"disabled","tgLoadingBtn","click.passive"]],template:function(n,i){if(1&n&&(t.TgZ(0,"div")(1,"button",0),t.NdJ("click.passive",function(){return i.back()}),t._UZ(2,"i",1)(3,"span",2),t.qZA()(),t.TgZ(4,"div",3),t.YNc(5,Zn,3,3,"ng-template",null,4,t.W1O),t.YNc(7,Un,4,5,"div",5),t.qZA(),t.TgZ(8,"div",6)(9,"button",0),t.NdJ("click.passive",function(){return i.next()}),t._UZ(10,"i",7)(11,"span",2),t.qZA()()),2&n){const d=t.MAs(6);t.xp6(1),t.Udp("visibility",i.btns.back?"visible":"hidden"),t.Q6J("disabled",i.reservationsChanging),t.xp6(2),t.Q6J("translate","back")("tr-namespace","common"),t.xp6(4),t.Q6J("ngIf",i.btns.book)("ngIfElse",d),t.xp6(2),t.Udp("visibility",i.btns.next?"visible":"hidden"),t.Q6J("disabled",i.reservationsChanging),t.xp6(2),t.Q6J("translate","next")("tr-namespace","common")}},dependencies:[Y.GlobalModule,W.O5,wt.G,b.P,ie.h,it.H,On.n],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;margin-top:var(--tg-space-4)}.row[_ngcontent-%COMP%]{margin-left:0;margin-right:0}"],changeDetection:0}),s})();function Jn(s,l){if(1&s&&t._UZ(0,"i",0),2&s){const n=t.oxw();t.Q6J("ngClass",n.optionalIcon.icon)}}function Nn(s,l){1&s&&t._UZ(0,"tg-loader-spinner")}const Gn=["*"];let Qn=(()=>{class s{constructor(){this.el=(0,t.f3M)(t.SBq).nativeElement,this.r2=(0,t.f3M)(t.Qsj)}ngOnChanges(){switch(this.status){case"VALID":this.setColour("text-success"),this.optionalIcon={icon:"fa-check",ty:"fa"};break;case"PENDING":this.setColour("text-muted"),this.optionalIcon={ty:"spin"};break;case"DISABLED":this.setDisabledStyle();break;case"INVALID":this.touched?(this.setColour("text-danger"),this.optionalIcon={icon:"fa-exclamation",ty:"fa"}):this.setDisabledStyle()}}setColour(n){n!==this._colour&&(this._colour&&this.r2.removeClass(this.el,this._colour),this.r2.addClass(this.el,this._colour=n))}setDisabledStyle(){this.setColour("text-muted"),this.optionalIcon={ty:null}}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-booking-tab-title"]],inputs:{icon:"icon",status:"status",touched:"touched"},standalone:!0,features:[t.TTD,t.jDz],ngContentSelectors:Gn,decls:6,vars:4,consts:[[1,"fa",3,"ngClass"],[3,"ngSwitch"],["class","fa",3,"ngClass",4,"ngSwitchCase"],[4,"ngSwitchCase"]],template:function(n,i){1&n&&(t.F$t(),t._UZ(0,"i",0),t.ynx(1,1),t.YNc(2,Jn,1,1,"i",2),t.YNc(3,Nn,1,0,"tg-loader-spinner",3),t.BQk(),t.TgZ(4,"span"),t.Hsn(5),t.qZA()),2&n&&(t.Q6J("ngClass",i.icon),t.xp6(1),t.Q6J("ngSwitch",i.optionalIcon.ty),t.xp6(1),t.Q6J("ngSwitchCase","fa"),t.xp6(1),t.Q6J("ngSwitchCase","spin"))},dependencies:[W.ez,W.mk,W.RF,W.n9,te.I],encapsulation:2,changeDetection:0}),s})();var Fn=o(12943),Ln=o(12848),Wn=o(97119),wn=o(76757);function Yn(s,l){if(1&s&&(t.TgZ(0,"tg-booking-tab-title",12),t._uU(1),t.ALo(2,"tr"),t.qZA()),2&s){const n=t.oxw(2);t.Q6J("icon","fa-user")("status",n.form.controls.info.status)("touched",n.form.controls.info.touched),t.xp6(1),t.Oqu(t.lcZ(2,4,"yourDetails"))}}function Hn(s,l){if(1&s&&t._UZ(0,"tg-booking-modal-details-tab",13),2&s){const n=t.oxw(2);t.Q6J("ctrl",n.form.controls.info)("addonsCtrl",n.form.controls.addons)("acceptsGuests",n.acceptsGuests)}}function Kn(s,l){if(1&s&&(t.TgZ(0,"tg-tab",9),t.YNc(1,Yn,3,6,"tg-booking-tab-title",10),t.YNc(2,Hn,1,3,"tg-booking-modal-details-tab",11),t.qZA()),2&s){const n=t.oxw();t.Q6J("disabled",n.disabled)}}function jn(s,l){if(1&s&&(t.TgZ(0,"tg-booking-tab-title",12),t._UZ(1,"tg-booking-modal-guest-tab-name",15),t.qZA()),2&s){const n=t.oxw(),i=n.$implicit,d=n.index;t.Q6J("icon","fa-user-plus")("status",i.status)("touched",i.touched),t.xp6(1),t.Q6J("firstname",i.controls.firstname.value)("later",i.controls.later.value)("type",i.controls.type.value)("user",i.controls.user.value)("idx",d)}}function Vn(s,l){if(1&s&&t._UZ(0,"tg-booking-modal-guest-tab",16),2&s){const n=t.oxw().$implicit;t.Q6J("ctrl",n)}}function $n(s,l){if(1&s&&(t.TgZ(0,"tg-tab",9),t.YNc(1,jn,2,8,"tg-booking-tab-title",10),t.YNc(2,Vn,1,1,"tg-booking-modal-guest-tab",14),t.qZA()),2&s){const n=t.oxw();t.Q6J("disabled",n.disabled)}}function zn(s,l){if(1&s&&(t.TgZ(0,"tg-booking-tab-title",12),t._uU(1),t.ALo(2,"tr"),t.qZA()),2&s){const n=t.oxw(2);t.Q6J("icon","fa-user")("status",n.form.controls.confirm.status)("touched",n.form.controls.confirm.touched),t.xp6(1),t.Oqu(t.xi3(2,4,"confirmation","tg-modal"))}}function Xn(s,l){if(1&s&&t._UZ(0,"tg-booking-modal-confirm-tab",18),2&s){const n=t.oxw(2);t.Q6J("ctrl",n.form.controls.confirm)("eventsTosCtrl",n.form.controls.confirmEventsTos)("guests",n.form.controls.guests)("addons",n.form.controls.addons)}}function qn(s,l){if(1&s&&(t.TgZ(0,"tg-tab",9),t.YNc(1,zn,3,7,"tg-booking-tab-title",10),t.YNc(2,Xn,1,4,"tg-booking-modal-confirm-tab",17),t.qZA()),2&s){const n=t.oxw();t.Q6J("disabled",n.disabled)}}function to(s,l){if(1&s&&t._UZ(0,"tg-booking-modal-guest-errors",16),2&s){const n=t.oxw();t.Q6J("ctrl",n.form.controls.guests)}}let eo=(()=>{class s{constructor(){this.activeTab=0,this.bookingsSvc=(0,t.f3M)(Zt.A),this.formSvc=(0,t.f3M)(st.l),this.organisation=(0,t.f3M)(k.$).name,this.alert=(0,t.f3M)(U.c),this.cdr=(0,t.f3M)(t.sBO),this.errorSvc=(0,t.f3M)(pt.X),this.evtSvc=(0,t.f3M)(nt.n),this.uRes=(0,t.f3M)(rt.q)}static show(n,i){const d=n.get(O.tT),{event:v,ticket:Q,submit:S,user:K}=i;return(0,B.D)([n.get(A.W).latest(),n.get(E._).latest()]).pipe((0,C.w)(([ut,bt])=>
1new G.y(xt=>{const no=d.show(s,{animated:!0,class:"modal-lg",ignoreBackdropClick:!0,initialState:{event:v,eventConfig:ut,profileConfig:bt,submit:S,subscriber:xt,ticket:Q,user:K},keyboard:!1});return()=>{no.hide()}})))}get disabled(){return this.form.disabled}get numGuests(){return this.form.controls.guests.controls.length}get confirmTabIdx(){return this.numGuests+1}get currentTabValid(){const n=this.form.controls;switch(this.activeTab){case 0:return n.info.valid;case this.confirmTabIdx:return n.confirm.valid;default:return n.guests[this.activeTab-1].valid}}get firstInvalidTabIdx(){const n=this.form.controls;if(!n.info.valid)return 0;const i=n.guests.controls.findIndex(d=>!d.valid);return-1!==i?i+1:n.confirm.valid?void 0:this.confirmTabIdx}book(){if(!this.form.valid){if(this.form.markAllAsTouched(),this.confirmTab?.markForCheck(),this.alert.alertError({key:"correctBookingErrors",ns:"events"}),!this.currentTabValid){const v=this.firstInvalidTabIdx;void 0!==v&&(this.activeTab=v)}return this.cdr.detectChanges()}const n=this.getFormattedValue(),i=this.user?.id||f.SP.extractId(this.event.booking.user);if(i&&this.user&&!this.user.hasRoles("public")){const v=Vt(n.info,this.formSvc.profileFieldWorkshopIds,this.formSvc.workshops);(0,u.Z)(v,this.bookingDetailsPreSubmit)||this.uRes.update({...v,id:i}).subscribe(r.V)}n.info.workshops&&(n.info.workshops=Object.entries(n.info.workshops).reduce((v,[Q,S])=>(this.formSvc.profileFieldWorkshopIds.has(Q)||(v[Q]=S),v),{}));const d=v=>{this.bookingsSvc.dispatch((0,et.WH)({by:v}))};d(1);try{this.submit(n).pipe((0,T.x)(()=>d(-1))).subscribe({complete:this.subscriber.complete.bind(this.subscriber),error:this.errorSvc.negotiate,next:this.subscriber.next.bind(this.subscriber)})}catch(v){throw d(-1),v}}cancel(){this.subscriber.error(new M.EarlyTerminationError)}getFormattedValue(){const{info:n,guests:i,confirmEventsTos:d}=this.form.getRawValue();return{confirmEventsTos:d,guests:i.map(this.formatGuest,this),info:n}}ngOnDestroy(){(0,dt.unsubscribeFromAll)(this._subs)}ngOnInit(){this.isReservation=this.event.booking.status===g.EventBookingState.RESERVATION,this.editMode=!this.isReservation;const n=this.calcAvailableTickets(),[i,d,v]=this.initGuests(),[Q,S]=this.initAddonReservations();this.bookingsSvc.initialise({addonReservations:S,addons:Q,availableTickets:n,bookingId:this.event.booking.id,event:this.event,guestIds:i,guestReservations:v,isReservation:this.isReservation,parentTicket:this.ticket}),this.acceptsGuests=this.ticket.acceptsGuests&&n.some(K=>0===K.availability),this.formSvc.configure({event:this.event,evtCfg:this.eventConfig,loggedInUser:this.user,organisation:this.organisation,primaryTicket:this.ticket,profileCfg:this.profileConfig}),this.tabDetailsEnable=this.acceptsGuests||this.formSvc.showCommonUserInfo,this.tabConfirmEnable=this.editMode||!this.tabDetailsEnable,this.form=this.formSvc.createForm({addons:Q,confirm:this.editMode,guests:d,info:this.formSvc.formatCommonInfo(this.event.booking.info)}),this.bookingDetailsPreSubmit=Vt(this.form.controls.info.getRawValue(),this.formSvc.profileFieldWorkshopIds,this.formSvc.workshops),this._subs=[this.initTotalPrice().subscribe(K=>{this.totalPrice=K,this.cdr.markForCheck()})]}calcAvailableTickets(){const n=this.user.isPublic,i=[];for(const d of this.ticket.guest_tickets){const v=this.event.guest_tickets.find(Q=>Q.id===d.ticket_id);v&&(!n||v.roles.includes("public"))&&i.push(v)}return i}formatGuest(n){const i={addons:n.addons,email:n.email,firstname:n.firstname,id:n.id,info:{...n.info,attendance_type:this.formSvc.guestTickets.get(n.ticket)?.attendance_type??null},lastname:n.lastname,ticket:n.ticket,type:n.type,user:null};return"public"===i.type?n.later&&(i.firstname=i.lastname=i.email=null):n.user&&(i.firstname=n.user.firstname,i.lastname=n.user.lastname,i.email=n.user.email,i.user=n.user.id),i}initAddonReservations(){const n={},i=[];if(this.event.booking.addons?.length)for(const d of this.event.booking.addons)i.push(f.SP.extractId(d));if(this.event.booking.addon_reservations)for(const[d,v]of Object.entries(this.event.booking.addon_reservations)){let Q=this.event.booking.addons.reduce(ce(d),0);for(const S of this.event.booking.guests)Q+=S.addons.reduce(ce(d),0);n[d]={reserved:v,booked:Q}}return[i,n]}initGuests(){const n={};let i;const d=Array(this.event.booking.guests.length);if(this.isReservation){if(i=this.event.booking.guests.map((S,K)=>(d[K]=S.id,this.formSvc.formatGuest(S))),this.event.booking.guest_reservations)for(const[S,K]of Object.entries(this.event.booking.guest_reservations))n[S]={booked:i.reduce((lt,ut)=>ut.ticket===S?lt+1:lt,0),reserved:K};const Q=this.evtSvc.getCapacityFromReservations(this.event.booking.guest_reservations)-i.length;if(Q>0)for(let S=0;S<Q;S++)i.push(this.formSvc.formatGuest({}))}else i=this.event.booking.guests.length?this.event.booking.guests.map((v,Q)=>{const S=f.SP.extractId(v.ticket),K=n[S]??(n[S]={booked:0,reserved:0});return++K.booked,++K.reserved,d[Q]=v.id,this.formSvc.formatGuest(v)}):[];return[d,i,n]}initTotalPrice(){const n=this.form.controls.guests,i=this.form.controls.addons,d=(S,K)=>{const lt=this.formSvc.addonTickets.get(K);return lt?S+lt.price:S},v=(S,K)=>{const lt=this.formSvc.guestTickets.get(K.ticket),ut=K.addons.reduce(d,0);return(lt?S+lt.price:S)+ut},Q=()=>{const S=this.ticket.price,K=n.getRawValue().reduce(v,S);return i.getRawValue().reduce(d,K)};return(0,x.T)(n.valueChanges,i.valueChanges).pipe((0,I.U)(Q),(0,tt.N)(this.totalPrice=Q()),(0,e.H)("[EventBookingModal.totalPrice]"))}}return s.\u0275fac=function(n){return new(n||s)},s.\u0275cmp=t.Xpm({type:s,selectors:[["tg-event-booking-user-info-modal"]],viewQuery:function(n,i){if
1(1&n&&t.Gf($t,5),2&n){let d;t.iGM(d=t.CRH())&&(i.confirmTab=d.first)}},standalone:!0,features:[t._Bn([st.l,Zt.A,...w.e.PROVIDERS],[{provide:ct.z,useValue:"events"}]),t.jDz],decls:12,vars:16,consts:[[3,"disabled","hide"],[3,"translate"],[1,"pull-right","mr1"],[1,"modal-body"],[3,"activeIdx","activeIdxChange"],[3,"disabled",4,"ngIf"],[3,"disabled",4,"ngFor","ngForOf"],[3,"ctrl",4,"ngIf"],[3,"activeTab","confirmTabEnabled","showDetailsTab","guestsForm","editMode","activeTabChange","confirmTabEnabledChange","book"],[3,"disabled"],[3,"icon","status","touched",4,"tgTabTitle"],["class","pt1",3,"ctrl","addonsCtrl","acceptsGuests",4,"tgTabContent"],[3,"icon","status","touched"],[1,"pt1",3,"ctrl","addonsCtrl","acceptsGuests"],[3,"ctrl",4,"tgTabContent"],[3,"firstname","later","type","user","idx"],[3,"ctrl"],[3,"ctrl","eventsTosCtrl","guests","addons",4,"tgTabContent"],[3,"ctrl","eventsTosCtrl","guests","addons"]],template:function(n,i){1&n&&(t.TgZ(0,"tg-modal-header",0),t.NdJ("hide",function(){return i.cancel()}),t._UZ(1,"span",1),t.TgZ(2,"strong",2),t._uU(3),t.ALo(4,"formatTicketPrice"),t.qZA()(),t.TgZ(5,"div",3)(6,"tg-tabs",4),t.NdJ("activeIdxChange",function(v){return i.activeTab=v}),t.YNc(7,Kn,3,1,"tg-tab",5),t.YNc(8,$n,3,1,"tg-tab",6),t.YNc(9,qn,3,1,"tg-tab",5),t.qZA(),t.YNc(10,to,1,1,"tg-booking-modal-guest-errors",7),t.TgZ(11,"tg-booking-modal-nav",8),t.NdJ("activeTabChange",function(v){return i.activeTab=v})("confirmTabEnabledChange",function(v){return i.tabConfirmEnable=v})("book",function(){return i.book()}),t.qZA()()),2&n&&(t.Q6J("disabled",i.form.disabled),t.xp6(1),t.Q6J("translate","provideMoreInfo"),t.xp6(2),t.Oqu(t.xi3(4,13,i.totalPrice,i.formSvc.showVat)),t.xp6(3),t.Q6J("activeIdx",i.activeTab),t.xp6(1),t.Q6J("ngIf",i.tabDetailsEnable),t.xp6(1),t.Q6J("ngForOf",i.form.controls.guests.controls),t.xp6(1),t.Q6J("ngIf",i.tabConfirmEnable),t.xp6(1),t.Q6J("ngIf",i.acceptsGuests),t.xp6(1),t.Q6J("activeTab",i.activeTab)("confirmTabEnabled",i.tabConfirmEnable)("showDetailsTab",i.tabDetailsEnable)("guestsForm",i.form.controls.guests)("editMode",i.editMode))},dependencies:[Y.GlobalModule,W.sg,W.O5,b.P,it.H,ft.TgTabsModule,Fn.s,Ln.l,Wn.I,wn.T,gt.R,ot.N,Qn,Ue,$t,En,Ge,vt,Rn],styles:["[_nghost-%COMP%]{display:block}.mr1[_ngcontent-%COMP%]{margin-right:1em}.pt1[_ngcontent-%COMP%]{padding-top:1em}.modal-body[_ngcontent-%COMP%]{overflow-y:scroll}"],changeDetection:0}),s})();function Vt(s,l,n){const i=(0,y.Z)(s,["dietary","special_needs"]);if(s?.workshops&&l&&n)for(const d of l){const v=n.get(d);"profile_field"===v?.field.type&&v.field.field&&(i[v.field.field]=s.workshops[d]||void 0)}return i}function ce(s){return(l,n)=>f.SP.extractId(n)===s?l+1:l}},87842:(z,J,o)=>{o.d(J,{$N:()=>f,DG:()=>Y,DS:()=>ft,Jt:()=>t,Lz:()=>gt,NH:()=>E,N_:()=>T,OQ:()=>w,SR:()=>A,TO:()=>G,WH:()=>e,YR:()=>u,d1:()=>x,hM:()=>ct,iR:()=>M,o2:()=>k,oV:()=>g,sF:()=>O,ws:()=>C,y1:()=>y,yI:()=>I,z8:()=>U,zi:()=>B});var r=o(91183);const e=(0,r.PH)("userInfoModal:bgReq:inc",(0,r.Ky)()),t=(0,r.PH)("userInfoModal:guests:inc",(0,r.Ky)()),f=(0,r.PH)("userInfoModal:ticket:swap",(0,r.Ky)()),u=(0,r.PH)("userInfoModal:guests:dec",(0,r.Ky)()),y=(0,r.PH)("userInfoModal:guests:rmAt",(0,r.Ky)()),O=(0,r.PH)("userInfoModal:guests:update",(0,r.Ky)()),B=(0,r.PH)("userInfoModal:me:updateInfo",(0,r.Ky)()),G=(0,r.PH)("userInfoModal:guests:inc:start"),x=(0,r.PH)("userInfoModal:guests:inc:err"),C=(0,r.PH)("userInfoModal:guests:inc:ok",(0,r.Ky)()),T=(0,r.PH)("userInfoModal:guests:dec:start"),I=(0,r.PH)("userInfoModal:guests:dec:err"),M=(0,r.PH)("userInfoModal:guests:dec:ok",(0,r.Ky)()),g=(0,r.PH)("userInfoModal:addons:update",(0,r.Ky)()),A=(0,r.PH)("userInfoModal:guests:addons:update",(0,r.Ky)()),k=(0,r.PH)("userInfoModal:addons:update:ok",(0,r.Ky)()),E=(0,r.PH)("userInfoModal:guests:addons:update:ok",(0,r.Ky)()),U=(0,r.PH)("userInfoModal:addons:update:err"),w=(0,r.PH)("userInfoModal:guests:addons:update:err"),Y=(0,r.PH)("userInfoModal:addons:update:start"),gt=(0,r.PH)("userInfoModal:guests:addons:update:start"),ft=(0,r.PH)("userInfoModal:guests:rejectChange",(0,r.Ky)()),ct=(0,r.PH)("userInfoModal:reInit",(0,r.Ky)())},94688:(z,J,o)=>{o.d(J,{A:()=>y});var r=o(94918),e=o(41241),t=o(90489),f=o(87842),u=o(14026);let y=(()=>{class x extends t.M{constructor(){super(),Object.defineProperty(this,"storeName",{configurable:!0,value:"bookingModal"})}get defaultState(){return{backgroundAPIRequests:0,busy:!1,reservationsChanging:!1,...this.partialState}}initialise(T){const I=T.parentTicket.maximum_guests??20,M=T.event.capacity.remaining,g=T.availableTickets.reduce((A,k)=>0===k.availability?Math.max(A,k.remaining):A,0);
1this.partialState={eventId:T.event.id,maxGuests:Math.max(T.guestIds.length,Math.min(I,g,M)),...(0,r.Z)(T,"event")},this.init(),this.$store.dispatch((0,f.hM)({...this.partialState}))}reducer(T,I){const M=T??this.defaultState;switch(I.type){case f.$N.type:return function O(x,C){const T={...x.guestReservations};return C.from&&T[C.from]&&(T[C.from]={...T[C.from],booked:T[C.from].booked-1}),T[C.to]&&(T[C.to]={...T[C.to],booked:T[C.to].booked+1}),{...x,guestReservations:T}}(M,I);case f.Jt.type:return{...M,guestsPending:M.guestIds.length+I.by};case f.YR.type:return{...M,guestsPending:Math.max(0,M.guestIds.length-I.by)};case f.y1.type:return{...M,guestsPending:Math.max(0,M.guestIds.length-1)};case f.TO.type:case f.N_.type:return{...M,backgroundAPIRequests:M.backgroundAPIRequests+1,busy:!0,reservationsChanging:!0};case f.ws.type:return function B(x,C){const T={...x,backgroundAPIRequests:x.backgroundAPIRequests-1,busy:1!==x.backgroundAPIRequests,guestIds:[...x.guestIds,...C.guests],reservationsChanging:!1};delete T.guestsPending;for(const I of["guestReservation","addonReservation"]){const M=`${I}s`,g=`${I}Changes`;for(const[A,k]of Object.entries(C[g]))A in T[M]?T[M][A].reserved+=k:T[M][A]={booked:0,reserved:k}}return T}(M,I);case f.iR.type:return function G(x,C){const T={...x,backgroundAPIRequests:x.backgroundAPIRequests-1,busy:1!==x.backgroundAPIRequests,guestIds:(0,e.Z)(x.guestIds,...C.guests),reservationsChanging:!1};delete T.guestsPending;for(const I of["guestReservation","addonReservation"]){const M=`${I}s`,g=`${I}Changes`;for(const[A,k]of Object.entries(C[g]))A in T[M]&&(T[M][A].reserved+=k,T[M][A].reserved<1&&delete T[M][A])}for(const[I,M]of Object.entries(C.addonBookingChanges)){const g=T.addonReservations[I];void 0===g.booked?g.booked=M:g.booked+=M}for(const[I,M]of Object.entries(C.bookedChanges))I in T.guestReservations&&(T.guestReservations[I].booked+=M);return T}(M,I);case f.d1.type:case f.yI.type:return{...(0,r.Z)(M,"guestsPending"),backgroundAPIRequests:M.backgroundAPIRequests-1,busy:M.backgroundAPIRequests>1,reservationsChanging:!1};case f.DS.type:return T?(0,r.Z)(M,"guestsPending"):M;case f.WH.type:{const g={...M,backgroundAPIRequests:M.backgroundAPIRequests+I.by};return g.busy=0!==g.backgroundAPIRequests,g}case f.DG.type:case f.Lz.type:return{...M,backgroundAPIRequests:M.backgroundAPIRequests+1,busy:!0};case f.o2.type:case f.NH.type:for(const[g,A]of Object.entries(I.addonBookingChanges)){const k=M.addonReservations[g];k?k.booked+=A:M.addonReservations[g]={booked:0,reserved:1}}return{...M,backgroundAPIRequests:M.backgroundAPIRequests-1,busy:M.backgroundAPIRequests>1};case f.z8.type:case f.OQ.type:return{...M,backgroundAPIRequests:M.backgroundAPIRequests-1,busy:M.backgroundAPIRequests>1};case f.hM.type:return{...M,...(0,r.Z)(I,"type")};default:return M}}}return x.\u0275fac=function(T){return new(T||x)},x.\u0275prov=u.Yz7({token:x,factory:x.\u0275fac}),x})()},40800:(z,J,o)=>{o.d(J,{l:()=>nt});var r=o(64762),e=o(78425),t=o(82668),f=o(14026),u=o(52805),y=o(33606),O=o(5891),B=o(94e3),G=o(92706),x=o(41958),C=o(25336),T=o(3811),I=o(85597),M=o(50725),g=o(38464),A=o(41383),k=o(20700),E=o(14645),U=o(24290),w=o(43061),Y=o(20813),gt=o(37666),ft=o(54074),ct=o(88462),rt=o(81018),tt=o(87842),dt=o(94688);class nt{constructor(){this.actions$=(0,f.f3M)(y.eX),this.customFormValidate=(0,f.f3M)(E.CustomFormValidationService),this.destroyed$=new G.c,this.fb=(0,f.f3M)(u.qu),this.showSvc=(0,f.f3M)(rt.Z),this.stateSvc=(0,f.f3M)(dt.A),this.tgModal=(0,f.f3M)(w.U),this.tr=(0,f.f3M)(ft.D),this.trCount=(0,f.f3M)(gt.d),this.uRes=(0,f.f3M)(ct.q)}get showEventsTos(){return!0===this.event.termsandconditions_required}configure(p){this.bookingUser=p.user??p.loggedInUser,this.hasNonPublicTickets=this.hasPublicTickets=!1,this.addonTickets=new Map,this.guestTickets=new Map,this.showVat=p.evtCfg.showVat,this.organisation=p.organisation,this.event=p.event,this.primaryTicket=p.primaryTicket,this.eventWorkshops=p.event.workshops??[],this.enableDietary=p.event.catered&&p.event.isInPerson()&&this.showSvc.shouldShow(p.profileCfg.dietary.field,p.loggedInUser,this.bookingUser),this.enableSpecialNeeds=this.showSvc.shouldShow(p.profileCfg.special_needs.field,p.loggedInUser,this.bookingUser),this.enableWorkshops=p.evtCfg.workshops.enable&&(ot(p.event)||ot(this.primaryTicket)||p.event.guest_tickets.some(ot)||p.event.addon_tickets.some(ot)),this.isPublicUser=p.loggedInUser.isPublic,this.isReservation=this.event.booking.status===k.EventBookingState.RESERVATION,this.showCommonUserInfo=this.enableWorkshops||this.enableDietary||this.enableSpecialNeeds||Boolean(p.event.addon_tickets.length),this.workshops=(0,A.b)(this.eventWorkshops,m=>m.id),this.profileFieldWorkshopIds=new Set;for(const m of this.event.addon_tickets)this.addonTickets.set(m.id,m),this.addWorkshops(m.workshops);for(const m of this.event.guest_tickets){this.guestTickets.set(m.id,m);const Z=m.roles.includes("public");Z&&(this.hasPublicTickets=!0),(Z?m.roles.length>1:m.roles.length)&&(this.hasNonPublicTickets=!0),this.addWorkshops(m.workshops,!0)}for(const m of this.event.tickets)this.addWorkshops(m.workshops);this.configure=()=>{throw new Error("UserInfoModalFormService.configure called more than once")}}createCommonUserInfo(p={}){const{initialValue:m={},ticketWorkshops:Z}=p,N={attendance_type:this.fb.control(m.attendance_type??null)};return this.enableDietary&&(N.dietary=this.fb.control(m.dietary||null)),this.enableSpecialNeeds&&(N.special_needs=this.fb.control(m.special_needs||null)),this.enableWorkshops&&(N.workshops=this.createWorkshops({initialValue:m.workshops,ticketWorkshops:Z})),this.fb.group(N)}createForm(p={}){this.actions$.pipe((0,y.l4)(tt.iR.type,tt.ws.type));const m=p.addons??[],Z=this.primaryTicket.workshops;for(const N of m)Z.push(...this.addonTickets.get(N).workshops);return this.fb.group({addons:this.fb.control(m,{nonNullable:!0}),confirm:this.fb.control(p.confirm??!1,{nonNullable:!0,validators:u.kI.requiredTrue}),confirmEventsTos:this.fb.control(!this.isReservation,{nonNullable:!0,validators:this.showEventsTos?u.kI.requiredTrue:[]}),guests:this.createGuests(p.guests),info:this.createCommonUserInfo({initialValue:p.info,ticketWorkshops:Z})})}createGuestInfo(p,m={}){const Z=this.resolveInitialGuestTypeValue(m),N=m.later??("user"!==Z&&!m.firstname&&!m.lastname&&!m.email&&!(0,B.Z)(m)),D=this.fb.control(Z,{nonNullable:!0}),R=this.fb.control(N,{nonNullable:!0}),H=this.fb.control(m.user??null,({value:X})=>"user"!==D.value||X?null:{required:!0}),L=()=>!R.value&&"public"===D.value||null,F=X=>L()&&u.kI.required(X),q=[this.baseTicketValidator(D,H)];this.isReservation&&q.push(this.validateReservationTicket);const W=[];m.ticket&&W.push(...this.event.workshopsForTicket(this.guestTickets.get(m.ticket))),m.addons&&W.push(...this.event.workshopsForTickets(m.addons.map(X=>this.addonTickets.get(X))));const V={addons:this.fb.control(m.addons||[],{nonNullable:!0}),email:this.fb.control(m.email||null,X=>L()&&(0,U.t)(X)),firstname:this.fb.control(m.firstname||null,F),id:this.fb.control(p,{nonNullable:!0,validators:u.kI.required}),info:this.createCommonUserInfo({initialValue:m.info,ticketWorkshops:W.length?W:void 0}),lastname:this.fb.control(m.lastname||null,F),later:R,ticket:this.fb.control(m.ticket||null,q),type:D,user:H};return V.later.valueChanges.pipe((0,T.w)(X=>{const j={guestId:p};if(X)j.user=j.info=j.email=j.firstname=j.lastname=null;else if("user"===V.type.value){if(!V.user.value)return x.E;j.info=j.email=j.firstname=j.lastname=null,j.user=V.user.value}else j.email=V.email.value,j.firstname=V.firstname.value,j.lastname=V.lastname.value,j.user=null,j.info=V.info.getRawValue();return[(0,tt.sF)(j)]}),(0,I.R)(this.destroyed$)).subscribe(X=>{this.stateSvc.dispatch(X)}),V.type.valueChanges.pipe((0,I.R)(this.destroyed$)).subscribe(X=>{const j="user"===X?{email:null,firstname:null,guestId:p,info:null,lastname:null,user:V.user.value?.id??null}:{email:V.email.value,firstname:V.firstname.value,guestId:p,info:V.info.getRawValue(),lastname:V.lastname.value,user:null};this.stateSvc.dispatch((0,tt.sF)(j))}),this.fb.group(V)}createGuests(p=[]){this.actions$.pipe((0,y.l4)(tt.ws.type)).subscribe(({guests:R})=>{const H=D.length,L={emitEvent:!1};for(const F of R)D.push(this.createGuestInfo(F),L);for(let F=0;F<H;
1++F)D.at(F).updateValueAndValidity(L);D.updateValueAndValidity()}),this.actions$.pipe((0,y.l4)(tt.iR.type)).subscribe(R=>{const H=new Set(R.guests),L={emitEvent:!1};for(let F=D.length-1;F>-1;--F){const q=D.at(F).controls.id.value;if(H.has(q)){if(D.removeAt(F,L),1===H.size)break;H.delete(q)}}D.updateValueAndValidity()});const m=[],Z=[],N=this.primaryTicket.maximum_guests;N&&m.push(({value:R})=>R.length>N?{maxGuests:{actual:R.length,max:N}}:null),this.isReservation?Z.push(this.validateGuestsAsync):m.push(this.validateGuestsSync);const D=this.fb.array(p.map(R=>this.createGuestInfo(R.id,R)),{asyncValidators:Z,validators:m});return D}createWorkshop(p,m){let Z=m??null;const[N,D]=this.customFormValidate.resolveValidators(p);return"profile_field"===p.type&&(Z=this.bookingUser[p.field]||null),this.fb.control(Z,{asyncValidators:D,validators:N})}createWorkshops(p){const{initialValue:m={},ticketWorkshops:Z=[]}=p,N={};for(const D of[this.eventWorkshops,Z])for(const R of D){const H=this.createWorkshop(R.field,m[R.id]);N[R.id]=H,"profile_field"===R.field.type&&R.field.field&&this.profileFieldWorkshopIds.add(R.id)}return this.fb.group(N)}formatCommonInfo(p){return{attendance_type:p.attendance_type??null,dietary:p.dietary,special_needs:p.special_needs,workshops:p.workshops}}formatGuest(p){const m=p.ticket&&O.SP.extractId(p.ticket),Z="str
1ing"==typeof p.user?this.uRes.instantiate({deleted:!0,email:p.email,firstname:p.firstname,id:p.user,lastname:p.lastname,roles:this.guestTickets.get(m)?.roles??[]}):p.user;return{addons:p.addons?.map(O.SP.extractId)??[],email:p.email??null,firstname:p.firstname??null,id:p.id,info:this.formatCommonInfo(p.info||{}),lastname:p.lastname??null,ticket:(p.ticket&&O.SP.extractId(p.ticket))??null,user:Z??null}}getBlockingTicketAssignmentForUnassign(p){return this.stateSvc.latest("guestReservations").pipe((0,M.U)(m=>{for(const Z of this.primaryTicket.guest_tickets){if(Z.min_guests?.ticket_id!==p||!m[Z.ticket_id]?.booked)continue;const N=m[p]?.booked;if(null==N||N<=Z.min_guests.count)return Z}}))}ngOnDestroy(){(0,t.t)(this.destroyed$)}showTicketUnselectNotice(p,m){const Z=this.tr.translate("cantUnselectThisTicket","events"),N=this.tr.translate("cantUnselectThisTicketInfo","events"),D=(0,Y.o)(this.trCount.transform(N,m.min_guests.count),{dependency:this.guestTickets.get(m.ticket_id).name,num:m.min_guests.count,ticket:this.guestTickets.get(p).name});this.tgModal.information(Z,D).subscribe()}addWorkshops(p,m){if(p?.length)for(const Z of p)m&&"profile_field"===Z.field.type||this.workshops.set(Z.id,Z)}baseTicketValidator(p,m){return({parent:Z,value:N})=>{if(!N)return{required:!0};if("public"===p.value&&!this.guestTickets.get(N)?.roles.includes("public"))return{publicNotEligible:!0};const D=m.value;if(D){const L=this.guestTickets.get(N);if(L&&D.roles&&!L.roles.includes("public")&&!D.hasRolesSome(...L.roles))return{userNotEligible:D.fullName}}const R=this.primaryTicket.guest_tickets.find(L=>L.ticket_id===N);if(!R)return{unattachedExtraTicket:!0};const H=Z?.parent;if(!H)return null;if(R.max_per_booking){const L=H.controls.reduce((F,q)=>q.value.ticket===N?F+1:F,0);if(L>R.max_per_booking)return{maxPerBooking:{actual:L,max:R.max_per_booking}}}if(R.min_guests){const L=H.controls.reduce((F,q)=>q.value.ticket===R.min_guests.ticket_id?F+1:F,0);if(L<R.min_guests.count)return{minGuests:{actual:L,min:R.min_guests.count,ticket:this.guestTickets.get(R.min_guests.ticket_id)?.name??""}}}return null}}resolveInitialGuestTypeValue(p){return p.type?p.type:this.isPublicUser||!this.hasNonPublicTickets?"public":p.user||!this.hasPublicTickets?"user":"public"}validateGuestsAsync(p){const m=p.value;if(!m.length)return(0,C.of)(null);const{duplicateUserId:Z,bookingsPerTicketId:N}=pt(m);return this.stateSvc.store.pipe((0,g.P)(D=>!D.reservationsChanging),(0,M.U)(({guestReservations:D})=>{const R=[];for(const[L,F]of N.entries()){const q=D[L]?.reserved??0;F>q&&R.push({actual:F,max:q,ticket:this.guestTickets.get(L).name})}const H={};if(R.length)H.overbooked=R,Z&&(H.duplicateUserId=!0);else{if(!Z)return null;H.duplicateUserId=!0}return H}))}validateGuestsSync(p){const m=p.value;return m.length&&pt(m).duplicateUserId?{duplicateUserId:!0}:null}validateReservationTicket({value:p}){switch(this.guestTickets.get(p)?.availability){case 3:return{ticketSoldOut:!0};case 1:return{ticketSalesEnded:!0};case 2:return{ticketSalesNotStarted:!0};default:return null}}}function pt(at){const p=new Map;let m=!1;const Z=new Set;for(const{ticket:N,type:D,user:R}of at)N&&p.set(N,(p.get(N)??0)+1),"user"===D&&R&&(Z.has(R.id)?m=!0:Z.add(R.id));return{duplicateUserId:m,bookingsPerTicketId:p}}function ot(at){return Boolean(at.workshops?.length)}nt.\u0275fac=function(p){return new(p||nt)},nt.\u0275prov=f.Yz7({token:nt,factory:nt.\u0275fac}),(0,r.gn)([(0,e.h)()],nt.prototype,"validateGuestsAsync",null),(0,r.gn)([(0,e.h)()],nt.prototype,"validateGuestsSync",null),(0,r.gn)([(0,e.h)()],nt.prototype,"validateReservationTicket",null)},20321:(z,J,o)=>{o.d(J,{n:()=>g});var r=o(5296),e=o(13913),t=o(14026),f=o(91183),u=o(5891),y=o(25336),O=o(11083),B=o(87563),G=o(3811),x=o(89969),C=o(20700),T=o(19807),I=o(68995),M=o(94795);let g=(()=>{class A{constructor(){this.alert=(0,t.f3M)(T.c),this.bookingRes=(0,t.f3M)(I.L),this.evtRes=(0,t.f3M)(M.U),this.store=(0,t.f3M)(f.yh)}cancelBooking(E){const U=u.SP.extractId(E.event),w="events";return this.bookingRes.delete(E.id).pipe((0,B.K)(Y=>404===Y.status?(0,y.of)(null):(0,O._)(()=>Y)),(0,G.w)(()=>this.evtRes.get(U)),(0,x.b)({error:()=>{this.alert.alertError({key:E.status===C.EventBookingState.DECLINED?"declineWithdrawFail":"bookingCancelFail",ns:w})},next:()=>{this.alert.alertSuccess({key:E.status===C.EventBookingState.DECLINED?"declineWithdrawn":"bookingCancelled",ns:w}),this.store.dispatch({type:"event:unbooked"})}}),(0,r.H)("[EventsService.cancelBooking]"))}declineEvent(E){const U="events";return this.evtRes.declineEvent({eventId:E.id}).pipe((0,G.w)(()=>this.evtRes.get(E.id)),(0,x.b)({error:()=>{this.alert.alertError({key:"declineFail",ns:U})},next:()=>{this.alert.alertSuccess({key:"declined",ns:U})}}),(0,r.H)("[EventsService.cancelDeclineBooking]"))}getCapacityFromReservations(E){if(!E)return 0;const U=Object.values(E);return U.length?Math.max(...U):0}getEventHomeRoles(E){if(!E?.roles?.length)return["public"];const U=new Set(E.roles);return U.delete("administrator"),U.add("public"),Array.from(U)}isUnexpectedBookingStateResponse(E){return E instanceof e.UA&&400===E.status&&"string"==typeof E.error&&E.error.startsWith("E_UNEXPECTED_STATE_")}}return A.\u0275fac=function(E){return new(E||A)},A.\u0275prov=t.Yz7({token:A,factory:A.\u0275fac,providedIn:"root"}),A})()},18416:(z,J,o)=>
1{o.d(J,{r:()=>M});var r=o(5674),e=o(68165),t=o(55324),f=o(97482),u=o(14026),y=o(64177),O=o(10218),B=o(64683),G=o(61143);function x(g,A){1&g&&u._UZ(0,"span",2),2&g&&u.Q6J("translate","free")}const C=function(g){return{cost:g}};function T(g,A){if(1&g&&(u.TgZ(0,"div"),u._uU(1),u.ALo(2,"tr"),u.ALo(3,"tgCurrency"),u.ALo(4,"cents"),u.ALo(5,"vat"),u.qZA()),2&g){const k=u.oxw(2);u.xp6(1),u.hij("(",u.xi3(2,1,"costIncVat",u.VKq(10,C,u.lcZ(3,4,u.lcZ(4,6,u.lcZ(5,8,k.ticket.price))))),")")}}function I(g,A){if(1&g&&(u.TgZ(0,"span"),u._uU(1),u.ALo(2,"tgCurrency"),u.ALo(3,"cents"),u.qZA(),u.YNc(4,T,6,12,"div",3)),2&g){const k=u.oxw();u.xp6(1),u.Oqu(u.lcZ(2,2,u.lcZ(3,4,k.ticket.price))),u.xp6(3),u.Q6J("ngIf",k.showVat)}}let M=(()=>{class g{constructor(){this.showVat=!0}}return g.\u0275fac=function(k){return new(k||g)},g.\u0275cmp=u.Xpm({type:g,selectors:[["tg-event-price"]],inputs:{ticket:"ticket"},standalone:!0,features:[u._Bn([],[{provide:f.z,useValue:"events"}]),u.jDz],decls:3,vars:2,consts:[["tplFree",""],[3,"ngIf","ngIfElse"],[3,"translate"],[4,"ngIf"]],template:function(k,E){if(1&k&&(u.YNc(0,x,1,1,"ng-template",null,0,u.W1O),u.YNc(2,I,5,6,"ng-template",1)),2&k){const U=u.MAs(1);u.xp6(2),u.Q6J("ngIf",E.ticket.price>0)("ngIfElse",U)}},dependencies:[t.GlobalModule,y.O5,O.P,B.H,G.z,r.Z,e.N],encapsulation:2,changeDetection:0}),g})()},9099:(z,J,o)=>{o.d(J,{n:()=>x});var r=o(64177),e=o(12675),t=o(14026);let f=(()=>{class C{constructor(){this.el=(0,t.f3M)(t.SBq).nativeElement,this.r2=(0,t.f3M)(t.Qsj)}get frozen(){return void 0!==this._unfreeze}set frozen(I){I!==this.frozen&&(I?this._unfreeze=this.freezeWith():(this._unfreeze(),this._unfreeze=void 0))}freezeWith(){const I=this.el.style.width;return this.r2.setStyle(this.el,"width",getComputedStyle(this.el).width),I?()=>{this.r2.setStyle(this.el,"width",I)}:()=>{this.r2.removeStyle(this.el,"width")}}}return C.\u0275fac=function(I){return new(I||C)},C.\u0275prov=t.Yz7({token:C,factory:C.\u0275fac}),C})();var u=o(90237);const y=["tgLoadingBtn",""];function O(C,T){1&C&&t.Hsn(0)}function B(C,T){1&C&&t._UZ(0,"tg-loader-spinner")}const G=["*"];let x=(()=>{class C{constructor(I){this.svc=I}get loading(){return this.svc.frozen}set loading(I){this.svc.frozen=I}}return C.\u0275fac=function(I){return new(I||C)(t.Y36(f))},C.\u0275cmp=t.Xpm({type:C,selectors:[["button","tgLoadingBtn",""]],inputs:{loading:["tgLoadingBtn","loading"]},standalone:!0,features:[t._Bn([f]),t.jDz],attrs:y,ngContentSelectors:G,decls:3,vars:2,consts:[["tplContent",""],[4,"ngIf","ngIfElse"]],template:function(I,M){if(1&I&&(t.F$t(),t.YNc(0,O,1,0,"ng-template",null,0,t.W1O),t.YNc(2,B,1,0,"tg-loader-spinner",1)),2&I){const g=t.MAs(1);t.xp6(2),t.Q6J("ngIf",M.loading)("ngIfElse",g)}},dependencies:[r.ez,r.O5,e.b,u.I],encapsulation:2}),C})()},41069:(z,J,o)=>{o.d(J,{d:()=>t});var r=o(14026),e=o(52805);let t=(()=>{class f{constructor(){this.emitInvalidBlurs=!1,this.out$=new r.vpe,this.ctrl=(0,r.f3M)(e.a5,{self:!0}),this.focusing=!1}ngOnDestroy(){this.focusing&&this.onBlur(),this.out$.complete()}ngOnInit(){this.startingValue=this.ctrl.control.value}onBlur(){this.focusing=!1;const{value:y,invalid:O}=this.ctrl.control;if(O&&!this.emitInvalidBlurs||y===this.startingValue)return;const B={to:y,from:this.startingValue};this.startingValue=y,this.out$.emit(B)}onFocus(){this.focusing=!0}}return f.\u0275fac=function(y){return new(y||f)},f.\u0275dir=r.lG2({type:f,selectors:[["input","blurIfChanged",""],["textarea","blurIfChanged",""],["select","blurIfChanged",""]],hostBindings:function(y,O){1&y&&r.NdJ("blur.passive",function(){return O.onBlur()})("focus.passive",function(){return O.onFocus()})},inputs:{emitInvalidBlurs:"emitInvalidBlurs"},outputs:{out$:"blurIfChanged"},standalone:!0}),f})()},54610:(z,J,o)=>{o.d(J,{e:()=>e});var r=o(14026);let e=(()=>{class t{constructor(u,y){this.vcr=u,this.tpl=y,this.views=[]}ngOnChanges({num:u}){if(u){if("number"!=typeof this.num)throw new TypeError("tgRepeat input must be a number");if(this.num<0)throw new Error("tgRepeat input must be >= 0");this.regenerate()}}regenerate(){const u=this.num-this.views.length;if(0===u)return;if(u<0){const x=-1*u,C=this.views.length-1,T=C-x;for(let I=C;I>T;--I)this.vcr.remove(I);return void this.views.splice(this.views.length-x,x)}if(this.views.length){const x=this.views[this.views.length-1];x.context={...x.context,last:!1},x.markForCheck()}const y=this.views.length,O=y+u,B=O-1;let G=0===y;for(let x=y;x<O;++x)this.views.push(this.vcr.createEmbeddedView(this.tpl,{$implicit:x,first:G,last:x===B},x)),G=!1}}return t.\u0275fac=function(u){return new(u||t)(r.Y36(r.s_b),r.Y36(r.Rgc))},t.\u0275dir=r.lG2({type:t,selectors:[["","tgRepeat",""]],inputs:{num:["tgRepeatFor","num"]},standalone:!0,features:[r.TTD]}),t})()},64768:(z,J,o)=>{o.d(J,{F:()=>x});var r=o(7670),e=o(10319),t=o(55324),f=o(19642),u=o(14026),y=o(64177);function O(C,T){1&C&&(u.TgZ(0,"div",2),u.Hsn(1,1),u.qZA()),2&C&&u.Q6J("@slideDownOnEntry",void 0)("@slideUpOnExit",void 0)}const B=[[["",8,"form-control"]],"*"],G=[".form-control","*"];let x=(()=>{class C{constructor(){this.disabled=!1,this.showAdvanced=!0}ngOnInit(){this.isOpen=!0===this.startOpen}}return C.\u0275fac=function(I){return new(I||C)},C.\u0275cmp=u.Xpm({type:C,selectors:[["tg-advanced-search-shell"]],inputs:{ctrlReset:"ctrlReset",disabled:"disabled",showAdvanced:"showAdvanced",startOpen:"startOpen"},standalone:!0,features:[u.jDz],ngContentSelectors:G,decls:3,vars:5,consts:[[3,"disabled","ctrlReset","open","showAdvanced","openChange"],["class","well",4,"ngIf"],[1,"well"]],template:function(I,M){1&I&&(u.F$t(B),u.TgZ(0,"tg-advanced-search-header",0),u.NdJ("openChange",function(A){return M.isOpen=A}),u.Hsn(1),u.qZA(),u.YNc(2,O,2,2,"div",1)),2&I&&(u.Q6J("disabled",M.disabled)("ctrlReset",M.ctrlReset)("open",M.isOpen)("showAdvanced",M.showAdvanced),u.xp6(2),u.Q6J("ngIf",M.isOpen))},dependencies:[t.GlobalModule,y.O5,f.q],styles:["[_nghost-%COMP%]{display:block}"],data:{animation:[r.Y,e.b]}}),C})()},20384:(z,J,o)=>{o.d(J,{j:()=>b});var r=o(64762),e=o(14026),t=o(52805),f=o(40921),u=o(23055),y=o(76538),O=o(3895),B=o(74831),G=(()=>
1{return(h=G||(G={})).ALL="all",h.ONE="one",h.TWO_OR_MORE="twoOrMore",G;var h})(),x=o(52264),C=o(78771),T=o(55324),I=o(26694),M=o(79903),g=o(45339),A=o(26477),k=o(34687),E=o(97482),U=o(54074),w=o(76473),Y=o(45191),gt=o(64768),ct=(o(13026),o(89430)),rt=o(60611),tt=o(64177),dt=o(99092),nt=o(61225),pt=o(84773),ot=o(10218),at=o(26495),p=o(7933),m=o(13731),Z=o(3814),N=o(80499),D=o(16936),R=o(61958),H=o(64683),L=o(49043),F=o(4087),q=o(81117),W=o(47946),V=o(16838);function X(h,a){if(1&h&&e._UZ(0,"tg-help-block",10),2&h){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.category)}}function j(h,a){if(1&h){const c=e.EpF();e.TgZ(0,"div",4,5),e._UZ(2,"label",6),e.TgZ(3,"tg-clearable-input",7)(4,"tg-dropdown-select",8),e.NdJ("touched",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.qZA()(),e.YNc(5,X,1,1,"tg-help-block",9),e.qZA()}if(2&h){const c=e.MAs(1),_=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("for",c.id)("translate","category"),e.xp6(1),e.Q6J("disabled",_.disabled),e.xp6(1),e.Q6J("formControl",_.ctrl.controls.category)("multi",!0)("controlId",c.id)("tgMetadataSelect","event_categories"),e.xp6(1),e.Q6J("ngIf",_.ctrl.controls.category.touched)}}function It(h,a){if(1&h&&e._UZ(0,"tg-help-block",10),2&h){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.type)}}function kt(h,a){if(1&h){const c=e.EpF();e.TgZ(0,"div",4,11),e._UZ(2,"label",6),e.TgZ(3,"tg-clearable-input",7)(4,"tg-dropdown-select",8),e.NdJ("touched",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.qZA()(),e.YNc(5,It,1,1,"tg-help-block",9),e.qZA()}if(2&h){const c=e.MAs(1),_=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("for",c.id)("translate","type"),e.xp6(1),e.Q6J("disabled",_.disabled),e.xp6(1),e.Q6J("formControl",_.ctrl.controls.type)("multi",!0)("controlId",c.id)("tgMetadataSelect","event_types"),e.xp6(1),e.Q6J("ngIf",_.ctrl.controls.type.touched)}}function st(h,a){if(1&h&&e._UZ(0,"tg-help-block",10),2&h){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.status)}}function ht(h,a){if(1&h){const c=e.EpF();e.TgZ(0,"div",4,12),e._UZ(2,"label",13),e.TgZ(3,"tg-clearable-input",7)(4,"tg-dropdown-select",14),e.NdJ("touched",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.qZA()(),e.YNc(5,st,1,1,"tg-help-block",9),e.qZA()}if(2&h){const c=e.MAs(1),_=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("translate","status")("for",c.id),e.xp6(1),e.Q6J("disabled",_.disabled),e.xp6(1),e.Q6J("formControl",_.ctrl.controls.status)("items",_.statuses)("multi",!0)("controlId",c.id),e.xp6(1),e.Q6J("ngIf",_.ctrl.controls.status.touched)}}function it(h,a){if(1&h&&e._UZ(0,"tg-help-block",10),2&h){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.start_from)}}function Mt(h,a){if(1&h&&e._UZ(0,"tg-help-block",10),2&h){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.start_to)}}function At(h,a){if(1&h){const c=e.EpF();e.TgZ(0,"div",4,15)(2,"label",16)(3,"tg-info-bubble"),e._uU(4),e.ALo(5,"tr"),e.qZA(),e.TgZ(6,"span"),e._uU(7),e.ALo(8,"tr"),e.qZA()(),e.TgZ(9,"tg-clearable-input",7)(10,"tg-datepicker",17),e.NdJ("touched",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.ALo(11,"tr"),e.qZA()(),e.YNc(12,it,1,1,"tg-help-block",9),e.TgZ(13,"tg-clearable-input",7)(14,"tg-datepicker",18),e.NdJ("touched",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.ALo(15,"tr"),e.qZA()(),e.YNc(16,Mt,1,1,"tg-help-block",9),e.qZA()}if(2&h){const c=e.MAs(1),_=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("for",c.id),e.xp6(2),e.Oqu(e.lcZ(5,13,"startDateTT")),e.xp6(3),e.Oqu(e.lcZ(8,15,"startDate")),e.xp6(2),e.Q6J("disabled",_.disabled),e.xp6(1),e.Q6J("controlId",c.id)("placeholder",e.lcZ(11,17,"startDateFromPH"))("formControl",_.ctrl.controls.start_from),e.xp6(2),e.Q6J("ngIf",_.ctrl.controls.start_from.touched),e.xp6(1),e.Q6J("disabled",_.disabled),e.xp6(1),e.Q6J("placeholder",e.lcZ(15,19,"startDateUpToPH"))("formControl",_.ctrl.controls.start_to),e.xp6(2),e.Q6J("ngIf",_.ctrl.controls.start_to.touched)}}function Ct(h,a){if(1&h&&e._UZ(0,"tg-help-block",10),2&h){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.end_from)}}function yt(h,a){if(1&h&&e._UZ(0,"tg-help-block",10),2&h){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.end_to)}}function Et(h,a){if(1&h){const c=e.EpF();e.TgZ(0,"div",4,19)(2,"label",16)(3,"tg-info-bubble"),e._uU(4),e.ALo(5,"tr"),e.qZA(),e.TgZ(6,"span"),e._uU(7),e.ALo(8,"tr"),e.qZA()(),e.TgZ(9,"tg-clearable-input",7)(10,"tg-datepicker",17),e.NdJ("touched",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.ALo(11,"tr"),e.qZA()(),e.YNc(12,Ct,1,1,"tg-help-block",9),e.TgZ(13,"tg-clearable-input",7)(14,"tg-datepicker",18),e.NdJ("touched",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.ALo(15,"tr"),e.qZA()(),e.YNc(16,yt,1,1,"tg-help-block",9),e.qZA()}if(2&h){const c=e.MAs(1),_=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("for",c.id),e.xp6(2),e.Oqu(e.l
1cZ(5,13,"endDateTT")),e.xp6(3),e.Oqu(e.lcZ(8,15,"endDate")),e.xp6(2),e.Q6J("disabled",_.disabled),e.xp6(1),e.Q6J("controlId",c.id)("placeholder",e.lcZ(11,17,"endDateFromPH"))("formControl",_.ctrl.controls.end_from),e.xp6(2),e.Q6J("ngIf",_.ctrl.controls.end_from.touched),e.xp6(1),e.Q6J("disabled",_.disabled),e.xp6(1),e.Q6J("placeholder",e.lcZ(15,19,"endDateUpToPH"))("formControl",_.ctrl.controls.end_to),e.xp6(2),e.Q6J("ngIf",_.ctrl.controls.end_to.touched)}}function Ot(h,a){if(1&h&&e._UZ(0,"tg-help-block",10),2&h){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.owners)}}function Dt(h,a){if(1&h){const c=e.EpF();e.TgZ(0,"div",4,20)(2,"label",16)(3,"tg-info-bubble"),e._uU(4),e.ALo(5,"tr"),e.qZA(),e.TgZ(6,"span"),e._uU(7),e.ALo(8,"tr"),e.qZA()(),e.TgZ(9,"tg-clearable-input")(10,"tg-user-select",21),e.NdJ("touched",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.qZA()(),e.YNc(11,Ot,1,1,"tg-help-block",9),e.qZA()}if(2&h){const c=e.MAs(1),_=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("for",c.id),e.xp6(2),e.Oqu(e.lcZ(5,9,"ownersTT")),e.xp6(3),e.Oqu(e.lcZ(8,11,"owners")),e.xp6(3),e.Q6J("formControl",_.ctrl.controls.owners)("idsOnly",!0)("controlId",c.id)("multi",!0),e.xp6(1),e.Q6J("ngIf",_.ctrl.controls.owners.touched)}}function Bt(h,a){if(1&h&&e._UZ(0,"option",25),2&h){const c=a.$implicit;e.Q6J("ngValue",c)("translate",c)}}function Pt(h,a){if(1&h){const c=e.EpF();e.TgZ(0,"div",4,22),e._UZ(2,"label",13),e.TgZ(3,"tg-help-block-container")(4,"select",23),e.NdJ("blur.passive",function(){e.CHM(c);const P=e.oxw();return e.KtG(P.onTouch())}),e.YNc(5,Bt,1,2,"option",24),e.qZA()()()}if(2&h){const c=e.MAs(1),_=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("translate","ownerAmount")("for",c.id),e.xp6(2),e.Q6J("id",c.id)("formControl",_.ctrl.controls.owners_amount),e.xp6(1),e.Q6J("ngForOf",_.ownerAmountStatuses)}}class b extends w.S{constructor(a){super(),this.routing=a,this.advancedIsOpen=!1,this.tr=(0,e.f3M)(U.D);const c=(0,e.f3M)(C.f);this.showCategory=c.category.show,this.showType=c.type.show,this.fieldsCfg=c.adminListAdvancedSearch.fields,this.advancedIsOpen=c.adminListAdvancedSearch.startOpen}static get defaultStatuses(){return Object.values(x.N).filter(a=>a!==x.N.DELETED)}ngOnDestroy(){super.ngOnDestroy(),this._sub?.unsubscribe()}ngOnInit(){this.statuses=Object.entries(this.tr.translateArray(b.defaultStatuses,"eventStatus")).map(([a,c])=>({value:a,label:c})),this.ownerAmountStatuses=Object.values(G),super.ngOnInit(),this.resetValue=this.ctrl.getRawValue()}normaliseWriteValue(a){const c=(0,u.Z)(this.resetValue);if(!a)return c;for(const[_,P]of Object.entries(a))_ in c&&(c[_]=P);return c}createCtrl(){const a=(0,y.Z)(this.routing.params,Boolean),c=this.fb.control(a.start_from??null),_=this.fb.control(a.start_to??null),P=this.fb.control(a.end_from??null),$=this.fb.control(a.end_to??null),mt=Y.MinMaxValidator.forDates(c,_);mt.appendValidators();const Tt=Y.MinMaxValidator.forDates(P,$);Tt.appendValidators();const Rt=mt.getSynchroniser();return Rt.add(Tt.getSynchroniser()),this._sub=Rt,this.fb.group({category:this.mkArrayCtrl(a.category),end_from:P,end_to:$,owners:this.mkArrayCtrl(a.owners
1),owners_amount:this.fb.control(a.owners_amount??G.ALL),start_from:c,start_to:_,status:this.mkArrayCtrl(a.status),title:this.fb.control(a.title??null),type:this.mkArrayCtrl(a.type)})}mkArrayCtrl(a){const c=this.fb.control([],{nonNullable:!0});return null!=a&&c.setValue((0,O.Z)(a)),c}}b.\u0275fac=function(a){return new(a||b)(e.Y36(rt.Z))},b.\u0275cmp=e.Xpm({type:b,selectors:[["tg-event-admin-search"]],standalone:!0,features:[e._Bn([{multi:!0,provide:t.JU,useExisting:(0,e.Gpc)(()=>b)}],[{provide:E.z,useValue:"event-admin-search"}]),e.qOj,e.jDz],decls:12,vars:20,consts:[[3,"disabled","startOpen","ctrlReset"],[1,"form-control",3,"tgConsumeControlId","formControl","placeholder","blur.passive"],[1,"tg-filter-grid","tg-filter-admin-locks"],["class","tg-filter-cell",3,"autoId",4,"ngIf"],[1,"tg-filter-cell",3,"autoId"],["idCategory","id"],[3,"for","translate"],[3,"disabled"],[3,"formControl","multi","controlId","tgMetadataSelect","clearable-input-target","touched"],[3,"control",4,"ngIf"],[3,"control"],["idType","id"],["idStatus","id"],[3,"translate","for"],[3,"formControl","items","multi","controlId","clearable-input-target","touched"],["idStartDate","id"],[3,"for"],[3,"clearable-input-target","controlId","placeholder","formControl","touched"],[3,"clearable-input-target","placeholder","formControl","touched"],["idEndDate","id"],["idOwners","id"],[3,"formControl","idsOnly","controlId","multi","clearable-input-target","touched"],["idOwnersAmount","id"],[1,"form-control",3,"id","formControl","blur.passive"],[3,"ngValue","translate",4,"ngFor","ngForOf"],[3,"ngValue","translate"]],template:function(a,c){1&a&&(e.TgZ(0,"tg-advanced-search-shell",0)(1,"input",1),e.NdJ("blur.passive",function(){return c.onTouch()}),e.ALo(2,"tr"),e.ALo(3,"tr"),e.qZA(),e.TgZ(4,"div",2),e.YNc(5,j,6,9,"div",3),e.YNc(6,kt,6,9,"div",3),e.YNc(7,ht,6,9,"div",3),e.YNc(8,At,17,21,"div",3),e.YNc(9,Et,17,21,"div",3),e.YNc(10,Dt,12,13,"div",3),e.YNc(11,Pt,6,6,"div",3),e.qZA()()),2&a&&(e.Q6J("disabled",c.disabled)("startOpen",c.advancedIsOpen)("ctrlReset",c.ctrl.controls.title),e.xp6(1),e.Q6J("tgConsumeControlId","id")("formControl",c.ctrl.controls.title)("placeholder",e.lcZ(2,16,"searchPH")),e.uIk("aria-label",e.lcZ(3,18,"title")),e.xp6(3),e.ekj("filter-grid-disabled",c.disabled),e.xp6(1),e.Q6J("ngIf",c.showCategory&&c.fieldsCfg.category),e.xp6(1),e.Q6J("ngIf",c.showType&&c.fieldsCfg.type),e.xp6(1),e.Q6J("ngIf",c.fieldsCfg.status),e.xp6(1),e.Q6J("ngIf",c.fieldsCfg.date.start),e.xp6(1),e.Q6J("ngIf",c.fieldsCfg.date.end),e.xp6(1),e.Q6J("ngIf",c.fieldsCfg.owners.owners),e.xp6(1),e.Q6J("ngIf",c.fieldsCfg.owners.amount))},dependencies:[T.GlobalModule,tt.sg,tt.O5,dt.X,nt.c,pt.s,ot.P,at.f,p._,m.z,Z.u0,Z.k6,N._,D.T,R.y,H.H,g.W,I.o,ct.t,L.U,M.g,F.W,q.e,B.z8,t.UX,t.YN,t.Kr,t.Fj,t.EJ,t.JJ,t.oH,k.f,W.X,V.s,A.d,gt.F],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),(0,r.gn)([(0,f.a)()],b,"defaultStatuses",null)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.