PageSourceSearch

https://members.ciro.org/9494.7d43975b95adb524.js

js ciro.org collected 2026-10-06 15:15:53 UTC 114,897 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkVeryConnect=self.webpackChunkVeryConnect||[]).push([[9494],{41383:(V,N,o)=>{o.d(N,{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 E=0;for(const P of t)y.set(f(P,E),u(P,E)),++E;return y}},29910:(V,N,o)=>{o.d(N,{X:()=>t});var r=o(49731),e=o(14026);let t=(()=>{class f extends r.TemplateContainer{}return f.\u0275fac=function(){let u;return function(E){return(u||(u=e.n5z(f)))(E||f)}}(),f.\u0275dir=e.lG2({type:f,selectors:[["","tg-accordion-item-body",""]],features:[e.qOj]}),f})()},6730:(V,N,o)=>{o.d(N,{_:()=>t});var r=o(49731),e=o(14026);let t=(()=>{class f extends r.TemplateContainer{}return f.\u0275fac=function(){let u;return function(E){return(u||(u=e.n5z(f)))(E||f)}}(),f.\u0275dir=e.lG2({type:f,selectors:[["","tg-accordion-item-heading",""]],features:[e.qOj]}),f})()},88226:(V,N,o)=>{o.d(N,{r:()=>f});var r=o(14026),e=o(29910),t=o(6730);let f=(()=>{class u{constructor(E){this.cdr=E,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(E){return new(E||u)(r.Y36(r.sBO))},u.\u0275dir=r.lG2({type:u,selectors:[["tg-accordion-item"]],contentQueries:function(E,P,D){if(1&E&&(r.Suo(D,e.X,5),r.Suo(D,t._,5)),2&E){let p;r.iGM(p=r.CRH())&&(P.body=p.first),r.iGM(p=r.CRH())&&(P.heading=p.first)}},inputs:{disabled:"disabled"},outputs:{openPrevented:"openPrevented"},exportAs:["tg-accordion-item"]}),u})()},67263:(V,N,o)=>{o.d(N,{h:()=>M});var r=o(55324),e=o(95707),t=o(14026),f=o(7670),u=o(10319),y=o(64177),E=o(4678),P=o(33746),D=o(6522);function p(m,A){if(1&m&&(t.TgZ(0,"tg-panel-body"),t.GkF(1,2),t.qZA()),2&m){const I=t.oxw();t.ekj("hidden",I.hideBody),t.Q6J("@slideDownOnEntry",void 0)("@slideUpOnExit",void 0),t.xp6(1),t.Q6J("ngTemplateOutlet",I.bodyTpl)}}const b=["*"];let k=(()=>{class m{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 m.\u0275fac=function(I){return new(I||m)},m.\u0275cmp=t.Xpm({type:m,selectors:[["tg-accordion-item-inner"]],hostVars:4,hostBindings:function(I,O){2&I&&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:b,decls:3,vars:3,consts:[[3,"effectiveClick"],[3,"hidden",4,"ngIf"],[3,"ngTemplateOutlet"]],template:function(I,O){1&I&&(t.F$t(),t.TgZ(0,"tg-panel-heading",0),t.NdJ("effectiveClick",function(){return O.onHeaderClick()}),t.Hsn(1),t.qZA(),t.YNc(2,p,2,5,"tg-panel-body",1)),2&I&&(t.ekj("accordion-item-disabled",O.disabled),t.xp6(2),t.Q6J("ngIf",O.renderBody))},dependencies:[y.O5,y.tP,E.Av,E.Nk,P.t,D.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]}}),m})();var T=o(22009);let M=(()=>{class m{}return m.\u0275fac=function(I){return new(I||m)},m.\u0275mod=t.oAB({type:m}),m.\u0275inj=t.cJS({imports:[r.GlobalModule]}),m})();t.B6R(e.Z,[y.sg,y.O5,y.tP,y.RF,y.n9,T.a,k],[])},95707:(V,N,o)=>{o.d(N,{Z:()=>T});var r=o(14026),e=o(88226),t=o(49731);let f=(()=>
1{class m extends t.TemplateContainer{constructor(I){super(),this.cdr=I,this.active=!1,this.disabled=!1,this.openPrevented=new r.vpe}ngOnDestroy(){this.openPrevented.complete()}}return m.\u0275fac=function(I){return new(I||m)(r.Y36(r.sBO))},m.\u0275dir=r.lG2({type:m,selectors:[["","tg-accordion-item",""]],inputs:{disabled:"disabled",heading:["tg-accordion-item","heading"]},outputs:{openPrevented:"openPrevented"},features:[r.qOj]}),m})();function u(m,A){1&m&&(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(m,A){if(1&m){const I=r.EpF();r.TgZ(0,"tg-accordion-item-inner",9),r.NdJ("headerClicked",function(R){r.CHM(I);const w=r.oxw(3);return r.KtG(w.setIndex(R))}),r._uU(1),r.qZA()}if(2&m){const I=A.$implicit,O=A.index,R=r.oxw(3);r.Q6J("bodyTpl",I.template)("disabled",I.disabled)("itemIdx",O)("mode",R.mode)("activeIdx",R.index),r.xp6(1),r.Oqu(I.heading)}}function E(m,A){if(1&m&&r.YNc(0,y,2,6,"tg-accordion-item-inner",8),2&m){const I=r.oxw(2);r.Q6J("ngForOf",I.simpleItems)}}function P(m,A){if(1&m){const I=r.EpF();r.TgZ(0,"tg-accordion-item-inner",9),r.NdJ("headerClicked",function(R){r.CHM(I);const w=r.oxw(3);return r.KtG(w.setIndex(R))}),r.GkF(1,10),r.qZA()}if(2&m){const I=A.$implicit,O=A.index,R=r.oxw(3),w=r.MAs(5),Y=r.MAs(3);r.Q6J("bodyTpl",I.getBody()||w)("disabled",I.disabled)("itemIdx",O)("mode",R.mode)("activeIdx",R.index),r.xp6(1),r.Q6J("ngTemplateOutlet",I.getHeading()||Y)}}function D(m,A){if(1&m&&r.YNc(0,P,2,6,"tg-accordion-item-inner",8),2&m){const I=r.oxw(2);r.Q6J("ngForOf",I.richItems)}}function p(m,A){if(1&m&&(r.TgZ(0,"div",5),r.ynx(1,6),r.YNc(2,E,1,1,"ng-template",7),r.YNc(3,D,1,1,"ng-template",7),r.BQk(),r.qZA()),2&m){const I=r.oxw();r.xp6(1),r.Q6J("ngSwitch",I.ui),r.xp6(1),r.Q6J("ngSwitchCase","simple"),r.xp6(1),r.Q6J("ngSwitchCase","rich")}}function b(m,A){1&m&&(r.TgZ(0,"div",11),r._uU(1,"Accordion item missing a heading!"),r.qZA())}function k(m,A){1&m&&(r.TgZ(0,"div",11),r._uU(1,"Accordion item missing a body!"),r.qZA())}let T=(()=>{class m{constructor(){this.index=0,this.indexChange=new r.vpe,this.mode="if"}ngAfterContentChecked(){this.onContentRefresh(),this.updateActiveStatesIfNeeded()}ngAfterContentInit(){this.onContentRefresh(),this.updateActiveStatesIfNeeded()}ngOnChanges({index:I}){!1===I?.firstChange&&(this.updateActiveStatesIfNeeded(),this.setOpenPreventedFalse())}ngOnDestroy(){this.indexChange.complete()}setIndex(I){const O=I===this.index?-1:I,R=this.itemAt(O);R?.disabled?R.openPrevented.emit(!0):(this.setOpenPreventedFalse(),this.index=O,this.indexChange.emit(O),this.updateActiveStatesIfNeeded())}itemAt(I){if(!(I<0)){if(this.richItems.length)return this.richItems.get(I);if(this.simpleItems.length)return this.simpleItems.get(I)}}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(I){for(let O=0;O<I.length;O++){const R=I.get(O),w=O===this.index;w!==R.active&&(R.active=w,R.cdr.markForCheck())}}updateActiveStatesIfNeeded(){this.richItems.length?this.updateActiveStates(this.richItems):this.simpleItems.length&&this.updateActiveStates(this.simpleItems)}}return m.\u0275fac=function(I){return new(I||m)},m.\u0275cmp=r.Xpm({type:m,selectors:[["tg-accordion"]],contentQueries:function(I,O,R){if(1&I&&(r.Suo(R,e.r,4),r.Suo(R,f,4)),2&I){let w;r.iGM(w=r.CRH())&&(O.richItems=w),r.iGM(w=r.CRH())&&(O.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(I,O){1&I&&(r.YNc(0,u,2,0,"div",0),r.YNc(1,p,4,3,"div",1),r.YNc(2,b,2,0,"ng-template",null,2,r.W1O),r.YNc(4,k,2,0,"ng-template",null,3,r.W1O)),2&I&&(r.Q6J("ngIf",O.hasMixed),r.xp6(1),r.Q6J("ngIf",O.ui))},encapsulation:2,changeDetection:0}),m})();function M(m){for(const A of m)A.openPrevented.emit(!1)}},82530:(V,N,o)=>{o.d(N,{X:()=>D});var r=o(64762),e=o(78425),t=o(13913),f=o(14026),u=o(89969),y=o(54074),E=o(19807);class P{constructor(b){this.alert=(0,f.f3M)(E.c),this.tr=(0,f.f3M)(y.D);const k=this.tr.getNamespace(b);if(!k)throw new Error(`Namespace '${b}' not found`);this.namespace=k}alertHttpError(){return(0,u.b)({error:this.negotiate})}
1negotiate(b,k){if(b instanceof t.UA&&"string"==typeof b.error){const T=this.namespace.get(b.error);if(T)return this.alert.alertError(T)}return this.alert.negotiate(b,k)}}(0,r.gn)([(0,e.h)()],P.prototype,"negotiate",null);let D=(()=>{class p extends P{constructor(){super("events.errors")}}return p.\u0275fac=function(k){return new(k||p)},p.\u0275prov=f.Yz7({token:p,factory:p.\u0275fac,providedIn:"root"}),p})()},53249:(V,N,o)=>{o.d(N,{N:()=>E});var r=o(78771),e=o(14026),t=o(54074),f=o(68165),u=o(5674),y=o(61143);let E=(()=>{class P{constructor(p,b,k,T,M){this.tr=p,this.vat=b,this.cents=k,this.currency=T,this.incVat=M?.showVat??!0,this.includeVatBreakdown=M?.alwaysIncludeVatBreakdown??!1}transform(p,b=this.incVat){if(!p)return this.tr.translate("free","events");if(!this.includeVatBreakdown)return this.currency.transform(this.cents.transform(b?this.vat.transform(p):p));const k=this.currency.transform(this.cents.transform(p));return b?`${k} (${this.tr.translate("costIncVat","events",{cost:this.currency.transform(this.cents.transform(this.vat.transform(p)))})})`:k}}return P.\u0275fac=function(p){return new(p||P)(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))},P.\u0275pipe=e.Yjl({name:"formatTicketPrice",type:P,pure:!0,standalone:!0}),P.\u0275prov=e.Yz7({token:P,factory:P.\u0275fac}),P})()},27444:(V,N,o)=>{o.d(N,{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:(V,N,o)=>{o.d(N,{o:()=>St});var r=o(10174),e=o(14026),t=o(52805),f=o(25989),u=o(56625),y=o(10067),E=o(50725),P=o(48921),D=o(1226),p=o(85597),b=o(55324),k=o(3814),T=o(72867),M=o(41069),m=o(97482),A=o(83375),I=o(27444),O=o(41383),R=o(78771),w=o(85960),Y=o(18416),mt=o(53249),ft=o(94688),ct=o(40800),rt=o(64177),tt=o(10218),dt=o(62441),nt=o(64683);function pt(x,v){1&x&&(e.TgZ(0,"span"),e._uU(1,", "),e.qZA())}function ot(x,v){if(1&x&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"formatTicketPrice"),e.qZA(),e.YNc(3,pt,2,0,"span",5)),2&x){const a=v.$implicit,c=v.last,C=e.oxw(3);e.xp6(1),e.AsE("",C.getAddon(a).name," (",e.xi3(2,3,C.getAddon(a).price,C.showVat),")"),e.xp6(2),e.Q6J("ngIf",!c)}}function at(x,v){if(1&x&&e.YNc(0,ot,4,6,"ng-template",4),2&x){const a=e.oxw(2);e.Q6J("ngForOf",a.ctrl.value)}}function h(x,v){1&x&&e._UZ(0,"span",1),2&x&&e.Q6J("translate","none")("tr-namespace","common")}function g(x,v){if(1&x&&(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,h,1,2,"ng-template",null,3,e.W1O)),2&x){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 U(x,v){1&x&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"tr"),e.qZA()),2&x&&(e.xp6(1),e.hij("\xa0(",e.lcZ(2,1,"ticket_state_sold-out"),")"))}function G(x,v){if(1&x){const a=e.EpF();e.TgZ(0,"button",9),e.NdJ("click.passive",function(C){const z=e.CHM(a).$implicit,gt=e.oxw(2);return e.KtG(gt.onClick(z.id,C))}),e.TgZ(1,"h4",10)(2,"span"),e._uU(3),e.qZA(),e.YNc(4,U,3,3,"span",5),e.qZA(),e.TgZ(5,"div",11),e._UZ(6,"tg-event-price",12),e.qZA()()}if(2&x){const a=v.$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 B(x,v){if(1&x&&(e._UZ(0,"strong",6),e.TgZ(1,"div",7),e.YNc(2,G,7,5,"button",8),e.qZA()),2&x){const a=e.oxw();e.Q6J("translate","chooseAddons"),e.xp6(2),e.Q6J("ngForOf",a.allowedAddonTickets)("ngForTrackBy",a.trackById)}}let J=(()=>{class x{constructor(){this.addonsEnabled=(0,e.f3M)(R.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,O.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 C of c)this.selected.add(C);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=c.addon_tickets.map(z=>z.ticket_id),S=[];for(const z of C)S.push(this.keyedAddonTickets.get(z));this.allowedAddonTickets=S}}ngOnDestroy(){this.saveDraft.complete()}ngOnInit(){const a=this.saveDraft.pipe((0,u.Z)(null,null));this.stateSvc.pluck("busy").pipe((0,p.R)(a)).subscribe(c=>{this.busy=c,this.cdr.markForCheck()}),this.stateSvc.pluck("addonReservations").pipe((0,p.R)(a)).subscribe(c=>{this.reservations=c;for(let C=0;C<this.event.addon_tickets.length;++C){const z=this.reservations[this.event.addon_tickets[C].id];this.soldOut[C]=!z||z.booked>=z.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),C=this.reservations[c.id];return Boolean(C&&C.booked<C.reserved)}findTicketById(a){for(const c of["tickets","guest_tickets"]){const C=this.event[c].find(S=>S.id===a);if(C)return C}}isSelected(a){return this.selected.has(a)}toggleSelected(a){this.selected.has(a)?this.selected.delete(a):this.selected.add(a),this.updateState()}
1updateState(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 x.\u0275fac=function(a){return new(a||x)},x.\u0275cmp=e.Xpm({type:x,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,g,6,4,"ng-template",0),e.YNc(1,B,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:[b.GlobalModule,rt.mk,rt.sg,rt.O5,tt.P,dt.h,nt.H,t.UX,t.u5,Y.r,mt.N],encapsulation:2,changeDetection:0}),x})();var H=o(662),L=o(48568),F=o(5296),q=o(9803),W=o(3811),$=o(91696),X=o(86991),j=o(49363),It=o(70840),kt=o(99092),st=o(26495),ht=o(61958);function it(x,v){1&x&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&x&&(e.xp6(1),e.hij("*"," ",""))}function Mt(x,v){if(1&x){const a=e.EpF();e.TgZ(0,"button",8),e.NdJ("click.passive",function(){e.CHM(a);const C=e.oxw().$implicit,S=e.oxw();return e.KtG(S.reset(C.ctrl))}),e.qZA()}if(2&x){const a=e.oxw(2);e.Q6J("disabled",a.disabled)}}function At(x,v){if(1&x&&(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&x){const a=v.$implicit,c=e.MAs(2),C=e.oxw();e.xp6(1),e.ekj("text-muted",C.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)("controlId",c.id),e.xp6(1),e.Q6J("ngIf",!a.def.field.required)}}let Ct=(()=>{class x{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,E.U)(()=>Object.entries(this.ctrl.controls)),(0,$.x)(yt),(0,L.g)((a,[c,C])=>{const S=this.formSvc.workshops.get(c);return S&&a.push({ctrl:C,def:S}),a},()=>[]),(0,p.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 x.\u0275fac=function(a){return new(a||x)},x.\u0275cmp=e.Xpm({type:x,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:[b.GlobalModule,rt.sg,rt.O5,kt.X,st.f,k.u0,k.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}),x})();function yt(x,v){if(x.length!==v.length)return!1;for(let a=0;a<x.length;++a)if(x[a][0]!==v[a][0])return!1;return!0}function Et(x,v){if(1&x){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(C){e.CHM(a);const S=e.oxw(2);return e.KtG(S.forwardDraft("dietary",C))}),e.ALo(7,"tr"),e.qZA()()()}if(2&x){const a=v.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(x,v){if(1&x){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(C){e.CHM(a);const S=e.oxw(2);return e.KtG(S.forwardDraft("special_needs",C))}),e.ALo(7,"tr"),e.qZA()()()}if(2&x){const a=v.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(x,v){if(1&x&&(e.YNc(0,Et,8,12,"div",2),e.YNc(1,Ot,8,12,"div",2)),2&x){const a=e.oxw();e.Q6J("ngIf",a.ctrl.controls.dietary),e.xp6(1),e.Q6J("ngIf",a.ctrl.controls.special_needs)}}function Pt(x,v){if(1&x){const a=e.EpF();e.TgZ(0,"tg-booking-modal-addons",8),e.NdJ("saveDraft",function(C){e.CHM(a);const S=e.oxw();return e.KtG(S.saveAddonsDraft.emit(C))}),e.qZA()}if(2&x){const a=e.oxw();e.Q6J("ctrl",a.addonsCtrl)("ticket",a.ticket)}}function Bt(x,v){if(1&x&&e._UZ(0,"tg-booking-modal-workshops",9)(1,"tg-help-block-container",10),2&x){const a=e.oxw();e.Q6J("ctrl",a.ctrl.controls.workshops),e.xp6(1),e.Q6J("control",a.ctrl.controls.workshops)}}let St=(()=>{class x extends I.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 S=(z,[gt,Tt])=>(this.formSvc.profileFieldWorkshopIds.has(gt)||(z[gt]=Tt),z);c=z=>Object.entries(z).reduce(S,{})}const C=this.saveInfoDraft.pipe((0,u.Z)(null,null));a.valueChanges.pipe((0,y.b)(1e3),(0,E.U)(()=>c(a.getRawValue())),(0,P.O)(c(a.getRawValue())),(0,r.p)(),(0,D.G)(),(0,p.R)(C)).subscribe(([S,z])=>{this.forwardDraft("workshops",{from:S,to:z})})}}return x.\u0275fac=function(){let v;return function(c){return(v||(v=e.n5z(x)))(c||x)}}(),x.\u0275cmp=e.Xpm({type:x,selectors:[["tg-booking-modal-common-user-info"]],viewQuery:function(a,c){if(1&a&&e.Gf(Ct,5),2&a){let C;e.iGM(C=e.CRH())&&(c.workshops=C.first)}},inputs:{addonsCtrl:"addonsCtrl",hideInfo:"hideInfo",ticket:"ticket"},outputs:{saveAddonsDraft:"saveAddonsDraft",saveInfoDraft:"saveInfoDraft"},standalone:!0,features:[e._Bn([],[{provide:m.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,Pt,1,2,"tg-booking-modal-addons",1),e.YNc(2,Bt,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:[b.GlobalModule,rt.O5,st.f,k.u0,k.k6,ht.y,nt.H,T.M,k.TV,M.d,t.UX,t.Fj,t.JJ,t.oH,Ct,J],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),x})()},36709:(V,N,o)=>{o.d(N,{M:()=>eo,q:()=>Vt});var r=o(92194),e=o(5296),t=o(14026),f=o(5891),u=o(69962),y=o(26454),E=o(49037),P=o(9004),D=o(98411),p=o(95517),b=o(3811),k=o(19259),T=o(50725),M=o(5958),m=o(20700),A=o(78771),I=o(13032),O=o(58629),R=o(19807),w=o(93338),Y=o(55324),mt=o(27527),ft=o(65606),ct=o(97482),rt=o(40049),tt
1=o(89763),dt=o(51248),nt=o(20321),pt=o(82530),ot=o(53249),at=o(662),h=o(75134),g=o(52805),U=o(25989),G=o(9803),B=o(85597),J=o(56625),H=o(67263),L=o(72867),F=o(70840),q=o(82125),W=o(64177),$=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(_){return i.toggle(_)}),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,$.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 Pt(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();t.xp6(1),t.hij("",t.xi3(2,2,"addonTickets","events.admin"),":"),t.xp6(3),t.Q6J("ngForOf",n.addons)}}let Bt=(()=>{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,Pt,5,5,"ng-template",6)),2&n){const d=t.MAs(1),_=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",_),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),x=o(10218),v=o(7933),a=o(13731),c=o(61958),C=o(95707),S=o(88226),z=o(6730),gt=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 me(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 ge(s,l){if(1&s&&(t.TgZ(0,"tg-accordion-item",1),t.YNc(1,ue,1,2,"ng-template",2),t.YNc(2,me,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();
1t.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();t.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=U.Z,this._ctrlGuests$=new G.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,b.w)(F.observeControlValue),(0,h.V)(this.formatGuest.bind(this)),(0,B.R)(this._ctrlGuests$.pipe((0,J.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 _=`${(n.firstname||"").trim()} ${(n.lastname||"").trim()}`;" "!==_&&(d=_)}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:g.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,ge,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,x.P,v._,a.z,c.y,it.H,L.M,g.UX,g.Wl,g.JJ,g.oH,H.h,C.Z,S.r,z._,gt.X,It,Bt],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,B.R)(this._destroyed$)).subscribe(i=>{const d=(0,Te.b)(i,Z=>Z.id);let _=!1;const Q={emitEvent:!1};for(const Z of Object.keys(this.workshopsCtrl.controls))!n.has(Z)&&!d.has(Z)&&(this.workshopsCtrl.removeControl(Z,Q),_=!0);for(const Z of i)Z.id in this.workshopsCtrl.controls||(_=!0,this.workshopsCtrl.addControl(Z.id,this.formSvc.createWorkshop(Z.field),Q));_&&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 _=t.oxw();return t.KtG(_.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 Pe=(()=>{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,T.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,x.P,te.I,Ie.e,Nt.d,Yt.v,it.H,g.u5,g.YN,g.Kr,g.EJ,g.JJ,g.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 Be(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 _=t.oxw();return t.KtG(_.saveDraftUserDetails(d))})("saveAddonsDraft",function(d){t.CHM(n);const _=t.oxw();return t.KtG(_.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,T.U)(d=>d.flatMap(_=>this.formSvc.addonTickets.get(_)?.workshops??[])));return(0,Ft.a)([n,i]).pipe((0,T.U)(([d,_])=>[...d,..._]))}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:g.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,Be,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,x.P,Gt.u0,Gt.k6,c.y,Nt.d,Yt.v,it.H,Wt.o,Pe],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,x.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:_,ticket_id:Q}=this.formSvc.primaryTicket.guest_tickets.find(Z=>Z.ticket_id===n.id);if(_&&(i[Q]?.booked??0)<_.count){const Z=this.tr("e_needsMinGuests"),K=this.count.transform(Z,_.count);return(0,ze.o)(K,{num:_.count,ticket:this.formSvc.guestTickets.get(_.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 _=t.CHM(n).$implicit,Q=t.oxw(2);return t.KtG(Q.pickTicket(_.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,T.U)(([d,_])=>{const Q=[];for(const[Z,K]of Object.entries(d)){const lt=this.formSvc.guestTickets.get(Z);let ut;if(K.booked>=K.reserved)ut=!1;else{const{min_guests:bt}=this.formSvc.primaryTicket.guest_tickets.find(xt=>xt.ticket_id===Z);if(bt){const xt=d[bt.ticket_id]?.booked??0;ut=bt.ticket_id===_?xt>bt.count:xt>=bt.count}else ut=!0}Q.push({available:ut,id:Z,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:g.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),mn=o(49043);const gn=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 _=t.oxw();return t.KtG(_.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,gn))("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),_=t.oxw(2);t.Q6J("autoId",!1),t.xp6(2),t.ekj("text-muted",_.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",_.ctrl.controls.firstname),t.xp6(1),t.Q6J("autoId",!1),t.xp6(2),t.ekj("text-muted",_.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",_.ctrl.controls.lastname),t.xp6(1),t.Q6J("autoId",!1),t.xp6(2),t.ekj("text-muted",_.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",_.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 _=t.oxw();return t.KtG(_.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,T.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,T.U)(d=>d.flatMap(_=>this.formSvc.addonTickets.get(_)?.workshops??[])));return(0,Ft.a)([n,i]).pipe((0,T.U)(([d,_])=>[...d,..._]))}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,B.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,T.U)(i=>
1this.formSvc.guestTickets.get(i)?.roles??[]),(0,Jt.p)(),(0,B.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 _=this.formSvc.guestTickets.get(n)?.roles??[],Q=this.formSvc.guestTickets.get(i)?.roles??[];return _.sort(),Q.sort(),!((0,u.Z)(_,Q)||d.roles&&d.hasRolesSome(...Q))}),(0,B.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,B.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,B.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,B.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&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),_=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",_),t.xp6(1),t.Q6J("ngIf",i.formSvc.showCommonUserInfo)}},dependencies:[Y.GlobalModule,W.O5,W.tP,wt.G,dn.d,x.P,un.f,v._,a.z,Gt.u0,Gt.k6,ht.j,c.y,it.H,g.u5,g.Fj,g.Wl,g.JJ,g.On,g.UX,g.oH,we.b,L.M,Ye.Q,mn.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 Pn(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 Bn(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,Pn,2,6,"div",8),t.YNc(1,Bn,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();
1t.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,B.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,_=i||n.activeTab||n.confirmTabEnabled||n.editMode;i&&(this.tabIndicesOffset=this.showDetailsTab?1:0),_&&!_.firstChange&&(this.btns=this.resolveButtonTexts())}ngOnDestroy(){(0,Dn.completeAll)(this.activeTabChange,this.confirmTabEnabledChange)}ngOnInit(){this.destroyed$=this.activeTabChange.pipe((0,J.Z)(null,null)),this.stateSvc.pluck("guestIds","length").pipe((0,_t.x)(),(0,B.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,B.R)(this.destroyed$)).subscribe(n=>{this.reservationsChanging=n,this.cdr.markForCheck()}),this.stateSvc.pluck("busy").pipe((0,tt.N)(this.hasBackgroundApiRequests=!1),(0,B.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,B.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,x.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)(I.$).name,this.alert=(0,t.f3M)(R.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(E.tT),{event:_,ticket:Q,submit:Z,user:K}=i;return(0,P.D)([n.get(A.W).latest(),n.get(O._).latest()]).pipe((0,b.w)(([ut,bt])=>new D.y(xt=>{const no=d.show(s,{animated:!0,class:"modal-lg",ignoreBackdropClick:!0,initialState:{event:_,eventConfig:ut,profileConfig:bt,submit:Z,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}
1get 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 _=this.firstInvalidTabIdx;void 0!==_&&(this.activeTab=_)}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 _=Vt(n.info,this.formSvc.profileFieldWorkshopIds,this.formSvc.workshops);(0,u.Z)(_,this.bookingDetailsPreSubmit)||this.uRes.update({..._,id:i}).subscribe(r.V)}n.info.workshops&&(n.info.workshops=Object.entries(n.info.workshops).reduce((_,[Q,Z])=>(this.formSvc.profileFieldWorkshopIds.has(Q)||(_[Q]=Z),_),{}));const d=_=>{this.bookingsSvc.dispatch((0,et.WH)({by:_}))};d(1);try{this.submit(n).pipe((0,k.x)(()=>d(-1))).subscribe({complete:this.subscriber.complete.bind(this.subscriber),error:this.errorSvc.negotiate,next:this.subscriber.next.bind(this.subscriber)})}catch(_){throw d(-1),_}}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===m.EventBookingState.RESERVATION,this.editMode=!this.isReservation;const n=this.calcAvailableTickets(),[i,d,_]=this.initGuests(),[Q,Z]=this.initAddonReservations();this.bookingsSvc.initialise({addonReservations:Z,addons:Q,availableTickets:n,bookingId:this.event.booking.id,event:this.event,guestIds:i,guestReservations:_,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 _=this.event.guest_tickets.find(Q=>Q.id===d.ticket_id);_&&(!n||_.roles.includes("public"))&&i.push(_)}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,_]of Object.entries(this.event.booking.addon_reservations)){let Q=this.event.booking.addons.reduce(ce(d),0);for(const Z of this.event.booking.guests)Q+=Z.addons.reduce(ce(d),0);n[d]={reserved:_,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((Z,K)=>(d[K]=Z.id,this.formSvc.formatGuest(Z))),this.event.booking.guest_reservations)for(const[Z,K]of Object.entries(this.event.booking.guest_reservations))n[Z]={booked:i.reduce((lt,ut)=>ut.ticket===Z?lt+1:lt,0),reserved:K};const Q=this.evtSvc.getCapacityFromReservations(this.event.booking.guest_reservations)-i.length;if(Q>0)for(let Z=0;Z<Q;Z++)i.push(this.formSvc.formatGuest({}))}else i=this.event.booking.guests.length?this.event.booking.guests.map((_,Q)=>{const Z=f.SP.extractId(_.ticket),K=n[Z]??(n[Z]={booked:0,reserved:0});return++K.booked,++K.reserved,d[Q]=_.id,this.formSvc.formatGuest(_)}):[];return[d,i,n]}initTotalPrice(){const n=this.form.controls.guests,i=this.form.controls.addons,d=(Z,K)=>{const lt=this.formSvc.addonTickets.get(K);return lt?Z+lt.price:Z},_=(Z,K)=>{const lt=this.formSvc.guestTickets.get(K.ticket),ut=K.addons.reduce(d,0);return(lt?Z+lt.price:Z)+ut},Q=()=>{const Z=this.ticket.price,K=n.getRawValue().reduce(_,Z);return i.getRawValue().reduce(d,K)};return(0,p.T)(n.valueChanges,i.valueChanges).pipe((0,T.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(_){return i.activeTab=_}),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(_){return i.activeTab=_})("confirmTabEnabledChange",function(_){return i.tabConfirmEnable=_})("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,x.P,it.H,ft.TgTabsModule,Fn.s,Ln.l,Wn.I,wn.T,mt.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 _=n.get(d);"profile_field"===_?.field.type&&_.field.field&&(i[_.field.field]=s.workshops[d]||void 0)}return i}function ce(s){return(l,n)=>f.SP.extractId(n)===s?l+1:l}},87842:(V,N,o)=>{o.d(N,{$N:()=>f,DG:()=>Y,DS:()=>ft,Jt:()=>t,Lz:()=>mt,NH:()=>O,N_:()=>k,OQ:()=>w,SR:()=>A,TO:()=>D,WH:()=>e,YR:()=>u,d1:()=>p,hM:()=>ct,iR:()=>M,o2:()=>I,oV:()=>m,sF:()=>E,ws:()=>b,y1:()=>y,yI:()=>T,z8:()=>R,zi:()=>P});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)()),E=(0,r.PH)("userInfoModal:guests:update",(0,r.Ky)()),P=(0,r.PH)("userInfoModal:me:updateInfo",(0,r.Ky)()),D=(0,r.PH)("userInfoModal:guests:inc:start"),p=(0,r.PH)("userInfoModal:guests:inc:err"),b=(0,r.PH)("userInfoModal:guests:inc:ok",(0,r.Ky)()),k=(0,r.PH)("userInfoModal:guests:dec:start"),T=(0,r.PH)("userInfoModal:guests:dec:err"),M=(0,r.PH)("userInfoModal:guests:dec:ok",(0,r.Ky)()),m=(0,r.PH)("userInfoModal:addons:update",(0,r.Ky)()),A=(0,r.PH)("userInfoModal:guests:addons:update",(0,r.Ky)()),I=(0,r.PH)("userInfoModal:addons:update:ok",(0,r.Ky)()),O=(0,r.PH)("userInfoModal:guests:addons:update:ok",(0,r.Ky)()),R=(0,r.PH)("userInfoModal:addons:update:err"),w=(0,r.PH)("userInfoModal:guests:addons:update:err"),Y=(0,r.PH)("userInfoModal:addons:update:start"),mt=(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:(V,N,o)=>{o.d(N,{A:()=>y});var r=o(94918),e=o(41241),t=o(90489),f=o(87842),u=o(14026);let y=(()=>{class p 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(k){const T=k.parentTicket.maximum_guests??20,M=k.event.capacity.remaining,m=k.availableTickets.reduce((A,I)=>0===I.availability?Math.max(A,I.remaining):A,0);this.partialState={eventId:k.event.id,maxGuests:Math.max(k.guestIds.length,Math.min(T,m,M)),...(0,r.Z)(k,"event")},this.init(),this.$store.dispatch((0,f.hM)({...this.partialState}))}reducer(k,T){const M=k??this.defaultState;switch(T.type){case f.$N.type:return function E(p,b){const k={...p.guestReservations};return b.from&&k[b.from]&&(k[b.from]={...k[b.from],booked:k[b.from].booked-1}),k[b.to]&&(k[b.to]={...k[b.to],booked:k[b.to].booked+1}),{...p,guestReservations:k}}(M,T);case f.Jt.type:return{...M,guestsPending:M.guestIds.length+T.by};case f.YR.type:return{...M,guestsPending:Math.max(0,M.guestIds.length-T.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 P(p,b){const k={...p,backgroundAPIRequests:p.backgroundAPIRequests-1,busy:1!==p.backgroundAPIRequests,guestIds:[...p.guestIds,...b.guests],reservationsChanging:!1};delete k.guestsPending;
1for(const T of["guestReservation","addonReservation"]){const M=`${T}s`,m=`${T}Changes`;for(const[A,I]of Object.entries(b[m]))A in k[M]?k[M][A].reserved+=I:k[M][A]={booked:0,reserved:I}}return k}(M,T);case f.iR.type:return function D(p,b){const k={...p,backgroundAPIRequests:p.backgroundAPIRequests-1,busy:1!==p.backgroundAPIRequests,guestIds:(0,e.Z)(p.guestIds,...b.guests),reservationsChanging:!1};delete k.guestsPending;for(const T of["guestReservation","addonReservation"]){const M=`${T}s`,m=`${T}Changes`;for(const[A,I]of Object.entries(b[m]))A in k[M]&&(k[M][A].reserved+=I,k[M][A].reserved<1&&delete k[M][A])}for(const[T,M]of Object.entries(b.addonBookingChanges)){const m=k.addonReservations[T];void 0===m.booked?m.booked=M:m.booked+=M}for(const[T,M]of Object.entries(b.bookedChanges))T in k.guestReservations&&(k.guestReservations[T].booked+=M);return k}(M,T);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 k?(0,r.Z)(M,"guestsPending"):M;case f.WH.type:{const m={...M,backgroundAPIRequests:M.backgroundAPIRequests+T.by};return m.busy=0!==m.backgroundAPIRequests,m}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[m,A]of Object.entries(T.addonBookingChanges)){const I=M.addonReservations[m];I?I.booked+=A:M.addonReservations[m]={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)(T,"type")};default:return M}}}return p.\u0275fac=function(k){return new(k||p)},p.\u0275prov=u.Yz7({token:p,factory:p.\u0275fac}),p})()},40800:(V,N,o)=>{o.d(N,{l:()=>nt});var r=o(64762),e=o(78425),t=o(82668),f=o(14026),u=o(52805),y=o(33606),E=o(5891),P=o(94e3),D=o(92706),p=o(41958),b=o(25336),k=o(3811),T=o(85597),M=o(50725),m=o(38464),A=o(41383),I=o(20700),O=o(14645),R=o(24290),w=o(43061),Y=o(20813),mt=o(37666),ft=o(54074),ct=o(40049),rt=o(81018),tt=o(87842),dt=o(94688);class nt{constructor(){this.actions$=(0,f.f3M)(y.eX),this.customFormValidate=(0,f.f3M)(O.CustomFormValidationService),this.destroyed$=new D.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)(mt.d),this.uRes=(0,f.f3M)(ct.q)}get showEventsTos(){return!0===this.event.termsandconditions_required}configure(h){this.bookingUser=h.user??h.loggedInUser,this.hasNonPublicTickets=this.hasPublicTickets=!1,this.addonTickets=new Map,this.guestTickets=new Map,this.showVat=h.evtCfg.showVat,this.organisation=h.organisation,this.event=h.event,this.primaryTicket=h.primaryTicket,this.eventWorkshops=h.event.workshops??[],this.enableDietary=h.event.catered&&h.event.isInPerson()&&this.showSvc.shouldShow(h.profileCfg.dietary.field,h.loggedInUser,this.bookingUser),this.enableSpecialNeeds=this.showSvc.shouldShow(h.profileCfg.special_needs.field,h.loggedInUser,this.bookingUser),this.enableWorkshops=h.evtCfg.workshops.enable&&(ot(h.event)||ot(this.primaryTicket)||h.event.guest_tickets.some(ot)||h.event.addon_tickets.some(ot)),this.isPublicUser=h.loggedInUser.isPublic,this.isReservation=this.event.booking.status===I.EventBookingState.RESERVATION,this.showCommonUserInfo=this.enableWorkshops||this.enableDietary||this.enableSpecialNeeds||Boolean(h.event.addon_tickets.length),this.workshops=(0,A.b)(this.eventWorkshops,g=>g.id),this.profileFieldWorkshopIds=new Set;for(const g of this.event.addon_tickets)this.addonTickets.set(g.id,g),this.addWorkshops(g.workshops);for(const g of this.event.guest_tickets){this.guestTickets.set(g.id,g);const U=g.roles.includes("public");U&&(this.hasPublicTickets=!0),(U?g.roles.length>1:g.roles.length)&&(this.hasNonPublicTickets=!0),this.addWorkshops(g.workshops,!0)}for(const g of this.event.tickets)this.addWorkshops(g.workshops);this.configure=()=>{throw new Error("UserInfoModalFormService.configure called more than once")}}createCommonUserInfo(h={}){const{initialValue:g={},ticketWorkshops:U}=h,G={attendance_type:this.fb.control(g.attendance_type??null)};return this.enableDietary&&(G.dietary=this.fb.control(g.dietary||null)),this.enableSpecialNeeds&&(G.special_needs=this.fb.control(g.special_needs||null)),this.enableWorkshops&&(G.workshops=this.createWorkshops({initialValue:g.workshops,ticketWorkshops:U})),this.fb.group(G)}createForm(h={}){this.actions$.pipe((0,y.l4)(tt.iR.type,tt.ws.type));const g=h.addons??[],U=this.primaryTicket.workshops;for(const G of g)U.push(...this.addonTickets.get(G).workshops);return this.fb.group({addons:this.fb.control(g,{nonNullable:!0}),confirm:this.fb.control(h.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(h.guests),info:this.createCommonUserInfo({initialValue:h.info,ticketWorkshops:U})})}createGuestInfo(h,g={}){const U=this.resolveInitialGuestTypeValue(g),G=g.later??("user"!==U&&!g.firstname&&!g.lastname&&!g.email&&!(0,P.Z)(g)),B=this.fb.control(U,{nonNullable:!0}),J=this.fb.control(G,{nonNullable:!0}),H=this.fb.control(g.user??null,({value:X})=>"user"!==B.value||X?null:{required:!0}),L=()=>!J.value&&"public"===B.value||null,F=X=>L()&&u.kI.required(X),q=[this.baseTicketValidator(B,H)];this.isReservation&&q.push(this.validateReservationTicket);const W=[];g.ticket&&W.push(...this.event.workshopsForTicket(this.guestTickets.get(g.ticket))),g.addons&&W.push(...this.event.workshopsForTickets(g.addons.map(X=>this.addonTickets.get(X))));const $={addons:this.fb.control(g.addons||[],{nonNullable:!0}),email:this.fb.control(g.email||null,X=>L()&&(0,R.t)(X)),firstname:this.fb.control(g.firstname||null,F),id:this.fb.control(h,{nonNullable:!0,validators:u.kI.required}),info:this.createCommonUserInfo({initialValue:g.info,ticketWorkshops:W.length?W:void 0}),lastname:this.fb.control(g.lastname||null,F),later:J,ticket:this.fb.control(g.ticket||null,q),type:B,user:H};return $.later.valueChanges.pipe((0,k.w)(X=>{const j={guestId:h};if(X)j.user=j.info=j.email=j.firstname=j.lastname=null;else if("user"===$.type.value){if(!$.user.value)return p.E;j.info=j.email=j.firstname=j.lastname=null,j.user=$.user.value}else j.email=$.email.value,j.firstname=$.firstname.value,j.lastname=$.lastname.value,j.user=null,j.info=$.info.getRawValue();return[(0,tt.sF)(j)]}),(0,T.R)(this.destroyed$)).subscribe(X=>{this.stateSvc.dispatch(X)}),$.type.valueChanges.pipe((0,T.R)(this.destroyed$)).subscribe(X=>{const j="user"===X?{email:null,firstname:null,guestId:h,info:null,lastname:null,user:$.user.value?.id??null}:{email:$.email.value,firstname:$.firstname.value,guestId:h,info:$.info.getRawValue(),lastname:$.lastname.value,user:null};this.stateSvc.dispatch((0,tt.sF)(j))}),this.fb.group($)}createGuests(h=[]){this.actions$.pipe((0,y.l4)(tt.ws.type)).subscribe(({guests:J})=>{const H=B.length,L={emitEvent:!1};for(const F of J)B.push(this.createGuestInfo(F),L);for(let F=0;F<H;
1++F)B.at(F).updateValueAndValidity(L);B.updateValueAndValidity()}),this.actions$.pipe((0,y.l4)(tt.iR.type)).subscribe(J=>{const H=new Set(J.guests),L={emitEvent:!1};for(let F=B.length-1;F>-1;--F){const q=B.at(F).controls.id.value;if(H.has(q)){if(B.removeAt(F,L),1===H.size)break;H.delete(q)}}B.updateValueAndValidity()});const g=[],U=[],G=this.primaryTicket.maximum_guests;G&&g.push(({value:J})=>J.length>G?{maxGuests:{actual:J.length,max:G}}:null),this.isReservation?U.push(this.validateGuestsAsync):g.push(this.validateGuestsSync);const B=this.fb.array(h.map(J=>this.createGuestInfo(J.id,J)),{asyncValidators:U,validators:g});return B}createWorkshop(h,g){let U=g??null;const[G,B]=this.customFormValidate.resolveValidators(h);return"profile_field"===h.type&&(U=this.bookingUser[h.field]||null),this.fb.control(U,{asyncValidators:B,validators:G})}createWorkshops(h){const{initialValue:g={},ticketWorkshops:U=[]}=h,G={};for(const B of[this.eventWorkshops,U])for(const J of B){const H=this.createWorkshop(J.field,g[J.id]);G[J.id]=H,"profile_field"===J.field.type&&J.field.field&&this.profileFieldWorkshopIds.add(J.id)}return this.fb.group(G)}formatCommonInfo(h){return{attendance_type:h.attendance_type??null,dietary:h.dietary,special_needs:h.special_needs,workshops:h.workshops}}formatGuest(h){const g=h.ticket&&E.SP.extractId(h.ticket),U="string"==typeof h.user?this.uRes.instantiate({deleted:!0,email:h.email,firstname:h.firstname,id:h.user,lastname:h.lastname,roles:this.guestTickets.get(g)?.roles??[]}):h.user;return{addons:h.addons?.map(E.SP.extractId)??[],email:h.email??null,firstname:h.firstname??null,id:h.id,info:this.formatCommonInfo(h.info||{}),lastname:h.lastname??null,ticket:(h.ticket&&E.SP.extractId(h.ticket))??null,user:U??null}}getBlockingTicketAssignmentForUnassign(h){return this.stateSvc.latest("guestReservations").pipe((0,M.U)(g=>{for(const U of this.primaryTicket.guest_tickets){if(U.min_guests?.ticket_id!==h||!g[U.ticket_id]?.booked)continue;const G=g[h]?.booked;if(null==G||G<=U.min_guests.count)return U}}))}ngOnDestroy(){(0,t.t)(this.destroyed$)}showTicketUnselectNotice(h,g){const U=this.tr.translate("cantUnselectThisTicket","events"),G=this.tr.translate("cantUnselectThisTicketInfo","events"),B=(0,Y.o)(this.trCount.transform(G,g.min_guests.count),{dependency:this.guestTickets.get(g.ticket_id).name,num:g.min_guests.count,ticket:this.guestTickets.get(h).name});this.tgModal.information(U,B).subscribe()}addWorkshops(h,g){if(h?.length)for(const U of h)g&&"profile_field"===U.field.type||this.workshops.set(U.id,U)}baseTicketValidator(h,g){return({parent:U,value:G})=>{if(!G)return{required:!0};if("public"===h.value&&!this.guestTickets.get(G)?.roles.includes("public"))return{publicNotEligible:!0};const B=g.value;if(B){const L=this.guestTickets.get(G);if(L&&B.roles&&!L.roles.includes("public")&&!B.hasRolesSome(...L.roles))return{userNotEligible:B.fullName}}const J=this.primaryTicket.guest_tickets.find(L=>L.ticket_id===G);if(!J)return{unattachedExtraTicket:!0};const H=U?.parent;if(!H)return null;if(J.max_per_booking){const L=H.controls.reduce((F,q)=>q.value.ticket===G?F+1:F,0);if(L>J.max_per_booking)return{maxPerBooking:{actual:L,max:J.max_per_booking}}}if(J.min_guests){const L=H.controls.reduce((F,q)=>q.value.ticket===J.min_guests.ticket_id?F+1:F,0);if(L<J.min_guests.count)return{minGuests:{actual:L,min:J.min_guests.count,ticket:this.guestTickets.get(J.min_guests.ticket_id)?.name??""}}}return null}}resolveInitialGuestTypeValue(h){return h.type?h.type:this.isPublicUser||!this.hasNonPublicTickets?"public":h.user||!this.hasPublicTickets?"user":"public"}validateGuestsAsync(h){const g=h.value;if(!g.length)return(0,b.of)(null);const{duplicateUserId:U,bookingsPerTicketId:G}=pt(g);return this.stateSvc.store.pipe((0,m.P)(B=>!B.reservationsChanging),(0,M.U)(({guestReservations:B})=>{const J=[];for(const[L,F]of G.entries()){const q=B[L]?.reserved??0;F>q&&J.push({actual:F,max:q,ticket:this.guestTickets.get(L).name})}const H={};if(J.length)H.overbooked=J,U&&(H.duplicateUserId=!0);else{if(!U)return null;H.duplicateUserId=!0}return H}))}validateGuestsSync(h){const g=h.value;return g.length&&pt(g).duplicateUserId?{duplicateUserId:!0}:null}validateReservationTicket({value:h}){switch(this.guestTickets.get(h)?.availability){case 3:return{ticketSoldOut:!0};case 1:return{ticketSalesEnded:!0};case 2:return{ticketSalesNotStarted:!0};default:return null}}}function pt(at){const h=new Map;let g=!1;const U=new Set;for(const{ticket:G,type:B,user:J}of at)G&&h.set(G,(h.get(G)??0)+1),"user"===B&&J&&(U.has(J.id)?g=!0:U.add(J.id));return{duplicateUserId:g,bookingsPerTicketId:h}}function ot(at){return Boolean(at.workshops?.length)}nt.\u0275fac=function(h){return new(h||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:(V,N,o)=>{o.d(N,{n:()=>m});var r=o(5296),e=o(13913),t=o(14026),f=o(91183),u=o(5891),y=o(25336),E=o(11083),P=o(87563),D=o(3811),p=o(89969),b=o(20700),k=o(19807),T=o(68995),M=o(94795);let m=(()=>{class A{constructor(){this.alert=(0,t.f3M)(k.c),this.bookingRes=(0,t.f3M)(T.L),this.evtRes=(0,t.f3M)(M.U),this.store=(0,t.f3M)(f.yh)}cancelBooking(O){const R=u.SP.extractId(O.event),w="events";return this.bookingRes.delete(O.id).pipe((0,P.K)(Y=>404===Y.status?(0,y.of)(null):(0,E._)(()=>Y)),(0,D.w)(()=>this.evtRes.get(R)),(0,p.b)({error:()=>{this.alert.alertError({key:O.status===b.EventBookingState.DECLINED?"declineWithdrawFail":"bookingCancelFail",ns:w})},next:()=>{this.alert.alertSuccess({key:O.status===b.EventBookingState.DECLINED?"declineWithdrawn":"bookingCancelled",ns:w}),this.store.dispatch({type:"event:unbooked"})}}),(0,r.H)("[EventsService.cancelBooking]"))}declineEvent(O){const R="events";return this.evtRes.declineEvent({eventId:O.id}).pipe((0,D.w)(()=>this.evtRes.get(O.id)),(0,p.b)({error:()=>{this.alert.alertError({key:"declineFail",ns:R})},next:()=>{this.alert.alertSuccess({key:"declined",ns:R})}}),(0,r.H)("[EventsService.cancelDeclineBooking]"))}getCapacityFromReservations(O){if(!O)return 0;const R=Object.values(O);return R.length?Math.max(...R):0}getEventHomeRoles(O){if(!O?.roles?.length)return["public"];const R=new Set(O.roles);return R.delete("administrator"),R.add("public"),Array.from(R)}isUnexpectedBookingStateResponse(O){return O instanceof e.UA&&400===O.status&&"string"==typeof O.error&&O.error.startsWith("E_UNEXPECTED_STATE_")}}return A.\u0275fac=function(O){return new(O||A)},A.\u0275prov=t.Yz7({token:A,factory:A.\u0275fac,providedIn:"root"}),A})()},18416:(V,N,o)=>{o.d(N,{r:()=>M});var r=o(5674),e=o(68165),t=o(55324),f=o(97482),u=o(14026),y=o(64177),E=o(10218),P=o(64683),D=o(61143);function p(m,A){1&m&&u._UZ(0,"span",2),2&m&&u.Q6J("translate","free")}const b=function(m){return{cost:m}};function k(m,A){if(1&m&&(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&m){const I=u.oxw(2);u.xp6(1),u.hij("(",u.xi3(2,1,"costIncVat",u.VKq(10,b,u.lcZ(3,4,u.lcZ(4,6,u.lcZ(5,8,I.ticket.price))))),")")}}function T(m,A){if(1&m&&(u.TgZ(0,"span"),u._uU(1),u.ALo(2,"tgCurrency"),u.ALo(3,"cents"),u.qZA(),u.YNc(4,k,6,12,"div",3)),2&m){const I=u.oxw();u.xp6(1),u.Oqu(u.lcZ(2,2,u.lcZ(3,4,I.ticket.price))),u.xp6(3),u.Q6J("ngIf",I.showVat)}}let M=(()=>{class m{constructor(){this.showVat=!0}}return m.\u0275fac=function(I){return new(I||m)},m.\u0275cmp=u.Xpm({type:m,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(I,O){if(1&I&&(u.YNc(0,p,1,1,"ng-template",null,0,u.W1O),u.YNc(2,T,5,6,"ng-template",1)),2&I){const R=u.MAs(1);u.xp6(2),u.Q6J("ngIf",O.ticket.price>0)("ngIfElse",R)}},dependencies:[t.GlobalModule,y.O5,E.P,P.H,D.z,r.Z,e.N],encapsulation:2,changeDetection:0}),m})()},9099:(V,N,o)=>{o.d(N,{n:()=>p});var r=o(64177),e=o(12675),t=o(14026);let f=(()=>{class b{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(T){T!==this.frozen&&(T?this._unfreeze=this.freezeWith():(this._unfreeze(),this._unfreeze=void 0))}freezeWith(){const T=this.el.style.width;return this.r2.setStyle(this.el,"width",getComputedStyle(this.el).width),T?()=>{this.r2.setStyle(this.el,"width",T)}:()=>{this.r2.removeStyle(this.el,"width")}}}return b.\u0275fac=function(T){return new(T||b)},b.\u0275prov=t.Yz7({token:b,factory:b.\u0275fac}),b})();var u=o(90237);
1const y=["tgLoadingBtn",""];function E(b,k){1&b&&t.Hsn(0)}function P(b,k){1&b&&t._UZ(0,"tg-loader-spinner")}const D=["*"];let p=(()=>{class b{constructor(T){this.svc=T}get loading(){return this.svc.frozen}set loading(T){this.svc.frozen=T}}return b.\u0275fac=function(T){return new(T||b)(t.Y36(f))},b.\u0275cmp=t.Xpm({type:b,selectors:[["button","tgLoadingBtn",""]],inputs:{loading:["tgLoadingBtn","loading"]},standalone:!0,features:[t._Bn([f]),t.jDz],attrs:y,ngContentSelectors:D,decls:3,vars:2,consts:[["tplContent",""],[4,"ngIf","ngIfElse"]],template:function(T,M){if(1&T&&(t.F$t(),t.YNc(0,E,1,0,"ng-template",null,0,t.W1O),t.YNc(2,P,1,0,"tg-loader-spinner",1)),2&T){const m=t.MAs(1);t.xp6(2),t.Q6J("ngIf",M.loading)("ngIfElse",m)}},dependencies:[r.ez,r.O5,e.b,u.I],encapsulation:2}),b})()},41069:(V,N,o)=>{o.d(N,{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:E}=this.ctrl.control;if(E&&!this.emitInvalidBlurs||y===this.startingValue)return;const P={to:y,from:this.startingValue};this.startingValue=y,this.out$.emit(P)}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,E){1&y&&r.NdJ("blur.passive",function(){return E.onBlur()})("focus.passive",function(){return E.onFocus()})},inputs:{emitInvalidBlurs:"emitInvalidBlurs"},outputs:{out$:"blurIfChanged"},standalone:!0}),f})()},54610:(V,N,o)=>{o.d(N,{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 p=-1*u,b=this.views.length-1,k=b-p;for(let T=b;T>k;--T)this.vcr.remove(T);return void this.views.splice(this.views.length-p,p)}if(this.views.length){const p=this.views[this.views.length-1];p.context={...p.context,last:!1},p.markForCheck()}const y=this.views.length,E=y+u,P=E-1;let D=0===y;for(let p=y;p<E;++p)this.views.push(this.vcr.createEmbeddedView(this.tpl,{$implicit:p,first:D,last:p===P},p)),D=!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})()},28091:(V,N,o)=>{o.d(N,{B:()=>E});var r=o(64762),e=o(40921),t=o(48643),u=o(14026),y=o(54074);class E{constructor(D){this.tr=D}get definitions(){const D=/^((?!Etc)\w+\/.+)$/,p=t.tz.names()?.filter(T=>D.test(T));if(!p?.length)throw new Error("moment-timezone hasn't loaded any timezone data");const b=p.map(T=>{const[M,m]=T.split("/");return Object.freeze({fullName:T,fullNameFormatted:this.prettifyName(T),region:M,regionFormatted:this.prettifyName(M),timezone:m,timezoneFormatted:this.prettifyName(m)})}),k=this.tr.translate("other","common");return b.push(Object.freeze({fullName:"UTC",fullNameFormatted:"UTC",region:k,regionFormatted:k,timezone:"UTC",timezoneFormatted:"UTC"})),Object.freeze(b)}get timezoneNameSet(){const D=new Set;for(const p of this.definitions)D.add(p.fullName);return D}cloneDateDigits(D,p){const b=t.tz(D,p),k=t().startOf("year"),T=["millisecond","second","minute","hour","year","month","date"];for(const M of T)k.set(M,b.get(M));return k.toDate()}getTimezoneOffset(D,p){return(void 0!==p?t.tz(D,p):t(D)).format("Z")}prettifyName(D){return D.replace(/_+/g," ")}}E.\u0275fac=function(D){return new(D||E)(u.LFG(y.D))},E.\u0275prov=u.Yz7({token:E,factory:E.\u0275fac,providedIn:"root"}),(0,r.gn)([(0,e.a)()],E.prototype,"definitions",null),(0,r.gn)([(0,e.a)()],E.prototype,"timezoneNameSet",null)},64768:(V,N,o)=>{o.d(N,{F:()=>p});var r=o(7670),e=o(10319),t=o(55324),f=o(19642),u=o(14026),y=o(64177);function E(b,k){1&b&&(u.TgZ(0,"div",2),u.Hsn(1,1),u.qZA()),2&b&&u.Q6J("@slideDownOnEntry",void 0)("@slideUpOnExit",void 0)}const P=[[["",8,"form-control"]],"*"],D=[".form-control","*"];let p=(()=>{class b{constructor(){this.disabled=!1,this.showAdvanced=!0}ngOnInit(){this.isOpen=!0===this.startOpen}}return b.\u0275fac=function(T){return new(T||b)},b.\u0275cmp=u.Xpm({type:b,selectors:[["tg-advanced-search-shell"]],inputs:{ctrlReset:"ctrlReset",disabled:"disabled",showAdvanced:"showAdvanced",startOpen:"startOpen"},standalone:!0,features:[u.jDz],ngContentSelectors:D,decls:3,vars:5,consts:[[3,"disabled","ctrlReset","open","showAdvanced","openChange"],["class","well",4,"ngIf"],[1,"well"]],template:function(T,M){1&T&&(u.F$t(P),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,E,2,2,"div",1)),2&T&&(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]}}),b})()},20384:(V,N,o)=>{o.d(N,{j:()=>x});var r=o(64762),e=o(14026),t=o(52805),f=o(40921),u=o(23055),y=o(76538),E=o(3895),P=o(74831),D=(()=>{return(v=D||(D={})).ALL="all",v.ONE="one",v.TWO_OR_MORE="twoOrMore",D;var v})(),p=o(52264),b=o(78771),k=o(55324),T=o(26694),M=o(79903),m=o(45339),A=o(26477),I=o(34687),O=o(97482),R=o(54074),w=o(76473),Y=o(45191),mt=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),h=o(7933),g=o(13731),U=o(3814),G=
1o(80499),B=o(16936),J=o(61958),H=o(64683),L=o(49043),F=o(4087),q=o(81117),W=o(47946),$=o(16838);function X(v,a){if(1&v&&e._UZ(0,"tg-help-block",10),2&v){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.category)}}function j(v,a){if(1&v){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 S=e.oxw();return e.KtG(S.onTouch())}),e.qZA()(),e.YNc(5,X,1,1,"tg-help-block",9),e.qZA()}if(2&v){const c=e.MAs(1),C=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("for",c.id)("translate","category"),e.xp6(1),e.Q6J("disabled",C.disabled),e.xp6(1),e.Q6J("formControl",C.ctrl.controls.category)("multi",!0)("controlId",c.id)("tgMetadataSelect","event_categories"),e.xp6(1),e.Q6J("ngIf",C.ctrl.controls.category.touched)}}function It(v,a){if(1&v&&e._UZ(0,"tg-help-block",10),2&v){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.type)}}function kt(v,a){if(1&v){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 S=e.oxw();return e.KtG(S.onTouch())}),e.qZA()(),e.YNc(5,It,1,1,"tg-help-block",9),e.qZA()}if(2&v){const c=e.MAs(1),C=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("for",c.id)("translate","type"),e.xp6(1),e.Q6J("disabled",C.disabled),e.xp6(1),e.Q6J("formControl",C.ctrl.controls.type)("multi",!0)("controlId",c.id)("tgMetadataSelect","event_types"),e.xp6(1),e.Q6J("ngIf",C.ctrl.controls.type.touched)}}function st(v,a){if(1&v&&e._UZ(0,"tg-help-block",10),2&v){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.status)}}function ht(v,a){if(1&v){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 S=e.oxw();return e.KtG(S.onTouch())}),e.qZA()(),e.YNc(5,st,1,1,"tg-help-block",9),e.qZA()}if(2&v){const c=e.MAs(1),C=e.oxw();e.Q6J("autoId",!1),e.xp6(2),e.Q6J("translate","status")("for",c.id),e.xp6(1),e.Q6J("disabled",C.disabled),e.xp6(1),e.Q6J("formControl",C.ctrl.controls.status)("items",C.statuses)("multi",!0)("controlId",c.id),e.xp6(1),e.Q6J("ngIf",C.ctrl.controls.status.touched)}}function it(v,a){if(1&v&&e._UZ(0,"tg-help-block",10),2&v){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.start_from)}}function Mt(v,a){if(1&v&&e._UZ(0,"tg-help-block",10),2&v){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.start_to)}}function At(v,a){if(1&v){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 S=e.oxw();return e.KtG(S.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 S=e.oxw();return e.KtG(S.onTouch())}),e.ALo(15,"tr"),e.qZA()(),e.YNc(16,Mt,1,1,"tg-help-block",9),e.qZA()}if(2&v){const c=e.MAs(1),C=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",C.disabled),e.xp6(1),e.Q6J("controlId",c.id)("placeholder",e.lcZ(11,17,"startDateFromPH"))("formControl",C.ctrl.controls.start_from),e.xp6(2),e.Q6J("ngIf",C.ctrl.controls.start_from.touched),e.xp6(1),e.Q6J("disabled",C.disabled),e.xp6(1),e.Q6J("placeholder",e.lcZ(15,19,"startDateUpToPH"))("formControl",C.ctrl.controls.start_to),e.xp6(2),e.Q6J("ngIf",C.ctrl.controls.start_to.touched)}}function Ct(v,a){if(1&v&&e._UZ(0,"tg-help-block",10),2&v){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.end_from)}}function yt(v,a){if(1&v&&e._UZ(0,"tg-help-block",10),2&v){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.end_to)}}function Et(v,a){if(1&v){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 S=e.oxw();return e.KtG(S.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 S=e.oxw();return e.KtG(S.onTouch())}),e.ALo(15,"tr"),e.qZA()(),e.YNc(16,yt,1,1,"tg-help-block",9),e.qZA()}if(2&v){const c=e.MAs(1),C=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",C.disabled),e.xp6(1),e.Q6J("controlId",c.id)("placeholder",e.lcZ(11,17,"endDateFromPH"))("formControl",C.ctrl.controls.end_from),e.xp6(2),e.Q6J("ngIf",C.ctrl.controls.end_from.touched),e.xp6(1),e.Q6J("disabled",C.disabled),e.xp6(1),e.Q6J("placeholder",e.lcZ(15,19,"endDateUpToPH"))("formControl",C.ctrl.controls.end_to),e.xp6(2),e.Q6J("ngIf",C.ctrl.controls.end_to.touched)}}function Ot(v,a){if(1&v&&e._UZ(0,"tg-help-block",10),2&v){const c=e.oxw(2);e.Q6J("control",c.ctrl.controls.owners)}}function Dt(v,a){if(1&v){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 S=e.oxw();return e.KtG(S.onTouch())}),e.qZA()(),e.YNc(11,Ot,1,1,"tg-help-block",9),e.qZA()}if(2&v){const c=e.MAs(1),C=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",C.ctrl.controls.owners)("idsOnly",!0)("controlId",c.id)("multi",!0),e.xp6(1),e.Q6J("ngIf",C.ctrl.controls.owners.touched)}}function Pt(v,a){if(1&v&&e._UZ(0,"option",25),2&v){const c=a.$implicit;e.Q6J("ngValue",c)("translate",c)}}function Bt(v,a){if(1&v){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 S=e.oxw();return e.KtG(S.onTouch())}),e.YNc(5,Pt,1,2,"option",24),e.qZA()()()}if(2&v){const c=e.MAs(1),C=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",C.ctrl.controls.owners_amount),e.xp6(1),e.Q6J("ngForOf",C.ownerAmountStatuses)}}class x extends w.S{constructor(a){super(),this.routing=a,this.advancedIsOpen=!1,this.tr=(0,e.f3M)(R.D);const c=(0,e.f3M)(b.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(p.N).filter(a=>a!==p.N.DELETED)}ngOnDestroy(){super.ngOnDestroy(),this._sub?.unsubscribe()}ngOnInit(){this.statuses=Object.entries(this.tr.translateArray(x.defaultStatuses,"eventStatus")).map(([a,c])=>({value:a,label:c})),this.ownerAmountStatuses=Object.values(D),super.ngOnInit(),this.resetValue=this.ctrl.getRawValue()}normaliseWriteValue(a){const c=(0,u.Z)(this.resetValue);if(!a)return c;for(const[C,S]of Object.entries(a))C in c&&(c[C]=S);return c}createCtrl(){const a=(0,y.Z)(this.routing.params,Boolean),c=this.fb.control(a.start_from??null),C=this.fb.control(a.start_to??null),S=this.fb.control(a.end_from??null),z=this.fb.control(a.end_to??null),gt=Y.MinMaxValidator.forDates(c,C);gt.appendValidators();const Tt=Y.MinMaxValidator.forDates(S,z);Tt.appendValidators();const Rt=gt.getSynchroniser();return Rt.add(Tt.getSynchroniser()),this._sub=Rt,this.fb.group({category:this.mkArrayCtrl(a.category),end_from:S,end_to:z,owners:this.mkArrayCtrl(a.owners
1),owners_amount:this.fb.control(a.owners_amount??D.ALL),start_from:c,start_to:C,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,E.Z)(a)),c}}x.\u0275fac=function(a){return new(a||x)(e.Y36(rt.Z))},x.\u0275cmp=e.Xpm({type:x,selectors:[["tg-event-admin-search"]],standalone:!0,features:[e._Bn([{multi:!0,provide:t.JU,useExisting:(0,e.Gpc)(()=>x)}],[{provide:O.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,Bt,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:[k.GlobalModule,tt.sg,tt.O5,dt.X,nt.c,pt.s,ot.P,at.f,h._,g.z,U.u0,U.k6,G._,B.T,J.y,H.H,m.W,T.o,ct.t,L.U,M.g,F.W,q.e,P.z8,t.UX,t.YN,t.Kr,t.Fj,t.EJ,t.JJ,t.oH,I.f,W.X,$.s,A.d,mt.F],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0}),(0,r.gn)([(0,f.a)()],x,"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.