PageSourceSearch

https://ih-vienna-prod.web.app/3943.8f0bded58186109d.js

js ih-vienna-prod.web.app collected 2026-10-03 12:27:45 UTC 26,210 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkihz_member=self.webpackChunkihz_member||[]).push([[3943],{3943(k,x,a){a.d(x,{FeatureReservationCreateComponent:()=>St,G:()=>F});var t=a(20539),T=a(49074),u=a(66684),_=a(34456),O=a(34902),R=a(47480),b=a(89475),C=a(48926),v=a(48503),g=a(81890),I=a(6281),B=a(49645),d=a.n(B),D=a(75797),y=a(70271),N=a(91817),j=a(36647),M=a(59452),P=a(63037),S=a(61318),H=a(86301),G=a(56196);let F=(()=>{class n{constructor(){this.roomBookingsRepository=(0,t.WQX)(I.uH),this.roomsRepository=(0,t.WQX)(I.hj),this.blockers=[],this.state=new D.t({status:"loading",room:null,date:d()().format("YYYY-MM-DD"),fromOptions:[],toOptions:[],selectedFrom:null,selectedTo:null,conflict:null,isSubmitting:!1,showCalendar:!1}),this.state$=this.state.asObservable(),this.pricing$=this.state$.pipe((0,y.T)(o=>{if("loading"===o.status||!o.selectedFrom||!o.selectedTo||o.conflict)return null;const e=o.fromOptions.find(l=>l.value===o.selectedFrom)?.blocked,i=o.toOptions.find(l=>l.value===o.selectedTo)?.blocked;if(e||i)return null;const r=d()(`${o.date} ${o.selectedFrom}`);let s=d()(`${o.date} ${o.selectedTo}`);return(s.isBefore(r)||s.isSame(r))&&(s=s.add(1,"day")),{roomId:o.room?.id,from:r.toISOString(),to:s.toISOString()}}),(0,N.F)((o,e)=>o?.from===e?.from&&o?.to===e?.to),(0,j.n)(o=>o?this.roomBookingsRepository.costs({room_id:o.roomId,from:o.from,to:o.to}).pipe((0,y.T)(e=>({status:"ready",costs:e,additionalDiscount:e.discounts.reduce((i,r)=>i+r.value,0)-e.discount})),(0,P.Z)({status:"loading",costs:null,additionalDiscount:0}),(0,S.W)(()=>(0,M.of)({status:"error",costs:null,additionalDiscount:0}))):(0,M.of)({status:"idle",costs:null,additionalDiscount:0})),(0,H.t)(1)),this.openCalendar=()=>this.patch({showCalendar:!0}),this.closeCalendar=()=>this.patch({showCalendar:!1}),this.setSubmitting=o=>this.patch({isSubmitting:o})}initialize(o,e,i,r){var s=this;return(0,g.A)(function*(){s.patch({status:"loading",room:o,date:e,selectedFrom:i??null,selectedTo:r??null}),yield s.loadBlockersAndTimeOptions(),s.applyStatusAndConflict()})()}setDate(o){var e=this;return(0,g.A)(function*(){e.patch({status:"loading",date:o,selectedFrom:null,selectedTo:null,fromOptions:[],toOptions:[],conflict:null}),yield e.loadBlockersAndTimeOptions(),e.applyStatusAndConflict()})()}setFrom(o){if(!this.state.value.fromOptions.find(s=>s.value===o))throw new Error("Setting from that is not in fromOptions");const e=this.buildToOptions(o),i=e.find(s=>s.value===this.state.value.selectedTo)?.value??e[0]?.value??null,r=this.getConflict(o,i)??null;this.patch({selectedFrom:o,selectedTo:i,toOptions:e,conflict:r,status:this.state.value.fromOptions.length?"ready":"no_slots"})}setTo(o){const{selectedFrom:e,fromOptions:i}=this.state.value,r=e&&o?this.getConflict(e,o):null;this.patch({selectedTo:o,conflict:r,status:i.length?r?"overlapping":"ready":"no_slots"})}createReservation(){const{date:o,selectedFrom:e,selectedTo:i}=this.state.value;return this.roomBookingsRepository.create({room_id:this.state.value.room.id,from:d()(`${o} ${e}`).toISOString(),to:d()(`${o} ${i}`).toISOString()}).pipe((0,S.W)(r=>(0,M.of)(502===r.status||409===r.status?{error:r.error.message}:{error:"Unknown error"})))}patch(o){this.state.next({...this.state.value,...o})}loadBlockersAndTimeOptions(){var o=this;return(0,g.A)(function*(){const{date:e,room:i}=o.state.value;try{const r=yield(0,G._)(o.roomsRepository.blockers(i.id,e));o.blockers=r.map(m=>({id:m.id,start:d()(m.start),end:d()(m.end)}));const s=o.buildFromOptions(e),l=o.state.value.selectedFrom?o.buildToOptions(o.state.value.selectedFrom):[];o.patch({fromOptions:s,toOptions:l}),o.applyPreselections()}catch{o.patch({status:"error"})}})()}buildFromOptions(o){const e=this.state.value.room,i=e.reservation_precision||15,r=e.reservation_min_hours||i/60,s=d()(o),l=s.isSame(d()(),"day"),m=d()(),p=s.endOf("day"),f=[];let h=s.startOf("day");for(;h.isBefore(p);){const $t=h.add(r,"hour"),At=l&&h.isBefore(m),kt=this.blockers.some(E=>h.isBefore(E.end)&&$t.isAfter(E.start));if(!At&&!kt){const E=h.format("HH:mm");f.push({value:E,label:E})}h=h.add(i,"minute")}return f}buildToOptions(o){const e=this.state.value.room,i=e.reservation_precision||15,r=e.reservation_min_hours||i/60,s=d()(`${this.state.value.date} ${o}`),l=s.add(r,"hour"),m=this.findMaxEndTime(s),p=[];let f=l;for(;f.isBefore(m)||f.isSame(m);)p.push(this.createToOption(o,f.format("HH:mm"))),f=f.add(i,"minute");return p}
1createToOption(o,e,i){const r=this.state.value.date,s=d()(`${r} ${o}`);let l=d()(`${r} ${e}`);(l.isBefore(s)||l.isSame(s))&&(l=l.add(1,"day"));const m=l.diff(s,"minute")%60,p=l.diff(s,"hour");return{value:e,label:`${e} (+${p&&m?`${p}h ${m}min`:p?`${p}h`:`${m}min`})`,blocked:i}}findMaxEndTime(o){return this.blockers.filter(i=>i.start.isAfter(o)).sort((i,r)=>i.start.valueOf()-r.start.valueOf())[0]?.start??o.endOf("day")}applyPreselections(){const{selectedFrom:o,selectedTo:e,fromOptions:i,toOptions:r}=this.state.value;o||!i.length?(o&&!i.find(s=>s.value===o)&&i.unshift({value:o,label:o,blocked:!0}),e&&o&&!r.find(s=>s.value===e)&&r.unshift(this.createToOption(o,e,!0))):this.setFrom(i[0].value)}applyStatusAndConflict(){const{selectedFrom:o,selectedTo:e,fromOptions:i}=this.state.value,r=o&&e?this.getConflict(o,e):null,s=i.some(l=>!l.blocked);this.patch({status:s?r?"overlapping":"ready":"no_slots",conflict:r})}getConflict(o,e){const i=this.state.value.date,r=d()(`${i} ${o}`);let s=d()(`${i} ${e}`);(s.isBefore(r)||s.isSame(r))&&(s=s.add(1,"day"));const l=this.blockers.find(m=>r.isBefore(m.end)&&s.isAfter(m.start));return l?{from:l.start.format("HH:mm"),to:l.end.format("HH:mm"),isReservation:null!==l.id}:null}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275prov=t.jDH({token:n,factory:n.\u0275fac})}}return n})();var L=a(59538),V=a(35826),U=a(53424),X=a(27341),Y=a(22635),w=a(18279),z=a(78515),$=a(11439),Z=a(65227),W=a(20928),Q=a(74468),J=a(84765),K=a(47510);const q=()=>["../../../"],tt=n=>({minBookingMinutes:n}),ot=(n,c)=>({from:n,to:c}),A=(n,c)=>c.value,nt=(n,c)=>c.label;function et(n,c){1&n&&t.eu8(0)}function it(n,c){1&n&&t.eu8(0)}function rt(n,c){if(1&n&&(t.j41(0,"div",10)(1,"div",15)(2,"label",16),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.DNE(5,et,1,0,"ng-container",17),t.k0s(),t.j41(6,"div",15)(7,"label",16),t.EFF(8),t.nI1(9,"translate"),t.k0s(),t.DNE(10,it,1,0,"ng-container",17),t.k0s()()),2&n){t.XpG();const o=t.sdS(14);t.R7$(3),t.SpI(" ",t.bMT(4,4,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.FROM_LABEL")," "),t.R7$(2),t.Y8G("ngTemplateOutlet",o),t.R7$(3),t.SpI(" ",t.bMT(9,6,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.TO_LABEL")," "),t.R7$(2),t.Y8G("ngTemplateOutlet",o)}}function at(n,c){1&n&&t.nrm(0,"bl-error-box",11)}function st(n,c){if(1&n&&(t.j41(0,"div",12),t.nrm(1,"svg-icon",18)(2,"span",19),t.nI1(3,"translate"),t.nI1(4,"newLineToBr"),t.k0s()),2&n){const o=t.XpG().ngIf;t.R7$(2),t.Y8G("innerHTML",t.bMT(4,4,t.i5U(3,1,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.NO_SLOTS_AVAILABLE",t.eq3(6,tt,60*o.room.reservation_min_hours))),t.npT)}}function ct(n,c){if(1&n&&(t.j41(0,"option",21),t.EFF(1),t.k0s()),2&n){const o=c.$implicit;t.Y8G("value",o.value)("disabled",o.blocked),t.R7$(),t.SpI(" ",o.label," ")}}function lt(n,c){1&n&&t.eu8(0)}function dt(n,c){if(1&n&&t.DNE(0,lt,1,0,"ng-container",17),2&n){t.XpG(2);const o=t.sdS(14);t.Y8G("ngTemplateOutlet",o)}}function mt(n,c){if(1&n&&(t.j41(0,"option",21),t.EFF(1),t.k0s()),2&n){const o=c.$implicit;t.Y8G("value",o.value)("disabled",o.blocked),t.R7$(),t.SpI(" ",o.label," ")}}function ft(n,c){if(1&n){const o=t.RV6();t.j41(0,"select",20),t.bIt("ngModelChange",function(i){t.eBV(o);const r=t.XpG(3);return t.Njj(r.onToChange(i))}),t.Z7z(1,mt,2,3,"option",21,A),t.k0s()}if(2&n){const o=t.XpG(2).ngIf;t.Y8G("ngModel",o.selectedTo),t.R7$(),t.Dyx(o.toOptions)}}function ut(n,c){if(1&n&&(t.j41(0,"div",23),t.nrm(1,"svg-icon",24),t.j41(2,"span"),t.EFF(3),t.nI1(4,"translate"),t.k0s()()),2&n){const o=t.XpG(2).ngIf;t.R7$(3),t.SpI(" ",t.i5U(4,1,o.conflict.isReservation?"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.RESERVATION_CONFLICT":"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.OPENING_HOURS_CONFLICT",t.l_i(4,ot,o.conflict.from,o.conflict.to))," ")}}function gt(n,c){if(1&n){const o=t.RV6();t.j41(0,"div",10)(1,"div",15)(2,"label",16),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"select",20),t.bIt("ngModelChange",function(i){t.eBV(o);const r=t.XpG(2);return t.Njj(r.onFromChange(i))}),t.Z7z(6,ct,2,3,"option",21,A),t.k0s()(),t.j41(8,"div",15)(9,"label",16),t.EFF(10),t.nI1(11,"translate"),t.k0s(),t.DNE(12,dt,1,1,"ng-container")(13,ft,3,1,"select",22),t.k0s()(),t.DNE(14,ut,5,7,"div",23)}if(2&n){const o=t.XpG().ngIf;t.R7$(3),t.SpI(" ",t.bMT(4,5,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.FROM_LABEL")," "),t.R7$(2),t.Y8G("ngModel",o.selectedFrom),t.R7$(),t.Dyx(o.fromOptions),t.R7$(4),t.SpI(" ",t.bMT(11,7,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.TO_LABEL")," "),t.R7$(2),t.vxM(0===o.toOptions.length?12:13),t.R7$(2),t.vxM(o.conflict?14:-1)}}function pt(n,c){1&n&&t.nrm(0,"ion-skeleton-text",25)}function _t(n,c){1&n&&(t.j41(0,"h2",26),t.EFF(1),t.nI1(2,"translate"),t.k0s(),t.j41(3,"div",27)(4,"div",28),t.nrm(5,"ion-skeleton-text",29),t.k0s(),t.j41(6,"div",28),t.nrm(7,"ion-skeleton-text",29),t.k0s()()),2&n&&(t.R7$(),t.SpI(" ",t.bMT(2,1,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.COSTS")," "))}function vt(n,c){if(1&n&&(t.j41(0,"div",30)(1,"div"),t.EFF(2),t.k0s(),t.j41(3,"div"),t.EFF(4),t.nI1(5,"ihCurrency"),t.nI1(6,"async"),t.k0s()()),2&n){const o=c.$implicit;t.R7$(2),t.SpI(" ",o.label," "),t.R7$(2),t.SpI(" ",t.bMT(6,4,t.bMT(5,2,-1*o.value))," ")}}function ht(n,c){if(1&n&&(t.j41(0,"div",30)(1,"div"),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.j41(4,"div"),t.EFF(5),t.nI1(6,"ihCurrency"),t.nI1(7,"async"),t.k0s()()),2&n){const o=t.XpG(2).ngIf;t.R7$(2),t.SpI(" ",t.bMT(3,2,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.ADDITIONAL_DISCOUNT")," "),t.R7$(3),t.SpI(" ",t.bMT(7,6,t.bMT(6,4,o.additionalDiscount))," ")}}function bt(n,c){1&n&&(t.EFF(0),t.nI1(1,"translate")),2&n&&t.SpI(" ",t.bMT(1,1,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.TOTAL_EXCL_VAT")," ")}function Ct(n,c){1&n&&(t.EFF(0),t.nI1(1,"translate")),2&n&&t.SpI(" ",t.bMT(1,1,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.TOTAL")," ")}function Et(n,c){if(1&n&&(t.j41(0,"h2",26),t.EFF(1),t.nI1(2,"translate"),t.k0s(),t.j41(3,"div",27)(4,"div",30)(5,"div"),t.EFF(6),t.nI1(7,"date"),t.nI1(8,"date"),t.k0s(),t.j41(9,"div"),t.EFF(10),t.nI1(11,"ihCurrency"),t.nI1(12,"async"),t.k0s()(),t.Z7z(13,vt,7,6,"div",30,nt),t.DNE(15,ht,8,8,"div",30),t.j41(16,"div",31)(17,"div"),t.DNE(18,bt,2,3)(19,Ct,2,3),t.k0s(),t.j41(20,"div"),t.EFF(21),t.nI1(22,"ihCurrency"),t.nI1(23,"async"),t.k0s()()()),2&n){const o=t.XpG().ngIf,e=t.XpG(2);t.R7$(),t.SpI(" ",t.bMT(2,8,"IHZ_MEMBER.FEATURE_RESERVATION_CREATE.COSTS")," "),t.R7$(5),t.E5c(" ",o.costs.item,", ",t.i5U(7,10,o.costs.from,"HH:mm")," - ",t.i5U(8,13,o.costs.to,"HH:mm")," "),t.R7$(4),t.SpI(" ",t.bMT(12,18,t.bMT(11,16,o.costs.amount+o.costs.discount))," "),t.R7$(3),t.Dyx(o.costs.discounts),t.R7$(2),t.vxM(o.additionalDiscount?15:-1),t.R7$(3),t.vxM(e.isViennaTenant?18:19),t.R7$(3),t.SpI(" ",t.bMT(23,22,t.bMT(22,20,o.costs.amount))," ")}}function Tt(n,c){1&n&&t.nrm(0,"bl-error-box",11)}function Rt(n,c){if(1&n&&(t.qex(0),t.DNE(1,_t,8,3)(2,Et,24,24)(3,Tt,1,0,"bl-error-box",11),t.bVm()),2&n){const o=c.ngIf;t.R7$(),t.vxM("loading"===o.status?1:-1),t.R7$(),t.vxM("ready"===o.status&&o.costs?2:-1),t.R7$(),t.vxM("error"===o.status?3:-1)}}function Mt(n,c){if(1&n){const o=t.RV6();t.j41(0,"ion-datetime",32),t.nI1(1,"translate"),t.nI1(2,"translate"),t.bIt("ionChange",function(i){t.eBV(o);const r=t.XpG(2);return t.Njj(r.onDateChange(i))}),t.k0s()}if(2&n){const o=t.XpG().ngIf,e=t.XpG();t.Y8G("min",e.dateNow)("value",o.date)("showDefaultButtons",!0)("doneText",t.bMT(1,5,"COMMON.LABELS.CONFIRM"))("cancelText",t.bMT(2,7,"COMMON.LABELS.CANCEL"))}}
1function xt(n,c){1&n&&t.nrm(0,"ih-new-users-teaser-list")}function Ot(n,c){1&n&&(t.qex(0),t.DNE(1,xt,1,0,"ih-new-users-teaser-list",34),t.bVm())}function Ft(n,c){1&n&&t.DNE(0,Ot,2,0,"ng-container",33)}function It(n,c){if(1&n){const o=t.RV6();t.j41(0,"ion-button",35),t.bIt("click",function(){t.eBV(o);const i=t.XpG(2);return t.Njj(i.createReservation())}),t.EFF(1),t.nI1(2,"translate"),t.k0s()}if(2&n){const o=t.XpG().ngIf;t.Y8G("disabled","ready"!==o.status||o.isSubmitting||!o.selectedFrom||!o.selectedTo),t.R7$(),t.SpI(" ",t.bMT(2,2,"COMMON.LABELS.BOOK_BTN")," ")}}function yt(n,c){if(1&n){const o=t.RV6();t.qex(0),t.j41(1,"fl-page-layout",4)(2,"div",5)(3,"div",6),t.bIt("click",function(){t.eBV(o);const i=t.XpG();return t.Njj(i.service.openCalendar())}),t.nrm(4,"svg-icon",7),t.j41(5,"span",8),t.EFF(6),t.nI1(7,"date"),t.k0s(),t.nrm(8,"svg-icon",9),t.k0s(),t.DNE(9,rt,11,8,"div",10)(10,at,1,0,"bl-error-box",11)(11,st,5,8,"div",12)(12,gt,15,9)(13,pt,1,0,"ng-template",null,0,t.C5r),t.k0s(),t.nrm(15,"hr",13),t.DNE(16,Rt,4,3,"ng-container",3),t.nI1(17,"async"),t.j41(18,"ion-modal",14),t.bIt("didDismiss",function(){t.eBV(o);const i=t.XpG();return t.Njj(i.service.closeCalendar())}),t.DNE(19,Mt,3,9,"ng-template"),t.k0s()(),t.DNE(20,Ft,1,0,"ng-template",null,1,t.C5r)(22,It,3,4,"ng-template",null,2,t.C5r),t.bVm()}if(2&n){const o=c.ngIf,e=t.sdS(21),i=t.sdS(23),r=t.XpG();t.R7$(),t.Y8G("defaultNavUrl",t.lJ4(18,q))("hasCondensedHeader",!1)("title",o.room.name)("footerSlot",i)("desktopSide",e),t.R7$(5),t.JRh(t.i5U(7,13,o.date,"dd. MMMM yyyy")),t.R7$(3),t.vxM("loading"===o.status?9:-1),t.R7$(),t.vxM("error"===o.status?10:-1),t.R7$(),t.vxM("no_slots"===o.status?11:-1),t.R7$(),t.vxM("ready"===o.status||"overlapping"===o.status?12:-1),t.R7$(4),t.Y8G("ngIf",t.bMT(17,16,r.pricing$)),t.R7$(2),t.Y8G("isOpen",o.showCalendar)("keepContentsMounted",!0)}}let St=(()=>{class n{get isViennaTenant(){const o=this.currentTenant();return"loading"!==o&&"vienna"===o?.subdomain}constructor(){this.route=(0,t.WQX)(R.nX),this.router=(0,t.WQX)(R.Ix),this.notificationService=(0,t.WQX)(V.J),this.translationService=(0,t.WQX)(v.c$),this.store=(0,t.WQX)($.il),this.service=(0,t.WQX)(F),this.dateNow=d()().format(),this.currentTenant=(0,T.ot)(this.store.pipe((0,$.Lt)(Z.K6))),this.state$=this.service.state$,this.pricing$=this.service.pricing$,this.route.data.pipe((0,T.pQ)()).subscribe(o=>{const e=o.room,i=o.dateRange;let s,l,r=d()().format("YYYY-MM-DD");i?.from&&i?.to&&(r=d()(i.from).format("YYYY-MM-DD"),s=d()(i.from).format("HH:mm"),l=d()(i.to).format("HH:mm")),this.service.initialize(e,r,s,l)})}onDateChange(o){const e=o.detail.value;e&&this.service.setDate(e)}onFromChange(o){o&&this.service.setFrom(o)}onToChange(o){o&&this.service.setTo(o)}createReservation(){this.service.setSubmitting(!0),this.service.createReservation().pipe((0,b.j)(()=>this.service.setSubmitting(!1))).subscribe(({id:o,error:e})=>{e?this.notificationService.error(this.translationService.instant("IHZ_MEMBER.FEATURE_RESERVATION_CREATE.BOOKING_ERROR")):this.router.navigate(["../../../reservations",o],{relativeTo:this.route,state:{backTo:"../../reservations"}})})}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=t.VBU({type:n,selectors:[["ng-component"]],features:[t.Jv_([F])],decls:2,vars:3,consts:[["selectLoading",""],["desktopSide",""],["footerSlot",""],[4,"ngIf"],[3,"defaultNavUrl","hasCondensedHeader","title","footerSlot","desktopSide"],[1,"booking-form"],[1,"date-picker",3,"click"],["key","calendar-blank","size","sm"],[1,"date-text"],["key","chevron-down","size","xl"],[1,"time-selects"],[1,"my-6"],[1,"no-slots-message"],[1,"mt-6"],[1,"calendar-modal",3,"didDismiss","isOpen","keepContentsMounted"],[1,"time-select-group"],[1,"time-label"],[4,"ngTemplateOutlet"],["key","calendar-blank","size","md"],[3,"innerHTML"],[1,"native-select",3,"ngModelChange","ngModel"],[3,"value","disabled"],[1,"native-select",3,"ngModel"],[1,"conflict-warning"],["key","warning","size","sm"],["animated","",2,"height","44px","width","100%","border-radius","8px"],[1,"px-4","text--md","mt-5"],[1,"costs-container"],[1,"border-bottom","border-pattensblue","pt-4","pb-2"],["animated","",2,"height","18px"],[1,"flex","flex--space-between","border-bottom","border-pattensblue","pt-4","pb-2"],[1,"text--bold","flex","flex--space-between","border-bottom","border-pattensblue","pt-4","pb-2"],["presentation","date",3,"ionChange","min","value","showDefaultButtons","doneText","cancelText"],[4,"flIfActiveMembership"],[4,"flDesktopOnly"],[1,"w-100",3,"click","disabled"]],template:function(e,i){1&e&&(t.DNE(0,yt,24,19,"ng-container",3),t.nI1(1,"async")),2&e&&t.Y8G("ngIf",t.bMT(1,1,i.state$))},dependencies:[u.MD,u.bT,u.T3,u.Jj,u.vh,_.YN,_.xH,_.y7,_.wz,_.BC,_.vS,O.R,W.J,C.bv,C.Jm,C.A9,C.ds,C.Sb,C.Je,v.h,v.D9,Y.p,L.Y,Q.j,U.h,J.Q,K.J,X.s,w.DM,z.A],styles:['[_ngcontent-%COMP%]:root{--ion-color-primary: #2c59c8;--ion-color-primary-rgb: 44, 89, 200;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #274eb0;--ion-color-primary-tint: #416ace;--ion-color-primary-light: #6688d8;--ion-color-primary-lighter: #a0b6e8;--ion-color-secondary: #2c59c8;--ion-color-secondary-rgb: 44, 89, 200;--ion-color-secondary-contrast: #ffffff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #274eb0;--ion-color-secondary-tint: #416ace;--ion-color-tertiary: #2c59c8;--ion-color-tertiary-rgb: 44, 89, 200;--ion-color-tertiary-contrast: #ffffff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #274eb0;--ion-color-tertiary-tint: #416ace;--ion-color-success: #0d6759;--ion-color-success-rgb: 13, 103, 89;--ion-color-success-contrast: #ffffff;--ion-color-success-contrast-rgb: 255, 255, 255;--ion-color-success-shade: #0b5b4e;--ion-color-success-tint: #25766a;--ion-color-warning: #e06c00;--ion-color-warning-rgb: 224, 108, 0;--ion-color-warning-contrast: #fff;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #c55f00;--ion-color-warning-tint: #e37b1a;--ion-color-danger: #cd2026;--ion-color-danger-rgb: 205, 32, 38;--ion-color-danger-contrast: #ffffff;--ion-color-danger-contrast-rgb: 255, 255, 255;
1--ion-color-danger-shade: #b41c21;--ion-color-danger-tint: #d2363c;--ion-color-cancel: #cd2026;--ion-color-cancel-rgb: 205, 32, 38;--ion-color-cancel-contrast: #ffffff;--ion-color-cancel-contrast-rgb: 255, 255, 255;--ion-color-cancel-shade: #b41c21;--ion-color-cancel-tint: #d2363c;--ion-color-dark: #1b211e;--ion-color-dark-rgb: 27, 33, 30;--ion-color-dark-contrast: #ffffff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #181d1a;--ion-color-dark-tint: #323735;--ion-color-medium: #68687a;--ion-color-medium-rgb: 104, 104, 122;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #5c5c6b;--ion-color-medium-tint: #777787;--ion-color-light: #f5f6f8;--ion-color-light-rgb: 255, 255, 255;--ion-color-light-contrast: #000000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d8d8da;--ion-color-light-tint: #f6f7f9;--ion-font-family: "Inter"}[_ngcontent-%COMP%]:root{--ion-color-lightblue: #eeeff1;--ion-color-darkblue: #4a4c69;--ion-color-danger-light: #fae9e9;--ion-color-danger-rgba: rgba(205, 32, 38, .2);--ion-color-white: #ffffff;--ion-color-pattensblue: #e0e2e3;--ion-color-disabled: #88889c;--ion-color-border-light: #e4e5ea;--ion-color-rose: #ff3144;--ion-color-active: #2c59c8;--ion-color-active-rgb: 44, 89, 200;--ion-color-active-contrast: #ffffff;--ion-color-active-contrast-rgb: 255, 255, 255;--ion-color-active-shade: #274eb0;--ion-color-active-tint: #416ace;--ion-color-status-approved: #0d6759;--ion-color-status-approved-rgb: 13, 103, 89;--ion-color-status-approved-contrast: #ffffff;--ion-color-status-approved-contrast-rgb: 255, 255, 255;--ion-color-status-approved-shade: #0b5b4e;--ion-color-status-approved-tint: #25766a;--ion-color-status-cancelled: #cd2026;--ion-color-status-cancelled-rgb: 205, 32, 38;--ion-color-status-cancelled-contrast: #ffffff;--ion-color-status-cancelled-contrast-rgb: 255, 255, 255;--ion-color-status-cancelled-shade: #b41c21;--ion-color-status-cancelled-tint: #d2363c;--ion-color-status-pending: #e06c00;--ion-color-status-pending-rgb: 224, 108, 0;--ion-color-status-pending-contrast: #fff;--ion-color-status-pending-contrast-rgb: 0, 0, 0;--ion-color-status-pending-shade: #c55f00;--ion-color-status-pending-tint: #e37b1a;--ion-color-status-completed: #68687a;--ion-color-status-completed-rgb: 104, 104, 122;--ion-color-status-completed-contrast: #ffffff;--ion-color-status-completed-contrast-rgb: 255, 255, 255;--ion-color-status-completed-shade: #5c5c6b;--ion-color-status-completed-tint: #777787;--ion-ihz-color-active: #2f5dc5;--ion-ihz-color-active-contrast: #eff2fb;--ion-color-input-border: var(--ion-color-pattensblue);--ion-toolbar-background: var(--ion-color-white);--ion-tab-bar-background: var(--ion-color-white);--ion-padding: 1rem;--ion-border-radius: 12px;--ion-border-radius-sm: 8px;--font-base: 1rem;--font-xxs: .75rem;--font-xs: .8125rem;--font-sm: .875rem;--font-md: 1.125rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-xxl: 1.75rem;--font-xxxl: 2.25rem;--line-height-base: 1.5rem;--line-height-xxs: 1.125rem;--line-height-xs: 1.25rem;--line-height-sm: 1.375rem;--line-height-md: 1.6875rem;--line-height-lg: 1.75rem;--line-height-xl: 1.875rem;--line-height-xxl: 2.1875rem;--line-height-xxxl: 3rem;--font-weight-thin: 100;--font-weight-light: 300;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--desktop-max-width: 1920px;--desktop-side-menu-width: 300px;--desktop-header-height: 64px;--mobile-item-height: 56px;--tabs-item-height: 50px;--tabs-item-padding-y: 14px;--tabs-item-border-size: 1px;--tabs-height: calc( var(--tabs-item-height) + 2 * var(--tabs-item-padding-y) + var(--tabs-item-border-size) )}.ion-color-active[_ngcontent-%COMP%]{--ion-color-base: var(--ion-color-active);--ion-color-base-rgb: var(--ion-color-active-rgb);--ion-color-contrast: var(--ion-color-active-contrast);--ion-color-contrast-rgb: var(--ion-color-active-contrast-rgb);--ion-color-shade: var(--ion-color-active-shade);--ion-color-tint: var(--ion-color-active-tint)}.ion-color-status-approved[_ngcontent-%COMP%]{--ion-color-base: var(--ion-color-status-approved);--ion-color-base-rgb: var(--ion-color-status-approved-rgb);--ion-color-contrast: var(--ion-color-status-approved-contrast);--ion-color-contrast-rgb: var(--ion-color-status-approved-contrast-rgb);--ion-color-shade: var(--ion-color-status-approved-shade);--ion-color-tint: var(--ion-color-status-approved-tint)}.ion-color-status-cancelled[_ngcontent-%COMP%]{--ion-color-base: var(--ion-color-status-cancelled);--ion-color-base-rgb: var(--ion-color-status-cancelled-rgb);--ion-color-contrast: var(--ion-color-status-cancelled-contrast);--ion-color-contrast-rgb: var(--ion-color-status-cancelled-contrast-rgb);--ion-color-shade: var(--ion-color-status-cancelled-shade);--ion-color-tint: var(--ion-color-status-cancelled-tint)}.ion-color-status-pending[_ngcontent-%COMP%]{--ion-color-base: var(--ion-color-status-pending);--ion-color-base-rgb: var(--ion-color-status-pending-rgb);--ion-color-contrast: var(--ion-color-status-pending-contrast);--ion-color-contrast-rgb: var(--ion-color-status-pending-contrast-rgb);--ion-color-shade: var(--ion-color-status-pending-shade);--ion-color-tint: var(--ion-color-status-pending-tint)}.ion-color-status-completed[_ngcontent-%COMP%]{--ion-color-base: var(--ion-color-status-completed);--ion-color-base-rgb: var(--ion-color-status-completed-rgb);--ion-color-contrast: var(--ion-color-status-completed-contrast);--ion-color-contrast-rgb: var(--ion-color-status-completed-contrast-rgb);--ion-color-shade: var(--ion-color-status-completed-shade);--ion-color-tint: var(--ion-color-status-completed-tint)}.ion-color-cancel[_ngcontent-%COMP%]{--ion-color-base: var(--ion-color-cancel);--ion-color-base-rgb: var(--ion-color-cancel-rgb);--ion-color-contrast: var(--ion-color-cancel-contrast);--ion-color-contrast-rgb: var(--ion-color-cancel-contrast-rgb);--ion-color-shade: var(--ion-color-cancel-shade);--ion-color-tint: var(--ion-color-cancel-tint)}.booking-form[_ngcontent-%COMP%]{padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.date-picker[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border:1px solid var(--ion-color-border-light)}.date-picker[_ngcontent-%COMP%]   .date-text[_ngcontent-%COMP%]{flex:1;font-size:1rem}.time-selects[_ngcontent-%COMP%]{display:flex;gap:1rem}.time-select-group[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.5rem}.time-label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--ion-color-medium)}.no-slots-message[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--ion-color-light);border-radius:8px;color:var(--ion-color-medium);font-size:.875rem}.no-slots-message[_ngcontent-%COMP%]   svg-icon[_ngcontent-%COMP%]{flex-shrink:0}.conflict-warning[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--ion-color-danger-tint);border:1px solid var(--ion-color-danger);border-radius:8px;color:var(--ion-color-white);font-size:.875rem}.conflict-warning[_ngcontent-%COMP%]   svg-icon[_ngcontent-%COMP%]{flex-shrink:0;color:var(--ion-color-white)}@media screen and (max-width:991px){.costs-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem}}@media screen and (min-width:992px){.costs-container[_ngcontent-%COMP%]{margin:0 1rem}}ion-modal.calendar-modal[_ngcontent-%COMP%]{--width: fit-content;--min-width: 350px;--height: fit-content;--border-radius: 8px}ion-modal.calendar-modal[_ngcontent-%COMP%]   ion-datetime[_ngcontent-%COMP%]{--background: var(--ion-color-white)}'],changeDetection:0})}}return n})()},74468(k,x,a){a.d(x,{j:()=>R});var t=a(70271),T=a(65227),u=a(20539),_=a(66684),O=a(11439);let R=(()=>{class b{constructor(v,g){this.numberPipe=v,this.store=g}transform(v){return this.store.select(T.yI).pipe((0,t.T)(g=>`${this.numberPipe.transform(v,"1.2-2","en-US")} ${g}`))}static{this.\u0275fac=function(g){return new(g||b)(u.rXU(_.QX,16),u.rXU(O.il,16))}}static{this.\u0275pipe=u.EJ8({name:"ihCurrency",type:b,pure:!0,standalone:!1})}}return b})()}}]);
2//# sourceMappingURL=3943.8f0bded58186109d.js.map

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.