1var o2=Object.defineProperty,a2=Object.defineProperties,s2=Object.getOwnPropertyDescriptors,Jm=Object.getOwnPropertySymbols,l2=Object.prototype.hasOwnProperty,c2=Object.prototype.propertyIsEnumerable,Ym=(It,me,_)=>me in It?o2(It,me,{enumerable:!0,configurable:!0,writable:!0,value:_}):It[me]=_,gn=(It,me)=>{for(var _ in me||(me={}))l2.call(me,_)&&Ym(It,_,me[_]);if(Jm)for(var _ of Jm(me))c2.call(me,_)&&Ym(It,_,me[_]);return It},Ql=(It,me)=>a2(It,s2(me));(self.webpackChunktonomo=self.webpackChunktonomo||[]).push([[9829],{89829:(It,me,_)=>{"use strict";_.r(me),_.d(me,{AdminModule:()=>n2});var u=_(32407),n=_(44409),A=_(91314),S=_(69808),Z=_(92228),e=_(5e3),B=_(90508),L=_(15439),D=_.t(L,2),w=_.n(L);const I=L||D,p=new e.InjectionToken("MAT_MOMENT_DATE_ADAPTER_OPTIONS",{providedIn:"root",factory:function J(){return{useUtc:!1}}});function O(r,a){const t=Array(r);for(let i=0;i<r;i++)t[i]=a(i);return t}let z=(()=>{class r extends B._A{constructor(t,i){super(),this._options=i,this.setLocale(t||I.locale())}setLocale(t){super.setLocale(t);let i=I.localeData(t);this._localeData={firstDayOfWeek:i.firstDayOfWeek(),longMonths:i.months(),shortMonths:i.monthsShort(),dates:O(31,o=>this.createDate(2017,0,o+1).format("D")),longDaysOfWeek:i.weekdays(),shortDaysOfWeek:i.weekdaysShort(),narrowDaysOfWeek:i.weekdaysMin()}}getYear(t){return this.clone(t).year()}getMonth(t){return this.clone(t).month()}getDate(t){return this.clone(t).date()}getDayOfWeek(t){return this.clone(t).day()}getMonthNames(t){return"long"==t?this._localeData.longMonths:this._localeData.shortMonths}getDateNames(){return this._localeData.dates}getDayOfWeekNames(t){return"long"==t?this._localeData.longDaysOfWeek:"short"==t?this._localeData.shortDaysOfWeek:this._localeData.narrowDaysOfWeek}getYearName(t){return this.clone(t).format("YYYY")}getFirstDayOfWeek(){return this._localeData.firstDayOfWeek}getNumDaysInMonth(t){return this.clone(t).daysInMonth()}clone(t){return t.clone().locale(this.locale)}createDate(t,i,o){const l=this._createMoment({year:t,month:i,date:o}).locale(this.locale);return l.isValid(),l}today(){return this._createMoment().locale(this.locale)}parse(t,i){return t&&"string"==typeof t?this._createMoment(t,i,this.locale):t?this._createMoment(t).locale(this.locale):null}format(t,i){return t=this.clone(t),this.isValid(t),t.format(i)}addCalendarYears(t,i){return this.clone(t).add({years:i})}addCalendarMonths(t,i){return this.clone(t).add({months:i})}addCalendarDays(t,i){return this.clone(t).add({days:i})}toIso8601(t){return this.clone(t).format()}deserialize(t){let i;if(t instanceof Date)i=this._createMoment(t).locale(this.locale);else if(this.isDateInstance(t))return this.clone(t);if("string"==typeof t){if(!t)return null;i=this._createMoment(t,I.ISO_8601).locale(this.locale)}return i&&this.isValid(i)?this._createMoment(i).locale(this.locale):super.deserialize(t)}isDateInstance(t){return I.isMoment(t)}isValid(t){return this.clone(t).isValid()}invalid(){return I.invalid()}_createMoment(t,i,o){const{strict:l,useUtc:h}=this._options||{};return h?I.utc(t,i,o,l):I(t,i,o,l)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(B.Ad,8),e.\u0275\u0275inject(p,8))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})();const ne={parse:{dateInput:"l"},display:{dateInput:"l",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}};let j=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=e.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=e.\u0275\u0275defineInjector({providers:[{provide:B._A,useClass:z,deps:[B.Ad,p]}]}),r})(),G=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=e.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=e.\u0275\u0275defineInjector({providers:[{provide:B.sG,useValue:ne}],imports:[[j]]}),r})();var Q=_(77446),P=_(86856),Y=_(81125),W=_(86087),Me=_(32368),Ue=_(63191),ue=_(91159),N=_(8929),_e=_(36787),V=_(41777),pe=_(15664);const Se=["mat-sort-header",""];function Be(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",3),e.\u0275\u0275listener("@arrowPosition.start",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext()._disableViewStateAnimation=!0})("@arrowPosition.done",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext()._disableViewStateAnimation=!1}),e.\u0275\u0275element(1,"div",4),e.\u0275\u0275elementStart(2,"div",5),e.\u0275\u0275element(3,"div",6)(4,"div",7)(5,"div",8),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("@arrowOpacity",t._getArrowViewState())("@arrowPosition",t._getArrowViewState())("@allowChildren",t._getArrowDirectionState()),e.\u0275\u0275advance(2),e.\u0275\u0275property("@indicator",t._getArrowDirectionState()),e.\u0275\u0275advance(1),e.\u0275\u0275property("@leftPointer",t._getArrowDirectionState()),e.\u0275\u0275advance(1),e.\u0275\u0275property("@rightPointer",t._getArrowDirectionState())}}const xe=["*"],ze=B.mZ.ENTERING+" "+B.yN.STANDARD_CURVE,ce={indicator:(0,V.X$)("indicator",[(0,V.SB)("active-asc, asc",(0,V.oB)({transform:"translateY(0px)"})),(0,V.SB)("active-desc, desc",(0,V.oB)({transform:"translateY(10px)"})),(0,V.eR)("active-asc <=> active-desc",(0,V.jt)(ze))]),leftPointer:(0,V.X$)("leftPointer",[(0,V.SB)("active-asc, asc",(0,V.oB)({transform:"rotate(-45deg)"})),(0,V.SB)("active-desc, desc",(0,V.oB)({transform:"rotate(45deg)"})),(0,V.eR)("active-asc <=> active-desc",(0,V.jt)(ze))]),rightPointer:(0,V.X$)("rightPointer",[(0,V.SB)("active-asc, asc",(0,V.oB)({transform:"rotate(45deg)"})),(0,V.SB)("active-desc, desc",(0,V.oB)({transform:"rotate(-45deg)"})),(0,V.eR)("active-asc <=> active-desc",(0,V.jt)(ze))]),arrowOpacity:(0,V.X$)("arrowOpacity",[(0,V.SB)("desc-to-active, asc-to-active, active",(0,V.oB)({opacity:1})),(0,V.SB)("desc-to-hint, asc-to-hint, hint",(0,V.oB)({opacity:.54})),(0,V.SB)("hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void",(0,V.oB)({opacity:0}
1)),(0,V.eR)("* => asc, * => desc, * => active, * => hint, * => void",(0,V.jt)("0ms")),(0,V.eR)("* <=> *",(0,V.jt)(ze))]),arrowPosition:(0,V.X$)("arrowPosition",[(0,V.eR)("* => desc-to-hint, * => desc-to-active",(0,V.jt)(ze,(0,V.F4)([(0,V.oB)({transform:"translateY(-25%)"}),(0,V.oB)({transform:"translateY(0)"})]))),(0,V.eR)("* => hint-to-desc, * => active-to-desc",(0,V.jt)(ze,(0,V.F4)([(0,V.oB)({transform:"translateY(0)"}),(0,V.oB)({transform:"translateY(25%)"})]))),(0,V.eR)("* => asc-to-hint, * => asc-to-active",(0,V.jt)(ze,(0,V.F4)([(0,V.oB)({transform:"translateY(25%)"}),(0,V.oB)({transform:"translateY(0)"})]))),(0,V.eR)("* => hint-to-asc, * => active-to-asc",(0,V.jt)(ze,(0,V.F4)([(0,V.oB)({transform:"translateY(0)"}),(0,V.oB)({transform:"translateY(-25%)"})]))),(0,V.SB)("desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active",(0,V.oB)({transform:"translateY(0)"})),(0,V.SB)("hint-to-desc, active-to-desc, desc",(0,V.oB)({transform:"translateY(-25%)"})),(0,V.SB)("hint-to-asc, active-to-asc, asc",(0,V.oB)({transform:"translateY(25%)"}))]),allowChildren:(0,V.X$)("allowChildren",[(0,V.eR)("* <=> *",[(0,V.IO)("@*",(0,V.pV)(),{optional:!0})])])};let be=(()=>{class r{constructor(){this.changes=new N.xQ}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})();const $e={provide:be,deps:[[new e.Optional,new e.SkipSelf,be]],useFactory:function Ze(r){return r||new be}},je=new e.InjectionToken("MAT_SORT_DEFAULT_OPTIONS"),Ye=(0,B.dB)((0,B.Id)(class{}));let he=(()=>{class r extends Ye{constructor(t){super(),this._defaultOptions=t,this.sortables=new Map,this._stateChanges=new N.xQ,this.start="asc",this._direction="",this.sortChange=new e.EventEmitter}get direction(){return this._direction}set direction(t){this._direction=t}get disableClear(){return this._disableClear}set disableClear(t){this._disableClear=(0,Ue.Ig)(t)}register(t){this.sortables.set(t.id,t)}deregister(t){this.sortables.delete(t.id)}sort(t){this.active!=t.id?(this.active=t.id,this.direction=t.start?t.start:this.start):this.direction=this.getNextSortDirection(t),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(t){var i,o,l;if(!t)return"";const h=null!==(o=null!==(i=null==t?void 0:t.disableClear)&&void 0!==i?i:this.disableClear)&&void 0!==o?o:!!(null===(l=this._defaultOptions)||void 0===l?void 0:l.disableClear);let y=function Te(r,a){let t=["asc","desc"];return"desc"==r&&t.reverse(),a||t.push(""),t}(t.start||this.start,h),F=y.indexOf(this.direction)+1;return F>=y.length&&(F=0),y[F]}ngOnInit(){this._markInitialized()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(je,8))},r.\u0275dir=e.\u0275\u0275defineDirective({type:r,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{disabled:["matSortDisabled","disabled"],active:["matSortActive","active"],start:["matSortStart","start"],direction:["matSortDirection","direction"],disableClear:["matSortDisableClear","disableClear"]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[e.\u0275\u0275InheritDefinitionFeature,e.\u0275\u0275NgOnChangesFeature]}),r})();const Re=(0,B.Id)(class{});let nt=(()=>{class r extends Re{constructor(t,i,o,l,h,y,F){super(),this._intl=t,this._changeDetectorRef=i,this._sort=o,this._columnDef=l,this._focusMonitor=h,this._elementRef=y,this._ariaDescriber=F,this._showIndicatorHint=!1,this._viewState={},this._arrowDirection="",this._disableViewStateAnimation=!1,this.arrowPosition="after",this._sortActionDescription="Sort",this._handleStateChanges()}get sortActionDescription(){return this._sortActionDescription}set sortActionDescription(t){this._updateSortActionDescription(t)}get disableClear(){return this._disableClear}set disableClear(t){this._disableClear=(0,Ue.Ig)(t)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._updateArrowDirection(),this._setAnimationTransitionState({toState:this._isSorted()?"active":this._arrowDirection}),this._sort.register(this),this._sortButton=this._elementRef.nativeElement.querySelector(".mat-sort-header-container"),this._updateSortActionDescription(this._sortActionDescription)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(t=>{const i=!!t;i!==this._showIndicatorHint&&(this._setIndicatorHintVisible(i),this._changeDetectorRef.markForCheck())})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._rerenderSubscription.unsubscribe()}_setIndicatorHintVisible(t){this._isDisabled()&&t||(this._showIndicatorHint=t,this._isSorted()||(this._updateArrowDirection(),this._setAnimationTransitionState(this._showIndicatorHint?{fromState:this._arrowDirection,toState:"hint"}:{fromState:"hint",toState:this._arrowDirection})))}_setAnimationTransitionState(t){this._viewState=t||{},this._disableViewStateAnimation&&(this._viewState={toState:t.toState})}_toggleOnInteraction(){this._sort.sort(this),("hint"===this._viewState.toState||"active"===this._viewState.toState)&&(this._disableViewStateAnimation=!0)}_handleClick(){this._isDisabled()||this._sort.sort(this)}
1_handleKeydown(t){!this._isDisabled()&&(t.keyCode===ue.L_||t.keyCode===ue.K5)&&(t.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&("asc"===this._sort.direction||"desc"===this._sort.direction)}_getArrowDirectionState(){return`${this._isSorted()?"active-":""}${this._arrowDirection}`}_getArrowViewState(){const t=this._viewState.fromState;return(t?`${t}-to-`:"")+this._viewState.toState}_updateArrowDirection(){this._arrowDirection=this._isSorted()?this._sort.direction:this.start||this._sort.start}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?"asc"==this._sort.direction?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_updateSortActionDescription(t){var i,o;this._sortButton&&(null===(i=this._ariaDescriber)||void 0===i||i.removeDescription(this._sortButton,this._sortActionDescription),null===(o=this._ariaDescriber)||void 0===o||o.describe(this._sortButton,t)),this._sortActionDescription=t}_handleStateChanges(){this._rerenderSubscription=(0,_e.T)(this._sort.sortChange,this._sort._stateChanges,this._intl.changes).subscribe(()=>{this._isSorted()&&(this._updateArrowDirection(),("hint"===this._viewState.toState||"active"===this._viewState.toState)&&(this._disableViewStateAnimation=!0),this._setAnimationTransitionState({fromState:this._arrowDirection,toState:"active"}),this._showIndicatorHint=!1),!this._isSorted()&&this._viewState&&"active"===this._viewState.toState&&(this._disableViewStateAnimation=!1,this._setAnimationTransitionState({fromState:"active",toState:this._arrowDirection})),this._changeDetectorRef.markForCheck()})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(be),e.\u0275\u0275directiveInject(e.ChangeDetectorRef),e.\u0275\u0275directiveInject(he,8),e.\u0275\u0275directiveInject("MAT_SORT_HEADER_COLUMN_DEF",8),e.\u0275\u0275directiveInject(pe.tE),e.\u0275\u0275directiveInject(e.ElementRef),e.\u0275\u0275directiveInject(pe.$s,8))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(t,i){1&t&&e.\u0275\u0275listener("click",function(){return i._handleClick()})("keydown",function(l){return i._handleKeydown(l)})("mouseenter",function(){return i._setIndicatorHintVisible(!0)})("mouseleave",function(){return i._setIndicatorHintVisible(!1)}),2&t&&(e.\u0275\u0275attribute("aria-sort",i._getAriaSortAttribute()),e.\u0275\u0275classProp("mat-sort-header-disabled",i._isDisabled()))},inputs:{disabled:"disabled",id:["mat-sort-header","id"],arrowPosition:"arrowPosition",start:"start",sortActionDescription:"sortActionDescription",disableClear:"disableClear"},exportAs:["matSortHeader"],features:[e.\u0275\u0275InheritDefinitionFeature],attrs:Se,ngContentSelectors:xe,decls:4,vars:7,consts:[[1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],["class","mat-sort-header-arrow",4,"ngIf"],[1,"mat-sort-header-arrow"],[1,"mat-sort-header-stem"],[1,"mat-sort-header-indicator"],[1,"mat-sort-header-pointer-left"],[1,"mat-sort-header-pointer-right"],[1,"mat-sort-header-pointer-middle"]],template:function(t,i){1&t&&(e.\u0275\u0275projectionDef(),e.\u0275\u0275elementStart(0,"div",0)(1,"div",1),e.\u0275\u0275projection(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Be,6,6,"div",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275classProp("mat-sort-header-sorted",i._isSorted())("mat-sort-header-position-before","before"==i.arrowPosition),e.\u0275\u0275attribute("tabindex",i._isDisabled()?null:0)("role",i._isDisabled()?null:"button"),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i._renderArrow()))},directives:[S.NgIf],styles:[".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}
1.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}\n"],encapsulation:2,data:{animation:[ce.indicator,ce.leftPointer,ce.rightPointer,ce.arrowOpacity,ce.arrowPosition,ce.allowChildren]},changeDetection:0}),r})(),k=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=e.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=e.\u0275\u0275defineInjector({providers:[$e],imports:[[S.CommonModule,B.BQ]]}),r})();var $=_(88279),T=_(53251),X=_(40524),de=_(51062);let Ke=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=e.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=e.\u0275\u0275defineInjector({imports:[[]]}),r})();var In=_(67293),bi=_(25636),Gn=_(41621);function dn(r,a){1&r&&e.\u0275\u0275element(0,"div",9)}function pn(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span",10),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(t.description)}}function ua(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"section",11),e.\u0275\u0275element(1,"ngx-json-viewer",12),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("json",t.value)("expanded",i.expanded)("depth",i.depth)("_currentDepth",i._currentDepth)}}const ga=function(r){return["segment",r]},mn=function(r,a){return{"segment-main":!0,expandable:r,expanded:a}};function _a(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"section",2)(1,"section",3),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().toggle(l)}),e.\u0275\u0275template(2,dn,1,0,"div",4),e.\u0275\u0275elementStart(3,"span",5),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"span",6),e.\u0275\u0275text(6,": "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,pn,2,1,"span",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(8,ua,2,4,"section",8),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(6,ga,"segment-type-"+t.type)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction2(8,mn,i.isExpandable(t),t.expanded)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.isExpandable(t)),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.key),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!t.expanded||!i.isExpandable(t)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.expanded&&i.isExpandable(t))}}let ha=(()=>{class r{constructor(){this.expanded=!0,this.depth=-1,this._currentDepth=-1,this.segments=[]}ngOnChanges(){this.segments=[],this.json=this.decycle(this.json),this._currentDepth++,"object"==typeof this.json?Object.keys(this.json).forEach(t=>{this.segments.push(this.parseKeyValue(t,this.json[t]))}):this.segments.push(this.parseKeyValue(`(${typeof this.json})`,this.json))}isExpandable(t){return"object"===t.type||"array"===t.type}toggle(t){this.isExpandable(t)&&(t.expanded=!t.expanded)}parseKeyValue(t,i){const o={key:t,value:i,type:void 0,description:""+i,expanded:this.isExpanded()};switch(typeof o.value){case"number":o.type="number";break;case"boolean":o.type="boolean";break;case"function":o.type="function";break;case"string":o.type="string",o.description='"'+o.value+'"';break;case"undefined":o.type="undefined",o.description="undefined";break;case"object":null===o.value?(o.type="null",o.description="null"):Array.isArray(o.value)?(o.type="array",o.description="Array["+o.value.length+"] "+JSON.stringify(o.value)):o.value instanceof Date?o.type="date":(o.type="object",o.description="Ob
1ject "+JSON.stringify(o.value))}return o}isExpanded(){return this.expanded&&!(this.depth>-1&&this._currentDepth>=this.depth)}decycle(t){const i=new WeakMap;return function o(l,h){let y,F;return"object"!=typeof l||null===l||l instanceof Boolean||l instanceof Date||l instanceof Number||l instanceof RegExp||l instanceof String?l:(y=i.get(l),void 0!==y?{$ref:y}:(i.set(l,h),Array.isArray(l)?(F=[],l.forEach(function(te,H){F[H]=o(te,h+"["+H+"]")})):(F={},Object.keys(l).forEach(function(te){F[te]=o(l[te],h+"["+JSON.stringify(te)+"]")})),F))}(t,"$")}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["ngx-json-viewer"]],inputs:{expanded:"expanded",depth:"depth",_currentDepth:"_currentDepth",json:"json"},features:[e.\u0275\u0275NgOnChangesFeature],decls:2,vars:1,consts:[[1,"ngx-json-viewer"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],[3,"ngClass","click"],["class","toggler",4,"ngIf"],[1,"segment-key"],[1,"segment-separator"],["class","segment-value",4,"ngIf"],["class","children",4,"ngIf"],[1,"toggler"],[1,"segment-value"],[1,"children"],[3,"json","expanded","depth","_currentDepth"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"section",0),e.\u0275\u0275template(1,_a,9,11,"section",1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.segments))},directives:[S.NgForOf,S.NgClass,S.NgIf,r],styles:['@charset "UTF-8";.ngx-json-viewer[_ngcontent-%COMP%]{font-family:monospace;font-size:1em;height:100%;overflow:hidden;position:relative;width:100%}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%]{margin:1px 1px 1px 12px;padding:2px}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%]{word-wrap:break-word}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]{color:#787878;font-size:.8em;line-height:1.2em;margin-left:-14px;margin-top:3px;position:absolute;vertical-align:middle}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .toggler[_ngcontent-%COMP%]:after{content:"\u25ba";display:inline-block;transition:transform .1s ease-in}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-key[_ngcontent-%COMP%]{color:#4e187c}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-separator[_ng
1content-%COMP%]{color:#999}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .segment-main[_ngcontent-%COMP%] .segment-value[_ngcontent-%COMP%]{color:#000}.ngx-json-viewer[_ngcontent-%COMP%] .segment[_ngcontent-%COMP%] .children[_ngcontent-%COMP%]{margin-left:12px}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-string[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:#ff6b6b}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-number[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:#009688}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-boolean[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:#b938a4}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-date[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:#05668d}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .segment-type-function[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:#999}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{color:#fff}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-null[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:red}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-key[_ngcontent-%COMP%]{color:#999}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-undefined[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%] > .segment-value[_ngcontent-%COMP%]{background-color:#999}.ngx-json-viewer[_ngcontent-%COMP%] .segment-type-array[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .segment-type-object[_ngcontent-%COMP%] > .segment-main[_ngcontent-%COMP%]{white-space:nowrap}.ngx-json-viewer[_ngcontent-%COMP%] .expanded[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]:after{transform:rotate(90deg)}.ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%], .ngx-json-viewer[_ngcontent-%COMP%] .expandable[_ngcontent-%COMP%] > .toggler[_ngcontent-%COMP%]{cursor:pointer}']}),r})(),bo=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=e.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=e.\u0275\u0275defineInjector({imports:[[S.CommonModule]]}),r})();var cr=_(20557),fa=_(47403),dr=_(96980),bn=_(18013),yo=_(55303),pr=_(54538),va=_(38933),Ui=_(7081),xo=_(39918),Ca=_(87366),ee=_(93075),ut=_(48966),Et=_(67322),Pt=_(98833),Dt=_(57261),Qe=_(74202),gt=_(96410),hn=_(33562),zt=_(63527),qe=_(24850);let Fi=(()=>{class r{constructor(t){this.afs=t,this.bookingDocPath="globals/booking"}saveHolidays(t){const i={},o={},l=Date.now();for(const h of t){const y={reason:h.reason,createdAt:l};i[`holidays.${h.date}`]=y,o[h.date]=y}return(0,zt.D)((0,hn.r7)((0,hn.JU)(this.afs,this.bookingDocPath),i)).pipe((0,qe.U)(()=>o))}deleteHolidays(t){const i={};for(const o of t)i[`holidays.${o}`]=(0,hn.AK)();return(0,zt.D)((0,hn.r7)((0,hn.JU)(this.afs,this.bookingDocPath),i))}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(hn.gg))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})(),jr=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=e.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=e.\u0275\u0275defineInjector({providers:[Fi],imports:[[S.CommonModule,ee.UX,Qe.Bz,Q.p9,ut.Is,Et.lN,Pt.c,Dt.ZX,gt.eYi]]}),r})();var an=_(38612),wn=_(54268),ba=_(71335),U=_(658),He=_(98798),De=_(70655),li=_(71412),Mt=_(22962),mr=_(37841),_t=_(66809),ht=_(72751),Fn=_(61432),zn=_(70949),yi=_(39348);function ya(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"button",6),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).promoteToAdmin()}),e.\u0275\u0275text(2," Promote to admin "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}}function xa(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",8),e.\u0275\u0275text(2,"All is ready"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd())}function Sa(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"h3"),e.\u0275\u0275text(1,"Invite root user"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"ui-form-group",9)(3,"ui-form-row",10),e.\u0275\u0275element(4,"ui-input",11,12),e.\u0275\u0275elementStart(6,"button",13),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275reference(5);return e.\u0275\u0275nextContext(4).inviteRootUser(o.value)}),e.\u0275\u0275text(7," Invite "),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275reference(5);e.\u0275\u0275advance(4),e.\u0275\u0275property("label","Email"),e.\u0275\u0275advance(2),e.\u0275\u0275property("type","email")("disabled",!t.value)}}function Ai(r,a){if(1&r&&(e.\u0275\u0275template(0,xa,3,0,"ng-container",3),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275template(2,Sa,8,3,"ng-template",null,7,e.\u0275\u0275templateRefExtractor)),2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,2,i.rootInvitation$))("ngIfElse",t)}}
1function Ta(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"ui-loading-wrapper",4),e.\u0275\u0275template(2,ya,3,0,"ng-container",3),e.\u0275\u0275template(3,Ai,4,4,"ng-template",null,5,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275reference(4),i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("loading",i.loading),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","Admin"!==i.auth.currentUser.permissions)("ngIfElse",t)}}function So(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",2),e.\u0275\u0275template(2,Ta,5,3,"ng-container",3),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=e.\u0275\u0275reference(2);e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.auth.currentUser)("ngIfElse",i)}}function To(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1,"Please login to continue with onboarding."),e.\u0275\u0275elementEnd())}let wo=(()=>{class r{constructor(t,i,o,l){this.afs=t,this.members=i,this.auth=o,this.invitationsRepository=l,this.onboardState="loading",this.promoted=!1,this.loading=!1,this.rootInvitation$=this.invitationsRepository.getOne([["isRootUser","==",!0]])}ngOnInit(){this.members.membersObjPromise.then(t=>{const i=(0,li.Z)(t);this.onboardState=i&&i.length?"onboarded":"canOnboard",this.onboardState="canOnboard"})}promoteToAdmin(){return(0,De.mG)(this,void 0,void 0,function*(){this.loading=!0,this.members.addUserToRole(this.auth.currentUser,"Admin"),yield this.afs.doc("globals/managementConfig").update({onboardMode:!1}),this.promoted=!0,this.loading=!1})}inviteRootUser(t){return(0,De.mG)(this,void 0,void 0,function*(){this.loading=!0,yield this.invitationsRepository.create({email:t,isRootUser:!0,permissions:He.Pv.ADMIN}),this.loading=!1})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.ZeD),e.\u0275\u0275directiveInject(U.XPL),e.\u0275\u0275directiveInject(U.nwM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-admin-onboard"]],decls:3,vars:1,consts:[[4,"ngIf"],["notLoggedIn",""],[1,"pa3"],[4,"ngIf","ngIfElse"],[3,"loading"],["invitesTmpl",""],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["inviteRootUserTmpl",""],[1,"text-24","font-bold"],[1,"w-1/6"],[1,"flex","items-end"],[1,"flex-1",3,"label"],["email",""],["uiBtnSize","medium","uiBtnTheme","main","themeMode","primary",3,"type","disabled","click"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,So,3,2,"ng-container",0),e.\u0275\u0275template(1,To,2,0,"ng-template",null,1,e.\u0275\u0275templateRefExtractor)),2&t&&e.\u0275\u0275property("ngIf","canOnboard"===i.onboardState)},directives:[S.NgIf,mr.G,_t.s,ht.V,Fn.H,zn.L,yi.a],pipes:[S.AsyncPipe],styles:[""]}),r})();var Xs=_(31158),Hi=_.n(Xs);let Rr=(()=>{class r{constructor(t){this.appConfigService=t,Hi().tz.setDefault(this.appConfigService.timeZone)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U._ZM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-admin-page-wrapper"]],decls:1,vars:0,template:function(t,i){1&t&&e.\u0275\u0275element(0,"router-outlet")},directives:[Qe.lC],encapsulation:2}),r})();var Kn=_(20449),Wi=_(70127),un=_(84808),Zn=_(6552),Lt=_(87238),mt=_(255),Gi=_(22115),qt=_(90384),Bi=_(43020);const Ki=["paginator"];function ko(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"th",31)(1,"mat-checkbox",32),e.\u0275\u0275listener("change",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return o?l.masterToggle():null}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("checked",t.selection.hasValue()&&t.isAllSelected())("indeterminate",t.selection.hasValue()&&!t.isAllSelected())("aria-label",t.checkboxLabel())}}function Vr(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"td",33)(1,"mat-checkbox",34),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()})("change",function(o){const h=e.\u0275\u0275restoreView(t).$implicit,y=e.\u0275\u0275nextContext(2);return o?y.selection.toggle(h):null}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("checked",i.selection.isSelected(t))}}function Eo(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",31),e.\u0275\u0275text(1,"Order Id"),e.\u0275\u0275elementEnd())}
1function yn(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",33),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"shorten"),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind2(2,1,t.id,5)," ")}}function Lr(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",31),e.\u0275\u0275text(1,"Shoot Date"),e.\u0275\u0275elementEnd())}function ji(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",37),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"dayjsDateFormat"),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" Due ",e.\u0275\u0275pipeBind3(2,1,t.data.deadline,"MMM DD, h:mm a",i.timezone)," ")}}function wa(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",35)(1,"div"),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"dayjsDateFormat"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,ji,3,5,"div",36),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind3(3,2,t.data.date,"MMM DD",i.timezone)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.data.deadline)}}function Oo(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",31),e.\u0275\u0275text(1,"Services"),e.\u0275\u0275elementEnd())}function ci(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",41),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.data.packages," ")}}function ur(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",38),e.\u0275\u0275template(1,ci,2,1,"div",39),e.\u0275\u0275element(2,"ui-task-status-chips",40),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.data.packages),e.\u0275\u0275advance(1),e.\u0275\u0275property("order",t.data)}}function Nr(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",31),e.\u0275\u0275text(1,"Order Status"),e.\u0275\u0275elementEnd())}function ei(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",42)(1,"div"),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"ucwords"),e.\u0275\u0275pipe(4,"uiCustomStatus"),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(3,1,t.data.orderStatus?e.\u0275\u0275pipeBind2(4,3,t.data.orderStatus,"order"):"pending")," ")}}function Ri(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",31),e.\u0275\u0275text(1,"Payment Status"),e.\u0275\u0275elementEnd())}function Io(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",43)(1,"div",44),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"ucwords"),e.\u0275\u0275pipe(4,"uiCustomStatus"),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",t.data.paymentStatus?t.data.paymentStatus:"unpaid"),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(3,2,t.data.paymentStatus?e.\u0275\u0275pipeBind2(4,4,t.data.paymentStatus,"payment"):"unpaid")," ")}}function Do(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",31),e.\u0275\u0275text(1,"Client Name"),e.\u0275\u0275elementEnd())}function $r(r,a){1&r&&e.\u0275\u0275element(0,"i",46)}function zr(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",33),e.\u0275\u0275template(1,$r,1,0,"i",45),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.data.brokerage_code),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.data.client_full_name," ")}}function Mo(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",31),e.\u0275\u0275text(1,"Location"),e.\u0275\u0275elementEnd())}function ka(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"br"),e.\u0275\u0275text(2),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.data.property_address.line2," ")}}function xi(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",35)(1,"span",47),e.\u0275\u0275text(2),e.\u0275\u0275template(3,ka,3,1,"ng-container",48),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("matTooltip",(null==t.data.property_address?null:t.data.property_address.formatted_address)||""),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",(null==t.data.property_address||null==t.data.property_address.formatted_address?null:t.data.property_address.formatted_address.split(",")[0])||""," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",(null==t.data.property_address?null:t.data.property_address.line2)&&(null==t.data.property_address?null:t.data.property_address.line2.length))}}function Ur(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",31),e.\u0275\u0275text(1,"Team"),e.\u0275\u0275elementEnd())}function Ea(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",49)(1,"ui-assign-order",50),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("order",t)}}function Oa(r,a){1&r&&e.\u0275\u0275element(0,"tr",51)}function Ia(r,a){1&r&&e.\u0275\u0275element(0,"tr",52)}function Da(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",3)(1,"h1"),e.\u0275\u0275text(2,"Archived Orders"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",4)(4,"div",5)(5,"button",6),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().restoreOrder()}),e.\u0275\u0275text(6," Restore Order "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(7,"div",7)(8,"div",8)(9,"div",9)(10,"table",10),e.\u0275\u0275elementContainerStart(11,11),e.\u0275\u0275template(12,ko,2,3,"th",12),e.\u0275\u0275template(13,Vr,2,1,"td",13),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(14,14),e.\u0275\u0275template(15,Eo,2,0,"th",12),e.\u0275\u0275template(16,yn,3,4,"td",13),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(17,15),e.\u0275\u0275template(18,Lr,2,0,"th",12),e.\u0275\u0275template(19,wa,5,6,"td",16),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(20,17),e.\u0275\u0275template(21,Oo,2,0,"th",12),e.\u0275\u0275template(22,ur,3,2,"td",18),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(23,19),e.\u0275\u0275template(24,Nr,2,0,"th",12),e.\u0275\u0275template(25,ei,5,6,"td",20),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(26,21),e.\u0275\u0275template(27,Ri,2,0,"th",12),e.\u0275\u0275template(28,Io,5,7,"td",22),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(29,23),e.\u0275\u0275template(30,Do,2,0,"th",12),e.\u0275\u0275template(31,zr,3,2,"td",13),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(32,24),e.\u0275\u0275template(33,Mo,2,0,"th",12),e.\u0275\u0275template(34,xi,4,3,"td",16),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(35,25),e.\u0275\u0275template(36,Ur,2,0,"th",12),e.\u0275\u0275template(37,Ea,2,1,"td",26),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275template(38,Oa,1,0,"tr",27),e.\u0275\u0275template(39,Ia,1,0,"tr",28),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(40,"mat-paginator",29,30),e.\u0275\u0275listener("page",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().handlePage(o)}),e.\u0275\u0275elementEnd()()()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(5),e.\u0275\u0275property("disabled",!t.selection.selected.length),e.\u0275\u0275advance(5),e.\u0275\u0275property("dataSource",t.dataSource),e.\u0275\u0275advance(28),e.\u0275\u0275property("matHeaderRowDef",t.displayedColumns),e.\u0275\u0275advance(1),e.\u0275\u0275property("matRowDefColumns",t.displayedColumns),e.\u0275\u0275advance(1),e.\u0275\u0275property("disabled",t.fetchingData)("pageSize",25)("length",t.length)("pageSizeOptions",t.pageSizeOptions)}}let Hr=(()=>
1{class r{constructor(t,i,o){this.afs=t,this.notificationService=i,this.appConfigService=o,this.paginationIndex=[],this.selection=new Kn.Ov(!0,[]),this.displayedColumns=["select","date","property_address","client_full_name","services","team","paymentStatus","orderStatus"],this.length=0,this.defaultPageSize=25,this.pageSizeOptions=[25,50,100,200,300,500],this.ordersReadStatus={},this.filterObject={memberIds:[],services:[],bookingFlows:[],orderStatuses:[],paymentStatuses:[],dates:null}}get timezone(){return this.appConfigService.timeZone}ngOnInit(){this._loadInitialOrders()}ngOnDestroy(){this.orders$.unsubscribe()}_loadInitialOrders(){this.getOrders("first"),this.afs.doc("globals/stats").get().subscribe(t=>{const i=t.data();this.length=(null==i?void 0:i.totalArchivedOrders)?i.totalArchivedOrders:0})}handlePage(t){this.pageEvent=t,this.getOrders(0==t.pageIndex?"first":t.pageIndex>t.previousPageIndex?"next":"previous")}isAllSelected(){return this.selection.selected.length===this.dataSource.data.length}masterToggle(){this.isAllSelected()?this.selection.clear():this.dataSource.data.forEach(t=>this.selection.select(t))}checkboxLabel(t){return t?`${this.selection.isSelected(t)?"deselect":"select"} row ${t.position+1}`:(this.isAllSelected()?"select":"deselect")+" all"}restoreOrder(){const t=Wi.Z.firestore.FieldValue.increment(-1*this.selection.selected.length),i=this.afs.firestore.batch();this.selection.selected.forEach(l=>{i.delete(l.doc.ref);const y=this.afs.collection("mondayOrder").doc(l.id).ref;i.set(y,l.data)});const o=this.afs.collection("globals").doc("stats").ref;i.set(o,{totalArchivedOrders:t},{merge:!0}),i.commit()}getOrders(t){this.orders$&&this.orders$.unsubscribe(),"first"==t&&this.paginator&&0!==this.paginator.pageIndex&&(this.paginator.pageIndex=0);const o={first:l=>this.query=l.orderBy("date","desc").limit(this.pageEvent?this.pageEvent.pageSize:this.defaultPageSize),next:()=>this.query.startAfter(this.dataSource.data[this.dataSource.data.length-1].doc).limit(this.pageEvent.pageSize),previous:()=>this.query.startAt(this.paginationIndex[this.pageEvent.pageIndex*this.pageEvent.pageSize].doc).limit(this.pageEvent.pageSize)}[t];this.fetchingData=!0,this.orders$=this.afs.collection("archivedMondayOrder",o).snapshotChanges().subscribe(l=>{const h=l.map(y=>{const F=y.payload.doc.data();return{id:y.payload.doc.id,data:F,doc:y.payload.doc}});h.forEach(y=>{y.doc.ref.collection("readStatus").doc(this.notificationService.userId).get().then(F=>{this.ordersReadStatus[y.id]=F.data()})}),this.activeOrder&&(this.activeOrder=(0,un.Z)(h,{id:this.activeOrder.id})),this.dataSource=new $.by(h),this.selection.clear(),"first"==t?this.paginationIndex=h:("next"==t||this.paginationIndex.splice(this.paginationIndex.length-h.length-1),this.paginationIndex.push(...h)),this.fetchingData=!1})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(U._ZM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-archived-order-management"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(Ki,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.paginator=o.first)}},decls:3,vars:1,consts:[[1,"page-wrapper"],[1,"order-management"],["class","order-management__table-container",4,"ngIf"],[1,"order-management__table-container"],[1,"flex","mb3"],[1,"ml-auto"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"disabled","click"],[1,"card__orders-container"],[1,"card","card-border"],[1,"card-body"],["mat-table","",1,"orders-table",3,"dataSource"],["matColumnDef","select"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","id"],["matColumnDef","date"],["class","pre","mat-cell","",4,"matCellDef"],["matColumnDef","services"],["class","service-chips-column","mat-cell","",4,"matCellDef"],["matColumnDef","orderStatus"],["class","order-status-column","mat-cell","",4,"matCellDef"],["matColumnDef","paymentStatus"],["class","payment-status-column","mat-cell","",4,"matCellDef"],["matColumnDef","client_full_name"],["matColumnDef","property_address"],["matColumnDef","team"],["class","pointer-events-none","mat-cell","",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","","tabindex","1",4,"matRowDef","matRowDefColumns"],[3,"disabled","pageSize","length","pageSizeOptions","page"],["paginator",""],["mat-header-cell",""],[3,"checked","indeterminate","aria-label","change"],["mat-cell",""],[3,"checked","click","change"],["mat-cell","",1,"pre"],["class","red f7",4,"ngIf"],[1,"red","f7"],["mat-cell","",1,"service-chips-column"],["class","i ph2 fw6 black-70 mb2 f7",4,"ngIf"],[3,"order"],[1,"i","ph2","fw6","black-70","mb2","f7"],["mat-cell","",1,"order-status-column"],["mat-cell","",1,"payment-status-column"],[3,"ngClass"],["matTooltip","Dedicated Partner","uiIcon","star","uiIconVariant","filled","class","gold",4,"ngIf"],["matTooltip","Dedicated Partner","uiIcon","star","uiIconVariant","filled",1,"gold"],[3,"matTooltip"],[4,"ngIf"],["mat-cell","",1,"pointer-events-none"],[3,"order","click"],["mat-header-row",""],["mat-row","","tabindex","1"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1),e.\u0275\u0275template(2,Da,42,8,"div",2),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.dataSource))},directives:[S.NgIf,_t.s,ht.V,$.BZ,$.w1,$.fO,$.ge,Q.oG,$.Dz,$.ev,Zn.z,S.NgClass,Lt.gM,mt.a,Gi.c,$.as,$.XQ,$.nj,$.Gk,W.NW],pipes:[cr.TD,qt.B,cr.FX,Bi.N],styles:[""]}),r})();var Nt=_(72986),ge=_(24254),Un=_(67656),An=_(87224);function Wr(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",3)(1,"img",4),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().selectFile(l.downloadURL)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("src",t.downloadURL,e.\u0275\u0275sanitizeUrl)}}let Po=(()=>
1{class r{constructor(t){this.afs=t,this.selectedFile=new e.EventEmitter}ngOnInit(){this.afs.collection("library/images/services").valueChanges({idField:"id"}).pipe((0,An.P)()).subscribe(t=>{this.images=t})}selectFile(t){this.selectedFile.emit(t)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-image-loader"]],outputs:{selectedFile:"selectedFile"},decls:5,vars:1,consts:[[1,"mt3","flex","flex-wrap"],["class","image-thumbnail dim",4,"ngFor","ngForOf"],[1,"image-thumbnail"],[1,"image-thumbnail","dim"],[3,"src","click"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275template(1,Wr,2,1,"div",1),e.\u0275\u0275element(2,"div",2)(3,"div",2)(4,"div",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.images))},directives:[S.NgForOf],styles:[""]}),r})();var gr=_(40537),Fo=_(78176);function Gr(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",2),e.\u0275\u0275element(1,"progress",3),e.\u0275\u0275elementEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("value",t)}}function _r(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"img",5),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).ngIf;return e.\u0275\u0275nextContext(2).selectedFile.emit(l)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("src",t,e.\u0275\u0275sanitizeUrl)}}function hr(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div")(1,"span",4),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,_r,2,1,"div",1),e.\u0275\u0275elementEnd()),2&r){const t=a.ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",t.bytesTransferred===t.totalBytes),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2("",t.bytesTransferred," of ",t.totalBytes," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.hideThumbnail&&i.downloadURL)}}let Ao=(()=>{class r{constructor(t,i){this.storage=t,this.db=i,this.selectedFile=new e.EventEmitter,this.fileUploaded=new e.EventEmitter,this.hideThumbnail=!1}ngOnInit(){this.startUpload()}startUpload(){const t=`${this.storagePath}/${this.db.createId()}`,i=this.storage.ref(t);this.task=this.storage.upload(t,this.file,{cacheControl:"max-age=2592000",customMetadata:{name:this.file.name}}),this.percentage=this.task.percentageChanges(),this.snapshot=this.task.snapshotChanges().pipe((0,gr.x)(()=>(0,De.mG)(this,void 0,void 0,function*(){this.downloadURL=yield i.getDownloadURL().toPromise();const o=yield i.getMetadata().toPromise();this.fileUploaded.emit({downloadURL:this.downloadURL,metadata:o,path:t})})))}isActive(t){return"running"===t.state&&t.bytesTransferred<t.totalBytes}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Fo.Q1),e.\u0275\u0275directiveInject(Mt.ST))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-upload-task"]],inputs:{file:"file",hideThumbnail:"hideThumbnail",storagePath:"storagePath"},outputs:{selectedFile:"selectedFile",fileUploaded:"fileUploaded"},decls:4,vars:6,consts:[["class","ph2",4,"ngIf"],[4,"ngIf"],[1,"ph2"],["max","100",1,"w-100",3,"value"],[3,"hidden"],[3,"src","click"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,Gr,2,1,"div",0),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275template(2,hr,4,4,"div",1),e.\u0275\u0275pipe(3,"async")),2&t&&(e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,2,i.percentage)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(3,4,i.snapshot)))},directives:[S.NgIf],pipes:[S.AsyncPipe],styles:[""]}),r})();function Ma(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"input",3),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onFileChange(o)}),e.\u0275\u0275elementEnd()()}}function Pa(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"input",4),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onFileChange(o)}),e.\u0275\u0275elementEnd()()}}function Bo(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",5)(1,"tn-upload-task",6),e.\u0275\u0275listener("selectedFile",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().selectedFile.emit(o)})("fileUploaded",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().fileUploaded.emit(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("hideThumbnail",i.hideThumbnail)("storagePath",i.storagePath)("file",t)}}let Kr=(()=>
1{class r{constructor(){this.fileUploaded=new e.EventEmitter,this.selectedFile=new e.EventEmitter,this.storagePath="images",this.type="multiple",this.hideThumbnail=!1,this.files=[]}onFileChange(t){const o=t.target.files;o&&this.uploadFiles(o)}uploadFiles(t){for(let i=0;i<t.length;i++)this.files.push(t.item(i))}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-file-uploader"]],inputs:{storagePath:"storagePath",type:"type",hideThumbnail:"hideThumbnail"},outputs:{fileUploaded:"fileUploaded",selectedFile:"selectedFile"},decls:4,vars:3,consts:[[4,"ngIf"],[1,"mt3","flex","flex-wrap"],["class","image-thumbnail dim",4,"ngFor","ngForOf"],["type","file","accept","image/*","multiple","",3,"change"],["type","file","accept","image/*",3,"change"],[1,"image-thumbnail","dim"],[3,"hideThumbnail","storagePath","file","selectedFile","fileUploaded"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,Ma,2,0,"div",0),e.\u0275\u0275template(1,Pa,2,0,"div",0),e.\u0275\u0275elementStart(2,"div",1),e.\u0275\u0275template(3,Bo,2,3,"div",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("ngIf","multiple"===i.type),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","single"===i.type),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngForOf",i.files))},directives:[S.NgIf,S.NgForOf,Ao],styles:[""]}),r})(),fr=(()=>{class r{constructor(t,i){this.dialogRef=t,this.afs=i,this.storagePath="images"}selectImageUrl(t){this.dialogRef.close(t)}saveToCollection(t){this.afs.collection("library/images/services").add({downloadURL:t.downloadURL,path:t.path,name:t.metadata.customMetadata.name,timeCreate:t.metadata.timeCreated})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ut.so),e.\u0275\u0275directiveInject(Mt.ST))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-file-library-dialog"]],decls:12,vars:1,consts:[["animationDuration","0ms"],["label","Library"],[3,"selectedFile"],["label","Upload Images"],[3,"storagePath","selectedFile","fileUploaded"],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary","mat-dialog-close",""]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1,"File Library"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-tab-group",0)(3,"mat-tab",1)(4,"mat-dialog-content")(5,"tn-image-loader",2),e.\u0275\u0275listener("selectedFile",function(l){return i.selectImageUrl(l)}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(6,"mat-tab",3)(7,"mat-dialog-content")(8,"tn-file-uploader",4),e.\u0275\u0275listener("selectedFile",function(l){return i.selectImageUrl(l)})("fileUploaded",function(l){return i.saveToCollection(l)}),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(9,"mat-dialog-actions",5)(10,"button",6),e.\u0275\u0275text(11," Close "),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275advance(8),e.\u0275\u0275property("storagePath",i.storagePath))},directives:[Un.A,T.SP,T.uX,ut.xY,Po,Kr,ut.H8,_t.s,ht.V,ut.ZT],styles:["mat-tab-group[_ngcontent-%COMP%] .mat-tab-body-wrapper{--dialog-inset: 0}mat-tab-group[_ngcontent-%COMP%] .mat-tab-header{margin-left:calc(var(--dialog-inset) * -1);margin-right:calc(var(--dialog-inset) * -1);padding-left:var(--dialog-inset);padding-right:var(--dialog-inset)}mat-dialog-content[_ngcontent-%COMP%]{padding-top:1rem;height:60vh}"]}),r})(),ti=(()=>{class r{constructor(t){this.dialog=t}open(){return this.dialog.open(fr,{width:"600px",maxWidth:"600px",autoFocus:!1}).afterClosed()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(ut.uw))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})();var tn=_(69009),Ft=_(92181);function Si(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"ui-select",14),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().setPrimaryBookingFlow(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275advance(1),e.\u0275\u0275property("labelIndent",!1)("clearable",!0)("items",t.bookingFlowOptions)("value",null!==(i=null==t.primaryBookingFlow||null==t.primaryBookingFlow.doc?null:t.primaryBookingFlow.doc.id)&&void 0!==i?i:null)}}function jo(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",15,16),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().changeCoverPhoto()}),e.\u0275\u0275element(2,"i",17),e.\u0275\u0275text(3," Change Cover Photo "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function Zr(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",15,18),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().changeCoverPhoto()}),e.\u0275\u0275element(2,"i",10),e.\u0275\u0275text(3," Add Cover Photo "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}
1function Vi(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",15,19),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().removeCoverPhoto()}),e.\u0275\u0275element(2,"i",20),e.\u0275\u0275text(3," Remove Cover Photo "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}const vr=function(r){return["./",r]};function Cr(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",21)(1,"div",22),e.\u0275\u0275element(2,"i",23),e.\u0275\u0275elementStart(3,"div",24),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().changeThumbnail(l)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",25)(5,"div",26),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",27),e.\u0275\u0275text(8," URL: "),e.\u0275\u0275elementStart(9,"a",28)(10,"span",29),e.\u0275\u0275text(11,"/book/"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(12),e.\u0275\u0275element(13,"i",30),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(14,"div",31)(15,"div",32)(16,"div",33),e.\u0275\u0275text(17,"Visibility"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"span",34)(19,"mat-slide-toggle",35),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.isPublic=o})("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().toggleBookingFlowPrivacy(h,o)}),e.\u0275\u0275text(20),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(21,"div",32)(22,"div",33),e.\u0275\u0275text(23,"Restricted Access"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"span",36)(25,"ui-select",37),e.\u0275\u0275listener("selectionChange",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().updateBookingFlowAccess(h,o)}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(26,"div",32)(27,"div",33),e.\u0275\u0275text(28,"Status"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(29,"span",38)(30,"mat-slide-toggle",39),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.enabled=o})("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().toggleEnableBookingFlow(h,o)}),e.\u0275\u0275text(31),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(32,"button",40,41),e.\u0275\u0275text(34," Edit "),e.\u0275\u0275element(35,"i",42),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(36,"div",43)(37,"button",44,45),e.\u0275\u0275element(39,"i",46),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(40,"mat-menu",47,48)(42,"button",49),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().duplicateBookingFlow(l)}),e.\u0275\u0275text(43," Duplicate "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(44,"button",50),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().deleteBookingFlow(l)}),e.\u0275\u0275text(45," Delete "),e.\u0275\u0275elementEnd()()()()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275reference(33),o=e.\u0275\u0275reference(38),l=e.\u0275\u0275reference(41),h=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275styleProp("background-image",t.img?"url("+t.img+")":""),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" ",t.name," "),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate1("href","/book/",t.slug,"",e.\u0275\u0275sanitizeUrl),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1("",t.slug," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("size",14),e.\u0275\u0275advance(5),e.\u0275\u0275property("matTooltipDisabled",!t.isPrimary),e.\u0275\u0275advance(1),e.\u0275\u0275property("disableRipple",!0)("disabled",t.isPrimary)("ngModel",t.isPublic),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.isPublic?"Public":"Private"," "),e.\u0275\u0275advance(4),e.\u0275\u0275property("matTooltip",h.primaryFlowAccessTooltip)("matTooltipDisabled",!t.isPrimary),e.\u0275\u0275advance(1),e.\u0275\u0275property("sameWidthAsTarget",!1)("items",h.bookingFlowAccessOptions)("value",t.access)("disabled",t.isPrimary),e.\u0275\u0275advance(4),e.\u0275\u0275property("matTooltipDisabled",!t.isPrimary),e.\u0275\u0275advance(1),e.\u0275\u0275property("disableRipple",!0)("disabled",t.isPrimary)("ngModel",t.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.enabled?"Enabled":"Disabled"," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(28,vr,t.doc.id)),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("matMenuTriggerFor",l),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("disabled",h.isBookingFlowsLimitReached)("matTooltip",h.isBookingFlowsLimitReached?"Booking flows limit reached":"")}}const Fa=function(){return[".","add"]};let Aa=(()=>
1{class r{constructor(t,i,o,l,h,y,F,te,H){this.translateService=t,this.afs=i,this.popupService=o,this.snackBar=l,this.appConfigService=h,this.bookingFlowRepositoryService=y,this.router=F,this.activatedRoute=te,this.fileLibraryDialog=H,this.bookingFlowOptions=[],this.landingCoverPhotoUrl="",this.bookingFlowAccessOptions=[{name:this.translateService.instant("BOOKING_FLOW_ACCESS_ANYONE_WITH_LINK"),value:He.Sb.ANYONE_WITH_LINK},{name:this.translateService.instant("BOOKING_FLOW_ACCESS_BROKERAGE_MEMBERS_ONLY"),value:He.Sb.BROKERAGE_MEMBERS_ONLY}],this.primaryFlowAccessTooltip=this.translateService.instant("BOOKING_FLOW_PRIMARY_ACCESS_TOOLTIP")}ngOnInit(){this.afs.collection("bookingFlow").snapshotChanges().subscribe(t=>{this.bookingFlows=t.map(i=>{const o=i.payload.doc.data();return Object.assign(Object.assign({},o),{access:(0,ge.rPE)(o),doc:i.payload.doc})}),this.sortByPriority(),this.primaryBookingFlow=(0,un.Z)(this.bookingFlows,{isPrimary:!0}),this.bookingFlowOptions=this.bookingFlows.map(i=>({name:i.enabled?i.name:`${i.name} (disabled)`,value:i.doc.id,disabled:!i.enabled}))}),this.afs.collection("globals").doc("booking").get().subscribe(t=>{if(t.exists){const i=t.data();this.landingCoverPhotoUrl=(null==i?void 0:i.landingCoverPhotoUrl)||""}})}get isBookingFlowsLimitReached(){var t;return(null===(t=this.bookingFlows)||void 0===t?void 0:t.length)>=this.appConfigService.bookingFlowsLimit}trackById(t,i){return i.doc.id}changeCoverPhoto(){this.fileLibraryDialog.open().pipe((0,Nt.q)(1)).subscribe(t=>{t&&(this.landingCoverPhotoUrl=t,this.updateBookingConfig({landingCoverPhotoUrl:t}))})}removeCoverPhoto(){this.popupService.open({text:"Are you sure you want to remove the cover photo?",showCancelButton:!0,destructive:!0}).then(t=>{t.value&&(this.landingCoverPhotoUrl="",this.updateBookingConfig({landingCoverPhotoUrl:""}))})}duplicateBookingFlow(t){return this.popupService.open({text:"This will duplicate the booking flow. Are you sure?",showCancelButton:!0}).then(({value:i})=>{if(i){const o=this.afs.createId(),h=(0,De._T)(t,["doc"]),y=Object.assign(Object.assign({},h),{id:o,name:`${t.name} - Duplicate`,slug:`${t.slug}-duplicate`,alternateSlugs:[],isPrimary:!1});this.bookingFlowRepositoryService.create(y,o).then(()=>{this.router.navigate([o],{relativeTo:this.activatedRoute})})}})}deleteBookingFlow(t){t.isPrimary?this.popupService.error({title:"Error",text:"You cannot delete the your primary booking flow."}):this.popupService.open({text:"Are you sure you want to delete this booking flow?",showCancelButton:!0,destructive:!0}).then(i=>{!0===i.value&&t.doc.ref.delete()})}toggleBookingFlowPrivacy(t,i){t.doc.ref.update({isPublic:i}).then(()=>this.displaySaveConfirmation())}toggleEnableBookingFlow(t,i){t.doc.ref.update({enabled:i}).then(()=>this.displaySaveConfirmation())}updateBookingFlowAccess(t,i){t.doc.ref.update({access:i}).then(()=>this.displaySaveConfirmation())}setPrimaryBookingFlow(t){if(!t)return void this.clearPrimaryBookingFlow();const i=(0,un.Z)(this.bookingFlows,l=>l.doc.id===t);if(!i)return;const o=this.afs.firestore.batch();this.primaryBookingFlow&&this.primaryBookingFlow.doc&&o.update(this.primaryBookingFlow.doc.ref,{isPrimary:!1}),o.update(i.doc.ref,{isPrimary:!0,isPublic:!0,access:He.Sb.ANYONE_WITH_LINK}),o.commit().then(()=>this.displaySaveConfirmation())}changeThumbnail(t){this.fileLibraryDialog.open().pipe((0,Nt.q)(1)).subscribe(i=>{i&&t.doc.ref.update({img:i}).then(()=>this.displaySaveConfirmation())})}onDrop(t){(0,n.bA)(this.bookingFlows,t.previousIndex,t.currentIndex),this.savePriority()}clearPrimaryBookingFlow(){var t;!(null===(t=this.primaryBookingFlow)||void 0===t?void 0:t.doc)||this.primaryBookingFlow.doc.ref.update({isPrimary:!1}).then(()=>this.displaySaveConfirmation())}sortByPriority(){this.bookingFlows=(0,ge.IhP)(this.bookingFlows)}savePriority(){const t=this.afs.firestore.batch();this.bookingFlows.forEach((i,o)=>{t.update(i.doc.ref,{priority:o+1})}),t.commit().then(()=>this.displaySaveConfirmation())}updateBookingConfig(t){return this.afs.collection("globals").doc("booking").update(t).then(()=>this.displaySaveConfirmation())}displaySaveConfirmation(){this.snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(de.sK),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.qLq),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.aPF),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(ti))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-booking-flows-management"]],decls:18,vars:11,consts:[[1,"container","pv3"],[1,"mb3"],[4,"ngIf"],[1,"flex","flex-wrap","justify-end","items-center","gap-8","mb2","ph3"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text","matTooltip","Displays on Book a New Order Landing Page",3,"click",4,"ngIf","ngIfElse"],["addCoverBtn",""],["uiBtnSize","small","uiBtnTheme","main","themeMode","text","matTooltip","Displays on Book a New Order Landing Page",3,"click",4,"ngIf"],[1,"d-inline-block",3,"matTooltip"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"routerLink","disabled"],["addBookingFlowButton","btnSize"],["uiIcon","add",3,"size"],[1,"ph3"],["cdkDropList","",1,"mv3","jobs__sub-container",3,"cdkDropListDropped"],["cdkDrag","","class","app-v2",4,"ngFor","ngForOf","ngForTrackBy"],["appearance","bordered","label","Primary Booking Flow",1,"block","w-256","mb-16",3,"labelIndent","clearable","items","value","selectionChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text","matTooltip","Displays on Book a New Order Landing Page",3,"click"],["changeCoverButton","btnSize"],["uiIcon","image",3,"size"],["addCoverButton","btnSize"],["removeCoverButton","btnSize"],["uiIcon","clear",3,"size"],["cdkDrag","",1,"app-v2"],[1,"bg-white","br2","ph2","pv3","flex","items-center","card-shadow","mb3","cursor-move"],["matTooltip","Reorder","uiIcon","drag_indicator",1,"mr2"],[1,"thumbnail",3,"click"],[1,"w-2/5","min-w-0","ml2","mr2"],[1,"f5","fw6","mb-1"],[1,"o-90","fw5","f7"],["target","_blank",3,"href"],[1,"o-50"],["uiIcon","open_in_new",1,"align-middle",3,"size"],[1,"controls","ml-auto","pl2"],[1,"control"],[1,"control-label"],["matTooltipPosition","above","matTooltip","Your primary booking flow cannot be set private.",1,"control-field",3,"matTooltipDisabled"],["name","isPublic",1,"flow-slide-toggle",3,"disableRipple","disabled","ngModel","ngModelChange"],["matTooltipPosition","above",1,"control-field",3,"matTooltip","matTooltipDisabled"],["appearance","bordered",1,"block","w-220",3,"sameWidthAsTarget","items","value","disabled","selectionChange"],["matTooltipPosition","above","matTooltip","Your primary booking flow cannot be disabled.",1,"control-field",3,"matTooltipDisabled"],["name","enabled",1,"flow-slide-toggle",3,"disableRipple","disabled","ngModel","ngModelChange"],["uiBtnSize","small","trailingIcon","","uiBtnTheme","main","themeMode","secondary",3,"routerLink"],["editButton","btnSize"],["uiIcon","edit",3,"size"],[1,"ml-8","self-end"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"matMenuTriggerFor"],["moreMenuButton","btnSize"],["uiIcon","more_vert",3,"size"],["xPosition","before"],["moreMenu","matMenu"],["mat-menu-item","",3,"disabled","matTooltip","click"],["mat-menu-item","",1,"red",3,"click"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2,"Booking Flows"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div"),e.\u0275\u0275template(4,Si,2,4,"div",2),e.\u0275\u0275elementStart(5,"div",3),e.\u0275\u0275template(6,jo,4,1,"button",4),e.\u0275\u0275template(7,Zr,4,1,"ng-template",null,5,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275template(9,Vi,4,1,"button",6),e.\u0275\u0275elementStart(10,"div",7)(11,"button",8,9),e.\u0275\u0275element(13,"i",10),e.\u0275\u0275text(14," Add Booking Flow "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(15,"div",11)(16,"div",12),e.\u0275\u0275listener("cdkDropListDropped",function(l){return i.onDrop(l)}),e.\u0275\u0275template(17,Cr,46,30,"div",13),e.\u0275\u0275elementEnd()()()()),2&t){const o=e.\u0275\u0275reference(8),l=e.\u0275\u0275reference(12);e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",i.bookingFlows),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.landingCoverPhotoUrl)("ngIfElse",o),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.landingCoverPhotoUrl),e.\u0275\u0275advance(1),e.\u0275\u0275property("matTooltip",i.isBookingFlowsLimitReached?"Booking flows limit reached":""),e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(10,Fa))("disabled",i.isBookingFlowsLimitReached),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",l.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngForOf",i.bookingFlows)("ngForTrackBy",i.trackById)}},directives:[S.NgIf,tn.H,_t.s,ht.V,Lt.gM,mt.a,Qe.rH,n.Wj,S.NgForOf,n.Zt,Me.Rr,ee.JJ,ee.On,Ft.p6,Ft.VK,Ft.OP],styles:["tn-service-management-card[_ngcontent-%COMP%]{margin-bottom:16px;display:block}.thumbnail[_ngcontent-%COMP%]{width:85px;height:49px;margin-bottom:0;background-color:#eaeaea;background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer}.controls[_ngcontent-%COMP%]{display:flex;flex-shrink:0;align-items:flex-end;
1gap:1rem}.control[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.control-label[_ngcontent-%COMP%]{font-size:.75rem;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.control-field[_ngcontent-%COMP%]{display:flex;height:2rem;align-items:center}.flow-slide-toggle[_ngcontent-%COMP%]{min-width:110px}"]}),r})();var wt=_(44224),br=_(75443),di=_(27988),Li=_(3713),Qr=_(74666),Ba=_(69512),Ro=_(66932),yr=_(93228),xr=Math.min;var Yr=_(57965),Lo=_(67118);const ja=function en(r){return(0,Lo.Z)(r)?r:[]},No=(0,Yr.Z)(function(r){var a=(0,di.Z)(r,ja);return a.length&&a[0]===r[0]?function Vo(r,a,t){for(var i=t?Ba.Z:Qr.Z,o=r[0].length,l=r.length,h=l,y=Array(l),F=1/0,te=[];h--;){var H=r[h];h&&a&&(H=(0,di.Z)(H,(0,Ro.Z)(a))),F=xr(H.length,F),y[h]=!t&&(a||o>=120&&H.length>=120)?new Li.Z(h&&H):void 0}H=r[0];var re=-1,ve=y[0];e:for(;++re<o&&te.length<F;){var ie=H[re],Ee=a?a(ie):ie;if(ie=t||0!==ie?ie:0,!(ve?(0,yr.Z)(ve,Ee):i(te,Ee,t))){for(h=l;--h;){var Fe=y[h];if(!(Fe?(0,yr.Z)(Fe,Ee):i(r[h],Ee,t)))continue e}ve&&ve.push(Ee),te.push(ie)}}return te}(a):[]});var sn=_(78240),ln=_(36053),St=_(87545),Ht=_(2994),Yt=_(92198),Bn=_(1059),Zi=_(79636);let Sr=(()=>{class r{constructor(t){this.bookingFlowService=t,this.servicesDropZones=[]}onDropped(t,i){t.previousContainer===t.container?(0,n.bA)(t.container.data,t.previousIndex,t.currentIndex):(0,n.EA)(t.previousContainer.data,t.container.data,t.previousIndex,t.currentIndex)}registerServicesDropZones(t){this.servicesDropZones.push(t)}unregisterServicesDropZones(t){(0,sn.Z)(this.servicesDropZones,t)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(Zi.C))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})();var Qn=_(75778),Xr=_(81042);function Va(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"label",3),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.label,"\n")}}let La=(()=>{class r{constructor(){this.label="Services",this.placeholder="+ Service",this.secondaryPlaceholder="Select services",this.solutions=[],this.selectedChips=[],this.isDisabled=!1,this.onChange=()=>{},this.onTouched=()=>{}}onChipsChange(t){this.selectedChips=t;const i=this.selectedChips.map(o=>o.id);this.onChange(i)}writeValue(t){this.selectedChips=t?this.solutions.filter(i=>t.includes(i.id)):[]}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.isDisabled=t}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["ui-solutions-chip-autocomplete"]],inputs:{label:"label",placeholder:"placeholder",secondaryPlaceholder:"secondaryPlaceholder",solutions:"solutions"},features:[e.\u0275\u0275ProvidersFeature([{provide:ee.JU,useExisting:(0,e.forwardRef)(()=>r),multi:!0}])],decls:3,vars:11,consts:[["class","body pl-8 text-gray-50 mb-min",4,"ngIf"],[3,"placeholder","secondaryPlaceholder","onlyFromAutocomplete","identifyBy","displayBy","ngModel","ngModelChange"],[3,"identifyBy","displayBy","limitItemsTo","autocompleteItems"],[1,"body","pl-8","text-gray-50","mb-min"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,Va,2,1,"label",0),e.\u0275\u0275elementStart(1,"tag-input",1),e.\u0275\u0275listener("ngModelChange",function(l){return i.selectedChips=l})("ngModelChange",function(l){return i.onChipsChange(l)}),e.\u0275\u0275element(2,"tag-input-dropdown",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("ngIf",i.label),e.\u0275\u0275advance(1),e.\u0275\u0275property("placeholder",i.placeholder)("secondaryPlaceholder",i.secondaryPlaceholder)("onlyFromAutocomplete",!0)("identifyBy","id")("displayBy","name")("ngModel",i.selectedChips),e.\u0275\u0275advance(1),e.\u0275\u0275property("identifyBy","id")("displayBy","name")("limitItemsTo",5)("autocompleteItems",i.solutions))},directives:[S.NgIf,In.m7,ee.JJ,ee.On,In.zP],styles:[""]}),r})();function Na(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"i",10),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2).index,l=e.\u0275\u0275nextContext(3).$implicit,h=e.\u0275\u0275nextContext(2);return h.deleteOption(o,h.getOptionsArray(l))}),e.\u0275\u0275elementEnd()}}function $a(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",25)(2,"span",26),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(4,"ui-input",27),e.\u0275\u0275template(5,Na,1,0,"i",28),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext().index;e.\u0275\u0275advance(1),e.\u0275\u0275property("formGroupName",t),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t),e.\u0275\u0275advance(1),e.\u0275\u0275property("label","Options"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t>2)}}function za(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,$a,6,4,"ng-container",16),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.index;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t>0)}}function Ua(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-form-row",23),e.\u0275\u0275template(1,za,2,1,"ng-container",24),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2).$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.getOptionsArray(t).controls)}}function Ti(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Ua,2,1,"ui-form-row",20),e.\u0275\u0275elementStart(2,"button",21,22),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit,l=e.\u0275\u0275nextContext(2);return l.addOption(l.getOptionsArray(o))}),e.\u0275\u0275element(4,"i",6),e.\u0275\u0275text(5," Add Option "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext().$implicit,o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.getOptionsArray(i).controls.length),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",t.iconSize)}}function $o(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-form-row",29),e.\u0275\u0275element(1,"ui-solutions-chip-autocomplete",30),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("solutions",t.solutions)}}function Ha(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",9)(1,"i",10),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).index;return e.\u0275\u0275nextContext(2).deleteRow(l)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"ui-form-group",11)(3,"div",12),e.\u0275\u0275element(4,"ui-input",13)(5,"ui-select",14)(6,"ui-select",15),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,Ti,6,2,"ng-container",16),e.\u0275\u0275elementStart(8,"mat-slide-toggle",17),e.\u0275\u0275text(9,"Service Based Question"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",18),e.\u0275\u0275text(11," Question will show up based on selected services "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(12,$o,2,1,"ui-form-row",19),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275property("formGroupName",i),e.\u0275\u0275advance(2),e.\u0275\u0275property("label","Label"),e.\u0275\u0275advance(1),e.\u0275\u0275property("label","Type")("items",o.typeOptions),e.\u0275\u0275advance(1),e.\u0275\u0275property("label","Required")("items",o.optionalOptions),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","dropdown"===o.asFormGroup(t).controls.type.value),e.\u0275\u0275advance(1),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",o.asFormGroup(t).controls.isServiceBased.value)}}function Wa(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",7),e.\u0275\u0275template(1,Ha,13,9,"div",8),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.customQuestionsFormArray.controls)}}let ni=class{constructor(a,t){this.fb=a,this.cdr=t,this.customQuestions=[],this.solutions=[],this.form=new ee.cw({customQuestions:this.fb.array([])}),this.typeOptions=[{name:"Text",value:"text"},{name:"Textarea",value:"textarea"},{name:"Dropdown",value:"dropdown"}],this.optionalOptions=[{name:"Yes",value:!1},{name:"No",value:!0}]}get customQuestionsFormArray(){return this.form.get("customQuestions")}asFormGroup(a){return a}getOptionsArray(a){return a.get("options")}get valid(){return this.form.valid}
1get invalid(){return this.form.invalid}ngOnInit(){this.initForm(),this.trackForm()}validate(){this.form.markAllAsTouched(),this.cdr.detectChanges()}getCustomQuestionsData(){return this.form.getRawValue().customQuestions}deleteRow(a){this.customQuestionsFormArray.removeAt(a)}deleteOption(a,t){t.removeAt(a)}initForm(){this.form=this.fb.group({customQuestions:this.fb.array(this.customQuestions.map(a=>this.createFormGroup(a)))})}addOption(a){a.push(this.fb.group({name:["",ge.$9f.required],value:""}))}addRow(){this.customQuestionsFormArray.push(this.createFormGroup({name:`c-${(0,Xr.Z)()}`,label:"",type:He.cm.Text,optional:!0}))}createFormGroup(a){const{name:t,label:i,type:o,optional:l,isServiceBased:h,serviceIds:y,options:F}=a;return this.fb.group(Object.assign({name:t,label:[i,[ge.$9f.required]],type:o,optional:l,isServiceBased:h,serviceIds:[y]},"dropdown"===o&&{options:this.fb.array(F.map(({name:te,value:H})=>this.fb.group({name:[te,!("\u2014"===H)&&ge.$9f.required],value:H})))}))}trackForm(){this.customQuestionsFormArray.valueChanges.pipe((0,Qn.x)(),(0,wt.t)(this)).subscribe(a=>{a.forEach(t=>{const i=this.customQuestionsFormArray.controls.find(l=>l.value.name===t.name);if(!i)return;this.addOptionsControls(t.type,i);const o=i.get("options");!t.options||!o||this.syncOptionsNameAndValue(t,o)})})}addOptionsControls(a,t){"dropdown"===a?t.addControl("options",this.fb.array([this.fb.group({name:"\u2014",value:"\u2014"}),this.fb.group({name:["",ge.$9f.required],value:""}),this.fb.group({name:["",ge.$9f.required],value:""})]),{emitEvent:!1}):t.removeControl("options",{emitEvent:!1})}syncOptionsNameAndValue(a,t){const i=a.options.map(o=>Object.assign(Object.assign({},o),{value:o.name}));t.setValue(i,{emitEvent:!1})}};ni.\u0275fac=function(a){return new(a||ni)(e.\u0275\u0275directiveInject(ee.qu),e.\u0275\u0275directiveInject(e.ChangeDetectorRef))},ni.\u0275cmp=e.\u0275\u0275defineComponent({type:ni,selectors:[["tn-custom-questions"]],inputs:{customQuestions:"customQuestions",solutions:"solutions"},decls:10,vars:3,consts:[[1,"form",3,"formGroup"],[1,"form__title"],[1,"form__paragraph"],["class","form__group grid gap-16","formArrayName","customQuestions",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","type","button",1,"form__button",3,"click"],["addCustomQuestionButton","btnSize"],["uiIcon","add",3,"size"],["formArrayName","customQuestions",1,"form__group","grid","gap-16"],["class","form__questions",4,"ngFor","ngForOf"],[1,"form__questions"],["uiIcon","delete",1,"form__icon",3,"click"],[1,"p-8",3,"formGroupName"],[1,"form__inputs"],["formControlName","label",1,"form__input",3,"label"],["formControlName","type",1,"form__select",3,"label","items"],["formControlName","optional",1,"form__select",3,"label","items"],[4,"ngIf"],["formControlName","isServiceBased",1,"mt-24",3,"disableRipple"],[1,"pl-40","pt-8","text-14","leading-5"],["class","mt-8",4,"ngIf"],["formArrayName","options","class","form__options",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",1,"form__option-button",3,"click"],["addOptionButton","btnSize"],["formArrayName","options",1,"form__options"],[4,"ngFor","ngForOf"],[1,"form__option",3,"formGroupName"],[1,"form__count"],["formControlName","name",1,"form__input",3,"label"],["uiIcon","delete","class","form__icon",3,"click",4,"ngIf"],[1,"mt-8"],["formControlName","serviceIds",3,"solutions"]],template:function(a,t){if(1&a&&(e.\u0275\u0275elementStart(0,"form",0)(1,"h3",1),e.\u0275\u0275text(2,"Custom Questions"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",2),e.\u0275\u0275text(4,"Customize additional questions"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(5,Wa,2,1,"div",3),e.\u0275\u0275elementStart(6,"button",4,5),e.\u0275\u0275listener("click",function(){return t.addRow()}),e.\u0275\u0275element(8,"i",6),e.\u0275\u0275text(9," Add Custom Question "),e.\u0275\u0275elementEnd()()),2&a){const i=e.\u0275\u0275reference(7);e.\u0275\u0275property("formGroup",t.form),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",t.customQuestionsFormArray.controls.length),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",i.iconSize)}},directives:[ee._Y,ee.JL,ee.sg,S.NgIf,ee.CE,S.NgForOf,mt.a,Fn.H,ee.x0,yi.a,ee.JJ,ee.u,tn.H,zn.L,_t.s,ht.V,Me.Rr,La],styles:[".form__title[_ngcontent-%COMP%]{margin-bottom:.5rem}.form__paragraph[_ngcontent-%COMP%]{margin-bottom:1.5rem}.form__group[_ngcontent-%COMP%]{padding:.5rem}.form__questions[_ngcontent-%COMP%]{display:grid;grid-template-columns:max-content 1fr}.form__inputs[_ngcontent-%COMP%], .form__option[_ngcontent-%COMP%], .form__count[_ngcontent-%COMP%]{display:flex;align-items:center}.form__inputs[_ngcontent-%COMP%]{gap:.5rem}.form__input[_ngcontent-%COMP%]{flex:2}.form__select[_ngcontent-%COMP%]{flex:1 1 0%}.form__icon[_ngcontent-%COMP%]{cursor:pointer;align-items:flex-start;padding-left:.75rem;padding-right:.75rem}.form__options[_ngcontent-%COMP%]{margin-top:1rem;margin-bottom:1rem}.form__options[_ngcontent-%COMP%] .form__count[_ngcontent-%COMP%], .form__options[_ngcontent-%COMP%] .form__icon[_ngcontent-%COMP%]{transform:translateY(10px)}.form__options[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]:not(:first-child) .form__input[_ngcontent-%COMP%] label{opacity:0}
1.form__count[_ngcontent-%COMP%]{margin-right:.5rem;padding:.5rem}.form__option-button[_ngcontent-%COMP%]{margin-top:1.5rem;margin-left:auto}.form__button[_ngcontent-%COMP%]{margin-top:1rem;width:100%}"]}),ni=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[ee.qu,e.ChangeDetectorRef])],ni);var pi=_(50257),Ga=_(10255);let mi=class{constructor(a){this.fb=a,this.form=new ee.cw({}),this.reschedulingSettings={canCancel:!1,canReschedule:!1,reschedulingFeePeriod:null,reschedulingFee:null,hoursBeforeReschedulingDisabled:null},this.booleanOptions=[{name:"Enable",value:!0},{name:"Disable",value:!1}]}ngOnInit(){this.form=this.fb.group(this.reschedulingSettings)}};mi.\u0275fac=function(a){return new(a||mi)(e.\u0275\u0275directiveInject(ee.qu))},mi.\u0275cmp=e.\u0275\u0275defineComponent({type:mi,selectors:[["tn-scheduling-booking-flow-settings"]],inputs:{reschedulingSettings:"reschedulingSettings"},decls:10,vars:3,consts:[[1,"app-v2",3,"formGroup"],[1,"mb-24"],["formControlName","canCancel","label","Allow cancellation",3,"items"],["formControlName","canReschedule","label","Allow rescheduling",3,"items"],["formControlName","hoursBeforeReschedulingDisabled","label","Hours from booking to disable rescheduling","suffix"," hrs before booking","uiFormControl",""]],template:function(a,t){1&a&&(e.\u0275\u0275elementStart(0,"form",0)(1,"h3",1),e.\u0275\u0275text(2,"Scheduling Settings"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-form-group",1)(4,"ui-form-row"),e.\u0275\u0275element(5,"ui-select",2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"ui-form-row"),e.\u0275\u0275element(7,"ui-select",3),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"ui-form-row"),e.\u0275\u0275element(9,"ui-number-input",4),e.\u0275\u0275elementEnd()()()),2&a&&(e.\u0275\u0275property("formGroup",t.form),e.\u0275\u0275advance(5),e.\u0275\u0275property("items",t.booleanOptions),e.\u0275\u0275advance(2),e.\u0275\u0275property("items",t.booleanOptions))},directives:[ee._Y,ee.JL,ee.sg,Fn.H,zn.L,tn.H,ee.JJ,ee.u,pi.f,Ga.o],styles:[""]}),mi=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[ee.qu])],mi);var Ka=_(83289);function Za(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"video",7),e.\u0275\u0275listener("loadedmetadata",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onMediaSized()}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("src",t.src,e.\u0275\u0275sanitizeUrl)("muted",!0),e.\u0275\u0275attribute("aria-label",t.alt)}}function Qa(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"img",8),e.\u0275\u0275listener("load",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onMediaSized()}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("src",t.src,e.\u0275\u0275sanitizeUrl)("alt",t.alt)}}function qr(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"p"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(t.caption)}}function Ja(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",3),e.\u0275\u0275template(1,Za,1,3,"video",4),e.\u0275\u0275template(2,Qa,1,2,"ng-template",null,5,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275template(4,qr,2,1,"p",6),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext();e.\u0275\u0275styleProp("max-width",i.width,"px"),e.\u0275\u0275classProp("captioned",i.caption),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","video"===i.type)("ngIfElse",t),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.caption)}}const Ya=["*"];let zo=(()=>{class r{constructor(){this.src="",this.alt="",this.caption=null,this.width=null,this.type="image",this.shown=!1,this.positions=[{originX:"end",originY:"center",overlayX:"start",overlayY:"center",offsetX:8},{originX:"start",originY:"center",overlayX:"end",overlayY:"center",offsetX:-8},{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:8},{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-8}]}onMediaSized(){this.connectedOverlay.overlayRef.updatePosition()}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["ui-image-tooltip"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(A.pI,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.connectedOverlay=o.first)}},inputs:{src:"src",alt:"alt",caption:"caption",width:"width",type:"type"},ngContentSelectors:Ya,decls:4,vars:6,consts:[["cdkOverlayOrigin","",1,"trigger",3,"mouseenter","mouseleave"],["origin","cdkOverlayOrigin"],["cdkConnectedOverlay","",3,"cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayPush","cdkConnectedOverlayViewportMargin","cdkConnectedOverlayGrowAfterOpen"],[1,"ui-image-tooltip-panel"],["autoplay","","loop","","muted","","playsinline","",3,"src","muted","loadedmetadata",4,"ngIf","ngIfElse"],["stillImage",""],[4,"ngIf"],["autoplay","","loop","","muted","","playsinline","",3,"src","muted","loadedmetadata"],["decoding","async",3,"src","alt","load"]],template:function(t,i){if(1&t&&(e.\u0275\u0275projectionDef(),e.\u0275\u0275elementStart(0,"span",0,1),e.\u0275\u0275listener("mouseenter",function(){return i.shown=!0})("mouseleave",function(){return i.shown=!1}),e.\u0275\u0275projection(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Ja,5,7,"ng-template",2)),2&t){const o=e.\u0275\u0275reference(1);e.\u0275\u0275advance(3),e.\u0275\u0275property("cdkConnectedOverlayOrigin",o)("cdkConnectedOverlayOpen",i.shown)("cdkConnectedOverlayPositions",i.positions)("cdkConnectedOverlayPush",!0)("cdkConnectedOverlayViewportMargin",16)("cdkConnectedOverlayGrowAfterOpen",!0)}},directives:[A.xu,A.pI,S.NgIf],styles:["[_nghost-%COMP%]{display:inline-flex}.trigger[_ngcontent-%COMP%]{display:inline-flex;cursor:pointer;align-items:center} .ui-image-tooltip-panel{filter:drop-shadow(0 0 20px rgba(0,0,0,.12));max-width:calc(100vw - 32px)} .ui-image-tooltip-panel img, .ui-image-tooltip-panel video{display:block;border-radius:.25rem;max-width:100%;max-height:calc(100vh - 64px)} .ui-image-tooltip-panel.captioned{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(45 45 45 / var(--tw-bg-opacity, 1));padding:.5rem;width:296px} .ui-image-tooltip-panel.captioned img, .ui-image-tooltip-panel.captioned video{width:100%;max-height:none} .ui-image-tooltip-panel.captioned p{font-size:.8125rem;line-height:18px;--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1));margin:10px 0 0}"],changeDetection:0}),r})(),eo=(()=>
1{class r{constructor(t){this.appDistanceMetric=t,this.metricLabels={mile:"mile",km:"km"}}transform(t,i=!1,o=this.appDistanceMetric){return`${t} ${this.metricLabels[o]+(i&&"km"!==o?"s":"")}`}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ge.lsQ,16))},r.\u0275pipe=e.\u0275\u0275definePipe({name:"uiDistance",type:r,pure:!0}),r})();function Xa(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",30),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.weeks," Weeks ")}}function qa(r,a){1&r&&(e.\u0275\u0275elementStart(0,"ui-badge",31),e.\u0275\u0275text(1," While this is on, customers can't choose their own photographer, even if 'Allow customers to select photographers' is enabled. "),e.\u0275\u0275elementEnd())}function es(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",16)(2,"ui-number-input",17),e.\u0275\u0275pipe(3,"uiDistance"),e.\u0275\u0275elementStart(4,"span",10),e.\u0275\u0275text(5),e.\u0275\u0275pipe(6,"uiDistance"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"ui-number-input",18)(8,"span",10),e.\u0275\u0275text(9,"mins"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(10,"div",19)(11,"div",6),e.\u0275\u0275text(12,"Recommended slot lookup window"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"p",20),e.\u0275\u0275text(14," How many days ahead the calendar scans when finding recommended (and regular) slots."),e.\u0275\u0275elementStart(15,"ui-image-tooltip",21),e.\u0275\u0275pipe(16,"async"),e.\u0275\u0275element(17,"i",22),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(18,"p",7),e.\u0275\u0275text(19," This is a global setting that applies to all booking flows equally \u2014 the value here is the inherited "),e.\u0275\u0275elementStart(20,"a",23),e.\u0275\u0275text(21,"global default"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(22,". "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(23,"div",24)(24,"span",25),e.\u0275\u0275text(25,"Weeks"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(26,Xa,2,1,"div",26),e.\u0275\u0275pipe(27,"async"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(28,"div",19)(29,"div",12)(30,"div")(31,"div",6),e.\u0275\u0275text(32," Restrict to recommended slots when available "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(33,"p",7),e.\u0275\u0275text(34," When a recommended slot is available, require customers to explicitly choose between it and other options before proceeding with booking. "),e.\u0275\u0275elementStart(35,"ui-image-tooltip",27),e.\u0275\u0275text(36,"Preview"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275element(37,"mat-slide-toggle",28),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(38,qa,2,0,"ui-badge",29),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275property("label",e.\u0275\u0275pipeBind2(3,13,"Distance limit in",!0)+"*"),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind2(6,16,"",!0)),e.\u0275\u0275advance(10),e.\u0275\u0275property("src",t.lookupWindowImage)("caption",e.\u0275\u0275pipeBind1(16,19,t.lookupWindowCaption$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",16)("uiIconWeight",600),e.\u0275\u0275advance(3),e.\u0275\u0275property("routerLink",t.generalSettingsLink)("fragment",t.schedulingSectionFragment),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(27,21,t.lookupWindow$)),e.\u0275\u0275advance(9),e.\u0275\u0275property("src",t.forcePreviewMedia)("width",360),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.forceSelectionEnabled)}}let to=(()=>{class r{constructor(t,i){this.fb=t,this.bookingConfigService=i,this.maxTravelTime=null,this.enableRecommendedSlots=null,this.forceRecommendedSlots=!1,this.nearbyDistanceLimit=null,this.nearbyTravelTime=null,this.generalSettingsLink=["/admin/booking/general"],this.schedulingSectionFragment="scheduling-section",this.previewMedia="/assets/videos/recommended-slots-preview.mp4",this.forcePreviewMedia="/assets/videos/force-recommended-slots-preview.mp4",this.lookupWindowImage="/assets/images/recommended-slots-lookup-window.png",this.lookupWindow$=this.bookingConfigService.getAvailabilityDaysCount().pipe((0,qe.U)(o=>({days:o,weeks:Math.round(o/7)}))),this.lookupWindowCaption$=this.lookupWindow$.pipe((0,qe.U)(({weeks:o,days:l})=>`With a ${o}-week range, the calendar shows ${l} days starting from the beginning of the current week. Past dates are filtered out, so customers only see the recommended slots today and future dates within that window.`))}get recommendedSlotsEnabled(){var t;return!!(null===(t=this.form.get("enableRecommendedSlots"))||void 0===t?void 0:t.value)}get forceSelectionEnabled(){var t;return!!(null===(t=this.form.get("forceRecommendedSlots"))||void 0===t?void 0:t.value)}ngOnInit(){var t;this.form=this.fb.group({maxTravelTime:[this.maxTravelTime],enableRecommendedSlots:[null!==(t=this.enableRecommendedSlots)&&void 0!==t?t:!!this.nearbyDistanceLimit],forceRecommendedSlots:[this.forceRecommendedSlots],nearbyDistanceLimit:[this.nearbyDistanceLimit],nearbyTravelTime:[this.nearbyTravelTime]})}getFormData(){const t=this.form.getRawValue();return t.enableRecommendedSlots?t:Object.assign(Object.assign({},t),{forceRecommendedSlots:!1,nearbyDistanceLimit:null,nearbyTravelTime:null})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ee.qu),e.\u0275\u0275directiveInject(U.KVG))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-scheduling-travel-time-settings"]],inputs:{maxTravelTime:"maxTravelTime",enableRecommendedSlots:"enableRecommendedSlots",forceRecommendedSlots:"forceRecommendedSlots",nearbyDistanceLimit:"nearbyDistanceLimit",nearbyTravelTime:"nearbyTravelTime"},decls:35,vars:5,consts:[[1,"card-v2"],[1,"card-header-v2"],[1,"card-body-v2","app-v2",3,"formGroup"],[1,"subsection"],[1,"subsection-title"],[1,"setting-card"],[1,"setting-title"],[1,"setting-description"],[1,"flex","items-end","gap-8"],["formControlName","maxTravelTime","label","Max travel time (In minutes)","appearance","bordered","inputClass","input-with-icon",1,"setting-field"],["contentRightIcon","",1,"input-suffix"],["type","warn","size","lg",1,"mb-min"],[1,"toggle-row"],["type","video","alt","Recommended time slots as the customer sees them",1,"preview-trigger",3,"src","width"],["formControlName","enableRecommendedSlots",1,"mat-slide-toggle-v2","mat-slide-toggle-inverse",3,"disableRipple"],[4,"ngIf"],[1,"field-row"],["formControlName","nearbyDistanceLimit","appearance","bordered","inputClass","input-with-icon","mask","separator.1",3,"label"],["formControlName","nearbyTravelTime","label","Max drive time (In minutes) (Optional)","appearance","bordered","inputClass","input-with-icon"],[1,"setting-block"],[1,"setting-description","tight"],["alt","Calendar range scanned for recommended slots",1,"lookup-window-info",3,"src","caption"],["uiIcon","info",3,"size","uiIconWeight"],[1,"text-blue-50",3,"routerLink","fragment"],[1,"readonly-field"],[1,"field-label"],["class","field-value",4,"ngIf"],["type","video","alt","Forced recommended slot selection as the customer sees it",1,"preview-trigger",3,"src","width"],["formControlName","forceRecommendedSlots",1,"mat-slide-toggle-v2","mat-slide-toggle-inverse",3,"disableRipple"],["class","inline-flex mt-16","type","warn","size","lg",4,"ngIf"],[1,"field-value"],["type","warn","size","lg",1,"inline-flex","mt-16"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"h3"),e.\u0275\u0275text(3,"Scheduling & Travel time settings"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"p"),e.\u0275\u0275text(5," Controls how photographer availability is calculated and how recommended time slots are surfaced to customers. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"div",2)(7,"div",3)(8,"h4",4),e.\u0275\u0275text(9,"General photographer availability"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",5)(11,"div",6),e.\u0275\u0275text(12,"Photographer maximum travel time"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"p",7),e.\u0275\u0275text(14," The maximum commute a photographer is willing to travel from their home to any job. Exceeding this excludes them from all availability \u2014 regular and recommended. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"div",8)(16,"ui-number-input",9)(17,"span",10),e.\u0275\u0275text(18,"mins"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(19,"ui-badge",11),e.\u0275\u0275text(20," This setting affects all slots "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(21,"div",3)(22,"h4",4),e.\u0275\u0275text(23,"Recommend time slots"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"div",5)(25,"div",12)(26,"div")(27,"div",6),e.\u0275\u0275text(28,"Enable recommended slots"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(29,"p",7),e.\u0275\u0275text(30," Master switch. When on, a slot is marked recommended when the photographer's existing shoot is within the distance radius. "),e.\u0275\u0275elementStart(31,"ui-image-tooltip",13),e.\u0275\u0275text(32,"Preview"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275element(33,"mat-slide-toggle",14),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(34,es,39,23,"ng-container",15),e.\u0275\u0275elementEnd()()()()),2&t&&(e.\u0275\u0275advance(6),e.\u0275\u0275property("formGroup",i.form),e.\u0275\u0275advance(25),e.\u0275\u0275property("src",i.previewMedia)("width",360),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.recommendedSlotsEnabled))},directives:[ee.JL,ee.sg,pi.f,ee.JJ,ee.u,Ka.F,zo,Me.Rr,S.NgIf,mt.a,Qe.yS],pipes:[eo,S.AsyncPipe],styles:[".subsection[_ngcontent-%COMP%] + .subsection[_ngcontent-%COMP%]{margin-top:24px}.subsection-title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:700;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1));margin-bottom:8px}.setting-card[_ngcontent-%COMP%]{border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem}.setting-block[_ngcontent-%COMP%]{margin-top:24px}ui-number-input[_ngcontent-%COMP%]{gap:4px}.setting-field[_ngcontent-%COMP%]{width:216px}.field-row[_ngcontent-%COMP%]{display:flex;gap:10px;max-width:568px;margin-top:16px}.field-row[_ngcontent-%COMP%] ui-number-input[_ngcontent-%COMP%]{flex:1}.input-suffix[_ngcontent-%COMP%]{position:absolute;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));top:50%;right:12px;transform:translateY(-50%)}.setting-title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.setting-description[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1));margin-bottom:16px}.toggle-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.toggle-row[_ngcontent-%COMP%] .setting-description[_ngcontent-%COMP%]{margin-bottom:0}.setting-description.tight[_ngcontent-%COMP%]{margin-bottom:4px}.lookup-window-info[_ngcontent-%COMP%]{color:var(--brand-50, #228BE6);height:20px;vertical-align:top;margin-left:4px}.readonly-field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;width:216px}.readonly-field[_ngcontent-%COMP%] .field-label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.readonly-field[_ngcontent-%COMP%] .field-value[_ngcontent-%COMP%]{display:flex;align-items:center;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));height:40px;padding:0 12px}.preview-trigger[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(34 139 230 / var(--tw-text-opacity, 1))}"],changeDetection:0}),r})();var Tr=_(17489),Uo=_(7625),Ho=_(78720),Wo=_(79814),Xt=_(50026),ii=_(98723),Go=_(80013),no=_(31307);const jn=[{at:0,rgb:[131,168,255]},{at:.34,rgb:[116,196,255]}
1,{at:.64,rgb:[116,139,255]},{at:1,rgb:[141,67,231]}],is={distance:0,tiers:[],isDetailShown:!1,isDriving:!1};let Ko=(()=>{class r extends Xt.m1{constructor(){super(is),this.distance$=this.select(t=>t.distance),this.tiers$=this.select(t=>t.tiers),this.isDetailShown$=this.select(t=>t.isDetailShown),this.isDriving$=this.select(t=>t.isDriving),this.view$=this.select(this.distance$,this.tiers$,(t,i)=>this.toView(t,(0,ge.FvV)(t,i))),this.carPercent$=this.select(this.view$,t=>t.carPercent),this.vm$=this.select(this.view$,this.isDetailShown$,this.isDriving$,(t,i,o)=>Object.assign(Object.assign({},t),{isDetailShown:i,isDriving:o}),{debounce:!0}),this.setTiers=this.updater((t,i)=>Object.assign(Object.assign({},t),{tiers:i})),this.toggleDetail=this.updater(t=>Object.assign(Object.assign({},t),{isDetailShown:!t.isDetailShown})),this.setDistance=this.updater((t,i)=>Object.assign(Object.assign({},t),{distance:i})),this.setDriving=this.updater((t,i)=>Object.assign(Object.assign({},t),{isDriving:i})),this.trackDistance=this.effect(t=>t.pipe((0,Go.b)(200),(0,qe.U)(i=>Number(i)||0),(0,Qn.x)(),(0,Ht.b)(i=>this.setDistance(i)))),this.trackDriving=this.effect(t=>t.pipe((0,St.w)(()=>this.carPercent$.pipe((0,no.T)(1),(0,St.w)(()=>(0,ii.H)(1200).pipe((0,qe.U)(()=>!1),(0,Bn.O)(!0))))),(0,Ht.b)(i=>this.setDriving(i))))}toView(t,{total:i,brackets:o}){const l=o.length+1,h=o.length/l*100;return{distance:t,total:i,filledRatio:h/100,carPercent:o.length?h:2,badges:o.map((y,F)=>
1this.toBadge(y,F,l)),ticks:this.toTicks(o,l,h),detailRows:o.map((y,F)=>this.toDetailRow(y,F,o.length))}}toBadge(t,i,o){return{centerPercent:(i+.5)/o*100,plusPercent:(i+1)/o*100,total:t.lineTotal,rangeLabel:`${t.fromDistance}-${t.toDistance}`}}toTicks(t,i,o){const l=t.map((y,F)=>({percent:F/i*100,label:y.fromDistance}));if(!t.length)return l;const h=t[t.length-1];return[...l,{percent:o,label:h.toDistance}]}toDetailRow(t,i,o){const l=0===t.fromDistance?1:t.fromDistance+1;return{swatchColor:this.swatchColor(i,o),rangeLabel:`${l}-${t.toDistance}`,baseRate:t.baseRate,units:t.unitsInBracket,perUnit:t.perUnit,lineTotal:t.lineTotal}}swatchColor(t,i){const o=(t+.5)/i,l=Math.max(1,jn.findIndex(H=>o<=H.at)),h=jn[l-1],y=jn[l],F=(o-h.at)/(y.at-h.at),te=h.rgb.map((H,re)=>Math.round(H+(y.rgb[re]-H)*F));return`rgb(${te[0]}, ${te[1]}, ${te[2]})`}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})();function Qi(r,a){if(1&r&&e.\u0275\u0275element(0,"i",33),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275styleProp("left",t.plusPercent,"%"),e.\u0275\u0275property("size",12)}}function rs(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",29)(2,"span",30),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiCurrency"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"span",31),e.\u0275\u0275text(6),e.\u0275\u0275pipe(7,"uiDistance"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(8,Qi,1,3,"i",32),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit,i=a.last;e.\u0275\u0275advance(1),e.\u0275\u0275styleProp("left",t.centerPercent,"%"),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(4,6,t.total)),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2("",t.rangeLabel," ",e.\u0275\u0275pipeBind2(7,8,"",!0),""),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",!i)}}function Zo(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span",34),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiDistance"),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275styleProp("left",t.percent,"%"),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind2(2,3,t.label,0!==t.label))}}function os(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",38),e.\u0275\u0275element(1,"span",39),e.\u0275\u0275elementStart(2,"span",40),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiDistance"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"span",41),e.\u0275\u0275text(6),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275pipe(8,"uiDistance"),e.\u0275\u0275pipe(9,"uiCurrency"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"span",42),e.\u0275\u0275text(11),e.\u0275\u0275pipe(12,"uiCurrency"),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275styleProp("background",t.swatchColor),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate2("",t.rangeLabel," ",e.\u0275\u0275pipeBind2(4,9,"",!0),""),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate4("",e.\u0275\u0275pipeBind1(7,12,t.baseRate)," base + ",t.units," ",e.\u0275\u0275pipeBind2(8,14,"",!0)," \xd7 ",e.\u0275\u0275pipeBind1(9,17,t.perUnit),""),e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(12,19,t.lineTotal))}}function as(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",35),e.\u0275\u0275template(1,os,13,21,"div",36),e.\u0275\u0275elementStart(2,"div",37)(3,"span"),e.\u0275\u0275text(4),e.\u0275\u0275pipe(5,"uiDistance"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"span",24),e.\u0275\u0275text(7),e.\u0275\u0275pipe(8,"uiCurrency"),e.\u0275\u0275elementEnd()()()),2&r){const t=e.\u0275\u0275nextContext().ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.detailRows)("ngForTrackBy",i.trackByIndex),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2("Total for ",t.distance," ",e.\u0275\u0275pipeBind2(5,5,"",!0),""),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(8,8,t.total))}}
1function ss(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",6)(1,"div",7)(2,"div",8),e.\u0275\u0275template(3,rs,9,11,"ng-container",9),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",10)(5,"span",11),e.\u0275\u0275element(6,"i",12),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",13),e.\u0275\u0275element(8,"span",14)(9,"div",15),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"span",16)(11,"span",17),e.\u0275\u0275element(12,"span",18)(13,"img",19),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(14,"div",20),e.\u0275\u0275template(15,Zo,3,6,"span",21),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(16,"div",22)(17,"span",23),e.\u0275\u0275text(18,"Total travel fees:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"span",24),e.\u0275\u0275text(20),e.\u0275\u0275pipe(21,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(22,"button",25,26),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleDetail()}),e.\u0275\u0275text(24),e.\u0275\u0275element(25,"i",27),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(26,as,9,10,"div",28),e.\u0275\u0275elementEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(23),o=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",t.badges)("ngForTrackBy",o.trackByIndex),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",28),e.\u0275\u0275advance(3),e.\u0275\u0275styleProp("transform","scaleX("+t.filledRatio+")"),e.\u0275\u0275advance(1),e.\u0275\u0275styleProp("transform","translateX("+t.carPercent+"%)"),e.\u0275\u0275advance(1),e.\u0275\u0275classProp("driving",t.isDriving),e.\u0275\u0275advance(2),e.\u0275\u0275property("src",o.carImageSrc,e.\u0275\u0275sanitizeUrl),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngForOf",t.ticks)("ngForTrackBy",o.trackByIndex),e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(21,17,t.total)),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" ",t.isDetailShown?"Hide detail":"Show detail"," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiIcon",t.isDetailShown?"keyboard_arrow_up":"keyboard_arrow_down")("size",i.iconSize),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.isDetailShown&&t.detailRows.length)}}let ls=(()=>{class r{constructor(t){this.store=t,this.distanceControl=new ee.NI(0),this.carImageSrc="assets/images/travel-fee-live-example-car.png",this.vm$=this.store.vm$}set tiers(t){this.store.setTiers(null!=t?t:[])}ngOnInit(){this.store.trackDistance(this.distanceControl.valueChanges),this.store.trackDriving()}toggleDetail(){this.store.toggleDetail()}trackByIndex(t){return t}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Ko))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-travel-fee-live-example"]],inputs:{tiers:"tiers"},features:[e.\u0275\u0275ProvidersFeature([Ko])],decls:11,vars:8,consts:[[1,"live-example"],[1,"header"],[1,"title"],[1,"trip-distance"],[1,"distance-input",3,"formControl","suffix"],["class","body",4,"ngIf"],[1,"body"],[1,"graphic"],[1,"badges"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"bar-track"],[1,"home"],["uiIcon","home",3,"size"],[1,"bar"],[1,"bar-dash"],[1,"bar-fill"],[1,"car-runner"],[1,"car"],[1,"smoke"],["decoding","async","fetchpriority","low","loading","lazy","alt","Car image",1,"car-img",3,"src"],[1,"axis"],["class","tick",3,"left",4,"ngFor","ngForOf","ngForTrackBy"],[1,"total-row"],[1,"total-label"],[1,"total-value"],["type","button","uiBtnSize","small","trailingIcon","","uiBtnTheme","main","themeMode","text",1,"detail-toggle",3,"click"],["detailToggleButton","btnSize"],[3,"uiIcon","size"],["class","detail",4,"ngIf"],[1,"bracket-badge"],[1,"bracket-badge-fee"],[1,"bracket-badge-range"],["class","badge-plus","uiIcon","add",3,"size","left",4,"ngIf"],["uiIcon","add",1,"badge-plus",3,"size"],[1,"tick"],[1,"detail"],["class","detail-row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"detail-footer"],[1,"detail-row"],[1,"swatch"],[1,"range"],[1,"calc"],[1,"line-total"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"span",2),e.\u0275\u0275text(3,"Live Example"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",3)(5,"span"),e.\u0275\u0275text(6,"Trip distance:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(7,"ui-number-input",4),e.\u0275\u0275pipe(8,"uiDistance"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(9,ss,27,19,"div",5),e.\u0275\u0275pipe(10,"async"),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(7),e.\u0275\u0275property("formControl",i.distanceControl)("suffix",e.\u0275\u0275pipeBind2(8,3,"",!0)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(10,6,i.vm$)))},directives:[pi.f,ee.JJ,ee.oH,S.NgIf,S.NgForOf,mt.a,_t.s,ht.V],pipes:[eo,S.AsyncPipe,ge._ab],styles:['.live-example[_ngcontent-%COMP%]{margin-top:1.5rem}.live-example[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.75rem 1rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));border:1px solid #E2E2E2;border-radius:8px 8px 0 0}.live-example[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600}.live-example[_ngcontent-%COMP%] .trip-distance[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.live-example[_ngcontent-%COMP%] .distance-input[_ngcontent-%COMP%]{width:100px}.live-example[_ngcontent-%COMP%] .distance-input[_ngcontent-%COMP%] .relative{border:1px solid #E2E2E2;border-radius:4px;background:#fff}.live-example[_ngcontent-%COMP%] .body[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding-bottom:1.25rem;padding-top:36px;border:1px solid #E2E2E2;border-top:none;border-radius:0 0 8px 8px}.live-example[_ngcontent-%COMP%] .graphic[_ngcontent-%COMP%]{position:relative;margin-bottom:1.5rem;padding-left:2.5rem;padding-right:2.5rem}.live-example[_ngcontent-%COMP%] .badges[_ngcontent-%COMP%]{position:relative;height:52px;margin-left:52px}.live-example[_ngcontent-%COMP%] .bracket-badge[_ngcontent-%COMP%]{position:absolute;white-space:nowrap;text-align:center;bottom:14px;width:max-content;padding:4px;border-radius:4px;transform:translate(-50%);background:#6ab3f3}.live-example[_ngcontent-%COMP%] .bracket-badge[_ngcontent-%COMP%]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #6ab3f3}.live-example[_ngcontent-%COMP%] .bracket-badge-fee[_ngcontent-%COMP%]{display:block;font-size:.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.live-example[_ngcontent-%COMP%] .bracket-badge-range[_ngcontent-%COMP%]{display:block;font-size:.6875rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.live-example[_ngcontent-%COMP%] .badge-plus[_ngcontent-%COMP%]{position:absolute;bottom:25px;line-height:1;color:#afafaf;transform:translate(-50%)}.live-example[_ngcontent-%COMP%] .bar-track[_ngcontent-%COMP%]{position:relative;display:flex;height:2.5rem;align-items:center;margin-left:52px}
1.live-example[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{position:absolute;display:flex;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));top:50%;left:-52px;width:44px;height:44px;z-index:2;border:1px solid #E2E2E2;border-radius:50%;transform:translateY(-50%)}.live-example[_ngcontent-%COMP%] .bar[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden;--tw-bg-opacity: 1;background-color:rgb(226 226 226 / var(--tw-bg-opacity, 1));height:20px;border-radius:20px}.live-example[_ngcontent-%COMP%] .bar-fill[_ngcontent-%COMP%]{height:100%;width:100%;transform-origin:left center;background:linear-gradient(90deg,#83a8ff 0%,#74c4ff 34%,#748bff 64%,#8d43e7 100%);transition:transform 1.2s ease-in-out;will-change:transform}.live-example[_ngcontent-%COMP%] .bar-dash[_ngcontent-%COMP%]{position:absolute;z-index:1;top:50%;left:12px;right:12px;transform:translateY(-50%);border-top:2px dashed rgba(255,255,255,.8)}.live-example[_ngcontent-%COMP%] .car-runner[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;top:0;left:0;z-index:3;pointer-events:none;transition:transform 1.2s ease-in-out;will-change:transform}.live-example[_ngcontent-%COMP%] .car[_ngcontent-%COMP%]{position:absolute;top:50%;left:0;transform:translate(-50%,-74%)}.live-example[_ngcontent-%COMP%] .car-img[_ngcontent-%COMP%]{display:block;width:44px;height:44px}.live-example[_ngcontent-%COMP%] .smoke[_ngcontent-%COMP%], .live-example[_ngcontent-%COMP%] .smoke[_ngcontent-%COMP%]:before, .live-example[_ngcontent-%COMP%] .smoke[_ngcontent-%COMP%]:after{content:"";position:absolute;left:2px;bottom:13px;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle,rgba(110,110,110,.7) 0%,rgba(110,110,110,.2) 55%,rgba(110,110,110,0) 75%);opacity:0}.live-example[_ngcontent-%COMP%] .smoke[_ngcontent-%COMP%]:before{animation-delay:.36s}.live-example[_ngcontent-%COMP%] .smoke[_ngcontent-%COMP%]:after{animation-delay:.72s}.live-example[_ngcontent-%COMP%] .car.driving[_ngcontent-%COMP%] .smoke[_ngcontent-%COMP%], .live-example[_ngcontent-%COMP%] .car.driving[_ngcontent-%COMP%] .smoke[_ngcontent-%COMP%]:before, .live-example[_ngcontent-%COMP%] .car.driving[_ngcontent-%COMP%] .smoke[_ngcontent-%COMP%]:after{animation:car-puff 1.1s ease-out infinite}@keyframes car-puff{0%{transform:translate(0) scale(.5);opacity:0}20%{opacity:.65}to{transform:translate(-18px,-22px) scale(1.9);opacity:0}}.live-example[_ngcontent-%COMP%] .axis[_ngcontent-%COMP%]{position:relative;height:1rem;margin-top:6px;margin-left:52px}.live-example[_ngcontent-%COMP%] .tick[_ngcontent-%COMP%]{position:absolute;white-space:nowrap;font-size:.75rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));transform:translate(-50%)}.live-example[_ngcontent-%COMP%] .tick[_ngcontent-%COMP%]:first-child{transform:translate(0)}.live-example[_ngcontent-%COMP%] .total-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:.5rem}.live-example[_ngcontent-%COMP%] .total-label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.live-example[_ngcontent-%COMP%] .total-value[_ngcontent-%COMP%]{font-size:1.125rem;font-weight:700;--tw-text-opacity: 1;color:rgb(12 166 120 / var(--tw-text-opacity, 1))}.live-example[_ngcontent-%COMP%] .detail-toggle[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;margin-top:.5rem;display:flex}.live-example[_ngcontent-%COMP%] .detail[_ngcontent-%COMP%]{margin-top:1rem;display:flex;flex-direction:column;padding-left:.75rem;padding-right:.75rem}.live-example[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-gap:.5rem;gap:.5rem;font-size:.75rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));grid-template-columns:auto auto 1fr auto;padding:8px 0;border-bottom:1px solid #F1F3F5}.live-example[_ngcontent-%COMP%] .swatch[_ngcontent-%COMP%]{border-radius:.125rem;width:14px;
1height:14px}.live-example[_ngcontent-%COMP%] .range[_ngcontent-%COMP%]{white-space:nowrap;font-weight:600}.live-example[_ngcontent-%COMP%] .calc[_ngcontent-%COMP%]{white-space:nowrap;font-weight:400}.live-example[_ngcontent-%COMP%] .line-total[_ngcontent-%COMP%]{text-align:right;font-weight:400}.live-example[_ngcontent-%COMP%] .detail-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding-top:1.25rem;font-size:.875rem;font-weight:700;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}'],changeDetection:0}),r})();function Qo(r,a){1&r&&(e.\u0275\u0275elementStart(0,"mat-error",21),e.\u0275\u0275text(1," Please select location from dropdown "),e.\u0275\u0275elementEnd())}function Jo(r,a){1&r&&(e.\u0275\u0275elementStart(0,"mat-error",21),e.\u0275\u0275text(1," Office location is required when the travel fee is applied per order "),e.\u0275\u0275elementEnd())}function Yo(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",22)(1,"p",23),e.\u0275\u0275text(2," Who receives the travel fee? "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-radio-group",24)(4,"div")(5,"mat-radio-button",10)(6,"span",11)(7,"span",12),e.\u0275\u0275text(8,"Split among photographers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"span",13),e.\u0275\u0275text(10,"Default"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(11,"p",14),e.\u0275\u0275text(12," The travel fee is divided equally among all photographers on the appointment. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(13,"div")(14,"mat-radio-button",10)(15,"span",12),e.\u0275\u0275text(16,"Kept by the company"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(17,"p",14),e.\u0275\u0275text(18," The travel fee goes to the company and is not passed on to photographers. Use this if travel costs are covered by the business. "),e.\u0275\u0275elementEnd()()()()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(5),e.\u0275\u0275property("value",t.TravelFeePayoutMethod.Split),e.\u0275\u0275advance(9),e.\u0275\u0275property("value",t.TravelFeePayoutMethod.Company)}}function cs(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",29),e.\u0275\u0275element(1,"ui-number-input",30)(2,"ui-number-input",31),e.\u0275\u0275pipe(3,"uiDistance"),e.\u0275\u0275element(4,"ui-number-input",32),e.\u0275\u0275pipe(5,"uiCurrency"),e.\u0275\u0275element(6,"ui-number-input",33),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275elementStart(8,"i",34),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).index;return e.\u0275\u0275nextContext(2).onDeleteRow(l)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.index;e.\u0275\u0275property("formGroupName",t),e.\u0275\u0275advance(1),e.\u0275\u0275property("value",t+1)("readonly",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("suffix",e.\u0275\u0275pipeBind2(3,6,"",!0)),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(5,9,"")+" "),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(7,11,"")+" ")}}function ds(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",25)(1,"div",26)(2,"span",27),e.\u0275\u0275text(3,"Priority"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"span",27),e.\u0275\u0275text(5,"Up to"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"span",27),e.\u0275\u0275text(7,"Base Rate"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"span",27),e.\u0275\u0275text(9),e.\u0275\u0275pipe(10,"uiDistance"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(11,cs,9,13,"div",28),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(9),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(10,2,"Per")),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngForOf",t.travelFeesFormArray.controls)}}const ps=function(){return[]};let Xo=(()=>{class r{constructor(t){this.fb=t,this.destroy$=new N.xQ,this.form=new ee.cw({travelFees:this.fb.array([])}),this.travelFees=[],this.officeAddress="",this.officeLocation=null,this.travelFeeApplicationMethod=ge.uFo.method,this.travelFeePayoutMethod=ge.uFo.payout,this.TravelFeeApplicationMethod=He.Nu,this.TravelFeePayoutMethod=He.P7}get travelFeesFormArray(){return this.form.get("travelFees")}get valid(){return this.form.valid}
1get invalid(){return this.form.invalid}get isPerOrderSelected(){var t;return(null===(t=this.form.get("travelFeeApplicationMethod"))||void 0===t?void 0:t.value)===He.Nu.PerOrder}ngOnInit(){var t;this.form=this.fb.group({officeAddress:[this.officeAddress],officeLocation:[this.officeLocation],travelFeeApplicationMethod:[this.travelFeeApplicationMethod],travelFeePayoutMethod:[this.travelFeePayoutMethod],travelFees:this.fb.array(this.travelFees.map(i=>this.createFormGroup(i)))}),this.updateValidators(),this.liveTiers$=this.travelFeesFormArray.valueChanges.pipe((0,Bn.O)(this.travelFeesFormArray.value)),null===(t=this.form.get("travelFeeApplicationMethod"))||void 0===t||t.valueChanges.pipe((0,Uo.R)(this.destroy$)).subscribe(()=>this.updateValidators())}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}getFormData(){const t=this.form.getRawValue();return t.officeAddress||(t.officeLocation=null),Object.assign(Object.assign({},t),{travelFees:t.travelFees.map(i=>({upToMiles:+i.upToMiles,baseRate:+i.baseRate,perMile:+i.perMile}))})}createFormGroup(t){return this.fb.group({upToMiles:[t.upToMiles,[ge.$9f.required,ee.kI.pattern(/^\d*$/)]],baseRate:[t.baseRate,[ge.$9f.required,ee.kI.pattern(/^\d+\.?\d*$/)]],perMile:[t.perMile,[ge.$9f.required]]})}updateValidators(){var t,i,o,l,h;const y=null===(t=this.form.get("officeAddress"))||void 0===t?void 0:t.value,F=this.isPerOrderSelected;null===(i=this.form.get("officeAddress"))||void 0===i||i.setValidators(F?[ee.kI.required]:[]),null===(o=this.form.get("officeLocation"))||void 0===o||o.setValidators(y||F?[ee.kI.required]:[]),null===(l=this.form.get("officeAddress"))||void 0===l||l.updateValueAndValidity(),null===(h=this.form.get("officeLocation"))||void 0===h||h.updateValueAndValidity()}onLocationInputChange(t){var i;null===(i=this.form.get("officeLocation"))||void 0===i||i.setValue(null),t||this.updateValidators()}onLocationChange(t){var i;const o=(0,Tr.omit)(t,["formattedAddress"]);null===(i=this.form.get("officeLocation"))||void 0===i||i.setValue(o),this.updateValidators()}onAddRow(){const t=this.travelFeesFormArray.value[this.travelFeesFormArray.length-1],i=+((null==t?void 0:t.upToMiles)||"0"),o=Number.isNaN(i)?50:i?i+25:50;this.travelFeesFormArray.push(this.createFormGroup({upToMiles:o,baseRate:(null==t?void 0:t.baseRate)||0,perMile:(null==t?void 0:t.perMile)||0}))}onDeleteRow(t){this.travelFeesFormArray.removeAt(t)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ee.qu))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-travel-fees"]],inputs:{travelFees:"travelFees",officeAddress:"officeAddress",officeLocation:"officeLocation",travelFeeApplicationMethod:"travelFeeApplicationMethod",travelFeePayoutMethod:"travelFeePayoutMethod"},decls:47,vars:13,consts:[[1,"flex","flex-col","gap-32",3,"formGroup"],[1,"mb-8","text-14","leading-5","font-semibold","text-gray-90"],[1,"flex","flex-col","gap-28","p-20","bg-white","border-1","border-solid","border-gray-95","rounded"],[1,"text-14","leading-5","text-gray-85"],["target","_blank","routerLink","/admin/booking/scheduling",1,"text-blue-50","underline"],[3,"overflowHidden"],["label","Office Location","formControlName","officeAddress","addressValueKey","formatted_address",3,"addressChange","inputChange","focusOut"],["class","text-12 ml-8",4,"ngIf"],["formControlName","travelFeeApplicationMethod",1,"flex","flex-col","gap-8"],[1,"bg-white","border-1","border-solid","border-gray-95","rounded","pt-20","pb-24","px-20"],[3,"value"],[1,"flex","items-center","gap-4"],[1,"font-medium"],[1,"default-tag"],[1,"option-description","text-14","leading-5","text-gray-80"],["class","option-description mt-16",4,"ngIf"],["class","tier-table flex flex-col gap-4 bg-gray-10","formArrayName","travelFees",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","type","button",1,"w-full","mt-16",3,"click"],["addRangeButton","btnSize"],["uiIcon","add",3,"size"],[3,"tiers"],[1,"text-12","ml-8"],[1,"option-description","mt-16"],[1,"mb-12","text-14","leading-5","font-semibold","text-gray-85"],["formControlName","travelFeePayoutMethod",1,"flex","flex-col","gap-12"],["formArrayName","travelFees",1,"tier-table","flex","flex-col","gap-4","bg-gray-10"],[1,"tier-row","text-12","leading-4","font-medium","text-gray-50"],[1,"pl-8"],["class","tier-row",3,"formGroupName",4,"ngFor","ngForOf"],[1,"tier-row",3,"formGroupName"],[1,"priority",3,"value","readonly"],["formControlName","upToMiles",3,"suffix"],["formControlName","baseRate","mask","separator.2",3,"prefix"],["formControlName","perMile","mask","separator.2",3,"prefix"],["uiIcon","delete",1,"flex","items-center","justify-center","cursor-pointer",3,"click"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"form",0)(1,"section")(2,"h4",1),e.\u0275\u0275text(3,"1. How is travel fee calculated?"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",2)(5,"div",3)(6,"p"),e.\u0275\u0275text(7," Travel distance is measured from each photographer's home base, which can be set in "),e.\u0275\u0275elementStart(8,"a",4),e.\u0275\u0275text(9,"each photographer's settings."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(10,"p"),e.\u0275\u0275text(11," If a photographer doesn't have a home base set, your booking flow's office location is used instead. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"ui-form-group",5)(13,"ui-form-row")(14,"ui-location",6),e.\u0275\u0275listener("addressChange",function(l){return i.onLocationChange(l)})("inputChange",function(l){return i.onLocationInputChange(l)}
1)("focusOut",function(){return i.updateValidators()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(15,Qo,2,0,"mat-error",7),e.\u0275\u0275template(16,Jo,2,0,"mat-error",7),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(17,"section")(18,"h4",1),e.\u0275\u0275text(19,"2. How is travel fee applied?"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(20,"mat-radio-group",8)(21,"div",9)(22,"mat-radio-button",10)(23,"span",11)(24,"span",12),e.\u0275\u0275text(25,"Per photographer"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(26,"span",13),e.\u0275\u0275text(27,"Default"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(28,"p",14),e.\u0275\u0275text(29," A separate travel fee is charged for each photographer servicing the order. Two photographers on a shoot means two travel fees. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(30,"div",9)(31,"mat-radio-button",10)(32,"span",12),e.\u0275\u0275text(33,"Per order"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(34,"p",14),e.\u0275\u0275text(35," One travel fee per appointment, no matter how many photographers service it. It's measured from the home base of whichever photographer travels farthest to the property. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(36,Yo,19,2,"div",15),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(37,"section")(38,"h4",1),e.\u0275\u0275text(39,"3. Set the charge tiers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(40,ds,12,4,"div",16),e.\u0275\u0275elementStart(41,"button",17,18),e.\u0275\u0275listener("click",function(){return i.onAddRow()}),e.\u0275\u0275element(43,"i",19),e.\u0275\u0275text(44," Add Range "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(45,"tn-travel-fee-live-example",20),e.\u0275\u0275pipe(46,"async"),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(42);let l,h;e.\u0275\u0275property("formGroup",i.form),e.\u0275\u0275advance(12),e.\u0275\u0275property("overflowHidden",!1),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",(null==(l=i.form.get("officeLocation"))?null:l.invalid)&&(null==(l=i.form.get("officeAddress"))?null:l.value)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.isPerOrderSelected&&!(null!=(h=i.form.get("officeAddress"))&&h.value)),e.\u0275\u0275advance(6),e.\u0275\u0275property("value",i.TravelFeeApplicationMethod.PerPhotographer),e.\u0275\u0275advance(9),e.\u0275\u0275property("value",i.TravelFeeApplicationMethod.PerOrder),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",i.isPerOrderSelected),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",i.travelFeesFormArray.controls.length),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("tiers",e.\u0275\u0275pipeBind1(46,10,i.liveTiers$)||e.\u0275\u0275pureFunction0(12,ps))}},directives:[ee._Y,ee.JL,ee.sg,Qe.yS,Fn.H,zn.L,Ho.n,ee.JJ,ee.u,S.NgIf,Et.TO,Wo.VQ,Wo.U0,ee.CE,S.NgForOf,ee.x0,pi.f,mt.a,_t.s,ht.V,ls],pipes:[eo,ge._ab,S.AsyncPipe],styles:[".default-tag[_ngcontent-%COMP%]{border-radius:.125rem;--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));font-size:.75rem;font-weight:600;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(26 96 247 / var(--tw-text-opacity, 1));padding:0 4px}.option-description[_ngcontent-%COMP%]{padding-left:28px}.tier-table[_ngcontent-%COMP%]{border-radius:8px;padding:8px 4px 4px}.tier-table[_ngcontent-%COMP%] .tier-row[_ngcontent-%COMP%]{display:grid;align-items:center;grid-gap:.25rem;gap:.25rem;grid-template-columns:repeat(4,minmax(0,1fr)) 24px}.tier-table[_ngcontent-%COMP%] .priority[_ngcontent-%COMP%] input[readonly]{--tw-bg-opacity: 1;background-color:rgb(237 237 237 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}"],changeDetection:0}),r})();var ms=_(25659),En=_(91470);function us(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",4)(1,"div",5)(2,"mat-slide-toggle",6),e.\u0275\u0275listener("change",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().handleDayAvailabilityChange(h.name,o.checked)}),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(4,"div",5)(5,"mat-form-field")(6,"mat-label"),e.\u0275\u0275text(7,"Fee amount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"input",7),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().handleFeeChange(h.name,o)}),e.\u0275\u0275pipe(9,"uiCurrency"),e.\u0275\u0275pipe(10,"uiCurrency"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(11,"div",8)(12,"mat-form-field",9)(13,"mat-label"),e.\u0275\u0275text(14,"Fee name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"input",10),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().handleFeeNameChange(h.name,o)}),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=a.$implicit;e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("checked",t.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.name," "),e.\u0275\u0275advance(5),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(9,7,""))("placeholder",e.\u0275\u0275pipeBind1(10,9,20))("ngModel",t.fee),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngModel",t.feeName)}}let gs=(()=>
1{class r{constructor(){this.workDaysChange=new e.EventEmitter}handleDayAvailabilityChange(t,i){this.updateWorkDays(t,{enabled:i})}handleFeeChange(t,i){this.updateWorkDays(t,{fee:i})}handleFeeNameChange(t,i){this.updateWorkDays(t,{feeName:i})}trackByName(t,i){return i.name}updateWorkDays(t,i){const o=this.workDays.map(l=>l.name===t?Object.assign(Object.assign({},l),i):l);this.workDaysChange.emit(o)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-booking-flow-work-days"]],inputs:{workDays:"workDays"},outputs:{workDaysChange:"workDaysChange"},decls:6,vars:2,consts:[[1,"mb4"],[1,"f6","fw6","o-90"],[1,"f7","o-70","mb2"],["class","flex gap-16 items-center",4,"ngFor","ngForOf","ngForTrackBy"],[1,"flex","gap-16","items-center"],[1,"flex-none"],["name","workDay",1,"workDay","mb-2",3,"disableRipple","checked","change"],["matInput","","mask","separator","thousandSeparator",",",3,"prefix","placeholder","ngModel","ngModelChange"],[1,"flex-1"],[1,"w-2/3"],["matInput","",3,"ngModel","ngModelChange"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1),e.\u0275\u0275text(2,"Set days available for booking and fees for specific days"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",2),e.\u0275\u0275text(4,"Allow customers to book a shoot for enabled days."),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(5,us,16,11,"div",3),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(5),e.\u0275\u0275property("ngForOf",i.workDays)("ngForTrackBy",i.trackByName))},directives:[S.NgForOf,Me.Rr,Et.KE,Et.hX,Pt.Nt,En.Z6,ee.Fj,ee.JJ,ee.On],pipes:[ge._ab],styles:[".workDay[_ngcontent-%COMP%]{width:82px}"]}),r})();var _s=_(10207),ui=_(46246),hs=_(46655),Ji=_(2638);const fs=[[["","header",""]],[["","body",""]]],vs=["[header]","[body]"];let Cs=(()=>{class r{constructor(){this.opened=!0,this.toggleOpened=new e.EventEmitter}toggleOpen(){this.opened=!this.opened}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-accordion"]],outputs:{toggleOpened:"toggleOpened"},ngContentSelectors:vs,decls:10,vars:3,consts:[[1,"flex","bg"],[1,"caret"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"click"],["caretButton","btnSize"],[3,"uiIcon","size"],[1,"w-100"],[1,"bg-white"],[3,"hidden"]],template:function(t,i){if(1&t&&(e.\u0275\u0275projectionDef(fs),e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"button",2,3),e.\u0275\u0275listener("click",function(){return i.toggleOpen()}),e.\u0275\u0275element(4,"i",4),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",5)(6,"div",6),e.\u0275\u0275projection(7),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"div",7),e.\u0275\u0275projection(9,1),e.\u0275\u0275elementEnd()()()),2&t){const o=e.\u0275\u0275reference(3);e.\u0275\u0275advance(4),e.\u0275\u0275property("uiIcon",i.opened?"expand_less":"expand_more")("size",o.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("hidden",!i.opened)}},directives:[_t.s,ht.V,mt.a],styles:[".caret[_ngcontent-%COMP%]{position:absolute;left:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.bg[_ngcontent-%COMP%]{background-color:#f6f6f6}"]}),r})();function bs(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",4),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()}),e.\u0275\u0275elementStart(1,"mat-form-field")(2,"input",5),e.\u0275\u0275listener("blur",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveTitle()})("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().title=o}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275property("ngModel",t.title)}}const ys=["*"];let Yi=(()=>{class r{constructor(){this.updateTitle=new e.EventEmitter}editTitle(){this.editing=!0}saveTitle(){this.editing=!1,this.updateTitle.emit(this.title)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-accordion-header"]],inputs:{title:"title"},outputs:{updateTitle:"updateTitle"},ngContentSelectors:ys,decls:6,vars:3,consts:[[1,"service-category__header"],[1,"pointer","service-category__title",3,"hidden","click"],[3,"click",4,"ngIf"],[1,"ml-auto"],[3,"click"],["matInput","",3,"ngModel","blur","ngModelChange"]],template:function(t,i){1&t&&(e.\u0275\u0275projectionDef(),e.\u0275\u0275elementStart(0,"div",0)(1,"div",1),e.\u0275\u0275listener("click",function(){return i.editTitle()}),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,bs,3,1,"div",2),e.\u0275\u0275elementStart(4,"div",3),e.\u0275\u0275projection(5),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.editing),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",i.title," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.editing))},directives:[S.NgIf,Et.KE,Pt.Nt,ee.Fj,ee.JJ,ee.On],styles:[".service-category__header[_ngcontent-%COMP%]{background-color:#fff;padding:8px 16px;align-items:center;display:flex}.service-category__title[_ngcontent-%COMP%]{font-size:18px;font-weight:600}"]}
1),r})();function qo(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-select",17),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updatePricingVersion(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("items",t.pricingVersionOptions)("value",t.selectedPricingVersion)}}function xs(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",18),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.service.addon?"Add-on":"Core"," ")}}function Ss(r,a){if(1&r&&e.\u0275\u0275element(0,"i",19),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("matTooltip",t.incompleteMessage)}}const Ts=function(r){return{invisible:r}};let ea=(()=>{class r{constructor(){this.type="service",this.integratedBooking=!1,this.schedulableServiceIds=[],this.skipValidation=!1,this.edit=new e.EventEmitter,this.remove=new e.EventEmitter,this.pricingVersionChange=new e.EventEmitter,this.isIncomplete=!1,this.incompleteMessage="",this.pricingVersionOptions=[]}ngOnChanges(){this.setSelectedPricingVersion(),this.pricingVersionOptions=this.getPricingVersions().map(t=>({name:this.getPricingVersionName(t),value:t})),this.service.linkedServices&&(this.linkedServicesString=this.service.linkedServices.map(t=>t.name).join(", ")),this.skipValidation||this.validateService()}getPricingVersions(){var t,i;const o=(null===(t=this.service)||void 0===t?void 0:t.enableCustomTiers)?this.service.customTiers:null===(i=this.service)||void 0===i?void 0:i.pricingTiers;return o?Object.keys(o).sort((l,h)=>this.getPricingVersionName(l).localeCompare(this.getPricingVersionName(h))):["default"]}getPricingVersionName(t){var i;return(null===(i=this.service)||void 0===i?void 0:i.pricingVersionNames)?this.service.pricingVersionNames[t]||t:"Default"}setSelectedPricingVersion(){var t;const o=(this.pricingTiersMap||{})[this.service.id]||"default",l=(null===(t=this.service)||void 0===t?void 0:t.pricingVersionNames)&&this.service.pricingVersionNames[o];this.selectedPricingVersion=l?o:"default"}updatePricingVersion(t){this.pricingVersionChange.emit(t)}validateService(){var t,i;const o="service"!==this.type||!(null===(t=this.bookingConfig)||void 0===t?void 0:t.enableServiceZones)||!(null===(i=this.bookingConfig)||void 0===i?void 0:i.enablePhotographerSkillsets)||!this.integratedBooking||!this.schedulableServiceIds||this.schedulableServiceIds.includes(this.service.id),l=(0,ge.Hsn)(this.service,(0,ge.meL)(this.service.bookingType,this.bookingConfig),this.integratedBooking,this.service.bookingType===He.cY.BRANDING),h=l.length>0,y=[];h&&y.push(`Please fill in missing or incomplete data:: ${l.join(", ")}.`),o||y.push("The service is not covered by any of the photographers."),this.isIncomplete=!o||h,this.incompleteMessage=y.join("\n")}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-admin-booking-flow-card"]],hostVars:2,hostBindings:function(t,i){2&t&&e.\u0275\u0275classProp("incomplete",i.isIncomplete)},inputs:{service:"service",pricingTiersMap:"pricingTiersMap",type:"type",integratedBooking:"integratedBooking",bookingConfig:"bookingConfig",schedulableServiceIds:"schedulableServiceIds",skipValidation:"skipValidation"},outputs:{edit:"edit",remove:"remove",pricingVersionChange:"pricingVersionChange"},features:[e.\u0275\u0275NgOnChangesFeature],decls:21,vars:12,consts:[[1,"bg-white","br2","flex","items-center","justify-between","card-shadow","relative"],[1,"flex","items-center"],[1,"mr2"],[1,"thumbnail"],[1,"pv1"],[1,"f5","fw6"],["class","mr3","appearance","bordered","label","Pricing version","size","small",3,"items","value","selectionChange",4,"ngIf"],["class","o-80 fw5 f6 service-type pt-20",4,"ngIf"],[3,"ngClass"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"matMenuTriggerFor"],["moreMenuButton","btnSize"],["uiIcon","more_vert",3,"size"],["xPosition","before"],["moreMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"hidden","click"],["class","error-icon","uiIcon","error",3,"matTooltip",4,"ngIf"],["appearance","bordered","label","Pricing version","size","small",1,"mr3",3,"items","value","selectionChange"],[1,"o-80","fw5","f6","service-type","pt-20"],["uiIcon","error",1,"error-icon",3,"matTooltip"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2),e.\u0275\u0275element(3,"div",3),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",4)(5,"div",5),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(7,"div",1),e.\u0275\u0275template(8,qo,1,2,"ui-select",6),e.\u0275\u0275template(9,xs,2,1,"div",7),e.\u0275\u0275elementStart(10,"div",8)(11,"button",9,10),e.\u0275\u0275element(13,"i",11),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"mat-menu",12,13)(16,"button",14),e.\u0275\u0275listener("click",function(){return i.edit.emit(i.service)}),e.\u0275\u0275text(17,"Edit"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"button",15),e.\u0275\u0275listener("click",function(){return i.remove.emit()}),e.\u0275\u0275text(19," Remove "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275template(20,Ss,1,1,"i",16),e.\u0275\u0275elementEnd()),2&t){const o=e.\u0275\u0275reference(12),l=e.\u0275\u0275reference(15);e.\u0275\u0275advance(3),e.\u0275\u0275styleProp("background-image",i.service.img?"url("+i.service.img+")":""),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" ",i.service.name," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.pricingVersionChange.observers.length>0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","service"===i.type),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(10,Ts,!i.edit.observers.length)),e.\u0275\u0275advance(1),e.\u0275\u0275property("matMenuTriggerFor",l),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(5),e.\u0275\u0275property("hidden","Project Chat"===i.service.name),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.isIncomplete)}},directives:[S.NgIf,tn.H,S.NgClass,_t.s,ht.V,Ft.p6,mt.a,Ft.VK,Ft.OP,Lt.gM],styles:[".incomplete[_nghost-%COMP%]{border:2px solid #fa5252}.incomplete[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{position:absolute;right:3px;top:3px;color:#fa5252}.thumbnail[_ngcontent-%COMP%]{width:122px;height:70px;margin-bottom:0;background-color:#eaeaea;background-position:center center;background-repeat:no-repeat;background-size:cover}.service-type[_ngcontent-%COMP%]{min-width:42px}.service-description[_ngcontent-%COMP%]{height:32px;overflow:hidden}.container-shadow[_ngcontent-%COMP%]{box-shadow:0 1px 11px #0000001f}"]}),r})();const ws=function(r){return{data:r}};
1function ks(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",4),e.\u0275\u0275elementContainer(1,5),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("cdkDragData",t),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngTemplateOutlet",i.serviceCardRef)("ngTemplateOutletContext",e.\u0275\u0275pureFunction1(3,ws,t))}}let ki=(()=>{class r{constructor(t){this.bookingDragDropHelper=t,this.dropped=new e.EventEmitter}ngOnInit(){this.dropListId=function Es(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){const a=16*Math.random()|0;return("x"==r?a:3&a|8).toString(16)})}(),this.bookingDragDropHelper.registerServicesDropZones(this.dropListId)}ngOnDestroy(){this.bookingDragDropHelper.unregisterServicesDropZones(this.dropListId)}drop(t){this.dropped.emit(t)}trackByIndex(t,i){return i.id}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Sr))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-service-container"]],inputs:{services:"services",serviceCardRef:"serviceCardRef"},outputs:{dropped:"dropped"},decls:4,vars:5,consts:[["cdkDropList","",1,"ph3",3,"id","cdkDropListData","cdkDropListConnectedTo","cdkDropListDropped"],[1,"mv3","service-category__sub-container"],[1,"flex","justify-between"],["cdkDrag","",3,"cdkDragData",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",3,"cdkDragData"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275listener("cdkDropListDropped",function(l){return i.drop(l)}),e.\u0275\u0275elementStart(1,"div",1),e.\u0275\u0275element(2,"div",2),e.\u0275\u0275template(3,ks,2,5,"div",3),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275property("id",i.dropListId)("cdkDropListData",i.services)("cdkDropListConnectedTo",i.bookingDragDropHelper.servicesDropZones),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.services)("ngForTrackBy",i.trackByIndex))},directives:[n.Wj,S.NgForOf,n.Zt,S.NgTemplateOutlet],styles:[".service-category__sub-container[_ngcontent-%COMP%]{min-height:60px}"]}),r})();function Os(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",2),e.\u0275\u0275element(1,"tn-admin-booking-flow-card",3),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("type","service")("service",t)("skipValidation",!0)}}let wr=(()=>{class r{constructor(){this.priorityChange=new e.EventEmitter,this.list=[],this.addonsPriority={}}set services(t){this.list=t||[],this.sortByPriority()}set priority(t){this.addonsPriority=t||{},this.sortByPriority()}onDrop(t){(0,n.bA)(this.list,t.previousIndex,t.currentIndex),this.applyPriority()}sortByPriority(){this.list=this.list.sort((t,i)=>{const o=this.addonsPriority[t.id]||Number.MAX_VALUE,l=this.addonsPriority[i.id]||Number.MAX_VALUE;return o===l?t.name.localeCompare(i.name):o-l})}applyPriority(){this.addonsPriority=this.list.reduce((t,i,o)=>(t[i.id]=o+1,t),{}),this.priorityChange.emit(this.addonsPriority)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-services-priority"]],inputs:{services:"services",priority:"priority"},outputs:{priorityChange:"priorityChange"},decls:2,vars:1,consts:[["cdkDropList","",1,"app-v2",3,"cdkDropListDropped"],["cdkDrag","","class","mb-8 cursor-move",4,"ngFor","ngForOf"],["cdkDrag","",1,"mb-8","cursor-move"],[3,"type","service","skipValidation"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275listener("cdkDropListDropped",function(l){return i.onDrop(l)}),e.\u0275\u0275template(1,Os,2,3,"div",1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.list))},directives:[n.Wj,S.NgForOf,n.Zt,ea],styles:[""],changeDetection:0}),r})();function ta(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",19,24),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext().createBookingFlow(o)}),e.\u0275\u0275element(2,"i",21),e.\u0275\u0275text(3," Create Booking Flow "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function na(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",19,124),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext(2).saveSettings(o)}),e.\u0275\u0275element(2,"i",125),e.\u0275\u0275text(3," Update settings "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}const Is=function(){return{standalone:!0}};function Ds(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",126)(2,"mat-form-field",127)(3,"mat-label"),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",128),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.url=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"i",129),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).removeAlternateAddress(l.url)}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.$implicit,i=a.index;e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1("Booking Flow Address ",i+1,""),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("name","name"+(i+1)),e.\u0275\u0275property("ngModel",t.url)("ngModelOptions",e.\u0275\u0275pureFunction0(4,Is))}}function x(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",36)(1,"div",29),e.\u0275\u0275text(2,"Allow customers to
1select photographers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",33),e.\u0275\u0275text(4,"Allow customers to select photographers during booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",130),e.\u0275\u0275text(6,"Enable "),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0))}function v(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",131),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).ngIf;return e.\u0275\u0275nextContext(3).navigateToBrokerage(l)}),e.\u0275\u0275element(1,"i",132),e.\u0275\u0275elementEnd()}}function d(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-scheduling-travel-time-settings",133),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("maxTravelTime",t.maxTravelTime)("enableRecommendedSlots",t.enableRecommendedSlots)("forceRecommendedSlots",t.forceRecommendedSlots)("nearbyDistanceLimit",t.nearbyDistanceLimit)("nearbyTravelTime",t.nearbyTravelTime)}}function f(r,a){1&r&&(e.\u0275\u0275element(0,"input",134),e.\u0275\u0275pipe(1,"uiCurrency"),e.\u0275\u0275pipe(2,"uiCurrency")),2&r&&e.\u0275\u0275property("placeholder",e.\u0275\u0275pipeBind1(1,2,20))("prefix",e.\u0275\u0275pipeBind1(2,4,""))}function b(r,a){1&r&&e.\u0275\u0275element(0,"input",135)}function E(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",36)(1,"div",29),e.\u0275\u0275text(2,"Ask customer for floor plan notes, if 3D tour / floorplan is selected"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",33),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",136),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().ngIf.controls.disableFloorplanNotesQuestions.setValue(!o.checked)}),e.\u0275\u0275text(6," Enable "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1('Customer is asked "',t.value.floorPlanNotesTitle,'"'),e.\u0275\u0275advance(1),e.\u0275\u0275property("disableRipple",!0)("checked",!t.value.disableFloorplanNotesQuestions)}}const R=function(r){return{"o-40 pointer-events-none":r}};function K(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",88)(1,"div",29),e.\u0275\u0275text(2,"Require Floor plan notes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",33),e.\u0275\u0275text(4,"Customer is required to fill out Floor plan notes during booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",136),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().ngIf.controls.requireFloorplanNotes.setValue(o.checked)}),e.\u0275\u0275text(6," Enable "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(3,R,t.value.disableFloorplanNotesQuestions)),e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0)("checked",t.value.requireFloorplanNotes)}}function se(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",88)(1,"div",29),e.\u0275\u0275text(2,"Floor plan notes title"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-form-field",137)(4,"mat-label"),e.\u0275\u0275text(5,"Title"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(6,"input",138),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(1,R,t.value.disableFloorplanNotesQuestions))}}function fe(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",36)(1,"div",29),e.\u0275\u0275text(2,"Hide feature notes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",33),e.\u0275\u0275text(4,"Hide the feature notes question from booking flow"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",139),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().ngIf.controls.hideFeatureNotes.setValue(o.checked)}),e.\u0275\u0275text(6,"Hidden "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",72)(8,"div",140),e.\u0275\u0275text(9,"Require feature notes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",33),e.\u0275\u0275text(11,"Customer is required to fill out features that might be highlighted"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"mat-slide-toggle",141),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().ngIf.controls.requireFeatureNotes.setValue(o.checked)}),e.\u0275\u0275text(13,"Required "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"div",101)(15,"div",29),e.\u0275\u0275text(16,"Feature notes title"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(17,"mat-form-field",92)(18,"mat-label"),e.\u0275\u0275text(19,"Title"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(2
10,"input",142),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(21,"div",143)(22,"div",83),e.\u0275\u0275text(23,"Feature notes description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(24,"div",144),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(25,"div",101)(26,"div",83),e.\u0275\u0275text(27,"Feature notes tip"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(28,"div",145),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0)("checked",t.value.hideFeatureNotes),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(5,R,t.value.hideFeatureNotes)),e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0)("checked",t.value.requireFeatureNotes)}}function Ae(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",80)(2,"div",29),e.\u0275\u0275text(3,"Hide entry notes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",33),e.\u0275\u0275text(5,"Hide the entry notes question from booking flow"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"mat-slide-toggle",146),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().ngIf.controls.hideEntryNotes.setValue(o.checked)}),e.\u0275\u0275text(7,"Hidden "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"div",72)(9,"div",140),e.\u0275\u0275text(10,"Require entry notes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"div",33),e.\u0275\u0275text(12,"Customer is required to fill out entry notes how to gain access to the property "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"mat-slide-toggle",147),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().ngIf.controls.requireEntryNotes.setValue(o.checked)}),e.\u0275\u0275text(14,"Required "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"div",148)(16,"div",29),e.\u0275\u0275text(17,"Entry notes title"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"mat-form-field",92)(19,"mat-label"),e.\u0275\u0275text(20,"Title"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(21,"input",149),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(22,"div",150)(23,"div",83),e.\u0275\u0275text(24,"Entry notes description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(25,"div",151),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(26,"div",150)(27,"div",83),e.\u0275\u0275text(28,"Entry notes tip"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(29,"div",152),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("checked",t.value.hideEntryNotes),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(5,R,t.value.hideEntryNotes)),e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0)("checked",t.value.requireEntryNotes)}}function Je(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",36)(1,"div",29),e.\u0275\u0275text(2,"Ask customer for number of beds/baths"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",33),e.\u0275\u0275text(4,"Show or hide required form question asking user to fill out number of beds/baths/half baths "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",153),e.\u0275\u0275text(6,"Show and Require bed/baths "),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0))}function le(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-travel-fees",154),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("officeAddress",t.officeAddress)("officeLocation",t.officeLocation)("travelFees",t.travelFees)("travelFeeApplicationMethod",t.travelFeeApplicationMethod)("travelFeePayoutMethod",t.travelFeePayoutMethod)}}function q(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",6),e.\u0275\u0275template(2,na,4,1,"button",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"form",25)(4,"div",15)(5,"div",16)(6,"div",26)(7,"div",27),e.\u0275\u0275text(8,"Thumbnail"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"div",28),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).changeThumbnail()}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(10,"div",26),e.\u0275\u0275element(11,"div",29),e.\u0275\u0275elementStart(12,"div",30)(13,"mat-form-field",31)(14,"mat-label"),e.\u0275\u0275text(15,"Booking Flow Name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(16,"input",32),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(17,"div",26)(18,"div",27),e.\u0275\u0275text(19,"Set the url for this booking flow"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(20,"div",33),e.\u0275\u0275text(2
11,"portal.yourdomain.com/book/"),e.\u0275\u0275elementStart(22,"span",34),e.\u0275\u0275text(23,"booking-address"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(24,"div")(25,"mat-form-field",31)(26,"mat-label"),e.\u0275\u0275text(27,"Booking Flow Address"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(28,"input",35),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(29,"div",36)(30,"div",27),e.\u0275\u0275text(31,"Alternate booking flow urls"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(32,"div",33),e.\u0275\u0275text(33,"portal.yourdomain.com/book/"),e.\u0275\u0275elementStart(34,"span",34),e.\u0275\u0275text(35,"booking-address"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(36,Ds,7,5,"div",37),e.\u0275\u0275elementStart(37,"button",38,39),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).addAlternateAddress()}),e.\u0275\u0275element(39,"i",21),e.\u0275\u0275text(40," Add Address "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(41,"div",36)(42,"div",29),e.\u0275\u0275text(43,"Booking Flow Enabled"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(44,"div",33),e.\u0275\u0275text(45,"Allow customers to book from this flow. You cannot disable your primary booking flow. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(46,"mat-slide-toggle",40),e.\u0275\u0275text(47,"Enable"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(48,"div",36)(49,"div",29),e.\u0275\u0275text(50,"Visibility & Access"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(51,"div",33),e.\u0275\u0275text(52,"Control whether this booking flow appears on your booking page and who can access it. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(53,"div",41)(54,"div",29),e.\u0275\u0275text(55,"Show on booking page"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(56,"div",33),e.\u0275\u0275text(57,"List this flow on your public booking page."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(58,"mat-slide-toggle",42),e.\u0275\u0275text(59,"Public"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(60,"div",41)(61,"div",29),e.\u0275\u0275text(62,"Who can book"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(63,"div",33),e.\u0275\u0275text(64,"Control who can access this booking flow."),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(65,"ui-select",43),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(66,"ui-info-banner",44),e.\u0275\u0275text(67),e.\u0275\u0275pipe(68,"async"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(69,"div",36)(70,"div",29),e.\u0275\u0275text(71,"Booking Flow Type (Beta)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(72,"div",33),e.\u0275\u0275text(73,"Select Booking Flow type to to use this to book property or non-property related work (eg: land lot or branding or headshots). "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(74,"ui-select",45),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(75,"tn-booking-flow-work-days",46),e.\u0275\u0275listener("workDaysChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).handleWorkDaysChange(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(76,"div",36)(77,"div",29),e.\u0275\u0275text(78,"Disable confirmation email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(79,"div",33),e.\u0275\u0275text(80,"Don't send confirmation emails to customer"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(81,"mat-slide-toggle",47),e.\u0275\u0275text(82,"Don't send "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(83,"div",36)(84,"div",29),e.\u0275\u0275text(85,"Show Acreage input"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(86,"div",33),e.\u0275\u0275text(87,"Show Acreage input for land lot shoots when booking an order"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(88,"div",36)(89,"mat-slide-toggle",48),e.\u0275\u0275text(90,"Enable "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(91,"div",36)(92,"div",29),e.\u0275\u0275text(93,"Hide Square Footage input"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(94,"div",33),e.\u0275\u0275text(95,"Hide Square Footage input when booking an order"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(96,"div",36)(97,"mat-slide-toggle",49),e.\u0275\u0275text(98,"Enable"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(99,"div",36)(100,"div",29),e.\u0275\u0275text(101,"Hide Line 2 input"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(102,"div",33),e.\u0275\u0275text(103,"Hide Line 2 input when booking an order"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(104,"div",36)(105,"mat-slide-toggle",50),e.\u0275\u0275text(106,"Enable"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(107,"div",36)(108,"div",29),e.\u0275\u0275text(109,"Hide Client preferences"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(110,"div",33),e.\u0275\u0275text(111,"Hide Client preferences input when booking an order"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(112,"div",36)(113,"mat-slide-toggle",51),e.\u0275\u0275text(114,"Enable "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(115,"div",36)(116,"div",29),e.\u0275\u0275text(117,"Hide Savings amount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(118,"div",33),e.\u0275\u0275text(119,"Hide Savings amount on services and packages when booking an order"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(120,"div",36)(121,"mat-slide-toggle",52),e.\u0275\u0275text(122,"Enable "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(123,"div",36)(124,"div",29),e.\u0275\u0275text(125,"Hide service prices in packages"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(126,"div",33),e.\u0275\u0275text(127,"Hide individual service prices within packages on order and invoice pages. O
1nly the total package price will be shown."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(128,"div",36)(129,"mat-slide-toggle",53),e.\u0275\u0275text(130,"Enable "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(131,"div",36)(132,"div",29),e.\u0275\u0275text(133,"Don't invite customer to calendar event"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(134,"div",33),e.\u0275\u0275text(135,'Enable "Don\'t invite customer to calendar event" toggle by default, when booking an order '),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(136,"div",36)(137,"mat-slide-toggle",54),e.\u0275\u0275text(138," Enable "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(139,"div",36)(140,"div",29),e.\u0275\u0275text(141,"Use integrated booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(142,"div",33),e.\u0275\u0275text(143,"Books directly with photographer's calendars"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(144,"mat-slide-toggle",55),e.\u0275\u0275text(145,"Enable"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(146,x,7,1,"div",56),e.\u0275\u0275elementStart(147,"div",29),e.\u0275\u0275text(148," Booking Flow background color "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(149,"div",36)(150,"div",33),e.\u0275\u0275text(151," White background is not supported. Please choose a color that contrasts well with the page title. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(152,"input",57),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(153,"div",58),e.\u0275\u0275text(154,"Brokerage "),e.\u0275\u0275template(155,v,2,0,"div",59),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(156,"div",30)(157,"div",33),e.\u0275\u0275text(158,"Add an agent to brokerage automatically and apply pricing overrides."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(159,"ui-form-group",60)(160,"ui-form-row"),e.\u0275\u0275element(161,"ui-brokerage-autocomplete",61),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275template(162,d,1,5,"tn-scheduling-travel-time-settings",62),e.\u0275\u0275elementStart(163,"div",15)(164,"div",63),e.\u0275\u0275text(165,"Payment Settings "),e.\u0275\u0275elementStart(166,"div",64),e.\u0275\u0275text(167,"Accept payments through the Tonomo Portal."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(168,"div",16)(169,"div",29),e.\u0275\u0275text(170,"Lock files until order is paid"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(171,"div",33),e.\u0275\u0275text(172,"Deliverables are automatically released on payment."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(173,"div",36)(174,"mat-slide-toggle",65),e.\u0275\u0275text(175,"Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(176,"div",29),e.\u0275\u0275text(177,"Hide preview section until order is paid"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(178,"div",33),e.\u0275\u0275text(179,"Preview sections are automatically released on payment."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(180,"div",36)(181,"mat-slide-toggle",66),e.\u0275\u0275text(182,"Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(183,"div",26)(184,"div",29),e.\u0275\u0275text(185,"Watermark"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(186,"div",67),e.\u0275\u0275text(187,"Apply a watermark to delivery images until the order is fully paid. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(188,"div",68)(189,"mat-form-field",31)(190,"mat-label"),e.\u0275\u0275text(191,"Watermark text"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(192,"input",69),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(193,"div",26)(194,"div",29),e.\u0275\u0275text(195),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(196,"div",67),e.\u0275\u0275text(197,"Apply tax to an invoice"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(198,"div",26)(199,"mat-slide-toggle",70),e.\u0275\u0275text(200,"Enable"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(201,"div",67),e.\u0275\u0275text(202,"Amounts are Tax Inclusive"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(203,"div",26)(204,"mat-slide-toggle",71),e.\u0275\u0275text(205,"Enable"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(206,"div",72)(207,"div",68)(208,"mat-form-field")(209,"mat-label"),e.\u0275\u0275text(2
110,"Percentage of sales tax"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(211,"input",73),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(212,"div",26)(213,"div",29),e.\u0275\u0275text(214,"Transaction fee"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(215,"div",67),e.\u0275\u0275text(216,"Apply transaction fee to an invoice"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(217,"div",68)(218,"mat-form-field")(219,"mat-label"),e.\u0275\u0275text(220,"Transaction fee percentage"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(221,"input",74),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(222,"div",29),e.\u0275\u0275text(223,"Payment on delivery"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(224,"div",33),e.\u0275\u0275text(225,"Customer can complete payment for their order directly on their order dashboard. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(226,"div",36)(227,"mat-slide-toggle",75),e.\u0275\u0275text(228,"Enable"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(229,"div",72)(230,"div",29),e.\u0275\u0275text(231,"Allow Payment Only When Order Is Marked Complete"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(232,"div",33),e.\u0275\u0275text(233,"Payment is automatically allowed when order is marked complete."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(234,"div",36)(235,"mat-slide-toggle",76),e.\u0275\u0275text(236,"Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(237,"div",36)(238,"div",29),e.\u0275\u0275text(239,"Require a deposit or full payment during booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(240,"div",33),e.\u0275\u0275text(241,"Customers must pay a deposit or pay for the order in full during booking "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(242,"div",68),e.\u0275\u0275element(243,"ui-select",77),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(244,"div",68)(245,"mat-form-field")(246,"mat-label"),e.\u0275\u0275text(247,"Deposit amount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(248,f,3,6,"input",78),e.\u0275\u0275template(249,b,1,0,"input",79),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(250,"div",80)(251,"div",29),e.\u0275\u0275text(252,"Square Location Id"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(253,"div",33),e.\u0275\u0275text(254,"Set Square Location Id"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(255,"mat-form-field",31)(256,"mat-label"),e.\u0275\u0275text(257,"Location Id"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(258,"input",81),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(259,"div",15)(260,"div",63),e.\u0275\u0275text(261,"Landing Page Options "),e.\u0275\u0275elementStart(262,"div",64),e.\u0275\u0275text(263,"Customize booking landing page"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(264,"div",16)(265,"div",36)(266,"div",29),e.\u0275\u0275text(267,"Landing Page Options (customer facing)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(268,"div",33),e.\u0275\u0275text(269,"Add a custom logo or additional marketing copy to your booking flow page "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(270,"div",82),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(271,"div",15)(272,"div",63),e.\u0275\u0275text(273,"Booking Form Settings "),e.\u0275\u0275elementStart(274,"div",64),e.\u0275\u0275text(275,"Customize booking form questions"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(276,"div",16),e.\u0275\u0275elementContainerStart(277),e.\u0275\u0275elementStart(278,"div",36)(279,"div",83),e.\u0275\u0275text(280,"Property details instructions"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(281,"div",84),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(282,"div",36)(283,"div",83),e.\u0275\u0275text(284,"Scheduling instructions"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(285,"div",85),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275template(286,E,7,3,"div",56),e.\u0275\u0275template(287,K,7,5,"div",86),e.\u0275\u0275template(288,se,7,3,"div",86),e.\u0275\u0275elementStart(289,"div",36)(290,"div",29),e.\u0275\u0275text(291,"Ask customer for custom domain, if website is selected"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(292,"div",33),e.\u0275\u0275text(293,"Customer is asked what custom domain they want for their website"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(294,"mat-slide-toggle",87),e.\u0275\u0275text(295,"Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(296,"div",88)(297,"div",29),e.\u0275\u0275text(298,"Require custom domain choice"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(299,"div",33),e.\u0275\u0275text(300,"Customer is required to choose custom domain during booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(301,"mat-slide-toggle",89),e.\u0275\u0275text(302,"Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(303,"div",36)(304,"div",29),e.\u0275\u0275text(305,"Ask customer for music choice, if video is selected"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(306,"div",33),e.\u0275\u0275text(307,"Customer is asked about their music preference for videos"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(308,"div",36)(309,"mat-slide-toggle",90),e.\u0275\u0275text(310,"Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(311,"div",91)(312,"div",29),e.\u0275\u0275text(313,"Music choice placeholder"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(314,"mat-form-field",92)(315,"mat-label"),e.\u0275\u0275text(316,"Placeholder"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(317,"input",93),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(318,"div",88)(319,"div",29),e.\u0275\u0275text(320,"Require music choice"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(321,"div",33),e.\u0275\u0275text(322,"Customer is required to fill out their music preference during booking "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(323,"mat-slide-toggle",94),e.\u0275\u0275text(324,"Enable"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(325,"div",91)(326,"div",29),e.\u0275\u0275text(327,"Choose music later label"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(328,"mat-form-field",92)(329,"mat-label"),e.\u0275\u0275text(330,"Label"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(331,"input",95),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(332,"div",72)(333,"div",29),e.\u0275\u0275text(334,"Music compilation links"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(335,"div",33),e.\u0275\u0275text(336,"Customer is proposed to choose one of the selected songs"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(337,"div")(338,"mat-form-field",92)(339,"mat-label"),e.\u0275\u0275text(340,"Music compilation link"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(341,"input",96),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(342,"div")(343,"mat-form-field",92)(344,"mat-label"),e.\u0275\u0275text(345,"Music library link"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(346,"input",97),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(347,"div")(348,"mat-form-field",92)(349,"mat-label"),e.\u0275\u0275text(350,"Music library name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(351,"input",98),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(352,"div")(353,"div",83),e.\u0275\u0275text(354,"Music choice description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(355,"div",99),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(356,fe,29,7,"div",56),e.\u0275\u0275template(357,Ae,30,7,"ng-container",0),e.\u0275\u0275elementStart(358,"div",36)(359,"div",29),e.\u0275\u0275text(360,"Require listing agent information"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(361,"div",33),e.\u0275\u0275text(362,"Customer is required to fill out listing agent branding information during booking "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(363,"mat-slide-toggle",100),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t).ngIf.controls.listingAgentOptional.setValue(!o.checked)}),e.\u0275\u0275text(364,"Required "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(365,"div",101)(366,"div",83),e.\u0275\u0275text(367,"Listing agent information description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(368,"div",102),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(369,"div",103)(370,"mat-form-field",92)(371,"mat-label"),e.\u0275\u0275text(372,"Branding Samples link"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(373,"input",104),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(374,"div",36)(375,"div",29),e.\u0275\u0275text(376,"Ask customer for License #"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(377,"div",33),e.\u0275\u0275text(378,"Show or hide optional form question asking user to fill out their Real Estate License # "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(379,"mat-slide-toggle",105),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t).ngIf.controls.hideLicenseNumberQuestion.setValue(!o.checked)}),e.\u0275\u0275text(380,"Show question "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(381,"div",36)(382,"div",29),e.\u0275\u0275text(383,'Ask "Who are you currently working with"'),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(384,"div",33),e.\u0275\u0275text(385,"Show or hide optional form question asking user for their existing contact "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(386,"mat-slide-toggle",106),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t).ngIf.controls.hideExistingContact.setValue(!o.checked)}),e.\u0275\u0275text(387,"Show question "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(388,"div",36)(389,"div",29),e.\u0275\u0275text(390,'Ask "Is scheduling flexible?" question'),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(391,"div",33),e.\u0275\u0275text(392,"Show or hide optional form question asking user for their scheduling preferences "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(393,"mat-slide-toggle",107),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t).ngIf.controls.hideSchedulingFlexibility.setValue(!o.checked)}),e.\u0275\u0275text(394,"Show question "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(395,"div",108)(396,"div",29),e.\u0275\u0275text(397,"Scheduling flexibility default option"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(398,"div",33),e.\u0275\u0275text(399,"Set default option for 'Is scheduling flexible?' question"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(400,"div",103),e.\u0275\u0275element(401,"ui-select",109),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(402,Je,7,1,"div",56),e.\u0275\u0275elementStart(403,"div",36)(404,"div",29),e.\u0275\u0275text(405,"Show terms of service"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(406,"div",33),e.\u0275\u0275text(407,"Require user to check terms of service before completing booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(408,"mat-slide-toggle",110),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t).ngIf.controls.hideTermsOfService.setValue(!o.checked)}),e.\u0275\u0275text(409,"Show question "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(410,"div",108)(411,"div",83),e.\u0275\u0275text(412,"Terms of service description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(413,"div",111),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(414,"div",15)(415,"div",63),e.\u0275\u0275text(416," Order Status Page "),e.\u0275\u0275elementStart(417,"div",112),e.\u0275\u0275text(418,"Customize order status page"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(419,"div",113)(420,"div",29),e.\u0275\u0275text(421,"Date & time explainer message"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(422,"div",33)(423,"span",114),e.\u0275\u0275text(424," Add a custom message to display on the order status page with additional details about the scheduled date and time "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(425,"span"),e.\u0275\u0275text(426,"If left blank, only the selected date and time will be shown"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(427,"ui-form-group",115),e.\u0275\u0275element(428,"ui-textarea",116),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(429,"div",117)(430,"div",29),e.\u0275\u0275text(431,"Order Status Page Notes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(432,"div",33),e.\u0275\u0275text(433,"Add a custom logo or additional marketing copy to your order status page "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(434,"div",118),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(435,"div",119)(436,"div",120)(437,"h3"),e.\u0275\u0275text(438,"Travel Fees"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(439,"p"),e.\u0275\u0275text(440,"Set how travel fees are calculated and billed."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(441,"div",121),e.\u0275\u0275template(442,le,1,5,"tn-travel-fees",122),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(443,"div",15)(444,"div",16),e.\u0275\u0275element(445,"tn-scheduling-booking-flow-settings",123),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(38),o=e.\u0275\u0275nextContext().ngIf,l=e.\u0275\u0275reference(12),h=e.\u0275\u0275nextContext();let y;e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",l.isActive&&"add"!==h.bookingFlowId),e.\u0275\u0275advance(1),e.\u0275\u0275property("formGroup",t),e.\u0275\u0275advance(6),e.\u0275\u0275styleProp("background-image","url("+h.img+")"),e.\u0275\u0275advance(27),e.\u0275\u0275property("ngForOf",h.alternateSlugs),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(12),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(7),e.\u0275\u0275property("sameWidthAsTarget",!1)("items",h.bookingFlowAccessOptions),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(68,68,o.accessDescription$)," "),e.\u0275\u0275advance(7),e.\u0275\u0275property("items",h.bookingFlowTypeOptions),e.\u0275\u0275advance(1),e.\u0275\u0275property("workDays",h.workDays),e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",h.integratedBooking),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngIf",null==(y=t.get("brokerage_obj"))||null==y.value?null:y.value.id),e.\u0275\u0275advance(6),e.\u0275\u0275property("emptyOption",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",h.integratedBooking),e.\u0275\u0275advance(12),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(14),e.\u0275\u0275textInterpolate(h.taxType),e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(70,R,!t.value.a
1pplySalesTax)),e.\u0275\u0275advance(21),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(72,R,!t.value.integratedPayment)),e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("items",h.paymentModeOptions),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf","fixed"===t.value.paymentMode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","fixed"!==t.value.paymentMode),e.\u0275\u0275advance(37),e.\u0275\u0275property("ngIf","property"===t.value.type),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","property"===t.value.type),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","property"===t.value.type),e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(74,R,!t.value.promptCustomDomainQuestion)),e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(76,R,!t.value.promptMusicQuestion)),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(78,R,!t.value.promptMusicQuestion)),e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(80,R,!t.value.promptMusicQuestion)),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(82,R,!t.value.promptMusicQuestion)),e.\u0275\u0275advance(24),e.\u0275\u0275property("ngIf","property"===t.value.type),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","property"===t.value.type),e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("checked",!t.value.listingAgentOptional),e.\u0275\u0275advance(16),e.\u0275\u0275property("disableRipple",!0)("checked",!t.value.hideLicenseNumberQuestion),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("checked",!t.value.hideExistingContact),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("checked",!t.value.hideSchedulingFlexibility),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(84,R,t.value.hideSchedulingFlexibility)),e.\u0275\u0275advance(6),e.\u0275\u0275property("items",h.schedulingFlexibilityOptions),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","property"===t.value.type),e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("checked",!t.value.hideTermsOfService),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(86,R,t.value.hideTermsOfService)),e.\u0275\u0275advance(32),e.\u0275\u0275property("ngIf",h.travelFees),e.\u0275\u0275advance(3),e.\u0275\u0275property("reschedulingSettings",h.reschedulingSettings)}}function Ce(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",165),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275property("cdkDragData",t),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",t.name," ")}}function Oe(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1,"All services are used in current booking flow. "),e.\u0275\u0275elementEnd())}function Le(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-admin-booking-flow-card",181),e.\u0275\u0275listener("edit",function(){const l=e.\u0275\u0275restoreView(t).data;return e.\u0275\u0275nextContext(6).editService(l)})("remove",function(){const l=e.\u0275\u0275restoreView(t).data,h=e.\u0275\u0275nextContext(2).$implicit,y=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext(3).onServiceRemoved(l,h,y)})("pricingVersionChange",function(o){const h=e.\u0275\u0275restoreView(t).data;return e.\u0275\u0275nextContext(6).onPricingVersionChange(h.id,o)}),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275elementEnd()}if(2&r){const t=a.data,i=e.\u0275\u0275nextContext(6);e.\u0275\u0275property("type","service")("integratedBooking",i.integratedBooking)("bookingConfig",i.bookingConfig)("schedulableServiceIds",e.\u0275\u0275pipeBind1(1,6,i.schedulableServiceIds$))("service",t)("pricingTiersMap",i.pricingTiersMap)}}function ct(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",168)(1,"tn-accordion"),e.\u0275\u0275elementContainerStart(2,169),e.\u0275\u0275elementStart(3,"tn-accordion-header",170,169),e.\u0275\u0275listener("updateTitle",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().index,h=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext(3).onUpdateCategoryName(o,h,l)}),e.\u0275\u0275elementStart(5,"span",171),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()}),e.\u0275\u0275elementStart(6,"button",172,173),e.\u0275\u0275element(8,"i",174),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"mat-menu",175,176)(11,"button",177),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275reference(4).editTitle()}),e.\u0275\u0275text(12,"Rename"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"button",177),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit,l=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext(3).removeCategory(o,l)}),e.\u0275\u0275text(14,"Remove "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(15,178),e.\u0275\u0275template(16,Le,2,8,"ng-template",null,179,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(18,"tn-service-container",180),e.\u0275\u0275listener("dropped",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2).ngIf;return e.\u0275\u0275nextContext(3).onDropped(o,l)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275reference(7),i=e.\u0275\u0275reference(10),o=e.\u0275\u0275reference(17),l=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(3),e.\u0275\u0275property("title",l.name),e.\u0275\u0275advance(3),e.\u0275\u0275property("matMenuTriggerFor",i),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(10),e.\u0275\u0275property("serviceCardRef",o)("services",l.options)}}function Ot(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",166),e.\u0275\u0275template(1,ct,19,5,"div",167),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275property("cdkDragData",t),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","Unlisted"!==t.name)}}const fn=function(){return["/admin/booking/services/add"]};function xn(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"mat-drawer-container",155)(2,"mat-drawer",156)(3,"div",157),e.\u0275\u0275text(4,"Remaining Services "),e.\u0275\u0275elementStart(5,"div",158),e.\u0275\u0275template(6,Ce,2,2,"div",159),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,Oe,2,0,"div",0),e.\u0275\u0275elementStart(8,"a",160),e.\u0275\u0275text(9,"Create Service"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(10,"mat-drawer-content")(11,"div",161),e.\u0275\u0275listener("cdkDropListDropped",function(o){const h=e.\u0275\u0275restoreView(t).ngIf;return e.\u0275\u0275nextContext(3).dropCategory(o,h)}),e.\u0275\u0275elementStart(12,"div",162)(13,"button",38,163),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).ngIf;return e.\u0275\u0275nextContext(3).addCategory(l)}),e.\u0275\u0275element(15,"i",21),e.\u0275\u0275text(16," Add Category "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(17,Ot,2,2,"div",164),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(14),o=e.\u0275\u0275nextContext(2).ngIf,l=e.\u0275\u0275nextContext();e.\u0275\u0275advance(5),e.\u0275\u0275property("id","servicesLibrary")("cdkDropListData",o.servicesLibrary)("cdkDropListConnectedTo",l.dragDropHelper.servicesDropZones),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",o.servicesLibrary),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",0===o.servicesLibrary.length),e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(8,fn)),e.\u0275\u0275advance(7),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngForOf",t)}}
1function kn(r,a){if(1&r&&e.\u0275\u0275template(0,xn,18,9,"div",0),2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275property("ngIf",t.serviceCategories)}}function Dn(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",165),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275property("cdkDragData",t),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",t.name," ")}}function ri(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1,"All packages are used in current booking flow. "),e.\u0275\u0275elementEnd())}function nn(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-admin-booking-flow-card",184),e.\u0275\u0275listener("edit",function(){const l=e.\u0275\u0275restoreView(t).data;return e.\u0275\u0275nextContext(4).editPackage(l)})("remove",function(){const l=e.\u0275\u0275restoreView(t).data,h=e.\u0275\u0275nextContext(3).ngIf;return e.\u0275\u0275nextContext().onPackageRemoved(l,h.packages)})("pricingVersionChange",function(o){const h=e.\u0275\u0275restoreView(t).data;return e.\u0275\u0275nextContext(4).onPricingVersionChange(h.id,o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.data,i=e.\u0275\u0275nextContext(4);e.\u0275\u0275property("type","package")("integratedBooking",i.integratedBooking)("bookingConfig",i.bookingConfig)("service",t)("pricingTiersMap",i.pricingTiersMap)}}const io=function(){return["/admin/booking/packages/add"]};function pm(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"mat-drawer-container",155)(2,"mat-drawer",156)(3,"div",157),e.\u0275\u0275text(4,"Remaining Packages "),e.\u0275\u0275elementStart(5,"div",158),e.\u0275\u0275template(6,Dn,2,2,"div",159),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,ri,2,0,"div",0),e.\u0275\u0275elementStart(8,"a",160),e.\u0275\u0275text(9,"Create Package"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(10,"mat-drawer-content")(11,"div")(12,"div",168),e.\u0275\u0275element(13,"div",182),e.\u0275\u0275template(14,nn,1,5,"ng-template",null,183,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(16,"tn-service-container",180),e.\u0275\u0275listener("dropped",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2).ngIf;return e.\u0275\u0275nextContext().onPackageDropped(o,l.packages)}),e.\u0275\u0275elementEnd()()()()()()}if(2&r){const t=e.\u0275\u0275reference(15),i=e.\u0275\u0275nextContext(2).ngIf,o=e.\u0275\u0275nextContext();e.\u0275\u0275advance(5),e.\u0275\u0275property("id","packagesLibrary")("cdkDropListData",i.packagesLibrary)("cdkDropListConnectedTo",o.dragDropHelper.servicesDropZones),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.packagesLibrary),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",0===i.packagesLibrary.length),e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(8,io)),e.\u0275\u0275advance(8),e.\u0275\u0275property("serviceCardRef",t)("services",i.packages)}}function Jl(r,a){if(1&r&&e.\u0275\u0275template(0,pm,17,9,"div",0),2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275property("ngIf",t.packages)}}function Yl(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",1)(2,"h1",2),e.\u0275\u0275text(3,"Configure Booking Flow"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"button",3,4),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().goBack()}),e.\u0275\u0275element(6,"i",5),e.\u0275\u0275text(7," Back "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"div",6),e.\u0275\u0275template(9,ta,4,1,"button",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"mat-tab-group",8)(11,"mat-tab",9,10),e.\u0275\u0275template(13,q,446,88,"ng-container",0),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"mat-tab",11),e.\u0275\u0275template(15,kn,1,1,"ng-template",12),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"mat-tab",13),e.\u0275\u0275template(17,Jl,1,1,"ng-template",12),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"mat-tab",14)(19,"div",15)(20,"div",16),e.\u0275\u0275element(21,"t
1n-custom-questions",17),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(22,"div",18)(23,"button",19,20),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveCustomQuestions()}),e.\u0275\u0275element(25,"i",21),e.\u0275\u0275text(26," Update settings "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(27,"mat-tab",22)(28,"div",15)(29,"div",16)(30,"tn-services-priority",23),e.\u0275\u0275listener("priorityChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().servicesPriorityChange(o)}),e.\u0275\u0275elementEnd()()()()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275reference(24),l=e.\u0275\u0275nextContext();e.\u0275\u0275advance(6),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf","add"===l.bookingFlowId),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",t.bookingFlowForm),e.\u0275\u0275advance(8),e.\u0275\u0275property("customQuestions",l.customQuestions)("solutions",t.allServices),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(5),e.\u0275\u0275property("services",t.relatedAddons)("priority",l.addonsPriority)}}const Xl=[{name:"SUN",enabled:!0},{name:"MON",enabled:!0},{name:"TUE",enabled:!0},{name:"WED",enabled:!0},{name:"THU",enabled:!0},{name:"FRI",enabled:!0},{name:"SAT",enabled:!0}],ql=new Set(["#ffffff","#fff"]);let Xi=class{constructor(a,t,i,o,l,h,y,F,te,H,re,ve,ie,Ee,Fe){this.translateService=a,this.fileLibraryDialog=t,this.afs=i,this.projectService=o,this.schedulingService=l,this.activatedRoute=h,this.bookingFlowService=y,this.appConfigService=F,this.formBuilder=te,this.dragDropHelper=H,this.snackBar=re,this.router=ve,this.popupService=ie,this.location=Ee,this.taxTypeService=Fe,this.alternateSlugs=[],this.addonsPriority={},this.pricingTiersMap={},this.integratedBooking=!1,this.maxTravelTime=null,this.enableRecommendedSlots=null,this.forceRecommendedSlots=!1,this.nearbyDistanceLimit=null,this.nearbyTravelTime=null,this.workDays=[],this.img="",this.watermark="",this.bookingFlowTypeOptions=[{name:"Property",value:"property"},{name:"Branding",value:"branding"}],this.bookingFlowAccessOptions=[{name:this.translateService.instant("BOOKING_FLOW_ACCESS_ANYONE_WITH_LINK"),value:He.Sb.ANYONE_WITH_LINK},{name:this.translateService.instant("BOOKING_FLOW_ACCESS_BROKERAGE_MEMBERS_ONLY"),value:He.Sb.BROKERAGE_MEMBERS_ONLY}],this.paymentModeOptions=[{name:"Require a fixed deposit",value:"fixed"},{name:"Require a deposit %",value:"percentage"}],this.schedulingFlexibilityOptions=[{name:this.translateService.instant("YES_FLEXIBLE"),value:!0},{name:this.translateService.instant("NOT_FLEXIBLE"),value:!1}]}get taxType(){return this.taxTypeService.taxType===U.E_3.GST?U.E_3.GST:"Sales tax"}ngOnInit(){this.afs.collection("globals").doc("booking").get().subscribe(t=>{t.exists&&(this.bookingConfig=t.data())});const a=this.activatedRoute.paramMap.pipe((0,qe.U)(t=>{const i=t.get("bookingFlowId");return this.bookingFlowId=i,i}));this.bookingFlowPage$=a.pipe((0,St.w)(t=>(0,ln.aj)("add"===t?this.bookingFlowService.getNewBookingFlow():this.bookingFlowService.getBookingFlowChanges(t),this.projectService.serviceTemplates$,this.projectService.packageTemplates$)),(0,Ht.b)(([t])=>{var i,o,l;this.img=t.img||"",this.officeAddress=t.officeAddress||"",this.officeLocation=t.officeLocation||null,this.travelFees=t.travelFees||[];const h=(0,ge.Kpn)(t);this.travelFeeApplicationMethod=h.method,this.travelFeePayoutMethod=h.payout,this.customQuestions=t.customQuestions||[],this.addonsPriority=t.addonsPriority||{},this.pricingTiersMap=t.pricingTiersMap||{},this.integratedBooking=t.integratedBooking||!1,this.maxTravelTime=t.maxTravelTime||null,this.enableRecommendedSlots=null!==(i=t.enableRecommendedSlots)&&void 0!==i?i:null,this.forceRecommendedSlots=null!==(o=t.forceRecommendedSlots)&&void 0!==o&&o,this.nearbyDistanceLimit=null!==(l=t.nearbyDistanceLimit)&&void 0!==l?l:null,this.nearbyTravelTime=t.nearbyTravelTime||null,this.reschedulingSettings=t.bookingFlowReschedulingSettings||{canCancel:!1,canResc
1hedule:!1,reschedulingFeePeriod:null,reschedulingFee:null,hoursBeforeReschedulingDisabled:null}}),(0,qe.U)(([t,i,o])=>{const l=this.createFormFromFlow(t);return{allServices:i,serviceCategories:t.individualServices.filter(h=>"Unlisted"!==h.name),packages:t.packages,servicesLibrary:this._filterListedServices(i,t),relatedAddons:this._filterRelatedAddons(i,t),packagesLibrary:this._filterNotInFlow(o,t),bookingFlowForm:l,accessDescription$:this.buildAccessDescription$(l)}})),this.schedulableServiceIds$=this.schedulingService.getSchedulableServiceIds()}_filterListedServices(a,t){const i=(0,br.Z)(t.categories,o=>o.services);return a.filter(o=>!i.includes(o.id)&&"Project Chat"!==o.name)}_filterRelatedAddons(a,t){const i=(0,br.Z)(t.categories,o=>o.services);return a.filter(o=>{var l;const h=null!==(l=o.linkedServiceIds)&&void 0!==l?l:[];return"Project Chat"!==o.name&&o.addon&&(i.includes(o.id)||No(i,h).length)})}_filterNotInFlow(a,t){const i=t.packages.map(o=>o.id);return a.filter(o=>!i.includes(o.id))}createFormFromFlow(a){var t,i,o,l,h,y,F,te,H,re,ve,ie,Ee;const Fe=this.formBuilder.group({name:[a.name,ee.kI.required],enabled:[{value:a.enabled,disabled:a.isPrimary}],isPublic:[{value:!!a.isPublic,disabled:a.isPrimary}],access:[{value:(0,ge.rPE)(a),disabled:a.isPrimary}],slug:[a.slug,ee.kI.required],type:[(0,ge.WuM)(a)],backgroundColor:[null!==(t=a.backgroundColor)&&void 0!==t?t:null],brokerage_obj:[null!==(i=a.brokerage_obj)&&void 0!==i?i:null],landingPageOptions:[a.landingPageOptions],orderStatusPageNotes:[a.orderStatusPageNotes],dateExplainerMessage:[a.dateExplainerMessage],propertyDetailsInstructions:[a.propertyDetailsInstructions],disableConfirmationEmail:[a.disableConfirmationEmail],disableWeekends:[a.disableWeekends],integratedBooking:[a.integratedBooking],allowCustomerToSelectPhotographer:[!!a.allowCustomerToSelectPhotographer],integratedPayment:[a.integratedPayment],schedulingInstructions:[a.schedulingInstructions],applySalesTax:[a.applySalesTax],isTaxInclusive:[a.isTaxInclusive],salesTax:[a.salesTax],transactionFee:[a.transactionFee||0],squareLocationId:[a.squareLocationId],listingAgentOptional:[a.listingAgentOptional],listingAgentsDescription:[a.listingAgentsDescription],brandingSamplesLink:[null!==(o=a.brandingSamplesLink)&&void 0!==o?o:"",ge.$9f.url],hideLicenseNumberQuestion:[a.hideLicenseNumberQuestion],hideSchedulingFlexibility:[a.hideSchedulingFlexibility],schedulingFlexibilityDefaultValue:[void 0===a.schedulingFlexibilityDefaultValue||a.schedulingFlexibilityDefaultValue],showRoomsQuestion:[!!a.showRoomsQuestion],requireFeatureNotes:[!!a.requireFeatureNotes],featureNotesTitle:[a.featureNotesTitle],featureNotesDescription:[a.featureNotesDescription],featureNotesTip:[a.featureNotesTip],hideEntryNotes:[!!a.hideEntryNotes],hideFeatureNotes:[!!a.hideFeatureNotes],requireEntryNotes:[!!a.requireEntryNotes],entryNotesTitle:[a.entryNotesTitle],entryNotesDescription:[a.entryNotesDescription],entryNotesTip:[a.entryNotesTip],paymentMode:[a.paymentMode?a.paymentMode:"fixed"],paymentAmount:[a.paymentAmount?a.paymentAmount:""],lockFilesUntilPaid:[!!a.lockFilesUntilPaid],hideDeliveryPreviewSection:[!!a.hideDeliveryPreviewSection],allowPaymentOnOrderComplete:[!!a.allowPaymentOnOrderComplete],showAcreageInput:[!!a.showAcreageInput],hideSqFtInput:[!!a.hideSqFtInput],hideLine2Input:[!!a.hideLine2Input],hideClientPreferences:[!!a.hideClientPreferences],promptCustomDomainQuestion:[!!a.promptCustomDomainQuestion],requireCustomDomain:[!!a.requireCustomDomain],disableFloorplanNotesQuestions:[!!a.disableFloorplanNotesQuestions],requireFloorplanNotes:[!!a.requireFloorplanNotes],floorPlanNotesTitle:[null!==(l=a.floorPlanNotesTitle)&&void 0!==l?l:"If you have chosen to book a 3D Virtual Tour and/or 2D Floor Plan, is there an ADU, garage, or additional space you would like to include?"],promptMusicQuestion:[!!a.promptMusicQuestion],requireMusic:[!!a.requireMusic],musicCompilationLink:[null!==(h=a.musicCompilationLink)&&void 0!==h?h:"",ge.$9f.url],musicOptionPlaceholder:[null!==(y=a.musicOptionPlaceholder)&&void 0!==y?y:"https://motionarray.com/Song#1"],chooseMusicLaterLabel:[null!==(F=a.chooseMusicLaterLabel)&&void 0!==F?F:"I'll choose my music option later"],musicLibraryLink:[null!==(te=a.musicLibraryLink)&&void 0!==te?te:"",ge.$9f.url],musicLibraryName:[null!==(H=a.musicLibraryName)&&void 0!==H?H:"Music Library"],musicQuestionDescription:[null!==(re=a.musicQuestionDescription)&&void 0!==re?re:""],termsOfServiceDescription:[null!==(ve=a.termsOfServiceDescription)&&void 0!==ve?ve:""],hideExistingContact:[!!a.hideExistingContact],hideTermsOfService:[!!a.hideTermsOfService],isBranding:[null],hideSavingAmount:[!!a.hideSavingAmount],hideServicePrices:[!!a.hideServicePrices],dontInviteCustomerToCalendarEvent:[!!a.dontInviteCustomerToCalendarEvent],watermark:[a.watermark||""]}
1);return this.syncTaxInclusive(Fe),this.initBackgroundColorChangeHandler(Fe),this.alternateSlugs=(null===(ie=a.alternateSlugs)||void 0===ie?void 0:ie.map(ke=>({url:ke})))||[],this.workDays=null!==(Ee=a.workDays)&&void 0!==Ee?Ee:Xl,this.watermark=a.watermark,Fe}addCategory(a){a.unshift({name:"New Category",options:[]})}removeCategory(a,t){(0,sn.Z)(t,a),"add"!==this.bookingFlowId&&this.bookingFlowService.updateServiceCategories(this.bookingFlowId,t).then(()=>this.displaySaveConfirmation())}dropCategory(a,t){(0,n.bA)(t,a.previousIndex,a.currentIndex),"add"!==this.bookingFlowId&&this.bookingFlowService.updateServiceCategories(this.bookingFlowId,t).then(()=>this.displaySaveConfirmation())}onDropped(a,t){a.previousContainer===a.container?(0,n.bA)(a.container.data,a.previousIndex,a.currentIndex):(0,n.EA)(a.previousContainer.data,a.container.data,a.previousIndex,a.currentIndex),"add"!==this.bookingFlowId&&this.bookingFlowService.updateServiceCategories(this.bookingFlowId,t).then(()=>this.displaySaveConfirmation())}onPackageDropped(a,t){a.previousContainer===a.container?(0,n.bA)(a.container.data,a.previousIndex,a.currentIndex):(0,n.EA)(a.previousContainer.data,a.container.data,a.previousIndex,a.currentIndex),"add"!==this.bookingFlowId&&this.bookingFlowService.updateBookingFlowPackages(this.bookingFlowId,t).then(()=>this.displaySaveConfirmation())}onPackageRemoved(a,t){(0,sn.Z)(t,a),"add"!==this.bookingFlowId&&this.bookingFlowService.updateBookingFlowPackages(this.bookingFlowId,t).then(()=>this.displaySaveConfirmation())}onServiceRemoved(a,t,i){(0,sn.Z)(t.options,a),"add"!==this.bookingFlowId&&this.bookingFlowService.updateServiceCategories(this.bookingFlowId,i).then(()=>this.displaySaveConfirmation())}editService(a){"add"!==this.bookingFlowId?this.router.navigate(["/admin/booking/services/",a.id]):this.popupService.error({title:"Create booking flow first",text:"Create the booking flow before leaving this page or you will lose your progress."})}editPackage(a){"add"!==this.bookingFlowId?this.router.navigate(["/admin/booking/packages/",a.id]):this.popupService.error({title:"Create booking flow first",text:"Create the booking flow before leaving this page or you will lose your progress."})}onUpdateCategoryName(a,t,i){t[i].name=a,"add"!==this.bookingFlowId&&this.bookingFlowService.updateServiceCategories(this.bookingFlowId,t).then(()=>this.displaySaveConfirmation())}onPricingVersionChange(a,t){this.pricingTiersMap[a]=t,this.bookingFlowService.updatePricingTiers(this.bookingFlowId,this.pricingTiersMap).then(()=>this.displaySaveConfirmation())}addAlternateAddress(){this.alternateSlugs.push({url:""})}removeAlternateAddress(a){const t=new Set(this.alternateSlugs.map(i=>i.url));t.delete(a),this.alternateSlugs=Array.from(t).map(i=>({url:i}))}saveSettings(a){if(a.valid&&this.travelFeesComponent.valid){const t=this.getFormsValue(a);this.bookingFlowService.updateBookingFlow(this.bookingFlowId,t).then(()=>this.displaySaveConfirmation())}}saveCustomQuestions(){if(this.customQuestionsComponent.validate(),this.customQuestionsComponent.valid){const a=this.customQuestionsComponent.getCustomQuestionsData();this.bookingFlowService.updateCustomQuestions(this.bookingFlowId,a).then(()=>this.displaySaveConfirmation())}}trackById(a,t){return t.id}createBookingFlow(a){if(a.bookingFlowForm.markAllAsTouched(),"INVALID"===a.bookingFlowForm.status)return void this.popupService.error({title:"Fill out all required fields",text:"A name and URL address is required for each booking flow"});const t=this.createFormFromFlow(a.bookingFlowForm.value),i=Object.assign(Object.assign({},this.getFormsValue(t)),{img:this.img});this.bookingFlowService.createNewBookingFlow(i,a.packages,a.serviceCategories,this.pricingTiersMap).then(o=>{this.displaySaveConfirmation(),this.router.navigate(["/admin/booking/booking-flows/",o],{replaceUrl:!0})})}handleWorkDaysChange(a){this.workDays=a}servicesPriorityChange(a){this.bookingFlowService.updateServicesPriority(this.bookingFlowId,a).then(()=>this.displaySaveConfirmation())}getEnteredAlternateSlugs(){const a=this.alternateSlugs.map(i=>
1i.url.trim()).filter(Boolean),t=new Set(a);return Array.from(t)}changeThumbnail(){this.fileLibraryDialog.open().pipe((0,Nt.q)(1)).subscribe(a=>{a&&(this.img=a,this.bookingFlowService.updateBookingFlow(this.bookingFlowId,{img:a}).then(()=>this.displaySaveConfirmation()))})}navigateToBrokerage(a){this.router.navigate(["/crm/brokerages",a])}goBack(){this.location.back()}syncTaxInclusive(a){a.get("applySalesTax").valueChanges.pipe((0,wt.t)(this),(0,Yt.h)(t=>!t)).subscribe(()=>{a.get("isTaxInclusive").setValue(!1)})}resetPropertyRelatedValues(a){a.patchValue({disableFloorplanNotesQuestions:!1,requireFloorplanNotes:!1,showRoomsQuestion:!1,hideEntryNotes:!1,hideFeatureNotes:!1,requireEntryNotes:!1,entryNotesTitle:"",entryNotesDescription:"",entryNotesTip:"",requireFeatureNotes:!1,featureNotesTitle:"",featureNotesDescription:"",featureNotesTip:""})}getFormsValue(a){var t;const i=this.getEnteredAlternateSlugs();return"property"!==a.controls.type.value&&this.resetPropertyRelatedValues(a),Object.assign(Object.assign(Object.assign(Object.assign({},a.value),null===(t=this.schedulingTravelTimeSettingsComponent)||void 0===t?void 0:t.getFormData()),this.travelFeesComponent.getFormData()),{alternateSlugs:i,bookingFlowReschedulingSettings:this.schedulingComponent.form.getRawValue(),workDays:this.workDays})}displaySaveConfirmation(){this.showMessage("Update saved.")}
1initBackgroundColorChangeHandler(a){const t=a.get("backgroundColor");null==t||t.valueChanges.pipe((0,wt.t)(this)).subscribe((i="")=>{ql.has(i.toLowerCase())&&(t.setValue(this.appConfigService.bookingFlowBackgroundColor,{emitEvent:!1}),this.showMessage("White background is not supported. The color has been reset to the default."))})}buildAccessDescription$(a){const t=a.controls.isPublic,i=a.controls.access;return(0,ln.aj)([t.valueChanges.pipe((0,Bn.O)(t.value)),i.valueChanges.pipe((0,Bn.O)(i.value))]).pipe((0,qe.U)(([o,l])=>this.getAccessDescription(!!o,l)))}getAccessDescription(a,t){return t===He.Sb.BROKERAGE_MEMBERS_ONLY?a?"This flow is public and visible to logged-in brokerage members.":"This flow is private and only visible to logged-in brokerage members.":a?"This flow is public and visible to anyone with the link.":"This flow is private and invisible, but anyone with the link can access it."}showMessage(a){this.snackBar.open(a,"Got it",{duration:2500,horizontalPosition:"center",verticalPosition:"bottom"})}};Xi.\u0275fac=function(a){return new(a||Xi)(e.\u0275\u0275directiveInject(de.sK),e.\u0275\u0275directiveInject(ti),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(U.X$O),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Zi.C),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(ee.qu),e.\u0275\u0275directiveInject(Sr),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(U.qLq),e.\u0275\u0275directiveInject(S.Location),e.\u0275\u0275directiveInject(U.AaQ))},Xi.\u0275cmp=e.\u0275\u0275defineComponent({type:Xi,selectors:[["tn-configure-booking-flow-details"]],viewQuery:function(a,t){if(1&a&&(e.\u0275\u0275viewQuery(to,5),e.\u0275\u0275viewQuery(Xo,5),e.\u0275\u0275viewQuery(ni,5),e.\u0275\u0275viewQuery(mi,5)),2&a){let i;e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.schedulingTravelTimeSettingsComponent=i.first),e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.travelFeesComponent=i.first),e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.customQuestionsComponent=i.first),e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.schedulingComponent=i.first)}},decls:2,vars:3,consts:[[4,"ngIf"],[1,"container","pt3"],[1,"mb-16"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mb-16",3,"click"],["backButton","btnSize"],["uiIcon","arrow_back",3,"size"],[1,"fixed","bottom-2","white","z-3","fixed-center"],["uiBtnSize","large","uiBtnTheme","main","themeMode","primary",3,"click",4,"ngIf"],["animationDuration","0ms",1,"booking-flow-tab-group"],["label","Settings"],["settingsTab",""],["label","Services"],["matTabContent",""],["label","Packages"],["label","Custom Questions"],[1,"card"],[1,"card-body"],[1,"app-v2",3,"customQuestions","solutions"],[1,"white","text-center","pt-32","pb-40"],["uiBtnSize","large","uiBtnTheme","main","themeMode","primary",3,"click"],["updateQuestionsButton","btnSize"],["uiIcon","add",3,"size"],["label","Add-ons priority"],[3,"services","priority","priorityChange"],["createBookingFlowButton","btnSize"],[3,"formGroup"],[1,"mb3"],[1,"f6","fw6","o-90","mb1"],[1,"thumbnail","pointer",3,"click"],[1,"f6","fw6","o-90"],[1,"mb1"],[1,"w-25"],["matInput","","formControlName","name","placeholder","San Francisco"],[1,"f7","o-70","mb2"],[1,"green"],["matInput","","formControlName","slug","placeholder","san-francisco"],[1,"mb4"],[4,"ngFor","ngForOf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["addAddressButton","btnSize"],["formControlName","enabled",3,"disableRipple"],[1,"mt3"],["formControlName","isPublic",3,"disableRipple"],["appearance","bordered","formControlName","access",1,"block","w-256",3,"sameWidthAsTarget","items"],[1,"inline-block","mt3","text-13"],["appearance","bordered","formControlName","type",1,"block","w-256",3,"items"],[3,"workDays","workDaysChange"],["formControlName","disableConfirmationEmail",3,"disableRipple"],["formControlName","showAcreageInput",3,"disableRipple"],["formControlName","hideSqFtInput",3,"disableRipple"],["formControlName","hideLine2Input",3,"disableRipple"],["formControlName","hideClientPreferences",3,"disableRipple"],["formControlName","hideSavingAmount",3,"disableRipple"],["formControlName","hideServicePrices",3,"disableRipple"],["formControlName","dontInviteCustomerToCalendarEvent",3,"disableRipple"],["formControlName","integratedBooking",3,"disableRipple"],["class","mb4",4,"ngIf"],["type","color","formControlName","backgroundColor",1,"pointer"],[1,"flex","items-center","f6","fw6","o-90"],["class","ml-min cursor-pointer text-brand-50",3,"click",4,"ngIf"],[1,"max-w-sm"],["formControlName","brokerage_obj",3,"emptyOption"],[3,"maxTravelTime","enableRecommendedSlots","forceRecommendedSlots","nearbyDistanceLimit","nearbyTravelTime",4,"ngIf"],[1,"card-header"],[1,"text-muted","f7"],["formControlName","lockFilesUntilPaid",3,"disableRipple"],["formControlName","hideDeliveryPreviewSection",3,"disableRipple"],[1,"text-muted","f7","mb2"],[1,"mv2"],["matInput","","formControlName","watermark","placeholder","Preview"],["formControlName","applySalesTax",3,"disableRipple"],["formControlName","isTaxInclusive",3,"disableRipple"],[1,"pl4",3,"ngClass"],["matInput","","placeholder","8%","suffix","%","mask","separator","formControlName","salesTax"],["matInput","","suffix","%","mask","separator","formControlName","transactionFee"],["formControlName","integratedPayment",3,"disableRipple"],["formControlName","allowPaymentOnOrderComplete",3,"disableRipple"],["appearance","bordered","placeholder","Require a deposit","formControlName","paymentMode",1,"block","w-256",3,"items"],["name","depositAmount","matInput","","thous
1andSeparator",",","mask","separator","formControlName","paymentAmount",3,"placeholder","prefix",4,"ngIf"],["name","depositAmount","matInput","","placeholder","10%","suffix","%","mask","separator","formControlName","paymentAmount",4,"ngIf"],[1,"mb-2"],["name","squareLocationId","matInput","","placeholder","Location Id","formControlName","squareLocationId"],["formControlName","landingPageOptions",3,"uiFroalaEditor"],[1,"f6","fw6","o-90","mb-1"],["formControlName","propertyDetailsInstructions",3,"uiFroalaEditor"],["formControlName","schedulingInstructions",3,"uiFroalaEditor"],["class","mb4 pl4",3,"ngClass",4,"ngIf"],["formControlName","promptCustomDomainQuestion",3,"disableRipple"],[1,"mb4","pl4",3,"ngClass"],["formControlName","requireCustomDomain",3,"disableRipple"],["formControlName","promptMusicQuestion",3,"disableRipple"],[1,"mb2","pl4",3,"ngClass"],[1,"w-50"],["name","musicOptionPlaceholder","matInput","","placeholder","https://motionarray.com/Song#1","formControlName","musicOptionPlaceholder"],["formControlName","requireMusic",3,"disableRipple"],["name","chooseMusicLaterLabel","matInput","","placeholder","I'll choose my music option later","formControlName","chooseMusicLaterLabel"],["name","musicCompilationLink","matInput","","placeholder","https://dropbox.com/...","formControlName","musicCompilationLink"],["name","musicLibraryLink","matInput","","placeholder","https://music.com/","formControlName","musicLibraryLink"],["name","musicLibraryName","matInput","","placeholder","Library name","formControlName","musicLibraryName"],["formControlName","musicQuestionDescription",3,"uiFroalaEditor"],["name","requireListingAgent",3,"disableRipple","checked","change"],[1,"mt-4"],["formControlName","listingAgentsDescription",3,"uiFroalaEditor"],[1,"mt2"],["name","brandingSamplesLink","matInput","","placeholder","https://samples.com","formControlName","brandingSamplesLink"],["name","askForLicenseNumber",3,"disableRipple","checked","change"],["name","askExistingContact",3,"disableRipple","checked","change"],["name","askSchedulingFlexibility",3,"disableRipple","checked","change"],[1,"mb-4","pl4",3,"ngClass"],["appearance","bordered","formControlName","schedulingFlexibilityDefaultValue",1,"block","w-256",3,"items"],["name","askTermsOfService",3,"disableRipple","checked","change"],["formControlName","termsOfServiceDescription",3,"uiFroalaEditor"],[1,"text-muted","f7","mb-24"],[1,"mb4","pl4"],[1,"block"],[1,"w-100"],["formControlName","dateE
1xplainerMessage","placeholder","Type something"],[1,"pl4"],["formControlName","orderStatusPageNotes",3,"uiFroalaEditor"],[1,"card-v2"],[1,"card-header-v2"],[1,"card-body-v2"],["class","app-v2",3,"officeAddress","officeLocation","travelFees","travelFeeApplicationMethod","travelFeePayoutMethod",4,"ngIf"],[3,"reschedulingSettings"],["updateSettingsButton","btnSize"],["uiIcon","check",3,"size"],[1,"mb2"],[1,"mr2","w-25"],["matInput","","placeholder","san-francisco",3,"name","ngModel","ngModelOptions","ngModelChange"],["uiIcon","close",1,"ml1","pointer",3,"click"],["formControlName","allowCustomerToSelectPhotographer",3,"disableRipple"],[1,"ml-min","cursor-pointer","text-brand-50",3,"click"],["uiIcon","visibility"],[3,"maxTravelTime","enableRecommendedSlots","forceRecommendedSlots","nearbyDistanceLimit","nearbyTravelTime"],["name","depositAmount","matInput","","thousandSeparator",",","mask","separator","formControlName","paymentAmount",3,"placeholder","prefix"],["name","depositAmount","matInput","","placeholder","10%","suffix","%","mask","separator","formControlName","paymentAmount"],[3,"disableRipple","checked","change"],[1,"w-90"],["name","floorPlanNotesTitle","matInput","","placeholder","Title","formControlName","floorPlanNotesTitle"],["name","hideFeatureNotes",3,"disableRipple","checked","change"],[1,"f6","fw6","o-90","mt4"],["name","requireFeatureNotes",3,"disableRipple","checked","change"],["name","featureNotesTitle","matInput","","placeholder","Title","formControlName","featureNotesTitle"],[1,"mt-2"],["formControlName","featureNotesDescription",3,"uiFroalaEditor"],["formControlName","featureNotesTip",3,"uiFroalaEditor"],["name","hideEntryNotes",3,"disableRipple","checked","change"],["name","requireEntryNotes",3,"disableRipple","checked","change"],[1,"mt-4","mb-4"],["name","entryNotesTitle","matInput","","placeholder","Title","formControlName","entryNotesTitle"],[1,"mb-4"],["formControlName","entryNotesDescription",3,"uiFroalaEditor"],["formControlName","entryNotesTip",3,"uiFroalaEditor"],["formControlName","showRoomsQuestion",3,"disableRipple"],[1,"app-v2",3,"officeAddress","officeLocation","travelFees","travelFeeApplicationMethod","travelFeePayoutMethod"],[1,"example-container"],["mode","side","position","end","opened",""],[1,"pa3"],["cdkDropList","",1,"pv2",3,"id","cdkDropListData","cdkDropListConnectedTo"],["cdkDrag","","class","library-item mb2",3,"cdkDragData",4,"ngFor","ngForOf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"routerLink"],["cdkDropList","",1,"accordion-padding","mt3",3,"cdkDropListDropped"],[1,"tr","mb2"],["addCategoryButton","btnSize"],["cdkDrag","",3,"cdkDragData",4,"ngFor","ngForOf"],["cdkDrag","",1,"library-item","mb2",3,"cdkDragData"],["cdkDrag","",3,"cdkDragData"],["class","service-category__container",4,"ngIf"],[1,"service-category__container"],["header",""],[3,"title","updateTitle"],[3,"click"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"matMenuTriggerFor"],["categoryMenuButton","btnSize"],["uiIcon","more_vert",3,"size"],["xPosition","before"],["categoryMenu","matMenu"],["mat-menu-item","",3,"click"],["body",""],["serviceFlowCard",""],[3,"serviceCardRef","services","dropped"],[3,"type","integratedBooking","bookingConfig","schedulableServiceIds","service","pricingTiersMap","edit","remove","pricingVersionChange"],[1,"service-category__header"],["packageFlowCard",""],[3,"type","integratedBooking","bookingConfig","service","pricingTiersMap","edit","remove","pricingVersionChange"]],template:function(a,t){1&a&&(e.\u0275\u0275template(0,Yl,31,8,"ng-container",0),e.\u0275\u0275pipe(1,"async")),2&a&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,t.bookingFlowPage$))},directives:[S.NgIf,_t.s,ht.V,mt.a,T.SP,T.uX,ee._Y,ee.JL,ee.sg,Et.KE,Et.hX,Pt.Nt,ee.Fj,ee.JJ,ee.u,S.NgForOf,ee.On,Me.Rr,tn.H,ms.k,gs,Fn.H,zn.L,_s.E,to,S.NgClass,En.Z6,ui.V,hs.R,Xo,mi,T.Vc,Ji.kh,Ji.jA,n.Wj,n.Zt,Qe.yS,Ji.LW,Cs,Yi,Ft.p6,Ft.VK,Ft.OP,ea,ki,ni,wr],pipes:[S.AsyncPipe,ge._ab],styles:[".thumbnail[_ngcontent-%COMP%]{width:149px;height:90px;margin-bottom:0;background-color:#eaeaea;background-position:center center;background-repeat:no-repeat;background-size:cover}mat-drawer-content[_ngcontent-%COMP%]{overflow:auto;max-height:calc(100vh - 120px)}mat-drawer[_ngcontent-%COMP%]{overflow:auto;width:300px}.library-item[_ngcontent-%COMP%]{padding:8px;background-color:#f4f4f4;border-radius:3px}tn-admin-booking-flow-card[_ngcontent-%COMP%]{margin-bottom:8px;display:block}
1.card[_ngcontent-%COMP%]:last-child{margin-bottom:116px}.container[_ngcontent-%COMP%] .service-category__container{border-radius:3px;border:1px solid #f1f1f1;margin-bottom:8px}.container[_ngcontent-%COMP%] .service-category__sub-container{min-height:60px}.container[_ngcontent-%COMP%] .service-category__header{background-color:#fff;padding:8px 16px;align-items:center;display:flex}.container[_ngcontent-%COMP%] .service-category__title{font-size:18px;font-weight:600}.accordion-padding[_ngcontent-%COMP%]{padding-left:42px;padding-right:12px}mat-drawer-container[_ngcontent-%COMP%]{min-height:70vh}.booking-flow-tab-group[_ngcontent-%COMP%]{min-height:600px}.booking-flow-tab-group[_ngcontent-%COMP%] .mat-tab-header{margin-bottom:1rem}"]}),Xi=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[de.sK,ti,Mt.ST,U.Y4r,U.X$O,Qe.gz,Zi.C,U._ZM,ee.qu,Sr,Dt.ux,Qe.F0,U.qLq,S.Location,U.AaQ])],Xi);var ia=_(74533);function qs(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"input",30),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).coupon.data.amount=o}),e.\u0275\u0275pipe(1,"uiCurrency"),e.\u0275\u0275pipe(2,"uiCurrency"),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("placeholder",e.\u0275\u0275pipeBind1(1,3,20))("prefix",e.\u0275\u0275pipeBind1(2,5,""))("ngModel",t.coupon.data.amount)}}function ra(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"input",31),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).coupon.data.amount=o}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("ngModel",t.coupon.data.amount)}}function ec(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",32)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3,"Number of times per customer"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"input",33),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).coupon.data.numberOfUses=o}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",t.coupon.data.numberOfUses)}}function tc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",5)(2,"button",6,7),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveCoupon()}),e.\u0275\u0275element(4,"i",8),e.\u0275\u0275text(5," Save Coupon "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"div",9)(7,"div",10),e.\u0275\u0275text(8," General coupon details "),e.\u0275\u0275element(9,"div",11),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",12)(11,"div",13)(12,"mat-form-field")(13,"mat-label"),e.\u0275\u0275text(14,"Coupon code"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"input",14),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().coupon.data.code=o})("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().coupon.data.code=o.toUpperCase()}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(16,"div",15)(17,"div",16),e.\u0275\u0275text(18," Bypass deposit: waives any deposit requirements during booking "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"mat-slide-toggle",17),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().coupon.data.bypassDeposit=o}),e.\u0275\u0275text(20," Bypass deposit "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(21,"ui-select",18),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().coupon.data.type=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"div",13)(23,"mat-form-field")(24,"mat-label"),e.\u0275\u0275text(25,"Amount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(26,qs,3,7,"input",19),e.\u0275\u0275template(27,ra,1,1,"input",20),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(28,"div",13)(29,"mat-form-field")(30,"mat-label"),e.\u0275\u0275text(31,"Description (optional)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(32,"textarea",21,22),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().coupon.data.description=o}),e.\u0275\u0275text(34," "),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275elementStart(35,"div",23)(36,"div",10),e.\u0275\u0275text(37," Coupon Usage Limits "),e.\u0275\u0275element(38,"div",11),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(39,"div",12)(40,"div",24)(41,"ui-select",25),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().coupon.data.limit=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(42,ec,5,1,"div",26),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(43,"div",13)(44,"mat-form-field")(45,"mat-label"),e.\u0275\u0275text(46,"Coupon expires on"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(47,"input",27),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expirationDate=o})("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().setExpirationDate(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(48,"mat-datepicker-toggle",28)(49,"mat-datepicker",null,29),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275reference(50),o=e.\u0275\u0275nextContext();e.\u0275\u0275advance(4),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(11),e.\u0275\u0275property("ngModel",o.coupon.data.code),e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.coupon.data.bypassDeposit),e.\u0275\u0275advance(2),e.\u0275\u0275property("items",o.couponTypeOptions)("ngModel",o.coupon.data.type),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf","flat_discount"===o.coupon.data.type),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","percent_discount"===o.coupon.data.type),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngModel",o.coupon.data.description),e.\u0275\u0275advance(9),e.\u0275\u0275property("items",o.couponLimitOptions)("ngModel",o.coupon.data.limit),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","multiple"===o.coupon.data.limit),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngModel",o.expirationDate)("matDatepicker",i),e.\u0275\u0275advance(1),e.\u0275\u0275property("for",i)}}let nc=(()=>
1{class r{constructor(t,i,o,l,h,y){this.activatedRoute=t,this.afs=i,this.snackBar=o,this.location=l,this.appConfigService=h,this.dateFormatService=y,this.couponTypeOptions=[{name:"Flat discount",value:"flat_discount"},{name:"Percent discount",value:"percent_discount"}],this.couponLimitOptions=[{name:"No Limit",value:null},{name:"Multiple",value:"multiple"},{name:"First time customer only",value:"first_time_customer"}]}ngOnInit(){this.activatedRoute.paramMap.subscribe(t=>{const i=t.get("couponId");"add"==i?this.coupon={data:{type:"flat_discount"},id:this.afs.createId()}:this.afs.doc(`coupons/${i}`).get().subscribe(o=>{o.exists?(this.coupon={id:o.id,data:o.data()},console.log(this.coupon),this.coupon.data.expiration&&(this.expirationDate=Hi()(this.coupon.data.expiration))):this.snackBar.open("Error: coupon not found","Got it",{duration:5e3,horizontalPosition:"center",verticalPosition:"top"})})})}setExpirationDate(t){console.log(t);const i=this.dateFormatService.getDateFormatByLocale(ge.lvo.US_DATE),o=Hi().isMoment(t)?Hi().tz(`${t.format(i)}`,i,this.appConfigService.timeZone).valueOf():null;this.coupon.data.expiration=o}goBack(){this.location.back()}displaySaveConfirmation(){this.snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}saveCoupon(){this.afs.doc(`coupons/${this.coupon.id}`).set(this.coupon.data,{merge:!0}).then(()=>{this.location.replaceState(`/admin/booking/coupons/${this.coupon.id}`),this.displaySaveConfirmation()})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(S.Location),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.fiA))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-configure-coupon-details-page"]],decls:6,vars:2,consts:[[1,"container","pt3","pb6"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mb-20",3,"click"],["backButton","btnSize"],["uiIcon","arrow_back",3,"size"],[4,"ngIf"],[1,"fixed","bottom-2","white","z-2","fixed-center"],["uiBtnSize","large","uiBtnTheme","main","themeMode","primary",3,"click"],["saveCouponButton","btnSize"],["uiIcon","add",3,"size"],[1,"card"],[1,"card-header"],[1,"text-muted","f7"],[1,"card-body"],[1,"mb2"],["matInput","","placeholder","SPRINGSALE",3,"ngModel","ngModelChange"],[1,"mb4"],[1,"f7","o-70","mb2"],["name","bypassDeposit",3,"disableRipple","ngModel","ngModelChange"],["appearance","bordered","label","Coupon type",1,"block","w-256","mb-16",3,"items","ngModel","ngModelChange"],["matInput","","thousandSeparator",",","mask","separator",3,"placeholder","prefix","ngModel","ngModelChange",4,"ngIf"],["matInput","","placeholder","10%","suffix","%","mask","separator",3,"ngModel","ngModelChange",4,"ngIf"],["cdkTextareaAutosize","","cdkAutosizeMinRows","3","matInput","","placeholder","Description or instruction shown to customer.",3,"ngModel","ngModelChange"],["autosize","cdkTextareaAutosize"],[1,"card","mt3"],[1,"flex","items-end","gap-8"],["appearance","bordered","label","Usage Limits","placeholder","No Limit",1,"block","w-256","mb-18",3,"items","ngModel","ngModelChange"],["class","dib ml3",4,"ngIf"],["matInput","","autocomplete","off",3,"ngModel","matDatepicker","ngModelChange"],["matSuffix","",3,"for"],["picker",""],["matInput","","thousandSeparator",",","mask","separator",3,"placeholder","prefix","ngModel","ngModelChange"],["matInput","","placeholder","10%","suffix","%","mask","separator",3,"ngModel","ngModelChange"],[1,"dib","ml3"],["matInput","","type","number",3,"ngModel","ngModelChange"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"button",1,2),e.\u0275\u0275listener("click",function(){return i.goBack()}),e.\u0275\u0275element(3,"i",3),e.\u0275\u0275text(4," Back "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(5,tc,51,15,"ng-container",4),e.\u0275\u0275elementEnd()),2&t){const o=e.\u0275\u0275reference(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.coupon)}},directives:[_t.s,ht.V,mt.a,S.NgIf,Et.KE,Et.hX,Pt.Nt,ee.Fj,ee.JJ,ee.On,Me.Rr,tn.H,En.Z6,ia.IC,ee.wV,P.hl,P.nW,Et.R9,P.Mq],pipes:[ge._ab],styles:[""]}),r})();var Ms=_(69287);const ic=["couponHint"];function rc(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1," Bypass deposit "),e.\u0275\u0275elementContainerEnd())}
1function oc(r,a){if(1&r&&(e.\u0275\u0275text(0),e.\u0275\u0275pipe(1,"uiCurrency")),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275textInterpolate3(" ","flat_discount"===t.type?e.\u0275\u0275pipeBind1(1,3,""):"","",t.amount,"","percent_discount"===t.type?"%":""," off ")}}const ac=function(r){return["./",r]};function sc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",9)(2,"div",10)(3,"div",11),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",12)(6,"div",13),e.\u0275\u0275template(7,rc,2,0,"ng-container",14),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(8,oc,2,5,"ng-template",null,15,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275text(10),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"div",16),e.\u0275\u0275element(12,"div",17,18),e.\u0275\u0275elementStart(14,"button",19,20),e.\u0275\u0275listener("click",function(){const o=e.\u0275\u0275restoreView(t),l=o.$implicit,h=o.index;return e.\u0275\u0275nextContext().onCopyCouponLink(l.code,h)}),e.\u0275\u0275text(16," Copy "),e.\u0275\u0275element(17,"i",21),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(18,"div")(19,"button",22,23),e.\u0275\u0275text(21," Edit "),e.\u0275\u0275element(22,"i",24),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(23,"div")(24,"button",25,26),e.\u0275\u0275element(26,"i",27),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(27,"mat-menu",28,29)(29,"button",30),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().deleteCoupon(l)}),e.\u0275\u0275text(30,"Delete"),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275reference(9),o=e.\u0275\u0275reference(15),l=e.\u0275\u0275reference(20),h=e.\u0275\u0275reference(25),y=e.\u0275\u0275reference(28);e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" ",t.code," "),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.bypassDeposit)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" ",t.description," "),e.\u0275\u0275advance(7),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(9,ac,t.doc.id)),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",l.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("matMenuTriggerFor",y),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",h.iconSize)}}const lc=function(){return[".","add"]};let cc=(()=>{class r{constructor(t,i){this.afs=t,this.clipboard=i}ngOnInit(){this.afs.collection("coupons").snapshotChanges().subscribe(t=>{this.coupons=t.map(i=>{const o=i.payload.doc.data();return Object.assign(Object.assign({},o),{doc:i.payload.doc})})})}deleteCoupon(t){t.doc.ref.delete()}onCopyCouponLink(t,i){var o;const l=null===(o=this.couponTooltips)||void 0===o?void 0:o.get(i);this.clipboard.copy(`${location.origin}?couponCode=${encodeURI(t)}`),null==l||l.show(),setTimeout(()=>null==l?void 0:l.hide(),600)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(Ms.TU))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-configure-coupons-page"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(ic,5,Lt.gM),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.couponTooltips=o)}},decls:12,vars:4,consts:[[1,"container","pv3"],[1,"mb3","ph3"],[1,"tr","mb2","ph3"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"routerLink"],["addCouponButton","btnSize"],["uiIcon","add",3,"size"],[1,"ph3"],[1,"mv3","jobs__sub-container"],[4,"ngFor","ngForOf"],[1,"bg-white","br2","pa3","flex","items-center","card-shadow","mb3","gap-8"],[1,"w-2/5"],[1,"f5","fw6"],[1,"f7","w-60","o-80"],[1,"fw6","f6"],[4,"ngIf","ngIfElse"],["discount",""],[1,"ml-auto"],["matTooltip","Copied","matTooltipPosition","above"],["couponHint",""],["uiBtnSize","small","trailingIcon","","uiBtnTheme","main","themeMode","secondary",3,"click"],["copyButton","btnSize"],["uiIcon","content_copy",3,"size"],["uiBtnSize","small","trailingIcon","","uiBtnTheme","main","themeMode","secondary",3,"routerLink"],["editButton","btnSize"],["uiIcon","edit",3,"size"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"matMenuTriggerFor"],["moreMenuButton","btnSize"],["uiIcon","more_vert",3,"size"],["xPosition","before"],["moreMenu","matMenu"],["mat-menu-item","",3,"click"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2,"Coupons"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div")(4,"div",2)(5,"button",3,4),e.\u0275\u0275element(7,"i",5),e.\u0275\u0275text(8," Add Coupon "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(9,"div",6)(10,"div",7),e.\u0275\u0275template(11,sc,31,11,"ng-container",8),e.\u0275\u0275elementEnd()()()()),2&t){const o=e.\u0275\u0275reference(6);e.\u0275\u0275advance(5),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(3,lc)),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngForOf",i.coupons)}},directives:[_t.s,ht.V,Qe.rH,mt.a,S.NgForOf,S.NgIf,Lt.gM,Ft.p6,Ft.VK,Ft.OP],pipes:[ge._ab],encapsulation:2}),r})();var dc=_(82986),pc=_(60029),mc=_(55972);function uc(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.uiElement.label," ")}}function gc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",16),e.\u0275\u0275text(2,"is equal to"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-select",17),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).uiElement.rule.condition.schema.const=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"i",18),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).clearConditionalShow()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("items",t.boolOptions)("ngModel",t.uiElement.rule.condition.schema.const)}}function _c(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",1)(2,"mat-form-field",2)(3,"mat-label"),e.\u0275\u0275text(4,"Question"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",3),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().uiElement.label=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"ui-select",4),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().changeQuestionType(o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"div",5)(8,"mat-form-field",6)(9,"mat-label"),e.\u0275\u0275text(10,"Description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"input",3),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().scopedSchema.description=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(12,"div",7)(13,"div",8),e.\u0275\u0275text(14,"Show question only if..."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"ui-select",9),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().ruleSelected(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(16,gc,5,2,"ng-container",0),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(17,"div",10)(18,"button",11,12),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().deleteControl()}
1),e.\u0275\u0275element(20,"i",13),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"div",14)(22,"mat-slide-toggle",15),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().required=o}),e.\u0275\u0275text(23,"Required"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275reference(19),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(5),e.\u0275\u0275property("ngModel",i.uiElement.label),e.\u0275\u0275advance(1),e.\u0275\u0275property("items",i.questionTypeOptions)("value",i.customQuestionType),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.customQuestionType===i.CustomQuestionType.Boolean),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",i.scopedSchema.description),e.\u0275\u0275advance(4),e.\u0275\u0275property("items",i.ruleOptions)("value",null==i.uiElement.rule||null==i.uiElement.rule.condition?null:i.uiElement.rule.condition.scope),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.uiElement.rule),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.required)}}let el=(()=>{class r{constructor(){this.delete=new e.EventEmitter,this.customQuestionType=He.cm.Text,this.CustomQuestionType=He.cm,this.questionTypeOptions=[{name:"Short Answer",value:He.cm.Text},{name:"Paragraph",value:He.cm.Textarea},{name:"Checkboxes",value:He.cm.Checkbox}],this.boolOptions=[{name:"false",value:!1},{name:"true",value:!0}],this.ruleOptions=[]}ngOnChanges(t){var i;(t.uiElement||t.schema)&&(this.scopedSchema=mc.WDu.schema(this.schema,this.uiElement.scope,void 0),this.setQuestionType(),this.id=this.uiElement.scope.split("/").slice(-1)[0],this.required=this.schema.required.includes(this.id)),t.conditionalQuestionOptions&&(this.ruleOptions=(null!==(i=this.conditionalQuestionOptions)&&void 0!==i?i:[]).map(o=>({name:o.label,value:o.rule.condition.scope,rule:o.rule})))}clearConditionalShow(){this.uiElement.rule=null}ruleSelected(t){var i,o;this.uiElement.rule=null!==(o=null===(i=this.ruleOptions.find(l=>l.value===t))||void 0===i?void 0:i.rule)&&void 0!==o?o:null}changeQuestionType(t){this.customQuestionType=t,this.customQuestionType==He.cm.Textarea?(this.uiElement.options={multi:!0},this.scopedSchema.type="string"):delete this.uiElement.options,this.scopedSchema.type=this.customQuestionType===He.cm.Checkbox?"boolean":"string"}setQuestionType(){"boolean"==this.scopedSchema.type?this.customQuestionType=He.cm.Checkbox:"string"==this.scopedSchema.type&&this.uiElement.options&&this.uiElement.options.multi&&(this.customQuestionType=He.cm.Textarea)}deleteControl(){this.delete.emit({id:this.id,uiElement:this.uiElement})}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-form-control-editor"]],inputs:{editing:"editing",uiElement:"uiElement",schema:"schema",conditionalQuestionOptions:"conditionalQuestionOptions"},outputs:{delete:"delete"},features:[e.\u0275\u0275NgOnChangesFeature],decls:3,vars:2,consts:[[4,"ngIf"],[1,"flex"],[1,"flex-1","mr2"],["matInput","",3,"ngModel","ngModelChange"],["appearance","bordered","label","Question Type",1,"w-160",3,"items","value","selectionChange"],[3,"hidden"],[1,"w-full"],[1,"flex","mb3","f6","items-center"],[1,"mr2"],["appearance","bordered",1,"w-220",3,"items","value","selectionChange"],[1,"bt","b--near-white","mt2","pt2","tr"],["uiBtnSize","small","iconOnly","","uiBtnTheme","error","themeMode","text",3,"click"],["deleteControlButton","btnSize"],["uiIcon","delete",3,"size"],[1,"dib","ml3","f6"],[3,"disableRipple","ngModel","ngModelChange"],[1,"mh2"],["appearance","bordered",1,"w-128",3,"items","ngModel","ngModelChange"],["uiIcon","delete",1,"ml2","pointer","fr",3,"click"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275template(1,uc,2,1,"div",0),e.\u0275\u0275template(2,_c,24,11,"ng-container",0),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.editing),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.editing))},directives:[S.NgIf,Et.KE,Et.hX,Pt.Nt,ee.Fj,ee.JJ,ee.On,tn.H,mt.a,_t.s,ht.V,Me.Rr],styles:[".editor-container[_ngcontent-%COMP%]{border-radius:4px;border:1px solid #e0e0e0;padding:12px}.editor-container--editable[_ngcontent-%COMP%]{cursor:pointer}.editor-container--editable[_ngcontent-%COMP%]:hover{border-color:#008fff7a}"]}),r})();var tl=_(25245);const hc=function(r){return{"editor-container--editable":r}};function fc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",7),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).index;
1return e.\u0275\u0275nextContext().setActiveEdit(l)}),e.\u0275\u0275elementStart(1,"div",8)(2,"mat-icon",9),e.\u0275\u0275text(3,"drag_handle"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(4,"tn-form-control-editor",10),e.\u0275\u0275listener("delete",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onDelete(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(5,hc,o.activeEdit!==i)),e.\u0275\u0275advance(4),e.\u0275\u0275property("conditionalQuestionOptions",o.conditionalQuestionOptions)("uiElement",t)("schema",o.form.schema)("editing",o.activeEdit===i)}}const vc={dragStartThreshold:0,pointerDirectionChangeThreshold:5,zIndex:2e4};let Cc=(()=>{class r{constructor(t,i,o){this.dialogRef=t,this.sourceForm=i,this.afs=o,this.conditionalQuestionOptions=[]}ngOnInit(){this.form=(0,dc.Z)({},bc,this.sourceForm),this.sourceForm||this.addControl()}trackByElement(t,i){return i}setActiveEdit(t){this.activeEdit!=t&&(this.activeEdit=t,this.setConditionalQuestionOptions())}setConditionalQuestionOptions(){const t=[];this.formComponents.forEach(i=>{"boolean"==i.scopedSchema.type&&t.push({label:i.uiElement.label,options:[!0,!1],rule:{effect:"SHOW",condition:{scope:i.uiElement.scope,schema:{const:!0}}}})}),this.conditionalQuestionOptions=[...t]}composeSchemas(){this.form.schema.required=[],this.form.schema.properties={},this.formComponents.forEach((t,i)=>{this.form.ui.elements[i]=t.uiElement,this.form.schema.properties[t.id]=t.scopedSchema,this.form.data[t.id]=this._setDefaultByType(t.
1scopedSchema.type),t.required?(this.form.schema.required=(0,pc.Z)(this.form.schema.required,[t.id]),["string","number"].includes(t.scopedSchema.type)&&(t.scopedSchema.minLength=1),"boolean"==t.scopedSchema.type&&(t.scopedSchema.const=!0)):(0,sn.Z)(this.form.schema.required,o=>o==t.id)})}_setDefaultByType(t){return"boolean"!==t&&""}addControl(){this.setConditionalQuestionOptions();const t=this.afs.createId();this.form.ui.elements.push({type:"Control",scope:`#/properties/${t}`}),this.form.schema.properties[t]={type:"string"},this.activeEdit=this.form.ui.elements.length-1}drop(t){(0,n.bA)(this.form.ui.elements,t.previousIndex,t.currentIndex)}onDelete(t){(0,sn.Z)(this.form.ui.elements,t.uiElement),delete this.form.schema.properties[t.id],this.activeEdit=null}save(){this.composeSchemas(),this.dialogRef.close(this.form)}cancel(){this.dialogRef.close()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ut.so),e.\u0275\u0275directiveInject(ut.WI),e.\u0275\u0275directiveInject(Mt.ST))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-form-editor-dialog"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(el,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.formComponents=o)}},features:[e.\u0275\u0275ProvidersFeature([{provide:n.ni,useValue:vc}])],decls:13,vars:2,consts:[[1,"mv2","tc"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],["cdkDropList","",1,"tl",3,"cdkDropListDropped"],["cdkDrag","","class","editor-container mb2",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",3,"click"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","primary",3,"click"],["cdkDrag","",1,"editor-container","mb2",3,"ngClass","click"],[1,"tc"],["cdkDragHandle","",1,"pointer"],[1,"mb1","db",3,"conditionalQuestionOptions","uiElement","schema","editing","delete"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1,"Edit Form"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"div",0)(4,"button",1),e.\u0275\u0275listener("click",function(){return i.addControl()}),e.\u0275\u0275text(5," Add question "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"div",2),e.\u0275\u0275listener("cdkDropListDropped",function(l){return i.drop(l)}),e.\u0275\u0275template(7,fc,5,7,"div",3),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"mat-dialog-actions",4)(9,"button",5),e.\u0275\u0275listener("click",function(){return i.cancel()}),e.\u0275\u0275text(10," Cancel "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"button",6),e.\u0275\u0275listener("click",function(){return i.save()}),e.\u0275\u0275text(12," Save "),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275advance(7),e.\u0275\u0275property("ngForOf",i.form.ui.elements)("ngForTrackBy",i.trackByElement))},directives:[Un.A,ut.xY,_t.s,ht.V,n.Wj,S.NgForOf,n.Zt,S.NgClass,tl.Hw,n.Bh,el,ut.H8],styles:[".editor-container[_ngcontent-%COMP%]{border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));padding-left:.75rem;padding-right:.75rem;padding-bottom:.75rem}.editor-container--editable[_ngcontent-%COMP%]{cursor:pointer}.editor-container--editable[_ngcontent-%COMP%]:hover{border-color:var(--brand-50, #228BE6)}"]}),r})();const bc={ui:{type:"VerticalLayout",elements:[]},schema:{type:"object",properties:{},required:[]},data:{}};let yc=(()=>{class r{constructor(t){this.dialog=t}open(t){return this.dialog.open(Cc,{panelClass:["app-v2","form-editor-dialog"],width:"680px",maxWidth:"680px",disableClose:!0,autoFocus:!1,data:t}).afterClosed()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(ut.uw))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})(),xc=(()=>{class r{constructor(t){var i;this.appConfigService=t,this.triggerChange=new e.EventEmitter,this.serviceStatuses=(0,ge.C0F)(this.appConfigService.serviceStatuses,null===(i=this.appConfigService.localization)||void 0===i?void 0:i.language),this.nounOptions=[]}ngOnChanges(){if(this.trigger&&this.nounOptions&&this.trigger.noun){const t=(0,un.Z)(this.nounOptions,{id:this.trigger.noun.id});t&&(this.trigger.noun.name=t.name)}}nounIdSelected(t){const i=(0,un.Z)(this.nounOptions,{id:t});i&&(this.trigger.noun=i,this.emitTrigger())}delete(){delete this.trigger.jobTemplateId,this.emitTrigger()}emitTrigger(){this.triggerChange.emit(this.trigger)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U._ZM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-job-trigger"]],inputs:{trigger:"trigger",nounOptions:"nounOptions"},outputs:{triggerChange:"triggerChange"},features:[e.\u0275\u0275NgOnChangesFeature],decls:7,vars:4,consts:[[1,"pv1","ph4","flex","bg-trigger","items-center"],["appearance","bordered","nameKey","name","valueKey","id",1,"w-220",3,"items","value","selectionChange"],[1,"mh4"],["appearance","bordered","nameKey","label",1,"w-220",3,"items","ngModel","ngModelChange"],[1,"ml-auto"],["uiIcon","delete",1,"pointer",3,"click"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"ui-select",1),e.\u0275\u0275listener("selectionChange",function(l){return i.nounIdSelected(l)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"div",2),e.\u0275\u0275text(3,"
1is moved to"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"ui-select",3),e.\u0275\u0275listener("ngModelChange",function(l){return i.trigger.stateChange=l})("ngModelChange",function(){return i.emitTrigger()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",4)(6,"i",5),e.\u0275\u0275listener("click",function(){return i.delete()}),e.\u0275\u0275elementEnd()()()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("items",i.nounOptions)("value",null==i.trigger.noun?null:i.trigger.noun.id),e.\u0275\u0275advance(3),e.\u0275\u0275property("items",i.serviceStatuses)("ngModel",i.trigger.stateChange))},directives:[tn.H,ee.JJ,ee.On,mt.a],styles:[".bg-trigger[_ngcontent-%COMP%]{background-color:#f1f9ff}"]}),r})(),Ps=(()=>{class r{constructor(t,i){this.notificationService=t,this.appConfigService=i,this.membersChange=new e.EventEmitter}ngOnInit(){const t=this.notificationService.members.map(o=>({display:o.displayName,value:{type:"user",id:null==o?void 0:o.id}})),i=this.appConfigService.roles.map(o=>({display:o,value:{type:"group",id:o}}));this.memberOptions=[...t,...i]}ngOnChanges(t){console.log()}emit(t){this.membersChange.emit(t)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(U._ZM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-notify-users-chips"]],inputs:{notificationMembersArray:"notificationMembersArray"},outputs:{membersChange:"membersChange"},features:[e.\u0275\u0275NgOnChangesFeature],decls:2,vars:3,consts:[[1,"mb1",3,"onlyFromAutocomplete","ngModel","ngModelChange"],[3,"autocompleteItems"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"tag-input",0),e.\u0275\u0275listener("ngModelChange",function(l){return i.notificationMembersArray=l})("ngModelChange",function(l){return i.emit(l)}),e.\u0275\u0275element(1,"tag-input-dropdown",1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("onlyFromAutocomplete",!0)("ngModel",i.notificationMembersArray),e.\u0275\u0275advance(1),e.\u0275\u0275property("autocompleteItems",i.memberOptions))},directives:[In.m7,ee.JJ,ee.On,In.zP],styles:[""]}),r})();var Sc=_(17205);function Tc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",10)(1,"tn-job-trigger",33),e.\u0275\u0275listener("triggerChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().index;return e.\u0275\u0275nextContext(3).triggers[l]=o}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext().index,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("trigger",i.triggers[t])("nounOptions",i.triggerNounOptions)}}function wc(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Tc,2,2,"div",32),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.jobTemplateId)}}function kc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",22)(1,"div",23)(2,"div",6)(3,"div",7),e.\u0275\u0275text(4," Job Triggers "),e.\u0275\u0275elementStart(5,"div",8),e.\u0275\u0275text(6,"Create this job when..."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"div",9),e.\u0275\u0275template(8,wc,2,1,"ng-container",27),e.\u0275\u0275elementStart(9,"div",28)(10,"button",25),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).saveTriggers()}),e.\u0275\u0275text(11," Save "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"button",29,30),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).addTrigger()}),e.\u0275\u0275element(14,"i",31),e.\u0275\u0275text(15," Add Trigger "),e.\u0275\u0275elementEnd()()()()()()}if(2&r){const t=e.\u0275\u0275reference(13),i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(8),e.\u0275\u0275property("ngForOf",i.triggers),e.\u0275\u0275advance(6),e.\u0275\u0275property("size",t.iconSize)}}function nl(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-form-renderer",34),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("schema",t.jobTemplate.intakeForm.schema)("uischema",t.jobTemplate.intakeForm.ui)("data",t.jobTemplate.intakeForm.data)}}function qi(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-form-renderer",35),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("schema",t.jobTemplate.deliverablesForm.schema)("uischema",t.jobTemplate.deliverablesForm.ui)}}const Ec=function(){return[".."]},Oc=function(){return[]};
1function Ic(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",1)(1,"h1",2),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div")(4,"button",3,4),e.\u0275\u0275element(6,"i",5),e.\u0275\u0275text(7," Back "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"div",6)(9,"div",7),e.\u0275\u0275text(10," General "),e.\u0275\u0275elementStart(11,"div",8),e.\u0275\u0275text(12,"Configure the default templates and settings for each job."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(13,"div",9)(14,"div",10)(15,"mat-form-field")(16,"mat-label"),e.\u0275\u0275text(17,"Job Name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"input",11),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().jobTemplate.title=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(19,"div",10)(20,"mat-form-field",12)(21,"mat-label"),e.\u0275\u0275text(22,"Short Description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(23,"textarea",13,14),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().jobTemplate.shortDescription=o}),e.\u0275\u0275text(25," "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(26,"div",10)(27,"mat-form-field")(28,"mat-label"),e.\u0275\u0275text(29,"Default work load"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(30,"input",15),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().jobTemplate.workload=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(31,"div",10)(32,"mat-form-field")(33,"mat-label"),e.\u0275\u0275text(34,"Default turnaround / deadline"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(35,"input",16),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().jobTemplate.turnaroundDays=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(36,"div",10)(37,"div",17),e.\u0275\u0275text(38,"Job Instructions*"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(39,"div",18),e.\u0275\u0275listener("froalaModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().jobTemplate.instructions=o}),e.\u0275\u0275text(40," Editor "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(41,"div",19)(42,"button",20),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveJobDetails()}),e.\u0275\u0275text(43," Save "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275template(44,kc,16,2,"div",21),e.\u0275\u0275elementStart(45,"div",22)(46,"div",23)(47,"div",6)(48,"div",7),e.\u0275\u0275text(49," Notifications "),e.\u0275\u0275elementStart(50,"div",8),e.\u0275\u0275text(51,"When a job is submitted, notify..."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(52,"div",9)(53,"tn-notify-users-chips",24),e.\u0275\u0275listener("membersChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().jobTemplate.notifyMembers=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(54,"button",25),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveNotifyMembers()}),e.\u0275\u0275text(55," Save "),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275elementStart(56,"div",22)(57,"div",23)(58,"div",6)(59,"div",7),e.\u0275\u0275text(60," Intake Form "),e.\u0275\u0275elementStart(61,"div",8),e.\u0275\u0275text(62),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(63,"div",9),e.\u0275\u0275template(64,nl,2,3,"ng-container",26),e.\u0275\u0275elementStart(65,"button",20),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().editIntakeForm()}),e.\u0275\u0275text(66),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275elementStart(67,"div",22)(68,"div",23)(69,"div",6)(70,"div",7),e.\u0275\u0275text(71," Deliverables Form "),e.\u0275\u0275elementStart(72,"div",8),e.\u0275\u0275text(73,"Filled out by person completing the job"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(74,"div",9),e.\u0275\u0275template(75,qi,2,2,"ng-container",26),e.\u0275\u0275elementStart(76,"button",20),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().editDeliverablesForm()}),e.\u0275\u0275text(77),e.\u0275\u0275elementEnd()()()()()()()}if(2&r){const t=e.\u0275\u0275reference(5),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1("Edit Job Template - ",null==i.jobTemplate?null:i.jobTemplate.title,""),e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(15,Ec)),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(12),e.\u0275\u0275property("ngModel",i.jobTemplate.title),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngModel",i.jobTemplate.shortDe
1scription),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngModel",i.jobTemplate.workload),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngModel",i.jobTemplate.turnaroundDays),e.\u0275\u0275advance(4),e.\u0275\u0275property("froalaModel",i.jobTemplate.instructions),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf","revision"!==i.jobTemplate.type),e.\u0275\u0275advance(9),e.\u0275\u0275property("notificationMembersArray",i.jobTemplate.notifyMembers?i.jobTemplate.notifyMembers:e.\u0275\u0275pureFunction0(16,Oc)),e.\u0275\u0275advance(9),e.\u0275\u0275textInterpolate1(" ","revision"===i.jobTemplate.type?"Filled out by customer":"Filled out by job creator"," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.jobTemplate&&i.jobTemplate.intakeForm),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",null!=i.jobTemplate&&i.jobTemplate.intakeForm?"Edit form":"Add form"," "),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngIf",i.jobTemplate&&i.jobTemplate.deliverablesForm),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",null!=i.jobTemplate&&i.jobTemplate.deliverablesForm?"Edit form":"Add form"," ")}}let cn=(()=>{class r{constructor(t,i,o,l,h){this.route=t,this.afs=i,this.jobsService=o,this._snackBar=l,this.formEditorDialog=h,this.deliverablesForm={ui:il,schema:rl}}ngOnInit(){this.route.paramMap.subscribe(t=>{const i=t.get("jobTemplateId");this.getJobDetails(i),this.jobsService.getTriggersByJob(i).then(o=>{this.triggers=o})}),this.jobsService.getTriggerOptions().then(t=>{this.triggerNounOptions=t})}getJobDetails(t){this.afs.collection("jobTemplates").doc(t).get().subscribe(i=>{this.jobTemplate=i.data(),this.jobDoc=i})}saveDeliverable(){this.jobDoc.ref.update({deliverablesForm:{ui:il,schema:rl}})}saveNotifyMembers(){this.jobDoc.ref.update({notifyMembers:this.jobTemplate.notifyMembers}).then(()=>this.displaySaveConfirmation())}editIntakeForm(){this.formEditorDialog.open(this.jobTemplate.intakeForm).pipe((0,Nt.q)(1)).subscribe(t=>{t&&(this.jobTemplate.intakeForm=t,this.jobDoc.ref.update({intakeForm:this.jobTemplate.intakeForm}).then(()=>this.displaySaveConfirmation()))})}editDeliverablesForm(){this.formEditorDialog.open(this.jobTemplate.deliverablesForm).pipe((0,Nt.q)(1)).subscribe(t=>{t&&(this.jobTemplate.deliverablesForm=t,this.jobDoc.ref.update({deliverablesForm:this.jobTemplate.deliverablesForm}).then(()=>this.displaySaveConfirmation()))})}saveIntake(){this.jobDoc.ref.update({intakeForm:{ui:Dc,schema:Mc}})}saveJobDetails(){const t=this.afs.firestore.batch();this.triggers.forEach(i=>{i.id&&t.update(this.afs.doc(`jobTriggers/${i.id}`).ref,{jobTitle:this.jobTemplate.title,jobDescription:this.jobTemplate.shortDescription})}),t.update(this.jobDoc.ref,this.jobTemplate),t.commit().then(()=>{this.displaySaveConfirmation(),this.getJobDetails(this.jobDoc.id)})}displaySaveConfirmation(){this._snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}addTrigger(){this.triggers.push({jobTemplateId:this.jobDoc.id,jobDescription:this.jobTemplate.shortDescription?this.jobTemplate.shortDescription:"",jobTitle:this.jobTemplate.title?this.jobTemplate.title:""})}saveTriggers(){const t=this.afs.firestore.batch();this.triggers.forEach(i=>{i.jobTemplateId?(i.id||(i.id=this.afs.createId()),t.set(this.afs.doc(`jobTriggers/${i.id}`).ref,i,{merge:!0})):i.id&&t.delete(this.afs.doc(`jobTriggers/${i.id}`).ref)}),t.commit().then(()=>this.displaySaveConfirmation())}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.eC$),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(yc))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-configure-job-details-page"]],decls:1,vars:1,consts:[["class","container pv3",4,"ngIf"],[1,"container","pv3"],[1,"mb-20"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mb-20",3,"routerLink"],["backButton","btnSize"],["uiIcon","arrow_back",3,"size"],[1,"card"],[1,"card-header"],[1,"text-muted","f7"],[1,"card-body"],[1,"mb2"],["required","","matInput","","placeholder","Photo Editing Job",3,"ngModel","ngModelChange"],[1,"w-100"],["cdkTextareaAutosize","","required","","cdkAutosizeMinRows","1","matInput","","placeholder","Job for photo editing...",3,"ngModel","ngModelChange"],["autosize","cdkTextareaAutosize"],["matInput","","name","workload","suffix"," hrs","thousandSeparator",",","mask","separator","placeholder","2 hrs",3,"ngModel","ngModelChange"],["matInput","","name","deadline","suffix"," days","thousandSeparator",",","mask","separator","placeholder","3 days",3,"ngModel","ngModelChange"],[1,"fw6","mb2"],["required","",3,"froalaModel","uiFroalaEditor","froalaModelChange"],[1,"mt3"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",3,"click"],["class","row",4,"ngIf"],[1,"row"],[1,"col-md-12"],[3,"notificationMembersArray","membersChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],[4,"ngIf"],[4,"ngFor","ngForOf"],[1,"flex","items-center","gap-8"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["addTriggerButton","btnSize"],["uiIcon","add",3,"size"],["class","mb2",4,"ngIf"],[3,"trigger","nounOptions","triggerChange"],[1,"db","mb4",3,"schema","uischema","data"],[1,"db","mb4",3,"schema","uischema"]],template:function(t,i){1&t&&e.\u0275\u0275template(0,Ic,78,17,"div",0),2&t&&e.\u0275\u0275property("ngIf",i.jobTemplate)},directives:[S.NgIf,_t.s,ht.V,Qe.rH,mt.a,Et.KE,Et.hX,Pt.Nt,ee.Fj,ee.Q7,ee.JJ,ee.On,ia.IC,En.Z6,ui.V,S.NgForOf,xc,Ps,Sc.v],styles:["textarea[_ngcontent-%COMP%]{height:20px}"]}),r})();
1const Dc={type:"VerticalLayout",elements:[{type:"Control",label:"Total Files Uploaded",scope:"#/properties/filesUploaded"},{type:"Control",label:"Total Output Images",scope:"#/properties/outputImages"},{type:"Control",label:"Dropbox RAW Files",scope:"#/properties/raw"},{type:"Control",label:"TV",scope:"#/properties/tv"},{type:"Control",label:"Fireplace",scope:"#/properties/fireplace"},{type:"Control",label:"Image Retouching Instructions",scope:"#/properties/retouching",options:{multi:!0}}]},Mc={type:"object",properties:{filesUploaded:{type:"number"},outputImages:{type:"number"},raw:{type:"string"},tv:{type:"boolean"},fireplace:{type:"boolean"},retouching:{type:"string",description:"Photoshop Requests may be subject to a $20/image fee"}},required:["filesUploaded","outputImages","raw"]},il={type:"VerticalLayout",elements:[{type:"Control",label:"Dropbox link",scope:"#/properties/dropbox"}]},rl={type:"object",properties:{dropbox:{type:"string"}},required:["dropbox"]},ol=function(r){return["./",r]};function Pc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",13)(1,"div",14)(2,"div",15),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(4,"div",16),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",17)(7,"button",18),e.\u0275\u0275text(8," Edit "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(9,"div",19)(10,"button",20,21),e.\u0275\u0275element(12,"i",22),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"mat-menu",23,24)(15,"button",25),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().deleteJob(o)}),e.\u0275\u0275text(16,"Delete"),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275reference(11),i=e.\u0275\u0275reference(14),o=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" ",o.data.title," "),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",o.data.shortDescription," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(5,ol,o.id)),e.\u0275\u0275advance(3),e.\u0275\u0275property("matMenuTriggerFor",i),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function Fc(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Pc,17,7,"div",12),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","revision"!==t.data.type)}}function Ac(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",13)(1,"div",26)(2,"div",15),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(4,"div",16),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div")(7,"div",27),e.\u0275\u0275text(8,"Enabled"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"div",28)(10,"mat-slide-toggle",29),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().$implicit.data.enabled=o})("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().updateEnabled(l,o)}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(11,"div",17)(12,"button",30),e.\u0275\u0275text(13," Edit "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(14,"div",19)(15,"button",20,21),e.\u0275\u0275element(17,"i",22),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"mat-menu",23,24)(20,"button",25),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().deleteJob(o)}),e.\u0275\u0275text(21,"Delete"),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275reference(16),i=e.\u0275\u0275reference(19),o=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" ",o.data.title," "),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",o.data.shortDescription," "),e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.data.enabled),e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(7,ol,o.id)),e.\u0275\u0275advance(3),e.\u0275\u0275property("matMenuTriggerFor",i),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}
1function Bc(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Ac,22,9,"div",12),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","revision"===t.data.type)}}let jc=(()=>{class r{constructor(t,i,o){this.afs=t,this.jobsService=i,this.popupService=o}ngOnInit(){this._getTemplates()}_getTemplates(){this.afs.collection("jobTemplates").get().subscribe(t=>{this.jobTemplates=t.docs.map(i=>({data:i.data(),id:i.id}))})}addJobTemplate(){this.afs.collection("jobTemplates").add({title:"New Job"}).then(()=>this._getTemplates())}addRevisionJobTemplate(){this.afs.collection("jobTemplates").add({title:"New Job",type:"revision",enabled:!0}).then(()=>this._getTemplates())}deleteJob(t){this.popupService.open({text:"Are you sure you want to delete this job?",showCancelButton:!0,destructive:!0}).then(i=>(0,De.mG)(this,void 0,void 0,function*(){if(!0===i.value){const o=this.afs.firestore.batch();o.delete(this.afs.doc(`jobTemplates/${t.id}`).ref),yield this.jobsService.getTriggersByJob(t.id).then(l=>l.forEach(h=>{o.delete(this.afs.doc(`jobTriggers/${h.id}`).ref)})),o.commit()}}))}updateEnabled(t,i){this.afs.doc(`jobTemplates/${t.id}`).update({enabled:i})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.eC$),e.\u0275\u0275directiveInject(U.qLq))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-configure-jobs-page"]],decls:25,vars:4,consts:[[1,"container","pv3"],[1,"mb-3"],[1,"tr","mb2","ph3"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["addJobButton","btnSize"],["uiIcon","add",3,"size"],[1,"ph3"],[1,"mv3","jobs__sub-container"],[4,"ngFor","ngForOf"],[1,"flex","pt4"],[1,"ml-auto","tr","mb2","ph3"],["addRevisionJobButton","btnSize"],["class","bg-white br2 pa3 flex items-center card-shadow mb3",4,"ngIf"],[1,"bg-white","br2","pa3","flex","items-center","card-shadow","mb3"],[1,"w-1/3","mr2"],[1,"f5","fw6"],[1,"f7","w-60","o-80"],[1,"ml-auto"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"routerLink"],[1,"ml-8"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"matMenuTriggerFor"],["moreMenuButton","btnSize"],["uiIcon","more_vert",3,"size"],["xPosition","before"],["moreMenu","matMenu"],["mat-menu-item","",3,"click"],[1,"w-20","mr2"],[1,"o-80","fw5","f6"],[1,"o-90","fw6"],["name","enabled",3,"disableRipple","ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"routerLink"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2,"Configure Jobs"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"h2"),e.\u0275\u0275text(4,"Job Templates"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div")(6,"div",2)(7,"button",3,4),e.\u0275\u0275listener("click",function(){return i.addJobTemplate()}),e.\u0275\u0275element(9,"i",5),e.\u0275\u0275text(10," Add Job "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(11,"div",6)(12,"div",7),e.\u0275\u0275template(13,Fc,2,1,"ng-container",8),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(14,"div",9)(15,"h2"),e.\u0275\u0275text(16,"Revision Requests"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(17,"div",10)(18,"button",3,11),e.\u0275\u0275listener("click",function(){return i.addRevisionJobTemplate()}),e.\u0275\u0275element(20,"i",5),e.\u0275\u0275text(21," Add Revision Job "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(22,"div",6)(23,"div",7),e.\u0275\u0275template(24,Bc,2,1,"ng-container",8),e.\u0275\u0275elementEnd()()()),2&t){const o=e.\u0275\u0275reference(8),l=e.\u0275\u0275reference(19);e.\u0275\u0275advance(9),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngForOf",i.jobTemplates),e.\u0275\u0275advance(7),e.\u0275\u0275property("size",l.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngForOf",i.jobTemplates)}},directives:[_t.s,ht.V,mt.a,S.NgForOf,S.NgIf,Qe.rH,Ft.p6,Ft.VK,Ft.OP,Me.Rr,ee.JJ,ee.On],styles:[".jobs__sub-container[_ngcontent-%COMP%]{min-height:60px}.active-order-width[_ngcontent-%COMP%]{max-width:370px}.card-header[_ngcontent-%COMP%], .card-body[_ngcontent-%COMP%]{padding:16px}"]}),r})();var Rc=_(82746),gi=_(28110),al=_(84415);let sl=(()=>
1{class r{constructor(){this.valueField="linkedServices",this.includeAddons=!0,this.servicesChange=new e.EventEmitter,this.packageChipsOptions=[],this.packageChips=[]}ngOnChanges(t){t.packageDoc&&this._mapServicesToChips(this.packageDoc),t.servicesCollectionPromise&&this.servicesCollectionPromise.then(i=>{this.packageChipsOptions=i.docs.filter(o=>this.includeAddons||!o.data().addon).map(o=>{const l=o.data();return{display:l.name,value:o.id,id:o.id,data:l}})})}_mapServicesToChips(t){if(!t)return;this.packageChips=[];const i=t.data;t.data&&i[this.valueField]&&(this.packageChips=i[this.valueField].map(o=>({display:o.data.name,value:o.id})))}emitLinkedServices(){const i=this.packageChips.map(o=>o.value).map(o=>(0,un.Z)(this.packageChipsOptions,{value:o})).filter(o=>!!o).map(o=>({data:o.data,id:o.id}));this.servicesChange.emit(i)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-package-chip-autocomplete"]],inputs:{servicesCollectionPromise:"servicesCollectionPromise",packageDoc:"packageDoc",valueField:"valueField",includeAddons:"includeAddons"},outputs:{servicesChange:"servicesChange"},features:[e.\u0275\u0275NgOnChangesFeature],decls:2,vars:3,consts:[[1,"mb1",3,"onlyFromAutocomplete","ngModel","ngModelChange"],[3,"autocompleteItems"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"tag-input",0),e.\u0275\u0275listener("ngModelChange",function(l){return i.packageChips=l})("ngModelChange",function(){return i.emitLinkedServices()}),e.\u0275\u0275element(1,"tag-input-dropdown",1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("onlyFromAutocomplete",!0)("ngModel",i.packageChips),e.\u0275\u0275advance(1),e.\u0275\u0275property("autocompleteItems",i.packageChipsOptions))},directives:[In.m7,ee.JJ,ee.On,In.zP],styles:[""]}),r})();function Vc(r,a){1&r&&e.\u0275\u0275element(0,"th",36)}function Lc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"td",37)(1,"mat-checkbox",38),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()})("change",function(o){const h=e.\u0275\u0275restoreView(t).$implicit,y=e.\u0275\u0275nextContext();return o?y.selection.toggle(h):null}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("checked",i.selection.isSelected(t))}}function Nc(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",39),e.\u0275\u0275text(1,"Thumbnail"),e.\u0275\u0275elementEnd())}function ll(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span"),e.\u0275\u0275element(1,"div",43),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275styleProp("background-image","url("+t.data.img+")")}}function $c(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",44),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().changeThumbnail(o)}),e.\u0275\u0275text(1," Change "),e.\u0275\u0275elementEnd()}}function zc(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",40),e.\u0275\u0275template(1,ll,2,2,"span",41),e.\u0275\u0275template(2,$c,2,0,"button",42),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.data.img),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.editing[null==t.doc?null:t.doc.id])}}function Uc(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",45),e.\u0275\u0275text(1," Name "),e.\u0275\u0275elementEnd())}function Hc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"input",48),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().$implicit.data.name=o}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("ngModel",t.data.name)}}function Wc(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",40)(1,"span",46),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Hc,1,1,"input",47),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.editing[null==t.doc?null:t.doc.id]),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",null==t.data?null:t.data.name," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.editing[null==t.doc?null:t.doc.id])}}function Fs(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",49),e.\u0275\u0275text(1,"Agent Code"),e.\u0275\u0275elementEnd())}function As(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"input",48),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().$implicit.data.agentCode=o})("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().$implicit.data.agentCode=o.toUpperCase()}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("ngModel",t.data.agentCode)}}function Gc(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",37)(1,"span",46),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,As,1,1,"input",47),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.editing[null==t.doc?null:t.doc.id]),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",t.data.agentCode," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.editing[null==t.doc?null:t.doc.id])}}function Kc(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",36),e.\u0275\u0275text(1,"Services"),e.\u0275\u0275elementEnd())}
1function Zc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-package-chip-autocomplete",52),e.\u0275\u0275listener("servicesChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().updatePackagedServices(l,o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("packageDoc",t)("servicesCollectionPromise",i.servicesCollectionPromise)}}function Qc(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",50)(1,"span",46),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Zc,1,2,"tn-package-chip-autocomplete",51),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.editing[null==t.doc?null:t.doc.id]),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",i.getLinkedServicesDisplay(null==t.doc?null:t.doc.id)," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.editing[null==t.doc?null:t.doc.id])}}function Jc(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",49),e.\u0275\u0275text(1,"Price"),e.\u0275\u0275elementEnd())}function Yc(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"input",54),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().$implicit.data.price=o}),e.\u0275\u0275pipe(1,"uiCurrency"),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(1,2,""))("ngModel",t.data.price)}}function Xc(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",37)(1,"span",46),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"uiCurrency"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,Yc,2,4,"input",53),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.editing[null==t.doc?null:t.doc.id]),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",e.\u0275\u0275pipeBind1(3,3,t.data.price),"+"),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.editing[null==t.doc?null:t.doc.id])}}function qc(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",36),e.\u0275\u0275text(1,"View in Booking"),e.\u0275\u0275elementEnd())}const ed=function(){return["/book"]},td=function(r){return{agent_code:r}};function nd(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"a",57),e.\u0275\u0275element(1,"i",58),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(2,ed))("queryParams",e.\u0275\u0275pureFunction1(3,td,t.data.agentCode))}}function id(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",55),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275template(1,nd,2,5,"a",56),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.data.agentCode)}}function rd(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",36),e.\u0275\u0275text(1,"Edit Additional Details"),e.\u0275\u0275elementEnd())}const od=function(r){return[r]};function ad(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"a",60),e.\u0275\u0275element(1,"i",61),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(1,od,t.doc.id))}}function sd(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",55),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275template(1,ad,2,3,"a",59),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.doc.id)}}function Bs(r,a){1&r&&e.\u0275\u0275element(0,"th",36)}function ro(r,a){if(1&r&&e.\u0275\u0275element(0,"i",63),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("matTooltip",i.getPackageIncompleteDataMessage(t.data))}}function ld(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",44),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).saveChanges()}),e.\u0275\u0275text(1," Save changes "),e.\u0275\u0275elementEnd()}}function cl(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",55),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275template(1,ro,1,1,"i",62),e.\u0275\u0275template(2,ld,2,0,"button",42),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!!t.doc.id&&i.isPackageDataIncomplete(t.data)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!t.doc.id)}}function js(r,a){1&r&&e.\u0275\u0275element(0,"tr",64)}const cd=function(r){return{incomplete:r}};function Rs(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tr",65),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().editing[null==l.doc?null:l.doc.id]=!0}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(1,cd,!(null==t.doc||!t.doc.id)&&i.isPackageDataIncomplete(t.data)))}}let dd=(()=>
1{class r{constructor(t,i,o,l,h){this.afs=t,this.bookingService=i,this.projectService=o,this.servicesRepository=l,this.fileLibraryDialog=h,this.selection=new Kn.Ov(!0,[]),this.data=[],this.editing={undefined:!0},this.integratedBooking=!1,this.servicesByPackageId={},this.displayedColumns=["select","name","agentCode","services","price","thumbnail","link","details","validation"]}ngOnInit(){this.afs.collection("globals").doc("booking").get().subscribe(t=>{t.exists&&(this.bookingConfig=t.data())}),this.servicesCollectionPromise=this.afs.collection("services").get().toPromise(),this.projectService.getBookingFlows().subscribe(t=>{this.integratedBooking=t.some(i=>i.integratedBooking)})}ngAfterViewInit(){(0,ln.aj)([this.servicesRepository.getAll(),this.bookingService.getBookingPackages("custom")]).pipe((0,Nt.q)(1)).subscribe(([t,i])=>{const o=(0,Rc.Z)(t,"id");i.forEach(l=>{var h;(null===(h=l.data.linkedServiceIds)||void 0===h?void 0:h.length)?(l.data.linkedServices=(0,gi.Z)((l.data.linkedServiceIds||[]).map(y=>{const F=o[y];return F?{id:F.id,data:F}:null})),this.servicesByPackageId[l.doc.id]=(0,gi.Z)((l.data.linkedServiceIds||[]).map(y=>{var F;return null===(F=o[y])||void 0===F?void 0:F.name}))):l.data.linkedServices=[]}),this.updateTableData(i),this.initTableFilter(),this.initTableSort()})}initTableFilter(){this.dataSource.filterPredicate=(t,i)=>["name","agentCode"].some(o=>{var l;return null===(l=t.data[o])||void 0===l?void 0:l.toLocaleLowerCase().includes(i)})}initTableSort(){this.dataSource.sortData=(t,i)=>i.active&&""!==i.direction?t.sort((o,l)=>{let h;switch(i.active){case"name":default:h=o.data.name.localeCompare(l.data.name);break;case"agentCode":h=o.data.agentCode.localeCompare(l.data.agentCode);break;case"price":h=o.data.price.toString().localeCompare(l.data.price.toString())}return h*("asc"==i.direction?1:-1)}):t}addRow(){this.data.unshift({doc:{},data:{name:"",agentCode:"",description:"",price:"",services:[],linkedServices:[],linkedServiceIds:[]}}),this.updateTableData(this.data)}clearChanges(){this.editing={undefined:!0},this.selection.clear(),this.ngAfterViewInit()}duplicatePackage(){return(0,De.mG)(this,void 0,void 0,function*(){const t=this.afs.firestore.batch();for(const i of this.selection.selected){const o=this.afs.createId(),l=this.afs.collection("customPackages").doc(o),h=yield i.doc.ref.collection("configurations").doc("expandedDetails").get();t.set(l.ref,Object.assign(Object.assign({},i.data),{name:`${i.data.name} - Duplicate`})),h.exists&&t.set(l.ref.collection("configurations").doc("expandedDetails"),h.data())}t.commit().then(()=>{this.selection.clear(),this.ngAfterViewInit()})})}deletePackage(){const t=this.afs.firestore.batch();this.selection.selected.forEach(i=>{i.doc&&t.delete(i.doc.ref)}),t.commit().then(()=>{this.selection.clear(),this.ngAfterViewInit()})}changeThumbnail(t){this.fileLibraryDialog.open().pipe((0,Nt.q)(1)).subscribe(i=>{i&&(t.data.img=i)})}updatePackagedServices(t,i){const o=i.map(l=>l.id);t.data.linkedServiceIds=o}isPackageDataIncomplete(t){return this.getPackageIncompleteSections(t).length>0}getPackageIncompleteSections(t){return(0,ge.Hsn)(t,(0,ge.meL)(t.bookingType,this.bookingConfig),this.integratedBooking,t.bookingType===He.cY.BRANDING)}getPackageIncompleteDataMessage(t){return`Please fill in missing or incomplete data ${this.getPackageIncompleteSections(t).join(", ")}`}saveChanges(){const t=this.data.filter(l=>!l.doc.id),i=this.data.filter(l=>l.doc.id&&this.editing[l.doc.id]),o=this.afs.firestore.batch();t.forEach(l=>{const h=this.afs.collection("customPackages").doc(this.afs.createId()).ref;l.data=Object.assign({},l.data),delete l.data.linkedServices,o.set(h,l.data)}
1),i.forEach(l=>{const h=Object.assign({},l.data);delete h.linkedServices,delete h.id,o.update(l.doc.ref,h)}),o.commit().then(()=>this.ngAfterViewInit()),this.editing={},this.selection.clear()}trackById(t,i){return i.id}getLinkedServicesDisplay(t){return(this.servicesByPackageId[t]||[]).join(", ")}updateTableData(t){this.dataSource=new $.by(t),this.dataSource.sort=this.sort,this.data=t}applyFilter(t){this.dataSource.filter=t.target.value.trim().toLowerCase()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.q$k),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(U.pZw),e.\u0275\u0275directiveInject(ti))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-custom-packages-page"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(he,7),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.sort=o.first)}},decls:58,vars:5,consts:[[1,"page-wrapper","full-height","overflow-auto"],[1,"flex","flex-1","flex-col","h-full"],[1,"row","h-full"],[1,"col-12","h-full"],[1,"card","h-full"],[1,"p-24"],[1,"flex","px-24"],["matInput","","placeholder","Ex. ium",3,"keyup"],[1,"ml-auto"],[1,"flex","gap-8"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"disabled","click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],[1,"card-body","h-full"],[3,"heightChange"],[1,"relative","overflow-auto"],["tableWrapper",""],["mat-table","","matSort","",1,"admin-table",3,"dataSource"],["matColumnDef","select"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","",4,"matCellDef"],["matColumnDef","thumbnail"],["class","name-column","mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","class","name-column",4,"matCellDef"],["matColumnDef","name"],["class","name-column","mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["matColumnDef","agentCode"],["mat-header-cell","","mat-sort-header","",4,"matHeaderCellDef"],["matColumnDef","services"],["class","chips-column","mat-cell","",4,"matCellDef"],["matColumnDef","price"],["matColumnDef","link"],["mat-cell","","class","tc",3,"click",4,"matCellDef"],["matColumnDef","details"],["matColumnDef","validation"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","","tabindex","1",3,"ngClass","click",4,"matRowDef","matRowDefColumns"],["mat-header-cell",""],["mat-cell",""],[3,"checked","click","change"],["mat-header-cell","",1,"name-column"],["mat-cell","",1,"name-column"],[4,"ngIf"],["uiBtnSize","x-small","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],[1,"thumbnail"],["uiBtnSize","x-small","uiBtnTheme","main","themeMode","secondary",3,"click"],["mat-header-cell","","mat-sort-header","",1,"name-column"],[3,"hidden"],["matinput","","class","border",3,"ngModel","ngModelChange",4,"ngIf"],["matinput","",1,"border",3,"ngModel","ngModelChange"],["mat-header-cell","","mat-sort-header",""],["mat-cell","",1,"chips-column"],[3,"packageDoc","servicesCollectionPromise","servicesChange",4,"ngIf"],[3,"packageDoc","servicesCollectionPromise","servicesChange"],["type","text","class","border","suffix","+","thousandSeparator",",","mask","separator","matinput","",3,"prefix","ngModel","ngModelChange",4,"ngIf"],["type","text","suffix","+","thousandSeparator",",","mask","separator","matinput","",1,"border",3,"prefix","ngModel","ngModelChange"],["mat-cell","",1,"tc",3,"click"],["target","_blank",3,"routerLink","queryParams",4,"ngIf"],["target","_blank",3,"routerLink","queryParams"],["uiIcon","link"],[3,"routerLink",4,"ngIf"],[3,"routerLink"],["uiIcon","edit"],["uiIcon","error","matTooltipPosition","left",3,"matTooltip",4,"ngIf"],["uiIcon","error","matTooltipPosition","left",3,"matTooltip"],["mat-header-row",""],["mat-row","","tabindex","1",3,"ngClass","click"]],template:function(t,i){if(1&t){const o=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4)(5,"h1",5),e.\u0275\u0275text(6,"Custom Packages"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",6)(8,"mat-form-field")(9,"mat-label"),e.\u0275\u0275text(10,"Filter"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"input",7),e.\u0275\u0275listener("keyup",function(h){return i.applyFilter(h)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"div",8)(13,"div",9)(14,"button",10),e.\u0275\u0275listener("click",function(){return i.duplicatePackage()}),e.\u0275\u0275text(15," Duplicate "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"button",10),e.\u0275\u0275listener("click",function(){return i.deletePackage()}),e.\u0275\u0275text(17," Delete "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"button",11),e.\u0275\u0275listener("click",function(){return i.addRow()}),e.\u0275\u0275text(19," New Package "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(20,"button",11),e.\u0275\u0275listener("click",function(){return i.saveChanges()}
1),e.\u0275\u0275text(21," Save Changes "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"button",11),e.\u0275\u0275listener("click",function(){return i.clearChanges()}),e.\u0275\u0275text(23," Clear Changes "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(24,"div",12)(25,"ui-vertical-autofit-container",13),e.\u0275\u0275listener("heightChange",function(h){return e.\u0275\u0275restoreView(o),e.\u0275\u0275reference(27).style.height=h+"px"}),e.\u0275\u0275elementStart(26,"div",14,15)(28,"table",16),e.\u0275\u0275elementContainerStart(29,17),e.\u0275\u0275template(30,Vc,1,0,"th",18),e.\u0275\u0275template(31,Lc,2,1,"td",19),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(32,20),e.\u0275\u0275template(33,Nc,2,0,"th",21),e.\u0275\u0275template(34,zc,3,2,"td",22),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(35,23),e.\u0275\u0275template(36,Uc,2,0,"th",24),e.\u0275\u0275template(37,Wc,4,3,"td",22),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(38,25),e.\u0275\u0275template(39,Fs,2,0,"th",26),e.\u0275\u0275template(40,Gc,4,3,"td",19),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(41,27),e.\u0275\u0275template(42,Kc,2,0,"th",18),e.\u0275\u0275template(43,Qc,4,3,"td",28),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(44,29),e.\u0275\u0275template(45,Jc,2,0,"th",26),e.\u0275\u0275template(46,Xc,5,5,"td",19),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(47,30),e.\u0275\u0275template(48,qc,2,0,"th",18),e.\u0275\u0275template(49,id,2,1,"td",31),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(50,32),e.\u0275\u0275template(51,rd,2,0,"th",18),e.\u0275\u0275template(52,sd,2,1,"td",31),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(53,33),e.\u0275\u0275template(54,Bs,1,0,"th",18),e.\u0275\u0275template(55,cl,3,2,"td",31),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275template(56,js,1,0,"tr",34),e.\u0275\u0275template(57,Rs,1,3,"tr",35),e.\u0275\u0275elementEnd()()()()()()()()()}2&t&&(e.\u0275\u0275advance(14),e.\u0275\u0275property("disabled",!i.selection.selected.length),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",!i.selection.selected.length),e.\u0275\u0275advance(12),e.\u0275\u0275property("dataSource",i.dataSource),e.\u0275\u0275advance(28),e.\u0275\u0275property("matHeaderRowDef",i.displayedColumns),e.\u0275\u0275advance(1),e.\u0275\u0275property("matRowDefColumns",i.displayedColumns))},directives:[Et.KE,Et.hX,Pt.Nt,_t.s,ht.V,al.i,$.BZ,he,$.w1,$.fO,$.ge,$.Dz,$.ev,Q.oG,S.NgIf,nt,ee.Fj,ee.JJ,ee.On,sl,En.Z6,Qe.yS,mt.a,Lt.gM,$.as,$.XQ,$.nj,$.Gk,S.NgClass],pipes:[ge._ab],styles:[".description-column[_ngcontent-%COMP%]{min-width:300px}.admin-table[_ngcontent-%COMP%]{min-width:900px}.chips-column[_ngcontent-%COMP%]{min-width:500px}.name-column[_ngcontent-%COMP%]{padding-left:0;min-width:150px}.thumbnail[_ngcontent-%COMP%]{width:85px;height:49px;background-image:url(/assets/images/services/3.jpg);background-position:center center;background-repeat:no-repeat;background-size:cover}tr.incomplete[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{color:#fa5252}"]}),r})();var Hn=_(92858),Rn=_(21086),pd=_(34376),Jn=_(7763);let Vs=(()=>{class r extends Xt.m1{constructor(t,i,o,l,h,y,F,te){super({templates:[],templatesLoaded:!1}),this.snackBar=t,this.activatedRoute=i,this.appConfigService=o,this.orderTemplateDataService=l,this.messageTemplatesRepository=h,this.coreRepository=y,this.invoicesRepositoryService=F,this.ordersRepositoryService=te,this.templateType$=this.select(H=>H.templateType),this.orderTemplateData$=this.select(H=>H.orderTemplateData),this.recurringInvoicePreviewData$=this.select(H=>H.recurringInvoicePreviewData),this.templates$=this.select(H=>H.templates),this.templatesLoaded$=this.select(H=>H.templatesLoaded),this.initTemplateType=this.effect(()=>this.activatedRoute.params.pipe((0,qe.U)(H=>this.patchState({templateType:H.templateType})))),this.addTemplate=this.updater((H,re)=>Object.assign(Object.assign({},H),{templates:[...H.templates,re]})),this.deleteTemplateById=this.updater((H,re)=>Object.assign(Object.assign({},H),{templates:H.templates.filter(ve=>ve.id!==re)})),this.updateTemplate=this.effect(H=>H.pipe((0,Go.b)(300),(0,Ht.b)(re=>{const ve=this.get().templates.map(ie=>ie.id!==re.id?ie:Object.assign(Object.assign({},ie),re));this.patchState({templates:ve})}))),this.deleteTemplate=this.effect(H=>H.pipe((0,Ht.b)(re=>{re.isDraft?this.deleteTemplateById(re.id):this.messageTemplatesRepository.delete(re.id).then(()=>{this.deleteTemplateById(re.id)})}))),this.saveTemplate=this.effect(H=>H.pipe((0,St.w)(re=>{if(re.isDraft){const ke=(0,De._T)(re,["id","isDraft","entityTypeName"]);return this.messageTemplatesRepository.create(ke).then(rt=>{const st=this.get().templates.map(at=>at.id!==re.id?at:Object.assign(Object.assign({},at),{id:rt.id,isDraft:!1}));this.patchState({templates:st})})}{const ve=re,{id:ie}=ve,ke=(0,De._T)(ve,["id","isDraft","entityTypeName"]);return this.messageTemplatesRepository.upsert(ie,ke)}}),(0,Ht.b)(()=>{this.snackBar.open("Template saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}))),this.loadTemplateData=this.effect(H=>H.pipe((0,St.w)(()=>(0,zt.D)(this.orderTemplateDataService.getOrderTemplateData({})).pipe((0,Xt._b)(re=>this.patchState({orderTemplateData:re}),re=>console.log(re)))))),this.loadRecurringInvoicePreviewData=this.effect(H=>H.pipe((0,St.w)(()=>(0,zt.D)(this.coreRepository.batchInvoices.findMany({where:{isAutomated:!0},take:1}))),(0,St.w)(re=>{if(!re.length)return(0,Rn.of)(void 0);const ve=re[0];return(0,zt.D)(this.invoicesRepositoryService.getByIds(ve.batchedInvoiceIds)).pipe((0,St.w)(ie=>{const Ee=ie.filter(Boolean),Fe=[...new Set(Ee.map(ke=>
1ke.orderId).filter(Boolean))];return Fe.length?(0,zt.D)(this.ordersRepositoryService.getByIds(Fe)).pipe((0,qe.U)(ke=>{const rt=ke.filter(Boolean);return{batch:ve,invoices:(0,pd.V)(Ee,rt),orders:rt}})):(0,Rn.of)({batch:ve,invoices:[],orders:[]})}))}),(0,Xt._b)(re=>{var ve,ie,Ee,Fe;if(!re)return;const{batch:ke,invoices:rt,orders:st}=re,at=this.appConfigService.currency,ot=new Intl.NumberFormat(this.appConfigService.localization.language,{style:"currency",currency:at}),Ct=Rt=>ot.format((null!=Rt?Rt:0)/100),Wt={recipientName:(null===(ie=null===(ve=ke.clients)||void 0===ve?void 0:ve[0])||void 0===ie?void 0:ie.name)||"Agent Name",recipientEmail:(null===(Fe=null===(Ee=ke.clients)||void 0===Ee?void 0:Ee[0])||void 0===Fe?void 0:Fe.email)||"[email protected]",billingPeriod:this.formatBillingPeriod(ke),invoiceCount:ke.batchedInvoiceIds.length,totalAmount:Ct(ke.totalAmount),paymentLink:`https://${this.appConfigService.portalDomain}/batch-invoice/${ke.id}`,invoiceNumber:ke.invoiceNumber?`INV-${String(ke.invoiceNumber).padStart(4,"0")}`:"INV-0001",tenantName:this.appConfigService.name||"Your Company",invoices:rt.map(Rt=>({invoiceNumber:Rt.no?`INV-${Rt.no}`:"",dateCreated:Rt.dateCreated?new Date(Rt.dateCreated).toLocaleDateString():"",orderStatus:Rt.orderStatus||"",amountDue:Ct(Rt.amountDue),currency:Rt.currency||at,subTotal:Ct(Rt.subTotal),totalAmount:Ct(Rt.totalAmount),totalDiscount:Ct(Rt.totalDiscount),transactionFeeAmount:Ct(Rt.transactionFeeAmount),lineItems:(Rt.lineItems||[]).map(Tn=>({itemName:Tn.title||Tn.description||"",totalAmount:Ct(Tn.totalAmount)}))})),orders:st.map(Rt=>this.orderTemplateDataService.formatOrder(Rt))};this.patchState({recurringInvoicePreviewData:Wt})},re=>console.error("Failed to load batch invoice preview:",re)))),this.loadTemplates=this.effect(()=>this.templateType$.pipe((0,St.w)(H=>this.messageTemplatesRepository.getByQuery([["type","==",H]]).pipe((0,qe.U)(re=>re.sort((ve,ie)=>(ve.createdAt||0)-(ie.createdAt||0))),(0,qe.U)(re=>this.setTemplateDefaults(re)),(0,Xt._b)(re=>this.patchState({templates:re,templatesLoaded:!0}),re=>console.log(re))))))}formatBillingPeriod(t){const i=this.appConfigService.localization.language,o=(0,ge.ZUP)(t.periodStart);if(!o)return"";if("monthly"===t.cycleType)return o.toLocaleDateString(i,{month:"long",year:"numeric"});const l=(0,ge.ZUP)(t.periodEnd)||o,h={month:"short",day:"numeric"};return`${o.toLocaleDateString(i,h)} \u2013 ${l.toLocaleDateString(i,Object.assign(Object.assign({},h),{year:"numeric"}))}`}setTemplateDefaults(t){const i=this.appConfigService.email;return t.map(o=>{if("bookingConfirmation"!==o.type&&"projectComplete"!==o.type)return o;const l=(o.bcc||[]).filter(h=>h.value.toLowerCase()!==i.toLowerCase());return Object.assign(Object.assign({},o),{bcc:[{display:i,value:i,readonly:!0},...l]})})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(Dt.ux),e.\u0275\u0275inject(Qe.gz),e.\u0275\u0275inject(U._ZM),e.\u0275\u0275inject(U.E3O),e.\u0275\u0275inject(U.ewb),e.\u0275\u0275inject(Jn.AO),e.\u0275\u0275inject(U.uOT),e.\u0275\u0275inject(U.HVf))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})();var Ni=_(20773),Ls=_(56961),md=_(4834);function ud(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",22),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",i.formatTemplateTitle(t)," ")}}function gd(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div")(1,"span",24),e.\u0275\u0275text(2,"CC: "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(3,"span",25),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2).index,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("innerHtml",null==i.preview||null==i.preview[t]?null:i.preview[t].cc,e.\u0275\u0275sanitizeHtml)}}function _d(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div")(1,"span",24),e.\u0275\u0275text(2,"BCC: "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(3,"span",25),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2).index,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("innerHtml",null==i.preview||null==i.preview[t]?null:i.preview[t].bcc,e.\u0275\u0275sanitizeHtml)}}function hd(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",23)(1,"div",24),e.\u0275\u0275text(2,"Subject: "),e.\u0275\u0275element(3,"span",25),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,gd,4,1,"div",2),e.\u0275\u0275template(5,_d,4,1,"div",2),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().index,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("innerHtml",null==i.preview||null==i.preview[t]?null:i.preview[t].subject,e.\u0275\u0275sanitizeHtml),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==i.preview||null==i.preview[t]?null:i.preview[t].cc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==i.preview||null==i.preview[t]?null:i.preview[t].bcc)}}function fd(r,a){if(1&r&&e.\u0275\u0275element(0,"div",26),2&r){const t=e.\u0275\u0275nextContext().index,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("uiFroalaView",null==i.preview||null==i.preview[t]?null:i.preview[t].body)}}
1function vd(r,a){if(1&r&&e.\u0275\u0275element(0,"div",27),2&r){const t=e.\u0275\u0275nextContext().index,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("uiFroalaView",null==i.preview||null==i.preview[t]?null:i.preview[t].body)}}function Cd(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",30)(1,"div",31),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(3,"ngx-json-viewer",32),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.label),e.\u0275\u0275advance(1),e.\u0275\u0275property("json",t.data)("depth",0)}}function bd(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",28),e.\u0275\u0275template(1,Cd,4,3,"div",29),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.dataSchema)}}const dl=function(){return{standalone:!0}},pl=function(){return[","]};function yd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",36)(1,"div",37),e.\u0275\u0275text(2,"BCC:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"tag-input",41),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(3).$implicit;return e.\u0275\u0275nextContext(2).onEmailsChange(l.id,"bcc",o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(3).$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("addOnBlur",!0)("ngModel",t.bcc)("ngModelOptions",e.\u0275\u0275pureFunction0(6,dl))("email",!0)("separatorKeys",e.\u0275\u0275pureFunction0(7,pl))("validators",i.emailValidators)}}function xd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",36)(1,"div",42),e.\u0275\u0275text(2,"Send before:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-number-input",43),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(3).$implicit;return e.\u0275\u0275nextContext(2).onScheduleTimeChange(l.id,o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"ui-select",44),e.\u0275\u0275listener("selectionChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(3).$implicit;return e.\u0275\u0275nextContext(2).onScheduleIntervalChange(l.id,o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(3).$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngModel",t.scheduleTimeValue),e.\u0275\u0275advance(1),e.\u0275\u0275property("value",t.scheduleTimeUnit)("items",i.scheduleTimeItems)}}function Sd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",45)(1,"div",46)(2,"div",42),e.\u0275\u0275text(3,"Send after:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"ui-form-group",47)(5,"ui-number-input",48),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(3).$implicit;return e.\u0275\u0275nextContext(2).onScheduleTimeChange(l.id,o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"span",49),e.\u0275\u0275text(7,"days"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"div",47)(9,"div",37),e.\u0275\u0275text(10,"At:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"ui-form-group")(12,"ui-input",50),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(3).$implicit;return e.\u0275\u0275nextContext(2).onScheduleTimeAtChange(l.id,o)}),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275nextContext(3).$implicit;e.\u0275\u0275advance(5),e.\u0275\u0275property("ngModel",t.scheduleTimeValue),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngModel",t.scheduleTimeAtValue)}}function Td(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",45)(1,"div",47)(2,"div",42),e.\u0275\u0275text(3,"Send reminder every"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"ui-number-input",48),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(3).$implicit;return e.\u0275\u0275nextContext(2).onScheduleTimeChange(l.id,o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"span",49),e.\u0275\u0275text(6,"days after project completion"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(3).$implicit;e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",t.scheduleTimeValue)}}function wd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",36)(2,"div",37),e.\u0275\u0275text(3,"CC:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"tag-input",38),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2).$implicit;return e.\u0275\u0275nextContext(2).onEmailsChange(l.id,"cc",o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(5,yd,4,8,"div",39),e.\u0275\u0275template(6,xd,5,3,"div",39),e.\u0275\u0275template(7,Sd,13,2,"div",40),e.\u0275\u0275template(8,Td,7,1,"div",40),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2).$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275property("addOnBlur",!0)("ngModel",t.cc)("ngModelOptions",e.\u0275\u0275pureFunction0(10,dl))("email",!0)("separatorKeys",e.\u0275\u0275pureFunction0(11,pl))("validators",i.emailValidators),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","email"===i.mode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","bookingReminder"===i.templateType),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","followUp"===i.templateType),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","payToUnlockReminder"===i.templateType)}}function kd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",33)(1,"mat-form-field",34)(2,"mat-label"),e.\u0275\u0275text(3,"Subject"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"input",35),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext(2).onSubjectChange(l.id,o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(5,wd,9,12,"ng-container",2),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",t.subject),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","email"===i.mode)}}function Ed(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",51),e.\u0275\u0275listener("froalaModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext(2).onBodyChange(l.id,o)}),e.\u0275\u0275text(1," Editor "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("froalaModel",t.body)("uiFroalaEditor",i.froalaOptions)}}function ml(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",55),e.\u0275\u0275text(2,"Send before"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",56)(4,"ui-number-input",43),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2).$implicit;return e.\u0275\u0275nextContext(2).onScheduleTimeChange(l.id,o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"ui-select",44),e.\u0275\u0275listener("selectionChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2).$implicit;return e.\u0275\u0275nextContext(2).onScheduleIntervalChange(l.id,o)}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2).$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",t.scheduleTimeValue),e.\u0275\u0275advance(1),e.\u0275\u0275property("value",t.scheduleTimeUnit)("items",i.scheduleTimeItems)}}function Od(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",36)(1,"div",42),e.\u0275\u0275text(2,"Send daily at (hour):"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-select",57),e.\u0275\u0275listener("selectionChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2).$implicit;return e.\u0275\u0275nextContext(2).onScheduleTimeChange(l.id,o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(2).$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("items",i.scheduleHoursItems)("value",t.scheduleTimeValue)}}function ul(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"p",58),e.\u0275\u0275text(1," Message text "),e.\u0275\u0275elementStart(2,"span",59),e.\u0275\u0275text(3,"(up to 1,600 characters in length)"),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275property("ngClass","bookingReminderText"===t.templateType?"py-min mt-16":"py-16")}}function gl(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",60),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2).index,i=e.\u0275\u0275nextContext(2);let o;e.\u0275\u0275property("ngClass",(null!==(o=null==i.preview||null==i.preview[t]||null==i.preview[t].body?null:i.preview[t].body.length)&&void 0!==o?o:0)>i.textMessageMaxLength?"text-red-50":"text-gray-80"),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" ",(null==i.preview||null==i.preview[t]||null==i.preview[t].body?null:i.preview[t].body.length)||0," / ",i.textMessageMaxLength," ")}}function _l(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275template(0,ml,6,3,"div",2),e.\u0275\u0275template(1,Od,4,2,"div",39),e.\u0275\u0275template(2,ul,4,1,"p",52),e.\u0275\u0275elementStart(3,"textarea",53),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext(2).onBodyChange(l.id,o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,gl,2,3,"div",54)}
1if(2&r){const t=e.\u0275\u0275nextContext(),i=t.$implicit,o=t.index,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("ngIf","bookingReminderText"===l.templateType),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","dailyPhotographerRemindersText"===l.templateType),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","text"===l.mode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngModel",i.body)("placeholder","text"===l.mode?"Message template":"Default textarea"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","text"===l.mode&&!(null!=l.preview&&null!=l.preview[o]&&l.preview[o].bodyError))}}function Id(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",61),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext(2).onDeleteTemplate(o)}),e.\u0275\u0275text(1," Delete Template "),e.\u0275\u0275elementEnd()}}function Dd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",63),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2).$implicit;return e.\u0275\u0275nextContext(2).onDeleteTemplate(o)}),e.\u0275\u0275text(1," Delete Template "),e.\u0275\u0275elementEnd()}}function Md(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Dd,2,0,"button",62),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!t.isDraft)}}function Pd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,ud,2,1,"div",4),e.\u0275\u0275elementStart(2,"div",5)(3,"div",6)(4,"mat-tab-group",7)(5,"mat-tab",8),e.\u0275\u0275template(6,hd,6,3,"div",9),e.\u0275\u0275template(7,fd,1,1,"div",10),e.\u0275\u0275template(8,vd,1,1,"div",11),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"mat-tab",12),e.\u0275\u0275template(10,bd,2,1,"div",13),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(11,"div",14),e.\u0275\u0275template(12,kd,6,2,"div",15),e.\u0275\u0275template(13,Ed,2,2,"div",16),e.\u0275\u0275template(14,_l,5,6,"ng-template",null,17,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(16,"div",18),e.\u0275\u0275template(17,Id,2,0,"button",19),e.\u0275\u0275template(18,Md,2,1,"ng-container",2),e.\u0275\u0275elementStart(19,"button",20),e.\u0275\u0275listener("click",function(){const o=e.\u0275\u0275restoreView(t),l=o.index,h=o.$implicit,y=e.\u0275\u0275nextContext(2);return y.preview&&y.preview[l]&&y.onSaveTemplate(h,y.preview[l])}),e.\u0275\u0275text(20," Save Template "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275element(21,"mat-divider",21),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275reference(15),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","bookingReminder"===o.templateType),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf","text"!==o.mode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","text"!==o.mode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","text"===o.mode),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",o.orderTemplateData),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf","text"!==o.mode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","email"===o.mode)("ngIfElse",i),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",t.isDraft),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.templates&&o.allowTemplatesDeletion(o.templates)),e.\u0275\u0275advance(1),e.\u0275\u0275property("disabled",o.isFollowUpScheduleTimeInvalid)}}function Fd(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Pd,22,11,"ng-container",3),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.templates)("ngForTrackBy",t.trackBy)}}let jd=(()=>{class r{constructor(t){this._snackBar=t,this.mode="email",this.templates=[],this.templatesLoaded=!1,this.preview=[],this.templateUpdate=new e.EventEmitter,this.deleteTemplate=new e.EventEmitter,this.saveTemplate=new e.EventEmitter,this.textMessageMaxLength=1600,this.emailValidators=[ge.$9f.unstrictEmailValidator],this.scheduleTimeItems=[{name:Hn.Di.Minutes,value:Hn.Di.Minutes},{name:Hn.Di.Hours,value:Hn.Di.Hours},{name:Hn.Di.Days,value:Hn.Di.Days}],this.scheduleHoursItems=Array.from({length:5},(i,o)=>{const l=o+6;return{value:l,name:l}}),this.froalaOptions={iframeDefaultStyle:"body{white-space: pre-wrap; word-wrap: break-word; position:relative;font-weight: 400; font-size: 14px; letter-spacing: .2px; line-height: 20px; color: #3c4043; font-family: Roboto, Arial, sans-serif}",fullPage:!0,height:400,pluginsEnabled:["align","colors","fontFamily","fontSize","lists","link","lineHeight","paragraphFormat","paragraphStyle","codeView","codeBeautifier"]}}get isFollowUpScheduleTimeInvalid(){var t,i;const o=null===(i=null===(t=this.templates)||void 0===t?void 0:t.find(l=>l.id===Hn.Iq.FollowUp))||void 0===i?void 0:i.scheduleTimeValue;return!(0,Tr.isNil)(o)&&o<1}allowTemplatesDeletion(t){return t.filter(i=>!i.isDraft).length>1}onSubjectChange(t,i){this.templateUpdate.emit({id:t,subject:i})}onEmailsChange(t,i,o){this.templateUpdate.emit({id:t,[i]:o})}onBodyChange(t,i){this.templateUpdate.emit({id:t,body:i})}onScheduleTimeChange(t,i){const o=parseInt(String(i)),l=Number.isNaN(o)?null:o;this.templateUpdate.emit({id:t,scheduleTimeValue:null!=l?l:void 0})}onScheduleTimeAtChange(t,i){this.templateUpdate.emit({id:t,scheduleTimeAtValue:i})}onScheduleIntervalChange(t,i){this.templateUpdate.emit({id:t,scheduleTimeUnit:i})}onDeleteTemplate(t){this.deleteTemplate.emit(t)}onSaveTemplate(t,i){"text"!==this.mode&&(!t.subject||i.subjectError)||!t.body||i.bodyError||"text"===this.mode&&i.body.length>this.textMessageMaxLength?this._snackBar.open("Template invalid. Please fix and try again.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"}):this.saveTemplate.emit(t)}formatTemplateTitle(t){return t.scheduleTimeUnit&&"number"==typeof t.scheduleTimeValue?`Send ${t.scheduleTimeValue} ${t.scheduleTimeValue>1?t.scheduleTimeUnit:t.scheduleTimeUnit.slice(0,-1)} before`:"No schedule time"}trackBy(t,i){return t}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Dt.ux))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-email-template-editor"]],inputs:{mode:"mode",templateType:"templateType",orderTemplateData:"orderTemplateData",dataSchema:"dataSchema",templates:"templates",templatesLoaded:"templatesLoaded",preview:"preview"},outputs:{templateUpdate:"templateUpdate",deleteTemplate:"deleteTemplate",saveTemplate:"saveTemplate"},decls:3,vars:2,consts:[[1,"pt4",3,"hidden"],[1,"center"],[4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","mb-8 text-18 font-medium text-gray-80",4,"ngIf"],[1,"flex","template-container"],[1,"tabs-container","mr3","bg-white","b--l
1ight-silver"],["animationDuration","0ms",1,"template-tab-group"],["label","Preview"],["class","mb3 pb2 ph3 bb b--silver mt3",4,"ngIf"],["class","froala ph2 pb3",3,"uiFroalaView",4,"ngIf"],["class","whitespace-pre-wrap py-8 px-12",3,"uiFroalaView",4,"ngIf"],["label","Template Data"],["class","ph2 mt3",4,"ngIf"],[1,"flex-auto",2,"min-height","600px"],["class","editor__subject-container",4,"ngIf"],["class","froala p2",3,"froalaModel","uiFroalaEditor","froalaModelChange",4,"ngIf","ngIfElse"],["calendar",""],[1,"flex","justify-end","gap-8","mt-12","mb-12"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",3,"disabled","click"],[1,"mb-12","mt-32"],[1,"mb-8","text-18","font-medium","text-gray-80"],[1,"mb3","pb2","ph3","bb","b--silver","mt3"],[1,"fw6"],[3,"innerHtml"],[1,"froala","ph2","pb3",3,"uiFroalaView"],[1,"whitespace-pre-wrap","py-8","px-12",3,"uiFroalaView"],[1,"ph2","mt3"],["class","mb3",4,"ngFor","ngForOf"],[1,"mb3"],[1,"fw6","mb1"],[3,"json","depth"],[1,"editor__subject-container"],[1,"w-100"],["matInput","","required","",3,"ngModel","ngModelChange"],[1,"flex","items-center","pb-2"],[1,"email-label"],["name","cc","placeholder","Add email","secondaryPlaceholder","[email protected]",1,"w-100",3,"addOnBlur","ngModel","ngModelOptions","email","separatorKeys","validators","ngModelChange"],["class","flex items-center pb-2",4,"ngIf"],["class","flex items-center mb-12",4,"ngIf"],["name","bcc","placeholder","Add email","secondaryPlaceholder","[email protected]",1,"w-100",3,"addOnBlur","ngModel","ngModelOptions","email","separatorKeys","validators","ngModelChange"],[1,"email-label","mr-8"],["inputClass","px-16 h-32 w-56 border rounded border-gray-15","mask","00",3,"ngModel","ngModelChange"],["optionClass","h-32","inputClass","border rounded border-gray-15 h-32",1,"ml-16","schedule-time-select",3,"value","items","selectionChange"],[1,"flex","items-center","mb-12"],[1,"flex","items-center","pr-16","mr-16","border-r-1","border-gray-15"],[1,"flex","items-center"],["inputClass","px-16 h-32 w-56 border rounded","mask","00",3,"ngModel","ngModelChange"],[1,"ml-8","text-12","font-normal","text-gray-50"],["inputClass","h-32 border","type","time",1,"border-gray-15",3,"ngModel","ngModelChange"],[1,"froala","p2",3,"froalaModel","uiFroalaEditor","froalaModelChange"],["class","txt-16 font-semibold",3,"ngClass",4,"ngIf"],["rows","12","cols","5",1,"form-control","br3",3,"ngModel","placeholder","ngModelChange"],["class","text-right text-12",3,"ngClass",4,"ngIf"],[1,"font-semibold","mb-min"],[1,"flex"],["optionClass","h-32","inputClass","border rounded border-gray-15 h-32",1,"ml-16","schedule-time-select",3,"items","value","selectionChange"],[1,"txt-16","font-semibold",3,"ngClass"],[1,"text-12","text-gray-50"],[1,"text-right","text-12",3,"ngClass"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],["uiBtnSize","small","uiBtnTheme","error","themeMode","primary",3,"click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","error","themeMode","primary",3,"click"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275element(1,"mat-spinner",1),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(2,Fd,2,2,"ng-container",2)),2&t&&(e.\u0275\u0275property("hidden",i.templatesLoaded&&i.orderTemplateData),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.orderTemplateData))},directives:[Ni.Ou,S.NgIf,S.NgForOf,T.SP,T.uX,Ls.N,ha,Et.KE,Et.hX,Pt.Nt,ee.Fj,ee.Q7,ee.JJ,ee.On,In.m7,ee.on,pi.f,tn.H,Fn.H,yi.a,ui.V,S.NgClass,_t.s,ht.V,md.d],styles:[".froala[_ngcontent-%COMP%] .fr-element.fr-view, .froala.fr-view[_ngcontent-%COMP%]{white-space:pre}[_nghost-%COMP%] .froala .fr-wrapper{height:auto!important}[_nghost-%COMP%] .froala ol, [_nghost-%COMP%] .froala ul{margin-left:20px}[_nghost-%COMP%] .froala ol{list-style-type:decimal}[_nghost-%COMP%] .froala ul{list-style-type:disc}.tabs-container[_ngcontent-%COMP%]{width:40%;min-width:40%;border:1px solid #e2e2e2;border-radius:10px}.template-tab-group[_ngcontent-%COMP%]{min-height:100%}.template-tab-group[_ngcontent-%COMP%] .mat-tab-header{margin-left:.5rem;margin-right:.5rem}.email-label[_ngcontent-%COMP%]{min-width:40px;font-size:12px;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.schedule-time-select[_ngcontent-%COMP%]{width:120px}"]}),r})();function Rd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",5,6),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext().onAddTemplate(o[o.length-1])}),e.\u0275\u0275element(2,"i",7),e.\u0275\u0275text(3," Add Template "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function Vd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",1)(1,"div",2),e.\u0275\u0275text(2),e.\u0275\u0275template(3,Rd,4,1,"button",3),e.\u0275\u0275pipe(4,"async"),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"tn-email-template-editor",4),e.\u0275\u0275listener("templateUpdate",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onTemplateUpdate(o)})("deleteTemplate",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onDeleteTemplate(o)})("saveTemplate",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveTemplate(o)}),e.\u0275\u0275pipe(7,"async"),e.\u0275\u0275pipe(8,"async"),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275pipe(10,"async"),e.\u0275\u0275pipe(11,"async"),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275pipe(13,"async"),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" Edit Template - ",null==t[0]?null:t[0].templateTitle," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","bookingReminder"===e.\u0275\u0275pipeBind1(4,9,i.templateType$)||"bookingReminderText"===e.\u0275\u0275pipeBind1(5,11,i.templateType$)),e.\u0275\u0275advance(3),e.\u0275\u0275property("mode",e.\u0275\u0275pipeBind1(7,13,i.editorMode$))("orderTemplateData",e.\u0275\u0275pipeBind1(8,15,i.orderTemplateData$))("dataSchema",e.\u0275\u0275pipeBind1(9,17,i.effectiveDataSchema$))("templates",e.\u0275\u0275pipeBind1(10,19,i.templates$))("templatesLoaded",e.\u0275\u0275pipeBind1(11,21,i.templatesLoaded$))("preview",e.\u0275\u0275pipeBind1(12,23,i.templatesPreview$))("templateType",e.\u0275\u0275pipeBind1(13,25,i.templateType$))}}let tr=class{constructor(a,t,i,o,l){this.appConfigService=a,this.popupService=t,this.templateService=i,this.hbsService=o,this.componentStore=l,this.templateType$=this.componentStore.templateType$,this.orderTemplateData$=this.componentStore.orderTemplateData$,this.recurringInvoicePreviewData$=this.componentStore.recurringInvoicePreviewData$,this.templates$=this.componentStore.templates$,this.templatesLoaded$=this.componentStore.templatesLoaded$}ngOnInit(){this.componentStore.loadTemplateData(),this.componentStore.loadTemplates(),this.initRecurringInvoicePreview(),this.initEditorMode(),this.initDataSchema(),this.renderTemplatesPreview()}onTemplateUpdate(a){this.componentStore.updateTemplate(a)}onAddTemplate(a){const t=JSON.parse(JSON.stringify(a));t.id=Date.now().toString(),t.isDraft=!0,this.componentStore.addTemplate(t)}
1onDeleteTemplate(a){a.isDraft?this.componentStore.deleteTemplate(a):this.popupService.open({text:"Delete template?",showCancelButton:!0,destructive:!0}).then(t=>{!0===t.value&&this.componentStore.deleteTemplate(a)})}saveTemplate(a){this.componentStore.saveTemplate(a)}initRecurringInvoicePreview(){this.templateType$.pipe((0,Yt.h)(a=>a===Hn.Iq.RecurringInvoiceEmail),(0,Nt.q)(1),(0,wt.t)(this)).subscribe(()=>this.componentStore.loadRecurringInvoicePreviewData()),this.recurringInvoiceEffectiveData$=this.recurringInvoicePreviewData$.pipe((0,qe.U)(a=>a||function er(r,a){return{recipientName:"Jane Smith",recipientEmail:"[email protected]",billingPeriod:"Oct 27 \u2013 Nov 2, 2025",invoiceCount:2,totalAmount:"$1,250.00",paymentLink:`https://${r}/batch-invoice/preview-id`,invoiceNumber:"INV-0042",tenantName:a,invoices:[{invoiceNumber:"INV-101",dateCreated:"10/28/2025",orderStatus:"complete",amountDue:"$750.00",currency:"USD",subTotal:"$700.00",totalAmount:"$750.00",totalDiscount:"$0.00",transactionFeeAmount:"$0.00",lineItems:[{itemName:"Photography Package",totalAmount:"$500.00"},{itemName:"Drone Add-on",totalAmount:"$250.00"}]},{invoiceNumber:"INV-102",dateCreated:"10/30/2025",orderStatus:"complete",amountDue:"$500.00",currency:"USD",subTotal:"$500.00",totalAmount:"$500.00",totalDiscount:"$0.00",transactionFeeAmount:"$0.00",lineItems:[{itemName:"Photography Package",totalAmount:"$500.00"}]}],orders:[{orderId:"order-001",orderNo:"ORD-1001",orderName:"Photography Package",orderStatus:"complete",date:"Monday, Oct 28, 2025",scheduled_time:"10:00 AM - 12:00 PM",client_full_name:"Jane Smith",client_first_name:"Jane",client_last_name:"Smith",email:"[email protected]",phone_number:"5551234567",property_address:{formatted_address:"123 Main St, Los Angeles, CA 90001",line2:""},property_square_footage:"2,500",services:["Photography"],services_a_la_cart:["Drone Add-on"],invoice_amount:"$750.00",brokerage_code:"BRK-001"},{orderId:"order-002",orderNo:"ORD-1002",orderName:"Photography Package",orderStatus:"complete",date:"Thursday, Oct 30, 2025",scheduled_time:"2:00 PM - 4:00 PM",client_full_name:"Jane Smith",client_first_name:"Jane",client_last_name:"Smith",email:"[email protected]",phone_number:"5551234567",property_address:{formatted_address:"456 Oak Ave, Santa Monica, CA 90401",line2:"Unit 5"},property_square_footage:"1,800",services:["Photography"],services_a_la_cart:[],invoice_amount:"$500.00",brokerage_code:"BRK-001"}]}}(this.appConfigService.portalDomain,this.appConfigService.name||"Your Company")))}initEditorMode(){this.editorMode$=this.templateType$.pipe((0,qe.U)(a=>this.editorModeFor(a)))}editorModeFor(a){return"calendarEvent"===a||"customerCalendarEvent"===a?"calendar":(null==a?void 0:a.match(/.+Text$/))?"text":"email"}initDataSchema(){this.dataSchema$=this.orderTemplateData$.pipe((0,Yt.h)(a=>Boolean(a)),(0,St.w)(a=>this.templateService.getOrderSchema(a))),this.effectiveDataSchema$=this.templateType$.pipe((0,St.w)(a=>a===Hn.Iq.RecurringInvoiceEmail?this.recurringInvoiceEffectiveData$.pipe((0,qe.U)(t=>[{label:"Batch Details",data:{recipientName:t.recipientName,recipientEmail:t.recipientEmail,billingPeriod:t.billingPeriod,invoiceCount:t.invoiceCount,totalAmount:t.totalAmount,paymentLink:t.paymentLink,invoiceNumber:t.invoiceNumber,tenantName:t.tenantName}},{label:"Invoices ({{#each invoices}})",data:{invoices:t.invoices}},{label:"Orders ({{#each orders}})",data:{orders:t.orders}}])):this.dataSchema$))}getCopyRecipientsPreview(a){return(null==a?void 0:a.map(({value:t})=>t).join("; "))||""}renderTemplatesPreview(){this.templatesPreview$=(0,ln.aj)([this.templates$,this.orderTemplateData$,this.templateType$,this.recurringInvoiceEffectiveData$]).pipe((0,qe.U)(([a,t,i,o])=>a.map(l=>{const h=this.getCopyRecipientsPreview(null==l?void 0:l.cc),y=this.getCopyRecipientsPreview(null==l?void 0:l.bcc);let F,te=!1;try{F=i===Hn.Iq.RecurringInvoiceEmail?this.hbsService.renderTemplateText(o,l.subject):this.hbsService.renderOrderTemplateText(t,l.subject)}catch(ve){F='<span class="red">Error rendering subject.</span>',te=!0}let H,re=!1;try{H="dailyPhotographerRemindersText"===i?this.hbsService.renderTemplateText({count:2,time:"10:00 am",domain:this.appConfigService.portalDomain},l.body):i===Hn.Iq.RecurringInvoiceEmail?this.hbsService.renderTemplate(o,l.body):"email"===this.editorModeFor(i)?this.hbsService.renderOrderTemplate(t,l.body):this.hbsService.renderOrderTemplateText(t,l.body)}catch(ve){H=ve instanceof Error&&ve.message?`<span class="red">Error - ${ve.message}</span>
1`:'<span class="red">Template Error</span>',re=!0}return{subject:F,subjectError:te,cc:h,bcc:y,body:H,bodyError:re}})))}};tr.\u0275fac=function(a){return new(a||tr)(e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.qLq),e.\u0275\u0275directiveInject(U.Q$w),e.\u0275\u0275directiveInject(U._nK),e.\u0275\u0275directiveInject(Vs))},tr.\u0275cmp=e.\u0275\u0275defineComponent({type:tr,selectors:[["tn-edit-email-template-page"]],features:[e.\u0275\u0275ProvidersFeature([Vs])],decls:2,vars:3,consts:[["class","px-32 py-24",4,"ngIf"],[1,"px-32","py-24"],[1,"f3","fw6","flex","items-center","mb-16"],["class","ml-auto","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],[3,"mode","orderTemplateData","dataSchema","templates","templatesLoaded","preview","templateType","templateUpdate","deleteTemplate","saveTemplate"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"ml-auto",3,"click"],["addTemplateButton","btnSize"],["uiIcon","add",3,"size"]],template:function(a,t){1&a&&(e.\u0275\u0275template(0,Vd,14,27,"div",0),e.\u0275\u0275pipe(1,"async")),2&a&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,t.templates$))},directives:[S.NgIf,_t.s,ht.V,mt.a,jd],pipes:[S.AsyncPipe],styles:[""]}),tr=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[U._ZM,U.qLq,U.Q$w,U._nK,Vs])],tr);var $i=_(29071),hl=_(61814),fl=_(75518),Ld=_(49943);function Nd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",12)(1,"button",13,14),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().loadNewNotifications()}),e.\u0275\u0275text(3," New notifications "),e.\u0275\u0275element(4,"i",15),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275reference(2);e.\u0275\u0275advance(4),e.\u0275\u0275property("size",t.iconSize)}}function nr(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",16)(1,"p",17),e.\u0275\u0275text(2,"You're all caught up!"),e.\u0275\u0275elementEnd()())}function $d(r,a){if(1&r&&e.\u0275\u0275element(0,"div",34),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("showdown",t.snippet)}}function zd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",29),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit,l=e.\u0275\u0275nextContext();return o.read=!0,l.notificationService.userRead(o)}),e.\u0275\u0275elementStart(1,"button",35),e.\u0275\u0275text(2," Mark as read "),e.\u0275\u0275elementEnd()()}}function Ud(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",29),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit,l=e.\u0275\u0275nextContext();return o.read=!1,l.notificationService.userUnread(o)}),e.\u0275\u0275elementStart(1,"button",35),e.\u0275\u0275text(2," Mark as unread "),e.\u0275\u0275elementEnd()()}}const Hd=function(r){return{"notification--new":r}};function Wd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",18)(1,"div",19),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().navigate(l)}),e.\u0275\u0275elementStart(2,"div",20),e.\u0275\u0275element(3,"ui-avatar",21),e.\u0275\u0275elementStart(4,"div",22)(5,"div",23)(6,"p")(7,"span",24),e.\u0275\u0275text(8),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(9,"span",25),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(10,$d,1,1,"div",26),e.\u0275\u0275elementStart(11,"div",27),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()}),e.\u0275\u0275template(12,zd,3,0,"div",28),e.\u0275\u0275template(13,Ud,3,0,"div",28),e.\u0275\u0275elementStart(14,"div",29),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit,h=e.\u0275\u0275nextContext();return h.dataSource.deleteNotification(l),h.notificationService.deleteNotification(l)}),e.\u0275\u0275elementStart(15,"button",30),e.\u0275\u0275text(16," Delete Notification "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(17,"div",31),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().openInNewWindow(l)}),e.\u0275\u0275element(18,"i",32),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"div",33)(20,"i"),e.\u0275\u0275text(2
11),e.\u0275\u0275pipe(22,"dfnsFormatDistanceToNow"),e.\u0275\u0275elementEnd()()()()()()()()}if(2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(13,Hd,!t.read)),e.\u0275\u0275advance(2),e.\u0275\u0275property("src",null==t.user?null:t.user.photoURL)("name",null==t.user?null:t.user.displayName)("email",null==t.user?null:t.user.email),e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate1("",t.user?t.user.displayName+" ":"User "," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("showdown",t.text),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.snippet),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",!t.read),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.read),e.\u0275\u0275advance(5),e.\u0275\u0275property("size",16),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1("",e.\u0275\u0275pipeBind1(22,11,t.ts)," ago")}}let Gd=(()=>{class r{constructor(t,i,o,l,h){this.auth=t,this.notificationService=i,this.afs=o,this.router=l,this.popupService=h,this.dataSource=new hl.a(i,o,t)}ngOnInit(){this.userSubscription=this.auth.user$.subscribe(t=>{this.user=t})}ngOnDestroy(){var t;null===(t=this.userSubscription)||void 0===t||t.unsubscribe()}loadNewNotifications(){this.notificationService.clearNotificationBadge(),this.dataSource.refreshNewNotifications().then(()=>{this.virtualScroll.scrollToIndex(0)})}trackById(t,i){var o;return null!==(o=null==i?void 0:i.id)&&void 0!==o?o:t}openInNewWindow(t){this.notificationService.userRead(t);const i=window.open(window.location.origin+t.link,"_blank");null==i||i.focus()}navigate(t){this.router.navigateByUrl(t.link),this.notificationService.userRead(t)}clearInbox(){this.popupService.open({text:"This will delete ALL notifications in your inbox.",showCancelButton:!0,destructive:!0,confirmButtonText:"Confirm",showLoaderOnConfirm:!0,preConfirm:()=>this.notificationService.deleteAllNotifications().then(()=>{this.dataSource=new hl.a(this.notificationService,this.afs,this.auth)}),allowOutsideClick:!0})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.XPL),e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(U.qLq))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-inbox-page"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery($i.N7,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.virtualScroll=o.first)}},decls:15,vars:4,consts:[[1,"page-wrapper"],[1,"row"],[1,"col-md-12","col-xl-12"],[1,"card"],[1,"card-header"],[1,"card-body"],[1,"mb3","flex","justify-end"],["uiBtnSize","small","uiBtnTheme","error","themeMode","secondary",3,"click"],["class","new-notifications-bubble__wrapper",4,"ngIf"],["itemSize","140",1,"scroll-viewport"],["class","tc pv4",4,"ngIf"],["class","inbox-page__notification",4,"cdkVirtualFor","cdkVirtualForOf","cdkVirtualForTrackBy"],[1,"new-notifications-bubble__wrapper"],["uiBtnSize","medium","trailingIcon","","uiBtnTheme","main","themeMode","primary",1,"new-notifications-bubble","mat-elevation-z2",3,"click"],["newNotificationsButton","btnSize"],["uiIcon","refresh",3,"size"],[1,"tc","pv4"],[1,"f3"],[1,"inbox-page__notification"],[1,"card-comment","pointer",3,"ngClass","click"],[1,"card-block-small"],["size","large","shape","square",1,"float-left",3,"src","name","email"],[1,"comment-desc","h-100"],[1,"flex","flex-column","h-100","relative"],[1,"fw6"],[1,"text-muted","di","showdown-container",3,"showdown"],["class","snippet showdown-container",3,"showdown",4,"ngIf"],[1,"mt-auto","relative",3,"click"],["class","comment-btn",3,"click",4,"ngIf"],[1,"comment-btn",3,"click"],["uiBtnSize","x-small","uiBtnTheme","error","themeMode","tertiary",1,"mr-8"],[1,"dib","pointer",3,"click"],["uiIcon","open_in_new",1,"fw6",3,"size"],[1,"fr"],[1,"snippet","showdown-container",3,"showdown"],["uiBtnSize","x-small","uiBtnTheme","main","themeMode","tertiary",1,"mr-8"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4)(5,"h1"),e.\u0275\u0275text(6,"Recent Notifications"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"div",5)(8,"div",6)(9,"button",7),e.\u0275\u0275listener("click",function(){return i.clearInbox()}),e.\u0275\u0275text(10," Delete all notifications "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(11,Nd,5,1,"div",8),e.\u0275\u0275elementStart(12,"cdk-virtual-scroll-viewport",9),e.\u0275\u0275template(13,nr,3,0,"div",10),e.\u0275\u0275template(14,Wd,23,15,"div",11),e.\u0275\u0275elementEnd()()()()()()),2&t&&(e.\u0275\u0275advance(11),e.\u0275\u0275property("ngIf",null==i.user?null:i.user.newNotifications),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.dataSource.loaded&&0===i.dataSource.cachedNotifications.length),e.\u0275\u0275advance(1),e.\u0275\u0275property("cdkVirtualForOf",i.dataSource)("cdkVirtualForTrackBy",i.trackById))},directives:[_t.s,ht.V,S.NgIf,mt.a,$i.N7,$i.xd,$i.x0,S.NgClass,fl.A,Ld.RQ],pipes:[bi.yRt],styles:[".page-wrapper[_ngcontent-%COMP%]{padding:12px 16px}.card[_ngcontent-%COMP%]{margin-bottom:0}.scroll-viewport[_ngcontent-%COMP%]{height:66vh}.card-block-small[_ngcontent-%COMP%], .inbox-page__notification[_ngcontent-%COMP%]{height:140px}.card-comment.notification--new[_ngcontent-%COMP%]{background-color:var(--brand-8, #D9EFFF)}.card-comment.notification--new[_ngcontent-%COMP%] .card-block-small[_ngcontent-%COMP%]{transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.card-comment.notification--new[_ngcontent-%COMP%]:hover .card-block-small[_ngcontent-%COMP%]{background-color:var(--brand-10, #D0EBFF)}
1span.showdown-container[_ngcontent-%COMP%] *{display:inline}.comment-desc[_ngcontent-%COMP%]{height:100%}.snippet[_ngcontent-%COMP%] {overflow:hidden;margin-bottom:8px}.snippet[_ngcontent-%COMP%] img{width:60px}.new-notifications-bubble[_ngcontent-%COMP%]{position:relative;z-index:5;margin-top:16px}.new-notifications-bubble__wrapper[_ngcontent-%COMP%]{height:.1px;-webkit-user-select:none;user-select:none;text-align:center}"]}),r})();function Kd(r,a){1&r&&(e.\u0275\u0275elementStart(0,"ui-form-group",19),e.\u0275\u0275element(1,"ui-number-input",20),e.\u0275\u0275elementEnd())}let Zd=(()=>{class r{constructor(t,i,o,l){this.invoicesConfigDocumentService=t,this.afs=i,this.fb=o,this.snackBar=l,this.invoicingConfig={enableNumbering:!1,startNumber:1,currentNumber:1,invoiceCreationDate:U.dZ7.ShootScheduled,miscInfo:""},this.invoiceCreationDateOptions=[{name:"Scheduled shoot date",value:U.dZ7.ShootScheduled},{name:"Booking creation date",value:U.dZ7.BookingCreated},{name:"Date invoice synced to accounting",value:U.dZ7.AccountingSynced}],this.initForm()}ngOnInit(){this.invoicesConfigDocumentService.get().then(t=>{t&&(this.invoicingConfig=Object.assign(Object.assign({},this.invoicingConfig),t)),this.form.patchValue(this.invoicingConfig)})}saveInvoicingConfig(){const t=this.form.getRawValue(),i=t.startNumber,o=this.invoicingConfig.currentNumber;return this.afs.collection("app").doc("invoicesConfig").set(Object.assign(Object.assign(Object.assign({},this.invoicingConfig),t),{currentNumber:i>o?i:o}),{merge:!0}).then(()=>this.displaySaveConfirmation())}initForm(){this.form=this.fb.group({enableNumbering:this.invoicingConfig.enableNumbering,startNumber:[this.invoicingConfig.startNumber,ge.$9f.truthy],invoiceCreationDate:this.invoicingConfig.invoiceCreationDate,miscInfo:this.invoicingConfig.miscInfo})}displaySaveConfirmation(){this.snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.pf9),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(ee.qu),e.\u0275\u0275directiveInject(Dt.ux))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-invoicing-settings-page"]],decls:34,vars:5,consts:[[1,"container","pt3","pb6","app-v2"],[1,"mb-24"],[1,"card",3,"formGroup"],[1,"card-body"],[1,"mb-16"],[1,"fw6","o-90"],[1,"f7","o-70"],["formControlName","enableNumbering",1,"mb-min",3,"disableRipple"],["class","mt-8 mb-8 w-1/4",4,"ngIf"],[1,"block","max-w-xs"],["label","Invoice date","formControlName","invoiceCreationDate",3,"items"],["role","alert",1,"invoicing-alert"],["uiIcon","info"],[1,"w-100","mt-16"],["matInput","","formControlName","miscInfo","rows","3",1,"w-100"],[1,"fixed","bottom-2","white","z-3","fixed-center"],["uiBtnSize","large","uiBtnTheme","main","themeMode","primary",3,"click"],["updateSettingsButton","btnSize"],["uiIcon","add",3,"size"],[1,"mt-8","mb-8","w-1/4"],["label","Start number","formControlName","startNumber"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2,"Invoicing"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",2)(4,"div",3)(5,"div",4)(6,"div",5),e.\u0275\u0275text(7,"Invoice Number"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"div",6),e.\u0275\u0275text(9,"Enable invoice numbers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"mat-slide-toggle",7),e.\u0275\u0275text(11," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(12,Kd,2,0,"ui-form-group",8),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"div",4)(14,"ui-form-group",9),e.\u0275\u0275element(15,"ui-select",10),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(16,"div",4)(17,"div",5),e.\u0275\u0275text(18,"Company Information"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"div",6),e.\u0275\u0275text(20,"Configure company information in invoice"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"div",11),e.\u0275\u0275element(22,"i",12),e.\u0275\u0275elementStart(23,"span"),e.\u0275\u0275text(24,"Alert: Utilize a maximum of three lines within the text area."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(25,"mat-form-field",13)(26,"mat-label"),e.\u0275\u0275text(27,"Misc information"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(28,"textarea",14),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275elementStart(29,"div",15)(30,"button",16,17),e.\u0275\u0275listener("click",function(){return i.saveInvoicingConfig()}),e.\u0275\u0275element(32,"i",18),e.\u0275\u0275text(33," Update settings "),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(31);let l;e.\u0275\u0275advance(3),e.\u0275\u0275property("formGroup",i.form),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",null==(l=i.form.get("enableNumbering"))?null:l.value),e.\u0275\u0275advance(3),e.\u0275\u0275property("items",i.invoiceCreationDateOptions),e.\u0275\u0275advance(17),e.\u0275\u0275property("size",o.iconSize)}},directives:[ee.JL,ee.sg,Me.Rr,ee.JJ,ee.u,S.NgIf,Fn.H,pi.f,tn.H,mt.a,Et.KE,Et.hX,Pt.Nt,ee.Fj,_t.s,ht.V],styles:["textarea[_ngcontent-%COMP%]{resize:none!important}.invoicing-alert[_ngcontent-%COMP%]{margin-top:.5rem;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(208 235 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(231 245 255 / var(--tw-bg-opacity, 1));padding:.5rem;--tw-text-opacity: 1;color:rgb(34 139 230 / var(--tw-text-opacity, 1))}"],changeDetection:0}),r})();var Qd=_(33961),vl=_(66239),Cl=_(47429),Ns=_(89466),bl=_(78791),Ei=_(591),yl=_(24152),xl=_(7481),Jd=_(31943);
1function Yd(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-assigned-members",2),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().ngIf,l=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext().showMemberSearchOverlay(l,o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275property("members",t)}}function Xd(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Yd,1,1,"ui-assigned-members",1),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.ngIf,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.readOnly||t.length)}}function qd(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Xd,2,1,"ng-container",0),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(2,1,t.filteredMembers$))}}let zi=class{constructor(a,t,i,o,l,h,y,F){this.overlay=a,this.elementRef=t,this.overlayPositionBuilder=i,this.notificationService=o,this.membersService=l,this.filterPipe=h,this.jobsMessagesRepositoryService=y,this.jobsRepositoryService=F,this.readOnly=!1,this.members$=new Ei.X([]),this.filteredMembers$=new Ei.X([]),this.memberAssignHandler=(te,H)=>{if(te.includes(H))return;const re=[...te,H];this.members$.next(re),this.updateOrderMembers(re),this.notify(H,"add")},this.memberUnassignHandler=(te,H)=>{(0,sn.Z)(te,H),this.members$.next(te),this.updateOrderMembers(te),this.notify(H,"remove")}}ngOnInit(){const a=this.overlayPositionBuilder.flexibleConnectedTo(this.elementRef).withPositions(xl.h);this.overlayRef=this.overlay.create({width:"240px",positionStrategy:a,hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop"})}ngOnChanges(a){var t,i;const{job:o,memberIds:l,roleFilter:h}=a;h&&this.memberIds?this.setOrderMembers(this.memberIds):(null==o?void 0:o.currentValue)===(null==o?void 0:o.previousValue)||(null===(t=null==o?void 0:o.currentValue)||void 0===t?void 0:t.members)===(null===(i=null==o?void 0:o.previousValue)||void 0===i?void 0:i.members)?(null==l?void 0:l.currentValue)===(null==l?void 0:l.previousValue)||this.setOrderMembers(l.currentValue):this.setOrderMembers(o.currentValue.members)}showMemberSearchOverlay(a,t){var i,o;if(!this.job||this.readOnly)return;const l=new Cl.C5(yl.b),h=null===(i=this.overlayRef)||void 0===i?void 0:i.attach(l);null===(o=this.overlayRef)||void 0===o||o.backdropClick().pipe((0,wt.t)(this)).subscribe(()=>{this.overlayRef.detach()});let y=(0,li.Z)(this.membersService.membersObj);y=(0,Ns.Z)(y,"displayName"),h.instance.organizationMembers=this.filterMembers(y),h.instance.currentMembers=t;const F=h.instance.memberAssign.pipe((0,wt.t)(this)).subscribe(H=>{this.overlayRef.detach(),F.unsubscribe(),te.unsubscribe(),this.memberAssignHandler(a,H)}),te=h.instance.memberUnassign.pipe((0,wt.t)(this)).subscribe(H=>{this.overlayRef.detach(),te.unsubscribe(),F.unsubscribe(),this.memberUnassignHandler(a,H)})}notify(a,t){const o="add"===t?`added ${a.displayName} to the job.`:`removed ${a.displayName} from the job.`;this.notificationService.sendNotification({userId:this.notificationService.userId,text:"add"===t?"added you to a job.":"removed you from a job.",ts:Date.now(),type:"edit",link:`/admin/jobs/${this.job.id}`},[a.id]),this.jobsMessagesRepositoryService.create({jobId:this.jobId},{type:"event",text:o,user:this.notificationService.userId,ts:Date.now()})}updateOrderMembers(a){const t=(a||[]).map(i=>null==i?void 0:i.id).filter(i=>!!i);this.jobsRepositoryService.upsert(this.jobId,{members:t.length?t:["none"]})}filterMembers(a){return this.roleFilter?this.filterPipe.transform(a,{role:this.roleFilter}):a}setOrderMembers(a){return(0,De.mG)(this,void 0,void 0,function*(){const t=yield this.membersService.getMembersById(a),i=this.filterMembers(t);this.members$.next(t),this.filteredMembers$.next(i)})}};zi.\u0275fac=function(a){return new(a||zi)(e.\u0275\u0275directiveInject(A.aV),e.\u0275\u0275directiveInject(e.ElementRef),e.\u0275\u0275directiveInject(A.wJ),e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(U.ZeD),e.\u0275\u0275directiveInject(bl.g),e.\u0275\u0275directiveInject(U.QcC),e.\u0275\u0275directiveInject(U.YxF))},zi.\u0275cmp=e.\u0275\u0275defineComponent({type:zi,selectors:[["ui-assign-job"]],inputs:{job:"job",jobId:"jobId",readOnly:"readOnly",roleFilter:"roleFilter",memberIds:"memberIds"},features:[e.\u0275\u0275NgOnChangesFeature],decls:2,vars:3,consts:[[4,"ngIf"],[3,"members","click",4,"ngIf"],[3,"members","click"]],template:function(a,t){1&a&&(e.\u0275\u0275template(0,qd,3,3,"ng-container",0),e.\u0275\u0275pipe(1,"async")),2&a&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,t.members$))},directives:[S.NgIf,Jd.A],pipes:[S.AsyncPipe],encapsulation:2}),zi=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[A.aV,e.ElementRef,A.wJ,U.gqp,U.ZeD,bl.g,U.QcC,U.YxF])],zi);var ep=_(86700),tp=_(55800);function np(r,a){1&r&&(e.\u0275\u0275elementStart(0,"span",34),e.\u0275\u0275text(1,"ARCHIVED"),e.\u0275\u0275elementEnd())}const ip=function(r){return["/admin/order-management",r]},rp=function(r){return{taskId:r}};function op(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span",35)(1,"a",36),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(3,ip,t.job.data.orderId))("queryParams",e.\u0275\u0275pureFunction1(5,rp,null==t.job.data.linkedTo||null==t.job.data.linkedTo.ids?null:t.job.data.linkedTo.ids[0])),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.job.data.orderName," ")}}function ap(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",37),e.\u0275\u0275element(1,"jsonforms",38),e.\u0275\u0275elementEnd()),2&r){const t=a.ngIf,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("readonly",!0)("data",t.data)("schema",t.schema)("uischema",t.ui)("renderers",i.renderers)}}function Sl(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"jsonforms",40),e.\u0275\u0275listener("dataChange",function(o){return e.\u0275\u0275restoreView(t).ngIf.data=o})("dataChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveData(o)})("errors",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).formErrors=o}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("data",t.data)("schema",t.schema)("readonly",i.job.data.status!==i.JobStatus.InProgress)("uischema",t.ui)("renderers",i.renderers)}}function sp(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",25),e.\u0275\u0275text(2,"Deliverables"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",26),e.\u0275\u0275template(4,Sl,1,5,"jsonforms",39),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",null==t.job.data?null:t.job.data.deliverablesForm)}}function lp(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",41),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).startJob()}),e.\u0275\u0275text(1," Start Job "),e.\u0275\u0275elementEnd()}}function cp(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",41),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).submitForReview()}),e.\u0275\u0275text(1," Submit for Review "),e.\u0275\u0275elementEnd()}}function dp(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",41),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).acceptJob()}),e.\u0275\u0275text(1," Submit Job "),e.\u0275\u0275elementEnd()}}function pp(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",42),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).requestRevision()}),e.\u0275\u0275text(1," Request Revision "),e.\u0275\u0275elementEnd()}}function mp(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",43)(1,"ui-chat",44),e.\u0275\u0275listener("thumbsUp",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).notifyThumbsUp(o)})("chatMention",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).notifyMentionedMembers(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("messages",t.messages)("chatName",t.chatName)("chatLink",t.chatLink)("parentRef",t.j
1ob.doc.ref)}}const up=function(r){return{"pointer-events-none o-70":r}};function gp(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",3)(2,"span",4)(3,"i",5),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().goBack()}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(4,"div")(5,"span",6),e.\u0275\u0275template(6,np,2,0,"span",7),e.\u0275\u0275text(7),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(8,op,3,7,"span",8),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"span",9)(10,"ui-assign-job",10),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(11,"div")(12,"button",11,12),e.\u0275\u0275element(14,"i",13),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"mat-menu",14,15)(17,"button",16),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleJobArchiveStatus()}),e.\u0275\u0275text(18),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(19,"div",17)(20,"div",18)(21,"div",19)(22,"div",20)(23,"div")(24,"div",21),e.\u0275\u0275text(25),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(26,"div",22),e.\u0275\u0275text(27),e.\u0275\u0275pipe(28,"dayjsDateFormat"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(29,"div",23)(30,"button",24),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().editJob()}),e.\u0275\u0275text(31," Edit Job "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(32,"div",25),e.\u0275\u0275text(33,"Job Description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(34,"div",26)(35,"div",27),e.\u0275\u0275text(36,"Instructions"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(37,"div",28),e.\u0275\u0275elementStart(38,"div",27),e.\u0275\u0275text(39,"Work load"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(40,"div"),e.\u0275\u0275text(41),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(42,ap,2,5,"div",29),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(43,sp,5,1,"ng-container",2),e.\u0275\u0275elementStart(44,"div",30),e.\u0275\u0275template(45,lp,2,0,"button",31),e.\u0275\u0275template(46,cp,2,0,"button",31),e.\u0275\u0275template(47,dp,2,0,"button",31),e.\u0275\u0275template(48,pp,2,0,"button",32),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(49,mp,2,4,"div",33),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275reference(13),i=e.\u0275\u0275reference(16),o=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("size",24),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",o.job.data.archived),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",o.job.data.jobTitle," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.job.data.orderId),e.\u0275\u0275advance(2),e.\u0275\u0275property("jobId",o.job.id)("job",o.job.data),e.\u0275\u0275advance(2),e.\u0275\u0275property("matMenuTriggerFor",i),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" ",o.job.data.archived?"Unarchive":"Archive"," "),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(27,up,o.job.data.archived)),e.\u0275\u0275advance(3),e.\u0275\u0275styleProp("background-color",o.colors[o.job.data.status]),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",o.job.data.status," "),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" Due ",e.\u0275\u0275pipeBind3(28,23,o.job.data.deadline,"dddd, MMM DD, YYYY",o.appConfigService.timeZone)," "),e.\u0275\u0275advance(10),e.\u0275\u0275property("uiFroalaView",o.job.data.instructions),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" ",o.job.data.workload?o.job.data.workload+" hrs":"Not set"," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.job.data.intakeForm),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.job.data.status!==o.JobStatus.Pending),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",o.job.data.status===o.JobStatus.Pending),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.job.data.status===o.JobStatus.InProgress),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.job.data.status===o.JobStatus.Review),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.job.data.status===o.JobStatus.Review),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==o.job||null==o.job.doc?null:o.job.doc.ref)}}let _p=(()=>
1{class r{constructor(t,i,o,l,h,y,F,te,H){this.route=t,this.afs=i,this.notificationService=o,this.ngzone=l,this.popupService=h,this.location=y,this.manageJobDialog=F,this.snackBar=te,this.appConfigService=H,this.renderers=[...gt.cTv,...Qd.x],this.chatName="",this.chatLink="",this.deliverablesData={},this.deliverablesDataChanged=new N.xQ,this.formErrors=[],this.colors={Pending:"rgb(255, 203, 0)","In Progress":"rgb(0 148 255)",Review:"rgb(162, 93, 220)",Complete:"rgb(0, 200, 117)"},this.JobStatus=Hn.By}ngOnInit(){this.route.paramMap.subscribe(t=>{const i=t.get("jobId");this._getJob(i)})}toggleJobArchiveStatus(){this.job.doc.ref.update({archived:!this.job.data.archived,lastModified:Date.now()});const t=this.job.data.archived?"unarchived":"archived";this.job.doc.ref.collection("messages").doc(this.afs.createId()).set({type:"event",text:`${t} the job.`,user:this.notificationService.userId,ts:Date.now()}),this.job.data.linkedTo&&this.afs.collection(`tasks/${this.job.data.linkedTo.ids[0]}/messages`).add({type:"message",text:`Yo yo Tonomo here, ${this.job.data.jobTitle} has been ${t}.`,user:"system",ts:Date.now(),internalLink:`/admin/jobs/${this.job.id}`})}saveData(t){this.deliverablesDataChanged.next&&this.deliverablesDataChanged.next(t)}editJob(){this.manageJobDialog.openEdit(this.job.data,this.job.doc).pipe((0,Nt.q)(1)).subscribe(t=>{t&&this.job.doc.ref.collection("messages").doc(this.afs.createId()).set({type:"event",text:"updated the job details.",user:this.notificationService.userId,ts:Date.now()})})}ngOnDestroy(){this.clearSubscriptions()}clearSubscriptions(){this.unsubscribeMessages&&this.unsubscribeMessages(),this.job$&&this.job$.unsubscribe()}goBack(){this.location.back()}notifyMentionedMembers(t){const{mentionedMembers:i,text:o}=t,l=this.afs.firestore.batch();i.forEach(h=>{!h.id||this.notificationService.setBatchNotification(l,{userId:this.notificationService.userId,text:"individual"==h.type?`mentioned you on **${this.job.data.jobTitle}** for ${this.job.data.orderName}.`:`mentioned your team on **${this.job.data.jobTitle}** for ${this.job.data.orderName}.`,ts:Date.now(),snippet:o,type:"message",link:`/admin/jobs/${this.job.id}`},[h.id])}),l.commit()}notifyThumbsUp(t){this.notificationService.sendNotification({userId:this.notificationService.userId,text:"liked your comment.",ts:Date.now(),type:"event",link:`/admin/jobs/${this.job.id}`},[t.uid])}_notifyOriginalTask(){!this.job.data.linkedTo||this.afs.collection(`tasks/${this.job.data.linkedTo.ids[0]}/messages`).add({type:"message",text:`Yo yo Tonomo here, ${this.job.data.jobTitle} has been completed!`,user:"system",ts:Date.now(),internalLink:`/admin/jobs/${this.job.id}`})}startJob(){return(0,De.mG)(this,void 0,void 0,function*(){"none"==this.job.data.members[0]&&!0===(yield this.popupService.open({text:"This job hasn't been assigned to anyone. Would you like to assign it to yourself?",showCancelButton:!0})).value&&(this.job.data.members[0]=this.notificationService.userId),this._updateStatus("In Progress","moved job from **Pending** to **In Progress**.",`has started ${this.job.data.jobTitle} for ${this.job.data.orderName}.`)})}submitForReview(){this.formErrors.length?this.popupService.error({title:"Form error",text:"Please fix any errors in the deliverables form."}):void 0!==this.job.data.deliverablesForm&&(this.job.doc.ref.update({deliverablesForm:this.job.data.deliverablesForm}),this._updateStatus("Review","moved job from **In Progress** to **In Review**.",`has submitted ${this.job.data.jobTitle} for ${this.job.data.orderName} for **Review**.`))}requestRevision(){this._updateStatus("In Progress","rejected the job. Job moved from **In Review** to **In Progress**.",`has rejected ${this.job.data.jobTitle} for ${this.job.data.orderName}.`)}acceptJob(){this._updateStatus("Complete","approved the job. Job moved from **In Review** to **Complete**.",`has marked ${this.job.data.jobTitle} for ${this.job.data.orderName} as **Complete**.`),this._notifyOriginalTask()}_updateStatus(t,i,o){this.job.doc.ref.update({status:t,lastModified:Date.now()});const l=this.afs.firestore.batch();l.set(this.job.doc.ref.collection("messages").doc(this.afs.createId()),{type:"event",text:i,user:this.notificationService.userId,ts:Date.now()}),this.notificationService.setBatchNotification(l,{userId:this.notificationService.userId,text:o,ts:Date.now(),type:"message",link:`/admin/jobs/${this.job.id}`},this.job.data.members),l.commit()}_getJob(t){this.clearSubscriptions(),this.job$=this.afs.doc(`jobs/${t}`).snapshotChanges().pipe(hp(()=>{this._getMessages(t),this._subscribeDeliverablesFormChanges()})).subscribe(i=>(0,De.mG)(this,void 0,void 0,function*(){this.job=i.payload.exists?{data:i.payload.data(),id:i.payload.id,doc:i.payload}:void 0,this.chatName=`**${this.job.data.jobTitle}** for ${this.job.data.orderName}`,this.chatLink=`/admin/jobs/${this.job.id}`,this.job.data.deliverablesForm||this._loadDeliverablesForm(this.job.data.jobTemplateId)}))}_subscribeDeliverablesFormChanges(){setTimeout(()=>{this.deliverablesDataChanged.pipe((0,vl.bh)(1e3),(0,vl.xb)((t,i)=>JSON.stringify(t)===JSON.stringify(i))).subscribe(t=>{0!==Object.keys(t).length&&void 0!==this.job.data.deliverablesForm&&this.job.doc.ref.update("deliverablesForm",this.job.data.deliverablesForm).then(()=>{this.snackBar.open("Form changes saved.","Got it",{duration:400,horizontalPosition:"center",verticalPosition:"bottom"})})})},0)}_loadDeliverablesForm(t){this.afs.collection("jobTemplates").doc(t).get().subscribe(i=>{var o;this.jobTemplate=null==i?void 0:i.data(),this.jobTemplate&&(this.job.data.deliverablesForm=this.jobTemplate.deliverablesForm,this.jobTemplate.deliverablesForm&&!(null===(o=this.job.data.deliverablesForm)||void 0===o?void 0:o.data)&&(this.job.data.deliverablesForm.data={}))})}_getMessages(t){this.unsubscribeMessages&&this.unsubscribeMessages(),this.unsubscribeMessages=this.afs.doc(`jobs/${t}`).ref.collection("messages").orderBy("ts","asc").onSnapshot(i=>{this.ngzone.run(()=>(0,De.mG)(this,void 0,void 0,function*(){this.messages=i.docs.map(o=>{const l=o.data();return l.ref=o.ref,l.uid=l.user,l.user=this.notificationService.membersObj[l.user],l})}))})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(e.NgZone),e.\u0275\u0275directiveInject(U.qLq),e.\u0275\u0275directiveInject(S.Location),e.\u0275\u0275directiveInject(gt.S59),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(U._ZM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-jobs-detail-page"]],decls:3,vars:2,consts:[[1,"tc","pt4",3,"hidden"],["diameter","32",1,"center"],[4,"ngIf"],[1,"job-details__header"],[1,"dn","db-ns"],["uiIcon","arrow_circle_left",1,"pointer",3,"size","click"],[1,"ml2","dib","mr2"],["class","red fw6",4,"ngIf"],["class","fw5 f6",4,"ngIf"],[1,"ml-auto","tr"],[1,"dib","pointer","mr2",3,"jobId","job","click"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"matMenuTriggerFor"],["moreMenuButton","btnSize"],["uiIcon","more_vert",3,"size"],["xPosition","before"],["moreMenu","matMenu"],["mat-menu-item","",3,"click"],[1,"j
1ob-details"],[1,"job-details__tasks-container","dn","db-ns","w-50","mr-3","relative","overflow-auto","ph2"],[3,"ngClass"],[1,"flex","pa2","mb3"],[1,"order-status-chip"],[1,"f6","black-70"],[1,"ml-auto"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click"],[1,"fw6","black-70","f5","mb2","ph1"],[1,"jobs-section"],[1,"f-label"],[1,"mb2",3,"uiFroalaView"],["class","mt3",4,"ngIf"],[1,"ml-auto","button-bar"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",3,"click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","error","themeMode","primary",3,"click",4,"ngIf"],["class","job-details__chat-container",4,"ngIf"],[1,"red","fw6"],[1,"fw5","f6"],[3,"routerLink","queryParams"],[1,"mt3"],[3,"readonly","data","schema","uischema","renderers"],[3,"data","schema","readonly","uischema","renderers","dataChange","errors",4,"ngIf"],[3,"data","schema","readonly","uischema","renderers","dataChange","errors"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",3,"click"],["uiBtnSize","small","uiBtnTheme","error","themeMode","primary",3,"click"],[1,"job-details__chat-container"],[3,"messages","chatName","chatLink","parentRef","thumbsUp","chatMention"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275element(1,"mat-spinner",1),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(2,gp,50,29,"ng-container",2)),2&t&&(e.\u0275\u0275property("hidden",i.job),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",null==i.job?null:i.job.data))},directives:[Ni.Ou,S.NgIf,mt.a,Qe.yS,zi,_t.s,ht.V,Ft.p6,Ft.VK,Ft.OP,S.NgClass,Ls.N,ep.C,tp.P],pipes:[qt.B],styles:[".job-details[_ngcontent-%COMP%]{display:flex;height:calc(100vh - 80px);padding:12px 0}@media (max-width: 576px){.job-details[_ngcontent-%COMP%]{margin-top:0;padding:0;-webkit-overflow-scrolling:touch;height:calc(100vh - 80px)}}.job-details__chat-container[_ngcontent-%COMP%]{padding-top:63px;position:relative;width:calc(50% - 24px);border-radius:3px;box-sizing:content-box}@media (max-width: 576px){.job-details__chat-container[_ngcontent-%COMP%]{width:100%}}.job-details__tasks-container[_ngcontent-%COMP%]{padding-top:63px}@media (max-width: 576px){.job-details__tasks-container[_ngcontent-%COMP%]{margin-top:0}.job-details__tasks-container--show[_ngcontent-%COMP%]{display:block;position:absolute;width:100%;height:100%;z-index:8;background-color:#fff;padding-top:16px}}.job-details__header[_ngcontent-%COMP%]{position:absolute;background:white;width:100%;left:0;top:0;height:64px;border-bottom:1px solid #f4f4f4;padding:0 24px;display:flex;align-items:center;font-size:16px;font-weight:600;z-index:1}@media (max-width: 576px){.job-details__header[_ngcontent-%COMP%]{padding:0 12px;position:fixed;width:100%;top:80px;z-index:5;border-bottom:1px solid #ebebeb}.job-details__header[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{flex-basis:initial}}.planning[_ngcontent-%COMP%]{background-color:#0086c0}.production[_ngcontent-%COMP%]{background-color:#fdaa3d}.editing[_ngcontent-%COMP%]{background-color:#ffcb00}.complete[_ngcontent-%COMP%]{background-color:#00c875}.order-status-chip[_ngcontent-%COMP%]{background-color:#c4c4c4;color:#fff;padding:6px 12px;font-size:14px;border-radius:16px;display:inline-block;overflow:hidden}.f-label[_ngcontent-%COMP%]{opacity:.5;font-weight:600;font-size:12px}.jobs-section[_ngcontent-%COMP%]{background-color:#fff;padding:16px;border-radius:4px;margin-bottom:20px}
1.button-bar[_ngcontent-%COMP%] button[_ngcontent-%COMP%] + button[_ngcontent-%COMP%]{margin-left:8px}.job-details[_ngcontent-%COMP%] input.form-control:disabled, .job-details[_ngcontent-%COMP%] textarea.form-control:disabled{cursor:text;background-color:#fff;color:#000;opacity:.8}"]}),r})();const hp=r=>{let a=!0;return t=>t.pipe((0,Ht.b)({next:i=>{a&&(r(),a=!1)}}))};var ir=_(87174);const fp=["paginator"];function vp(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"ui-select",20),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().hiddenTabsChanged(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("items",t.tabs)("multiple",!0)("value",t.hiddenTabIds)}}function Cp(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"a",21),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().filterJobType(l)}),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"titlecase"),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();let o;e.\u0275\u0275property("active",(null!==(o=i.activeJobTab)&&void 0!==o?o:"")===t),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(2,2,i.tabsLabels[t]||t)," ")}}function bp(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275element(1,"tn-jobs-table",24),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("readOnly",i.readOnly)("dataSource",t.dataSource)("sortByShootDate",i.filterObject.sortByShootDate)}}function yp(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"mat-expansion-panel",22)(1,"mat-expansion-panel-header")(2,"mat-panel-title"),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(4,"mat-panel-description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(5,bp,2,3,"ng-template",23),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("expanded",i.viewState.accordions[t.status]),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" ",t.status," Jobs - ",t.dataSource.filteredData.length," ")}}let Tl=(()=>{class r{constructor(t,i,o,l,h,y,F,te,H){this.afs=t,this.algoliaSearch=i,this.localStorage=o,this.excelService=l,this.membersService=h,this.appConfigService=y,this.route=F,this.router=te,this.manageJobDialog=H,this.displayedTabs=[],this.hiddenTabIds=[],this.displayedTabIds=[],this.tabsLabels={},this.readOnly=!1,this.length=0,this.paginationIndex=[],this.defaultPageSize=50,this.pageSizeOptions=[25,50,100,200,300,500],this.filterObject={memberIds:[],services:[],bookingFlows:[],orderStatuses:[],paymentStatuses:[],dates:null,search:null,sortByShootDate:!1,hideCompleted:!1},this.viewState={accordions:{Pending:!0,"In Progress":!0,Review:!0}}}ngOnInit(){this.route.queryParams.pipe((0,An.P)()).toPromise().then(i=>{i.tab&&(this.activeJobTab=i.tab),this.getJobs("first")}),this._setJobTabs();const t=this.localStorage.retrieve("orderFilterObject");if(t){if(t.queryParamsFilter)try{delete t.queryParamsFilter}catch(i){console.error(i)}this.filterObject=t,this.filterObject.dates&&(this.filterObject.dates.startDate=Hi()(this.filterObject.dates.startDate),this.filterObject.dates.endDate=Hi()(this.filterObject.dates.endDate)||null)}}createJobFromScratch(){this.manageJobDialog.openCreateWizard()}hiddenTabsChanged(t){this.hiddenTabIds=null!=t?t:[],this.changeDisplayedTabs()}changeDisplayedTabs(){const t=(this.tabs||[]).filter(i=>this.hiddenTabIds.includes(i.id));this.localStorage.store("jobsHiddenTabs",t),this.showDisplayedTabs()}showDisplayedTabs(){this.displayedTabs=(this.tabs||[]).filter(o=>!this.hiddenTabIds.includes(o.id));const i=[{id:"",title:"All Jobs"},...this.displayedTabs];this.displayedTabIds=i.map(o=>o.id),this.tabsLabels=Object.fromEntries(i.map(o=>[o.id,o.title]))}exportAsXLSX(){this.excelService.exportAsExcelFile(this._transformDataForExcel(),"jobsReport")}_transformDataForExcel(){return this.jobs.map(t=>{const i={Service:t.data.linkedTo?t.data.linkedTo.names[0]:"","Job Title":t.data.jobTitle,"Order Name":t.data.orderName,"Date Created":(0,ge.rL_)(t.data.dateCreated,ge.lvo.US_NUMERIC_DATE_2Y,this.appConfigService.timeZone),"Shoot Date":(0,ge.rL_)(t.data.date,ge.lvo.US_NUMERIC_DATE_2Y,this.appConfigService.timeZone),"Job Deadline":(0,ge.rL_)(t.data.deadline,ge.lvo.US_NUMERIC_DATE_2Y,this.appConfigService.timeZone),Workload:t.data.workload,Status:t.data.status},o=this.membersService.getMembersByIdSync(t.data.members);i.members=o.map(y=>y.displayName).join(", ");const l=this._transformFormResponses(t.data.intakeForm),h=this._transformFormResponses(t.data.deliverablesForm);return Object.assign(i,l,h),i})}_transformFormResponses(t){if(!t)return{};const i={};for(const o in t.data)if(t.data.hasOwnProperty(o)){const l=(0,un.Z)(t.ui.elements,{scope:`#/properties/${o}`});i[l?l.label:o]=t.data[o]}return i}_setJobTabs(){this.afs.collection("jobTemplates").get().subscribe(t=>{var i;this.tabs=t.docs.map(l=>({title:l.data().title,id:l.id}));const o=this.localStorage.retrieve("jobsHiddenTabs");if(o){const l=o.map(h=>h.id);this.hiddenTabIds=(null!==(i=this.tabs)&&void 0!==i?i:[]).filter(h=>l.includes(h.id)).map(h=>h.id)}this.showDisplayedTabs()})}ngOnDestroy(){this.jobs$&&this.jobs$.unsubscribe()}filterJobType(t){this.activeJobTab=t,this.getJobs("first"),this.router.navigate([],{relativeTo:this.route,queryParams:{tab:this.activeJobTab},queryParamsHandling:"merge",replaceUrl:!0})}_getJobsById(t){if(0==t.length)return this.jobs=[],this._segmentDataSourcesByStatus([]),void(this.fetchingData=!1);const i=t.map(o=>this.afs.collection("jobs").doc(o).snapshotChanges());this.jobs$=(0,ln.aj)(i).subscribe(o=>
1{this.jobs=o.map(l=>{const h=l.payload.data();return{id:l.payload.id,data:h,doc:l.payload}}).filter(l=>l.data),this.jobs.forEach(l=>{var h;l.data.orderId&&!(null===(h=l.data.linkedTo)||void 0===h?void 0:h.names)&&this.afs.doc(`tasks/${l.data.linkedTo.ids[0]}`).get().subscribe(y=>{const F=y.data();l.doc.ref.update({"linkedTo.names":[null==F?void 0:F.name]})})}),this.jobs.forEach(l=>{l.data.orderId&&!l.data.date&&this.afs.doc(`mondayOrder/${l.data.orderId}`).get().subscribe(h=>{const y=h.data();y&&l.doc.ref.update({date:(0,ge.EUj)(y.date,this.appConfigService.timeZone)})})}),this._segmentDataSourcesByStatus(this.jobs),this.fetchingData=!1}),this.paginationIndex=[]}getJobs(t){"first"==t&&this.paginator&&0!==this.paginator.pageIndex&&(this.paginator.pageIndex=0),this.fetchingData=!0,(this.filterObject.sortByShootDate?this.algoliaSearch.jobsShootDateIndex:this.algoliaSearch.jobsIndex).search(this.filterObject.search?this.filterObject.search:"",{attributesToRetrieve:["objectId"],facetFilters:this.createFacets(),filters:this.createFilters(),hitsPerPage:this.pageEvent?this.pageEvent.pageSize:this.defaultPageSize,page:this.pageEvent?this.pageEvent.pageIndex:0}).then(o=>{const l=o.hits.map(h=>h.objectID);this.length=o.nbHits,this._getJobsById(l),this.localStorage.store("jobsFilterObject",this.filterObject)}).catch(o=>{404===o.status&&(this.length=0,this._getJobsById([]))})}createFilters(){let t="NOT archived:true";return this.activeJobTab&&(t+=` AND jobTemplateId:${this.activeJobTab}`),this.filterObject.dates&&(t=`${this.filterObject.sortByShootDate?"date":"deadline"}:${this.filterObject.dates.startDate.valueOf()} TO ${this.filterObject.dates.endDate.valueOf()}`),this.filterObject.hideCompleted&&(t+=' AND NOT status:"Complete"'),t}createFacets(){let t=[],i=[];return this.filterObject.memberIds&&(t=this.filterObject.memberIds.map(o=>"members:"+o)),this.filterObject.services&&(i=this.filterObject.services.map(o=>"services:"+o)),[t,i].filter(Array.isArray)}handlePage(t){this.pageEvent=t,this.getJobs(0==t.pageIndex?"first":t.pageIndex>t.previousPageIndex?"next":"previous")}trackByStatus(t,i){return i.status}_segmentDataSourcesByStatus(t){this.jobsByStatus=this.appConfigService.jobStatuses.map(i=>{const o=t.filter(l=>l.data&&l.data.status==i);return{status:i,dataSource:new $.by(o)}})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.ewU),e.\u0275\u0275directiveInject(ir.n2),e.\u0275\u0275directiveInject(U.xBP),e.\u0275\u0275directiveInject(U.ZeD),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(gt.S59))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-jobs-page"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(fp,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.paginator=o.first)}},decls:26,vars:16,consts:[[1,"page-wrapper"],[3,"searchInputPlaceholder","filterObject","filterObjectChange"],[1,"flex"],[1,"mr3",3,"disableRipple","ngModel","ngModelChange"],[1,"mr1",3,"disableRipple","ngModel","ngModelChange"],[1,"ml-auto"],["type","button","uiBtnSize","","uiBtnTheme","","themeMode","secondary",3,"click"],["uiIcon","download"],[1,"ml2"],["class","ml2 hidden-tabs-select",4,"ngIf"],[1,"jobs-tabs"],["mat-tab-nav-bar","",1,"mb-16"],["mat-tab-link","",3,"active","click",4,"ngFor","ngForOf"],["multi","",1,"jobs-accordion","example-headers-align",3,"hidden"],[3,"expanded",4,"ngFor","ngForOf","ngForTrackBy"],[3,"disabled","pageSize","length","pageSizeOptions","page"],["paginator",""],[1,"pt4",3,"hidden"],["diameter","32",1,"center"],[1,"ml2","hidden-tabs-select"],["valueKey","id","nameKey","title","appearance","bordered","placeholder","Hidden tabs",3,"items","multiple","value","selectionChange"],["mat-tab-link","",3,"active","click"],[3,"expanded"],["matExpansionPanelContent",""],[3,"readOnly","dataSource","sortByShootDate"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1"),e.\u0275\u0275text(2,"Jobs"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"tn-filter-bar",1),e.\u0275\u0275listener("filterObjectChange",function(l){return i.filterObject=l})("filterObjectChange",function(){return i.getJobs("first")}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",2)(5,"mat-slide-toggle",3),e.\u0275\u0275listener("ngModelChange",function(l){return i.filterObject.sortByShootDate=l})("ngModelChange",function(){return i.getJobs("first")}),e.\u0275\u0275text(6," Sort by Shoot Date "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"mat-slide-toggle",4),e.\u0275\u0275listener("ngModelChange",function(l){return i.filterObject.hideCompleted=l})("ngModelChange",function(){return i.getJobs("first")}),e.\u0275\u0275text(8," Hide Completed Jobs "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"div",5)(10,"button",6),e.\u0275\u0275listener("click",function(){return i.exportAsXLSX()}),e.\u0275\u0275element(11,"i",7),e.\u0275\u0275text(12," Download Excel "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(13,"div",8)(14,"button",6),e.\u0275\u0275listener("click",function(){return i.createJobFromScratch()}),e.\u0275\u0275text(15," Create Job "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(16,vp,2,3,"div",9),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(17,"div",10)(18,"nav",11),e.\u0275\u0275template(19,Cp,3,4,"a",12),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(20,"mat-accordion",13),e.\u0275\u0275template(21,yp,6,3,"mat-expansion-panel",14),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"mat-paginator",15,16),e.\u0275\u0275listener("page",function(l){return i.handlePage(l)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"div",17),e.\u0275\u0275element(25,"mat-spinner",18),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275advance(3),e.\u0275\u0275property("searchInputPlaceholder","Search jobs")("filterObject",i.filterObject),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.filterObject.sortByShootDate),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.filterObject.hideCompleted),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngIf",i.tabs),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.displayedTabIds),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.fetchingData),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.jobsByStatus)("ngForTrackBy",i.trackByStatus),e.\u0275\u0275advance(1),e.\u0275\u0275property("disabled",i.fetchingData)("pageSize",i.defaultPageSize)("length",i.length)("pageSizeOptions",i.pageSizeOptions),e.\u0275\u0275advance(2),e.\u0275\u0275property("hidden",!i.fetchingData))},styles:[".jobs-tabs[_ngcontent-%COMP%]{width:100%}.jobs-accordion[_ngcontent-%COMP%]{margin-bottom:1rem;display:block}.hidden-tabs-select[_ngcontent-%COMP%]{max-width:256px}"]}),r})();var $s=_(95113),wl=_(22313),xp=_(89971),kl=_(81379),El=_(76224),Sp=_(22957),Tp=_(7607),wp=_(79940);const Ip=function Op(r,a){return r&&(0,Tp.Z)(r,function kp(r){return"function"==typeof r?r:wp.Z}(a))};var Ol=_(17663),Dp=_(92398),Mp=_.n(Dp),Pp=(_(79253),_(30839));let Fp=(()=>
1{class r{constructor(){this.toggleShowTasks=new e.EventEmitter,this.toggleThread=new e.EventEmitter}get title(){var t,i,o;return this.order.packages?this.order.packages:(null===(o=null===(i=null===(t=this.order.property_address)||void 0===t?void 0:t.formatted_address)||void 0===i?void 0:i.split(","))||void 0===o?void 0:o[0])||""}toggleShowTasksHandler(){this.toggleShowTasks.emit()}toggleThreadHandler(){this.toggleThread.emit()}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-admin-order-details-header"]],inputs:{order:"order"},outputs:{toggleShowTasks:"toggleShowTasks",toggleThread:"toggleThread"},decls:11,vars:3,consts:[[1,"app-v2","order-details-header"],[1,"show-tasks-button",3,"click"],["uiIcon","format_list_bulleted"],[1,"order-header-title"],[1,"order-header-assignee",3,"order","click"],["uiBtnSize","small","trailingIcon","","uiBtnTheme","main","themeMode","tertiary",1,"order-details-button",3,"click"],["orderDetailsButton","btnSize"],[1,"order-details-button-label"],["uiIcon","assignment",3,"size"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"span",1),e.\u0275\u0275listener("click",function(){return i.toggleShowTasksHandler()}),e.\u0275\u0275element(2,"i",2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",3),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"ui-assign-order",4),e.\u0275\u0275listener("click",function(l){return l.stopPropagation()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"button",5,6),e.\u0275\u0275listener("click",function(){return i.toggleThreadHandler()}),e.\u0275\u0275elementStart(8,"span",7),e.\u0275\u0275text(9,"Order details"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(10,"i",8),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(7);e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate(i.title),e.\u0275\u0275advance(1),e.\u0275\u0275property("order",i.order),e.\u0275\u0275advance(5),e.\u0275\u0275property("size",o.iconSize)}},directives:[mt.a,Gi.c,_t.s,ht.V],styles:[".order-details-header[_ngcontent-%COMP%]{display:flex;width:100%;align-items:center;justify-content:space-between;border-top-left-radius:.25rem;border-bottom-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:1rem;height:64px}@media (max-width: 576px){.order-details-header[_ngcontent-%COMP%]{padding-left:.75rem;padding-right:.75rem}}.order-header-title[_ngcontent-%COMP%]{flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600}.show-tasks-button[_ngcontent-%COMP%]{margin-right:.5rem;display:none}@media (max-width: 576px){.show-tasks-button[_ngcontent-%COMP%]{display:block}}.order-details-button[_ngcontent-%COMP%]{margin-left:1.5rem}@media (max-width: 576px){.order-details-button-label[_ngcontent-%COMP%], .order-header-assignee[_ngcontent-%COMP%]{display:none}}"]}),r})();var Ap=_(80384),Er=(()=>{return(r=Er||(Er={})).none="",r.modified="modified",r.synced="synced",r.syncing="syncing...",r.error="error",Er;var r})();function Bp(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(": ",t.errorMessage,"")}}const jp=function(r){return{"sync-state--error":r}};function Rp(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",1),e.\u0275\u0275text(1),e.\u0275\u0275template(2,Bp,2,1,"span",2),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(3,jp,t.isError)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.status,""),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.isError)}}let zs=(()=>{class r{get status(){return"pending"===this.requestStatus?Er.syncing:this.isError?Er.error:Er.none}get isError(){return null!==this.requestStatus&&"object"==typeof this.requestStatus}get errorMessage(){return null!==this.requestStatus&&"object"==typeof this.requestStatus&&this.requestStatus.error}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-admin-active-order-details-sync-state"]],inputs:{requestStatus:"requestStatus"},decls:1,vars:1,consts:[["class","sync-state",3,"ngClass",4,"ngIf"],[1,"sync-state",3,"ngClass"],[4,"ngIf"]],template:function(t,i){1&t&&e.\u0275\u0275template(0,Rp,3,5,"div",0),2&t&&e.\u0275\u0275property("ngIf",i.status)},directives:[S.NgIf,S.NgClass],styles:[".sync-state[_ngcontent-%COMP%]{pointer-events:none;position:absolute;border-radius:.25rem;padding:.25rem 1rem;font-size:.625rem;right:0;z-index:5;background-color:#ffffffc2}.sync-state--error[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(224 49 49 / var(--tw-text-opacity, 1))}"],changeDetection:0}),r})();var Us=_(34029),oa=_(68896),_i=_(87168),oo=_(21406),Vp=_(4267),Np=_(25322);function Il(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-user-autocomplete",1),e.\u0275\u0275listener("selectUser",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updateAssignment(o)}),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("selectedUser",e.\u0275\u0275pipeBind1(1,4,t.editor$))("debounceTime",100)("clearable",!0)("emitOnEmptySearch",!0)}}let $p=(()=>{class r extends Xt.m1{constructor(t,i,o,l){super({}),this.membersService=t,this.taskRepositoryService=i,this.notificationService=o,this.taskMessagesRepositoryService=l,this.task$=this.select(h=>h.task),this.editor$=this.select(h=>h.editor),this.updateAssignment=this.effect(h=>h.pipe((0,_i.M)(this.state$),(0,oo.b)(([y,F])=>{var te,H;return!y&&!(null===(te=F.task)||void 0===te?void 0:te.editorId)||y&&(null===(H=F.task)||void 0===H?void 0:H.editorId)===y.uid||!F.task?(0,Rn.of)(null):(y?(0,zt.D)(this.assignEditor(F.task,y)):F.editor?(0,zt.D)(this.removeEditor(F.task,F.editor)):oa.E).pipe((0,Xt._b)(()=>{},re=>console.error(re)))})))}set task(t){this.patchState({task:t})}ngOnInit(){this.watchEditor()}assignEditor(t,i){var o;return(0,De.mG)(this,void 0,void 0,function*(){yield this.taskRepositoryService.update(t.id,{editorId:i.uid}),this.notificationService.sendNotification({userId:this.notificationService.userId,text:"assigned you to a task.",t
1s:Date.now(),type:"edit",link:`/admin/order-management/${t.orderId}?taskId=${t.id}`},[null!==(o=i.uid)&&void 0!==o?o:""]),this.taskMessagesRepositoryService.create({taskId:t.id},{type:"event",text:`assigned ${i.displayName} to ${t.name}.`,user:this.notificationService.userId,ts:Date.now()})})}removeEditor(t,i){return(0,De.mG)(this,void 0,void 0,function*(){yield this.taskRepositoryService.update(t.id,{editorId:null}),this.notificationService.sendNotification({userId:this.notificationService.userId,text:"removed you from a task.",ts:Date.now(),type:"edit",link:`/admin/order-management/${t.orderId}?taskId=${t.id}`},[i.id]),this.taskMessagesRepositoryService.create({taskId:t.id},{type:"event",text:`removed ${i.displayName} from ${t.name}.`,user:this.notificationService.userId,ts:Date.now()})})}watchEditor(){this.effect(()=>this.task$.pipe((0,qe.U)(t=>(null==t?void 0:t.editorId)||null),(0,Qn.x)(),(0,St.w)(t=>t?(0,zt.D)(this.membersService.getMemberById(t)).pipe((0,Xt._b)(i=>this.patchState({editor:null!=i?i:void 0}),i=>console.error(i))):(this.patchState({editor:void 0}),oa.E))))}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.ZeD),e.\u0275\u0275directiveInject(U.dPY),e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(U.XaN))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["ui-assign-task-editor"]],inputs:{task:"task"},features:[e.\u0275\u0275ProvidersFeature([{provide:Vp.q,useFactory:r=>{let a;return t=>{null!=a||(a=r.get$().pipe((0,qe.U)(({members:o})=>Object.entries(o).map(([l,h])=>Object.assign(Object.assign({},h),{id:l})).filter(l=>Boolean(l.displayName))),(0,qe.U)(o=>(0,Ns.Z)(o,"displayName"))));const i=(t||"").trim().toLowerCase();return a.pipe((0,qe.U)(o=>o.filter(l=>{var h,y;return!i||(null===(h=l.displayName)||void 0===h?void 0:h.toLowerCase().includes(i))||(null===(y=l.email)||void 0===y?void 0:y.toLowerCase().includes(i))}).map(l=>({uid:l.id,displayName:l.displayName,photoURL:l.photoURL,email:l.email}))))}},deps:[U.zJW]}]),e.\u0275\u0275InheritDefinitionFeature],decls:2,vars:3,consts:[["class","w-100","label","Assign Editor","placeholder","\u2014","noUsersText","No editors found",3,"selectedUser","debounceTime","clearable","emitOnEmptySearch","selectUser",4,"ngIf"],["label","Assign Editor","placeholder","\u2014","noUsersText","No editors found",1,"w-100",3,"selectedUser","debounceTime","clearable","emitOnEmptySearch","selectUser"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,Il,2,6,"ui-user-autocomplete",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.task$))},directives:[S.NgIf,Np.r],pipes:[S.AsyncPipe],styles:[".profile-bubble[_ngcontent-%COMP%]{margin:initial;display:inline-block}.profile-name[_ngcontent-%COMP%]{white-space:nowrap;font-size:8px}"],changeDetection:0}),r})();var Dl=_(24128),Ml=_(24731);let Pl=(()=>{class r{transform(t){return t&&t.replace(/(?:\r\n|\r|\n)/g,"<br/>")}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275pipe=e.\u0275\u0275definePipe({name:"replaceLineBreaks",type:r,pure:!0}),r})();function Hs(r){this.j={},this.jr=[],this.jd=null,this.t=r}Hs.prototype={accepts:function(){return!!this.t},tt:function(a,t){if(t&&t.j)return this.j[a]=t,t;var i=t,o=this.j[a];if(o)return i&&(o.t=i),o;o=Zt();var l=aa(this,a);return l?(Object.assign(o.j,l.j),o.jr.append(l.jr),o.jr=l.jd,o.t=i||l.t):o.t=i,this.j[a]=o,o}};var Zt=function(){return new Hs},ft=function(a){return new Hs(a)},We=function(a,t,i){a.j[t]||(a.j[t]=i)},Sn=function(a,t,i){a.jr.push([t,i])},aa=function(a,t){var i=a.j[t];if(i)return i;for(var o=0;o<a.jr.length;o++){var h=a.jr[o][1];if(a.jr[o][0].test(t))return h}return a.jd},At=function(a,t,i){for(var o=0;o<t.length;o++)We(a,t[o],i)},zp=function(a,t){for(var i=0;i<t.length;i++)We(a,t[i][0],t[i][1])},rr=function(a,t,i,o){for(var y,l=0,h=t.length;l<h&&(y=a.j[t[l]]);)a=y,l++;if(l>=h)return[];for(;l<h-1;)y=o(),We(a,t[l],y),a=y,l++;We(a,t[h-1],i)},oi="DOMAIN",Oi="LOCALHOST",hi="TLD",Yn="NUM",Or="PROTOCOL",Ws="MAILTO",Ir="OPENBRACE",ao="OPENBRACKET",so="OPENANGLEBRACKET",lo="OPENPAREN",or="CLOSEBRACE",Dr="CLOSEBRACKET",Mr="CLOSEANGLEBRACKET",Pr="CLOSEPAREN",fi="AMPERSAND",c="APOSTROPHE",g="ASTERISK",s="AT",m="BACKSLASH",C="BACKTICK",M="CARET",oe="COLON",we="COMMA",Ge="DOLLAR",tt="DOT",dt="EQUALS",Ve="EXCLAMATION",it="HYPHEN",bt="PERCENT",$t="PIPE",vn="PLUS",Mn="POUND",Pn="QUERY",ai="QUOTE",si="SEMI",ye="SLASH",Xe="TILDE",vt="UNDERSCORE",xt="SYM",et=Object.freeze({__proto__:null,DOMAIN:oi,LOCALHOST:Oi,TLD:hi,NUM:Yn,PROTOCOL:Or,MAILTO:Ws,WS:"WS",NL:"NL",OPENBRACE:Ir,OPENBRACKET:ao,OPENANGLEBRACKET:so,OPENPAREN:lo,CLOSEBRACE:or,CLOSEBRACKET:Dr,CLOSEANGLEBRACKET:Mr,CLOSEPAREN:Pr,AMPERSAND:fi,APOSTROPHE:c,ASTERISK:g,AT:s,BACKSLASH:m,BACKTICK:C,CARET:M,COLON:oe,COMMA:we,DOLLAR:Ge,DOT:tt,EQUALS:dt,EXCLAMATION:Ve,HYPHEN:it,PERCENT:bt,PIPE:$t,PLUS:vn,POUND:Mn,QUERY:Pn,QUOTE:ai,SEMI:si,SLASH:ye,TILDE:Xe,
1UNDERSCORE:vt,SYM:xt}),rn="aaa aarp abarth abb abbott abbvie abc able abogado abudhabi ac academy accenture accountant accountants aco actor ad adac ads adult ae aeg aero aetna af afamilycompany afl africa ag agakhan agency ai aig airbus airforce airtel akdn al alfaromeo alibaba alipay allfinanz allstate ally alsace alstom am amazon americanexpress americanfamily amex amfam amica amsterdam analytics android anquan anz ao aol apartments app apple aq aquarelle ar arab aramco archi army arpa art arte as asda asia associates at athleta attorney au auction audi audible audio auspost author auto autos avianca aw aws ax axa az azure ba baby baidu banamex bananarepublic band bank bar barcelona barclaycard barclays barefoot bargains baseball basketball bauhaus bayern bb bbc bbt bbva bcg bcn bd be beats beauty beer bentley berlin best bestbuy bet bf bg bh bharti bi bible bid bike bing bingo bio biz bj black blackfriday blockbuster blog bloomberg blue bm bms bmw bn bnpparibas bo boats boehringer bofa bom bond boo book booking bosch bostik boston bot boutique box br bradesco bridgestone broadway broker brother brussels bs bt budapest bugatti build builders business buy buzz bv bw by bz bzh ca cab cafe cal call calvinklein cam camera camp cancerresearch canon capetown capital capitalone car caravan cards care career careers cars casa case cash casino cat catering catholic cba cbn cbre cbs cc cd center ceo cern cf cfa cfd cg ch chanel channel charity chase chat cheap chintai christmas chrome church ci cipriani circle cisco citadel citi citic city cityeats ck cl claims cleaning click clinic clinique clothing cloud club clubmed cm cn co coach codes coffee college cologne com comcast commbank community company compare computer comsec condos construction consulting contact contractors cooking cookingchannel cool coop corsica country coupon coupons courses cpa cr credit creditcard creditunion cricket crown crs cruise cruises csc cu cuisinella cv cw cx cy cymru cyou cz dabur dad dance data date dating datsun day dclk dds de deal dealer deals degree delivery dell deloitte delta democrat dental dentist desi design dev dhl diamonds diet digital direct directory discount discover dish diy dj dk dm dnp do docs doctor dog domains dot download drive dtv dubai duck dunlop dupont durban dvag dvr dz earth eat ec eco edeka edu education ee eg email emerck energy engineer engineering enterprises epson equipment er ericsson erni es esq estate et etisalat eu eurovision eus events exchange expert exposed express extraspace fage fail fairwinds faith family fan fans farm farmers fashion fast fedex feedback ferrari ferrero fi fiat fidelity fido film final finance financial fire firestone firmdale fish fishing fit fitness fj fk flickr flights flir florist flowers fly fm fo foo food foodnetwork football ford forex forsale forum foundation fox fr free fresenius frl frogans frontdoor frontier ftr fujitsu fujixerox fun fund furniture futbol fyi ga gal gallery gallo gallup game games gap garden gay gb gbiz gd gdn ge gea gent genting george gf gg ggee gh gi gift gifts gives giving gl glade glass gle global globo gm gmail gmbh gmo gmx gn godaddy gold goldpoint golf goo goodyear goog google gop got gov gp gq gr grainger graphics gratis green gripe grocery group gs gt gu guardian gucci guge guide guitars guru gw gy hair hamburg hangout haus hbo hdfc hdfcbank health healthcare help helsinki here hermes hgtv hiphop hisamitsu hitachi hiv hk hkt hm hn hockey holdings holiday homedepot homegoods homes homesense honda horse hospital host hosting hot hoteles hotels hotmail house how hr hsbc ht hu hughes hyatt hyundai ibm icbc ice icu id ie ieee ifm ikano il im imamat imdb immo immobilien in inc industries infiniti info ing ink institute insurance insure int international intuit investments io ipiranga iq ir irish is ismaili ist istanbul it itau itv iveco jaguar java jcb je jeep jetzt jewelry jio jll jm jmp jnj jo jobs joburg jot joy jp jpmorgan jprs juegos juniper kaufen kddi ke kerryhotels kerrylogistics kerryproperties kfh kg kh ki kia kim kinder kindle kitchen kiwi km kn koeln komatsu kosher kp kpmg kpn kr krd kred kuokgroup kw ky kyoto kz la lacaixa lamborghini lamer lancaster lancia land landrover lanxess lasalle lat latino latrobe law lawyer lb lc lds lease leclerc lefrak legal lego lexus lgbt li lidl life lifeinsurance lifestyle lighting like lilly limited limo lincoln linde link lipsy live living lixil lk llc llp loan loans locker locus loft lol london lotte lotto love lpl lplfinancial lr ls lt ltd ltda lu lundbeck luxe luxury lv ly ma macys madrid maif maison makeup man management mango map market marketing markets marriott marshalls maserati mattel mba mc mckinsey md me med media meet melbourne meme memorial men menu merckmsd mg mh miami microsoft mil mini mint mit mitsubishi mk ml mlb mls mm mma mn mo mobi mobile moda moe moi mom monash money monster mormon mortgage moscow moto motorcycles mov mov
1ie mp mq mr ms msd mt mtn mtr mu museum mutual mv mw mx my mz na nab nagoya name nationwide natura navy nba nc ne nec net netbank netflix network neustar new news next nextdirect nexus nf nfl ng ngo nhk ni nico nike nikon ninja nissan nissay nl no nokia northwesternmutual norton now nowruz nowtv np nr nra nrw ntt nu nyc nz obi observer off office okinawa olayan olayangroup oldnavy ollo om omega one ong onl online onyourside ooo open oracle orange org organic origins osaka otsuka ott ovh pa page panasonic paris pars partners parts party passagens pay pccw pe pet pf pfizer pg ph pharmacy phd philips phone photo photography photos physio pics pictet pictures pid pin ping pink pioneer pizza pk pl place play playstation plumbing plus pm pn pnc pohl poker politie porn post pr pramerica praxi press prime pro prod productions prof progressive promo properties property protection pru prudential ps pt pub pw pwc py qa qpon quebec quest qvc racing radio raid re read realestate realtor realty recipes red redstone redumbrella rehab reise reisen reit reliance ren rent rentals repair report republican rest restaurant review reviews rexroth rich richardli ricoh ril rio rip rmit ro rocher rocks rodeo rogers room rs rsvp ru rugby ruhr run rw rwe ryukyu sa saarland safe safety sakura sale salon samsclub samsung sandvik sandvikcoromant sanofi sap sarl sas save saxo sb sbi sbs sc sca scb schaeffler schmidt scholarships school schule schwarz science scjohnson scot sd se search seat secure security seek select sener services ses seven sew sex sexy sfr sg sh shangrila sharp shaw shell shia shiksha shoes shop shopping shouji show showtime si silk sina singles site sj sk ski skin sky skype sl sling sm smart smile sn sncf so soccer social softbank software sohu solar solutions song sony soy spa space sport spot spreadbetting sr srl ss st stada staples star statebank statefarm stc stcgroup stockholm storage store stream studio study style su sucks supplies supply support surf surgery suzuki sv swatch swiftcover swiss sx sy sydney systems sz tab taipei talk taobao target tatamotors tatar tattoo tax taxi tc tci td tdk team tech technology tel temasek tennis teva tf tg th thd theater theatre tiaa tickets tienda tiffany tips tires tirol tj tjmaxx tjx tk tkmaxx tl tm tmall tn to today tokyo tools top toray toshiba total tours town toyota toys tr trade trading training travel travelchannel travelers travelersinsurance trust trv tt tube tui tunes tushu tv tvs tw tz ua ubank ubs ug uk unicom university uno uol ups us uy uz va vacations vana vanguard vc ve vegas ventures verisign versicherung vet vg vi viajes video vig viking villas vin vip virgin visa vision viva vivo vlaanderen vn vodka volkswagen volvo vote voting voto voyage vu vuelos wales walmart walter wang wanggou watch watches weather weatherchannel webcam weber website wed wedding weibo weir wf whoswho wien wiki williamhill win windows wine winners wme wolterskluwer woodside work works world wow ws wtc wtf xbox xerox xfinity xihuan xin xxx xyz yachts yahoo yamaxun yandex ye yodobashi yoga yokohama you youtube yt yun za zappos zara zero zip zm zone zuerich zw verm\xf6gensberater-ctb verm\xf6gensberatung-pwb \u03b5\u03bb \u03b5\u03c5 \u0431\u0433 \u0431\u0435\u043b \u0434\u0435\u0442\u0438 \u0435\u044e \u043a\u0430\u0442\u043e\u043b\u0438\u043a \u043a\u043e\u043c \u049b\u0430\u0437 \u043c\u043a\u0434 \u043c\u043e\u043d \u043c\u043e\u0441\u043a\u0432\u0430 \u043e\u043d\u043b\u0430\u0439\u043d \u043e\u0440\u0433 \u0440\u0443\u0441 \u0440\u0444 \u0441\u0430\u0439\u0442 \u0441\u0440\u0431 \u0443\u043a\u0440 \u10d2\u10d4 \u0570\u0561\u0575 \u05d9\u05e9\u05e8\u05d0\u05dc \u05e7\u05d5\u05dd \u0627\u0628\u0648\u0638\u0628\u064a \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0627\u0631\u0627\u0645\u0643\u0648 \u0627\u0644\u0627\u0631\u062f\u0646 \u0627\u0644\u0628\u062d\u0631\u064a\u0646 \u0627\u0644\u062c\u0632\u0627\u0626\u0631 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629 \u0627\u0644\u0639\u0644\u064a\u0627\u0646 \u0627\u0644\u0645\u063a\u0631\u0628 \u0627\u0645\u0627\u0631\u0627\u062a \u0627\u06cc\u0631\u0627\u0646 \u0628\u0627\u0631\u062a \u0628\u0627\u0632\u0627\u0631 \u0628\u06be\u0627\u0631\u062a \u0628\u064a\u062a\u0643 \u067e\u0627\u06a9\u0633\u062a\u0627\u0646 \u0680\u0627\u0631\u062a \u062a\u0648\u0646\u0633 \u0633\u0648\u062f\u0627\u0646 \u0633\u0648\u0631\u064a\u0629 \u0634\u0628\u0643\u0629 \u0639\u0631\u0627\u0642 \u0639\u0631\u0628 \u0639\u0645\u0627\u0646 \u0641\u0644\u0633\u0637\u064a\u0646 \u0642\u0637\u0631 \u0643\u0627\u062b\u0648\u0644\u064a\u0643 \u0643\u0648\u0645 \u0645\u0635\u0631 \u0645\u0644\u064a\u0633\u064a\u0627 \u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627 \u0645\u0648\u0642\u0639 \u0647\u0645\u0631\u0627\u0647 \u0915\u0949\u092e \u0928\u0947\u091f \u092d\u093e\u0930\u0924 \u092d\u093e\u0930\u0924\u092e\u094d \u092d\u093e\u0930\u094b\u0924 \u0938\u0902\u0917\u0920\u0928 \u09ac\u09be\u0982\u09b2\u09be \u09ad\u09be\u09b0\u09a4 \u09ad\u09be\u09f0\u09a4 \u0a2d\u0a3e\u0a30\u0a24 \u0aad\u0abe\u0ab0\u0aa4 \u0b2d\u0b3e\u0b30\u0b24 \u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe \u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8 \u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd \u0c2d\u0c3e\u0c30\u0c24\u0c4d \u0cad\u0cbe\u0cb0\u0ca4 \u0d2d\u0d3e\u0d30\u0d24\u0d02 \u0dbd\u0d82\u0d9a\u0dcf \u0e04\u0e2d\u0e21 \u0e44\u0e17\u0e22 \u0ea5\u0eb2\u0ea7 \ub2f7\ub137 \ub2f7\ucef4 \uc0bc\uc131 \ud55c\uad6d \u30a2\u30de\u30be\u30f3 \u30b0\u30fc\u30b0\u30eb \u30af\u30e9\u30a6\u30c9 \u30b3\u30e0 \u30b9\u30c8\u30a2 \u30bb\u30fc\u30eb \u30d5\u30a1\u30c3\u30b7\u30e7\u30f3 \u30dd\u30a4\u30f3\u30c8 \u307f\u3093\u306a \u4e16\u754c \u4e2d\u4fe1 \u4e2d\u56fd \u4e2d\u570b \u4e2d\u6587\u7f51 \u4e9a\u9a6c\u900a \u4f01\u4e1a \u4f5b\u5c71 \u4fe1\u606f \u5065\u5eb7 \u516b\u5366 \u516c\u53f8 \u516c\u76ca \u53f0\u6e7e \u53f0\u7063 \u5546\u57ce \u5546\u5e97 \u5546\u6807 \u5609\u91cc \u5609\u91cc\u5927\u9152\u5e97 \u5728\u7ebf \u5927\u4f17\u6c7d\u8f66 \u5927\u62ff \u5929\u4e3b\u6559 \u5a31\u4e50 \u5bb6\u96fb \u5e7f\u4e1c \u5fae\u535a \u6148\u5584 \u6211\u7231\u4f60 \u
1624b\u673a \u62db\u8058 \u653f\u52a1 \u653f\u5e9c \u65b0\u52a0\u5761 \u65b0\u95fb \u65f6\u5c1a \u66f8\u7c4d \u673a\u6784 \u6de1\u9a6c\u9521 \u6e38\u620f \u6fb3\u9580 \u70b9\u770b \u79fb\u52a8 \u7ec4\u7ec7\u673a\u6784 \u7f51\u5740 \u7f51\u5e97 \u7f51\u7ad9 \u7f51\u7edc \u8054\u901a \u8bfa\u57fa\u4e9a \u8c37\u6b4c \u8d2d\u7269 \u901a\u8ca9 \u96c6\u56e2 \u96fb\u8a0a\u76c8\u79d1 \u98de\u5229\u6d66 \u98df\u54c1 \u9910\u5385 \u9999\u683c\u91cc\u62c9 \u9999\u6e2f".split(" "),Gt=/(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFB
1D3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/,Kt=/(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEDD-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDDFF\uDE70-\uDE74\uDE78-\uDE7C\uDE80-\uDE86\uDE90-\uDEAC\uDEB0-\uDEBA\uDEC0-\uDEC5\uDED0-\uDED9\uDEE0-\uDEE7\uDEF0-\uDEF6])/,on=/\uFE0F/,Cn=/\d/,On=/\s/;function Ut(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=Zt(),t=ft(Yn),i=ft(oi),o=Zt(),l=ft("WS"),h=[[Cn,i],[Gt,i],[Kt,i],[on,i]],y=function(){var kt=ft(oi);return kt.j={"-":o},kt.jr=[].concat(h),kt},F=function(kt){var ot=y();return ot.t=kt,ot};zp(a,[["'",ft(c)],["{",ft(Ir)],["[",ft(ao)],["<",ft(so)],["(",ft(lo)],["}",ft(or)],["]",ft(Dr)],[">",ft(Mr)],[")",ft(Pr)],["&",ft(fi)],["*",ft(g)],["@",ft(s)],["`",ft(C)],["^",ft(M)],[":",ft(oe)],[",",ft(we)],["$",ft(Ge)],[".",ft(tt)],["=",ft(dt)],["!",ft(Ve)],["-",ft(it)],["%",ft(bt)],["|",ft($t)],["+",ft(vn)],["#",ft(Mn)],["?",ft(Pn)],['"',ft(ai)],["/",ft(ye)],[";",ft(si)],["~",ft(Xe)],["_",ft(vt)],["\\",ft(m)]]),We(a,"\n",ft("NL")),Sn(a,On,l),We(l,"\n",Zt()),Sn(l,On,l);for(var te=0;te<rn.length;te++)rr(a,rn[te],F(hi),y);var H=y(),re=y(),ve=y(),ie=y();rr(a,"file",H,y),rr(a,"ftp",re,y),rr(a,"http",ve,y),rr(a,"mailto",ie,
1y);var Ee=y(),Fe=ft(Or),ke=ft(Ws);We(re,"s",Ee),We(re,":",Fe),We(ve,"s",Ee),We(ve,":",Fe),We(H,":",Fe),We(Ee,":",Fe),We(ie,":",ke);for(var rt=y(),st=0;st<r.length;st++)rr(a,r[st],rt,y);return We(rt,":",Fe),rr(a,"localhost",F(Oi),y),Sn(a,Cn,t),Sn(a,Gt,i),Sn(a,Kt,i),Sn(a,on,i),Sn(t,Cn,t),Sn(t,Gt,i),Sn(t,Kt,i),Sn(t,on,i),We(t,"-",o),We(i,"-",o),We(o,"-",o),Sn(i,Cn,i),Sn(i,Gt,i),Sn(i,Kt,i),Sn(i,on,i),Sn(o,Cn,i),Sn(o,Gt,i),Sn(o,Kt,i),Sn(o,on,i),a.jd=ft(xt),a}function Xn(r){return(Xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(r)}var Bt={defaultProtocol:"http",events:null,format:ar,formatHref:ar,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:0,className:null,attributes:null,ignoreTags:[]};function Ii(r){this.defaultProtocol="defaultProtocol"in(r=r||{})?r.defaultProtocol:Bt.defaultProtocol,this.events="events"in r?r.events:Bt.events,this.format="format"in r?r.format:Bt.format,this.formatHref="formatHref"in r?r.formatHref:Bt.formatHref,this.nl2br="nl2br"in r?r.nl2br:Bt.nl2br,this.tagName="tagName"in r?r.tagName:Bt.tagName,this.target="target"in r?r.target:Bt.target,this.rel="rel"in r?r.rel:Bt.rel,this.validate="validate"in r?r.validate:Bt.validate,this.truncate="truncate"in r?r.truncate:Bt.truncate,this.className="className"in r?r.className:Bt.className,this.attributes=r.attributes||Bt.attributes,this.ignoreTags=[];for(var a=("ignoreTags"in r?r.ignoreTags:Bt.ignoreTags),t=0;t<a.length;t++)this.ignoreTags.push(a[t].toUpperCase())}function ar(r){return r}function sa(){}function Mi(r,a){function t(i,o){this.t=r,this.v=i,this.tk=o}return function Up(r,a){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=Object.create(r.prototype);
1for(var o in t)i[o]=t[o];i.constructor=a,a.prototype=i}(sa,t,a),t}Ii.prototype={resolve:function(a){var t=a.toHref(this.defaultProtocol);return{formatted:this.get("format",a.toString(),a),formattedHref:this.get("formatHref",t,a),tagName:this.get("tagName",t,a),className:this.get("className",t,a),target:this.get("target",t,a),rel:this.get("rel",t,a),events:this.getObject("events",t,a),attributes:this.getObject("attributes",t,a),truncate:this.get("truncate",t,a)}},check:function(a){return this.get("validate",a.toString(),a)},get:function(a,t,i){var l,o=this[a];if(!o)return o;switch(Xn(o)){case"function":return o(t,i.t);case"object":return"function"==typeof(l=i.t in o?o[i.t]:Bt[a])?l(t,i.t):l}return o},getObject:function(a,t,i){var o=this[a];return"function"==typeof o?o(t,i.t):o}},sa.prototype={t:"token",isLink:!1,toString:function(){return this.v},toHref:function(){return this.toString()},startIndex:function(){return this.tk[0].s},endIndex:function(){return this.tk[this.tk.length-1].e},toObject:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Bt.defaultProtocol;return{type:this.t,value:this.v,isLink:this.isLink,href:this.toHref(a),start:this.startIndex(),end:this.endIndex()}}};var la=Mi("email",{isLink:!0}),yt=Mi("email",{isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),Pi=Mi("text"),sr=Mi("nl"),Ci=Mi("url",{isLink:!0,toHref:function(){for(var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Bt.defaultProtocol,t=this.tk,i=!1,o=!1,l=[],h=0;t[h].t===Or;)i=!0,l.push(t[h].v),h++;for(;t[h].t===ye;)o=!0,l.push(t[h].v),h++;for(;h<t.length;h++)l.push(t[h].v);return l=l.join(""),i||o||(l="".concat(a,"://").concat(l)),l},hasProtocol:function(){return this.tk[0].t===Or}}),Ks=Object.freeze({__proto__:null,MultiToken:sa,Base:sa,createTokenClass:Mi,MailtoEmail:la,Email:yt,Text:Pi,Nl:sr,Url:Ci});function Al(){var r=Zt(),a=Zt(),t=Zt(),i=Zt(),o=Zt(),l=Zt(),h=Zt(),y=ft(Ci),F=Zt(),te=ft(Ci),H=ft(Ci),re=Zt(),ve=Zt(),ie=Zt(),Ee=Zt(),Fe=Zt(),ke=ft(Ci),rt=ft(Ci),st=ft(Ci),at=ft(Ci),kt=Zt(),ot=Zt(),Ct=Zt(),Wt=Zt(),Rt=Zt(),Tn=Zt(),ma=ft(yt),Kl=Zt(),i2=ft(yt),Ar=ft(la),Zl=Zt(),Br=Zt(),Co=Zt(),Qm=Zt(),r2=ft(sr);We(r,"NL",r2),We(r,Or,a),We(r,Ws,t),We(a,ye,i),We(i,ye,o),We(r,hi,l),We(r,oi,l),We(r,Oi,y),We(r,Yn,l),We(o,hi,H),We(o,oi,H),We(o,Yn,H),We(o,Oi,H),We(l,tt,h),We(Rt,tt,Tn),We(h,hi,y),We(h,oi,l),We(h,Yn,l),We(h,Oi,l),We(Tn,hi,ma),We(Tn,oi,Rt),We(Tn,Yn,Rt),We(Tn,Oi,Rt),We(y,tt,h),We(ma,tt,Tn),We(y,oe,F),We(y,ye,H),We(F,Yn,te),We(te,ye,H),We(ma,oe,Kl),We(Kl,Yn,i2);var Nn=[fi,g,s,m,C,M,Ge,oi,dt,it,Oi,Yn,bt,$t,vn,Mn,Or,ye,xt,Xe,hi,vt],$n=[c,Mr,or,Dr,Pr,oe,we,tt,Ve,so,Ir,ao,lo,Pn,ai,si];We(H,Ir,ve),We(H,ao,ie),We(H,so,Ee),We(H,lo,Fe),We(re,Ir,ve),We(re,ao,ie),We(re,so,Ee),We(re,lo,Fe),We(ve,or,H),We(ie,Dr,H),We(Ee,Mr,H),We(Fe,Pr,H),We(ke,or,H),We(rt,Dr,H),We(st,Mr,H),We(at,Pr,H),We(kt,or,H),We(ot,Dr,H),We(Ct,Mr,H),We(Wt,Pr,H),At(ve,Nn,ke),At(ie,Nn,rt),At(Ee,Nn,st),At(Fe,Nn,at),At(ve,$n,kt),At(ie,$n,ot),At(Ee,$n,Ct),At(Fe,$n,Wt),At(ke,Nn,ke),At(rt,Nn,rt),At(st,Nn,st),At(at,Nn,at),At(ke,$n,ke),At(rt,$n,rt),At(st,$n,st),At(at,$n,at),At(kt,Nn,ke),At(ot,Nn,rt),At(Ct,Nn,st),At(Wt,Nn,at),At(kt,$n,kt),At(ot,$n,ot),At(Ct,$n,Ct),At(Wt,$n,Wt),At(H,Nn,H),At(re,Nn,H),At(H,$n,re),At(re,$n,re),We(t,hi,Ar),We(t,oi,Ar),We(t,Yn,Ar),We(t,Oi,Ar),At(Ar,Nn,Ar),At(Ar,$n,Zl),At(Zl,Nn,Ar),At(Zl,$n,Zl);var Ys=[fi,c,g,m,C,M,or,Ge,oi,dt,it,Yn,Ir,bt,$t,vn,Mn,Pn,ye,xt,Xe,hi,vt];return At(l,Ys,Br),We(l,s,Co),At(y,Ys,Br),We(y,s,Co),At(h,Ys,Br),At(Br,Ys,Br),We(Br,s,Co),We(Br,tt,Qm),At(Qm,Ys,Br),We(Co,hi,Rt),We(Co,oi,Rt),We(Co,Yn,Rt),We(Co,Oi,ma),r}function Hp(r,a,t){var i=t[0].s;return new r(a.substr(i,t[t.length-1].e-i),t)}"undefined"!=typeof console&&console&&console;var _n={scanner:null,parser:null,pluginQueue:[],customProtocols:[],initialized:!1};var eu={nbsp:"\xa0"},tu=/^#[xX]([A-Fa-f0-9]+)$/,nu=/^#([0-9]+)$/,iu=/^([A-Za-z0-9]+)$/,ru=function(){function r(a){this.named=a}return r.prototype.parse=function(a){if(a){var t=a.match(tu);if(t)return"&#x"+t[1]+";";if(t=a.match(nu))return"&#"+t[1]+";";if(t=a.match(iu))return this.named[t[1]]||"&"+t[1]+";"}},r}(),ou=/[\t\n\f ]/,au=/[A-Za-z]/,su=/\r\n?/g;function Ln(r){return ou.test(r)}function gm(r){return au.test(r)}var cu=function(){function r(a,t,i){void 0===i&&(i="precompile"),this.delegate=a,this.entityParser=t,this.mode=i,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var l=this.peek();if("<"!==l||this.isIgnoredEndTag()){if("precompile"===this.mode&&"\n"===l){var h=this.tagNameBuffer.toLowerCase();("pre"===h||"textarea"===h)&&this.consume()}this.transitionTo("data"),this.delegate.beginData()}else this.transitionTo("tagOpen"),this.markTagStart(),this.consume()},data:function(){var l=this.peek(),h=this.tagNameBuffer;"<"!==l||this.isIgnoredEndTag()?"&"===l&&"script"!==h&&"style"!==h?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(l)):(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume())},tagOpen:function(){var l=this.consume();"!"===l?this.transitionTo("markupDeclarationOpen"):"/"===l?this.transitionTo("endTagOpen"):("@"===l||":"===l||gm(l))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(l))},markupDeclarationOpen:function(){var l=this.consume();"-"===l&&"-"===this.peek()?(this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment()):"DOCTYPE"===l.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase()&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())},doctype:function(){Ln(this.consume())&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var l=this.consume();Ln(l)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(l.toLowerCase()))},doctypeName:function(){var l=this.consume();Ln(l)?this.transitionTo("afterDoctypeName"):">"===l?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(l.toLowerCase())},afterDoctypeName:function(){var l=this.consume();if(!Ln(l))if(">"===l)this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var h=l.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),y="PUBLIC"===h.toUpperCase(),F="SYSTEM"===h.toUpperCase();(y||F)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),y?this.transitionTo("afterDoctypePublicKeyword"):F&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var l=this.peek();Ln(l)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):'"'===l?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):"'"===l?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):">"===l&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var l=this.consume();'"'===l?this.transitionTo("afterDoctypePublicIdentifier"):">"===l?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(l)},doctypePublicIdentifierSingleQuoted:function(){var l=this.consume();"'"===l?this.transitionTo("afterDoctypePublicIdentifier"):">"===l?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(l)},afterDoctypePublicIdentifier:function(){var l=this.consume();Ln(l)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):">"===l?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):'"'===l?this.transitionTo("doctype
1SystemIdentifierDoubleQuoted"):"'"===l&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var l=this.consume();Ln(l)||(">"===l?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):'"'===l?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):"'"===l&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var l=this.consume();'"'===l?this.transitionTo("afterDoctypeSystemIdentifier"):">"===l?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(l)},doctypeSystemIdentifierSingleQuoted:function(){var l=this.consume();"'"===l?this.transitionTo("afterDoctypeSystemIdentifier"):">"===l?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(l)},afterDoctypeSystemIdentifier:function(){var l=this.consume();Ln(l)||">"===l&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var l=this.consume();"-"===l?this.transitionTo("commentStartDash"):">"===l?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(l),this.transitionTo("comment"))},commentStartDash:function(){var l=this.consume();"-"===l?this.transitionTo("commentEnd"):">"===l?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var l=this.consume();"-"===l?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(l)},commentEndDash:function(){var l=this.consume();"-"===l?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+l),this.transitionTo("comment"))},commentEnd:function(){var l=this.consume();">"===l?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+l),this.transitionTo("comment"))},tagName:function(){var l=this.consume();Ln(l)?this.transitionTo("beforeAttributeName"):"/"===l?this.transitionTo("selfClosingStartTag"):">"===l?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(l)},endTagName:function(){var l=this.consume();Ln(l)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):"/"===l?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):">"===l?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(l)},beforeAttributeName:function(){var l=this.peek();Ln(l)?this.consume():"/"===l?(this.transitionTo("selfClosingStartTag"),this.consume()):">"===l?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):"="===l?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(l)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var l=this.peek();Ln(l)?(this.transitionTo("afterAttributeName"),this.consume()):"/"===l?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===l?(this.transitionTo("beforeAttributeValue"),this.consume()):">"===l?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):'"'===l||"'"===l||"<"===l?(this.delegate.reportSyntaxError(l+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(l)):(this.consume(),this.delegate.appendToAttributeName(l))},afterAttributeName:function(){var l=this.peek();Ln(l)?this.consume():"/"===l?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"="===l?(this.consume(),this.transitionTo("beforeAttributeValue")):">"===l?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(l))},beforeAttributeValue:function(){var l=this.peek();Ln(l)?this.consume():'"'===l?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):"'"===l?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):">"===l?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(l))},attributeValueDoubleQuoted:function(){var l=this.consume();'"'===l?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):this.delegate.appendToAttributeValue("&"===l?this.consumeCharRef()||"&":l)},attributeValueSingleQuoted:function(){var l=this.consume();"'"===l?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):this.delegate.appendToAttributeValue("&"===l?this.consumeCharRef()||"&":l)},attributeValueUnquoted:function(){var l=this.peek();Ln(l)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):"/"===l?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):"&"===l?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):">"===l?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(l))},afterAttributeValueQuoted:function(){var l=this.peek();Ln(l)?(this.consume(),this.transitionTo("beforeAttributeName")):"/"===l?(this.consume(),this.transitionTo("selfClosingStartTag")):">"===l?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){">"===this.peek()?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var l=this.consume();("@"===l||":"===l||gm(l))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(l))}},this.reset()}return r.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},r.prototype.transitionTo=function(a){this.state=a},r.prototype.tokenize=function(a){this.reset(),this.tokenizePart(a),this.tokenizeEOF()},r.prototype.tokenizePart=function(a){for(this.input+=function lu(r){return r.replace(su,"\n")}(a);this.index<this.input.length;){var t=this.states[this.state];if(void 0===t)throw new Error("unhandled state "+this.state);t.call(this)}},r.prototype.tokenizeEOF=function(){this.flushData()},r.prototype.flushData=function(){"data"===this.state&&(this.delegate.finishData(),this.transitionTo("beforeData"))},r.prototype.peek=function(){return this.input.charAt(this.index)},r.prototype.consume=function(){var a=this.peek();return this.index++,"\n"===a?(this.line++,this.column=0):this.column++,a},r.prototype.consumeCharRef=function(){var a=this.input.indexOf(";",this.index);if(-1!==a){var t=this.input.slice(this.index,a),i=this.entityParser.parse(t);if(i){for(var o=t.length;o;)this.consume(),o--;return this.consume(),i}}},r.prototype.markTagStart=function(){this.delegate.tagOpen()},r.prototype.appendToTagName=function(a){this.tagNameBuffer+=a,this.delegate.appendToTagName(a)},r.prototype.isIgnoredEndTag=function(){var a=this.tagNameBuffer;return"title"===a&&"</title>"!==this.input.substring(this.index,this.index+8)||"style"===a&&"</style>"!==this.input.substring(this.index,this.index+8)||"script"===a&&"<\/script>"!==this.input.substring(this.index,this.index+9)},r}(),du=function(){function r(a,t){void 0===t&&(t={}),this.options=t,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new cu(this,a,t.mode),this._currentAttribute=void 0}return r.prototype.tokenize=function(a){return this.tokens=[],this.tokenizer.tokenize(a),this.tokens},r.prototype.tokenizePart=function(a){return this.tokens=[],this.tokenizer.tokenizePart(a),this.tokens},r.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},r.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},r.prototype.current=function(){var a=this.token;if(null===a)throw new Error("token was unexpectedly null");if(0===arguments.length)return a;for(var t=0;t<arguments.length;t++)if(a.type===arguments[t])return a;throw new Error("token type was unexpectedly "+a.type)},r.prototype.push=function(a){this.token=a,this.tokens.push(a)},r.prototype.currentAttribute=function(){return this._currentAttribute},r.prototype.addLocInfo=function(){this.options.loc&&(this.current().loc={start:{line:this.startLine,column:this.startColumn},end:{line:this.tokenizer.line,column:this.tokenizer.column}}),this.startLine=this.tokenizer.line,this.startColumn=this.tokenizer.column},r.prototype.beginDoctype=function(){this.push({type:"Doctype",name:""})},r.prototype.appendToDoctypeName=function(a){this.current("Doctype").name+=a},r.prototype.appendToDoctypePublicIdentifier=function(a){var t=this.current("Doctype");void 0===t.publicIdentifier?t.publicIdentifier=a:t.publicIdentifier+=a},r.prototype.appendToDoctypeSystemIdentifier=function(a){var t=this.current("Doctype");void 0===t.systemIdentifier?t.systemIdentifier=a:t.systemIdentifier+=a},r.prototype.endDoctype=function(){this.addLocInfo()},r.prototype.beginData=function(){this.push({type:"Chars",chars:""})},r.prototype.appendToData=function(a){this.current("Chars").chars+=a},r.prototype.finishData=function(){this.addLocInfo()},r.prototype.beginComment=function(){this.push({type:"Comment",chars:""})},r.prototype.appendToCommentData=function(a){this.current("Comment").chars+=a},r.prototype.finishComment=function(){this.addLocInfo()},r.prototype.tagOpen=function(){},r.prototype.beginStartTag=function(){this.push({type:"StartTag",tagName:"",attributes:[],selfClosing:!1})},r.prototype.beginEndTag=function(){this.push({type:"EndTag",tagName:""})},r.prototype.finishTag=function(){this.addLocInfo()},r.prototype.markTagAsSelfClosing=function(){this.current("StartTag").selfClosing=!0},r.prototype.appendToTagName=function(a){this.current("StartTag","EndTag").tagName+=a},r.prototype.beginAttribute=function(){this._currentAttribute=["","",!1]},r.prototype.appendToAttributeName=function(a){this.currentAttribute()[0]+=a},r.prototype.beginAttributeValue=function(a){this.currentAttribute()[2]=a},r.prototype.appendToAttributeValue=function(a){this.currentAttribute()[1]+=a},r.prototype.finishAttributeValue=function(){this.current("StartTag").attributes.push(this._currentAttribute)},r.prototype.reportSyntaxError=function(a){this.current().syntaxError=a},r}();function pu(r,a){return new du(new ru(eu),a).tokenize(r)}var mu=Ii,Zs="StartTag",Kp="EndTag",Bl="Chars",uu="Comment",gu="Doctype";function hu(r,a){for(var t=function Gp(r){return _n.initialized||function qm(){_n.scanner={start:Ut(_n.customProtocols),tokens:et},_n.parser={start:Al(),tokens:Ks};for(var r={createTokenClass:Mi},a=0;a<_n.pluginQueue.length;a++)_n.pluginQueue[a][1]({scanner:_n.scanner,parser:_n.parser,utils:r});_n.initialized=!0}(),function Xm(r,a,t){for(var i=t.length,o=0,l=[],h=[];o<i;){for(var y=r,F=null,te=null,H=0,re=null,ve=-1;o<i&&!(F=aa(y,t[o].t));)h.push(t[o++]);for(;o<i&&(te=F||aa(y,t[o].t));)F=null,(y=te).accepts()?(ve=0,re=y):ve>=0&&ve++,o++,H++;if(ve<0)for(var ie=o-H;ie<o;ie++)h.push(t[ie]);else{h.length>0&&(l.push(Hp(Pi,a,h)),h=[]);var Ee=re.t,Fe=t.slice((o-=ve)-(H-=ve),o);l.push(Hp(Ee,a,Fe))}}return h.length>0&&l.push(Hp(Pi,a,h)),l}(_n.parser.start,r,function Vn(r,a){for(var t=function vi(r){for(var a=[],t=r.length,i=0;i<t;){var o=r.charCodeAt(i),l=void 0,h=o<55296||o>56319||i+1===t||(l=r.charCodeAt(i+1))<56320||l>57343?r[i]:r.slice(i,i+2);a.push(h),i+=h.length}return a}(a.replace(/[A-Z]/g,function(ie){return ie.toLowerCase()})),i=t.length,o=[],l=0,h=0;h<i;){for(var y=r,F=null,te=0,H=null,re=-1,ve=-1;h<i&&(F=aa(y,t[h]));)(y=F).accepts()?(re=0,ve=0,H=y):re>=0&&(re+=t[h].length,ve++),te+=t[h].length,l+=t[h].length,h++;h-=ve,o.push({t:H.t,v:a.substr((l-=re)-(te-=re),te),s:l-te,e:l})}return o}(_n.scanner.start,r))}(r),i=[],o=0;o<t.length;o++){var l=t[o];if("nl"===l.t&&a.nl2br)i.push({type:Zs,tagName:"br",attributes:[],selfClosing:!0});else if(l.isLink&&a.check(l)){var h=a.resolve(l),y=h.formatted,te=h.tagName,H=h.className,re=h.target,ve=h.rel,ie=h.attributes,Ee=h.truncate,Fe=[["href",h.formattedHref]];for(var ke in H&&Fe.push(["class",H]),re&&Fe.push(["target",re]),ve&&Fe.push(["rel",ve]),Ee&&y.length>Ee&&(y=y.substring(0,Ee)+"\u2026"),ie)Fe.push([ke,ie[ke]]);i.push({type:Zs,tagName:te,attributes:Fe,selfClosing:!1}),i.push({type:Bl,chars:y}),i.push({type:Kp,tagName:te})}else i.push({type:Bl,chars:l.toString()})}return i}function fu(r,a,t,i){for(var o=1;t<a.length&&o>0;){var l=a[t];l.type===Zs&&l.tagName.toUpperCase()===r?o++:l.type===Kp&&l.tagName.toUpperCase()===r&&o--,i.push(l),t++}return i}function vu(r){return r.replace(/"/g,""")}function Cu(r){for(var a=[],t=0;t<r.length;t++){var o=r[t][1];a.push("".concat(r[t][0],'="').concat(vu(o),'"'))}return a}let _m=(()=>{class r{transform(t){return t&&function _u(r){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=pu(r),i=[],o=[];a=new mu(a);for(var l=0;l<t.length;l++){var h=t[l];if(h.type!==Zs)if(h.type===Bl){var H=hu(h.chars,a);i.push.apply(i,H)}else i.push(h);else{i.push(h);var y=h.tagName.toUpperCase();if(!("A"===y||a.ignoreTags.indexOf(y)>=0))continue;var te=i.length;fu(y,t,++l,i),l+=i.length-te-1}}for(var re=0;re<i.length;re++){var ve=i[re];switch(ve.type){case Zs:var ie="<"+ve.tagName;ve.attributes.length>0&&(ie+=" "+Cu(ve.attributes).join(" ")),o.push(ie+=">");break;case Kp:o.push("</".concat(ve.tagName,">"));break;case Bl:o.push(ve.chars);break;case uu:o.push("\x3c!--".concat(ve.chars,"--\x3e"));break;case gu:var Fe="<!DOCTYPE ".concat(ve.name);ve.publicIdentifier&&(Fe+=' PUBLIC "'.concat(ve.publicIdentifier,'"')),ve.systemIdentifier&&(Fe+=' "'.concat(ve.systemIdentifier,'"')),o.push(Fe+=">")}}return o.join("")}(t,{target:"_blank"})}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275pipe=e.\u0275\u0275definePipe({name:"linkify",type:r,pure:!0}),r})();const bu=["insideElement"],yu=function(r){return{"checklist-header-action-disabled":r}};function xu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"mat-form-field",4)(2,"textarea",5),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().draftText=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(3,"div",6)(4,"span",7),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveChangesHandler()}),e.\u0275\u0275text(5,"Save changes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"span",8),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().deleteItem()}),e.\u0275\u0275text(7,"Delete"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275property("uiAutofocus",!0)("ngModel",t.draftText),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(3,yu,t.saveDisabled))}}function Su(r,a){1&r&&e.\u0275\u0275projection(0,0,["*ngIf","!isEditMode"])}const Tu=function(r){return{"checklist-header-edit":r}},wu=function(r){return{hidden:r}},ku=["*"];let Eu=(()=>
1{class r{constructor(){this.titleChange=new e.EventEmitter,this.itemDelete=new e.EventEmitter,this.draftText="",this.isEditMode=!1}static isClickedInside(t,i){return t.contains(i)||null!=i.parentNode&&r.isClickedInside(t,i.parentNode)}documentClick(t){this.isEditMode&&this.title&&(r.isClickedInside(this.insideElement.nativeElement,t)||this.setEditMode(!1))}get saveDisabled(){var t;const i=this.draftText.trim();return!i||i===(null===(t=this.title)||void 0===t?void 0:t.trim())}ngOnInit(){this.title||this.setEditMode()}setEditMode(t=!0){this.isEditMode=t,this.draftText=t&&this.title||""}saveChangesHandler(){this.saveDisabled||this.titleChange.emit(this.draftText.trim())}deleteItem(){this.itemDelete.emit()}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-checklist-header"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(bu,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.insideElement=o.first)}},hostBindings:function(t,i){1&t&&e.\u0275\u0275listener("click",function(l){return i.documentClick(l.target)},!1,e.\u0275\u0275resolveDocument)},inputs:{title:"title"},outputs:{titleChange:"titleChange",itemDelete:"itemDelete"},ngContentSelectors:ku,decls:7,vars:14,consts:[[1,"app-v2","checklist-header",3,"ngClass"],["insideElement",""],[4,"ngIf"],[1,"checklist-header-preview",3,"ngClass","hidden","innerHTML","click"],[1,"form-field-v2"],["matInput","","cdkTextareaAutosize","",3,"uiAutofocus","ngModel","ngModelChange"],[1,"flex","justify-between","w-full","text-gray-50"],[1,"checklist-header-action","text-brand-50",3,"ngClass","click"],[1,"checklist-header-action",3,"click"]],template:function(t,i){1&t&&(e.\u0275\u0275projectionDef(),e.\u0275\u0275elementStart(0,"div",0,1),e.\u0275\u0275template(2,xu,8,5,"div",2),e.\u0275\u0275elementStart(3,"div",3),e.\u0275\u0275listener("click",function(){return i.setEditMode()}),e.\u0275\u0275pipe(4,"replaceLineBreaks"),e.\u0275\u0275pipe(5,"linkify"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(6,Su,1,0,"ng-content",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(10,Tu,i.isEditMode)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.isEditMode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(12,wu,i.isEditMode))("hidden",i.isEditMode)("innerHTML",e.\u0275\u0275pipeBind1(4,6,e.\u0275\u0275pipeBind1(5,8,i.title||"Checklist")),e.\u0275\u0275sanitizeHtml),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!i.isEditMode))},directives:[S.NgClass,S.NgIf,Et.KE,Pt.Nt,ia.IC,ee.Fj,Ml.U,ee.JJ,ee.On],pipes:[Pl,_m],styles:[".checklist-header[_ngcontent-%COMP%]{position:relative;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(246 246 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:1.75rem;margin-bottom:1px;padding-top:10px;padding-bottom:10px;transition:background-color .2s ease-in-out}.checklist-header-checked[_ngcontent-%COMP%]{--tw-border-opacity: 1;border-color:rgb(250 250 250 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.checklist-header-edit[_ngcontent-%COMP%]{border-color:var(--brand-50, #228BE6);--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding-right:.75rem}.checklist-header-preview[_ngcontent-%COMP%]{font-family:var(--content-font, Inter),sans-serif;font-size:.875rem;font-weight:600;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1));line-height:20px;word-break:break-word}.checklist-header-action[_ngcontent-%COMP%]{cursor:pointer;font-size:.75rem;font-weight:600}.checklist-header-action-disabled[_ngcontent-%COMP%]{cursor:default;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.form-field-v2[_ngcontent-%COMP%]{margin-bottom:.5rem;display:block;width:100%;padding:0}.form-field-v2[_ngcontent-%COMP%] .mat-form-field-infix{padding:0}.form-field-v2[_ngcontent-%COMP%] .mat-input-element{padding:0;font-family:var(--content-font, Inter),sans-serif;font-size:.875rem;font-weight:400;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1));line-height:20px}.form-field-v2[_ngcontent-%COMP%] .mat-form-field-flex{border-width:0px;background-color:transparent}"]}),r})();const Ou=["insideElement"],Iu=function(r){return{"checklist-item-action-disabled":r}};function Du(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"mat-form-field",8)(2,"textarea",9),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().draftText=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(3,"div",10)(4,"span",11),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveChangesHandler()}),e.\u0275\u0275text(5,"Save changes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"span",12),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().deleteItem()}),e.\u0275\u0275text(7,"Delete"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275property("uiAutofocus",!0)("ngModel",t.draftText),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(3,Iu,t.saveDisabled))}}function Mu(r,a){1&r&&e.\u0275\u0275projection(0,0,["*ngIf","!isEditMode"])}const Pu=function(r,a){return{"checklist-item-edit":r,"checklist-item-checked":a}},Fu=function(r){return{hidden:r}},Au=["*"];let Bu=(()=>
1{class r{constructor(){this.checklistItemChange=new e.EventEmitter,this.draftText="",this.isEditMode=!1}static isClickedInside(t,i){return t.contains(i)||null!=i.parentNode&&r.isClickedInside(t,i.parentNode)}documentClick(t){this.isEditMode&&this.item.text&&(r.isClickedInside(this.insideElement.nativeElement,t)||this.setEditMode(!1))}get saveDisabled(){var t;const i=this.draftText.trim();return!i||i===(null===(t=this.item.text)||void 0===t?void 0:t.trim())}ngOnInit(){this.item.text||this.setEditMode()}setEditMode(t=!0){this.isEditMode=t,this.draftText=t&&this.item.text||""}checkboxChangeHandler(){this.updateItem("checked")}saveChangesHandler(){this.saveDisabled||(this.item.text=this.draftText.trim(),this.updateItem(),this.setEditMode(!1))}deleteItem(){this.updateItem("delete")}updateItem(t){this.checklistItemChange.emit({action:t||"",value:this.item})}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-checklist-item"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(Ou,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.insideElement=o.first)}},hostBindings:function(t,i){1&t&&e.\u0275\u0275listener("click",function(l){return i.documentClick(l.target)},!1,e.\u0275\u0275resolveDocument)},inputs:{item:"item"},outputs:{checklistItemChange:"checklistItemChange"},ngContentSelectors:Au,decls:11,vars:16,consts:[[1,"app-v2","checklist-item",3,"ngClass"],["insideElement",""],[1,"flex","w-full"],[1,"checklist-item-checkbox"],[3,"ngModel","ngModelChange","change"],[1,"flex-1"],[4,"ngIf"],[1,"checklist-item-preview",3,"ngClass","hidden","innerHTML","click"],[1,"form-field-v2"],["matInput","","cdkTextareaAutosize","",3,"uiAutofocus","ngModel","ngModelChange"],[1,"flex","justify-between","w-full","text-gray-50"],[1,"checklist-item-action","text-brand-50",3,"ngClass","click"],[1,"checklist-item-action",3,"click"]],template:function(t,i){1&t&&(e.\u0275\u0275projectionDef(),e.\u0275\u0275elementStart(0,"div",0,1)(2,"div",2)(3,"div",3)(4,"mat-checkbox",4),e.\u0275\u0275listener("ngModelChange",function(l){return i.item.checked=l})("change",function(){return i.checkboxChangeHandler()}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",5),e.\u0275\u0275template(6,Du,8,5,"div",6),e.\u0275\u0275elementStart(7,"div",7),e.\u0275\u0275listener("click",function(){return i.setEditMode()}),e.\u0275\u0275pipe(8,"replaceLineBreaks"),e.\u0275\u0275pipe(9,"linkify"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(10,Mu,1,0,"ng-content",6),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction2(11,Pu,i.isEditMode,i.item.checked)),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",i.item.checked),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.isEditMode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(14,Fu,i.isEditMode))("hidden",i.isEditMode)("innerHTML",e.\u0275\u0275pipeBind1(8,7,e.\u0275\u0275pipeBind1(9,9,i.item.text)),e.\u0275\u0275sanitizeHtml),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!i.isEditMode))},directives:[S.NgClass,Q.oG,ee.JJ,ee.On,S.NgIf,Et.KE,Pt.Nt,ia.IC,ee.Fj,Ml.U],pipes:[Pl,_m],styles:[".checklist-item[_ngcontent-%COMP%]{position:relative;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(246 246 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:1.75rem;margin-bottom:1px;padding-top:10px;padding-bottom:10px;transition:background-color .2s ease-in-out}.checklist-item-checked[_ngcontent-%COMP%]{--tw-border-opacity: 1;border-color:rgb(250 250 250 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.checklist-item-edit[_ngcontent-%COMP%]{border-color:var(--brand-50, #228BE6);--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding-right:.75rem}.checklist-item-checkbox[_ngcontent-%COMP%]{width:24px;min-width:24px}.checklist-item-preview[_ngcontent-%COMP%]{font-family:var(--content-font, Inter),sans-serif;font-size:.875rem;font-weight:400;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1));line-height:20px;word-break:break-word}.checklist-item-action[_ngcontent-%COMP%]{cursor:pointer;font-size:.75rem;font-weight:600}.checklist-item-action-disabled[_ngcontent-%COMP%]{cursor:default;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.form-field-v2[_ngcontent-%COMP%]{margin-bottom:.5rem;display:block;width:100%;padding:0}.form-field-v2[_ngcontent-%COMP%] .mat-form-field-infix{padding:0}.form-field-v2[_ngcontent-%COMP%] .mat-input-element{padding:0;font-family:var(--content-font, Inter),sans-serif;font-size:.875rem;font-weight:400;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1));line-height:20px}.form-field-v2[_ngcontent-%COMP%] .mat-form-field-flex{border-width:0px;background-color:transparent}"]}),r})();function ju(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-checklist-header",8),e.\u0275\u0275listener("titleChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().updateName(l,o)})("itemDelete",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext().deleteChecklist(o)}),e.\u0275\u0275element(1,"i",9),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("title",t.title)}}function Ru(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",10)(1,"tn-checklist-item",11),e.\u0275\u0275listener("checklistItemChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().$implicit;
1return e.\u0275\u0275nextContext().handleItemChange(o,l)}),e.\u0275\u0275element(2,"i",9),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("item",t)}}function Vu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",2)(1,"div",3),e.\u0275\u0275template(2,ju,2,1,"tn-checklist-header",4),e.\u0275\u0275elementStart(3,"div",5),e.\u0275\u0275listener("cdkDropListDropped",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().drop(o)}),e.\u0275\u0275template(4,Ru,3,1,"div",6),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"span",7),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().addItem(l)}),e.\u0275\u0275text(6,"Add an item"),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext();e.\u0275\u0275property("cdkDragData",t),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",o.showChecklistTitle),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("id",o.connectedToIdPrefix+i),e.\u0275\u0275property("cdkDropListConnectedTo",o.connectedToIds)("cdkDropListData",t.list),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.list)("ngForTrackBy",o.trackByIndex)}}let Zp=(()=>{class r{constructor(){this.connectedToIdPrefix="checklist-connected-",this.connectedToIds=[],this.showChecklistTitle=!0,this.checklistsChange=new e.EventEmitter}ngOnChanges(t){const{checklists:i}=t;(null==i?void 0:i.currentValue)&&i.currentValue!==(null==i?void 0:i.previousValue)&&this.setConnectedToIds(i.currentValue)}handleItemChange(t,i){let o;"delete"==t.action&&(0,sn.Z)(i.list,t.value),"checked"==t.action&&(o=`marked ${t.value.text} as ${1==t.value.checked?"complete":"incomplete"}.`),this.emitChange(o)}deleteChecklist(t){!this.checklists||((0,sn.Z)(this.checklists,i=>i===t),this.emitChange())}addItem(t){t.list=[...t.list||[],{text:"",checked:!1}]}updateName(t,i){t.title=i,this.emitChange()}dropGroup(t){!this.checklists||((0,n.bA)(this.checklists,t.previousIndex,t.currentIndex),this.emitChange())}drop(t){!t.container.data||!t.previousContainer.data||(t.previousContainer===t.container?(0,n.bA)(t.container.data,t.previousIndex,t.currentIndex):(0,n.EA)(t.previousContainer.data,t.container.data,t.previousIndex,t.currentIndex),this.emitChange())}trackByIndex(t){return t}emitChange(t){var i;this.checklistsChange.emit({log:t,checklists:null!==(i=this.checklists)&&void 0!==i?i:[]})}setConnectedToIds(t){this.connectedToIds=t.map((i,o)=>this.connectedToIdPrefix+o)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-checklist-group"]],inputs:{checklists:"checklists",showChecklistTitle:"showChecklistTitle"},outputs:{checklistsChange:"checklistsChange"},features:[e.\u0275\u0275NgOnChangesFeature],decls:2,vars:2,consts:[["cdkDropList","",1,"app-v2",3,"cdkDropListData","cdkDropListDropped"],["cdkDropListGroup","","cdkDrag","","cdkDragPreviewClass","checklist-item-preview","class","mb-16 bg-white",3,"cdkDragData",4,"ngFor","ngForOf"],["cdkDropListGroup","","cdkDrag","","cdkDragPreviewClass","checklist-item-preview",1,"mb-16","bg-white",3,"cdkDragData"],[1,"mb-12"],[3,"title","titleChange","itemDelete",4,"ngIf"],["cdkDropList","",3,"id","cdkDropListConnectedTo","cdkDropListData","cdkDropListDropped"],["cdkDrag","","cdkDragPreviewClass","checklist-item-preview","class","relative",4,"ngFor","ngForOf","ngForTrackBy"],[1,"add-checklist-item-btn",3,"click"],[3,"title","titleChange","itemDelete"],["cdkDragHandle","","size","14","uiIcon","drag_indicator",1,"drag-handle"],["cdkDrag","","cdkDragPreviewClass","checklist-item-preview",1,"relative"],[3,"item","checklistItemChange"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275listener("cdkDropListDropped",function(l){return i.dropGroup(l)}),e.\u0275\u0275template(1,Vu,7,7,"div",1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("cdkDropListData",i.checklists),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.checklists))},directives:[n.Wj,S.NgForOf,n.Fd,n.Zt,S.NgIf,Eu,n.Bh,mt.a,Bu],styles:[".drag-handle[_ngcontent-%COMP%]{position:absolute;cursor:move;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1));top:15px;right:16px}.check-list-title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.add-checklist-item-btn[_ngcontent-%COMP%]{margin-left:.75rem;display:inline-block;cursor:pointer;font-size:.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.checklist-item-preview[_ngcontent-%COMP%] .drag-handle{color:var(--brand-50, #228BE6)}.checklist-item-preview[_ngcontent-%COMP%] .checklist-item{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}"]}),r})();function Lu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-quill-notes",10),e.\u0275\u0275listener("noteChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveTaskDetail
1sHandler(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275property("content",t.details)}}function Nu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",11,12),e.\u0275\u0275listener("click",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2).ngIf;return e.\u0275\u0275nextContext().addChecklistHandler(o,l)}),e.\u0275\u0275element(2,"i",13),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function $u(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-checklist-group",14),e.\u0275\u0275listener("checklistsChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveChecklistsHandler(o.checklists,o.log)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275property("checklists",t.checklists)}}const hm=function(r){return[r]},zu=function(){return{title:"Photographer Checklist"}};function Uu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-checklist-group",15),e.\u0275\u0275listener("checklistsChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).savePhotographerChecklistHandler(o.checklists,o.log)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(3).ngIf;e.\u0275\u0275property("showChecklistTitle",!1)("checklists",t.photographerChecklist?e.\u0275\u0275pureFunction1(2,hm,t.photographerChecklist):e.\u0275\u0275pureFunction1(5,hm,e.\u0275\u0275pureFunction0(4,zu)))}}function Hu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-expansion-panel",6),e.\u0275\u0275listener("closed",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return o.setPanelState(o.accordionPanels.photographerChecklist,!1)})("opened",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return o.setPanelState(o.accordionPanels.photographerChecklist,!0)}),e.\u0275\u0275elementStart(1,"mat-expansion-panel-header")(2,"mat-panel-title"),e.\u0275\u0275text(3," Photographer Checklist "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(4,Uu,1,7,"ng-template",7),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("expanded",t.accordionPanelsState[t.accordionPanels.photographerChecklist])}}function Wu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",1)(2,"div",2),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",3)(5,"ui-assign-task-editor",4),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"mat-accordion",5)(7,"mat-expansion-panel",6),e.\u0275\u0275listener("closed",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.setPanelState(o.accordionPanels.notes,!1)})("opened",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.setPanelState(o.accordionPanels.notes,!0)}),e.\u0275\u0275elementStart(8,"mat-expansion-panel-header")(9,"mat-panel-title"),e.\u0275\u0275text(10,"Service notes"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(11,Lu,1,1,"ng-template",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"mat-expansion-panel",6),e.\u0275\u0275listener("closed",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.setPanelState(o.accordionPanels.checklists,!1)})("opened",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.setPanelState(o.accordionPanels.checklists,!0)}),e.\u0275\u0275elementStart(13,"mat-expansion-panel-header")(14,"mat-panel-title"),e.\u0275\u0275text(15," Checklists "),e.\u0275\u0275template(16,Nu,3,1,"button",8),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(17,$u,1,1,"ng-template",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(18,Hu,5,1,"mat-expansion-panel",9),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(i.title),e.\u0275\u0275advance(2),e.\u0275\u0275property("task",t),e.\u0275\u0275advance(2),e.\u0275\u0275property("expanded",i.accordionPanelsState[i.accordionPanels.notes]),e.\u0275\u0275advance(5),e.\u0275\u0275property("expanded",i.accordionPanelsState[i.accordionPanels.checklists]),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",i.accordionPanelsState[i.accordionPanels.checklists]),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf","General Chat"!==t.name)}}function Gu(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Wu,19,6,"ng-container",0),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t)}}let Ku=(()=>
1{class r{constructor(t,i,o,l){this.notificationService=t,this.localStorageService=i,this.tasksRepositoryService=o,this.taskMessagesRepositoryService=l,this.taskDoc$=new Ei.X(null),this.accordionPanelsState={},this.accordionPanels={notes:"notes",checklists:"checklists"},this.accordionStateKey="SERVICE_DETAILS_ACCORDION_STATE"}get title(){return"Order"===this.task.name?"Project Chat":this.task.name}ngOnInit(){this.initAccordionPanelsState()}ngOnChanges(t){const{task:i}=t;(null==i?void 0:i.currentValue)!==(null==i?void 0:i.previousValue)&&this.fetchTaskDoc(i.currentValue)}ngOnDestroy(){this.unsubscribeTaskDoc&&this.unsubscribeTaskDoc()}saveTaskDetailsHandler(t){this.tasksRepositoryService.update(this.task.taskRef.id,{details:t})}addChecklistHandler(t,i){t.stopPropagation(),i.checklists=[...i.checklists||[],{}],this.saveChecklistsHandler(i.checklists)}saveChecklistsHandler(t,i){this.tasksRepositoryService.update(this.task.taskRef.id,{checklists:t}),i&&this.taskMessagesRepositoryService.create({taskId:this.task.taskRef.id},{type:"event",text:i,user:this.notificationService.userId,ts:Date.now()})}savePhotographerChecklistHandler(t,i){this.tasksRepositoryService.update(this.task.taskRef.id,{photographerChecklist:t[0]}),i&&this.taskMessagesRepositoryService.create({taskId:this.task.taskRef.id},{type:"event",text:i,user:this.notificationService.userId,ts:Date.now()})}setPanelState(t,i){this.accordionPanelsState=Object.assign(Object.assign({},this.accordionPanelsState),{[t]:i}),this.localStorageService.store(this.accordionStateKey,this.accordionPanelsState)}initAccordionPanelsState(){this.accordionPanelsState=this.localStorageService.retrieve(this.accordionStateKey)||{[this.accordionPanels.status]:!0}}fetchTaskDoc(t){this.unsubscribeTaskDoc&&(this.unsubscribeTaskDoc(),this.taskDoc$.next(null)),this.tasksRepositoryService.getById$(t.taskRef.id).subscribe(i=>{this.taskDoc$.next(i)})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(ir.n2),e.\u0275\u0275directiveInject(U.dPY),e.\u0275\u0275directiveInject(U.XaN))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-task-service-details"]],inputs:{order:"order",task:"task"},features:[e.\u0275\u0275NgOnChangesFeature],decls:2,vars:3,consts:[[4,"ngIf"],[1,"app-v2"],[1,"fw6","f5","mt3"],[1,"my-3"],[3,"task","click"],["multi","",1,"app-v2","task-detail
1s-accordion"],[3,"expanded","closed","opened"],["matExpansionPanelContent",""],["class","ml-8","uiBtnSize","xx-small","iconOnly","","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],[3,"expanded","closed","opened",4,"ngIf"],[3,"content","noteChange"],["uiBtnSize","xx-small","iconOnly","","uiBtnTheme","main","themeMode","secondary",1,"ml-8",3,"click"],["addChecklistButton","btnSize"],["uiIcon","add",3,"size"],[1,"mt3",3,"checklists","checklistsChange"],[1,"mt3",3,"showChecklistTitle","checklists","checklistsChange"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,Gu,2,1,"ng-container",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.taskDoc$))},directives:[S.NgIf,$p,Y.pp,Y.ib,Y.yz,Y.yK,Y.HS,Dl.U,_t.s,ht.V,mt.a,Zp],pipes:[S.AsyncPipe],styles:[".task-details-accordion[_ngcontent-%COMP%] .mat-expansion-panel-body{margin-bottom:.25rem;padding:0}.task-details-accordion[_ngcontent-%COMP%] .mat-expansion-panel-header, .task-details-accordion[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded{padding-left:.75rem;height:40px}.task-details-accordion[_ngcontent-%COMP%] .mat-expanded.mat-expansion-panel, .task-detail
1s-accordion[_ngcontent-%COMP%] .mat-expanded.mat-expansion-panel-header, .task-details-accordion[_ngcontent-%COMP%] .mat-expanded.mat-expansion-panel-header:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.task-details-accordion[_ngcontent-%COMP%] .mat-expansion-panel-content{overflow:unset}"],changeDetection:0}),r})();var Zu=_(52080),jl=_(91079);function Qu(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"mat-option",13),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275property("value",t),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t," ")}}function Ju(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",14),e.\u0275\u0275element(1,"i",15),e.\u0275\u0275text(2),e.\u0275\u0275elementStart(3,"i",16),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().clearServiceId()}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" This task will inherit checklists, notes, and other behavior from the ",t.originalServiceName," service. ")}}function Yu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",17)(1,"span",18),e.\u0275\u0275text(2,"Set as escalation"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-slide-toggle",19),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().task.isEscalation=o}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.task.isEscalation)("ngModelOptions",t.slideToggleOptions)}}function Xu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",17)(1,"span",18),e.\u0275\u0275text(2,"Update invoice amount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-slide-toggle",20),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().revisePricing=o}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.revisePricing)("ngModelOptions",t.slideToggleOptions)}}function qu(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",21)(2,"span",18),e.\u0275\u0275text(3,"Update calendar event"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"mat-slide-toggle",22),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updateCalendarEvent=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",23),e.\u0275\u0275text(6," This will overwrite everything in the existing calendar event details, but it will not update the time block. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.updateCalendarEvent)("ngModelOptions",t.slideToggleOptions)}}let eg=(()=>{class r{constructor(t,i,o,l,h,y,F,te,H,re,ve){this.data=t,this.dialogRef=i,this.invoiceService=o,this.fb=l,this.afs=h,this.notificationService=y,this.projectService=F,this.syncCalendarEventService=te,this.appConfigService=H,this.ordersRepositoryService=re,this.taskMessagesRepositoryService=ve,this.order=this.data.order,this.bookingFlow=null,this.revisePricing=!0,this.updateCalendarEvent=!1,this.slideToggleOptions={standalone:!0}}get modalTitle(){return(this.originalTask?"Edit":"Create")+" service"}get originalServiceName(){var t,i;return(null===(t=this.task)||void 0===t?void 0:t.serviceId)&&(null===(i=(0,un.Z)(this.serviceTemplates,{serviceId:this.task.serviceId}))||void 0===i?void 0:i.name)||"none"}ngOnInit(){var t;this.afs.collection("services").get().toPromise().then(o=>{this.serviceTemplates=o.docs.map(l=>Object.assign(Object.assign({},l.data()),{serviceId:l.id}
1)),this.services=this.serviceTemplates.map(l=>l.name).filter(l=>"Project Chat"!==l).sort()}),this.afs.collection("globals").doc("booking").get().subscribe(o=>{o.exists&&(this.bookingConfig=o.data())}),(null===(t=this.order.bookingFlow)||void 0===t?void 0:t.id)&&this.afs.collection("bookingFlow",o=>{var l;return o.where(Wi.Z.firestore.FieldPath.documentId(),"==",null===(l=this.order.bookingFlow)||void 0===l?void 0:l.id)}).get().subscribe(o=>{o.empty||(this.bookingFlow=o.docs[0].data())});const i=this.data.task;i&&(this.originalTask=i),this.task=Object.assign({},i||{}),"escalations"===this.data.type&&(this.task.isEscalation=!0),this.taskForm=this.fb.group({name:i?i.name:""}),this.filteredOptions=this.taskForm.controls.name.valueChanges.pipe((0,Bn.O)(""),(0,qe.U)(o=>this._filter(o)))}clearServiceId(){this.task.serviceId=""}_filter(t){const i=t.toLowerCase();return(this.services||[]).filter(o=>o.toLowerCase().includes(i))}submit(){var t,i;if(this.taskForm.invalid&&!(null===(t=this.taskForm.value)||void 0===t?void 0:t.length))return;const o=(null===(i=this.task)||void 0===i?void 0:i.taskRef)?{action:"edit",task:this.editTask()}:{action:"create",task:this.createTask()};this.dialogRef.close(o)}cancel(){this.dialogRef.close()}editTask(){const t=this.originalTask.name;t!==this.taskForm.value.name&&this.taskMessagesRepositoryService.create({taskId:this.task.taskRef.id},{type:"event",text:`renamed task from ${t} to ${this.taskForm.value.name}.`,user:this.notificationService.userId,ts:Date.now()}),this.task.name=this.taskForm.value.name,this.originalTask=Object.assign(this.originalTask,this.task);const i=this.order.services_a_la_cart.indexOf(t);i>=0&&(this.order.services_a_la_cart[i]=this.taskForm.value.name);const o=this.afs.firestore.batch(),l=U.HVf.initBatch();return this.ordersRepositoryService.batchedUpsert(this.order.id,{taskSummary:this.order.taskSummary,services:this._createServicesArray(),services_a_la_cart:this.order.services_a_la_cart},l,!0),o.set(this.task.taskRef,{name:this.task.name,isEscalation:!!this.task.isEscalation},{merge:!0}),l.commit(),o.commit().then(()=>{this.onTaskChange()}),this.task}_createServicesArray(){const t=Object.assign({},this.order.taskSummary);return delete t.archived,(0,El.Z)((0,li.Z)(t)).map(i=>i.name)}onTaskChange(){this.order.calendarEvent&&this.updateCalendarEvent&&this.syncCalendarEventService.updateEvents({orderId:this.order.id})}autocompleteSelected(t){const o=(0,un.Z)(this.serviceTemplates,{name:t.option.value});Object.assign(this.task,Object.assign({name:o.name,serviceId:o.serviceId,bookingType:o.bookingType||He.cY.PROPERTY},o.type&&{type:o.type}))}createTask(){let t;this.task&&this.task.serviceId&&(t=(0,un.Z)(this.serviceTemplates,{serviceId:this.task.serviceId}));const i=U.HVf.initBatch();this.taskMessagesRepositoryService.batchedCreate({taskId:this.order.communication.general.taskRef.id},{type:"event",text:`created task **${this.taskForm.value.name}**.`,user:this.notificationService.userId,ts:Date.now()},i);const o=this.afs.collection("tasks").doc(this.afs.createId()).ref;let l={name:this.taskForm.value.name,orderId:this.order.id};const h=Object.assign(this.task,{name:this.taskForm.value.name,taskRef:o});return this.order.taskSummary.pending?(this.order.taskSummary.pending=[...this.order.taskSummary.pending,h],this.ordersRepositoryService.batchedUpdate(this.order.id,{"taskSummary.pending":this.order.taskSummary.pending},i)):(this.order.taskSummary.planning=[...this.order.taskSummary.planning||[],h],this.ordersRepositoryService.batchedUpdate(this.order.id,{"taskSummary.planning":this.order.taskSummary.planning},i),h.type==this.appConfigService.ordersVideoType&&(this.order.videoProject=!0,this.ordersRepositoryService.batchedUpdate(this.order.id,{videoProject:!0},i))),t&&(l=Object.assign(t,l),this.notificationService.getMemberIdsFromNotify(t.notifyMembers).forEach(F=>{var te;const H=(null===(te=this.order.property_address)||void 0===te?void 0:te.formatted_address)||"";this.notificationService.setBatchNotification(i,{userId:this.notificationService.userId,text:`has created **${this.taskForm.value.name}**${H?` for ${H}`:""}.`,ts:Date.now(),type:"event",link:`/admin/order-management/${this.order.id}?taskId=${o.id}`},[F])})),i.set(o,l),this.order.services.push(this.taskForm.value.name),this.order.services_a_la_cart.push(this.taskForm.value.name),this.ordersRepositoryService.batchedUpdate(this.order.id,{services:this.order.services,services_a_la_cart:this.order.services_a_la_cart},i),this.revisePricing?this.invoiceService.getInvoiceWithUpdatedServiceLineItems(this.order).subscribe(y=>{i.set(this.afs.collection("invoices").doc(y.orderId).ref,Object.assign(Object.assign({},y),{status:He.bG.PartiallyPaid})),this.ordersRepositoryService.batchedUpdate(this.order.id,{invoice_amount:y.totalAmount},i),this.taskMessagesRepositoryService.batchedCreate({taskId:this.order.communication.general.taskRef.id},{type:"event",text:`revised price from ${this.order.invoice_amount} to **${y.totalAmount}**.`,user:this.notificationService.userId,ts:Date.now()},i),this.order.paymentStatus===He.bG.Paid&&(this.ordersRepositoryService.update(this.order.id,{paymentStatus:He.bG.PartiallyPaid}),this.taskMessagesRepositoryService.batchedCreate({taskId:this.order.communication.general.taskRef.id},{type:"event",text:"updated payment status from Paid to **Partially Paid**.",user:this.notificationService.userId,ts:Date.now()},i)),i.commit().then(()=>this.onTaskChange())}):i.commit().then(()=>this.onTaskChange()),h}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ut.WI),e.\u0275\u0275directiveInject(ut.so),e.\u0275\u0275directiveInject(Zu.q),e.\u0275\u0275directiveInject(ee.qu),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(U.EsE),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.HVf),e.\u0275\u0275directiveInject(U.XaN))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-task-dialog"]],decls:22,vars:10,consts:[[3,"formGroup"],[1,"task-section","service-name"],[1,"form-field-v2"],["required","","matInput","","formControlName","name","placeholder","Drone Photo",3,"matAutocomplete"],[3,"optionSelected"],["auto","matAutocomplete"],[3,"value",4,"ngFor","ngForOf"],["class","task-services",4,"ngIf"],["class","task-section toggle-row",4,"ngIf"],[4,"ngIf"],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",3,"click"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","primary",3,"click"],[3,"value"],[1,"task-services"],["uiIcon","arrow_forward","size","12",1,"task-services-icon"],["uiIcon","close","size","12",1,"task-services-clear",3,"click"],[1,"task-section","toggle-row"],[1,"slide-toggle-label"],["name","isEscalation",1,"slide-toggle",3,"disableRipple","ngModel","ngModelOptions","ngModelChange"],["name","revisePricing",1,"slide-toggle",3,"disableRipple","ngModel","ngModelOptions","ngModelChange"],[1,"calendar-event","task-section"],["name","updateCalendarEvent",1,"slide-toggle",3,"disableRipple","ngModel","ngModelOptions","ngModelChange"],[1,"task-section"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"form",0)(4,"div",1)(5,"mat-form-field",2)(6,"mat-label"),e.\u0275\u0275text(7,"Service name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(8,"input",3),e.\u0275\u0275elementStart(9,"mat-autocomplete",4,5),e.\u0275\u0275listener("optionSelected",function(l){return i.autocompleteSelected(l)}),e.\u0275\u0275template(11,Qu,2,2,"mat-option",6),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(13,Ju,4,1,"div",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(14,Yu,4,3,"div",8),e.\u0275\u0275template(15,Xu,4,3,"div",8),e.\u0275\u0275template(16,qu,7,3,"ng-container",9),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(17,"mat-dialog-actions",10)(18,"button",11),e.\u0275\u0275listener("click",function(){return i.cancel()}),e.\u0275\u0275text(19," Cancel "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(20,"button",12),e.\u0275\u0275listener("click",function(){return i.submit()}
1),e.\u0275\u0275text(21," Save "),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(10);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(i.modalTitle),e.\u0275\u0275advance(2),e.\u0275\u0275property("formGroup",i.taskForm),e.\u0275\u0275advance(5),e.\u0275\u0275property("matAutocomplete",o),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",e.\u0275\u0275pipeBind1(12,8,i.filteredOptions)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",null==i.task?null:i.task.serviceId),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.task),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!(null!=i.task&&i.task.taskRef)&&(null==i.bookingConfig?null:i.bookingConfig.dynamicPricing)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.order.calendarEvent)}},directives:[Un.A,ut.xY,ee._Y,ee.JL,ee.sg,Et.KE,Et.hX,Pt.Nt,ee.Fj,jl.ZL,ee.Q7,ee.JJ,ee.u,jl.XC,S.NgForOf,B.ey,S.NgIf,mt.a,Me.Rr,ee.On,ut.H8,_t.s,ht.V],pipes:[S.AsyncPipe],styles:[".form-field-v2[_ngcontent-%COMP%]{width:100%}.form-field-v2[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:0}.task-services[_ngcontent-%COMP%]{position:relative;margin-top:.75rem;padding:0 36px}.task-services-icon[_ngcontent-%COMP%], .task-services-clear[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%)}.task-services-icon[_ngcontent-%COMP%]{left:14px}.task-services-clear[_ngcontent-%COMP%]{cursor:pointer;padding:.25rem;right:8px}.task-section[_ngcontent-%COMP%]{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:.5rem .75rem}.task-section.service-name[_ngcontent-%COMP%]{margin-bottom:1.25rem}.task-section.toggle-row[_ngcontent-%COMP%]{margin-bottom:.25rem;display:flex;align-items:center;justify-content:space-between}.calendar-event[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1px}.slide-toggle.mat-slide-toggle[_ngcontent-%COMP%], .slide-toggle.mat-slide-toggle[_ngcontent-%COMP%]:hover{background-color:transparent}.slide-toggle-label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}"]}),r})(),tg=(()=>{class r{constructor(t){this.dialog=t}open(t){return this.dialog.open(eg,{panelClass:"app-v2",width:"480px",maxWidth:"480px",autoFocus:!1,data:t}).afterClosed()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(ut.uw))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})();function ng(r,a){1&r&&e.\u0275\u0275element(0,"i",10)}function ig(r,a){1&r&&e.\u0275\u0275element(0,"span",11)}function rg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",8),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().archiveTaskHandler()}),e.\u0275\u0275text(1," Archive "),e.\u0275\u0275elementEnd()}}const og=function(r,a){return{"task-card--selected":r,"task-card--escalation":a}};let ag=(()=>{class r{constructor(){this.isSelected=!1,this.isUnread=!1,this.draggable=!0,this.isArchiveActionApplicable=!0,this.selectTask=new e.EventEmitter,this.editTask=new e.EventEmitter,this.archiveTask=new e.EventEmitter}selectTaskHandler(){this.selectTask.emit(this.task)}editTaskHandler(){this.editTask.emit(this.task)}archiveTaskHandler(){this.archiveTask.emit(this.task)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-details-task"]],inputs:{task:"task",isSelected:"isSelected",isUnread:"isUnread",draggable:"draggable",isArchiveActionApplicable:"isArchiveActionApplicable"},outputs:{selectTask:"selectTask",editTask:"editTask",archiveTask:"archiveTask"},decls:12,vars:10,consts:[["cdkDrag","",1,"app-v2","task-card",3,"ngClass","cdkDragData","click"],["cdkDragHandle","","size","14","uiIcon","drag_indicator","class","drag-handle",4,"ngIf"],[1,"task-card-title"],["class","unread-badge",4,"ngIf"],[1,"task-card-actions",3,"click"],["uiIcon","more_vert",1,"task-card-actions-button",3,"matMenuTriggerFor"],["xPosition","before",1,"app-v2"],["beforeMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"click",4,"ngIf"],["cdkDragHandle","","size","14","uiIcon","drag_indicator",1,"drag-handle"],[1,"unread-badge"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275listener("click",function(){return i.selectTaskHandler()}),e.\u0275\u0275template(1,ng,1,0,"i",1),e.\u0275\u0275elementStart(2,"span",2),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,ig,1,0,"span",3),e.\u0275\u0275elementStart(5,"div",4),e.\u0275\u0275listener("click",function(l){return l.stopPropagation()}),e.\u0275\u0275element(6,"i",5),e.\u0275\u0275elementStart(7,"mat-menu",6,7)(9,"button",8),e.\u0275\u0275listener("click",function(){return i.editTaskHandler()}),e.\u0275\u0275text(10,"Edit"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(11,rg,2,0,"button",9),e.\u0275\u0275elementEnd()()()),2&t){const o=e.\u0275\u0275reference(8);e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction2(7,og,i.isSelected,i.task.isEscalation))("cdkDragData",i.task),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.draggable),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",i.task.name," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.isUnread),e.\u0275\u0275advance(2),e.\u0275\u0275property("matMenuTriggerFor",o),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",i.isArchiveActionApplicable)}},directives:[n.Zt,S.NgClass,S.NgIf,n.Bh,mt.a,Ft.p6,Ft.VK,Ft.OP],styles:["[_nghost-%COMP%]{display:block}.task-card[_ngcontent-%COMP%]{position:relative;cursor:pointer;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:9px 27px;margin-bottom:1px;box-shadow:0 1px #0000000d;transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out}.task-card[_ngcontent-%COMP%]:not(.task-card--escalation):hover{border-color:var(--brand-50, #228BE6)}.task-card--escalation[_ngcontent-%COMP%]{--tw-border-opacity: 1;border-color:rgb(255 227 227 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 227 227 / var(--tw-bg-opacity, 1))}.task-card--escalation[_ngcontent-%COMP%]:not(.task-card--selected):hover{--tw-border-opacity: 1;border-color:rgb(245 159 0 / var(--tw-border-opacity, 1))}.task-card--escalation[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%], .task-card--escalation[_ngcontent-%COMP%] .task-card-title[_ngcontent-%COMP%], .task-card--escalation[_ngcontent-%COMP%] .task-card-actions-button[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(250 82 82 / var(--tw-text-opacity, 1))}.task-card--selected[_ngcontent-%COMP%]{cursor:default;border-color:var(--brand-50, #228BE6);background-color:var(--brand-5, #E7F5FF)}.task-card--selected[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%], .task-card--selected[_ngcontent-%COMP%] .task-card-title[_ngcontent-%COMP%], .task-card--selected[_ngcontent-%COMP%] .task-card-actions-button[_ngcontent-%COMP%]{color:var(--brand-50, #228BE6)}.task-card--selected[_ngcontent-%COMP%] .unread-badge[_ngcontent-%COMP%]{opacity:0}
1.task-card-title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:400;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.task-card-actions[_ngcontent-%COMP%]{position:absolute;top:12px;right:8px}.task-card-actions-button[_ngcontent-%COMP%]{display:block;cursor:pointer;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));width:16px;height:16px}.unread-badge[_ngcontent-%COMP%]{margin-left:.125rem;display:inline-block;border-radius:.25rem;background-color:var(--brand-50, #228BE6);vertical-align:middle;width:6px;height:6px;transition:opacity .2s ease-in-out}.drag-handle[_ngcontent-%COMP%]{position:absolute;cursor:move;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));top:12px;left:9px;transition:color .2s ease-in-out}"],changeDetection:0}),r})();function sg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",4,5),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().createTaskHandler()}),e.\u0275\u0275element(2,"i",6),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function lg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-order-details-task",7),e.\u0275\u0275listener("selectTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().selectTaskHandler(o)})("editTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().editTaskHandler(o)})("archiveTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().archiveTaskHandler(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("task",t)("isSelected",(null==i.activeTask||null==i.activeTask.taskRef?null:i.activeTask.taskRef.id)===t.taskRef.id)("isUnread",i.unreadChats[t.taskRef.id])("isArchiveActionApplicable",i.isArchiveActionApplicable)("draggable",i.draggable)}}const cg=function(r){return[r]};let dg=(()=>{class r{constructor(){this.draggable=!0,this.isArchiveActionApplicable=!0,this.isCreateActionApplicable=!1,this.createTask=new e.EventEmitter,this.selectTask=new e.EventEmitter,this.editTask=new e.EventEmitter,this.archiveTask=new e.EventEmitter,this.dropTask=new e.EventEmitter}createTaskHandler(){this.createTask.emit()}selectTaskHandler(t){this.selectTask.emit(t)}editTaskHandler(t){this.editTask.emit(t)}archiveTaskHandler(t){this.archiveTask.emit(t)}dropTaskHandler(t){this.dropTask.emit(t)}trackById(t,i){return i.taskRef.id}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-details-tasks-section"]],inputs:{title:"title",sectionKey:"sectionKey",sectionId:"sectionId",tasks:"tasks",activeTask:"activeTask",unreadChats:"unreadChats",draggable:"draggable",isArchiveActionApplicable:"isArchiveActionApplicable",isCreateActionApplicable:"isCreateActionApplicable"},outputs:{createTask:"createTask",selectTask:"selectTask",editTask:"editTask",archiveTask:"archiveTask",dropTask:"dropTask"},decls:5,vars:9,consts:[["cdkDropList","",1,"app-v2","task-list",3,"cdkDropListData","id","cdkDropListDropped"],[1,"tasks-section-title",3,"ngClass"],["class","ml-8 align-middle","uiBtnSize","xx-small","iconOnly","","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],[3,"task","isSelected","isUnread","isArchiveActionApplicable","draggable","selectTask","editTask","archiveTask",4,"ngFor","ngForOf","ngForTrackBy"],["uiBtnSize","xx-small","iconOnly","","uiBtnTheme","main","themeMode","secondary",1,"ml-8","align-middle",3,"click"],["createTaskButton","btnSize"],["uiIcon","add",3,"size"],[3,"task","isSelected","isUnread","isArchiveActionApplicable","draggable","selectTask","editTask","archiveTask"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275listener("cdkDropListDropped",function(l){return i.dropTaskHandler(l)}),e.\u0275\u0275elementStart(1,"h4",1),e.\u0275\u0275text(2),e.\u0275\u0275template(3,sg,3,1,"button",2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,lg,1,5,"tn-order-details-task",3),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275propertyInterpolate("id",i.sectionId),e.\u0275\u0275property("cdkDropListData",i.tasks),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(7,cg,"tasks-section-title--"+i.sectionKey)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",i.title," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.isCreateActionApplicable),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.tasks)("ngForTrackBy",i.trackById))},directives:[n.Wj,S.NgClass,S.NgIf,_t.s,ht.V,mt.a,S.NgForOf,ag],styles:['.tasks-section-title[_ngcontent-%COMP%]{position:relative;margin:0;font-size:.875rem;font-weight:600;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1));padding:12px 12px 12px 24px}.tasks-section-title[_ngcontent-%COMP%]:before{position:absolute;border-radius:.25rem;content:"";width:8px;height:8px;left:8px;top:50%;transform:translateY(-50%)}.tasks-section-title--planning[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(34 139 230 / var(--tw-bg-opacity, 1))}.tasks-section-title--production[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(253 126 20 / var(--tw-bg-opacity, 1))}.tasks-section-title--editing[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(152 40 165 / var(--tw-bg-opacity, 1))}.tasks-section-title--complete[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(12 166 120 / var(--tw-bg-opacity, 1))}.tasks-section-title--pending[_ngcontent-%COMP%]:before, .tasks-section-title--archived[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(173 181 189 / var(--tw-bg-opacity, 1))}'],changeDetection:0}),r})();function pg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"tn-order-details-tasks-section",5),e.\u0275\u0275listener("selectTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).selectTaskHandler(o)})("editTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).editTaskHandler(o)})("archiveTask",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext().archiveTaskHandler(o,l.pending)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("title","Pending")("sectionId","Pending")("sectionKey","pending")("tasks",t.pending)("activeTask",i.activeTask)("unreadChats",i.unreadChats)("draggable",!1)}}function mg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-order-details-tasks-section",8),e.\u0275\u0275listener("dropTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).dropTaskHandler(o)})("createTask",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).createTaskHandler()})("selectTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).selectTaskHandler(o)})("editTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).editTaskHandler(o)})("archiveTask",function(o){const h=e.\u0275\u0275restoreView(t).$implicit,y=e.\u0275\u0275nextContext(2).ngIf;return e.\u0275\u0275nextContext().archiveTaskHandler(o,y[h.key])}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2).ngIf,o=e.\u0275\u0275nextContext();e.\u0275\u0275property("title",t.title)("sectionId",t.id)("sectionKey",t.key)("tasks",i[t.key])("activeTask",o.activeTask)("unreadChats",o.unreadChats)("isCreateActionApplicable",t.isCreateActionApplicable)("isArchiveActionApplicable",t.isArchiveActionApplicable)}}function ug(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",6),e.\u0275\u0275template(1,mg,1,8,"tn-order-details-tasks-section",7),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.sections)("ngForTrackBy",t.trackByKey)}}function gg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",1)(2,"tn-order-details-tasks-section",2),e.\u0275\u0275listener("createTask",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().createTaskHandler("escalations")})("selectTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().selectTaskHandler(o)})("editTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().editTaskHandler(o)})("archiveTask",function(o){const h=e.\u0275\u0275restoreView(t).ngIf;return e.\u0275\u0275nextContext().archiveTaskHandler(o,h.escalations)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,pg,2,7,"ng-container",3),e.\u0275\u0275template(4,ug,2,2,"ng-template",null,4,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275property("title","Escalations")("sectionId","Escalations")("sectionKey","escalations")("tasks",t.escalations)("activeTask",o.activeTask)("unreadChats",o.unreadChats)("draggable",!1)("isCreateActionApplicable",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.pending)("ngIfElse",i)}}let _g=(()=>
1{class r{constructor(t,i,o){this.jobsService=t,this.orderTasksService=i,this.taskDialog=o,this.selectTask=new e.EventEmitter,this.archiveTask=new e.EventEmitter,this.dropTask=new e.EventEmitter,this.sections=[],this.addCreateTaskJobPrompt=l=>{if("create"!==(null==l?void 0:l.action))return;const{task:h}=l;this.jobsService.triggerJobs(h,{escalations:[h]}).then(y=>{!y||y.forEach(F=>{h.taskRef.collection("messages").add(F)})})}}set serviceStatuses(t){this.sections=this.orderTasksService.getTaskStatusList(t)}createTaskHandler(t=null){this.taskDialog.open({order:this.order,task:null,type:t}).pipe((0,Nt.q)(1)).subscribe(this.addCreateTaskJobPrompt)}selectTaskHandler(t){this.selectTask.emit(t)}editTaskHandler(t){this.taskDialog.open({order:this.order,task:t,type:null}).pipe((0,Nt.q)(1)).subscribe()}archiveTaskHandler(t,i){this.archiveTask.emit({task:t,tasks:i})}dropTaskHandler(t){this.dropTask.emit(t)}trackByKey(t,i){return i.key}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.eC$),e.\u0275\u0275directiveInject(U.e2A),e.\u0275\u0275directiveInject(tg))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-details-tasks"]],inputs:{order:"order",activeTask:"activeTask",unreadChats:"unreadChats",serviceStatuses:"serviceStatuses"},outputs:{selectTask:"selectTask",archiveTask:"archiveTask",dropTask:"dropTask"},decls:1,vars:1,consts:[[4,"ngIf"],[1,"app-v2","order-details-tasks"],[3,"title","sectionId","sectionKey","tasks","activeTask","unreadChats","draggable","isCreateActionApplicable","createTask","selectTask","editTask","archiveTask"],[4,"ngIf","ngIfElse"],["elseBlock",""],[3,"title","sectionId","sectionKey","tasks","activeTask","unreadChats","draggable","selectTask","editTask","archiveTask"],["cdkDropListGroup",""],[3,"title","sectionId","sectionKey","tasks","activeTask","unreadChats","isCreateActionApplicable","isArchiveActionApplicable","dropTask","createTask","selectTask","editTask","archiveTask",4,"ngFor","ngForOf","ngForTrackBy"],[3,"title","sectionId","sectionKey","tasks","activeTask","unreadChats","isCreateActionApplicable","isArchiveActionApplicable","dropTask","createTask","selectTask","editTask","archiveTask"]],template:function(t,i){1&t&&e.\u0275\u0275template(0,gg,6,10,"ng-container",0),2&t&&e.\u0275\u0275property("ngIf",i.order.taskSummary)},directives:[S.NgIf,dg,n.Fd,S.NgForOf],styles:[".order-details-tasks[_ngcontent-%COMP%]{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));padding:.25rem}"],changeDetection:0}),r})();var hg=_(23044),fm=_(85899),fg=_(83089),vg=_(51330),vm=_(32408),Cm=_(68566);function Cg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-snack-bar",3)(1,"span",4),e.\u0275\u0275text(2),e.\u0275\u0275elementStart(3,"strong"),e.\u0275\u0275text(4,"Update event now?"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",5,6),e.\u0275\u0275text(7,"Notify participants"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"button",7),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(2).skipUpdatedOrder(l.id)}),e.\u0275\u0275text(9," Skip "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"button",8),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit,h=e.\u0275\u0275reference(6);return e.\u0275\u0275nextContext(2).updateEvents(l,h.checked)}),e.\u0275\u0275text(11," Update event "),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("styles","h-80"),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(' Calendar event for order: "',t.packages,'" has changes. '),e.\u0275\u0275advance(3),e.\u0275\u0275property("checked",!1),e.\u0275\u0275advance(3),e.\u0275\u0275property("disabled",i.saving),e.\u0275\u0275advance(2),e.\u0275\u0275property("uiBtnLoading",i.saving)}}function bg(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",1),e.\u0275\u0275template(1,Cg,12,5,"ui-snack-bar",2),e.\u0275\u0275elementEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t)}}let Qp=(()=>
1{class r{constructor(t,i,o){this.orderService=t,this.syncCalendarEventService=i,this.managementConfigDocumentService=o,this.saving=!1,this.updatedOrders$=this.orderService.updatedOrders$}skipUpdatedOrder(t){this.orderService.skipUpdatedOrder(t)}updateEvents(t,i){return(0,De.mG)(this,void 0,void 0,function*(){this.saving=!0;const l=!!(yield this.managementConfigDocumentService.get()).automaticallyUpdateEvents;yield this.syncCalendarEventService.updateEvents({orderId:t.id,orderData:t,notify:i,updateEventDuration:l}),this.skipUpdatedOrder(t.id),this.saving=!1})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.pxI),e.\u0275\u0275directiveInject(U.EsE),e.\u0275\u0275directiveInject(U.$zW))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-event-sync-dialog"]],decls:2,vars:3,consts:[["class","order-event-sync-dialog fixed bottom-2 left-1/4 right-1/4",4,"ngIf"],[1,"order-event-sync-dialog","fixed","bottom-2","left-1/4","right-1/4"],["class","app-v2 events-update-snackbar",3,"styles",4,"ngFor","ngForOf"],[1,"app-v2","events-update-snackbar",3,"styles"],[1,"text-12","ml-6"],[1,"mx-6",3,"checked"],["notifyToggle",""],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mx-6",3,"disabled","click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",1,"mx-6",3,"uiBtnLoading","click"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,bg,2,1,"div",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.updatedOrders$))},directives:[S.NgIf,S.NgForOf,vm.E,Me.Rr,_t.s,ht.V,Cm.T],pipes:[S.AsyncPipe],styles:[".order-event-sync-dialog[_ngcontent-%COMP%]{z-index:1000}"],changeDetection:0}),r})();const yg=["drawer"],xg=["chatScroll"],Sg=["fileUploaderInput"];function Tg(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",6),e.\u0275\u0275text(1,"Order is invalid or already archived."),e.\u0275\u0275elementEnd())}function wg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",32)(1,"div",33)(2,"button",34,35),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).closeThread()}),e.\u0275\u0275element(4,"i",17),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"span",36),e.\u0275\u0275text(6,"Thread"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275element(7,"ui-chat-thread",37),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("chatModules",i.modules)("userId",i.notificationService.userId)("threadedMessage",i.threadedMessage)("order",i.order)("activeTask",i.activeTask)("orgMembersObj",i.orgMembersObj)}}function kg(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-order-task-service-details",42),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("order",t.order)("task",t.activeTask)}}function Eg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"tn-admin-active-order-details-sync-state",38),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementStart(3,"div",39)(4,"tn-order-details-form",40),e.\u0275\u0275listener("closePanel",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(),e.\u0275\u0275reference(4).toggle()}),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275template(7,kg,1,2,"tn-order-task-service-details",41),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("requestStatus",e.\u0275\u0275pipeBind1(2,7,t.dataSavingStatus$)),e.\u0275\u0275advance(3),e.\u0275\u0275property("orderId",t.order.id)("tabName","Service Details")("disableNewView",!0)("isLimitedContractorAccess",e.\u0275\u0275pipeBind1(5,9,t.isLimitedContractorAccess$))("isLimitedStaffAccess",e.\u0275\u0275pipeBind1(6,11,t.isLimitedStaffAccess$)),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.activeTask)}}function Og(r,a){1&r&&e.\u0275\u0275element(0,"span",46)}function Ig(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",43),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.selectActiveTask(o.order.communication.general)}),e.\u0275\u0275element(1,"i",44),e.\u0275\u0275text(2," Project Chat "),e.\u0275\u0275template(3,Og,1,0,"span",45),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275classProp("project-chat--selected","Order"===(null==t.activeTask?null:t.activeTask.name)),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.unreadChats[t.order.communication.general.taskRef.id])}}function Dg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-order-details-tasks",48),e.\u0275\u0275listener("dropTask",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().ngIf;return e.\u0275\u0275nextContext(2).drop(o,l)})("selectTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).selectActiveTask(o)})("archiveTask",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).archiveTask(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("order",t.order)("activeTask",t.activeTask)("unreadChats",t.unreadChats)("serviceStatuses",t.serviceStatuses)}}function Mg(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Dg,1,4,"tn-order-details-tasks",47),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==t.order?null:t.order.taskSummary)}}function Pg(r,a){1&r&&e.\u0275\u0275element(0,"mat-progress-bar",49)}function Fg(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",50),e.\u0275\u0275text(1,"No messages here yet."),e.\u0275\u0275elementEnd())}function Ag(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-chat-message",52),e.\u0275\u0275listener("uploadingChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).uploading=o})("thumbsUp",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).sendThumbsUpNotification(o)})("showThread",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext(2).loadThread(o)})("jobCreate",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext(2).createJob(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("message",t)}}function Bg(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Ag,1,1,"ui-chat-message",51),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.shouldShowMessage(t))}}function jg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-chat-attachment",55),e.\u0275\u0275listener("remove",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).removeChatAttachment(l)}),e.\u0275\u0275elementEnd()}2&r&&e.\u0275\u0275property("attachment",a.$implicit)}function Rg(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",53),e.\u0275\u0275template(1,jg,1,1,"ui-chat-attachment",54),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.chatAttachments)}}const Vg=function(r){return{"o-20":r}};function Lg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",56)(1,"quill-editor",57),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).chatInput=o})("onEditorCreated",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).handleQuillCreated(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"div",58)(3,"div",59),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).submitChat()}),e.\u0275\u0275pipe(4,"async"),e.\u0275\u0275element(5,"i",60),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("formats",t.formats)("modules",t.modules)("ngModel",t.chatInput),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(7,Vg,!t.chatInput||e.\u0275\u0275pipeBind1(4,5,t.isImageUploading$))),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",22)}}function Ng(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",61)(1,"div",62),e.\u0275\u0275element(2,"i",63),e.\u0275\u0275elementStart(3,"div",64),e.\u0275\u0275text(4,"Upload Images"),e.\u0275\u0275elementEnd()()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("size",80))}const $g=function(r){return{"order-tasks-container--show":r}};function zg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"tn-admin-order-details-header",7),e.\u0275\u0275listener("toggleThread",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleThreadHandler()})("toggleShowTasks",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleShowTasks()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-drawer-container",8)(3,"mat-drawer",9,10),e.\u0275\u0275template(5,wg,8,7,"div",11),e.\u0275\u0275template(6,Eg,8,13,"ng-container",5),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",12)(8,"div",13)(9,"div",14)(10,"button",15,16),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleShowTasks()}),e.\u0275\u0275element(12,"i",17),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(13,"h3",18),e.\u0275\u0275text(14,"Order stages"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(15,Ig,4,3,"div",19),e.\u0275\u0275template(16,Mg,2,1,"ng-container",5),e.\u0275\u0275pipe(17,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"div",20),e.\u0275\u0275listener("hovered",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleUploadHover(o)})("dropped",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onUploadDrop(o)}),e.\u0275\u0275elementStart(19,"div",21)(20,"mat-slide-toggle",22),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().chatLog=o}
1),e.\u0275\u0275text(21),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(22,"div",23),e.\u0275\u0275template(23,Pg,1,0,"mat-progress-bar",24),e.\u0275\u0275pipe(24,"async"),e.\u0275\u0275elementStart(25,"div",25,26),e.\u0275\u0275template(27,Fg,2,0,"div",27),e.\u0275\u0275template(28,Bg,2,1,"ng-container",28),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(29,Rg,2,1,"div",29),e.\u0275\u0275template(30,Lg,6,9,"div",30),e.\u0275\u0275template(31,Ng,5,1,"div",31),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275reference(11),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("order",i.order),e.\u0275\u0275advance(2),e.\u0275\u0275propertyInterpolate("opened",!i.isMobile),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.threadedMessage),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.threadedMessage),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(22,$g,i.showTasksMobile)),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.order.communication),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(17,18,i.taskList$)),e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.chatLog),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(i.chatLog?"Toggle chat":"Toggle activity log"),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.uploading||e.\u0275\u0275pipeBind1(24,20,i.isImageUploading$)),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",!i.displayMessages&&!i.chatLog),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.messages)("ngForTrackBy",i.trackMessagesByUid),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.chatAttachments.length),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.modules),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.uploadHover)}}xp.register("modules/magicUrl",Mp());let co=class{constructor(a,t,i,o,l,h,y,F,te,H,re,ve,ie,Ee,Fe,ke,rt,st,at){this.route=a,this.router=t,this.afs=i,this.cdr=o,this.authService=l,this.notificationService=h,this.projectService=y,this.chatService=F,this.appConfigService=te,this.title=H,this.breakpointObserver=re,this.manageJobDialog=ve,this.customStatusesPipe=ie,this.orderService=Ee,this.ordersReadStatusService=Fe,this.tasksMessageRepositoryService=ke,this.selectedOrderDetailsComponentStore=rt,this.orderTasksService=st,this.ordersRepositoryService=at,this.unreadChats={},this.orderNotFound=!1,this.orgMembersObj$=new Pp.t(1),this.chatAttachments=[],this.modules={},this.formats=dr.VH,this.isImageUploading$=(0,Rn.of)(!1),this.showTasksMobile=!1,this.taskList$=new Ei.X([]),this.isLimitedContractorAccess$=this.authService.isLimitedContractorAccess$,this.isLimitedStaffAccess$=this.authService.isLimitedStaffAccess$,this.dataSavingStatus$=this.selectedOrderDetailsComponentStore.dataSavingStatus$,this.chatReadTs$=new Ei.X(null),this.createChatReadStatus=([kt,ot])=>{this.unreadChats=kt.reduce((Ct,Wt)=>Object.assign(Object.assign({},Ct),{[Wt.taskRef.id]:this.getTaskChatReadStatus(Wt,ot)}),{})},this.getTaskChatReadStatus=(kt,ot)=>{const Ct=ot[kt.taskRef.id];return!!kt.lastChatTs&&(!(!kt.lastChatTs||Ct)||kt.lastChatTs>Ct)},this.setActiveTask=kt=>{var ot,Ct,Wt;!kt||(null===(ot=kt.taskRef)||void 0===ot?void 0:ot.id)===(null===(Wt=null===(Ct=this.activeTask)||void 0===Ct?void 0:Ct.taskRef)||void 0===Wt?void 0:Wt.id)||(this.activeTask=kt,this.messages=void 0,this.threadedMessage=null,this._getMessages(kt.taskRef))},this.breakpointObserver.observe([$s.u3.Handset]).pipe((0,An.P)(),(0,wt.t)(this)).subscribe(kt=>{kt.matches&&(this.isMobile=!0)}),this.loadQuill()}get serviceStatuses(){var a;return(0,ge.C0F)(this.appConfigService.serviceStatuses,null===(a=this.appConfigService.localization)||void 0===a?void 0:a.language)||[]}shouldShowMessage(a){return this.chatLog?"event"===a.type:"message"===a.type||"jobTrigger"===a.type}toggleShowTasks(){this.showTasksMobile=!this.showTasksMobile}ngOnInit(){this.route.paramMap.pipe((0,wt.t)(this)).subscribe(a=>{const t=a.get("orderId");t&&(this._getOrder(t),this._loadReadStatus(t))}),this.afs.doc("organizations/root").valueChanges().pipe((0,wt.t)(this),(0,Yt.h)(a=>Boolean(a))).subscribe(a=>{var t;const i=(0,kl.Z)(null!==(t=a.members)&&void 0!==t?t:{},(o,l)=>Object.assign(Object.assign({},o),{id:l}));i.system={displayName:"Tonomo",photoURL:"/assets/icon/mo.jpg",id:"system"},this.orgMembersObj$.next(i),this.orgMembersObj=i}),this.taskId$=this.route.queryParams.pipe((0,qe.U)(({taskId:a})=>a)),this.activeTask$=(0,ln.aj)([this.taskList$,this.taskId$]).pipe((0,qe.U)(([a,t])=>(0,un.Z)(a,({taskRef:i})=>(null==i?void 0:i.id)==t)||a[0])),this.activeTask$.pipe((0,Yt.h)(Boolean),(0,wt.t)(this)).subscribe(a=>this.setActiveTask(a)),(0,ln.aj)([this.taskList$,this.chatReadTs$.pipe((0,Yt.h)(a=>Boolean(a)))]).pipe((0,wt.t)(this)).subscribe(a=>
1this.createChatReadStatus(a))}ngOnDestroy(){this.title.setTitle(this.appConfigService.title)}_getOrder(a){this.orderSubscription&&this.orderSubscription.unsubscribe(),this.activeTask=null,this.orderSubscription=this.ordersRepositoryService.getById$(a).pipe((0,wt.t)(this)).subscribe(t=>{t?(this.order=t,this.order.packages&&this.title.setTitle(this.order.packages),this.setTasksList(this.order)):this.orderNotFound=!0})}setTasksList(a){a.communication&&this.taskList$.next([Object.assign(Object.assign({},a.communication.general),{serviceId:""}),Object.assign(Object.assign({},a.communication.customer),{serviceId:""}),...(0,El.Z)((0,li.Z)(a.taskSummary||{}))])}_getMessages(a){var t;const i=this.afs.doc(a.path).collection("messages",o=>o.orderBy("ts","asc")).snapshotChanges();null===(t=this.messagesSubscription)||void 0===t||t.unsubscribe(),this.messagesSubscription=(0,ln.aj)([i,this.orgMembersObj$]).pipe((0,wt.t)(this)).subscribe(([o,l])=>(0,De.mG)(this,void 0,void 0,function*(){this.messages=o.map(y=>{const F=y.payload.doc.data();return Object.assign(Object.assign({},F),{ref:y.payload.doc.ref,uid:F.user,user:l[F.user]})}),this.displayMessages=this.messages.filter(y=>"message"===y.type).length>0;const h=yield this.route.queryParams.pipe((0,An.P)()).toPromise();if(h.thread){const y=(0,un.Z)(this.messages,F=>F.ref.id==h.thread);y&&this.loadThread(y)}this.unreadChats[a.id]=!1,this.ordersReadStatusService.upsert({orderId:this.order.id},this.notificationService.userId,{unreadChats:(0,li.Z)(this.unreadChats).some(y=>y),[a.id]:Date.now()}),setTimeout(()=>{this.scrollToBottom()},0)}))}selectActiveTask(a){var t;this.router.navigate(["."],{relativeTo:this.route,queryParams:Object.assign(Object.assign({},this.route.snapshot.queryParams),{taskId:null===(t=null==a?void 0:a.taskRef)||void 0===t?void 0:t.id})})}archiveTask({task:a}){this.projectService.archiveTask(this.order,a).then(t=>(0,De.mG)(this,void 0,void 0,function*(){this.order=Object.assign(Object.assign({},this.order),t),yield this.orderService.handleCalendarEventTemplateSync(this.order),this.cdr.detectChanges()}))}toggleUploadHover(a){this.uploadHover=a}onFileInputChange(a){const t=a.target;t.files&&this.onUploadDrop(t.files)}onUploadDrop(a){const t=[],i=["image/gif","image/jpeg","image/png"];for(let h=0;h<a.length;h++){const y=a.item(h);y&&[...i,"application/pdf"].includes(y.type)&&t.push(y)}if(!t.length)return;this.uploading=!0;const l=this.projectService.uploadFiles(t).map(h=>h.then(y=>Promise.all([y.ref.getMetadata(),y.ref.getDownloadURL()])));Promise.all(l).then(h=>{h.forEach(y=>{var F,te;const[H,re]=y;if(i.includes(H.contentType)){const ve=null===(te=null===(F=this.editor)||void 0===F?void 0:F.quillEditor)||void 0===te?void 0:te.getSelection(!0);ve&&this.insertEmbed(ve.index,re)}else this.chatAttachments.push({mimetype:H.contentType,name:H.name,link:re})}),setTimeout(()=>this.uploading=!1,800)})}removeChatAttachment(a){(0,sn.Z)(this.chatAttachments,a)}loadQuill(){this.modules={toolbar:{container:[["bold","italic","strike"],[{list:"ordered"},{list:"bullet"}],["blockquote"],["image"]],handlers:{image:()=>{this.fileUploaderInput.nativeElement.click()}}},magicUrl:!0,keyboard:{bindings:!this.isMobile&&{enter:{key:13,handler:()=>(this.submitChat(),!1)}}},mention:{allowedChars:/^[A-Za-z\s\xc5\xc4\xd6\xe5\xe4\xf6]*$/,onClose:()=>{setTimeout(()=>{this.mentionsOpen=!1},0)},source:(a,t)=>{let i=(0,Sp.Z)(this.orgMembersObj,(l,h)=>({value:l.displayName?l.displayName:"",id:h}));const o=this.appConfigService.roles.map(l=>({value:l,id:l}));if(i=[...i,...o],0===a.length)t(i,a);else{const l=[];i.forEach(h=>{-1!==h.value.toLowerCase().indexOf(a.toLowerCase())&&l.push(h)}),t(l,a)}}}}}drop(a,t){const i=a.container.data,o=a.previousContainer.data;if(i&&o){if(a.previousContainer===a.container)(0,n.bA)(i,a.previousIndex,a.currentIndex);else{(0,n.EA)(o,i,a.previousIndex,a.currentIndex);const l=i[a.currentIndex];"Archived"===a.container.id&&this.orderTasksService.archiveCustomQuestions(this.order,a.item.data.serviceId),"Archived"===a.previousContainer.id&&this.orderTasksService.unarchiveCustomQuestions(this.order,a.item.data),("Archived"===a.container.id||"Archived"===a.previousContainer.id)&&this.orderTasksService.syncCalendarEvents(this.order);const h=this.customStatusesPipe.transform(a.container.id,"service"),y=this.customStatusesPipe.transform(a.previousContainer.id,"service");this.orderTasksService.createMessage(l,h,y),this.orderTasksService.triggerJobs(this.order,l,t).then(()=>{setTimeout(()=>{this.scrollToBottom()},0)})}this.orderTasksService.upsertOrderServices(this.order)}}submitChat(){if(!this.chatInput&&!this.chatAttachments.length||this.mentionsOpen)return;let a="";if(this.chatInput&&(a=this.chatService.turndown(this.chatInput)),!a&&!this.chatAttachments.length)return;this.chatInput="";const t=U.HVf.initBatch();this.tasksMessageRepositoryService.batchedCreate({taskId:this.activeTask.taskRef.id},{type:"message",text:a,user:this.notificationService.userId,ts:Date.now(),files:[...this.chatAttachments]},t),this.chatAttachments=[],this.activeTask.lastChatTs=Date.now(),this.ordersRepositoryService.upsert(this.order.id,Object.assign({communication:this.order.communication},this.order.taskSummary&&{taskSummary:this.order.taskSummary}
1)),this.notificationService.parseMentionedMembers(a).forEach(o=>{var l;const h=(null===(l=this.order.property_address)||void 0===l?void 0:l.formatted_address)||"",y=h?` for ${h}`:"";this.notificationService.setBatchNotification(t,{userId:this.notificationService.userId,text:"individual"===o.type?`mentioned you on **${this.activeTask.name}**${y}.`:`mentioned your team on **${this.activeTask.name}**${y}.`,ts:Date.now(),snippet:a,type:"message",link:`/admin/order-management/${this.order.id}?taskId=${this.activeTask.taskRef.id}`},[o.id])}),t.commit()}createJob(a){this.manageJobDialog.openCreate(a,this.order).pipe((0,Nt.q)(1)).subscribe(t=>{var i;t&&(a.ref.update({status:`Job created by ${null===(i=this.notificationService.user)||void 0===i?void 0:i.displayName}`,jobId:t.jobId}),t.stateToMove&&this.moveActiveTask(t.stateToMove))})}moveActiveTask(a){Ip(this.order.taskSummary,t=>{t&&(0,sn.Z)(t,this.activeTask)}),this.order.taskSummary[a.value].push(this.activeTask),this.ordersRepositoryService.update(this.order.id,{taskSummary:this.order.taskSummary}),this.tasksMessageRepositoryService.create({taskId:this.activeTask.taskRef.id},{type:"message",text:`${this.activeTask.name} moved to ${a.label}.`,user:"system",ts:Date.now()})}scrollToBottom(){try{this.chatScroll.nativeElement.scrollTop=this.chatScroll.nativeElement.scrollHeight}catch(a){console.log(a)}}handleQuillCreated(a){this.isImageUploading$=this.chatService.setupImagePasteHandler(a)}sendThumbsUpNotification(a){this.notificationService.sendNotification({userId:this.notificationService.userId,text:"liked your comment.",ts:Date.now(),type:"event",link:`${window.location.pathname}?taskId=${this.activeTask.taskRef.id}`},[a.uid])}loadThread(a){var t;null===(t=this.drawer)||void 0===t||t.open(),this.threadedMessage=a,this.router.navigate([],{queryParams:{thread:a.ref.id},queryParamsHandling:"merge"})}closeThread(){this.threadedMessage=null,this.router.navigate([],{queryParams:{thread:null},queryParamsHandling:"merge"})}toggleThreadHandler(){var a;null===(a=this.drawer)||void 0===a||a.toggle()}_loadReadStatus(a){return(0,De.mG)(this,void 0,void 0,function*(){yield this.notificationService.userPromise,this.ordersReadStatusService.getById$({orderId:a},this.notificationService.userId).pipe((0,wt.t)(this)).subscribe(t=>{this.chatReadTs$.next(null!=t?t:null)})})}trackMessagesByUid(a,t){return t.ref.id}insertEmbed(a,t){this.editor.quillEditor.insertEmbed(a,"image",t,"user")}};co.\u0275fac=function(a){return new(a||co)(e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(e.ChangeDetectorRef),e.\u0275\u0275directiveInject(U.e80),e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(dr.al),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(wl.Title),e.\u0275\u0275directiveInject($s.Yg),e.\u0275\u0275directiveInject(gt.S59),e.\u0275\u0275directiveInject(gt.N$c),e.\u0275\u0275directiveInject(U.pxI),e.\u0275\u0275directiveInject(U.piE),e.\u0275\u0275directiveInject(U.XaN),e.\u0275\u0275directiveInject(bn.HU),e.\u0275\u0275directiveInject(U.e2A),e.\u0275\u0275directiveInject(U.HVf))},co.\u0275cmp=e.\u0275\u0275defineComponent({type:co,selectors:[["tn-order-details-page"]],viewQuery:function(a,t){if(1&a&&(e.\u0275\u0275viewQuery(yg,5),e.\u0275\u0275viewQuery(Ol.g6,5),e.\u0275\u0275viewQuery(xg,5),e.\u0275\u0275viewQuery(Sg,5)),2&a){let i;e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.drawer=i.first),e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.editor=i.first),e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.chatScroll=i.first),e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.fileUploaderInput=i.first)}},features:[e.\u0275\u0275ProvidersFeature([bn.HU])],decls:7,vars:2,consts:[[1,"app-v2"],["class","tc pv3 f3",4,"ngIf"],[1,"dn"],["type","file","multiple","","accept","image/*",3,"change"],["fileUploaderInput",""],[4,"ngIf"],[1,"tc","pv3","f3"],[3,"order","toggleThread","toggleShowTasks"],[1,"order-details-drawer"],["position","end","mode","side",1,"active-order-bounds","details-panel",3,"opened"],["drawer",""],["class","pa3",4,"ngIf"],[1,"order-details"],[1,"order-tasks-container",3,"ngClass"],[1,"dn-ns","tr"],["type","button","uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"click"],["hideTasksButton","btnSize"],["uiIcon","close",3,"size"],[1,"order-stages-title"],["class","project-chat",3,"project-chat--selected","click",4,"ngIf"],["uiChatDropzone","",1,"order-details-chat-container",3,"hovered","dropped"],[1,"order-details-chat-header"],[3,"disableRipple","ngModel","ngModelChange"],[1,"order-details-chat"],["class","upload-progress-bar","mode","indeterminate",4,"ngIf"],[1,"pt3","relative","flex-grow-1","overflow-y-scroll","chat-scroll","h-100"],["chatScroll",""],["class","i ph3",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","ph3",4,"ngIf"],["class","ph3 pb3 chat-editor-wrapper",4,"ngIf"],["class","upload-overlay",4,"ngIf"],[1,"pa3"],[1,"mb2","bb","b--black-10","pb2","flex","items-center"],["type","button","uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",1,"mr2",3,"click"],["closeThreadButton","btnSize"],[1,"fw6"],[3,"chatModules","userId","threadedMessage","order","activeTask","orgMembersObj"],[3,"requestStatus"],[1,"pa3","overflow-x-hidden"],[3,"orderId","tabName","disableNewView","isLimitedContractorAcce
1ss","isLimitedStaffAccess","closePanel"],[3,"order","task",4,"ngIf"],[3,"order","task"],[1,"project-chat",3,"click"],["uiIcon","chat","size","14",1,"chat-icon"],["class","unread-badge",4,"ngIf"],[1,"unread-badge"],[3,"order","activeTask","unreadChats","serviceStatuses","dropTask","selectTask","archiveTask",4,"ngIf"],[3,"order","activeTask","unreadChats","serviceStatuses","dropTask","selectTask","archiveTask"],["mode","indeterminate",1,"upload-progress-bar"],[1,"i","ph3"],[3,"message","uploadingChange","thumbsUp","showThread","jobCreate",4,"ngIf"],[3,"message","uploadingChange","thumbsUp","showThread","jobCreate"],[1,"ph3"],["class","mr2",3,"attachment","remove",4,"ngFor","ngForOf"],[1,"mr2",3,"attachment","remove"],[1,"ph3","pb3","chat-editor-wrapper"],[1,"app-v2",3,"formats","modules","ngModel","ngModelChange","onEditorCreated"],[1,"dn-ns","flex","pt1","pb3","ph2"],[1,"ml-auto","ph1",3,"ngClass","click"],["uiIcon","send",3,"size"],[1,"upload-overlay"],[1,"tc"],["uiIcon","cloud_upload",3,"size"],[1,"h3","fw6"]],template:function(a,t){1&a&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275template(1,Tg,2,0,"div",1),e.\u0275\u0275elementStart(2,"div",2)(3,"input",3,4),e.\u0275\u0275listener("change",function(o){return t.onFileInputChange(o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(5,zg,32,24,"ng-container",5),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(6,"tn-order-event-sync-dialog")),2&a&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.orderNotFound),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",t.order))},directives:[S.NgIf,Fp,Ji.kh,Ji.jA,_t.s,ht.V,mt.a,Ap.w,zs,Us.k,Ku,S.NgClass,_g,hg.x,Me.Rr,ee.JJ,ee.On,fm.pW,S.NgForOf,fg.R,vg.T,Ol.g6,Qp],pipes:[S.AsyncPipe],styles:[".order-details[_ngcontent-%COMP%]{display:flex;height:calc(100vh - 144px)}@media (max-width: 576px){.order-details[_ngcontent-%COMP%]{padding:0;-webkit-overflow-scrolling:touch;height:calc(100vh - 80px)}}.order-details-chat-container[_ngcontent-%COMP%]{position:relative;width:70%;box-sizing:content-box;background:linear-gradient(270deg,#ffffff 0%,#fafafa 100%)}@media (max-width: 576px){.order-details-chat-container[_ngcontent-%COMP%]{width:100%}}.order-details-chat-header[_ngcontent-%COMP%]{border-bottom-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;text-align:right}.order-details-chat[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:calc(100% - 49px)}.order-details-drawer[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.order-tasks-container[_ngcontent-%COMP%]{position:relative;overflow-y:auto;border-right-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-top:1rem;width:30%}@media (max-width: 576px){.order-tasks-container[_ngcontent-%COMP%]{position:absolute;display:none;height:100%;width:100%;border-width:0px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-top:1rem;z-index:8}.order-tasks-container--show[_ngcontent-%COMP%]{display:block}}.order-stages-title[_ngcontent-%COMP%]{margin-bottom:1rem;font-size:1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.project-chat[_ngcontent-%COMP%]{margin-bottom:1rem;display:flex;cursor:pointer;align-items:center;border-radius:.25rem;border-width:1px;border-color:transparent;--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));font-size:1rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1));padding:10px 13px}.project-chat--selected[_ngcontent-%COMP%]{border-color:var(--brand-50, #228BE6);background-color:var(--brand-5, #E7F5FF)}.project-chat--selected[_ngcontent-%COMP%]:hover{border-color:var(--brand-50, #228BE6)}.chat-icon[_ngcontent-%COMP%]{margin-right:.375rem;display:inline-block;color:var(--brand-50, #228BE6)}.unread-badge[_ngcontent-%COMP%]{margin-left:.375rem;display:inline-block;border-radius:.25rem;background-color:var(--brand-50, #228BE6);vertical-align:middle;width:6px;height:6px}.mat-icon-button[_ngcontent-%COMP%]{height:27px;width:27px;line-height:27px}.mat-icon-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{line-height:20px;font-size:20px;height:20px;width:20px}.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:0}
1.details-panel[_ngcontent-%COMP%]{width:400px}@media (max-width: 576px){.details-panel[_ngcontent-%COMP%]{width:100%}}.upload-progress-bar[_ngcontent-%COMP%]{flex-shrink:0;position:absolute;top:0;z-index:3}.upload-overlay[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;display:flex;justify-content:center;align-items:center;padding-bottom:110px;background-color:#ffffffb8;z-index:11;pointer-events:none}@media (max-width: 576px){.chat-editor-wrapper[_ngcontent-%COMP%]{position:fixed;bottom:0;width:100%;background-color:#fff;padding:0;border-top:1px solid #d0d0d0}.chat-scroll[_ngcontent-%COMP%]{padding-bottom:120px}mat-drawer-container[_ngcontent-%COMP%] .mat-drawer-content{overflow:hidden}}"]}),co=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[Qe.gz,Qe.F0,Mt.ST,e.ChangeDetectorRef,U.e80,U.gqp,U.Y4r,dr.al,U._ZM,wl.Title,$s.Yg,gt.S59,gt.N$c,U.pxI,U.piE,U.XaN,bn.HU,U.e2A,U.HVf])],co);var qn=_(95659),Qs=_(33251),Fr=_(5154);let Jp=(()=>{class r{constructor(t,i){this.ordersRepositoryService=t,this.authService=i,this.filter=new Ei.X(null),this.isActive=new Ei.X(!1),this.orders$=this.isActive.pipe((0,Yt.h)(Boolean),(0,St.w)(()=>(0,ln.aj)([this.ordersRepositoryService.getUnscheduledOrders(),this.filter,this.authService.isLimitedContractorAccess$])),(0,qe.U)(([o,l,h])=>{var y;if(h){const F=null===(y=this.authService.currentUser)||void 0===y?void 0:y.uid;F&&(o=o.filter(te=>{var H;return null===(H=te.members)||void 0===H?void 0:H.includes(F)}))}return l?this.filterOrders(o,l):o}),(0,Bn.O)([]),(0,Fr.d)())}initUnscheduledOrders(){this.isActive.next(!0)}setFilter(t){this.filter.next(t)}filterOrders(t,i){return i.paymentStatuses.length&&(t=t.filter(o=>i.paymentStatuses.includes(o.paymentStatus))),i.memberIds.length&&(t=t.filter(o=>i.memberIds.some(l=>o.members.includes(l)))),i.services.length&&(t=t.filter(o=>i.services.some(l=>o.services.includes(l)))),i.bookingFlows.length&&(t=t.filter(o=>{var l;return i.bookingFlows.includes(null===(l=o.bookingFlow)||void 0===l?void 0:l.id)})),t}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(U.HVf),e.\u0275\u0275inject(U.e80))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})(),Rl=(()=>{class r{constructor(t,i,o){this.authService=t,this.userSettings=i,this.appConfigService=o,this.videoManagementStoreKey="VIDEO_MANAGEMENT_COLUMNS",this.orderManagementDefaultColumns=[{value:"orderId",name:"Order ID",visible:!0,editable:!0},{value:"coverImage",name:"Cover",visible:!1,editable:!0},{value:"date",name:"Date",visible:!0,editable:!0},{value:"scheduledTime",name:"Time",visible:!1,editable:!0},{value:"appointment",name:"Appointment",visible:!1,editable:!0},{value:"orderName",name:"Order Name",visible:!0,editable:!0},{value:"client_full_name",name:"Client",visible:!0,editable:!0},{value:"pm",name:"PM",visible:!0,editable:!0},{value:"team",name:"Team",visible:!0,editable:!0},{value:"amount",name:"Amount",visible:!1,editable:!0},{value:"paymentStatus",name:"Payment Status",visible:!0,editable:!0},{value:"orderStatus",name:"Order Status",visible:!0,editable:!0},{value:"customerOrdersLink",name:"Customer Orders Link",visible:!1,editable:!0},{value:"deliverablesLink",name:"Deliverables Link",visible:!1,editable:!0},{value:"spw",name:"Property Website",visible:!1,editable:!0}],this.videoManagementDefaultColumns=[{value:"date",name:"Date",visible:!0,editable:!0},{value:"orderName",name:"Order Name",visible:!0,editable:!0},{value:"client_full_name",name:"Client",visible:!0,editable:!0},{value:"videoStatus",name:"Video Status",visible:!0,editable:!0},{value:"videoEditor",name:"Video Editor",visible:!0,editable:!0},{value:"team",name:"Team",visible:!0,editable:!0}],this.isFirstLoad=!0,this.orderPanelsState=null,this.videoPanelsState=null,this.orderManagementColumns=[],this.videoManagementColumns=[],this.ordersTableState={viewState:{accordions:{},accordionAllCollapsedState:!0},scrollPos:0,activeOrderId:""}}static getChangedColumns(t,i){return t.map(o=>o.value===i.value?Object.assign(Object.assign({},o),{visible:i.visible}):o)}static mergeColumnsWithPreferences(t,i){return t.map(o=>{const l=i.find(({value:h})=>o.value===h);return l?Object.assign(Object.assign({},o),{visible:l.visible}):o})}get isMobile(){return window.innerWidth<600}get orderManagementStoreKey(){return this.isMobile?"ORDER_MANAGEMENT_COLUMNS":"ORDER_MANAGEMENT_COLUMNS_MOBILE"}getDefaultColumns(t){const i=this.orderManagementDefaultColumns.filter(l=>!t||"amount"!==l.value);if(!this.isMobile)return i;const o=["date","client_full_name"];return i.map(l=>Object.assign(Object.assign({},l),{visible:o.includes(l.value)}))}writeColumnsInStorage(t,i){return(0,De.mG)(this,void 0,void 0,function*(){const o=i.filter(({editable:y})=>y).map(({value:y,visible:F})=>({value:y,visible:F})),l=yield this.readColumnsFromStorage(t),h=yield this.authService.user$.pipe((0,Nt.q)(1)).toPromise();l.length>0?yield this.userSettings.update({userId:h.uid},t,{columns:o}):yield this.userSettings.create({userId:h.uid},{columns:o},t)})}readColumnsFromStorage(t){return(0,De.mG)(this,void 0,void 0,function*(){const i=yield this.authService.user$.pipe((0,Nt.q)(1)).toPromise(),o=yield this.userSettings.getById({userId:i.uid}
1,t).toPromise();return(null==o?void 0:o.columns)||[]})}getInitialState(t){return t.reduce((i,{value:o})=>Object.assign(Object.assign({},i),{[o]:!1}),{})}isFirstTimeLoad(){return this.isFirstLoad}markAsLoaded(){this.isFirstLoad=!1}setPanelsState(t={}){this.ordersTableState.viewState.accordions=t;const i=Object.values(t).includes(!1);this.setAccordionAllCollapsedState(i)}setOrdersPanelsState(){const t=this.orderPanelsState||this.getInitialState(this.appConfigService.orderStatuses);this.setPanelsState(t)}setVideoPanelsState(){const t=this.videoPanelsState||this.getInitialState(this.appConfigService.videoEditingStatuses);this.setPanelsState(t)}setPanelState(t,i=!1){this.ordersTableState.viewState.accordions[t]=i;const o=Object.values(this.ordersTableState.viewState.accordions).includes(!1);this.setAccordionAllCollapsedState(o)}savePanelState(){this.orderPanelsState=this.ordersTableState.viewState.accordions}saveVideoState(t=null){this.videoPanelsState=t}setAccordionAllCollapsedState(t=!1){this.ordersTableState.viewState.accordionAllCollapsedState=t}setOrderManagementColumns(){return(0,De.mG)(this,void 0,void 0,function*(){const t=yield this.readColumnsFromStorage(this.orderManagementStoreKey),i=yield this.authService.isLimitedAccess$.pipe((0,Nt.q)(1)).toPromise();this.orderManagementColumns=r.mergeColumnsWithPreferences(this.getDefaultColumns(i),t)})}setVideoManagementColumns(){return(0,De.mG)(this,void 0,void 0,function*(){const t=yield this.readColumnsFromStorage(this.videoManagementStoreKey);this.videoManagementColumns=r.mergeColumnsWithPreferences(this.videoManagementDefaultColumns,t)})}orderManagementColumnChange(t){this.orderManagementColumns=r.getChangedColumns(this.orderManagementColumns,t),this.writeColumnsInStorage(this.orderManagementStoreKey,this.orderManagementColumns)}videoManagementColumnChange(t){this.videoManagementColumns=r.getChangedColumns(this.videoManagementColumns,t),this.writeColumnsInStorage(this.videoManagementStoreKey,this.videoManagementColumns)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(U.e80),e.\u0275\u0275inject(U._wB),e.\u0275\u0275inject(U._ZM))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})();var Ug=_(64137);const Yp="/assets/videos/order-management-promo",Xp=[{icon:"table_chart",label:"A cleaner table view.",description:"See your orders at a glance with a crisper layout and quick inline actions \u2014 no more digging through clutter.",videoUrl:`${Yp}/cleaner-table-view.mp4`},{icon:"filter_alt",label:"Smarter filters, faster search",description:"Find exactly the order you're looking for in seconds with powerful new filtering options.",videoUrl:`${Yp}/smarter-filters.mp4`},{icon:"settings",label:"Make the table your own",description:"Show, hide, and reorder columns so the table matches the way you actually work.",videoUrl:`${Yp}/customize-columns.mp4`}];let qp=(()=>{class r extends Xt.m1{constructor(){super({selectedIndex:0}),this.selectedIndex$=this.select(({selectedIndex:t})=>t),this.selectedFeature$=this.select(this.selectedIndex$,t=>Xp[t]),this.vm$=this.select(this.selectedIndex$,this.selectedFeature$,(t,i)=>({selectedIndex:t,feature:i})),this.selectFeature=this.updater((t,i)=>Object.assign(Object.assign({},t),{selectedIndex:i})),this.advanceToNextFeature=this.effect(t=>t.pipe((0,_i.M)(this.selectedIndex$),(0,Ht.b)(([,i])=>{const o=i+1;o<Xp.length&&this.selectFeature(o)})))}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})();const Wg=["videoPlayer"];function Gg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",16),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).index;return e.\u0275\u0275nextContext(2).selectFeature(l)}),e.\u0275\u0275element(1,"i",17),e.\u0275\u0275elementStart(2,"span",18),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275classProp("selected",i===o.selectedIndex),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiIcon",t.icon),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.label)}}function Kg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",6)(1,"div",7)(2,"h2",8),e.\u0275\u0275text(3," Order Management just got a glow-up \u2728 "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",9),e.\u0275\u0275template(5,Gg,4,4,"button",10),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"div",11)(7,"button",12),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().close()}),e.\u0275\u0275text(8," Got it "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",13,14),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().tryItNow()}),e.\u0275\u0275text(11," Try it now "),e.\u0275\u0275element(12,"i",15),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275reference(10),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(5),e.\u0275\u0275property("ngForOf",i.features)("ngForTrackBy",i.trackByLabel),e.\u0275\u0275advance(4),e.\u0275\u0275property("trailingIcon",!0),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",t.iconSize)}}function Zg(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"p",19),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.feature.description," ")}}let po=class{constructor(a,t){this.dialogRef=a,this.store=t,this.features=Xp,this.vm$=this.store.vm$}set videoPlayer(a){this.store.selectedFeature$.pipe((0,wt.t)(this)).subscribe(t=>this.playFeatureVideo(t,a.nativeElement))}
1selectFeature(a){this.store.selectFeature(a)}onVideoEnded(){this.store.advanceToNextFeature()}close(){this.dialogRef.close()}tryItNow(){window.open("/admin/order-management-beta","_blank"),this.dialogRef.close()}trackByLabel(a,t){return t.label}playFeatureVideo(a,t){t.src=a.videoUrl,t.play().catch(()=>{})}};po.\u0275fac=function(a){return new(a||po)(e.\u0275\u0275directiveInject(ut.so),e.\u0275\u0275directiveInject(qp))},po.\u0275cmp=e.\u0275\u0275defineComponent({type:po,selectors:[["ng-component"]],viewQuery:function(a,t){if(1&a&&e.\u0275\u0275viewQuery(Wg,7),2&a){let i;e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.videoPlayer=i.first)}},features:[e.\u0275\u0275ProvidersFeature([qp])],decls:8,vars:6,consts:[[1,"promo-dialog","flex","items-stretch"],["class","left-panel flex flex-col justify-center bg-gray-10 p-32",4,"ngIf"],[1,"right-panel","flex","flex-1","flex-col"],["muted","","playsinline","","preload","auto",1,"promo-video",3,"ended"],["videoPlayer",""],["class","promo-description flex items-center px-24 py-28",4,"ngIf"],[1,"left-panel","flex","flex-col","justify-center","bg-gray-10","p-32"],[1,"flex","flex-1","flex-col","justify-center","gap-28"],[1,"promo-title"],[1,"feature-list","flex","flex-col","gap-24"],["type","button","class","feature flex w-full items-center gap-8 rounded-lg p-12 text-left",3,"selected","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"flex","items-center","justify-between"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",3,"click"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","primary",3,"trailingIcon","click"],["tryItNowButton","btnSize"],["uiIcon","arrow_forward",3,"size"],["type","button",1,"feature","flex","w-full","items-center","gap-8","rounded-lg","p-12","text-left",3,"click"],[3,"uiIcon"],[1,"flex-1"],[1,"promo-description","flex","items-center","px-24","py-28"]],template:function(a,t){1&a&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275template(1,Kg,13,4,"div",1),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementStart(3,"div",2)(4,"video",3,4),e.\u0275\u0275listener("ended",function(){return t.onVideoEnded()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(6,Zg,2,1,"p",5),e.\u0275\u0275pipe(7,"async"),e.\u0275\u0275elementEnd()()),2&a&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(2,2,t.vm$)),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(7,4,t.vm$)))},directives:[S.NgIf,S.NgForOf,mt.a,_t.s,ht.V],pipes:[S.AsyncPipe],styles:[".promo-dialog[_ngcontent-%COMP%] .left-panel[_ngcontent-%COMP%]{flex-shrink:0;width:350px}.promo-dialog[_ngcontent-%COMP%] .promo-title[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:2rem;--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1))}.promo-dialog[_ngcontent-%COMP%] .feature[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-color:transparent;background-color:transparent;font-size:1rem;font-weight:500;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.promo-dialog[_ngcontent-%COMP%] .feature[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.promo-dialog[_ngcontent-%COMP%] .feature[_ngcontent-%COMP%]:hover{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity, 1))}.promo-dialog[_ngcontent-%COMP%] .feature.selected[_ngcontent-%COMP%]{--tw-border-opacity: 1;border-color:rgb(237 237 237 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1));--tw-shadow: 0px 2px 2px 0px rgba(0, 0, 0, .15);
1--tw-shadow-colored: 0px 2px 2px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.promo-dialog[_ngcontent-%COMP%] .feature.selected[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.promo-dialog[_ngcontent-%COMP%] .right-panel[_ngcontent-%COMP%]{min-width:0}.promo-dialog[_ngcontent-%COMP%] .promo-video[_ngcontent-%COMP%]{display:block;width:100%;border-width:4px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(246 246 246 / var(--tw-border-opacity, 1));object-fit:cover;aspect-ratio:8/5}.promo-dialog[_ngcontent-%COMP%] .promo-description[_ngcontent-%COMP%]{border-width:4px;border-top-width:0px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(246 246 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:1rem;font-weight:500;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));min-height:124px} .order-management-promo-dialog .mat-dialog-container{overflow:hidden;border-radius:1rem;padding:0}"],changeDetection:0}),po=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[ut.so,qp])],po);let Qg=(()=>{class r{constructor(t){this.dialog=t}openPromoDialog(){this.dialog.open(po,{panelClass:["app-v2","order-management-promo-dialog"],width:"1150px",maxWidth:"95vw"})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ut.uw))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-management-promo-banner"]],decls:7,vars:0,consts:[["type","button",1,"promo-banner",3,"click"],[1,"promo-tag","rounded-sm","bg-orange-50","text-white"],[1,"promo-label"],[1,"promo-label","underline"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"button",0),e.\u0275\u0275listener("click",function(){return i.openPromoDialog()}),e.\u0275\u0275elementStart(1,"span",1),e.\u0275\u0275text(2," New "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"span",2),e.\u0275\u0275text(4," Order Management "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"span",3),e.\u0275\u0275text(6," Learn more "),e.\u0275\u0275elementEnd()())},styles:["[_nghost-%COMP%]{display:inline-flex}.promo-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(237 237 237 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:4px}.promo-banner[_ngcontent-%COMP%]:hover{--tw-bg-opacity: 1;background-color:rgb(242 242 242 / var(--tw-bg-opacity, 1))}.promo-tag[_ngcontent-%COMP%]{width:-moz-fit-content;width:fit-content;font-size:.6875rem;font-weight:700;line-height:1rem;padding:0 4px}.promo-label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:600;line-height:1rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}"],changeDetection:0}),r})();var Vl=_(61409);function Jg(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",4)(1,"ui-select",5),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.filter=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"div",6),e.\u0275\u0275text(3,"contains"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",7)(5,"input",8),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.value=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"i",9),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().removeFilter(l)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("items",i.filterList)("ngModel",t.filter),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",t.value)}}let bm=(()=>{class r{constructor(){this.appliedFilters=[],this.searched=new e.EventEmitter,this.filterList=[{label:"Service",value:"services"}]}
1addFilter(){this.appliedFilters.push({filter:this.filterList[0].value,value:""})}removeFilter(t){(0,sn.Z)(this.appliedFilters,t)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-search-filter"]],inputs:{appliedFilters:"appliedFilters"},outputs:{searched:"searched"},decls:6,vars:1,consts:[["class","mb2",4,"ngFor","ngForOf"],[1,"flex"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",1,"ml-auto",3,"click"],[1,"mb2"],["size","medium","panelType","section","appearance","bordered","nameKey","label",1,"inline-block","w-256","align-middle",3,"items","ngModel","ngModelChange"],[1,"dib","mh2"],[1,"dib"],[1,"select-input",3,"ngModel","ngModelChange"],["uiIcon","delete",1,"pointer","ml2",3,"click"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,Jg,7,3,"div",0),e.\u0275\u0275elementStart(1,"div",1)(2,"button",2),e.\u0275\u0275listener("click",function(){return i.addFilter()}),e.\u0275\u0275text(3," Add filter "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"button",3),e.\u0275\u0275listener("click",function(){return i.searched.emit()}),e.\u0275\u0275text(5," Search "),e.\u0275\u0275elementEnd()()),2&t&&e.\u0275\u0275property("ngForOf",i.appliedFilters)},directives:[S.NgForOf,tn.H,ee.JJ,ee.On,ee.Fj,mt.a,_t.s,ht.V],styles:[".select-input[_ngcontent-%COMP%]{background:white;border:1px solid #cccccc;border-radius:4px;box-shadow:0 2px 2px #0000001a,0 1px 3px #00000005;display:inline-block;padding:8px;width:180px}"]}),r})();const Yg=function(r){return{"filter-bar-input-wrapper-filled":r}};let Xg=(()=>{class r{constructor(){this.valueChanged=new e.EventEmitter,this.applyValue=new e.EventEmitter}changeHandler(t){this.valueChanged.emit(t.target.value)}clearValueHandler(){this.valueChanged.emit(void 0),this.applyValue.emit()}applyValueHandler(t){this.valueChanged.emit(t.target.value),this.applyValue.emit()}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-filter-search-input"]],inputs:{value:"value",searchInputPlaceholder:"searchInputPlaceholder"},outputs:{valueChanged:"valueChanged",applyValue:"applyValue"},decls:3,vars:7,consts:[[1,"app-v2","filter-bar-input-wrapper",3,"ngClass"],[3,"value","clearable","inputClass","placeholder","change","inputCleared","keydown.enter"],["uiIcon","search",1,"input-search-icon"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"ui-input",1),e.\u0275\u0275listener("change",function(l){return i.changeHandler(l)})("inputCleared",function(){return i.clearValueHandler()})("keydown.enter",function(l){return i.applyValueHandler(l)}),e.\u0275\u0275element(2,"i",2),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(5,Yg,i.value)),e.\u0275\u0275advance(1),e.\u0275\u0275property("value",i.value)("clearable",!0)("inputClass","filter-bar-input")("placeholder",i.searchInputPlaceholder))},directives:[S.NgClass,yi.a,mt.a],styles:[".input-search-icon[_ngcontent-%COMP%]{position:absolute;font-size:1rem;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1));left:8px;top:50%;transform:translateY(-50%)}.filter-bar-input-wrapper[_ngcontent-%COMP%] .filter-bar-input{--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));font-size:.75rem;font-weight:500;height:32px;padding-left:28px;transition:color .2s ease-in-out,background-color .2s ease-in-out}.filter-bar-input-wrapper[_ngcontent-%COMP%] .filter-bar-input::placeholder{--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.filter-bar-input-wrapper[_ngcontent-%COMP%] .filter-bar-input:active, .filter-bar-input-wrapper[_ngcontent-%COMP%] .filter-bar-input:focus{--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1))}.filter-bar-input-wrapper[_ngcontent-%COMP%] .filter-bar-input:hover::placeholder{color:var(--brand-50, #228BE6)}.filter-bar-input-wrapper[_ngcontent-%COMP%] .input-search-icon[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1));transition:color .2s ease-in-out}.filter-bar-input-wrapper[_ngcontent-%COMP%]:hover .input-search-icon[_ngcontent-%COMP%]{color:var(--brand-50, #228BE6)}.filter-bar-input-wrapper-filled[_ngcontent-%COMP%] .filter-bar-input{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.filter-bar-input-wrapper-filled[_ngcontent-%COMP%] .input-search-icon[_ngcontent-%COMP%], .filter-bar-input-wrapper-filled[_ngcontent-%COMP%]:hover .input-search-icon[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}"],changeDetection:0}),r})();var em=_(91528),qg=_(12577),ca=_(71009),ym=_(92409),e_=_(42720);function t_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-menu-chips-item",1),e.\u0275\u0275listener("remove",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().removeItemHandler(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit;e.\u0275\u0275property("key",t.key)("label",t.label)}}let Ll=(()=>
1{class r{constructor(){this.remove=new e.EventEmitter,this.normalizedItems=[]}set items(t){this.normalizedItems=(null!=t?t:[]).map(i=>"string"==typeof i?{key:i,label:i}:i)}removeItemHandler(t){this.remove.emit((null==t?void 0:t.key)||t)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["ui-menu-chips"]],inputs:{items:"items"},outputs:{remove:"remove"},decls:1,vars:1,consts:[[3,"key","label","remove",4,"ngFor","ngForOf"],[3,"key","label","remove"]],template:function(t,i){1&t&&e.\u0275\u0275template(0,t_,1,2,"ui-menu-chips-item",0),2&t&&e.\u0275\u0275property("ngForOf",i.normalizedItems)},directives:[S.NgForOf,e_.U],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.25rem;gap:.25rem}"],changeDetection:0}),r})();var Js=_(42201);function n_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-filter-button",7),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("label",t.servicesPlaceholder)("matTooltip",t.tooltipMessage)("disabled",!0)}}function i_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-filter-button",8),e.\u0275\u0275listener("menuOpened",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().focusSearch()}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(),i=e.\u0275\u0275reference(4);e.\u0275\u0275property("value",t.servicesCountLabel)("label",t.servicesPlaceholder)("matMenuTriggerFor",i)}}function r_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",9),e.\u0275\u0275text(2,"Filter by"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-menu-chips",10),e.\u0275\u0275listener("remove",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().removeSelectedItemHandler(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("items",t.services)}}function o_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-menu-item",13),e.\u0275\u0275listener("changed",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).itemChangeHandler(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("name",t)("value",t)("selected",i.selectedServicesMap[t])}}function a_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",9),e.\u0275\u0275text(2,"Services"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,o_,1,3,"ui-menu-item",12),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",t)}}function s_(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",14),e.\u0275\u0275text(1,"No services found"),e.\u0275\u0275elementEnd())}function l_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,a_,4,1,"ng-container",0),e.\u0275\u0275template(2,s_,2,0,"ng-template",null,11,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.ngIf,i=e.\u0275\u0275reference(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.length>0)("ngIfElse",i)}}let c_=(()=>{class r{constructor(t){this.afs=t,this.services=[],this.disabled=!1,this.servicesPlaceholder="Service",this.servicesChanged=new e.EventEmitter,this.searchControl=new ee.NI(""),this.prohibitedServicesNames=["Project Chat"],this.selectedServicesMap={},this.queryMinLength=2}get servicesCountLabel(){return this.services.length>0?`(${this.services.length})`:""}ngOnInit(){const t=this.afs.collection("services").get().pipe((0,qe.U)(({docs:o})=>o.map(l=>{var h;return null===(h=null==l?void 0:l.data())||void 0===h?void 0:h.name}).filter(l=>!this.prohibitedServicesNames.includes(l)).sort())),i=this.searchControl.valueChanges.pipe((0,Bn.O)(""),(0,qe.U)(o=>(null!=o?o:"").trim().toLowerCase()));this.servicesList$=(0,ln.aj)([t,i]).pipe((0,qe.U)(([o,l])=>l.length<this.queryMinLength?o:o.filter(h=>h.toLowerCase().includes(l))))}ngOnChanges(t){const{services:i}=t;(null==i?void 0:i.currentValue)&&i.currentValue!==(null==i?void 0:i.previousValue)&&(this.selectedServicesMap=i.currentValue.reduce((o,l)=>Object.assign(Object.assign({},o),{[l]:!0}),{}))}focusSearch(){setTimeout(()=>{var t;return null===(t=this.panelSearch)||void 0===t?void 0:t.focus()})}menuCloseHandler(){this.searchControl.setValue("")}menuClickHandler(t){t.stopPropagation(),t.preventDefault()}itemChangeHandler({value:t,selected:i}){const o=i?[...this.services,t]:this.services.filter(l=>l!==t);this.servicesChanged.emit(o)}removeSelectedItemHandler(t){const i=this.services.filter(o=>o!==t);this.servicesChanged.emit(i)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-filter-services"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(gt.C4P,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.panelSearch=o.first)}},inputs:{services:"services",disabled:"disabled",servicesPlaceholder:"servicesPlaceholder",tooltipMessage:"tooltipMessage"},outputs:{servicesChanged:"servicesChanged"},features:[e.\u0275\u0275NgOnChangesFeature],decls:10,vars:7,consts:[[4,"ngIf","ngIfElse"],["enabledButton",""],[1,"app-v2",3,"closed"],["menu","matMenu"],[1,"menu-panel-filter",3,"click"],["placeholder","Enter a service",3,"control"],[4,"ngIf"],["icon","play_arrow",3,"label","matTooltip","disabled"],["icon","play_arrow",3,"value","label","matMenuTriggerFor","menuOpened"],[1,"menu-panel-title"],[3,"items","remove"],["noServices",""],[3,"name","value","selected","changed",4,"ngFor","ngForOf"],[3,"name","value","selected","changed"],[1,"menu-panel-empty"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,n_,2,3,"ng-container",0),e.\u0275\u0275template(1,i_,1,3,"
1ng-template",null,1,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(3,"mat-menu",2,3),e.\u0275\u0275listener("closed",function(){return i.menuCloseHandler()}),e.\u0275\u0275elementStart(5,"div",4),e.\u0275\u0275listener("click",function(l){return i.menuClickHandler(l)}),e.\u0275\u0275element(6,"ui-panel-search",5),e.\u0275\u0275template(7,r_,4,1,"ng-container",6),e.\u0275\u0275template(8,l_,4,2,"ng-container",6),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(2);e.\u0275\u0275property("ngIf",i.disabled)("ngIfElse",o),e.\u0275\u0275advance(6),e.\u0275\u0275property("control",i.searchControl),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.services.length>0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(9,5,i.servicesList$))}},directives:[S.NgIf,ca.U,Lt.gM,Ft.p6,Ft.VK,ym.C,Ll,S.NgForOf,Js.q],pipes:[S.AsyncPipe],encapsulation:2,changeDetection:0}),r})();function d_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-filter-button",3),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("label",t.membersPlaceholder)("matTooltip",t.tooltipMessage)("disabled",!0)}}function p_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-filter-button",4),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2).ngIf;return e.\u0275\u0275nextContext().showUserFilterOverlay(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("value",t.membersCountLabel)("label",t.membersPlaceholder)}}function m_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,d_,2,3,"ng-container",1),e.\u0275\u0275template(2,p_,1,2,"ng-template",null,2,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.disabled)("ngIfElse",t)}}function u_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,m_,4,2,"ng-container",0),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t)}}let g_=(()=>{class r{constructor(t,i,o,l){this.overlayPositionBuilder=t,this.elementRef=i,this.overlay=o,this.afs=l,this.memberIds=[],this.disabled=!1,this.roles=[],this.membersPlaceholder="Team Members",this.membersChanged=new e.EventEmitter,this.extendMembers=h=>{var y;const F=this.extendMembersWithUnassigned(this.keyMembersById(null!==(y=null==h?void 0:h.members)&&void 0!==y?y:{}));return this.extendMembersWithGroups(F)},this.handleMemberAssign=(h,y)=>{this.detachSubscription(),!h.includes(y)&&this.setMembers([...h,y])},this.handleMemberUnassign=(h,y)=>{this.detachSubscription(),(0,sn.Z)(h,y),this.setMembers(h)},this.detachSubscription=()=>{var h,y;this.overlayRef.detach(),null===(h=this.unassignSubscription)||void 0===h||h.unsubscribe(),null===(y=this.assignSubscription)||void 0===y||y.unsubscribe()}}get membersCountLabel(){return this.memberIds.length>0?`(${this.memberIds.length})`:""}ngOnInit(){this.membersObj$=this.afs.doc("organizations/root").valueChanges().pipe((0,qe.U)(this.extendMembers)),this.initOverlay()}initOverlay(){const t=this.overlayPositionBuilder.flexibleConnectedTo(this.elementRef).withPositions(xl.h);this.overlayRef=this.overlay.create({width:"240px",positionStrategy:t,hasBackdrop:!0,backdropClass:"cdk-overlay-transparent-backdrop"})}keyMembersById(t){return(0,kl.Z)(t,(i,o)=>Object.assign(Object.assign({},i),{id:o}))}extendMembersWithUnassigned(t){return Object.assign({none:{displayName:"Unassigned",email:void 0,photoURL:"",id:"none"}},t)}extendMembersWithGroups(t){if(this.showGroups){const i=this.roles.reduce((o,l)=>Object.assign(Object.assign({},o),{[l]:{displayName:l,email:void 0,photoURL:"",id:l}}),{});return Object.assign(Object.assign({},t),i)}return t}showUserFilterOverlay(t){const i=new Cl.C5(yl.b),o=this.overlayRef.attach(i),l=this.memberIds.map(y=>
1t[y]).filter(Boolean);let h=(0,li.Z)(t);h=(0,Ns.Z)(h,"displayName"),o.instance.organizationMembers=h,o.instance.currentMembers=l,this.assignSubscription=o.instance.memberAssign.subscribe(y=>{this.handleMemberAssign(l,y)}),this.unassignSubscription=o.instance.memberUnassign.subscribe(y=>{this.handleMemberUnassign(l,y)}),this.overlayRef.backdropClick().subscribe(this.detachSubscription)}setMembers(t){const i=t.map(o=>null==o?void 0:o.id).filter(Boolean);this.membersChanged.emit(i)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(A.wJ),e.\u0275\u0275directiveInject(e.ElementRef),e.\u0275\u0275directiveInject(A.aV),e.\u0275\u0275directiveInject(Mt.ST))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["ui-filter-members"]],inputs:{memberIds:"memberIds",disabled:"disabled",showGroups:"showGroups",tooltipMessage:"tooltipMessage",roles:"roles",membersPlaceholder:"membersPlaceholder"},outputs:{membersChanged:"membersChanged"},decls:2,vars:3,consts:[[4,"ngIf"],[4,"ngIf","ngIfElse"],["enabledButton",""],["icon","person",3,"label","matTooltip","disabled"],["icon","person",3,"value","label","click"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,u_,2,1,"ng-container",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.membersObj$))},directives:[S.NgIf,ca.U,Lt.gM],pipes:[S.AsyncPipe],encapsulation:2,changeDetection:0}),r})();function __(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-filter-button",6),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("label",t.itemsPlaceholder)("matTooltip",t.tooltipMessage)("disabled",!0)}}function h_(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-filter-button",7),2&r){const t=e.\u0275\u0275nextContext(),i=e.\u0275\u0275reference(4);e.\u0275\u0275property("value",t.itemsCount)("label",t.itemsPlaceholder)("matMenuTriggerFor",i)}}function f_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",8),e.\u0275\u0275text(2,"Filter by"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-menu-chips",9),e.\u0275\u0275listener("remove",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().removeSelectedItemHandler(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("items",t.getSelectedBookingFlowItems())}}function v_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-menu-item",12),e.\u0275\u0275listener("changed",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).itemChangeHandler(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("name",t.name)("value",t.id)("selected",i.selectedItemsMap[t.id])}}function C_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",8),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,v_,1,3,"ui-menu-item",11),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext().ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(i.itemsPlaceholder),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t)}}function b_(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",13),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("No ",t.itemsPlaceholder," found")}}function y_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,C_,4,2,"ng-container",0),e.\u0275\u0275template(2,b_,2,1,"ng-template",null,10,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.ngIf,i=e.\u0275\u0275reference(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.length>0)("ngIfElse",i)}}let x_=(()=>{class r extends gt.Bhc{constructor(t){super(t)}ngOnInit(){this.items$=this.afs.collection("bookingFlow").get().pipe((0,qe.U)(({docs:t})=>t.map(i=>Object.assign(Object.assign({},i.data()),{id:i.id})).sort((i,o)=>i.name.localeCompare(o.name))),(0,Ht.b)(t=>{this.itemsList=t}))}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-filter-booking-flow"]],features:[e.\u0275\u0275InheritDefinitionFeature],decls:9,vars:6,consts:[[4,"ngIf","ngIfElse"],["enabledButton",""],[1,"app-v2"],["menu","matMenu"],[1,"menu-panel-filter",3,"click"],[4,"ngIf"],["icon","linear_scale",3,"label","matTooltip","disabled"],["icon","linear_scale",3,"value","label","matMenuTriggerFor"],[1,"menu-panel-title"],[3,"items","remove"],["noItems",""],[3,"name","value","selected","changed",4,"ngFor","ngForOf"],[3,"name","value","selected","changed"],[1,"menu-panel-empty"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,__,2,3,"ng-container",0),e.\u0275\u0275template(1,h_,1,3,"ng-template",null,1,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(3,"mat-menu",2,3)(5,"div",4),e.\u0275\u0275listener("click",function(l){return i.menuClickHandler(l)}),e.\u0275\u0275template(6,f_,4,1,"ng-container",5),e.\u0275\u0275template(7,y_,4,2,"ng-container",5),e.\u0275\u0275pipe(8,"async"),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(2);e.\u0275\u0275property("ngIf",i.disabled)("ngIfElse",o),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",i.items.length>0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(8,4,i.items$))}},directives:[S.NgIf,ca.U,Lt.gM,Ft.p6,Ft.VK,Ll,S.NgForOf,Js.q],pipes:[S.AsyncPipe],encapsulation:2,changeDetection:0}),r})();function S_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-filter-button",7),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("icon",t.iconClass)("label",t.statusesPlaceholder)("disabled",!0)("matTooltip",t.disabledTooltipMessage)}}function T_(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-filter-button",8),2&r){const t=e.\u0275\u0275nextContext(),i=e.\u0275\u0275reference(4);e.\u0275\u0275property("icon",t.iconClass)("value",t.statusesCountLabel)("label",t.statusesPlaceholder)("matMenuTriggerFor",i)}}function w_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",9),e.\u0275\u0275text(2,"Filter by"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-menu-chips",10),e.\u0275\u0275listener("remove",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().removeSelectedItemHandler(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("items",t.getSelectedStatusItems())}}function k_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-menu-item",12),e.\u0275\u0275listener("changed",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).itemChangeHandler(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("name",t.label)("value",t.key)("selected",i.selectedStatusesMap[t.key])}}function E_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",9),e.\u0275\u0275text(2,"Status"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,k_,1,3,"ui-menu-item",11),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",t.statusOptions)}}function O_(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",13),e.\u0275\u0275text(1,"No statuses found"),e.\u0275\u0275elementEnd())}let I_=(()=>
1{class r{constructor(){this.statuses=[],this.statusOptions=[],this.disabled=!1,this.statusesPlaceholder="Status",this.iconClass="play_arrow",this.disabledTooltipMessage="",this.statusesChanged=new e.EventEmitter,this.selectedStatusesMap={}}get statusesCountLabel(){return this.statuses.length>0?`(${this.statuses.length})`:""}ngOnChanges(t){const{statuses:i}=t;(null==i?void 0:i.currentValue)&&i.currentValue!==(null==i?void 0:i.previousValue)&&(this.selectedStatusesMap=i.currentValue.reduce((o,l)=>Object.assign(Object.assign({},o),{[l]:!0}),{}))}getSelectedStatusItems(){return this.statusOptions.filter(t=>this.selectedStatusesMap[t.key])}removeSelectedItemHandler(t){const i=this.statuses.filter(o=>o!==t);this.statusesChanged.emit(i)}menuClickHandler(t){t.stopPropagation(),t.preventDefault()}itemChangeHandler({value:t,selected:i}){const o=i?[...this.statuses,t]:this.statuses.filter(l=>l!==t);this.statusesChanged.emit(o)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-filter-statuses"]],inputs:{statuses:"statuses",statusOptions:"statusOptions",disabled:"disabled",statusesPlaceholder:"statusesPlaceholder",iconClass:"iconClass",disabledTooltipMessage:"disabledTooltipMessage"},outputs:{statusesChanged:"statusesChanged"},features:[e.\u0275\u0275NgOnChangesFeature],decls:10,vars:5,consts:[[4,"ngIf","ngIfElse"],["enabledButton",""],[1,"app-v2"],["menu","matMenu"],[1,"menu-panel-filter",3,"click"],[4,"ngIf"],["noStatuses",""],[3,"icon","label","disabled","matTooltip"],[3,"icon","value","label","matMenuTriggerFor"],[1,"menu-panel-title"],[3,"items","remove"],[3,"name","value","selected","changed",4,"ngFor","ngForOf"],[3,"name","value","selected","changed"],[1,"menu-panel-empty"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,S_,2,4,"ng-container",0),e.\u0275\u0275template(1,T_,1,4,"ng-template",null,1,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(3,"mat-menu",2,3)(5,"div",4),e.\u0275\u0275listener("click",function(l){return i.menuClickHandler(l)}),e.\u0275\u0275template(6,w_,4,1,"ng-container",5),e.\u0275\u0275template(7,E_,4,1,"ng-container",0),e.\u0275\u0275template(8,O_,2,0,"ng-template",null,6,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(2),l=e.\u0275\u0275reference(9);e.\u0275\u0275property("ngIf",i.disabled)("ngIfElse",o),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",i.statuses.length>0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.statusOptions.length>0)("ngIfElse",l)}},directives:[S.NgIf,ca.U,Lt.gM,Ft.p6,Ft.VK,Ll,S.NgForOf,Js.q],encapsulation:2,changeDetection:0}),r})();function D_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-filter-button",7),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("label",t.couponsPlaceholder)("matTooltip",t.tooltipMessage)("disabled",!0)}}function M_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-filter-button",8),e.\u0275\u0275listener("menuOpened",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().focusSearch()}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(),i=e.\u0275\u0275reference(4);e.\u0275\u0275property("value",t.couponsCountLabel)("label",t.couponsPlaceholder)("matMenuTriggerFor",i)}}function P_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",9),e.\u0275\u0275text(2,"Filter by"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-menu-chips",10),e.\u0275\u0275listener("remove",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().removeSelectedCouponHandler(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("items",t.coupons)}}function F_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-menu-item",13),e.\u0275\u0275listener("changed",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).couponChangeHandler(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("name",t)("value",t)("selected",i.selectedCouponsMap[t])}}function A_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",9),e.\u0275\u0275text(2,"Coupons"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,F_,1,3,"ui-menu-item",12),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",t)}}function B_(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",14),e.\u0275\u0275text(1,"No coupons foun
1d"),e.\u0275\u0275elementEnd())}function j_(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,A_,4,1,"ng-container",0),e.\u0275\u0275template(2,B_,2,0,"ng-template",null,11,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.ngIf,i=e.\u0275\u0275reference(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.length>0)("ngIfElse",i)}}let R_=(()=>{class r{constructor(t){this.afs=t,this.coupons=[],this.disabled=!1,this.couponsPlaceholder="Coupon",this.couponsChanged=new e.EventEmitter,this.searchControl=new ee.NI(""),this.selectedCouponsMap={},this.queryMinLength=2}get couponsCountLabel(){return this.coupons.length>0?`(${this.coupons.length})`:""}ngOnInit(){const t=this.afs.collection("coupons").get().pipe((0,qe.U)(({docs:o})=>o.map(l=>{var h;return null===(h=null==l?void 0:l.data())||void 0===h?void 0:h.code}).sort())),i=this.searchControl.valueChanges.pipe((0,Bn.O)(""),(0,qe.U)(o=>(null!=o?o:"").trim().toLowerCase()));this.couponsList$=(0,ln.aj)([t,i]).pipe((0,qe.U)(([o,l])=>l.length<this.queryMinLength?o:o.filter(h=>h.toLowerCase().includes(l))))}ngOnChanges(t){const{coupons:i}=t;(null==i?void 0:i.currentValue)&&i.currentValue!==(null==i?void 0:i.previousValue)&&(this.selectedCouponsMap=i.currentValue.reduce((o,l)=>Object.assign(Object.assign({},o),{[l]:!0}),{}))}focusSearch(){setTimeout(()=>{var t;return null===(t=this.panelSearch)||void 0===t?void 0:t.focus()})}menuCloseHandler(){this.searchControl.setValue("")}menuClickHandler(t){t.stopPropagation(),t.preventDefault()}couponChangeHandler({value:t,selected:i}){const o=i?[...this.coupons,t]:this.coupons.filter(l=>l!==t);this.couponsChanged.emit(o)}removeSelectedCouponHandler(t){const i=this.coupons.filter(o=>o!==t);this.couponsChanged.emit(i)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-filter-coupons"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(gt.C4P,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.panelSearch=o.first)}},inputs:{coupons:"coupons",disabled:"disabled",couponsPlaceholder:"couponsPlaceholder",tooltipMessage:"tooltipMessage"},outputs:{couponsChanged:"couponsChanged"},features:[e.\u0275\u0275NgOnChangesFeature],decls:10,vars:8,consts:[[4,"ngIf","ngIfElse"],["enabledButton",""],[1,"app-v2",3,"closed"],["menu","matMenu"],[1,"menu-panel-filter",3,"click"],[3,"control","placeholder"],[4,"ngIf"],["icon","confirmation_number",3,"label","matTooltip","disabled"],["icon","confirmation_number",3,"value","label","matMenuTriggerFor","menuOpened"],[1,"menu-panel-title"],[3,"items","remove"],["noCoupons",""],[3,"name","value","selected","changed",4,"ngFor","ngForOf"],[3,"name","value","selected","changed"],[1,"menu-panel-empty"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,D_,2,3,"ng-container",0),e.\u0275\u0275template(1,M_,1,3,"ng-template",null,1,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(3,"mat-menu",2,3),e.\u0275\u0275listener("closed",function(){return i.menuCloseHandler()}),e.\u0275\u0275elementStart(5,"div",4),e.\u0275\u0275listener("click",function(l){return i.menuClickHandler(l)}),e.\u0275\u0275element(6,"ui-panel-search",5),e.\u0275\u0275template(7,P_,4,1,"ng-container",6),e.\u0275\u0275template(8,j_,4,2,"ng-container",6),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(2);e.\u0275\u0275property("ngIf",i.disabled)("ngIfElse",o),e.\u0275\u0275advance(6),e.\u0275\u0275property("control",i.searchControl)("placeholder",i.couponsPlaceholder),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==i.coupons?null:i.coupons.length),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(9,6,i.couponsList$))}},directives:[S.NgIf,ca.U,Lt.gM,Ft.p6,Ft.VK,ym.C,Ll,S.NgForOf,Js.q],pipes:[S.AsyncPipe],encapsulation:2,changeDetection:0}),r})();function V_(r,a){if(1&r&&e.\u0275\u0275element(0,"i",17),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("size",16)("matTooltip",t.hint)}}function L_(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-option-content",15),e.\u0275\u0275template(1,V_,1,2,"i",16),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275property("label",t.name),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.hint)}}const da=function(){return[]};function N_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-filter-services",18),e.\u0275\u0275listener("servicesChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({services:o})}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275property("services",null!==(i=null==t.filterObject?null:t.filterObject.services)&&void 0!==i?i:e.\u0275\u0275pureFunction0(3,da))("disabled",!(null==t.filterObject||null==t.filterObject.memberIds||!t.filterObject.memberIds.length)||!(null==t.filterObject||null==t.filterObject.bookingFlows||!t.filterObject.bookingFlows.length)||!(null==t.filterObject||null==t.filterObject.paymentStatuses||!t.filterObject.paymentStatuses.length))("tooltipMessage",t.disabledFiltersMessage)}}function $_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-filter-members",19),e.\u0275\u0275listener("membersChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({memberIds:o})}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275property("showGroups",t.showGroups)("memberIds",null!==(i=null==t.filterObject?null:t.filterObject.memberIds)&&void 0!==i?i:e.\u0275\u0275pureFunction0(5,da))("disabled",!(null==t.filterObject||null==t.filterObject.services||!t.filterObject.services.length)||!(null==t.filterObject||null==t.filterObject.bookingFlows||!t.filterObject.bookingFlows.length)||!(null==t.filterObject||null==t.filterObject.paymentStatuses||!t.filterObject.paymentStatuses.length))("tooltipMessage",t.disabledFiltersMessage)("roles",t.appRoles)}}function z_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-filter-booking-flow",20),e.\u0275\u0275listener("itemsChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({bookingFlows:o})}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275property("itemsPlaceholder","Booking Flows")("items",null!==(i=null==t.filterObject?null:t.filterObject.bookingFlows)&&void 0!==i?i:e.\u0275\u0275pureFunction0(4,da))("tooltipMessage",t.disabledFiltersMessage)("disabled",!(null==t.filterObject||null==t.filterObject.services||!t.filterObject.services.length)||!(null==t.filterObject||null==t.filterObject.memberIds||!t.filterObject.memberIds.length)||!(null==t.filterObject||null==t.filterObject.paymentStatuses||!t.filterObject.paymentStatuses.length))}}function U_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-filter-statuses",21),e.\u0275\u0275listener("statusesChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({orderStatuses:o})}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275property("statuses",null!==(i=null==t.filterObject?null:t.filterObject.orderStatuses)&&void 0!==i?i:e.\u0275\u0275pureFunction0(2,da))("statusOptions",t.orderStatusOptions)}}function H_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-filter-statuses",22),e.\u0275\u0275listener("statusesChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({paymentStatuses:o})}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275property("statuses",null!==(i=null==t.filterObject?null:t.filterObject.paymentStatuses)&&void 0!==i?i:e.\u0275\u0275pureFunction0(4,da))("statusOptions",t.paymentStatusOptions)("disabledTooltipMessage",t.disabledFiltersMessage)("disabled",!(null==t.filterObject||null==t.filterObject.services||!t.filterObject.services.length)||!(null==t.filterObject||null==t.filterObject.memberIds||!t.filterObject.memberIds.length)||!(null==t.filterObject||null==t.filterObject.bookingFlows||!t.filterObject.bookingFlows.length))}}function W_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-filter-coupons",23),e.\u0275\u0275listener("couponsChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({coupons:o})}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275property("coupons",null!==(i=null==t.filterObject?null:t.filterObject.coupons)&&void 0!==i?i:e.\u0275\u0275pureFunction0(1,da))}}function G_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-slide-toggle",24),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({tipOnlyReport:o.checked})}),e.\u0275\u0275text(1,"Filter by tips "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("disableRipple",!0)("checked",null==t.filterObject?null:t.filterObject.tipOnlyReport)}}function K_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-slide-toggle",24),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({escalatedOrders:o.checked})}),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("disableRipple",!0)("checked",null==t.filterObject?null:t.filterObject.escalatedOrders),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",t.escalatedOrdersLabel," ")}}function Z_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-slide-toggle",24),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({ordersWithCompletedTasksOnly:o.checked})}),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("disableRipple",!0)("checked",null==t.filterObject?null:t.filterObject.ordersWithCompletedTasksOnly),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",t.completedTasksLabel," ")}}function Q_(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",25)(1,"tn-search-filter",26),e.\u0275\u0275listener("searched",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().applyFilters({})}),e.\u0275\u0275elementEnd()()}}const xm={memberIds:[],services:[],bookingFlows:[],orderStatuses:[],paymentStatuses:[],dates:null,search:"",coupons:[],ordersWithCompletedTasksOnly:!1,escalatedOrders:!1,dateOption:"mostRecent"};let Nl=(()=>
1{class r{constructor(t){var i,o;this.appConfigService=t,this.options={},this.searchInputPlaceholder="Search orders",this.completedTasksLabel="Completed Tasks",this.isLimitedContractorAccess=!1,this.showCompletedTaskToggle=!1,this.showEscalatedOrders=!1,this.showDueDateOption=!1,this.showDeliveredDateOption=!1,this.filterObjectChange=new e.EventEmitter,this._filterObject=Object.assign({},xm),this.disabledFiltersMessage="You can use only one filter from this list at the same time: Service, Team member or Booking flow, Payment Status.",this.escalatedOrdersLabel="Escalated Orders",this.orderStatusOptions=(0,ge.C0F)(this.appConfigService.orderStatuses,null===(i=this.appConfigService.localization)||void 0===i?void 0:i.language).map(l=>({label:l.label,key:l.value})),this.paymentStatusOptions=(0,ge.C0F)(this.appConfigService.paymentStatuses,null===(o=this.appConfigService.localization)||void 0===o?void 0:o.language).map(l=>({label:l.label,key:l.value})),this.dateOptions=[]}set filterObject(t){t&&(this._filterObject=Object.assign(Object.assign({},this._filterObject),t))}get filterObject(){return this._filterObject}get appRoles(){return this.appConfigService.roles}ngOnInit(){this.dateOptions=[{name:"Most recent",value:Vl.p1.Recent},{name:"Scheduled date",value:Vl.p1.Scheduled}],this.showDeliveredDateOption&&this.dateOptions.push({name:"Delivered date",value:Vl.p1.Delivered,hint:"The date when an order was first delivered with at least one file."}),this.showDueDateOption&&this.dateOptions.push({name:"Due date",value:Vl.p1.Due})}clearFilters(){this.applyFilters(xm)}applyFilters(t){var i,o;"Invalid Date"!=(null===(o=null===(i=null==t?void 0:t.dates)||void 0===i?void 0:i.endDate)||void 0===o?void 0:o._d)&&(this.options.showAdvancedFilters&&(t=Object.assign(Object.assign({},t),{advancedFilters:this.searchFilterComponent.appliedFilters})),this.filterObjectChange.emit(Object.assign(Object.assign({},this.filterObject),t)))}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U._ZM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-filter-bar"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(bm,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.searchFilterComponent=o.first)}},inputs:{options:"options",searchInputPlaceholder:"searchInputPlaceholder",completedTasksLabel:"completedTasksLabel",filterObject:"filterObject",isLimitedContractorAccess:"isLimitedContractorAccess",showGroups:"showGroups",showCompletedTaskToggle:"showCompletedTaskToggle",showEscalatedOrders:"showEscalatedOrders",showDueDateOption:"showDueDateOption",showDeliveredDateOption:"showDeliveredDateOption"},outputs:{filterObjectChange:"filterObjectChange"},decls:18,vars:15,consts:[[1,"app-v2","mt3","mb2"],[1,"flex","sm:items-center","flex-wrap","gap-8"],[3,"value","searchInputPlaceholder","valueChanged"],["panelType","section",1,"select",3,"items","value","selectionChange"],["optionTmpl",""],[3,"dates","datesChanged"],[3,"services","disabled","tooltipMessage","servicesChanged",4,"ngIf"],[3,"showGroups","memberIds","disabled","tooltipMessage","roles","membersChanged",4,"ngIf"],[3,"itemsPlaceholder","items","tooltipMessage","disabled","itemsChanged",4,"ngIf"],["statusesPlaceholder","Order Status","iconClass","drive_file_move",3,"statuses","statusOptions","statusesChanged",4,"ngIf"],["statusesPlaceholder","Payment Status","iconClass","local_atm",3,"statuses","statusOptions","disabledTooltipMessage","disabled","statusesChanged",4,"ngIf"],[3,"coupons","couponsChanged",4,"ngIf"],[3,"disableRipple","checked","change",4,"ngIf"],["label","Clear all",3,"click"],["class","mb2",4,"ngIf"],[3,"label"],["uiOptionTrailing","","uiIcon","info","matTooltipPosition","right",3,"size","matTooltip",4,"ngIf"],["uiOptionTrailing","","uiIcon","info","matTooltipPosition","right",3,"size","matTooltip"],[3,"services","disabled","tooltipMessage","servicesChanged"],[3,"showGroups","memberIds","disabled","tooltipMessage","roles","membersChanged"],[3,"itemsPlaceholder","items","tooltipMessage","disabled","itemsChanged"],["statusesPlaceholder","Order Status","iconClass","drive_file_move",3,"statuses","statusOptions","statusesChanged"],["statusesPlaceholder","Payment Status","iconClass","local_atm",3,"statuses","statusOptions","disabledTooltipMessage","disabled","statusesChanged"],[3,"coupons","couponsChanged"],[3,"disableRipple","checked","change"],[1,"mb2"],[3,"searched"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"tn-filter-search-input",2),e.\u0275\u0275listener("valueChanged",function(l){return i.applyFilters({search:l})}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-select",3),e.\u0275\u0275listener("selectionChange",function(l){return i.applyFilters({dateOption:l})}),e.\u0275\u0275template(4,L_,2,2,"ng-template",null,4,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"ui-filter-dates",5),e.\u0275\u0275listener("datesChanged",function(l){return i.applyFilters({dates:l})}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,N_,1,4,"tn-filter-services",6),e.\u0275\u0275template(8,$_,1,6,"ui-filter-members",7),e.\u0275\u0275template(9,z_,1,5,"tn-filter-booking-flow",8),e.\u0275\u0275template(10,U_,1,3,"tn-filter-statuses",9),e.\u0275\u0275template(11,H_,1,5,"tn-filter-statuses",10),e.\u0275\u0275template(12,W_,1,2,"tn-filter-coupons",11),e.\u0275\u0275template(13,G_,2,2,"mat-slide-toggle",12),e.\u0275\u0275template(14,K_,2,3,"mat-slide-toggle",12),e.\u0275\u0275template(15,Z_,2,3,"mat-slide-toggle",12),e.\u0275\u0275elementStart(16,"ui-filter-button",13),e.\u0275\u0275listener("click",function(){return i.clearFilters()}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(17,Q_,2,0,"div",14)),2&t){let o;e.\u0275\u0275advance(2),e.\u0275\u0275property("value",null!==(o=null==i.filterObject?null:i.filterObject.search)&&void 0!==o?o:"")("searchInputPlaceholder",i.searchInputPlaceholder),e.\u0275\u0275advance(1),e.\u0275\u0275property("items",i.dateOptions)("value",null==i.filterObject?null:i.filterObject.dateOption),e.\u0275\u0275advance(3),e.\u0275\u0275property("dates",null==i.filterObject?null:i.filterObject.dates),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.options.enableServices),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isLimitedContractorAcce
1ss),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.options.enableBookingFlows),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.options.enableOrderStatuses),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.options.enablePaymentStatuses),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.options.enableCoupons),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.options.enableTipFilter),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.showEscalatedOrders),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.showCompletedTaskToggle),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.options.showAdvancedFilters)}},directives:[Xg,tn.H,em.J,S.NgIf,mt.a,Lt.gM,qg.T,c_,g_,x_,I_,R_,Me.Rr,ca.U,bm],styles:["[_nghost-%COMP%] .ng2-tag-input{border:0;border-radius:0}[_nghost-%COMP%] .ng2-tag-input input{background-color:transparent}[_nghost-%COMP%] .select{--ui-select-field-height: 32px}[_nghost-%COMP%] .select ui-form-input-group{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}tag-input[_ngcontent-%COMP%]{padding-bottom:9px}"]}),r})();function J_(r,a){1&r&&(e.\u0275\u0275elementStart(0,"span"),e.\u0275\u0275text(1,"Orders "),e.\u0275\u0275elementEnd())}const Y_=function(r){return["title",r]};let tm=(()=>{class r{constructor(){this.type="",this.count=0,this.addOrdersPostfix=!1}get typeCssClass(){return this.type.replace(/([A-Z])/g," $1").toLowerCase().split(" ").filter(Boolean).join("-")}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-orders-accordion-header-title"]],inputs:{type:"type",label:"label",count:"count",addOrdersPostfix:"addOrdersPostfix"},decls:4,vars:6,consts:[[3,"ngClass"],[4,"ngIf"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"span",0),e.\u0275\u0275text(1),e.\u0275\u0275template(2,J_,2,0,"span",1),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(4,Y_,i.typeCssClass)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",i.label," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.addOrdersPostfix),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("- ",i.count,"\n"))},directives:[S.NgClass,S.NgIf],styles:['.title[_ngcontent-%COMP%]{position:relative;margin-left:1.25rem;display:block}.title[_ngcontent-%COMP%]:before{position:absolute;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(173 181 189 / var(--tw-bg-opacity, 1));content:"";top:50%;left:-28px;width:16px;height:16px;transform:translateY(-50%)}.title.in-progress[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(34 139 230 / var(--tw-bg-opacity, 1))}.title.done[_ngcontent-%COMP%]:before, .title.complete[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(12 166 120 / var(--tw-bg-opacity, 1))}.title.revision-cycle-1[_ngcontent-%COMP%]:before, .title.revision-cycle-2[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(253 126 20 / var(--tw-bg-opacity, 1))}.title.postponed[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(245 159 0 / var(--tw-bg-opacity, 1))}.title.cancelled[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(250 82 82 / var(--tw-bg-opacity, 1))}'],changeDetection:0}),r})();const q_=function X_(r,a){for(var t=-1,i=null==r?0:r.length;++t<i;)if(!a(r[t],t,r))return!1;return!0};var eh=_(61082);const nh=function th(r,a){var t=!0;return(0,eh.Z)(r,function(i,o,l){return t=!!a(i,o,l)}),t};var ih=_(67242),rh=_(14177),oh=_(74810);function lh(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-menu-item",8),e.\u0275\u0275listener("changed",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().menuItemChangeHandler(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit;e.\u0275\u0275property("name",t.name)("value",t.value)("selected",t.visible)}}let ch=(()=>{class r{constructor(){this.changed=new e.EventEmitter,this.isMenuOpened=!1,this.editableColumns=[]}set columns(t){this.editableColumns=t.filter(({editable:i})=>i)}menuButtonClickHandler(){this.isMenuOpened=!0}menuClickHandler(t){t.stopPropagation(),t.preventDefault()}menuCloseHandler(){this.isMenuOpened=!1}trackByValue(t,i){return i.value}menuItemChangeHandler(t){this.changed.emit({value:t.value,visible:t.selected})}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-column-manager"]],inputs:{columns:"columns"},outputs:{changed:"changed"},decls:9,vars:5,consts:[["matTooltip","Edit columns","uiBtnSize","x-small","iconOnly","","themeMode","text",3,"matMenuTriggerFor","uiBtnTheme","click"],["columnManagerButton","btnSize"],["uiIcon","add",3,"size"],[1,"app-v2",3,"closed"],["menu","matMenu"],[1,"column-manager-content",3,"click"],[1,"pt-12","pb-8","px-2"],[3,"name","value","selected","changed",4,"ngFor","ngForOf","ngForTrackBy"],[3,"name","value","selected","changed"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"button",0,1),e.\u0275\u0275listener("click",function(){return i.menuButtonClickHandler()}),e.\u0275\u0275element(2,"i",2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-menu",3,4),e.\u0275\u0275listener("closed",function(){return i.menuCloseHandler()}),e.\u0275\u0275elementStart(5,"div",5),e.\u0275\u0275listener("click",function(l){return i.menuClickHandler(l)}),e.\u0275\u0275elementStart(6,"div",6),e.\u0275\u0275text(7,"Columns"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(8,lh,1,3,"ui-menu-item",7),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(1),l=e.\u0275\u0275reference(4);e.\u0275\u0275property("matMenuTriggerFor",l)("uiBtnTheme",i.isMenuOpened?"main":"setting"),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngForOf",i.editableColumns)("ngForTrackBy",i.trackByValue)}},directives:[Lt.gM,_t.s,Ft.p6,ht.V,mt.a,Ft.VK,S.NgForOf,Js.q],styles:[".column-manager-content[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));min-width:230px}"],changeDetection:0}),r})();const dh=ge.lvo.MONTH_DAY,ph=ge.lvo.US_NUMERIC_DATE_2Y,mh=ge.lvo.MONTH_DAY_TIME_PADDED;function uh(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span",2),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"dayjsDateFormat"),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275property("ngClass",null!==(i=null==t.dueDateDisplayOptions?null:t.dueDateDisplayOptions.color)&&void 0!==i?i:""),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Due ",e.\u0275\u0275pipeBind4(2,3,t.deadline,t.dateTimeFormat,t.appConfigService.timeZone,!0)," (",null==t.dueDateDisplayOptions?null:t.dueDateDisplayOptions.label,") ")}}let gh=(()=>
1{class r{constructor(t,i,o){this.dateFormatService=t,this.dueDateFormatService=i,this.appConfigService=o,this.showYear=!1,this.dueDateCode=0,this.dateFormat=this.dateFormatService.getDateFormatByLocale(dh),this.dateYearFormat=this.dateFormatService.getDateFormatByLocale(ph),this.dateTimeFormat=this.dateFormatService.getDateFormatByLocale(mh)}get dueDateDisplayOptions(){return this.dueDateFormatService.getDisplayOptions(this.dueDateCode)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.fiA),e.\u0275\u0275directiveInject(U.tt4),e.\u0275\u0275directiveInject(U._ZM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-date"]],inputs:{date:"date",deadline:"deadline",showYear:"showYear",dueDateCode:"dueDateCode"},decls:4,vars:6,consts:[[1,"pb-1","text-12"],["class","inline-block pt-8 pb-16",3,"ngClass",4,"ngIf"],[1,"inline-block","pt-8","pb-16",3,"ngClass"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"dayjsDateFormat"),e.\u0275\u0275template(3,uh,3,8,"span",1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind3(2,2,i.date,i.showYear?i.dateYearFormat:i.dateFormat,i.appConfigService.timeZone)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.deadline))},directives:[S.NgIf,S.NgClass],pipes:[qt.B],styles:[""],changeDetection:0}),r})();var Sm=_(81736),_h=_(40455),Tm=_(27118);function hh(r,a){1&r&&e.\u0275\u0275element(0,"i",3)}const fh=function(r){return{"pr-20":r}};let vh=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-client"]],inputs:{name:"name",brokerageCode:"brokerageCode"},decls:4,vars:5,consts:[[1,"inline-block","max-w-full","relative",3,"ngClass"],[1,"truncate","max-w-full","text-12","text-gray-90"],["class","icon absolute right-0 text-14 text-yellow-50","uiIcon","star","uiIconVariant","filled","matTooltip","Dedicated Partner",4,"ngIf"],["uiIcon","star","uiIconVariant","filled","matTooltip","Dedicated Partner",1,"icon","absolute","right-0","text-14","text-yellow-50"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,hh,1,0,"i",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(3,fh,i.brokerageCode)),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",i.name," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.brokerageCode))},directives:[S.NgClass,S.NgIf,mt.a,Lt.gM],styles:[".icon[_ngcontent-%COMP%]{top:50%;transform:translateY(-50%)}"],changeDetection:0}),r})();const wm=function(r){return["/admin/order-management",r]},km=function(r){return{taskId:r}};function Ch(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"a",7),e.\u0275\u0275element(1,"ui-order-button",8),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(5,wm,t.order.id))("queryParams",e.\u0275\u0275pureFunction1(7,km,t.order.communication.general.taskRef.id)),e.\u0275\u0275advance(1),e.\u0275\u0275property("label",t.order.packages)("tooltip",t.order.packages)("shortenSize",30)}}function bh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"a",4),e.\u0275\u0275element(2,"ui-order-button",5),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Ch,2,9,"a",6),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(4,wm,t.order.id))("queryParams",e.\u0275\u0275pureFunction1(6,km,t.order.communication.general.taskRef.id)),e.\u0275\u0275advance(1),e.\u0275\u0275property("type",null!=t.orderReadStatus&&t.orderReadStatus.unreadChats?"primary":"secondary"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.order.packages&&!t.mobileLayout)}}function yh(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-order-button",8),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("label",t.order.packages)("tooltip",t.order.packages)("shortenSize",30)}}function xh(r,a){if(1&r&&e.\u0275\u0275template(0,yh,1,3,"ui-order-button",9),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngIf",t.order.packages)}}function Sh(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-task-status-chips",10),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("filter",t.type)("order",t.order)("orderId",t.order.id)("isAccountingStatusShown",!0)("accountingSyncStatus",t.accountingSyncStatus)}}let Th=(()=>
1{class r{constructor(){this.xeroConnectionStatus=Hn.Ij.NOT_CONNECTED}ngOnInit(){this.mobileLayout=window.innerWidth<600}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-expanded-details"]],inputs:{order:"order",type:"type",accountingSyncStatus:"accountingSyncStatus",orderReadStatus:"orderReadStatus",xeroConnectionStatus:"xeroConnectionStatus"},decls:5,vars:3,consts:[[4,"ngIf","ngIfElse"],["elseBlock",""],[3,"filter","order","orderId","isAccountingStatusShown","accountingSyncStatus",4,"ngIf"],["uiIcon","keyboard_arrow_right",1,"expanded-details-icon"],[1,"order-chats",3,"routerLink","queryParams"],["icon","chat",3,"type"],[3,"routerLink","queryParams",4,"ngIf"],[3,"routerLink","queryParams"],[3,"label","tooltip","shortenSize"],[3,"label","tooltip","shortenSize",4,"ngIf"],[3,"filter","order","orderId","isAccountingStatusShown","accountingSyncStatus"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,bh,4,8,"ng-container",0),e.\u0275\u0275template(1,xh,1,1,"ng-template",null,1,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275template(3,Sh,1,5,"ui-task-status-chips",2),e.\u0275\u0275element(4,"i",3)),2&t){const o=e.\u0275\u0275reference(2);e.\u0275\u0275property("ngIf",i.order.communication)("ngIfElse",o),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!i.mobileLayout)}},directives:[S.NgIf,Qe.yS,Tm.y,Zn.z,mt.a],styles:["[_nghost-%COMP%]{position:relative;display:block;padding-right:1.5rem;font-size:.75rem}.expanded-details-icon[_ngcontent-%COMP%]{position:absolute;right:0;font-size:.75rem;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1));top:50%;transform:translateY(-50%)}.order-chats[_ngcontent-%COMP%] .button-label{--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.order-chats[_ngcontent-%COMP%] .button-label:hover{color:var(--brand-50, #228BE6)}"],changeDetection:0}),r})();var wh=_(81782),kh=_(17416);function Eh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(t.order.orderNo||"-")}}function Oh(r,a){if(1&r&&e.\u0275\u0275element(0,"img",22),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275property("src",t.order.coverImage,e.\u0275\u0275sanitizeUrl)}}function Ih(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",23),e.\u0275\u0275element(1,"i",24),e.\u0275\u0275elementEnd()),2&r&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("size",32))}function Dh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Oh,1,1,"img",20),e.\u0275\u0275template(2,Ih,2,1,"div",21),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.order.coverImage),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!t.order.coverImage)}}function Mh(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-order-date",28),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275property("date",t.order.date)("deadline",t.order.deadline)("dueDateCode",t.order.orderDueDateCode)("showYear",t.showYear)}}function Ph(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-order-date",28),2&r){const t=a.$implicit,i=a.last,o=e.\u0275\u0275nextContext(6);e.\u0275\u0275property("date",t)("deadline",i?o.order.deadline:null)("dueDateCode",o.order.orderDueDateCode)("showYear",o.showYear)}}function Fh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Ph,1,4,"tn-order-date",29),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.order.eventTimestamps)}}function Ah(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span",32),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(6);e.\u0275\u0275propertyInterpolate("matTooltip",t.order.property_address.formatted_address),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.order.property_address.formatted_address," ")}}function Bh(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span",32),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(6);e.\u0275\u0275propertyInterpolate("matTooltip",t.order.property_address.line2),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(t.order.property_address.line2)}}function jh(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",30),e.\u0275\u0275template(1,Ah,2,2,"span",31),e.\u0275\u0275element(2,"br"),e.\u0275\u0275template(3,Bh,2,2,"span",31),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==t.order.property_address?null:t.order.property_address.formatted_address),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.order.property_address.line2)}}function Rh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Mh,1,4,"tn-order-date",25),e.\u0275\u0275template(2,Fh,2,1,"ng-container",26),e.\u0275\u0275template(3,jh,4,2,"div",27),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!(null!=t.order.eventTimestamps&&t.order.eventTimestamps.length)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==t.order.eventTimestamps?null:t.order.eventTimestamps.length),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.order.property_address)}}function Vh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiDayTime"),e.\u0275\u0275pipe(3,"uiDayTime"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2("",e.\u0275\u0275pipeBind2(2,2,null==t.order.when?null:t.order.when.start_time,t.timezone)," - ",e.\u0275\u0275pipeBind2(3,5,null==t.order.when?null:t.order.when.end_time,t.timezone)," ")}}function Lh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-open-in-new-tab",33),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate1("url","/order-status/",t.order.id,"")}}function Nh(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-open-in-new-tab",38),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275property("url",t.order.rawFolderLink)}}
1function $h(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-open-in-new-tab",39),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275property("url",t.order.deliverable_link)}}function zh(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-open-in-new-tab",40),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275propertyInterpolate1("url","/order-dashboard/",t.order.id,"/delivery")}}function Uh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",34),e.\u0275\u0275template(2,Nh,1,1,"ui-open-in-new-tab",35),e.\u0275\u0275template(3,$h,1,1,"ui-open-in-new-tab",36),e.\u0275\u0275template(4,zh,1,1,"ui-open-in-new-tab",37),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.order.rawFolderLink),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.order.deliverable_link),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.order.deliverablesLinks)}}function Hh(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-open-in-new-tab",42),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275propertyInterpolate1("url","/admin/property-dashboard/",t.order.id,"/overview")}}function Wh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Hh,1,1,"ui-open-in-new-tab",41),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.order.isWebsiteEnabled)}}
1function Gh(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-order-date",45),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275property("hidden",t.isOrderDateHidden)("date",t.order.date)("deadline",t.order.deadline)("showYear",t.showYear)}}function Kh(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-order-date",28),2&r){const t=a.$implicit,i=a.last,o=e.\u0275\u0275nextContext(6);e.\u0275\u0275property("date",t)("deadline",i?o.order.deadline:null)("dueDateCode",o.order.orderDueDateCode)("showYear",o.showYear)}}function Zh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Kh,1,4,"tn-order-date",29),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.order.eventTimestamps)}}const Qh=function(r){return["/admin/order-management",r]},Jh=function(r){return{taskId:r}};function Yh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Gh,1,4,"tn-order-date",43),e.\u0275\u0275template(2,Zh,2,1,"ng-container",26),e.\u0275\u0275elementStart(3,"a",44),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!(t.isOrderDateHidden||null!=t.order.eventTimestamps&&t.order.eventTimestamps.length)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!t.isOrderDateHidden&&(null==t.order.eventTimestamps?null:t.order.eventTimestamps.length)),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("matTooltip",t.order.packages),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(6,Qh,t.order.id))("queryParams",e.\u0275\u0275pureFunction1(8,Jh,null==t.order.communication||null==t.order.communication.general||null==t.order.communication.general.taskRef?null:t.order.communication.general.taskRef.id)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",t.order.packages," ")}}function Xh(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiCurrency"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(2,1,t.order.invoice_amount))}}function qh(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"ui-order-status-select",46),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()})("selectionChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(4);return l.staffChangeOrderStatus(l.order,o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("items",t.orderStatuses)("value",t.order.orderStatus)}}function ef(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"a",51),e.\u0275\u0275element(1,"ui-order-button",52),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275property("href",t.order.tave_link,e.\u0275\u0275sanitizeUrl)}}function tf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",47)(2,"div",48),e.\u0275\u0275template(3,ef,2,1,"a",49),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div")(5,"ui-order-status-select",50),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()})("selectionChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(4);return l.staffChangeOrderStatus(l.order,o)}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.order.tave_link),e.\u0275\u0275advance(2),e.\u0275\u0275property("items",t.videoStatuses)("value",t.order.videoStatus)("defaultValue",t.videoStatuses[0].value)}}function nf(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"a",51),e.\u0275\u0275element(1,"ui-order-button",52),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275property("href",t.order.tave_link,e.\u0275\u0275sanitizeUrl)}}function rf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",47)(2,"div",48),e.\u0275\u0275template(3,nf,2,1,"a",49),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div")(5,"ui-order-status-select",53),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()})("selectionChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(4);return l.changePaymentStatus(l.order,o)}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.order.tave_link),e.\u0275\u0275advance(2),e.\u0275\u0275property("items",t.paymentStatuses)("defaultValue","unpaid")("value",t.order.paymentStatus)}}function af(r,a){1&r&&(e.\u0275\u0275elementStart(0,"span",57),e.\u0275\u0275text(1,"New"),e.\u0275\u0275elementEnd())}function sf(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",54),e.\u0275\u0275template(1,af,2,0,"span",55),e.\u0275\u0275element(2,"tn-order-client",56),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.order.isFirstOrder),e.\u0275\u0275advance(1),e.\u0275\u0275property("name",t.order.client_full_name)("brokerageCode",t.order.brokerage_code)}}function lf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"ui-assign-order",58),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("order",t.order)("readOnly",t.readOnly)}}function cf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"ui-assign-order",59),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("roleFilter","Project Manager")("order",t.order)("readOnly",t.readOnly)}}function df(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"ui-assign-order",59),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("roleFilter","Video E
1ditor")("order",t.order)("readOnly",t.readOnly)}}function pf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div"),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"dayjsDateFormat"),e.\u0275\u0275pipe(4,"uiDayTime"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate2("",e.\u0275\u0275pipeBind3(3,2,t,"ddd, MMM D",i.timezone)," ",e.\u0275\u0275pipeBind2(4,6,t,i.timezone),"")}}function mf(r,a){1&r&&(e.\u0275\u0275elementStart(0,"span",62),e.\u0275\u0275text(1,"Unscheduled"),e.\u0275\u0275elementEnd())}function uf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,pf,5,9,"ng-container",60),e.\u0275\u0275template(2,mf,2,0,"span",61),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.order.eventTimestamps),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!(null!=t.order.eventTimestamps&&t.order.eventTimestamps.length))}}function gf(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",16),e.\u0275\u0275elementContainerStart(1,17),e.\u0275\u0275template(2,Eh,2,1,"ng-container",18),e.\u0275\u0275template(3,Dh,3,2,"ng-container",18),e.\u0275\u0275template(4,Rh,4,3,"ng-container",18),e.\u0275\u0275template(5,Vh,4,8,"ng-container",18),e.\u0275\u0275template(6,Lh,2,1,"ng-container",18),e.\u0275\u0275template(7,Uh,5,3,"ng-container",18),e.\u0275\u0275template(8,Wh,2,1,"ng-container",18),e.\u0275\u0275template(9,Yh,5,10,"ng-container",18),e.\u0275\u0275template(10,Xh,3,3,"ng-container",18),e.\u0275\u0275template(11,qh,2,2,"ng-container",18),e.\u0275\u0275template(12,tf,6,4,"ng-container",18),e.\u0275\u0275template(13,rf,6,4,"ng-container",18),e.\u0275\u0275template(14,sf,3,3,"div",19),e.\u0275\u0275template(15,lf,2,2,"ng-container",18),e.\u0275\u0275template(16,cf,2,3,"ng-container",18),e.\u0275\u0275template(17,df,2,3,"ng-container",18),e.\u0275\u0275template(18,uf,3,2,"ng-container",18),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("ngClass","row-column-"+t.value),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitch",t.value),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","orderId"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","coverImage"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","date"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","scheduledTime"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","customerOrdersLink"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","deliverablesLink"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","spw"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","orderName"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","amount"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","orderStatus"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","videoStatus"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","paymentStatus"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","client_full_name"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","team"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","pm"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","videoEditor"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","appointment")}}function _f(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,gf,19,19,"div",15),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.visible)}}function hf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",4)(2,"div",5),e.\u0275\u0275text(3," \xa0 "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",6)(5,"mat-checkbox",7),e.\u0275\u0275listener("click",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().checkboxClickHandler(o)})("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().checkedStateChangeHandler(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(6,"i",8),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",9)(8,"div",10)(9,"div",11)(10,"div",12),e.\u0275\u0275template(11,_f,2,1,"ng-container",13),e.\u0275\u0275elementEnd()(),e.\u0275\u0275element(12,"tn-order-expanded-detail
1s",14),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275styleProp("background-color",t.getEscalatedColor(null==t.order?null:t.order.taskSummary)),e.\u0275\u0275advance(3),e.\u0275\u0275property("checked",t.isChecked)("aria-label",(t.isChecked?"deselect":"select")+" row"),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngForOf",t.columns)("ngForTrackBy",t.trackByColumnValue),e.\u0275\u0275advance(1),e.\u0275\u0275property("order",t.order)("type",t.type)("orderReadStatus",t.orderReadStatus)("accountingSyncStatus",t.accountingSyncStatus)}}function ff(r,a){1&r&&e.\u0275\u0275element(0,"ui-spinner",63)}const vf=function(r){return{"orders-list-item-active":r}},Cf=function(r){return{minHeight:r}};let mo=class{constructor(a,t,i,o){var l,h;this.projectService=a,this.popupService=t,this.appConfigService=i,this.changeDetectorRef=o,this.isActive=!1,this.readOnly=!1,this.showYear=!1,this.isChecked=!1,this.accountingSyncStatus=He.mM.UNSYNCED,this.columns=[],this.toggleViewOrderDetails=new e.EventEmitter,this.checkedStateChange=new e.EventEmitter,this.orderDraggedToAnotherStatusSection=new e.EventEmitter,this.orderStatuses=(0,ge.dHH)(this.appConfigService.orderStatuses,null===(l=this.appConfigService.localization)||void 0===l?void 0:l.language),this.videoStatuses=this.appConfigService.videoEditingStatuses,this.timezone=this.appConfigService.timeZone,this.paymentStatuses=(0,ge.dHH)(this.appConfigService.paymentStatuses,null===(h=this.appConfigService.localization)||void 0===h?void 0:h.language),this.isOrderDateHidden=!0,this.dragPreviewClasses=["app-v2","orders-list-item-drag"],this.showContent=new Ei.X(!1),this.shiftKey=!1}ngOnInit(){setTimeout(()=>{this.showContent.next(!0)},0),this.projectService.detectChanges$.pipe((0,wt.t)(this)).subscribe(()=>{this.changeDetectorRef.detectChanges()})}ngOnChanges(a){const{columns:t}=a;(null==t?void 0:t.currentValue)&&t.currentValue!==t.previousValue&&this.setIsOrderDateHidden(t.currentValue)}setIsOrderDateHidden(a){this.isOrderDateHidden=a.filter(({visible:t})=>t).find(({value:t})=>"date"===t)}showPermissionsError(){this.popupService.error({title:"Insufficient Permissions",text:"You cannot edit order details."})}checkedStateChangeHandler(a){a&&this.checkedStateChange.emit({orderId:this.order.id,shiftKey:this.shiftKey,checked:a.checked}),this.shiftKey=!1}checkboxClickHandler(a){a.stopPropagation(),this.shiftKey=a.shiftKey}staffChangeOrderStatus(a,t){this.readOnly?this.showPermissionsError():this.type!==this.appConfigService.ordersVideoType?this.projectService.staffChangeOrderStatus(a,t):this.projectService.changeVideoStatus(a,t)}changePaymentStatus(a,t){this.readOnly?this.showPermissionsError():this.projectService.changePaymentStatus(a,t)}toggleViewOrderDetailsHandler(a){this.toggleViewOrderDetails.emit(a)}trackByColumnValue(a,t){return t.value}droppedOrder(a){const t=a.container.data;if(a.previousContainer.data!==t){if(this.readOnly)return void this.showPermissionsError();this.orderDraggedToAnotherStatusSection.emit({status:t})}}getEscalatedColor(a){return Object.entries(a||{}).filter(([i,o])=>Array.isArray(o)&&"archived"!==i).some(([i,o])=>o.some(l=>l.isEscalation))?U.SAi:""}};function bf(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",15)(1,"div",16),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("ngClass","header-column-"+t.value),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.name)}}function yf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,bf,3,2,"div",14),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.visible)}}function xf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-orders-table-row",17),e.\u0275\u0275listener("checkedStateChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).rowCheckedStateChange(o)})("toggleViewOrderDetails",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).toggleViewOrderDetailsHandler(o)})("orderDraggedToAnotherStatusSection",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(2).orderDraggedToAnotherStatusSectionHandler(h,o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("order",t)("type",i.type)("columns",i.columns)("showYear",i.showYear)("readOnly",i.readOnly)("id",t.id)("orderItemSize",i.orderItemSize)("isChecked",i.selection.isSelected(null==t?null:t.id))("isActive",i.activeOrderId===(null==t?null:t.id))("orderReadStatus",i.orderReadStatusesMap[null==t?null:t.id])("accountingSyncStatus",i.accountingSyncStatusesMap[null==t?null:t.id])}}mo.\u0275fac=function(a){return new(a||mo)(e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(U.qLq),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(e.ChangeDetectorRef))},mo.\u0275cmp=e.\u0275\u0275defineComponent({type:mo,selectors:[["tn-orders-table-row"]],inputs:{order:"order",type:"type",isActive:"isActive",readOnly:"readOnly",showYear:"showYear",isChecked:"isChecked",orderItemSize:"orderItemSize",orderReadStatus:"orderReadStatus",accountingSyncStatus:"accountingSyncStatus",columns:"columns"},outputs:{toggleViewOrderDetails:"toggleViewOrderDetails",checkedStateChange:"checkedStateChange",orderDraggedToAnotherStatusSection:"orderDraggedToAnotherStatusSection"},features:[e.\u0275\u0275NgOnChangesFeature],decls:6,vars:11,consts:[["cdkDrag","","cdkDragLockAxis","y",1,"orders-list-item",3,"cdkDragPreviewClass","
1ngClass","ngStyle","cdkDragDropped","click"],[1,"orders-table","orders-card"],[4,"ngIf","ngIfElse"],["loader",""],[1,"table-row"],[1,"table-cell","align-top","w-8"],[1,"table-cell","align-top","orders-cell-checkbox"],[3,"checked","aria-label","click","change"],["cdkDragHandle","","size","20","uiIcon","drag_indicator",1,"drag-handle"],[1,"table-cell","align-top","pt-12","pb-6","pr-8"],[1,"flex","flex-col","justify-between","h-full"],[1,"orders-table"],[1,"table-row","text-gray-50","font-medium","leading-4"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"order","type","orderReadStatus","accountingSyncStatus"],["class","table-cell align-top px-min",3,"ngClass",4,"ngIf"],[1,"table-cell","align-top","px-min",3,"ngClass"],[3,"ngSwitch"],[4,"ngSwitchCase"],["class","flex items-center gap-min",4,"ngSwitchCase"],["class","w-64 h-64 object-cover",3,"src",4,"ngIf"],["class","w-64 h-64 object-cover bg-gray-10 rounded-md flex justify-center align-items-center",4,"ngIf"],[1,"w-64","h-64","object-cover",3,"src"],[1,"w-64","h-64","object-cover","bg-gray-10","rounded-md","flex","justify-center","align-items-center"],["uiIcon","image",1,"text-gray-30",3,"size"],[3,"date","deadline","dueDateCode","showYear",4,"ngIf"],[4,"ngIf"],["class","text-14 text-gray-90 font-semibold",4,"ngIf"],[3,"date","deadline","dueDateCode","showYear"],[3,"date","deadline","dueDateCode","showYear",4,"ngFor","ngForOf"],[1,"text-14","text-gray-90","font-semibold"],["class","truncate inline-block max-w-full",3,"matTooltip",4,"ngIf"],[1,"truncate","inline-block","max-w-full",3,"matTooltip"],["hint","Customer Order Link","icon","edit","size","x-small","theme","main",3,"url"],[1,"flex","gap-2"],["icon","photo_library","hint","Raw","size","x-small",3,"url",4,"ngIf"],["hint","Final","icon","cloud","size","x-small",3,"url",4,"ngIf"],["hint","Delivery","size","x-small",3,"url",4,"ngIf"],["icon","photo_library","hint","Raw","size","x-small",3,"url"],["hint","Final","icon","cloud","size","x-small",3,"url"],["hint","Delivery","size","x-small",3,"url"],["hint","Admin Panel","icon","language","size","x-small","theme","main",3,"url",4,"ngIf"],["hint","Admin Panel","icon","language","size","x-small","theme","main",3,"url"],[3,"hidden","date","deadline","showYear",4,"ngIf"],[1,"text-12","text-gray-90","truncate","inline-block","max-w-full","hover:text-brand-50",3,"matTooltip","routerLink","queryParams"],[3,"hidden","date","deadline","showYear"],[3,"items","value","click","selectionChange"],[1,"flex"],[1,"invoice-button-container"],["target","_blank",3,"href",4,"ngIf"],[3,"items","value","defaultValue","click","selectionChange"],["target","_blank",3,"href"],["icon","docs"],[3,"items","defaultValue","value","click","selectionChange"],[1,"flex","items-center","gap-min"],["class","new-order-indicator",4,"ngIf"],[1,"flex",3,"name","brokerageCode"],[1,"new-order-indicator"],[3,"order","readOnly","click"],[3,"roleFilter","order","readOnly","click"],[4,"ngFor","ngForOf"],["class","p-1 px-2 bg-yellow-10 text-orange-70 rounded-md",4,"ngIf"],[1,"p-1","px-2","bg-yellow-10","text-orange-70","rounded-md"],[1,"content-loader"]],template:function(a,t){if(1&a&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275listener("cdkDragDropped",function(o){return t.droppedOrder(o)})("click",function(){return t.toggleViewOrderDetailsHandler(t.order)}),e.\u0275\u0275elementStart(1,"div",1),e.\u0275\u0275template(2,hf,13,10,"ng-container",2),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275template(4,ff,1,0,"ng-template",null,3,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()()),2&a){const i=e.\u0275\u0275reference(5);e.\u0275\u0275property("cdkDragPreviewClass",t.dragPreviewClasses)("ngClass",e.\u0275\u0275pureFunction1(7,vf,t.isActive))("ngStyle",e.\u0275\u0275pureFunction1(9,Cf,t.orderItemSize+"px")),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(3,5,t.showContent))("ngIfElse",i)}},directives:[n.Zt,S.NgClass,S.NgStyle,S.NgIf,Q.oG,n.Bh,mt.a,S.NgForOf,S.NgSwitch,S.NgSwitchCase,gh,Lt.gM,Sm.b,Qe.yS,_h.b,Tm.y,vh,Gi.c,Th,wh.O],pipes:[S.AsyncPipe,kh._,ge._ab,qt.B],styles:['.orders-table[_ngcontent-%COMP%]{display:table;width:100%;table-layout:fixed;background-color:transparent;font-family:var(--content-font, Inter),sans-serif;font-size:.75rem;font-weight:500;line-height:1.25;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.content-loader[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;width:2rem;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1));transform:translate(-50%,-50%)}.drag-handle[_ngcontent-%COMP%]{position:absolute;cursor:move;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1));opacity:0;top:50%;left:10px;transform:translateY(-50%);transition:opacity .2s ease-in-out}.orders-list-item[_ngcontent-%COMP%]{position:relative;display:grid;cursor:pointer;border-radius:.25rem;padding:.125rem;transition:background .2s ease-in-out}.orders-list-item-active[_ngcontent-%COMP%], .orders-list-item-drag[_ngcontent-%COMP%], .orders-list-item[_ngcontent-%COMP%]:hover{background-color:var(--brand-50, #228BE6)}.orders-list-item-drag[_ngcontent-%COMP%] .drag-handle[_ngcontent-%COMP%], .orders-list-item[_ngcontent-%COMP%]:hover .drag-handle[_ngcontent-%COMP%]{opacity:1}.orders-list-item-drag[_ngcontent-%COMP%] .drag-handle{color:var(--brand-50, #228BE6)} .cdk-drop-list-dragging .orders-list-item:after{position:absolute;inset:0;content:""} .cdk-drop-list-dragging .orders-list-item:hover{background-color:transparent} .cdk-drop-list-dragging .orders-list-item:hover .drag-handle{display:none}.orders-card[_ngcontent-%COMP%]{position:relative;height:100%;overflow:hidden;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.orders-cell-checkbox[_ngcontent-%COMP%]{position:relative;padding-left:.75rem;padding-top:1rem;width:36px}task-status-chips[_ngcontent-%COMP%]{white-space:nowrap}.invoice-button-container[_ngcontent-%COMP%]{padding-right:.25rem;width:30px}.invoice-button-container[_ngcontent-%COMP%] .button-label{width:24px;height:24px}.invoice-button-container[_ngcontent-%COMP%] .button-label .ui-icon:before{font-size:16px}
1.row-column-paymentStatus[_ngcontent-%COMP%]{width:180px}.row-column-videoStatus[_ngcontent-%COMP%]{width:200px}.row-column-orderStatus[_ngcontent-%COMP%]{width:150px}.row-column-orderId[_ngcontent-%COMP%]{width:56px}.row-column-coverImage[_ngcontent-%COMP%]{width:80px}.new-order-indicator[_ngcontent-%COMP%]{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(240 62 62 / var(--tw-bg-opacity, 1));font-size:.75rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));padding:2px 4px}'],changeDetection:0}),mo=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[U.Y4r,U.qLq,U._ZM,e.ChangeDetectorRef])],mo);const Sf=function(r){return{height:r}};function Tf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",2)(2,"div",3)(3,"div",4)(4,"div",5)(5,"mat-checkbox",6),e.\u0275\u0275listener("change",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext();return o?l.masterToggle():null}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"div",7)(7,"div",8)(8,"div",9),e.\u0275\u0275template(9,yf,2,1,"ng-container",10),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(10,"tn-column-manager",11),e.\u0275\u0275listener("changed",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().columnsChangedHandler(o)}),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275elementStart(11,"cdk-virtual-scroll-viewport",12),e.\u0275\u0275template(12,xf,1,11,"tn-orders-table-row",13),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(5),e.\u0275\u0275property("checked",t.selection.hasValue()&&t.isAllSelected())("indeterminate",t.selection.hasValue()&&!t.isAllSelected())("aria-label",t.checkboxLabel()),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngForOf",t.columns)("ngForTrackBy",t.trackByColumnValue),e.\u0275\u0275advance(1),e.\u0275\u0275property("columns",t.columns),e.\u0275\u0275advance(1),e.\u0275\u0275property("itemSize",t.orderItemSize)("minBufferPx",t.minBufferPx)("maxBufferPx",t.maxBufferPx)("ngStyle",e.\u0275\u0275pureFunction1(12,Sf,t.virtualScrollHeight)),e.\u0275\u0275advance(1),e.\u0275\u0275property("cdkVirtualForOf",t.dataSource)("cdkVirtualForTrackBy",t.trackByOrderId)}}function wf(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",18),e.\u0275\u0275text(1,"No Orders found."),e.\u0275\u0275elementEnd())}let nm=(()=>{class r{constructor(t,i,o,l,h,y){this.notificationService=t,this.localStorage=i,this.projectService=o,this.appConfigService=l,this.orderReadStatusService=h,this.invoicesRepositoryService=y,this.readOnly=!1,this.showYear=!1,this.columns=[],this.toggleViewOrderDetails=new e.EventEmitter,this.columnsChanged=new e.EventEmitter,this.isAccountingConnected=!1,this.orderItemSize=140,this.virtualScrollHeight="auto",this.maxVirtualScrollViewItems=10,this.lastCheckedItemId=null,this.accountingSyncStatusesMap={},this.orderReadStatusesMap={},this.minBufferPx=2*this.orderItemSize,this.maxBufferPx=4*this.orderItemSize}ngOnInit(){window.innerWidth<600&&(this.orderItemSize=88)}ngAfterViewInit(){if(this.tableId&&this.virtualScroll){const t=this.localStorage.retrieve(this.tableId);t&&setTimeout(()=>this.virtualScroll.scrollToOffset(t),0)}}ngOnDestroy(){this.tableId&&this.virtualScroll&&this.localStorage.store(this.tableId,this.virtualScroll.measureScrollOffset())}ngOnChanges(t){t.dataSource&&(this.setVirtualScrollHeight(this.dataSource),this.dataSource.forEach(i=>{const o=i.id;this.orderReadStatusService.getById({orderId:o},this.notificationService.userId).pipe((0,Nt.q)(1)).subscribe(l=>{this.orderReadStatusesMap[o]=l}),this.isAccountingConnected&&this.invoicesRepositoryService.getById(o).pipe((0,Nt.q)(1),(0,Yt.h)(l=>!!l),(0,qe.U)(l=>l.accountingSyncStatus)).subscribe(l=>{this.accountingSyncStatusesMap[o]=l})}))}setVirtualScrollHeight(t=[]){this.virtualScrollHeight=this.orderItemSize*(t.length>this.maxVirtualScrollViewItems?this.maxVirtualScrollViewItems:t.length)+"px"}isAllSelected(){return function ah(r,a,t){var i=(0,rh.Z)(r)?q_:nh;return t&&(0,oh.Z)(r,a,t)&&(a=void 0),i(r,(0,ih.Z)(a,3))}(this.dataSource,t=>this.selection.selected.includes(t.id))}masterToggle(){this.isAllSelected()?this.dataSource.forEach(t=>this.selection.deselect(t.id)):this.dataSource.forEach(t=>this.selection.select(t.id))}checkboxLabel(){return(this.isAllSelected()?"select":"deselect")+" all"}
1columnsChangedHandler(t){this.columnsChanged.emit(t)}toggleViewOrderDetailsHandler(t){this.toggleViewOrderDetails.emit(t)}rowCheckedStateChange({orderId:t,shiftKey:i,checked:o}){let l=!1;this.selection.toggle(t),i&&this.dataSource.reduce((y,F)=>((F.id===t||F.id===this.lastCheckedItemId)&&(l=!l),l?[...y,F.id]:y),[this.lastCheckedItemId]).forEach(y=>{o?this.selection.select(y):this.selection.deselect(y)}),this.lastCheckedItemId=t}trackByOrderId(t,i){return i.id}trackByColumnValue(t,i){return i.value}staffChangeOrderStatus(t,i){this.type!==this.appConfigService.ordersVideoType?this.projectService.staffChangeOrderStatus(t,i):this.projectService.changeVideoStatus(t,i)}orderDraggedToAnotherStatusSectionHandler(t,{status:i}){this.selection.selected.includes(t.id)?this.dataSource.forEach(l=>{this.selection.selected.includes(l.id)&&(this.staffChangeOrderStatus(l,i),this.selection.deselect(l.id))}):this.staffChangeOrderStatus(t,i)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.gqp),e.\u0275\u0275directiveInject(ir.n2),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.piE),e.\u0275\u0275directiveInject(U.uOT))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-orders-table"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery($i.N7,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.virtualScroll=o.first)}},inputs:{type:"type",tableId:"tableId",dataSource:"dataSource",activeOrderId:"activeOrderId",readOnly:"readOnly",showYear:"showYear",selection:"selection",columns:"columns",isAccountingConnected:"isAccountingConnected"},outputs:{toggleViewOrderDetails:"toggleViewOrderDetails",columnsChanged:"columnsChanged"},features:[e.\u0275\u0275NgOnChangesFeature],decls:3,vars:2,consts:[[4,"ngIf","ngIfElse"],["noOrdersBlock",""],[1,"order-header"],[1,"orders-table","bg-white","rounded"],[1,"block","pl-8"],[1,"table-cell","orders-cell-checkbox","py-8"],[3,"checked","indeterminate","aria-label","change"],[1,"table-cell","relative","pr-8"],[1,"orders-table"],[1,"table-row","text-gray-50","font-medium","leading-4"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"column-manager",3,"columns","changed"],[3,"itemSize","minBufferPx","maxBufferPx","ngStyle"],[3,"order","type","columns","showYear","readOnly","id","orderItemSize","isChecked","isActive","orderReadStatus","accountingSyncStatus","checkedStateChange","toggleViewOrderDetails","orderDraggedToAnotherStatusSection",4,"cdkVirtualFor","cdkVirtualForOf","cdkVirtualForTrackBy"],["class","table-cell px-min",3,"ngClass",4,"ngIf"],[1,"table-cell","px-min",3,"ngClass"],[1,"header-column-value"],[3,"order","type","columns","showYear","readOnly","id","orderItemSize","isChecked","isActive","orderReadStatus","accountingSyncStatus","checkedStateChange","toggleViewOrderDetails","orderDraggedToAnotherStatusSection"],[1,"text-center","text-14","font-medium","text-gray-90","p-16"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,Tf,13,14,"ng-container",0),e.\u0275\u0275template(1,wf,2,0,"ng-template",null,1,e.\u0275\u0275templateRefExtractor)),2&t){const o=e.\u0275\u0275reference(2);e.\u0275\u0275property("ngIf",(null==i.dataSource?null:i.dataSource.length)>0)("ngIfElse",o)}},directives:[S.NgIf,Q.oG,S.NgForOf,S.NgClass,ch,$i.N7,$i.xd,S.NgStyle,$i.x0,mo],styles:[".orders-table[_ngcontent-%COMP%]{display:table;width:100%;table-layout:fixed;background-color:transparent;font-family:var(--content-font, Inter),sans-serif;font-size:.75rem;font-weight:500;line-height:1.25;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.order-header[_ngcontent-%COMP%]{padding:.125rem}.orders-cell-checkbox[_ngcontent-%COMP%]{padding-left:.75rem;width:36px}.column-manager[_ngcontent-%COMP%]{position:absolute;top:6px;right:10px}.header-column-paymentStatus[_ngcontent-%COMP%] .header-column-value[_ngcontent-%COMP%], .header-column-videoStatus[_ngcontent-%COMP%] .header-column-value[_ngcontent-%COMP%]{padding-left:1.5rem}.header-column-paymentStatus[_ngcontent-%COMP%]{width:180px}
1.header-column-videoStatus[_ngcontent-%COMP%]{width:200px}.header-column-orderStatus[_ngcontent-%COMP%]{width:150px}.header-column-orderId[_ngcontent-%COMP%]{width:56px}.header-column-coverImage[_ngcontent-%COMP%]{width:80px}"]}),r})();function kf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"tn-orders-table",4),e.\u0275\u0275listener("columnsChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).columnsChangedHandler(o)})("toggleViewOrderDetails",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).toggleViewOrderDetailsHandler(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("columns",t.orderManagementColumns)("dataSource",t.orders)("activeOrderId",t.activeOrderId)("selection",t.selection)}}function Ef(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"br"),e.\u0275\u0275elementStart(2,"mat-accordion",1)(3,"mat-expansion-panel")(4,"mat-expansion-panel-header")(5,"mat-panel-title"),e.\u0275\u0275element(6,"tn-orders-accordion-header-title",2),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(7,kf,2,4,"ng-template",3),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();let i;e.\u0275\u0275advance(6),e.\u0275\u0275property("addOrdersPostfix",!0)("type","revision-cycle-1")("label","Unscheduled")("count",null!==(i=null==t.orders?null:t.orders.length)&&void 0!==i?i:0)}}let Of=(()=>{class r{constructor(){this.orders=[],this.orderManagementColumns=[],this.selection=new Kn.Ov(!0,[]),this.toggleViewOrderDetails=new e.EventEmitter,this.columnsChanged=new e.EventEmitter}toggleViewOrderDetailsHandler(t){this.toggleViewOrderDetails.emit(t)}columnsChangedHandler(t){this.columnsChanged.emit(t)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-orders-required-actions"]],inputs:{orders:"orders",orderManagementColumns:"orderManagementColumns",activeOrderId:"activeOrderId",selection:"selection"},outputs:{toggleViewOrderDetails:"toggleViewOrderDetails",columnsChanged:"columnsChanged"},decls:1,vars:1,consts:[[4,"ngIf"],["multi","",1,"app-v2","example-headers-align"],[3,"addOrdersPostfix","type","label","count"],["matExpansionPanelContent",""],["tableId","required-actions-orders",3,"columns","dataSource","activeOrderId","selection","columnsChanged","toggleViewOrderDetails"]],template:function(t,i){1&t&&e.\u0275\u0275template(0,Ef,8,4,"ng-container",0),2&t&&e.\u0275\u0275property("ngIf",null==i.orders?null:i.orders.length)},directives:[S.NgIf,Y.pp,Y.ib,Y.yz,Y.yK,tm,Y.HS,nm],styles:[""],changeDetection:0}),r})(),Em=(()=>{class r{constructor(){this.collapsed=!1,this.tooltipPosition="below",this.toggle=new e.EventEmitter}toggleHandler(){this.toggle.emit(!this.collapsed)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-collapse-expand-button"]],inputs:{collapsed:"collapsed",tooltipPosition:"tooltipPosition"},outputs:{toggle:"toggle"},decls:3,vars:4,consts:[["uiBtnSize","x-small","iconOnly","","uiBtnTheme","setting","themeMode","tertiary",3,"matTooltip","matTooltipPosition","click"],["collapseExpandButton","btnSize"],[3,"uiIcon","size"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"button",0,1),e.\u0275\u0275listener("click",function(){return i.toggleHandler()}),e.\u0275\u0275element(2,"i",2),e.\u0275\u0275elementEnd()),2&t){const o=e.\u0275\u0275reference(1);e.\u0275\u0275propertyInterpolate("matTooltip",i.collapsed?"Expand All":"Collapse All"),e.\u0275\u0275property("matTooltipPosition",i.tooltipPosition),e.\u0275\u0275advance(2),e.\u0275\u0275property("uiIcon",i.collapsed?"expand_all":"collapse_all")("size",o.iconSize)}},directives:[_t.s,ht.V,Lt.gM,mt.a],encapsulation:2,changeDetection:0}),r})();var If=_(75678),Df=_(61715),Mf=_(30567),Pf=_(61709),Om=_(27221),Ff=_(90864),Af=_(49343);class lr extends qn.uK{constructor(a,t,i,o,l){super({selectedOrders:[],selectedIds:[],ordersMetadata:[],properties:[]}),this.spwContentSyncChecklistService=a,this.orderMetadataRepositoryService=t,this.dropbox
1IntegrationRepository=i,this.propertiesRepositoryService=o,this.ordersRepositoryService=l,this.selectedOrders$=this.select(h=>h.selectedOrders),this.ids$=this.select(h=>h.selectedIds),this.properties$=this.select(h=>h.properties),this.ordersMetaData$=this.select(h=>h.ordersMetadata),this.ordersWithSPW$=this.select(this.selectedOrders$,h=>h.filter(y=>y.isWebsiteEnabled)),this.syncedData$=(0,ln.aj)([this.ordersMetaData$,this.selectedOrders$]).pipe((0,qe.U)(([h,y])=>{if(!y.length||!h.length)return[];const F=h.filter(te=>!!te);return y.map(te=>{const H=F.find(ve=>ve.id===te.id);if(!H)return null;const re=H.lastDeliverySyncDate||te.lastDeliverySyncDate;return Object.assign(Object.assign({},H),{lastDeliverySyncDate:re?1e3*re:void 0})}).filter(te=>!!te)})),this.syncStatus$=this.syncedData$.pipe((0,qe.U)(h=>h.map(y=>y.deliverySyncStatus))),this.timedOutMetas$=this.select(this.syncStatus$,this.syncedData$,(0,Df.F)(1e3),(h,y)=>{const F=Wi.Z.firestore.Timestamp.now().seconds;return y.map((te,H)=>{const re=h[H];return"failed"!==re&&"success"!==re&&te.startDeliverySyncDate&&F-te.startDeliverySyncDate.seconds>300?te:null}).filter(te=>!!te)},{debounce:!0}),this.isSyncFailed$=this.select(this.syncStatus$,this.timedOutMetas$,(h,y)=>h.map((F,te)=>"failed"===F||y[te])),this.someSyncFailed$=this.isSyncFailed$.pipe((0,qe.U)(h=>h.some(y=>y))),this.syncInProgress$=(0,ln.aj)([this.syncStatus$,this.timedOutMetas$]).pipe((0,qe.U)(([h,y])=>h.some((F,te)=>("in_progress"===F||"pending"===F)&&!y[te]))),this.isSyncSuccess$=this.syncStatus$.pipe((0,qe.U)(h=>h.length>0&&h.every(y=>"success"===y))),this.vm$=this.select(this.syncInProgress$,this.someSyncFailed$,this.isSyncSuccess$,(h,y,F)=>({syncInProgress:h,someSyncFailed:y,isSyncSuccess:F}),{debounce:!0}),this.onSync=this.effect(h=>h.pipe((0,_i.M)(this.ordersWithSPW$,this.selectedOrders$,this.properties$),(0,St.w)(([{clearSelection:y},F,te,H])=>{const re=te.filter(Fe=>!Fe.isNativeUpload),ve=F.filter(Fe=>!Fe.isNativeUpload);if(!re.length)return oa.E;const{withContent:ie,withoutContent:Ee}=this.splitOrdersByContent(re,H);return ve.length&&ie.length?this.openSyncDialog().pipe((0,St.w)(Fe=>(0,Mf.D)([this.syncOrders(ie,Fe),this.syncOrders(Ee)]).pipe((0,Ht.b)(y)))):this.syncOrders(re).pipe((0,Ht.b)(y))}))),this.passiveWatchATimeoutsEffect=this.effect(()=>this.timedOutMetas$.pipe((0,Yt.h)(h=>h.length>0),(0,St.w)(h=>(0,zt.D)(h).pipe((0,Pf.zg)(y=>(0,zt.D)(this.orderMetadataRepositoryService.update(y.id,{deliverySyncStatus:"failed"})).pipe((0,Om.K)(F=>(console.error("Failed to mark timeout for",y.id,F),oa.E)))))))),this.passiveWatchOrdersMetadata=this.effect(()=>this.ids$.pipe((0,Yt.h)(h=>h.length>0),(0,St.w)(h=>this.orderMetadataRepositoryService.getManyByIds$(h).pipe((0,Xt._b)(y=>this.patchState({ordersMetadata:y.filter(F=>!!F)}),y=>console.error(y)))))),this.passiveWatchOrderProperties=this.effect(()=>this.ids$.pipe((0,Yt.h)(h=>h.length>0),(0,St.w)(h=>this.propertiesRepositoryService.getManyByIds$(h).pipe((0,Xt._b)(y=>this.patchState({properties:y.filter(F=>!!F)}),y=>console.error(y))))))}setSelectedOrders(a){this.patchState({selectedOrders:a})}setSelectedIds(a){this.patchState({selectedIds:a})}splitOrdersByContent(a,t){const i=t.filter(h=>!!h&&(0,Af.hO)(h)).map(h=>h.id);return{withContent:a.filter(h=>i.includes(h.id)),withoutContent:a.filter(h=>!i.includes(h.id))}}openSyncDialog(){return this.spwContentSyncChecklistService.openDialog(Object.assign({},He.ri)).pipe((0,Yt.h)(a=>!!a))}syncOrders(a,t=null){return this.bulkResetDeliveryContent(a.map(i=>i.id),t)}bulkResetDeliveryContent(a,t=null){return(0,zt.D)(a).pipe((0,oo.b)(i=>this.syncOrder(i,t).pipe((0,oo.b)(()=>this.resetLinksForOrder(i)))),(0,Ff.q)(),(0,qe.U)(()=>{}))}syncOrder(a,t){return(0,zt.D)(this.dropboxIntegrationRepository.syncDeliveryContent(a,t).catch(i=>(console.error(`Sync failed for order ${a}`,i),Promise.resolve())))}resetLinksForOrder(a){return(0,zt.D)(this.updateDeliverableLinks(a,[])).pipe((0,Om.K)(t=>(console.error(`Resetting deliverable links failed for order ${a}`,t),(0,Rn.of)(void 0))))}updateDeliverableLinks(a,t){return(0,De.mG)(this,void 0,void 0,function*(){yield this.ordersRepositoryService.update(a,{deliverablesLinks:t})})}}function Bf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"button",6,7),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().removeVideoProject()}),e.\u0275\u0275element(3,"i",8),e.\u0275\u0275text(4," Remove Video Project "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275reference(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("size",t.iconSize)}}function jf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",6,14),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).createVideoProject()}),e.\u0275\u0275element(2,"i",15),e.\u0275\u0275text(3,"Create Video Project "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function Rf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"button",16,17),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).syncDeliveryFiles()}),e.\u0275\u0275element(3,"i",18),e.\u0275\u0275text(4," Sync delivery files "),e.\u0275\u0275element(5,"i",19),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(2),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("matTooltip",o.deliveryTooltipMessage)("disabled",!o.everyHasDeliveryLink||t.syncInProgress),e.\u0275\u0275advance(2),e.\u0275\u0275classProp("animate-spin",t.syncInProgress),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",i.iconSize)}}function Vf(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",20),e.\u0275\u0275element(1,"img",21),e.\u0275\u0275elementEnd())}function Lf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",9,10),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().archiveOrders()}),e.\u0275\u0275element(2,"i",11),e.\u0275\u0275text(3,"Archive Order "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,jf,4,1,"button",12),e.\u0275\u0275template(5,Rf,6,6,"ng-container",2),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275template(7,Vf,2,0,"ng-template",null,13,e.\u0275\u0275templateRefExtractor)}if(2&r){const t=e.\u0275\u0275reference(1),i=e.\u0275\u0275reference(8),o=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",!o.mobileLayout),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.isDropBoxConnected&&e.\u0275\u0275pipeBind1(6,4,o.vm$))("ngIfElse",i)}}function Nf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-select",22),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onPaymentStatusChange(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("nameKey","label")("items",t.paymentStatuses)("value",t.selectedOrdersPaymentStatus)}}lr.\u0275fac=function(a){return new(a||lr)(e.\u0275\u0275inject(Ui.US),e.\u0275\u0275inject(U.ZlF),e.\u0275\u0275inject(U.G0i),e.\u0275\u0275inject(bn.D7),e.\u0275\u0275inject(U.HVf))},lr.\u0275prov=e.\u0275\u0275defineInjectable({token:lr,factory:lr.\u0275fac}),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[Array]),(0,De.w6)("design:returntype",void 0)],lr.prototype,"setSelectedOrders",null),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[Array]),(0,De.w6)("design:returntype",void 0)],lr.prototype,"setSelectedIds",null);const $f=function(){return[]};let Im=(()=>
1{class r{constructor(t,i,o,l,h,y,F){this.projectService=t,this.schedulingService=i,this.appConfigService=o,this.ordersRepositoryService=l,this.archivedOrdersRepositoryService=h,this.statsDocumentService=y,this.deliveryBulkStore=F,this.orders=[],this.selected=[],this.orderStatuses=[],this.paymentStatuses=[],this.selectedOrdersStatus="",this.selectedOrdersPaymentStatus="",this.selectedOrders=[],this.videoType=this.appConfigService.ordersVideoType,this.mobileLayout=!1,this.vm$=this.deliveryBulkStore.vm$,this.deliveryTooltipMessage="",this.everyHasDeliveryLink=!1,this.isDropBoxConnected=this.appConfigService.allowDropboxConnections}ngOnChanges(t){const{selected:i}=t;i&&i.currentValue!==i.previousValue&&(this.deliveryBulkStore.setSelectedIds(i.currentValue),this.setSelectedOrders(i.currentValue),this.setSelectedOrdersStatus(this.selectedOrders),this.setEveryHasDeliveryLink(this.selectedOrders),this.setButtonTooltipIfNoFolders(this.selectedOrders),this.setSelectedOrdersPaymentStatus(this.selectedOrders),this.deliveryBulkStore.setSelectedOrders(this.selectedOrders))}ngOnInit(){this.mobileLayout=window.innerWidth<600}archiveOrders(){const i=Wi.Z.firestore.FieldValue.increment(this.selected.length),o=U.HVf.initBatch();let l=[];if(this.selectedOrders.forEach(h=>{(null==h?void 0:h.calendarEvent)&&(l=[...l,h.calendarEvent]),this.ordersRepositoryService.batchedDelete(h.id,o),this.archivedOrdersRepositoryService.batchedUpsert(h.id,h,o)}),this.statsDocumentService.batchedUpsert({totalArchivedOrders:i},o),o.commit(),l.length){const h=this.selectedOrders.map(y=>y.id);this.schedulingService.promptDeleteEventsForOrders(h)}this.selection.clear()}createVideoProject(){this.selectedOrders.forEach(t=>this.projectService.createVideoProject(t)),this.selection.clear()}onPaymentStatusChange(t){this.selectedOrders.forEach(i=>{this.projectService.changePaymentStatus(i,t)}),this.selection.clear()}statusChangeHandler(t){this.selectedOrders.forEach(i=>{this.type!==this.videoType?this.projectService.staffChangeOrderStatus(i,t):this.projectService.changeVideoStatus(i,t)}),this.selection.clear()}removeVideoProject(){const t=U.HVf.initBatch();this.selectedOrders.forEach(i=>{this.ordersRepositoryService.batchedUpdate(i.id,{videoProject:!1},t)}
1),t.commit(),this.selection.clear()}syncDeliveryFiles(){this.deliveryBulkStore.onSync({clearSelection:()=>this.selection.clear()})}setEveryHasDeliveryLink(t){this.everyHasDeliveryLink=t.every(i=>!!i.deliverable_link)}setButtonTooltipIfNoFolders(t){const i=t.filter(l=>!l.deliverable_link).map(l=>l.orderNo);this.deliveryTooltipMessage=i.length?`Create folders for the order${i.length>1?"s":""}: ${i.join(", ")}`:""}setSelectedOrders(t=[]){this.selectedOrders=(this.orders||[]).filter(({id:i})=>t.includes(i))}setSelectedOrdersStatus(t=[]){var i;const o=this.type===this.videoType?"videoStatus":"orderStatus",l=null===(i=t[0])||void 0===i?void 0:i[o],h=t.every(y=>y[o]===l);this.selectedOrdersStatus=h&&null!=l?l:""}setSelectedOrdersPaymentStatus(t=[]){var i;const o=null===(i=t[0])||void 0===i?void 0:i.paymentStatus,l=t.every(h=>h.paymentStatus===o);this.selectedOrdersPaymentStatus=l?o:""}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(U.X$O),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.HVf),e.\u0275\u0275directiveInject(U.Ue4),e.\u0275\u0275directiveInject(U.AY),e.\u0275\u0275directiveInject(lr))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-order-bulk-actions"]],inputs:{orders:"orders",selection:"selection",selected:"selected",orderStatuses:"orderStatuses",paymentStatuses:"paymentStatuses",type:"type"},features:[e.\u0275\u0275ProvidersFeature([lr]),e.\u0275\u0275NgOnChangesFeature],decls:8,vars:9,consts:[[1,"app-v2","snack-bar"],[1,"text-12","ml-6","whitespace-nowrap"],[4,"ngIf","ngIfElse"],["ordersActions",""],["size","small","placeholder","Mixed order statuses",1,"mx-6","bulk-select",3,"nameKey","items","value","selectionChange"],["size","small","placeholder","Mixed payment statuses","class","mx-6 bulk-select",3,"nameKey","items","value","selectionChange",4,"ngIf"],["uiBtnSize","x-small","uiBtnTheme","main",1,"uppercase","mx-6",3,"click"],["removeVideoButton","btnSize"],["uiIcon","remove",3,"size"],["uiBtnSize","x-small","uiBtnTheme","main",1,"uppercase","mx-6","whitespace-nowrap",3,"click"],["archiveOrdersButton","btnSize"],["uiIcon","archive",3,"size"],["uiBtnSize","x-small","uiBtnTheme","main","class","uppercase mx-6",3,"click",4,"ngIf"],["skeleton",""],["createVideoButton","btnSize"],["uiIcon","add",3,"size"],["uiBtnSize","x-small","uiBtnTheme","main",1,"uppercase","mx-6","whitespace-nowrap",3,"matTooltip","disabled","click"],["syncDeliveryButton","btnSize"],["uiIcon","refresh",3,"size"],["uiIcon","info","matTooltipPosition","above","matTooltip","Synchronization will override previously created links for selected orders",1,"ml-8",3,"size"],[1,"delivery-skeleton"],["alt","Dropbox","height","16","width","16","loading","lazy","src","../assets/images/dropbox/dropbox-icon.svg"],["size","small","placeholder","Mixed payment statuses",1,"mx-6","bulk-select",3,"nameKey","items","value","selectionChange"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"ui-snack-bar",0)(1,"span",1),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Bf,5,1,"ng-container",2),e.\u0275\u0275template(4,Lf,9,6,"ng-template",null,3,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(6,"ui-select",4),e.\u0275\u0275listener("selectionChange",function(l){return i.statusChangeHandler(l)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,Nf,1,3,"ui-select",5),e.\u0275\u0275elementEnd()),2&t){const o=e.\u0275\u0275reference(5);let l;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate2("",i.selected.length," item",i.selected.length>1?"s":"",""),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.type===i.videoType)("ngIfElse",o),e.\u0275\u0275advance(3),e.\u0275\u0275property("nameKey","label")("items",null!==(l=i.orderStatuses)&&void 0!==l?l:e.\u0275\u0275pureFunction0(8,$f))("value",i.selectedOrdersStatus),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.type!==i.videoType)}},directives:[vm.E,S.NgIf,_t.s,ht.V,mt.a,Lt.gM,tn.H],pipes:[S.AsyncPipe],styles:[".snack-bar[_ngcontent-%COMP%]{position:fixed;z-index:100}.bulk-select[_ngcontent-%COMP%]{width:150px}.bulk-select[_ngcontent-%COMP%] ui-form-input-group{background-color:var(--brand-50, #228BE6);--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.bulk-select[_ngcontent-%COMP%] ui-form-input-group input::placeholder{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.bulk-select[_ngcontent-%COMP%] ui-form-input-group.readonly input.select-input{opacity:1}.bulk-select[_ngcontent-%COMP%] ui-form-input-group .arrows, .bulk-select[_ngcontent-%COMP%] ui-form-input-group:hover .arrows{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.delivery-skeleton[_ngcontent-%COMP%]{width:195px;height:1.5rem;display:flex;align-items:center;justify-content:center;cursor:not-allowed;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.delivery-skeleton[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:.5rem;width:1rem;opacity:.8}"],changeDetection:0}),r})();function zf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"a",4),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"span",5),e.\u0275\u0275text(4,"100%"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(5,"i",6),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate1("href","/order-dashboard/",t.orderId,"/delivery",e.\u0275\u0275sanitizeUrl),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.title," ")}}function Uf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"span",7),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"span",8),e.\u0275\u0275text(4,"Failed"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(5,"i",9),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.title)}}function Hf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"span",10),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"span",5),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(5,"mat-progress-spinner",11),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.title),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1("",t.computedProgress,"%"),e.\u0275\u0275advance(1),e.\u0275\u0275property("diameter",16)("strokeWidth",2)}}let Wf=(()=>
1{class r{constructor(){this.progress=0,this.closed=new e.EventEmitter}get computedProgress(){switch(this.status){case"success":case"failed":return 100;default:return Math.round(this.progress||0)}}onClose(){this.closed.emit()}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-dbx-sync-status-item"]],inputs:{orderId:"orderId",title:"title",status:"status",progress:"progress"},outputs:{closed:"closed"},decls:5,vars:3,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["uiIcon","close","matTooltipPosition","above","matTooltip","Close",1,"cursor-pointer","text-gray-30","ml-12",3,"click"],["target","_blank",1,"body","truncate","mr-16","text-gray-30","hover:text-gray-15",3,"href"],[1,"body-semibold","ml-auto","mr-8","text-white"],["uiIcon","check_circle","uiIconVariant","filled",1,"text-green-50"],[1,"body","truncate","mr-16","text-white"],[1,"text-white","ml-auto","body-semibold","mr-8"],["uiIcon","cancel","uiIconVariant","filled",1,"text-red-50"],[1,"body","truncate","mr-16","text-gray-30"],["mode","indeterminate",3,"diameter","strokeWidth"]],template:function(t,i){1&t&&(e.\u0275\u0275elementContainerStart(0,0),e.\u0275\u0275template(1,zf,6,2,"ng-container",1),e.\u0275\u0275template(2,Uf,6,1,"ng-container",1),e.\u0275\u0275template(3,Hf,6,4,"ng-container",2),e.\u0275\u0275elementStart(4,"i",3),e.\u0275\u0275listener("click",function(){return i.onClose()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&t&&(e.\u0275\u0275property("ngSwitch",i.status),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","success"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","failed"))},directives:[S.NgSwitch,S.NgSwitchCase,mt.a,S.NgSwitchDefault,Ni.Ou,Lt.gM],styles:["[_nghost-%COMP%]{display:flex;height:2.5rem;align-items:center}"],changeDetection:0}),r})();function Gf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-dbx-sync-status-item",13),e.\u0275\u0275listener("closed",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(4).onOrderClosed(l.orderId)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit;e.\u0275\u0275property("title",t.title)("status",t.status)("progress",t.progress)("orderId",t.orderId)}}function Kf(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",11),e.\u0275\u0275template(1,Gf,1,4,"tn-dbx-sync-status-item",12),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2).ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t)("ngForTrackBy",i.trackBy)}}function Zf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",2)(1,"i",3),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onOrderListToggle()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"span",4),e.\u0275\u0275text(3,"Resizing images "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"span",5),e.\u0275\u0275text(5),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"span",6),e.\u0275\u0275text(8,"orders"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(9,"mat-progress-bar",7),e.\u0275\u0275pipe(10,"async"),e.\u0275\u0275elementStart(11,"span",8),e.\u0275\u0275text(12),e.\u0275\u0275pipe(13,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"i",9),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onPanelClose()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(15,Kf,2,2,"div",10),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngClass",t.length?"flex":"hidden"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiIcon",i.expanded?"collapse_all":"expand_all"),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate2(" ",e.\u0275\u0275pipeBind1(6,7,i.dbxSyncStatusBarService.completedCount$)," of ",t.length," "),e.\u0275\u0275advance(4),e.\u0275\u0275property("value",e.\u0275\u0275pipeBind1(10,9,i.dbxSyncStatusBarService.totalProgress$)),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(13,11,i.dbxSyncStatusBarService.totalProgress$),"% "),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.expanded)}}function Qf(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Zf,16,13,"div",1),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.length)}}let uo=class{constructor(a){this.dbxSyncStatusBarService=a,this.expanded=!0}ngOnInit(){this.dbxSyncStatusBarService.totalProgress$.pipe((0,wt.t)(this),(0,Qn.x)(),(0,Yt.h)(a=>100===a)).subscribe(()=>this.expanded=!0)}onOrderClosed(a){this.dbxSyncStatusBarService.unsubscribeOrder(a)}onPanelClose(){this.dbxSyncStatusBarService.unsubscribeAllOrders()}onOrderListToggle(){this.expanded=!this.expanded}trackBy(a,t){return t.orderId}};uo.\u0275fac=function(a){return new(a||uo)(e.\u0275\u0275directiveInject(U.XXx))},uo.\u0275cmp=e.\u0275\u0275defineComponent({type:uo,selectors:[["tn-dbx-sync-status-bar"]],decls:2,vars:3,consts:[[4,"ngIf"],["class","status-bar",3,"ngClass",4,"ngIf"],[1,"status-bar",3,"ngClass"],[1,"curs
1or-pointer","text-gray-30",3,"uiIcon","click"],[1,"body","text-gray-30","ml-12","whitespace-nowrap"],[1,"body","text-gray-30","mx-8","whitespace-nowrap"],[1,"body","text-gray-30","mr-12"],["mode","determinate",1,"rounded",3,"value"],[1,"body-semibold","text-white","ml-8"],["uiIcon","close","matTooltipPosition","above","matTooltip","Close panel",1,"cursor-pointer","text-gray-30","ml-12",3,"click"],["class","orders-list pl-16 pr-20 py-8",4,"ngIf"],[1,"orders-list","pl-16","pr-20","py-8"],[3,"title","status","progress","orderId","closed",4,"ngFor","ngForOf","ngForTrackBy"],[3,"title","status","progress","orderId","closed"]],template:function(a,t){1&a&&(e.\u0275\u0275template(0,Qf,2,1,"ng-container",0),e.\u0275\u0275pipe(1,"async")),2&a&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,t.dbxSyncStatusBarService.statusItems$))},directives:[S.NgIf,S.NgClass,mt.a,fm.pW,Lt.gM,S.NgForOf,Wf],pipes:[S.AsyncPipe],styles:["[_nghost-%COMP%]{position:sticky;pointer-events:none;left:0;right:0;bottom:2rem;display:flex;justify-content:center;position:fixed;min-height:40px;z-index:1001}[_nghost-%COMP%] .mat-progress-bar-buffer{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}[_nghost-%COMP%] .mat-progress-bar-fill:after{background-color:#3f51b5}.status-bar[_ngcontent-%COMP%]{position:relative;height:2.5rem;align-items:center;padding-left:.75rem;padding-right:.75rem;pointer-events:auto;border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity, 1));width:600px}.orders-list[_ngcontent-%COMP%]{left:0;right:0;overflow:auto;border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(51 51 51 / var(--tw-bg-opacity, 1));position:absolute;bottom:41px;width:600px;max-height:336px}"],changeDetection:0}),uo=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[U.XXx])],uo);const Jf=["scrollContainer"];function Yf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-create-order-button",18),e.\u0275\u0275listener("orderCreated",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onOrderCreated(o)}),e.\u0275\u0275elementEnd()}}function Xf(r,a){1&r&&e.\u0275\u0275element(0,"tn-order-management-promo-banner",19)}function qf(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-orders-required-actions",20),e.\u0275\u0275listener("columnsChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onColumnsChanged(o)})("toggleViewOrderDetails",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onActiveOrderToggle(o.id)}),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("orders",e.\u0275\u0275pipeBind1(1,4,t.unscheduledOrders$))("orderManagementColumns",t.tableStateService.orderManagementColumns)("activeOrderId",e.\u0275\u0275pipeBind1(2,6,t.activeOrderId$))("selection",t.selectedOrderIds)}}function ev(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-orders-table",25),e.\u0275\u0275listener("columnsChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).onColumnsChanged(o)})("toggleViewOrderDetails",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).onActiveOrderToggle(o.id)}),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2).$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("activeOrderId",e.\u0275\u0275pipeBind1(1,8,i.activeOrderId$))("dataSource",t.dataSource)("isAccountingConnected",e.\u0275\u0275pipeBind1(2,10,i.isAccountingConnected$))("columns",i.tableStateService.orderManagementColumns)("readOnly",i.readOnlyMode)("selection",i.selectedOrderIds)("showYear","search"===t.value)("tableId","orders"+t.label)}}function tv(r,a){if(1&r&&e.\u0275\u0275template(0,ev,3,12,"tn-orders-table",24),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("ngIf",t.dataSource)}}function nv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-expansion-panel",21),e.\u0275\u0275listener("closed",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().onPanelStateChanged(l.value,!1)})("opened",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().onPanelStateChanged(l.value,!0)}),e.\u0275\u0275elementStart(1,"mat-expansion-panel-header")(2,"mat-panel-title"),e.\u0275\u0275element(3,"tn-orders-accordion-header-title",22),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(4,tv,1,1,"ng-template",23),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("expanded",i.tableStateService.ordersTableState.viewState.accordions[t.value])("cdkDropListData",t.value),e.\u0275\u0275advance(3),e.\u0275\u0275property("addOrdersPostfix",!0)("type",t.value)("label",t.label)("count",null==t.dataSource?null:t.dataSource.length)}}function iv(r,a){1&r&&e.\u0275\u0275element(0,"tn-order-sidebar-look-toggle",19)}function rv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",26),e.\u0275\u0275element(1,"tn-admin-active-order-details-sync-state",27),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementStart(3,"div",28)(4,"div",29),e.\u0275\u0275template(5,iv,1,0,"tn-order-sidebar-look-toggle",6),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"tn-order-details-form",30),e.\u0275\u0275listener("closePanel",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onActiveOrderToggle()}),e.\u0275\u0275pipe(7,"async"),e.\u0275\u0275pipe(8,"async"),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("requestStatus",e.\u0275\u0275pipeBind1(2,5,t.dataSavingStatus$)),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",!t.isNewSidebarEnabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("orderId",e.\u0275\u0275pipeBind1(7,7,t.activeOrderId$))("isLimitedContractorAcce
1ss",e.\u0275\u0275pipeBind1(8,9,t.limitedContractorAccess$))("isLimitedStaffAccess",e.\u0275\u0275pipeBind1(9,11,t.isLimitedStaffAccess$))}}function ov(r,a){if(1&r&&(e.\u0275\u0275element(0,"tn-order-bulk-actions",31),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275pipe(2,"async")),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("orders",e.\u0275\u0275pipeBind1(1,5,t.allOrders$))("selection",t.selectedOrderIds)("selected",t.selectedOrderIds.selected)("orderStatuses",e.\u0275\u0275pipeBind1(2,7,t.orderStatuses$))("paymentStatuses",t.paymentStatuses)}}function av(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-dbx-sync-status-bar"),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275styleProp("bottom",t.selectedOrderIds.selected.length>0?"5rem":"2rem")}}const go={search:null,dateOption:"mostRecent",dates:null,services:[],memberIds:[],bookingFlows:[],paymentStatuses:[],escalatedOrders:!1,ordersWithCompletedTasksOnly:!1},sv={limitedContractorAccess:!0,firstOrderId:null,lastOrderId:null,prevPageIndex:0,pageIndex:0,pageSize:50,filterObject:Object.assign({},go),orders:[],pageToOrderIds:[],totalOrders:0,activeOrderId:null,singleOrderViewMode:!1,isLoading:!1};let Wn=class extends qn.uK{constructor(a,t,i,o,l,h,y,F,te,H,re,ve,ie,Ee,Fe,ke,rt,st){var at,kt;super(sv,st),this.tableStateService=a,this.router=t,this.location=i,this.activatedRoute=o,this.localStorage=l,this.appConfigService=h,this.authService=y,this.algoliaSearchService=F,this.permissionsService=te,this.statsDocumentService=H,this.ordersRequiredActionsService=re,this.ordersRepositoryService=ve,this.dbxSyncStatusBarService=ie,this.selectedOrderDetailsComponentStore=Ee,this.accountingAuthComponentStore=Fe,this.orderDialogPreferenceService=ke,this.uiUsageTracker=rt,this.selectedOrderIds=new Kn.Ov(!0,[]),this.pageSizeOptions=[25,50,100,200,300,500],this.filterOptions={enableServices:!0,enableBookingFlows:!0,enablePaymentStatuses:!0},this.paymentStatuses=(0,ge.C0F)(this.appConfigService.paymentStatuses,null===(at=this.appConfigService.localization)||void 0===at?void 0:at.language),this.isAccountingConnected$=this.accountingAuthComponentStore.isAccountingConnected$,this.pageIndex$=this.select(({pageIndex:ot})=>ot),this.pageSize$=this.select(({pageSize:ot})=>ot),this.totalOrders$=this.select(({totalOrders:ot})=>ot),this.filterObject$=this.select(({filterObject:ot})=>ot),this.search$=this.select(this.filterObject$,({search:ot})=>ot),this.activeOrderId$=this.select(({activeOrderId:ot})=>ot),this.isLoading$=this.select(({isLoading:ot})=>ot),this.orders$=this.select(({orders:ot})=>ot),this.limitedContractorAccess$=this.select(({limitedContractorAccess:ot})=>ot),this.singleOrderViewMode$=this.select(({singleOrderViewMode:ot})=>ot),this.isPaginationDisabled$=this.select(this.isLoading$,this.singleOrderViewMode$,(ot,Ct)=>ot||Ct),this.orderStatuses$=(0,Rn.of)((0,ge.C0F)(this.appConfigService.orderStatuses,null===(kt=this.appConfigService.localization)||void 0===kt?void 0:kt.language)),this.ordersByStatus$=this.select(this.orderStatuses$,this.orders$,this.search$,(ot,Ct,Wt)=>Wt?[{label:"Search",value:"search",dataSource:Ct}]:ot.map(Rt=>({label:Rt.label,value:Rt.value,dataSource:Ct.filter(Tn=>Tn.orderStatus===Rt.value)}))),this.unscheduledOrders$=this.ordersRequiredActionsService.orders$,this.isLimitedStaffAccess$=this.authService.isLimitedStaffAccess$,this.dbxStatusItems$=this.dbxSyncStatusBarService.statusItems$,this.dataSavingStatus$=this.selectedOrderDetailsComponentStore.dataSavingStatus$,this.allOrders$=(0,ln.aj)([this.ordersRequiredActionsService.orders$,this.orders$]).pipe((0,qe.U)(([ot,Ct])=>(0,Tr.uniqBy)([...ot,...Ct],"id"))),this.loadOrders=this.effect(ot=>ot.pipe((0,_i.M)(this.state$),(0,qe.U)(([Ct,Wt])=>Wt),(0,Ht.b)(()=>this.startLoading()),(0,St.w)(Ct=>this.subscribePageOrders(Ct).pipe((0,Xt._b)(Wt=>{if(Ct.filterObject.ordersWithCompletedTasksOnly){const Rt=["inProgress","pending","postponed"];Wt=Wt.filter(Tn=>Tn.taskSummary).filter(Tn=>Rt.includes(Tn.orderStatus)).filter(Tn=>this.hasAllTasksCompleted(Tn.taskSummary))}this.setOrders(Wt,Ct.pageIndex,Ct.pageSize),this.endLoading()}
1,Wt=>{console.error(Wt),this.endLoading()}))))),this.setLimitedContractorAccess=this.effect(ot=>ot.pipe((0,St.w)(()=>this.authService.isLimitedContractorAccess$),(0,Ht.b)(Ct=>{this.patchState({limitedContractorAccess:Ct})}))),this.setTotalOrdersCount=this.effect(ot=>ot.pipe((0,St.w)(()=>this.statsDocumentService.get$()),(0,Ht.b)(Ct=>{var Wt;this.patchState({totalOrders:null!==(Wt=null==Ct?void 0:Ct.totalOrders)&&void 0!==Wt?Wt:99})}))),this.syncFilterStateToOtherServices=this.effect(ot=>ot.pipe((0,St.w)(()=>this.filterObject$),(0,Ht.b)(Ct=>{this.allowManagementUnscheduledOrders&&this.ordersRequiredActionsService.setFilter(Ct),Ct.search&&this.tableStateService.setPanelsState({search:!0})}))),this.clearSelectedOrders=this.effect(ot=>ot.pipe((0,St.w)(()=>(0,ln.aj)([this.pageIndex$,this.pageSize$])),(0,Ht.b)(()=>this.selectedOrderIds.clear()))),this.backupFilter=this.effect(ot=>ot.pipe((0,St.w)(()=>this.filterObject$),(0,Ht.b)(Ct=>{this.localStorage.store("orderFilterObject",Ct)}))),this.backupPageSize=this.effect(ot=>ot.pipe((0,St.w)(()=>this.pageSize$),(0,Ht.b)(Ct=>{this.localStorage.store("pageSize",Ct)}))),this.replaceUrl=this.effect(ot=>ot.pipe((0,St.w)(()=>(0,ln.aj)([this.filterObject$,this.activeOrderId$])),(0,Ht.b)(([Ct,Wt])=>{const Rt=this.router.createUrlTree(["."],{queryParams:{orderId:Wt,filter:JSON.stringify(Ct)},relativeTo:this.activatedRoute}).toString();this.location.replaceState(Rt)})))}get currentUserId(){return this.authService.currentUser.uid}get readOnlyMode(){return this.permissionsService.permissions===He.Pv.CONTRACTOR}get allowManagementUnscheduledOrders(){return this.appConfigService.allowManagementUnscheduledOrders}get showOrderManagementPromo(){return this.appConfigService.showOrderManagementBeta}get isNewSidebarEnabled(){return this.orderDialogPreferenceService.isModernVariant}trackByValue(a,t){return t.value}restorePageAndFilter(){const a=this.localStorage.retrieve("pageSize");if(a&&this.patchState({pageSize:a}),this.activatedRoute.snapshot.queryParamMap.get("resetFilter"))return void this.patchState({pageIndex:0,filterObject:Object.assign({},go),singleOrderViewMode:!1});let i;try{const o=this.activatedRoute.snapshot.queryParamMap.get("filter");o&&(i=JSON.parse(o))}catch(o){console.log(o)}i||(i=this.localStorage.retrieve("orderFilterObject")),i&&this.updateFilter(i)}restoreActiveOrder(){const a=this.activatedRoute.snapshot.queryParamMap.get("orderId")||this.tableStateService.ordersTableState.activeOrderId;if(a){if(!(0,ge.KyJ)(a))return void(this.tableStateService.ordersTableState.activeOrderId="");this.patchState({activeOrderId:a,singleOrderViewMode:this.tableStateService.isFirstTimeLoad()})}}initializeUnscheduledOrders(){this.allowManagementUnscheduledOrders&&this.ordersRequiredActionsService.initUnscheduledOrders()}ngOnInit(){this.uiUsageTracker.pageOpened("om-page-legacy"),this.tableStateService.setOrderManagementColumns(),this.tableStateService.setOrdersPanelsState(),this.restorePageAndFilter(),this.setLimitedContractorAccess(),this.setTotalOrdersCount(),this.syncFilterStateToOtherServices(),this.clearSelectedOrders(),this.backupFilter(),this.backupPageSize(),this.replaceUrl(),this.restoreActiveOrder(),this.initializeUnscheduledOrders(),this.tableStateService.markAsLoaded(),this.loadOrders()}ngOnDestroy(){this.tableStateService.ordersTableState.scrollPos=this.scrollContainerRef.nativeElement.scrollTop||0,this.tableStateService.ordersTableState.activeOrderId=this.get().activeOrderId||"",this.tableStateService.savePanelState()}ngAfterViewInit(){this.tableStateService.ordersTableState.scrollPos&&this.scrollContainerRef.nativeElement.scroll({top:this.tableStateService.ordersTableState.scrollPos})}onAccordionToggle(a){a?this.accordionComponent.closeAll():this.accordionComponent.openAll()}onColumnsChanged(a){this.tableStateService.orderManagementColumnChange(a)}onPanelStateChanged(a,t=!1){this.tableStateService.setPanelState(a,t)}setSingleOrderViewModel(a){this.patchState({prevPageIndex:0,pageIndex:0,activeOrderId:a,singleOrderViewMode:!0,orders:[]})}setActiveOrder(a){this.patchState({activeOrderId:a})}updatePage(a,t,i){this.patchState({prevPageIndex:a,pageIndex:t,pageSize:i,singleOrderViewMode:!1})}updateFilter(a){const t=this.pickFilterOptions(a);t.search&&(t.escalatedOrders=!1,t.ordersWithCompletedTasksOnly=!1),t.dates&&(t.dates={startDate:w()(t.dates.startDate),endDate:w()(t.dates.endDate)}),t.dateOption||(t.dateOption="mostRecent"),a.search&&!this.get().filterObject.search&&this.patchState({orders:[]}),this.patchState({pageIndex:0,filterObject:Object.assign(Object.assign({},this.get().filterObject),t),singleOrderViewMode:!1})}
1startLoading(){this.patchState({isLoading:!0})}endLoading(){this.patchState({isLoading:!1})}setOrders(a,t,i){var o,l;const h=this.get().activeOrderId,y=a.some(F=>F.id===h);this.patchState({orders:a,activeOrderId:y?h:null,pageToOrderIds:[...this.get().pageToOrderIds.slice(0,t),{firstOrderId:null===(o=a[0])||void 0===o?void 0:o.id,lastOrderId:null===(l=a[i-1])||void 0===l?void 0:l.id}]})}onOrderCreated(a){this.setSingleOrderViewModel(a),this.loadOrders()}onPageChanged({previousPageIndex:a,pageIndex:t,pageSize:i}){const{pageSize:o}=this.get();i!==o&&(t=0),this.updatePage(null!=a?a:0,t,i),this.loadOrders()}onFilterChanged(a){this.updateFilter(a),this.loadOrders()}onActiveOrderToggle(a){if(this.get().singleOrderViewMode)return this.patchState({activeOrderId:null,singleOrderViewMode:!1}),void this.loadOrders();a||(this.setActiveOrder(null),this.patchState({activeOrderId:null}));const t=this.get().activeOrderId===a?null:null!=a?a:null;this.setActiveOrder(t)}hasAllTasksCompleted(a){const{complete:t}=a,o=(0,De._T)(a,["complete","archived"]);return(null==t?void 0:t.length)&&Object.values(o).every(l=>!(null==l?void 0:l.length))}subscribePageOrders(a){var t;return a.singleOrderViewMode&&a.activeOrderId?this.watchOrdersByIds([a.activeOrderId]):((a.filterObject.escalatedOrders||a.filterObject.ordersWithCompletedTasksOnly)&&(a=Object.assign(Object.assign({},a),{pageSize:500})),a.filterObject.search?this.searchAlgoliaOrders(a):"scheduledDate"===a.filterObject.dateOption&&(null===(t=a.filterObject.dates)||void 0===t?void 0:t.startDate)||a.filterObject.escalatedOrders?this.getAlgoliaOrders(a):this.getOrdersByQuery(a))}watchOrdersByIds(a){return a.length?this.ordersRepositoryService.getManyByIds$(a).pipe((0,qe.U)(t=>t.filter(Boolean))):(0,Rn.of)([])}getOrdersByQuery(a){var t,i;const{query:o,sorting:l}=this.buildDatabaseQueryParams(a.filterObject);let h,y;return a.pageIndex>a.prevPageIndex?h=null===(t=a.pageToOrderIds[a.pageIndex-1])||void 0===t?void 0:t.lastOrderId:a.pageIndex<a.prevPageIndex&&(y=null===(i=a.pageToOrderIds[a.pageIndex])||void 0===i?void 0:i.firstOrderId),0===a.pageIndex||h||y?this.ordersRepositoryService.getByQueryWithPagination$(o,l,a.pageSize,h,y):(0,Rn.of)([])}searchAlgoliaOrders(a){return(0,zt.D)(this.algoliaSearchService.orderIndex.search(a.filterObject.search,{page:a.pageIndex,hitsPerPage:a.pageSize,attributesToRetrieve:["orderNo"],restrictSearchableAttributes:["client_full_name","coupon","brokerage_code","property_address.formatted_address","property_address.line2","email","order_name","contact_notes","packages","listingAgents","services","invoiceNo","orderNo"],allowTyposOnNumericTokens:!1,filters:this.buildAlgoliaFilters(a.filterObject),facetFilters:this.buildAlgoliaFacetFilters(a.filterObject)})).pipe((0,St.w)(({hits:t})=>{var i;let o=t.map(h=>h.objectID);const l=null===(i=t.find(h=>h.orderNo&&h.orderNo===a.filterObject.search.trim()))||void 0===i?void 0:i.objectID;return l&&(o=[l,...o.filter(h=>h!==l)]),this.watchOrdersByIds(o)}))}getAlgoliaOrders(a){return(0,zt.D)(this.algoliaSearchService.orderIndex.search("",{page:a.pageIndex,hitsPerPage:a.pageSize,attributesToRetrieve:[],filters:this.buildAlgoliaFilters(a.filterObject),facetFilters:this.buildAlgoliaFacetFilters(a.filterObject)})).pipe((0,St.w)(({hits:t})=>{const i=t.map(o=>o.objectID);return this.watchOrdersByIds(i)}))}buildDatabaseQueryParams(a){const{memberIds:t,services:i,paymentStatuses:o,bookingFlows:l,dates:h}=a,y=[],F=[];if(this.get().limitedContractorAccess?y.push(["members","array-contains",this.currentUserId]):t.length&&y.push(["members","array-contains-any",t]),i.length&&y.push(["services","array-contains-any",i]),o.length&&y.push(["paymentStatus","in",o]),l.length&&y.push(["bookingFlow.id","in",l]),h)switch(a.dateOption){case"mostRecent":y.push(["dateCreated",">=",h.startDate.toDate()],["dateCreated","<=",h.endDate.toDate()]),F.push({key:"dateCreated",dir:"desc"});break;case"scheduledDate":y.push(["date",">=",h.startDate.unix()],["date","<=",h.endDate.unix()]),F.push({key:"date",dir:"desc"});break;case"dueDate":{const te=h.startDate.format(ge.lvo.ISO_DATE),H=h.endDate.clone().add(1,"day").format(ge.lvo.ISO_DATE);y.push(["deadline",">=",te],["deadline","<",H]),F.push({key:"deadline",dir:"asc"});break}}else switch(a.dateOption){case"mostRecent":F.push({key:"orderStatusCode",dir:"asc"},{key:"dateCreated",dir:"desc"});break;case"scheduledDate":F.push({key:"orderStatusCode",dir:"asc"},{key:"date",dir:"desc"});break;case"dueDate":F.push({key:"orderStatusCode",dir:"asc"},{key:"orderDueDateCode",dir:"asc"},{key:"deadline",dir:"asc"})}return{query:y,sorting:F}}buildAlgoliaFilters(a){var t;const i=[];if(null===(t=a.dates)||void 0===t?void 0:t.startDate){const o=(0,ge.u9c)(a.dateOption),l=a.dates.startDate.valueOf(),h=a.dates.endDate.valueOf();i.push("date"===o?`(${o}:${l} TO ${h} OR eventTimestamps:${l} TO ${h})`:"deadline"===o?`deadline_ts:${l} TO ${h}`:`${o}:${l} TO ${h}`)}return a.escalatedOrders&&i.push("isEscalatedTasks:true"),i.join(" AND ")}buildAlgoliaFacetFilters(a){return[(this.get().limitedContractorAcce
1ss?[this.currentUserId]:a.memberIds||[]).map(y=>`members:${y}`),(a.services||[]).map(y=>`services:${y}`),(a.bookingFlows||[]).map(y=>`bookingFlow.id:${y}`),(a.paymentStatuses||[]).map(y=>`paymentStatus:${y}`)].filter(y=>y.length)}pickFilterOptions(a){return{search:a.search,dateOption:a.dateOption||go.dateOption,dates:a.dates,services:a.services||go.services,memberIds:a.memberIds||go.memberIds,bookingFlows:a.bookingFlows||go.bookingFlows,paymentStatuses:a.paymentStatuses||go.paymentStatuses,escalatedOrders:a.escalatedOrders,ordersWithCompletedTasksOnly:a.ordersWithCompletedTasksOnly}}};Wn.\u0275fac=function(a){return new(a||Wn)(e.\u0275\u0275directiveInject(Rl),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(S.Location),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(ir.n2),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.e80),e.\u0275\u0275directiveInject(U.ewU),e.\u0275\u0275directiveInject(U.qQA),e.\u0275\u0275directiveInject(U.AY),e.\u0275\u0275directiveInject(Jp),e.\u0275\u0275directiveInject(U.HVf),e.\u0275\u0275directiveInject(U.XXx),e.\u0275\u0275directiveInject(bn.HU),e.\u0275\u0275directiveInject(Qs.U7),e.\u0275\u0275directiveInject(pr.mO),e.\u0275\u0275directiveInject(U.rUh),e.\u0275\u0275directiveInject(qn.Dz,8))},Wn.\u0275cmp=e.\u0275\u0275defineComponent({type:Wn,selectors:[["tn-order-management"]],viewQuery:function(a,t){if(1&a&&(e.\u0275\u0275viewQuery(Y.pp,5),e.\u0275\u0275viewQuery(Jf,5)),2&a){let i;e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.accordionComponent=i.first),e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.scrollContainerRef=i.first)}},features:[e.\u0275\u0275ProvidersFeature([bn.HU,Jp]),e.\u0275\u0275InheritDefinitionFeature],decls:36,vars:53,consts:[[1,"app-v2","page-wrapper"],[1,"order-management","px-8","sm:px-0"],[1,"order-management__table-container"],["scrollContainer",""],[1,"flex","items-center"],["class","ml-12",3,"orderCreated",4,"ngIf"],["class","ml-auto",4,"ngIf"],[3,"options","isLimitedContractorAccess","filterObject","showCompletedTaskToggle","showEscalatedOrders","showDueDateOption","filterObjectChange"],[3,"orders","orderManagementColumns","activeOrderId","selection","columnsChanged","toggleViewOrderDetails",4,"ngIf"],[1,"app-v2","flex-1",3,"disabled","length","pageSizeOptions","pageIndex","pageSize","page"],["tooltipPosition","left",1,"ml-8",3,"collapsed","toggle"],["cdkDropListGroup",""],["multi","",1,"app-v2","example-headers-align"],["cdkDropList","","cdkDropListSortingDisabled","",3,"expanded","cdkDropListData","closed","opened",4,"ngFor","ngForOf","ngForTrackBy"],[1,"app-v2","pb-28",3,"disabled","length","pageSizeOptions","pageIndex","pageSize","page"],["class","active-order-details ml-2 active-order-bounds",4,"ngIf"],[3,"orders","selection","selected","orderStatuses","paymentStatuses",4,"ngIf"],[3,"bottom",4,"ngIf"],[1,"ml-12",3,"orderCreated"],[1,"ml-auto"],[3,"orders","orderManagementColumns","activeOrderId","selection","columnsChanged","toggleViewOrderDetails"],["cdkDropList","","cdkDropListSortingDisabled","",3,"expanded","cdkDropListData","closed","opened"],[3,"addOrdersPostfix","type","label","count"],["matExpansionPanelContent",""],[3,"activeOrderId","dataSource","isAccountingConnected","columns","readOnly","selection","showYear","tableId","columnsChanged","toggleViewOrderDetails",4,"ngIf"],[3,"activeOrderId","dataSource","isAccountingConnected","columns","readOnly","selection","showYear","tableId","columnsChanged","toggleViewOrderDetails"],[1,"active-order-details","ml-2","active-order-bounds"],[3,"requestStatus"],[1,"card","h-100","overflow-scroll"],[1,"flex","flex-col"],[3,"orderId","isLimitedContractorAccess","isLimitedStaffAccess","closePanel"],[3,"orders","selection","selected","orderStatuses","paymentStatuses"]],template:function(a,t){if(1&a&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2,3)(4,"div",4)(5,"h1"),e.\u0275\u0275text(6,"Orders"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,Yf,1,0,"tn-create-order-button",5),e.\u0275\u0275pipe(8,"async"),e.\u0275\u0275template(9,Xf,1,0,"tn-order-management-promo-banner",6),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"tn-filter-bar",7),e.\u0275\u0275listener("filterObjectChange",function(o){return t.onFilterChanged(o)}),e.\u0275\u0275pipe(11,"async"),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(13,qf,3,8,"tn-orders-required-actions",8),e.\u0275\u0275elementStart(14,"div",4)(15,"mat-paginator",9),e.\u0275\u0275listener("page",function(o){return t.onPageChanged(o)}),e.\u0275\u0275pipe(16,"async"),e.\u0275\u0275pipe(17,"async"),e.\u0275\u0275pipe(18,"async"),e.\u0275\u0275pipe(19,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(20,"tn-collapse-expand-button",10),e.\u0275\u0275listener("toggle",function(o){return t.onAccordionToggle(o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(21,"div",11)(22,"mat-accordion",12),e.\u0275\u0275template(23,nv,5,6,"mat-expansion-panel",13),e.\u0275\u0275pipe(24,"async"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(25,"mat-paginator",14),e.\u0275\u0275listener("page",function(o){return t.onPageChanged(o)}),e.\u0275\u0275pipe(26,"async"),e.\u0275\u0275pipe(27,"async"),e.\u0275\u0275pipe(28,"async"),e.\u0275\u0275pipe(29,"async"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(30,rv,10,13,"div",15),e.\u0275\u0275pipe(31,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(32,ov,3,9,"tn-order-bulk-actions",16),e.\u0275\u0275template(33,av,1,2,"tn-dbx-sync-status-bar",17),e.\u0275\u0275pipe(34,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(35,"tn-order-event-sync-dialog")),2&a){let i;e.\u0275\u0275advance(7),e.\u0275\u0275property("ngIf",!0!==e.\u0275\u0275pipeBind1(8,25,t.limitedContractorAcce
1ss$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.showOrderManagementPromo),e.\u0275\u0275advance(1),e.\u0275\u0275property("options",t.filterOptions)("isLimitedContractorAccess",e.\u0275\u0275pipeBind1(11,27,t.limitedContractorAccess$))("filterObject",e.\u0275\u0275pipeBind1(12,29,t.filterObject$))("showCompletedTaskToggle",!0)("showEscalatedOrders",!0)("showDueDateOption",!0),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.allowManagementUnscheduledOrders),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",e.\u0275\u0275pipeBind1(16,31,t.isPaginationDisabled$))("length",e.\u0275\u0275pipeBind1(17,33,t.totalOrders$))("pageSizeOptions",t.pageSizeOptions)("pageIndex",e.\u0275\u0275pipeBind1(18,35,t.pageIndex$))("pageSize",e.\u0275\u0275pipeBind1(19,37,t.pageSize$)),e.\u0275\u0275advance(5),e.\u0275\u0275property("collapsed",t.tableStateService.ordersTableState.viewState.accordionAllCollapsedState),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",e.\u0275\u0275pipeBind1(24,39,t.ordersByStatus$))("ngForTrackBy",t.trackByValue),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",e.\u0275\u0275pipeBind1(26,41,t.isPaginationDisabled$))("length",e.\u0275\u0275pipeBind1(27,43,t.totalOrders$))("pageSizeOptions",t.pageSizeOptions)("pageIndex",e.\u0275\u0275pipeBind1(28,45,t.pageIndex$))("pageSize",e.\u0275\u0275pipeBind1(29,47,t.pageSize$)),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(31,49,t.activeOrderId$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.selectedOrderIds.selected.length>0&&!t.readOnlyMode),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==(i=e.\u0275\u0275pipeBind1(34,51,t.dbxStatusItems$))?null:i.length)}},directives:[S.NgIf,Ug.n,Qg,Nl,Of,W.NW,Em,n.Fd,Y.pp,S.NgForOf,Y.ib,n.Wj,Y.yz,Y.yK,tm,Y.HS,nm,zs,If.Y,Us.k,Im,uo,Qp],pipes:[S.AsyncPipe],styles:[".page-wrapper[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.page-wrapper[_ngcontent-%COMP%] .mat-content{overflow:visible}.active-order-details[_ngcontent-%COMP%]{width:30%;min-width:30%}.order-management__table-container[_ngcontent-%COMP%]{min-width:70%}@media (max-width: 640px){.card[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:1028;border-radius:0}}"]}),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[String]),(0,De.w6)("design:returntype",void 0)],Wn.prototype,"setSingleOrderViewModel",null),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[Object]),(0,De.w6)("design:returntype",void 0)],Wn.prototype,"setActiveOrder",null),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[Number,Number,Number]),(0,De.w6)("design:returntype",void 0)],Wn.prototype,"updatePage",null),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[Object]),(0,De.w6)("design:returntype",void 0)],Wn.prototype,"updateFilter",null),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[]),(0,De.w6)("design:returntype",void 0)],Wn.prototype,"startLoading",null),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[]),(0,De.w6)("design:returntype",void 0)],Wn.prototype,"endLoading",null),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[Array,Number,Number]),(0,De.w6)("design:returntype",void 0)],Wn.prototype,"setOrders",null),(0,De.gn)([(0,qn.wE)(),(0,De.w6)("design:type",Function),(0,De.w6)("design:paramtypes",[String]),(0,De.w6)("design:returntype",void 0)],Wn.prototype,"onOrderCreated",null),Wn=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[Rl,Qe.F0,S.Location,Qe.gz,ir.n2,U._ZM,U.e80,U.ewU,U.qQA,U.AY,Jp,U.HVf,U.XXx,bn.HU,Qs.U7,pr.mO,U.rUh,qn.Dz])],Wn);var Dm=_(32355);function lv(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",5),e.\u0275\u0275text(1," Pricing version name already exists "),e.\u0275\u0275elementEnd())}let Mm=(()=>{class r{constructor(t,i,o){this.fb=t,this.dialogRef=i,this.data=o,this.isEdit=!1,this.isEdit=!!o.key,this.key=o.key,this.name=o.name,this.existingNames=o.existingNames,this.initForm()}initForm(){var t;this.form=this.fb.group({name:null!==(t=this.name)&&void 0!==t?t:""})}onApply(t){const i=t.trim();!this.isEdit&&this.existingNames.map(o=>o.toLowerCase()).includes(i.toLowerCase())?this.form.controls.name.setErrors({exists:!0}):this.dialogRef.close({key:this.key,name:i})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ee.qu),e.\u0275\u0275directiveInject(ut.so),e.\u0275\u0275directiveInject(ut.WI))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-edit-pricing-version-dialog"]],decls:10,vars:3,consts:[[3,"formGroup"],["formControlName","name","label","Pricing version name","buttonName","Save",3,"apply"],["class","text-12 text-red-50 leading-4",4,"ngIf"],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary","matDialogClose",""],[1,"text-12","text-red-50","leading-4"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"ui-form-group",0)(4,"ui-form-row")(5,"ui-apply-input",1),e.\u0275\u0275listener("apply",function(l){return i.onApply(l)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(6,lv,2,0,"div",2),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(7,"mat-dialog-actions",3)(8,"button",4),e.\u0275\u0275text(9," Cancel "),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",i.isEdit?"Edit":"Add new"," pricing version\n"),e.\u0275\u0275advance(2),e.\u0275\u0275property("formGroup",i.form),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.form.invali
1d))},directives:[Un.A,ut.xY,Fn.H,ee.JL,ee.sg,zn.L,Dm.m,ee.JJ,ee.u,S.NgIf,ut.H8,_t.s,ht.V,ut.ZT],encapsulation:2}),r})(),Pm=(()=>{class r{constructor(t,i){this.elementRef=t,this.ngModel=i}onClick(){this.onEvent()}onInput(){this.onEvent()}onEvent(){const t=this.elementRef.nativeElement,i=this.ngModel.viewModel;if(0===i){let o=t.value.indexOf(i)+1;"."===t.value[o]&&o++,t.setSelectionRange(o,o),t.focus()}}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(e.ElementRef),e.\u0275\u0275directiveInject(ee.On))},r.\u0275dir=e.\u0275\u0275defineDirective({type:r,selectors:[["","uiNgxMaskZeroFix",""]],hostBindings:function(t,i){1&t&&e.\u0275\u0275listener("click",function(){return i.onClick()})("input",function(){return i.onInput()})}}),r})(),cv=(()=>{class r{constructor(){this.servicesChange=new e.EventEmitter,this.packageChipsOptions=[],this.packageChips=[]}ngOnChanges(t){t.serviceIds&&this._mapServicesToChips(this.serviceIds),t.serviceTemplates&&(this.packageChipsOptions=this.serviceTemplates.map(i=>({display:i.name,value:i.serviceId,id:i.serviceId,data:i})))}_mapServicesToChips(t){if(t&&(this.packageChips=[],t)){const i=t.map(o=>{const l=(0,un.Z)(this.serviceTemplates,{serviceId:o});return l?{display:l.name,value:o}:null});this.packageChips=[...(0,gi.Z)(i)]}}emitLinkedServices(){const t=this.packageChips.map(i=>i.value);this.servicesChange.emit(t)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-package-chip-autocomplete-dumb"]],inputs:{serviceTemplates:"serviceTemplates",serviceIds:"serviceIds"},outputs:{servicesChange:"servicesChange"},features:[e.\u0275\u0275NgOnChangesFeature],decls:2,vars:3,consts:[[1,"mb1",3,"onlyFromAutocomplete","ngModel","ngModelChange"],[3,"autocompleteItems"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"tag-input",0),e.\u0275\u0275listener("ngModelChange",function(l){return i.packageChips=l})("ngModelChange",function(){return i.emitLinkedServices()}),e.\u0275\u0275element(1,"tag-input-dropdown",1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275property("onlyFromAutocomplete",!0)("ngModel",i.packageChips),e.\u0275\u0275advance(1),e.\u0275\u0275property("autocompleteItems",i.packageChipsOptions))},directives:[In.m7,ee.JJ,ee.On,In.zP],styles:[""]}),r})();var im=_(45840),Fm=_(14086),dv=_(92338);function pv(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-video-player",5),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("url",t.details.videoEmbed.src)}}function mv(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"img-comparison-slider",6),e.\u0275\u0275element(1,"img",7)(2,"img",8),e.\u0275\u0275elementStart(3,"div",9),e.\u0275\u0275element(4,"i",10),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("src",t.details.imageComparison.beforeSrc,e.\u0275\u0275sanitizeUrl),e.\u0275\u0275advance(1),e.\u0275\u0275property("src",t.details.imageComparison.afterSrc,e.\u0275\u0275sanitizeUrl),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",32)}}function uv(r,a){if(1&r&&e.\u0275\u0275element(0,"gallery",11),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("items",t.images)}}function gv(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",6),e.\u0275\u0275element(1,"div",12),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("uiFroalaView",t.details.detailedDescription.content)}}let _v=(()=>{class r{constructor(t){this.data=t,this.details=this.data.expandedDetails,this.images=this.details.imageGallery.images.map(i=>new Fm.vE({src:i.src,thumb:i.src}))}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ut.WI))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["ng-component"]],decls:9,vars:6,consts:[[1,"mw7","center"],[1,"f5","black-70","measure","mb4","tc","center",3,"innerHtml"],[3,"url",4,"ngIf"],["class","mb4",4,"ngIf"],["class","mb4",3,"items",4,"ngIf"],[3,"url"],[1,"mb4"],["slot","before",3,"src"],["slot","after",3,"src"],["slot","handle",1,"custom-handle"],["uiIcon","compare_arrows",1,"text-white",3,"size"],[1,"mb4",3,"items"],[3,"uiFroalaView"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"div",0),e.\u0275\u0275element(4,"div",1),e.\u0275\u0275template(5,pv,1,1,"ui-video-player",2),e.\u0275\u0275template(6,mv,5,3,"img-comparison-slider",3),e.\u0275\u0275template(7,uv,1,1,"gallery",4),e.\u0275\u0275template(8,gv,2,1,"div",3),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(i.data.service.name),e.\u0275\u0275advance(3),e.\u0275\u0275property("innerHtml",i.data.service.description,e.\u0275\u0275sanitizeHtml),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.details.videoEmbed.enabled&&i.details.videoEmbed.src),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.details.imageComparison.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.details.imageGallery.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.details.detailedDescription.enabled))},directives:[Un.A,ut.xY,S.NgIf,dv.p,mt.a,Fm.vY,Ls.N],styles:["[_nghost-%COMP%] iframe{width:100%;height:400px}"],changeDetection:0}),r})(),hv=(()=>
1{class r{constructor(t){this.dialog=t}open(t){this.dialog.open(_v,{data:t,panelClass:"app-v2",width:"100vw",maxWidth:"100vw",height:"calc(100vh - 80px)",position:{top:"80px"},autoFocus:!1})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(ut.uw))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac,providedIn:"root"}),r})();function fv(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",21)(1,"div",22),e.\u0275\u0275element(2,"img",23),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275property("src",t.expandedDetails.imageComparison.beforeSrc,e.\u0275\u0275sanitizeUrl)}}function vv(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",21)(1,"div",22),e.\u0275\u0275element(2,"img",23),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275property("src",t.expandedDetails.imageComparison.afterSrc,e.\u0275\u0275sanitizeUrl)}}function Cv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",25)(1,"div",26)(2,"i",27),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).removeGalleryItem(l)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275element(3,"img",23),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit;e.\u0275\u0275advance(3),e.\u0275\u0275property("src",t.src,e.\u0275\u0275sanitizeUrl)}}function bv(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",21),e.\u0275\u0275template(1,Cv,4,1,"div",24),e.\u0275\u0275element(2,"div",22)(3,"div",22)(4,"div",22),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.expandedDetails.imageGallery.images)}}function yv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",9)(1,"div",10),e.\u0275\u0275text(2," Vimeo Video Embed "),e.\u0275\u0275elementStart(3,"span",11)(4,"mat-slide-toggle",3),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expandedDetails.videoEmbed.enabled=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(5,"mat-form-field",12)(6,"mat-label"),e.\u0275\u0275text(7,"Video Link"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"input",13),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expandedDetails.videoEmbed.src=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(9,"div",14),e.\u0275\u0275text(10," Before / After Comparison "),e.\u0275\u0275elementStart(11,"span",11)(12,"mat-slide-toggle",3),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expandedDetails.imageComparison.enabled=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(13,"div",12)(14,"div")(15,"div",15),e.\u0275\u0275text(16,"Before"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(17,"tn-file-uploader",16),e.\u0275\u0275listener("fileUploaded",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expandedDetails.imageComparison.beforeSrc=o.downloadURL}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(18,fv,3,1,"div",17),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"div")(20,"div",15),e.\u0275\u0275text(21,"After"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"tn-file-uploader",16),e.\u0275\u0275listener("fileUploaded",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expandedDetails.imageComparison.afterSrc=o.downloadURL}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(23,vv,3,1,"div",17),e.\u0275\u0275elementStart(24,"div",18),e.\u0275\u0275text(25," Image Gallery "),e.\u0275\u0275elementStart(26,"span",11)(27,"mat-slide-toggle",3),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expandedDetails.imageGallery.enabled=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(28,"div",12)(29,"div")(30,"tn-file-uploader",19),e.\u0275\u0275listener("fileUploaded",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().addImageToGallery(o.downloadURL)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(31,bv,5,1,"div",17),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(32,"div",18),e.\u0275\u0275text(33," Detailed description "),e.\u0275\u0275elementStart(34,"span",11)(35,"mat-slide-toggle",3),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expandedDetails.detailedDescription.enabled=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(36,"div",12)(37,"div",20),e.\u0275\u0275listener("froalaModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().expandedDetails.detailedDescription.content=o}),e.\u0275\u0275text(38," Editor "),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.expandedDetails.videoEmbed.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",!t.expandedDetails.videoEmbed.enabled),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngModel",t.expandedDetails.videoEmbed.src),e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.expandedDetails.imageComparison.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",!t.expandedDetails.imageComparison.enabled),e.\u0275\u0275advance(4),e.\u0275\u0275property("type","single")("hideThumbnail",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.expandedDetails.imageComparison.beforeSrc),e.\u0275\u0275advance(4),e.\u0275\u0275property("type","single")("hideThumbnail",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.expandedDetails.imageComparison.afterSrc),e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.expandedDetails.imageGallery.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",!t.expandedDetails.imageGallery.enabled),e.\u0275\u0275advance(2),e.\u0275\u0275property("hideThumbnail",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.expandedDetails.imageGallery.images.length),e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.expandedDetails.detailedDescription.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",!t.expandedDetails.detailedDescription.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("froalaModel",t.expandedDetails.detailedDescription.content)}}function xv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"button",28),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().previewServiceDetails()}),e.\u0275\u0275text(2," Preview Popup "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"button",29),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveExpandedDetails()}),e.\u0275\u0275text(4," Save "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}}let Bm=(()=>
1{class r{constructor(t,i){this.afs=t,this.serviceDetailsModal=i,this.detailsSaved=new e.EventEmitter,this.expandedDetails=null}ngOnChanges(){this.serviceTemplate&&this.serviceTemplate.doc&&this.serviceTemplate.doc.ref?this.serviceTemplate.doc.ref.collection("configurations").doc("expandedDetails").get().then(t=>{if(t.exists){const i=t.data();this.expandedDetails=Object.assign((0,im.Z)(rm),i)}else this._resetExpandedDetails()}):this.expandedDetails=Object.assign((0,im.Z)(rm))}removeGalleryItem(t){(0,sn.Z)(this.expandedDetails.imageGallery.images,t)}previewServiceDetails(){this.serviceDetailsModal.open({service:this.serviceTemplate.data,expandedDetails:this.expandedDetails})}saveExpandedDetails(){const t=this.afs.firestore.batch(),i=this.serviceTemplate.doc.ref.collection("configurations").doc("expandedDetails");t.set(i,this.expandedDetails,{merge:!0}),t.update(this.serviceTemplate.doc.ref,{expandedDetails:this.serviceTemplate.data.expandedDetails}),t.commit().then(()=>this.detailsSaved.emit())}_resetExpandedDetails(){this.expandedDetails=(0,im.Z)(rm)}addImageToGallery(t){this.expandedDetails.imageGallery.images.push({src:t})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(hv))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-expanded-details-config"]],inputs:{serviceTemplate:"serviceTemplate"},outputs:{detailsSaved:"detailsSaved"},features:[e.\u0275\u0275NgOnChangesFeature],decls:12,vars:4,consts:[[1,"card","mt3"],[1,"card-header"],[1,"fr"],[3,"disableRipple","ngModel","ngModelChange"],[1,"text-muted","f7"],[1,"card-body"],["class","mb4",4,"ngIf"],[1,"flex","items-center","gap-8"],[4,"ngIf"],[1,"mb4"],[1,"f6","black-70","fw6"],[1,"dib","ml2","fw5","toggle-position"],[3,"hidden"],["matInput","","placeholder","https://vimeo.com/337610811",3,"ngModel","ngModelChange"],[1,"mt3","f6","mb3","black-70","fw6"],[1,"f7","fw6","black-70"],[3,"type","hideThumbnail","fileUploaded"],["class","mt3 flex flex-wrap",4,"ngIf"],[1,"f6","mv3","black-70","fw6"],[3,"hideThumbnail","fileUploaded"],[3,"froalaModel","uiFroalaEditor","froalaModelChange"],[1,"mt3","flex","flex-wrap"],[1,"image-thumbnail"],[3,"src"],["class","image-thumbnail relative",4,"ngFor","ngForOf"],[1,"image-thumbnail","relative"],[1,"pb1"],["uiIcon","delete",1,"fr",3,"click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1),e.\u0275\u0275text(2," Additional Service Details "),e.\u0275\u0275elementStart(3,"div",2)(4,"mat-slide-toggle",3),e.\u0275\u0275listener("ngModelChange",function(l){return i.serviceTemplate.data.expandedDetails=l}),e.\u0275\u0275text(5,"Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"div",4),e.\u0275\u0275text(7," Allow you customers to open a popup to learn more about your service. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"div",5),e.\u0275\u0275template(9,yv,39,22,"div",6),e.\u0275\u0275elementStart(10,"div",7),e.\u0275\u0275template(11,xv,5,0,"ng-container",8),e.\u0275\u0275elementEnd()()()),2&t&&(e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.serviceTemplate.data.expandedDetails),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",i.expandedDetails&&i.serviceTemplate.data.expandedDetails),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.serviceTemplate.data.expandedDetails))},directives:[Me.Rr,ee.JJ,ee.On,S.NgIf,Et.KE,Et.hX,Pt.Nt,ee.Fj,Kr,S.NgForOf,mt.a,ui.V,_t.s,ht.V],styles:[""]}),r})();const rm={imageComparison:{enabled:!1,beforeSrc:null,afterSrc:null},imageGallery:{enabled:!1,images:[]},videoEmbed:{enabled:!1,src:null},detailedDescription:{enabled:!1,content:""}};function Sv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",45)(1,"button",46,47),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.createPackage(o.packageTemplate)}),e.\u0275\u0275element(3,"i",48),e.\u0275\u0275text(4," Create Package "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275reference(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("size",t.iconSize)}}function Tv(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",49)(1,"div",50)(2,"div",51),e.\u0275\u0275text(3," Please fill in missing or incomplete data: "),e.\u0275\u0275elementStart(4,"b"),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd()()()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate(t.incompletePackageSections)}}function wv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({name:o.packageTemplate.data.name})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function kv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({price:o.packageTemplate.data.price||0})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Ev(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({sendTwoPhotographers:!!o.packageTemplate.data.sendTwoPhotographers})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Ov(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).updateBookingType()}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Iv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({description:o.packageTemplate.data.description||""})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Dv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",55),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3)._saveChipsToPackage()}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}const jm=function(){return[]};function Mv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",26)(1,"div",25),e.\u0275\u0275text(2,"Packaged Services"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"tn-package-chip-autocomplete-dumb",53),e.\u0275\u0275listener("servicesChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).packageTemplate.data.linkedServiceIds=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,Dv,2,0,"button",54),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("serviceIds",t.packageTemplate.data.linkedServiceIds?t.packageTemplate.data.linkedServiceIds:e.\u0275\u0275pureFunction0(3,jm))("serviceTemplates",t.projectService.serviceTemplates),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.packageTemplate.doc)}}function Pv(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",61),e.\u0275\u0275text(1," Packaged Services Default Custom Tiers "),e.\u0275\u0275elementEnd())}function Fv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",62)(1,"div"),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-checkbox",63),e.\u0275\u0275listener("change",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext().$implicit,F=e.\u0275\u0275reference(5);return e.\u0275\u0275nextContext(2).toggleServiceCustomTierDefault(y,F.value,h,o.checked)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext().$implicit,l=e.\u0275\u0275reference(5),h=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.name),e.\u0275\u0275advance(1),e.\u0275\u0275property("checked",h.isServiceCustomTierDefault(o,l.value,i))}}function Av(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",26),e.\u0275\u0275template(1,Pv,2,0,"div",56),e.\u0275\u0275elementStart(2,"div",57),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(4,"ui-select",58,59),e.\u0275\u0275template(6,Fv,4,2,"div",60),e.\u0275\u0275elementStart(7,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({serviceDefaultCustomTierMap:o.serviceDefaultCustomTierMap})}),e.\u0275\u0275text(8," Save "),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.first,o=e.\u0275\u0275reference(5),l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.name," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("items",l.getServiceCustomTiersOptions(t)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngForOf",l.getServiceCustomTiersVersionValues(t,o.value))}}function Bv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();
1e.\u0275\u0275elementStart(0,"tn-expanded-details-config",64),e.\u0275\u0275listener("detailsSaved",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).displaySaveConfirmation()}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("serviceTemplate",t.packageTemplate)}}function jv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-checkbox",68),e.\u0275\u0275listener("change",function(o){const l=e.\u0275\u0275restoreView(t),h=l.index,y=l.$implicit,F=e.\u0275\u0275nextContext(4);return F.onPackageSqFtRangeToggle(o.checked,F.tiersConfig[h-1]||0,y)}),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"uiTierRange"),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("checked",o.isPackageSqFtRangeChecked(o.tiersConfig[i-1]||0,t)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind3(3,2,t,o.tiersConfig[i-1],o.bookingType)," ")}}function Rv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,jv,4,6,"div",39),e.\u0275\u0275elementStart(2,"div",19)(3,"mat-checkbox",68),e.\u0275\u0275listener("change",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(3);return l.onPackageSqFtRangeToggle(o.checked,l.tiersConfig[l.tiersConfig.length-1])}),e.\u0275\u0275text(4),e.\u0275\u0275pipe(5,"uiTierOver"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"button",52),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).updateAvailabilitySqFtRanges()}),e.\u0275\u0275text(7," Save "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.tiersConfig)("ngForTrackBy",t.trackByIndex),e.\u0275\u0275advance(2),e.\u0275\u0275property("checked",t.isLastPackageSqFtRangeChecked(t.tiersConfig[t.tiersConfig.length-1])),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind2(5,4,t.tiersConfig[t.tiersConfig.length-1],t.bookingType)," ")}}function Vv(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1,"Square footage or acreage tiers not set."),e.\u0275\u0275elementEnd())}function Lv(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",65)(1,"div",9),e.\u0275\u0275text(2," Package availability "),e.\u0275\u0275elementStart(3,"div",10),e.\u0275\u0275text(4,"Display package based on square footage or acreage."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",11),e.\u0275\u0275template(6,Rv,8,7,"ng-container",66),e.\u0275\u0275template(7,Vv,2,0,"ng-template",null,67,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275reference(8),i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",i.tiersConfig.length)("ngIfElse",t)}}function Nv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"a",70),e.\u0275\u0275listener("click",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).openEditPricingVersionDialog(o,!0)}),e.\u0275\u0275text(1," Rename "),e.\u0275\u0275elementEnd()}}function $v(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"a",70),e.\u0275\u0275listener("click",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).deletePricingVersion(o)}),e.\u0275\u0275text(1," Delete "),e.\u0275\u0275elementEnd()}}function zv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",69)(1,"a",70),e.\u0275\u0275listener("click",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).openEditPricingVersionDialog(o)}),e.\u0275\u0275text(2,"Add"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Nv,2,0,"a",71),e.\u0275\u0275template(4,$v,2,0,"a",71),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!t.isDefaultPricingVersionSelected()),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!t.isDefaultPricingVersionSelected())}}const $l=function(){return["/admin/booking/general"]};function Uv(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Tiers "),e.\u0275\u0275elementStart(2,"a",72),e.\u0275\u0275text(3,"Edit"),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(1,$l)))}function Hv(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiArea"),e.\u0275\u0275pipe(3,"number"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=t.index,o=t.$implicit,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Tier ",i+1," - Up to ",e.\u0275\u0275pipeBind2(2,2,e.\u0275\u0275pipeBind3(3,5,o,"1.0","en-US"),l.bookingType)," ")}}function Wv(r,a){1&r&&e.\u0275\u0275text(0," Price ")}function Gv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275template(3,Hv,4,9,"
1ng-container",66),e.\u0275\u0275template(4,Wv,1,0,"ng-template",null,73,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"input",74),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext(2);return y.getTiersVersionValues(y.pricingTiers)[h]=o}),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275pipe(8,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.index,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!o.isBranding)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate("name","tier"+(t+1)),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(7,6,""))("placeholder",e.\u0275\u0275pipeBind1(8,8,200))("ngModel",o.getTiersVersionValues(o.pricingTiers)[t])}}function Kv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiArea"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",75),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return l.getTiersVersionValues(l.pricingTiers)[l.tiersConfig.length]=o}),e.\u0275\u0275pipe(6,"uiCurrency"),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" Tier ",t.tiersConfig.length+1," - Over ",e.\u0275\u0275pipeBind2(4,5,t.tiersConfig[t.tiersConfig.length-1]||0,t.bookingType)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(6,8,""))("placeholder",e.\u0275\u0275pipeBind1(7,10,200))("ngModel",t.getTiersVersionValues(t.pricingTiers)[t.tiersConfig.length])}}function Zv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updatePricingTiers(o.pricingTiers)}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Qv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",79)(2,"mat-form-field",80)(3,"mat-label"),e.\u0275\u0275text(4,"Tier Name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",81),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.name=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"mat-form-field",82)(7,"mat-label"),e.\u0275\u0275text(8,"Tier Price"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"input",74),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.price=o}),e.\u0275\u0275pipe(10,"uiCurrency"),e.\u0275\u0275pipe(11,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"mat-form-field",82)(13,"mat-label"),e.\u0275\u0275text(14,"Tier Payout"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"input",83),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.payout=o}),e.\u0275\u0275pipe(16,"uiCurrency"),e.\u0275\u0275pipe(17,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(18,"mat-form-field",82)(19,"mat-label"),e.\u0275\u0275text(20,"Tier Scheduling"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"input",84),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.hrs=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(22,"mat-form-field",82)(23,"mat-label"),e.\u0275\u0275text(24,"Twilight Tier Scheduling"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(25,"input",84),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.twilightHrs=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(26,"mat-form-field",82)(27,"mat-label"),e.\u0275\u0275text(28),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(29,"input",85),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.areaFrom=o})("change",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).onAreaFromChange(l)}),e.\u0275\u0275pipe(30,"uiArea"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(31,"mat-form-field",82)(32,"mat-label"),e.\u0275\u0275text(33),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(34,"input",85),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.areaTo=o})("change",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).onAreaToChange(l)}),e.\u0275\u0275pipe(35,"uiArea"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(36,"div",86)(37,"mat-form-field",87)(38,"mat-label"),e.\u0275\u0275text(39,"Default"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(40,"input",88),e.\u0275\u0275elementStart(41,"mat-checkbox",68),e.\u0275\u0275listener("change",function(o){const l=e.\u0275\u0275restoreView(t),h=l.ngForOf,y=l.$implicit;return e.\u0275\u0275nextContext(3).setDefaultCustomTier(h,y,o.checked)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(42,"i",89),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).removeTier(l)}),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(5),e.\u0275\u0275propertyInterpolate("name","name"+(i+1)),e.\u0275\u0275property("ngModel",t.name),e.\u0275\u0275advance(4),e.\u0275\u0275propertyInterpolate("name","price"+(i+1)),e.\u0275\u0275property("prefix","+"+e.\u0275\u0275pipeBind1(10,27,""))("placeholder","+"+e.\u0275\u0275pipeBind1(11,29,200))("ngModel",t.price),e.\u0275\u0275advance(6),e.\u0275\u0275propertyInterpolate("name","payout"+(i+1)),e.\u0275\u0275property("prefix","+"+e.\u0275\u0275pipeBind1(16,31,""))("placeholder","+"+e.\u0275\u0275pipeBind1(17,33,20))("ngModel",t.payout),e.\u0275\u0275advance(6),e.\u0275\u0275propertyInterpolate("name","hours"+(i+1)),e.\u0275\u0275property("ngModel",t.hrs),e.\u0275\u0275advance(4),e.\u0275\u0275propertyInterpolate("name","twilightHours"+(i+1)),e.\u0275\u0275property("ngModel",t.twilightHrs),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1("",o.getAreaText()," from"),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("name","areaFrom"+(i+1)),e.\u0275\u0275property("placeholder",o.getAreaPlaceholder())("suffix",e.\u0275\u0275pipeBind2(30,35,"",o.bookingType))("disabled",t.isDefault)("ngModel",t.areaFrom),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1("",o.getAreaText()," to"),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("name","areaTo"+(i+1)),e.\u0275\u0275property("placeholder",o.getAreaPlaceholder())("suffix",e.\u0275\u0275pipeBind2(35,38,"",o.bookingType))("disabled",t.isDefault)("ngModel",t.areaTo),e.\u0275\u0275advance(7),e.\u0275\u0275property("checked",t.isDefault||!1)}}function Jv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return o.updateData({customTiers:o.customTiers,enableCustomTiers:!0})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Yv(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div"),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"uiCurrency"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"button",76,77),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).addCustomTier()}),e.\u0275\u0275element(6,"i",48),e.\u0275\u0275text(7," Add Tier "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"form"),e.\u0275\u0275template(9,Qv,43,41,"div",78),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(10,Jv,2,0,"button",17),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(5),i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" For custom tiers, the total price is base price (",e.\u0275\u0275pipeBind1(3,4,i.packageTemplate.data.price),") plus the Tier Price. "),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.getTiersVersionValues(i.customTiers)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc)}}function Xv(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Tiers "),e.\u0275\u0275elementStart(2,"a",72),e.\u0275\u0275text(3,"Edit"),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(1,$l)))}function qv(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiArea"),e.\u0275\u0275pipe(3,"number"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=t.index,o=t.$implicit,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Tier ",i+1," - Up to ",e.\u0275\u0275pipeBind2(2,2,e.\u0275\u0275pipeBind3(3,5,o,"1.0","en-US"),l.bookingType)," ")}}function e1(r,a){1&r&&e.\u0275\u0275text(0," Price ")}function t1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275template(3,qv,4,9,"ng-container",66),e.\u0275\u0275template(4,e1,1,0,"ng-template",null,73,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"input",83),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext(2);return y.getTiersVersionValues(y.payoutTiers)[h]=o}),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275pipe(8,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.index,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!o.isBranding)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate("name","payoutTier"+(t+1)),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(7,6,""))("placeholder",e.\u0275\u0275pipeBind1(8,8,20)
1)("ngModel",o.getTiersVersionValues(o.payoutTiers)[t])}}function n1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiArea"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",90),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return l.getTiersVersionValues(l.payoutTiers)[l.tiersConfig.length]=o}),e.\u0275\u0275pipe(6,"uiCurrency"),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" Tier ",t.tiersConfig.length+1," - Over ",e.\u0275\u0275pipeBind2(4,5,t.tiersConfig[t.tiersConfig.length-1]||0,t.bookingType)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(6,8,""))("placeholder",e.\u0275\u0275pipeBind1(7,10,20))("ngModel",t.getTiersVersionValues(t.payoutTiers)[t.tiersConfig.length])}}function i1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updatePayoutTiers(o.payoutTiers)}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function r1(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Tiers "),e.\u0275\u0275elementStart(2,"a",72),e.\u0275\u0275text(3,"Edit"),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(1,$l)))}function o1(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiArea"),e.\u0275\u0275pipe(3,"number"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=t.index,o=t.$implicit,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Tier ",i+1," - Up to ",e.\u0275\u0275pipeBind2(2,2,e.\u0275\u0275pipeBind3(3,5,o,"1.0","en-US"),l.bookingType)," ")}}function a1(r,a){1&r&&e.\u0275\u0275text(0," Duration ")}function s1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275template(3,o1,4,9,"ng-container",66),e.\u0275\u0275template(4,a1,1,0,"ng-template",null,73,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"input",84),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext(2);return y.getTiersVersionValues(y.hrsTiers)[h]=o}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.index,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!o.isBranding)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate("name","tier"+(t+1)),e.\u0275\u0275property("ngModel",o.getTiersVersionValues(o.hrsTiers)[t])}}function l1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiArea"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",91),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return l.getTiersVersionValues(l.hrsTiers)[l.tiersConfig.length]=o}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" Tier ",t.tiersConfig.length+1," - Over ",e.\u0275\u0275pipeBind2(4,3,t.tiersConfig[t.tiersConfig.length-1]||0,t.bookingType)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngModel",t.getTiersVersionValues(t.hrsTiers)[t.tiersConfig.length])}}function c1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateSchedulingTiers(o.hrsTiers)}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function d1(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Tiers "),e.\u0275\u0275elementStart(2,"a",72),e.\u0275\u0275text(3,"Edit"),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(1,$l)))}
1function p1(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiArea"),e.\u0275\u0275pipe(3,"number"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=t.index,o=t.$implicit,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Tier ",i+1," - Up to ",e.\u0275\u0275pipeBind2(2,2,e.\u0275\u0275pipeBind3(3,5,o,"1.0","en-US"),l.bookingType)," ")}}function m1(r,a){1&r&&e.\u0275\u0275text(0," Duration ")}function u1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275template(3,p1,4,9,"ng-container",66),e.\u0275\u0275template(4,m1,1,0,"ng-template",null,73,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"input",84),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext(2);return y.getTiersVersionValues(y.twilightHrsTiers)[h]=o}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.index,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!o.isBranding)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate("name","tier"+(t+1)),e.\u0275\u0275property("ngModel",o.getTiersVersionValues(o.twilightHrsTiers)[t])}}function g1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiArea"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",91),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return l.getTiersVersionValues(l.twilightHrsTiers)[l.tiersConfig.length]=o}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" Tier ",t.tiersConfig.length+1," - Over ",e.\u0275\u0275pipeBind2(4,3,t.tiersConfig[t.tiersConfig.length-1]||0,t.bookingType)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngModel",t.getTiersVersionValues(t.twilightHrsTiers)[t.tiersConfig.length])}}function _1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",52),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateTwilightSchedulingTiers(o.twilightHrsTiers)}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function h1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",7)(1,"div",9),e.\u0275\u0275text(2," Photographer Workflow "),e.\u0275\u0275elementStart(3,"div",10),e.\u0275\u0275text(4,"Configure photographer workflow"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",11)(6,"div",92)(7,"div",93)(8,"div",94)(9,"div",95)(10,"div",82),e.\u0275\u0275text(11,"Photographer Checklist"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"tn-checklist-group",96),e.\u0275\u0275listener("checklistsChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).savePhotographerChecklist(o.checklists)}),e.\u0275\u0275elementEnd()()()()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(12),e.\u0275\u0275property("checklists",t.photographerChecklists)("showChecklistTitle",!1)}}function f1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",92)(1,"div",97)(2,"div",7)(3,"div",9),e.\u0275\u0275text(4," Notifications "),e.\u0275\u0275elementStart(5,"div",10),e.\u0275\u0275text(6," Notify the selected users when this package is created by someone else "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"div",11)(8,"tn-notify-users-chips",98),e.\u0275\u0275listener("membersChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).packageTemplate.data.notifyMembers=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",55),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({notifyMembers:o.packageTemplate.data.notifyMembers||[]})}),e.\u0275\u0275text(10," Save "),e.\u0275\u0275elementEnd()()()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(8),e.\u0275\u0275property("notificationMembersArray",t.packageTemplate.data.notifyMembers?t.packageTemplate.data.notifyMembers:e.\u0275\u0275pureFunction0(1,jm))}}function v1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275template(1,Sv,5,1,"div",3),e.\u0275\u0275elementStart(2,"button",4,5),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().location.back()}),e.\u0275\u0275element(4,"i",6),e.\u0275\u0275text(5," Back "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",7),e.\u0275\u0275template(7,Tv,6,1,"div",8),e.\u0275\u0275elementStart(8,"div",9),e.\u0275\u0275text(9," General "),e.\u0275\u0275elementStart(10,"div",10),e.\u0275\u0275text(11," Booking information regarding your package which will be displayed to your customers. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"div",11)(13,"div",12)(14,"div",13),e.\u0275\u0275text(15,"Thumbnail"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"div",14),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.changeThumbnail(o.packageTemplate)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(17,"div",15)(18,"mat-form-field")(19,"mat-label"),e.\u0275\u0275text(20,"Name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"input",16),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().packageTemplate.data.name=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(22,wv,2,0,"button",17),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(23,"div",15)(24,"mat-form-field")(25,"mat-label"),e.\u0275\u0275text(26,"Price"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(27,"input",18),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().packageTemplate.data.price=o}),e.\u0275\u0275pipe(28,"uiCurrency"),e.\u0275\u0275pipe(29,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(30,kv,2,0,"button",17),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(31,"div",19)(32,"div",20),e.\u0275\u0275text(33,"Send 2 photographers (Full shoot time)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(34,"div",21),e.\u0275\u0275text(35," Applies to daylight-only packages. Shooting duration remains unchanged. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(36,"div",22)(37,"mat-slide-toggle",23),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().packageTemplate.data.sendTwoPhotographers=o}),e.\u0275\u0275text(38," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(39,Ev,2,0,"button",17),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(40,"div",19)(41,"div",20),e.\u0275\u0275text(42,"Type"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(43,"div",21),e.\u0275\u0275text(44," Select type to to use this to book property or non-property related work (eg: land lot or branding or headsh
1ots). "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(45,"div",22)(46,"ui-select",24),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingType=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(47,Ov,2,0,"button",17),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(48,"div",25),e.\u0275\u0275text(49,"Description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(50,"div",26)(51,"div",27),e.\u0275\u0275listener("froalaModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().packageTemplate.data.description=o}),e.\u0275\u0275text(52," Editor "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(53,Iv,2,0,"button",17),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(54,Mv,5,4,"div",28),e.\u0275\u0275template(55,Av,9,4,"div",29),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(56,Bv,1,1,"tn-expanded-details-config",30),e.\u0275\u0275template(57,Lv,9,2,"div",31),e.\u0275\u0275elementStart(58,"div",32)(59,"div",7)(60,"div",9),e.\u0275\u0275text(61," Pricing "),e.\u0275\u0275element(62,"div",10),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(63,"div",11)(64,"div",33)(65,"ui-select",34),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().selectTiersVersion(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(66,zv,5,2,"div",35),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(67,"div")(68,"mat-slide-toggle",36),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().packageTemplate.data.enableCustomTiers=o}),e.\u0275\u0275text(69," Use custom tiers "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(70,"div",37),e.\u0275\u0275template(71,Uv,4,2,"div",2),e.\u0275\u0275elementStart(72,"div",38)(73,"form"),e.\u0275\u0275template(74,Gv,9,10,"div",39),e.\u0275\u0275template(75,Kv,8,12,"div",40),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(76,Zv,2,0,"button",17),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(77,Yv,11,6,"div",2),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(78,"div",37)(79,"div",7)(80,"div",9),e.\u0275\u0275text(81,"Payout"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(82,"div",11),e.\u0275\u0275template(83,Xv,4,2,"div",2),e.\u0275\u0275elementStart(84,"div",38)(85,"form",41),e.\u0275\u0275template(86,t1,9,10,"div",42),e.\u0275\u0275template(87,n1,8,12,"div",40),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(88,i1,2,0,"button",17),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(89,"div",37)(90,"div",7)(91,"div",9),e.\u0275\u0275text(92," Scheduling "),e.\u0275\u0275element(93,"div",10),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(94,"div",11),e.\u0275\u0275template(95,r1,4,2,"div",2),e.\u0275\u0275elementStart(96,"div",38)(97,"form",41),e.\u0275\u0275template(98,s1,7,4,"div",39),e.\u0275\u0275template(99,l1,6,6,"div",40),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(100,c1,2,0,"button",17),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(101,"div",37)(102,"div",7)(103,"div",9),e.\u0275\u0275text(104," Twilight Scheduling "),e.\u0275\u0275element(105,"div",10),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(106,"div",11),e.\u0275\u0275template(107,d1,4,2,"div",2),e.\u0275\u0275elementStart(108,"div",38)(109,"form",41),e.\u0275\u0275template(110,u1,7,4,"div",39),e.\u0275\u0275template(111,g1,6,6,"div",40),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(112,_1,2,0,"button",17),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275template(113,h1,13,2,"div",43),e.\u0275\u0275template(114,f1,11,2,"div",44),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.packageTemplate.doc),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.incompletePackageSections),e.\u0275\u0275advance(9),e.\u0275\u0275styleProp("background-image",i.packageTemplate.data.img?"url("+i.packageTemplate.data.img+")":""),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngModel",i.packageTemplate.data.name),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(5),e.\u0275\u0275property("placeholder",e.\u0275\u0275pipeBind1(28,55,300))("prefix",e.\u0275\u0275pipeBind1(29,57,""))("ngModel",i.packageTemplate.data.price),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.packageTemplate.data.sendTwoPhotographers),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(7),e.\u0275\u0275property("items",i.bookingTypeOptions)("ngModel",i.bookingType),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(4),e.\u0275\u0275property("froalaModel",i.packageTemplate.data.description),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.data&&i.projectService.serviceTemplates),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.getServicesWithCustomTiers()),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate&&i.packageTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc&&!i.isBranding),e.\u0275\u0275advance(8),e.\u0275\u0275property("items",i.getTiersVersionOptions())("value",i.getSelectedTiersVersion())("disabled",i.isCustomPackage()),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isCustomPackage()),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.packageTemplate.data.enableCustomTiers),e.\u0275\u0275advance(2),e.\u0275\u0275property("hidden",i.packageTemplate.data.enableCustomTiers),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.tiersConfig)("ngForTrackBy",i.trackByIndex),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.data.enableCustomTiers),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.packageTemplate.data.enableCustomTiers),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.tiersConfig),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.packageTemplate.data.enableCustomTiers),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.tiersConfig)("ngForTrackBy",i.trackByIndex),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.packageTemplate.data.enableCustomTiers),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.tiersConfig)("ngForTrackBy",i.trackByIndex),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate.doc)}}let Rm=(()=>
1{class r{constructor(t,i,o,l,h,y,F,te,H,re,ve){this.fileLibraryDialog=t,this.activatedRoute=i,this.afs=o,this.snackBar=l,this.dialog=h,this.location=y,this.bookingService=F,this.projectService=te,this.confirmDialogService=H,this.appConfigService=re,this.brokeragesRepositoryService=ve,this.bookingConfig=null,this.bookingFlows=[],this.bookingType=He.cY.PROPERTY,this.prevBookingType=He.cY.PROPERTY,this.pricingTiers=(0,ge.fKd)([]),this.payoutTiers=(0,ge.fKd)([]),this.hrsTiers=(0,ge.fKd)([]),this.twilightHrsTiers=(0,ge.fKd)([]),this.customTiers=(0,ge.fKd)([{name:"",price:null,payout:null,isDefault:!1}]),this.serviceDefaultCustomTierMap={},this.availabilitySqFtRanges=null,this.pricingVersionNames={default:"Default"},this.selectedTiersVersion="default",this.bookingTypeOptions=[{name:"Property",value:He.cY.PROPERTY},{name:"Land Lot",value:He.cY.LANDLOT},{name:"Branding",value:He.cY.BRANDING}],this.cachedTiersVersionOptions=[],this.cachedTiersVersionOptionsKey="",this.cachedServiceTiersOptions={},this.serviceTypes=this.appConfigService.serviceTypes,this.photographerChecklists=[],this.incompletePackageSections=""}get isBranding(){return this.bookingType===He.cY.BRANDING}ngOnInit(){var t;return(0,De.mG)(this,void 0,void 0,function*(){const i=this.afs.collection("globals").doc("booking").get().pipe((0,Nt.q)(1),(0,qe.U)(o=>o.exists?o.data():null));this.bookingConfig=null!==(t=yield i.toPromise())&&void 0!==t?t:null,this.projectService.getBookingFlows().subscribe(o=>{this.bookingFlows=o,this.incompletePackageSections=(0,ge.D4l)(this.packageTemplate,this.bookingFlows,this.tiersConfig,this.isBranding)}),this.activatedRoute.paramMap.subscribe(o=>{const l=o.get("packageId");"add"==l?this.packageTemplate={data:{name:""},id:this.afs.createId(),doc:null}:this.afs.doc(`${this.getPackagesCollectionName()}/${l}`).get().subscribe(h=>{h.exists?(this.packageTemplate={id:h.id,data:h.data(),doc:h},this.populateService(this.packageTemplate)):this.snackBar.open("Error: package not found","Got it",{duration:5e3,horizontalPosition:"center",verticalPosition:"top"})})})})}populateService(t){var i,o,l,h;t.data.linkedServices&&!t.data.linkedServiceIds&&(t.data.linkedServiceIds=t.data.linkedServices.map(y=>y.id)),this.bookingType=null!==(i=t.data.bookingType)&&void 0!==i?i:He.cY.PROPERTY,this.prevBookingType=this.bookingType,this.pricingTiers=(0,ge.fKd)(t.data.pricingTiers?t.data.pricingTiers:[]),this.payoutTiers=(0,ge.fKd)(t.data.payoutTiers?t.data.payoutTiers:[]),this.hrsTiers=(0,ge.fKd)(t.data.hrsTiers?t.data.hrsTiers:[]),this.twilightHrsTiers=(0,ge.fKd)(t.data.twilightHrsTiers?t.data.twilightHrsTiers:[]),this.customTiers=(0,ge.fKd)(t.data.customTiers?t.data.customTiers:[{name:"",price:null,payout:null,isDefault:!1}]),this.getDefaultAvailabilityTierRanges(),this.serviceDefaultCustomTierMap=null!==(o=t.data.serviceDefaultCustomTierMap)&&void 0!==o?o:this.serviceDefaultCustomTierMap,this.availabilitySqFtRanges=null!==(l=t.data.availabilitySqFtRanges)&&void 0!==l?l:this.availabilitySqFtRanges,this.pricingVersionNames=null!==(h=t.data.pricingVersionNames)&&void 0!==h?h:this.pricingVersionNames,this.photographerChecklists=t.data.photographerChecklist?[t.data.photographerChecklist]:[{title:"Photographer Checklist"}],this.incompletePackageSections=(0,ge.D4l)(this.packageTemplate,this.bookingFlows,this.tiersConfig,this.isBranding)}getServicesWithCustomTiers(){return(this.packageTemplate.data.linkedServiceIds||[]).map(t=>this.projectService.serviceTemplates.find(i=>i.serviceId===t)).filter(t=>!!(null==t?void 0:t.enableCustomTiers)&&!!t.customTiers)}getServiceCustomTiersVersionKeys(t){var i;const o=(0,ge.fKd)(null!==(i=t.customTiers)&&void 0!==i?i:[]);return Object.keys(o)}getServiceCustomTiersVersionNames(t){return t.pricingVersionNames?t.pricingVersionNames:{default:"Default"}}getServiceCustomTiersVersionValues(t,i){var o;return(0,ge.fKd)(null!==(o=t.customTiers)&&void 0!==o?o:[])[i]}getServiceCustomTiersOptions(t){var i;const o=this.getServiceCustomTiersVersionKeys(t),l=this.getServiceCustomTiersVersionNames(t),h=null!==(i=t.serviceId)&&void 0!==i?i:t.name,y=`${o.join("|")}::${JSON.stringify(l)}`,F=this.cachedServiceTiersOptions[h];return(!F||F.key!==y)&&(this.cachedServiceTiersOptions[h]={key:y,options:o.map(te=>({name:l[te]||te,value:te}))}),this.cachedServiceTiersOptions[h].options}isServiceCustomTierDefault(t,i,o){return(this.serviceDefaultCustomTierMap[i]||{})[t.serviceId]===o}toggleServiceCustomTierDefault(t,i,o,l){this.serviceDefaultCustomTierMap[i]||(this.serviceDefaultCustomTierMap[i]={}),this.serviceDefaultCustomTierMap[i][t.serviceId]=l?o:null}createPackage(t){return(0,De.mG)(this,void 0,void 0,function*(){const i=this.afs.doc(`${this.getPackagesCollectionName()}/${t.id}`),o=yield i.get().toPromise();
1Object.keys(this.hrsTiers).forEach(l=>{this.bookingService.fillBlankTiers(this.hrsTiers[l],this.tiersConfig)}),Object.keys(this.twilightHrsTiers).forEach(l=>{this.bookingService.fillBlankTiers(this.twilightHrsTiers[l],this.tiersConfig)}),Object.keys(this.pricingTiers).forEach(l=>{this.bookingService.fillBlankTiers(this.pricingTiers[l],this.tiersConfig)}),Object.keys(this.payoutTiers).forEach(l=>{this.bookingService.fillBlankTiers(this.payoutTiers[l],this.tiersConfig)}),t.data=Object.assign(Object.assign({},t.data),{bookingType:this.bookingType,hrsTiers:this.hrsTiers,twilightHrsTiers:this.twilightHrsTiers,pricingTiers:this.pricingTiers,payoutTiers:this.payoutTiers,customTiers:this.customTiers,pricingVersionNames:this.pricingVersionNames}),i.set(t.data).then(()=>{this.packageTemplate.doc=o,this.displaySaveConfirmation(),this.location.replaceState(`/admin/booking/${this.getPackagesSlug()}/${this.packageTemplate.id}`),this.incompletePackageSections=(0,ge.D4l)(this.packageTemplate,this.bookingFlows,this.tiersConfig,this.isBranding)})})}changeThumbnail(t){this.fileLibraryDialog.open().pipe((0,Nt.q)(1)).subscribe(i=>{i&&(t.data.img=i,this.packageTemplate.doc&&this.updateData({img:i},t))})}updateData(t,i){const o=i||this.packageTemplate;this.afs.doc(`${this.getPackagesCollectionName()}/${o.id}`).update(t).then(()=>{this.displaySaveConfirmation();const h=Object.assign(Object.assign({},o.data),t);this.incompletePackageSections=(0,ge.D4l)(this.packageTemplate,this.bookingFlows,this.tiersConfig,this.isBranding,h),this.packageTemplate.data=h});const l=t.customTiers;l&&this.brokeragesRepositoryService.updatePricingOverrides(l,this.packageTemplate.id)}updateBookingType(){this.prevBookingType!==this.bookingType&&(this.resetTiers(),this.updateData({bookingType:this.bookingType,pricingTiers:this.pricingTiers,hrsTiers:this.hrsTiers,twilightHrsTiers:this.twilightHrsTiers,payoutTiers:this.payoutTiers,customTiers:this.customTiers,pricingVersionNames:this.pricingVersionNames,availabilitySqFtRanges:this.availabilitySqFtRanges}),this.getDefaultAvailabilityTierRanges(),this.prevBookingType=this.bookingType)}displaySaveConfirmation(){this.snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}updatePricingTiers(t){this.isBranding||Object.keys(t).forEach(i=>{this.bookingService.fillBlankTiers(t[i],this.tiersConfig)}),this.updateData({pricingTiers:t,enableCustomTiers:!1})}updatePayoutTiers(t){this.isBranding||Object.keys(t).forEach(i=>{this.bookingService.fillBlankTiers(t[i],this.tiersConfig)}),this.updateData({payoutTiers:t})}addCustomTier(){this.getTiersVersionValues(this.customTiers).push({price:null,payout:null,name:"",isDefault:!1})}updateSchedulingTiers(t){this.isBranding||Object.keys(t).forEach(i=>{this.bookingService.fillBlankTiers(t[i],this.tiersConfig)}),this.updateData({hrsTiers:t})}updateTwilightSchedulingTiers(t){this.isBranding||Object.keys(t).forEach(i=>{this.bookingService.fillBlankTiers(t[i],this.tiersConfig)}),this.updateData({twilightHrsTiers:t})}savePhotographerChecklist(t){this.packageTemplate.doc.ref.update({photographerChecklist:t[0]}).then(()=>this.displaySaveConfirmation())}trackByIndex(t,i){return t}get tiersConfig(){const t=(0,ge.meL)(this.bookingType,this.bookingConfig);return this.isBranding?t.slice(0,1):t}setDefaultCustomTier(t,i,o){t.forEach(l=>{l.isDefault=!1}),i.isDefault=o,i.isDefault&&(i.areaFrom="",i.areaTo="")}removeTier(t){(0,sn.Z)(this.getTiersVersionValues(this.customTiers),t)}getTiersVersionKeys(){return Object.keys(this.pricingTiers)}getTiersVersionNames(){return this.getTiersVersionKeys().map(t=>this.pricingVersionNames[t]||t)}getTiersVersionOptions(){const t=this.getTiersVersionKeys(),i=`${t.join("|")}::${JSON.stringify(this.pricingVersionNames)}`;return i!==this.cachedTiersVersionOptionsKey&&(this.cachedTiersVersionOptionsKey=i,this.cachedTiersVersionOptions=t.map(o=>({name:this.pricingVersionNames[o]||o,value:o}))),this.cachedTiersVersionOptions}getTiersVersionValues(t){const i=this.getSelectedTiersVersion();return t[i]||(t[i]=[]),t[i]}getSelectedTiersVersion(){return this.pricingTiers[this.selectedTiersVersion]?this.selectedTiersVersion:this.getTiersVersionKeys()[0]}selectTiersVersion(t){this.selectedTiersVersion=t}isDefaultPricingVersionSelected(){return"default"===this.getSelectedTiersVersion()}getAreaText(){return this.bookingType===He.cY.LANDLOT?"Acreage":"Area"}getAreaPlaceholder(){return this.bookingType===He.cY.LANDLOT?"1 acre":"1,000 Sq Ft"}onAreaFromChange(t){null!=t.areaFrom&&""!==t.areaFrom&&null!=t.areaTo&&""!==t.areaTo&&t.areaFrom>t.areaTo&&(t.areaFrom=t.areaTo)}onAreaToChange(t){null!=t.areaFrom&&""!==t.areaFrom&&null!=t.areaTo&&""!==t.areaTo&&t.areaFrom>t.areaTo&&(t.areaTo=t.areaFrom)}openEditPricingVersionDialog(t,i=!1){t.preventDefault();
1const o=i?this.getSelectedTiersVersion():null;this.dialog.open(Mm,{panelClass:"app-v2",width:"600px",maxWidth:"600px",data:{key:o,name:i?this.pricingVersionNames[o]:null,existingNames:this.getTiersVersionNames()}}).afterClosed().pipe((0,Yt.h)(Boolean)).subscribe(h=>{var y,F,te,H,re,ve;const{key:ie,name:Ee}=h,Fe=null!=ie?ie:(0,Xr.Z)();this.pricingVersionNames=Object.assign(Object.assign({},this.pricingVersionNames),{[Fe]:Ee}),this.pricingTiers[Fe]=null!==(y=this.pricingTiers[Fe])&&void 0!==y?y:[],this.hrsTiers[Fe]=null!==(F=this.hrsTiers[Fe])&&void 0!==F?F:[],this.twilightHrsTiers[Fe]=null!==(te=this.twilightHrsTiers[Fe])&&void 0!==te?te:[],this.payoutTiers[Fe]=null!==(H=this.payoutTiers[Fe])&&void 0!==H?H:[],this.customTiers[Fe]=null!==(re=this.customTiers[Fe])&&void 0!==re?re:[],Object.keys(this.pricingTiers).forEach(ke=>{this.bookingService.fillBlankTiers(this.pricingTiers[ke],this.tiersConfig)}),Object.keys(this.hrsTiers).forEach(ke=>{this.bookingService.fillBlankTiers(this.hrsTiers[ke],this.tiersConfig)}),Object.keys(this.twilightHrsTiers).forEach(ke=>{this.bookingService.fillBlankTiers(this.twilightHrsTiers[ke],this.tiersConfig)}),Object.keys(this.payoutTiers).forEach(ke=>{this.bookingService.fillBlankTiers(this.payoutTiers[ke],this.tiersConfig)}),this.selectTiersVersion(Fe),(null===(ve=this.packageTemplate)||void 0===ve?void 0:ve.doc)&&this.updateData({pricingTiers:this.pricingTiers,hrsTiers:this.hrsTiers,twilightHrsTiers:this.twilightHrsTiers,payoutTiers:this.payoutTiers,customTiers:this.customTiers,pricingVersionNames:this.pricingVersionNames})})}deletePricingVersion(t){t.preventDefault();const i=this.getSelectedTiersVersion(),o=this.bookingFlows.reduce((h,y)=>(Object.values(y.pricingTiersMap||{}).includes(i)&&h.push(y.name),h),[]),l=[`Are you sure you want to delete the pricing version ${this.pricingVersionNames[i]}?`];o.length>0&&(l.push("It is used for the following booking flows:"),l.push(`${o.join(", ")}`)),this.confirmDialogService.confirm({message:l,destructive:!0}).pipe((0,Yt.h)(Boolean)).subscribe(()=>{var h;delete this.pricingTiers[i],delete this.hrsTiers[i],delete this.twilightHrsTiers[i],delete this.payoutTiers[i],delete this.customTiers[i],delete this.pricingVersionNames[i],(null===(h=this.packageTemplate)||void 0===h?void 0:h.doc)&&this.updateData({pricingTiers:this.pricingTiers,hrsTiers:this.hrsTiers,twilightHrsTiers:this.twilightHrsTiers,payoutTiers:this.payoutTiers,customTiers:this.customTiers,pricingVersionNames:this.pricingVersionNames})})}getDefaultAvailabilityTierRanges(){let t=null;this.tiersConfig.length&&(t=this.tiersConfig.map((i,o)=>({from:this.tiersConfig[o-1]||0,to:this.tiersConfig[o]})),t.push({from:this.tiersConfig[this.tiersConfig.length-1],to:Number.MAX_SAFE_INTEGER})),this.availabilitySqFtRanges=t}isPackageSqFtRangeChecked(t,i){var o;return!!(null===(o=this.availabilitySqFtRanges)||void 0===o?void 0:o.some(l=>+l.from==+t&&+l.to==+i))}isLastPackageSqFtRangeChecked(t){var i;return!!(null===(i=this.availabilitySqFtRanges)||void 0===i?void 0:i.some(o=>+o.from==+t&&+o.to===Number.MAX_SAFE_INTEGER))}onPackageSqFtRangeToggle(t,i,o){var l,h,y;t?null===(l=this.availabilitySqFtRanges)||void 0===l||l.push({from:i,to:o||Number.MAX_SAFE_INTEGER}):this.availabilitySqFtRanges=null!==(y=null===(h=this.availabilitySqFtRanges)||void 0===h?void 0:h.filter(F=>!(+F.from==+i&&(+F.to==+o||+F.to===Number.MAX_SAFE_INTEGER))))&&void 0!==y?y:null}updateAvailabilitySqFtRanges(){this.updateData({availabilitySqFtRanges:this.availabilitySqFtRanges||null})}_saveChipsToPackage(){this.updateData({linkedServiceIds:this.packageTemplate.data.linkedServiceIds||[]})}resetTiers(){this.pricingTiers=(0,ge.fKd)([]),this.payoutTiers=(0,ge.fKd)([]),this.hrsTiers=(0,ge.fKd)([]),this.twilightHrsTiers=(0,ge.fKd)([]),this.customTiers=(0,ge.fKd)([]),this.pricingVersionNames={default:"Default"},this.availabilitySqFtRanges=null}isCustomPackage(){return this.activatedRoute.snapshot.url.some(t=>"custom-packages"===t.path)}getPackagesSlug(){return this.isCustomPackage()?"custom-packages":"packages"}
1getPackagesCollectionName(){return this.isCustomPackage()?"customPackages":"packages"}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ti),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(ut.uw),e.\u0275\u0275directiveInject(S.Location),e.\u0275\u0275directiveInject(U.q$k),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(gt.DNF),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.HwC))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-configure-package-details"]],decls:4,vars:2,consts:[[1,"container","pt3","pb6"],[1,"mb-20"],[4,"ngIf"],["class","fixed bottom-2 white z-2 fixed-center",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mb-20",3,"click"],["backButton","btnSize"],["uiIcon","arrow_back",3,"size"],[1,"card"],["class","app-v2",4,"ngIf"],[1,"card-header"],[1,"text-muted","f7"],[1,"card-body"],[1,"mb3"],[1,"fw6","f7","mb1","black-70"],[1,"thumbnail","pointer",3,"click"],[1,"mb2","flex","items-baseline","gap-8"],["matInput","","placeholder","Photos, Video",3,"ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],["matInput","","suffix","+","thousandSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"placeholder","prefix","ngModel","ngModelChange"],[1,"mb2"],[1,"f6","fw6","o-90"],[1,"f7","o-70","mb2"],[1,"flex","items-center","gap-8"],[3,"disableRipple","ngModel","ngModelChange"],["appearance","bordered",1,"w-160",3,"items","ngModel","ngModelChange"],[1,"fw6","f7","mb2","black-70"],[1,"mb4"],[1,"mb2",3,"froalaModel","uiFroalaEditor","froalaModelChange"],["class","mb4",4,"ngIf"],["class","mb4",4,"ngFor","ngForOf"],[3,"serviceTemplate","detailsSaved",4,"ngIf"],["class","card mt3",4,"ngIf"],[1,"tiers-container"],[1,"flex","items-end","gap-8","mb-16"],["appearance","bordered","label","Pricing Version",1,"w-220",3,"items","value","disabled","selectionChange"],["class","mb-8",4,"ngIf"],[1,"mb3",3,"disableRipple","ngModel","ngModelChange"],[3,"hidden"],[1,"mt1"],["class","mb2",4,"ngFor","ngForOf","ngForTrackBy"],["class","mb2",4,"ngIf"],[1,"tiers-form"],["class","mb2",4,"ngFor","ngForOf"],["class","card",4,"ngIf"],["class","row",4,"ngIf"],[1,"fixed","bottom-2","white","z-2","fixed-center"],["uiBtnSize","large","uiBtnTheme","main","themeMode","primary",3,"click"],["createPackageButton","btnSize"],["uiIcon","add",3,"size"],[1,"app-v2"],[1,"p-16"],[1,"p-8","bg-red-5","text-red-50","border-1","border-red-50","rounded"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],[3,"serviceIds","serviceTemplates","servicesChange"],["class","mt-min","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mt-min",3,"click"],["class","fw6 f7 mb4 black-70",4,"ngIf"],[1,"mb2","fw6","f8","black-80"],["appearance","bordered","label","Pricing Version","value","default",1,"block","w-220","mb-8",3,"items"],["servicePricingVersion",""],["class","flex justify-between align-items-center mb2 w-25",4,"ngFor","ngForOf"],[1,"fw6","f7","mb4","black-70"],[1,"flex","justify-between","align-items-center","mb2","w-25"],[1,"default-tier-checkbox",3,"checked","change"],[3,"serviceTemplate","detailsSaved"],[1,"card","mt3"],[4,"ngIf","ngIfElse"],["noTiers",""],[3,"checked","change"],[1,"mb-8"],[1,"fw6","f7",3,"click"],["class","fw6 f7",3,"click",4,"ngIf"],[1,"fw6","f7",3,"routerLink"],["brandingLabel",""],["matInput","","thousandSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"name","prefix","placeholder","ngModel","ngModelChange"],["matInput","","name","largestTier","thousandSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"prefix","placeholder","ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click"],["addTierButton","btnSize"],[4,"ngFor","ngForOf"],[1,"grid","grid-cols-9","mb2"],[1,"col-span-2","mr2"],["matInput","","placeholder","Drone Video - 30 seconds",3,"name","ngModel","ngModelChange"],[1,"mr2"],["matInput","","thous
1andSeparator",",","mask","separator",3,"name","prefix","placeholder","ngModel","ngModelChange"],["matInput","","suffix"," hrs","thousandSeparator",",","mask","separator","placeholder","1.5 hrs","uiNgxMaskZeroFix","",3,"name","ngModel","ngModelChange"],["matInput","","thousandSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"name","placeholder","suffix","disabled","ngModel","ngModelChange","change"],[1,"flex","align-items-center"],[1,"default-tier-checkbox"],["matInput","","value","0",1,"d-none"],["uiIcon","close",1,"ml1","mb1","pointer",3,"click"],["matInput","","name","largestTier","thousandSeparator",",","mask","separator",3,"prefix","placeholder","ngModel","ngModelChange"],["matInput","","name","largestTier","suffix"," hrs","thousandSeparator",",","mask","separator","placeholder","1.5 hrs","uiNgxMaskZeroFix","",3,"ngModel","ngModelChange"],[1,"row"],[1,"col-md-6"],[1,"mt3","active-order-width"],[1,"fw6","f5","mt3","mb2","black-70","flex","items-center"],[1,"mt3",3,"checklists","showChecklistTitle","checklistsChange"],[1,"col-md-12"],[3,"notificationMembersArray","membersChange"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,v1,115,59,"div",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" Manage Package ",null!=i.packageTemplate&&i.packageTemplate.data?" - "+(null==i.packageTemplate||null==i.packageTemplate.data?null:i.packageTemplate.data.name):""," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.packageTemplate&&i.bookingConfig))},directives:[S.NgIf,_t.s,ht.V,mt.a,Et.KE,Et.hX,Pt.Nt,ee.Fj,ee.JJ,ee.On,En.Z6,Pm,Me.Rr,tn.H,ui.V,cv,S.NgForOf,Q.oG,Bm,Qe.yS,ee._Y,ee.JL,ee.F,Zp,Ps],pipes:[ge._ab,ge.JcI,ge.kW1,ge.FjN,S.DecimalPipe],styles:["[_nghost-%COMP%] .default-tier-checkbox{width:40px;margin-left:8px}[_nghost-%COMP%] .default-tier-checkbox .mat-form-field-underline{display:none}[_nghost-%COMP%] .default-tier-checkbox label{margin-bottom:0}.thumbnail[_ngcontent-%COMP%]{width:149px;height:90px;margin-bottom:0;background-color:#eaeaea;background-position:center center;background-repeat:no-repeat;background-size:cover}.toggle-position[_ngcontent-%COMP%]{top:2px;position:relative}"]}),r})();function C1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",24)(1,"ui-select",25),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().service.data.type=o})("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updateServiceType(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"ui-select",26),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().service.data.skipDeliveryFoldersCreation=o})("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updateSkipDeliveryFolderCreation(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("items",t.serviceTypeOptions)("ngModel",t.service.data.type),e.\u0275\u0275advance(1),e.\u0275\u0275property("items",t.skipDeliveryOptions)("ngModel",t.service.data.skipDeliveryFoldersCreation)}}function b1(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",27),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.linkedServicesString," ")}}function y1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",28)(1,"div",9),e.\u0275\u0275text(2,"Add-on"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",29)(4,"mat-slide-toggle",30),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().service.data.addon=o})("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updateAddon(o)}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.service.data.addon)}}
1function x1(r,a){if(1&r&&e.\u0275\u0275element(0,"i",31),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("matTooltip","Please fill in missing or incomplete data: "+t.incompleteData)}}let Vm=(()=>{class r{constructor(t){this.appConfigService=t,this.type="service",this.serviceNames=[],this.edit=new e.EventEmitter,this.deleted=new e.EventEmitter,this.thumbnailClicked=new e.EventEmitter,this.duplicate=new e.EventEmitter,this.isIncomplete=!1,this.incompleteData="",this.linkedServicesString="",this.serviceTypes=this.appConfigService.serviceTypes,this.serviceTypeOptions=[{name:"None",value:""},...this.serviceTypes.map(i=>({name:i,value:i}))],this.skipDeliveryOptions=[{name:"Enable",value:!0},{name:"Disable",value:!1}]}ngOnChanges(){var t,i,o;(null===(t=this.serviceNames)||void 0===t?void 0:t.length)&&(this.linkedServicesString=this.serviceNames.join(", ")),this.service.data.skipDeliveryFoldersCreation=null!==(i=this.service.data.skipDeliveryFoldersCreation)&&void 0!==i&&i;const l=(0,ge.meL)(this.service.data.bookingType,this.bookingConfig),h=(0,ge.Hsn)(this.service.data,l,!!(null===(o=this.bookingConfig)||void 0===o?void 0:o.integratedBooking),this.service.data.bookingType===He.cY.BRANDING);this.isIncomplete=h.length>0,this.incompleteData=h.join(", ")}updateServiceType(t){this.service.doc.ref.update({type:null!=t?t:""})}updateSkipDeliveryFolderCreation(t){this.service.doc.ref.update({skipDeliveryFoldersCreation:t})}updateAddon(t){this.service.doc.ref.update({addon:t})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U._ZM))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-service-management-card"]],hostVars:2,hostBindings:function(t,i){2&t&&e.\u0275\u0275classProp("incomplete",i.isIncomplete)},inputs:{service:"service",type:"type",bookingConfig:"bookingConfig",serviceNames:"serviceNames"},outputs:{edit:"edit",deleted:"deleted",thumbnailClicked:"thumbnailClicked",duplicate:"duplicate"},features:[e.\u0275\u0275NgOnChangesFeature],decls:32,vars:14,consts:[[1,"bg-white","br2","pa3","flex","items-center","justify-between","card-shadow","relative"],[1,"flex","items-center","w-25"],[1,"mr2"],[1,"thumbnail",3,"click"],[1,"f5","fw6"],["class","flex items-center gap-8",4,"ngIf"],["class","f7 w-2/5 o-80",4,"ngIf"],[1,"flex"],[1,"flex-shrink-0","pr5"],[1,"o-80","fw5","f6"],[1,"o-90","fw6","f5"],["class","flex-shrink-0 pr3",4,"ngIf"],[1,"flex","items-center","flex-shrink-0","gap-8"],["uiBtnSize","small","trailingIcon","","uiBtnTheme","main","themeMode","secondary",3,"click"],["editButton","btnSize"],["uiIcon","edit",3,"size"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"matMenuTriggerFor"],["moreMenuButton","btnSize"],["uiIcon","more_vert",3,"size"],["xPosition","before"],["moreMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"hidden","click"],["class","error-icon","uiIcon","error",3,"matTooltip",4,"ngIf"],[1,"flex","items-center","gap-8"],["size","small","appearance","bordered","label","Service Type","placeholder","None",3,"items","ngModel","ngModelChange"],["size","small","appearance","bordered","label","Skip delivery folder creation","placeholder","Disable",3,"items","ngModel","ngModelChange"],[1,"f7","w-2/5","o-80"],[1,"flex-shrink-0","pr3"],[1,"o-90","fw6"],["name","addon",3,"disableRipple","ngModel","ngModelChange"],["uiIcon","error",1,"error-icon",3,"matTooltip"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),e.\u0275\u0275listener("click",function(){return i.thumbnailClicked.emit()}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(4,"div")(5,"div",4),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(7,C1,3,4,"div",5),e.\u0275\u0275template(8,b1,2,1,"div",6),e.\u0275\u0275elementStart(9,"div",7)(10,"div",8)(11,"div",9),e.\u0275\u0275text(12,"Price"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"div",10),e.\u0275\u0275text(14),e.\u0275\u0275pipe(15,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(16,y1,5,2,"div",11),e.\u0275\u0275elementStart(17,"div",12)(18,"button",13,14),e.\u0275\u0275listener("click",function(){return i.edit.emit(i.service)}),e.\u0275\u0275text(20," Edit "),e.\u0275\u0275element(21,"i",15),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"button",16,17),e.\u0275\u0275element(24,"i",18),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(25,"mat-menu",19,20)(27,"button",21),e.\u0275\u0275listener("click",function(){return i.duplicate.emit(i.service)}),e.\u0275\u0275text(28,"Duplicate"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(29,"button",22),e.\u0275\u0275listener("click",function(){return i.deleted.emit()}),e.\u0275\u0275text(30," Delete "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275template(31,x1,1,1,"i",23),e.\u0275\u0275elementEnd()),2&t){const o=e.\u0275\u0275reference(19),l=e.\u0275\u0275reference(23),h=e.\u0275\u0275reference(26);e.\u0275\u0275advance(3),e.\u0275\u0275styleProp("background-image",i.service.data.img?"url("+i.service.data.img+")":""),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" ",i.service.data.name," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","service"===i.type),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","package"===i.type),e.\u0275\u0275advance(6),e.\u0275\u0275textInterpolate1("",e.\u0275\u0275pipeBind1(15,12,i.service.data.price),"+"),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf","service"===i.type),e.\u0275\u0275advance(5),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(1),e.\u0275\u0275property("matMenuTriggerFor",h),e.\u0275\u0275advance(2),e.\u0275\u0275property("size",l.iconSize),e.\u0275\u0275advance(5),e.\u0275\u0275property("hidden","Project Chat"===i.service.data.name),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.isIncomplete)}},directives:[S.NgIf,tn.H,ee.JJ,ee.On,Me.Rr,_t.s,ht.V,mt.a,Ft.p6,Ft.VK,Ft.OP,Lt.gM],pipes:[ge._ab],styles:[".incomplete[_nghost-%COMP%]{border:2px solid #fa5252}.incomplete[_nghost-%COMP%] .error-icon[_ngcontent-%COMP%]{position:absolute;right:5px;top:5px;color:#fa5252}.thumbnail[_ngcontent-%COMP%]{width:85px;height:49px;margin-bottom:0;background-color:#eaeaea;background-position:center center;background-repeat:no-repeat;background-size:cover}.service-description[_ngcontent-%COMP%]{height:32px;overflow:hidden}.container-shadow[_ngcontent-%COMP%]{box-shadow:0 1px 11px #0000001f}"]}),r})();const S1=function(){return[]};function T1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-service-management-card",9),e.\u0275\u0275listener("edit",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().editPackage(o)})("deleted",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().deletePackage(l)})("thumbnailClicked",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().changeThumbnail(l)})("duplicate",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onDuplicatePackage(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("service",t)("type","package")("bookingConfig",i.bookingConfig)("serviceNames",i.servicesByPackageId[t.doc.id]||e.\u0275\u0275pureFunction0(4,S1))}}let w1=(()=>
1{class r{constructor(t,i,o,l,h,y,F,te,H){this.afs=t,this.servicesRepository=i,this.bookingService=o,this.projectService=l,this._snackBar=h,this.router=y,this.activatedRoute=F,this.popupService=te,this.fileLibraryDialog=H,this.packageDocs=[],this.bookingConfig=null,this.integratedBooking=!1,this.servicesByPackageId={}}ngOnInit(){this.afs.collection("globals").doc("booking").get().subscribe(t=>{t.exists&&(this.bookingConfig=t.data())}),this.projectService.getBookingFlows().subscribe(t=>{this.integratedBooking=t.some(i=>i.integratedBooking)}),(0,ln.aj)([this.servicesRepository.getAll(),this.bookingService.getBookingPackages()]).pipe((0,Nt.q)(1)).subscribe(([t,i])=>{const o=t.reduce((l,h)=>(l[h.id]=h.name,l),{});i.forEach(l=>{var h;(null===(h=l.data.linkedServiceIds)||void 0===h?void 0:h.length)&&(this.servicesByPackageId[l.doc.id]=(0,gi.Z)((l.data.linkedServiceIds||[]).map(y=>o[y])))}),this.packageDocs=i})}addPackage(){this.router.navigate(["add"],{relativeTo:this.activatedRoute})}editPackage(t){this.router.navigate([t.doc.id],{relativeTo:this.activatedRoute})}deletePackage(t){this.popupService.open({text:"This will delete the package from ALL booking flows. Are you sure?",showCancelButton:!0,destructive:!0}).then(i=>{if(!0===i.value){(0,sn.Z)(this.packageDocs,t);const o=this.afs.firestore.batch();o.delete(t.doc.ref);const l=this.afs.collection("archivedPackages").doc(t.doc.id).ref;o.set(l,Object.assign({},t.data)),o.commit()}})}changeThumbnail(t){this.fileLibraryDialog.open().pipe((0,Nt.q)(1)).subscribe(i=>{i&&(t.data.img=i,this.updateData({img:i},t))})}updateData(t,i){!i.doc||!i.doc.ref||i.doc.ref.update(t).then(()=>{Object.assign(i.data,t),this.displaySaveConfirmation()})}displaySaveConfirmation(){this._snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}onDuplicatePackage(t){this._duplicateConfirm().then(i=>(0,De.mG)(this,void 0,void 0,function*(){if(i.value){const o=this.afs.firestore.batch(),l=this.afs.createId(),h=this.afs.collection("packages").doc(l),y=yield t.doc.ref.collection("configurations").doc("expandedDetails").get();o.set(h.ref,Object.assign(Object.assign({},t.data),{bookingFlows:[],name:`${t.data.name} - Duplicate`})),y.exists&&o.set(h.ref.collection("configurations").doc("expandedDetails"),y.data()),o.commit().then(()=>{this.router.navigate([l],{relativeTo:this.activatedRoute})})}}))}_duplicateConfirm(){return this.popupService.open({text:"This will duplicate the package. Are you sure?",showCancelButton:!0})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.pZw),e.\u0275\u0275directiveInject(U.q$k),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(U.qLq),e.\u0275\u0275directiveInject(ti))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-package-management"]],decls:11,vars:2,consts:[[1,"container","pv3"],[1,"mb3"],[1,"tr","mb2","ph3"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["addPackageButton","btnSize"],["uiIcon","add",3,"size"],[1,"ph3"],[1,"mv3","service-category__sub-container"],[3,"service","type","bookingConfig","serviceNames","edit","deleted","thumbnailClicked","duplicate",4,"ngFor","ngForOf"],[3,"service","type","bookingConfig","serviceNames","edit","deleted","thumbnailClicked","duplicate"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2,"Manage Packages"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",2)(4,"button",3,4),e.\u0275\u0275listener("click",function(){return i.addPackage()}),e.\u0275\u0275element(6,"i",5),e.\u0275\u0275text(7," Add Package "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"div",6)(9,"div",7),e.\u0275\u0275template(10,T1,1,5,"tn-service-management-card",8),e.\u0275\u0275elementEnd()()()),2&t){const o=e.\u0275\u0275reference(5);e.\u0275\u0275advance(6),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngForOf",i.packageDocs)}},directives:[_t.s,ht.V,mt.a,S.NgForOf,Vm],styles:[".service-category__container[_ngcontent-%COMP%]{border-radius:3px;border:1px solid #f1f1f1;margin-bottom:8px}.service-category__sub-container[_ngcontent-%COMP%]{min-height:60px}.service-category__header[_ngcontent-%COMP%]{background-color:#fff;padding:16px;display:flex;cursor:pointer}.service-category__title[_ngcontent-%COMP%]{font-size:18px;font-weight:600}.active-order-width[_ngcontent-%COMP%]{max-width:370px}tn-service-management-card[_ngcontent-%COMP%]{margin-bottom:16px;display:block}.thumbnail[_ngcontent-%COMP%]{width:149px;height:90px;margin-bottom:0;background-color:#eaeaea;background-position:center center;background-repeat:no-repeat;background-size:cover}.card-header[_ngcontent-%COMP%], .card-body[_ngcontent-%COMP%]{padding:16px}"]}),r})();var k1=_(90373),E1=_(52395),O1=_(61252),I1=_(45867),Lm=_(1297);const D1=["datatable"];
1function M1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-filter-bar",8),e.\u0275\u0275listener("filterObjectChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onFiltersChange(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("showDeliveredDateOption",!0)("options",i.filterOptions)("filterObject",t)}}function P1(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",12),e.\u0275\u0275element(2,"mat-spinner",13),e.\u0275\u0275elementStart(3,"div"),e.\u0275\u0275text(4,"Loading report.."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("diameter",20))}function F1(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",14)(1,"span",15),e.\u0275\u0275text(2,"Transaction fee:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiCurrency"),e.\u0275\u0275elementEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(4,1,t)," ")}}function A1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",14)(2,"span",15),e.\u0275\u0275text(3,"Tax amount:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(4),e.\u0275\u0275pipe(5,"uiCurrency"),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",14)(8,"span",15),e.\u0275\u0275text(9,"Invoice subtotal:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(10),e.\u0275\u0275pipe(11,"uiCurrency"),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(13,F1,5,3,"div",16),e.\u0275\u0275pipe(14,"async"),e.\u0275\u0275elementStart(15,"div",14)(16,"span",15),e.\u0275\u0275text(17,"Invoice total:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(18),e.\u0275\u0275pipe(19,"uiCurrency"),e.\u0275\u0275pipe(20,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"div")(22,"span",15),e.\u0275\u0275text(23,"Number of orders:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(24),e.\u0275\u0275pipe(25,"async"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(26,"div")(27,"button",17),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).exportAsXLSX()}),e.\u0275\u0275element(28,"i",18),e.\u0275\u0275text(29," Download Excel "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(5,5,e.\u0275\u0275pipeBind1(6,7,t.taxAmount$))," "),e.\u0275\u0275advance(6),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(11,9,e.\u0275\u0275pipeBind1(12,11,t.invoiceSubtotal$))," "),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(14,13,t.transactionFee$)),e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(19,15,e.\u0275\u0275pipeBind1(20,17,t.total$))," "),e.\u0275\u0275advance(6),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(25,19,t.count$)," ")}}function B1(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",9),e.\u0275\u0275template(1,P1,5,1,"ng-container",10),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275template(3,A1,30,21,"ng-template",null,11,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275reference(4),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(2,2,i.loading$)||i.fetchingData)("ngIfElse",t)}}function j1(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Please select a date range "),e.\u0275\u0275elementEnd())}function R1(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",19),e.\u0275\u0275text(1," Your search exceeded the maximum 1,000 orders that can be displayed. Please narrow your search. Showing the first 1,000 orders. "),e.\u0275\u0275elementEnd())}function V1(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-select",25),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onSelectedRoleFilterChange(o)}),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("items",t.roleFilterOptions)("ngModel",e.\u0275\u0275pipeBind1(1,2,t.selectedRoleFilter$))}}function L1(r,a){1&r&&e.\u0275\u0275text(0),2&r&&e.\u0275\u0275textInterpolate1(" ",a.$implicit.index," ")}function N1(r,a){1&r&&e.\u0275\u0275text(0),2&r&&e.\u0275\u0275textInterpolate1(" ",a.$implicit.orderNo," ")}function $1(r,a){if(1&r&&(e.\u0275\u0275text(0),e.\u0275\u0275pipe(1,"dayjsDateFormat")),2&r){const t=a.$implicit;e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind3(1,1,t.date,"MM/DD/YYYY HH:mm",null==t.property_address?null:t.property_address.timezone)," ")}}const z1=function(r){return["/admin/order-management/",r]},U1=function(r){return{taskId:r}},H1=function(){return{}};function W1(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",26)(1,"a",27),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(3,"ui-copy-to-cl
1ipboard",28),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(5,z1,t.id))("queryParams",null!=t.communication&&null!=t.communication.general&&null!=t.communication.general.taskRef&&t.communication.general.taskRef.id?e.\u0275\u0275pureFunction1(7,U1,t.communication.general.taskRef.id):e.\u0275\u0275pureFunction0(9,H1)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(t.packages),e.\u0275\u0275advance(1),e.\u0275\u0275property("v2",!1)("value",t.packages)}}function G1(r,a){1&r&&e.\u0275\u0275text(0),2&r&&e.\u0275\u0275textInterpolate1(" ",a.$implicit.client_full_name," ")}function K1(r,a){1&r&&e.\u0275\u0275text(0),2&r&&e.\u0275\u0275textInterpolate1(" ",a.$implicit.email," ")}function Z1(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"a",30),e.\u0275\u0275element(1,"i",31),e.\u0275\u0275text(2,"Link"),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("href",t.tave_link,e.\u0275\u0275sanitizeUrl)}}function Q1(r,a){1&r&&e.\u0275\u0275template(0,Z1,3,1,"a",29),2&r&&e.\u0275\u0275property("ngIf",a.$implicit.tave_link)}function J1(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("",(null==t.listingAgents[0].brokerage_obj?null:t.listingAgents[0].brokerage_obj.name)||t.listingAgents[0].brokerage," ")}}function Y1(r,a){if(1&r&&e.\u0275\u0275template(0,J1,2,1,"ng-container",5),2&r){const t=a.$implicit;e.\u0275\u0275property("ngIf",t.listingAgents&&t.listingAgents[0])}}function X1(r,a){if(1&r&&e.\u0275\u0275text(0),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275textInterpolate1(" ",i.orderStatuses[t.orderStatus]?i.orderStatuses[t.orderStatus]:"Pending"," ")}}function q1(r,a){if(1&r&&e.\u0275\u0275text(0),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275textInterpolate1(" ",i.paymentStatuses[t.paymentStatus]?i.paymentStatuses[t.paymentStatus]:"Unpaid"," ")}}function eC(r,a){1&r&&e.\u0275\u0275text(0),2&r&&e.\u0275\u0275textInterpolate1(" ",a.$implicit.existing_contact," ")}function tC(r,a){1&r&&(e.\u0275\u0275text(0),e.\u0275\u0275pipe(1,"uiCurrency")),2&r&&e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(1,1,a.$implicit.invoice_amount||0)," ")}function nC(r,a){if(1&r&&e.\u0275\u0275text(0),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275textInterpolate1(" ",i.getInvoiceNumber(t)," ")}}function iC(r,a){if(1&r&&(e.\u0275\u0275text(0),e.\u0275\u0275pipe(1,"uiCurrency")),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(1,1,i.getTax(t))," ")}}function rC(r,a){1&r&&(e.\u0275\u0275text(0),e.\u0275\u0275pipe(1,"uiCurrency")),2&r&&e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(1,1,a.$implicit.transaction_fee)," ")}function oC(r,a){1&r&&(e.\u0275\u0275text(0),e.\u0275\u0275pipe(1,"uiCurrency")),2&r&&e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(1,1,a.$implicit.travel_fee)," ")}function aC(r,a){1&r&&(e.\u0275\u0275text(0),e.\u0275\u0275pipe(1,"uiCurrency")),2&r&&e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(1,1,a.$implicit.invoice_subtotal)," ")}function sC(r,a){1&r&&(e.\u0275\u0275text(0),e.\u0275\u0275pipe(1,"uiCurrency")),2&r&&e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(1,1,a.$implicit.tip_amount||0)," ")}function lC(r,a){if(1&r&&e.\u0275\u0275text(0),2&r){const t=a.$implicit;let i;e.\u0275\u0275textInterpolate1(" ",null!==(i=null==t.coupon?null:t.coupon.code)&&void 0!==i?i:"-"," ")}}function cC(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-assign-order",33),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("roleFilter",e.\u0275\u0275pipeBind1(1,3,i.selectedRoleFilter$))("readOnly",!0)("memberIds",t.members)}}
1function dC(r,a){if(1&r&&e.\u0275\u0275template(0,cC,2,5,"ui-assign-order",32),2&r){const t=a.$implicit;e.\u0275\u0275property("ngIf",(null==t.members?null:t.members.length)&&"none"!==t.members[0])}}function pC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-vertical-autofit-container",20),e.\u0275\u0275listener("heightChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onHeightChange(o)}),e.\u0275\u0275elementStart(1,"ui-datatable",21,22),e.\u0275\u0275listener("displayColumnsChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().paramsManager.setParam("cols",o)}),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275pipe(4,"async"),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275template(7,V1,2,4,"ng-template",23),e.\u0275\u0275template(8,L1,1,1,"ng-template",24),e.\u0275\u0275template(9,N1,1,1,"ng-template",24),e.\u0275\u0275template(10,$1,2,5,"ng-template",24),e.\u0275\u0275template(11,W1,4,10,"ng-template",24),e.\u0275\u0275template(12,G1,1,1,"ng-template",24),e.\u0275\u0275template(13,K1,1,1,"ng-template",24),e.\u0275\u0275template(14,Q1,1,1,"ng-template",24),e.\u0275\u0275template(15,Y1,1,1,"ng-template",24),e.\u0275\u0275template(16,X1,1,1,"ng-template",24),e.\u0275\u0275template(17,q1,1,1,"ng-template",24),e.\u0275\u0275template(18,eC,1,1,"ng-template",24),e.\u0275\u0275template(19,tC,2,3,"ng-template",24),e.\u0275\u0275template(20,nC,1,1,"ng-template",24),e.\u0275\u0275template(21,iC,2,3,"ng-template",24),e.\u0275\u0275template(22,rC,2,3,"ng-template",24),e.\u0275\u0275template(23,oC,2,3,"ng-template",24),e.\u0275\u0275template(24,aC,2,3,"ng-template",24),e.\u0275\u0275template(25,sC,2,3,"ng-template",24),e.\u0275\u0275template(26,lC,1,1,"ng-template",24),e.\u0275\u0275template(27,dC,1,1,"ng-template",24),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("loading",t.fetchingData||e.\u0275\u0275pipeBind1(3,32,t.loading$))("columns",t.datatableColumns)("items",e.\u0275\u0275pipeBind1(4,34,t.orders$))("trackByKey","id")("appendOnly",!1)("itemHeight",64)("notFoundText","No orders found")("itemsDisplayCount",e.\u0275\u0275pipeBind1(5,36,t.paramsManager.paramsStreams.pageSize))("allowChangeColumns",!0)("displayColumns",e.\u0275\u0275pipeBind1(6,38,t.paramsManager.paramsStreams.cols))("tableHeight",t.tableHeight),e.\u0275\u0275advance(6),e.\u0275\u0275property("uiDatatableHeaderCell","members"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","index"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","orderId"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","date"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","order_name"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","client_full_name"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","client_email"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","tave_link"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","brokerage"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","order_status"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","payment_status"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","existing_contact"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","invoice_amount"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","invoiceNo"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","tax_amount"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","transaction_fee"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","travel_fee"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","invoice_subtotal"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","tip_amount"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","coupon"),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiDatatableCell","members")}}function zl(r){return r?"string"==typeof r?parseFloat(r):r:0}const Ul="MM-DD-YYYY_HH:mm";let mC=(()=>
1{class r{constructor(t,i,o,l,h,y,F,te,H,re,ve,ie){var Ee,Fe;this.membersService=t,this.excelService=i,this.ordersRepository=o,this.algoliaSearch=l,this.appConfigService=h,this.router=y,this.route=F,this.cache=te,this.invoicesRepositoryService=H,this.dateFormatService=re,this.usersRepositoryService=ve,this.travelFeeService=ie,this.destroy$=new N.xQ,this.roles=this.appConfigService.roles,this.roleFilterOptions=[{name:"Any",value:""},...this.roles.map(ke=>({name:ke,value:ke}))],this.orderLabels=(0,ge.C0F)(this.appConfigService.orderStatuses,null===(Ee=this.appConfigService.localization)||void 0===Ee?void 0:Ee.language),this.orderStatuses=(0,ge.JyI)(this.orderLabels),this.paymentLabels=(0,ge.C0F)(this.appConfigService.paymentStatuses,null===(Fe=this.appConfigService.localization)||void 0===Fe?void 0:Fe.language),this.paymentStatuses=(0,ge.JyI)(this.paymentLabels),this.datatableColumns=[{header:"Index",field:"index",width:"70px",allowDeselect:!0},{header:"Order ID",field:"orderId",width:"150px",allowDeselect:!0},{header:"Date",field:"date",width:"150px",allowDeselect:!0},{header:"Order Name",field:"order_name",allowDeselect:!0,width:"350px"},{header:"Customer Name",field:"client_full_name",allowDeselect:!0,width:"200px"},{header:"Customer Email",field:"client_email",allowDeselect:!0,width:"200px"},{header:"Referral",field:"existing_contact",allowDeselect:!0,width:"200px"},{header:"Tave Link",field:"tave_link",allowDeselect:!0,width:"150px"},{header:"Brokerage",field:"brokerage",allowDeselect:!0,width:"150px"},{header:"Order Status",field:"order_status",allowDeselect:!0,width:"140px"},{header:"Payment Status",field:"payment_status",allowDeselect:!0,width:"140px"},{header:"Invoice number",field:"invoiceNo",allowDeselect:!0,width:"140px"},{header:"Tax amount",field:"tax_amount",allowDeselect:!0,width:"140px"},{header:"Invoice subtotal",field:"invoice_subtotal",allowDeselect:!0,width:"140px"},{header:"Transaction fee",field:"transaction_fee",allowDeselect:!0,width:"140px"},{header:"Travel fee",field:"travel_fee",allowDeselect:!0,width:"140px"},{header:"Invoice amount",field:"invoice_amount",allowDeselect:!0,width:"140px"},{header:"Tips",field:"tip_amount",allowDeselect:!0,width:"128px"},{header:"Coupon",field:"coupon",allowDeselect:!0,width:"128px"},{header:"Members",field:"members",allowDeselect:!0,width:"200px"},{header:"Property size",field:"property_square_footage",allowDeselect:!0,width:"200px"}],this.paramsManager=new ge.t3E(this.router,this.route,[{name:"pageSize",type:"number",saveLastValue:!0,defaultValue:0},{name:"cols",type:"array",disableUrlSync:!0,saveLastValue:!0,defaultValue:this.datatableColumns.map(ke=>ke.field)},{name:"selectedRoleFilter",type:"string",defaultValue:null},{name:"services",type:"array",defaultValue:[]},{name:"search",type:"string",defaultValue:""},{name:"memberIds",type:"array",defaultValue:[]},{name:"bookingFlows",type:"array",defaultValue:[]},{name:"orderStatuses",type:"array",defaultValue:[]},{name:"paymentStatuses",type:"array",defaultValue:[]},{name:"dateOption",type:"string",defaultValue:"scheduledDate"},{name:"startDate",type:"string",defaultValue:null},{name:"endDate",type:"string",defaultValue:null},{name:"tipOnlyReport",type:"boolean",defaultValue:!1},{name:"coupons",type:"array",defaultValue:[]}],this.destroy$,"orders-reporting"),this.selectedRoleFilter$=this.paramsManager.paramsStreams.selectedRoleFilter,this.filters$=this.paramsManager.getCombinedParams(["memberIds","startDate","endDate","services","search","dateOption","bookingFlows","orderStatuses","paymentStatuses","tipOnlyReport","coupons"]).pipe((0,St.w)(({memberIds:ke,startDate:rt,endDate:st,services:at,dateOption:kt,bookingFlows:ot,orderStatuses:Ct,paymentStatuses:Wt,search:Rt,tipOnlyReport:Tn,coupons:ma})=>(0,zt.D)(this.membersService.transformGroupIds(ke)).pipe((0,qe.U)(Kl=>({memberIds:Kl,dates:rt?{startDate:w()(rt,Ul),endDate:w()(st,Ul)}:null,search:Rt,services:at,dateOption:kt,bookingFlows:ot,orderStatuses:Ct,paymentStatuses:Wt,tipOnlyReport:Tn,coupons:ma})))),(0,Fr.d)(1)),this.dataManager=new ge.MMz({params$:this.filters$.pipe((0,Yt.h)(({dates:ke})=>Boolean(ke))),fetchDataFn:ke=>(this.fetchingData=!0,this.searchOrdersIds(ke)),batchSize:1e3},this.destroy$),this.orders$=this.dataManager.items$.pipe((0,St.w)(ke=>this.ordersRepository.getManyByIds$(ke)),(0,_i.M)(this.filters$),(0,qe.U)(([ke,rt])=>({orders:ke.filter(at=>at&&at.communication).filter(at=>{var kt,ot;return!(null===(kt=rt.bookingFlows)||void 0===kt?void 0:kt.length)||rt.bookingFlows.includes(null===(ot=at.bookingFlow)||void 0===ot?void 0:ot.id)}).map((at,kt)=>Object.assign(Object.assign({},at),{index:kt})),filters:rt})),(0,St.w)(({orders:ke,filters:rt})=>ke.length?(0,ln.aj)(ke.map(st=>this.invoicesRepositoryService.getById(st.id).pipe((0,qe.U)(at=>{const kt=this.travelFeeService.getOrderTravelsFee(st.travels);return Object.assign(Object.assign({},st),{tax_amount:at?at.totalTaxAmount||0:null,invoice_subtotal:(null==at?void 0:at.subTotal)||0,transaction_fee:(null==at?void 0:at.transactionFeeAmount)||0,travel_fee:kt,invoice_amount:at?at.totalAmount||0:st.invoice_amount||0,tip_amount:(null==at?void 0:at.tipAmount)||0})})))).pipe((0,qe.U)(st=>rt.tipOnlyReport?st.filter(at=>!!at.tip_amount):st)):(0,Rn.of)([])),(0,St.w)(ke=>ke.length?(0,ln.aj)(ke.map(rt=>rt.customerUid?this.usersRepositoryService.getById(rt.customerUid).pipe((0,qe.U)(st=>(null==st?void 0:st.brokerage_obj)?Object.assign(Object.assign({},rt),{listingAgents:[{brokerage_obj:st.brokerage_obj,brokerage:st.brokerage,agentCode:st.agentCode},...rt.listingAgents||[]]}):rt)):(0,Rn.of)(rt))):(0,Rn.of)([])),(0,Ht.b)(()=>this.fetchingData=!1),(0,Fr.d)(1)),this.taxAmount$=this.orders$.pipe((0,qe.U)(ke=>ke.reduce((rt,st)=>rt+zl(st.tax_amount),0)),(0,Fr.d)(1)),this.invoiceSubtotal$=this.orders$.pipe((0,qe.U)(ke=>ke.reduce((rt,st)=>rt+zl(st.invoice_subtotal),0)),(0,Fr.d)(1)),this.transactionFee$=this.orders$.pipe((0,qe.U)(ke=>ke.reduce((rt,st)=>rt+zl(st.transaction_fee),0)),(0,Fr.d)(1)),this.total$=this.orders$.pipe((0,qe.U)(ke=>ke.reduce((rt,st)=>rt+zl(st.invoice_amount),0)),(0,Fr.d)(1)),this.count$=this.orders$.pipe((0,k1.j)("length")),this.nbHits$=this.dataManager.length$,this.loading$=this.dataManager.loading$,this.fetchingData=!0,this.filterOptions={enableServices:!0,enableBookingFlows:!0,enableOrderStatuses:!0,enablePaymentStatuses:!0,enableTipFilter:!0,enableCoupons:!0},this.tableHeight=0}
1ngOnInit(){if(this.paramsManager.getParam("tipOnlyReport")){const t=this.paramsManager.getParam("cols");t.includes("tip_amount")||this.paramsManager.setParam("cols",[...t,"tip_amount"])}}onFiltersChange(t){var i,o,l,h;this.paramsManager.setParams({startDate:null===(o=null===(i=t.dates)||void 0===i?void 0:i.startDate)||void 0===o?void 0:o.format(Ul),endDate:null===(h=null===(l=t.dates)||void 0===l?void 0:l.endDate)||void 0===h?void 0:h.format(Ul),services:t.services,search:t.search,dateOption:t.dateOption,paymentStatuses:t.paymentStatuses,orderStatuses:t.orderStatuses,bookingFlows:t.bookingFlows,memberIds:t.memberIds,tipOnlyReport:t.tipOnlyReport,coupons:t.coupons})}searchOrdersIds(t){var i,{skip:o,limit:l}=t,h=(0,De._T)(t,["skip","limit"]);const F=(0,De._T)(h,["bookingFlows"]),te=(null!==(i=h.search)&&void 0!==i?i:"").replace(/^0+/,"");return this.cache.get({domainKey:"orders-reporting",fetcher:H=>(0,zt.D)(this.algoliaSearch.orderIndex.search(te,{attributesToRetrieve:["objectId"],restrictSearchableAttributes:["client_full_name","property_address.formatted_address","property_address.line2","email","order_name","contact_notes","packages","listingAgents","invoiceNo","orderNo"],allowTyposOnNumericTokens:!1,facetFilters:this.createFacets(h),filters:this.createFilters(h),offset:o,length:l}).then(re=>({results:re.hits.map(ie=>ie.objectID),length:re.nbHits}))),context:Object.assign({skip:o,limit:l},F),ttl:6e4})}onSelectedRoleFilterChange(t){this.paramsManager.setParam("selectedRoleFilter",t)}onHeightChange(t){if(this.tableHeight=t,this.datatable){const i=this.datatable.calculateItemsFitCount(this.tableHeight);this.paramsManager.setParam("pageSize",i,!0)}}exportAsXLSX(){(0,ln.aj)([this.orders$,this.paramsManager.paramsStreams.cols]).pipe((0,Nt.q)(1)).subscribe(([t,i])=>{!(null==t?void 0:t.length)||this.excelService.exportAsExcelFile(this._transformOrdersToExcel(t,i),"orders-report")})}getInvoiceNumber(t){return t.invoiceNo?(0,ge.PAi)(t.invoiceNo):"-"}getTax(t){var i;if(null!==t.tax_amount)return t.tax_amount;const l=+(null!==(i=t.invoice_amount)&&void 0!==i?i:0)||0;return(0,ge.L0K)(l,t.salesTax||0,!!t.isTaxInclusive)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}_transformOrdersToExcel(t,i){const o=new Set(i),l=this.paramsManager.getParam("selectedRoleFilter"),h=this.dateFormatService.getDateFormatByLocale(ge.lvo.US_DATE_TIME_24H);return t.map(y=>{var F;const te=this.travelFeeService.getOrderTravelsFee(y.travels),H={index:y.index,orderId:y.id,date:w()(1e3*y.date).format(h),order_name:y.packages,property_square_footage:y.property_square_footage,tave_link:y.tave_link,existing_contact:y.existing_contact,client_email:y.email,client_full_name:y.client_full_name,brokerage:y.listingAgents&&y.listingAgents[0]?(null===(F=y.listingAgents[0].brokerage_obj)||void 0===F?void 0:F.name)||y.listingAgents[0].brokerage:"",order_status:this.orderStatuses[y.orderStatus]?this.orderStatuses[y.orderStatus]:"Pending",payment_status:this.paymentStatuses[y.paymentStatus]?this.paymentStatuses[y.paymentStatus]:"Unpaid",invoice_amount:y.invoice_amount||0,tax_amount:this.getTax(y),invoice_subtotal:y.invoice_subtotal,travel_fee:te,tip_amount:y.tip_amount||0,[l||"members"]:this._getMembersByRole(y.members,l)};return Object.keys(H).filter(re=>o.has(re)||o.has("members")&&re===l).reduce((re,ve)=>(re[ve]=H[ve],re),{})})}_getMembersByRole(t,i){return this.membersService.getMembersByIdSync(t).filter(l=>!i||l.role===i).map(l=>l.displayName).join(", ")}createFilters(t){return t.dates?`${(0,ge.u9c)(t.dateOption)}:${t.dates.startDate.valueOf()} TO ${t.dates.endDate.valueOf()}`:""}createFacets(t){var i,o,l,h,y;const F=[];if(null===(i=t.memberIds)||void 0===i?void 0:i.length){const te=t.memberIds.map(H=>"members:"+H);F.push(te)}if(null===(o=t.services)||void 0===o?void 0:o.length){const te=t.services.map(H=>"services:"+H);F.push(te)}if(null===(l=t.orderStatuses)||void 0===l?void 0:l.length){const te=t.orderStatuses.map(H=>"orderStatus:"+H);F.push(te)}if(null===(h=t.paymentStatuses)||void 0===h?void 0:h.length){const te=t.paymentStatuses.map(H=>"paymentStatus:"+H);F.push(te)}if(null===(y=t.coupons)||void 0===y?void 0:y.length){const te=t.coupons.map(H=>"coupon.code:"+H);F.push(te)}return F}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U.ZeD),e.\u0275\u0275directiveInject(U.xBP),e.\u0275\u0275directiveInject(U.HVf),e.\u0275\u0275directiveInject(U.ewU),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(U.J4i),e.\u0275\u0275directiveInject(U.uOT),e.\u0275\u0275directiveInject(U.fiA),e.\u0275\u0275directiveInject(U.L2p),e.\u0275\u0275directiveInject(U.cVO))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-reporting-page"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(D1,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.datatable=o.first)}},decls:17,vars:19,consts:[[1,"page-wrapper","h-full","flex","flex-col","bg-white","overflow-hidden"],[1,"-mx-24","bg-gradient-to-b","from-white","to-gray-5","border-b-1","border-gray-15","border-solid"],[1,"mb-12","pl-24"],[3,"showDeliveredDateOption","options","filterObject","filterObjectChange",4,"ngIf"],["class","flex justify-between rounded-md pl-2 items-center mb-1",4,"ngIf"],[4,"ngIf"],["class","red",4,"ngIf"],[3,"heightChange",4,"ngIf"],[3,"showDeliveredDateOption","options","filterObject","filterObjectChange"],[1,"flex","justify-between","rounded-md","pl-2","items-center","mb-1"],[4,"ngIf","ngIfElse"],["totalsTmpl",""],[1,"w-full","flex","items-center"],[1,"block","mr-2",3,"diameter"],[1,"mb1"],[1,"fw6","mr1"],["class","mb1",4,"ngIf"],["type","button","uiBtnSize","","uiBtnTheme","",3,"click"],["uiIcon","download"],[1,"red"],[3,"heightChange"],[3,"loading","columns","items","trackByKey","appendOnly","itemHeight","notFoundText","itemsDisplayCount","allowChangeColumns","displayColumns","tableHeight","displayColumnsChange"],["datatable",""],[3,"uiDatatableHeaderCell"],[3,"uiDatatableCell"],["size","small","placeholder","Any Members",1,"role-filter",3,"items","ngModel","ngModelChange"],[1,"flex","items-start","justify-between","w-full"],[1,"whitespace-normal",3,"routerLink","queryParams"],["text","",1,"ml-2",3,"v2","value"],["target","_blank",3,"href",4,"ngIf"],["target","_blank",3,"href"],["uiIcon","receipt"],[3,"roleFilter","readOnly","memberIds","click",4,"ngIf"],[3,"roleFilter","readOnly","memberIds","click"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div")(2,"div",1)(3,"h1",2),e.\u0275\u0275text(4,"Orders Reporting"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(5,M1,1,3,"tn-filter-bar",3),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275template(7,B1,5,4,"div",4),e.\u0275\u0275pipe(8,"async"),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275pipe(10,"async"),e.\u0275\u0275template(11,j1,2,0,"div",5),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275template(13,R1,2,0,"div",6),e.\u0275\u0275pipe(14,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(15,pC,28,40,"ui-vertical-autofit-container",7),e.\u0275\u0275pipe(16,"async"),e.\u0275\u0275elementEnd()),2&t){let o,l,h;e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(6,5,i.filters$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",(e.\u0275\u0275pipeBind1(8,7,i.loading$)||i.fetchingData||(null==(o=e.\u0275\u0275pipeBind1(9,9,i.orders$))?null:o.length))&&(null==(o=e.\u0275\u0275pipeBind1(10,11,i.filters$))?null:o.dates)),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",null===e.\u0275\u0275pipeBind1(12,13,i.paramsM
1anager.paramsStreams.startDate)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",(null!==(l=e.\u0275\u0275pipeBind1(14,15,i.nbHits$))&&void 0!==l?l:0)>1e3),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",null==(h=e.\u0275\u0275pipeBind1(16,17,i.filters$))?null:h.dates)}},directives:[S.NgIf,Nl,Ni.Ou,_t.s,ht.V,mt.a,al.i,E1.n,O1.D,tn.H,ee.JJ,ee.On,I1.Q,Qe.yS,Lm.F,Gi.c],pipes:[S.AsyncPipe,ge._ab,qt.B],styles:[".role-filter[_ngcontent-%COMP%] ui-form-input-group{background-color:transparent;font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}"]}),r})();var uC=_(71764),om=_.n(uC),gC=_(38149),Nm=_(71545);let $m=(()=>{class r{constructor(t,i,o){this.fb=t,this.dialogRef=i,this.data=o,this.initForm(o.name)}initForm(t){this.form=this.fb.group({name:null!=t?t:""})}onApply(t){this.dialogRef.close(t.trim())}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ee.qu),e.\u0275\u0275directiveInject(ut.so),e.\u0275\u0275directiveInject(ut.WI))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-add-service-zone-dialog"]],decls:9,vars:2,consts:[[3,"formGroup"],["formControlName","name","label","Service Zone Name",3,"apply"],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary","matDialogClose",""]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"ui-form-group",0)(4,"ui-form-row")(5,"ui-apply-input",1),e.\u0275\u0275listener("apply",function(l){return i.onApply(l)}),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(6,"mat-dialog-actions",2)(7,"button",3),e.\u0275\u0275text(8," Cancel "),e.\u0275\u0275elementEnd()()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",i.data.name?"Rename":"Add"," Service Zone\n"),e.\u0275\u0275advance(2),e.\u0275\u0275property("formGroup",i.form))},directives:[Un.A,ut.xY,Fn.H,ee.JL,ee.sg,zn.L,Dm.m,ee.JJ,ee.u,ut.H8,_t.s,ht.V,ut.ZT],encapsulation:2,changeDetection:0}),r})();var _C=_(59834),Hl=_(26688);const hC=["additionalCalendarsInput"];function fC(r,a){1&r&&e.\u0275\u0275element(0,"div",8)}const zm=function(){return[]};function vC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-form-group",9)(1,"ui-form-row")(2,"ui-autocomplete",10),e.\u0275\u0275listener("optionSelected",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).selectUser(o)}),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf,i=e.\u0275\u0275nextContext();let o;e.\u0275\u0275advance(2),e.\u0275\u0275property("readonly",t.isEditMode)("value",t.selectedUserId)("options",null!==(o=e.\u0275\u0275pipeBind1(3,3,i.userAutocompleteOptions$))&&void 0!==o?o:e.\u0275\u0275pureFunction0(5,zm))}}function CC(r,a){1&r&&e.\u0275\u0275element(0,"div",8)}function bC(r,a){if(1&r&&e.\u0275\u0275element(0,"span",14),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275styleProp("background-color",i.getCalendarColor(null==t?null:t.value))}}function yC(r,a){if(1&r&&e.\u0275\u0275template(0,bC,1,2,"span",13),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("ngIf",i.getCalendarColor(null==t?null:t.value))}}function xC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-form-group",9)(1,"ui-form-row")(2,"ui-autocomplete",11),e.\u0275\u0275listener("optionSelected",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).selectMainCalendar(o)}),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275template(4,yC,1,1,"ng-template",null,12,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275reference(5),i=e.\u0275\u0275nextContext().ngIf,o=e.\u0275\u0275nextContext();let l;e.\u0275\u0275advance(2),e.\u0275\u0275property("value",i.mainCalendarId)("options",null!==(l=e.\u0275\u0275pipeBind1(3,3,o.calendarAutocompleteOptions$))&&void 0!==l?l:e.\u0275\u0275pureFunction0(5,zm))("preTemplate",t)}}function SC(r,a){1&r&&e.\u0275\u0275element(0,"div",15)}function TC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-chip",25),e.\u0275\u0275listener("removed",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).removeAdditionalCalendar(l)}),e.\u0275\u0275element(1,"span",26),e.\u0275\u0275elementStart(2,"span",27),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"button",28)(5,"mat-icon"),e.\u0275\u0275text(6,"cancel"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("title",t.name),e.\u0275\u0275advance(1),e.\u0275\u0275styleProp("background-color",i.getCalendarColor(t.id)),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.name," ")}}function wC(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"mat-option",29)(1,"ui-option-content",30),e.\u0275\u0275element(2,"span",31),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("value",t.id)("title",t.name),e.\u0275\u0275advance(1),e.\u0275\u0275property("label",t.name)("truncateLabel",!0),e.\u0275\u0275advance(1),e.\u0275\u0275styleProp("background-color",i.getCalendarColor(t.id))}}function kC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-form-group")(1,"ui-form-row")(2,"label",16),e.\u0275\u0275text(3," Additional calendars "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"mat-chip-list",17,18),e.\u0275\u0275template(6,TC,7,4,"mat-chip",19),e.\u0275\u0275elementStart(7,"input",20,21),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).additionalCalendarsInputValue=o})("matChipInputTokenEnd",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onCalendarAdd()}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(9,"mat-autocomplete",22,23),e.\u0275\u0275listener("optionSelected",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).selectAdditionalCalendar(o.option.value)}),e.\u0275\u0275template(11,wC,3,6,"mat-option",24),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275reference(5),i=e.\u0275\u0275reference(10),o=e.\u0275\u0275nextContext().ngIf,l=e.\u0275\u0275nextContext();e.\u0275\u0275advance(6),e.\u0275\u0275property("ngForOf",o.additionalCalendars),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngModel",l.additionalCalendarsInputValue)("matAutocomplete",i)("matChipInputFor",t),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngForOf",e.\u0275\u0275pipeBind1(12,5,l.additionalCalendarsList$))}}function EC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"ui-dialog-header"),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-dialog-content"),e.\u0275\u0275template(4,fC,1,0,"div",1),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275template(6,vC,4,6,"ng-template",null,2,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275template(8,CC,1,0,"div",1),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275template(10,xC,6,6,"ng-template",null,3,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275template(12,SC,1,0,"div",4),e.\u0275\u0275pipe(13,"async"),e.\u0275\u0275template(14,kC,13,7,"ng-template",null,5,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"mat-dialog-actions",6)(17,"button",7),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveOperationProfile()}),e.\u0275\u0275pipe(18,"async"),e.\u0275\u0275text(19," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(7),o=e.\u0275\u0275reference(11),l=e.\u0275\u0275reference(15),h=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.isEditMode?"Edit photographer":"Setup photographer"," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(5,9,h.isLoading$))("ngIfElse",i),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(9,11,h.isLoading$))("ngIfElse",o),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(13,13,h.isLoading$))("ngIfElse",l),e.\u0275\u0275advance(5),e.\u0275\u0275property("uiBtnLoading",t.isRequestInProgress)("disabled",e.\u0275\u0275pipeBind1(18,15,h.isSaveDisabled$))}}const OC={additionalCalendarsInputValue:"",excludeUserIds:[],selectedUserId:"",mainCalendarId:"",additionalCalendars:[],calendars:null,users:null,isRequestInProgress:!1,isEditMode:!1,isDirty:!1};let IC=(()=>{class r extends Xt.m1{constructor(t,i,o,l,h,y){super(Object.assign(Object.assign({},OC),{isEditMode:!!(null==y?void 0:y.selectedUserId),excludeUserIds:(null==y?void 0:y.excludeUserIds)||[],selectedUserId:(null==y?void 0:y.selectedUserId)||"",mainCalendarId:(null==y?void 0:y.mainCalendarId)||"",additionalCalendars:((null==y?void 0:y.selectedCalendars)||[]).filter(F=>F.id!==(null==y?void 0:y.mainCalendarId))})),this.appConfigService=t,this.coreRepository=i,this.dispatchRepositoryService=o,this.memberService=l,this.dialogRef=h,this.isLoading$=this.state$.pipe((0,qe.U)(F=>!F.users||!F.calendars)),this.isSaveDisabled$=this.state$.pipe((0,qe.U)(F=>!F.selectedUserId||!F.mainCalendarId||!F.isDirty||F.isRequestInProgress)),this.calendarAutocompleteOptions$=this.state$.pipe((0,qe.U)(({calendars:F})=>(F||[]).map(te=>({name:te.name,value:te.id}))),(0,Bn.O)([])),this.userAutocompleteOptions$=this.state$.pipe((0,qe.U)(({users:F})=>(F||[]).map(te=>({name:`${te.fullName} (${te.email})`,value:te.id})))),this.additionalCalendarsList$=this.state$.pipe((0,qe.U)(({calendars:F,mainCalendarId:te,additionalCalendars:H,additionalCalendarsInputValue:re})=>{const ve=re.trim().toLowerCase();return F.filter(ie=>ie.id!==te).filter(ie=>!ve||ie.name.toLowerCase().includes(ve)).filter(ie=>H.every(Ee=>Ee.id!==ie.id))}),(0,Bn.O)([])),this.loadUsers=this.effect(F=>F.pipe((0,_i.M)(this.state$),(0,St.w)(([te,H])=>(0,zt.D)(H.isEditMode?this.coreRepository.users.findUnique({where:{id:H.selectedUserId}}).then(re=>re?[re]:[]):this.coreRepository.users.findMany({select:{fullName:!0,email:!0},where:{permission:{in:[He.Pv.ADMIN,He.Pv.CONTRACTOR,He.Pv.STAFF]}}})).pipe((0,Xt._b)(re=>this.patchState({users:re}),re=>console.error(re)))))),this.loadCalendars=this.effect(F=>F.pipe((0,St.w)(()=>this.coreRepository.operationalProfiles.getAllCalendars().then(te=>{te=te.map(H=>Object.assign(Object.assign({},H),{hexColor:H.hexColor||"transparent",name:[H.name,H.description?` (${H.description})`:""].join("")})).sort((H,re)=>H.hexColor.localeCompare(re.hexColor)),this.patchState({calendars:te})}).catch(te=>console.log(te))))),this.saveOperationProfile=this.effect(F=>F.pipe((0,Ht.b)(()=>this.patchState({isRequestInProgress:!0})),(0,_i.M)(this.state$),(0,St.w)(([te,H])=>(0,De.mG)(this,void 0,void 0,function*(){const re=H.users.find(({id:Ee})=>Ee===H.selectedUserId),ve=H.calendars.find(({id:Ee})=>Ee===H.mainCalendarId);if(!re||!ve)return;const ie={id:re.id,email:re.email,timeZone:this.appConfigService.timeZone||ve.timezone,phone:re.phone,name:re.fullName,mainCalendarId:ve.id,calendars:[{id:ve.id,name:ve.name},...H.additionalCalendars.map(Ee=>({id:Ee.id,name:Ee.name}))]};return this.get().isEditMode||(yield this.createDispatch(ie),yield this.addPhotographerToOrg(re)),ie})),(0,St.w)(te=>(0,zt.D)(this.coreRepository.operationalProfiles.findUnique({where:{id:te.id}})).pipe((0,St.w)(H=>H?this.coreRepository.operationalProfiles.update({data:{mainCalendarId:te.mainCalendarId,calendars:te.calendars},where:{id:te.id}}):this.coreRepository.operationalProfiles.create({data:Object.assign(Object.assign({},te),{id:te.id})})),(0,Xt._b)(()=>this.dialogRef.close(!0),H=>{this.patchState({isRequestInProgress:!1}),console.error(H)})))))}get additionalCalendarsInputValue(){return this.get().additionalCalendarsInputValue}set additionalCalendarsInputValue(t){this.patchState({additionalCalendarsInputValue:t||""})}ngOnInit(){this.loadUsers(),this.loadCalendars()}getCalendarColor(t){var i;const{calendars:o}=this.get();return(null===(i=o.find(l=>l.id===t))||void 0===i?void 0:i.hexColor)||""}selectUser(t){this.patchState({selectedUserId:t,isDirty:!0})}selectMainCalendar(t){this.patchState({mainCalendarId:t,isDirty:!0})}selectAdditionalCalendar(t){const{calendars:i,additionalCalendars:o}=this.get(),l=i.find(h=>h.id===t);this.patchState({isDirty:!0,additionalCalendarsInputValue:"",additionalCalendars:[...o,{id:l.id,name:l.name}]}),this.additionalCalendarsInputEl.nativeElement.value=""}removeAdditionalCalendar(t){const{additionalCalendars:i}=this.get();this.patchState({isDirty:!0,additionalCalendars:i.filter(o=>o.id!==t.id)})}onCalendarAdd(){this.patchState({additionalCalendarsInputValue:""})}createDispatch(t){return this.dispatchRepositoryService.create({calendarId:t.mainCalendarId,email:t.email||"",name:t.name||"",phone:t.phone||""},t.id)}addPhotographerToOrg(t){return this.memberService.addPhotographerToOrgRoot(t)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(Jn.AO),e.\u0275\u0275directiveInject(U.Q3C),e.\u0275\u0275directiveInject(U.ZeD),e.\u0275\u0275directiveInject(ut.so),e.\u0275\u0275directiveInject(ut.WI))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-setup-photographer"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(hC,5),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.additionalCalendarsInputEl=o.first)}},features:[e.\u0275\u0275InheritDefinitionFeature],decls:2,vars:3,consts:[[4,"ngIf"],["class","w-full h-72 loading-block rounded mb-16",4,"ngIf","ngIfElse"],["userAutocomplete",""],["calendarAutocomplete",""],["class","w-full h-72 loading-block rounded",4,"ngIf","ngIfElse"],["additionalCalendarAutocomplete",""],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","primary",1,"w-full",3,"uiBtnLoading","disabled","click"],[1,"w-full","h-
172","loading-block","rounded","mb-16"],[1,"mb-16"],["label","Enter user name or email","placeholder","Select user",3,"readonly","value","options","optionSelected"],["label","Select photographer's primary calendar","placeholder","Select photographer's calendar",3,"value","options","preTemplate","optionSelected"],["preTemplate",""],["class","calendar-color",3,"background-color",4,"ngIf"],[1,"calendar-color"],[1,"w-full","h-72","loading-block","rounded"],[1,"body","pl-8","text-gray-50","mb-min"],[1,"bg-white","rounded","p-8"],["additionalCalendarsChipList",""],[3,"title","removed",4,"ngFor","ngForOf"],["matInput","","placeholder","Select calendar",1,"w-full","pl-8","pr-32","placeholder-gray-30",3,"ngModel","matAutocomplete","matChipInputFor","ngModelChange","matChipInputTokenEnd"],["additionalCalendarsInput",""],[3,"optionSelected"],["auto","matAutocomplete"],[3,"value","title",4,"ngFor","ngForOf"],[3,"title","removed"],[1,"calendar-color","mr-8"],[1,"calendar-chip-item-name"],["matChipRemove",""],[3,"value","title"],[3,"label","truncateLabel"],["uiOptionLeading","",1,"calendar-color"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,EC,20,17,"ng-container",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.state$))},directives:[S.NgIf,Un.A,ut.xY,Fn.H,zn.L,_C.Y,Hl.qn,S.NgForOf,Hl.HS,Hl.qH,tl.Hw,Pt.Nt,ee.Fj,jl.ZL,Hl.oH,ee.JJ,ee.On,jl.XC,B.ey,em.J,ut.H8,_t.s,ht.V,Cm.T],pipes:[S.AsyncPipe],styles:[".calendar-color[_ngcontent-%COMP%]{display:block;height:1rem;width:1rem;flex-shrink:0;border-radius:9999px}.calendar-chip-item-name[_ngcontent-%COMP%]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:384px}"]}),r})(),am=(()=>{class r{constructor(t){this.dialog=t}openDialog(t){return this.dialog.open(IC,{panelClass:["app-v2"],width:"512px",disableClose:!1,autoFocus:!1,data:t}).afterClosed()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(ut.uw))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})();var DC=_(684),MC=_(78029);let Um=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275dir=e.\u0275\u0275defineDirective({type:r,selectors:[["","uiDeferRenderContent",""]]}),r})();var PC=_(13388);function FC(r,a){if(1&r&&e.\u0275\u0275elementContainer(0,1),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngTemplateOutlet",t.content)}}let AC=(()=>{class r{constructor(t,i){this.host=t,this.viewportVisibility=i,this.visible$=this.viewportVisibility.observe(this.host.nativeElement)}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(e.ElementRef),e.\u0275\u0275directiveInject(PC._))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["ui-defer-render"]],contentQueries:function(t,i,o){if(1&t&&e.\u0275\u0275contentQuery(o,Um,7,e.TemplateRef),2&t){let l;e.\u0275\u0275queryRefresh(l=e.\u0275\u0275loadQuery())&&(i.content=l.first)}},decls:2,vars:3,consts:[[3,"ngTemplateOutlet",4,"ngIf"],[3,"ngTemplateOutlet"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,FC,1,1,"ng-container",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.visible$))},directives:[S.NgIf,S.NgTemplateOutlet],pipes:[S.AsyncPipe],encapsulation:2,changeDetection:0}),r})();function BC(r,a){if(1&r&&e.\u0275\u0275element(0,"input",17),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275classProp("input-error",i.getReasonControl(t).touched&&i.getReasonControl(t).hasError("required")),e.\u0275\u0275property("formControl",i.getReasonControl(t))}}function jC(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span",18),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.firstReason," ")}}function RC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19),e.\u0275\u0275element(1,"span",6),e.\u0275\u0275elementStart(2,"mat-checkbox",20),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).onApplyToAllChange(o.checked)}),e.\u0275\u0275text(3," Apply to all days "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(2),e.\u0275\u0275property("checked",t.applyToAll)}}function VC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",9)(2,"span",10),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"dayjsDateFormat"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",7),e.\u0275\u0275template(6,BC,1,3,"input",11),e.\u0275\u0275template(7,jC,2,1,"span",12),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"button",13,14),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).index;return e.\u0275\u0275nextContext(2).removeRow(l)}),e.\u0275\u0275element(10,"i",15),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(11,RC,4,1,"div",16),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275reference(9),l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275classProp("row-alt",i%2==1),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(4,7,t.value.date)),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!l.applyToAll||0===i),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",l.applyToAll&&i>0),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",0===i&&l.showApplyToAll)}}function LC(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",4)(1,"div",5)(2,"span",6),e.\u0275\u0275text(3,"Date"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"span",7),e.\u0275\u0275text(5,"Reason for holiday (Required)"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(6,VC,12,9,"ng-container",8),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(6),e.\u0275\u0275property("ngForOf",t.formArray.controls)}}function NC(r,a){1&r&&(e.\u0275\u0275elementStart(0,"p",21),e.\u0275\u0275text(1,"All dates have been removed."),e.\u0275\u0275elementEnd())}let $C=(()=>
1{class r{constructor(t,i){this.data=t,this.dialogRef=i,this.removedDates=[],this.applyToAll=!1,this.formArray=this.buildFormArray(t.selectedDates)}get showApplyToAll(){return this.formArray.length>1}get firstReason(){var t,i;return null!==(i=null===(t=this.formArray.at(0))||void 0===t?void 0:t.value.reason)&&void 0!==i?i:""}get isValid(){if(0===this.formArray.length)return!1;if(this.applyToAll){const t=this.formArray.at(0).get("reason");return!!(null==t?void 0:t.valid)}return this.formArray.valid}onApplyToAllChange(t){this.applyToAll=t,t||this.clearNonSourceReasons()}removeRow(t){this.removedDates.push(this.formArray.at(t).value.date),this.formArray.removeAt(t),this.applyToAll&&(0===t||this.formArray.length<=1)&&(this.applyToAll=!1,this.clearNonSourceReasons())}getReasonControl(t){return t.get("reason")}onSave(){if(!this.isValid)return void this.formArray.markAllAsTouched();const t=this.firstReason.trim(),i=this.formArray.controls.map(o=>({date:o.value.date,reason:this.applyToAll?t:o.value.reason.trim()}));this.dialogRef.close({entries:i,removedDates:this.removedDates})}onCancel(){this.dialogRef.close({entries:null,removedDates:this.removedDates})}buildFormArray(t){return new ee.Oe(t.map(i=>new ee.cw({date:new ee.NI(i),reason:new ee.NI("",[ee.kI.required,ee.kI.maxLength(200)])})))}clearNonSourceReasons(){this.formArray.controls.slice(1).forEach(t=>{const i=t.get("reason");null==i||i.setValue("",{emitEvent:!1}),null==i||i.markAsTouched()})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ut.WI),e.\u0275\u0275directiveInject(ut.so))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-set-holidays-dialog"]],decls:11,vars:3,consts:[["class","table-container",4,"ngIf","ngIfElse"],["emptyState",""],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",1,"flex-1",3,"click"],["uiBtnSize","medium","uiBtnTheme","main",1,"flex-1",3,"disabled","click"],[1,"table-container"],[1,"table-head"],[1,"col-date"],[1,"col-reason"],[4,"ngFor","ngForOf"],[1,"table-row"],[1,"col-date","cell-date"],["class","reason-input","placeholder","Ex. Off-site meeting","maxlength","200",3,"input-error","formControl",4,"ngIf"],["class","reason-synced",4,"ngIf"],["uiBtnSize","xx-small","iconOnly","","uiBtnTheme","error","themeMode","text",1,"flex-shrink-0",3,"click"],["removeRowButton","btnSize"],["uiIcon","delete",3,"size"],["class","apply-to-all-row",4,"ngIf"],["placeholder","Ex. Off-site meeting","maxlength","200",1,"reason-input",3,"formControl"],[1,"reason-synced"],[1,"apply-to-all-row"],[1,"apply-to-all-checkbox",3,"checked","change"],[1,"empty-state"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1,"Set Holidays"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content"),e.\u0275\u0275template(3,LC,7,1,"div",0),e.\u0275\u0275template(4,NC,2,0,"ng-template",null,1,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"mat-dialog-actions")(7,"button",2),e.\u0275\u0275listener("click",function(){return i.onCancel()}),e.\u0275\u0275text(8," Cancel "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",3),e.\u0275\u0275listener("click",function(){return i.onSave()}),e.\u0275\u0275text(10," Set Dates as Holidays "),e.\u0275\u0275elementEnd()()),2&t){const o=e.\u0275\u0275reference(5);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.formArray.length)("ngIfElse",o),e.\u0275\u0275advance(6),e.\u0275\u0275property("disabled",!i.isValid)}},directives:[Un.A,ut.xY,S.NgIf,S.NgForOf,ee.Fj,ee.nD,ee.JJ,ee.oH,_t.s,ht.V,mt.a,Q.oG,ut.H8],pipes:[qt.B],styles:[".table-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;width:100%}.table-head[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1));display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:4px;font-size:12px;font-weight:600;line-height:16px}.table-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:4px 16px}.table-row.row-alt[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));border-radius:4px}.col-date[_ngcontent-%COMP%]{width:121px;flex-shrink:0}.col-reason[_ngcontent-%COMP%]{flex:1;min-width:0}.apply-to-all-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:4px 16px 8px}.apply-to-all-checkbox[_ngcontent-%COMP%] .mat-checkbox-label{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));font-size:12px;font-weight:400;line-height:16px}.reason-synced[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));font-size:13px;line-height:32px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-date[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));font-size:12px;font-weight:500;line-height:16px}.reason-input[_ngcontent-%COMP%]{border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1));
1display:flex;align-items:center;gap:8px;width:200px;min-width:200px;padding:4px 8px;font-family:var(--content-font, Inter),sans-serif;font-size:13px;font-weight:400;line-height:18px;outline:none}.reason-input[_ngcontent-%COMP%]::placeholder{--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.reason-input[_ngcontent-%COMP%]:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.reason-input.input-error[_ngcontent-%COMP%]{--tw-border-opacity: 1;border-color:rgb(250 82 82 / var(--tw-border-opacity, 1))}.empty-state[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));font-size:13px;padding:20px 0;text-align:center}"],changeDetection:0}),r})();const UC={holidays:{},selectedDates:[],activeYear:(new Date).getFullYear(),loading:!1,saving:!1,workingHours:null,drawerOpen:!1,drawerYear:(new Date).getFullYear(),stagedDeletions:[]};let sm=(()=>{class r extends Xt.m1{constructor(t,i,o,l,h,y,F){var te,H;super(UC),this.bookingConfigService=t,this.repository=i,this.dialog=o,this.snackBar=l,this.timeFormatService=h,this.translate=y,this.appConfigService=F,this.holidays$=this.select(ie=>ie.holidays),this.selectedDates$=this.select(ie=>ie.selectedDates),this.activeYear$=this.select(ie=>ie.activeYear),this.loading$=this.select(ie=>ie.loading),this.saving$=this.select(ie=>ie.saving),this.workingHours$=this.select(ie=>ie.workingHours),this.selectedDatesSet$=this.select(this.selectedDates$,ie=>new Set(ie)),this.hasSelection$=this.select(this.selectedDates$,ie=>ie.length>0),this.blockedDatesForActiveYear$=this.select(this.holidays$,this.activeYear$,(ie,Ee)=>{const Fe=`${Ee}-`;return new Set(Object.keys(ie).filter(ke=>ke.startsWith(Fe)))}),this.monthsData$=this.select(this.activeYear$,ie=>Array.from({length:12},(Ee,Fe)=>this.buildMonth(ie,Fe))),this.drawerOpen$=this.select(ie=>ie.drawerOpen),this.drawerYear$=this.select(ie=>ie.drawerYear),this.stagedDeletions$=this.select(ie=>ie.stagedDeletions),this.hasStagedDeletions$=this.select(this.stagedDeletions$,ie=>ie.length>0),this.sortedHolidayEntries$=this.select(this.holidays$,ie=>Object.entries(ie).map(([Ee,Fe])=>({date:Ee,reason:Fe.reason})).sort((Ee,Fe)=>Ee.date.localeCompare(Fe.date))),this.drawerHolidays$=this.select(this.sortedHolidayEntries$,this.drawerYear$,this.stagedDeletions$,(ie,Ee,Fe)=>{const ke=`${Ee}-`,rt=new Set(Fe);return ie.filter(st=>st.date.startsWith(ke)&&!rt.has(st.date))}),this.calendarVm$=this.select(this.activeYear$,this.selectedDatesSet$,this.blockedDatesForActiveYear$,this.hasSelection$,this.loading$,this.workingHours$,this.monthsData$,(ie,Ee,Fe,ke,rt,st,at)=>({activeYear:ie,selectedDates:Ee,blockedDates:Fe,hasSelection:ke,loading:rt,workingHours:st,monthsData:at,weekLabels:this.weekLabels})),this.drawerVm$=this.select(this.drawerYear$,this.drawerHolidays$,this.hasStagedDeletions$,this.saving$,this.drawerOpen$,(ie,Ee,Fe,ke,rt)=>({drawerYear:ie,holidays:Ee,hasStagedDeletions:Fe,saving:ke,drawerOpen:rt})),this.setYear=this.updater((ie,Ee)=>Object.assign(Object.assign({},ie),{activeYear:Ee})),this.incrementYear=this.updater(ie=>Object.assign(Object.assign({},ie),{activeYear:ie.activeYear+1})),this.decrementYear=this.updater(ie=>Object.assign(Object.assign({},ie),{activeYear:ie.activeYear-1})),this.toggleDate=this.updater((ie,Ee)=>{const ke=ie.selectedDates.indexOf(Ee)>=0?ie.selectedDates.filter(rt=>rt!==Ee):[...ie.selectedDates,Ee];return Object.assign(Object.assign({},ie),{selectedDates:ke})}),this.clearSelection=this.updater(ie=>Object.assign(Object.assign({},ie),{selectedDates:[]})),this.deselectDates=this.updater((ie,Ee)=>{const Fe=new Set(Ee);return Object.assign(Object.assign({},ie),{selectedDates:ie.selectedDates.filter(ke=>!Fe.has(ke))})}),this.openDrawer=this.updater(ie=>Object.assign(Object.assign({},ie),{drawerOpen:!0,drawerYear:ie.activeYear})),this.closeDrawer=this.updater(ie=>Object.assign(Object.assign({},ie),{drawerOpen:!1,stagedDeletions:[]})),this.cancelDrawer=this.updater(ie=>Object.assign(Object.assign({},ie),{drawerOpen:!1,stagedDeletions:[]})),this.incrementDrawerYear=this.updater(ie=>Object.assign(Object.assign({},ie),{drawerYear:ie.drawerYear+1})),this.decrementDrawerYear=this.updater(ie=>Object.assign(Object.assign({},ie),{drawerYear:ie.drawerYear-1})),this.stageDeletion=this.updater((ie,Ee)=>Object.assign(Object.assign({},ie),{stagedDeletions:[...ie.stagedDeletions,Ee]})),this.cancelStagedDeletions=this.updater(ie=>Object.assign(Object.assign({},ie),{stagedDeletions:[]})),this.holidaysSaved=this.updater((ie,Ee)=>Object.assign(Object.assign({},ie),{holidays:Object.assign(Object.assign({},ie.holidays),Ee),selectedDates:[],saving:!1})),this.holidaysDeleted=this.updater((ie,Ee)=>{const Fe=Object.assign({},ie.holidays);return Ee.forEach(ke=>delete Fe[ke]),Object.assign(Object.assign({},ie),{holidays:Fe,stagedDeletions:[],drawerOpen:!1,saving:!1})}),this.loadHolidays=this.effect(ie=>ie.pipe((0,Ht.b)(()=>this.patchState({loading:!0})),(0,St.w)(()=>this.bookingConfigService.get$().pipe((0,Xt._b)(Ee=>{var Fe;const ke=Ee.workingHours;this.patchState({holidays:null!==(Fe=Ee.holidays)&&void 0!==Fe?Fe:{},loading:!1,workingHours:ke?{start:ke.start||this.timeFormatService.formatTime(ke.fromObj),end:ke.end||this.timeFormatService.formatTime(ke.toObj)}:null})},()=>this.patchState({loading:!1})))))),this.openSetHolidaysDialog=this.effect(ie=>ie.pipe((0,_i.M)(this.selectedDates$),(0,St.w)(([,Ee])=>{const Fe=[...Ee].sort();return this.dialog.open($C,{panelClass:"app-v2",width:"450px",data:{selectedDates:Fe}}).afterClosed().pipe((0,Yt.h)(ke=>!!ke),(0,Ht.b)(ke=>{ke.removedDates.length&&this.deselectDates(ke.removedDates),ke.entries&&this.saveHolidays(ke.entries)}))}))),this.saveHolidays=this.effect(ie=>ie.pipe((0,Ht.b)(()=>this.patchState({saving:!0})),(0,St.w)(Ee=>this.repository.saveHolidays(Ee).pipe((0,Xt._b)(Fe=>{this.holidaysSaved(Fe),this.showSuccessToast()},()=>this.patchState({saving:!1})))))),this.commitStagedDeletions=this.effect(ie=>ie.pipe((0,_i.M)(this.stagedDeletions$),(0,Yt.h)(([,Ee])=>Ee.length>0),(0,Ht.b)(()=>this.patchState({saving:!0})),(0,St.w)(([,Ee])=>this.repository.deleteHolidays([...Ee]).pipe((0,Xt._b)(()=>{this.holidaysDeleted([...Ee]),this.showSuccessToast()},()=>this.patchState({saving:!1}))))));const re=null!==(H=null===(te=this.appConfigService.localization)||void 0===te?void 0:te.language)&&void 0!==H?H:He.uH.EN;this.isMondayFirst=["nl","fr","it","de"].includes(re),this.weekLabels=(this.isMondayFirst?["MO","TU","WE","TH","FR","SA","SU"]:["SU","MO","TU","WE","TH","FR","SA"]).map(ie=>this.translate.instant(ie))}showSuccessToast(){this.snackBar.open("Holiday schedule updated.","",{duration:3e3,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["success-snackbar","compact-snackbar"]})}buildMonth(t,i){const o=om()().year(t).month(i).startOf("month"),l=this.getEmptyDaysBeforeMonthStart(o),h=o.subtract(l,"day");return{monthName:o.format(ge.lvo.MONTH_ABBR),days:this.buildMonthGrid(h,42,i)}}getEmptyDaysBeforeMonthStart(t){const i=t.day();return this.isMondayFirst?(i+6)%7:i}buildMonthGrid(t,i,o){return Array.from({length:i},(l,h)=>{const y=t.add(h,"day");return{key:y.format(ge.lvo.ISO_DATE),dayNumber:y.date(),isCurrentMonth:y.month()===o}})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(U.KVG),e.\u0275\u0275inject(Fi),e.\u0275\u0275inject(ut.uw),e.\u0275\u0275inject(Dt.ux),e.\u0275\u0275inject(U.Qnp),e.\u0275\u0275inject(de.sK),e.\u0275\u0275inject(U._ZM))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})(),HC=(()=>
1{class r{constructor(){this.isCurrentMonth=!0,this.isSelected=!1,this.isBlocked=!1,this.clicked=new e.EventEmitter}onClick(){this.clicked.emit()}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-holiday-day"]],inputs:{dayNumber:"dayNumber",isCurrentMonth:"isCurrentMonth",isSelected:"isSelected",isBlocked:"isBlocked"},outputs:{clicked:"clicked"},decls:2,vars:8,consts:[[1,"holiday-day",3,"disabled","click"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"button",0),e.\u0275\u0275listener("click",function(){return i.onClick()}),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275classProp("other-month",!i.isCurrentMonth)("selected",i.isSelected)("blocked",i.isBlocked),e.\u0275\u0275property("disabled",!i.isCurrentMonth),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",i.dayNumber,"\n"))},styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:center}.holiday-day[_ngcontent-%COMP%]{font-family:var(--content-font, Inter),sans-serif;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1));width:28px;height:28px;border:none;border-radius:2px;background:transparent;font-weight:400;font-size:14px;line-height:22px;text-align:center;padding:1px;transition:background-color .15s ease,color .15s ease}.holiday-day[_ngcontent-%COMP%]:hover:not(:disabled):not(.blocked):not(.selected){background-color:var(--brand-15, #DBEAFE)}.holiday-day.selected[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.holiday-day.blocked[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.holiday-day.other-month[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(204 204 204 / var(--tw-text-opacity, 1))}"],changeDetection:0}),r})();function WC(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"span",7),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(t)}}function GC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-holiday-day",8),e.\u0275\u0275listener("clicked",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().onDayClicked(l)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("dayNumber",t.dayNumber)("isCurrentMonth",t.isCurrentMonth)("isSelected",!(null==i.selectedDates||!i.selectedDates.has(t.key)))("isBlocked",!(null==i.blockedDates||!i.blockedDates.has(t.key)))}}let KC=(()=>{class r{constructor(){this.dateToggled=new e.EventEmitter,this.blockedDateClicked=new e.EventEmitter}trackByKey(t,i){return i.key}onDayClicked(t){var i;!t.isCurrentMonth||((null===(i=this.blockedDates)||void 0===i?void 0:i.has(t.key))?this.blockedDateClicked.emit(t.key):this.dateToggled.emit(t.key))}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-holiday-month"]],inputs:{monthName:"monthName",weekLabels:"weekLabels",days:"days",selectedDates:"selectedDates",blockedDates:"blockedDates"},outputs:{dateToggled:"dateToggled",blockedDateClicked:"blockedDateClicked"},decls:8,vars:4,consts:[[1,"month-card"],[1,"month-header"],[1,"month-body"],[1,"week-labels"],["class","week-label",4,"ngFor","ngForOf"],[1,"days-grid"],[3,"dayNumber","isCurrentMonth","isSelected","isBlocked","clicked",4,"ngFor","ngForOf","ngForTrackBy"],[1,"week-label"],[3,"dayNumber","isCurrentMonth","isSelected","isBlocked","clicked"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",2)(4,"div",3),e.\u0275\u0275template(5,WC,2,1,"span",4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",5),e.\u0275\u0275template(7,GC,1,4,"tn-holiday-day",6),e.\u0275\u0275elementEnd()()()),2&t&&(e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(i.monthName),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.weekLabels),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngForOf",i.days)("ngForTrackBy",i.trackByKey))},directives:[S.NgForOf,HC],styles:["[_nghost-%COMP%]{display:block}.month-card[_ngcontent-%COMP%]{overflow:hidden;border-radius:.5rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.month-header[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1));font-weight:500;font-size:14px;line-height:22px;text-align:center;padding:8px 16px;border-radius:2px 2px 0 0;box-shadow:0 -1px #f0f0f0 inset}.month-body[_ngcontent-%COMP%]{padding:8px 16px 12px}.week-labels[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.week-label[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1));font-weight:500;font-size:12px;line-height:22px;text-align:center}.days-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px;justify-items:center}"],changeDetection:0}),r})();
1function ZC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",21)(1,"span",17),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"dayjsDateFormat"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"span",18),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"button",22,23),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).onDelete(l.date)}),e.\u0275\u0275element(8,"i",24),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275reference(7);e.\u0275\u0275classProp("row-alt",i%2==1),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(3,5,t.date)),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(t.reason),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",o.iconSize)}}function QC(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div")(1,"div",16)(2,"span",17),e.\u0275\u0275text(3,"Date"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"span",18),e.\u0275\u0275text(5,"Reason for holiday"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(6,"span",19),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,ZC,9,7,"div",20),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(7),e.\u0275\u0275property("ngForOf",t.holidays)}}function JC(r,a){1&r&&(e.\u0275\u0275elementStart(0,"p",25),e.\u0275\u0275text(1,"No holidays have been configured yet"),e.\u0275\u0275elementEnd())}const YC=function(r){return{shown:r}},XC=function(r){return{open:r}};function qC(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",1),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onCancel()}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"div",2)(3,"div",3)(4,"h3"),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",4)(7,"button",5,6),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onYearPrev()}),e.\u0275\u0275element(9,"i",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"button",5,8),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onYearNext()}),e.\u0275\u0275element(12,"i",9),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(13,"div",10),e.\u0275\u0275template(14,QC,8,1,"div",11),e.\u0275\u0275template(15,JC,2,0,"ng-template",null,12,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(17,"div",13)(18,"button",14),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onCancel()}),e.\u0275\u0275text(19," Cancel "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(20,"button",15),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onSave()}),e.\u0275\u0275text(21),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(8),o=e.\u0275\u0275reference(11),l=e.\u0275\u0275reference(16);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(9,YC,t.drawerOpen)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(11,XC,t.drawerOpen)),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1("",t.drawerYear," Holidays"),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.holidays.length)("ngIfElse",l),e.\u0275\u0275advance(6),e.\u0275\u0275property("disabled",!t.hasStagedDeletions||t.saving),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.saving?"Saving...":"Save"," ")}}let eb=(()=>{class r{constructor(t){this.store=t,this.vm$=this.store.drawerVm$,this.isOpen$=this.store.drawerOpen$}onCancel(){this.store.cancelDrawer()}onSave(){this.store.commitStagedDeletions()}onDelete(t){this.store.stageDeletion(t)}onYearPrev(){this.store.decrementDrawerYear()}onYearNext(){this.store.incrementDrawerYear()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(sm))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-holiday-list-drawer"]],decls:2,vars:3,consts:[[4,"ngIf"],[1,"drawer-backdrop",3,"ngClass","click"],[1,"holiday-list-drawer",3,"ngClass"],[1,"drawer-header"],[1,"year-nav","flex","items-center","gap-8"],["uiBtnSize","small","iconOnly","","uiBtnTheme","main","themeMode","secondary",3,"click"],["drawerPrevButton","btnSize"],["uiIcon","keyboard_arrow_left",3,"size"],["drawerNextButton","btnSize"],["uiIcon","keyboard_arrow_right",3,"size"],[1,"drawer-content"],[4,"ngIf","ngIfElse"],["emptyState",""],[1,"drawer-actions"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",1,"flex-1",3,"click"],["uiBtnSize","medium","uiBtnTheme","main",1,"flex-1",3,"disabled","click"],[1,"header-row"],[1,"col-date"],[1,"col-reason"],[1,"col-action"],["class","holiday-row",3,"row-alt",4,"ngFor","ngForOf"],[1,"holiday-row"],["uiBtnSize","xx-small","iconOnly","","uiBtnTheme","error","themeMode","text",1,"flex-shrink-0",3,"click"],["deleteHolidayButton","btnSize"],["uiIcon","delete",3,"size"],[1,"empty-state"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,qC,22,13,"ng-container",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.vm$))},directives:[S.NgIf,S.NgClass,_t.s,ht.V,mt.a,S.NgForOf],pipes:[S.AsyncPipe,qt.B],styles:[".drawer-backdrop[_ngcontent-%COMP%]{position:fixed;inset:80px 0 0;background:rgba(0,0,0,.32);opacity:0;visibility:hidden;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;z-index:999}.drawer-backdrop.shown[_ngcontent-%COMP%]{opacity:1;visibility:visible}.holiday-list-drawer[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));position:fixed;top:80px;right:-420px;bottom:0;width:420px;display:flex;flex-direction:column;transition:right .3s ease-in-out;z-index:1000;box-shadow:-2px 0 8px #00000026}.holiday-list-drawer.open[_ngcontent-%COMP%]{right:0}
1.drawer-header[_ngcontent-%COMP%]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;flex-shrink:0}.drawer-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1));margin:0;font-size:16px;font-weight:600}.drawer-content[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:16px 24px;min-height:0}.header-row[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1));display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:4px;font-size:12px;font-weight:600;line-height:16px}.header-row[_ngcontent-%COMP%] .col-date[_ngcontent-%COMP%], .header-row[_ngcontent-%COMP%] .col-reason[_ngcontent-%COMP%]{color:inherit;font-weight:inherit}.holiday-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:4px 16px}.holiday-row.row-alt[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));border-radius:4px}.col-date[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));width:121px;flex-shrink:0;font-size:12px;font-weight:500;line-height:16px}.col-reason[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));flex:1;font-size:12px;font-weight:400;line-height:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-action[_ngcontent-%COMP%]{width:20px;flex-shrink:0}.empty-state[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));font-size:14px;padding:40px 0;text-align:center}.drawer-actions[_ngcontent-%COMP%]{border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;flex-shrink:0}"],changeDetection:0}),r})();function tb(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"p",18),e.\u0275\u0275text(1),e.\u0275\u0275elementStart(2,"a",19),e.\u0275\u0275text(3,"here"),e.\u0275\u0275elementEnd()()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" During business days, the working hours are set from ",t.start," to ",t.end,". you can check the settings ")}}function nb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-holiday-month",20),e.\u0275\u0275listener("dateToggled",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onDateToggled(o)})("blockedDateClicked",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onBlockedDateClicked()}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275property("monthName",t.monthName)("weekLabels",i.weekLabels)("days",t.days)("selectedDates",i.selectedDates)("blockedDates",i.blockedDates)}}function ib(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",1)(2,"h2",2),e.\u0275\u0275text(3,"Holiday Schedule"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"p",3),e.\u0275\u0275text(5," Select one or more dates to mark as holidays. These dates will be excluded from scheduling availability. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(6,tb,4,2,"p",4),e.\u0275\u0275elementStart(7,"div",5)(8,"button",6,7),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onYearPrev()}),e.\u0275\u0275element(10,"i",8),e.\u0275\u0275text(11," Previous year "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"span",9),e.\u0275\u0275text(13),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"button",10,11),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onYearNext()}),e.\u0275\u0275text(16," Next year "),e.\u0275\u0275element(17,"i",12),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(18,"div",13),e.\u0275\u0275template(19,nb,1,5,"tn-holiday-month",14),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(20,"div",15)(21,"button",16),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onClearSelection()}),e.\u0275\u0275text(22," Clear Selection "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(23,"button",17),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onSetHolidays()}),e.\u0275\u0275text(24," Set Holidays "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(9),o=e.\u0275\u0275reference(15);e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",t.workingHours),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(t.activeYear),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",o.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngForOf",t.monthsData),e.\u0275\u0275advance(4),e.\u0275\u0275property("disabled",!t.hasSelection)}}let rb=(()=>
1{class r{constructor(t){this.store=t,this.vm$=this.store.calendarVm$}ngOnInit(){this.store.loadHolidays()}onSetHolidays(){this.store.openSetHolidaysDialog()}onDateToggled(t){this.store.toggleDate(t)}onBlockedDateClicked(){this.store.openDrawer()}onYearPrev(){this.store.decrementYear()}onYearNext(){this.store.incrementYear()}onClearSelection(){this.store.clearSelection()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(sm))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-holiday-schedule"]],features:[e.\u0275\u0275ProvidersFeature([sm])],decls:3,vars:3,consts:[[4,"ngIf"],[1,"holiday-schedule-content"],[1,"page-title"],[1,"description-text"],["class","working-hours-text",4,"ngIf"],[1,"year-navigation"],["uiBtnSize","small","uiBtnTheme","setting","themeMode","text",1,"year-nav-btn",3,"click"],["prevYearButton","btnSize"],["uiIcon","keyboard_arrow_left",3,"size"],[1,"year-label"],["uiBtnSize","small","uiBtnTheme","setting","themeMode","text","trailingIcon","",1,"year-nav-btn",3,"click"],["nextYearButton","btnSize"],["uiIcon","keyboard_arrow_right",3,"size"],[1,"year-grid"],[3,"monthName","weekLabels","days","selectedDates","blockedDates","dateToggled","blockedDateClicked",4,"ngFor","ngForOf"],[1,"actions"],["uiBtnSize","large","uiBtnTheme","setting","themeMode","secondary",3,"click"],["uiBtnSize","large","uiBtnTheme","setting",3,"disabled","click"],[1,"working-hours-text"],["routerLink","/admin/booking/general","fragment","scheduling-section",1,"settings-link"],[3,"monthName","weekLabels","days","selectedDates","blockedDates","dateToggled","blockedDateClicked"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,ib,25,6,"ng-container",0),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275element(2,"tn-holiday-list-drawer")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.vm$))},directives:[S.NgIf,Qe.yS,_t.s,ht.V,mt.a,S.NgForOf,KC,eb],pipes:[S.AsyncPipe],styles:["[_nghost-%COMP%]{display:block}.holiday-schedule-content[_ngcontent-%COMP%]{border-radius:.5rem;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:36px 44px;margin-top:20px}.page-title[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1));font-weight:500;font-size:24px;line-height:32px;margin:0 0 8px}.description-text[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1));font-weight:400;font-size:14px;line-height:20px;margin:0 0 12px}.working-hours-text[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));font-weight:400;font-size:14px;line-height:20px;margin:0 0 32px}.working-hours-text[_ngcontent-%COMP%] .settings-link[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1));text-decoration:underline}.year-navigation[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:36px;margin-bottom:24px}.year-nav-btn[_ngcontent-%COMP%]{width:128px}.year-nav-btn[_ngcontent-%COMP%]:first-child{justify-content:flex-end}.year-nav-btn[_ngcontent-%COMP%]:last-child{justify-content:flex-start}.year-label[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1));font-weight:500;font-size:24px;line-height:32px;white-space:nowrap}.year-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:39px;column-gap:39px;grid-row-gap:44px;row-gap:44px}.actions[_ngcontent-%COMP%]{display:flex;justify-content:center;gap:12px;margin-top:32px;margin-bottom:35px}.actions[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{width:220px}"],changeDetection:0}),r})();var ob=_(4603);let ab=(()=>{class r{constructor(){this.serviceZonesIds=null,this.serviceZonesChange=new e.EventEmitter,this.value=[]}ngOnInit(){var t;this.value=(null!==(t=this.serviceZonesIds)&&void 0!==t?t:[]).map(i=>{const o=this.serviceZones.find(({id:l})=>l===i);return o?{id:o.id,name:o.name}:null}).filter(Boolean)}onServiceZonesChange(t){const i=t.map(({id:o})=>o);this.serviceZonesChange.emit(i)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-assign-photographer-service-zones"]],inputs:{photographer:"photographer",serviceZonesIds:"serviceZonesIds",serviceZones:"serviceZones"},outputs:{serviceZonesChange:"serviceZonesChange"},decls:6,vars:4,consts:[[1,"grid","grid-cols-1","md:grid-cols-3","gap-16"],[1,"pt-6"],[1,"col-span-2"],["identifyBy","id","displayBy","name","placeholder","+ Area","secondaryPlaceholder","Service Areas",3,"onlyFromAutocomplete","ngModel","ngModelChange"],["identifyBy","id","displayBy","name",3,"autocompleteItems"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"ui-form-row",0)(1,"div",1),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",2)(4,"tag-input",3),e.\u0275\u0275listener("ngModelChange",function(l){return i.value=l})("ngModelChange",function(l){return i.onServiceZonesChange(l)}),e.\u0275\u0275element(5,"tag-input-dropdown",4),e.\u0275\u0275elementEnd()()()),2&t&&(e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",i.photographer.name," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("onlyFromAutocomplete",!0)("ngModel",i.value),e.\u0275\u0275advance(1),e.\u0275\u0275property("autocompleteItems",i.serviceZones))},directives:[zn.L,In.m7,ee.JJ,ee.On,In.zP],styles:[""]}),r})();
1function sb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-assign-photographer-service-zones",1),e.\u0275\u0275listener("serviceZonesChange",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().onServiceZonesChange(h.id,o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("photographer",t)("serviceZones",i.serviceZones)("serviceZonesIds",i.photographersServiceZonesMap[t.id])}}let lb=(()=>{class r{constructor(){this.photographers=[],this.photographersServiceZonesMap={},this.assign=new e.EventEmitter}onServiceZonesChange(t,i){this.assign.emit({[t]:i})}trackById(t,{id:i}){return i}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-assign-service-zones"]],inputs:{photographers:"photographers",photographersServiceZonesMap:"photographersServiceZonesMap",serviceZones:"serviceZones"},outputs:{assign:"assign"},decls:1,vars:2,consts:[[3,"photographer","serviceZones","serviceZonesIds","serviceZonesChange",4,"ngFor","ngForOf","ngForTrackBy"],[3,"photographer","serviceZones","serviceZonesIds","serviceZonesChange"]],template:function(t,i){1&t&&e.\u0275\u0275template(0,sb,1,3,"tn-assign-photographer-service-zones",0),2&t&&e.\u0275\u0275property("ngForOf",i.photographers)("ngForTrackBy",i.trackById)},directives:[S.NgForOf,ab],styles:["[_nghost-%COMP%]{margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}"]}),r})();function cb(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",2)(1,"div",3),e.\u0275\u0275element(2,"i",4)(3,"ui-avatar",5),e.\u0275\u0275elementStart(4,"div",6),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd()()()),2&r){const t=a.$implicit;e.\u0275\u0275advance(3),e.\u0275\u0275property("src",t.photoURL)("name",t.name)("email",t.email),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.name)}}let db=(()=>{class r{constructor(){this.sortBy="priority",this.priorityChange=new e.EventEmitter,this.list=[]}set photographers(t){this.list=(0,ge.IhP)([...t||[]],this.sortBy)}onDrop(t){(0,n.bA)(this.list,t.previousIndex,t.currentIndex),this.applyPriority()}applyPriority(){const t=this.list.reduce((i,o,l)=>(i[o.id]=l+1,i),{});this.priorityChange.emit(t)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-photographers-priority"]],inputs:{sortBy:"sortBy",photographers:"photographers"},outputs:{priorityChange:"priorityChange"},decls:2,vars:1,consts:[["cdkDropList","",1,"app-v2",3,"cdkDropListDropped"],["cdkDrag","","class","cursor-move",4,"ngFor","ngForOf"],["cdkDrag","",1,"cursor-move"],[1,"photographer-item"],["uiIcon","drag_indicator"],["size","small",3,"src","name","email"],[1,"photographer-name"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275listener("cdkDropListDropped",function(l){return i.onDrop(l)}),e.\u0275\u0275template(1,cb,6,4,"div",1),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.list))},directives:[n.Wj,S.NgForOf,n.Zt,mt.a,fl.A],styles:["[_nghost-%COMP%]{display:block}.photographer-item[_ngcontent-%COMP%]{display:flex;align-items:center;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;padding-right:1rem}.photographer-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{padding-left:.25rem}.photographer-item[_ngcontent-%COMP%] .photographer-name[_ngcontent-%COMP%], .photographer-item[_ngcontent-%COMP%] ui-avatar[_ngcontent-%COMP%]{margin-left:.5rem}"],changeDetection:0}),r})();function pb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-slide-toggle",47),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().$implicit.enabled=o}),e.\u0275\u0275text(1," Enabled "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275property("disableRipple",!0)("ngModel",t.enabled)}}function mb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"td")(1,"div",55)(2,"span",56),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"button",57,58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext(3).onEditOperationalProfile(o.id)}),e.\u0275\u0275element(6,"i",54),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.ngIf,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext().$implicit,l=e.\u0275\u0275nextContext(3);let h,y;e.\u0275\u0275advance(2),e.\u0275\u0275property("title",(null==(h=l.getMainCalendar(t[o.id]))?null:h.id)||"\u2014"),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",(null==(y=l.getMainCalendar(t[o.id]))?null:y.name)||"\u2014"," "),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",i.iconSize)}}function ub(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tr")(1,"td"),e.\u0275\u0275text(2),e.\u0275\u0275elementStart(3,"div",43),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"td"),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"td")(8,"div",44),e.\u0275\u0275listener("colorPickerChange",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).setCalendarColor(h,o)}),e.\u0275\u0275elementStart(9,"div",45),e.\u0275\u0275element(10,"div",46),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(11,"td")(12,"mat-slide-toggle",47),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.senior=o}),e.\u0275\u0275text(13," Senior "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(14,"td",48),e.\u0275\u0275template(15,pb,2,2,"mat-slide-toggle",49),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(16,mb,7,3,"td",50),e.\u0275\u0275pipe(17,"async"),e.\u0275\u0275elementStart(18,"td",51)(19,"button",52,53),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).onEditPhotographerSettings(l)}),e.\u0275\u0275element(21,"i",54),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275reference(20),o=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.name," "),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.email," "),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",o.thisWeekBookings[t.id]||0," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("colorPicker",o.getCalendarColor(t))("cpPresetColors",o.calendarColors),e.\u0275\u0275advance(2),e.\u0275\u0275styleProp("background-color",o.getCalendarColor(t)),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.senior),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.calendarId),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(17,12,o.operationalProfiles$)),e.\u0275\u0275advance(5),e.\u0275\u0275property("size",i.iconSize)}}function gb(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"table",39)(1,"thead")(2,"tr")(3,"th",40),e.\u0275\u0275text(4,"Name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"th"),e.\u0275\u0275text(6,"Bookings this week"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"th"),e.\u0275\u0275text(8,"Calendar color"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"th"),e.\u0275\u0275text(10," Experience "),e.\u0275\u0275element(11,"i",41),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"th"),e.\u0275\u0275text(13,"Accepting Bookings"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"th"),e.\u0275\u0275text(15,"Calendar name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"th"),e.\u0275\u0275text(17,"Availability"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(18,"tbody"),e.\u0275\u0275template(19,ub,22,14,"tr",42),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(11),e.\u0275\u0275property("size",16),e.\u0275\u0275advance(8),e.\u0275\u0275property("ngForOf",t.ph
1otographers)("ngForTrackBy",t.trackById)}}function _b(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-header-cell")(1,"div",70),e.\u0275\u0275text(2),e.\u0275\u0275element(3,"br"),e.\u0275\u0275text(4),e.\u0275\u0275pipe(5,"shorten"),e.\u0275\u0275elementStart(6,"div")(7,"button",71),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().$implicit,l=e.\u0275\u0275nextContext().$implicit;return e.\u0275\u0275nextContext(2).selectCategory(l,o.id)}),e.\u0275\u0275text(8," Select all "),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.name," "),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind3(5,2,t.email,10,"...")," ")}}function hb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-checkbox",76),e.\u0275\u0275listener("change",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext().$implicit,h=e.\u0275\u0275nextContext().$implicit,y=e.\u0275\u0275nextContext(3);return o?y.selections[h.id].toggle(l.id):null}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext().$implicit,o=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("checked",o.selections[i.id].isSelected(t.id))}}function fb(r,a){1&r&&(e.\u0275\u0275elementStart(0,"mat-cell",72)(1,"div",73)(2,"ui-defer-render",74),e.\u0275\u0275template(3,hb,1,1,"mat-checkbox",75),e.\u0275\u0275elementEnd()()())}function vb(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0,68),e.\u0275\u0275template(1,_b,9,6,"mat-header-cell",64),e.\u0275\u0275template(2,fb,4,0,"mat-cell",69),e.\u0275\u0275elementContainerEnd()),2&r&&e.\u0275\u0275property("matColumnDef",a.$implicit.id)}function Cb(r,a){1&r&&(e.\u0275\u0275elementStart(0,"mat-header-cell"),e.\u0275\u0275text(1,"Service"),e.\u0275\u0275elementEnd())}function bb(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"mat-cell"),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.name," ")}}function yb(r,a){1&r&&e.\u0275\u0275element(0,"mat-header-row")}function xb(r,a){1&r&&e.\u0275\u0275element(0,"mat-row")}function Sb(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",31)(1,"div",59),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",60)(4,"mat-table",61),e.\u0275\u0275template(5,vb,3,1,"ng-container",62),e.\u0275\u0275elementContainerStart(6,63),e.\u0275\u0275template(7,Cb,2,0,"mat-header-cell",64),e.\u0275\u0275template(8,bb,2,1,"mat-cell",65),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275template(9,yb,1,0,"mat-header-row",66),e.\u0275\u0275template(10,xb,1,0,"mat-row",67),e.\u0275\u0275elementEnd()()()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.name," "),e.\u0275\u0275advance(2),e.\u0275\u0275styleProp("width",i.servicesTableWidth,"px"),e.\u0275\u0275property("dataSource",t.children)("trackBy",i.trackById),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.photographers)("ngForTrackBy",i.trackById),e.\u0275\u0275advance(4),e.\u0275\u0275property("matHeaderRowDef",i.displayedColumns)("matHeaderRowDefSticky",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("matRowDefColumns",i.displayedColumns)}}function Tb(r,a){1&r&&e.\u0275\u0275element(0,"tn-holiday-schedule")}const wb=function(r){return{"service-zone-options--active":r}};function kb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",97),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(4).setActiveServiceZone(l)}),e.\u0275\u0275elementStart(1,"div",98)(2,"mat-checkbox",99),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()})("change",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(4).toggleServiceZone(h,o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",100)(4,"div",101),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",102),e.\u0275\u0275text(7),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(8,"div",103)(9,"i",104),e.\u0275\u0275listener("click",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(4).onRenameServiceZone(h,o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"i",105),e.\u0275\u0275listener("click",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(4).removeServiceZone(h,o)}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(4);e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(5,wb,i.selectedServiceZone===t))("title",t.name),e.\u0275\u0275advance(2),e.\u0275\u0275property("checked",i.photographerZoneSelections.isSelected(t)),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(t.name),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.shape?"":"(not set)")}}function Eb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",78)(1,"div",79)(2,"div",80)(3,"mat-slide-toggle",28),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).bookingConfig.enableServiceZones=o}),e.\u0275\u0275text(4," Enable Service Areas "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(5,"div",79)(6,"div",81)(7,"div",7)(8,"div",26),e.\u0275\u0275text(9,"Service Areas"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",82)(11,"button",83,84),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).onAddServiceZone()}),e.\u0275\u0275element(13,"i",85),e.\u0275\u0275text(14," Add "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"div",86)(16,"mat-checkbox",87),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).toggleSelectAll(
1o)}),e.\u0275\u0275elementStart(17,"span",88),e.\u0275\u0275text(18,"All service areas"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(19,kb,11,7,"div",89),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(20,"div",90)(21,"div",91),e.\u0275\u0275text(22," Service Area: "),e.\u0275\u0275elementStart(23,"ui-select",92),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).serviceZoneIdSelected(o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(24,"agm-map",93),e.\u0275\u0275listener("mapReady",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).onMapReady(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(25,"div",94)(26,"div",14),e.\u0275\u0275text(27,"Custom Message for Out-of-Area Bookings"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(28,"div",95),e.\u0275\u0275text(29," Shown to clients who enter an address outside your service areas. Leave blank to use the default message. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(30,"div",96),e.\u0275\u0275listener("froalaModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).bookingConfig.outOfServiceZoneMessage=o}),e.\u0275\u0275text(31,"Editor"),e.\u0275\u0275elementEnd()()()()()}if(2&r){const t=e.\u0275\u0275reference(12),i=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(3),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.bookingConfig.enableServiceZones),e.\u0275\u0275advance(10),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("checked",i.allServiceZonesSelected)("indeterminate",i.someServiceZonesSelected),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.updatedServiceZonesList)("ngForTrackBy",i.trackById),e.\u0275\u0275advance(4),e.\u0275\u0275property("value",null==i.selectedServiceZone?null:i.selectedServiceZone.id)("items",i.updatedServiceZonesList),e.\u0275\u0275advance(1),e.\u0275\u0275property("zoom",8)("latitude",i.lat)("longitude",i.lng),e.\u0275\u0275advance(6),e.\u0275\u0275property("uiFroalaEditor",i.froalaOptions)("froalaModel",i.bookingConfig.outOfServiceZoneMessage)}}function Ob(r,a){if(1&r&&e.\u0275\u0275template(0,Eb,32,14,"div",77),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("ngIf",t.photographers)}}function Ib(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",7)(1,"div",26),e.\u0275\u0275text(2," Assign Service Areas "),e.\u0275\u0275elementStart(3,"div",29),e.\u0275\u0275text(4,"Assign service areas to photographers"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",30)(6,"tn-assign-service-zones",106),e.\u0275\u0275listener("assign",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onAssignServiceZone(o)}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("photographers",t.photographers)("serviceZones",t.serviceZonesList)("photographersServiceZonesMap",t.photographersServiceZonesMap)}}function Db(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",7)(1,"div",26),e.\u0275\u0275text(2," Photographers priority "),e.\u0275\u0275elementStart(3,"div",29),e.\u0275\u0275text(4,"Configure photographers priority for booking"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",30)(6,"mat-slide-toggle",28),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).bookingConfig.enablePhotographerPriority=o}),e.\u0275\u0275text(7," Enable photographers priority "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"tn-photographers-priority",107),e.\u0275\u0275listener("priorityChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onPhotographersPriorityChange(o)}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.bookingConfig.enablePhotographerPriority),e.\u0275\u0275advance(2),e.\u0275\u0275property("photographers",t.photographers)}}function Mb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",7)(1,"div",26),e.\u0275\u0275text(2," Photographers order "),e.\u0275\u0275elementStart(3,"div",29),e.\u0275\u0275text(4,"Configure photographers order for scheduling calendar"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",30)(6,"tn-photographers-priority",108),e.\u0275\u0275listener("priorityChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onPhotographersOrderChange(o)}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("photographers",t.photographers)}}function Pb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",3)(1,"h1",4),e.\u0275\u0275text(2,"Schedule"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-tab-group",5),e.\u0275\u0275listener("selectedIndexChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().activeTabIndex=o})("selectedTabChange",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().setMapBounds()}),e.\u0275\u0275elementStart(4,"mat-tab",6)(5,"div",7)(6,"div",8),e.\u0275\u0275text(7," Photographers "),e.\u0275\u0275elementStart(8,"button",9),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onSetupOperationalProfile()}),e.\u0275\u0275text(9," Setup new photographer "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(10,"div",10)(11,"div",11),e.\u0275\u0275template(12,gb,20,3,"table",12),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"div",13)(14,"div",14),e.\u0275\u0275text(15,"Send 2 photographers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"div",15),e.\u0275\u0275text(17," If a scheduled shoot exceeds a certain duration, book 2 photographers instead of 1. (Set to 0 to disable) "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"mat-form-field")(19,"mat-label"),e.\u0275\u0275text(20,"Hours"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"input",16),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingConfig.sendTwoPhotographers=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(22,"div",17),e.\u0275\u0275text(23,"Duration Reduction for 2 photographers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"div",15),e.\u0275\u0275text(25," Reduce the total duration by this percentage when two photographers are assigned. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(26,"div",18)(27,"mat-slider",19),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().twoPhotographersReduction=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(28,"span",20),e.\u0275\u0275text(29),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(30,"div",21)(31,"div",14),e.\u0275\u0275text(32,"Prevent last minute bookings"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(33,"div",15),e.\u0275\u0275text(34,"Clients must book this amount of hours in advance"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(35,"mat-form-field")(36,"mat-label"),e.\u0275\u0275text(37,"Hours"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(38,"input",22),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingConfig.hoursInAdvance=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(39,"div",21)(40,"div",14),e.\u0275\u0275text(41,"Time slots interval"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(42,"div",15),e.\u0275\u0275text(43," Set minute interval between booking time slots (Minimum - 15 minutes) "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(44,"mat-form-field")(45,"mat-label"),e.\u0275\u0275text(46,"Minutes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(47,"input",23),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().timeslotIntervalMinutes=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(48,"div",21)(49,"div",14),e.\u0275\u0275text(50,"Client Arrival Window Duration"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(51,"div",15),e.\u0275\u0275text(52," Duration in minutes to calculate the client-facing appointment arrival window "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(53,"mat-form-field")(54,"mat-label"),e.\u0275\u0275text(55,"Minutes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(56,"input",24),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().clientArrivalWindowDuration=o}),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275elementStart(57,"div",25)(58,"div",26),e.\u0275\u0275text(59," Photographer Skillsets "),e.\u0275\u0275elementStart(60,"div",27)(61,"mat-slide-toggle",28),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingConfig.enablePhotographerSkillsets=o}),e.\u0275\u0275text(62," Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(63,"div",29),e.\u0275\u0275text(64," Assign bookings to photographers based on their skillset. If disabled, bookings will be evenly distributed to photographers based on availability. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(65,"div",30)(66,"div",31),e.\u0275\u0275template(67,Sb,11,10,"div",32),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(68,"mat-tab",33),e.\u0275\u0275template(69,Tb,1,0,"ng-template",34),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(70,"mat-tab",35),e.\u0275\u0275template(71,Ob,1,1,"ng-template",34),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(72,"mat-tab",36),e.\u0275\u0275template(73,Ib,7,3,"ng-template",34),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(74,"mat-tab",37),e.\u0275\u0275template(75,Db,9,3,"ng-template",34),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(76,"mat-tab",38),e.\u0275\u0275template(77,Mb,7,1,"ng-template",34),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275property("selectedIndex",t.activeTabIndex),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngIf",null==t.photographers?null:t.photographers.length),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngModel",t.bookingConfig.sendTwoPhotographers),e.\u0275\u0275advance(6),e.\u0275\u0275property("max",100)("min",0)("step",5)("thumbLabel",!0)("ngModel",t.twoPhotographersReduction),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1("",t.twoPhotographersReduction,"%"),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngModel",t.bookingConfig.hoursInAdvance),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngModel",t.timeslotIntervalMinutes),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngModel",t.clientArrivalWindowDuration),e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.bookingConfig.enablePhotographerSkillsets),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngForOf",t.servicesTable)("ngForTrackBy",t.trackById)}}function Fb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",109)(1,"button",110,111),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveChanges()}),e.\u0275\u0275element(3,"i",112),e.\u0275\u0275text(4," Save changes "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275reference(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("size",t.iconSize)}}function Ab(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",115),e.\u0275\u0275element(1,"mat-spinner",116),e.\u0275\u0275elementEnd())}function Bb(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",117),e.\u0275\u0275text(1," No calendars connected yet. Please connect a calendar to a photographer's account from their profile page. "),e.\u0275\u0275elementEnd())}function jb(r,a){if(1&r&&(e.\u0275\u0275template(0,Ab,2,0,"div",113),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275template(2,Bb,2,0,"ng-template",null,114,e.\u0275\u0275templateRefExtractor)),2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,2,i.loading$))("ngIfElse",t)}}let _o=class{constructor(a,t,i,o,l,h,y,F,te,H,re,ve,ie,Ee,Fe){this.afs=a,this.afsNew=t,this.coreRepository=i,this.appConfigService=o,this.dispatchRepository=l,this.serviceZonesRepository=h,this.solutionsRepository=y,this.bookingConfigDocumentService=F,this.photographerSettingsDialogService=te,this.setupPhotographerDialogService=H,this.calendarEventsRepositoryService=re,this.dialog=ve,this._snackBar=ie,this.cdr=Ee,this.route=Fe,this.photographersPriority={},this.photographersOrder={},this.loading$=new Ei.X(!0),this.servicesTable=[],this.displayedColumns=[],this.servicesTableWidth=0,this.selections={},this.activeDrawingPolygon=null,this.drawingClickListener=null,this.drawingDblclickListener=null,this.activeZoneStyle={strokeColor:"#FF0000",fillColor:"#FF0000"},this.inactiveZoneStyle={strokeColor:"#000",fillColor:"#000"},this.photographerZoneSelections=new Kn.Ov(!0,[]),this.serviceZoneShapes={},this.serviceZonesList=[],this.updatedServiceZonesList=[],this.photographersServiceZonesMap={},this.calendarColors=ge.fYt,this.thisWeekBookings={},this.activeTabIndex=0,this.froalaOptions={height:192,toolbarButtons:["bold","italic","fontSize","textColor","insertLink","|","indent","align","lineHeight","formatO
1L","formatUL","|","undo","redo"],pluginsEnabled:["link","align","fontSize","colors","lists","lineHeight","inlineStyle","indent"]},this.holidayTabIndex=Nm.HG.Holidays,this.trackById=ge.xnY,this.enableDrawingMode=()=>{this.disableDrawingMode();const ke=new google.maps.Polygon(Object.assign({map:this.map,draggable:!0,editable:!0,clickable:!1,strokeWeight:1},this.activeZoneStyle));ke.setPath(new google.maps.MVCArray),this.activeDrawingPolygon=ke,this.map.setOptions({draggableCursor:"crosshair",disableDoubleClickZoom:!0}),this.drawingClickListener=google.maps.event.addListener(this.map,"click",rt=>{var st;rt.latLng&&(null===(st=this.activeDrawingPolygon)||void 0===st||st.getPath().push(rt.latLng))}),this.drawingDblclickListener=google.maps.event.addListener(this.map,"dblclick",()=>{var rt;const st=null===(rt=this.activeDrawingPolygon)||void 0===rt?void 0:rt.getPath();st&&st.getLength()>0&&st.removeAt(st.getLength()-1),this.commitActiveDrawing()})},this.commitActiveDrawing=()=>{const ke=this.activeDrawingPolygon;!ke||ke.getPath().getLength()<3||(this.activeDrawingPolygon=null,this.disableDrawingMode(),ke.setOptions({clickable:!0}),this.serviceZoneShapes[this.selectedServiceZone.id]=ke,this.attachZoneSelectionListener(ke),this.attachPolygonEditListeners(ke),this.updatePointList(ke.getPath()),this.cdr.detectChanges())},this.disableDrawingMode=()=>{this.drawingClickListener&&(google.maps.event.removeListener(this.drawingClickListener),this.drawingClickListener=null),this.drawingDblclickListener&&(google.maps.event.removeListener(this.drawingDblclickListener),this.drawingDblclickListener=null),this.map&&this.map.setOptions({draggableCursor:void 0,disableDoubleClickZoom:!1}),this.activeDrawingPolygon&&(this.activeDrawingPolygon.setMap(null),this.activeDrawingPolygon=null)},this.attachPolygonEditListeners=ke=>{const rt=ke.getPath();!rt||["set_at","insert_at","remove_at"].forEach(st=>{google.maps.event.addListener(rt,st,()=>this.updatePointList(ke.getPath()))})},this.operationalProfiles$=this.coreRepository.operationalProfiles.onSnapshotMany().pipe((0,qe.U)(ke=>(0,Tr.keyBy)(ke,"id"))),this.route.queryParams.pipe((0,wt.t)(this)).subscribe(ke=>{this.activeTabIndex=parseInt(ke.tab,10)||Nm.HG.General})}get allServiceZonesSelected(){return this.updatedServiceZonesList.every(a=>this.photographerZoneSelections.isSelected(a))}get someServiceZonesSelected(){return!this.allServiceZonesSelected&&this.updatedServiceZonesList.some(a=>this.photographerZoneSelections.isSelected(a))}get twoPhotographersReduction(){var a;const t=null!==(a=this.bookingConfig.twoPhotographersDurationRatio)&&void 0!==a?a:.7;return Math.round(100*(1-t))}set twoPhotographersReduction(a){this.bookingConfig.twoPhotographersDurationRatio=1-a/100}ngOnInit(){this.loading$.next(!0),this.countPhotographerBookings(),Promise.all([this.loadDispatch(),this.solutionsRepository.getAllAsync(),this.bookingConfigDocumentService.get()]).then(([a,t,i])=>{const o=t;this.servicesTable=this.appConfigService.serviceTypes.map(l=>({name:l,id:this.afs.createId(),children:o.filter(h=>(null==h?void 0:h.type)==l)})),this.servicesTable.push({name:"Uncategorized",id:this.afs.createId(),children:o.filter(l=>!(null==l?void 0:l.type))}),this.bookingConfig=i,this.timeslotIntervalMinutes=this.appConfigService.timeslotIntervalMinutes,this.clientArrivalWindowDuration=this.appConfigService.clientArrivalWindowDuration,this.loading$.next(!1)})}toggleSelectAll(a){this.updatedServiceZonesList.filter(t=>a.checked?!this.photographerZoneSelections.isSelected(t):this.photographerZoneSelections.isSelected(t)).forEach(t=>this.photographerZoneSelections.toggle(t))}getMainCalendar(a){return null==a?void 0:a.calendars.find(t=>t.id===a.mainCalendarId)}onSetupOperationalProfile(){this.setupPhotographerDialogService.openDialog().pipe((0,Yt.h)(Boolean)).subscribe(()=>this.loadDispatch())}onEditOperationalProfile(a){this.operationalProfiles$.pipe((0,Nt.q)(1)).subscribe(t=>{var i,o;this.setupPhotographerDialogService.openDialog({selectedUserId:a,mainCalendarId:null===(i=t[a])||void 0===i?void 0:i.mainCalendarId,selectedCalendars:null===(o=t[a])||void 0===o?void 0:o.calendars})})}getCalendarColor(a){return a.calendarColor||(0,ge.mB6)(a.id)}setCalendarColor(a,t){a.calendarColor=t}countPhotographerBookings(){this.calendarEventsRepositoryService.getByQuery([["when.start_time",">=",om()().startOf("week").unix()],["when.start_time","<=",om()().endOf("week").unix()]]).subscribe(a=>{a.forEach(t=>
1{(t.photographers||[]).forEach(i=>{this.thisWeekBookings[i]=(this.thisWeekBookings[i]||0)+1})}),this.cdr.markForCheck()})}loadDispatch(){return(0,De.mG)(this,void 0,void 0,function*(){const[a,t]=yield Promise.all([this.dispatchRepository.getAllAsync(),this.serviceZonesRepository.getAll$().pipe((0,Nt.q)(1)).toPromise()]);this.photographers=a;const i=this.photographers.filter(o=>o.serviceZone).map(o=>({id:o.id,name:o.name,shape:o.serviceZone}));i.forEach(o=>{this.photographersServiceZonesMap[o.id]=[o.id]}),this.serviceZonesList=i.concat(t),this.updatedServiceZonesList=this.serviceZonesList.slice(),this.photographers.forEach(o=>{const l=this.serviceZonesList.filter(({id:h})=>{var y;return null===(y=o.serviceZoneIds)||void 0===y?void 0:y.includes(h)}).map(({id:h})=>h);this.photographersServiceZonesMap[o.id]=l.length?l:this.photographersServiceZonesMap[o.id]||null}),this.photographers=(0,ge.IhP)(this.photographers.filter(({id:o})=>"primary"!==o),"displayOrder"),this.photographers.forEach(o=>{this.selections[o.id]=new Kn.Ov(!0,o.services?o.services:[])}),this.servicesTableWidth=124+105*this.photographers.length,this.displayedColumns=["service",...this.photographers.map(o=>o.id)],this.cdr.markForCheck()})}saveChanges(){if(this.timeslotIntervalMinutes<15)return void this._snackBar.open("Invalid minute amount for time slots interval.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"});this.commitActiveDrawing(),this.updateAppConfig({timeslotIntervalMinutes:this.timeslotIntervalMinutes,clientArrivalWindowDuration:this.clientArrivalWindowDuration||0});const a=U.Q3C.initBatch(),t=U.ASQ.initBatch();this.updatedServiceZonesList.forEach(H=>{const re=this.serviceZoneShapes[H.id],ve=null==re?void 0:re.getPath();ve&&(H.shape=this.pathToCoordinates(ve)),this.serviceZonesRepository.batchedSet(H.id,H,t)}),this.serviceZonesList.forEach(H=>{this.updatedServiceZonesList.find(ve=>ve.id===H.id)||this.serviceZonesRepository.batchedDelete(H.id,t)}),this.serviceZonesList=this.updatedServiceZonesList.slice(),this.photographers.forEach(H=>{H.services=this.selections[H.id].selected;const re=this.photographersServiceZonesMap[H.id];H.serviceZoneIds=(null==re?void 0:re.length)?re:null,this.photographersPriority[H.id]&&(H.priority=this.photographersPriority[H.id]),this.photographersOrder[H.id]&&(H.displayOrder=this.photographersOrder[H.id]);const ve=Object.assign(Object.assign({},H),{serviceZone:null});this.dispatchRepository.batchedSet(ve.id,ve,a)});const{sendTwoPhotographers:i,hoursInAdvance:o,enablePhotographerSkillsets:l,enableServiceZones:h,enablePhotographerPriority:y,outOfServiceZoneMessage:F,twoPhotographersDurationRatio:te}=this.bookingConfig;a.update((0,hn.JU)(this.afsNew,"globals/booking"),{sendTwoPhotographers:i||0,hoursInAdvance:o||0,enablePhotographerSkillsets:!!l,enableServiceZones:!!h,enablePhotographerPriority:!!y,outOfServiceZoneMessage:(null==F?void 0:F.trim())||"",twoPhotographersDurationRatio:null!=te?te:.7}),a.commit().then(()=>t.commit()).then(()=>{this._snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"right",verticalPosition:"bottom"})}).catch(H=>{this._snackBar.open("Save failed \u2014 see console.","Got it",{duration:4e3,horizontalPosition:"right",verticalPosition:"bottom"})})}selectCategory(a,t){a.children.forEach(i=>this.selections[t].select(i.id))}toggleServiceZone(a,t){t&&this.photographerZoneSelections.toggle(a)}removeServiceZone(a,t){t.stopPropagation(),this.selectedServiceZone==a?this.deleteSelectedShape():this.deleteShape(a)}onMapReady(a){this.map=a,this._loadServiceZones(this.updatedServiceZonesList),this.photographerZoneSelections.changed.subscribe(t=>{t.added.forEach(i=>{const o=this.serviceZoneShapes[null==i?void 0:i.id];o&&o.setMap(this.map)}),t.removed.forEach(i=>{const o=this.serviceZoneShapes[null==i?void 0:i.id];o&&o.setMap(null)})}),this.photographerZoneSelections.select(...this.updatedServiceZonesList),this.updatedServiceZonesList[0]&&this.setActiveServiceZone(this.updatedServiceZonesList[0])}updateAppConfig(a){return this.afs.collection("app").doc("config").update(a)}setActiveServiceZone(a){var t;this.commitActiveDrawing(),this.selectedServiceZone=a,this.photographerZoneSelections.select(this.selectedServiceZone),(0,li.Z)(this.serviceZoneShapes).forEac
1h(l=>{l&&l.setOptions(Object.assign({draggable:!1,editable:!1},this.inactiveZoneStyle))});const o=this.serviceZoneShapes[null===(t=this.selectedServiceZone)||void 0===t?void 0:t.id];o?(o.setOptions(Object.assign({draggable:!0,editable:!0},this.activeZoneStyle)),this.disableDrawingMode(),this.fitMapToPolygon(o)):this.enableDrawingMode()}serviceZoneIdSelected(a){const t=this.updatedServiceZonesList.find(i=>i.id===a);t&&this.setActiveServiceZone(t)}setMapBounds(){if(!this.map)return;const a=this.boundsOfPolygons((0,li.Z)(this.serviceZoneShapes));this.map.fitBounds(a),this.map.panToBounds(a)}fitMapToPolygon(a){const t=this.boundsOfPolygons([a]);t.isEmpty()||this.map.fitBounds(t)}boundsOfPolygons(a){const t=new google.maps.LatLngBounds;return a.filter(Boolean).forEach(i=>{i.getPaths().forEach(o=>{o.forEach(l=>t.extend(l))})}),t}deleteShape(a){const t=this.serviceZoneShapes[a.id];t&&(t.setMap(null),this.serviceZoneShapes[a.id]=null),this.updatedServiceZonesList=this.updatedServiceZonesList.filter(i=>i.id!==a.id)}deleteSelectedShape(){var a;const t=this.serviceZoneShapes[null===(a=this.selectedServiceZone)||void 0===a?void 0:a.id];t&&(t.setMap(null),this.serviceZoneShapes[this.selectedServiceZone.id]=null),this.updatedServiceZonesList=this.updatedServiceZonesList.filter(i=>i.id!==this.selectedServiceZone.id),this.updatedServiceZonesList[0]&&this.setActiveServiceZone(this.updatedServiceZonesList[0])}_loadServiceZones(a){a.forEach(t=>{t.shape&&(this.serviceZoneShapes[t.id]=this.createPolygon(t.shape))})}createPolygon(a){const t=new google.maps.Polygon({paths:a,editable:!1,draggable:!1,clickable:!0,strokeWeight:1});return this.attachZoneSelectionListener(t),t}attachZoneSelectionListener(a){google.maps.event.addListener(a,"click",()=>{const t=(0,gC.Z)(this.serviceZoneShapes,a),i=this.updatedServiceZonesList.find(o=>o.id===t);!i||(this.setActiveServiceZone(i),this.cdr.detectChanges())})}updatePointList(a){!a||(this.selectedServiceZone.shape=this.pathToCoordinates(a))}pathToCoordinates(a){const t=[],i=a.getLength();for(let o=0;o<i;o++)t.push(a.getAt(o).toJSON());return t}onAssignServiceZone(a){this.photographersServiceZonesMap=Object.assign(Object.assign({},this.photographersServiceZonesMap),a)}onAddServiceZone(){this.dialog.open($m,{panelClass:"app-v2",autoFocus:!1,width:"600px",data:{name:null}}).afterClosed().pipe((0,Yt.h)(Boolean)).subscribe(a=>{const t={id:this.afs.createId(),name:a,shape:[]};this.updatedServiceZonesList.push(t),this.setActiveServiceZone(t)})}onRenameServiceZone(a,t){t.stopPropagation(),this.dialog.open($m,{panelClass:"app-v2",autoFocus:!1,width:"600px",data:{name:a.name}}).afterClosed().pipe((0,Yt.h)(Boolean)).subscribe(i=>{a.name=i})}onEditPhotographerSettings(a){this.photographerSettingsDialogService.openDialog({photographer:a,workingHours:this.bookingConfig.workingHours}).pipe((0,Yt.h)(Boolean)).subscribe(t=>{var i;const o=t;a.availability=o.availability,this.dispatchRepository.update(a.id,{availability:o.availability}),(null===(i=o.availability)||void 0===i?void 0:i.timezone)&&this.coreRepository.operationalProfiles.update({data:{timeZone:o.availability.timezone},where:{id:a.id}}).catch(l=>console.error(l))})}onPhotographersPriorityChange(a){this.photographersPriority=a}onPhotographersOrderChange(a){this.photographersOrder=a}};_o.\u0275fac=function(a){return new(a||_o)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(hn.gg),e.\u0275\u0275directiveInject(Jn.AO),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.Q3C),e.\u0275\u0275directiveInject(U.ASQ),e.\u0275\u0275directiveInject(U.pZw),e.\u0275\u0275directiveInject(U.KVG),e.\u0275\u0275directiveInject(wn.L),e.\u0275\u0275directiveInject(am),e.\u0275\u0275directiveInject(U.es8),e.\u0275\u0275directiveInject(ut.uw),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(e.ChangeDetectorRef),e.\u0275\u0275directiveInject(Qe.gz))},_o.\u0275cmp=e.\u0275\u0275defineComponent({type:_o,selectors:[["tn-scheduling-settings-page"]],features:[e.\u0275\u0275ProvidersFeature([am,gt._uq])],decls:5,vars:5,consts:[["class","container pt3",4,"ngIf","ngIfElse"],["class","fixed bottom-2 white z-100 fixed-center",4,"ngIf"],["noPhotographer",""],[1,"container","pt3"],[1,"mb-20"],["animationDuration","0ms",2,"min-height","600px",3,"selectedIndex","selectedIndexChange","selectedTabChange"],["label","General"],[1,"card","mt3"],[1,"card-header","flex"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",1,"ml-auto",3,"click"],[1,"card-body","app-v2"],[1,"ph
1otographers-list-container"],["class","photographers-list",4,"ngIf"],[1,"mb3","mt3"],[1,"f6","fw6","o-90"],[1,"f7","o-70","mb2"],["matInput","","name","sendTwoPhotographers","suffix"," hrs","thousandSeparator",",","mask","separator","placeholder","5 hrs",3,"ngModel","ngModelChange"],[1,"f6","fw6","o-90","mt3"],[1,"flex","items-center"],[3,"max","min","step","thumbLabel","ngModel","ngModelChange"],[1,"ml3"],[1,"mb3"],["matInput","","name","hoursInAdvance","suffix"," hrs in advance","thousandSeparator",",","mask","separator","placeholder","5 hrs",3,"ngModel","ngModelChange"],["matInput","","name","timeslotIntervalMinutes","suffix"," min","thousandSeparator",",","mask","separator","placeholder","15 min",3,"ngModel","ngModelChange"],["matInput","","suffix"," min","mask","separator","placeholder","15 min","thousandSeparator",",","name","clientArrivalWindowDuration",3,"ngModel","ngModelChange"],[1,"card"],[1,"card-header"],[1,"fr"],[3,"disableRipple","ngModel","ngModelChange"],[1,"text-muted","f7"],[1,"card-body"],[1,"mb4"],["class","mb4",4,"ngFor","ngForOf","ngForTrackBy"],["label","Holiday Schedule"],["matTabContent",""],["label","Service Areas"],["label","Assign Service Areas"],["label","Photographers priority"],["label","Photographers order"],[1,"ph
1otographers-list"],[1,"pb-8"],["matTooltip","If a booking requires 2 people, we'll send at least 1 senior photographer.","uiIcon","info",1,"cursor-pointer",3,"size"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"f7"],["cpAlphaChannel","disabled","cpOutputFormat","hex",1,"flex","w-40",3,"colorPicker","cpPresetColors","colorPickerChange"],[1,"border","rounded-lg","bg-gray-10","h-32","w-32","flex","justify-center","items-center"],[1,"rounded-full","h-20","w-20"],["color","primary",3,"disableRipple","ngModel","ngModelChange"],[1,"py-12"],["color","primary",3,"disableRipple","ngModel","ngModelChange",4,"ngIf"],[4,"ngIf"],[1,"text-right"],["aria-label","Edit Availability","matTooltip","Edit Availability","matTooltipPosition","above","uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"click"],["editPhotographerButton","btnSize"],["uiIcon","edit",3,"size"],[1,"flex","justify-center","items-center"],[1,"mr-16",3,"title"],["aria-label","Edit Calendar","matTooltip","Edit Calendar","matTooltipPosition","above","uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",1,"ml-auto",3,"click"],["editCalendarButton","btnSize"],[1,"f5"],[1,"skills-table-container"],[3,"dataSource","trackBy"],[3,"matColumnDef",4,"ngFor","ngForOf","ngForTrackBy"],["sticky","","matColumnDef","service"],[4,"matHeaderCellDef"],[4,"matCellDef"],[4,"matHeaderRowDef","matHeaderRowDefSticky"],[4,"matRowDef","matRowDefColumns"],[3,"matColumnDef"],["class","",4,"matCellDef"],[1,"center","tc","mt-auto"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],[1,""],[1,"center"],[1,"flex","h-6","items-center","justify-center"],[3,"checked","change",4,"uiDeferRenderContent"],[3,"checked","change"],["class","container",4,"ngIf"],[1,"container"],[1,"row"],[1,"col-12","mt3"],[1,"col-md-4"],[1,"card-body","service-zone-card"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"mb-16",3,"click"],["addServiceZoneButton","btnSize"],["uiIcon","add",3,"size"],[1,"pl-12","mb-2"],[3,"checked","indeterminate","change"],[1,"font-bold"],["class","flex items-center service-zone-options mt-min mb-min",3,"ngClass","title","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-md-8"],[1,"mv3","f4"],["nameKey","name","valueKey","id",1,"inline-block","w-256","align-middle",3,"value","items","selectionChange"],[1,"w-100",3,"zoom","latitude","longitude","mapReady"],[1,"card","mt-32","p-24","pb-24"],[1,"f7","mb-3","o-70"],[1,"froala-widget",3,"uiFroalaEditor","froalaModel","froalaModelChange"],[1,"flex","items-center","service-zone-options","mt-min","mb-min",3,"ngClass","title","click"],[1,"flex","items-center","overflow-hidden"],[1,"ml-min",3,"checked","click","change"],[1,"flex","pl-8","overflow-hidden"],[1,"min-w-0","truncate"],[1,"pl-min","flex-shrink-0"],[1,"flex","ml-auto","pl-8","pr-min"],["uiIcon","edit",3,"click"],["uiIcon","delete",1,"ml-8",3,"click"],[3,"photographers","serviceZones","photographersServiceZonesMap","assign"],[1,"mt3",3,"photographers","priorityChange"],["sortBy","displayOrder",3,"photographers","priorityChange"],[1,"fixed","bottom-2","white","z-100","fixed-center"],["uiBtnSize","large","uiBtnTheme","main","themeMode","primary",3,"click"],["saveChangesButton","btnSize"],["uiIcon","save",3,"size"],["class","w-full flex justify-center p-4 h-64 items-center",4,"ngIf","ngIfElse"],["notFoundTmpl",""],[1,"w-full","flex","justify-center","p-4","h-64","items-center"],["diameter","32"],[1,"tc","f4","pt4"]],template:function(a,t){if(1&a&&(e.\u0275\u0275template(0,Pb,78,16,"div",0),e.\u0275\u0275template(1,Fb,5,1,"div",1),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275template(3,jb,4,4,"ng-template",null,2,e.\u0275\u0275templateRefExtractor)),2&a){const i=e.\u0275\u0275reference(4);e.\u0275\u0275property("ngIf",t.bookingConfig)("ngIfElse",i),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!1===e.\u0275\u0275pipeBind1(2,3,t.loading$)&&t.activeTabIndex!==t.holidayTabIndex)}},directives:[S.NgIf,T.SP,T.uX,_t.s,ht.V,Lt.gM,mt.a,S.NgForOf,DC.Kk,Me.Rr,ee.JJ,ee.On,Et.KE,Et.hX,Pt.Nt,En.Z6,ee.Fj,MC.pH,$.BZ,$.w1,$.fO,$.ge,$.Dz,$.ev,AC,Um,Q.oG,$.as,$.XQ,$.nj,$.Gk,T.Vc,rb,S.NgClass,tn.H,ob.SA,ui.V,lb,db,Ni.Ou],pipes:[S.AsyncPipe,cr.TD],styles:["[_nghost-%COMP%] .froala-widget .fr-wrapper{height:auto!important}[_nghost-%COMP%] .froala-widget .fr-wrapper .fr-placeholder{padding:20px!important}[_nghost-%COMP%]{overflow:auto;display:block;height:var(--content-height)}agm-map[_ngcontent-%COMP%]{height:500px}.service-zone-card[_ngcontent-%COMP%]{width:300px}@media (min-width: 640px){.service-zone-card[_ngcontent-%COMP%]{min-height:547px}}.service-zone-options[_ngcontent-%COMP%]{cursor:pointer;padding:.75rem .5rem}.service-zone-options[_ngcontent-%COMP%]:hover{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1))}.service-zone-options--active[_ngcontent-%COMP%]{background-color:var(--brand-40, #5BBBFF);color:#fff}.service-zone-options--active[_ngcontent-%COMP%]:hover{background-color:var(--brand-40, #5BBBFF)}.skills-table-container[_ngcontent-%COMP%]{max-width:100%;overflow:auto}.skills-table-container[_ngcontent-%COMP%] mat-header-row[_ngcontent-%COMP%]{align-items:stretch}.photographers-list[_ngcontent-%COMP%]{max-width:100%;overflow:auto}.photographers-list[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .photographers-list[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-right:1.5rem}.photographers-list-container[_ngcontent-%COMP%]{overflow-x:auto}"],changeDetection:0}),_o=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[Mt.ST,hn.gg,Jn.AO,U._ZM,U.Q3C,U.ASQ,U.pZw,U.KVG,wn.L,am,U.es8,ut.uw,Dt.ux,e.ChangeDetectorRef,Qe.gz])],_o);var Rb=_(18339);function Vb(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",24),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.selectedOptionHint," ")}}
1function Lb(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",25),e.\u0275\u0275text(1),e.\u0275\u0275elementStart(2,"a",26),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.config.warning.prefix," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",t.config.warning.linkRoute),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(t.config.warning.linkText),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.config.warning.suffix," ")}}function Nb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",17)(1,"p",18),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",19)(4,"span",20),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"ui-select",21),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onSelectOption(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,Vb,2,1,"div",22),e.\u0275\u0275template(8,Lb,5,4,"div",23),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.config.packageInstruction),e.\u0275\u0275advance(2),e.\u0275\u0275property("id",t.packageLabelId),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.config.packagePlaceholder," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("items",t.config.options)("value",t.selectedOption)("placeholder",t.config.selectPlaceholder),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.selectedOptionHint),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.config.warning&&t.showWarning)}}let $b=0,Hm=(()=>{class r{constructor(){this.enabled=!1,this.selectedOption=null,this.saving=!1,this.showWarning=!1,this.enabledChange=new e.EventEmitter,this.selectedOptionChange=new e.EventEmitter,this.save=new e.EventEmitter,this.packageLabelId="integration-service-package-sublabel-"+$b++}get saveDisabled(){return this.saving||this.enabled&&!this.selectedOption}get selectedOptionHint(){var t;return this.selectedOption?null===(t=this.config.options.find(i=>i.value===this.selectedOption))||void 0===t?void 0:t.requirementHint:null}onToggle(t){this.enabledChange.emit(t)}onSelectOption(t){this.selectedOptionChange.emit(t)}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-integration-service-config"]],inputs:{config:"config",enabled:"enabled",selectedOption:"selectedOption",saving:"saving",showWarning:"showWarning"},outputs:{enabledChange:"enabledChange",selectedOptionChange:"selectedOptionChange",save:"save"},decls:24,vars:13,consts:[[1,"card","integration-service-card"],[1,"integration-service-header"],[1,"integration-service-title"],[1,"integration-service-desc"],[1,"integration-settings-link",3,"routerLink"],[1,"integration-service-body"],[1,"integration-toggle-text"],[1,"integration-toggle-label"],[1,"integration-toggle-desc"],[1,"integration-config-container"],[1,"integration-config-header"],[1,"integration-logo",3,"src","alt"],[1,"integration-config-actions"],[1,"integration-enable-btn"],[3,"checked","change"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"disabled","click"],["class","integration-config-body",4,"ngIf"],[1,"integration-config-body"],[1,"integration-package-instruction"],[1,"integration-package-field"],[1,"integration-package-sublabel",3,"id"],["appearance","bordered","nameKey","label","valueKey","value",3,"items","value","placeholder","selectionChange"],["class","integration-hint",4,"ngIf"],["class","integration-warning",4,"ngIf"],[1,"integration-hint"],[1,"integration-warning"],["target","_blank","rel","noopener noreferrer",1,"integration-settings-link",3,"routerLink"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"span",2),e.\u0275\u0275text(3),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"p",3),e.\u0275\u0275text(5),e.\u0275\u0275elementStart(6,"a",4),e.\u0275\u0275text(7),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(8,"div",5)(9,"div",6)(10,"span",7),e.\u0275\u0275text(11),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"span",8),e.\u0275\u0275text(13),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(14,"div",9)(15,"div",10),e.\u0275\u0275element(16,"img",11),e.\u0275\u0275elementStart(17,"div",12)(18,"div",13)(19,"mat-slide-toggle",14),e.\u0275\u0275listener("change",function(l){return i.onToggle(l.checked)}),e.\u0275\u0275text(20," Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(21,"button",15),e.\u0275\u0275listener("click",function(){return i.save.emit()}),e.\u0275\u0275text(22," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(23,Nb,9,8,"div",16),e.\u0275\u0275elementEnd()()()),2&t&&(e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(i.config.title),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",i.config.descriptionPrefix," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("routerLink",i.config.settingsLinkRoute),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(i.config.settingsLinkText),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate(i.config.toggleLabel),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(i.config.toggleDescription),e.\u0275\u0275advance(3),e.\u0275\u0275property("src",i.config.logoSrc,e.\u0275\u0275sanitizeUrl)("alt",i.config.logoAlt),e.\u0275\u0275advance(2),e.\u0275\u0275classProp("is-off",!i.enabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("checked",i.enabled),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",i.saveDisabled),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.enabled))},directives:[Qe.yS,Me.Rr,_t.s,ht.V,S.NgIf,tn.H],styles:[".integration-service-card[_ngcontent-%COMP%]{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem;box-shadow:1px 0 #0000000d}.integration-service-header[_ngcontent-%COMP%]{margin-bottom:1.5rem}.integration-service-title[_ngcontent-%COMP%]{display:block;font-size:1rem;font-weight:600;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.integration-service-desc[_ngcontent-%COMP%]{margin-top:.25rem;font-size:.75rem;font-weight:600;line-height:1rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.integration-settings-link[_ngcontent-%COMP%]{cursor:pointer;color:var(--brand-50, #228BE6)}.integration-settings-link[_ngcontent-%COMP%]:hover{text-decoration:underline}.integration-service-body[_ngcontent-%COMP%]{padding-top:1.25rem}.integration-toggle-text[_ngcontent-%COMP%]{margin-bottom:.5rem;display:flex;flex-direction:column;gap:.25rem}.integration-toggle-label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.integration-toggle-desc[_ngcontent-%COMP%]{font-size:.75rem;font-weight:500;line-height:1rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.integration-config-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.625rem;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));padding:.5rem .75rem .75rem;max-width:670px}.integration-config-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;
1height:58px}.integration-logo[_ngcontent-%COMP%]{height:1.75rem;width:auto}.integration-config-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.integration-enable-btn[_ngcontent-%COMP%]{display:inline-flex;height:2rem;flex-direction:row;flex-wrap:nowrap;align-items:center;border-radius:.25rem;background-color:var(--brand-50, #228BE6);padding:.5rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));width:87px}.integration-enable-btn.is-off[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(226 226 226 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle{flex:0 0 auto;max-width:none;background-color:transparent;color:inherit;height:auto!important;padding:0!important;border-radius:0}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle .mat-slide-toggle-label{display:flex;align-items:center;margin-bottom:0;flex:0 0 auto}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle .mat-slide-toggle-bar{--tw-bg-opacity: 1;background-color:rgb(12 166 120 / var(--tw-bg-opacity, 1));padding:3px 3px 3px 11px}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle .mat-slide-toggle-content{color:inherit;font-size:.75rem;font-weight:500;line-height:16px}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle:hover:not(.mat-disabled){color:inherit}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle.mat-checked:not(.mat-disabled){background-color:transparent;color:inherit}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#0ca678!important}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle.mat-checked:not(.mat-disabled):hover{background-color:transparent}.integration-enable-btn[_ngcontent-%COMP%] .mat-slide-toggle.mat-checked:not(.mat-disabled):hover .mat-slide-toggle-thumb{background-color:var(--brand-50, #228BE6)!important}.integration-config-body[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:stretch;gap:1rem;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem}.integration-package-instruction[_ngcontent-%COMP%]{margin:0;font-size:.75rem;font-weight:500;line-height:1rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.integration-package-field[_ngcontent-%COMP%]{margin:0;display:flex;width:100%;min-width:0;flex-direction:column;max-width:386px}.integration-package-sublabel[_ngcontent-%COMP%]{margin-bottom:.5rem;font-size:.75rem;font-weight:500;line-height:1rem;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.integration-hint[_ngcontent-%COMP%]{margin:0;font-size:.75rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));max-width:386px}.integration-warning[_ngcontent-%COMP%]{margin:0;font-size:.75rem;--tw-text-opacity: 1;color:rgb(250 82 82 / var(--tw-text-opacity, 1));max-width:386px}"],changeDetection:0}),r})(),zb=(()=>{class r{constructor(t,i,o,l){this.appConfigService=t,this.snackBar=i,this.floorPlanProviderRepository=o,this.changeDetectorRef=l,this.serviceName="",this.config={title:"CubiCasa",descriptionPrefix:"Connect this service to CubiCasa. You can also configure all CubiCasa mappings in",settingsLinkText:"Integration Settings.",settingsLinkRoute:"/organization-settings/features",toggleLabel:"Automatically create a CubiCasa order draft when the service is purchased",toggleDescription:"When enabled, a CubiCasa order draft will be created automatically whenever a customer purchases this
1service in the storefront.",logoSrc:"/assets/images/cubicasa/cubicasa-icon.svg",logoAlt:"CubiCasa",packageInstruction:"Select the CubiCasa package or add-on this service should map to.",packagePlaceholder:"Choose CubiCasa package or add-on",selectPlaceholder:"Select...",options:[{value:"base",label:"Base Package"},{value:"plus",label:"Plus Package"},{value:"plus_3d",label:"Plus 3D"},{value:"express_sla",label:"Express SLA",requirementHint:this.addOnHint("Plus Package")},{value:"3d_video",label:"3D Video",requirementHint:this.addOnHint("Plus 3D")},{value:"3d_cad_files",label:"3D CAD Files",requirementHint:this.addOnHint("Plus Package")}],warning:{prefix:"This package includes a disabled media type. Please update your",linkText:"integration settings",linkRoute:"/organization-settings/features",suffix:"if needed."}},this.enabled=!1,this.selectedOption=null,this.saving=!1,this.serviceMappings=[],this.enabledOutputs=[]}ngOnInit(){this.loadConfig()}get hasMediaConflict(){return!!this.enabled&&(0,Jn.Dp)(this.selectedOption,this.enabledOutputs)}onToggle(t){this.enabled=t,t||(this.selectedOption=null)}loadConfig(){!this.appConfigService.isCubicasaConnected||this.floorPlanProviderRepository.getConfig().pipe((0,An.P)()).subscribe({next:t=>{var i,o;this.serviceMappings=t.serviceMappings,this.enabledOutputs=t.enabledOutputs;const l=t.serviceMappings.find(h=>h.serviceId===this.serviceId);this.enabled=null!==(i=null==l?void 0:l.enabled)&&void 0!==i&&i,this.selectedOption=null!==(o=null==l?void 0:l.cubicasaOption)&&void 0!==o?o:null,this.changeDetectorRef.markForCheck()},error:()=>{this.snackBar.open("Error loading CubiCasa config","Got it",{duration:5e3,horizontalPosition:"center",verticalPosition:"top"})}})}save(){this.saving=!0;const t=this.serviceId,o=[...this.serviceMappings.filter(l=>l.serviceId!==t),...this.selectedOption?[{serviceId:t,serviceName:this.serviceName,cubicasaOption:this.selectedOption,enabled:this.enabled}]:[]];this.floorPlanProviderRepository.saveConfig({serviceMappings:o}).pipe((0,An.P)()).subscribe({next:l=>{this.serviceMappings=l.serviceMappings,this.enabledOutputs=l.enabledOutputs,this.saving=!1,this.displaySaveConfirmation(),this.changeDetectorRef.markForCheck()},error:()=>{this.saving=!1,this.snackBar.open("Error saving CubiCasa config","Got it",{duration:5e3,horizontalPosition:"center",verticalPosition:"top"}),this.changeDetectorRef.markForCheck()}})}displaySaveConfirmation(){this.snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}addOnHint(t){return`Add-ons require a package in CubiCasa. We'll auto-map this to ${t} when the order is sent.`}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(Jn.t5),e.\u0275\u0275directiveInject(e.ChangeDetectorRef))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-cubicasa-service-config"]],inputs:{serviceId:"serviceId",serviceName:"serviceName"},decls:1,vars:5,consts:[[3,"config","enabled","selectedOption","saving","showWarning","selectedOptionChange","enabledChange","save"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"tn-integration-service-config",0),e.\u0275\u0275listener("selectedOptionChange",function(l){return i.selectedOption=l})("enabledChange",function(l){return i.onToggle(l)})("save",function(){return i.save()}),e.\u0275\u0275elementEnd()),2&t&&e.\u0275\u0275property("config",i.config)("enabled",i.enabled)("selectedOption",i.selectedOption)("saving",i.saving)("showWarning",i.hasMediaConflict)},directives:[Hm],encapsulation:2,changeDetection:0}),r})(),Ub=(()=>{class r{constructor(t,i,o,l){this.appConfigService=t,this.snackBar=i,this.esoftProviderRepository=o,this.changeDetectorRef=l,this.config={title:"Esoft",descriptionPrefix:"Connect this service to Esoft. You can also configure all Esoft mappings in",settingsLinkText:"Integration Settings.",settingsLinkRoute:"/organization-settings/features",toggleLabel:"Automatically create an Esoft order draft when the service is purchased",toggleDescription:"When enabled, an Esoft order draft will be created automatically whenever a customer purchases this
1service in the storefront.",logoSrc:"/assets/images/esoft/esoft-logo.svg",logoAlt:"Esoft",packageInstruction:"Select the Esoft package this service should map to.",packagePlaceholder:"Choose an Esoft package",selectPlaceholder:"Select...",options:[]},this.enabled=!1,this.selectedOption=null,this.saving=!1,this.serviceMappings=[],this.productsRequest=null}ngOnInit(){this.loadConfig()}onToggle(t){this.enabled=t,t||(this.selectedOption=null)}loadConfig(){!this.appConfigService.isEsoftConnected||this.esoftProviderRepository.getConfig().pipe((0,An.P)()).subscribe({next:t=>{var i,o,l;this.serviceMappings=null!==(i=t.serviceMappings)&&void 0!==i?i:[],this.productsRequest={clientId:null!==(o=t.clientId)&&void 0!==o?o:"",serverEnvironment:t.serverEnvironment};const h=this.serviceMappings.find(y=>y.serviceId===this.serviceId);this.enabled=!!h,this.selectedOption=null!==(l=null==h?void 0:h.esoftPackage)&&void 0!==l?l:null,this.changeDetectorRef.markForCheck(),this.loadProducts()},error:()=>{this.snackBar.open("Error loading Esoft config","Got it",{duration:5e3,horizontalPosition:"center",verticalPosition:"top"})}})}save(){if(!this.productsRequest)return;this.saving=!0;const t=this.serviceId,o=[...this.serviceMappings.filter(l=>l.serviceId!==t),...this.enabled&&this.selectedOption?[{serviceId:t,esoftPackage:this.selectedOption}]:[]];this.esoftProviderRepository.saveConfig(Object.assign(Object.assign({},this.productsRequest),{serviceMappings:o})).pipe((0,An.P)()).subscribe({next:l=>{var h;this.serviceMappings=null!==(h=l.serviceMappings)&&void 0!==h?h:[],this.saving=!1,this.displaySaveConfirmation(),this.changeDetectorRef.markForCheck()},error:()=>{this.saving=!1,this.snackBar.open("Error saving Esoft config","Got it",{duration:5e3,horizontalPosition:"center",verticalPosition:"top"}),this.changeDetectorRef.markForCheck()}})}loadProducts(){var t;!(null===(t=this.productsRequest)||void 0===t?void 0:t.clientId)||this.esoftProviderRepository.getProducts(this.productsRequest).pipe((0,An.P)()).subscribe({next:i=>{this.config=Object.assign(Object.assign({},this.config),{options:i.map(o=>({value:o.variant,label:o.name}))}),this.changeDetectorRef.markForCheck()},error:()=>{this.snackBar.open("Error loading Esoft packages","Got it",{duration:5e3,horizontalPosition:"center",verticalPosition:"top"})}})}displaySaveConfirmation(){this.snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(Jn.tt),e.\u0275\u0275directiveInject(e.ChangeDetectorRef))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-esoft-service-config"]],inputs:{serviceId:"serviceId"},decls:1,vars:4,consts:[[3,"config","enabled","selectedOption","saving","selectedOptionChange","enabledChange","save"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"tn-integration-service-config",0),e.\u0275\u0275listener("selectedOptionChange",function(l){return i.selectedOption=l})("enabledChange",function(l){return i.onToggle(l)})("save",function(){return i.save()}),e.\u0275\u0275elementEnd()),2&t&&e.\u0275\u0275property("config",i.config)("enabled",i.enabled)("selectedOption",i.selectedOption)("saving",i.saving)},directives:[Hm],encapsulation:2,changeDetection:0}),r})();function Hb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",51)(1,"button",52,53),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.createService(o.serviceTemplate)}),e.\u0275\u0275element(3,"i",54),e.\u0275\u0275text(4," Create Service "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275reference(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("size",t.iconSize)}}function Wb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"a",8),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).activeTabIndex=1}),e.\u0275\u0275text(1," Integrations "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("active",1===t.activeTabIndex)}}function Gb(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",55)(1,"div",56)(2,"div",57),e.\u0275\u0275text(3," Please fill in missing or incomplete data: "),e.\u0275\u0275elementStart(4,"b"),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd()()()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate(t.incompleteServiceSections)}}function Kb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({name:o.serviceTemplate.data.name})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Zb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({price:o.serviceTemplate.data.price||0})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Qb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).updateBookingType()}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Jb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({isTwilight:!!o.serviceTemplate.data.isTwilight})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Yb(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",59),e.\u0275\u0275text(1," Package Twilight Scheduling tiers need to be updated if the service is included in a package "),e.\u0275\u0275elementEnd())}function Xb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({enableWebsite:!!o.serviceTemplate.data.enableWebsite})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function qb(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({isSeparateAppointment:!!o.serviceTemplate.data.isSeparateAppointment})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function ey(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({description:o.serviceTemplate.data.description||""})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function ty(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",32)(2,"div",24),e.\u0275\u0275text(3,"Enable add on if any other service is selected"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",60),e.\u0275\u0275text(5," If enabled, an add on is selectable when any other service is selected. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",26)(7,"mat-slide-toggle",61),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).serviceTemplate.data.enableAddonIfOtherServiceSelected=o}),e.\u0275\u0275text(8," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({enableAddonIfOtherServiceSelected:!!o.serviceTemplate.data.enableAddonIfOtherServiceSelected})}),e.\u0275\u0275text(10," Save "),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.serviceTemplate.data.enableAddonIfOtherServiceSelected)}}
1function ny(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",32)(2,"div",24),e.\u0275\u0275text(3,"Link add on to specific services (core services only)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",60),e.\u0275\u0275text(5," By default, an add on is selectable when another core service in the category is selected. You can set the add on to be selectable only when certain services are selected. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"mat-slide-toggle",62),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).serviceTemplate.data.enableServiceAddon=o}),e.\u0275\u0275text(7," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"tn-package-chip-autocomplete",63),e.\u0275\u0275listener("servicesChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).serviceTemplate.data.linkedServices=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",64),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).saveLinkedServices()}),e.\u0275\u0275text(10," Save "),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.serviceTemplate.data.enableServiceAddon),e.\u0275\u0275advance(2),e.\u0275\u0275property("packageDoc",t.serviceTemplate)("servicesCollectionPromise",t.servicesCollectionPromise)("includeAddons",!0)}}function iy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",32)(2,"div",24),e.\u0275\u0275text(3,"Don\u2019t show this add on if these services are selected"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",60),e.\u0275\u0275text(5," You can disable the add on when certain services are selected. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"mat-slide-toggle",65),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).serviceTemplate.data.enableExcludeAddon=o}),e.\u0275\u0275text(7," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"tn-package-chip-autocomplete",66),e.\u0275\u0275listener("servicesChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).serviceTemplate.data.excludeServices=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",64),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).saveExcludeServices()}),e.\u0275\u0275text(10," Save "),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.serviceTemplate.data.enableExcludeAddon),e.\u0275\u0275advance(2),e.\u0275\u0275property("packageDoc",t.serviceTemplate)("servicesCollectionPromise",t.servicesCollectionPromise)("includeAddons",!1)}}function ry(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",32)(2,"div",24),e.\u0275\u0275text(3," Enable this add on if the property may require an energy label "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",60),e.\u0275\u0275text(5," When enabled, this add on will be shown for properties that may require an energy certificate. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",26)(7,"mat-slide-toggle",29),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).serviceTemplate.data.isEnergyEfficiencyAddon=o}),e.\u0275\u0275text(8," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",58),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveEnergyAddon()}),e.\u0275\u0275text(10," Save "),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.serviceTemplate.data.isEnergyEfficiencyAddon)}}function oy(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,ry,11,2,"div",2),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.serviceTemplate.data.addon)}}function ay(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();
1e.\u0275\u0275elementStart(0,"tn-expanded-details-config",67),e.\u0275\u0275listener("detailsSaved",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).displaySaveConfirmation()}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("serviceTemplate",t.serviceTemplate)}}function sy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-checkbox",73),e.\u0275\u0275listener("change",function(o){const l=e.\u0275\u0275restoreView(t),h=l.index,y=l.$implicit,F=e.\u0275\u0275nextContext(6);return F.onServiceSqFtRangeToggle(o.checked,F.tiersConfig[h-1]||0,y)}),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"uiTierRange"),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext(6);e.\u0275\u0275advance(1),e.\u0275\u0275property("checked",o.isServiceSqFtRangeChecked(o.tiersConfig[i-1]||0,t)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind3(3,2,t,o.tiersConfig[i-1],o.bookingType)," ")}}function ly(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,sy,4,6,"div",43),e.\u0275\u0275elementStart(2,"div",23)(3,"mat-checkbox",73),e.\u0275\u0275listener("change",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(5);return l.onServiceSqFtRangeToggle(o.checked,l.tiersConfig[l.tiersConfig.length-1])}),e.\u0275\u0275text(4),e.\u0275\u0275pipe(5,"uiTierOver"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"button",58),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).updateAvailabilitySqFtRanges()}),e.\u0275\u0275text(7," Save "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t.tiersConfig)("ngForTrackBy",t.trackByIndex),e.\u0275\u0275advance(2),e.\u0275\u0275property("checked",t.isLastServiceSqFtRangeChecked(t.tiersConfig[t.tiersConfig.length-1])),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind2(5,4,t.tiersConfig[t.tiersConfig.length-1],t.bookingType)," ")}}function cy(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1,"Square footage or acreage tiers not set."),e.\u0275\u0275elementEnd())}function dy(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",15),e.\u0275\u0275template(1,ly,8,7,"ng-container",71),e.\u0275\u0275template(2,cy,2,0,"ng-template",null,72,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.tiersConfig.length)("ngIfElse",t)}}function py(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",69)(1,"div",13),e.\u0275\u0275text(2," Service availability "),e.\u0275\u0275elementStart(3,"div",14),e.\u0275\u0275text(4,"Display service based on square footage or acreage."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(5,dy,4,2,"div",70),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",!t.isBranding)}}function my(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,py,6,1,"div",68),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.serviceTemplate.doc)}}function uy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"a",39),e.\u0275\u0275listener("click",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).openEditPricingVersionDialog(o,!0)}),e.\u0275\u0275text(1," Rename "),e.\u0275\u0275elementEnd()}}function gy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"a",39),e.\u0275\u0275listener("click",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).deletePricingVersion(o)}),e.\u0275\u0275text(1," Delete "),e.\u0275\u0275elementEnd()}}const Wl=function(){return["/admin/booking/general"]};function _y(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Tiers "),e.\u0275\u0275elementStart(2,"a",74),e.\u0275\u0275text(3,"Edit"),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(1,Wl)))}function hy(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiArea"),e.\u0275\u0275pipe(3,"number"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=t.index,o=t.$implicit,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Tier ",i+1," - Up to ",e.\u0275\u0275pipeBind2(2,2,e.\u0275\u0275pipeBind3(3,5,o,"1.0","en-US"),l.bookingType)," ")}}function fy(r,a){1&r&&e.\u0275\u0275text(0," Price ")}function vy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275template(3,hy,4,9,"ng-container",71),e.\u0275\u0275template(4,fy,1,0,"ng-template",null,75,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"input",76),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext(2);return y.getTiersVersionValues(y.pricingTiers)[h]=o}),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275pipe(8,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.index,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!o.isBranding)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate("name","tier"+(t+1)),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(7,6,""))("placeholder",e.\u0275\u0275pipeBind1(8,8,200))("ngModel",o.getTiersVersionValues(o.pricingTiers)[t])}}
1function Cy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiArea"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",77),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return l.getTiersVersionValues(l.pricingTiers)[l.tiersConfig.length]=o}),e.\u0275\u0275pipe(6,"uiCurrency"),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" Tier ",t.tiersConfig.length+1," - Over ",e.\u0275\u0275pipeBind2(4,5,t.tiersConfig[t.tiersConfig.length-1]||0,t.bookingType)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(6,8,""))("placeholder",e.\u0275\u0275pipeBind1(7,10,200))("ngModel",t.getTiersVersionValues(t.pricingTiers)[t.tiersConfig.length])}}function by(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updatePricingTiers(o.pricingTiers)}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function yy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",81)(2,"mat-form-field",82)(3,"mat-label"),e.\u0275\u0275text(4,"Tier Name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",83),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.name=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"mat-form-field",84)(7,"mat-label"),e.\u0275\u0275text(8,"Tier Price"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"input",76),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.price=o}),e.\u0275\u0275pipe(10,"uiCurrency"),e.\u0275\u0275pipe(11,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"mat-form-field",84)(13,"mat-label"),e.\u0275\u0275text(14,"Tier Payout"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"input",76),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.payout=o}),e.\u0275\u0275pipe(16,"uiCurrency"),e.\u0275\u0275pipe(17,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(18,"mat-form-field",84)(19,"mat-label"),e.\u0275\u0275text(20,"Tier Editor Payout"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"input",76),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.editorPayout=o}),e.\u0275\u0275pipe(22,"uiCurrency"),e.\u0275\u0275pipe(23,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(24,"mat-form-field",84)(25,"mat-label"),e.\u0275\u0275text(26,"Tier Scheduling"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(27,"input",85),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.hrs=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(28,"mat-form-field",84)(29,"mat-label"),e.\u0275\u0275text(30),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(31,"input",86),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.areaFrom=o})("change",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).onAreaFromChange(l)}),e.\u0275\u0275pipe(32,"uiArea"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(33,"mat-form-field",84)(34,"mat-label"),e.\u0275\u0275text(35),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(36,"input",86),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t).$implicit.areaTo=o})("change",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).onAreaToChange(l)}),e.\u0275\u0275pipe(37,"uiArea"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(38,"div",87)(39,"mat-form-field",88)(40,"mat-label"),e.\u0275\u0275text(41,"Default"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(42,"
1input",89),e.\u0275\u0275elementStart(43,"mat-checkbox",73),e.\u0275\u0275listener("change",function(o){const l=e.\u0275\u0275restoreView(t),h=l.ngForOf,y=l.$implicit;return e.\u0275\u0275nextContext(3).setDefaultCustomTier(h,y,o.checked)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(44,"i",90),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(3).removeTier(l)}),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=a.$implicit,i=a.index,o=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(5),e.\u0275\u0275propertyInterpolate("name","name"+(i+1)),e.\u0275\u0275property("ngModel",t.name),e.\u0275\u0275advance(4),e.\u0275\u0275propertyInterpolate("name","price"+(i+1)),e.\u0275\u0275property("prefix","+"+e.\u0275\u0275pipeBind1(10,29,""))("placeholder","+"+e.\u0275\u0275pipeBind1(11,31,200))("ngModel",t.price),e.\u0275\u0275advance(6),e.\u0275\u0275propertyInterpolate("name","payout"+(i+1)),e.\u0275\u0275property("prefix","+"+e.\u0275\u0275pipeBind1(16,33,""))("placeholder","+"+e.\u0275\u0275pipeBind1(17,35,20))("ngModel",t.payout),e.\u0275\u0275advance(6),e.\u0275\u0275propertyInterpolate("name","editorPayout"+(i+1)),e.\u0275\u0275property("prefix","+"+e.\u0275\u0275pipeBind1(22,37,""))("placeholder","+"+e.\u0275\u0275pipeBind1(23,39,20))("ngModel",t.editorPayout),e.\u0275\u0275advance(6),e.\u0275\u0275propertyInterpolate("name","hours"+(i+1)),e.\u0275\u0275property("ngModel",t.hrs),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1("",o.getAreaText()," from"),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("name","areaFrom"+(i+1)),e.\u0275\u0275property("placeholder",o.getAreaPlaceholder())("suffix",e.\u0275\u0275pipeBind2(32,41,"",o.bookingType))("disabled",t.isDefault)("ngModel",t.areaFrom),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1("",o.getAreaText()," to"),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("name","areaTo"+(i+1)),e.\u0275\u0275property("placeholder",o.getAreaPlaceholder())("suffix",e.\u0275\u0275pipeBind2(37,44,"",o.bookingType))("disabled",t.isDefault)("ngModel",t.areaTo),e.\u0275\u0275advance(7),e.\u0275\u0275property("checked",t.isDefault||!1)}}function xy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return o.updateData({customTiers:o.customTiers,enableCustomTiers:!0})}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Sy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div"),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"uiCurrency"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"button",78,79),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).addCustomTier()}),e.\u0275\u0275element(6,"i",54),e.\u0275\u0275text(7," Add Tier "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"form"),e.\u0275\u0275template(9,yy,45,47,"div",80),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(10,xy,2,0,"button",21),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(5),i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" For custom tiers, the total price is base price (",e.\u0275\u0275pipeBind1(3,4,i.serviceTemplate.data.price),") plus the Tier Price. "),e.\u0275\u0275advance(4),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.getTiersVersionValues(i.customTiers)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc)}}function Ty(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Tiers "),e.\u0275\u0275elementStart(2,"a",74),e.\u0275\u0275text(3,"Edit"),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(1,Wl)))}function wy(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiArea"),e.\u0275\u0275pipe(3,"number"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=t.index,o=t.$implicit,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Tier ",i+1," - Up to ",e.\u0275\u0275pipeBind2(2,2,e.\u0275\u0275pipeBind3(3,5,o,"1.0","en-US"),l.bookingType)," ")}}function ky(r,a){1&r&&e.\u0275\u0275text(0," Price ")}
1function Ey(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275template(3,wy,4,9,"ng-container",71),e.\u0275\u0275template(4,ky,1,0,"ng-template",null,75,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"input",76),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext(2);return y.getTiersVersionValues(y.payoutTiers)[h]=o}),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275pipe(8,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.index,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!o.isBranding)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate("name","payoutTier"+(t+1)),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(7,6,""))("placeholder",e.\u0275\u0275pipeBind1(8,8,20))("ngModel",o.getTiersVersionValues(o.payoutTiers)[t])}}function Oy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiArea"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",77),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return l.getTiersVersionValues(l.payoutTiers)[l.tiersConfig.length]=o}),e.\u0275\u0275pipe(6,"uiCurrency"),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" Tier ",t.tiersConfig.length+1," - Over ",e.\u0275\u0275pipeBind2(4,5,t.tiersConfig[t.tiersConfig.length-1]||0,t.bookingType)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(6,8,""))("placeholder",e.\u0275\u0275pipeBind1(7,10,20))("ngModel",t.getTiersVersionValues(t.payoutTiers)[t.tiersConfig.length])}}function Iy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updatePayoutTiers(o.payoutTiers)}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function Dy(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Tiers "),e.\u0275\u0275elementStart(2,"a",74),e.\u0275\u0275text(3,"Edit"),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(1,Wl)))}function My(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiArea"),e.\u0275\u0275pipe(3,"number"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=t.index,o=t.$implicit,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Tier ",i+1," - Up to ",e.\u0275\u0275pipeBind2(2,2,e.\u0275\u0275pipeBind3(3,5,o,"1.0","en-US"),l.bookingType)," ")}}function Py(r,a){1&r&&e.\u0275\u0275text(0," Price ")}function Fy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275template(3,My,4,9,"ng-container",71),e.\u0275\u0275template(4,Py,1,0,"ng-template",null,75,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"input",76),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext(2);return y.getTiersVersionValues(y.editorPayoutTiers)[h]=o}),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275pipe(8,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.index,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!o.isBranding)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate("name","editorPayoutTier"+(t+1)),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(7,6,""))("placeholder",e.\u0275\u0275pipeBind1(8,8,20)
1)("ngModel",o.getTiersVersionValues(o.editorPayoutTiers)[t])}}function Ay(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiArea"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",91),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return l.getTiersVersionValues(l.editorPayoutTiers)[l.tiersConfig.length]=o}),e.\u0275\u0275pipe(6,"uiCurrency"),e.\u0275\u0275pipe(7,"uiCurrency"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" Tier ",t.tiersConfig.length+1," - Over ",e.\u0275\u0275pipeBind2(4,5,t.tiersConfig[t.tiersConfig.length-1]||0,t.bookingType)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(6,8,""))("placeholder",e.\u0275\u0275pipeBind1(7,10,20))("ngModel",t.getTiersVersionValues(t.editorPayoutTiers)[t.tiersConfig.length])}}function By(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateEditorPayoutTiers(o.editorPayoutTiers)}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}function jy(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275text(1," Tiers "),e.\u0275\u0275elementStart(2,"a",74),e.\u0275\u0275text(3,"Edit"),e.\u0275\u0275elementEnd()()),2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(1,Wl)))}function Ry(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"uiArea"),e.\u0275\u0275pipe(3,"number"),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(),i=t.index,o=t.$implicit,l=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" Tier ",i+1," - Up to ",e.\u0275\u0275pipeBind2(2,2,e.\u0275\u0275pipeBind3(3,5,o,"1.0","en-US"),l.bookingType)," ")}}function Vy(r,a){1&r&&e.\u0275\u0275text(0," Duration ")}function Ly(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275template(3,Ry,4,9,"ng-container",71),e.\u0275\u0275template(4,Vy,1,0,"ng-template",null,75,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"input",85),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index,y=e.\u0275\u0275nextContext(2);return y.getTiersVersionValues(y.hrsTiers)[h]=o}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=a.index,i=e.\u0275\u0275reference(5),o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!o.isBranding)("ngIfElse",i),e.\u0275\u0275advance(3),e.\u0275\u0275propertyInterpolate("name","tier"+(t+1)),e.\u0275\u0275property("ngModel",o.getTiersVersionValues(o.hrsTiers)[t])}}function Ny(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23)(1,"mat-form-field")(2,"mat-label"),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"uiArea"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",92),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const l=e.\u0275\u0275nextContext(2);return l.getTiersVersionValues(l.hrsTiers)[l.tiersConfig.length]=o}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate2(" Tier ",t.tiersConfig.length+1," - Over ",e.\u0275\u0275pipeBind2(4,3,t.tiersConfig[t.tiersConfig.length-1]||0,t.bookingType)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngModel",t.getTiersVersionValues(t.hrsTiers)[t.tiersConfig.length])}}function $y(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",58),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateSchedulingTiers(o.hrsTiers)}),e.\u0275\u0275text(1," Save "),e.\u0275\u0275elementEnd()}}const zy=function(){return[]};
1function Uy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",93)(1,"div",94)(2,"div",11)(3,"div",13),e.\u0275\u0275text(4," Notifications "),e.\u0275\u0275elementStart(5,"div",14),e.\u0275\u0275text(6," Notify the selected users when this service is created by someone else "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"div",15)(8,"tn-notify-users-chips",95),e.\u0275\u0275listener("membersChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).serviceTemplate.data.notifyMembers=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",64),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateData({notifyMembers:o.serviceTemplate.data.notifyMembers||[]})}),e.\u0275\u0275text(10," Save "),e.\u0275\u0275elementEnd()()()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(8),e.\u0275\u0275property("notificationMembersArray",t.serviceTemplate.data.notifyMembers?t.serviceTemplate.data.notifyMembers:e.\u0275\u0275pureFunction0(1,zy))}}function Hy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",93)(1,"div",96)(2,"div",97)(3,"div")(4,"ui-select",98),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveServiceType(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",14),e.\u0275\u0275text(6," Special service types. Video services will create a video project. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(7,"div",99),e.\u0275\u0275text(8,"Notes"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"ui-quill-notes",100),e.\u0275\u0275listener("noteChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveTaskDetails(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",101)(11,"div",84),e.\u0275\u0275text(12,"Checklists"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"button",102,103),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).addChecklist()}),e.\u0275\u0275element(15,"i",54),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(16,"tn-checklist-group",104),e.\u0275\u0275listener("checklistsChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveChecklists(o.checklists)}),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275reference(14),i=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(4),e.\u0275\u0275property("items",i.serviceTypeOptions)("value",i.serviceTemplate.data.type||""),e.\u0275\u0275advance(5),e.\u0275\u0275property("content",i.serviceTemplate.data.details),e.\u0275\u0275advance(6),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(1),e.\u0275\u0275property("checklists",i.serviceTemplate.data.checklists)}}function Wy(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",11)(1,"div",13),e.\u0275\u0275text(2," Task Configuration "),e.\u0275\u0275elementStart(3,"div",14),e.\u0275\u0275text(4," Configure templates that will be copied into each order when this service is booked. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",15),e.\u0275\u0275template(6,Hy,17,5,"div",47),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",t.serviceTemplate)}}function Gy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",93)(1,"div",96)(2,"div",97)(3,"div",101)(4,"div",84),e.\u0275\u0275text(5,"Photographer Checklist"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"tn-checklist-group",105),e.\u0275\u0275listener("checklistsChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).savePhotographerChecklist(o.checklists)}),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(6),e.\u0275\u0275property("checklists",t.photographerChecklists)("showChecklistTitle",!1)}}
1function Ky(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",11)(1,"div",13),e.\u0275\u0275text(2," Photographer Workflow "),e.\u0275\u0275elementStart(3,"div",14),e.\u0275\u0275text(4,"Configure photographer workflow"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",15),e.\u0275\u0275template(6,Gy,7,2,"div",47),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",t.serviceTemplate)}}function Zy(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-cubicasa-service-config",106),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("serviceId",t.serviceTemplate.id)("serviceName",t.serviceTemplate.data.name)}}function Qy(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-esoft-service-config",107),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("serviceId",t.serviceTemplate.id)}}function Jy(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275template(1,Hb,5,1,"div",3),e.\u0275\u0275elementStart(2,"button",4,5),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().location.back()}),e.\u0275\u0275element(4,"i",6),e.\u0275\u0275text(5," Back "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"nav",7)(7,"a",8),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().activeTabIndex=0}),e.\u0275\u0275text(8," General "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(9,Wb,2,1,"a",9),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",10)(11,"div",11),e.\u0275\u0275template(12,Gb,6,1,"div",12),e.\u0275\u0275elementStart(13,"div",13),e.\u0275\u0275text(14," General "),e.\u0275\u0275elementStart(15,"div",14),e.\u0275\u0275text(16," Booking information regarding your service which will be displayed to your customers. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(17,"div",15)(18,"div",16)(19,"div",17),e.\u0275\u0275text(20,"Thumbnail"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"div",18),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.changeThumbnail(o.serviceTemplate)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(22,"div",19)(23,"mat-form-field")(24,"mat-label"),e.\u0275\u0275text(25,"Name"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(26,"input",20),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().serviceTemplate.data.name=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(27,Kb,2,0,"button",21),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(28,"div",19)(29,"mat-form-field")(30,"mat-label"),e.\u0275\u0275text(31,"Price"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(32,"input",22),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().serviceTemplate.data.price=o}),e.\u0275\u0275pipe(33,"uiCurrency"),e.\u0275\u0275pipe(34,"uiCurrency"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(35,Zb,2,0,"button",21),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(36,"div",23)(37,"div",24),e.\u0275\u0275text(38,"Type"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(39,"div",25),e.\u0275\u0275text(40," Select type to to use this to book property or non-property related work (eg: land lot or branding or headshots). "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(41,"div",26)(42,"ui-select",27),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingType=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(43,Qb,2,0,"button",21),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(44,"div",28)(45,"mat-slide-toggle",29),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().serviceTemplate.data.isTwilight=o}),e.\u0275\u0275text(46," Twilight service "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(47,Jb,2,0,"button",21),e.\u0275\u0275template(48,Yb,2,0,"div",30),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(49,"div",28)(50,"mat-slide-toggle",29),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().serviceTemplate.data.enableWebsite=o}),e.\u0275\u0275text(51," Auto Enable Listing Website "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(52,Xb,2,0,"button",21),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(53,"div",28)(54,"mat-slide-toggle",29),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().serviceTemplate.data.isSeparateAppointment=o}),e.\u0275\u0275text(55," Book this service as a separate appointment "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(56,qb,2,0,"button",21),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(57,"div",31),e.\u0275\u0275text(58,"Description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(59,"div",32)(60,"div",33),e.\u0275\u0275listener("froalaModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().serviceTemplate.data.description=o}),e.\u0275\u0275text(61," Editor "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(62,ey,2,0,"button",21),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(63,ty,11,2,"div",2),e.\u0275\u0275template(64,ny,11,5,"div",2),e.\u0275\u0275template(65,iy,11,5,"div",2),e.\u0275\u0275template(66,oy,2,1,"ng-container",2),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(67,ay,1,1,"tn-expanded-detail
1s-config",34),e.\u0275\u0275template(68,my,2,1,"ng-container",2),e.\u0275\u0275elementStart(69,"div",35)(70,"div",11)(71,"div",13),e.\u0275\u0275text(72," Pricing "),e.\u0275\u0275element(73,"div",14),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(74,"div",15)(75,"div",36)(76,"ui-select",37),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().selectTiersVersion(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(77,"div",38)(78,"a",39),e.\u0275\u0275listener("click",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().openEditPricingVersionDialog(o)}),e.\u0275\u0275text(79,"Add"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(80,uy,2,0,"a",40),e.\u0275\u0275template(81,gy,2,0,"a",40),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(82,"div")(83,"mat-slide-toggle",41),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().serviceTemplate.data.enableCustomTiers=o}),e.\u0275\u0275text(84," Use custom tiers "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(85,"div",10),e.\u0275\u0275template(86,_y,4,2,"div",2),e.\u0275\u0275elementStart(87,"div",42)(88,"form"),e.\u0275\u0275template(89,vy,9,10,"div",43),e.\u0275\u0275template(90,Cy,8,12,"div",44),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(91,by,2,0,"button",21),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(92,Sy,11,6,"div",2),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(93,"div",10)(94,"div",11)(95,"div",13),e.\u0275\u0275text(96,"Payout"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(97,"div",15),e.\u0275\u0275template(98,Ty,4,2,"div",2),e.\u0275\u0275elementStart(99,"div",42)(100,"form",45),e.\u0275\u0275template(101,Ey,9,10,"div",46),e.\u0275\u0275template(102,Oy,8,12,"div",44),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(103,Iy,2,0,"button",21),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(104,"div",10)(105,"div",11)(106,"div",13),e.\u0275\u0275text(107,"Editor Payout"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(108,"div",15),e.\u0275\u0275template(109,Dy,4,2,"div",2),e.\u0275\u0275elementStart(110,"div",42)(111,"form",45),e.\u0275\u0275template(112,Fy,9,10,"div",46),e.\u0275\u0275template(113,Ay,8,12,"div",44),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(114,By,2,0,"button",21),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(115,"div",10)(116,"div",11)(117,"div",13),e.\u0275\u0275text(118," Scheduling "),e.\u0275\u0275element(119,"div",14),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(120,"div",15),e.\u0275\u0275template(121,jy,4,2,"div",2),e.\u0275\u0275elementStart(122,"div",42)(123,"form",45),e.\u0275\u0275template(124,Ly,7,4,"div",43),e.\u0275\u0275template(125,Ny,6,6,"div",44),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(126,$y,2,0,"button",21),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275template(127,Uy,11,2,"div",47),e.\u0275\u0275template(128,Wy,7,1,"div",48),e.\u0275\u0275template(129,Ky,7,1,"div",48),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(130,"div",10),e.\u0275\u0275template(131,Zy,1,2,"tn-cubicasa-service-config",49),e.\u0275\u0275template(132,Qy,1,1,"tn-esoft-service-config",50),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.serviceTemplate.doc),e.\u0275\u0275advance(3),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("active",0===i.activeTabIndex),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.appConfigService.isCubicasaConnected||i.appConfigService.isEsoftConnected),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",0!==i.activeTabIndex),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.incompleteServiceSections),e.\u0275\u0275advance(9),e.\u0275\u0275styleProp("background-image",i.serviceTemplate.data.img?"url("+i.serviceTemplate.data.img+")":""),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngModel",i.serviceTemplate.data.name),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(5),e.\u0275\u0275property("placeholder",e.\u0275\u0275pipeBind1(33,70,300))("prefix",e.\u0275\u0275pipeBind1(34,72,""))("ngModel",i.serviceTemplate.data.price),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(7),e.\u0275\u0275property("items",i.bookingTypeOptions)("ngModel",i.bookingType),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.serviceTemplate.data.isTwilight),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.data.isTwilight),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.serviceTemplate.data.enableWebsite),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.serviceTemplate.data.isSeparateAppointment),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(4),e.\u0275\u0275property("froalaModel",i.serviceTemplate.data.description),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.data.addon),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.data.addon&&!i.serviceTemplate.data.enableAddonIfOtherServiceSelected),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.data.addon),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.isEnergyLabelEnabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate&&i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(8),e.\u0275\u0275property("items",i.getTiersVersionOptions())("value",i.getSelectedTiersVersion()),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",!i.isDefaultPricingVersionSelected()),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isDefaultPricingVersionSelected()),e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.serviceTemplate.data.enableCustomTiers),e.\u0275\u0275advance(2),e.\u0275\u0275property("hidden",i.serviceTemplate.data.enableCustomTiers),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.tiersConfig)("ngForTrackBy",i.trackByIndex),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.data.enableCustomTiers),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.serviceTemplate.data.enableCustomTiers),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.tiersConfig),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.serviceTemplate.data.enableCustomTiers),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.tiersConfig),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",i.serviceTemplate.data.enableCustomTiers),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",i.tiersConfig)("ngForTrackBy",i.trackByIndex),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isBranding),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",1!==i.activeTabIndex),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc&&i.appConfigService.isCubicasaConnected),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate.doc&&i.appConfigService.isEsoftConnected)}}let Yy=(()=>
1{class r{constructor(t,i,o,l,h,y,F,te,H,re,ve,ie){this.fileLibraryDialog=t,this.activatedRoute=i,this.afs=o,this.snackBar=l,this.dialog=h,this.location=y,this.bookingService=F,this.appConfigService=te,this.projectService=H,this.confirmDialogService=re,this.brokeragesRepositoryService=ve,this.bookingFlowService=ie,this.activeTabIndex=0,this.bookingConfig=null,this.bookingFlows=[],this.bookingType=He.cY.PROPERTY,this.prevBookingType=He.cY.PROPERTY,this.pricingTiers=(0,ge.fKd)([]),this.payoutTiers=(0,ge.fKd)([]),this.editorPayoutTiers=(0,ge.fKd)([]),this.hrsTiers=(0,ge.fKd)([]),this.customTiers=(0,ge.fKd)([{name:"",price:0,payout:0,hrs:0,isDefault:!1}]),this.availabilitySqFtRanges=null,this.pricingVersionNames={default:"Default"},this.selectedTiersVersion="default",this.serviceTypes=this.appConfigService.serviceTypes,this.bookingTypeOptions=[{name:"Property",value:He.cY.PROPERTY},{name:"Land Lot",value:He.cY.LANDLOT},{name:"Branding",value:He.cY.BRANDING}],this.serviceTypeOptions=[{name:"None",value:""},...this.serviceTypes.map(Ee=>({name:Ee,value:Ee}))],this.isEnergyLabelEnabled=this.appConfigService.defaultPhoneAuthCountryISO===Rb.HT.Netherlands,this.servicesCollectionPromise=null,this.photographerChecklists=[],this.incompleteServiceSections="",this.cachedTiersVersionOptions=[],this.cachedTiersVersionOptionsKey=""}get isBranding(){return this.bookingType===He.cY.BRANDING}ngOnInit(){var t;return(0,De.mG)(this,void 0,void 0,function*(){const i=this.afs.collection("globals").doc("booking").get().pipe((0,Nt.q)(1),(0,qe.U)(o=>o.exists?o.data():null));this.bookingConfig=null!==(t=yield i.toPromise())&&void 0!==t?t:null,this.servicesCollectionPromise=this.afs.collection("services").get().toPromise(),this.activatedRoute.paramMap.subscribe(o=>{const l=o.get("serviceId");"add"==l?this.serviceTemplate={data:{name:""},id:this.afs.createId(),doc:null}:this.afs.doc(`services/${l}`).get().subscribe(h=>{h.exists?(this.serviceTemplate={id:h.id,data:h.data(),doc:h},this.populateService(this.serviceTemplate)):this.snackBar.open("Error: service not found","Got it",{duration:5e3,horizontalPosition:"center",verticalPosition:"top"})})}),this.projectService.getBookingFlows().subscribe(o=>{this.bookingFlows=o,this.incompleteServiceSections=(0,ge.D4l)(this.serviceTemplate,this.bookingFlows,this.tiersConfig,this.isBranding)})})}populateService(t){var i,o,l,h;t.data.linkedServiceIds&&(t.data.linkedServices=(null===(i=t.data.linkedServiceIds)||void 0===i?void 0:i.map(y=>({data:(0,un.Z)(this.projectService.serviceTemplates,{serviceId:y}),id:y})))||[],t.data.linkedServices=t.data.linkedServices.filter(y=>y.data)),t.data.excludeServiceIds&&(t.data.excludeServices=t.data.excludeServiceIds.map(F=>({data:(0,un.Z)(this.projectService.serviceTemplates,{serviceId:F}),id:F})),t.data.excludeServices=(t.data.excludeServices||[]).filter(F=>F.data)),this.bookingType=null!==(o=t.data.bookingType)&&void 0!==o?o:He.cY.PROPERTY,this.prevBookingType=this.bookingType,this.pricingTiers=(0,ge.fKd)(t.data.pricingTiers?t.data.pricingTiers:[]),this.payoutTiers=(0,ge.fKd)(t.data.payoutTiers?t.data.payoutTiers:[]),this.editorPayoutTiers=(0,ge.fKd)(t.data.editorPayoutTiers?t.data.editorPayoutTiers:[]),this.hrsTiers=(0,ge.fKd)(t.data.hrsTiers?t.data.hrsTiers:[]),this.customTiers=(0,ge.fKd)(t.data.customTiers?t.data.customTiers:[{name:"",price:null,payout:null,isDefault:!1}]),this.getDefaultAvailabilityTierRanges(),this.availabilitySqFtRanges=null!==(l=t.data.availabilitySqFtRanges)&&void 0!==l?l:this.availabilitySqFtRanges,this.pricingVersionNames=null!==(h=t.data.pricingVersionNames)&&void 0!==h?h:this.pricingVersionNames,this.photographerChecklists=t.data.photographerChecklist?[t.data.photographerChecklist]:[{title:"Photographer Checklist"}],this.incompleteServiceSections=(0,ge.D4l)(this.serviceTemplate,this.bookingFlows,this.tiersConfig,this.isBranding)}createService(t){return(0,De.mG)(this,void 0,void 0,function*(){const i=yield this.activatedRoute.queryParams.pipe((0,An.P)()).toPromise(),o=this.afs.doc(`services/${t.id}`),l=yield o.get().toPromise();
1Object.keys(this.pricingTiers).forEach(h=>{this.bookingService.fillBlankTiers(this.pricingTiers[h],this.tiersConfig)}),Object.keys(this.hrsTiers).forEach(h=>{this.bookingService.fillBlankTiers(this.hrsTiers[h],this.tiersConfig)}),Object.keys(this.payoutTiers).forEach(h=>{this.bookingService.fillBlankTiers(this.payoutTiers[h],this.tiersConfig)}),Object.keys(this.editorPayoutTiers).forEach(h=>{this.bookingService.fillBlankTiers(this.editorPayoutTiers[h],this.tiersConfig)}),t.data=Object.assign(Object.assign({},t.data),{bookingType:this.bookingType,hrsTiers:this.hrsTiers,pricingTiers:this.pricingTiers,payoutTiers:this.payoutTiers,editorPayoutTiers:this.editorPayoutTiers,customTiers:this.customTiers,pricingVersionNames:this.pricingVersionNames}),o.set(t.data).then(()=>{var h;if(this.serviceTemplate.doc=l,this.displaySaveConfirmation(),this.location.replaceState(`/admin/booking/services/${this.serviceTemplate.id}`),this.incompleteServiceSections=(0,ge.D4l)(this.serviceTemplate,this.bookingFlows,this.tiersConfig,this.isBranding),i.category){const y=(0,un.Z)(null===(h=this.bookingConfig)||void 0===h?void 0:h.categories,{name:i.category});y&&(y.services.push(t.id),this.afs.collection("globals").doc("booking").update({categories:this.bookingConfig.categories}))}})})}changeThumbnail(t){this.fileLibraryDialog.open().pipe((0,Nt.q)(1)).subscribe(i=>{i&&(t.data.img=i,this.serviceTemplate.doc&&this.updateData({img:i},t))})}updateData(t,i){const o=i||this.serviceTemplate;this.afs.doc(`services/${o.id}`).update(t).then(()=>{this.displaySaveConfirmation();const h=Object.assign(Object.assign({},o.data),t);this.incompleteServiceSections=(0,ge.D4l)(this.serviceTemplate,this.bookingFlows,this.tiersConfig,this.isBranding,h),this.serviceTemplate.data=h});const l=null==t?void 0:t.customTiers;l&&this.brokeragesRepositoryService.updatePricingOverrides(l,this.serviceTemplate.id)}updateBookingType(){this.prevBookingType!==this.bookingType&&(this.resetTiers(),this.updateData({bookingType:this.bookingType,pricingTiers:this.pricingTiers,hrsTiers:this.hrsTiers,payoutTiers:this.payoutTiers,editorPayoutTiers:this.editorPayoutTiers,customTiers:this.customTiers,pricingVersionNames:this.pricingVersionNames,availabilitySqFtRanges:this.availabilitySqFtRanges}),this.getDefaultAvailabilityTierRanges(),this.prevBookingType=this.bookingType)}displaySaveConfirmation(){this.snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}saveLinkedServices(){const t=this.serviceTemplate.data;if(t.enableServiceAddon){const i=(t.linkedServices||[]).map(o=>o.id);t.linkedServiceIds=i,this.updateData({linkedServiceIds:i,enableServiceAddon:!0})}else this.updateData({enableServiceAddon:!1})}saveEnergyAddon(){this.updateData({isEnergyEfficiencyAddon:this.serviceTemplate.data.isEnergyEfficiencyAddon})}saveExcludeServices(){if(this.serviceTemplate.data.enableExcludeAddon){const i=(this.serviceTemplate.data.excludeServices||[]).map(o=>o.id);this.serviceTemplate.data.excludeServiceIds=i,this.updateData({excludeServiceIds:i,enableExcludeAddon:!0}
1)}else this.updateData({enableExcludeAddon:!1})}get tiersConfig(){const t=(0,ge.meL)(this.bookingType,this.bookingConfig);return this.isBranding?t.slice(0,1):t}addCustomTier(){this.getTiersVersionValues(this.customTiers).push({price:0,hrs:0,payout:0,name:"",isDefault:!1})}updatePricingTiers(t){this.isBranding||Object.keys(t).forEach(i=>{this.bookingService.fillBlankTiers(t[i],this.tiersConfig)}),this.updateData({pricingTiers:t,enableCustomTiers:!1})}updatePayoutTiers(t){this.isBranding||Object.keys(t).forEach(i=>{this.bookingService.fillBlankTiers(t[i],this.tiersConfig)}),this.updateData({payoutTiers:t})}updateEditorPayoutTiers(t){this.isBranding||Object.keys(t).forEach(i=>{this.bookingService.fillBlankTiers(t[i],this.tiersConfig)}),this.updateData({editorPayoutTiers:t})}updateSchedulingTiers(t){this.isBranding||Object.keys(t).forEach(i=>{this.bookingService.fillBlankTiers(t[i],this.tiersConfig)}),this.updateData({hrsTiers:t})}saveTaskDetails(t){this.serviceTemplate.doc.ref.update({details:t}).then(()=>this.displaySaveConfirmation())}saveChecklists(t){this.serviceTemplate.doc.ref.update({checklists:t}).then(()=>this.displaySaveConfirmation())}savePhotographerChecklist(t){this.serviceTemplate.doc.ref.update({photographerChecklist:t[0]}).then(()=>this.displaySaveConfirmation())}addChecklist(){this.serviceTemplate.data.checklists?this.serviceTemplate.data.checklists.push({}):this.serviceTemplate.data.checklists=[{}]}saveServiceType(t){this.serviceTemplate.doc.ref.update({type:t||""}).then(()=>this.displaySaveConfirmation())}trackByIndex(t){return t}setDefaultCustomTier(t,i,o){t.forEach(l=>{l.isDefault=!1}),i.isDefault=o,i.isDefault&&(i.areaFrom="",i.areaTo="")}removeTier(t){(0,sn.Z)(this.getTiersVersionValues(this.customTiers),t)}getTiersVersionKeys(){return Object.keys(this.pricingTiers)}getTiersVersionOptions(){const t=this.getTiersVersionKeys(),i=`${t.join("|")}::${JSON.stringify(this.pricingVersionNames)}`;return i!==this.cachedTiersVersionOptionsKey&&(this.cachedTiersVersionOptionsKey=i,this.cachedTiersVersionOptions=t.map(o=>({name:this.pricingVersionNames[o]||o,value:o}))),this.cachedTiersVersionOptions}getTiersVersionNames(){return this.getTiersVersionKeys().map(t=>this.pricingVersionNames[t]||t)}getTiersVersionValues(t){const i=this.getSelectedTiersVersion();return t[i]||(t[i]=[]),t[i]}getSelectedTiersVersion(){return this.pricingTiers[this.selectedTiersVersion]?this.selectedTiersVersion:this.getTiersVersionKeys()[0]}getAreaText(){return this.bookingType===He.cY.LANDLOT?"Acreage":"Area"}getAreaPlaceholder(){return this.bookingType===He.cY.LANDLOT?"1 acre":"1,000 Sq Ft"}onAreaFromChange(t){null!=t.areaFrom&&""!==t.areaFrom&&null!=t.areaTo&&""!==t.areaTo&&t.areaFrom>t.areaTo&&(t.areaFrom=t.areaTo)}onAreaToChange(t){null!=t.areaFrom&&""!==t.areaFrom&&null!=t.areaTo&&""!==t.areaTo&&t.areaFrom>t.areaTo&&(t.areaTo=t.areaFrom)}selectTiersVersion(t){this.selectedTiersVersion=t}isDefaultPricingVersionSelected(){return"default"===this.getSelectedTiersVersion()}openEditPricingVersionDialog(t,i=!1){t.preventDefault();const o=i?this.getSelectedTiersVersion():null;this.dialog.open(Mm,{panelClass:"app-v2",width:"600px",maxWidth:"600px",data:{key:o,name:i?this.pricingVersionNames[o]:null,existingNames:this.getTiersVersionNames()}}).afterClosed().pipe((0,Yt.h)(Boolean)).subscribe(h=>{var y,F,te,H,re;const{key:ve,name:ie}=h,Ee=null!=ve?ve:(0,Xr.Z)();this.pricingVersionNames=Object.assign(Object.assign({},this.pricingVersionNames),{[Ee]:ie}),this.pricingTiers[Ee]=null!==(y=this.pricingTiers[Ee])&&void 0!==y?y:[],this.hrsTiers[Ee]=null!==(F=this.hrsTiers[Ee])&&void 0!==F?F:[],this.payoutTiers[Ee]=null!==(te=this.payoutTiers[Ee])&&void 0!==te?te:[],this.editorPayoutTiers[Ee]=null!==(H=this.editorPayoutTiers[Ee])&&void 0!==H?H:[],this.customTiers[Ee]=null!==(re=this.customTiers[Ee])&&void 0!==re?re:[],Object.keys(this.pricingTiers).forEach(Fe=>{this.bookingService.fillBlankTiers(this.pricingTiers[Fe],this.tiersConfig)}),Object.keys(this.hrsTiers).forEach(Fe=>{this.bookingService.fillBlankTiers(this.hrsTiers[Fe],this.tiersConfig)}
1),Object.keys(this.payoutTiers).forEach(Fe=>{this.bookingService.fillBlankTiers(this.payoutTiers[Fe],this.tiersConfig)}),Object.keys(this.editorPayoutTiers).forEach(Fe=>{this.bookingService.fillBlankTiers(this.editorPayoutTiers[Fe],this.tiersConfig)}),this.selectTiersVersion(Ee),this.serviceTemplate.doc&&this.updateData({pricingTiers:this.pricingTiers,hrsTiers:this.hrsTiers,payoutTiers:this.payoutTiers,editorPayoutTiers:this.editorPayoutTiers,customTiers:this.customTiers,pricingVersionNames:this.pricingVersionNames})})}deletePricingVersion(t){t.preventDefault();const i=this.getSelectedTiersVersion(),o=this.serviceTemplate.id,l=this.getBookingFlowsUsingVersion(o,i),h=[`Are you sure you want to delete the pricing version ${this.pricingVersionNames[i]}?`];l.length>0&&(h.push("It is used for the following booking flows, which will be switched back to Default:"),h.push(l.map(({name:y})=>y).join(", "))),this.confirmDialogService.confirm({message:h,destructive:!0}).pipe((0,Yt.h)(Boolean)).subscribe(()=>{delete this.pricingTiers[i],delete this.hrsTiers[i],delete this.payoutTiers[i],delete this.editorPayoutTiers[i],delete this.customTiers[i],delete this.pricingVersionNames[i],this.repointBookingFlowsToDefaultVersion(o,l),this.selectTiersVersion("default"),this.serviceTemplate.doc&&this.updateData({pricingTiers:this.pricingTiers,hrsTiers:this.hrsTiers,payoutTiers:this.payoutTiers,editorPayoutTiers:this.editorPayoutTiers,customTiers:this.customTiers,pricingVersionNames:this.pricingVersionNames})})}getDefaultAvailabilityTierRanges(){let t=null;this.tiersConfig.length&&(t=this.tiersConfig.map((i,o)=>({from:this.tiersConfig[o-1]||0,to:this.tiersConfig[o]})),t.push({from:this.tiersConfig[this.tiersConfig.length-1],to:Number.MAX_SAFE_INTEGER})),this.availabilitySqFtRanges=t}isServiceSqFtRangeChecked(t,i){var o;return!!(null===(o=this.availabilitySqFtRanges)||void 0===o?void 0:o.some(l=>+l.from==+t&&+l.to==+i))}isLastServiceSqFtRangeChecked(t){var i;return!!(null===(i=this.availabilitySqFtRanges)||void 0===i?void 0:i.some(o=>+o.from==+t&&+o.to===Number.MAX_SAFE_INTEGER))}onServiceSqFtRangeToggle(t,i,o){var l,h,y;t?null===(l=this.availabilitySqFtRanges)||void 0===l||l.push({from:i,to:o||Number.MAX_SAFE_INTEGER}):this.availabilitySqFtRanges=null!==(y=null===(h=this.availabilitySqFtRanges)||void 0===h?void 0:h.filter(F=>!(+F.from==+i&&(+F.to==+o||+F.to===Number.MAX_SAFE_INTEGER))))&&void 0!==y?y:null}updateAvailabilitySqFtRanges(){this.updateData({availabilitySqFtRanges:this.availabilitySqFtRanges||null})}resetTiers(){this.pricingTiers=(0,ge.fKd)([]),this.payoutTiers=(0,ge.fKd)([]),this.editorPayoutTiers=(0,ge.fKd)([]),this.hrsTiers=(0,ge.fKd)([]),this.customTiers=(0,ge.fKd)([]),this.pricingVersionNames={default:"Default"},this.availabilitySqFtRanges=null}getBookingFlowsUsingVersion(t,i){return this.bookingFlows.filter(o=>{var l;return(null===(l=o.pricingTiersMap)||void 0===l?void 0:l[t])===i})}repointBookingFlowsToDefaultVersion(t,i){i.forEach(o=>{this.bookingFlowService.updateServicePricingVersion(o.id,t,"default"),o.pricingTiersMap=Object.assign(Object.assign({},o.pricingTiersMap),{[t]:"default"})})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ti),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(ut.uw),e.\u0275\u0275directiveInject(S.Location),e.\u0275\u0275directiveInject(U.q$k),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(gt.DNF),e.\u0275\u0275directiveInject(U.HwC),e.\u0275\u0275directiveInject(Zi.C))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-configure-service-details"]],decls:4,vars:2,consts:[[1,"container","pt3","pb6"],[1,"mb-20"],[4,"ngIf"],["class","fixed bottom-2 white z-3 fixed-center",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mb-20",3,"click"],["backButton","btnSize"],["uiIcon","arrow_back",3,"size"],["mat-tab-nav-bar","",1,"mb-16"],["mat-tab-link","",3,"active","click"],["mat-tab-link","",3,"active","click",4,"ngIf"],[3,"hidden"],[1,"card"],["class","app-v2",4,"ngIf"],[1,"card-header"],[1,"text-muted","f7"],[1,"card-body"],[1,"mb3"],[1,"fw6","f7","mb1","black-70"],[1,"thumbnail","pointer",3,"click"],[1,"mb2","flex","items-baseline","gap-8"],["matInput","","placeholder","Photos, Video",3,"ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],["matInput","","suffix","+","thousandSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"placeholder","prefix","ngModel","ngModelChange"],[1,"mb2"],[1,"f6","fw6","o-90"],[1,"f7","o-70","mb2"],[1,"flex","items-center","gap-8"],["appearance","bordered",1,"w-160",3,"items","ngModel","ngModelChange"],[1,"mb2","flex","items-center","gap-8"],[3,"disableRipple","ngModel","ngModelChange"],["class","fw5 f7 red",4,"ngIf"],[1,"fw6","f7","mb2","black-70"],[1,"mb4"],[1,"mb2",3,"froalaModel","uiFroalaEditor","froalaModelChange"],[3,"serviceTemplate","detailsSaved",4,"ngIf"],[1,"tiers-container"],[1,"flex","items-end","gap-8","mb-16"],["appearance","bordered","label","Pricing Version",1,"w-220",3,"items","value","selectionChange"],[1,"mb-8"],[1,"fw6","f7",3,"click"],["class","fw6 f7",3,"click",4,"ngIf"],[1,"mb3",3,"disableRipple","ngModel","ngModelChange"],[1,"mt1"],["class","mb2",4,"ngFor","ngForOf","ngForTrackBy"],["class","mb2",4,"ngIf"],[1,"tiers-form"],["class","mb2",4,"ngFor","ngForOf"],["class","row",4,"ngIf"],["class","card",4,"ngIf"],[3,"serviceId","serviceName",4,"ngIf"],[3,"serviceId",4,"ngIf"],[1,"fixed","bottom-2","white","z-3","fixed-center"],["uiBtnSize","large","uiBtnTheme","main","themeMode","primary",3,"click"],["createServiceButton","btnSize"],["uiIcon","add",3,"size"],[1,"app-v2"],[1,"p-16"],[1,"p-8","bg-red-5","text-red-50","border-1","border-red-50","rounded"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],[1,"fw5","f7","red"],[1,"f7","o-70"],["name","enableServiceAddon",3,"disableRipple","ngModel","ngModelChange"],["name","enableServiceAddon",1,"mb-8",3,"disableRipple","ngModel","ngModelChange"],[3,"packageDoc","servicesCollectionPromise","includeAddons","servicesChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mt-min",3,"click"],["name","enableExcludeAddon",1,"mb-8",3,"disableRipple","ngModel","ngModelChange"],["valueField","excludeServices",3,"packageDoc","servicesCollectionPromise","includeAddons","servicesChange"],[3,"serviceTemplate","detailsSaved"],["class","card mt3",4,"ngIf"],[1,"card","mt3"],["class","card-body",4,"ngIf"],[4,"ngIf","ngIfElse"],["noTiers",""],[3,"checked","change"],[1,"fw6","f7",3,"routerLink"],["brandingLabel",""],["matInput","","thous
1andSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"name","prefix","placeholder","ngModel","ngModelChange"],["matInput","","name","largestTier","thousandSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"prefix","placeholder","ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click"],["addCustomTierButton","btnSize"],[4,"ngFor","ngForOf"],[1,"grid","grid-cols-9","mb2"],[1,"col-span-2","mr2"],["matInput","","placeholder","Drone Video - 30 seconds",3,"name","ngModel","ngModelChange"],[1,"mr2"],["matInput","","suffix"," hrs","thousandSeparator",",","mask","separator","placeholder","1.5 hrs","uiNgxMaskZeroFix","",3,"name","ngModel","ngModelChange"],["matInput","","thousandSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"name","placeholder","suffix","disabled","ngModel","ngModelChange","change"],[1,"flex","align-items-center"],[1,"default-tier-checkbox"],["matInput","","value","0",1,"d-none"],["uiIcon","close",1,"ml1","mb1","pointer",3,"click"],["matInput","","name","largestEditorPayoutTier","thousandSeparator",",","mask","separator","uiNgxMaskZeroFix","",3,"prefix","placeholder","ngModel","ngModelChange"],["matInput","","name","largestTier","suffix"," hrs","thousandSeparator",",","mask","separator","placeholder","1.5 hrs","uiNgxMaskZeroFix","",3,"ngModel","ngModelChange"],[1,"row"],[1,"col-md-12"],[3,"notificationMembersArray","membersChange"],[1,"col-md-6"],[1,"mt3","active-order-width"],["appearance","bordered","label","Service Type",1,"block","w-256",3,"items","value","selectionChange"],[1,"fw6","f6","mt3","mb2","black-70"],[3,"content","noteChange"],[1,"fw6","f5","mt3","mb2","black-70","flex","items-center"],["uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"click"],["addChecklistButton","btnSize"],[1,"mt3",3,"checklists","checklistsChange"],[1,"mt3",3,"checklists","showChecklistTitle","checklistsChange"],[3,"serviceId","serviceName"],[3,"serviceId"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Jy,133,74,"div",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" Manage Services ",null!=i.serviceTemplate&&i.serviceTemplate.data?" - "+(null==i.serviceTemplate||null==i.serviceTemplate.data?null:i.serviceTemplate.data.name):""," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.serviceTemplate&&i.bookingConfig))},directives:[S.NgIf,_t.s,ht.V,mt.a,T.BU,T.Nj,Et.KE,Et.hX,Pt.Nt,ee.Fj,ee.JJ,ee.On,En.Z6,Pm,tn.H,Me.Rr,ui.V,sl,Bm,S.NgForOf,Q.oG,Qe.yS,ee._Y,ee.JL,ee.F,Ps,Dl.U,Zp,zb,Ub],pipes:[ge._ab,ge.JcI,ge.kW1,ge.FjN,S.DecimalPipe],styles:["[_nghost-%COMP%] .default-tier-checkbox{margin-left:.5rem;width:2.5rem}[_nghost-%COMP%] .default-tier-checkbox .mat-form-field-underline{display:none}[_nghost-%COMP%] .default-tier-checkbox label{margin-bottom:0}.thumbnail[_ngcontent-%COMP%]{margin-bottom:0;background-size:cover;background-position:center;background-repeat:no-repeat;width:149px;height:90px;background-color:#eaeaea}.toggle-position[_ngcontent-%COMP%]{position:relative;top:.125rem}"]}),r})();var Gl=_(38320),Xy=_(31680),qy=_(98683);let ex=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-auto-delete-enabled-dialog"]],decls:7,vars:0,consts:[[1,"mt-0","mb-12"],[1,"mt-0","mb-0"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"ui-dialog-header"),e.\u0275\u0275text(1,"Auto-delete is now on"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"p",0),e.\u0275\u0275text(4," When an order is delivered, a retention timer starts. Once it ends, that order's RAW files are automatically removed from Dropbox "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"p",1),e.\u0275\u0275text(6," This applies only to orders delivered from today onward \u2014 older existing orders are never affected "),e.\u0275\u0275elementEnd()())},directives:[Un.A,ut.xY],encapsulation:2,changeDetection:0}),r})();var tx=_(40520),nx=_(68807);const ix={titusConnected:!1,titusIsCardProcessor:!1,availableProcessors:[],squareConnected:!1,enableStripe:null,saving:!1,errorMessage:null},rx={[He.OH.STRIPE]:"Stripe",[He.OH.SQUARE]:"Square",[He.OH.TITUS]:"Titus"};let lm=(()=>{class r extends Xt.m1{constructor(t,i,o,l,h,y){super(ix),this.titusProvi
1derRepository=t,this.coreRepository=i,this.bookingConfigDocumentService=o,this.stripeConfigService=l,this.appConfigService=h,this.errorReporting=y,this.stripeAvailable$=this.stripeConfigService.config$.pipe((0,qe.U)(F=>!!F.publishableKey),(0,Qn.x)()),this.titusConnected$=this.select(this.appConfigService.isTitusEnabled$,this.select(F=>F.titusConnected),(F,te)=>F&&te),this.selectedProcessor$=this.select(this.appConfigService.paymentsProvider$,this.select(F=>F.enableStripe),this.select(F=>F.squareConnected),this.stripeAvailable$,(F,te,H,re)=>this.deriveSelectedProcessor(F,te,H,re)),this.processorOptions$=this.select(this.stripeAvailable$,this.select(F=>F.squareConnected),this.titusConnected$,(F,te,H)=>this.buildProcessorOptions(F,te,H)),this.enableStripe$=this.select(F=>F.enableStripe),this.saving$=this.select(F=>F.saving),this.disconnectContext$=this.select(F=>({titusIsCardProcessor:F.titusIsCardProcessor,availableProcessors:F.availableProcessors})),this.vm$=this.select(this.processorOptions$,this.selectedProcessor$,this.appConfigService.isTitusEnabled$,this.titusConnected$,this.saving$,this.select(F=>F.errorMessage),(F,te,H,re,ve,ie)=>({processorOptions:F,selectedProcessor:te,payAtCloseAvailable:H,payAtCloseEnabled:re,payAtCloseLocked:te===He.OH.TITUS,saving:ve,errorMessage:ie}),{debounce:!0}),this.setSquareConnected=this.updater((F,te)=>Object.assign(Object.assign({},F),{squareConnected:te})),this.setEnableStripe=this.updater((F,te)=>Object.assign(Object.assign({},F),{enableStripe:te})),this.initConfig=this.effect(F=>F.pipe((0,St.w)(()=>this.titusProviderRepository.getConfig().pipe((0,Xt._b)(te=>this.applyTitusConfig(te),te=>this.errorReporting.captureException(te)))))),this.selectProcessor=this.effect(F=>F.pipe((0,_i.M)(this.selectedProcessor$),(0,Yt.h)(([te,H])=>te!==H),(0,Ht.b)(()=>this.patchState({saving:!0,errorMessage:null})),(0,oo.b)(([te,H])=>(te===He.OH.TITUS?this.assignTitus(He.v3.ALL_PAYMENTS):this.handCardsTo(te,H)).pipe((0,Xt._b)(ve=>this.patchState(ve),ve=>{this.errorReporting.captureException(ve),this.patchState({errorMessage:this.buildErrorMessage(ve,"We could not update the payment processor. Please try again.")})}),(0,gr.x)(()=>this.patchState({saving:!1})))))),this.disablePayAtClose=this.effect(F=>F.pipe((0,Ht.b)(()=>this.patchState({saving:!0,errorMessage:null})),(0,nx.z)(te=>this.titusProviderRepository.disconnect({replacementProvider:te}).pipe((0,Xt._b)(()=>{this.patchState({titusConnected:!1,titusIsCardProcessor:!1})},H=>{this.errorReporting.captureException(H),this.patchState({errorMessage:this.buildErrorMessage(H,"We could not disable pay at close. Please try again.")})}),(0,gr.x)(()=>this.patchState({saving:!1})))))),this.applyTitusConfig=this.updater((F,te)=>Object.assign(Object.assign({},F),this.titusPatch(te)))}assignTitus(t,i){return this.titusProviderRepository.updateAssignment({assignment:t,replacementProvider:i}).pipe((0,qe.U)(o=>this.titusPatch(o)))}handCardsTo(t,i){return(i===He.OH.TITUS?this.assignTitus(He.v3.PAY_AT_CLOSE_ONLY,t):(0,Rn.of)({})).pipe((0,oo.b)(l=>(0,zt.D)(this.writeCardProcessor(t)).pipe((0,qe.U)(h=>Object.assign(Object.assign({},l),h)))))}writeCardProcessor(t){return(0,De.mG)(this,void 0,void 0,function*(){const i=t===He.OH.STRIPE;return yield Promise.all([this.coreRepository.appSettings.update({data:{paymentsProvider:t},where:{id:"settings"}}),this.bookingConfigDocumentService.update({enableStripe:i})]),{enableStripe:i,titusIsCardProcessor:!1}})}titusPatch(t){return{titusConnected:t.status===Jn.L_.CONNECTED,titusIsCardProcessor:t.titusIsCardProcessor,availableProcessors:t.availableProcessors}}deriveSelectedProcessor(t,i,o,l){return t===He.OH.TITUS||t===He.OH.STRIPE||t===He.OH.SQUARE?t:i&&l?He.OH.STRIPE:!i&&o?He.OH.SQUARE:null}buildProcessorOptions(t,i,o){const l=[];return t&&l.push(He.OH.STRIPE),i&&l.push(He.OH.SQUARE),o&&l.push(He.OH.TITUS),l.map(h=>({label:rx[h],value:h}))}buildErrorMessage(t,i){var o;return t instanceof tx.HttpErrorResponse&&400===t.status&&(null===(o=t.error)||void 0===o?void 0:o.message)||i}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(Jn.Z5),e.\u0275\u0275inject(Jn.AO),e.\u0275\u0275inject(U.KVG),e.\u0275\u0275inject(U.xBR),e.\u0275\u0275inject(U._ZM),e.\u0275\u0275inject(U.BdB))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})();const Wm={addingStripeKeys:!1,editingStripeKeys:!1,loading:!1};let cm=(()=>{class r extends Xt.m1{constructor(t,i){super(Wm),this.stripeConfigService=t,this.stripeKeysService=i,this.stripeAvailable$=this.stripeConfigService.config$.pipe((0,qe.U)(o=>!!o.publishableKey)),this.loading$=this.select(o=>o.loading),this.addingStripeKeys$=this.select(o=>o.addingStripeKeys),this.editingStripeKeys$=this.select(o=>o.editingStripeKeys),this.stripeSecretInputsShown$=this.select(this.stripeAvailable$,this.editingStripeKeys$,(o,l)=>o&&!l),this.stripeSectionShown$=this.select(this.stripeAvailable$,this.addingStripeKeys$,(o,l)=>o||l),this.addStripeKeys=this.updater(o=>Object.assign(Object.assign({},o),{addingStripeKeys:!0})),this.editStripeKeys=this.updater(o=>Object.assign(Object.assign({},o),{editingStripeKeys:!0})),this.setLoading=this.updater((o,l)=>Object.assign(Object.assign({},o),{loading:l})),this.reset=this.updater(()=>Object.assign({},Wm)),this.saveStripeKeys=this.effect(o=>o.pipe((0,Ht.b)(()=>this.setLoading(!0)),(0,St.w)(l=>this.stripeKeysService.saveStripeKeys(l)),(0,St.w)(()=>this.stripeAvailable$),(0,Yt.h)(l=>!!l),(0,Xt._b)(()=>{this.setLoading(!1),this.reset()},l=>console.log(l))))}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275inject(U.xBR),e.\u0275\u0275inject(U.vuV))},r.\u0275prov=e.\u0275\u0275defineInjectable({token:r,factory:r.\u0275fac}),r})();var Gm=_(81852);function lx(r,a){1&r&&(e.\u0275\u0275elementStart(0,"small",23),e.\u0275\u0275text(1," Start time cannot be later than end time. "),e.\u0275\u0275elementEnd())}function cx(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0,11),e.\u0275\u0275elementStart(1,"div",12)(2,"ui-form-group",13)(3,"div",14)(4,"mat-slide-toggle",15),e.\u0275\u0275text(5),e.\u0275\u0275pipe(6,"translate"),e.\u0275\u0275pipe(7,"uppercase"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"div",16)(9,"div",17),e.\u0275\u0275text(10,"Start time - End time"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"div",18),e.\u0275\u0275element(12,"ui-time-input",19),e.\u0275\u0275text(13," - "),e.\u0275\u0275element(14,"ui-time-input",20),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(15,lx,2,0,"small",21),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(16,"ui-input",22),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.$implicit;let o;e.\u0275\u0275property("formGroupName",a.index),e.\u0275\u0275advance(4),e.\u0275\u0275property("disableRipple",!0),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(6,10,e.\u0275\u0275pipeBind1(7,12,null==(o=t.get("name"))?null:o.value))),e.\u0275\u0275advance(7),e.\u0275\u0275property("showPanelForced",!0)("readonly",!0),e.\u0275\u0275advance(2),e.\u0275\u0275classProp("ng-invalid",t.hasError("timeRangeError")),e.\u0275\u0275property("showPanelForced",!0)("readonly",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.hasError("timeRangeError"))}}function dx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"form",6),e.\u0275\u0275listener("ngSubmit",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveBlockScheduling()}),e.\u0275\u0275elementStart(1,"div",2),e.\u0275\u0275text(2,"Block Scheduling"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",3),e.\u0275\u0275text(4," Set times to be displayed for morning, afternoon, and twilight time blocks. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",7),e.\u0275\u0275template(6,cx,17,14,"
1ng-container",8),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"footer",9)(8,"button",10),e.\u0275\u0275text(9," Save "),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("formGroup",t.integratedBookingForm),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngForOf",t.timeBlocks.controls),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",t.integratedBookingForm.invalid&&t.integratedBookingForm.touched||t.integratedBookingForm.pristine)}}let px=(()=>{class r{constructor(t){this.fb=t,this.nonIntegratedBookingBlocks=[],this.updateIntegratedBooking=new e.EventEmitter,this.updateBookingBlock=new e.EventEmitter,this.integratedBookingForm=this.fb.group({timeBlocks:this.fb.array([])})}get timeBlocks(){return this.integratedBookingForm.get("timeBlocks")}ngOnInit(){this.nonIntegratedBookingBlocks.forEach(t=>{this.timeBlocks.push(this.createTimeBlockFormGroup(t))})}saveBlockScheduling(){this.integratedBookingForm.valid&&this.integratedBookingForm.dirty&&this.updateBookingBlock.emit({nonIntegratedBookingBlocks:this.integratedBookingForm.value.timeBlocks})}onIntegratedToggle(t){this.updateIntegratedBooking.emit({integratedBooking:t.checked})}createTimeBlockFormGroup(t){return this.fb.group({available:[!!(null==t?void 0:t.available)],name:[(null==t?void 0:t.name)||"",ge.$9f.required],description:[(null==t?void 0:t.description)||""],start:[{hours:(null==t?void 0:t.start.hours)||0,minutes:(null==t?void 0:t.start.minutes)||0},ee.kI.required],end:[{hours:(null==t?void 0:t.end.hours)||0,minutes:(null==t?void 0:t.end.minutes)||0},ee.kI.required]},{validators:r=>{var a,t;if(!(r instanceof ee.cw))return null;const i=null===(a=r.get("start"))||void 0===a?void 0:a.value,o=null===(t=r.get("end"))||void 0===t?void 0:t.value;return i&&o&&60*i.hours+i.minutes>60*o.hours+o.minutes?{timeRangeError:"Start time cannot be later than end time"}:null}})}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(ee.qu))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-integrated-booking-form"]],inputs:{nonIntegratedBookingBlocks:"nonIntegratedBookingBlocks",integratedBooking:"integratedBooking"},outputs:{updateIntegratedBooking:"updateIntegratedBooking",updateBookingBlock:"updateBookingBlock"},decls:9,vars:3,consts:[[1,"integrated-booking-form","mb-3"],[1,"integrated-booking-form__toggle","mb-3"],[1,"f6","fw6","o-90"],[1,"f7","mb-3","o-70"],["name","integratedBooking",3,"disableRipple","ngModel","ngModelChange","change"],["class","time-blocks-form",3,"formGroup","ngSubmit",4,"ngIf"],[1,"time-blocks-form",3,"formGroup","ngSubmit"],["formArrayName","timeBlocks",1,"time-blocks","mb-2","gap-28","grid","rounded","mobile-small:grid-cols-1","md:grid-cols-2","laptop:grid-cols-3"],[3,"formGroupName",4,"ngFor","ngForOf"],[1,"form-footer","flex","w-f","flex-row","mt-2"],["type","submit","uiBtnSize","small","uiBtnTheme","setting","themeMode","primary",1,"w-fit",3,"disabled"],[3,"formGroupName"],[1,"time-block","flex","flex-col"],[1,"default-form-group","p-8"],[1,"border-b","flex","mb-8"],["formControlName","available","name","integratedBooking",1,"font-semibold","block","mb-2",3,"disableRipple"],[1,"mb-2"],[1,"body","mb-min","text-12","text-gray-50","pl-8"],[1,"flex","items-center","gap-min"],["formControlName","start",3,"showPanelForced","readonly"],["formControlName","end",3,"showPanelForced","readonly"],["class","text-red-50 mt-1",4,"ngIf"],["inputClass","border-gray-15","formControlName","description","label","Block description","placeholder","Description"],[1,"text-red-50","mt-1"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2),e.\u0275\u0275text(3,"Integrated Booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",3),e.\u0275\u0275text(5," Allow customers to directly book available timeslots based on photographer's calendars. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"mat-slide-toggle",4),e.\u0275\u0275listener("ngModelChange",function(l){return i.integratedBooking=l})("change",function(l){return i.onIntegratedToggle(l)}),e.\u0275\u0275text(7," Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(8,dx,10,3,"form",5),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("ngModel",i.integratedBooking),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",!i.integratedBooking))},directives:[Me.Rr,ee.JJ,ee.On,S.NgIf,ee._Y,ee.JL,ee.sg,ee.CE,S.NgForOf,ee.x0,Fn.H,ee.u,Gm.D,yi.a,_t.s,ht.V],pipes:[de.X$,S.UpperCasePipe],styles:[""],changeDetection:0}),r})();var mx=_(78600),ux=_(85224),gx=_(12960),_x=_(76998),Km=_(43860),hx=_(99093),fx=_(73929),vx=_(24444),Cx=_(75244);const bx=function(r){return[r]};let Zm=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-edit-template-link"]],inputs:{templateType:"templateType"},decls:2,vars:3,consts:[["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"ml-auto",3,"routerLink"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"a",0),e.\u0275\u0275text(1," Edit Template\n"),e.\u0275\u0275elementEnd()),2&t&&e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(1,bx,"email-templates/"+i.templateType))},directives:[Qe.yS,_t.s,ht.V],encapsulation:2}),r})();function yx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",3)(1,"div",4),e.\u0275\u0275text(2,"Send confirmation text notification"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",5),e.\u0275\u0275text(4," When customers submit a booking, send a confirmation text notification "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",6)(6,"mat-slide-toggle",7),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleConfirmationText.emit(o.checked)}),e.\u0275\u0275text(7," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(8,"tn-edit-template-link",8),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("checked",t.bookingConfig.enableConfirmationTextMessage),e.\u0275\u0275advance(2),e.\u0275\u0275property("templateType","bookingConfirmationText")}}function xx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",3)(2,"div",4),e.\u0275\u0275text(3,"Send reminder text notification"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",5),e.\u0275\u0275text(5," Text notification sent a day before the scheduled booking "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",6)(7,"mat-slide-toggle",7),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleReminderText.emit(o.checked)}),e.\u0275\u0275text(8," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(9,"tn-edit-template-link",8),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(10,"div",3)(11,"div",4),e.\u0275\u0275text(12,"Send daily reminder text notification"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"div",5),e.\u0275\u0275text(14," Text notifications sent at the beginning of the day of a scheduled booking "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"div",6)(16,"mat-slide-toggle",9),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleDailyPhotographerReminders.emit(o.checked)}),e.\u0275\u0275text(17," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(18,"tn-edit-template-link",8),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(19,"div",10)(20,"div",4),e.\u0275\u0275text(2
11,"Send project complete text notification"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"div",5),e.\u0275\u0275text(23," Send a text notification when a project is moved to completed "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"div",6)(25,"mat-slide-toggle",7),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleProjectCompleteText.emit(o.checked)}),e.\u0275\u0275text(26," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(27,"tn-edit-template-link",8),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("checked",t.managementConfig.enableReminderTextNotification),e.\u0275\u0275advance(2),e.\u0275\u0275property("templateType","bookingReminderText"),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("checked",t.managementConfig.enableDailyPhotographerReminders),e.\u0275\u0275advance(2),e.\u0275\u0275property("templateType","dailyPhotographerRemindersText"),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("checked",t.managementConfig.enableProjectCompleteTextNotification),e.\u0275\u0275advance(2),e.\u0275\u0275property("templateType","projectCompleteText")}}let Sx=(()=>{class r{constructor(){this.toggleConfirmationText=new e.EventEmitter,this.toggleReminderText=new e.EventEmitter,this.toggleProjectCompleteText=new e.EventEmitter,this.toggleDailyPhotographerReminders=new e.EventEmitter}}return r.\u0275fac=function(t){return new(t||r)},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-text-notifications-settings"]],inputs:{bookingConfig:"bookingConfig",managementConfig:"managementConfig"},outputs:{toggleConfirmationText:"toggleConfirmationText",toggleReminderText:"toggleReminderText",toggleProjectCompleteText:"toggleProjectCompleteText",toggleDailyPhotographerReminders:"toggleDailyPhotographerReminders"},decls:3,vars:2,consts:[[1,"mb-min"],["class","mb-32",4,"ngIf"],[4,"ngIf"],[1,"mb-32"],[1,"font-semibold"],[1,"text-12","text-gray-50"],[1,"flex","justify-between","mt-min"],["name","confirmationEmail",3,"disableRipple","checked","change"],[3,"templateType"],["name","dailyPhotographerReminders",3,"disableRipple","checked","change"],[1,"mb-24"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275template(1,yx,9,3,"div",1),e.\u0275\u0275template(2,xx,28,9,"ng-container",2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.bookingConfig),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.managementConfig))},directives:[S.NgIf,Me.Rr,Zm],styles:[""]}),r})();var Tx=_(16784);function wx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",80)(1,"form",81)(2,"ui-form-group",82),e.\u0275\u0275element(3,"ui-number-input",83),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(4,"button",84),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).saveTravelTimeExtraBuffer()}),e.\u0275\u0275text(5," Save "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("formGroup",t.travelTimeExtraBufferForm),e.\u0275\u0275advance(3),e.\u0275\u0275property("disabled",t.travelTimeExtraBufferForm.invali
1d)}}function kx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",85)(1,"div",7),e.\u0275\u0275text(2,"Dynamic Pricing"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",8),e.\u0275\u0275text(4," Allow customers to see a price estimate based on the size of their property. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",9)(6,"mat-slide-toggle",86),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).bookingConfig.dynamicPricing=o}),e.\u0275\u0275text(7," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateBookingConfig({dynamicPricing:o.bookingConfig.dynamicPricing})}),e.\u0275\u0275text(9," Save "),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.bookingConfig.dynamicPricing)}}function Ex(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",87)(2,"mat-form-field")(3,"mat-label"),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",88),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index;return e.\u0275\u0275nextContext(2).sqFtTiers[h]=o})("ngModelChange",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).setLastTier()}),e.\u0275\u0275pipe(6,"uiArea"),e.\u0275\u0275pipe(7,"uiArea"),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=a.index,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1("Tier ",t+1,""),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("name","tier"+(t+1)),e.\u0275\u0275property("suffix",e.\u0275\u0275pipeBind1(6,5,""))("ngModel",i.sqFtTiers[t])("placeholder",e.\u0275\u0275pipeBind1(7,7,"2,500"))}}function Ox(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",87)(2,"mat-form-field")(3,"mat-label"),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"input",88),e.\u0275\u0275listener("ngModelChange",function(o){const h=e.\u0275\u0275restoreView(t).index;return e.\u0275\u0275nextContext(2).acreageTiers[h]=o})("ngModelChange",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).setLastAcreageTier()}),e.\u0275\u0275pipe(6,"uiArea"),e.\u0275\u0275pipe(7,"uiArea"),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=a.index,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1("Tier ",t+1,""),e.\u0275\u0275advance(1),e.\u0275\u0275propertyInterpolate("name","acreageTier"+(t+1)),e.\u0275\u0275property("suffix",e.\u0275\u0275pipeBind2(6,5,"","landlot"))("ngModel",i.acreageTiers[t])("placeholder",e.\u0275\u0275pipeBind2(7,8,"2","landlot"))}}function Ix(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-integrated-booking-form",89),e.\u0275\u0275listener("updateBookingBlock",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).updateBookingConfig(o)})("updateIntegratedBooking",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).updateIntegratedBooking(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("nonIntegratedBookingBlocks",t.nonIntegratedBookingBlocks)("integratedBooking",t.integratedBooking)}}function Dx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",94),e.\u0275\u0275text(2,"Twilight offset"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",95),e.\u0275\u0275text(4," Set how many minutes before and after sunset to define twilight service hours "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",96)(6,"ui-form-group",97)(7,"ui-number-input",98),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).sunsetOffsetMinutes.before=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"ui-form-group",97)(9,"ui-number-input",99),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).sunsetOffsetMinutes.after=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(10,"button",40),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveSunsetOffsetMinutes()}),e.\u0275\u0275text(11," Save "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(7),e.\u0275\u0275property("ngModel",t.sunsetOffsetMinutes.before),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngModel",t.sunsetOffsetMinutes.after)}}function Mx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"div",94),e.\u0275\u0275text(2,"Twilight hours"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"span",8),e.\u0275\u0275text(4,"Set the twilight hours for twilight services"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",46)(6,"div",47)(7,"label",100),e.\u0275\u0275text(8,"Start:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"ui-time-input",49),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).twilightHours.fromObj=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(10,"div",47)(11,"label",100),e.\u0275\u0275text(12,"End:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"ui-time-input",49),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).twilightHours.toObj=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(14,"button",40),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).saveTwilightHours()}),e.\u0275\u0275text(15," Save "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(9),e.\u0275\u0275property("ngModel",t.twilightHours.fromObj),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",t.twilightHours.toObj)}}function Px(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",90)(2,"div",2)(3,"div",7),e.\u0275\u0275text(4,"Automatic Sunset by Location"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",50),e.\u0275\u0275text(6,"Automatically calculates sunset time based on the shoot location"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"mat-slide-toggle",91),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).bookingConfig.calculateSunsetByLocation=o})("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onCalculateSunsetByLocationToggle(o)}),e.\u0275\u0275text(8," Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(9,Dx,12,2,"div",53),e.\u0275\u0275template(10,Mx,16,2,"div",53),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"div",54)(12,"div",7),e.\u0275\u0275text(13,"Don't split appointments"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"div",8),e.\u0275\u0275text(15," Customers can only book Twilight appointments immediately after a daytime appointment ends. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"div",9)(17,"mat-slide-toggle",92),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).bookingConfig.dontSplitEvents=o}),e.\u0275\u0275text(18," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateBookingConfig({dontSplitEvents:o.bookingConfig.dontSplitEvents})}),e.\u0275\u0275text(20," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(21,"div",54)(22,"div",7),e.\u0275\u0275text(23,"Automatically delete calendar events"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"div",8),e.\u0275\u0275text(25," Automatically delete calendar events when an order is postponed, cancelled or archived. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(26,"div",9)(27,"mat-slide-toggle",93),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.automaticallyDeleteEvents=o}),e.\u0275\u0275text(28," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(29,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({automaticallyDeleteEvents:!!o.managementConfig.automaticallyDeleteEvents})}),e.\u0275\u0275text(30," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("disabled",t.toggleCalculateSunsetByLocationInProgress)("ngModel",t.bookingConfig.calculateSunsetByLocation),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.bookingConfig.calculateSunsetByLocation),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!t.bookingConfig.calculateSunsetByLocation),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.bookingConfig.dontSplitEvents),e.\u0275\u0275advance(10),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.managementConfig.automaticallyDeleteEvents)}}function Fx(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-dropdown-select-option",114),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275property("value",t.value),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.label," ")}}
1function Ax(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-blank-dropdown"),e.\u0275\u0275template(1,Fx,2,2,"ui-dropdown-select-option",113),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t)("ngForTrackBy",i.trackByProcessor)}}function Bx(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Ax,2,2,"ui-blank-dropdown",112),e.\u0275\u0275elementContainerEnd())}function jx(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-dropdown-select-option",114),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275property("value",t.value),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.label," ")}}function Rx(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-blank-dropdown"),e.\u0275\u0275template(1,jx,2,2,"ui-dropdown-select-option",113),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",t)("ngForTrackBy",i.trackByProcessor)}}function Vx(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Rx,2,2,"ui-blank-dropdown",112),e.\u0275\u0275elementContainerEnd())}function Lx(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"ui-form-field",104)(1,"label",118),e.\u0275\u0275text(2,"Select a payment processor"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-form-input-group",106),e.\u0275\u0275element(4,"input",119)(5,"i",108),e.\u0275\u0275template(6,Vx,2,0,"ng-container",109),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(3),e.\u0275\u0275property("formControl",t.payAtCloseProcessorControl),e.\u0275\u0275advance(3),e.\u0275\u0275property("uiToFormSelectOption",t.payAtCloseProcessorOptions)}}function Nx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",115)(1,"div",102),e.\u0275\u0275text(2,"Enable pay at close"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",103),e.\u0275\u0275text(4,"Let agents defer payment to closing while you get paid on schedule."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",9)(6,"mat-slide-toggle",116),e.\u0275\u0275listener("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).onPayAtCloseToggled(o)}),e.\u0275\u0275text(7," Enable "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(8,Lx,7,2,"ui-form-field",117),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("checked",t.payAtCloseEnabled)("disabled",t.payAtCloseLocked||t.saving),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.payAtCloseEnabled)}}function $x(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",120),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t," ")}}function zx(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",101)(2,"div",102),e.\u0275\u0275text(3,"Select payment processor"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",103),e.\u0275\u0275text(5,"Clients pay through your connected payment processor."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"ui-form-field",104)(7,"label",105),e.\u0275\u0275text(8,"Select a payment processor"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"ui-form-input-group",106),e.\u0275\u0275element(10,"input",107)(11,"i",108),e.\u0275\u0275template(12,Bx,2,0,"ng-container",109),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(13,Nx,9,4,"div",110),e.\u0275\u0275template(14,$x,2,1,"div",111),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&r){const t=a.ngIf,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(9),e.\u0275\u0275property("formControl",i.cardProcessorControl),e.\u0275\u0275advance(3),e.\u0275\u0275property("uiToFormSelectOption",t.processorOptions),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.payAtCloseAvailable),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.errorMessage)}}function Ux(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",128,129),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).addStripeKeys()}),e.\u0275\u0275element(2,"i",34),e.\u0275\u0275text(3," Add Stripe Keys "),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275reference(1);e.\u0275\u0275advance(2),e.\u0275\u0275property("size",t.iconSize)}}function Hx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",137)(1,"ui-form-group",138),e.\u0275\u0275element(2,"ui-input",139),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-form-group",138),e.\u0275\u0275element(4,"ui-input",140),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"button",40),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).editStripeKeys()}),e.\u0275\u0275text(6," Edit "),e.\u0275\u0275elementEnd()()}2&r&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("readonly",!0)("readOnlyPlaceholder","****************************"),e.\u0275\u0275advance(2),e.\u0275\u0275property("readonly",!0)("readOnlyPlaceholder","****************************"))}function Wx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"form",141)(1,"ui-form-group"),e.\u0275\u0275element(2,"ui-input",142),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"ui-form-group"),e.\u0275\u0275element(4,"ui-input",143),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"button",144),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).saveStripeKeys()}),e.\u0275\u0275text(6," Save "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275property("formGroup",t.stripeKeysForm),e.\u0275\u0275advance(2),e.\u0275\u0275property("formControlName","publishableKey"),e.\u0275\u0275advance(2),e.\u0275\u0275property("formControlName","secretKey"),e.\u0275\u0275advance(1),e.\u0275\u0275property("disabled",t.stripeKeysForm.invali
1d)}}function Gx(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div")(1,"div",130),e.\u0275\u0275element(2,"i",131),e.\u0275\u0275elementStart(3,"span"),e.\u0275\u0275text(4,"You can access the step-by-step tutorial right here:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"a",132)(6,"strong"),e.\u0275\u0275text(7,"Watch Tutorial"),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(8,"ui-loading-wrapper",133),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275elementStart(10,"div",134),e.\u0275\u0275template(11,Hx,7,4,"div",135),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275template(13,Wx,7,4,"ng-template",null,136,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()()()),2&r){const t=e.\u0275\u0275reference(14),i=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(8),e.\u0275\u0275property("loading",e.\u0275\u0275pipeBind1(9,3,i.savingStripeKeys$)),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(12,5,i.stripeSecretInputsShown$))("ngIfElse",t)}}function Kx(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",145),e.\u0275\u0275element(1,"mat-spinner"),e.\u0275\u0275elementEnd())}function Zx(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",148),e.\u0275\u0275text(1," Authorization error. Please reconnect. "),e.\u0275\u0275elementEnd())}function Qx(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",149),e.\u0275\u0275text(1,"Connected!"),e.\u0275\u0275elementEnd())}function Jx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"button",128),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).authenticateWithSquare()}),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Zx,2,0,"div",146),e.\u0275\u0275template(4,Qx,2,0,"div",147),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ","valid"!==t.paymentTokenStatus?"Connect":"Reconnect"," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","invalid"===t.paymentTokenStatus),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","valid"===t.paymentTokenStatus)}}function Yx(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",12)(1,"div",9)(2,"mat-slide-toggle",150),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).bookingConfig.integratedPayment=o}),e.\u0275\u0275text(3," Accept deposit on booking "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"button",11),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).savePaymentOptions()}),e.\u0275\u0275text(5," Save "),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(2),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.bookingConfig.integratedPayment)}}function Xx(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-number-input",153)(2,"ui-number-input",154)(3,"ui-number-input",155),e.\u0275\u0275elementContainerEnd())}function qx(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"ui-number-input",156),e.\u0275\u0275pipe(2,"uiCurrency"),e.\u0275\u0275element(3,"ui-number-input",157),e.\u0275\u0275pipe(4,"uiCurrency"),e.\u0275\u0275element(5,"ui-number-input",158),e.\u0275\u0275pipe(6,"uiCurrency"),e.\u0275\u0275elementContainerEnd()),2&r&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(2,3,"")),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(4,5,"")),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(6,7,"")))}function e0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"form",81)(1,"ui-form-group",151),e.\u0275\u0275element(2,"ui-select",152),e.\u0275\u0275template(3,Xx,4,0,"ng-container",53),e.\u0275\u0275template(4,qx,7,9,"ng-container",53),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(3);let i,o;e.\u0275\u0275property("formGroup",t.suggestedTipsForm),e.\u0275\u0275advance(2),e.\u0275\u0275property("items",t.tipSelectionItems),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","byPercentage"===(null==(i=t.suggestedTipsForm.get("type"))?null:i.value)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","byPercentage"!==(null==(o=t.suggestedTipsForm.get("type"))?null:o.value))}}function t0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",121)(2,"div",58),e.\u0275\u0275text(3,"Connect Stripe"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",95),e.\u0275\u0275text(5,"Stripe authentication"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(6,Ux,4,1,"button",122),e.\u0275\u0275pipe(7,"async"),e.\u0275\u0275template(8,Gx,15,7,"div",53),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",123)(11,"div",7),e.\u0275\u0275text(12,"Connect Square Seller account"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"div",8),e.\u0275\u0275text(14,"Require customers to pay a deposit when they book an order."),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(15,Kx,2,0,"div",124),e.\u0275\u0275template(16,Jx,5,3,"ng-container",53),e.\u0275\u0275template(17,Yx,6,2,"div",125),e.\u0275\u0275pipe(18,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(19,"div",60)(20,"div",58),e.\u0275\u0275text(2
11,"Allow tips when order balances are being paid"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"div",8),e.\u0275\u0275text(23," When a balance is being paid, allow the client to add tip to the order "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"mat-slide-toggle",126),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).bookingConfig.enableTipCollection=o}),e.\u0275\u0275text(25," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(26,e0,5,4,"form",127),e.\u0275\u0275elementStart(27,"button",63),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).saveTipOptions()}),e.\u0275\u0275text(28," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",!1===e.\u0275\u0275pipeBind1(7,9,t.stripeSectionShown$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(9,11,t.stripeSectionShown$)),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngIf",void 0===t.paymentTokenStatus),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",void 0!==t.paymentTokenStatus),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","valid"===t.paymentTokenStatus||e.\u0275\u0275pipeBind1(18,13,t.enableStripe$)),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.bookingConfig.enableTipCollection),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.bookingConfig.enableTipCollection),e.\u0275\u0275advance(1),e.\u0275\u0275property("disabled",t.bookingConfig.enableTipCollection&&t.suggestedTipsForm.invalid)}}function n0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"form",159)(1,"ui-form-group",82),e.\u0275\u0275element(2,"ui-number-input",160),e.\u0275\u0275pipe(3,"uiCurrency"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",161)(5,"div",58),e.\u0275\u0275text(6,"Referral program disclaimer"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",95),e.\u0275\u0275text(8," Your notes will be available to the client within the referral code section "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"ui-form-group",82),e.\u0275\u0275element(10,"ui-input",162),e.\u0275\u0275elementEnd()()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("formGroup",t.referralSettingsForm),e.\u0275\u0275advance(2),e.\u0275\u0275property("prefix",e.\u0275\u0275pipeBind1(3,2,""))}}function r0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",66),e.\u0275\u0275element(1,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()),2&r&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("templateType","customerCalendarEvent"))}function o0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",64)(2,"div")(3,"div",7),e.\u0275\u0275text(4,"Send Reminder Email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",8),e.\u0275\u0275text(6,"Email sent a day before the scheduled booking."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div",9)(8,"mat-slide-toggle",163),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.enableReminderEmail=o}),e.\u0275\u0275text(9," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({enableReminderEmail:o.managementConfig.enableReminderEmail})}),e.\u0275\u0275text(11," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(12,"div",66),e.\u0275\u0275element(13,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(14,"div",164)(15,"div")(16,"div",7),e.\u0275\u0275text(17,'Automated Reminders for Unpaid "Pay to Unlock" Orders'),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(18,"div",8),e.\u0275\u0275text(19,' Automatically send reminder emails to clients with unpaid "Pay to Unlock" orders once the project is complete '),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(20,"div",9)(21,"mat-slide-toggle",165),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.enablePayToUnlockOrderReminders=o}),e.\u0275\u0275text(22," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(23,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({enablePayToUnlockOrderReminders:!!o.managementConfig.enablePayToUnlockOrderReminders})}),e.\u0275\u0275text(24," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(25,"div",66),e.\u0275\u0275element(26,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(27,"div",64)(28,"div")(29,"div",7),e.\u0275\u0275text(30,"Send Project Complete Email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(31,"div",8),e.\u0275\u0275text(32,"Send an email when a project is moved to completed"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(33,"div",9)(34,"mat-slide-toggle",165),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.enableProjectCompleteEmail=o}),e.\u0275\u0275text(35," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(36,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({enableProjectCompleteEmail:o.managementConfig.enableProjectCompleteEmail})}),e.\u0275\u0275text(37," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(38,"div",66),e.\u0275\u0275element(39,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(40,"div",64)(41,"div")(42,"div",7),e.\u0275\u0275text(43,"Send Follow-Up Email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(44,"div",8),e.\u0275\u0275text(45,"Sent a follow-up email after the Project Complete email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(46,"div",9)(47,"mat-slide-toggle",165),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.enableFollowUpEmail=o}),e.\u0275\u0275text(48," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(49,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({enableFollowUpEmail:o.managementConfig.enableFollowUpEmail})}),e.\u0275\u0275text(50," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(51,"div",66),e.\u0275\u0275element(52,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(53,"div",64)(54,"div")(55,"div",7),e.\u0275\u0275text(56),e.\u0275\u0275pipe(57,"translate"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(58,"div",8),e.\u0275\u0275text(59),e.\u0275\u0275pipe(60,"translate"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(61,"div",9)(62,"mat-slide-toggle",166),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).recurringInvoiceEmailEnabled=o}),e.\u0275\u0275text(63," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(64,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateAppConfig({recurringInvoiceEmailEnabled:o.recurringInvoiceEmailEnabled})}),e.\u0275\u0275text(65," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(66,"div",66),e.\u0275\u0275element(67,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.managementConfig.enableReminderEmail),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","bookingReminder"),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.managementConfig.enablePayToUnlockOrderReminders),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","payToUnlockReminder"),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.managementConfig.enableProjectCompleteEmail),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","projectComplete"),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.managementConfig.enableFollowUpEmail),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","followUp"),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(57,17,"RECURRING_INVOICE_EMAIL")),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(60,19,"RECURRING_INVOICE_EMAIL_DESCRIPTION")),e.\u0275\u0275advance(3),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.recurringInvoiceEmailEnabled),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","recurringInvoiceEmail")}}
1function a0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",3)(1,"div",4),e.\u0275\u0275text(2," Text Notifications "),e.\u0275\u0275elementStart(3,"div",5),e.\u0275\u0275text(4,"Configure what text notifications users receive"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",6)(6,"tn-text-notifications-settings",167),e.\u0275\u0275listener("toggleConfirmationText",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onToggleConfirmationText(o)})("toggleReminderText",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onToggleReminderText(o)})("toggleDailyPhotographerReminders",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onToggleDailyPhotographerReminders(o)})("toggleProjectCompleteText",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).onToggleProjectCompleteText(o)}),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(6),e.\u0275\u0275property("bookingConfig",t.bookingConfig)("managementConfig",t.managementConfig)}}function s0(r,a){1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"mat-spinner",168),e.\u0275\u0275elementContainerEnd())}function l0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",173),e.\u0275\u0275listener("click",function(){const l=e.\u0275\u0275restoreView(t).ngIf;return e.\u0275\u0275nextContext(4).authorizeDropbox(l)}),e.\u0275\u0275element(1,"img",174),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275property("disabled",t.dropboxAuthInProgress),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ","notConnected"===t.dropboxConnectionStatus?"Connect":"Reconnect"," ")}}function c0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",175),e.\u0275\u0275text(1,"Connected!"),e.\u0275\u0275elementEnd())}function d0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",176),e.\u0275\u0275text(1," Authorization error. Please reconnect. "),e.\u0275\u0275elementEnd())}
1function p0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",192)(1,"div",178),e.\u0275\u0275text(2," If you take extra photos that you want to store in Dropbox but don't want editors to edit them, you can enable this setting to have an extra folder to store those files "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"mat-slide-toggle",193),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).dropboxFoldersSettings.dropboxDoNotEditFolderEnabled=o})("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).onDoNotEditFolderToggle(o)}),e.\u0275\u0275text(4,' Create a "Do Not Edit" folder with every order '),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(3),e.\u0275\u0275property("disableRipple",!0)("disabled",t.toggleDoNotEditFolderInProgress)("ngModel",t.dropboxFoldersSettings.dropboxDoNotEditFolderEnabled)}}function m0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",182)(1,"mat-form-field",183)(2,"mat-label"),e.\u0275\u0275text(3,"Dropbox RAW folder path"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"input",194,195),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).dropboxFoldersSettings.dropboxRawFolderPath=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275reference(5),l=e.\u0275\u0275nextContext(5);return o.valid&&l.updateDropboxRawFolderPath()}),e.\u0275\u0275text(7," Save "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(4),e.\u0275\u0275property("pattern",t.folderPathPattern)("ngModel",t.dropboxFoldersSettings.dropboxRawFolderPath)}}function u0(r,a){if(1&r&&e.\u0275\u0275element(0,"ui-option-content",204),2&r){const t=a.$implicit;e.\u0275\u0275property("label",t.name)("description",t.description)}}function g0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",205),e.\u0275\u0275element(1,"i",206),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd()),2&r){const t=e.\u0275\u0275nextContext(6);e.\u0275\u0275advance(1),e.\u0275\u0275property("size",16),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.selectedOrganizeByOption.warning," ")}}function _0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",192)(1,"div",7),e.\u0275\u0275text(2,"How your RAW folders are organized"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",178),e.\u0275\u0275text(4," RAW folders are always created for each order. Choose how they should be organized. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"ui-form-group",196)(6,"ui-select",197),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).onOrganizeByChange(o)}),e.\u0275\u0275template(7,u0,1,2,"ng-template",null,198,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"ul",199)(10,"li")(11,"span",200)(12,"span"),e.\u0275\u0275text(13),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"ui-image-tooltip",201),e.\u0275\u0275element(15,"i",202),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(16,"li"),e.\u0275\u0275text(17," Changing this setting affects "),e.\u0275\u0275elementStart(18,"b"),e.\u0275\u0275text(19,"only new orders"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(20," \u2014 existing folders stay as they are. "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(21,g0,3,2,"div",203),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(6),e.\u0275\u0275property("items",t.organizeByOptions)("value",t.rawFolderOrganization),e.\u0275\u0275advance(7),e.\u0275\u0275textInterpolate(t.selectedOrganizeByOption.helperText),e.\u0275\u0275advance(1),e.\u0275\u0275property("src",t.selectedOrganizeByOption.illustration),e.\u0275\u0275advance(1),e.\u0275\u0275property("uiIconWeight",600)("size",16),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngIf",t.selectedOrganizeByOption.warning)}}
1function h0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",209)(1,"ui-form-group",210)(2,"ui-select",211),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(6).onRetentionMonthsChange(o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(3,"span",212),e.\u0275\u0275text(4,"months"),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(5,"i",213),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(6);e.\u0275\u0275advance(2),e.\u0275\u0275property("value",t.dropboxFoldersSettings.dropboxRawFoldersRetentionMonths)("items",t.retentionMonthsOptions)}}function f0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",192)(1,"div",7),e.\u0275\u0275text(2," Automatically clean up RAW files "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",178),e.\u0275\u0275text(4," Keep your Dropbox tidy \u2014 unedited RAW photos are removed automatically after a set time "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",207),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).dropboxFoldersSettings.dropboxRawFoldersAutoDeleteEnabled=o})("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).onAutoDeleteToggle(o)}),e.\u0275\u0275text(6," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,h0,6,2,"div",208),e.\u0275\u0275elementEnd()}if(2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.dropboxFoldersSettings.dropboxRawFoldersAutoDeleteEnabled),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.dropboxFoldersSettings.dropboxRawFoldersAutoDeleteEnabled)}}function v0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",192)(1,"div",7),e.\u0275\u0275text(2,"Auto-sync delivery files from Dropbox"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",178),e.\u0275\u0275text(4," Automatically sync new or updated files from the Dropbox delivery folder to the delivery page. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"mat-slide-toggle",214),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).dropboxFoldersSettings.dropboxDeliveryFolderAutoSyncEnabled=o})("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(5).onAutoSyncDeliveryToggle(o)}),e.\u0275\u0275text(6," Enable "),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(5),e.\u0275\u0275property("disableRipple",!0)("ngModel",t.dropboxFoldersSettings.dropboxDeliveryFolderAutoSyncEnabled)}}function C0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",177)(2,"div",7),e.\u0275\u0275text(3,"Dropbox RAW folders"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",178),e.\u0275\u0275text(5,"Create RAW folders for editor"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"mat-slide-toggle",179),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).dropboxFoldersSettings.dropboxRawFoldersEnabled=o})("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).onRawFoldersToggle(o)}),e.\u0275\u0275text(7," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(8,p0,5,3,"div",180),e.\u0275\u0275template(9,m0,8,2,"div",181),e.\u0275\u0275template(10,_0,22,7,"div",180),e.\u0275\u0275template(11,f0,8,3,"div",180),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"div",177)(13,"div",7),e.\u0275\u0275text(14,"Dropbox delivery folder"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"div",8),e.\u0275\u0275text(16," Delivery folder is used to create order's delivery folders "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(17,"div",182)(18,"mat-form-field",183)(19,"mat-label"),e.\u0275\u0275text(20,"Dropbox delivery folder path"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(21,"input",184,185),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).dropboxFoldersSettings.dropboxDeliveryFolderPath=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(23,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275reference(22),l=e.\u0275\u0275nextContext(4);return o.valid&&l.updateDropboxDeliveryFolderPath()}),e.\u0275\u0275text(24," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(25,v0,7,2,"div",180),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(26,"div")(27,"div",7),e.\u0275\u0275text(28,'Hide "Dropbox link"'),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(29,"div",8),e.\u0275\u0275text(30,'Hide the "Dropbox link" from the delivery page'),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(31,"mat-slide-toggle",186),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).dropboxFoldersSettings.dropboxLinkHidden=o})("change",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).onDropboxLinkToggle(o)}),e.\u0275\u0275text(32,' "Dropbox link" hidden '),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(33,"div",12)(34,"div",7),e.\u0275\u0275text(35),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(36,"div",8),e.\u0275\u0275text(37),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(38,"div",187)(39,"form",188),e.\u0275\u0275element(40,"ui-number-input",189)(41,"ui-number-input",190),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(42,"button",191),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(4).saveMlsResolution()}),e.\u0275\u0275text(43," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()}if(2&r){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("disabled",t.toggleDropboxRawFoldersInProgress)("ngModel",t.dropboxFoldersSettings.dropboxRawFoldersEnabled),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.dropboxFoldersSettings.dropboxRawFoldersEnabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.dropboxFoldersSettings.dropboxRawFoldersEnabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.dropboxFoldersSettings.dropboxRawFoldersEnabled),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.appConfigService.allowAutoDeleteRawFiles&&t.dropboxFoldersSettings.dropboxRawFoldersEnabled),e.\u0275\u0275advance(10),e.\u0275\u0275property("pattern",t.folderPathPattern)("ngModel",t.dropboxFoldersSettings.dropboxDeliveryFolderPath),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",t.appConfigService.allowAutoDeliveryFolderSync),e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("disabled",t.toggleDropboxLinkInProgress)("ngModel",t.dropboxFoldersSettings.dropboxLinkHidden),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1("",t.appConfigService.ph
1otoFormat," images resolution"),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" Resolution that ",t.appConfigService.photoFormat," images resizing happens at "),e.\u0275\u0275advance(2),e.\u0275\u0275property("formGroup",t.mlsResolutionForm),e.\u0275\u0275advance(3),e.\u0275\u0275property("disabled",!t.mlsResolutionForm.valid)}}function b0(r,a){if(1&r&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,l0,3,2,"button",169),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementStart(3,"div",170),e.\u0275\u0275template(4,c0,2,0,"div",171),e.\u0275\u0275template(5,d0,2,0,"div",172),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(6,C0,44,17,"ng-container",53),e.\u0275\u0275elementContainerEnd()),2&r){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(2,5,t.dropboxAuthUrl$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngSwitch",t.dropboxConnectionStatus),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","connected"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","invalid"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf","connected"===t.dropboxConnectionStatus)}}function y0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"div",3)(1,"div",4),e.\u0275\u0275text(2," Dropbox "),e.\u0275\u0275elementStart(3,"div",5),e.\u0275\u0275text(4,"Use dropbox as deliverables media provider"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",6)(6,"div",87)(7,"div",7),e.\u0275\u0275text(8,"Connect Dropbox account"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"div",8),e.\u0275\u0275text(10,"Allow fetching deliverables media from dropbox"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(11,s0,2,0,"ng-container",53),e.\u0275\u0275template(12,b0,7,7,"ng-container",53),e.\u0275\u0275elementEnd()()),2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(11),e.\u0275\u0275property("ngIf",!t.dropboxConnectionStatus),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.dropboxConnectionStatus)}}function x0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",3)(1,"div",4),e.\u0275\u0275text(2," Webhooks "),e.\u0275\u0275elementStart(3,"div",5),e.\u0275\u0275text(4,"Send updates to other apps and integrations"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(5,"div",6)(6,"div",215)(7,"div")(8,"div",7),e.\u0275\u0275text(9,"Booking Created webhook"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",8),e.\u0275\u0275text(11," Webhook fires when a new order is created with the minimum required information. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"mat-form-field",183)(13,"mat-label"),e.\u0275\u0275text(14,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"input",216),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookBookingCreated=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(16,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({webhookBookingCreated:o.managementConfig.webhookBookingCreated})}),e.\u0275\u0275text(17," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(18,"div",215)(19,"div")(20,"div",7),e.\u0275\u0275text(21,"Booking Created and Changed Webhook"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"div",8),e.\u0275\u0275text(23," Webhook fires when a new order is created through the booking process and when services, order status, invoice amount, payment status is updated. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"mat-form-field",183)(25,"mat-label"),e.\u0275\u0275text(26,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(27,"input",217),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookBookingCreatedOrChanged=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(28,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);
1return o.updateManagementConfig({webhookBookingCreatedOrChanged:o.managementConfig.webhookBookingCreatedOrChanged||""})}),e.\u0275\u0275text(29," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(30,"div",215)(31,"div")(32,"div",7),e.\u0275\u0275text(33,"Booking completed Webhook"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(34,"div",8),e.\u0275\u0275text(35," Webhook fires when an order is moved to complete. Note: If an order is moved to complete multiple times, the webhook will fire multiple times! "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(36,"mat-form-field",183)(37,"mat-label"),e.\u0275\u0275text(38,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(39,"input",217),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookBookingCompleted=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(40,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({webhookBookingCompleted:o.managementConfig.webhookBookingCompleted})}),e.\u0275\u0275text(41," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(42,"div",215)(43,"div")(44,"div",7),e.\u0275\u0275text(45,"Booking Created by New Customer"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(46,"div",8),e.\u0275\u0275text(47," Webhook fires when a new order is created through the booking process, by new customers. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(48,"mat-form-field",183)(49,"mat-label"),e.\u0275\u0275text(50,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(51,"input",218),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookBookingCreatedByNewCustomer=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(52,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({webhookBookingCreatedByNewCustomer:o.managementConfig.webhookBookingCreatedByNewCustomer})}),e.\u0275\u0275text(53," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(54,"div",215)(55,"div",219)(56,"div",7),e.\u0275\u0275text(57,"Services moved webhook"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(58,"div",8),e.\u0275\u0275text(59," Webhook fires when services are moved in the photographer workflow. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(60,"mat-form-field",183)(61,"mat-label"),e.\u0275\u0275text(62,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(63,"input",220),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookServicesMoved=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(64,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({webhookServicesMoved:o.managementConfig.webhookServicesMoved})}),e.\u0275\u0275text(65," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(66,"div",221)(67,"h3",222),e.\u0275\u0275text(68,"Dropbox webhooks"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(69,"div")(70,"div",223),e.\u0275\u0275text(71,"Dropbox folders"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(72,"div",8),e.\u0275\u0275text(73,"This webhook fires when dropbox folders for an order are created, changed, or deleted. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(74,"mat-form-field",224)(75,"mat-label"),e.\u0275\u0275text(76,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(77,"input",225),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookDropBox=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(78,"button",40),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({webhookDropBox:o.managementConfig.webhookDropBox||""})}),e.\u0275\u0275text(79," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(80,"div",221)(81,"h3",222),e.\u0275\u0275text(82,"Appointments webhooks"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(83,"div")(84,"div",223),e.\u0275\u0275text(85,"Appointment scheduled webhook"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(86,"div",8),e.\u0275\u0275text(87,"Called when an appointment is initially booked."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(88,"mat-form-field",224)(89,"mat-label"),e.\u0275\u0275text(90,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(91,"input",225),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookAppointmentScheduled=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(92,"div")(93,"div",223),e.\u0275\u0275text(94,"Appointment rescheduled webhook"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(95,"div",8),e.\u0275\u0275text(96,"Called when an appointment is rescheduled to a new time."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(97,"mat-form-field",224)(98,"mat-label"),e.\u0275\u0275text(99,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(100,"input",225),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookAppointmentRescheduled=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(101,"div")(102,"div",223),e.\u0275\u0275text(103,"Appointment canceled webhook"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(104,"div",8),e.\u0275\u0275text(105,"Called when an appointment is canceled"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(106,"mat-form-field",224)(107,"mat-label"),e.\u0275\u0275text(108,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(109,"input",225),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookAppointmentCanceled=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(110,"div")(111,"div",223),e.\u0275\u0275text(112,"Appointment changed webhook"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(113,"div",8),e.\u0275\u0275text(114," Called when an appointment is either scheduled, rescheduled, cancelled, or any other change to the appointment happens. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(115,"mat-form-field",224)(116,"mat-label"),e.\u0275\u0275text(117,"Webhook URL"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(118,"input",225),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).managementConfig.webhookAppointmentChanged=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(119,"button",40),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return o.updateManagementConfig({webhookAppointmentScheduled:o.managementConfig.webhookAppointmentScheduled||"",webhookAppointmentRescheduled:o.managementConfig.webhookAppointmentRescheduled||"",webhookAppointmentCanceled:o.managementConfig.webhookAppointmentCanceled||"",webhookAppointmentChanged:o.managementConfig.webhookAppointmentChanged||""})}),e.\u0275\u0275text(120," Save "),e.\u0275\u0275elementEnd()()()()}if(2&r){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(15),e.\u0275\u0275property("ngModel",t.managementConfig.webhookBo
1okingCreated),e.\u0275\u0275advance(12),e.\u0275\u0275property("ngModel",t.managementConfig.webhookBookingCreatedOrChanged),e.\u0275\u0275advance(12),e.\u0275\u0275property("ngModel",t.managementConfig.webhookBookingCompleted),e.\u0275\u0275advance(12),e.\u0275\u0275property("ngModel",t.managementConfig.webhookBookingCreatedByNewCustomer),e.\u0275\u0275advance(12),e.\u0275\u0275property("ngModel",t.managementConfig.webhookServicesMoved),e.\u0275\u0275advance(14),e.\u0275\u0275property("ngModel",t.managementConfig.webhookDropBox),e.\u0275\u0275advance(14),e.\u0275\u0275property("ngModel",t.managementConfig.webhookAppointmentScheduled),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngModel",t.managementConfig.webhookAppointmentRescheduled),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngModel",t.managementConfig.webhookAppointmentCanceled),e.\u0275\u0275advance(9),e.\u0275\u0275property("ngModel",t.managementConfig.webhookAppointmentChanged)}}function S0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"ui-snippets-list",226),e.\u0275\u0275listener("formSubmitted",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(2).saveSnippets(o)}),e.\u0275\u0275elementEnd()}2&r&&e.\u0275\u0275property("snippets",a.ngIf)("btnSave",!0)("btnLink",!0)}function T0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",1)(1,"h1",2),e.\u0275\u0275text(2,"General Booking Management"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div",3)(4,"div",4),e.\u0275\u0275text(5," Booking "),e.\u0275\u0275elementStart(6,"div",5),e.\u0275\u0275text(7,"Configure options for how users book orders"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"div",6)(9,"div")(10,"div",7),e.\u0275\u0275text(11,"Move booked orders to in progress"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"div",8),e.\u0275\u0275text(13,"Automatically move orders to in progress after booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"div",9)(15,"mat-slide-toggle",10),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingConfig.moveOrderToInProgress=o}),e.\u0275\u0275text(16," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(17,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateBookingConfig({moveOrderToInProgress:o.bookingConfig.moveOrderToInProgress})}),e.\u0275\u0275text(18," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(19,"div",12)(20,"div",7),e.\u0275\u0275text(21,"Hide photographers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(22,"div",8),e.\u0275\u0275text(23,"Hide photographers info on Order Status page"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(24,"div",9)(25,"mat-slide-toggle",13),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().hidePhotographerInfoOnOrderStatusPage=o}),e.\u0275\u0275text(26," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(27,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateAppConfig({hidePhotographerInfoOnOrderStatusPage:!!o.hidePhotographerInfoOnOrderStatusPage})}),e.\u0275\u0275text(28," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(29,"div",12)(30,"div",7),e.\u0275\u0275text(31,"Hide Reporting tab"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(32,"div",8),e.\u0275\u0275text(33,"Hide reporting pages from staff members"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(34,"div",9)(35,"mat-slide-toggle",14),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().hideReportingTab=o}),e.\u0275\u0275text(36," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(37,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateAppConfig({hideReportingTab:o.hideReportingTab})}),e.\u0275\u0275text(38," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(39,"div",12)(40,"div",7),e.\u0275\u0275text(41,"Manager-Only Booking Permission"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(42,"div",8),e.\u0275\u0275text(43,"Allow only Brokerage managers to book an order for other agents"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(44,"div",9)(45,"mat-slide-toggle",15),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookAsByManagers=o}),e.\u0275\u0275text(46," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(47,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateAppConfig({bookAsByManagers:o.bookAsByManagers})}),e.\u0275\u0275text(48," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(49,"div",12)(50,"div",7),e.\u0275\u0275text(51,"Ability to edit text on Booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(52,"div",8),e.\u0275\u0275text(53," Provide an interface for Admins to modify and customize the wording on booking flow pages "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(54,"div",9)(55,"mat-slide-toggle",16),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().isLabelsEditable=o}),e.\u0275\u0275text(56," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(57,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateAppConfig({isLabelsEditable:o.isLabelsEditable})}),e.\u0275\u0275text(58," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(59,"div",12)(60,"div",7),e.\u0275\u0275text(61,"Booking landing page background color"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(62,"div",17)(63,"div",18),e.\u0275\u0275text(64,"Backgroun
1d color"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(65,"div",9)(66,"input",19),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().landingBackgroundColor=o}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(67,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateBookingConfig({landingBackgroundColor:o.landingBackgroundColor})}),e.\u0275\u0275text(68," Save "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(69,"div",12)(70,"div",7),e.\u0275\u0275text(71,"Booking Embed Link"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(72,"div",17)(73,"div",18),e.\u0275\u0275text(74," A version of the booking page that you can embed on your website. Please contact the Tonomo team to activate. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(75,"ui-form-group",20)(76,"ui-form-row")(77,"div",21)(78,"ui-input",22),e.\u0275\u0275element(79,"ui-copy-to-clipboard",23),e.\u0275\u0275pipe(80,"translate"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(81,"div",24),e.\u0275\u0275element(82,"ui-open-in-new-tab",25),e.\u0275\u0275elementEnd()()()()()()()(),e.\u0275\u0275elementStart(83,"div",3)(84,"div",4),e.\u0275\u0275text(85," Automated pricing & scheduling "),e.\u0275\u0275elementStart(86,"div",5),e.\u0275\u0275text(87," Configure tiers used for pricing and scheduling based on square footage or acreage. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(88,"div",6)(89,"div")(90,"div",7),e.\u0275\u0275text(91,"Calculate drive times during booking"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(92,"div",8),e.\u0275\u0275text(93,"Automatically calculate drive times between photoshoots"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(94,"div",9)(95,"mat-slide-toggle",26),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingTravelTimes=o}),e.\u0275\u0275text(96," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(97,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.saveDriveTimeCalculation(o.bookingTravelTimes)}),e.\u0275\u0275text(98," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(99,wx,6,2,"div",27),e.\u0275\u0275template(100,kx,10,2,"div",28),e.\u0275\u0275elementStart(101,"div",29)(102,"div",30)(103,"div",31)(104,"h4"),e.\u0275\u0275text(105,"Sq Ft Tiers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(106,"button",32,33),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().addSqFtTier()}),e.\u0275\u0275element(108,"i",34),e.\u0275\u0275text(109," Add Tier "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(110,"div",35),e.\u0275\u0275template(111,Ex,8,9,"div",36),e.\u0275\u0275elementStart(112,"div",37)(113,"div",38)(114,"mat-form-field")(115,"mat-label"),e.\u0275\u0275text(116),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(117,"input",39),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().largestTier=o}),e.\u0275\u0275pipe(118,"uiArea"),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(119,"button",40),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveTiers()}),e.\u0275\u0275text(120," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(121,"div",30)(122,"div",31)(123,"h4"),e.\u0275\u0275text(124,"Acreage Tiers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(125,"button",32,41),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().addAcreageTier()}),e.\u0275\u0275element(127,"i",34),e.\u0275\u0275text(128," Add Tier "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(129,"div",42),e.\u0275\u0275template(130,Ox,8,11,"div",36),e.\u0275\u0275elementStart(131,"div",37)(132,"div",38)(133,"mat-form-field")(134,"mat-label"),e.\u0275\u0275text(135),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(136,"input",43),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().largestAcreageTier=o}),e.\u0275\u0275pipe(137,"uiArea"),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(138,"button",40),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveAcreageTiers()}),e.\u0275\u0275text(139," Save "),e.\u0275\u0275elementEnd()()()()()(),e.\u0275\u0275elementStart(140,"div",44)(141,"div",4),e.\u0275\u0275text(142," Scheduling "),e.\u0275\u0275elementStart(143,"div",5),e.\u0275\u0275text(144,"Configure options for how users book a shoot."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(145,"div",6),e.\u0275\u0275template(146,Ix,1,2,"tn-integrated-booking-form",45),e.\u0275\u0275elementStart(147,"div",7),e.\u0275\u0275text(148,"Daylight hours"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(149,"div",2)(150,"span",8),e.\u0275\u0275text(151," Set the working hours that your photographer is available "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(152,"div",46)(153,"div",47)(1
154,"label",48),e.\u0275\u0275text(155,"Start of day:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(156,"ui-time-input",49),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().workingHours.fromObj=o}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(157,"div",47)(158,"label",48),e.\u0275\u0275text(159,"End of day:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(160,"ui-time-input",49),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().workingHours.toObj=o}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(161,"button",40),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveWorkingHours()}),e.\u0275\u0275text(162," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(163,"div",2)(164,"div",7),e.\u0275\u0275text(165,"Recommended time slot range"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(166,"div",50),e.\u0275\u0275text(167," Choose how far ahead you want us to scan for recommended time slots based on the photographer\u2019s existing appointments nearby. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(168,"ui-form-group",51)(169,"ui-select",52),e.\u0275\u0275listener("selectionChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onAvailabilityDaysCountChange(o)}),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(170,Px,31,9,"ng-container",53),e.\u0275\u0275elementStart(171,"div",54)(172,"div",7),e.\u0275\u0275text(173,"Automatically update event duration"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(174,"div",8),e.\u0275\u0275text(175," The event duration will adjust automatically when services or square footage change in an order. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(176,"div",9)(177,"mat-slide-toggle",55),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().managementConfig.automaticallyUpdateEvents=o}),e.\u0275\u0275text(178," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(179,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateManagementConfig({automaticallyUpdateEvents:!!o.managementConfig.automaticallyUpdateEvents})}),e.\u0275\u0275text(180," Save "),e.\u0275\u0275elementEnd()()()()(),e.\u0275\u0275elementStart(181,"div",56)(182,"div",4),e.\u0275\u0275text(183," Payments "),e.\u0275\u0275elementStart(184,"div",5),e.\u0275\u0275text(185,"Accept a deposit from customers when they book an order."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(186,"div",6),e.\u0275\u0275template(187,zx,15,4,"ng-container",53),e.\u0275\u0275pipe(188,"async"),e.\u0275\u0275elementStart(189,"div",57)(190,"div",58),e.\u0275\u0275text(191,"Bypass online payment"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(192,"div",8),e.\u0275\u0275text(193,"Handle payments externally (e.g. invoicing through accounting software)"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(194,"div",9)(195,"mat-slide-toggle",59),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingConfig.bypassOnlinePayment=o}),e.\u0275\u0275text(196," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(197,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateBookingConfig({bypassOnlinePayment:!!o.bookingConfig.bypassOnlinePayment})}),e.\u0275\u0275text(198," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(199,t0,29,15,"ng-container",53),e.\u0275\u0275elementStart(200,"div",60)(201,"div",58),e.\u0275\u0275text(202,"Referral program"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(203,"div",8),e.\u0275\u0275text(204," Two-sided referral. A new client receive a discount, when using refferal code and existing clients will receive credits, after he's purchased an order. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(205,"mat-slide-toggle",61),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingConfig.enableReferralProgram=o}),e.\u0275\u0275text(206," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(207,n0,11,4,"form",62),e.\u0275\u0275elementStart(208,"button",63),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveReferralProgramSettings()}),e.\u0275\u0275text(209," Save "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementStart(210,"div",3)(211,"div",4),e.\u0275\u0275text(2
112," Emails "),e.\u0275\u0275elementStart(213,"div",5),e.\u0275\u0275text(214,"Configure what emails users receive"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(215,"div",6)(216,"div",64)(217,"div")(218,"div",7),e.\u0275\u0275text(219,"New Agent Welcome Email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(220,"div",8),e.\u0275\u0275text(221,"Send an welcome email to real estate agents when they book their very first order"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(222,"div",9)(223,"mat-slide-toggle",65),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().managementConfig.enableNewAgentWelcomeEmail=o}),e.\u0275\u0275text(224," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(225,"button",11),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updateNewAgentWelcomeEmailSetting()}),e.\u0275\u0275text(226," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(227,"div",66),e.\u0275\u0275element(228,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(229,"div",64)(230,"div")(231,"div",7),e.\u0275\u0275text(232,"Send confirmation Email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(233,"div",8),e.\u0275\u0275text(234,"When customers submit a booking, send a confirmation email."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(235,"div",9)(236,"mat-slide-toggle",68),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),!(e.\u0275\u0275nextContext().bookingConfig.disableConfirmationEmail=o)})("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().bookingConfig.disableConfirmationEmail=!o}),e.\u0275\u0275text(237," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(238,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateBookingConfig({disableConfirmationEmail:o.bookingConfig.disableConfirmationEmail})}),e.\u0275\u0275text(239," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(240,"div",66),e.\u0275\u0275element(241,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(242,"div",64)(243,"div")(244,"div",7),e.\u0275\u0275text(245,"Send appointment rescheduled email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(246,"div",8),e.\u0275\u0275text(247,"Send customers an email with the new details when their appointment is rescheduled."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(248,"div",9)(249,"mat-slide-toggle",69),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().managementConfig.enableAppointmentRescheduledEmail=o}),e.\u0275\u0275text(250," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(251,"button",11),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updateAppointmentRescheduledEmailSetting()}),e.\u0275\u0275text(252," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(253,"div",66),e.\u0275\u0275element(254,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(255,"div",64)(256,"div")(257,"div",7),e.\u0275\u0275text(258,"Send appointment canceled email"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(259,"div",8),e.\u0275\u0275text(260,"Send customers a confirmation email when their appointment is canceled."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(261,"div",9)(262,"mat-slide-toggle",70),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().managementConfig.enableAppointmentCanceledEmail=o}),e.\u0275\u0275text(263," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(264,"button",11),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().updateAppointmentCanceledEmailSetting()}),e.\u0275\u0275text(265," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(266,"div",66),e.\u0275\u0275element(267,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(268,"div",71)(269,"div")(270,"div",7),e.\u0275\u0275text(271,"Calendar Event"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(272,"div",8),e.\u0275\u0275text(273,"Template for calendar event invites."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(274,"div",66),e.\u0275\u0275element(275,"tn-edit-template-link",67),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(276,"div",71)(277,"div")(278,"div",7),e.\u0275\u0275text(279,"Separate Calendar Event for Customer"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(280,"div",8),e.\u0275\u0275text(281," Enable a different calendar event invite for customers, these events will be placed on a customer events calendar on your primary email account. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(282,"div",9)(283,"mat-slide-toggle",72),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().managementConfig.enableSeparateCustomerEvent=o}),e.\u0275\u0275text(284," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(285,"button",11),e.\u0275\u0275listener("click",function(){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().saveSeparateCustomerEventState()}),e.\u0275\u0275text(286," Save "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(287,r0,2,1,"div",73),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(288,"div",71)(289,"div")(290,"div",7),e.\u0275\u0275text(291,"Invite listing agents to calendar event"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(292,"div",8),e.\u0275\u0275text(293,"Should listing agents be invited to booking calendar event?"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(294,"div",9)(295,"mat-slide-toggle",74),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().managementConfig.inviteListingAgentsToEvent=o}),e.\u0275\u0275text(296," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(297,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateManagementConfig({inviteListingAgentsToEvent:o.managementConfig.inviteListingAgentsToEvent})}),e.\u0275\u0275text(298," Save "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275template(299,o0,68,21,"ng-container",53),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(300,a0,7,2,"div",75),e.\u0275\u0275elementStart(301,"div",3)(302,"div",4),e.\u0275\u0275text(303," Visibility and Access Permissions "),e.\u0275\u0275elementStart(304,"div",5),e.\u0275\u0275text(305," Configure options for c
1ontractors, staff, and customers to control visibility of pricing, sales, and payment-related information "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(306,"div",6)(307,"div",7),e.\u0275\u0275text(308,"Limit contractors access"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(309,"div",8),e.\u0275\u0275text(310,"Don't show pricing and sales information to contractors"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(311,"div",9)(312,"mat-slide-toggle",76),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().limitedContractorsAccess=o}),e.\u0275\u0275text(313," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(314,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateAppConfig({limitedContractorsAccess:o.limitedContractorsAccess})}),e.\u0275\u0275text(315," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(316,"div",77),e.\u0275\u0275text(317,"Limit staff access"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(318,"div",8),e.\u0275\u0275text(319,"Don't show pricing and sales information to staff"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(320,"div",9)(321,"mat-slide-toggle",76),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().limitedStaffAccess=o}),e.\u0275\u0275text(322," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(323,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateAppConfig({limitedStaffAccess:o.limitedStaffAccess})}),e.\u0275\u0275text(324," Save "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(325,"div",77),e.\u0275\u0275text(326,"Limit customer access"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(327,"div",8),e.\u0275\u0275text(328,"Don't show payment information to customers"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(329,"div",9)(330,"mat-slide-toggle",78),e.\u0275\u0275listener("ngModelChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().limitedCustomerPaymentAccess=o}),e.\u0275\u0275text(331," Enable "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(332,"button",11),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.updateAppConfig({limitedCustomerPaymentAccess:o.limitedCustomerPaymentAccess})}),e.\u0275\u0275text(333," Save "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275template(334,y0,13,2,"div",75),e.\u0275\u0275template(335,x0,121,10,"div",75),e.\u0275\u0275elementStart(336,"div",3)(337,"div",4),e.\u0275\u0275text(338," Widgets (Beta) "),e.\u0275\u0275elementStart(339,"div",5),e.\u0275\u0275text(340," Add JavaScript snippets to display them on the customer-facing pages such as booking, order dashboard, delivery. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(341,"div",6),e.\u0275\u0275template(342,S0,1,3,"ui-snippets-list",79),e.\u0275\u0275pipe(343,"async"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275reference(107),i=e.\u0275\u0275reference(126),o=e.\u0275\u0275nextContext();e.\u0275\u0275advance(15),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.bookingConfig.moveOrderToInProgress),e.\u0275\u0275advance(10),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.hidePhotographerInfoOnOrderStatusPage),e.\u0275\u0275advance(10),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.hideReportingTab),e.\u0275\u0275advance(10),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.bookAsByManagers),e.\u0275\u0275advance(10),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.isLabelsEditable),e.\u0275\u0275advance(11),e.\u0275\u0275property("ngModel",o.landingBackgroundColor),e.\u0275\u0275advance(12),e.\u0275\u0275property("value",o.getBookingAppUrl())("readonly",!0),e.\u0275\u0275advance(1),e.\u0275\u0275property("text",e.\u0275\u0275pipeBind1(80,80,"COPY"))("v2",!0)("value",o.getBookingAppUrl()),e.\u0275\u0275advance(3),e.\u0275\u0275property("url",o.getBookingAppUrl()),e.\u0275\u0275advance(13),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.bookingTravelTimes),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",o.bookingTravelTimes),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.isDynamicPricingAllowed),e.\u0275\u0275advance(8),e.\u0275\u0275property("size",t.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",o.sqFtTiers)("ngForTrackBy",o.trackByIdx),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",!o.largestTier),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1("Tier ",o.sqFtTiers.length+1,""),e.\u0275\u0275advance(1),e.\u0275\u0275property("suffix",e.\u0275\u0275pipeBind1(118,82,""))("ngModel",o.largestTier),e.\u0275\u0275advance(10),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",o.acreageTiers)("ngForTrackBy",o.trackByIdx),e.\u0275\u0275advance(1),e.\u0275\u0275property("hidden",!o.largestAcreageTier),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1("Tier ",o.acreageTiers.length+1,""),e.\u0275\u0275advance(1),e.\u0275\u0275property("suffix",e.\u0275\u0275pipeBind2(137,84,"","landlot"))("ngModel",o.largestAcreageTier),e.\u0275\u0275advance(10),e.\u0275\u0275property("ngIf",null==o.nonIntegratedBookingBlocks?null:o.nonIntegratedBookingBlocks.length),e.\u0275\u0275advance(10),e.\u0275\u0275property("ngModel",o.workingHours.fromObj),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngModel",o.workingHours.toObj),e.\u0275\u0275advance(9),e.\u0275\u0275property("value",o.bookingConfig.availabilityDaysCount||14)("items",o.availabilityDaysCountOptions),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.integratedBooking),e.\u0275\u0275advance(7),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.managementConfig.automaticallyUpdateEvents),e.\u0275\u0275advance(10),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(188,87,o.paymentProcessorVm$)),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.bookingConfig.bypassOnlinePayment),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",!o.bookingConfig.bypassOnlinePayment),e.\u0275\u0275advance(6),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.bookingConfig.enableReferralProgram),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",o.bookingConfig.enableReferralProgram),e.\u0275\u0275advance(1),e.\u0275\u0275property("disabled",o.bookingConfig.enableReferralProgram&&o.referralSettingsForm.invali
1d),e.\u0275\u0275advance(15),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.managementConfig.enableNewAgentWelcomeEmail),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","newAgentWelcome"),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",!o.bookingConfig.disableConfirmationEmail),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","bookingConfirmation"),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.managementConfig.enableAppointmentRescheduledEmail),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","appointmentRescheduled"),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.managementConfig.enableAppointmentCanceledEmail),e.\u0275\u0275advance(5),e.\u0275\u0275property("templateType","appointmentCanceled"),e.\u0275\u0275advance(8),e.\u0275\u0275property("templateType","calendarEvent"),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.managementConfig.enableSeparateCustomerEvent),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",o.managementConfig.enableSeparateCustomerEvent),e.\u0275\u0275advance(8),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.managementConfig.inviteListingAgentsToEvent),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",o.managementConfig),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.appConfigService.allowTextNotifications),e.\u0275\u0275advance(12),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.limitedContractorsAccess),e.\u0275\u0275advance(9),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.limitedStaffAccess),e.\u0275\u0275advance(9),e.\u0275\u0275property("disableRipple",!0)("ngModel",o.limitedCustomerPaymentAccess),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",o.appConfigService.allowDropboxConnections),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.managementConfig),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(343,89,o.snippets$))}}const dm=[{name:"Order",value:"order",description:"Each order gets its own folder at the top level, named by address",helperText:"One set of RAW folders is created per order, with separate folders for each service.",illustration:"/assets/images/dropbox/dropbox-folder-order.svg"},{name:"Photographer",value:"photographer",description:"Orders are nested under each photographer and shoot date",helperText:"Separate RAW folders are created for each assigned photographer.",illustration:"/assets/images/dropbox/dropbox-folder-photographer.svg",warning:"Orders without an assigned photographer won't get a RAW folder"}];let ho=class{constructor(a,t,i,o,l,h,y,F,te,H,re,ve,ie,Ee,Fe,ke,rt,st){this.fb=a,this.afs=t,this.aff=i,this.stripeAuthComponentStore=o,this.paymentProcessorComponentStore=l,this.appConfigService=h,this.stripeConfigService=y,this._snackBar=F,this.snippetsRepositoryService=te,this.dropboxIntegrationRepository=H,this.config=re,this.coreRepository=ve,this.bookingConfigDocumentService=ie,this.route=Ee,this.router=Fe,this.dialog=ke,this.confirmDialogService=rt,this.titusDisconnectDialogService=st,this.destroy=new N.xQ,this.sqFtTiers=[null],this.acreageTiers=[null],this.largestTier=null,this.largestAcreageTier=null,this.blockScheduling={},this.folderPathPattern=/^\/([\w\s-]+\/)*[\w\s-]+$/,this.toggleDropboxRawFoldersInProgress=!1,this.toggleDoNotEditFolderInProgress=!1,this.toggleDropboxLinkInProgress=!1,this.toggleCalculateSunsetByLocationInProgress=!1,this.dropboxAuthInProgress=!1,this.tipSelectionItems=[{name:"By percentage",value:"byPercentage"},{name:"By amount",value:"byAmount"}],this.availabilityDaysCountOptions=[{name:"2 Weeks",value:14},{name:"3 Weeks",value:21},{name:"4 Weeks",value:28}],this.retentionMonthsOptions=Array.from({length:24},(at,kt)=>({name:`${kt+1}`,value:kt+1})),this.organizeByOptions=dm,this.mlsResolutionForm=this.fb.group({width:[2048,ge.$9f.truthy],height:[1536,ge.$9f.truthy]}),this.suggestedTipsForm=this.fb.group({type:"byPercentage",low:[5,ge.$9f.required],mid:[10,ge.$9f.truthy],high:[15,ge.$9f.truthy]}),this.referralSettingsForm=this.fb.group({referralCreditAmount:[0,ge.$9f.truthy],referralNotes:""}),this.stripeKeysForm=this.fb.group({publishableKey:["",ee.kI.required],secretKey:["",ee.kI.required]}),this.travelTimeExtraBufferForm=this.fb.group({value:[0,ee.kI.required]}),this.workingHours={fromObj:{hours:7,minutes:30},toObj:{hours:17,minutes:0}},this.twilightHours={fromObj:{hours:0,minutes:0},toObj:{hours:0,minutes:0}},this.sunsetOffsetMinutes={before:0,after:0},this.nonIntegratedBookingBlocks=[],this.savingStripeKeys$=this.stripeAuthComponentStore.loading$,this.stripeSecretInputsShown$=this.stripeAuthComponentStore.stripeSecretInputsShown$,this.stripeSectionShown$=this.stripeAuthComponentStore.stripeSectionShown$,this.paymentProcessorVm$=this.paymentProcessorComponentStore.vm$,this.enableStripe$=this.paymentProcessorComponentStore.enableStripe$,this.cardProcessorControl=this.fb.control(null),this.payAtCloseProcessorOptions=[{label:"Titus",value:He.OH.TITUS}],this.payAtCloseProcessorControl=this.fb.control({value:He.OH.TITUS,disabled:!0}),this.snippets$=this.snippetsRepositoryService.getById$("snippets").pipe((0,qe.U)(at=>{var kt;return null!==(kt=null==at?void 0:at.snippets)&&void 0!==kt?kt:[]}
1)),this.dropboxAuthUrl$=this.dropboxIntegrationRepository.getAuthUrl().pipe((0,qe.U)(({authUrl:at})=>at),(0,Fr.d)(1))}ngOnInit(){this.scrollToFragmentIfPresent(),this.fetchDropboxFoldersSettings(),this.paymentProcessorComponentStore.initConfig(),this.watchPaymentProcessor(),this.aff.httpsCallable("checkPaymentTokenStatus")({}).subscribe(a=>{this.paymentTokenStatus=a,this.paymentProcessorComponentStore.setSquareConnected("valid"===a)}),this.afs.doc("globals/managementConfig").get().toPromise().then(a=>{this.managementConfig=a.data()}),this.afs.collection("globals").doc("booking").get().subscribe(a=>{var t,i,o;if(a.exists){this.bookingConfig=a.data(),this.paymentProcessorComponentStore.setEnableStripe(null!==(t=this.bookingConfig.enableStripe)&&void 0!==t?t:null),this.integratedBooking=this.bookingConfig.integratedBooking,this.nonIntegratedBookingBlocks=this.bookingConfig.nonIntegratedBookingBlocks,this.landingBackgroundColor=this.bookingConfig.landingBackgroundColor||this.appConfigService.bookingFlowBackgroundColor,this.sqFtTiers=this.bookingConfig.sqFtTiers?this.bookingConfig.sqFtTiers:[null];const l=(0,gi.Z)(this.sqFtTiers);l.length&&(this.largestTier=null!==(i=(0,Gl.Z)(l))&&void 0!==i?i:null),this.acreageTiers=this.bookingConfig.acreageTiers?this.bookingConfig.acreageTiers:[null];const h=(0,gi.Z)(this.acreageTiers);h.length&&(this.largestAcreageTier=null!==(o=(0,Gl.Z)(h))&&void 0!==o?o:null),this.blockScheduling=this.bookingConfig.blockScheduling?this.bookingConfig.blockScheduling:this.blockScheduling,this.workingHours=this.bookingConfig.workingHours?this.bookingConfig.workingHours:this.workingHours,this.twilightHours=this.bookingConfig.twilightHours?this.bookingConfig.twilightHours:this.twilightHours,this.sunsetOffsetMinutes=this.bookingConfig.sunsetOffsetMinutes?this.bookingConfig.sunsetOffsetMinutes:this.sunsetOffsetMinutes,this.bookingConfig.suggestedTipOptions&&(this.suggestedTipsForm.get("type").setValue(this.bookingConfig.suggestedTipOptions.type,{emitEvent:!1}),this.suggestedTipsForm.patchValue({low:this.bookingConfig.suggestedTipOptions.low,mid:this.bookingConfig.suggestedTipOptions.mid,high:this.bookingConfig.suggestedTipOptions.high})),this.bookingConfig.mlsResolutionWidth&&this.bookingConfig.mlsResolutionHeight&&this.mlsResolutionForm.patchValue({width:this.bookingConfig.mlsResolutionWidth,height:this.bookingConfig.mlsResolutionHeight}),this.bookingConfig.referralProgramSettings&&this.referralSettingsForm.patchValue(this.bookingConfig.referralProgramSettings)}}),this.suggestedTipsForm.get("type").valueChanges.pipe((0,wt.t)(this)).subscribe(a=>{this.suggestedTipsForm.patchValue("byPercentage"===a?{low:5,mid:10,high:15}:{low:10,mid:25,high:50})}),this.bookingTravelTimes=!!this.appConfigService.bookingTravelTimes,this.travelTimeExtraBufferForm.get("value").setValue(this.appConfigService.travelTimeExtraBuffer),this.isDynamicPricingAllowed=!!this.appConfigService.allowBookingDynamicPricing,this.limitedContractorsAccess=!!this.appConfigService.limitedContractorsAccess,this.limitedStaffAccess=!!this.appConfigService.limitedStaffAccess,this.limitedCustomerPaymentAccess=!!this.appConfigService.limitedCustomerPaymentAccess,this.hidePhotographerInfoOnOrderStatusPage=!!this.appConfigService.hidePhotographerInfoOnOrderStatusPage,this.hideReportingTab=!!this.appConfigService.hideReportingTab,this.bookAsByManagers=!!this.appConfigService.bookAsByManagers,this.isLabelsEditable=!!this.appConfigService.isLabelsEditable,this.recurringInvoiceEmailEnabled=!!this.appConfigService.recurringInvoiceEmailEnabled}ngOnDestroy(){this.destroy.next(),this.destroy.complete()}getBookingAppUrl(){return`${this.appConfigService.bookingAppBaseUrl}/${this.appConfigService.projectId}/book`}fetchDropboxFoldersSettings(){this.dropboxIntegrationRepository.checkDropboxConnection().subscribe(a=>{this.dropboxConnectionStatus=a.status,a.settings&&(this.dropboxFoldersSettings=a.settings)},()=>this.dropboxConnectionStatus="notConnected")}trackByIdx(a,t){return a}onAvailabilityDaysCountChange(a){this.bookingConfigDocumentService.update({availabilityDaysCount:a}).then(()=>this.displaySaveConfirmation())}onToggleConfirmationText(a){this.afs.collection("globals").doc("booking").update({enableConfirmationTextMessage:a}).then(()=>this.displaySaveConfirmation())}onToggleReminderText(a){this.updateManagementConfig({enableReminderTextNotification:a})}onToggleDailyPhotographerReminders(a){this.updateManagementConfig({enableDailyPhotographerReminders:a})}onToggleProjectCompleteText(a){this.updateManagementConfig({enableProjectCompleteTextNotification:a})}updateIntegratedBooking(a){return(0,De.mG)(this,void 0,void 0,function*(){yield this.updateBookingConfig(a),this.integratedBooking=a.integratedBooking})}updateBookingConfig(a){return(0,De.mG)(this,void 0,void 0,function*(){return yield this.afs.collection("globals").doc("booking").update(a),this.displaySaveConfirmation()})}trackByProcessor(a,t){return t.value}onPayAtCloseToggled(a){a.checked?this.router.navigate(["/organization-settings/features"]):this.paymentProcessorComponentStore.disconnectContext$.pipe((0,Nt.q)(1),(0,St.w)(t=>this.titusDisconnectDialogService.openDisconnectDialog(t)),(0,wt.t)(this)).subscribe(t=>this.onDisconnectDecided(a,t))}addSqFtTier(){this.sqFtTiers.push(null)}saveSnippets(a){this.snippetsRepositoryService.upsert("snippets",{snippets:a}).then(()=>this.displaySaveConfirmation())}saveTiers(){const a=(0,gi.Z)(this.sqFtTiers);this.sqFtTiers=a,this.commitTierUpdate({sqFtTiers:a})}setLastTier(){var a;const t=(0,gi.Z)(this.sqFtTiers);this.largestTier=t.length&&null!==(a=(0,Gl.Z)(t))&&void 0!==a?a:null}addAcreageTier(){this.acreageTiers.push(null)}saveAcreageTiers(){const a=(0,gi.Z)(this.acreageTiers);this.acreageTiers=a,this.commitTierUpdate({acreageTiers:a})}setLastAcreageTier(){var a;const t=(0,gi.Z)(this.acreageTiers);this.largestAcreageTier=t.length&&null!==(a=(0,Gl.Z)(t))&&void 0!==a?a:null}updateManagementConfig(a){this.config.updateManagementConfig(a).then(()=>this.displaySaveConfirmation())}updateNewAgentWelcomeEmailSetting(){const{enableNewAgentWelcomeEmail:a}=this.managementConfig;this.updateManagementConfig({enableNewAgentWelcomeEmail:a})}updateAppointmentRescheduledEmailSetting(){this.updateManagementConfig({enableAppointmentRescheduledEmail:Boolean(this.managementConfig.enableAppointmentRescheduledEmail)})}updateAppointmentCanceledEmailSetting(){this.updateManagementConfig({enableAppointmentCanceledEmail:Boolean(this.managementConfig.enableAppointmentCanceledEmail)})}saveSeparateCustomerEventState(){this.updateManagementConfig({enableSeparateCustomerEvent:this.managementConfig.enableSeparateCustomerEvent}),this.managementConfig.enableSeparateCustomerEvent&&this.coreRepository.operationalProfiles.setupCustomerEventsCalendar(
1)}saveWorkingHours(){const a=Object.assign(Object.assign({},this.workingHours),{start:(0,ge.Rnu)(this.workingHours.fromObj),end:(0,ge.Rnu)(this.workingHours.toObj)});this.afs.collection("globals").doc("booking").update({workingHours:a}).then(()=>this.displaySaveConfirmation())}saveTwilightHours(){const a=Object.assign(Object.assign({},this.twilightHours),{start:(0,ge.Rnu)(this.twilightHours.fromObj),end:(0,ge.Rnu)(this.twilightHours.toObj)});this.afs.collection("globals").doc("booking").update({twilightHours:a}).then(()=>this.displaySaveConfirmation())}saveSunsetOffsetMinutes(){this.afs.collection("globals").doc("booking").update({sunsetOffsetMinutes:this.sunsetOffsetMinutes}).then(()=>this.displaySaveConfirmation())}savePaymentOptions(){this.bookingConfig.paymentMode||(this.bookingConfig.paymentMode=He.x6.FIXED),this.updateBookingConfig({integratedPayment:this.bookingConfig.integratedPayment,paymentAmount:this.bookingConfig.paymentAmount,paymentMode:this.bookingConfig.paymentMode})}saveTipOptions(){this.updateBookingConfig({enableTipCollection:!!this.bookingConfig.enableTipCollection,suggestedTipOptions:this.bookingConfig.enableTipCollection?this.suggestedTipsForm.getRawValue():null})}saveReferralProgramSettings(){this.updateBookingConfig({enableReferralProgram:!!this.bookingConfig.enableReferralProgram,referralProgramSettings:this.bookingConfig.enableReferralProgram?this.referralSettingsForm.getRawValue():null})}saveTravelTimeExtraBuffer(){this.updateAppConfig({travelTimeExtraBuffer:this.travelTimeExtraBufferForm.getRawValue().value})}saveDriveTimeCalculation(a){const t={bookingTravelTimes:a};a||(this.travelTimeExtraBufferForm.get("value").setValue(0),t.travelTimeExtraBuffer=0),this.updateAppConfig(t)}updateAppConfig(a){return this.afs.collection("app").doc("config").update(a).then(()=>this.displaySaveConfirmation())}displaySaveConfirmation(){this._snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}authenticateWithSquare(){var a;null===(a=window.open(`${qy.N.square.authApi}?customerId=${this.appConfigService.projectId}`,"_blank"))||void 0===a||a.focus()}authorizeDropbox(a){var t;this.dropboxAuthInProgress=!0,null===(t=window.open(a,"_blank"))||void 0===t||t.focus()}updateDropboxDeliveryFolderPath(){const a=this.cleanFolderPath(this.dropboxFoldersSettings.dropboxDeliveryFolderPath);this.updateBookingConfig({dropboxDeliveryFolderPath:a})}updateDropboxRawFolderPath(){const a=this.cleanFolderPath(this.dropboxFoldersSettings.dropboxRawFolderPath);this.updateBookingConfig({dropboxRawFolderPath:a})}cleanFolderPath(a){return(a||"").trim().split("/").map(t=>t.trim()).join("/")}onCalculateSunsetByLocationToggle(a){return this.toggleCalculateSunsetByLocationInProgress=!0,this.afs.collection("globals").doc("booking").update({calculateSunsetByLocation:a.checked}).then(()=>this.displaySaveConfirmation()).finally(()=>this.toggleCalculateSunsetByLocationInProgress=!1)}onDropboxLinkToggle(a){return this.toggleDropboxLinkInProgress=!0,this.afs.collection("globals").doc("booking").update({dropboxLinkHidden:a.checked}).then(()=>this.displaySaveConfirmation()).finally(()=>this.toggleDropboxLinkInProgress=!1)}onRawFoldersToggle(a){return this.toggleDropboxRawFoldersInProgress=!0,this.afs.collection("globals").doc("booking").update({dropboxRawFoldersEnabled:a.checked}).then(()=>this.displaySaveConfirmation()).finally(()=>this.toggleDropboxRawFoldersInProgress=!1)}onDoNotEditFolderToggle(a){return this.toggleDoNotEditFolderInProgress=!0,this.afs.collection("globals").doc("booking").update({dropboxDoNotEditFolderEnabled:a.checked}).then(()=>this.displaySaveConfirmation()).finally(()=>this.toggleDoNotEditFolderInProgress=!1)}onAutoDeleteToggle(a){var t;const i={dropboxRawFoldersAutoDeleteEnabled:a.checked};return a.checked&&(i.dropboxRawFoldersRetentionMonths=null!==(t=this.dropboxFoldersSettings.dropboxRawFoldersRetentionMonths)&&void 0!==t?t:12,i.dropboxRawFoldersAutoDeleteEnabledAt=Date.now()),this.afs.collection("globals").doc("booking").update(i).then(()=>{this.dropboxFoldersSettings=Object.assign(Object.assign({},this.dropboxFoldersSettings),i),this.displaySaveConfirmation(),a.checked&&this.dialog.open(ex,{panelClass:"app-v2",width:"480px"})})}onAutoSyncDeliveryToggle(a){const t={dropboxDeliveryFolderAutoSyncEnabled:a.checked};return a.checked&&(t.dropboxDeliveryFolderAutoSyncEnabledAt=Date.now()),this.afs.collection("globals").doc("booking").update(t).then(()=>{this.dropboxFoldersSettings=Object.assign(Object.assign({},this.dropboxFoldersSettings),t),this.displaySaveConfirmation()})}onRetentionMonthsChange(a){var t;const i=null!==(t=this.dropboxFoldersSettings.dropboxRawFoldersRetentionMonths)&&void 0!==t?t:12;a>=i?this.saveRetentionMonths(a):this.confirmDialogService.confirm({title:`Reduce retention from ${i} months to ${a} months?`,message:["Orders past the new retention will be deleted on the next daily run."],okButtonText:"Continue",cancelButtonText:"Cancel",width:"480px",wysiwygMode:!0,destructive:!0}).pipe((0,wt.t)(this)).subscribe(o=>{o&&this.saveRetentionMonths(a)})}get rawFolderOrganization(){var a;return(0,He.Do)(null===(a=this.bookingConfig)||void 0===a?void 0:a.dropboxRawFolderOrganization)}get selectedOrganizeByOption(){var a;const t=this.rawFolderOrganization;return null!==(a=dm.find(i=>i.value===t))&&void 0!==a?a:dm[0]}onOrganizeByChange(a){this.bookingConfig.dropboxRawFolderOrganization=a,this.updateBookingConfig({dropboxRawFolderOrganization:a})}saveMlsResolution(){const{width:a,height:t}=this.mlsResolutionForm.getRawValue();return this.afs.collection("globals").doc("booking").update({mlsResolutionWidth:a,mlsResolutionHeight:t}).then(()=>this.displaySaveConfirmation())}addStripeKeys(){this.stripeAuthComponentStore.addStripeKeys()}editStripeKeys(){this.stripeAuthComponentStore.editStripeKeys()}saveStripeKeys(){const a=this.stripeKeysForm.getRawValue();this.stripeAuthComponentStore.saveStripeKeys(a),this.stripeKeysForm.reset()}commitTierUpdate(a){this.bookingConfigDocumentService.updateTiers(a).pipe((0,wt.t)(this)).subscribe({next:()=>this.displaySaveConfirmation(),error:()=>this._snackBar.open("Failed to save tier change. Please try again.","Got it",{duration:4e3,horizontalPosition:"center",verticalPosition:"bottom"})})}saveRetentionMonths(a){return this.afs.collection("globals").doc("booking").update({dropboxRawFoldersRetentionMonths:a}).then(()=>{this.dropboxFoldersSettings.dropboxRawFoldersRetentionMonths=a,this.displaySaveConfirmation()})}
1scrollToFragmentIfPresent(){const a=this.route.snapshot.fragment;a&&setTimeout(()=>{const t=document.getElementById(a);t&&(0,Xy.z)(t,{behavior:"smooth",block:"start"})},500)}watchPaymentProcessor(){this.paymentProcessorComponentStore.vm$.pipe((0,Nt.q)(1),(0,wt.t)(this)).subscribe(a=>this.syncCardProcessorValue(a)),this.paymentProcessorComponentStore.saving$.pipe((0,wt.t)(this)).subscribe(a=>this.setCardProcessorDisabled(a)),this.cardProcessorControl.valueChanges.pipe((0,Qn.x)(),(0,wt.t)(this)).subscribe(a=>this.onCardProcessorSelected(a))}syncCardProcessorValue({selectedProcessor:a,saving:t}){!t&&this.cardProcessorControl.value!==a&&this.cardProcessorControl.setValue(a,{emitEvent:!1})}setCardProcessorDisabled(a){a?this.cardProcessorControl.disable({emitEvent:!1}):this.cardProcessorControl.enable({emitEvent:!1})}onCardProcessorSelected(a){!a||this.paymentProcessorComponentStore.selectProcessor(a)}onDisconnectDecided(a,{confirmed:t,replacementProvider:i}){t?this.paymentProcessorComponentStore.disablePayAtClose(i):a.source.checked=!0}};function w0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"tn-service-management-card",10),e.\u0275\u0275listener("edit",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().editService(o)})("deleted",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().deleteService(l)})("thumbnailClicked",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().changeThumbnail(l)})("duplicate",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onDuplicateService(o)}),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275property("service",t)("bookingConfig",i.bookingConfig)}}ho.\u0275fac=function(a){return new(a||ho)(e.\u0275\u0275directiveInject(ee.qu),e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(Z.l4),e.\u0275\u0275directiveInject(cm),e.\u0275\u0275directiveInject(lm),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.xBR),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(U.j42),e.\u0275\u0275directiveInject(U.G0i),e.\u0275\u0275directiveInject(U.E4y),e.\u0275\u0275directiveInject(Jn.AO),e.\u0275\u0275directiveInject(U.KVG),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(ut.uw),e.\u0275\u0275directiveInject(gt.DNF),e.\u0275\u0275directiveInject(Qs.Bm))},ho.\u0275cmp=e.\u0275\u0275defineComponent({type:ho,selectors:[["tn-general-service-management"]],features:[e.\u0275\u0275ProvidersFeature([cm,lm,Qs.Bm])],decls:1,vars:1,consts:[["class","container pt3 pb6",4,"ngIf"],[1,"container","pt3","pb6"],[1,"mb-24"],[1,"card"],[1,"card-header"],[1,"text-muted","f7"],[1,"card-body"],[1,"f6","fw6","o-90"],[1,"f7","o-70"],[1,"booking-config-controls"],["name","moveOrderToInProgress",3,"disableRipple","ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],[1,"mt4"],["name","hidePhotographerInfoOnOrderStatusPage",3,"disableRipple","ngModel","ngModelChange"],["name","hideReportingTab",3,"disableRipple","ngModel","ngModelChange"],["name","bookAsByManagers",3,"disableRipple","ngModel","ngModelChange"],["name","isLabelsEditable",3,"disableRipple","ngModel","ngModelChange"],[1,"mb1"],[1,"f7","o-70","mb2"],["type","color",1,"pointer",3,"ngModel","ngModelChange"],[1,"max-w-2xl"],[1,"flex"],["inputClass","truncate copy-to-cl
1ipboard-input",1,"w-full",3,"value","readonly"],[1,"absolute","right-min","bottom-min",3,"text","v2","value"],[1,"flex","items-end","ml-min","mb-min"],[3,"url"],["name","bookingTravelTimes",3,"disableRipple","ngModel","ngModelChange"],["class","flex items-end gap-8",4,"ngIf"],["class","mt4 mb4",4,"ngIf"],[1,"row"],[1,"col-md-6"],[1,"flex","items-center","gap-8"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click"],["addSqFtTierButton","btnSize"],["uiIcon","add",3,"size"],[1,"mt1","mb3"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"hidden"],[1,"mb2","o-70"],["readonly","","matInput","","name","largestTier","prefix","Over ","thousandSeparator",",","mask","separator",3,"suffix","ngModel","ngModelChange"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"w-max",3,"click"],["addAcreageTierButton","btnSize"],[1,"mt1"],["readonly","","matInput","","name","largestAcreageTier","prefix","Over ","thousandSeparator",",","mask","separator",3,"suffix","ngModel","ngModelChange"],["id","scheduling-section",1,"card"],[3,"nonIntegratedBookingBlocks","integratedBooking","updateBookingBlock","updateIntegratedBooking",4,"ngIf"],[1,"mv2"],[1,"mb1","flex","items-center","gap-2"],[1,"font-semibold"],[3,"ngModel","ngModelChange"],[1,"f7","mb-8","o-70"],[1,"flex","gap-8","w-1/6"],["label","Weeks",3,"value","items","selectionChange"],[4,"ngIf"],[1,"mb3"],["name","automaticallyUpdateEvents",3,"disableRipple","ngModel","ngModelChange"],["id","payments-section",1,"card"],[1,"mb-32","pb-32","border-solid","border-b-1","border-gray-15"],[1,"fw6","o-90"],["name","bypassOnlinePayment",3,"disableRipple","ngModel","ngModelChange"],[1,"mb4","app-v2"],["name","enableReferralProgram",1,"mb-min",3,"disableRipple","ngModel","ngModelChange"],["class","flex flex-col mt-8",3,"formGroup",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mt-8","w-max",3,"disabled","click"],[1,"mb4","flex","items-center"],["name","newAgentWelcomeEmail",3,"disableRipple","ngModel","ngModelChange"],[1,"ml-auto"],[3,"templateType"],["name","confirmationEmail",3,"disableRipple","ngModel","ngModelChange"],["name","appointmentRescheduledEmail",3,"disableRipple","ngModel","ngModelChange"],["name","appointmentCanceledEmail",3,"disableRipple","ngModel","ngModelChange"],[1,"mb4","flex"],["name","separateCustomerEvent",3,"disableRipple","ngModel","ngModelChange"],["class","ml-auto",4,"ngIf"],["name","inviteListingAgentsToEvent",3,"disableRipple","ngModel","ngModelChange"],["class","card",4,"ngIf"],["name","limitedContractorsAccess",3,"disableRipple","ngModel","ngModelChange"],[1,"f6","fw6","o-90","mt4"],[3,"disableRipple","ngModel","ngModelChange"],[3,"snippets","btnSave","btnLink","formSubmitted",4,"ngIf"],[1,"flex","items-end","gap-8"],[1,"flex","mt-8",3,"formGroup"],[1,"default-form-group"],["label","Add an extra buffer to travel time (minutes)","formControlName","value"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mb-min",3,"disabled","click"],[1,"mt4","mb4"],["name","dynamicPricing",3,"disableRipple","ngModel","ngModelChange"],[1,"mb2"],["matInput","","thousandSeparator",",","mask","separator",3,"name","suffix","ngModel","placeholder","ngModelChange"],[3,"nonIntegratedBookingBlocks","integratedBooking","updateBookingBlock","updateIntegratedBooking"],[1,"my-32","py-32","border-solid","border-t-1","border-b-1","border-gray-15"],["name","calculateSunsetByLocation",3,"disableRipple","disabled","ngModel","ngModelChange","change"],["name","integratedBooking",3,"disableRipple","ngModel","ngModelChange"],["name","automaticallyDeleteEvents",3,"disableRipple","ngModel","ngModelChange"],[1,"f6","fw6","o-90","mt3"],[1,"f7","o-70","mb-8"],[1,"flex","w-2/6","gap-8","mb-8"],[1,"sunset-offset-group"],["label","Before sunset (minutes)",3,"ngModel","ngModelChange"],["label","After sunset (minutes)",3,"ngModel","ngModelChange"],[1,"mb-0","font-semibold"],["id","payments-processor",1,"payment-processor","mb-32","pb-32","border-solid","border-b-1","border-gray-15","app-v2"],[1,"section-title"],[1,"section-description"],[1,"processor-field"],["uiFormFieldLabel","","for","cardProcessor"],["uiFormSelect","","uiDropdown","",3,"formControl"],["id","cardProcessor","uiInputSelect","","placeholder","Please select"],["uiIcon","unfold_more"],[4,"uiToFormSelectOption"],["class","pay-at-close",4,"ngIf"],["class","f7 red mt2",4,"ngIf"],[4,"uiDropdownTemplate"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],[3,"value"],[1,"pay-at-close"],[3,"disableRipple","checked","disabled","change"],["class","processor-field",4,"ngIf"],["uiFormFieldLabel","","for","payAtCloseProcessor"],["id","payAtCloseProcessor","uiInputSelect",""],[1,"f7","red","mt2"],["id","payments-stripe",1,"mb-32","pb-32","border-solid","border-b-1","border-gray-15"],["class","mt-8 w-max","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],["id","payments-square",1,"mb4"],["class","mt2",4,"ngIf"],["class","mt4",4,"ngIf"],["name","enableTipCollection",1,"mb-min",3,"disableRipple","ngModel","ngModelChange"],["class","flex mt-8",3,"formGroup",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mt-8","w-max",3,"click"],["addStripeKeysButton","btnSize"],["role","alert",1,"inline-flex","flex-wrap","items-center","gap-8","bg-blue-5","border-solid","border-1","border-blue-10","text-blue-50","py-2","px-3","rounded","mb-24"],["uiIcon","info"],["href","https://www.loom.com/share/3a50955626574a49a6fec8ea119f4b5a","target","_blank"],[1,"grid","w-full","md:w-8/12",3,"loading"],[1,"mb-32"],["class","grid md:grid-cols-2 gap-8 max-w-xl",4,"ngIf","ngIfElse"],["stripeKeysInputs",""],[1,"grid","md:grid-cols-2","gap-8","max-w-xl"],[1,"pointer-events-none"],["label","Public Key",3,"readonly","readOnlyPlaceholder"],["label","Secret Key",3,"readonly","readOnlyPlaceholder"],[1,"grid","grid-cols-2","gap-8","max-w-xl",3,"formGroup"],["label","Public Key",3,"formControlName"],["label","Secret Key",3,"formControlName"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"w-max",3,"disabled","click"],[1,"mt2"],["class","mb2 fw6 red f7",4,"ngIf"],["class","mb2 fw6 green f7 mt3",4,"ngIf"],[1,"mb2","fw6","red","f7"],[1,"mb2","fw6","green","f7","mt3"],["name","integratedPayment",3,"disableRipple","ngModel","ngModelChange"],[1,"flex","gap-8","mr-auto"],["label","Suggested tip","formControlName","type",3,"items"],["label","Low tip","formControlName","low","mask","separator.2","prefix","%",1,"w-80"],["label","Mid tip","formControlName","mid","mask","separator.2","prefix","%",1,"w-80"],["label","High tip","formControlName","high","mask","separator.2","prefix","%",1,"w-80"],["label","Low tip","formControlName","low","mask","separator.2",1,"w-80",3,"prefix"],["label","Mid tip","formControlName","mid","mask","separator.2",1,"w-80",3,"prefix"],["label","High tip","formControlName","high","mask","separator.2",1,"w-80",3,"prefix"],[1,"flex","flex-col","mt-8",3,"formGroup"],["label","Referral amount","formControlName","referralCreditAmount","mask","separator.2",1,"mb-8",3,"prefix"],[1,"mt-16"],["label","Notes","placeholder","Type notes...","formControlName","referralNotes","type","text"],["name","reminderEmail",3,"disableRipple","ngModel","ngModelChange"],[1,"mb4","flex","gap-8","items-center"],["name","projectCompleteEmail",3,"disableRipple","ngModel","ngModelChange"],["name","recurringInvoiceEmailEnabled",3,"disableRipple","ngModel","ngModelChange"],[3,"bookingConfig","managementConfig","toggleConfirmationText","toggleReminderText","toggleDailyPhotographerReminders","toggleProjectCompleteText"],[1,"mt3"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","class","w-max btn-connect-dropbox",3,"disabled","click",4,"ngIf"],[3,"ngSwitch"],["class","mt3 mb2 fw6 red f7 green",4,"ngSwitchCase"],["class","mt3 mb2 fw6 red f7 red",4,"ngSwitchCase"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"w-max","btn-connect-dropbox",3,"disabled","click"],["alt","Dropbox","height","16","src","/assets/images/dropbox/dropbox-icon.svg"],[1,"mt3","mb2","fw6","red","f7","green"],[1,"mt3","mb2","fw6","red","f7","red"],[1,"dropbox-settings-group"],[1,"f7","o-70","mb-3"],["name","dropboxRawFoldersEnabled",3,"disableRipple","disabled","ngModel","ngModelChange","change"],["class","dropbox-settings-toggle",4,"ngIf"],["class","dropbox-settings-input",4,"ngIf"],[1,"dropbox-settings-input"],[1,"w-100"],["matInput","","name","bookingCreateWebhook","placeholder","/Tonomo",3,"pattern","ngModel","ngModelChange"],["dbxDeliveryPath","ngModel"],["name","hideDropboxLink",3,"disableRipple","disabled","ngModel","ngModelChange","change"],[1,"flex","items-end","gap-8","my-8"],[1,"flex","gap-8",3,"formGroup"],["label","Width","mask","separator.0","suffix","px","thousandSeparator","","formControlName","width"],["label","Height","mask","separator.0","suffix","px","thousandSeparator","","formControlName","height"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",3,"disabled","click"],[1,"dropbox-settings-toggle"],["name","dropboxDoNotEditFolderEnabled",3,"disableRipple","disabled","ngModel","ngModelChange","change"],["matInput","","name","bookingCreateWebhook","placeholder","/Raw Files",3,"pattern","ngModel","ngModelChange"],["dbxRawPath","
1ngModel"],[1,"raw-folder-organization-column"],["label","Organize by",3,"items","value","selectionChange"],["optionTmpl",""],[1,"f7","pl-28","list-disc"],[1,"flex","items-center","gap-1"],["alt","Folder structure preview",3,"src"],["uiIcon","info",1,"text-brand-50",3,"uiIconWeight","size"],["class","raw-folder-organization-column f7 mt-8 flex items-center gap-4 text-yellow-50 bg-yellow-5 rounded border-1 border-solid border-yellow-50 p-8",4,"ngIf"],[3,"label","description"],[1,"raw-folder-organization-column","f7","mt-8","flex","items-center","gap-4","text-yellow-50","bg-yellow-5","rounded","border-1","border-solid","border-yellow-50","p-8"],["uiIcon","warning",3,"size"],["name","dropboxRawFoldersAutoDeleteEnabled",3,"disableRipple","ngModel","ngModelChange","change"],["class","flex items-center mt2",4,"ngIf"],[1,"flex","items-center","mt2"],[1,"flex","gap-8","w-1/6","retention-months-group"],["label","Delete files after",3,"value","items","selectionChange"],[1,"ml-8","f6","o-90"],["uiIcon","info","matTooltipPosition","above","matTooltip","The time starts from when the order is delivered to the customer",1,"ml-8","text-brand-50"],["name","dropboxDeliveryFolderAutoSyncEnabled",3,"disableRipple","ngModel","ngModelChange","change"],[1,"mb4","webhook-row"],["matInput","","name","bookingCreateWebhook","placeholder","https://yourwebhook.com",3,"ngModel","ngModelChange"],["matInput","","name","webhookBookingCreatedOrChanged","placeholder","https://yourwebhook.com",3,"ngModel","ngModelChange"],["matInput","","name","webhookBookingCreatedByNewCustomer","placeholder","https://yourwebhook.com",3,"ngModel","ngModelChange"],[1,"w-50"],["matInput","","name","servicesMovedWebhook","placeholder","https://yourwebhook.com",3,"ngModel","ngModelChange"],[1,"app-v2","mb-6","border-t-1","border-gray-15","py-6"],[1,"mb-4"],[1,"text-14","font-semibold","text-gray-80"],[1,"w-full"],["matInput","","placeholder","https://yourwebhook.com",3,"ngModel","ngModelChange"],[3,"snippets","btnSave","btnLink","formSubmitted"]],template:function(a,t){1&a&&e.\u0275\u0275template(0,T0,344,91,"div",0),2&a&&e.\u0275\u0275property("ngIf",t.bookingConfig)},directives:[S.NgIf,Me.Rr,ee.JJ,ee.On,_t.s,ht.V,ee.Fj,Fn.H,zn.L,yi.a,Lm.F,Sm.b,ee._Y,ee.JL,ee.sg,pi.f,ee.u,mt.a,S.NgForOf,Et.KE,Et.hX,Pt.Nt,En.Z6,px,Gm.D,tn.H,mx.hg,ux.S,gx.e,_x.n,Km.w,ee.oH,hx.S,fx.z,Km.S,vx.$,Cx.O,mr.G,Ni.Ou,Zm,Sx,S.NgSwitch,S.NgSwitchCase,ee.c5,em.J,zo,Lt.gM,Tx.S],pipes:[de.X$,ge.FjN,S.AsyncPipe,ge._ab],styles:[".btn-connect-quickbooks[_ngcontent-%COMP%]:disabled, .btn-connect-dropbox[_ngcontent-%COMP%]:disabled{opacity:.4;background:transparent;cursor:progress}.default-form-group[_ngcontent-%COMP%]{min-width:280px}ui-number-input[_ngcontent-%COMP%] input{border:1px solid grey}[_nghost-%COMP%] .copy-to-clipboard-input{padding-right:5rem!important;opacity:1!important}.sunset-offset-group[_ngcontent-%COMP%], .retention-months-group[_ngcontent-%COMP%]{min-width:150px}.dropbox-settings-group[_ngcontent-%COMP%]{margin-top:2rem;margin-bottom:2rem;border-radius:.25rem;border-style:none;padding:.5rem;background-color:#fafafa}.dropbox-settings-toggle[_ngcontent-%COMP%]{margin-top:.5rem;gap:.75rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem}.dropbox-settings-input[_ngcontent-%COMP%]{margin-top:.5rem;display:flex;flex-direction:row;align-items:flex-end;gap:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem}.raw-folder-organization-column[_ngcontent-%COMP%]{width:100%;max-width:560px}.booking-config-controls[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.webhook-row[_ngcontent-%COMP%]{display:flex;align-items:flex-end;gap:.5rem}.dropbox-settings-input[_ngcontent-%COMP%] .mat-form-field-wrapper, .webhook-row[_ngcontent-%COMP%] .mat-form-field-wrapper{padding-bottom:0}.dropbox-settings-input[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline, .webhook-row[_ngcontent-%COMP%] .mat-form-field-wrapper .mat-form-field-underline{bottom:0}.payment-processor[_ngcontent-%COMP%] .section-title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.payment-processor[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%]{margin-top:.125rem;font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.payment-processor[_ngcontent-%COMP%] .processor-field[_ngcontent-%COMP%]{margin-top:.75rem;display:block;max-width:28rem;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:.5rem .25rem .25rem}.payment-processor[_ngcontent-%COMP%] .processor-field[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.payment-processor[_ngcontent-%COMP%] .pay-at-close[_ngcontent-%COMP%]{margin-top:2.5rem}.payment-processor[_ngcontent-%COMP%] .pay-at-close[_ngcontent-%COMP%] .booking-config-control
1s[_ngcontent-%COMP%]{margin-top:.5rem}"]}),ho=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[ee.qu,Mt.ST,Z.l4,cm,lm,U._ZM,U.xBR,Dt.ux,U.j42,U.G0i,U.E4y,Jn.AO,U.KVG,Qe.gz,Qe.F0,ut.uw,gt.DNF,Qs.Bm])],ho);let fo=class{constructor(a,t,i,o,l,h,y,F){this.afs=a,this.solutionsRepositoryService=t,this._snackBar=i,this.projectService=o,this.router=l,this.activatedRoute=h,this.popupService=y,this.fileLibraryDialog=F,this.serviceDocs=[],this.bookingConfig=null,this.integratedBooking=!1}ngOnInit(){this.afs.collection("globals").doc("booking").get().pipe((0,wt.t)(this)).subscribe(a=>{a.exists&&(this.bookingConfig=a.data())}),this.afs.collection("services",a=>a.orderBy("name","asc")).get().pipe((0,wt.t)(this)).subscribe(a=>{this.serviceDocs=a.docs.map(t=>({id:t.id,doc:t,data:t.data()}))}),this.projectService.getBookingFlows().subscribe(a=>{this.integratedBooking=a.some(t=>t.integratedBooking)})}trackById(a,t){return t.id}editService(a){this.router.navigate([a.doc.id],{relativeTo:this.activatedRoute})}changeThumbnail(a){this.fileLibraryDialog.open().pipe((0,Nt.q)(1)).subscribe(t=>{t&&(a.data.img=t,this.updateData({img:t},a))})}deleteService(a){return(0,De.mG)(this,void 0,void 0,function*(){this.popupService.open({text:"This will delete the service from ALL booking flows. Are you sure?",showCancelButton:!0,destructive:!0}).then(t=>(0,De.mG)(this,void 0,void 0,function*(){if(t.value)try{yield this.solutionsRepositoryService.delete(a.id),(0,sn.Z)(this.serviceDocs,a)}catch(i){console.error(i),this.popupService.open({text:"Error deleting service",showCancelButton:!1})}}))})}addService(){this.router.navigate(["add"],{relativeTo:this.activatedRoute})}updateData(a,t){t.doc.ref.update(a).then(()=>this.displaySaveConfirmation())}displaySaveConfirmation(){this._snackBar.open("Update saved.","Got it",{duration:1200,horizontalPosition:"center",verticalPosition:"bottom"})}onDuplicateService(a){this._duplicateConfirm().then(t=>(0,De.mG)(this,void 0,void 0,function*(){if(t.value){const i=this.afs.firestore.batch(),o=this.afs.createId(),l=this.afs.collection("services").doc(o),h=yield a.doc.ref.collection("configurations").doc("expandedDetails").get();i.set(l.ref,Object.assign(Object.assign({},a.data),{bookingFlows:[],name:`${a.data.name} - Duplicate`})),h.exists&&i.set(l.ref.collection("configurations").doc("expandedDetails"),h.data()),i.commit().then(()=>{this.router.navigate([o],{relativeTo:this.activatedRoute})})}}))}_duplicateConfirm(){return this.popupService.open({text:"This will duplicate the service. Are you sure?",showCancelButton:!0})}};fo.\u0275fac=function(a){return new(a||fo)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U.pZw),e.\u0275\u0275directiveInject(Dt.ux),e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(U.qLq),e.\u0275\u0275directiveInject(ti))},fo.\u0275cmp=e.\u0275\u0275defineComponent({type:fo,selectors:[["tn-service-management-page"]],decls:14,vars:3,consts:[[1,"container","pt3","pb6"],[1,"mb-20"],[1,"service-category__sub-container"],[1,"flex","justify-between"],[1,"fw6","f4","mb2","ph2"],[1,"mb2"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["addServiceButton","btnSize"],["uiIcon","add",3,"size"],[3,"service","bookingConfig","edit","deleted","thumbnailClicked","duplicate",4,"ngFor","ngForOf","ngForTrackBy"],[3,"service","bookingConfig","edit","deleted","thumbnailClicked","duplicate"]],template:function(a,t){if(1&a&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h1",1),e.\u0275\u0275text(2,"Manage Services"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"div")(4,"div",2)(5,"div",3)(6,"div",4),e.\u0275\u0275text(7,"Services"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"div",5)(9,"button",6,7),e.\u0275\u0275listener("click",function(){return t.addService()}),e.\u0275\u0275element(11,"i",8),e.\u0275\u0275text(12," Add Service "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(13,w0,1,2,"tn-service-management-card",9),e.\u0275\u0275elementEnd()()()),2&a){const i=e.\u0275\u0275reference(10);e.\u0275\u0275advance(11),e.\u0275\u0275property("size",i.iconSize),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngForOf",t.serviceDocs)("ngForTrackBy",t.trackById)}},directives:[_t.s,ht.V,mt.a,S.NgForOf,Vm],styles:[".service-category__container[_ngcontent-%COMP%]{border-radius:3px;border:1px solid #f1f1f1;margin-bottom:8px}.service-category__sub-container[_ngcontent-%COMP%]{min-height:60px}.service-category__header[_ngcontent-%COMP%]{background-color:#fff;padding:8px 16px;align-items:center;display:flex;cursor:pointer}.service-category__title[_ngcontent-%COMP%]{font-size:18px;font-weight:600}.active-order-width[_ngcontent-%COMP%]{max-width:370px}tn-service-management-card[_ngcontent-%COMP%]{margin-bottom:16px;display:block}
1.card-header[_ngcontent-%COMP%], .card-body[_ngcontent-%COMP%]{padding:16px}.thumbnail[_ngcontent-%COMP%]{width:149px;height:90px;margin-bottom:0;background-color:#eaeaea;background-position:center center;background-repeat:no-repeat;background-size:cover}.toggle-position[_ngcontent-%COMP%]{top:2px;position:relative}"]}),fo=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[Mt.ST,U.pZw,Dt.ux,U.Y4r,Qe.F0,Qe.gz,U.qLq,ti])],fo);const k0=["paginator"];function E0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"tn-orders-table",18),e.\u0275\u0275listener("columnsChanged",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).columnsChangedHandler(o)})("toggleViewOrderDetails",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext(3).toggleViewOrderDetails(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("showYear",!!i.filterObject.search)("type",i.type)("columns",i.tableStateService.videoManagementColumns)("dataSource",t.dataSource)("activeOrderId",null==i.activeOrder?null:i.activeOrder.id)("selection",i.selection)}}function O0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"mat-expansion-panel",15),e.\u0275\u0275listener("closed",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(2).setPanelState(l.value,!1)})("opened",function(){const l=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext(2).setPanelState(l.value,!0)}),e.\u0275\u0275elementStart(1,"mat-expansion-panel-header")(2,"mat-panel-title"),e.\u0275\u0275element(3,"tn-orders-accordion-header-title",16),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(4,"mat-panel-description"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(5,E0,2,6,"ng-template",17),e.\u0275\u0275elementEnd()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("expanded",i.tableStateService.ordersTableState.viewState.accordions[t.value])("cdkDropListData",t.value),e.\u0275\u0275advance(3),e.\u0275\u0275property("type",t.value)("label",t.label)("count",null==t.dataSource?null:t.dataSource.length)}}function I0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",5)(1,"h1"),e.\u0275\u0275text(2,"Video Projects"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"tn-filter-bar",6),e.\u0275\u0275listener("filterObjectChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().filterObject=o})("filterObjectChange",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().onFilterChanged(o)}),e.\u0275\u0275pipe(4,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",7)(6,"mat-paginator",8,9),e.\u0275\u0275listener("page",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().handlePage(o)}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"tn-collapse-expand-button",10),e.\u0275\u0275listener("toggle",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().toggleAccordionExpansion(o)}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(9,"div",11)(10,"mat-accordion",12),e.\u0275\u0275template(11,O0,6,5,"mat-expansion-panel",13),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"mat-paginator",14,9),e.\u0275\u0275listener("page",function(o){return e.\u0275\u0275restoreView(t),e.\u0275\u0275nextContext().handlePage(o)}),e.\u0275\u0275elementEnd()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngClass",t.activeOrder?"w-70":"w-100"),e.\u0275\u0275advance(3),e.\u0275\u0275property("options",t.filterOptions)("isLimitedContractorAccess",e.\u0275\u0275pipeBind1(4,15,t.isLimitedContractorAccess$))("filterObject",t.filterObject),e.\u0275\u0275advance(3),e.\u0275\u0275property("disabled",t.fetchingData)("pageSize",t.defaultPageSize)("length",t.length)("pageSizeOptions",t.pageSizeOptions),e.\u0275\u0275advance(2),e.\u0275\u0275property("collapsed",t.tableStateService.ordersTableState.viewState.accordionAllCollapsedState),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngForOf",t.ordersByStatus)("ngForTrackBy",t.trackByStatus),e.\u0275\u0275advance(1),e.\u0275\u0275property("disabled",t.fetchingData)("pageSize",t.defaultPageSize)("length",t.length)("pageSizeOptions",t.pageSizeOptions)}}
1function D0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",19),e.\u0275\u0275element(1,"tn-admin-active-order-details-sync-state",20),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275elementStart(3,"div",21)(4,"tn-order-details-form",22),e.\u0275\u0275listener("closePanel",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return o.toggleViewOrderDetails(o.activeOrder)}),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275elementEnd()()()}if(2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("requestStatus",e.\u0275\u0275pipeBind1(2,4,t.dataSavingStatus$)),e.\u0275\u0275advance(3),e.\u0275\u0275property("orderId",t.activeOrder.id)("isLimitedContractorAccess",e.\u0275\u0275pipeBind1(5,6,t.isLimitedContractorAccess$))("isLimitedStaffAccess",e.\u0275\u0275pipeBind1(6,8,t.isLimitedStaffAccess$))}}function M0(r,a){if(1&r&&e.\u0275\u0275element(0,"tn-order-bulk-actions",23),2&r){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("type",t.type)("orders",t.orders)("selection",t.selection)("selected",t.selection.selected)("orderStatuses",t.orderStatuses)}}const pa={search:null,dateOption:"scheduledDate",dates:null,services:[],memberIds:[],bookingFlows:[],paymentStatuses:[],escalatedOrders:!1,ordersWithCompletedTasksOnly:!1};let vo=class{constructor(a,t,i,o,l,h,y,F,te,H,re){this.projectService=a,this.authService=t,this.activatedRoute=i,this.localStorage=o,this.location=l,this.algoliaSearch=h,this.router=y,this.tableStateService=F,this.appConfigService=te,this.selectedOrderDetailsComponentStore=H,this.ordersRepositoryService=re,this.paginationIndex=[],this.selection=new Kn.Ov(!0,[]),this.defaultPageSize=50,this.pageSizeOptions=[25,50,100,200,300,500],this.filterObject={memberIds:[],services:[],bookingFlows:[],paymentStatuses:[],dates:null,search:null,dateOption:"scheduledDate"},this.filterOptions={enableServices:!0},this.orderStatuses=this.appConfigService.videoEditingStatuses,this.type=this.appConfigService.ordersVideoType,this.isLimitedContractorAccess$=this.authService.isLimitedContractorAccess$,this.isLimitedStaffAccess$=this.authService.isLimitedStaffAccess$,this.dataSavingStatus$=this.selectedOrderDetailsComponentStore.dataSavingStatus$}ngOnInit(){this.tableStateService.setVideoManagementColumns();const a=this.localStorage.retrieve("pageSize");a&&(this.defaultPageSize=a),this.restorePageAndFilter(),this.tableStateService.setVideoPanelsState()}ngOnDestroy(){this.orders$&&this.orders$.unsubscribe(),this.totalOrdersSubscription&&this.totalOrdersSubscription.unsubscribe(),this.tableStateService.saveVideoState(this.tableStateService.ordersTableState.viewState.accordions)}_loadInitialOrders(){this.getOrders("first")}handlePage(a){this.pageEvent=a,this.getOrders(0==a.pageIndex?"first":a.pageIndex>a.previousPageIndex?"next":"previous"),this.selection.clear()}toggleViewOrderDetails(a){const t=JSON.stringify(this.filterObject);this.activeOrder&&this.activeOrder.id==a.id?(this.activeOrder=null,this.paginationIndex.length?this.updateQuery({filter:t}):this.router.navigate(["."],{relativeTo:this.activatedRoute,queryParams:{filter:t}})):(this.activeOrder=a,this.updateQuery({orderId:a.id,filter:t}))}trackByStatus(a,t){return t.value}restorePageAndFilter(){if(this.restorePageSize(),!this.restoreResetFilter()){const t=this.restoreQueryOrLocalFilter();this.applyFilter(t)}this.restoreOrderOrLoadInitial()}restorePageSize(){const a=this.localStorage.retrieve("pageSize");a&&(this.defaultPageSize=a)}restoreResetFilter(){const a=this.activatedRoute.snapshot.queryParamMap.get("resetFilter");if(!a)return!1;try{return this.filterObject=JSON.parse(a),!0}catch(t){return console.error("Invalid JSON in resetFilter:",a,t),this.filterObject=Object.assign({},pa),!1}}restoreQueryOrLocalFilter(){const a=this.activatedRoute.snapshot.queryParamMap.get("filter");if(a)try{return JSON.parse(a)}catch(i){console.error("Invalid JSON in filter query param:",i)}const t=this.localStorage.retrieve("videoProjectFilterObject");return t?(this.updateQuery({filter:JSON.stringify(t)}),t):null}applyFilter(a){if(a){this.filterObject=a;const t=this.filterObject.dates;t&&(t.startDate=t.startDate?w()(t.startDate):void 0,t.endDate=t.endD
1ate?w()(t.endDate):void 0)}}restoreOrderOrLoadInitial(){const a=this.activatedRoute.snapshot.queryParamMap.get("orderId");a?(this._getOrder(a),this.length=1,this.paginationIndex=[]):this._loadInitialOrders()}onFilterChanged(a){this.updateFilter(a),this.getOrders("first")}toggleAccordionExpansion(a=!1){a?this.accordion.closeAll():this.accordion.openAll()}_getOrder(a){this.orders$=this.ordersRepositoryService.getById$(a).subscribe(t=>{this.orders=[t],this._segmentDataSourcesByStatus([t]),this.activeOrder=t})}search(a="",t=[],i){var o,l;return(0,De.mG)(this,void 0,void 0,function*(){const h=yield this.createFacets(),y=this.createFilters(),F=(null===(o=this.pageEvent)||void 0===o?void 0:o.pageIndex)||0,te=(null===(l=this.pageEvent)||void 0===l?void 0:l.pageSize)||this.defaultPageSize,{hits:H,nbHits:re}=yield this.algoliaSearch.orderIndex.search(a,Object.assign({page:F,hitsPerPage:te,attributesToRetrieve:t,filters:y,facetFilters:h,allowTyposOnNumericTokens:!1},i&&{restrictSearchableAttributes:i})),ve=H.map(ie=>ie.objectID);this.length=re,this.getOrdersById(ve),this.localStorage.store("videoProjectFilterObject",this.filterObject),this.pageEvent&&this.localStorage.store("pageSize",this.pageEvent.pageSize)})}getOrders(a){var t;return(0,De.mG)(this,void 0,void 0,function*(){return null===(t=this.orders$)||void 0===t||t.unsubscribe(),"first"===a&&this.paginator&&0!==this.paginator.pageIndex&&(this.paginator.pageIndex=0),this.filterObject.search?this.search(this.filterObject.search,["orderNo"],["client_full_name","coupon","brokerage_code","property_address.formatted_address","property_address.line2","email","order_name","contact_notes","packages","listingAgents","services","invoiceNo","orderNo"]):this.search()})}_segmentDataSourcesByStatus(a){a.forEach(t=>{t&&!t.videoStatus&&(t.videoStatus=this.orderStatuses[0].value)}),a=a.filter(t=>t&&t.videoProject),this.ordersByStatus=this.orderStatuses.map(t=>{const i=a.filter(o=>o&&o.videoStatus==t.value);return Object.assign(Object.assign({},t),{dataSource:i})})}unsubscribeOrderSubscription(){this.orderSubscription&&this.orderSubscription.unsubscribe()}getOrdersById(a){if(0==a.length)return this.orders=[],void this._segmentDataSourcesByStatus([]);this.unsubscribeOrderSubscription(),this.orderSubscription=this.ordersRepositoryService.getManyByIds$(a).pipe((0,qe.U)(t=>t.filter(Boolean)),(0,wt.t)(this)).subscribe(t=>{this._segmentDataSourcesByStatus(t),this.orders=t}),this.paginationIndex=[]}createFilters(){const a=["videoProject=1"],{dates:t,dateOption:i}=this.filterObject;if((null==t?void 0:t.startDate)&&(null==t?void 0:t.endDate)){const o=(0,ge.u9c)(i),l=t.startDate.valueOf(),h=t.endDate.valueOf(),y=`${o}:${l} TO ${h}`;a.push("scheduledDate"===i?`(${y} OR eventTimestamps:${l} TO ${h})`:y)}return a.join(" AND ")}createFacets(){return(0,De.mG)(this,void 0,void 0,function*(){let a=[],t=[];return(yield this.getIsLimitedContractorAccess())?a=["members:"+this.authService.currentUser.uid]:this.filterObject.memberIds&&(a=this.filterObject.memberIds.map(o=>"members:"+o)),this.filterObject.services&&(t=this.filterObject.services.map(o=>"services:"+o)),[a,t].filter(Array.isArray)})}setPanelState(a,t=!1){this.tableStateService.setPanelState(a,t)}columnsChangedHandler(a){this.tableStateService.videoManagementColumnChange(a)}getIsLimitedContractorAccess(){return this.isLimitedContractorAccess$.pipe((0,Nt.q)(1)).toPromise()}updateQuery(a){const t=this.router.createUrlTree(["."],{queryParams:a,relativeTo:this.activatedRoute}).toString();this.location.replaceState(t)}pickFilterOptions(a){return this.updateQuery({filter:JSON.stringify(a)}),{search:a.search,dateOption:a.dateOption||pa.dateOption,dates:a.dates,services:a.services||pa.services,memberIds:a.memberIds||pa.memberIds,bookingFlows:a.bookingFlows||pa.bookingFlows,paymentStatuses:a.paymentStatuses||pa.paymentStatuses,escalatedOrders:a.escalatedOrders,ordersWithCompletedTasksOnly:a.ordersWithCompletedTasksOnly}}updateFilter(a){const t=this.pickFilterOptions(a);if(t.search&&(t.escalatedOrders=!1,t.ordersWithCompletedTasksOnly=!1),t.dates){const{startDate:i,endDate:o}=t.dates;t.dates={startDate:i?w()(i):void 0,endDate:o?w()(o):void 0}}t.dateOption||(t.dateOption="scheduledDate"),a.search&&!this.filterObject.search&&(this.orders=[]),this.filterObject=Object.assign(Object.assign({},this.filterObject),t)}};vo.\u0275fac=function(a){return new(a||vo)(e.\u0275\u0275directiveInject(U.Y4r),e.\u0275\u0275directiveInject(U.e80),e.\u0275\u0275directiveInject(Qe.gz),e.\u0275\u0275directiveInject(ir.n2),e.\u0275\u0275directiveInject(S.Location),e.\u0275\u0275directiveInject(U.ewU),e.\u0275\u0275directiveInject(Qe.F0),e.\u0275\u0275directiveInject(Rl),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(bn.HU),e.\u0275\u0275directiveInject(U.HVf))}
1,vo.\u0275cmp=e.\u0275\u0275defineComponent({type:vo,selectors:[["tn-video-project-management-page"]],viewQuery:function(a,t){if(1&a&&(e.\u0275\u0275viewQuery(k0,5),e.\u0275\u0275viewQuery(Y.pp,5)),2&a){let i;e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.paginator=i.first),e.\u0275\u0275queryRefresh(i=e.\u0275\u0275loadQuery())&&(t.accordion=i.first)}},features:[e.\u0275\u0275ProvidersFeature([bn.HU])],decls:6,vars:3,consts:[[1,"app-v2","page-wrapper"],[1,"order-management"],["class","order-management__table-container",3,"ngClass",4,"ngIf"],["class","active-order-details w-30 ml-2 active-order-bounds",4,"ngIf"],[3,"type","orders","selection","selected","orderStatuses",4,"ngIf"],[1,"order-management__table-container",3,"ngClass"],[3,"options","isLimitedContractorAccess","filterObject","filterObjectChange"],[1,"flex","items-center"],[1,"app-v2","flex-1",3,"disabled","pageSize","length","pageSizeOptions","page"],["paginator",""],["tooltipPosition","left",1,"ml-8",3,"collapsed","toggle"],["cdkDropListGroup",""],["multi","",1,"app-v2","example-headers-align"],["cdkDropList","","cdkDropListSortingDisabled","",3,"expanded","cdkDropListData","closed","opened",4,"ngFor","ngForOf","ngForTrackBy"],[1,"app-v2",3,"disabled","pageSize","length","pageSizeOptions","page"],["cdkDropList","","cdkDropListSortingDisabled","",3,"expanded","cdkDropListData","closed","opened"],[3,"type","label","count"],["matExpansionPanelContent",""],[3,"showYear","type","columns","dataSource","activeOrderId","selection","columnsChanged","toggleViewOrderDetails"],[1,"active-order-details","w-30","ml-2","active-order-bounds"],[3,"requestStatus"],[1,"card","h-100","overflow-scroll"],[1,"mt-32",3,"orderId","isLimitedContractorAccess","isLimitedStaffAccess","closePanel"],[3,"type","orders","selection","selected","orderStatuses"]],template:function(a,t){1&a&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1),e.\u0275\u0275template(2,I0,14,17,"div",2),e.\u0275\u0275template(3,D0,7,10,"div",3),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,M0,1,5,"tn-order-bulk-actions",4),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(5,"tn-order-event-sync-dialog")),2&a&&(e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.orders),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.activeOrder),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.selection.selected.length>0))},directives:[S.NgIf,S.NgClass,Nl,W.NW,Em,n.Fd,Y.pp,S.NgForOf,Y.ib,n.Wj,Y.yz,Y.yK,tm,Y.u4,Y.HS,nm,zs,Us.k,Im,Qp],pipes:[S.AsyncPipe],styles:[".page-wrapper[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.page-wrapper[_ngcontent-%COMP%] .mat-content{overflow:visible}"]}),vo=(0,De.gn)([(0,wt.c)(),(0,De.w6)("design:paramtypes",[U.Y4r,U.e80,Qe.gz,ir.n2,S.Location,U.ewU,Qe.F0,Rl,U._ZM,bn.HU,U.HVf])],vo);const P0=[{path:"",component:Rr,children:[{path:"onboard",component:wo},{path:"inbox",component:Gd},{path:"order-management",component:Wn,canActivate:[bn.yq],data:{featureType:U.NbB.OrdersManagement}},{path:"order-management-beta",loadChildren:()=>Promise.resolve().then(_.bind(_,38933)).then(r=>r.OrdersFeatureOrderManagementModule),canActivate:[bn.yq],data:{featureType:U.NbB.OrdersManagement,isBeta:!0}},{path:"order-management/:orderId",component:co,canActivate:[bn.yq],data:{featureType:U.NbB.OrdersManagement}},{path:"archived-order-management",component:Hr,canActivate:[bn.yq],data:{featureType:U.NbB.OrdersManagement}},{path:"video-management",component:vo},{path:"",canActivate:[U.e34],data:{canAccess:[He.Pv.STAFF,He.Pv.ADMIN,He.Pv.CONTRACTOR],featureType:U.NbB.Reporting},children:[{path:"jobs",children:[{path:"beta",loadChildren:()=>_.e(8672).then(_.bind(_,48672)).then(r=>r.JobsManagementShellModule)},{path:"",component:Tl},{path:"configure",component:jc},{path:"configure/:jobTemplateId",component:cn},{path:":jobId",component:_p}]},{path:"reporting/orders-reporting",component:mC},{path:"reporting/contractor-reporting",loadChildren:()=>Promise.all([_.e(72),_.e(2451)]).then(_.bind(_,22451)).then(r=>
1r.ReportingFeaturePhotographersPayoutModule),canActivate:[U.vO0],data:{permissions:{action:"manage",subjectType:"Reporting",field:"contractor"}}},{path:"reporting/editor-reporting",loadChildren:()=>Promise.all([_.e(72),_.e(7744)]).then(_.bind(_,67744)).then(r=>r.ReportingFeatureEditorsPayoutModule),canActivate:[U.vO0],data:{permissions:{action:"manage",subjectType:"Reporting",field:"editor"}}},{path:"reporting/domains-reporting",loadChildren:()=>_.e(2529).then(_.bind(_,2529)).then(r=>r.ReportingFeatureDomainsModule)},{path:"reporting/rendered-videos-reporting",loadChildren:()=>_.e(9763).then(_.bind(_,79763)).then(r=>r.ReportingFeatureRenderedVideosModule)},{path:"reporting/missed-scheduling",loadChildren:()=>_.e(2046).then(_.bind(_,32046)).then(r=>r.FeatureMissedOpportunitiesModule)},{path:"reporting/mileage",loadChildren:()=>Promise.all([_.e(72),_.e(8592),_.e(5133)]).then(_.bind(_,35133)).then(r=>r.ReportingFeatureMileageModule),canActivate:[U.vO0],data:{permissions:{action:"manage",subjectType:"Reporting",field:"mileage"}}},{path:"overview",loadChildren:()=>_.e(4069).then(_.bind(_,94069)).then(r=>r.FeatureDashboardModule)}]},{path:"booking",canActivate:[U.e34],data:{canAccess:[He.Pv.ADMIN]},children:[{path:"custom-packages",component:dd},{path:"general/email-templates/:templateType",component:tr},{path:"custom-packages/:packageId",component:Rm},{path:"general",component:ho},{path:"scheduling",component:_o},{path:"invoicing",component:Zd},{path:"packages",component:w1},{path:"booking-flows",component:Aa},{path:"booking-flows/:bookingFlowId",component:Xi},{path:"packages/:packageId",component:Rm},{path:"services",component:fo},{path:"services/:serviceId",component:Yy},{path:"coupons",component:cc},{path:"coupons/:couponId",component:nc}]},{path:"referral-register",canActivate:[U.e34],data:{canAccess:[He.Pv.ADMIN]},loadChildren:()=>_.e(2094).then(_.bind(_,22094)).then(r=>r.ReferralRegisterModule),pathMatch:"full"}]}];let F0=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=e.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=e.\u0275\u0275defineInjector({imports:[[Qe.Bz.forChild(P0)],Qe.Bz]}),r})();var A0=_(21358);function B0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",17),e.\u0275\u0275text(1,"Deadline"),e.\u0275\u0275elementEnd())}function j0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",18)(1,"div"),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"dayjsDateFormat"),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind3(3,1,t.data.deadline,"MMM DD",i.timezone))}}function R0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",17),e.\u0275\u0275text(1,"Shoot date"),e.\u0275\u0275elementEnd())}function V0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",18)(1,"div"),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"dayjsDateFormat"),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind3(3,1,t.data.date,"MMM DD",i.timezone))}}function L0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",17),e.\u0275\u0275text(1,"Service"),e.\u0275\u0275elementEnd())}function N0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",18),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",null==t.data.linkedTo?null:t.data.linkedTo.names," ")}}function $0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",17),e.\u0275\u0275text(1,"Job"),e.\u0275\u0275elementEnd())}function z0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",18),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.data.jobTitle," ")}}function U0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",17),e.\u0275\u0275text(1,"Order"),e.\u0275\u0275elementEnd())}function H0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",18),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.data.orderName," ")}}function W0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",17),e.\u0275\u0275text(1,"Estimated Workload"),e.\u0275\u0275elementEnd())}function G0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",19),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.data.workload?t.data.workload+" hrs":"Not set"," ")}}function K0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",17),e.\u0275\u0275text(1,"Team"),e.\u0275\u0275elementEnd())}
1function Z0(r,a){if(1&r&&(e.\u0275\u0275elementStart(0,"td",20)(1,"ui-assign-job",21),e.\u0275\u0275listener("click",function(i){return i.stopPropagation()}),e.\u0275\u0275elementEnd()()),2&r){const t=a.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("job",t.data)("jobId",t.id)}}function Q0(r,a){1&r&&(e.\u0275\u0275elementStart(0,"th",17),e.\u0275\u0275text(1,"Job Status"),e.\u0275\u0275elementEnd())}function J0(r,a){if(1&r){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"td",22)(1,"ui-select",23),e.\u0275\u0275listener("click",function(o){return o.stopPropagation()})("selectionChange",function(o){const h=e.\u0275\u0275restoreView(t).$implicit;return e.\u0275\u0275nextContext().changeJobStatus(h,o)}),e.\u0275\u0275pipe(2,"objectToSelectOptions"),e.\u0275\u0275elementEnd()()}if(2&r){const t=a.$implicit,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("items",e.\u0275\u0275pipeBind1(2,2,i.jobStatuses))("value",t.data.status)}}function Y0(r,a){1&r&&e.\u0275\u0275element(0,"tr",24)}const X0=function(r){return["/admin/jobs",r]};function q0(r,a){1&r&&e.\u0275\u0275element(0,"tr",25),2&r&&e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction1(1,X0,a.$implicit.id))}function e2(r,a){1&r&&(e.\u0275\u0275elementStart(0,"div",26),e.\u0275\u0275text(1," No Jobs found.\n"),e.\u0275\u0275elementEnd())}let t2=(()=>{class r{constructor(t,i,o){this.afs=t,this.appConfigService=i,this.notificationService=o,this.jobStatuses=this.appConfigService.jobStatuses,this.readOnly=!1,this.displayedColumns=["shootDate","service","orderName","status","jobTitle","workload","team"]}get timezone(){return this.appConfigService.timeZone}ngOnChanges(t){t.sortByShootDate&&(this.displayedColumns.shift(),this.displayedColumns.unshift(this.sortByShootDate?"shootDate":"deadline"))}trackById(t,i){return i.doc.id}changeJobStatus(t,i){const o=this.afs.firestore.batch(),l=`moved the job to **${i}**`;o.update(t.doc.ref,{status:i}),o.set(t.doc.ref.collection("messages").doc(this.afs.createId()),{type:"event",text:l,user:this.notificationService.userId,ts:Date.now()}),this.notificationService.setBatchNotification(o,{userId:this.notificationService.userId,text:l,ts:Date.now(),type:"message",link:`/admin/jobs/${t.id}`},t.data.members),o.commit()}}return r.\u0275fac=function(t){return new(t||r)(e.\u0275\u0275directiveInject(Mt.ST),e.\u0275\u0275directiveInject(U._ZM),e.\u0275\u0275directiveInject(U.gqp))},r.\u0275cmp=e.\u0275\u0275defineComponent({type:r,selectors:[["tn-jobs-table"]],inputs:{dataSource:"dataSource",sortByShootDate:"sortByShootDate",readOnly:"readOnly"},features:[e.\u0275\u0275NgOnChangesFeature],decls:28,vars:5,consts:[["mat-table","",1,"orders-table",3,"dataSource","trackBy"],["matColumnDef","deadline"],["mat-header-cell","",4,"matHeaderCellDef"],["class","","mat-cell","",4,"matCellDef"],["matColumnDef","shootDate"],["matColumnDef","service"],["matColumnDef","jobTitle"],["matColumnDef","orderName"],["matColumnDef","workload"],["class","tc","mat-cell","",4,"matCellDef"],["matColumnDef","team"],["mat-cell","",4,"matCellDef"],["matColumnDef","status"],["class","order-status-column","mat-cell","",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef"],["mat-row","","tabindex","1",3,"routerLink",4,"matRowDef","matRowDefColumns"],["class","tc fw7 mv3",4,"ngIf"],["mat-header-cell",""],["mat-cell","",1,""],["mat-cell","",1,"tc"],["mat-cell",""],[3,"job","jobId","click"],["mat-cell","",1,"order-status-column"],["size","small",3,"items","value","click","selectionChange"],["mat-header-row",""],["mat-row","","tabindex","1",3,"routerLink"],[1,"tc","fw7","mv3"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"table",0),e.\u0275\u0275elementContainerStart(1,1),e.\u0275\u0275template(2,B0,2,0,"th",2),e.\u0275\u0275template(3,j0,4,5,"td",3),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(4,4),e.\u0275\u0275template(5,R0,2,0,"th",2),e.\u0275\u0275template(6,V0,4,5,"td",3),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(7,5),e.\u0275\u0275template(8,L0,2,0,"th",2),e.\u0275\u0275template(9,N0,2,1,"td",3),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(10,6),e.\u0275\u0275template(11,$0,2,0,"th",2),e.\u0275\u0275template(12,z0,2,1,"td",3),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(13,7),e.\u0275\u0275template(14,U0,2,0,"th",2),e.\u0275\u0275template(15,H0,2,1,"td",3),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(16,8),e.\u0275\u0275template(17,W0,2,0,"th",2),e.\u0275\u0275template(18,G0,2,1,"td",9),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(19,10),e.\u0275\u0275template(20,K0,2,0,"th",2),e.\u0275\u0275template(21,Z0,2,2,"td",11),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementContainerStart(22,12),e.\u0275\u0275template(23,Q0,2,0,"th",2),e.\u0275\u0275template(24,J0,3,4,"td",13),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275template(25,Y0,1,0,"tr",14),e.\u0275\u0275template(26,q0,1,3,"tr",15),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(27,e2,2,0,"div",16)),2&t&&(e.\u0275\u0275property("dataSource",i.dataSource)("trackBy",i.trackById),e.\u0275\u0275advance(25),e.\u0275\u0275property("matHeaderRowDef",i.displayedColumns),e.\u0275\u0275advance(1),e.\u0275\u0275property("matRowDefColumns",i.displayedColumns),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.dataSource&&0===i.dataSource.filteredData.length))},directives:[$.BZ,$.w1,$.fO,$.ge,$.Dz,$.ev,zi,tn.H,$.as,$.XQ,$.nj,$.Gk,Qe.rH,S.NgIf],pipes:[qt.B,A0.N],styles:[""]}),r})(),n2=(()=>{class r{}return r.\u0275fac=function(t){return new(t||r)},r.\u0275mod=e.\u0275\u0275defineNgModule({type:r}),r.\u0275inj=e.\u0275\u0275defineInjector({providers:[gt.OWO,gt.ED7,bn.yV,yo.FlyerDataDialogService,gt.FjN],imports:[[S.CommonModule,gt.xq7,gt.AD6,gt.J42,k,F0,$.p0,ba.m,dr.zH,cr.Ie,Q.p9,u.Sr,B.XK,G,P.FA,n._t,A.U8,bi.mR9,Z.Qv,Gn.n1,Me.rP,Y.To,T.Nh,Ke,X._8,bo,W.TU,gt.PxN,Ca.gq,gt.eYi,gt.kWm,gt.kx_,gt.sJM,gt.OUg,gt.TXv,gt.OoG,wn.g,Ui.$p,fa.HE,an.vr,jr,xo.aM,Ui.JB,gt.b9z,gt.cf5,gt.J42,gt.khq,de.aw,gt.Apv,gt.k8j,gt.lNR,In.vO,va.OrdersFeatureOrderManagementModule,gt.Nnw,gt.IUK,Ui.nx,pr.xk,gt.sO,gt.Avp,gt.D6P]]}),r})();e.\u0275\u0275setComponentScope(Tl,[Nl,Me.Rr,ee.JJ,ee.On,_t.s,ht.V,mt.a,S.NgIf,tn.H,T.BU,S.NgForOf,T.Nj,Y.pp,Y.ib,Y.yz,Y.yK,Y.u4,Y.HS,t2,W.NW,Ni.Ou],[S.TitleCasePipe])},96980:(It,me,_)=>{"use strict";_.d(me,{VH:()=>p.V,zH:()=>I,al:()=>J.a});var u=_(69808),n=_(93075),A=_(85899),S=_(2638),Z=_(87238),e=_(74202),B=_(17663),L=_(49943),D=_(96410),w=_(5e3);let I=(()=>{class G{}return G.\u0275fac=function(P){return new(P||G)},G.\u0275mod=w.\u0275\u0275defineNgModule({type:G}),G.\u0275inj=w.\u0275\u0275defineInjector({imports:[[u.CommonModule,n.u5,e.Bz,A.Cv,S.SJ,Z.AV,B.fi,L.j3,D.QX1,D.cKw,D.FxY,D.FqG]]}),G})();var p=_(94277),J=_(13715);_(55800),_(80384),_(83089),_(28506)},51330:(It,me,_)=>{"use strict";_.d(me,{T:()=>Z});var u=_(5e3),n=_(69808),A=_(255);function S(e,B){if(1&e){const L=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"div",2),u.\u0275\u0275listener("click",function(w){return w.stopPropagation()}),u.\u0275\u0275elementStart(1,"i",3),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(L),u.\u0275\u0275nextContext().remove.emit()}),u.\u0275\u0275elementEnd()()}}let Z=(()=>
1{class e{constructor(){this.readonly=!1,this.remove=new u.EventEmitter}openLink(){window.open(this.attachment.link,"_blank")}}return e.\u0275fac=function(L){return new(L||e)},e.\u0275cmp=u.\u0275\u0275defineComponent({type:e,selectors:[["ui-chat-attachment"]],inputs:{attachment:"attachment",readonly:"readonly"},outputs:{remove:"remove"},decls:3,vars:2,consts:[[1,"pv1","ph2","bg-attachment","br1","white","hover","dib","mb2","relative",3,"click"],["class","pl1 dib",3,"click",4,"ngIf"],[1,"pl1","dib",3,"click"],["uiIcon","close",1,"pointer",3,"click"]],template:function(L,D){1&L&&(u.\u0275\u0275elementStart(0,"div",0),u.\u0275\u0275listener("click",function(){return D.openLink()}),u.\u0275\u0275text(1),u.\u0275\u0275template(2,S,2,0,"div",1),u.\u0275\u0275elementEnd()),2&L&&(u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",D.attachment.name," "),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",!D.readonly))},directives:[n.NgIf,A.a],styles:[".bg-attachment[_ngcontent-%COMP%]{background-color:#4087be}"]}),e})()},28506:(It,me,_)=>{"use strict";_.d(me,{g:()=>z});var u=_(95113),n=_(5e3),A=_(17663),S=_(21086),Z=_(87224),e=_(94277),B=_(13715),L=_(69808),D=_(85899),w=_(93075),I=_(255);function p(ne,j){1&ne&&n.\u0275\u0275element(0,"mat-progress-bar",2)}const J=function(ne){return{"o-20":ne}};function O(ne,j){if(1&ne){const G=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",3)(1,"quill-editor",4),n.\u0275\u0275listener("ngModelChange",function(P){return n.\u0275\u0275restoreView(G),n.\u0275\u0275nextContext().chatInput=P})("keydown.enter",function(){n.\u0275\u0275restoreView(G);const P=n.\u0275\u0275nextContext();return!P.isMobile&&P.submitChat()})("onEditorCreated",function(P){return n.\u0275\u0275restoreView(G),n.\u0275\u0275nextContext().handleQuillCreated(P)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(2,"div",5)(3,"div",6),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(G),n.\u0275\u0275nextContext().submitChat()}),n.\u0275\u0275pipe(4,"async"),n.\u0275\u0275element(5,"i",7),n.\u0275\u0275elementEnd()()()}if(2&ne){const G=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("formats",G.formats)("modules",G.modules)("ngModel",G.chatInput),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction1(7,J,!G.chatInput||n.\u0275\u0275pipeBind1(4,5,G.isImageUploading$))),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",22)}}let z=(()=>{class ne{constructor(G,Q){this.chatService=G,this.chatSubmit=new n.EventEmitter,this.modules=null,this.isMobile=!1,this.mentionsOpen=!1,this.chatInput="",this.uploading=!1,this.isImageUploading$=(0,S.of)(!1),this.formats=e.V,Q.observe([u.u3.Handset]).pipe((0,Z.P)()).subscribe(P=>{P.matches&&(this.isMobile=!0)})}submitChat(){if(!this.chatInput||this.mentionsOpen)return;const G=this.chatService.turndown(this.chatInput);!G||(this.chatInput="",this.chatSubmit.emit(G))}handleQuillCreated(G){this.isImageUploading$=this.chatService.setupImagePasteHandler(G)}}return ne.\u0275fac=function(G){return new(G||ne)(n.\u0275\u0275directiveInject(B.a),n.\u0275\u0275directiveInject(u.Yg))},ne.\u0275cmp=n.\u0275\u0275defineComponent({type:ne,selectors:[["ui-chat-composer"]],viewQuery:function(G,Q){if(1&G&&n.\u0275\u0275viewQuery(A.g6,5),2&G){let P;n.\u0275\u0275queryRefresh(P=n.\u0275\u0275loadQuery())&&(Q.editor=P.first)}},inputs:{modules:"modules"},outputs:{chatSubmit:"chatSubmit"},decls:3,vars:4,consts:[["class","upload-progress-bar","mode","indeterminate",4,"ngIf"],["class","pb3 chat-editor-wrapper",4,"ngIf"],["mode","indeterminate",1,"upload-progress-bar"],[1,"pb3","chat-editor-wrapper"],[1,"app-v2",3,"formats","modules","ngModel","ngModelChange","keydown.enter","onEditorCreated"],[1,"dn-ns","flex","p-16"],[1,"ml-auto","ph1",3,"ngClass","click"],["uiIcon","send",3,"size"]],template:function(G,Q){1&G&&(n.\u0275\u0275template(0,p,1,0,"mat-progress-bar",0),n.\u0275\u0275pipe(1,"async"),n.\u0275\u0275template(2,O,6,9,"div",1)),2&G&&(n.\u0275\u0275property("ngIf",Q.uploading||n.\u0275\u0275pipeBind1(1,2,Q.isImageUploading$)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",Q.modules))},directives:[L.NgIf,D.pW,A.g6,w.JJ,w.On,L.NgClass,I.a],pipes:[L.AsyncPipe],styles:[""]}),ne})()},23044:(It,me,_)=>{"use strict";_.d(me,{x:()=>n});var u=_(5e3);let n=(()=>{class A{constructor(){this.dropped=new u.EventEmitter,this.hovered=new u.EventEmitter}onDrop(Z){Z.preventDefault(),Z.dataTransfer&&this.dropped.emit(Z.dataTransfer.files),this.hovered.emit(!1)}onDragOver(Z){Z.preventDefault(),this.hovered.emit(!0)}onDragLeave(Z){Z.preventDefault(),this.hovered.emit(!1)}}return A.\u0275fac=function(Z){return new(Z||A)},A.\u0275dir=u.\u0275\u0275defineDirective({type:A,selectors:[["","uiC
1hatDropzone",""]],hostBindings:function(Z,e){1&Z&&u.\u0275\u0275listener("drop",function(L){return e.onDrop(L)})("dragover",function(L){return e.onDragOver(L)})("dragleave",function(L){return e.onDragLeave(L)})},outputs:{dropped:"dropped",hovered:"hovered"}}),A})()},83917:(It,me,_)=>{"use strict";function n(A,S,Z){return S?function u(A,S){var Z;const e=null!==(Z=A.match(/<@(.*?)>/g))&&void 0!==Z?Z:[];return[...new Set(e.map(L=>L.slice(2,-1)))].flatMap(L=>{const D=S.find(w=>w.value===L);return D?D.memberIds.map(w=>({id:w,type:D.type})):[]})}(A,S):Z.parseMentionedMembers(A)}_.d(me,{N:()=>n})},83089:(It,me,_)=>{"use strict";_.d(me,{R:()=>nt});var u=_(5e3),n=_(70127),A=_(78240),S=_(658),Z=_(94277),B=_(13715),L=_(49943),D=_(22962),w=_(78176),I=_(69808),p=_(75518),J=_(74202),O=_(51330),z=_(87238),ne=_(85899),j=_(17663),G=_(93075),Q=_(66809),P=_(72751),Y=_(255),W=_(90384);function Me(k,$){if(1&k&&u.\u0275\u0275element(0,"ui-avatar",7),2&k){const T=u.\u0275\u0275nextContext();u.\u0275\u0275property("src",null==T.message.user?null:T.message.user.photoURL)("name",null==T.message.user?null:T.message.user.displayName)("email",null==T.message.user?null:T.message.user.email)}}function Ue(k,$){1&k&&u.\u0275\u0275element(0,"img",8)}function ue(k,$){1&k&&(u.\u0275\u0275elementStart(0,"span",20),u.\u0275\u0275text(1,"(edited)"),u.\u0275\u0275elementEnd())}const N=function(k){return[k]};function _e(k,$){if(1&k&&(u.\u0275\u0275elementStart(0,"div")(1,"a",21),u.\u0275\u0275text(2,"[ Link ]"),u.\u0275\u0275elementEnd()()),2&k){const T=u.\u0275\u0275nextContext(2);u.\u0275\u0275advance(1),u.\u0275\u0275property("routerLink",u.\u0275\u0275pureFunction1(1,N,T.message.internalLink))}}function V(k,$){if(1&k){const T=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"ui-chat-attachment",24),u.\u0275\u0275listener("remove",function(){const lt=u.\u0275\u0275restoreView(T).$implicit;return u.\u0275\u0275nextContext(3).removeChatAttachment(lt)}),u.\u0275\u0275elementEnd()}if(2&k){const T=$.$implicit,X=u.\u0275\u0275nextContext(3);u.\u0275\u0275property("readonly",!X.editing)("attachment",T)}}function pe(k,$){if(1&k&&(u.\u0275\u0275elementStart(0,"div",22),u.\u0275\u0275template(1,V,1,2,"ui-chat-attachment",23),u.\u0275\u0275elementEnd()),2&k){const T=u.\u0275\u0275nextContext(2);u.\u0275\u0275advance(1),u.\u0275\u0275property("ngForOf",T.message.files)}}const Se=function(k){return{reacted:k}};function Be(k,$){if(1&k){const T=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"div",25)(1,"button",26),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).toggleThumbsUp()}),u.\u0275\u0275element(2,"span",27),u.\u0275\u0275elementStart(3,"span",28),u.\u0275\u0275text(4),u.\u0275\u0275elementEnd()()()}if(2&k){const T=u.\u0275\u0275nextContext(2);u.\u0275\u0275advance(1),u.\u0275\u0275property("matTooltip",T.thumbsUpTooltip)("ngClass",u.\u0275\u0275pureFunction1(3,Se,T.userThumbsUp)),u.\u0275\u0275advance(3),u.\u0275\u0275textInterpolate(T.message.thumbsUp.length)}}function xe(k,$){if(1&k){const T=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"div",29),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).emitShowThread()}),u.\u0275\u0275elementStart(1,"a",30),u.\u0275\u0275text(2),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(3,"span",31),u.\u0275\u0275text(4),u.\u0275\u0275pipe(5,"dayjsDateFormat"),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(6,"span",32),u.\u0275\u0275text(7,"View Thread"),u.\u0275\u0275elementEnd()()}if(2&k){const T=u.\u0275\u0275nextContext(2);u.\u0275\u0275advance(2),u.\u0275\u0275textInterpolate(1===T.message.replyCount?"1 reply":T.message.replyCount+" replies"),u.\u0275\u0275advance(2),u.\u0275\u0275textInterpolate1("Last reply at ",u.\u0275\u0275pipeBind3(5,2,T.message.latestReply,"MMM DD, h:mm a",T.timezone),"")}}function ze(k,$){1&k&&u.\u0275\u0275element(0,"mat-progress-bar",33)}function ce(k,$){if(1&k){const T=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"div")(1,"quill-editor",34),u.\u0275\u0275listener("ngModelChange",function(de){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).chatInput=de})("keydown.enter",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).submitEdit()})("keydown.escape",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).cancelEdit()})("onEditorCreated",function(de){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).editorCreated(de)}),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(2,"div",35)(3,"button",36),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).cancelEdit()}),u.\u0275\u0275text(4," Cancel "),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(5,"button",37),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).submitEdit()}),u.\u0275\u0275text(6," Save Changes "),u.\u0275\u0275elementEnd()()()}if(2&k){const T=u.\u0275\u0275nextContext(2);u.\u0275\u0275advance(1),u.\u0275\u0275property("modules",T.modules)("formats",T.formats)("ngModel",T.chatInput)}}function ae(k,$){if(1&k&&(u.\u0275\u0275elementStart(0,"div",9)(1,"div",10),u.\u0275\u0275text(2),u.\u0275\u0275elementStart(3,"span",11),u.\u0275\u0275text(4),u.\u0275\u0275pipe(5,"dayjsDateFormat"),u.\u0275\u0275template(6,ue,2,0,"span",12),u.\u0275\u0275elementEnd()(),u.\u0275\u0275elementStart(7,"div",13),u.\u0275\u0275element(8,"showdown",14),u.\u0275\u0275elementEnd(),u.\u0275\u0275template(9,_e,3,3,"div",15),u.\u0275\u0275template(10,pe,2,1,"div",16),u.\u0275\u0275template(11,Be,5,5,"div",17),u.\u0275\u0275template(12,xe,8,6,"div",18),u.\u0275\u0275template(13,ze,1,0,"mat-progress-bar",19),u.\u0275\u0275template(14,ce,7,3,"div",15),u.\u0275\u0275elementEnd()),2&k){const T=u.\u0275\u0275nextContext();u.\u0275\u0275advance(2),u.\u0275\u0275textInterpolate1(" ",T.message.user?T.message.user.displayName:"User"," "),u.\u0275\u0275advance(2),u.\u0275\u0275textInterpolate1("",u.\u0275\u0275pipeBind3(5,11,T.message.ts,"MMM DD, h:mm a",T.timezone)," "),u.\u0275\u0275advance(2),u.\u0275\u0275property("ngIf",T.message.edited),u.\u0275\u0275advance(2),u.\u0275\u0275property("hidden",T.editing)("value",T.message.text),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",T.message.internalLink),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",T.message.files&&T.message.files.length),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",T.message.thumbsUp&&T.message.thumbsUp.length),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",T.message.replyCount),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",T.uploading),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",T.editing)}}function Ie(k,$){if(1&k&&(u.\u0275\u0275elementStart(0,"div",38)(1,"div",39)(2,"span"),u.\u0275\u0275text(3),u.\u0275\u0275elementEnd(),u.\u0275\u0275element(4,"span",40),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(5,"div",41),u.\u0275\u0275text(6),u.\u0275\u0275pipe(7,"dayjsDateFormat"),u.\u0275\u0275elementEnd()()),2&k){const T=u.\u0275\u0275nextContext();u.\u0275\u0275advance(3),u.\u0275\u0275textInterpolate1("",T.message.user?T.message.user.displayName:"User"," "),u.\u0275\u0275advance(1),u.\u0275\u0275property("showdown",T.message.text),u.\u0275\u0275advance(2),u.\u0275\u0275textInterpolate1(" ",u.\u0275\u0275pipeBind3(7,3,T.message.ts,"MMM DD, h:mm a",T.timezone)," ")}}function Ne(k,$){if(1&k){const T=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"div")(1,"button",45),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).confirmJob()}),u.\u0275\u0275text(2," Confirm "),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(3,"button",46),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).cancelJob(
1)}),u.\u0275\u0275text(4," Cancel "),u.\u0275\u0275elementEnd()()}}const Pe=function(k){return["/admin/jobs",k]};function be(k,$){if(1&k&&(u.\u0275\u0275elementStart(0,"a",21),u.\u0275\u0275text(1,"[ Link ]"),u.\u0275\u0275elementEnd()),2&k){const T=u.\u0275\u0275nextContext(3);u.\u0275\u0275property("routerLink",u.\u0275\u0275pureFunction1(1,Pe,T.message.jobId))}}function Ze(k,$){if(1&k&&(u.\u0275\u0275elementStart(0,"div",47),u.\u0275\u0275text(1),u.\u0275\u0275template(2,be,2,3,"a",48),u.\u0275\u0275elementEnd()),2&k){const T=u.\u0275\u0275nextContext(2);u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",T.message.status," "),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",T.message.jobId)}}function $e(k,$){if(1&k&&(u.\u0275\u0275elementStart(0,"div",9)(1,"div",10),u.\u0275\u0275text(2," Tonomo "),u.\u0275\u0275elementStart(3,"span",11),u.\u0275\u0275text(4),u.\u0275\u0275pipe(5,"dayjsDateFormat"),u.\u0275\u0275elementEnd()(),u.\u0275\u0275elementStart(6,"div",13)(7,"p"),u.\u0275\u0275text(8," Create the job "),u.\u0275\u0275elementStart(9,"b"),u.\u0275\u0275text(10),u.\u0275\u0275elementEnd(),u.\u0275\u0275text(11,"? "),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(12,"div",42)(13,"div",43)(14,"b"),u.\u0275\u0275text(15,"Description"),u.\u0275\u0275elementEnd(),u.\u0275\u0275element(16,"br"),u.\u0275\u0275text(17),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(18,"div",43)(19,"b"),u.\u0275\u0275text(20,"Reason"),u.\u0275\u0275elementEnd(),u.\u0275\u0275element(21,"br"),u.\u0275\u0275text(22),u.\u0275\u0275elementEnd()(),u.\u0275\u0275template(23,Ne,5,0,"div",15),u.\u0275\u0275template(24,Ze,3,2,"div",44),u.\u0275\u0275elementEnd()()),2&k){const T=u.\u0275\u0275nextContext();u.\u0275\u0275advance(4),u.\u0275\u0275textInterpolate1("",u.\u0275\u0275pipeBind3(5,6,T.message.ts,"MMM DD, h:mm a",T.timezone)," "),u.\u0275\u0275advance(6),u.\u0275\u0275textInterpolate(T.message.jobTitle),u.\u0275\u0275advance(7),u.\u0275\u0275textInterpolate1(" ",T.message.jobDescription," "),u.\u0275\u0275advance(5),u.\u0275\u0275textInterpolate1(" ",T.message.reason," "),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",!T.message.status),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",T.message.status)}}function je(k,$){if(1&k){const T=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"span",50),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).editMessage()}),u.\u0275\u0275element(1,"i",55),u.\u0275\u0275elementEnd()}2&k&&(u.\u0275\u0275advance(1),u.\u0275\u0275property("size",14))}function Ye(k,$){if(1&k){const T=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"span",50),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext(2).deleteMessage()}),u.\u0275\u0275element(1,"i",56),u.\u0275\u0275elementEnd()}2&k&&(u.\u0275\u0275advance(1),u.\u0275\u0275property("size",14))}function he(k,$){if(1&k){const T=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"div",49)(1,"span",50),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext().toggleThumbsUp()}),u.\u0275\u0275element(2,"i",51),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(3,"span",52),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(T),u.\u0275\u0275nextContext().emitShowThread()}),u.\u0275\u0275element(4,"i",53),u.\u0275\u0275elementEnd(),u.\u0275\u0275template(5,je,2,1,"span",54),u.\u0275\u0275template(6,Ye,2,1,"span",54),u.\u0275\u0275elementEnd()}if(2&k){const T=u.\u0275\u0275nextContext();u.\u0275\u0275advance(3),u.\u0275\u0275property("hidden",T.disableReplies),u.\u0275\u0275advance(1),u.\u0275\u0275property("size",14),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",(null==T.message.user?null:T.message.user.id)===T.notificationService.userId),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",(null==T.message.user?null:T.message.user.id)===T.notificationService.userId)}}const Te=function(k){return{editing:k}},Re=function(k){return{"o-0":k}};let nt=(()=>{class k{constructor(T,X,de,lt,jt,Qt,Vt,pt,Jt){this.notificationService=T,this.showdownConverter=X,this.cdr=de,this.chatService=lt,this.ngzone=jt,this.afs=Qt,this.angularFireStorage=Vt,this.membersService=pt,this.appConfigService=Jt,this.disableReplies=!1,this.jobCreate=new u.EventEmitter,this.thumbsUp=new u.EventEmitter,this.uploadingChange=new u.EventEmitter,this.showThread=new u.EventEmitter,this.uploading=!1,this.userThumbsUp=!1,this.thumbsUpTooltip="",this.editing=!1,this.modules={toolbar:{container:[["bold","italic","underline","strike"],[{list:"ordered"},{list:"bullet"},"blockquote"]]}
1,magicUrl:!0,keyboard:{bindings:{enter:{key:13,handler:()=>{}}}}},this.formats=Z.V,this.chatInput="",this.removedFiles=[]}get timezone(){return this.appConfigService.timeZone}ngOnChanges(){var T;const X=null===(T=this.textMessage)||void 0===T?void 0:T.thumbsUp;X&&(this.membersService.getMembersById(X).then(de=>{this.thumbsUpTooltip=de.map(lt=>null==lt?void 0:lt.displayName).filter(Boolean).join(", ")}),X.includes(this.notificationService.userId)&&(this.userThumbsUp=!0))}removeChatAttachment(T){var X,de;this.removedFiles=[...this.removedFiles,...(0,A.Z)(null!==(de=null===(X=this.textMessage)||void 0===X?void 0:X.files)&&void 0!==de?de:[],T)]}deleteMessage(){this.message.ref.delete()}editMessage(){this.editing||(this.chatInput=this.showdownConverter.makeHtml(this.message.text),this.editing=!0,this.cdr.detectChanges())}cancelEdit(){this.editing=!1;const T=this.textMessage;(null==T?void 0:T.files)&&(T.files=[...this.removedFiles,...T.files],this.removedFiles=[]),this.cdr.detectChanges()}editorCreated(T){if(!T)return;T.focus();const X=T.getLength();T.setSelection(X,0),this.chatService.setupImagePasteHandler(T),T.clipboard.addMatcher("img",de=>(this.ngzone.run(()=>{const lt=(k=>{var $;if("string"!=typeof k)return null;const T=k.match(/data:([a-zA-Z0-9]+\/[a-zA-Z0-9-.+]+).*,.*/);return null!==($=null==T?void 0:T[1])&&void 0!==$?$:null})(de.src),jt="images/"+this.afs.createId(),Qt=this.angularFireStorage.ref(jt);this.uploading=!0,Qt.putString(de.src,"data_url",{cacheControl:"max-age=2592000",contentType:lt}).then(Vt=>{Vt.ref.getDownloadURL().then(pt=>{const Jt=T.getSelection(!0);T.insertEmbed(Jt.index,"image",pt,"user"),this.uploading=!1})})}),{ops:[]}))}submitEdit(){var T,X;const de=this.chatService.turndown(this.chatInput);this.message.ref.update({text:de,files:null!==(X=null===(T=this.textMessage)||void 0===T?void 0:T.files)&&void 0!==X?X:[],edited:Date.now()}),this.editing=!1}toggleThumbsUp(){this.userThumbsUp?this._removeThumbsUp():this._addThumbsUp()}emitShowThread(){this.showThread.emit()}confirmJob(){this.jobCreate.emit(this.message)}cancelJob(){var T;this.message.ref.update({status:`Request cancelled by ${null===(T=this.notificationService.user)||void 0===T?void 0:T.displayName}`})}_addThumbsUp(){this.message.ref.update({thumbsUp:n.Z.firestore.FieldValue.arrayUnion(this.notificationService.userId)}),this.thumbsUp.emit(this.message)}_removeThumbsUp(){this.message.ref.update({thumbsUp:n.Z.firestore.FieldValue.arrayRemove(this.notificationService.userId)})}get textMessage(){return"message"===this.message.type?this.message:null}}return k.\u0275fac=function(T){return new(T||k)(u.\u0275\u0275directiveInject(S.gqp),u.\u0275\u0275directiveInject(L.DZ),u.\u0275\u0275directiveInject(u.ChangeDetectorRef),u.\u0275\u0275directiveInject(B.a),u.\u0275\u0275directiveInject(u.NgZone),u.\u0275\u0275directiveInject(D.ST),u.\u0275\u0275directiveInject(w.Q1),u.\u0275\u0275directiveInject(S.ZeD),u.\u0275\u0275directiveInject(S._ZM))},k.\u0275cmp=u.\u0275\u0275defineComponent({type:k,selectors:[["ui-chat-message"]],inputs:{message:"message",disableReplies:"disableReplies"},outputs:{jobCreate:"jobCreate",thumbsUp:"thumbsUp",uploadingChange:"uploadingChange",showThread:"showThread"},features:[u.\u0275\u0275NgOnChangesFeature],decls:8,vars:12,consts:[[1,"ph3","pv2","flex","chat-message__container",3,"ngClass"],[1,"image-container",3,"ngClass"],["size","small",3,"src","name","email",4,"ngIf"],["class","br-100","alt","message","src","/assets/icon/mo.jpg",4,"ngIf"],["class","chat-message__main",4,"ngIf"],["class","chat-message__main o-80",4,"ngIf"],["class","chat-message__actions",4,"ngIf"],["size","small",3,"src","name","email"],["alt","message","src","/assets/icon/mo.jpg",1,"br-100"],[1,"chat-message__main"],[1,"fw9"],[1,"ml1","chat-timestamp"],["class","i",4,"ngIf"],[1,"ql-snow"],[1,"ql-editor",3,"hidden","value"],[4,"ngIf"],["class","mt2",4,"ngIf"],["class","chat-message__reaction-bar",4,"ngIf"],["class","reply-box",3,"click",4,"ngIf"],["mode","indeterminate",4,"ngIf"],[1,"i"],[1,"message-link",3,"routerLink"],[1,"mt2"],["class","mr2 pointer",3,"readonly","attachment","remove",4,"ngFor","ngForOf"],[1,"mr2","pointer",3,"readonly","attachment","remove"],[1,"chat-message__reaction-bar"],[3,"matTooltip","ngClass","click"],[1,"relative","thumbs-up"],[1,"reaction__count"],[1,"reply-box",3,"click"],[1,"link-blue","fw6","f7","mr1"],[1,"f7","black-50"],[1,"reply-box__hint","ml1","f7"],["mode","indeterminate"],[1,"app-v2","mt1","mb2",3,"modules","formats","ngModel","ngModelChange","keydown.enter","keydown.escape","onEditorCreated"],[1,"flex"],["uiBtnSize","xx-small","uiBtnTheme","main","themeMode","secondary",1,"mr2",3,"click"],["uiBtnSize","xx-small","uiBtnTheme","main",3,"click"],[1,"chat-message__main","o-80"],[1,"f7"],[1,"di","showdown",3,"showdown"],[1,"chat-timestamp","b1"],[1,"flex","flex-wrap","mt2"],[1,"p-field"],["class","f7 o-70 i",4,"ngIf"],["uiBtnSize","xx-small","uiBtnTheme","main","themeMode","tertiary",1,"mr2",3,"click"],["uiBtnSize","xx-small","uiBtnTheme","main","themeMode","secondary",3,"click"],[1,"f7","o-70","i"],["class","message-link",3,"routerLink",4,"ngIf"],[1,"chat-message__actions"],[1,"chat-message__action-item",3,"click"],[1,"thumbs-up"],[1,"chat-message__action-item",3,"hidden","click"],["uiIcon","comment",3,"size"],["class","chat-message__action-item",3,"click",4,"ngIf"],["uiIcon","edit",3,"size"],["uiIcon","delete",3,"size"]],template:function(T,X){1&T&&(u.\u0275\u0275elementStart(0,"div",0)(1,"div",1),u.\u0275\u0275template(2,Me,1,3,"ui-avatar",2),u.\u0275\u0275template(3,Ue,1,0,"img",3),u.\u0275\u0275elementEnd(),u.\u0275\u0275template(4,ae,15,15,"div",4),u.\u0275\u0275template(5,Ie,8,7,"div",5),u.\u0275\u0275template(6,$e,25,10,"div",4),u.\u0275\u0275template(7,he,7,4,"div",6),u.\u0275\u0275elementEnd()),2&T&&(u.\u0275\u0275property("ngClass",u.\u0275\u0275pureFunction1(8,Te,X.editing)),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngClass",u.\u0275\u0275pureFunction1(10,Re,"event"===X.message.type)),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",X.message.user||"message"===X.message.type),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf","jobTrigger"===X.message.type),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf","message"===X.message.type),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf","event"===X.message.type),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf","jobTrigger"===X.message.type),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf","message"===X.message.type))},directives:[I.NgClass,I.NgIf,p.A,L.RQ,J.yS,I.NgForOf,O.T,z.gM,ne.pW,j.g6,G.JJ,G.On,Q.s,P.V,Y.a],pipes:[W.B],styles:[".image-container[_ngcontent-%COMP%]{width:28px;flex-shrink:0;margin-right:8px;
1cursor:pointer}.chat-timestamp[_ngcontent-%COMP%]{font-weight:400;font-size:11px;display:inline-block;color:#4f4f4f}.chat-message__main[_ngcontent-%COMP%]{position:relative;width:100%;bottom:4px}.chat-message__actions[_ngcontent-%COMP%]{position:absolute;display:none;align-items:center;border-radius:.25rem;border-width:1px;border-style:solid;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.25rem;border-color:#bbb;right:18px;top:-11px;font-size:12px}.chat-message__action-item[_ngcontent-%COMP%]{display:inline-flex;cursor:pointer;align-items:center;justify-content:center;border-radius:.25rem;color:#7d7d7d;padding:4px 6px}.chat-message__action-item[_ngcontent-%COMP%]:hover{background-color:#f6f6f6}.chat-message__reaction-bar[_ngcontent-%COMP%]{margin-top:10px;margin-bottom:4px}.chat-message__reaction-bar[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:12px;line-height:16px;padding:4px 6px;display:inline-flex;align-items:center;vertical-align:top;background:rgba(var(--sk_foreground_min, 29, 28, 29),.04);border:none;border-radius:12px;margin:0;cursor:pointer}.chat-message__reaction-bar[_ngcontent-%COMP%] button.reacted[_ngcontent-%COMP%]{box-shadow:inset 0 0 0 1.5px #239dd2;color:#239dd2;background-color:#e8f1f5}.chat-message__container[_ngcontent-%COMP%]{position:relative}.chat-message__container[_ngcontent-%COMP%]:hover{background-color:#f9f9f9}.chat-message__container[_ngcontent-%COMP%]:hover .chat-message__actions[_ngcontent-%COMP%]{display:flex}.chat-message__container.editing[_ngcontent-%COMP%]{background-color:#fef9ec} p{margin-bottom:0;font-size:inherit} ol{padding-left:15px}span.showdown[_ngcontent-%COMP%] *{display:inline}.thumbs-up[_ngcontent-%COMP%]{width:14px;height:14px;display:inline-block;background-image:url(https://unpkg.com/[email protected]/img/apple/sheets-256/64.png);background-size:5700% 5700%;background-position:23.2143% 67.8571%;vertical-align:sub}.done[_ngcontent-%COMP%]{display:inline-block;width:14px;height:14px;background-image:url(https://unpkg.com/[email protected]/img/apple/sheets-256/64.png);background-size:5700% 5700%;background-position:96.4286% 71.4286%;vertical-align:sub}.seen[_ngcontent-%COMP%]{width:14px;height:14px;display:inline-block;background-image:url(https://unpkg.com/[email protected]/img/apple/sheets-256/64.png);background-size:5700% 5700%;background-position:21.4286% 64.2857%;vertical-align:sub}.reaction__count[_ngcontent-%COMP%]{font-size:10px;margin-left:4px}.reply-box[_ngcontent-%COMP%]{padding:4px;border:1px solid white;border-radius:3px;margin-top:4px;cursor:pointer}.reply-box__hint[_ngcontent-%COMP%]{display:none}.reply-box[_ngcontent-%COMP%]:hover{background-color:#fff;border:1px solid #efefef}.reply-box[_ngcontent-%COMP%]:hover .reply-box__hint[_ngcontent-%COMP%]{display:inline-block}.p-field[_ngcontent-%COMP%]{font-size:12px;width:100%;margin-bottom:8px}.message-link[_ngcontent-%COMP%]{font-size:12px;font-weight:600}"]}),k})()},94277:(It,me,_)=>{"use strict";_.d(me,{V:()=>e});var u=_(89971),A=_(92398);u.register("modules/magicUrl",_.n(A)());const e=["bold","font","code","italic","link","size","strike","script","underline","blockquote","header","indent","list","align","direction","mention","image"]},80384:(It,me,_)=>{"use strict";_.d(me,{w:()=>w});var u=_(60029),n=_(658),A=_(83917),S=_(5e3),Z=_(22962),e=_(83089),B=_(69808),L=_(28506);function D(I,p){if(1&I){const J=S.\u0275\u0275getCurrentView();S.\u0275\u0275elementStart(0,"ui-chat-message",1),S.\u0275\u0275listener("thumbsUp",function(z){return S.\u0275\u0275restoreView(J),S.\u0275\u0275nextContext().sendThumbsUpNotification(z)}),S.\u0275\u0275elementEnd()}2&I&&S.\u0275\u0275property("message",p.$implicit)("disableReplies",!0)}let w=(()=>{class I{constructor(J,O,z,ne){this.afs=J,this.ngzone=O,this.notificationService=z,this.ordersRepositoryService=ne,this.orgMembersObj=null,this.mentionOptions=null,this.replies=[]}ngOnChanges(J){J.threadedMessage&&(this.unsubscribeReplies&&this.unsubscribeReplies(),this.unsubscribeReplies=this.threadedMessage.ref.collection("messages").orderBy("ts","asc").onSnapshot(O=>{this.ngzone.run(()=>{this.replies=O.docs.map(z=>{var ne;const j=z.data();return Object.assign(Object.assign({},j),{ref:z.ref,uid:j.user,user:null===(ne=this.orgMembersObj)||void 0===ne?void 0:ne[j.user]})})})}))}ngOnDestroy(){this.unsubscribeReplies&&this.unsubscribeReplies()}chatSubmit(J){const O=this.afs.firestore.batch();O.set(this.threadedMessage.ref.collection("messages").doc(this.afs.createId()),{type:"message",text:J,user:this.userId,ts:Date.now()});const z=(0,A.N)(J,this.mentionOptions,this.notificationService).map(G=>
1G.id).filter(G=>!!G),ne=(0,u.Z)([this.userId],[this.threadedMessage.uid],z),j=this.threadedMessage.subscribedUsers?(0,u.Z)(this.threadedMessage.subscribedUsers,[this.userId],z):ne;O.update(this.threadedMessage.ref,{replyCount:this.replies.length+1,latestReply:Date.now(),replyUsers:this.threadedMessage.replyUsers?(0,u.Z)(this.threadedMessage.replyUsers,[this.userId]):[this.userId],subscribedUsers:j}),this.notificationService.setBatchNotification(O,this.createNotification(J),j),this.activeTask&&this.order&&(this.activeTask.lastChatTs=Date.now(),this.ordersRepositoryService.upsert(this.order.id,Object.assign({communication:this.order.communication},this.order.taskSummary&&{taskSummary:this.order.taskSummary}))),O.commit()}createNotification(J){var O,z,ne,j;return{userId:this.notificationService.userId,text:this.threadName?`replied to a thread on ${this.threadName}.`:`replied to a thread on **${null===(O=this.activeTask)||void 0===O?void 0:O.name}** for ${null===(ne=null===(z=this.order)||void 0===z?void 0:z.property_address)||void 0===ne?void 0:ne.formatted_address}.`,snippet:J,ts:Date.now(),type:"message",link:null!==(j=this.threadLink)&&void 0!==j?j:this.orderThreadLink()}}sendThumbsUpNotification(J){var O;const z=(0,u.Z)([this.userId],[this.threadedMessage.uid]),ne=this.threadedMessage.subscribedUsers?(0,u.Z)(this.threadedMessage.subscribedUsers,[this.userId]):z;this.threadedMessage.ref.set({subscribedUsers:ne},{merge:!0}),this.notificationService.sendNotification({userId:this.notificationService.userId,text:"liked your comment on a thread.",ts:Date.now(),type:"event",link:null!==(O=this.threadLink)&&void 0!==O?O:this.orderThreadLink()},[J.uid])}orderThreadLink(){var J,O;return`/admin/order-management/${null===(J=this.order)||void 0===J?void 0:J.id}?taskId=${null===(O=this.activeTask)||void 0===O?void 0:O.taskRef.id}&thread=${this.threadedMessage.ref.id}`}}return I.\u0275fac=function(J){return new(J||I)(S.\u0275\u0275directiveInject(Z.ST),S.\u0275\u0275directiveInject(S.NgZone),S.\u0275\u0275directiveInject(n.gqp),S.\u0275\u0275directiveInject(n.HVf))},I.\u0275cmp=S.\u0275\u0275defineComponent({type:I,selectors:[["ui-chat-thread"]],inputs:{threadedMessage:"threadedMessage",orgMembersObj:"orgMembersObj",userId:"userId",chatModules:"chatModules",activeTask:"activeTask",order:"order",threadName:"threadName",threadLink:"threadLink",mentionOptions:"mentionOptions"},features:[S.\u0275\u0275NgOnChangesFeature],decls:4,vars:4,consts:[[1,"b--black-10","bb","pb2","mb2"],[3,"message","disableReplies","thumbsUp"],[3,"message","disableReplies","thumbsUp",4,"ngFor","ngForOf"],[3,"modules","chatSubmit"]],template:function(J,O){1&J&&(S.\u0275\u0275elementStart(0,"div",0)(1,"ui-chat-message",1),S.\u0275\u0275listener("thumbsUp",function(ne){return O.sendThumbsUpNotification(ne)}),S.\u0275\u0275elementEnd()(),S.\u0275\u0275template(2,D,1,2,"ui-chat-message",2),S.\u0275\u0275elementStart(3,"ui-chat-composer",3),S.\u0275\u0275listener("chatSubmit",function(ne){return O.chatSubmit(ne)}),S.\u0275\u0275elementEnd()),2&J&&(S.\u0275\u0275advance(1),S.\u0275\u0275property("message",O.threadedMessage)("disableReplies",!0),S.\u0275\u0275advance(1),S.\u0275\u0275property("ngForOf",O.replies),S.\u0275\u0275advance(1),S.\u0275\u0275property("modules",O.chatModules))},directives:[e.R,B.NgForOf,L.g],styles:[""]}),I})()},13715:(It,me,_)=>{"use strict";function n(k,$){return Array($+1).join(k)}_.d(me,{a:()=>nt});var A=["address","article","aside","audio","blockquote","body","canvas","center","dd","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frameset","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","isindex","li","main","menu","nav","noframes","noscript","ol","output","p","pre","section","table","tbody","td","tfoot","th","thead","tr","ul"];function S(k){return-1!==A.indexOf(k.nodeName.toLowerCase())}var Z=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function e(k){return-1!==Z.indexOf(k.nodeName.toLowerCase())}var B=Z.join(),D={};function w(k){for(var $ in this.options=k,this._keep=[],this._remove=[],this.blankRule={replacement:k.blankReplacement},this.keepReplacement=k.keepReplacement,this.defaultRule={replacement:k.defaultReplacement},this.array=[],k.rules)this.array.push(k.rules[$])}function I(k,$,T){for(var X=0;X<k.length;X++){var de=k[X];if(p(de,$,T))return de}}function p(k,$,T){var X=k.filter;if("string"==typeof X){if(X===$.nodeName.toLowerCase())return!0}
1else if(Array.isArray(X)){if(X.indexOf($.nodeName.toLowerCase())>-1)return!0}else{if("function"!=typeof X)throw new TypeError("`filter` needs to be a string, array, or function");if(X.call(k,$,T))return!0}}function O(k){var $=k.nextSibling||k.parentNode;return k.parentNode.removeChild(k),$}function z(k,$,T){return k&&k.parentNode===$||T($)?$.nextSibling||$.parentNode:$.firstChild||$.nextSibling||$.parentNode}D.paragraph={filter:"p",replacement:function(k){return"\n\n"+k+"\n\n"}},D.lineBreak={filter:"br",replacement:function(k,$,T){return T.br+"\n"}},D.heading={filter:["h1","h2","h3","h4","h5","h6"],replacement:function(k,$,T){var X=Number($.nodeName.charAt(1));return"setext"===T.headingStyle&&X<3?"\n\n"+k+"\n"+n(1===X?"=":"-",k.length)+"\n\n":"\n\n"+n("#",X)+" "+k+"\n\n"}},D.blockquote={filter:"blockquote",replacement:function(k){return"\n\n"+(k=(k=k.replace(/^\n+|\n+$/g,"")).replace(/^/gm,"> "))+"\n\n"}},D.list={filter:["ul","ol"],replacement:function(k,$){var T=$.parentNode;return"LI"===T.nodeName&&T.lastElementChild===$?"\n"+k:"\n\n"+k+"\n\n"}},D.listItem={filter:"li",replacement:function(k,$,T){k=k.replace(/^\n+/,"").replace(/\n+$/,"\n").replace(/\n/gm,"\n ");var X=T.bulletListMarker+" ",de=$.parentNode;if("OL"===de.nodeName){var lt=de.getAttribute("start"),jt=Array.prototype.indexOf.call(de.children,$);X=(lt?Number(lt)+jt:jt+1)+". "}return X+k+($.nextSibling&&!/\n$/.test(k)?"\n":"")}},D.indentedCodeBlock={filter:function(k,$){return"indented"===$.codeBlockStyle&&"PRE"===k.nodeName&&k.firstChild&&"CODE"===k.firstChild.nodeName},replacement:function(k,$,T){return"\n\n "+$.firstChild.textContent.replace(/\n/g,"\n ")+"\n\n"}},D.fencedCodeBlock={filter:function(k,$){return"fenced"===$.codeBlockStyle&&"PRE"===k.nodeName&&k.firstChild&&"CODE"===k.firstChild.nodeName},replacement:function(k,$,T){for(var pt,de=(($.firstChild.className||"").match(/language-(\S+)/)||[null,""])[1],lt=$.firstChild.textContent,jt=T.fence.charAt(0),Qt=3,Vt=new RegExp("^"+jt+"{3,}","gm");pt=Vt.exec(lt);)pt[0].length>=Qt&&(Qt=pt[0].length+1);var Jt=n(jt,Qt);return"\n\n"+Jt+de+"\n"+lt.replace(/\n$/,"")+"\n"+Jt+"\n\n"}},D.horizontalRule={filter:"hr",replacement:function(k,$,T){return"\n\n"+T.hr+"\n\n"}},D.inlineLink={filter:function(k,$){return"inlined"===$.linkStyle&&"A"===k.nodeName&&k.getAttribute("href")},replacement:function(k,$){return"["+k+"]("+$.getAttribute("href")+($.title?' "'+$.title+'"':"")+")"}},D.referenceLink={filter:function(k,$){return"referenced"===$.linkStyle&&"A"===k.nodeName&&k.getAttribute("href")},replacement:function(k,$,T){var lt,jt,X=$.getAttribute("href"),de=$.title?' "'+$.title+'"':"";switch(T.linkReferenceStyle){case"collapsed":lt="["+k+"][]",jt="["+k+"]: "+X+de;break;case"shortcut":lt="["+k+"]",jt="["+k+"]: "+X+de;break;default:var Qt=this.references.length+1;lt="["+k+"]["+Qt+"]",jt="["+Qt+"]: "+X+de}return this.references.push(jt),lt},references:[],append:function(k){var $="";return this.references.length&&($="\n\n"+this.references.join("\n")+"\n\n",this.references=[]),$}},D.emphasis={filter:["em","i"],replacement:function(k,$,T){return k.trim()?T.emDelimiter+k+T.emDelimiter:""}},D.strong={filter:["strong","b"],replacement:function(k,$,T){return k.trim()?T.strongDelimiter+k+T.strongDelimiter:""}},D.code={filter:function(k){return"CODE"===k.nodeName&&!("PRE"===k.parentNode.nodeName&&!k.previousSibling&&!k.nextSibling)},replacement:function(k){if(!k.trim())return"";var $="`",T="",X="",de=k.match(/`+/gm);if(de)for(/^`/.test(k)&&(T=" "),/`$/.test(k)&&(X=" ");-1!==de.indexOf($);)$+="`";return $+T+k+X+$}},D.image={filter:"img",replacement:function(k,$){var T=$.alt||"",X=$.getAttribute("src")||"",de=$.title||"";return X?"+")":""}},w.prototype={add:function(k,$){this.array.unshift($)},keep:function(k){this._keep.unshift({filter:k,replacement:this.keepReplacement})},remove:function(k){this._remove.unshift({filter:k,replacement:function(){return""}})},forNode:function(k){return k.isBlank?this.blankRule:($=I(this.array,k,this.options))||($=I(this._keep,k,this.options))||($=I(this._remove,k,this.options))?$:this.defaultRule;var $},forEach:function(k){for(var $=0;$<this.array.length;$++)k(this.array[$],$)}};var Y,ne="undefined"!=typeof window?window:{},Q=function j(){var k=ne.DOMParser,$=!1;try{(new k).parseFromString("","text/html")&&($=!0)}catch(T){}return $}()?ne.DOMParser:function G(){var k=function(){},$=_(51576).JSDOM;return k.prototype.parseFromString=function(T){return new $(T).window.document},k}();function P(k){var $;return function J(k){var $=k.element,T=k.isBlock,X=k.isVoid,de=k.isPre||function(Tt){return"PRE"===Tt.nodeName};
1if($.firstChild&&!de($)){for(var lt=null,jt=!1,Qt=null,Vt=z(Qt,$,de);Vt!==$;){if(3===Vt.nodeType||4===Vt.nodeType){var pt=Vt.data.replace(/[ \r\n\t]+/g," ");if((!lt||/ $/.test(lt.data))&&!jt&&" "===pt[0]&&(pt=pt.substr(1)),!pt){Vt=O(Vt);continue}Vt.data=pt,lt=Vt}else{if(1!==Vt.nodeType){Vt=O(Vt);continue}T(Vt)||"BR"===Vt.nodeName?(lt&&(lt.data=lt.data.replace(/ $/,"")),lt=null,jt=!1):X(Vt)&&(lt=null,jt=!0)}var Jt=z(Qt,Vt,de);Qt=Vt,Vt=Jt}lt&&(lt.data=lt.data.replace(/ $/,""),lt.data||O(lt))}}({element:$="string"==typeof k?function W(){return Y=Y||new Q}().parseFromString('<x-turndown id="turndown-root">'+k+"</x-turndown>","text/html").getElementById("turndown-root"):k.cloneNode(!0),isBlock:S,isVoid:e}),$}function Me(k){return k.isBlock=S(k),k.isCode="code"===k.nodeName.toLowerCase()||k.parentNode.isCode,k.isBlank=function Ue(k){return-1===["A","TH","TD","IFRAME","SCRIPT","AUDIO","VIDEO"].indexOf(k.nodeName)&&/^\s*$/i.test(k.textContent)&&!e(k)&&!function L(k){return k.querySelector&&k.querySelector(B)}(k)}(k),k.flankingWhitespace=function ue(k){var $="",T="";if(!k.isBlock){var X=/^\s/.test(k.textContent),de=/\s$/.test(k.textContent),lt=k.isBlank&&X&&de;X&&!N("left",k)&&($=" "),!lt&&de&&!N("right",k)&&(T=" ")}return{leading:$,trailing:T}}(k),k}function N(k,$){var T,X,de;return"left"===k?(T=$.previousSibling,X=/ $/):(T=$.nextSibling,X=/^ /),T&&(3===T.nodeType?de=X.test(T.nodeValue):1===T.nodeType&&!S(T)&&(de=X.test(T.textContent))),de}var _e=Array.prototype.reduce,V=/^\n*/,pe=/\n*$/,Se=[[/\\/g,"\\\\"],[/\*/g,"\\*"],[/^-/g,"\\-"],[/^\+ /g,"\\+ "],[/^(=+)/g,"\\$1"],[/^(#{1,6}) /g,"\\$1 "],[/`/g,"\\`"],[/^~~~/g,"\\~~~"],[/\[/g,"\\["],[/\]/g,"\\]"],[/^>/g,"\\>"],[/_/g,"\\_"],[/^(\d+)\. /g,"$1\\. "]];function Be(k){if(!(this instanceof Be))return new Be(k);this.options=function u(k){for(var $=1;$<arguments.length;$++){var T=arguments[$];for(var X in T)T.hasOwnProperty(X)&&(k[X]=T[X])}return k}({},{rules:D,headingStyle:"setext",hr:"* * *",bulletListMarker:"*",codeBlockStyle:"indented",fence:"```",emDelimiter:"_",strongDelimiter:"**",linkStyle:"inlined",linkReferenceStyle:"full",br:" ",blankReplacement:function(T,X){return X.isBlock?"\n\n":""},keepReplacement:function(T,X){return X.isBlock?"\n\n"+X.outerHTML+"\n\n":X.outerHTML},defaultReplacement:function(T,X){return X.isBlock?"\n\n"+T+"\n\n":T}},k),this.rules=new w(this.options)}function xe(k){var $=this;return _e.call(k.childNodes,function(T,X){var de="";return 3===(X=new Me(X)).nodeType?de=X.isCode?X.nodeValue:$.escape(X.nodeValue):1===X.nodeType&&(de=ce.call($,X)),Ie(T,de)},"")}function ze(k){var $=this;
1return this.rules.forEach(function(T){"function"==typeof T.append&&(k=Ie(k,T.append($.options)))}),k.replace(/^[\t\r\n]+/,"").replace(/[\t\r\n\s]+$/,"")}function ce(k){var $=this.rules.forNode(k),T=xe.call(this,k),X=k.flankingWhitespace;return(X.leading||X.trailing)&&(T=T.trim()),X.leading+$.replacement(T,k,this.options)+X.trailing}function Ie(k,$){var T=function ae(k,$){var T=[k.match(pe)[0],$.match(V)[0]].sort(),X=T[T.length-1];return X.length<2?X:"\n\n"}(k,$);return(k=k.replace(pe,""))+T+$.replace(V,"")}Be.prototype={turndown:function(k){if(!function Ne(k){return null!=k&&("string"==typeof k||k.nodeType&&(1===k.nodeType||9===k.nodeType||11===k.nodeType))}(k))throw new TypeError(k+" is not a string, or an element/document/fragment node.");if(""===k)return"";var $=xe.call(this,new P(k));return ze.call(this,$)},use:function(k){if(Array.isArray(k))for(var $=0;$<k.length;$++)this.use(k[$]);else{if("function"!=typeof k)throw new TypeError("plugin must be a Function or an Array of Functions");k(this)}return this},addRule:function(k,$){return this.rules.add(k,$),this},keep:function(k){return this.rules.keep(k),this},remove:function(k){return this.rules.remove(k),this},escape:function(k){return Se.reduce(function($,T){return $.replace(T[0],T[1])},k)}};const Pe=Be;var be=_(591),Ze=_(63527),$e=_(87545),je=_(87224),Ye=_(40537),he=_(5e3),Te=_(78176),Re=_(22962);let nt=(()=>{class k{constructor(T,X,de){this.angularFireStorage=T,this.afs=X,this.ngZone=de,this.turndownService=this.createTurndownService()}turndown(T){return this.turndownService.turndown(T)}setupImagePasteHandler(T){const X=new be.X(!1);return T.root.addEventListener("paste",de=>{var lt,jt,Qt;const Vt=null===(Qt=Array.from(null!==(jt=null===(lt=de.clipboardData)||void 0===lt?void 0:lt.items)&&void 0!==jt?jt:[]).find(pt=>pt.type.startsWith("image/")))||void 0===Qt?void 0:Qt.getAsFile();Vt&&(de.preventDefault(),de.stopImmediatePropagation(),this.uploadAndInsertImage(T,Vt,X))},{capture:!0}),X.asObservable()}uploadAndInsertImage(T,X,de){const lt="images/"+this.afs.createId(),jt=this.angularFireStorage.ref(lt);de.next(!0),(0,Ze.D)(jt.put(X,{cacheControl:"max-age=2592000",contentType:X.type})).pipe((0,$e.w)(()=>jt.getDownloadURL()),(0,je.P)(),(0,Ye.x)(()=>this.ngZone.run(()=>de.next(!1)))).subscribe(Qt=>{this.ngZone.run(()=>{const Vt=T.getSelection(!0);Vt&&T.insertEmbed(Vt.index,"image",Qt,"user")})})}createTurndownService(){const T=new Pe;return T.addRule("mentions",{filter:X=>"mention"==X.className,replacement:X=>"<"+X.trim()+">"}),T.addRule("strikethrough",{filter:["del","s","strike"],replacement:X=>"~~"+X+"~~"}),T}}return k.\u0275fac=function(T){return new(T||k)(he.\u0275\u0275inject(Te.Q1),he.\u0275\u0275inject(Re.ST),he.\u0275\u0275inject(he.NgZone))},k.\u0275prov=he.\u0275\u0275defineInjectable({token:k,factory:k.\u0275fac,providedIn:"root"}),k})()},55800:(It,me,_)=>{"use strict";_.d(me,{P:()=>$e});var u=_(95113),n=_(5e3),S=(_(70127),_(81379)),Z=_(84808),e=_(78240),B=_(22957),L=_(17663),w=(_(79253),_(21086)),I=_(87224),p=_(24850),J=_(658),O=_(83917),z=_(13715),ne=_(22962),j=_(74202),G=_(2638),Q=_(69808),P=_(66809),Y=_(72751),W=_(255),Me=_(80384),Ue=_(23044),ue=_(85899),N=_(83089),_e=_(51330),V=_(93075);const pe=["drawer"],Se=["chatScroll"],Be=["fileUploaderInput"];function xe(je,Ye){if(1&je){const he=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",17)(1,"div",18)(2,"button",19,20),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(he),n.\u0275\u0275nextContext().closeRepliesPanel
1()}),n.\u0275\u0275element(4,"i",21),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"span",22),n.\u0275\u0275text(6,"Thread"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275element(7,"ui-chat-thread",23),n.\u0275\u0275pipe(8,"async"),n.\u0275\u0275elementEnd()}if(2&je){const he=n.\u0275\u0275reference(3),Te=n.\u0275\u0275nextContext();n.\u0275\u0275advance(4),n.\u0275\u0275property("size",he.iconSize),n.\u0275\u0275advance(3),n.\u0275\u0275property("threadName",Te.chatName)("threadLink",Te.threadLink)("chatModules",Te.modules)("userId",Te.notificationService.userId)("threadedMessage",Te.threadedMessage)("mentionOptions",Te.mentionOptions)("orgMembersObj",n.\u0275\u0275pipeBind1(8,8,Te.orgMembersObj))}}function ze(je,Ye){1&je&&n.\u0275\u0275element(0,"mat-progress-bar",24)}function ce(je,Ye){1&je&&(n.\u0275\u0275elementStart(0,"div",25),n.\u0275\u0275text(1,"No messages here yet."),n.\u0275\u0275elementEnd())}function ae(je,Ye){if(1&je){const he=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"ui-chat-message",26),n.\u0275\u0275listener("uploadingChange",function(Re){return n.\u0275\u0275restoreView(he),n.\u0275\u0275nextContext().uploading=Re})("thumbsUp",function(Re){return n.\u0275\u0275restoreView(he),n.\u0275\u0275nextContext().thumbsUp.emit(Re)})("jobCreate",function(Re){return n.\u0275\u0275restoreView(he),n.\u0275\u0275nextContext().jobCreate.emit(Re)})("showThread",function(){const nt=n.\u0275\u0275restoreView(he).$implicit;return n.\u0275\u0275nextContext().loadThread(nt)}),n.\u0275\u0275elementEnd()}2&je&&n.\u0275\u0275property("message",Ye.$implicit)}function Ie(je,Ye){if(1&je){const he=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"ui-chat-attachment",29),n.\u0275\u0275listener("remove",function(){const nt=n.\u0275\u0275restoreView(he).$implicit;return n.\u0275\u0275nextContext(2).removeChatAttachment(nt)}),n.\u0275\u0275elementEnd()}2&je&&n.\u0275\u0275property("attachment",Ye.$implicit)}function Ne(je,Ye){if(1&je&&(n.\u0275\u0275elementStart(0,"div",27),n.\u0275\u0275template(1,Ie,1,1,"ui-chat-attachment",28),n.\u0275\u0275elementEnd()),2&je){const he=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",he.chatAttachments)}}const Pe=function(je){return{"o-20":je}};function be(je,Ye){if(1&je){const he=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",30)(1,"quill-editor",31),n.\u0275\u0275listener("ngModelChange",function(Re){return n.\u0275\u0275restoreView(he),n.\u0275\u0275nextContext().chatInput=Re})("onEditorCreated",function(Re){return n.\u0275\u0275restoreView(he),n.\u0275\u0275nextContext().handleQuillCreated(Re)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(2,"div",32)(3,"div",33),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(he),n.\u0275\u0275nextContext().submitChat()}),n.\u0275\u0275pipe(4,"async"),n.\u0275\u0275element(5,"i",34),n.\u0275\u0275elementEnd()()()}if(2&je){const he=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("modules",he.modules)("ngModel",he.chatInput),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction1(6,Pe,!he.chatInput||n.\u0275\u0275pipeBind1(4,4,he.isImageUploading$))),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",20)}}function Ze(je,Ye){1&je&&(n.\u0275\u0275elementStart(0,"div",35)(1,"div",36),n.\u0275\u0275element(2,"i",37),n.\u0275\u0275elementStart(3,"div",38),n.\u0275\u0275text(4,"Upload Images"),n.\u0275\u0275elementEnd()()()),2&je&&(n.\u0275\u0275advance(2),n.\u0275\u0275property("size",80))}let $e=(()=>{class je{constructor(he,Te,Re,nt,k,$,T,X){this.notificationService=Te,this.appConfigService=Re,this.afs=nt,this.projectService=k,this.chatService=$,this.route=T,this.router=X,this.messages=null,this.chatName="",this.chatLink="",this.mentionOptions=null,this.dockComposerOnMobile=!0,this.chatMention=new n.EventEmitter,this.thumbsUp=new n.EventEmitter,this.jobCreate=new n.EventEmitter,this.chatAttachments=[],this.uploading=!1,this.isImageUploading$=(0,w.of)(!1),this.chatInput="",this.uploadHover=!1,this.mentionsOpen=!1,this.isMobile=!1,this.threadedMessage=null,this.threadId=null,he.observe([u.u3.Handset]).pipe((0,I.P)()).subscribe(de=>{de.matches&&(this.isMobile=!0)}),this.loadQuill()}get threadLink(){const he=this.chatLink.includes("?")?"&":"?";return`${this.chatLink}${he}thread=${this.threadId}`}
1ngOnInit(){this.orgMembersObj=this.afs.doc("organizations/root").valueChanges().pipe((0,p.U)(he=>{var Te;return(0,S.Z)(null!==(Te=null==he?void 0:he.members)&&void 0!==Te?Te:{},(Re,nt)=>Object.assign(Object.assign({},Re),{id:nt}))}))}ngOnChanges(he){he.messages&&(this.route.queryParams.pipe((0,I.P)()).toPromise().then(Te=>{if(Te.thread&&Te.thread!==this.threadId){const Re=(0,Z.Z)(this.messages,nt=>nt.ref.id==Te.thread);Re&&this.loadThread(Re)}}),setTimeout(()=>{this.scrollToBottom()},0))}toggleUploadHover(he){this.uploadHover=he}onUploadDrop(he){const Te=[],Re=["image/gif","image/jpeg","image/png"];for(let $=0;$<he.length;$++){const T=he.item($);T&&[...Re,"application/pdf"].includes(T.type)&&Te.push(T)}if(!Te.length)return;this.uploading=!0;const k=this.projectService.uploadFiles(Te).map($=>$.then(T=>Promise.all([T.ref.getMetadata(),T.ref.getDownloadURL()])));Promise.all(k).then($=>{$.forEach(T=>{var X,de;const[lt,jt]=T;if(Re.includes(lt.contentType)){const Qt=null===(de=null===(X=this.editor)||void 0===X?void 0:X.quillEditor)||void 0===de?void 0:de.getSelection(!0);Qt&&this.insertEmbed(Qt.index,jt)}else this.chatAttachments.push({mimetype:lt.contentType,name:lt.name,link:jt})}),setTimeout(()=>{this.uploading=!1},800)})}loadThread(he){var Te;"message"!==he.type||he.ref.id==this.threadId||(this.threadId=he.ref.id,this._updateQueryParams(),null===(Te=this.drawer)||void 0===Te||Te.open(),this.threadedMessage=he)}_updateQueryParams(){this.router.navigate([],{relativeTo:this.route,queryParams:{thread:this.threadId},queryParamsHandling:"merge",replaceUrl:!0})}removeChatAttachment(he){(0,e.Z)(this.chatAttachments,he)}
1closeRepliesPanel(){var he;this.threadedMessage=null,null===(he=this.drawer)||void 0===he||he.close(),this.threadId=null,this._updateQueryParams()}handleQuillCreated(he){this.isImageUploading$=this.chatService.setupImagePasteHandler(he),he.clipboard.addMatcher(Node.ELEMENT_NODE,(Te,Re)=>(Re.ops=Re.ops.map(nt=>({insert:nt.insert})),Re))}submitChat(){if(!this.chatInput&&!this.chatAttachments.length||this.mentionsOpen)return;let he="";if(this.chatInput&&(he=this.chatService.turndown(this.chatInput)),!he&&!this.chatAttachments.length)return;this.chatInput="";const Te=this.afs.firestore.batch();Te.set(this.parentRef.collection("messages").doc(this.afs.createId()),{type:"message",text:he,user:this.notificationService.userId,ts:Date.now(),files:[...this.chatAttachments]}),this.chatAttachments=[],this.chatMention.emit({mentionedMembers:(0,O.N)(he,this.mentionOptions,this.notificationService),text:he}),Te.commit()}scrollToBottom(){try{this.chatScroll&&(this.chatScroll.nativeElement.scrollTop=this.chatScroll.nativeElement.scrollHeight)}catch(he){console.log(he)}}loadQuill(){this.modules={toolbar:!this.isMobile&&{container:[["bold","italic","strike"],[{list:"ordered"},{list:"bullet"}],["blockquote"],["image"]],handlers:{image:()=>{var he;null===(he=this.fileUploaderInput)||void 0===he||he.nativeElement.click()}}},magicUrl:!0,keyboard:{bindings:!this.isMobile&&{enter:{key:13,handler:()=>(this.submitChat(),!1)}}},mention:{allowedChars:/^[A-Za-z\s\xc5\xc4\xd6\xe5\xe4\xf6]*$/,defaultMenuOrientation:"top",onClose:()=>{setTimeout(()=>{this.mentionsOpen=!1},0)},source:(he,Te)=>{const Re=this.mentionList();if(0===he.length)Te(Re,he);else{const nt=[];Re.forEach(k=>{-1!==k.value.toLowerCase().indexOf(he.toLowerCase())&&nt.push(k)}),Te(nt,he)}}}}}mentionList(){return this.mentionOptions?this.mentionOptions:[...(0,B.Z)(this.notificationService.membersObj,(Re,nt)=>({value:Re.displayName?Re.displayName:"",id:nt})),...this.appConfigService.roles.map(Re=>({value:Re,id:Re}))]}insertEmbed(he,Te){var Re;null===(Re=this.editor)||void 0===Re||Re.quillEditor.insertEmbed(he,"image",Te,"user")}}return je.\u0275fac=function(he){return new(he||je)(n.\u0275\u0275directiveInject(u.Yg),n.\u0275\u0275directiveInject(J.gqp),n.\u0275\u0275directiveInject(J._ZM),n.\u0275\u0275directiveInject(ne.ST),n.\u0275\u0275directiveInject(J.Y4r),n.\u0275\u0275directiveInject(z.a),n.\u0275\u0275directiveInject(j.gz),n.\u0275\u0275directiveInject(j.F0))},je.\u0275cmp=n.\u0275\u0275defineComponent({type:je,selectors:[["ui-chat"]],viewQuery:function(he,Te){if(1&he&&(n.\u0275\u0275viewQuery(L.g6,5),n.\u0275\u0275viewQuery(pe,5),n.\u0275\u0275viewQuery(Se,5),n.\u0275\u0275viewQuery(Be,5)),2&he){let Re;n.\u0275\u0275queryRefresh(Re=n.\u0275\u0275loadQuery())&&(Te.editor=Re.first),n.\u0275\u0275queryRefresh(Re=n.\u0275\u0275loadQuery())&&(Te.drawer=Re.first),n.\u0275\u0275queryRefresh(Re=n.\u0275\u0275loadQuery())&&(Te.chatScroll=Re.first),n.\u0275\u0275queryRefresh(Re=n.\u0275\u0275loadQuery())&&(Te.fileUploaderInput=Re.first)}},inputs:{messages:"messages",parentRef:"parentRef",chatName:"chatName",chatLink:"chatLink",mentionOptions:"mentionOptions",dockComposerOnMobile:"dockComposerOnMobile"},outputs:{chatMention:"chatMention",thumbsUp:"thumbsUp",jobCreate:"jobCreate"},features:[n.\u0275\u0275NgOnChangesFeature],decls:18,vars:11,consts:[[1,"dn"],["type","file","multiple","","accept","image/png,image/jpeg,image/gif,application/pdf",3,"change"],["fileUploaderInput",""],[1,"chat-container"],["position","end","mode","side",1,"active-order-bounds","replies-panel"],["drawer",""],["class","pa3",4,"ngIf"],["uiChatDropzone","",1,"h-100","bg-white","px-18","pb-18",3,"hovered","dropped"],[1,"h-100","chat-body"],["class","upload-progress-bar","mode","indeterminate",4,"ngIf"],[1,"pt3","relative","flex-grow-1","overflow-auto","chat-scroll","h-100"],["chatScroll",""],["class","i ph3",4,"ngIf"],[3,"message","uploadingChange","thumbsUp","jobCreate","showThread",4,"ngFor","ngForOf"],["class","ph3",4,"ngIf"],["class","p-16 chat-editor-wrapper chat-channel-composer",4,"ngIf"],["class","upload-overlay",4,"ngIf"],[1,"pa3"],[1,"mb2","bb","b--black-10","pb2","flex","items-center"],["type","button","uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",1,"mr2",3,"click"],["closeRepliesButton","btnSize"],["uiIcon","close",3,"size"],[1,"fw6"],[3,"threadName","threadLink","chatModules","userId","threadedMessage","mentionOptions","orgMembersObj"],["mode","indeterminate",1,"upload-progress-bar"],[1,"i","ph3"],[3,"message","uploadingChange","thumbsUp","jobCreate","showThread"],[1,"ph3"],["class","mr2",3,"attachment","remove",4,"ngFor","ngForOf"],[1,"mr2",3,"attachment","remove"],[1,"p-16","chat-editor-wrapper","chat-channel-composer"],[1,"app-v2",3,"modules","ngModel","ngModelChange","onEditorCreated"],[1,"flex","pt-8","send-row"],[1,"ml-auto","pointer","text-gray-30",3,"ngClass","click"],["uiIcon","send",3,"size"],[1,"upload-overlay"],[1,"tc"],["uiIcon","cloud_upload",3,"size"],[1,"h3","fw6"]],template:function(he,Te){1&he&&(n.\u0275\u0275elementStart(0,"div",0)(1,"input",1,2),n.\u0275\u0275listener("change",function(nt){return Te.onUploadDrop(nt.target.files)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(3,"mat-drawer-container",3)(4,"mat-drawer",4,5),n.\u0275\u0275template(6,xe,9,10,"div",6),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(7,"div",7),n.\u0275\u0275listener("hovered",function(nt){return Te.toggleUploadHover(nt)})("dropped",function(nt){return Te.onUploadDrop(nt)}),n.\u0275\u0275elementStart(8,"div",8),n.\u0275\u0275template(9,ze,1,0,"mat-progress-bar",9),n.\u0275\u0275pipe(10,"async"),n.\u0275\u0275elementStart(11,"div",10,11),n.\u0275\u0275template(13,ce,2,0,"div",12),n.\u0275\u0275template(14,ae,1,1,"ui-chat-message",13),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(15,Ne,2,1,"div",14),n.\u0275\u0275template(16,be,6,8,"div",15),n.\u0275\u0275template(17,Ze,5,1,"div",16),n.\u0275\u0275elementEnd()()()),2&he&&(n.\u0275\u0275advance(6),n.\u0275\u0275property("ngIf",Te.threadedMessage),n.\u0275\u0275advance(2),n.\u0275\u0275classProp("composer-docked",Te.dockComposerOnMobile),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",Te.uploading||n.\u0275\u0275pipeBind1(10,9,Te.isImageUploading$)),n.\u0275\u0275advance(4),n.\u0275\u0275property("ngIf",Te.messages&&!Te.messages.length),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",Te.messages),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",Te.chatAttachments.length),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",Te.modules),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",Te.uploadHover))},directives:[G.kh,G.jA,Q.NgIf,P.s,Y.V,W.a,Me.w,Ue.x,ue.pW,Q.NgForOf,N.R,_e.T,L.g6,V.JJ,V.On,Q.NgClass],pipes:[Q.AsyncPipe],styles:[".replies-panel[_ngcontent-%COMP%]{width:400px;max-width:100%}@media (max-width: 576px){.replies-panel[_ngcontent-%COMP%]{width:100%}}.chat-container[_ngcontent-%COMP%]{height:100%}.chat-body[_ngcontent-%COMP%]{display:flex;flex-direction:column;background:var(--chat-body-bg, white)}
1.upload-progress-bar[_ngcontent-%COMP%]{flex-shrink:0;position:absolute;top:0;z-index:3}.upload-overlay[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;display:flex;justify-content:center;align-items:center;padding-bottom:110px;background-color:#ffffffb8;z-index:11;pointer-events:none}@media (max-width: 576px){.composer-docked[_ngcontent-%COMP%] .chat-editor-wrapper[_ngcontent-%COMP%]{position:fixed;bottom:0;width:100%;background-color:#fff;padding:0;border-top:1px solid #d0d0d0}.composer-docked[_ngcontent-%COMP%] .chat-scroll[_ngcontent-%COMP%]{padding-bottom:120px}mat-drawer-container[_ngcontent-%COMP%] .mat-drawer-content{overflow:hidden}}"]}),je})()},54538:(It,me,_)=>{"use strict";_.d(me,{kX:()=>nt.k,mO:()=>$.m,xk:()=>Re});var u=_(32407),n=_(69287),A=_(69808),S=_(98833),Z=_(53251),e=_(74202),B=_(51062),L=_(7081),D=_(87366),w=_(96410),I=_(4603),p=_(67293),J=_(20773),O=_(5e3);let z=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.co0,w.MK6,w.FqG,w.QX1]]}),T})(),ne=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.FxY,w.FqG,w.co0,w.Gg,w.QX1,w.Phw,B.aw]]}),T})(),j=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,z,ne,J.Cq]]}),T})(),G=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.FqG,w.QX1,e.Bz]]}),T})(),Q=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.MK6]]}),T})();var P=_(93075),Y=_(33961);let W=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.gPf,Y.D,w.ooU,P.UX,w.Anc,w.dr,z]]}),T})(),Me=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,z]]}),T})(),Ue=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.gPf,w.Anc,z,w.dr,P.UX]]}),T})();var ue=_(87238);let N=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.MK6,w.FqG,w.co0,B.aw,w.Phw,w.Gg,w.QX1,ue.AV,z,ne]]}),T})();var _e=_(7414);let V=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({providers:[_e.R],imports:[[A.CommonModule,P.u5,S.c,w.eYi]]}),T})();var pe=_(40559);let Se=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({providers:[pe.l],imports:[[A.CommonModule,V,P.UX,w.eYi,P.u5,e.Bz,L.eD]]}),T})();var Be=_(33251);let xe=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[w.dr,A.CommonModule,w.MK6,w.co0,w.gPf,Be.P1,P.UX,e.Bz,z]]}),T})();var ze=_(32368);let ce=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,ze.rP,z,w.ooU,w.FqG,w.QX1]]}),T})(),ae=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.eYi,w.TXv,e.Bz,B.aw]]}),T})();var Ie=_(48966);let Ne=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.FqG,w.zYm,w.QX1,w.Fme,Ie.Is,J.Cq,w.gD1.forRoot()]]}),T})(),Pe=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.dr]]}),T})(),be=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,z,L.ws,L.eD,ze.rP]]}),T})(),Ze=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[w.dr,w.MK6,w.co0,I.su,A.CommonModule,B.aw,w.eYi]]}),T})(),$e=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,w.co0,w.MK6,w.dr,w.gPf,Be.P1,P.UX,z]]}),T})(),je=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[w.dr,w.FqG,w.QX1,A.CommonModule,z,e.Bz]]}),T})();var Ye=_(50026);let he=(()=>{class T extends Ye.m1{constructor(de){super({}),this.orderSidebarService=de}setDataFulfilled(de={}){this.patchState(Object.assign({},de)),this.orderSidebarService.setLoadingStatus("fulfilled")}}return T.\u0275fac=function(de){return new(de||T)(O.\u0275\u0275inject(_e.R))},T.\u0275prov=O.\u0275\u0275defineInjectable({token:T,factory:T.\u0275fac}),T})(),Te=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({providers:[he],imports:[[Ue,be,G,W,Q,Ze,Ne,Me,$e,Se,Pe,ce,p.vO,w.eYi,ae,N,je,xe,A.CommonModule,e.Bz,I.su],Ue,be,G,W,Q,Ze,Ne,Me,$e,Pe,ce,Se,j,ae,N,je,xe]}),T})(),Re=(()=>{class T{}return T.\u0275fac=function(de){return new(de||T)},T.\u0275mod=O.\u0275\u0275defineNgModule({type:T}),T.\u0275inj=O.\u0275\u0275defineInjector({imports:[[A.CommonModule,e.Bz,B.aw,S.c,Z.Nh,u.Sr,w.Apv,Te,w.IUK,w.Nnw,n.Iq,L.$p,D.gq,w.khq,w.sO,w.Avp,w.eYi],Te]}),T})();var nt=_(69353),$=(_(27836),_(10793))},34029:(It,me,_)=>{"use strict";
1_.d(me,{k:()=>fi});var u=_(70655),n=_(5e3),A=_(93075),S=_(48966),Z=_(57261),e=_(44224),B=_(51062),L=_(71764),D=_.n(L),w=_(31545),I=_.n(w),p=_(25268),J=_.n(p),O=_(70127),z=_(27988),ne=_(41500),j=_(12490),G=_(25575),Q=_(83276),P=_(22031);const W=function Y(c){return(0,P.Z)(c)?void 0:c};var Me=_(70420),Ue=_(28065);const pe=(0,Me.Z)(function(c,g){var s={};if(null==c)return s;var m=!1;g=(0,z.Z)(g,function(M){return M=(0,G.Z)(M,c),m||(m=M.length>1),M}),(0,Q.Z)(c,(0,Ue.Z)(c),s),m&&(s=(0,ne.Z)(s,7,W));for(var C=g.length;C--;)(0,j.Z)(s,g[C]);return s});var Se=_(82986),Be=_(31158),xe=_.n(Be),ze=_(87174),ce=_(36053),ae=_(21086),Ie=_(63527),Ne=_(68896),Pe=_(24850),be=_(92198),Ze=_(75778),$e=_(87545),je=_(2994),Ye=_(5154),he=_(27221),Te=_(72986),Re=_(87168),nt=_(47403),k=_(658),$=_(7763),T=_(33251),X=_(18013),de=_(55303),lt=_(52080),jt=_(49343),Qt=_(92858),Vt=_(38279),pt=_(98798),Jt=_(96410),Tt=_(24254),Ke=_(69808),In=_(67656),bi=_(25659),Gn=_(74202),dn=_(66809),pn=_(72751),ua=_(70942),ga=_(94986),mn=_(255);const _a=function(c){return["/accounting/invoicing",c,"batch-invoice"]};function ha(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"ui-info-banner",8)(1,"div",9)(2,"h3"),n.\u0275\u0275text(3),n.\u0275\u0275pipe(4,"translate"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"a",5),n.\u0275\u0275text(6),n.\u0275\u0275pipe(7,"translate"),n.\u0275\u0275elementEnd()()()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(4,3,"INVOICE_CANNOT_PAY_INDIVIDUALLY")),n.\u0275\u0275advance(2),n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction1(7,_a,s.parentBatchId)),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(7,5,"VIEW_BATCH")," ")}}const bo=function(){return[]};function cr(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",11),n.\u0275\u0275text(2),n.\u0275\u0275pipe(3,"translate"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(4,"ui-invoice-payment-history",13),n.\u0275\u0275pipe(5,"async"),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(3);let m;n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(3,3,"PAYMENT_HISTORY")),n.\u0275\u0275advance(2),n.\u0275\u0275property("payments",null!==(m=n.\u0275\u0275pipeBind1(5,5,s.payments$))&&void 0!==m?m:n.\u0275\u0275pureFunction0(7,bo))("timezone",s.timezone)}}function fa(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"mat-dialog-content")(1,"div",10)(2,"div",11),n.\u0275\u0275text(3),n.\u0275\u0275pipe(4,"translate"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(5,"ui-invoice-payment-summary",12),n.\u0275\u0275pipe(6,"async"),n.\u0275\u0275template(7,cr,6,8,"ng-container",0),n.\u0275\u0275pipe(8,"async"),n.\u0275\u0275elementEnd()()),2&c){const s=g.ngIf,m=n.\u0275\u0275nextContext(2);let C,M;n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(4,4,"PAYMENT_SUMMARY")),n.\u0275\u0275advance(2),n.\u0275\u0275property("invoice",s)("enableTips",null!==(C=n.\u0275\u0275pipeBind1(6,6,m.enableTips$))&&void 0!==C&&C),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",(null!==(M=null==(M=n.\u0275\u0275pipeBind1(8,8,m.payments$))?null:M.length)&&void 0!==M?M:0)>0)}}const dr=function(c){return["/batch-invoice",c]},bn=function(c){return["/order-status",c,"invoice"]};function yo(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"ui-dialog-header",1),n.\u0275\u0275text(2),n.\u0275\u0275pipe(3,"translate"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(4,ha,8,9,"ui-info-banner",2),n.\u0275\u0275template(5,fa,9,10,"mat-dialog-content",0),n.\u0275\u0275pipe(6,"async"),n.\u0275\u0275elementStart(7,"mat-dialog-actions",3)(8,"button",4),n.\u0275\u0275text(9),n.\u0275\u0275pipe(10,"translate"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(11,"a",5,6),n.\u0275\u0275element(13,"i",7),n.\u0275\u0275text(14),n.\u0275\u0275pipe(15,"translate"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275reference(12),C=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("subtitle",C.order.packages),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(3,8,"PAYMENT_DETAILS")," "),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.parentBatchId),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(6,10,C.invoice$)),n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(10,12,"CLOSE")," "),n.\u0275\u0275advance(2),n.\u0275\u0275property("routerLink",s.parentBatchId?n.\u0275\u0275pureFunction1(16,dr,s.parentBatchId):n.\u0275\u0275pureFunction1(18,bn,C.order.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",m.iconSize),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(15,14,"PAY_INVOICE")," ")}}let pr=(()=>{class c{constructor(s,m,C,M){this.data=s,this.appConfigService=m,this.invoicesRepositoryService=C,this.bookingConfigDocumentService=M,this.enableTipCollection$=(0,Ie.D)(this.bookingConfigDocumentService.get()).pipe((0,Pe.U)(({enableTipCollection:oe})=>oe)),this.order=this.data.order}get timezone(){return this.appConfigService.timeZone}ngOnInit(){this.invoice$=this.invoicesRepositoryService.getById$(this.order.id),this.payments$=this.invoicesRepositoryService.getInvoicePayments(this.order.id),this.enableTips$=(0,ce.aj)([this.enableTipCollection$,this.invoice$]).pipe((0,Pe.U)(([s,m])=>s&&!m.parentBatchId))}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(S.WI),n.\u0275\u0275directiveInject(k._ZM),n.\u0275\u0275directiveInject(k.uOT),n.\u0275\u0275directiveInject(k.KVG))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-invoice-dialog"]],decls:2,vars:3,consts:[[4,"ngIf"],["align","left",3,"subtitle"],["class","mb-16",4,"ngIf"],[1,"justify-end"],["mat-dialog-close","","uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","primary","target","_blank",3,"routerLink"],["payInvoice","btnSize"],["uiIcon","open_in_new",3,"size"],[1,"mb-16"],[1,"flex","items-center","justify-between"],[1,"p-min","mb-min","rounded","bg-gray-5"],[1,"section-title"],[3,"invoice","enableTips"],[3,"payments","timezone"]],template:function(s,m){1&s&&(n.\u0275\u0275template(0,yo,16,20,"ng-container",0),n.\u0275\u0275pipe(1,"async")),2&s&&n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,1,m.invoice$))},directives:[Ke.NgIf,In.A,bi.k,Gn.yS,dn.s,pn.V,S.xY,ua.m,ga.J,S.H8,S.ZT,mn.a],pipes:[Ke.AsyncPipe,B.X$],styles:[".section-title[_ngcontent-%COMP%]{padding:.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}"]}),c})();var va=_(69353),Ui=_(10793);const xo=function(c){return{shown:c}},Ca=function(c){return{open:c}},ee=["*"];let ut=(()=>{class c{constructor(){this.isOpen=!1,this.sidebarClosed=new n.EventEmitter}
1onClose(){this.sidebarClosed.emit()}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-sidebar-wrapper"]],inputs:{isOpen:"isOpen"},outputs:{sidebarClosed:"sidebarClosed"},ngContentSelectors:ee,decls:3,vars:6,consts:[[1,"backdrop",3,"ngClass","click"],[1,"order-sidebar-wrapper",3,"ngClass"]],template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275elementStart(0,"div",0),n.\u0275\u0275listener("click",function(){return m.onClose()}),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(1,"div",1),n.\u0275\u0275projection(2),n.\u0275\u0275elementEnd()),2&s&&(n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction1(2,xo,m.isOpen)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction1(4,Ca,m.isOpen)))},directives:[Ke.NgClass],styles:[".order-sidebar-wrapper[_ngcontent-%COMP%]{position:fixed;top:5rem;overflow-y:auto;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));height:calc(100% - 80px);right:-100%;width:100%;transition:right .3s ease-in-out;z-index:1000}@media (min-width: 320px){.order-sidebar-wrapper[_ngcontent-%COMP%]{right:100vw;width:100vw}}@media (min-width: 960px){.order-sidebar-wrapper[_ngcontent-%COMP%]{right:-80vw;width:80vw;max-width:1050px}}.order-sidebar-wrapper.open[_ngcontent-%COMP%]{right:0}.backdrop[_ngcontent-%COMP%]{visibility:hidden;position:fixed;top:0;left:0;height:100%;width:100%;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));opacity:0;background-color:#00000080;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;z-index:900}.backdrop.shown[_ngcontent-%COMP%]{visibility:visible;opacity:1}"],changeDetection:0}),c})();var Et=_(50026),Pt=_(591),Dt=_(87238);function Qe(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",5),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=g.$implicit;n.\u0275\u0275property("href","/order-status/"+s.id,n.\u0275\u0275sanitizeUrl),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1("Order #",s.orderNo||"-","")}}function gt(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",6),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=g.$implicit;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s," ")}}function hn(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",7),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=g.$implicit;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s," ")}}const zt=["*"];let qe=(()=>{class c{constructor(){this.orderEntity$=new Pt.X(void 0),this.formattedAddress$=this.orderEntity$.pipe((0,Pe.U)(s=>{if(null==s?void 0:s.property_address)return(0,Tt.y1f)(s.property_address)})),this.street$=this.formattedAddress$.pipe((0,Pe.U)(s=>s?null==s?void 0:s.street:"")),this.cityLocation$=this.formattedAddress$.pipe((0,Pe.U)(s=>s?null==s?void 0:s.cityLocation:""))}set order(s){this.orderEntity$.next(s)}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-details-header"]],inputs:{order:"order"},ngContentSelectors:zt,decls:9,vars:9,consts:[[1,"header"],[1,"content"],["matTooltip","Customer Order Link","target","_blank","class","order-number",3,"href",4,"ngIf"],["class","street",4,"ngIf"],["class","city-location",4,"ngIf"],["matTooltip","Customer Order Link","target","_blank",1,"order-number",3,"href"],[1,"street"],[1,"city-location"]],template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275elementStart(0,"header",0)(1,"div",1),n.\u0275\u0275projection(2),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(3,Qe,2,2,"a",2),n.\u0275\u0275pipe(4,"async"),n.\u0275\u0275template(5,gt,2,1,"div",3),n.\u0275\u0275pipe(6,"async"),n.\u0275\u0275template(7,hn,2,1,"div",4),n.\u0275\u0275pipe(8,"async"),n.\u0275\u0275elementEnd()),2&s&&(n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(4,3,m.orderEntity$)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(6,5,m.street$)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(8,7,m.cityLocation$)))},directives:[Ke.NgIf,Dt.gM],pipes:[Ke.AsyncPipe],styles:[".header[_ngcontent-%COMP%]{padding-left:2rem;padding-right:2rem}.content[_ngcontent-%COMP%]{margin-bottom:1.5rem}.street[_ngcontent-%COMP%]{margin-top:.5rem;margin-bottom:.5rem;font-size:2rem;font-weight:600;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.city-location[_ngcontent-%COMP%]{font-size:1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.order-number[_ngcontent-%COMP%]{margin-top:1.5rem;font-size:.875rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));-webkit-text-decoration-line:underline;text-decoration-line:underline}"],changeDetection:0}),c})();var Fi=_(75678),jr=_(40455);const an=function(c){return["/admin/order-management",c]},wn=function(c){return{taskId:c}};let ba=(()=>{class c{constructor(){this.user=null,this.orderStatusChanged=new n.EventEmitter,this.customerChanged=new n.EventEmitter,this.selectedUser=null}onOrderStatusChange(s){this.orderStatusChanged.emit(s)}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-details-footer"]],inputs:{order:"order",user:"user",timezone:"timezone",orderStatuses:"orderStatuses"},outputs:{orderStatusChanged:"orderStatusChanged",customerChanged:"customerChanged"},decls:6,vars:9,consts:[[1,"order-details"],["size","small","prefix","Order:","inputClasses","w-160",1,"select",3,"items","value","selectionChange"],["uiBtnSize","x-small","uiBtnTheme","main","themeMode","secondary",1,"project-chat",3,"routerLink","queryParams"],["projectChatButton","btnSize"],["uiIcon","chat",3,"size"]],template:function(s,m){if(1&s&&(n.\u0275\u0275elementStart(0,"footer",0)(1,"ui-order-status-select",1),n.\u0275\u0275listener("selectionChange",function(M){return m.onOrderStatusChange(M)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(2,"a",2,3),n.\u0275\u0275element(4,"i",4),n.\u0275\u0275text(5," Project Chat "),n.\u0275\u0275elementEnd()()),2&s){const C=n.\u0275\u0275reference(3);n.\u0275\u0275advance(1),n.\u0275\u0275property("items",m.orderStatuses)("value",m.order.orderStatus),n.\u0275\u0275advance(1),n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction1(5,an,m.order.id))("queryParams",n.\u0275\u0275pureFunction1(7,wn,m.order.communication.general.taskRef.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",C.iconSize)}},directives:[jr.b,Gn.yS,dn.s,pn.V,mn.a],styles:[".order-details[_ngcontent-%COMP%]{margin-top:.75rem;display:flex;width:100%;column-gap:.75rem;row-gap:.25rem;padding-left:2rem;padding-right:2rem}
1.project-chat[_ngcontent-%COMP%]{min-height:26px}"],changeDetection:0}),c})();var U=_(4603),He=_(62508),De=_(54789);function li(c,g){1&c&&n.\u0275\u0275element(0,"tn-order-sidebar-look-toggle",16),2&c&&n.\u0275\u0275property("lightText",!0)}function Mt(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",17)(1,"div",18),n.\u0275\u0275element(2,"img",19),n.\u0275\u0275elementEnd()()),2&c){const s=n.\u0275\u0275nextContext(2).ngIf;n.\u0275\u0275advance(2),n.\u0275\u0275property("alt",s.order.orderNo)("src",s.order.coverImage,n.\u0275\u0275sanitizeUrl)}}function mr(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",21)(1,"agm-map",22),n.\u0275\u0275element(2,"agm-marker",23),n.\u0275\u0275elementEnd()()),2&c){const s=n.\u0275\u0275nextContext(3).ngIf;let m,C,M,oe;n.\u0275\u0275advance(1),n.\u0275\u0275property("disableDefaultUI",!0)("zoom",15)("latitude",null!==(m=null==s.order||null==s.order.property_address?null:s.order.property_address.lat)&&void 0!==m?m:0)("longitude",null!==(C=null==s.order||null==s.order.property_address?null:s.order.property_address.lng)&&void 0!==C?C:0),n.\u0275\u0275advance(1),n.\u0275\u0275property("latitude",null!==(M=null==s.order||null==s.order.property_address?null:s.order.property_address.lat)&&void 0!==M?M:0)("longitude",null!==(oe=null==s.order||null==s.order.property_address?null:s.order.property_address.lng)&&void 0!==oe?oe:0)}}function _t(c,g){if(1&c&&n.\u0275\u0275template(0,mr,3,6,"div",20),2&c){const s=n.\u0275\u0275nextContext(2).ngIf;n.\u0275\u0275property("ngIf",(null==s.order||null==s.order.property_address?null:s.order.property_address.lat)&&(null==s.order||null==s.order.property_address?null:s.order.property_address.lng))}}function ht(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"header",7)(1,"div",8)(2,"tn-order-details-header",9)(3,"div",10)(4,"i",11),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).onClose()}),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(5,li,1,1,"tn-order-sidebar-look-toggle",12),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(6,"tn-order-details-footer",13),n.\u0275\u0275listener("orderStatusChanged",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext().changeStatus(M.order,C)})("customerChanged",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).changeCustomer(C)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(7,Mt,3,2,"div",14),n.\u0275\u0275template(8,_t,1,1,"ng-template",null,15,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(9),m=n.\u0275\u0275nextContext().ngIf,C=n.\u0275\u0275nextContext();n.\u0275\u0275advance(2),n.\u0275\u0275property("order",m.order),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",24),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!C.isOrderManagementBeta),n.\u0275\u0275advance(1),n.\u0275\u0275property("order",m.order)("user",C.user)("timezone",C.timezone)("orderStatuses",C.orderStatuses),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.order.coverImage)("ngIfElse",s)}}function Fn(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",1,2),n.\u0275\u0275template(3,ht,10,9,"header",3),n.\u0275\u0275elementStart(4,"div",4)(5,"ui-anchor-nav-tabs",5),n.\u0275\u0275listener("tabIndex",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().changeActiveTab(C)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275element(6,"div",6),n.\u0275\u0275projection(7),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=g.ngIf,m=n.\u0275\u0275reference(2),C=n.\u0275\u0275nextContext();n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",s.order),n.\u0275\u0275advance(1),n.\u0275\u0275property("classWhenSticky","sticky-tabs")("triggerOn","sticky-trigger")("scrollContainer",m),n.\u0275\u0275advance(1),n.\u0275\u0275property("anchors",C.anchors)("scrollContainer",m)("useNativeScroller",!0)("activeTab",C.activeTabIndex)}}const zn=["*"],yi={order:null,isOpen:!1};let ya=(()=>
1{class c extends Et.m1{constructor(s,m,C,M,oe){super(yi),this.ordersRepositoryService=s,this.appConfigService=m,this.projectService=C,this.authService=M,this.route=oe,this.user=null,this.panels=[],this.orderStatuses=[],this.activeTabIndex=0,this.appV2=!0,this.sidebarClosed=new n.EventEmitter,this.tabClicked=new n.EventEmitter,this.customerChanged=new n.EventEmitter,this.order$=this.select(we=>we.order),this.isOpen$=this.select(we=>we.isOpen),this.user$=this.authService.user$,this.view$=(0,ce.aj)([this.order$,this.isOpen$]).pipe((0,Pe.U)(([we,Ge])=>({order:we,isOpen:Ge}))),this.timezone=this.appConfigService.timeZone,this.anchors={},this.loadOrder=this.effect(we=>we.pipe((0,$e.w)(Ge=>this.ordersRepositoryService.getById$(Ge).pipe((0,Et._b)(tt=>this.patchState({order:tt}),tt=>console.error(tt)))))),this.changeOrderStatus=this.effect(we=>we.pipe((0,$e.w)(({order:Ge,status:tt})=>(0,u.mG)(this,void 0,void 0,function*(){return this.projectService.staffChangeOrderStatus(Ge,tt).catch(dt=>console.error(dt))}))))}set orderId(s){this.setOrder(null!=s?s:null)}get isOrderManagementBeta(){return!0===this.route.snapshot.data.isBeta}ngOnInit(){this.anchors=this.panels.reduce((s,m)=>Object.assign(Object.assign({},s),m.anchor),{})}setOrder(s){this.patchState({isOpen:!!s}),s?this.loadOrder(s):this.patchState({order:null})}changeStatus(s,m){this.changeOrderStatus({order:s,status:m})}onClose(){this.sidebarClosed.emit()}changeActiveTab(s){this.tabClicked.emit(s)}changeCustomer(s){this.customerChanged.emit(s)}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(k.HVf),n.\u0275\u0275directiveInject(k._ZM),n.\u0275\u0275directiveInject(k.Y4r),n.\u0275\u0275directiveInject(k.e80),n.\u0275\u0275directiveInject(Gn.gz))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-sidebar"]],hostVars:2,hostBindings:function(s,m){2&s&&n.\u0275\u0275classProp("app-v2",m.appV2)},inputs:{orderId:"orderId",user:"user",panels:"panels",orderStatuses:"orderStatuses",activeTabIndex:"activeTabIndex"},outputs:{sidebarClosed:"sidebarClosed",tabClicked:"tabClicked",customerChanged:"customerChanged"},features:[n.\u0275\u0275InheritDefinitionFeature],ngContentSelectors:zn,decls:2,vars:3,consts:[[4,"ngIf"],[1,"order-sidebar"],["scrollContainer",""],["class","order-sidebar__header order-sidebar__header--with-photo",4,"ngIf"],["uiSticky","",1,"bg-white",3,"classWhenSticky","triggerOn","scrollContainer"],["align","left",3,"anchors","scrollContainer","useNativeScroller","activeTab","tabIndex"],["id","sticky-trigger",1,"relative"],[1,"order-sidebar__header","order-sidebar__header--with-photo"],[1,"order-info"],[3,"order"],[1,"flex","pt-20"],["uiIcon","close",1,"close-icon",3,"size","click"],["class","ml-auto",3,"lightText",4,"ngIf"],[3,"order","user","timezone","orderStatuses","orderStatusChanged","customerChanged"],["class","order-thumbnail",4,"ngIf","ngIfElse"],["map",""],[1,"ml-auto",3,"lightText"],[1,"order-thumbnail"],[1,"order-thumbnail__img-container"],["loading","lazy",1,"order-thumbnail__img",3,"alt","src"],["class","order-map",4,"ngIf"],[1,"order-map"],[3,"disableDefaultUI","zoom","latitude","longitude"],[3,"latitude","longitude"]],template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275template(0,Fn,8,8,"ng-container",0),n.\u0275\u0275pipe(1,"async")),2&s&&n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,1,m.view$))},directives:[Ke.NgIf,qe,mn.a,Fi.Y,ba,U.SA,U.pt,He.z,De.r],pipes:[Ke.AsyncPipe],styles:[".close-icon[_ngcontent-%COMP%]{display:block;cursor:pointer;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.close-icon[_ngcontent-%COMP%]:hover{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.anchor[_ngcontent-%COMP%]{margin-top:1rem;transform:translateY(-48px)}
1mat-expansion-panel.mat-expansion-panel.section-panel[_ngcontent-%COMP%]{border-style:none;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}mat-expansion-panel.mat-expansion-panel.section-panel[_ngcontent-%COMP%] .mat-expansion-panel-header[_ngcontent-%COMP%]{padding:0;padding-right:.25rem}mat-expansion-panel.mat-expansion-panel.section-panel[_ngcontent-%COMP%] .mat-expansion-panel-header[_ngcontent-%COMP%]:hover{background-color:transparent}mat-expansion-panel.mat-expansion-panel.section-panel[_ngcontent-%COMP%] .mat-expansion-panel-body{padding:0}.section-header[_ngcontent-%COMP%]{font-family:var(--content-font, Inter),sans-serif;font-size:1.25rem;font-weight:500;line-height:2.25rem;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.order-info[_ngcontent-%COMP%]{padding-bottom:1.25rem}.order-sidebar__header[_ngcontent-%COMP%]{display:grid;background-color:var(--brand-90, #01192F);padding-bottom:1.25rem}@media (min-width: 320px){.order-sidebar__header--with-photo[_ngcontent-%COMP%]{grid-template-columns:repeat(1,minmax(0,1fr));padding-left:1.25rem;padding-right:1.25rem}}@media (min-width: 768px){.order-sidebar__header--with-photo[_ngcontent-%COMP%]{grid-template-columns:1fr 404px;padding:0}}.order-thumbnail[_ngcontent-%COMP%]{position:relative;height:100%;width:100%}.order-thumbnail__img-container[_ngcontent-%COMP%]{position:absolute;left:0;top:0;height:100%;width:100%}.order-thumbnail__img[_ngcontent-%COMP%]{height:100%;width:100%;border-radius:0;object-fit:cover}"],changeDetection:0}),c})();function xa(c,g){if(1&c&&n.\u0275\u0275element(0,"i",3),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("uiIcon",s.icon)}}const Sa=["*"];let Ai=(()=>{class c{constructor(){this.title="",this.heading="primary"}get headingClass(){switch(this.heading){case"primary":default:return"section-title__heading--primary";case"secondary":return"section-title__heading--secondary"}}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["ui-section-title"]],inputs:{title:"title",icon:"icon",heading:"heading"},ngContentSelectors:Sa,decls:4,vars:2,consts:[[1,"section-title"],["class","text-gray-80",3,"uiIcon",4,"ngIf"],[1,"section-title__heading",3,"ngClass"],[1,"text-gray-80",3,"uiIcon"]],template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275elementStart(0,"div",0),n.\u0275\u0275template(1,xa,1,1,"i",1),n.\u0275\u0275elementStart(2,"div",2),n.\u0275\u0275projection(3),n.\u0275\u0275elementEnd()()),2&s&&(n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.icon),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngClass",m.headingClass))},directives:[Ke.NgIf,mn.a,Ke.NgClass],styles:["[_nghost-%COMP%]{display:inline-flex}.section-title[_ngcontent-%COMP%]{display:flex;gap:.125rem}.section-title__heading[_ngcontent-%COMP%]{font-weight:500}.section-title__heading--primary[_ngcontent-%COMP%]{font-family:var(--content-font, Inter),sans-serif;font-size:1.25rem;text-transform:capitalize;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.section-title__heading--secondary[_ngcontent-%COMP%]{align-items:center;font-size:1rem}"],changeDetection:0}),c})();const Ta=["*"];let So=(()=>{class c{}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-section-wrapper"]],ngContentSelectors:Ta,decls:1,vars:0,template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275projection(0))},styles:["[_nghost-%COMP%]{border-width:1px;--tw-border-opacity: 1;border-color:rgb(246 246 246 / var(--tw-border-opacity, 1));border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}"],changeDetection:0}),c})();var To=_(27836),wo=_(17489),Xs=_(38149),Hi=_(1059),Rr=_(68807),Kn=_(21406),Wi=_(40943),un=_(95659),Zn=_(39918);class Lt extends un.uK{constructor(g,s,m,C,M,oe,we,Ge,tt,dt,Ve,it,bt,$t,vn,Mn,Pn,ai,si){super({order:null,initialInvoice:null,calendarEvents:[],paymentStatusOptions:[],servicesStagesOptions:[]}),this.taskService=g,this.membersService=s,this.projectService=m,this.invoiceService=C,this.uiCurrencyPipe=M,this.appConfigService=oe,this.dateFormatService=we,this.accountingService=Ge,this.accountingFactoryService=tt,this.orderService=dt,this.orderTasksService=Ve,this.customStatusesPipe=it,this.confirmDialogService=bt,this.ordersRepositoryService=$t,this.invoicesRepositoryService=vn,this.invoiceLineItemFormService=Mn,this.packageSolutionSelectorService=Pn,this.calendarEventsRepositoryService=ai,this.travelFeeService=si,this.invoiceStore=new lt.PA({note:"",status:pt.bG.Unpaid,orderId:"",archived:!1,currency:this.appConfigService.currency,issueDate:0,lineItems:[],amountPaid:0,customerUid:"",isTaxInclusive:!1,accountingInvoiceNo:"",accountingSyncStatus:pt.mM.UNSYNCED,sqFtRangeDescription:"",accountingInvoiceType:pt.z3.DRAFT,acreageRangeDescription:""}),this.order$=this.select(({order:ye})=>ye),this.paymentStatusOptions$=this.select(({paymentStatusOptions:ye})=>ye),this.invoiceDownloadUrl$=this.select(this.order$,ye=>ye?`${this.appConfigService.coreAppUrl}/api/v1/projects/${this.appConfigService.projectId}/invoices/${null==ye?void 0:ye.id}/pdf`:null),this.invoiceUrl$=this.select(this.order$,ye=>ye?`${location.origin}/order-status/${ye.id}/invoice`:null),this.listItemStatuses$=this.select(({servicesStagesOptions:ye})=>this.orderTasksService.getTaskStatusList(ye)),this.orderDateString$=this.select(this.order$,ye=>{if(ye&&ye.date){const Xe=this.appConfigService.timeZone;return xe()((0,Tt.EUj)(ye.date,Xe)).tz(Xe).format(Tt.lvo.MONTH_DAY_YEAR_TIME_GMT)}return null}),this.servicesStagesSelectOptions$=this.select(this.order$,this.listItemStatuses$,(ye,Xe)=>{var vt;return(null===(vt=null==ye?void 0:ye.taskSummary)||void 0===vt?void 0:vt.pending)?[{value:"pending",label:"Pending"}]:Xe.filter(xt=>xt.key!==pt.av.ARCHIVED).map(xt=>({value:xt.key,label:xt.title}))}),this.initialInvoice$=this.select(({initialInvoice:ye})=>ye),this.invoicePaymentStatus$=this.select(this.initialInvoice$,this.paymentStatusOptions$,(ye,Xe)=>Xe.find(vt=>vt.value===(null==ye?void 0:ye.status))),this.calendarEvents$=this.select(({calendarEvents:ye})=>ye),this.members$=this.order$.pipe((0,Pe.U)(ye=>{var Xe;return null!==(Xe=null==ye?void 0:ye.members)&&void 0!==Xe?Xe:[]}),(0,Ze.x)((ye,Xe)=>(0,wo.isEqual)(ye,Xe)),(0,$e.w)(ye=>this.membersService.getMembersById(ye))),this.lineItems$=this.select(this.order$,this.initialInvoice$,this.members$,this.calendarEvents$,(ye,Xe,vt,xt)=>{var et,rn,Gt,Kt,on;if(!ye)return[];const Cn=Object.entries(null!==(et=ye.taskSummary)&&void 0!==et?et:{}).flatMap(([Bt,Ii])=>(null!=Ii?Ii:[]).map(ar=>Object.assign(Object.assign({},ar),{status:Bt}
1))).filter(Bt=>Bt&&Bt.serviceId),On=null!==(rn=null==Xe?void 0:Xe.lineItems)&&void 0!==rn?rn:[],Ut=On.find(Bt=>Bt.type===pt.is.Package);if(Ut){const Bt=null!==(Kt=null===(Gt=Ut.subItems)||void 0===Gt?void 0:Gt.filter(Di=>Di.type===pt.is.Service))&&void 0!==Kt?Kt:[],Ii=this.addPhotographersAndTasksToServices(Cn,Bt,xt,vt),ar=new Map(Ii.map(Di=>[Di.id,Di]));Ut.subItems=(null!==(on=Ut.subItems)&&void 0!==on?on:[]).map(Di=>ar.has(Di.id)?ar.get(Di.id):Di)}const Xn=[...Ut?[Ut]:[],...On.filter(Bt=>Bt.type===pt.is.Service),...On.filter(Bt=>Bt.type!==pt.is.Service&&Bt.type!==pt.is.Package)];return this.addPhotographersAndTasksToServices(Cn,Xn,xt,vt)}),this.customTiers$=this.order$.pipe((0,Pe.U)(ye=>((null==ye?void 0:ye.service_custom_tiers)||[]).map(vt=>(vt.tiers=vt.tiers.map(xt=>Object.assign(Object.assign({},xt),{label:`${xt.name} +${this.uiCurrencyPipe.transform(xt.price)}`})),vt))),(0,Hi.O)([])),this.orderId$=this.order$.pipe((0,Pe.U)(ye=>{var Xe;return null!==(Xe=null==ye?void 0:ye.id)&&void 0!==Xe?Xe:null}),(0,Ze.x)()),this.invoicePackages$=this.initialInvoice$.pipe((0,Pe.U)(ye=>{var Xe;return(null===(Xe=null==ye?void 0:ye.lineItems)||void 0===Xe?void 0:Xe.filter(vt=>vt.type===pt.is.Package))||[]})),this.amounts$=this.initialInvoice$.pipe((0,Pe.U)(ye=>({amountPaid:(null==ye?void 0:ye.amountPaid)||0,amountDue:(null==ye?void 0:ye.amountDue)||0,subTotal:(null==ye?void 0:ye.subTotal)||0,total:(null==ye?void 0:ye.totalAmount)||0}))),this.provider$=this.accountingFactoryService.getAccountingProvider(),this.apolloInvoicePdfId$=this.select(this.initialInvoice$,this.provider$,(ye,Xe)=>Xe===Qt.q6.Apollo&&(null==ye?void 0:ye.accountingId)?ye.accountingId:null),this.vm$=this.select(this.order$,this.initialInvoice$,this.amounts$,this.lineItems$,this.invoiceUrl$,this.customTiers$,this.invoicePackages$,this.orderDateString$,this.listItemStatuses$,this.invoiceDownloadUrl$,this.invoicePaymentStatus$,this.paymentStatusOptions$,this.servicesStagesSelectOptions$,(ye,Xe,vt,xt,et,rn,Gt,Kt,on,Cn,On,Ut,Vn)=>({order:ye,invoice:Xe,amounts:vt,lineItems:xt,invoiceUrl:et,customTiers:rn,invoicePackages:Gt,orderDateString:Kt,listItemStatuses:on,invoiceDownloadUrl:Cn,invoicePaymentStatus:On,paymentStatusOptions:Ut,servicesStagesSelectOptions:Vn}),{debounce:!0}),this.updateServiceStageStatus=this.effect(ye=>ye.pipe((0,Re.M)(this.order$),(0,$e.w)(([{serviceStatus:Xe,currentLineItem:vt,tasks:xt},et])=>{var rn;if(!(null==et?void 0:et.taskSummary)||!(null==vt?void 0:vt.orderTask))return(0,ae.of)(null);const Gt=Object.assign({},et.taskSummary),Kt=Object.assign({},vt.orderTask),on=this.getPreviousTaskStatus(Gt,Kt),Cn=Xe;if(on===Cn)return(0,ae.of)(null);"archived"===Cn&&Kt.serviceId&&this.orderTasksService.archiveCustomQuestions(et,Kt.serviceId),"archived"===on&&this.orderTasksService.unarchiveCustomQuestions(et,Kt),("archived"===on||"archived"===Cn)&&this.orderTasksService.syncCalendarEvents(et);const On=this.customStatusesPipe.transform(Cn,"service");if(on){const Vn=this.customStatusesPipe.transform(on,"service");this.orderTasksService.createMessage(Kt,On,Vn)}Object.keys(Gt).forEach(Vn=>{var vi,Xn;Gt[Vn]=null!==(Xn=null===(vi=Gt[Vn])||void 0===vi?void 0:vi.filter(Bt=>Bt.serviceId!==Kt.serviceId))&&void 0!==Xn?Xn:[]});const Ut=Object.assign({},Kt);return delete Ut.status,Gt[Cn]=[...null!==(rn=Gt[Cn])&&void 0!==rn?rn:[],Ut],et.taskSummary=Gt,this.orderTasksService.upsertOrderServices(et),this.orderTasksService.triggerJobs(et,Ut,xt)}))),this.editOrderServices=this.effect(ye=>ye.pipe((0,Rr.z)(Xe=>(0,Ie.D)(this.packageSolutionSelectorService.editSolutionsBeta(Xe))))),this.deleteService=this.effect(ye=>ye.pipe((0,Re.M)(this.order$),(0,Kn.b)(([Xe,vt])=>vt&&Xe&&Xe.orderTask?this.taskService.archiveTask(vt,Xe.orderTask,!1).pipe((0,Et._b)(()=>{this.invoiceStore.deleteLineItem(Xe),this.saveInvoice()},xt=>{console.error("[deleteService]",xt)})):(0,ae.of)(null)))),this.deleteCustomItem=this.effect(ye=>ye.pipe((0,Re.M)(this.order$),(0,Kn.b)(([Xe,vt])=>vt?this.confirmDialogService.confirm({message:["Are you sure you want to delete this item?"],destructive:!0}).pipe((0,Te.q)(1),(0,be.h)(Boolean),(0,Et._b)(()=>{this.invoiceStore.deleteLineItem(Xe),this.travelFeeService.isTravelFeeLineItem(Xe)&&this.ordersRepositoryService.update(vt.id,{travels:this.travelFeeService.applyTotalTravelFee(vt.travels||[],0)}),this.saveInvoice()},xt=>{console.error("[deleteLineItem]",xt)})):(0,ae.of)(null)))),this.addCustomItem=this.effect(ye=>ye.pipe((0,Kn.b)(Xe=>this.invoiceLineItemFormService.open(null,Xe).pipe((0,be.h)(Boolean),(0,Et._b)(vt=>{this.invoiceStore.addLineItem(vt),this.saveInvoice()},vt=>{console.error("[addCustomItem]",vt)}))))),this.saveInvoice=this.effect(ye=>ye.pipe((0,Wi.g)(0),(0,Re.M)(this.initialInvoice$,this.order$,this.invoiceStore.invoice$),(0,je.b)(([Xe,vt,xt,et])=>{!xt||(this.invoiceService.saveUpdatedInvoice(this.invoiceStore,vt,xt,(null==Xe?void 0:Xe.updatedOrder)||xt,(null==Xe?void 0:Xe.message)||""),this.patchState({initialInvoice:et}))}))),this.editLineItem=this.effect(ye=>ye.pipe((0,Rr.z)(({updatedLineItem:Xe,openCustomItemEditModal:vt})=>(vt?this.invoiceLineItemFormService.open(Xe):(0,ae.of)(Xe)).pipe((0,be.h)(Boolean),(0,Re.M)(this.order$,this.customTiers$,this.initialInvoice$),(0,je.b)(([xt,et,rn,Gt])=>
1{if(!xt.id||!et)return;const Kt=xt.id?this.getItemById(xt.id,null==Gt?void 0:Gt.lineItems):null;xt.id&&Gt&&(null==Kt?void 0:Kt.customTierName)!==xt.customTierName?this.updateCustomTier(et,rn,xt):this.editLineItemProps(et,xt)}))))),this.updatePackageCustomTiers=this.effect(ye=>ye.pipe((0,Re.M)(this.order$),(0,je.b)(([{packageId:Xe,customTierName:vt},xt])=>{var et,rn;if(!Xe||!vt||!xt)return;const Gt=null===(et=xt.service_custom_tiers)||void 0===et?void 0:et.find(({serviceId:Ut})=>Ut===Xe);if(!Gt)return;const Kt=Gt.tiers.find(({name:Ut})=>Ut===vt);if(!Kt)return;const on=pe(Kt,"label"),On={service_custom_tiers:null===(rn=xt.service_custom_tiers)||void 0===rn?void 0:rn.map(Ut=>Ut.serviceId===Xe?Object.assign(Object.assign({},Ut),{selected:on}):Ut)};this.invoiceService.getInvoiceWithUpdatedServiceLineItems(Object.assign(Object.assign({},xt),On)).pipe((0,$e.w)(Ut=>(0,Ie.D)(this.invoicesRepositoryService.upsert(Ut.orderId,Ut)).pipe((0,je.b)(()=>{this.projectService.updateInvoiceAmount(xt,Ut.totalAmount,On,`updated service option **${vt}**. Invoice amount updated from ${xt.invoice_amount} to **${Ut.totalAmount}**.`)}),(0,$e.w)(()=>Ut.accountingId?(0,Ie.D)(this.accountingService.resync(Ut)):(0,ae.of)(null)),(0,$e.w)(()=>this.orderService.handleCalendarEventTemplateSync(Object.assign(Object.assign({},xt),On)))))).subscribe()}))),this.invoiceSubscription=this.effect(()=>this.orderId$.pipe((0,be.h)(Boolean),(0,Ze.x)(),(0,$e.w)(ye=>this.invoicesRepositoryService.getById$(ye)),(0,Re.M)(this.invoiceStore.invoice$),(0,Et._b)(([ye,Xe])=>{this.patchState({initialInvoice:ye}),(0,wo.isEqual)(ye.lineItems,Xe.lineItems)||this.invoiceStore.patchState(ye),this.invoiceStore.patchState({amountPaid:ye.amountPaid,status:ye.status})},ye=>{console.error("[listenToInvoiceChanges]",ye)}))),this.invoiceInit=this.effect(()=>this.orderId$.pipe((0,be.h)(Boolean),(0,Ze.x)(),(0,Te.q)(1),(0,$e.w)(ye=>this.invoicesRepositoryService.getById$(ye).pipe((0,Te.q)(1))),(0,Et._b)(ye=>{this.invoiceStore.patchState(ye)},ye=>{console.error("[listenToInvoiceChanges]",ye)}))),this.calendarEvents=this.effect(()=>this.orderId$.pipe((0,be.h)(ye=>!!ye),(0,Ze.x)(),(0,$e.w)(ye=>this.calendarEventsRepositoryService.getOrderCalendarEvents(ye)),(0,Et._b)(ye=>{this.patchState({calendarEvents:ye})},ye=>{console.error("[loadCalendarEvents]",ye)}))),this.patchStatusOptions()}setOrder(g){this.patchState({order:g})}patchStatusOptions(){var g,s;const m=(0,Tt.C0F)(this.appConfigService.paymentStatuses,null===(g=this.appConfigService.localization)||void 0===g?void 0:g.language)||[],C=(0,Tt.C0F)(this.appConfigService.serviceStatuses,null===(s=this.appConfigService.localization)||void 0===s?void 0:s.language)||[];this.patchState({paymentStatusOptions:m,servicesStagesOptions:C})}getPreviousTaskStatus(g,s){return(0,Xs.Z)(g,m=>null==m?void 0:m.some(C=>C.serviceId?C.serviceId===s.serviceId:C.name===s.name))}addPhotographersAndTasksToServices(g,s,m,C){const M=new Map(g.map(Ge=>[Ge.serviceId,Ge])),oe=new Map(m.map(Ge=>[Ge.id,Ge])),we=new Map(C.map(Ge=>[Ge.id,Ge]));return s.map(Ge=>{var tt;const dt=Ge.id?M.get(Ge.id):null,Ve=(null==dt?void 0:dt.eventId)?oe.get(dt.eventId):null,it=(null===(tt=null==Ve?void 0:Ve.photographers)||void 0===tt?void 0:tt.map(bt=>we.get(bt)).filter(Boolean))||[];return Object.assign(Object.assign(Object.assign(Object.assign({},Ge),{orderTask:dt,calendarEvent:Ve}),it.length?{photographers:it}:{}),(null==Ve?void 0:Ve.when)?{when:this.formatWhen(Ve.when)}:{})})}formatWhen(g){const s=this.appConfigService.timeZone,m=D().unix(g.start_time).tz(s),C=D().unix(g.end_time).tz(s),M=this.dateFormatService.getDateFormatByLocale(Tt.lvo.MONTH_FULL_DAY_YEAR);return`${m.format(M)} ${m.format(Tt.lvo.TIME_12H_PADDED)} - ${C.format(Tt.lvo.TIME_12H_PADDED)}`}updateCustomTier(g,s,m){const{customTierName:C,id:M}=m,oe=s.find($t=>$t.serviceId===M);if(!oe)return;const we=oe.tiers.find(({name:$t})=>C===$t);if(!we)return;const dt=(Number(null==oe?void 0:oe.basePrice)||0)+(Number(null==we?void 0:we.initialPrice)||0),Ve=Object.assign(Object.assign({},m),{totalAmount:Number(we.price),fullInitialPrice:dt,fullPrice:dt,unitAmou
1nt:dt}),it=(g.service_custom_tiers||[]).map($t=>$t.serviceId===M?Object.assign(Object.assign({},$t),{selected:we}):$t),bt=Object.assign(Object.assign({},g),{service_custom_tiers:it});this.updateInvoiceAmount(g,bt,{service_custom_tiers:it},it,Ve,`**${C}** was updated`),this.orderService.handleCalendarEventTemplateSync(bt)}updateInvoiceAmount(g,s,m,C,M,oe){(null==M?void 0:M.id)&&this.invoiceStore.replaceLineItem({id:M.id,lineItem:M,customTiers:C}),this.saveInvoice({message:oe,updatedOrder:s}),Object.keys(m).length&&this.ordersRepositoryService.update(g.id,m)}editLineItemProps(g,s){var m;const C=this.travelFeeService.isTravelFeeLineItem(s)?{travels:this.travelFeeService.applyTotalTravelFee(g.travels||[],null!==(m=s.feeAmount)&&void 0!==m?m:0)}:{};this.updateInvoiceAmount(g,g,C,[],s,`**${s.description}** was updated.`)}getItemById(g,s=[]){var m;for(const C of s){if(C.id===g)return C;if("subItems"in C&&(null===(m=C.subItems)||void 0===m?void 0:m.length)){const M=this.getItemById(g,C.subItems);if(M)return M}}return null}}Lt.\u0275fac=function(g){return new(g||Lt)(n.\u0275\u0275inject(k.Mtp),n.\u0275\u0275inject(k.ZeD),n.\u0275\u0275inject(k.Y4r),n.\u0275\u0275inject(lt.q),n.\u0275\u0275inject(Jt._ab),n.\u0275\u0275inject(k._ZM),n.\u0275\u0275inject(k.fiA),n.\u0275\u0275inject(k.Snr),n.\u0275\u0275inject(k.Vk1),n.\u0275\u0275inject(k.pxI),n.\u0275\u0275inject(k.e2A),n.\u0275\u0275inject(Jt.N$c),n.\u0275\u0275inject(Jt.DNF),n.\u0275\u0275inject(k.HVf),n.\u0275\u0275inject(k.uOT),n.\u0275\u0275inject(Zn.AS),n.\u0275\u0275inject(Jt.yKz),n.\u0275\u0275inject(k.es8),n.\u0275\u0275inject(k.cVO))},Lt.\u0275prov=n.\u0275\u0275defineInjectable({token:Lt,factory:Lt.\u0275fac}),(0,u.gn)([(0,un.wE)(),(0,u.w6)("design:type",Function),(0,u.w6)("design:paramtypes",[Object]),(0,u.w6)("design:returntype",void 0)],Lt.prototype,"setOrder",null),(0,u.gn)([(0,un.wE)(),(0,u.w6)("design:type",Function),(0,u.w6)("design:paramtypes",[]),(0,u.w6)("design:returntype",void 0)],Lt.prototype,"patchStatusOptions",null);var mt=_(69287),Gi=_(20773),qt=_(92181),Bi=_(69009),Ki=_(59834);const ko=function(c){return["/accounting/invoicing",c,"batch-invoice"]},Vr=function(c){return["/admin","order-management",c,"invoice"]};function Eo(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",15,16),n.\u0275\u0275element(2,"i",17),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(2).ngIf;n.\u0275\u0275property("routerLink",m.invoice.parentBatchId?n.\u0275\u0275pureFunction1(3,ko,m.invoice.parentBatchId):n.\u0275\u0275pureFunction1(5,Vr,m.invoice.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",m.invoice.parentBatchId?"View batch invoice":"View invoice"," ")}}function yn(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"button",18,19),n.\u0275\u0275element(2,"i",17),n.\u0275\u0275text(3," View invoice "),n.\u0275\u0275element(4,"i",20),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(1);n.\u0275\u0275nextContext();const m=n.\u0275\u0275reference(4);n.\u0275\u0275property("matMenuTriggerFor",m),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Lr(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",21),n.\u0275\u0275text(1," Accounting invoice "),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275property("href",m.accountingInvoiceUrl+s.invoice.accountingId,n.\u0275\u0275sanitizeUrl)}}function ji(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",22,23),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(2).ngIf;return n.\u0275\u0275nextContext().syncToAccounting(C.invoice,C.invoiceCustomer)}),n.\u0275\u0275element(2,"i",24),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(2).ngIf,C=n.\u0275\u0275nextContext();n.\u0275\u0275property("disabled",!m.accountingContactsLoaded||m.
1invoice.parentBatchId),n.\u0275\u0275advance(2),n.\u0275\u0275classProp("animate-spin",m.isAccountingLoading),n.\u0275\u0275property("size",s.iconSize),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",C.getAccountingSyncActionLabel(m.invoice)," ")}}function wa(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",25,26),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(2).ngIf;return n.\u0275\u0275nextContext().markAsSynced(C.invoice)}),n.\u0275\u0275element(2,"i",24),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(2).ngIf,C=n.\u0275\u0275nextContext();n.\u0275\u0275property("disabled",!m.accountingContactsLoaded),n.\u0275\u0275advance(2),n.\u0275\u0275classProp("animate-spin",m.isAccountingLoading),n.\u0275\u0275property("size",s.iconSize),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",C.getManualSyncActionLabel(m.invoice)," ")}}function Oo(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",6),n.\u0275\u0275template(1,Eo,4,7,"a",7),n.\u0275\u0275template(2,yn,5,3,"button",8),n.\u0275\u0275elementStart(3,"mat-menu",9,10),n.\u0275\u0275template(5,Lr,2,1,"a",11),n.\u0275\u0275elementStart(6,"a",12),n.\u0275\u0275text(7),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(8,ji,4,5,"button",13),n.\u0275\u0275template(9,wa,4,5,"button",14),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.invoice.accountingId),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.invoice.accountingId),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",s.invoice.accountingId&&m.accountingInvoiceUrl),n.\u0275\u0275advance(1),n.\u0275\u0275property("routerLink",s.invoice.parentBatchId?n.\u0275\u0275pureFunction1(7,ko,s.invoice.parentBatchId):n.\u0275\u0275pureFunction1(9,Vr,s.invoice.id)),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s.invoice.parentBatchId?"Tonomo batch invoice":"Tonomo invoice"," "),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",(s.isSingleSyncMode||m.isAccountingAction)&&m.isAccountingConnected&&!(s.isSingleSyncMode&&s.invoice.accountingId)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.isSingleSyncMode&&!m.isAccountingAction)}}function ci(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"footer",27)(1,"form",28),n.\u0275\u0275element(2,"ui-select",29)(3,"ui-autocomplete",30),n.\u0275\u0275elementEnd()()),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("formGroup",m.accountingSyncForm),n.\u0275\u0275advance(1),n.\u0275\u0275property("nameKey","label")("items",s.accountingSyncStatuses),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",m.accountingSyncForm.getRawValue().accountingContactId)("options",s.accountingContactOptions)("maxVisibleOptions",32)}}function ur(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",1)(2,"header",2)(3,"div",3),n.\u0275\u0275projection(4),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(5,Oo,10,11,"div",4),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(6,ci,4,6,"footer",5),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",s.invoice),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.isAccountingConnected&&!s.isSingleSyncMode)}}let ei=class{constructor(g,s,m){this.orderAccountingDetailsService=g,this.componentStore=s,this.formBuilder=m,this.isAccountingConnected=!1,this.accountingInvoiceUrl="",this.order=null,this.accountingSyncForm=this.formBuilder.group({syncStatus:pt.mf.SYNC_AS_APPROVED,accountingContactId:""}),this.vm$=this.componentStore.vm$}set invoice(g){g&&this.componentStore.setInvoice(g)}ngOnInit(){this.componentStore.syncStatus$.pipe((0,e.t)(this)).subscribe(g=>{this.accountingSyncForm.patchValue({syncStatus:g})}),this.componentStore.invoiceCustomer$.pipe((0,Pe.U)(g=>{var s;return null!==(s=null==g?void 0:g.accountingId)&&void 0!==s?s:null}),(0,Ze.x)(),(0,e.t)(this)).subscribe(g=>{this.accountingSyncForm.patchValue({accountingContactId:g})})}get isAccountingAction(){return this.accountingSyncForm.getRawValue().syncStatus!==pt.mf.MARK_AS_SYNCED}getAccountingSyncActionLabel(g){return this.orderAccountingDetailsService.getAccountingSyncActionLabel(g)}getManualSyncActionLabel(g){return this.orderAccountingDetailsService.getManualSyncActionLabel(g)}markAsSynced(g){return this.orderAccountingDetailsService.markAsSynced(g)}syncToAccounting(g,s){const{syncStatus:m,accountingContactId:C}=this.accountingSyncForm.getRawValue();this.orderAccountingDetailsService.syncToAccounting(g,m,C,null!=s?s:void 0)}};ei.\u0275fac=function(g){return new(g||ei)(n.\u0275\u0275directiveInject(X.jH),n.\u0275\u0275directiveInject(X.KH),n.\u0275\u0275directiveInject(A.qu))},ei.\u0275cmp=n.\u0275\u0275defineComponent({type:ei,selectors:[["tn-accounting"]],inputs:{invoice:"invoice",isAccountingConnected:"isAccountingConnected",accountingInvoiceUrl:"accountingInvoiceUrl",order:"order"},features:[n.\u0275\u0275ProvidersFeature([X.KH])],ngContentSelectors:["*"],decls:2,vars:3,consts:[[4,"ngIf"],[1,"accounting"],[1,"accounting__header"],[1,"accounting__left"],["class","accounting__right",4,"ngIf"],["class","accounting__footer",4,"ngIf"],[1,"accounting__right"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","target","_blank",3,"routerLink",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"matMenuTriggerFor",4,"ngIf"],["xPosition","before",1,"accounting__dropdown-menu","a
1pp-v2"],["actionMenu","matMenu"],["class","accounting__dropdown-menu-item","target","_blank",3,"href",4,"ngIf"],["target","_blank",1,"accounting__dropdown-menu-item",3,"routerLink"],["type","button","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"disabled","click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"disabled","click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","target","_blank",3,"routerLink"],["viewInvoiceLink","btnSize"],["uiIcon","request_quote",3,"size"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"matMenuTriggerFor"],["viewInvoiceMenu","btnSize"],["uiIcon","keyboard_arrow_down",3,"size"],["target","_blank",1,"accounting__dropdown-menu-item",3,"href"],["type","button","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"disabled","click"],["syncButton","btnSize"],["uiIcon","refresh",3,"size"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"disabled","click"],["markSyncedButton","btnSize"],[1,"accounting__footer"],[1,"accounting__form",3,"formGroup"],["formControlName","syncStatus","inputClass","bg-brand-15 text-brand-90 font-semibold text-12","size","small",1,"accounting__status",3,"nameKey","items"],["placeholder","\u2014","appearance","bordered","prefix","Accounting contact: ","size","small","formControlName","accountingContactId",1,"accounting__contact",3,"value","options","maxVisibleOptions"]],template:function(g,s){1&g&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275template(0,ur,7,2,"ng-container",0),n.\u0275\u0275pipe(1,"async")),2&g&&n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,1,s.vm$))},directives:[Ke.NgIf,Gn.yS,dn.s,pn.V,mn.a,qt.p6,qt.VK,A._Y,A.JL,A.sg,Bi.H,A.JJ,A.u,Ki.Y],pipes:[Ke.AsyncPipe],styles:[".accounting[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.accounting__header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.accounting__form[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.accounting__right[_ngcontent-%COMP%]{display:flex;gap:.5rem}.accounting__right[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .accounting__right[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-transform:capitalize}.accounting__contact[_ngcontent-%COMP%]{width:100%;max-width:260px}.accounting__status[_ngcontent-%COMP%]{width:100%;max-width:140px}.accounting__dropdown-menu-item[_ngcontent-%COMP%]{display:flex;align-items:center;border-radius:.5rem;padding:.5rem;font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.accounting__dropdown-menu-item[_ngcontent-%COMP%]:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}"],changeDetection:0}),ei=(0,u.gn)([(0,e.c)(),(0,u.w6)("design:paramtypes",[X.jH,X.KH,A.qu])],ei);let Ri=(()=>{class c{constructor(){this.isClose=!1}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["ui-edit-button"]],inputs:{isClose:"isClose"},decls:3,vars:2,consts:[["uiBtnSize","x-small","iconOnly","","uiBtnTheme","setting","themeMode","text"],["editButton","btnSize"],[3,"size","uiIcon"]],template:function(s,m){if(1&s&&(n.\u0275\u0275elementStart(0,"button",0,1),n.\u0275\u0275element(2,"i",2),n.\u0275\u0275elementEnd()),2&s){const C=n.\u0275\u0275reference(1);n.\u0275\u0275advance(2),n.\u0275\u0275property("size",C.iconSize)("uiIcon",m.isClose?"close":"edit")}},directives:[dn.s,pn.V,mn.a],encapsulation:2,changeDetection:0}),c})();function Io(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"span",10),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s.selectedTierName," ")}}function Do(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"ui-edit-button",11),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().editItem()}),n.\u0275\u0275elementEnd()}}function $r(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",12),n.\u0275\u0275projection(1),n.\u0275\u0275elementEnd())}const zr=["*"];let Mo=(()=>{class c{constructor(){this.tiers=[],this.itemEdited=new n.EventEmitter}get tier(){return this.tiers.find(({serviceId:s})=>s===this.package.id)}get selectedTierName(){var s,m,C;return null!==(C=null===(m=null===(s=this.tier)||void 0===s?void 0:s.selected)||void 0===m?void 0:m.name)&&void 0!==C?C:null}editItem(){this.itemEdited.emit()}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-package-item"]],inputs:{package:"package",tiers:"tiers"},outputs:{itemEdited:"itemEdited"},ngContentSelectors:zr,decls:13,vars:7,consts:[[1,"package-item"],[1,"package-item__content"],[1,"package-item__left"],[1,"package-item__title"],["class","package-item__custom-tier",4,"ngIf"],[1,"package-item__right"],[1,"package-item__price-container"],[1,"package-item__edit-button"],[3,"click",4,"ngIf"],["class","package-services",4,"ngIf"],[1,"package-item__custom-tier"],[3,"click"],[1,"package-services"]],template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),n.\u0275\u0275text(4),n.\u0275\u0275template(5,Io,2,1,"span",4),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(6,"div",5)(7,"div",6),n.\u0275\u0275text(8),n.\u0275\u0275pipe(9,"uiCurrency"),n.\u0275\u0275elementStart(10,"div",7),n.\u0275\u0275template(11,Do,1,0,"ui-edit-button",8),n.\u0275\u0275elementEnd()()()(),n.\u0275\u0275template(12,$r,2,0,"div",9),n.\u0275\u0275elementEnd()),2&s&&(n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate1(" ",m.package.description," "),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.selectedTierName),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(9,5,m.package.unitAmou
1nt)," "),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",m.tier),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==m.package.subItems?null:m.package.subItems.length))},directives:[Ke.NgIf,Ri],pipes:[Tt._ab],styles:[".package-item[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-top:1.25rem;padding-bottom:1.25rem}.package-item__content[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.package-item__title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.package-item__custom-tier[_ngcontent-%COMP%]{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1));padding:.125rem .25rem;font-size:.6875rem}.package-item__subtitle[_ngcontent-%COMP%]{font-size:.6875rem}.package-item__price-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.25rem}.package-item__edit-button[_ngcontent-%COMP%]{width:1.5rem}"],changeDetection:0}),c})();function ka(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"span",22),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s.currentTier," ")}}const xi=function(){return["/scheduler"]},Ur=function(c,g){return{orderId:c,eventId:g}};function Ea(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",25,26),n.\u0275\u0275element(2,"i",27),n.\u0275\u0275text(3," Reschedule "),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction0(3,xi))("queryParams",n.\u0275\u0275pureFunction2(4,Ur,m.service.calendarEvent.orderId,m.service.calendarEvent.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Oa(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",23),n.\u0275\u0275text(1),n.\u0275\u0275template(2,Ea,4,7,"a",24),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s.service.when," "),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.service.calendarEvent)}}function Ia(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",28),n.\u0275\u0275text(1,"Unassigned photographer"),n.\u0275\u0275elementEnd())}const Da=function(c,g){return{orderId:c,date:g,type:"day"}};function Hr(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",29,30),n.\u0275\u0275element(2,"i",27),n.\u0275\u0275text(3," Add appointment "),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext();n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction0(3,xi))("queryParams",n.\u0275\u0275pureFunction2(4,Da,m.orderId,m.orderDate)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Nt(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"li",33)(1,"div",34),n.\u0275\u0275element(2,"i",35),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"div",36)(4,"div",37),n.\u0275\u0275text(5),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(6),n.\u0275\u0275elementEnd()()),2&c){const s=g.$implicit;n.\u0275\u0275property("matTooltip",s.email),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",18),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(s.displayName.charAt(0)),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s.displayName," ")}}function ge(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"ul",31),n.\u0275\u0275template(1,Nt,7,4,"li",32),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s.service.photographers)}}let Un=(()=>{class c{constructor(){this.servicesStages=[],this.tiers=[],this.orderDate=null,this.orderId=null,this.itemEdited=new n.EventEmitter,this.itemDeleted=new n.EventEmitter,this.serviceStageChanged=new n.EventEmitter}get quantity(){var s,m;return null!==(m=null===(s=this.service)||void 0===s?void 0:s.quantity)&&void 0!==m?m:1}get price(){var s,m,C,M;const oe=this.service,we="unitAmount"in oe&&null!==(s=oe.unitAmount)&&void 0!==s?s:0,Ge="fullInitialPrice"in oe&&null!==(m=oe.fullInitialPrice)&&void 0!==m?m:0,tt="fullPrice"in oe&&null!==(C=oe.fullPrice)&&void 0!==C?C:0;return(we||Ge||tt)*("quantity"in oe&&null!==(M=oe.quantity)&&void 0!==M?M:1)}get currentTier(){var s,m;const C=this.tiers.find(M=>M.serviceId===this.service.id);return null!==(m=null===(s=null==C?void 0:C.selected)||void 0===s?void 0:s.name)&&void 0!==m?m:null}changeServiceStage(s){this.serviceStageChanged.emit(s)}get orderStatus(){var s,m;const C=null===(s=this.service.orderTask)||void 0===s?void 0:s.status,M=this.servicesStages.find(oe=>oe.value===C);return null!==(m=null==M?void 0:M.value)&&void 0!==m?m:""}}
1return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-service-item"]],inputs:{service:"service",servicesStages:"servicesStages",tiers:"tiers",paymentStage:"paymentStage",orderDate:"orderDate",orderId:"orderId"},outputs:{itemEdited:"itemEdited",itemDeleted:"itemDeleted",serviceStageChanged:"serviceStageChanged"},decls:29,vars:13,consts:[[1,"service-item"],[1,"service-item__left"],[1,"service-item__header"],[1,"service-item__header-left"],[1,"service-item__description","title"],["class","service-item__custom-tier",4,"ngIf"],["class","service-item__date",4,"ngIf"],["class","service-item__unassigned",4,"ngIf"],[1,"service-item__header-right"],[1,"service-item__price-container"],[1,"service-item__price"],[3,"matMenuTriggerFor"],["xPosition","before",1,"app-v2","service-item__action-menu"],["actionMenu","matMenu"],["mat-menu-item","",3,"click"],["uiIcon","edit",1,"mr-min"],["uiIcon","delete",1,"mr-min"],[1,"service-item__quantity"],[1,"service-item__info"],[3,"items","value","selectionChange"],["uiBtnSize","x-small","uiBtnTheme","main","themeMode","secondary","class","w-fit","target","_blank",3,"routerLink","queryParams",4,"ngIf"],["class","service-item__photographers",4,"ngIf"],[1,"service-item__custom-tier"],[1,"service-item__date"],["class","ml-8","uiBtnSize","x-small","uiBtnTheme","setting","themeMode","text","target","_blank",3,"routerLink","queryParams",4,"ngIf"],["uiBtnSize","x-small","uiBtnTheme","setting","themeMode","text","target","_blank",1,"ml-8",3,"routerLink","queryParams"],["rescheduleButton","btnSize"],["uiIcon","calendar_today",3,"size"],[1,"service-item__unassigned"],["uiBtnSize","x-small","uiBtnTheme","main","themeMode","secondary","target","_blank",1,"w-fit",3,"routerLink","queryParams"],["addAppointment","btnSize"],[1,"service-item__photographers"],["class","service-item__photographer",3,"matTooltip",4,"ngFor","ngForOf"],[1,"service-item__photographer",3,"matTooltip"],[1,"service-item__camera"],["uiIcon","camera","uiIconVariant","filled",3,"size"],[1,"service-item__user-name"],[1,"service-item__user-name-letter"]],template:function(s,m){if(1&s&&(n.\u0275\u0275elementStart(0,"article",0)(1,"div",1)(2,"header",2)(3,"div",3)(4,"div",4),n.\u0275\u0275text(5),n.\u0275\u0275template(6,ka,2,1,"span",5),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(7,Oa,3,2,"div",6),n.\u0275\u0275template(8,Ia,2,0,"div",7),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(9,"div",8)(10,"div",9)(11,"div",10),n.\u0275\u0275text(12),n.\u0275\u0275pipe(13,"uiCurrency"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(14,"ui-edit-button",11),n.\u0275\u0275elementStart(15,"mat-menu",12,13)(17,"button",14),n.\u0275\u0275listener("click",function(){return m.itemEdited.emit(m.service)}),n.\u0275\u0275element(18,"i",15),n.\u0275\u0275text(19," Edit item "),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(20,"button",14),n.\u0275\u0275listener("click",function(){return m.itemDeleted.emit(m.service)}),n.\u0275\u0275element(21,"i",16),n.\u0275\u0275text(22," Delete item "),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275elementStart(23,"div",17),n.\u0275\u0275text(24),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275elementStart(25,"div",18)(26,"ui-order-status-select",19),n.\u0275\u0275listener("selectionChange",function(M){return m.changeServiceStage(M)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(27,Hr,4,7,"a",20),n.\u0275\u0275template(28,ge,2,1,"ul",21),n.\u0275\u0275elementEnd()()()),2&s){const C=n.\u0275\u0275reference(16);n.\u0275\u0275advance(5),n.\u0275\u0275textInterpolate1(" ",m.service.description," "),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.currentTier),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.service.when),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!m.service.when),n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(13,11,m.price)),n.\u0275\u0275advance(2),n.\u0275\u0275property("matMenuTriggerFor",C),n.\u0275\u0275advance(10),n.\u0275\u0275textInterpolate1("Quantity: ",m.quantity,""),n.\u0275\u0275advance(2),n.\u0275\u0275property("items",m.servicesStages)("value",m.orderStatus),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!(null!=m.service.ph
1otographers&&m.service.photographers.length)&&m.orderDate),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==m.service.photographers?null:m.service.photographers.length)}},directives:[Ke.NgIf,Gn.yS,dn.s,pn.V,mn.a,Ri,qt.p6,qt.VK,qt.OP,jr.b,Ke.NgForOf,Dt.gM],pipes:[Tt._ab],styles:[".service-item[_ngcontent-%COMP%]{padding-top:1.25rem;padding-bottom:1.25rem}.service-item__header[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.service-item__header-left[_ngcontent-%COMP%], .service-item__header-right[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:space-between}.service-item__header-right[_ngcontent-%COMP%]{align-items:flex-end}.service-item__unassigned[_ngcontent-%COMP%], .service-item__date[_ngcontent-%COMP%]{margin-top:.25rem;display:flex;align-items:center;font-size:.75rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.service-item__unassigned[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(232 89 12 / var(--tw-text-opacity, 1))}.service-item__description[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500}.service-item__quantity[_ngcontent-%COMP%]{font-size:.625rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.service-item__price-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1.25rem}.service-item__left[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.service-item__info[_ngcontent-%COMP%]{display:grid;grid-gap:.25rem;gap:.25rem;grid-template-columns:180px 1fr}.service-item__custom-tier[_ngcontent-%COMP%]{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1));padding:.125rem .25rem;font-size:.6875rem;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.service-item__quantity[_ngcontent-%COMP%]{text-align:right;font-size:.625rem;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.service-item__camera[_ngcontent-%COMP%]{height:1.5rem;width:1.5rem;display:flex;align-items:center;justify-content:center;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.service-item__photographers[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.25rem}.service-item__photographer[_ngcontent-%COMP%]{height:1.5rem;display:flex;cursor:default}.service-item__user-name[_ngcontent-%COMP%]{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));display:inline-flex;align-items:center;gap:.25rem;padding-left:.25rem;padding-right:.5rem;font-size:.6875rem;font-weight:500;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.service-item__user-name-letter[_ngcontent-%COMP%]{height:1rem;width:1rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;background-color:var(--brand-50, #228BE6);font-size:.625rem;font-weight:600;text-transform:uppercase;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}"],changeDetection:0}),c})();function An(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",14),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate(s.item.description)}}const Wr=function(c,g){return{"custom-item--negative":c,"custom-item--positive":g}},Po=[pt.is.Discount,pt.is.Coupon,pt.is.Referral],gr=[pt.is.Fee,pt.is.Tax];let Fo=(()=>{class c{constructor(){this.itemEdited=new n.EventEmitter,this.itemDeleted=new n.EventEmitter}get title(){return"title"in this.item&&this.item.title||this.item.type}get quantity(){var s;return null!==(s=this.item.quantity)&&void 0!==s?s:1}get isPositive(){return Po.includes(this.item.type)}get isNegative(){return gr.includes(this.item.type)}get price(){const s=this.item;return s.type===pt.is.Fee&&"feeAmount"in s?s.feeAmount||0:Po.includes(s.type)?"discountAmount"in s?s.discountAmount?-s.discountAmount:0:"totalAmount"in s&&s.totalAmount?-s.totalAmount:0:"unitAmou
1nt"in s?s.unitAmount:0}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-custom-item"]],inputs:{item:"item"},outputs:{itemEdited:"itemEdited",itemDeleted:"itemDeleted"},decls:21,vars:11,consts:[[1,"custom-item",3,"ngClass"],[1,"custom-item__left"],[1,"custom-item__title","title"],["class","custom-item__subtitle subtitle",4,"ngIf"],[1,"custom-item__right"],[1,"custom-item__amounts"],[1,"custom-item__price"],[1,"custom-item__quantity"],[3,"matMenuTriggerFor"],["xPosition","before",1,"app-v2","custom-item__action-menu"],["actionMenu","matMenu"],["mat-menu-item","",3,"click"],["uiIcon","edit",1,"mr-min"],["uiIcon","delete",1,"mr-min"],[1,"custom-item__subtitle","subtitle"]],template:function(s,m){if(1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(4,An,2,1,"div",3),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"div",4)(6,"div",5)(7,"div",6),n.\u0275\u0275text(8),n.\u0275\u0275pipe(9,"uiCurrency"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(10,"div",7),n.\u0275\u0275text(11),n.\u0275\u0275elementEnd()(),n.\u0275\u0275element(12,"ui-edit-button",8),n.\u0275\u0275elementStart(13,"mat-menu",9,10)(15,"button",11),n.\u0275\u0275listener("click",function(){return m.itemEdited.emit(m.item)}),n.\u0275\u0275element(16,"i",12),n.\u0275\u0275text(17," Edit item"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(18,"button",11),n.\u0275\u0275listener("click",function(){return m.itemDeleted.emit(m.item)}),n.\u0275\u0275element(19,"i",13),n.\u0275\u0275text(20," Delete item"),n.\u0275\u0275elementEnd()()()()),2&s){const C=n.\u0275\u0275reference(14);n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction2(8,Wr,m.isNegative,m.isPositive)),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(m.title),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.item.description),n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(9,6,m.price*m.quantity)),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1("Quantity: ",m.quantity,""),n.\u0275\u0275advance(1),n.\u0275\u0275property("matMenuTriggerFor",C)}},directives:[Ke.NgClass,Ke.NgIf,Ri,qt.p6,qt.VK,qt.OP,mn.a],pipes:[Tt._ab],styles:[".custom-item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding-top:1.25rem;padding-bottom:1.25rem}.custom-item__amounts[_ngcontent-%COMP%]{display:flex;flex-direction:column}.custom-item__quantity[_ngcontent-%COMP%]{text-align:right;font-size:.625rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.custom-item--negative[_ngcontent-%COMP%] .custom-item__price[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(250 82 82 / var(--tw-text-opacity, 1))}.custom-item--positive[_ngcontent-%COMP%] .custom-item__price[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(12 166 120 / var(--tw-text-opacity, 1))}.custom-item__title[_ngcontent-%COMP%]{font-size:.875rem;text-transform:capitalize}.custom-item__subtitle[_ngcontent-%COMP%]{font-size:.75rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.custom-item__right[_ngcontent-%COMP%]{display:flex;gap:1.25rem}"],changeDetection:0}),c})();var Gr=_(76506),_r=_(8344);var Ft=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const jo=function Si(c){return Ft.test(c)};var vr="\\ud800-\\udfff",di="["+vr+"]",Li="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Qr="\\ud83c[\\udffb-\\udfff]",Ro="[^"+vr+"]",yr="(?:\\ud83c[\\udde6-\\uddff]){2}",xr="[\\ud800-\\udbff][\\udc00-\\udfff]",Jr="(?:"+Li+"|"+Qr+")?",Yr="[\\ufe0e\\ufe0f]?",en=Yr+Jr+"(?:\\u200d(?:"+[Ro,yr,xr].join("|")+")"+Yr+Jr+")*",ja="(?:"+[Ro+Li+"?",Li,yr,xr,di].join("|")+")",Ra=RegExp(Qr+"(?="+Qr+")|"+ja+en,"g");const St=function ln(c){return jo(c)?function No(c){return c.match(Ra)||[]}(c):function Zr(c){return c.split("")}(c)},Zi=function Ht(c){return function(g){g=(0,Gr.Z)(g);var s=jo(g)?St(g):void 0,m=s?s[0]:g.charAt(0),C=s?function hr(c,g,s){var m=c.length;return s=void 0===s?m:s,!g&&s>=m?c:(0,_r.Z)(c,g,s)}(s,1).join(""):g.slice(1);return m[c]()+C}}("toUpperCase");function Xr(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"li",4)(1,"div",5),n.\u0275\u0275element(2,"i",6),n.\u0275\u0275elementStart(3,"div",7)(4,"div",8),n.\u0275\u0275text(5),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"div",9),n.\u0275\u0275text(7),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275elementStart(8,"div",10),n.\u0275\u0275text(9),n.\u0275\u0275pipe(10,"uiCurrency"),n.\u0275\u0275elementEnd()()),2&c){const s=g.$implicit;n.\u0275\u0275advance(2),n.\u0275\u0275property("size",24),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(s.label),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(s.paymentDate),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(10,4,s.payment.totalAmount))}}function Va(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"ul",2),n.\u0275\u0275template(1,Xr,11,6,"li",3),n.\u0275\u0275elementEnd()),2&c){const s=g.ngIf;
1n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s)}}function La(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",11),n.\u0275\u0275element(1,"mat-spinner",12),n.\u0275\u0275elementEnd())}const Na={[pt.OH.CREDIT]:"Credit Card Payment",[pt.OH.SQUARE]:"Credit Card Payment",[pt.OH.STRIPE]:"Credit Card Payment",[pt.OH.TITUS]:"Credit Card Payment",[pt.OH.CASH]:"Cash Payment",[pt.OH.BYPASS]:"Manual Payment"},$a={[pt.OH.SQUARE]:"Square",[pt.OH.STRIPE]:"Stripe",[pt.OH.TITUS]:"Titus"};let Ua=(()=>{class c{constructor(s,m,C,M,oe,we,Ge){this.invoicesRepositoryService=s,this.paymentsSquareFacade=m,this.paymentsStripeFacade=C,this.dateFormatService=M,this.appConfigService=oe,this.contextService=we,this.authService=Ge,this.order=null,this.isStripeEnabled$=this.contextService.bookingConfig$.pipe((0,Pe.U)(tt=>!!(null==tt?void 0:tt.enableStripe))),this.paymentItems$=this.authService.user$.pipe((0,Ze.x)(),(0,Re.M)(this.isStripeEnabled$),(0,$e.w)(([tt,dt])=>{if(!tt)return(0,ae.of)(dt);const Ve=dt?this.paymentsStripeFacade.getSavedCards(tt.uid,!1,!0):this.paymentsSquareFacade.getSavedCards(tt.uid,!1,!0);return(0,Ie.D)(Ve).pipe((0,Pe.U)(()=>dt))}),(0,$e.w)(tt=>this.order?this.invoicesRepositoryService.getInvoicePayments(this.order.id).pipe((0,Pe.U)(dt=>({payments:dt,isStripeEnabled:tt}))):(0,ae.of)({payments:[],isStripeEnabled:tt})),(0,$e.w)(({payments:tt,isStripeEnabled:dt})=>(dt?this.paymentsStripeFacade.savedCards$:this.paymentsSquareFacade.savedCards$).pipe((0,Pe.U)(it=>tt.map(bt=>{var $t;const vn=null===($t=null==bt?void 0:bt.response)||void 0===$t?void 0:$t.payment_method,Mn=it.find(Pn=>"id"in Pn&&Pn.id===vn);return{payment:bt,card:Mn,paymentDate:this.getDate(bt.paidOnDate),label:this.getPaymentLabel(bt,Mn)}})))))}getPaymentLabel(s,m){const C=[$a[s.source],this.getCardDetails(m),Tt.syk[s.status]].filter(Boolean);return`${this.getPaymentName(s)} (${C.join(" | ")})`}getPaymentName({source:s,note:m}){return s===pt.OH.TITUS&&(null==m?void 0:m.toLowerCase().includes("pay at close"))?"Pay at Close":Na[s]}getCardDetails(s){return s?"card"in s?this.formatCard(s.card.brand,s.card.last4):this.formatCard(s.cardBrand,s.last4):""}formatCard(s,m){if(!s&&!m)return"";const C=s?function Sr(c){return Zi((0,Gr.Z)(c).toLowerCase())}(s):"Card";return m?`${C} *${m}`:C}getDate(s){const m=this.dateFormatService.getDateFormatByLocale(Tt.lvo.WEEKDAY_FULL_MONTH_DAY_YEAR),C=Tt.lvo.TIME_12H_COMPACT_TZ,M=this.appConfigService.timeZone;return xe().unix(s).tz(M).format(`${m} ${C}`)}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(k.uOT),n.\u0275\u0275directiveInject(lt.nk),n.\u0275\u0275directiveInject(lt.YH),n.\u0275\u0275directiveInject(k.fiA),n.\u0275\u0275directiveInject(k._ZM),n.\u0275\u0275directiveInject(k.ObY),n.\u0275\u0275directiveInject(k.e80))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-payments"]],inputs:{order:"order"},decls:4,vars:4,consts:[["class","payments",4,"ngIf","ngIfElse"],["loading",""],[1,"payments"],["class","payment",4,"ngFor","ngForOf"],[1,"payment"],[1,"payment__left"],["uiIcon","credit_card",1,"text-gray-30",3,"size"],[1,"payment__info"],[1,"payment__name"],[1,"payment__date"],[1,"payment__right"],[1,"spinner-container"],["diameter","32",1,"payment-spinner"]],template:function(s,m){if(1&s&&(n.\u0275\u0275template(0,Va,2,1,"ul",0),n.\u0275\u0275pipe(1,"async"),n.\u0275\u0275template(2,La,2,0,"ng-template",null,1,n.\u0275\u0275templateRefExtractor)),2&s){const C=n.\u0275\u0275reference(3);n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,2,m.paymentItems$))("ngIfElse",C)}},directives:[Ke.NgIf,Ke.NgForOf,mn.a,Gi.Ou],pipes:[Ke.AsyncPipe,Tt._ab],styles:["[_nghost-%COMP%]{display:flex;width:100%;flex-direction:column}.spinner-container[_ngcontent-%COMP%]{display:flex;width:100%;justify-content:center}.payment-spinner[_ngcontent-%COMP%]{margin-top:.75rem;margin-bottom:.75rem}.payments[_ngcontent-%COMP%]{display:flex;width:100%;flex-direction:column}.payment[_ngcontent-%COMP%]{display:flex;width:100%;justify-content:space-between;padding-top:.75rem;padding-bottom:.75rem}.payment__left[_ngcontent-%COMP%]{display:flex;gap:.5rem}.payment__right[_ngcontent-%COMP%]{font-size:.75rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.payment__name[_ngcontent-%COMP%]{font-size:.75rem;font-weight:600;line-height:1rem;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.payment__date[_ngcontent-%COMP%]{font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}"]}),c})();function Ti(c,g){1&c&&n.\u0275\u0275element(0,"mat-spinner",2),2&c&&n.\u0275\u0275property("diameter",20)}function $o(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"li",40)(2,"tn-service-item",44),n.\u0275\u0275listener("itemDeleted",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(7).deleteService(C)})("itemEdited",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(6).ngIf;return n.\u0275\u0275nextContext().editService(C,M.customTiers)})("serviceStageChanged",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext().$implicit,oe=n.\u0275\u0275nextContext(3).$implicit;let Ge;return n.\u0275\u0275nextContext(3).changeServiceStage(C,M,null!==(Ge=oe.subItems)&&void 0!==Ge?Ge:[])}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext().$implicit,m=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275advance(2),n.\u0275\u0275property("service",s)("servicesStages",m.servicesStagesSelectOptions)("orderId",null==m.order?null:m.order.id)("tiers",m.customTiers)("orderDate",m.orderDateString)}}function Ha(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"li",40)(2,"tn-custom-item",45),n.\u0275\u0275listener("itemDeleted",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(7).deleteCustomItem(C)})("itemEdited",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(7).edit
1CustomItem(C)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext().$implicit;n.\u0275\u0275advance(2),n.\u0275\u0275property("item",s)}}function Wa(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0)(1,37),n.\u0275\u0275template(2,$o,3,5,"ng-container",38),n.\u0275\u0275template(3,Ha,3,1,"ng-container",39),n.\u0275\u0275elementContainerEnd()()),2&c){const s=g.$implicit;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngSwitch",null==s?null:s.type),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngSwitchCase","service")}}function ni(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",43),n.\u0275\u0275template(1,Wa,4,2,"ng-container",36),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2).$implicit;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s.subItems)}}function pi(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"li",40)(2,"tn-package-item",41),n.\u0275\u0275listener("itemEdited",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext().$implicit,M=n.\u0275\u0275nextContext(2).ngIf;return n.\u0275\u0275nextContext().editPackage(C,M.customTiers)}),n.\u0275\u0275template(3,ni,2,1,"div",42),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext().$implicit,m=n.\u0275\u0275nextContext(2).ngIf;n.\u0275\u0275advance(2),n.\u0275\u0275property("package",s)("tiers",m.customTiers),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.subItems?null:s.subItems.length)}}function Ga(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"li",40)(2,"tn-service-item",46),n.\u0275\u0275listener("itemDeleted",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).deleteService(C)})("itemEdited",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(3).ngIf;return n.\u0275\u0275nextContext().editService(C,M.customTiers)})("serviceStageChanged",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext().$implicit,oe=n.\u0275\u0275nextContext(2).ngIf;return n.\u0275\u0275nextContext().changeServiceStage(C,M,oe.lineItems)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext().$implicit,m=n.\u0275\u0275nextContext(2).ngIf;n.\u0275\u0275advance(2),n.\u0275\u0275property("service",s)("servicesStages",m.servicesStagesSelectOptions)("tiers",m.customTiers)("orderId",null==m.order?null:m.order.id)("orderDate",m.orderDateString)}}function mi(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"li",40)(2,"tn-custom-item",45),n.\u0275\u0275listener("itemDeleted",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).deleteCustomItem(C)})("itemEdited",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).editCustomItem(C)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext().$implicit;n.\u0275\u0275advance(2),n.\u0275\u0275property("item",s)}}function Ka(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0)(1,37),n.\u0275\u0275template(2,pi,4,3,"ng-container",38),n.\u0275\u0275template(3,Ga,3,5,"ng-container",38),n.\u0275\u0275template(4,mi,3,1,"ng-container",39),n.\u0275\u0275elementContainerEnd()()),2&c){const s=g.$implicit;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngSwitch",null==s?null:s.type),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngSwitchCase","package"),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngSwitchCase","service")}}function Za(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"ul",35),n.\u0275\u0275template(1,Ka,5,3,"ng-container",36),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s.lineItems)}}function Qa(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",47),n.\u0275\u0275text(1,"No selected services yet."),n.\u0275\u0275elementEnd())}function qr(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",48),n.\u0275\u0275listener("click",function(){const M=n.\u0275\u0275restoreView(s).$implicit;return n.\u0275\u0275nextContext(2).addCustomItem(M.value)}),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()}if(2&c){const s=g.$implicit,m=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" Add ",m.getLineItemLabel(s)," ")}}function Ja(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",49,50),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext().copyToClipboard(C.invoiceUrl)}),n.\u0275\u0275element(2,"i",51),n.\u0275\u0275text(3," Copy Invoice URL "),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1);n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Ya(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"a",52,53),n.\u0275\u0275listener("click",function(C){const oe=n.\u0275\u0275restoreView(s).ngIf;return n.\u0275\u0275nextContext(2).downloadApolloPdf(oe.apolloPdfId,C)}),n.\u0275\u0275element(3,"i",54),n.\u0275\u0275text(4," Download Invoice "),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=g.ngIf,m=n.\u0275\u0275reference(2),C=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("href",s.apolloPdfId?null:C.invoiceDownloadUrl,n.\u0275\u0275sanitizeUrl),n.\u0275\u0275attribute("download",s.apolloPdfId?null:""),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",m.iconSize)}}const zo=function(c){return{apolloPdfId:c}};function eo(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",3)(2,"div",4)(3,"tn-accounting",5)(4,"div",6)(5,"div",7),n.\u0275\u0275text(6),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(7,"ui-order-status-select",8),n.\u0275\u0275listener("selectionChange",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().changePaymentStatus(C)}),n.\u0275\u0275elementEnd()()()(),n.\u0275\u0275template(8,Za,2,1,"ul",9),n.\u0275\u0275template(9,Qa,2,0,"ng-template",null,10,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275elementStart(11,"div",11)(12,"button",12,13),n.\u0275\u0275listener("click",function(){const M=n.\u0275\u0275restoreView(s).ngIf;return n.\u0275\u0275nextContext().addServices(M.order)}),n.\u0275\u0275element(14,"i",14),n.\u0275\u0275text(15," Add services "),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(16,"button",15,16),n.\u0275\u0275element(18,"i",14),n.\u0275\u0275text(19," Add custom item "),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(20,"mat-menu",17,18),n.\u0275\u0275template(22,qr,2,1,"button",19),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(23,"footer",20)(24,"div",21)(25,"div",22),n.\u0275\u0275text(26,"Subtotal"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(27,"div",23),n.\u0275\u0275text(28),n.\u0275\u0275pipe(29,"uiCurrency"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(30,"div",24)(31,"div",22),n.\u0275\u0275text(32,"Total"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(33,"div",23),n.\u0275\u0275text(34),n.\u0275\u0275pipe(35,"uiCurrency"),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275element(36,"hr",25),n.\u0275\u0275elementStart(37,"footer",26),n.\u0275\u0275element(38,"tn-payments",27),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(39,"hr",25),n.\u0275\u0275elementStart(40,"footer",28)(41,"div",29)(42,"div",22),n.\u0275\u0275text(43,"Outstanding Balance"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(44,"div",23),n.\u0275\u0275text(45),n.\u0275\u0275pipe(46,"uiCurrency"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(47,"div",30)(48,"div",31),n.\u0275\u0275element(49,"div",32),n.\u0275\u0275template(50,Ja,4,1,"button",33),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(51,Ya,5,3,"ng-container",34),n.\u0275\u0275pipe(52,"async"),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=g.ngIf,m=n.\u0275\u0275reference(10),C=n.\u0275\u0275reference(13),M=n.\u0275\u0275reference(17),oe=n.\u0275\u0275reference(21),we=n.\u0275\u0275nextContext();let Ge,tt;n.\u0275\u0275advance(3),n.\u0275\u0275property("order",s.order)("invoice",s.invoice)("isAccountingConnected",null!==(Ge=we.isAccountingConnected)&&void 0!==Ge&&Ge)("accountingInvoiceUrl",null!==(tt=we.accountingInvoiceUrl)&&void 0!==tt?tt:""),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1("Invoice #",(null==s.invoice?null:s.invoice.no)||"\u2014",""),n.\u0275\u0275advance(1),n.\u0275\u0275property("items",s.paymentStatusOptions)("defaultValue","unpaid")("value",null==s.order?null:s.order.paymentStatus),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.lineItems.length)("ngIfElse",m),n.\u0275\u0275advance(6),n.\u0275\u0275property("size",C.iconSize),n.\u0275\u0275advance(2),n.\u0275\u0275property("matMenuTriggerFor",oe),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",M.iconSize),n.\u0275\u0275advance(4),n.\u0275\u0275property("ngForOf",we.customItemsOptions),n.\u0275\u0275advance(6),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(29,20,s.amounts.subTotal)),n.\u0275\u0275advance(6),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(35,22,s.amounts.total)),n.\u0275\u0275advance(4),n.\u0275\u0275property("order",s.order),n.\u0275\u0275advance(7),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(46,24,s.amounts.amountDue)),n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",s.invoiceUrl),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",n.\u0275\u0275pureFunction1(28,zo,n.\u0275\u0275pipeBind1(52,26,we.apolloInvoicePdfId$)))}}let Xa=(()=>{class c{constructor(s,m,C,M){this.editServiceDialogService=s,this.invoicesStore=m,this.clipboard=C,this.apolloInvoiceDownload=M,this.isAccountingConnected=!1,this.accountingInvoiceUrl="",this.serviceUpdated=new n.EventEmitter,this.paymentStatusUpdated=new n.EventEmitter,this.customItemsOptions=Tt.hvU,this.vm$=this.invoicesStore.vm$,this.apolloInvoicePdfId$=this.invoicesStore.apolloInvoicePdfId$}set order(s){this.invoicesStore.setOrder(s)}copyToClipboard(s){this.clipboard.copy(s),this.tooltip.show(),setTimeout(()=>{this.tooltip.hide()},1e3)}downloadApolloPdf(s,m){this.apolloInvoiceDownload.download(s,m)}addCustomItem(s=null){this.invoicesStore.addCustomItem(s)}editCustomItem(s){this.invoicesStore.editLineItem({updatedLineItem:s,openCustomItemEditModal:!0})}deleteCustomItem(s){this.invoicesStore.deleteCustomItem(s)}addServices(s){s&&this.invoicesStore.editOrderServices(s)}editService(s,m){return(0,u.mG)(this,void 0,void 0,function*(){const C=m.find(bt=>bt.serviceId===s.id),M=yield this.editServiceDialogService.openDialog(s,C).toPromise();if(!M)return;const{quantity:oe,customTierName:we}=M,Ge=we!==s.customTierName,Ve=(0,u._T)(s,["photographers","orderTask"]),it=Ge?we:s.customTierName;this.invoicesStore.editLineItem({updatedLineItem:Object.assign(Object.assign({},Ve),{quantity:oe,customTierName:it}),openCustomItemEditModal:!1})})}editPackage(s,m){return(0,u.mG)(this,void 0,void 0,function*(){const C=s.id;if(!C)return;
1const M=m.find(({serviceId:Ge})=>Ge===C);if(!M)return;const oe=yield this.editServiceDialogService.openDialog(s,M).toPromise();if(!oe)return;const{customTierName:we}=oe;we!==s.customTierName&&this.invoicesStore.updatePackageCustomTiers({packageId:C,customTierName:we})})}deleteService(s){this.invoicesStore.deleteService(s)}changeServiceStage(s,m,C){const M=C.map(oe=>oe.orderTask).filter(Boolean);this.invoicesStore.updateServiceStageStatus({serviceStatus:s,currentLineItem:m,tasks:M})}changePaymentStatus(s){this.paymentStatusUpdated.emit(s)}getLineItemLabel(s){return s?"custom"===s.value?`${s.name} item`:s.name:""}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(To.K),n.\u0275\u0275directiveInject(Lt),n.\u0275\u0275directiveInject(mt.TU),n.\u0275\u0275directiveInject(k.VDp))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-invoices"]],viewQuery:function(s,m){if(1&s&&n.\u0275\u0275viewQuery(Dt.gM,5),2&s){let C;n.\u0275\u0275queryRefresh(C=n.\u0275\u0275loadQuery())&&(m.tooltip=C.first)}},inputs:{isAccountingConnected:"isAccountingConnected",accountingInvoiceUrl:"accountingInvoiceUrl",order:"order"},outputs:{serviceUpdated:"serviceUpdated",paymentStatusUpdated:"paymentStatusUpdated"},features:[n.\u0275\u0275ProvidersFeature([Lt])],decls:4,vars:4,consts:[["loader",""],[4,"ngIf","ngIfElse"],[1,"block","mx-auto",3,"diameter"],[1,"invoice"],[1,"invoice__header"],[3,"order","invoice","isAccountingConnected","accountingInvoiceUrl"],[1,"invoice__header-left"],[1,"invoice-header__title"],["size","small",1,"invoice__payment-status",3,"items","defaultValue","value","selectionChange"],["class","invoice__services-list",4,"ngIf","ngIfElse"],["noServices",""],[1,"invoice__services-actions"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click"],["addServicesButton","btnSize"],["uiIcon","add",3,"size"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"matMenuTriggerFor"],["addCustomItemButton","btnSize"],["xPosition","before",1,"app-v2","service-item__action-menu"],["actionMenu","matMenu"],["mat-menu-item","",3,"click",4,"ngFor","ngForOf"],[1,"invoice__subtotal-footer"],[1,"invoice__subtotal"],[1,"invoice__footer-title"],[1,"invoice__footer-value"],[1,"invoice__total"],[1,"invoice__line"],[1,"invoice__credit-card-footer"],[3,"order"],[1,"invoice__outstanding-balance-footer"],[1,"invoice__subtotal","invoice__subtotal--outstanding"],[1,"invoice__outstanding-balance-footer-actions"],[1,"invoice__copy-button","relative"],["matTooltip","Copied","matTooltipPosition","above"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],[4,"ngIf"],[1,"invoice__services-list"],[4,"ngFor","ngForOf"],[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],[1,"invoice__services-list-item"],[3,"package","tiers","itemEdited"],["class","invoice__sub-items",4,"ngIf"],[1,"invoice__sub-items"],[3,"service","servicesStages","orderId","tiers","orderDate","itemDeleted","itemEdited","serviceStageChanged"],[3,"item","itemDeleted","itemEdited"],[3,"service","servicesStages","tiers","orderId","orderDate","itemDeleted","itemEdited","serviceStageChanged"],[1,"invoice__no-services-selected"],["mat-menu-item","",3,"click"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary",3,"click"],["copyInvoiceUrl","btnSize"],["uiIcon","link",3,"size"],["uiBtnSize","medium","uiBtnTheme","main","matTooltip","Download pdf",3,"href","click"],["downloadInvoice","btnSize"],["uiIcon","download",3,"size"]],template:function(s,m){if(1&s&&(n.\u0275\u0275template(0,Ti,1,1,"ng-template",null,0,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275template(2,eo,53,30,"ng-container",1),n.\u0275\u0275pipe(3,"async")),2&s){const C=n.\u0275\u0275reference(1);n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(3,2,m.vm$))("ngIfElse",C)}},directives:[Gi.Ou,Ke.NgIf,ei,jr.b,Ke.NgForOf,Ke.NgSwitch,Ke.NgSwitchCase,Mo,Un,Ke.NgSwitchDefault,Fo,dn.s,pn.V,mn.a,qt.p6,qt.VK,qt.OP,Ua,Dt.gM],pipes:[Ke.AsyncPipe,Tt._ab],styles:["[_nghost-%COMP%]{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.invoice__no-services-selected[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));
1display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;border-radius:.75rem;padding:.75rem}.invoice__sub-items[_ngcontent-%COMP%]{padding-left:1.5rem}.invoice__payment-status[_ngcontent-%COMP%]{width:10rem}.invoice__header-left[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem}.invoice__title[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.invoice__services-list[_ngcontent-%COMP%]{display:flex;flex-direction:column}.invoice__services-actions[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.invoice__services-list-item[_ngcontent-%COMP%]:not(:last-child){border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.invoice__line[_ngcontent-%COMP%]{height:1px;width:100%;--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.invoice__outstanding-balance-footer[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.invoice__outstanding-balance-footer-actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:.5rem}.invoice__footer-title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.invoice__footer-title[_ngcontent-%COMP%], .invoice__footer-value[_ngcontent-%COMP%]{line-height:1.75rem}.invoice__subtotal-footer[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-end;padding-top:.75rem;padding-bottom:.75rem}.invoice__subtotal--outstanding[_ngcontent-%COMP%]{padding-top:.75rem;padding-bottom:.75rem}.invoice__subtotal[_ngcontent-%COMP%], .invoice__total[_ngcontent-%COMP%]{display:flex;gap:3.5rem}"],changeDetection:0}),c})();var qa=_(56073),es=_(98323),to=_(458);function Tr(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",10,11),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).save()}),n.\u0275\u0275element(2,"i",12),n.\u0275\u0275text(3," Save "),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1);n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Uo(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"ui-edit-button",13),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).toggleOnEditMode()}),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("isClose",s.editMode)}}function Ho(c,g){if(1&c&&n.\u0275\u0275element(0,"i",17),2&c){n.\u0275\u0275nextContext();const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("uiIcon",m.actionButtonIcon)("size",s.iconSize)}}function Wo(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",14,15),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).emitButtonClick()}),n.\u0275\u0275template(2,Ho,1,2,"i",16),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.actionButtonIcon),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s.actionButtonText," ")}}function Xt(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",6),n.\u0275\u0275template(1,Tr,4,1,"button",7),n.\u0275\u0275template(2,Uo,1,1,"ui-edit-button",8),n.\u0275\u0275template(3,Wo,4,2,"button",9),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.editMode),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.actionButtonText),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.actionButtonText)}}function ii(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"p",18),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s.description," ")}}const Go=["*",[["","headerBadge",""]]],no=["*","[headerBadge]"];let jn=(()=>{class c{constructor(){this.actionButtonText="",this.description="",this.isEdit=!0,this.changedEditMode=new n.EventEmitter,this.saved=new n.EventEmitter,this.clickedButton=new n.EventEmitter,this.editMode=!1}save(){this.saved.emit(),this.toggleOnEditMode()}toggleOnEditMode(){this.editMode=!this.editMode,this.changedEditMode.emit(this.editMode)}
1emitButtonClick(){this.clickedButton.emit()}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-section-header"]],inputs:{actionButtonText:"actionButtonText",actionButtonIcon:"actionButtonIcon",description:"description",isEdit:"isEdit"},outputs:{changedEditMode:"changedEditMode",saved:"saved",clickedButton:"clickedButton"},ngContentSelectors:no,decls:9,vars:2,consts:[[1,"header"],[1,"header__top"],[1,"header__title-wrapper"],["class","header__buttons",4,"ngIf"],[1,"header__bottom"],["class","header__description",4,"ngIf"],[1,"header__buttons"],["uiBtnSize","x-small","uiBtnTheme","main",3,"click",4,"ngIf"],[3,"isClose","click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],["uiBtnSize","x-small","uiBtnTheme","main",3,"click"],["editButton","btnSize"],["uiIcon","check",3,"size"],[3,"isClose","click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"click"],["actionButton","btnSize"],[3,"uiIcon","size",4,"ngIf"],[3,"uiIcon","size"],[1,"header__description"]],template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(Go),n.\u0275\u0275elementStart(0,"header",0)(1,"div",1)(2,"div",2)(3,"ui-section-title"),n.\u0275\u0275projection(4),n.\u0275\u0275elementEnd(),n.\u0275\u0275projection(5,1),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(6,Xt,4,3,"div",3),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(7,"div",4),n.\u0275\u0275template(8,ii,2,1,"p",5),n.\u0275\u0275elementEnd()()),2&s&&(n.\u0275\u0275advance(6),n.\u0275\u0275property("ngIf",m.isEdit),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",m.description))},directives:[Ai,Ke.NgIf,dn.s,pn.V,mn.a,Ri],styles:[".header[_ngcontent-%COMP%]{margin-bottom:1rem;display:flex;flex-direction:column}.header__top[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.header__description[_ngcontent-%COMP%]{margin-top:.25rem;font-size:.75rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.header__title-wrapper[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.header__buttons[_ngcontent-%COMP%]{display:flex;gap:.375rem}"],changeDetection:0}),c})(),wi=(()=>{class c{constructor(){this.title="",this.value="-"}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["ui-section-param-line-item"]],inputs:{title:"title",value:"value"},decls:5,vars:2,consts:[[1,"line-item"],[1,"line-item__title"],[1,"line-item__value"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"div",1),n.\u0275\u0275text(2),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"span",2),n.\u0275\u0275text(4),n.\u0275\u0275elementEnd()()),2&s&&(n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(m.title),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(m.value))},styles:[".line-item[_ngcontent-%COMP%]{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:30% calc(70% - 20px)}.line-item__title[_ngcontent-%COMP%]{margin:0;font-size:.75rem;font-weight:500;text-transform:capitalize;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.line-item__value[_ngcontent-%COMP%]{white-space:pre-wrap;font-size:.75rem;font-weight:500}"],changeDetection:0}),c})();function ts(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-section-param-line-item",7),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("value",s.scheduledTime)}}const ns=function(){return["/scheduler"]},is=function(c,g){return{orderId:c,date:g,type:"day"}};let Ko=(()=>{class c{constructor(){this.orderId="",this.orderDate="",this.scheduledTime="",this.date=null}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-schedule-preferences"]],inputs:{orderId:"orderId",orderDate:"orderDate",scheduledTime:"scheduledTime",date:"date"},decls:9,vars:10,consts:[[3,"isEdit"],[1,"section-info-block"],["title","Date",3,"value"],["title","Time Block",3,"value",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",1,"mt-8","w-100",3,"routerLink","queryParams"],["appointmentBtn","btnSize"],["uiIcon","calendar_today",3,"size"],["title","Time Block",3,"value"]],template:function(s,m){if(1&s&&(n.\u0275\u0275elementStart(0,"tn-section-header",0),n.\u0275\u0275text(1," Schedule Preferences\n"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(2,"div",1),n.\u0275\u0275element(3,"ui-section-param-line-item",2),n.\u0275\u0275template(4,ts,1,1,"ui-section-param-line-item",3),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"a",4,5),n.\u0275\u0275element(7,"i",6),n.\u0275\u0275text(8," Add Appointment\n"),n.\u0275\u0275elementEnd()),2&s){const C=n.\u0275\u0275reference(6);let M;n.\u0275\u0275property("isEdit",!1),n.\u0275\u0275advance(3),n.\u0275\u0275property("value",null!==(M=m.orderDate)&&void 0!==M?M:""),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.scheduledTime),n.\u0275\u0275advance(1),n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction0(6,ns))("queryParams",n.\u0275\u0275pureFunction2(7,is,m.orderId,m.date)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",C.iconSize)}},directives:[jn,wi,Ke.NgIf,Gn.yS,dn.s,pn.V,mn.a],encapsulation:2,changeDetection:0}),c})();var Qi=_(39348);function rs(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",3),n.\u0275\u0275element(1,"ui-section-param-line-item",4)(2,"ui-section-param-line-item",5),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("value",s.dueDate),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",s.dueTime)}}function Zo(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"form",6),n.\u0275\u0275element(1,"ui-input",7)(2,"ui-input",8),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("formGroup",s.form)}}let os=(()=>{class c{constructor(s,m){this.formBuilder=s,this.dateFormatService=m,this.order=null,this.timezone=null,this.dueDateChanged=new n.EventEmitter,this.editMode=!1,this.defaultValue="-",this.form=this.formBuilder.group({dueDate:[],dueTime:[]})}get dueDate(){if(this.timezone&&this.order){const s=this.dateFormatService.getDateFormatByLocale(Tt.lvo.MONTH_DAY_YEAR),{deadline:m}=this.order;return m?xe().tz(m,this.timezone).format(s):this.defaultValue}return this.defaultValue}get dueTime(){if(this.timezone&&this.order){const{deadline:s}=this.order;return s?xe().tz(s,this.timezone).format(Tt.lvo.TIME_12H):this.defaultValue}return this.defaultValue}ngOnInit(){this.patchFormValue()}save(){this.dueDateChanged.emit(this.form.value),this.editMode=!1}patchFormValue(){var s,m;const C=(null===(s=this.order)||void 0===s?void 0:s.deadline)&&this.timezone?xe().tz(this.order.deadline,this.timezone):null,M=C?new Date(C.year(),C.month(),C.date(),C.hours(),C.minutes()):null,oe=null!==(m=null==C?void 0:C.format(Tt.lvo.TIME_24H))&&void 0!==m?m:"";this.form.patchValue({dueDate:M,dueTime:oe})}setEditMode(s){this.editMode=s}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(A.qu),n.\u0275\u0275directiveInject(k.fiA))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-due-date-section"]],inputs:{order:"order",timezone:"timezone"},outputs:{dueDateChanged:"dueDateChanged"},decls:4,vars:2,consts:[[3,"saved","changedEditMode"],["class","section-info-block",4,"ngIf"],["class","form",3,"formGroup",4,"ngIf"],[1,"section-info-block"],["title","Due Date",3,"value"],["title","Due Time",3,"value"],[1,"form",3,"formGroup"],["formControlName","dueDate","appearance","bordered","type","datepicker","icon","calendar_month","label","Due date","updateOn","blur","placeholder","Due date",1,"form__input"],["formControlName","dueTime","appearance","bordered","type","time","icon","schedule","label","Due time","updateOn","blur","placeholder","Due time",1,"form__input"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"tn-section-header",0),n.\u0275\u0275listener("saved",function(){return m.save()})("changedEditMode",function(M){return m.setEditMode(M)}),n.\u0275\u0275text(1,"Due Date"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(2,rs,3,2,"div",1),n.\u0275\u0275template(3,Zo,3,1,"form",2)),2&s&&(n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",!m.editMode),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.editMode))},directives:[jn,Ke.NgIf,wi,A._Y,A.JL,A.sg,Qi.a,A.JJ,A.u],styles:[".form[_ngcontent-%COMP%]{margin-bottom:.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}"],changeDetection:0}),c})();function as(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-section-param-line-item",3),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("value",s.orderDateCreated)}}function ss(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-section-param-line-item",4),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("value",s.bookingFlowName)}}let ls=(()=>{class c{constructor(){this.orderDateCreated="",this.bookingFlowName=""}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-sidebar-order-details"]],inputs:{orderDateCreated:"orderDateCreated",bookingFlowName:"bookingFlowName"},decls:3,vars:2,consts:[[1,"section-info-block"],["title","Order placed",3,"value",4,"ngIf"],["title","Booking flow",3,"value",4,"ngIf"],["title","Order placed",3,"value"],["title","Booking flow",3,"value"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0),n.\u0275\u0275template(1,as,1,1,"ui-section-param-line-item",1),n.\u0275\u0275template(2,ss,1,1,"ui-section-param-line-item",2),n.\u0275\u0275elementEnd()),2&s&&(n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.orderDateCreated),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.bookingFlowName))},directives:[Ke.NgIf,wi],encapsulation:2,changeDetection:0}),c})();var Qo=_(75518),Jo=_(66411),Yo=_(25322);function cs(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",14,15),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext().$implicit;return n.\u0275\u0275nextContext().delete(C.uid)}),n.\u0275\u0275element(2,"i",16),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1);n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function ds(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"li",17),n.\u0275\u0275element(1,"i",18),n.\u0275\u0275elementStart(2,"div",19),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()()),2&c){const s=g.ngIf;n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(s)}}function ps(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"li",17),n.\u0275\u0275element(1,"i",20),n.\u0275\u0275elementStart(2,"div",19),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()()),2&c){const s=g.ngIf;n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(s)}}function Xo(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"li",17),n.\u0275\u0275element(1,"i",21),n.\u0275\u0275elementStart(2,"div",19),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()()),2&c){const s=g.ngIf;n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(s)}}function ms(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"li",17),n.\u0275\u0275element(1,"i",22),n.\u0275\u0275elementStart(2,"div",23)(3,"div",19),n.\u0275\u0275text(4),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"ui-edit-button",24),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).toggleEmailListEdit()}),n.\u0275\u0275elementEnd()()()}if(2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate(s.emailListString||"-"),n.\u0275\u0275advance(1),n.\u0275\u0275property("isClose",s.editEmailList)}}function En(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",4),n.\u0275\u0275element(1,"ui-avatar",5),n.\u0275\u0275elementStart(2,"div",6)(3,"header",7)(4,"div",8),n.\u0275\u0275text(5),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"div",9)(7,"ui-edit-button",10),n.\u0275\u0275listener("click",function(){const M=n.\u0275\u0275restoreView(s).$implicit;return n.\u0275\u0275nextContext().edit(M.uid)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(8,cs,3,1,"button",11),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(9,"ul",12),n.\u0275\u0275template(10,ds,4,1,"li",13),n.\u0275\u0275template(11,ps,4,1,"li",13),n.\u0275\u0275template(12,Xo,4,1,"li",13),n.\u0275\u0275template(13,ms,6,2,"li",13),n.\u0275\u0275elementEnd()()()}if(2&c){const s=g.$implicit,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("src",s.photoURL)("name",s.displayName)("email",s.email),n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate(s.displayName),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",m.showDeleteButton),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.brokerage),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.phone),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.email),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.showEmailList)}}function us(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",25)(1,"label",26),n.\u0275\u0275text(2,"Email List"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"ui-chips",27),n.\u0275\u0275listener("update",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().changeEmailsList(C)}),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(3),n.\u0275\u0275property("showEditLink",!1)("value",s.emailList)("chipPattern",s.emailPattern)}}function gs(c,g){if(1&c&&n.\u0275\u0275element(0,"i",33),2&c){n.\u0275\u0275nextContext();const s=n.\u0275\u0275reference(5),m=n.\u0275\u0275nextContext();n.\u0275\u0275property("uiIcon",m.userEmitButtonIcon)("size",s.iconSize)}}function _s(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",28)(1,"ui-user-autocomplete",29),n.\u0275\u0275listener("search",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().searchUsers(C)})("selectUser",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().selectUser(C)}),n.\u0275\u0275pipe(2,"translate"),n.\u0275\u0275pipe(3,"translate"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(4,"button",30,31),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().emitUser()}),n.\u0275\u0275template(6,gs,1,2,"i",32),n.\u0275\u0275text(7),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("users",s.filteredUsers)("emitOnEmptySearch",!1)("debounceTime",200)("ignoreResolvers",!0)("selectedUser",s.selectedUser)("placeholder",n.\u0275\u0275pipeBind1(2,10,s.searchPlaceholder))("focusPlaceholder",n.\u0275\u0275pipeBind1(3,12,"ENTER_NAME")),n.\u0275\u0275advance(3),n.\u0275\u0275property("disabled",!s.selectedUser),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.userEmitButtonIcon),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",s.userEmitButtonText," ")}}let ui=(()=>{class c{constructor(s){this.cdr=s,this.users=[],this.filteredUsers=[],this.emailList=[],this.showEmailList=!0,this.searchPlaceholder="SEARCH_USERS",this.showDeleteButton=!1,this.userEmitButtonText="Replace",this.showAutocomplete=!1,this.userEmitted=new n.EventEmitter,this.changedEmailList=new n.EventEmitter,this.deleteClicked=new n.EventEmitter,this.editClicked=new n.EventEmitter,this.searchedUsers=new n.EventEmitter,this.editEmailList=!1,this.changeUserMode=!1,this.selectedUser=null,this.emailPattern=/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/}get emailListString(){return this.emailList.join(", ")}changeEmailsList(s){this.changedEmailList.emit(s)}toggleEmailListEdit(){this.editEmailList=!this.editEmailList}searchUsers(s){this.searchedUsers.emit(s)}toggleChangeUserMode(){this.changeUserMode=!this.changeUserMode,this.cdr.markForCheck()}emitUser(){this.selectedUser&&(this.userEmitted.emit(this.selectedUser),this.selectedUser=null,this.changeUserMode=!1)}selectUser(s){this.selectedUser=s,this.cdr.markForCheck()}delete(s){this.dele
1teClicked.emit(s)}edit(s){this.editClicked.emit(s)}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(n.ChangeDetectorRef))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-user"]],inputs:{users:"users",filteredUsers:"filteredUsers",emailList:"emailList",showEmailList:"showEmailList",searchPlaceholder:"searchPlaceholder",showDeleteButton:"showDeleteButton",userEmitButtonText:"userEmitButtonText",userEmitButtonIcon:"userEmitButtonIcon",showAutocomplete:"showAutocomplete"},outputs:{userEmitted:"userEmitted",changedEmailList:"changedEmailList",deleteClicked:"deleteClicked",editClicked:"editClicked",searchedUsers:"searchedUsers"},decls:4,vars:3,consts:[[1,"users"],["class","user",4,"ngFor","ngForOf"],["class","email-list",4,"ngIf"],["class","user-emit",4,"ngIf"],[1,"user"],["size","medium","shape","square",3,"src","name","email"],[1,"user__info"],[1,"user__info-header"],[1,"user__info-name"],[1,"user__info-buttons"],[3,"click"],["uiBtnSize","x-small","iconOnly","","uiBtnTheme","error","themeMode","text",3,"click",4,"ngIf"],[1,"user__info-list"],["class","user__info-list-item",4,"ngIf"],["uiBtnSize","x-small","iconOnly","","uiBtnTheme","error","themeMode","text",3,"click"],["deleteButton","btnSize"],["uiIcon","delete",3,"size"],[1,"user__info-list-item"],["uiIcon","business_center"],[1,"user__info-list-item-value"],["uiIcon","call"],["uiIcon","mail"],["uiIcon","inbox_text"],[1,"user__info-email-list-item"],[3,"isClose","click"],[1,"email-list"],[1,"email-list__label"],["appearance","bordered","icon","mail","placeholder","[email protected]",3,"showEditLink","value","chipPattern","update"],[1,"user-emit"],[1,"w-full",3,"users","emitOnEmptySearch","debounceTime","ignoreResolvers","selectedUser","placeholder","focusPlaceholder","search","selectUser"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","tertiary",1,"user-emit__button",3,"disabled","click"],["emitButton","btnSize"],[3,"uiIcon","size",4,"ngIf"],[3,"uiIcon","size"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0),n.\u0275\u0275template(1,En,14,9,"div",1),n.\u0275\u0275template(2,us,4,3,"div",2),n.\u0275\u0275template(3,_s,8,14,"div",3),n.\u0275\u0275elementEnd()),2&s&&(n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",m.users),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.editEmailList),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.changeUserMode||m.showAutocomplete))},directives:[Ke.NgForOf,Qo.A,Ri,Ke.NgIf,dn.s,pn.V,mn.a,Jo.k,Yo.r],pipes:[B.X$],styles:[".users[_ngcontent-%COMP%]{display:flex;width:100%;flex-direction:column;gap:1.25rem}.user[_ngcontent-%COMP%]{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:40px 1fr}.user__info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.user__info-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.user__info-name[_ngcontent-%COMP%]{font-size:13px;font-weight:600;text-transform:capitalize}.user__info-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.user__info-buttons[_ngcontent-%COMP%], .user__info-list-item[_ngcontent-%COMP%]{display:flex;gap:.5rem}.user__info-list-item-value[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.user__info-email-list-item[_ngcontent-%COMP%]{display:flex;width:100%;justify-content:space-between;gap:.5rem}.email-list[_ngcontent-%COMP%]{grid-column-start:1;grid-column-end:3}.email-list__label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.user-emit[_ngcontent-%COMP%]{grid-column-start:1;grid-column-end:3;display:flex;gap:.75rem}.user-emit__button[_ngcontent-%COMP%]{height:40px!important}"],changeDetection:0}),c})();const hs=function(c){return[c]},Ji=function(){return[]};let fs=(()=>{class c{constructor(s,m){this.algoliaUsersSearchService=s,this.changeDetectorRef=m,this.customer=null,this.emailList=[],this.customerUrl="",this.customerReplaced=new n.EventEmitter,this.changedEmailList=new n.EventEmitter,this.changeCustomerMode=!1,this.selectedCustomer=null,this.filteredUsers=[]}get buttonText(){return this.changeCustomerMode?"Undo change customer":"Change customer"}searchUsers(s){this.algoliaUsersSearchService.searchUsers(s).then(m=>{this.filteredUsers=m.hits.map(C=>{var M;return Object.assign(Object.assign({},C),{uid:null!==(M=C.objectID)&&void 0!==M?M:""})}),this.changeDetectorRef.detectChanges()})}goToUserEdit(s){s&&window.open(`/crm/profile/${s}/personal`,"_blank")}
1replaceCustomer(s){s&&(this.customerReplaced.emit(s),this.selectedCustomer=null,this.changeCustomerMode=!1)}toggleChangeCustomerMode(){this.changeCustomerMode=!this.changeCustomerMode}changeEmailsList(s){this.changedEmailList.emit(s)}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(k.o3K),n.\u0275\u0275directiveInject(n.ChangeDetectorRef))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-customer"]],inputs:{customer:"customer",emailList:"emailList",customerUrl:"customerUrl"},outputs:{customerReplaced:"customerReplaced",changedEmailList:"changedEmailList"},decls:5,vars:7,consts:[[1,"section-info-block"],[3,"actionButtonText","clickedButton"],["searchPlaceholder","SEARCH_CUSTOMER",3,"filteredUsers","emailList","users","changedEmailList","userEmitted","searchedUsers","editClicked"],["user",""]],template:function(s,m){if(1&s){const C=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",0)(1,"tn-section-header",1),n.\u0275\u0275listener("clickedButton",function(){return n.\u0275\u0275restoreView(C),n.\u0275\u0275reference(4).toggleChangeUserMode(),m.toggleChangeCustomerMode()}),n.\u0275\u0275text(2,"Customer"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"tn-user",2,3),n.\u0275\u0275listener("changedEmailList",function(oe){return m.changeEmailsList(oe)})("userEmitted",function(oe){return m.replaceCustomer(oe)})("searchedUsers",function(oe){return m.searchUsers(oe)})("editClicked",function(oe){return m.goToUserEdit(oe)}),n.\u0275\u0275elementEnd()()}2&s&&(n.\u0275\u0275advance(1),n.\u0275\u0275property("actionButtonText",m.buttonText),n.\u0275\u0275advance(2),n.\u0275\u0275property("filteredUsers",m.filteredUsers)("emailList",m.emailList)("users",m.customer?n.\u0275\u0275pureFunction1(4,hs,m.customer):n.\u0275\u0275pureFunction0(6,Ji)))},directives:[jn,ui],encapsulation:2,changeDetection:0}),c})();function vs(c,g){1&c&&n.\u0275\u0275element(0,"div",5),2&c&&n.\u0275\u0275property("innerHTML",g.$implicit.text,n.\u0275\u0275sanitizeHtml)}function Cs(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,vs,1,1,"div",4),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s.notes)}}function bs(c,g){1&c&&(n.\u0275\u0275elementStart(0,"span"),n.\u0275\u0275text(1,"No notes found"),n.\u0275\u0275elementEnd())}let ys=(()=>{class c{constructor(){this.notes=[],this.customerUid=""}goToCustomerNotes(){this.customerUid&&window.open(`/crm/profile/${this.customerUid}/private-notes`,"_blank")}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-customer-notes"]],inputs:{notes:"notes",customerUid:"customerUid"},decls:6,vars:2,consts:[[1,"section-info-block"],["actionButtonText","View notes",3,"clickedButton"],[4,"ngIf","ngIfElse"],["noNotesTmpl",""],[3,"innerHTML",4,"ngFor","ngForOf"],[3,"innerHTML"]],template:function(s,m){if(1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"tn-section-header",1),n.\u0275\u0275listener("clickedButton",function(){return m.goToCustomerNotes()}),n.\u0275\u0275text(2," Customer notes "),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(3,Cs,2,1,"ng-container",2),n.\u0275\u0275template(4,bs,2,0,"ng-template",null,3,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275elementEnd()),2&s){const C=n.\u0275\u0275reference(5);n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",null==m.notes?null:m.notes.length)("ngIfElse",C)}},directives:[jn,Ke.NgIf,Ke.NgForOf],encapsulation:2,changeDetection:0}),c})(),Yi=(()=>{class c{constructor(){this.notes=""}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-broker-preferences"]],inputs:{notes:"notes"},decls:4,vars:1,consts:[[1,"section-info-block"],[3,"innerHTML"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"ui-section-title"),n.\u0275\u0275text(2,"Broker preferences"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(3,"div",1),n.\u0275\u0275elementEnd()),2&s&&(n.\u0275\u0275advance(3),n.\u0275\u0275property("innerHTML",m.notes||"No preferences",n.\u0275\u0275sanitizeHtml))},directives:[Ai],encapsulation:2,changeDetection:0}),c})();var qo=_(46655);function xs(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-section-param-line-item",6),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("value",s.clientPreferences)}}function Ss(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",3),n.\u0275\u0275template(1,xs,1,1,"ui-section-param-line-item",4),n.\u0275\u0275element(2,"ui-section-param-line-item",5),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.clientPreferences),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",s.flexibleScheduling?"Flexible":"Not Flexible")}}function Ts(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-select",10),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("nameKey","label")("items",s.flexibleSchedulingStatuses)}}function ea(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"form",7),n.\u0275\u0275element(1,"ui-textarea",8),n.\u0275\u0275template(2,Ts,1,2,"ui-select",9),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("formGroup",s.form),n.\u0275\u0275advance(1),n.\u0275\u0275property("autoresizeMinRows",1)("autoresize",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.showSchedulingFlexibility)}}let ws=(()=>{class c{constructor(s){this.formBuilder=s,this.showSchedulingFlexibility=!0,this.flexibleSchedulingStatuses=[],this.flexibleScheduling=!1,this.clientPreferences="",this.changed=new n.EventEmitter,this.editMode=!1,this.form=this.formBuilder.group({flexible_scheduling:[],order_notes:[]})}ngOnInit(){this.form.patchValue({flexible_scheduling:this.flexibleScheduling,order_notes:this.clientPreferences})}save(){this.changed.emit(this.form.value),this.editMode=!1}setEditMode(s){this.editMode=s}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(A.qu))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-customer-preferences"]],inputs:{showSchedulingFlexibility:"showSchedulingFlexibility",flexibleSchedulingStatuses:"flexibleSchedulingStatuses",flexibleScheduling:"flexibleScheduling",clientPreferences:"clientPreferences"},outputs:{changed:"changed"},decls:4,vars:2,consts:[[3,"saved","changedEditMode"],["class","section-info-block",4,"ngIf"],["class","edit-form",3,"formGroup",4,"ngIf"],[1,"section-info-block"],["title","Client preferences",3,"value",4,"ngIf"],["title","Flexible Scheduling",3,"value"],["title","Client preferences",3,"value"],[1,"edit-form",3,"formGroup"],["formControlName","order_notes","label","Client Preferences","appearance","bordered","height","30px",3,"autoresizeMinRows","autoresize"],["label","Flexible Scheduling","appearance","bordered","formControlName","flexible_scheduling",3,"nameKey","items",4,"ngIf"],["label","Flexible Scheduling","appearance","bordered","formControlName","flexible_scheduling",3,"nameKey","items"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"tn-section-header",0),n.\u0275\u0275listener("saved",function(){return m.save()})("changedEditMode",function(M){return m.setEditMode(M)}),n.\u0275\u0275text(1,"Client preferences"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(2,Ss,3,2,"div",1),n.\u0275\u0275template(3,ea,3,4,"form",2)),2&s&&(n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",!m.editMode),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.editMode))},directives:[jn,Ke.NgIf,wi,A._Y,A.JL,A.sg,qo.R,A.JJ,A.u,Bi.H],styles:[".edit-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}"],changeDetection:0}),c})();function ks(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",6)(1,"ui-section-title",7),n.\u0275\u0275text(2,"Location"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"div",8)(4,"agm-map",9)(5,"agm-marker",10),n.\u0275\u0275listener("markerClick",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().goToMap()}),n.\u0275\u0275elementEnd()()()()}if(2&c){const s=n.\u0275\u0275nextContext();let m,C,M,oe;n.\u0275\u0275advance(4),n.\u0275\u0275property("disableDefaultUI",!0)("zoom",15)("latitude",null!==(m=null==s.order||null==s.order.property_address?null:s.order.property_address.lat)&&void 0!==m?m:0)("longitude",null!==(C=null==s.order||null==s.order.property_address?null:s.order.property_address.lng)&&void 0!==C?C:0),n.\u0275\u0275advance(1),n.\u0275\u0275property("latitude",null!==(M=null==s.order||null==s.order.property_address?null:s.order.property_address.lat)&&void 0!==M?M:0)("longitude",null!==(oe=null==s.order||null==s.order.property_address?null:s.order.property_address.lng)&&void 0!==oe?oe:0)}}function Es(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-section-param-line-item",15),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275property("value",s.line2)}}function ki(c,g){if(1&c&&(n.\u0275\u0275element(0,"ui-section-param-line-item",13),n.\u0275\u0275pipe(1,"uiArea"),n.\u0275\u0275pipe(2,"translate")),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("value",n.\u0275\u0275pipeBind2(1,2,s.acreage,"landlot"))("title",n.\u0275\u0275pipeBind1(2,5,"ACREAGE"))}}function Os(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275element(1,"ui-section-param-line-item",11),n.\u0275\u0275template(2,Es,1,1,"ui-section-param-line-item",12),n.\u0275\u0275element(3,"ui-section-param-line-item",13),n.\u0275\u0275pipe(4,"uiArea"),n.\u0275\u0275pipe(5,"translate"),n.\u0275\u0275template(6,ki,3,7,"ui-section-param-line-item",14),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("value",s.formatted_address),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.line2),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",n.\u0275\u0275pipeBind1(4,5,m.totalInteriorAria))("title",n.\u0275\u0275pipeBind1(5,7,"PROPERTY_AREA")),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",m.showAcreageInput)}}let wr=(()=>{class c{constructor(){this.totalInteriorAria="",this.showAcreageInput=!0,this.showSqFtInput=!0,this.acreage="",this.order=null,this.editInitiated=new n.EventEmitter}goToMap(){var s,m,C,M;const oe=`https://maps.google.com/?q=${null===(m=null===(s=this.order)||void 0===s?void 0:s.property_address)||void 0===m?void 0:m.lat},${null===(M=null===(C=this.order)||void 0===C?void 0:C.property_address)||void 0===M?void 0:M.lng}`,we=oe.startsWith("http://"),Ge=oe.startsWith("https://");window.open(we||Ge?oe:"https://"+oe,"_blank","noopener,noreferrer")}edit(){this.editInitiated.emit()}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-sidebar-property-details"]],inputs:{totalInteriorAria:"totalInteriorAria",showAcreageInput:"showAcreageInput",showSqFtInput:"showSqFtInput",acreage:"acreage",order:"order"},outputs:{editInitiated:"editInitiated"},decls:8,vars:2,consts:[[1,"section-info-block"],[1,"header"],[3,"click"],["class","info",4,"ngIf"],[1,"details"],[4,"ngIf"],[1,"info"],["heading","secondary","icon","apartment",1,"subtitle"],[1,"map"],[3,"disableDefaultUI","zoom","latitude","longitude"],[3,"latitude","longitude","markerClick"],["title","Address",3,"value"],["title","Address 2",3,"value",4,"ngIf"],[3,"value","title"],[3,"value","title",4,"ngIf"],["title","Address 2",3,"value"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"header",1)(2,"ui-section-title"),n.\u0275\u0275text(3,"Property details"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(4,"ui-edit-button",2),n.\u0275\u0275listener("click",function(){return m.edit()}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(5,ks,6,6,"div",3),n.\u0275\u0275elementStart(6,"div",4),n.\u0275\u0275template(7,Os,7,9,"ng-container",5),n.\u0275\u0275elementEnd()()),2&s&&(n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",(null==m.order||null==m.order.property_address?null:m.order.property_address.lat)&&(null==m.order||null==m.order.property_address?null:m.order.property_address.lng)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",null==m.order?null:m.order.property_address))},directives:[Ai,Ri,Ke.NgIf,U.SA,U.pt,wi],pipes:[Tt.FjN,B.X$],styles:[".map[_ngcontent-%COMP%]{height:10rem;overflow:hidden;border-radius:.5rem}.subtitle[_ngcontent-%COMP%]{margin-bottom:.5rem}.header[_ngcontent-%COMP%]{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}"],changeDetection:0}),c})();var ta=_(50257),na=_(10255);function Is(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",4)(1,"div",0)(2,"ui-section-title",5),n.\u0275\u0275text(3,"Notes"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(4,"ui-textarea",6)(5,"ui-textarea",7)(6,"ui-textarea",8),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(7,"div",9)(8,"ui-section-title",10),n.\u0275\u0275text(9,"Rooms"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(10,"ui-number-input",11)(11,"ui-number-input",12)(12,"ui-number-input",13),n.\u0275\u0275elementEnd()()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("formGroup",s.form),n.\u0275\u0275advance(4),n.\u0275\u0275property("autoresizeMinRows",1)("autoresize",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("autoresizeMinRows",1)("autoresize",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("autoresizeMinRows",1)("autoresize",!0),n.\u0275\u0275advance(4),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0)}}function Ds(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",14)(2,"ui-section-title",5),n.\u0275\u0275text(3,"Notes"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(4,"div",15),n.\u0275\u0275element(5,"ui-section-param-line-item",16)(6,"ui-section-param-line-item",17)(7,"ui-section-param-line-item",18),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(8,"div",19)(9,"ui-section-title",10),n.\u0275\u0275text(10,"Rooms"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(11,"div",20),n.\u0275\u0275element(12,"ui-section-param-line-item",21)(13,"ui-section-param-line-item",22)(14,"ui-section-param-line-item",23),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(5),n.\u0275\u0275property("value",null==s.notes?null:s.notes.entry_notes),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",null==s.notes?null:s.notes.property_feature_notes),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",null==s.notes?null:s.notes.floor_plan_notes),n.\u0275\u0275advance(5),n.\u0275\u0275property("value",(null==s.rooms?null:s.rooms.bedrooms)||0),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",(null==s.rooms?null:s.rooms.bathrooms)||0),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",(null==s.rooms?null:s.rooms.halfBaths)||0)}}let x=(()=>{class c{constructor(s){this.formBuilder=s,this.notes=null,this.rooms=null,this.saved=new n.EventEmitter,this.form=this.formBuilder.group({entry_notes:[],property_feature_notes:[],floor_plan_notes:[],rooms:this.formBuilder.group({bedrooms:[],bathrooms:[],halfBaths:[]})}),this.editMode=!1}ngOnInit(){this.setForm()}save(){this.saved.emit(this.form.value)}setEditMode(s){this.editMode=s,this.setForm()}setForm(){var s,m,C,M,oe,we;const Ge=Object.assign(Object.assign({},this.notes),{rooms:{bedrooms:null!==(m=null===(s=this.rooms)||void 0===s?void 0:s.bedrooms)&&void 0!==m?m:0,bathrooms:null!==(M=null===(C=this.rooms)||void 0===C?void 0:C.bathrooms)&&void 0!==M?M:0,halfBaths:null!==(we=null===(oe=this.rooms)||void 0===oe?void 0:oe.halfBaths)&&void 0!==we?we:0}});this.form.setValue(Ge)}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(A.qu))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-property-notes"]],inputs:{notes:"notes",rooms:"rooms"},outputs:{saved:"saved"},decls:5,vars:2,consts:[[1,"section-info-block"],[3,"saved","changedEditMode"],["class","edit-mode",3,"formGroup",4,"ngIf"],[4,"ngIf"],[1,"edit-mode",3,"formGroup"],["heading"
1,"secondary","icon","description"],["appearance","bordered","formControlName","entry_notes","label","Entry Notes",1,"md:col-start-1","md:col-end-3",3,"autoresizeMinRows","autoresize"],["appearance","bordered","formControlName","property_feature_notes","label","Features Notes",3,"autoresizeMinRows","autoresize"],["appearance","bordered","formControlName","floor_plan_notes","label","Floor Plan Notes",3,"autoresizeMinRows","autoresize"],["formGroupName","rooms",1,"section-info-block"],["heading","secondary","icon","meeting_room"],["appearance","bordered","formControlName","bedrooms","label","Bedrooms","uiFormControl","","updateOn","blur",3,"blurOnEnter"],["appearance","bordered","formControlName","bathrooms","label","Bathrooms","uiFormControl","","updateOn","blur",3,"blurOnEnter"],["appearance","bordered","formControlName","halfBaths","label","Half Baths","uiFormControl","","updateOn","blur",3,"blurOnEnter"],[1,"notes"],[1,"notes__items"],["title","Entry notes",3,"value"],["title","Features notes",3,"value"],["title","Floor plan notes",3,"value"],[1,"rooms"],[1,"rooms__items"],["title","Bedrooms",3,"value"],["title","Bathrooms",3,"value"],["title","Half baths",3,"value"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"tn-section-header",1),n.\u0275\u0275listener("saved",function(){return m.save()})("changedEditMode",function(M){return m.setEditMode(M)}),n.\u0275\u0275text(2,"Property Notes"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(3,Is,13,10,"div",2),n.\u0275\u0275template(4,Ds,15,6,"ng-container",3),n.\u0275\u0275elementEnd()),2&s&&(n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",m.editMode),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!m.editMode))},directives:[jn,Ke.NgIf,A.JL,A.sg,Ai,qo.R,A.JJ,A.u,A.x0,ta.f,na.o,wi],styles:[".rooms[_ngcontent-%COMP%], .notes[_ngcontent-%COMP%], .rooms__items[_ngcontent-%COMP%], .notes__items[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.edit-mode[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem}"],changeDetection:0}),c})();var v=_(81736);function d(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-section-param-line-item",9),2&c){const s=n.\u0275\u0275nextContext().$implicit;n.\u0275\u0275property("value",s.value)("title",s.label)}}function f(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,d,1,2,"ui-section-param-line-item",8),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.index,m=n.\u0275\u0275nextContext(3);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.customQuestionsVisibility[s])}}const b=function(){return[]};function E(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",4),n.\u0275\u0275template(1,f,2,1,"ng-container",5),n.\u0275\u0275element(2,"ui-section-param-line-item",6)(3,"ui-section-param-line-item",7),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s.order.customQuestions||n.\u0275\u0275pureFunction0(4,b))("ngForTrackBy",s.trackByIndex),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",s.order.custom_domain),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",s.order.music_option)}}function R(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-input",17),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext(2).index;n.\u0275\u0275property("label",s.label)("formControlName",m)("blurOnEnter",!0)}}function K(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-select",18),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext(2).index;n.\u0275\u0275property("formControlName",m)("label",s.label)("items",s.options)}}function se(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,R,1,3,"ui-input",15),n.\u0275\u0275template(2,K,1,3,"ng-template",null,16,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275reference(3);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf","dropdown"!==s.type)("ngIfElse",m)}}function fe(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div"),n.\u0275\u0275template(1,se,4,2,"ng-container",14),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().index,m=n.\u0275\u0275nextContext(3);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",(m.order.customQuestions||n.\u0275\u0275pureFunction0(1,b))[s])}}function Ae(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,fe,2,2,"div",14),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.index,m=n.\u0275\u0275nextContext(3);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.customQuestionsVisibility[s])}}function Je(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",19),2&c){const s=n.\u0275\u0275nextContext(3);n.\u0275\u0275property("url",s.order.custom_domain)}}function le(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",19),2&c){const s=n.\u0275\u0275nextContext(3);n.\u0275\u0275property("url",s.order.music_option)}}function q(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",4),n.\u0275\u0275elementContainerStart(1,10),n.\u0275\u0275template(2,Ae,2,1,"ng-container",5),n.\u0275\u0275elementContainerEnd(),n.\u0275\u0275elementStart(3,"ui-input",11),n.\u0275\u0275template(4,Je,1,1,"ui-open-in-new-tab",12),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"ui-input",13),n.\u0275\u0275template(6,le,1,1,"ui-open-in-new-tab",12),n.\u0275\u0275elementEnd()()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(2),n.\u0275\u0275property("ngForOf",s.customQuestionsArray.controls)("ngForTrackBy",s.trackByIndex),n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.order.custom_domain),n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.order.music_option)}}function Ce(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",1)(1,"tn-section-header",2),n.\u0275\u0275listener("saved",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().save()})("changedEditMode",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().setEditMode(C)}),n.\u0275\u0275text(2,"Custom Fields"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(3,E,4,5,"div",3),n.\u0275\u0275template(4,q,7,6,"div",3),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("formGroup",s.form),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",!s.editMode),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.editMode)}}let Oe=(()=>{class c{constructor(s){this.formBuilder=s,this.order=null,this.customQuestions=null,this.customQuestionsVisibility=[],this.saved=new n.EventEmitter,this.form=this.formBuilder.group({customQuestions:this.formBuilder.array([]),custom_domain:[],music_option:[]}),this.editMode=!1,this.trackByIndex=Tt.z8e}get customQuestionsArray(){return this.form.get("customQuestions")}ngOnInit(){this.setForm()}save(){this.saved.emit(this.form.value)}setEditMode(s){this.editMode=s,this.patchForm()}setForm(){var s,m,C,M,oe,we;this.customQuestionsArray.clear({emitEvent:!1}),null===(s=this.form.get("custom_domain"))||void 0===s||s.setValue(null===(m=this.order)||void 0===m?void 0:m.custom_domain),null===(C=this.form.get("music_option"))||void 0===C||C.setValue(null===(M=this.order)||void 0===M?void 0:M.music_option),null===(we=null===(oe=this.customQuestions)||void 0===oe?void 0:oe.controls)||void 0===we||we.forEach(Ge=>{this.customQuestionsArray.push(Ge,{emitEvent:!1})})}patchForm(){var s,m,C;const M={customQuestions:null===(s=this.customQuestions)||void 0===s?void 0:s.value,custom_domain:null===(m=this.order)||void 0===m?void 0:m.custom_domain,music_option:null===(C=this.order)||void 0===C?void 0:C.music_option};this.form.patchValue(M)}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(A.qu))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-custom-fields"]],inputs:{order:"order",customQuestions:"customQuestions",customQuestionsVisibility:"customQuestionsVisibility"},outputs:{saved:"saved"},decls:1,vars:1,consts:[[3,"formGroup",4,"ngIf"],[3,"formGroup"],[3,"saved","changedEditMode"],["class","section-info-block",4,"ngIf"],[1,"section-info-block"],[4,"ngFor","ngForOf","ngForTrackBy"],["title","Custom Domain",3,"value"],["title","Music option",3,"value"],[3,"value","title",4,"ngIf"],[3,"value","title"],["formArrayName","customQuestions"],["appearance","bordered","label","Custom Domain","inputClass","pr-40 truncate","formControlName","custom_domain","updateOn","blur",3,"blurOnEnter"],["class","absolute right-min bottom-min rounded bg-white",3,"url",4,"ngIf"],["appearance","bordered","label","Music Option","inputClass","pr-40 truncate","formControlName","music_option","updateOn","blur",3,"blurOnEnter"],[4,"ngIf"],["appearance","bordered","updateOn","blur",3,"label","formControlName","blurOnEnter",4,"ngIf","ngIfElse"],["dropdown",""],["appearance","bordered","updateOn","blur",3,"label","formControlName","blurOnEnter"],["appearance","bordered",3,"formControlName","label","items"],[1,"absolute","right-min","bottom-min","rounded","bg-white",3,"url"]],template:function(s,m){1&s&&n.\u0275\u0275template(0,Ce,5,3,"div",0),2&s&&n.\u0275\u0275property("ngIf",m.order)},directives:[Ke.NgIf,A.JL,A.sg,jn,Ke.NgForOf,wi,A.CE,Qi.a,A.JJ,A.u,Bi.H,v.b],encapsulation:2,changeDetection:0}),c})();var Le=_(40559),ct=_(43624),Ot=_(68566);function fn(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"h3",4),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate(s.title)}}const xn=[[["","icon",""]],"*"],kn=function(c,g,s){return{"deliverables-warning-bar--warn":c,"deliverables-warning-bar--info":g,"deliverables-warning-bar--error":s}},Dn=["[icon]","*"];let ri=(()=>{class c{constructor(){this.title="",this.type="info"}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-deliverables-warning-bar"]],inputs:{title:"title",type:"type"},ngContentSelectors:Dn,decls:6,vars:6,consts:[[1,"deliverables-warning-bar",3,"ngClass"],[1,"deliverables-warning-bar__icon"],[1,"deliverables-warning-bar__content"],["class","deliverables-warning-bar__title",4,"ngIf"],[1,"deliverables-warning-bar__title"]],template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(xn),n.\u0275\u0275elementStart(0,"div",0)(1,"div",1),n.\u0275\u0275projection(2),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"div",2),n.\u0275\u0275template(4,fn,2,1,"h3",3),n.\u0275\u0275projection(5,1),n.\u0275\u0275elementEnd()()),2&s&&(n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction3(2,kn,"warn"===m.type,"info"===m.type,"error"===m.type)),n.\u0275\u0275advance(4),n.\u0275\u0275property("ngIf",m.title))},directives:[Ke.NgClass,Ke.NgIf],styles:[".deliverables-warning-bar[_ngcontent-%COMP%]{display:grid;grid-gap:.5rem;gap:.5rem;border-radius:.25rem;padding:.5rem 1rem;font-size:.75rem;--tw-text-opacity: 1;color:rgb(45 45 45 / var(--tw-text-opacity, 1));grid-template-columns:16px 1fr}.deliverables-warning-bar__title[_ngcontent-%COMP%]{font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(45 45 45 / var(--tw-text-opacity, 1))}.deliverables-warning-bar--warn[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 232 204 / var(--tw-bg-opacity, 1))}.deliverables-warning-bar--info[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(241 243 245 / var(--tw-bg-opacity, 1))}.deliverables-warning-bar--error[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 227 227 / var(--tw-bg-opacity, 1))}"],changeDetection:0}),c})();const nn=/^https:\/\/www\.dropbox\.com\/scl\/fo\/[a-zA-Z0-9]+\/[^?]+(\?[^ ]+)?$/;let Jl=(()=>{class c{validate(s){const m=s.value;return m?function io(c){return!!c&&nn.test(c)}
1(m)?null:{invalidDropboxUrl:!0}:null}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275dir=n.\u0275\u0275defineDirective({type:c,selectors:[["","uiDropboxUrl",""]],features:[n.\u0275\u0275ProvidersFeature([{provide:A.Cf,useExisting:(0,n.forwardRef)(()=>c),multi:!0}])]}),c})();const Yl=["dropBoxUrlRef"];function Xl(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",6),n.\u0275\u0275projection(1),n.\u0275\u0275elementEnd())}function ql(c,g){1&c&&(n.\u0275\u0275elementStart(0,"small",7),n.\u0275\u0275text(1," Invalid Dropbox folder URL. "),n.\u0275\u0275elementEnd())}const Xi=["*"];let ia=(()=>{class c{constructor(){this.url="",this.disabled=!1,this.urlChange=new n.EventEmitter}get hasValidLink(){var s,m,C;return null!==(C=(null===(s=this.dropBoxUrlRef)||void 0===s?void 0:s.valid)&&(null!==(m=this.url)&&void 0!==m?m:"").trim().length>0)&&void 0!==C&&C}onValueChanged(s){var m;this.url=s,(null===(m=this.dropBoxUrlRef)||void 0===m?void 0:m.valid)&&this.urlChange.emit(s)}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-deliverables-form"]],viewQuery:function(s,m){if(1&s&&n.\u0275\u0275viewQuery(Yl,5),2&s){let C;n.\u0275\u0275queryRefresh(C=n.\u0275\u0275loadQuery())&&(m.dropBoxUrlRef=C.first)}},inputs:{url:"url",disabled:"disabled"},outputs:{urlChange:"urlChange"},ngContentSelectors:Xi,decls:6,vars:4,consts:[[1,"deliverables-form"],["form","ngForm"],["name","dropBoxUrl","appearance","bordered","icon","link","label","Dropbox link","uiDropboxUrl","","updateOn","blur","placeholder","Dropbox link",3,"disabled","ngModel","ngModelChange"],["dropBoxUrlRef","ngModel"],["header","","class","flex",4,"ngIf"],["errors","","class","text-red-50 pl-8",4,"ngIf"],["header","",1,"flex"],["errors","",1,"text-red-50","pl-8"]],template:function(s,m){if(1&s&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275elementStart(0,"form",0,1)(2,"ui-input",2,3),n.\u0275\u0275listener("ngModelChange",function(M){return m.url=M})("ngModelChange",function(M){return m.onValueChanged(M)}),n.\u0275\u0275template(4,Xl,2,0,"div",4),n.\u0275\u0275template(5,ql,2,0,"small",5),n.\u0275\u0275elementEnd()()),2&s){const C=n.\u0275\u0275reference(3);n.\u0275\u0275advance(2),n.\u0275\u0275property("disabled",m.disabled)("ngModel",m.url),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",C.valid&&C.value),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==C.errors?null:C.errors.invalidDropboxUrl)}},directives:[A._Y,A.JL,A.F,Qi.a,Jl,A.JJ,A.On,Ke.NgIf],styles:[""],changeDetection:0}),c})();var qs=_(92397),ra=_(32368);function ec(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",17),n.\u0275\u0275text(1,"Edit"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275propertyInterpolate1("href","/native-upload/",null==s.order?null:s.order.id,"",n.\u0275\u0275sanitizeUrl)}}function tc(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",18),n.\u0275\u0275text(1,"View Delivery"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275propertyInterpolate1("href","/order-dashboard/",null==s.order?null:s.order.id,"/delivery",n.\u0275\u0275sanitizeUrl)}}function nc(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",19,20),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).resendProjectCompletion()}),n.\u0275\u0275element(2,"i",21),n.\u0275\u0275text(3," Resend project completion "),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(2),n.\u0275\u0275property("uiIcon",m.sendConfirmation?"check":"mail")("size",s.iconSize)}}const Ms=function(c){return{"opacity-30":c}};function ic(c,g){if(1&c&&n.\u0275\u0275element(0,"img",26),2&c){const s=n.\u0275\u0275nextContext(2).ngIf,m=n.\u0275\u0275reference(14);n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction1(1,Ms,m.hasValidLink&&s.syncInProgress))}}function rc(c,g){if(1&c&&n.\u0275\u0275element(0,"i",27),2&c){n.\u0275\u0275nextContext();const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext().ngIf,C=n.\u0275\u0275nextContext();n.\u0275\u0275property("size",s.iconSize)("ngClass",n.\u0275\u0275pureFunction1(3,Ms,m.syncInProgress))("matTooltip",C.rawFoldersWarning)}}function oc(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",22,23),n.\u0275\u0275listener("throttleClick",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).createDeliveryFolders()}),n.\u0275\u0275template(2,ic,1,3,"img",24),n.\u0275\u0275text(3," Create Folders Structure "),n.\u0275\u0275template(4,rc,1,5,"i",25),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275property("uiBtnLoading",s.foldersCreationInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",!s.foldersCreationInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",!s.foldersCreationInProgress&&s.canCreateRawFolderInDropbox)}}function ac(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",28),n.\u0275\u0275text(1," Sync and send deliverables to the client "),n.\u0275\u0275elementEnd())}function sc(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-deliverables-warning-bar",36)(1,"p"),n.\u0275\u0275text(2,"Dropbox folder will be created "),n.\u0275\u0275elementStart(3,"strong"),n.\u0275\u0275text(4,"automatically"),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(5," when the order is moved to "),n.\u0275\u0275elementStart(6,"strong",37),n.\u0275\u0275text(7),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(8," and includes an "),n.\u0275\u0275elementStart(9,"strong",37),n.\u0275\u0275text(10,"address"),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(11,", "),n.\u0275\u0275elementStart(12,"strong",37),n.\u0275\u0275text(13,"customer"),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(14,", "),n.\u0275\u0275elementStart(15,"strong",37),n.\u0275\u0275text(16,"event"),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(17," and at least "),n.\u0275\u0275elementStart(18,"strong",37),n.\u0275\u0275text(19,"one service"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275element(2
10,"i",38),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(4);n.\u0275\u0275advance(7),n.\u0275\u0275textInterpolate(s.inProgressOrderStatus),n.\u0275\u0275advance(13),n.\u0275\u0275property("size",16)}}function lc(c,g){1&c&&(n.\u0275\u0275elementStart(0,"tn-deliverables-warning-bar",39)(1,"p"),n.\u0275\u0275text(2,"Please "),n.\u0275\u0275elementStart(3,"strong",37),n.\u0275\u0275text(4,"schedule an appointment"),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(5," and "),n.\u0275\u0275elementStart(6,"strong",37),n.\u0275\u0275text(7,"add a photographer"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275element(8,"i",38),n.\u0275\u0275elementEnd()),2&c&&(n.\u0275\u0275advance(8),n.\u0275\u0275property("size",16))}function cc(c,g){1&c&&(n.\u0275\u0275elementStart(0,"tn-deliverables-warning-bar",40),n.\u0275\u0275text(1," Delivery files sync failed. "),n.\u0275\u0275element(2,"i",38),n.\u0275\u0275elementEnd()),2&c&&(n.\u0275\u0275advance(2),n.\u0275\u0275property("size",16))}function dc(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-deliverables-warning-bar",41),n.\u0275\u0275text(1," Files will be synchronized with the dropbox folders and you will see the previews. "),n.\u0275\u0275element(2,"i",42),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(3).ngIf;n.\u0275\u0275advance(2),n.\u0275\u0275classProp("animate-spin",s.syncInProgress)}}function pc(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",31),n.\u0275\u0275template(1,sc,21,2,"tn-deliverables-warning-bar",32),n.\u0275\u0275template(2,lc,9,1,"tn-deliverables-warning-bar",33),n.\u0275\u0275template(3,cc,3,1,"tn-deliverables-warning-bar",34),n.\u0275\u0275template(4,dc,3,2,"tn-deliverables-warning-bar",35),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2).ngIf,m=n.\u0275\u0275reference(14);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.canCreateFolderStructureInDropbox&&!m.hasValidLink),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.hasValidLink&&s.canCreateRawFolderInDropbox),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.isSyncFailed&&!s.foldersCreationInProgress),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.syncInProgress)}}function mc(c,g){if(1&c&&n.\u0275\u0275element(0,"i",52),2&c){n.\u0275\u0275nextContext();const s=n.\u0275\u0275reference(1);n.\u0275\u0275property("size",s.iconSize)}}function uc(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",48,49),n.\u0275\u0275listener("throttleClick",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onSync()}),n.\u0275\u0275element(2,"i",50),n.\u0275\u0275text(3," Sync delivery files "),n.\u0275\u0275template(4,mc,1,1,"i",51),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(3).ngIf;n.\u0275\u0275property("uiBtnLoading",m.syncInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",null==m.order||null==m.order.deliverablesLinks?null:m.order.deliverablesLinks.length)}}function gc(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",43)(1,"button",44,45),n.\u0275\u0275listener("click",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(2).ngIf;return n.\u0275\u0275nextContext().openLinksDialog(C,M.order.deliverable_link)}),n.\u0275\u0275element(3,"i",46),n.\u0275\u0275text(4," Edit links "),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(5,uc,5,3,"button",47),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(2),m=n.\u0275\u0275nextContext(2).ngIf,C=n.\u0275\u0275reference(14);n.\u0275\u0275advance(1),n.\u0275\u0275property("disabled",m.syncInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)("ngClass",n.\u0275\u0275pureFunction1(4,Ms,C.hasValidLink&&m.syncInProgress)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",!m.isNativeOrder)}}function _c(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,pc,5,4,"div",29),n.\u0275\u0275pipe(2,"async"),n.\u0275\u0275template(3,gc,6,6,"div",30),n.\u0275\u0275elementContainerEnd()),2&c){n.\u0275\u0275nextContext();const s=n.\u0275\u0275reference(14),m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(2,2,m.isErrorsExist$)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.hasValidLink)}}function el(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-shared-link",57),n.\u0275\u0275text(1,"Raw files"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(3).ngIf;n.\u0275\u0275property("url",null==s||null==s.order?null:s.order.rawFolderLink)}}function tl(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-shared-link",57),n.\u0275\u0275text(1,"Final files"),n.\u0275\u0275elementEnd()),2&c){n.\u0275\u0275nextContext(3);const s=n.\u0275\u0275reference(14);n.\u0275\u0275property("url",s.url)}}function hc(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",55),n.\u0275\u0275template(1,el,2,1,"tn-shared-link",56),n.\u0275\u0275template(2,tl,2,1,"tn-shared-link",56),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2).ngIf,m=n.\u0275\u0275reference(14);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.hasValidLink&&(null==s.order?null:s.order.rawFolderLink)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.hasValidLink)}}function fc(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",58),n.\u0275\u0275text(1),n.\u0275\u0275pipe(2,"date"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" Last success sync date: ",n.\u0275\u0275pipeBind2(2,1,null==s.syncedData?null:s.syncedData.lastDeliverySyncDate,"short")," ")}}function vc(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,hc,3,2,"div",53),n.\u0275\u0275template(2,fc,3,4,"div",54),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275reference(14);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",(null==s||null==s.order?null:s.order.rawFolderLink)||m.hasValidLink),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.syncedData?null:s.syncedData.lastDeliverySyncDate)}}function Cc(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"section",1)(1,"header",2)(2,"div",3)(3,"ui-section-title"),n.\u0275\u0275text(4,"Deliverable Files"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"div",4),n.\u0275\u0275template(6,ec,2,1,"a",5),n.\u0275\u0275pipe(7,"async"),n.\u0275\u0275template(8,tc,2,1,"a",6),n.\u0275\u0275template(9,nc,4,2,"button",7),n.\u0275\u0275template(10,oc,5,3,"button",8),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(11,ac,2,0,"div",9),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(12,_c,4,4,"ng-container",10),n.\u0275\u0275elementStart(13,"tn-deliverables-form",11,12),n.\u0275\u0275listener("urlChange",function(C){const oe=n.\u0275\u0275restoreView(s).ngIf;return n.\u0275\u0275nextContext().updateLink(C,oe.order.deliverable_link)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(15,vc,3,2,"ng-container",10),n.\u0275\u0275elementStart(16,"div",13),n.\u0275\u0275element(17,"hr",14),n.\u0275\u0275elementStart(18,"div",15)(19,"mat-slide-toggle",16),n.\u0275\u0275listener("change",function(){const M=n.\u0275\u0275restoreView(s).ngIf;return n.\u0275\u0275nextContext().toggleFilesLock(null==M||null==M.order?null:M.order.lockFilesUntilPaid)}),n.\u0275\u0275text(20," Lock deliverable files until order is paid "),n.\u0275\u0275elementEnd()()()()}if(2&c){const s=g.ngIf,m=n.\u0275\u0275reference(14),C=n.\u0275\u0275nextContext();let M;n.\u0275\u0275advance(6),n.\u0275\u0275property("ngIf",s.isNativeOrder&&n.\u0275\u0275pipeBind1(7,12,C.canEditDeliverables$)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.isNativeOrder||!s.syncInProgress&&(null!==(M=null==s.order||null==s.order.deliverablesLinks?null:s.order.deliverablesLinks.length)&&void 0!==M?M:0)>0),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.isNativeOrder&&s.dropboxFolders.allowFoldersCreation&&m.hasValidLink&&!s.canCreateRawFolderInDropbox),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.isNativeOrder&&s.dropboxFolders.allowFoldersCreation&&!m.hasValidLink),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.isNativeOrder),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.isNativeOrder),n.\u0275\u0275advance(1),n.\u0275\u0275classProp("hidden",s.isNativeOrder),n.\u0275\u0275property("url",s.order.deliverable_link),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",!s.isNativeOrder),n.\u0275\u0275advance(4),n.\u0275\u0275property("checked",null==s||null==s.order?null:s.order.lockFilesUntilPaid)("disableRipple",!0)}}let kr=class{constructor(g,s,m,C){this.deliverablesStore=g,this.changeDetectionRef=s,this.authService=m,this.appConfigService=C,this.completionResendButtonVisible=!1,this.isSpwEnabled=!1,this.orderStatuses=[],this.updateUser=new n.EventEmitter,this.initiatedProjectCompletionResend=new n.EventEmitter,this.vm$=this.deliverablesStore.viewModel$,this.isErrorsExist$=this.vm$.pipe((0,Pe.U)(({canCreateFolderStructureInDropbox:M,canCreateRawFolderInDropbox:oe,isSyncFailed:we,foldersCreationInProgress:Ge,syncInProgress:tt})=>M||oe||we&&!Ge||tt)),this.rawFoldersWarning="To successfully create RAW folders, make sure that the order has an event with assigned photographer.",this.sendConfirmation=!1,this.canEditDeliverables$=(0,ce.aj)([this.authService.permissions$,this.appConfigService.config$]).pipe((0,Pe.U)(([M,oe])=>(0,Tt.hKS)(M,!!oe.allowNativeUpload)))}set order(g){this.deliverablesStore.setOrder(g)}get inProgressOrderStatus(){const g=this.orderStatuses.find(s=>"inProgress"===s.value);return(null==g?void 0:g.label)||""}openLinksDialog(g,s){g.stopPropagation(),g.preventDefault(),this.deliverablesStore.openLinksDialogEffect({isSpwEnabled:this.isSpwEnabled,url:s||""})}onSync(){this.deliverablesStore.onSync(this.isSpwEnabled)}createDeliveryFolders(){this.deliverablesStore.createDeliveryFolders()}updateLink(g,s=""){var m;const C=null===(m=this.user)||void 0===m?void 0:m.uid,M=g.trim();C&&M!==s.trim()&&this.deliverablesStore.updateOrderDeliverableLink({url:M,uid:C})}resendProjectCompletion(){this.sendConfirmation=!0,this.changeDetectionRef.markForCheck(),setTimeout(()=>{this.sendConfirmation=!1,this.changeDetectionRef.markForCheck()},1e3),this.initiatedProjectCompletionResend.emit()}toggleFilesLock(g){this.deliverablesStore.toggleDeliverablesFilesLock(!g)}};kr.\u0275fac=function(g){return new(g||kr)(n.\u0275\u0275directiveInject(Le.l),n.\u0275\u0275directiveInject(n.ChangeDetectorRef),n.\u0275\u0275directiveInject(k.e80),n.\u0275\u0275directiveInject(k._ZM))},kr.\u0275cmp=n.\u0275\u0275defineComponent({type:kr,selectors:[["tn-deliverables"]],inputs:{order:"order",completionResendButtonVisible:"completionResendButtonVisible",isSpwEnabled:"isSpwEnabled",orderStatuses:"orderStatuses",user:"user"},outputs:{updateUser:"updateUser",initiatedProjectCompletionResend:"initiatedProjectCompletionResend"},decls:2,vars:3,consts:[["class","deliverables__form",4,"ngIf"],[1,"deliverables__form"],[1,"deliverables__header"],[1,"deliverables__header-top"],[1,"deliverables__header-buttons"],["target","_blank","rel","noopener","uiBtnSize","small","uiBtnTheme","main",3,"href",4,"ngIf"],["target","_blank","uiBtnSize","small","uiBtnTheme","main",3,"href",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main",3,"click",4,"ngIf"],["uiThrottleClick","","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"uiBtnLoading","throttleClick",4,"ngIf"],["class","deliverables__header-bottom",4,"ngIf"],[4,"ngIf"],[3,"url","urlChange"],["deliveryForm",""],[1,"deliverables-locker"],[1,"deliverables__divider"],[1,"deliverables__switch"],["color","primary",1,"deliverables__toggle","bg-transparent",3,"checked","disableRipple","change"],["target","_blank","rel","noopener","uiBtnSize","small","uiBtnTheme","main",3,"href"],["target","_blank","uiBtnSize","small","uiBtnTheme","main",3,"href"],["uiBtnSize","small","uiBtnTheme","main",3,"click"],["resendCompletion","btnSize"],[3,"uiIcon","size"],["uiThrottleClick","","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"uiBtnLoading","throttleClick"],["createFolders","btnSize"],["alt","Dropbox","height","16","width","16","loading","lazy","src","/assets/images/dropbox/dropbox-icon.svg","class","w-16",3,"ngClass",4,"ngIf"],["uiIcon","info","class","text-brand-65","matTooltipPosition","above",3,"size","ngClass","matTooltip",4,"ngIf"],["alt","Dropbox","height","16","width","16","loading","lazy","src","/assets/images/dropbox/dropbox-icon.svg",1,"w-16",3,"ngClass"],["uiIcon","info","matTooltipPosition","above",1,"text-brand-65",3,"size","ngClass","matTooltip"],[1,"deliverables__header-bottom"],["class","warnings grid grid-cols-1 gap-6 cursor-default text-white mt-8",4,"ngIf"],["class","deliverables__controls grid mobile-small:grid-cols-1 sm:grid-cols-2 gap-8",4,"ngIf"],[1,"warnings","grid","grid-cols-1","gap-6","cursor-default","text-white","mt-8"],["title","Dropbox folder not created yet.","type","warn",4,"ngIf"],["title","Raw folder cannot be created.","type","error",4,"ngIf"],["title","Sync error:","type","error",4,"ngIf"],["title","Syncing","type","info",4,"ngIf"],["title","Dropbox folder not created yet.","type","warn"],[1,"underline"],["icon","","uiIcon","warning",3,"size"],["title","Raw folder cannot be created.","type","error"],["title","Sync error:","type","error"],["title","Syncing","type","info"],["icon","","uiIcon","refresh"],[1,"deliverables__controls","grid","mobile-small:grid-cols-1","sm:grid-cols-2","gap-8"],["uiThrottleClick","","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary",3,"disabled","click"],["editLinks","btnSize"],["uiIcon","edit",3,"size","ngClass"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","uiThrottleClick","",3,"uiBtnLoading","throttleClick",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","uiThrottleClick","",3,"uiBtnLoading","throttleClick"],["syncDelivery","btnSize"],["uiIcon","refresh",3,"size"],["uiIcon","info","class","text-brand-65","matTooltipPosition","above","matTooltip","Synchronization will override previously created links",3,"size",4,"ngIf"],["uiIcon","info","matTooltipPosition","above","matTooltip","Synchronization will override previously created links",1,"text-brand-65",3,"size"],["class","deliverables__links",4,"ngIf"],["class","text-11 text-gray-50 h-16 mt-20 leading-3",4,"ngIf"],[1,"deliverables__links"],["iconSrc","/assets/images/dropbox/dropbox-icon-gray.svg",3,"url",4,"ngIf"],["iconSrc","/assets/images/dropbox/dropbox-icon-gray.svg",3,"url"],[1,"text-11","text-gray-50","h-16","mt-20","leading-3"]],template:function(g,s){1&g&&(n.\u0275\u0275template(0,Cc,21,14,"section",0),n.\u0275\u0275pipe(1,"async")),2&g&&n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,1,s.vm$))},directives:[Ke.NgIf,Ai,dn.s,pn.V,mn.a,ct.j,Ot.T,Ke.NgClass,Dt.gM,ri,ia,qs.u,ra.Rr],pipes:[Ke.AsyncPipe,Ke.DatePipe],styles:[".deliverables__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.deliverables__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.deliverables__header-top[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.deliverables__header-bottom[_ngcontent-%COMP%]{font-size:.75rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.deliverables__header-buttons[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:flex-end;
1gap:.75rem}.deliverables__links[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.deliverables__divider[_ngcontent-%COMP%]{height:1px;background-color:#ededed;margin-bottom:1.25rem;margin-top:.75rem;width:100%}.deliverables__switch[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.deliverables__switch[_ngcontent-%COMP%] .mat-slide-toggle-content{--tw-text-opacity: 1;color:rgb(45 45 45 / var(--tw-text-opacity, 1))}.deliverables__toggle[_ngcontent-%COMP%]{padding:0;height:16px!important}.deliverables__toggle[_ngcontent-%COMP%] .mat-slide-toggle-label{margin:0}"],changeDetection:0}),kr=(0,u.gn)([(0,e.c)(),(0,u.w6)("design:paramtypes",[Le.l,n.ChangeDetectorRef,k.e80,k._ZM])],kr);var mm=_(17708);function bc(c,g){1&c&&(n.\u0275\u0275elementStart(0,"tn-shared-link",8),n.\u0275\u0275text(1,"Branded"),n.\u0275\u0275elementEnd()),2&c&&n.\u0275\u0275property("url",g.ngIf)}function yc(c,g){1&c&&(n.\u0275\u0275elementStart(0,"tn-shared-link",8),n.\u0275\u0275text(1,"Unbranded"),n.\u0275\u0275elementEnd()),2&c&&n.\u0275\u0275property("url",g.ngIf)}let xc=(()=>{class c{constructor(){this.isTogglingSpw=!1,this.property=null,this.spwLinks=null,this.enableSpw=new n.EventEmitter,this.disableSpw=new n.EventEmitter}get isPublished(){var s;return"published"===(null===(s=this.property)||void 0===s?void 0:s.publishedStatus)}toggleSpw(){this.isTogglingSpw||(this.isPublished?this.disableSpw.emit():this.enableSpw.emit())}get getBrandedLink(){if(this.spwLinks){const{defaultUrl:s,brandedDefaultUrl:m}=this.spwLinks;return m||s||""}return""}get getUnbrandedLink(){if(this.spwLinks){const{defaultUrl:s,unbrandedDefaultUrl:m}=this.spwLinks,C="?mls";return m&&!m.includes(C)?`${m}${C}`:this.makeUnbrandedLink(s)}return""}goToDashboard(){var s,m;const C=(null===(m=null===(s=this.property)||void 0===s?void 0:s.propertyAddress)||void 0===m?void 0:m.formattedAddress)?"overview":"details";window.open(this.property?`/admin/property-dashboard/${this.property.tonomoExternalId}/${C}`:"","_blank")}makeUnbrandedLink(s){var m;return s?(null===(m=this.property)||void 0===m?void 0:m.propertyAddress.mlsNumber)?`${s}?mls=${this.property.propertyAddress.mlsNumber}`:`${s}?mls`:""}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-property-website"]],inputs:{isTogglingSpw:"isTogglingSpw",property:"property",spwLinks:"spwLinks"},outputs:{enableSpw:"enableSpw",disableSpw:"disableSpw"},decls:11,vars:6,consts:[[1,"property-website"],["description","Website will be created once deliverables files are synced","actionButtonIcon","open_in_new","actionButtonText","Admin panel",3,"clickedButton"],["headerBadge","",3,"published"],[1,"links"],["icon","web",3,"url",4,"ngIf"],[1,"property-website__divider"],[1,"property-website__switch"],["color","primary",1,"property-website__toggle","bg-transparent",3,"checked","disabled","disableRipple","change"],["icon","web",3,"url"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"tn-section-header",1),n.\u0275\u0275listener("clickedButton",function(){return m.goToDashboard()}),n.\u0275\u0275element(2,"tn-property-website-status",2),n.\u0275\u0275text(3," Property Website "),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(4,"div",3),n.\u0275\u0275template(5,bc,2,1,"tn-shared-link",4),n.\u0275\u0275template(6,yc,2,1,"tn-shared-link",4),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(7,"hr",5),n.\u0275\u0275elementStart(8,"div",6)(9,"mat-slide-toggle",7),n.\u0275\u0275listener("change",function(){return m.toggleSpw()}),n.\u0275\u0275text(10," Publish property website "),n.\u0275\u0275elementEnd()()()),2&s&&(n.\u0275\u0275advance(2),n.\u0275\u0275property("published",m.isPublished),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",m.getBrandedLink),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.getUnbrandedLink),n.\u0275\u0275advance(3),n.\u0275\u0275property("checked",m.isPublished)("disabled",m.isTogglingSpw)("disableRipple",!0))},directives:[jn,mm.b,Ke.NgIf,qs.u,ra.Rr],styles:[".property-website__divider[_ngcontent-%COMP%]{height:1px;background-color:#ededed;margin-bottom:1.25rem;margin-top:.75rem;width:100%}.property-website__switch[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.property-website__switch[_ngcontent-%COMP%] .mat-slide-toggle-content{--tw-text-opacity: 1;color:rgb(45 45 45 / var(--tw-text-opacity, 1))}.property-website__toggle[_ngcontent-%COMP%]{padding:0;height:16px!important}.property-website__toggle[_ngcontent-%COMP%] .mat-slide-toggle-label{margin:0}.links[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}"],changeDetection:0}),c})();function Ps(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",10),n.\u0275\u0275text(1),n.\u0275\u0275pipe(2,"date"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" Last sync date: ",n.\u0275\u0275pipeBind2(2,1,s.deliveryMktKit.lastSyncAt,"short")," ")}}function Sc(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",11),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275propertyInterpolate1("url","/order-dashboard/",null==s.order?null:s.order.id,"/delivery?anchor=flyersEl")}}function Tc(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Ps,3,4,"div",6),n.\u0275\u0275elementStart(2,"div",7)(3,"button",8),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().showMktDialog()}),n.\u0275\u0275text(4," Generate marketing kit "),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(5,Sc,1,1,"ui-open-in-new-tab",9),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.deliveryMktKit),n.\u0275\u0275advance(2),n.\u0275\u0275property("uiBtnLoading",!!s.mktKitInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf","ready"===(null==s.deliveryMktKit?null:s.deliveryMktKit.status))}}let wc=(()=>{class c{constructor(s){this.router=s,this.isFlyerBuilderEnabled=!1,this.order=null,this.mktKitInProgress=!1,this.deliveryMktKit=null,this.allowMktKit=!1,this.enabledFlyerBuilder=new n.EventEmitter,this.disabledFlyerBuilder=new n.EventEmitter,this.showMktKitDialog=new n.EventEmitter}get status(){return this.isFlyerBuilderEnabled?"Enabled":"Disabled"}goToFlyerBuilder(){var s;this.router.navigate(["/order-dashboard",null===(s=this.order)||void 0===s?void 0:s.id,"delivery","flyer"])}toggleFlyerBuilder(){this.isFlyerBuilderEnabled=!this.isFlyerBuilderEnabled,this.isFlyerBuilderEnabled?this.enabledFlyerBuilder.emit(this.isFlyerBuilderEnabled):this.disabledFlyerBuilder.emit(this.isFlyerBuilderEnabled)}showMktDialog(){this.order&&this.showMktKitDialog.emit(this.order)}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(Gn.F0))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-flyer-builder"]],inputs:{isFlyerBuilderEnabled:"isFlyerBuilderEnabled",order:"order",mktKitInProgress:"mktKitInProgress",deliveryMktKit:"deliveryMktKit",allowMktKit:"allowMktKit"},outputs:{enabledFlyerBuilder:"enabledFlyerBuilder",disabledFlyerBuilder:"disabledFlyerBuilder",showMktKitDialog:"showMktKitDialog"},decls:8,vars:5,consts:[[1,"flyer-builder"],[3,"actionButtonText","clickedButton"],[4,"ngIf"],[1,"flyer-builder__switch"],[1,"flyer-builder__switch-label",3,"click"],["color","primary",1,"flyer-builder__toggle","bg-transparent",3,"checked","disableRipple","change"],["class","flyer-builder__sync-date",4,"ngIf"],[1,"flyer-builder__button-container"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"flyer-builder__generate-button",3,"uiBtnLoading","click"],["hint","Delivery","class","flyer-builder__delivery-kit",3,"url",4,"ngIf"],[1,"flyer-builder__sync-date"],["hint","Delivery",1,"flyer-builder__delivery-kit",3,"url"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"tn-section-header",1),n.\u0275\u0275listener("clickedButton",function(){return m.goToFlyerBuilder()}),n.\u0275\u0275text(2,"Flyer"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(3,Tc,6,3,"ng-container",2),n.\u0275\u0275elementStart(4,"div",3)(5,"div",4),n.\u0275\u0275listener("click",function(){return m.toggleFlyerBuilder()}),n.\u0275\u0275text(6),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(7,"mat-slide-toggle",5),n.\u0275\u0275listener("change",function(){return m.toggleFlyerBuilder()}),n.\u0275\u0275elementEnd()()()),2&s&&(n.\u0275\u0275advance(1),n.\u0275\u0275property("actionButtonText",m.isFlyerBuilderEnabled?"View Flyer Builder":""),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",m.isFlyerBuilderEnabled&&m.allowMktKit),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1("Flyer builder ",m.status,""),n.\u0275\u0275advance(1),n.\u0275\u0275property("checked",m.isFlyerBuilderEnabled)("disableRipple",!0))},directives:[jn,Ke.NgIf,dn.s,pn.V,Ot.T,v.b,ra.Rr],pipes:[Ke.DatePipe],styles:[".flyer-builder__switch[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.flyer-builder__switch-label[_ngcontent-%COMP%]{cursor:pointer;font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(45 45 45 / var(--tw-text-opacity, 1))}.flyer-builder__toggle[_ngcontent-%COMP%]{padding:0;height:16px!important}.flyer-builder__toggle[_ngcontent-%COMP%] .mat-slide-toggle-label{margin:0}.flyer-builder__sync-date[_ngcontent-%COMP%]{font-size:.6875rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.flyer-builder__delivery-kit[_ngcontent-%COMP%]{margin-left:.5rem}.flyer-builder__button-container[_ngcontent-%COMP%]{margin-bottom:.75rem;display:flex;gap:.5rem}.flyer-builder__generate-button[_ngcontent-%COMP%]{flex:1 1 auto;cursor:pointer}"],changeDetection:0}),c})();function kc(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",5),n.\u0275\u0275text(1," No Agents "),n.\u0275\u0275elementEnd())}const nl=function(){return[]};let qi=class{constructor(g,s){this.listingAgentsListService=g,this.agentProfileDialogService=s,this.addEnabled=!0,this.showAutocomplete=!0,this.removeEnabled=!0,this.updateLastUsedListingAgents=!1,this.agentsC
1hange=new n.EventEmitter,this.agents$=this.listingAgentsListService.agents$,this.agentsResults$=this.listingAgentsListService.usersSearchResults$,this.agentsExist$=this.agents$.pipe((0,Pe.U)(m=>m.length>0)),this.filteredUsers=[]}set agents(g){this.listingAgentsListService.agents=g||[]}set authUser(g){this.listingAgentsListService.currentUser=g}ngOnInit(){this.setupAgentsChangeEmitter()}searchAgents(g){this.listingAgentsListService.searchUsers(g)}addAgent(g){return(0,u.mG)(this,void 0,void 0,function*(){yield this.listingAgentsListService.addAgent(g.uid),this.listingAgentsListService.searchUsers("")})}deleteAgent(g){this.listingAgentsListService.removeAgent(g)}editAgent(g){this.listingAgentsListService.openEditDialog(g,this.updateLastUsedListingAgents)}createAgent(){this.listingAgentsListService.currentUserSubj$.pipe((0,be.h)(g=>null!=g),(0,Te.q)(1),(0,$e.w)(g=>this.agentProfileDialogService.openDialog({authUser:g}).pipe((0,be.h)(s=>Boolean(s))))).subscribe(g=>(0,u.mG)(this,void 0,void 0,function*(){yield this.listingAgentsListService.createAgent(g.agent)}))}setupAgentsChangeEmitter(){this.listingAgentsListService.changedAgents$.pipe((0,e.t)(this)).subscribe(g=>{this.agentsChange.emit(g)})}};function Ec(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",5,6),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().resendProjectCompleteEmail()}),n.\u0275\u0275element(2,"i",4),n.\u0275\u0275text(3," Send Project Complete Email "),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1);n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}qi.\u0275fac=function(g){return new(g||qi)(n.\u0275\u0275directiveInject(Jt.Fl),n.\u0275\u0275directiveInject(Jt.TyL))},qi.\u0275cmp=n.\u0275\u0275defineComponent({type:qi,selectors:[["tn-agents"]],inputs:{agents:"agents",authUser:"authUser",addEnabled:"addEnabled",showAutocomplete:"showAutocomplete",removeEnabled:"removeEnabled",updateLastUsedListingAgents:"updateLastUsedListingAgents"},outputs:{agentsChange:"agentsChange"},features:[n.\u0275\u0275ProvidersFeature([Jt.Fl])],decls:9,vars:14,consts:[[1,"agent-section"],["description","Listing agent contact information will be displayed on the property website","actionButtonIcon","add","actionButtonText","Add new",3,"clickedButton"],["class","agent-section__no-agents",4,"ngIf"],[1,"agents"],["searchPlaceholder","SEARCH_AGENTS","userEmitButtonText","Add","userEmitButtonIcon","add",3,"showAutocomplete","showDeleteButton","filteredUsers","showEmailList","users","userEmitted","searchedUsers","deleteClicked","editClicked"],[1,"agent-section__no-agents"]],template:function(g,s){if(1&g&&(n.\u0275\u0275elementStart(0,"div",0)(1,"tn-section-header",1),n.\u0275\u0275listener("clickedButton",function(){return s.createAgent()}),n.\u0275\u0275text(2,"Listing Agents"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(3,kc,2,0,"div",2),n.\u0275\u0275pipe(4,"async"),n.\u0275\u0275elementStart(5,"div",3)(6,"tn-user",4),n.\u0275\u0275listener("userEmitted",function(C){return s.addAgent(C)})("searchedUsers",function(C){return s.searchAgents(C)})("deleteClicked",function(C){return s.deleteAgent(C)})("editClicked",function(C){return s.editAgent(C)}),n.\u0275\u0275pipe(7,"async"),n.\u0275\u0275pipe(8,"async"),n.\u0275\u0275elementEnd()()()),2&g){let m;n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",!1===n.\u0275\u0275pipeBind1(4,6,s.agentsExist$)),n.\u0275\u0275advance(3),n.\u0275\u0275property("showAutocomplete",!0)("showDeleteButton",!0)("filteredUsers",null!==(m=n.\u0275\u0275pipeBind1(7,8,s.agentsResults$))&&void 0!==m?m:n.\u0275\u0275pureFunction0(12,nl))("showEmailList",!1)("users",n.\u0275\u0275pipeBind1(8,10,s.agents$)||n.\u0275\u0275pureFunction0(13,nl))}},directives:[jn,Ke.NgIf,ui],pipes:[Ke.AsyncPipe],styles:[".agent-section__no-agents[_ngcontent-%COMP%]{margin-bottom:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));padding:1.25rem .5rem;text-align:center;font-size:.75rem}.agents-item__loader[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}"],changeDetection:0}),qi=(0,u.gn)([(0,e.c)(),(0,u.w6)("design:paramtypes",[Jt.Fl,Jt.TyL])],qi);let Oc=(()=>{class c{constructor(){this.isResendProjectCompleteEnabled=!1,this.resentedProjectCompleteEmail=new n.EventEmitter,this.resentedBookingConfirmation=new n.EventEmitter}resendProjectCompleteEmail(){this.resentedProjectCompleteEmail.emit()}resendBookingConfirmation(){this.resentedBookingConfirmation.emit()}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-booking-confirmation"]],inputs:{isResendProjectCompleteEnabled:"isResendProjectCompleteEnabled"},outputs:{resentedProjectCompleteEmail:"resentedProjectCompleteEmail",resentedBookingConfirmation:"resentedBookingConfirmation"},decls:6,vars:4,consts:[[1,"booking-confirmation"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","primary",3,"click"],["resendBooking","btnSize"],["uiIcon","mail",3,"size"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click"],["resendComplete","btnSize"]],template:function(s,m){if(1&s&&(n.\u0275\u0275elementStart(0,"div",0),n.\u0275\u0275template(1,Ec,4,1,"button",1),n.\u0275\u0275elementStart(2,"button",2,3),n.\u0275\u0275listener("click",function(){return m.resendBookingConfirmation()}),n.\u0275\u0275element(4,"i",4),n.\u0275\u0275text(5," Send Booking Confirmation "),n.\u0275\u0275elementEnd()()),2&s){const C=n.\u0275\u0275reference(3);n.\u0275\u0275classProp("grid-cols-2",m.isResendProjectCompleteEnabled),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.isResendProjectCompleteEnabled),n.\u0275\u0275advance(3),n.\u0275\u0275property("size",C.iconSize)}},directives:[Ke.NgIf,dn.s,pn.V,mn.a],styles:[".booking-confirmation[_ngcontent-%COMP%]{display:grid;grid-gap:.75rem;gap:.75rem}"],changeDetection:0}),c})();var Ic=_(61409),cn=_(94706),Dc=_(56961);function Mc(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",6),n.\u0275\u0275text(1," Subject: "),n.\u0275\u0275element(2,"span",7),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(2),n.\u0275\u0275property("innerHtml",s.data.subject,n.\u0275\u0275sanitizeHtml)}}function il(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div")(1,"span",6),n.\u0275\u0275text(2,"TO: "),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(3,"span",7),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(3),n.\u0275\u0275property("innerHtml",s.to,n.\u0275\u0275sanitizeHtml)}}function rl(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div")(1,"span",6),n.\u0275\u0275text(2,"CC: "),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(3,"span",7),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(3),n.\u0275\u0275property("innerHtml",s.cc,n.\u0275\u0275sanitizeHtml)}}function ol(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div")(1,"span",6),n.\u0275\u0275text(2,"BCC: "),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(3,"span",7),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(3),n.\u0275\u0275property("innerHtml",s.bcc,n.\u0275\u0275sanitizeHtml)}}function Pc(c,g){if(1&c&&n.\u0275\u0275element(0,"div",8),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("uiFroalaView",s.data.html)}}function Fc(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",2),n.\u0275\u0275template(2,Mc,3,1,"div",3),n.\u0275\u0275template(3,il,4,1,"div",4),n.\u0275\u0275template(4,rl,4,1,"div",4),n.\u0275\u0275template(5,ol,4,1,"div",4),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(6,Pc,1,1,"div",5),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.data.subject),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.to),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.cc),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.bcc),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.data.html)}}function Ac(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",9),n.\u0275\u0275text(1," Error loading data. Please try again later. "),n.\u0275\u0275elementEnd())}let Bc=(()=>{class c{constructor(){this.data=null}get to(){var s;return this.getCopyRecipientsPreview(null===(s=this.data)||void 0===s?void 0:s.to)}get cc(){var s;return this.getCopyRecipientsPreview(null===(s=this.data)||void 0===s?void 0:s.cc)}get bcc(){var s;return this.getCopyRecipientsPreview(null===(s=this.data)||void 0===s?void 0:s.bcc)}getCopyRecipientsPreview(s){return s&&s.join("; ")||""}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-email-detail"]],inputs:{data:"data"},decls:3,vars:2,consts:[[4,"ngIf","ngIfElse"],["error",""],[1,"email-header"],["class","font-bold",4,"ngIf"],[4,"ngIf"],["class","froala",3,"uiFroalaView",4,"ngIf"],[1,"font-bold"],[3,"innerHtml"],[1,"froala",3,"uiFroalaView"],[1,"error"]],template:function(s,m){if(1&s&&(n.\u0275\u0275template(0,Fc,7,5,"ng-container",0),n.\u0275\u0275template(1,Ac,2,0,"ng-template",null,1,n.\u0275\u0275templateRefExtractor)),2&s){const C=n.\u0275\u0275reference(2);n.\u0275\u0275property("ngIf",m.data)("ngIfElse",C)}},directives:[Ke.NgIf,Dc.N],styles:[".email-header[_ngcontent-%COMP%]{margin-bottom:1rem;border-bottom-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));padding-left:1rem;padding-right:1rem;padding-bottom:.5rem}[_nghost-%COMP%] .froala{margin-bottom:1rem;padding-left:.5rem;padding-right:.5rem}[_nghost-%COMP%] .froala .fr-wrapper{height:auto!important}[_nghost-%COMP%] .froala ol, [_nghost-%COMP%] .froala ul{margin-left:20px}[_nghost-%COMP%] .froala ol{list-style-type:decimal}[_nghost-%COMP%] .froala ul{list-style-type:disc}.error[_ngcontent-%COMP%]{padding:1.25rem;text-align:center}"]}),c})();var jc=_(81782);function Rc(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275element(1,"tn-email-detail",5),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(1),n.\u0275\u0275property("data",s.email.payload)}}function gi(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Rc,2,1,"ng-container",0),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(),m=n.\u0275\u0275reference(7);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.email)("ngIfElse",m)}}function al(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",6),n.\u0275\u0275text(1,"Error loading data. Please try again later."),n.\u0275\u0275elementEnd())}function sl(c,g){1&c&&n.\u0275\u0275element(0,"ui-spinner",7)}let Vc=(()=>{class c{constructor(s,m){this.coreRepository=s,this.data=m,this.error=!1,this.email=null}ngOnInit(){this.coreRepository.emails.findUniqueOrThrow({where:{id:this.data.emailId}}).then(s=>{this.email=s}).catch(()=>{this.error=!0})}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject($.AO),n.\u0275\u0275directiveInject(S.WI))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-email-detail-modal"]],decls:11,vars:2,consts:[[4,"ngIf","ngIfElse"],["errorMessage",""],["loader",""],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","main","themeMode","secondary","matDialogClose",""],[3,"data"],[1,"error"],[1,"content-loader"]],template:function(s,m){if(1&s&&(n.\u0275\u0275elementStart(0,"ui-dialog-header"),n.\u0275\u0275text(1,"Email Detail"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(2,"mat-dialog-content"),n.\u0275\u0275template(3,gi,2,2,"ng-container",0),n.\u0275\u0275template(4,al,2,0,"ng-template",null,1,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275template(6,sl,1,0,"ng-template",null,2,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(8,"mat-dialog-actions",3)(9,"button",4),n.\u0275\u0275text(10,"Close"),n.\u0275\u0275elementEnd()()),2&s){const C=n.\u0275\u0275reference(5);n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",!m.error)("ngIfElse",C)}},directives:[In.A,S.xY,Ke.NgIf,Bc,jc.O,S.H8,dn.s,pn.V,S.ZT],styles:["mat-dialog-content[_ngcontent-%COMP%]{position:relative;min-height:200px}.content-loader[_ngcontent-%COMP%]{position:absolute;top:50%;left:50%;width:2rem;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1));transform:translate(-50%,-50%)}.error[_ngcontent-%COMP%]{padding:1.25rem;text-align:center}"]}),c})();var Lc=_(72243),Nc=_.n(Lc);D().extend(Nc());let ll=(()=>{class c{transform(s){if(!s)return"";const m=D()(),C="number"==typeof s?D().unix(s):D()(s);if(C.isSame(m,"day"))return"today";if(C.isSame(m.subtract(1,"day"),"day"))return"yesterday";const M=m.diff(C,"day"),oe=m.diff(C,"week"),we=m.diff(C,"month"),Ge=m.diff(C,"year");return M<7?`${M} days ago`:oe<4?1===oe?"a week ago":`${oe} weeks ago`:we<12?1===we?"a month ago":`${we} months ago`:1===Ge?"a year ago":`${Ge} years ago`}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275pipe=n.\u0275\u0275definePipe({name:"relativeTime",type:c,pure:!0}),c})(),$c=(()=>{class c{constructor(){this.title=""}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-activity-header"]],inputs:{title:"title",time:"time"},decls:6,vars:4,consts:[[1,"activity-header"],[1,"activity-title"]],template:function(s,m){1&s&&(n.\u0275\u0275elementStart(0,"div",0)(1,"div",1),n.\u0275\u0275text(2),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"div"),n.\u0275\u0275text(4),n.\u0275\u0275pipe(5,"relativeTime"),n.\u0275\u0275elementEnd()()),2&s&&(n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(m.title),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(5,2,m.time)))},pipes:[ll],styles:[".activity-header[_ngcontent-%COMP%]{margin-bottom:.75rem;margin-right:.75rem;display:flex;justify-content:space-between;gap:.5rem}.activity-title[_ngcontent-%COMP%]{font-weight:700}"]}),c})();const zc=function(c,g){return{"activity-event-error":c,"activity-event-last":g}},Uc=["*"];let Hc=(()=>{class c{constructor(){this.isError=!1,this.isLast=!1}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-activity-event"]],inputs:{time:"time",isError:"isError",isLast:"isLast"},ngContentSelectors:Uc,decls:6,vars:7,consts:[[1,"activity-event",3,"ngClass"],[1,"activity-event-time"]],template:function(s,m){1&s&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275elementStart(0,"div",0)(1,"div"),n.\u0275\u0275projection(2),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"div",1),n.\u0275\u0275text(4),n.\u0275\u0275pipe(5,"relativeTime"),n.\u0275\u0275elementEnd()()),2&s&&(n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction2(4,zc,m.isError,m.isLast)),n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(5,2,m.time)," "))},directives:[Ke.NgClass],pipes:[ll],styles:['[_nghost-%COMP%]{margin-left:.75rem;margin-right:.75rem;display:block}.activity-event[_ngcontent-%COMP%]{position:relative;margin-bottom:.25rem;display:flex;justify-content:space-between;gap:1rem;padding-bottom:1rem;padding-left:20px;line-height:18px}.activity-event[_ngcontent-%COMP%]:before{position:absolute;--tw-bg-opacity: 1;background-color:rgb(38 198 218 / var(--tw-bg-opacity, 1));left:0;top:4px;content:"";width:9px;height:9px;border-radius:50%}.activity-event[_ngcontent-%COMP%]:after{position:absolute;--tw-bg-opacity: 1;background-color:rgb(215 215 215 / var(--tw-bg-opacity, 1));left:4px;top:22px;bottom:0;content:"";width:1px}.activity-event-error[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(240 62 62 / var(--tw-bg-opacity, 1))}.activity-event-last[_ngcontent-%COMP%]{margin-bottom:0}.activity-event-last[_ngcontent-%COMP%]:after{display:none}
1.activity-event-time[_ngcontent-%COMP%]{white-space:nowrap}']}),c})();function Wc(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-order-activity-event",1)(1,"b"),n.\u0275\u0275text(2),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275property("isError",s.isError)("isLast",s.isLast)("time",s.activityEvent.timestamp),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(s.status),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate2(" ",s.statusConnector," ",s.activityEvent.email,"\n")}}const Fs="Failed",As="to send Email to",Gc=new Map([[cn.Td.Processed,"Sent"],[cn.Td.Delivered,"Delivered"],[cn.Td.Opened,"Opened"],[cn.Td.Bounced,Fs],[cn.Td.Dropped,Fs],[cn.Td.Deferred,Fs]]),Kc=new Map([[cn.Td.Processed,"to"],[cn.Td.Delivered,"to"],[cn.Td.Opened,"by"],[cn.Td.Bounced,As],[cn.Td.Dropped,As],[cn.Td.Deferred,As]]),Zc=new Set([cn.Td.Bounced,cn.Td.Dropped,cn.Td.Deferred]);let Qc=(()=>{class c{constructor(){this.activityEvent=null,this.isLast=!1}get status(){var s;return this.activityEvent&&null!==(s=Gc.get(this.activityEvent.event))&&void 0!==s?s:""}get statusConnector(){var s;return this.activityEvent&&null!==(s=Kc.get(this.activityEvent.event))&&void 0!==s?s:""}get isError(){return!!this.activityEvent&&Zc.has(this.activityEvent.event)}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-activity-email-event"]],inputs:{activityEvent:"activityEvent",isLast:"isLast"},decls:1,vars:1,consts:[[3,"isError","isLast","time",4,"ngIf"],[3,"isError","isLast","time"]],template:function(s,m){1&s&&n.\u0275\u0275template(0,Wc,4,6,"tn-order-activity-event",0),2&s&&n.\u0275\u0275property("ngIf",m.activityEvent)},directives:[Ke.NgIf,Hc],styles:[""]}),c})();function Jc(c,g){if(1&c&&n.\u0275\u0275element(0,"tn-order-activity-email-event",1),2&c){const m=g.last;n.\u0275\u0275property("activityEvent",g.$implicit)("isLast",m)}}let Yc=(()=>{class c{constructor(){this.activityEvents=[]}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-activity-email-events"]],inputs:{activityEvents:"activityEvents"},decls:1,vars:1,consts:[[3,"activityEvent","isLast",4,"ngFor","ngForOf"],[3,"activityEvent","isLast"]],template:function(s,m){1&s&&n.\u0275\u0275template(0,Jc,1,2,"tn-order-activity-email-event",0),2&s&&n.\u0275\u0275property("ngForOf",m.activityEvents)},directives:[Ke.NgForOf,Qc],styles:[""]}),c})();function Xc(c,g){if(1&c&&n.\u0275\u0275element(0,"tn-order-activity-email-events",6),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("activityEvents",s.activity.details.events)}}function qc(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275element(1,"tn-order-activity-header",1),n.\u0275\u0275template(2,Xc,1,1,"tn-order-activity-email-events",2),n.\u0275\u0275elementStart(3,"button",3,4),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().viewEmail()}),n.\u0275\u0275element(5,"i",5),n.\u0275\u0275text(6," View Email "),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275reference(4),m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("title",m.title)("time",m.activity.createdAt),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==m.activity.details.events?null:m.activity.details.events.length),n.\u0275\u0275advance(3),n.\u0275\u0275property("size",s.iconSize)}}const ed=new Map([[cn.VQ.BOOKING_CONFIRMATION,"Booking Confirmation Email"],[cn.VQ.BOOKING_REMINDER,"Appointment Reminder Email"],[cn.VQ.PAY_TO_UNLOCK_REMINDER,"Payment Reminder Email"],[cn.VQ.APPOINTMENT_RESCHEDULED,"Appointment Rescheduled Email"],[cn.VQ.APPOINTMENT_CANCELED,"Appointment Canceled Email"],[cn.VQ.PROJECT_COMPLETE,"Project Complete Email"],[cn.VQ.FOLLOW_UP,"Follow-Up Email"]]);let td=(()=>{class c{constructor(s){this.dialog=s,this.activity=null}get title(){var s;return this.activity&&null!==(s=ed.get(this.activity.details.emailType))&&void 0!==s?s:""}viewEmail(){if(this.activity)return this.dialog.open(Vc,{panelClass:"app-v2",width:"1027px",maxWidth:"90%",maxHeight:"90dvh",data:{emailId:this.activity.details.emailId}})}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(S.uw))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-activity-email"]],inputs:{activity:"activity"},decls:1,vars:1,consts:[[4,"ngIf"],[3,"title","time"],[3,"activityEvents",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"w-full",3,"click"],["viewEmailButton","btnSize"],["uiIcon","list_alt",3,"size"],[3,"activityEvents"]],template:function(s,m){1&s&&n.\u0275\u0275template(0,qc,7,4,"ng-container",0),2&s&&n.\u0275\u0275property("ngIf",m.activity)},directives:[Ke.NgIf,$c,Yc,dn.s,pn.V,mn.a],styles:[""]}),c})();
1function nd(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275element(1,"tn-order-activity-email",4),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(1),n.\u0275\u0275property("activity",s.activity)}}function id(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",1),n.\u0275\u0275elementContainerStart(1,2),n.\u0275\u0275template(2,nd,2,1,"ng-container",3),n.\u0275\u0275elementContainerEnd(),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngSwitch",s.activity.type),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngSwitchCase",s.activityType.Email)}}let rd=(()=>{class c{constructor(){this.activity=null,this.activityType=cn.T8}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-activity"]],inputs:{activity:"activity"},decls:1,vars:1,consts:[["class","order-activity",4,"ngIf"],[1,"order-activity"],[3,"ngSwitch"],[4,"ngSwitchCase"],[3,"activity"]],template:function(s,m){1&s&&n.\u0275\u0275template(0,id,3,2,"div",0),2&s&&n.\u0275\u0275property("ngIf",m.activity)},directives:[Ke.NgIf,Ke.NgSwitch,Ke.NgSwitchCase,td],styles:[".order-activity[_ngcontent-%COMP%]{border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(246 246 246 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.25rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}"]}),c})();function od(c,g){1&c&&n.\u0275\u0275element(0,"tn-order-activity",3),2&c&&n.\u0275\u0275property("activity",g.$implicit)}function ad(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",1),n.\u0275\u0275template(1,od,1,1,"tn-order-activity",2),n.\u0275\u0275elementEnd()),2&c){const s=g.ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s)}}let sd=(()=>{class c{constructor(s){this.coreRepository=s,this.orderId=null,this.orderIdSubject=new Pt.X(null),this.activities$=this.orderIdSubject.pipe((0,$e.w)(m=>m?this.coreRepository.orderActivities.onSnapshotMany({where:{orderId:m},orderBy:[{createdAt:Ic.As.DESCENDING}]}):(0,ae.of)([])))}ngOnChanges(s){s.orderId&&this.orderIdSubject.next(this.orderId)}ngOnDestroy(){this.orderIdSubject.complete()}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject($.AO))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-order-activities"]],inputs:{orderId:"orderId"},features:[n.\u0275\u0275NgOnChangesFeature],decls:2,vars:3,consts:[["class","order-activities",4,"ngIf"],[1,"order-activities"],[3,"activity",4,"ngFor","ngForOf"],[3,"activity"]],template:function(s,m){1&s&&(n.\u0275\u0275template(0,ad,2,1,"div",0),n.\u0275\u0275pipe(1,"async")),2&s&&n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,1,m.activities$))},directives:[Ke.NgIf,Ke.NgForOf,rd],pipes:[Ke.AsyncPipe],styles:[".order-activities[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}"]}),c})();var Bs=_(53251),ro=_(81125),ld=_(37841),cl=_(70949),js=_(67322),cd=_(98833),Rs=_(86856),dd=_(74533);function Hn(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"form",6),n.\u0275\u0275element(1,"ui-select",7)(2,"ui-autocomplete",8),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275property("formGroup",m.accountingSyncForm),n.\u0275\u0275advance(1),n.\u0275\u0275property("formControlName","syncStatus")("nameKey","label")("items",s.accountingSyncStatuses),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",m.accountingSyncForm.getRawValue().accountingContactId)("options",s.accountingContactOptions)("maxVisibleOptions",32)}}function Rn(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",9),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext().syncToAccounting(C.invoice,C.invoiceCustomer)}),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275property("uiBtnLoading",!!s.isAccountingLoading)("disabled",!s.accountingContactsLoaded||!(null==s.invoice||!s.invoice.parentBatchId)),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate2(" ",m.getAccountingSyncActionLabel(s.invoice)," to ",s.providerDisplayName," ")}}function pd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",10),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext().markAsSynced(C.invoice)}),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275property("uiBtnLoading",!!s.isAccountingLoading)("disabled",!s.accountingContactsLoaded||!(null==s.invoice||!s.invoice.parentBatchId)),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",m.getManualSyncActionLabel(s.invoice)," ")}}function Jn(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",11),n.\u0275\u0275text(1," View accounting invoice "),n.\u0275\u0275elementEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("href",m.accountingInvoiceUrl+s,n.\u0275\u0275sanitizeUrl)}}function Vs(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Hn,3,7,"form",1),n.\u0275\u0275elementStart(2,"div",2),n.\u0275\u0275template(3,Rn,2,4,"button",3),n.\u0275\u0275template(4,pd,2,3,"button",4),n.\u0275\u0275template(5,Jn,2,1,"a",5),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.isSingleSyncMode),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",(s.isSingleSyncMode||m.isAccountingAction)&&!(s.isSingleSyncMode&&null!=s.invoice&&s.invoice.accountingId)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.isSingleSyncMode&&!m.isAccountingAction),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.accountingInvoiceUrl&&(null==s.invoice?null:s.invoice.accountingId))}}let er=class{constructor(g,s,m){this.orderAccountingDetailsService=g,this.orderAccountingDetailsComponentStore=s,this.formBuilder=m,this.accountingInvoiceUrl="",this.accountingSyncForm=this.formBuilder.group({syncStatus:pt.mf.SYNC_AS_APPROVED,accountingContactId:""}),this.vm$=this.orderAccountingDetailsComponentStore.vm$}set invoice(g){this.orderAccountingDetailsComponentStore.setInvoice(g)}ngOnInit(){this.orderAccountingDetailsComponentStore.syncStatus$.pipe((0,e.t)(this)).subscribe(g=>{this.accountingSyncForm.patchValue({syncStatus:g})}),this.orderAccountingDetailsComponentStore.invoiceCustomer$.pipe((0,Pe.U)(g=>{var s;return null!==(s=null==g?void 0:g.accountingId)&&void 0!==s?s:null}),(0,Ze.x)(),(0,e.t)(this)).subscribe(g=>{this.accountingSyncForm.patchValue({accountingContactId:g})})}get isAccountingAction(){return this.accountingSyncForm.getRawValue().syncStatus!==pt.mf.MARK_AS_SYNCED}getAccountingSyncActionLabel(g){return this.orderAccountingDetailsService.getAccountingSyncActionLabel(null!=g?g:void 0)}getManualSyncActionLabel(g){return this.orderAccountingDetailsService.getManualSyncActionLabel(null!=g?g:void 0)}markAsSynced(g){if(g)return this.orderAccountingDetailsService.markAsSynced(g)}syncToAccounting(g,s){if(!g)return;const{syncStatus:m,accountingContactId:C}=this.accountingSyncForm.getRawValue();this.orderAccountingDetailsService.syncToAccounting(g,m,C,null!=s?s:void 0)}};er.\u0275fac=function(g){return new(g||er)(n.\u0275\u0275directiveInject(X.jH),n.\u0275\u0275directiveInject(X.KH),n.\u0275\u0275directiveInject(A.qu))},er.\u0275cmp=n.\u0275\u0275defineComponent({type:er,selectors:[["tn-order-accounting-details"]],inputs:{invoice:"invoice",accountingInvoiceUrl:"accountingInvoiceUrl"},features:[n.\u0275\u0275ProvidersFeature([X.KH])],decls:2,vars:3,consts:[[4,"ngIf"],["class","grid grid-cols-2 items-center gap-4 pt-1 order-form-group",3,"formGroup",4,"ngIf"],[1,"flex","items-center","gap-4"],["type","button","class","w-100 mt-8","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"uiBtnLoading","disabled","click",4,"ngIf"],["class","w-100 mt-8","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"uiBtnLoading","disabled","click",4,"ngIf"],["class","w-100 mt-8","target","_bank","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"href",4,"ngIf"],[1,"grid","grid-cols-2","items-center","gap-4","pt-1","order-form-group",3,"formGroup"],["label","Sync Status",3,"formControlName","nameKey","items"],["label","Accounting contact","placeholder","\u2014","formControlName","accountingContactId",3,"value","o
1ptions","maxVisibleOptions"],["type","button","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"w-100","mt-8",3,"uiBtnLoading","disabled","click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"w-100","mt-8",3,"uiBtnLoading","disabled","click"],["target","_bank","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"w-100","mt-8",3,"href"]],template:function(g,s){1&g&&(n.\u0275\u0275template(0,Vs,6,4,"ng-container",0),n.\u0275\u0275pipe(1,"async")),2&g&&n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,1,s.vm$))},directives:[Ke.NgIf,A._Y,A.JL,A.sg,Bi.H,A.JJ,A.u,Ki.Y,dn.s,pn.V,Ot.T],pipes:[Ke.AsyncPipe],styles:["[_nghost-%COMP%] ui-autocomplete div{border:0!important;border-radius:4px!important}"]}),er=(0,u.gn)([(0,e.c)(),(0,u.w6)("design:paramtypes",[X.jH,X.KH,A.qu])],er);var Ni=_(1297),Ls=_(34467),md=_(64623);function ud(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"h4",16),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",null==s.user||null==s.user.brokerage_obj?null:s.user.brokerage_obj.name," ")}}function gd(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-copy-to-clipboard",17),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("value",s.user.phone)}}function _d(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-copy-to-clipboard",17),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("value",s.user.email)}}function hd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",2)(1,"div",3),n.\u0275\u0275element(2,"ui-avatar",4),n.\u0275\u0275elementStart(3,"div",5),n.\u0275\u0275template(4,ud,2,1,"h4",6),n.\u0275\u0275elementStart(5,"h3",7),n.\u0275\u0275text(6),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(7,"div",8)(8,"div",9)(9,"h4",10),n.\u0275\u0275text(10),n.\u0275\u0275pipe(11,"phone"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(12,gd,1,1,"ui-copy-to-clipboard",11),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(13,"div",12)(14,"h4",13),n.\u0275\u0275text(15),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(16,_d,1,1,"ui-copy-to-clipboard",11),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275elementStart(17,"div",14)(18,"button",15),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().edit.emit()}),n.\u0275\u0275text(19," Edit "),n.\u0275\u0275elementEnd()()()()}if(2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(2),n.\u0275\u0275property("src",s.user.photoURL)("name",s.user.displayName)("email",s.user.email),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",null==s.user||null==s.user.brokerage_obj?null:s.user.brokerage_obj.name),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(null==s.user?null:s.user.displayName),n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(11,9,(null==s.user?null:s.user.phone)||"")," "),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",null==s.user?null:s.user.phone),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1(" ",null==s.user?null:s.user.email," "),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.user?null:s.user.email)}}function fd(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-copy-to-clipboard",17),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("value",s.user.phone)}}function vd(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-copy-to-clipboard",17),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("value",s.user.email)}}function Cd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",18),n.\u0275\u0275element(1,"ui-avatar",19),n.\u0275\u0275elementStart(2,"div",20)(3,"h4",21),n.\u0275\u0275text(4),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"h3",22),n.\u0275\u0275text(6),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(7,"p",23),n.\u0275\u0275text(8),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(9,"div",24)(10,"h4",22),n.\u0275\u0275text(11),n.\u0275\u0275pipe(12,"phone"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(13,fd,1,1,"ui-copy-to-cl
1ipboard",11),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(14,"div",24)(15,"h4",22),n.\u0275\u0275text(16),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(17,vd,1,1,"ui-copy-to-clipboard",11),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(18,"div",25)(19,"div",26),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().edit.emit()}),n.\u0275\u0275element(20,"i",27),n.\u0275\u0275elementEnd()()()}if(2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("src",s.user.photoURL)("name",s.user.displayName)("email",s.user.email),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1(" ",null==s.user||null==s.user.brokerage_obj?null:s.user.brokerage_obj.name," "),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(null==s.user?null:s.user.displayName),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate(null==s.user?null:s.user.title),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(12,10,(null==s.user?null:s.user.phone)||"")," "),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",null==s.user?null:s.user.phone),n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1(" ",null==s.user?null:s.user.email," "),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.user?null:s.user.email)}}let bd=(()=>{class c{constructor(){this.newView=!1,this.edit=new n.EventEmitter}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["ui-user-card"]],inputs:{user:"user",newView:"newView"},outputs:{edit:"edit"},decls:2,vars:2,consts:[["class","user-card",4,"ngIf"],["class","user-container",4,"ngIf"],[1,"user-card"],[1,"user"],["size","medium","shape","square",3,"src","name","email"],[1,"left","user-info"],["class","user-info__brokerage-name",4,"ngIf"],[1,"user-info__name"],[1,"user-info__contacts"],[1,"user-info__phone"],[1,"user-info__phone-title"],["class","ml-min",3,"value",4,"ngIf"],[1,"user-info__email"],[1,"user-info__email-title"],[1,"right"],["uiBtnSize","x-small","uiBtnTheme","main","themeMode","secondary","uiThrottleClick","",1,"capitalize",3,"click"],[1,"user-info__brokerage-name"],[1,"ml-min",3,"value"],[1,"user-container"],["size","x-large","shape","square",3,"src","name","email"],[1,"pl-16","truncate","pr-min"],[1,"text-gray-50","mb-min","truncate","hidden","sm:inline-block"],[1,"truncate"],[1,"text-gray-50","mb-8","truncate"],[1,"flex"],[1,"card-actions"],[1,"icon-btn","edit-icon-btn",3,"click"],["uiIcon","edit",1,"mr-8"]],template:function(s,m){1&s&&(n.\u0275\u0275template(0,hd,20,11,"div",0),n.\u0275\u0275template(1,Cd,21,12,"div",1)),2&s&&(n.\u0275\u0275property("ngIf",m.newView),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!m.newView))},directives:[Ke.NgIf,Qo.A,Ni.F,dn.s,pn.V,ct.j,mn.a],pipes:[md.E],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] .user-container[_ngcontent-%COMP%]{height:112px}.user-container[_ngcontent-%COMP%]{position:relative;display:flex;height:100%;align-items:center;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:.75rem;padding-right:.75rem}@media (min-width: 640px){.user-container[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem}}@media (min-width: 648px){[_nghost-%COMP%] .user-container[_ngcontent-%COMP%]{height:132px}}.card-actions[_ngcontent-%COMP%]{position:absolute;top:1rem;right:1rem;display:flex;gap:.75rem}.card-actions[_ngcontent-%COMP%] .icon-btn[_ngcontent-%COMP%]{display:flex;height:2rem;width:2rem;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;font-weight:700;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
1--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.card-actions[_ngcontent-%COMP%] .icon-btn[_ngcontent-%COMP%]:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));color:var(--brand-50, #228BE6)}.user-card[_ngcontent-%COMP%]{border-radius:8px;padding:.75rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));display:flex}.user-card[_ngcontent-%COMP%] .user[_ngcontent-%COMP%]{display:grid;width:100%;align-items:center;grid-gap:.75rem;gap:.75rem;grid-template-columns:40px 1fr auto}.user-card[_ngcontent-%COMP%] .user-info__name[_ngcontent-%COMP%]{margin-bottom:.25rem;font-size:.875rem;font-weight:600;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.user-card[_ngcontent-%COMP%] .user-info__contacts[_ngcontent-%COMP%]{display:flex;flex-direction:column}.user-card[_ngcontent-%COMP%] .user-info__phone[_ngcontent-%COMP%], .user-card[_ngcontent-%COMP%] .user-info__email[_ngcontent-%COMP%]{display:flex}.user-card[_ngcontent-%COMP%] .user-info__phone-title[_ngcontent-%COMP%], .user-card[_ngcontent-%COMP%] .user-info__email-title[_ngcontent-%COMP%]{font-size:.75rem;font-weight:400}.right[_ngcontent-%COMP%]{display:flex;height:100%;align-items:flex-start}"],changeDetection:0}),c})();function dl(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"ui-user-card",7),n.\u0275\u0275listener("edit",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(2);return C.onUserEdit(C.user)}),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("user",s.user)("newView",!0)}}function pl(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",2)(1,"div",3)(2,"ui-user-autocomplete",4),n.\u0275\u0275listener("search",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().onSearchUsers(C)})("selectUser",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().onSelectUser(C)}),n.\u0275\u0275pipe(3,"translate"),n.\u0275\u0275pipe(4,"translate"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(5,"button",5),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().onApply()}),n.\u0275\u0275text(6," Apply "),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(7,dl,1,2,"ui-user-card",6),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(2),n.\u0275\u0275property("users",s.filteredUsers)("emitOnEmptySearch",!1)("debounceTime",200)("ignoreResolvers",!0)("ctaText",s.ctaText)("selectedUser",s.selectedUser)("placeholder",n.\u0275\u0275pipeBind1(3,9,"SEARCH_CUSTOMER"))("focusPlaceholder",n.\u0275\u0275pipeBind1(4,11,"ENTER_NAME")),n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",s.user)}}function yd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"ui-user-card",14),n.\u0275\u0275listener("edit",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(2);return C.onUserEdit(C.user)}),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("user",s.user)}}function xd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",8)(1,"div",9)(2,"span"),n.\u0275\u0275text(3),n.\u0275\u0275pipe(4,"translate"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(5,"div",10)(6,"ui-user-autocomplete",11),n.\u0275\u0275listener("search",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().onSearchUsers(C)})("selectUser",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().onSelectUser(C)}),n.\u0275\u0275pipe(7,"translate"),n.\u0275\u0275pipe(8,"translate"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(9,"button",12),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().onApply()}),n.\u0275\u0275text(10),n.\u0275\u0275pipe(11,"translate"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(12,yd,1,1,"ui-user-card",13),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext();n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(4,11,"CUSTOMER")),n.\u0275\u0275advance(3),n.\u0275\u0275property("users",s.filteredUsers)("emitOnEmptySearch",!1)("debounceTime",200)("ignoreResolvers",!0)("ctaText",s.ctaText)("selectedUser",s.selectedUser)("placeholder",n.\u0275\u0275pipeBind1(7,13,"SEARCH_CUSTOMER"))("focusPlaceholder",n.\u0275\u0275pipeBind1(8,15,"ENTER_NAME")),n.\u0275\u0275advance(4),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(11,17,"APPLY")," "),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.user)}}let Sd=(()=>{class c{constructor(s,m,C){this.algoliaUsersSearchService=s,this.router=m,this.cdr=C,this.user=null,this.newView=!1,this.showApplyButton=!0,this.showSearchIcon=!0,this.size="normal",this.ctaText="Start typing to search",this.placeholder=null,this.userSelect=new n.EventEmitter,this.filteredUsers=[],this.selectedUser=null}onSearchUsers(s){this.algoliaUsersSearchService.searchUsers(s).then(m=>{this.filteredUsers=m.hits.map(C=>{var M;return Object.assign(Object.assign({},C),{uid:null!==(M=C.objectID)&&void 0!==M?M:""})}),this.cdr.detectChanges()})}onSelectUser(s){this.selectedUser=s}onUserEdit(s){const m=this.router.serializeUrl(this.router.createUrlTree(["crm","profile",s.uid,"personal"]));window.open(m,"_blank")}onApply(){return(0,u.mG)(this,void 0,void 0,function*(){!this.selectedUser||(this.userSelect.emit(this.selectedUser),this.selectedUser=null)})}}return c.\u0275fac=function(s){return new(s||c)(n.\u0275\u0275directiveInject(k.o3K),n.\u0275\u0275directiveInject(Gn.F0),n.\u0275\u0275directiveInject(n.ChangeDetectorRef))},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["ui-user-select"]],inputs:{user:"user",newView:"newView",showApplyButton:"showApplyButton",showSearchIcon:"showSearchIcon",size:"size",ctaText:"ctaText",placeholder:"placeholder"},outputs:{userSelect:"userSelect"}
1,decls:2,vars:2,consts:[["class","new-view",4,"ngIf"],["class","rounded-lg bg-gray-5 p-min",4,"ngIf"],[1,"new-view"],[1,"autocomplete-wrapper","grid","mb-8"],[1,"flex","flex-1",3,"users","emitOnEmptySearch","debounceTime","ignoreResolvers","ctaText","selectedUser","placeholder","focusPlaceholder","search","selectUser"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","uiThrottleClick","",1,"search-button","capitalize",3,"click"],[3,"user","newView","edit",4,"ngIf"],[3,"user","newView","edit"],[1,"rounded-lg","bg-gray-5","p-min"],[1,"flex","py-8","px-12","body","text-gray-50"],[1,"flex","mb-8"],[1,"flex","flex-1","mr-2",3,"users","emitOnEmptySearch","debounceTime","ignoreResolvers","ctaText","selectedUser","placeholder","focusPlaceholder","search","selectUser"],["uiBtnSize","medium","uiBtnTheme","main",1,"whitespace-nowrap",3,"click"],["class","mt-min",3,"user","edit",4,"ngIf"],[1,"mt-min",3,"user","edit"]],template:function(s,m){1&s&&(n.\u0275\u0275template(0,pl,8,13,"div",0),n.\u0275\u0275template(1,xd,13,19,"div",1)),2&s&&(n.\u0275\u0275property("ngIf",m.newView),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!m.newView))},directives:[Ke.NgIf,Yo.r,dn.s,pn.V,ct.j,bd],pipes:[B.X$],styles:[".autocomplete-wrapper[_ngcontent-%COMP%]{grid-template-columns:1fr 100px;gap:.5rem}.search-button[_ngcontent-%COMP%]{height:auto!important;width:100%}"]}),c})();var Td=_(27580),wd=_(2591),kd=_(63014),Ed=_(32407),ml=_(61432),Od=_(6552),ul=_(61715),gl=_(49207),_l=_(72014);function Id(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",12),n.\u0275\u0275listener("click",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext().openLinksDialog(C,M.orderId,M.deliveryLinks)}),n.\u0275\u0275text(1," Edit links "),n.\u0275\u0275elementEnd()}}function Dd(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",17),2&c){const s=n.\u0275\u0275nextContext(2).ngIf;n.\u0275\u0275propertyInterpolate1("url","/order-dashboard/",s.orderId,"/delivery")}}function Md(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",18),2&c){const s=n.\u0275\u0275nextContext(2).ngIf;n.\u0275\u0275property("url",s.rawFolderLink)}}function Pd(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",13),n.\u0275\u0275template(1,Dd,1,1,"ui-open-in-new-tab",14),n.\u0275\u0275element(2,"ui-open-in-new-tab",15),n.\u0275\u0275template(3,Md,1,1,"ui-open-in-new-tab",16),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext();let C;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.syncInProgress&&(null!==(C=null==s.deliveryLinks?null:s.deliveryLinks.length)&&void 0!==C?C:0)>0),n.\u0275\u0275advance(1),n.\u0275\u0275property("url",m.formControl.value),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.hasValidLink&&s.rawFolderLink)}}function Fd(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",19),n.\u0275\u0275text(1),n.\u0275\u0275pipe(2,"date"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" Last success sync date: ",n.\u0275\u0275pipeBind2(2,1,s.lastDeliverySyncDate,"short")," ")}}function Ad(c,g){1&c&&n.\u0275\u0275element(0,"img",22)}function Bd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",20),n.\u0275\u0275listener("throttleClick",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext().createDeliveryFolders(C.orderId)}),n.\u0275\u0275template(1,Ad,1,0,"img",21),n.\u0275\u0275text(2," Create Folders Structure "),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275property("uiBtnLoading",!!s.foldersCreationInProgress),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!s.foldersCreationInProgress)}}function jd(c,g){1&c&&n.\u0275\u0275element(0,"img",22)}function Rd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",23,24),n.\u0275\u0275listener("throttleClick",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext().createDeliveryFolders(C.orderId)}),n.\u0275\u0275template(2,jd,1,0,"img",21),n.\u0275\u0275text(3," Create Folders Structure "),n.\u0275\u0275element(4,"icon",25),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275property("disabled",m.syncInProgress)("uiBtnLoading",!!m.foldersCreationInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",!m.foldersCreationInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Vd(c,g){if(1&c&&n.\u0275\u0275element(0,"icon",30),2&c){n.\u0275\u0275nextContext();const s=n.\u0275\u0275reference(1);n.\u0275\u0275property("size",s.iconSize)}}function tr(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",26,27),n.\u0275\u0275listener("throttleClick",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext().onSync(C.orderId,C.property)}),n.\u0275\u0275element(2,"i",28),n.\u0275\u0275text(3," Sync Delivery Files "),n.\u0275\u0275template(4,Vd,1,1,"icon",29),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275property("uiBtnLoading",m.syncInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",null==m.deliveryLinks?null:m.deliveryLinks.length)}}function $i(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div")(1,"div",31)(2,"span",32),n.\u0275\u0275text(3,"Warning:"),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(4," RAW folders not created. "),n.\u0275\u0275elementEnd()())}function hl(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",31)(1,"span",34),n.\u0275\u0275text(2,"Error:"),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()),2&c){const s=g.$implicit;n.\u0275\u0275advance(3),n.\u0275\u0275textInterpolate1(" ",s," ")}}function fl(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div"),n.\u0275\u0275template(1,hl,4,1,"div",33),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s.deliverySyncErrors)}}function Ld(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div")(1,"div",31)(2,"span",34),n.\u0275\u0275text(3,"Error:"),n.\u0275\u0275elementEnd(),n.\u0275\u0275text(4," Delivery files sync failed. "),n.\u0275\u0275elementEnd()())}function Nd(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"form")(1,"ui-form-group",1)(2,"h4",2),n.\u0275\u0275text(3,"Order Folder"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(4,"ui-form-row",3),n.\u0275\u0275template(5,Id,2,0,"div",4),n.\u0275\u0275elementStart(6,"ui-input",5),n.\u0275\u0275template(7,Pd,4,3,"div",6),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(8,Fd,3,4,"div",7),n.\u0275\u0275template(9,Bd,3,2,"button",8),n.\u0275\u0275elementStart(10,"div",9),n.\u0275\u0275template(11,Rd,5,4,"button",10),n.\u0275\u0275template(12,tr,5,3,"button",11),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(13,$i,5,0,"div",0),n.\u0275\u0275template(14,fl,2,1,"div",0),n.\u0275\u0275template(15,Ld,5,0,"div",0),n.\u0275\u0275elementEnd()()()),2&c){const s=g.ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",m.hasValidLink&&!s.syncInProgress),n.\u0275\u0275advance(1),n.\u0275\u0275property("formControl",m.formControl)("label","Dropbox link"),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.formControl.value&&m.formControl.valid),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.lastDeliverySyncDate),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.allowFoldersCreation&&!m.hasValidLink),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",m.hasValidLink&&!s.rawFolderLink&&s.allowFoldersCreation&&s.dropboxRawFoldersEnabled),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.hasValidLink&&!s.isNativeOrder),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.hasValidLink&&!s.rawFolderLink&&s.allowFoldersCreation&&s.dropboxRawFoldersEnabled),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.deliverySyncErrors.length),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.isSyncFailed&&!s.deliverySyncErrors.length)}}let nr=class{constructor(g,s,m,C,M,oe,we,Ge,tt,dt){this.authService=g,this.taskMessagesRepositoryService=s,this.deliveryLinksDialogService=m,this.orderDeliveryRepository=C,this.spwContentSyncChecklistService=M,this.dropbox
1IntegrationRepository=oe,this.ordersRepositoryService=we,this.bookingConfigDocumentService=Ge,this.propertiesRepositoryService=tt,this.orderMetadataRepositoryService=dt,this.appV2=!0,this.syncDeliveryToSpw=new n.EventEmitter,this.isSpwEnabled=!1,this._orderId=new Pt.X(""),this.orderId$=this._orderId.asObservable(),this.order$=this.orderId$.pipe((0,Ze.x)(),(0,$e.w)(Ve=>Ve?this.ordersRepositoryService.getById$(Ve):(0,ae.of)(null)),(0,Ye.d)(1)),this.property$=this.orderId$.pipe((0,$e.w)(Ve=>Ve?this.propertiesRepositoryService.getById$(Ve):(0,ae.of)(null))),this.deliveryLinks$=this.order$.pipe((0,Pe.U)(Ve=>(null==Ve?void 0:Ve.deliverablesLinks)||[])),this.orderDeliveryLink$=this.order$.pipe((0,Pe.U)(Ve=>(null==Ve?void 0:Ve.deliverable_link)||"")),this.rawFolderLink$=this.order$.pipe((0,Pe.U)(Ve=>(null==Ve?void 0:Ve.rawFolderLink)||"")),this.isNativeOrder$=this.order$.pipe((0,Pe.U)(Ve=>!!(null==Ve?void 0:Ve.isNativeUpload))),this.syncData$=this.order$.pipe((0,$e.w)(Ve=>Ve?this.orderMetadataRepositoryService.getById$(Ve.id).pipe((0,Pe.U)(it=>{if(!it)return null;const bt=(null==it?void 0:it.lastDeliverySyncDate)||(null==Ve?void 0:Ve.lastDeliverySyncDate);return Object.assign(Object.assign({},it),{lastDeliverySyncDate:bt?1e3*bt:null})})):(0,ae.of)(null))),this.bookingSettings$=this.bookingConfigDocumentService.get$(),this.allowFoldersCreation$=this.bookingSettings$.pipe((0,Pe.U)(Ve=>!!(null==Ve?void 0:Ve.dropboxDeliveryFolderPath)),(0,Ze.x)()),this.dropboxRawFoldersEnabled$=this.bookingSettings$.pipe((0,Pe.U)(Ve=>!!(null==Ve?void 0:Ve.dropboxRawFoldersEnabled)),(0,Ze.x)()),this.syncStatus=new Pt.X(null),this.isSyncTimedOut$=(0,ce.aj)([this.syncStatus,this.syncData$,(0,ul.F)(1e3)]).pipe((0,Pe.U)(([Ve,it])=>{if("failed"===Ve||"success"===Ve||!(null==it?void 0:it.startDeliverySyncDate))return!1;const $t=O.Z.firestore.Timestamp.now().seconds-it.startDeliverySyncDate.seconds>300;return $t&&"pending"===it.deliverySyncStatus&&this.orderMetadataRepositoryService.update(it.id,{deliverySyncStatus:"failed"}),$t}),(0,Ze.x)()),this.isCreationTimedOut$=(0,ul.F)(6e4).pipe((0,Re.M)(this.syncData$),(0,je.b)(([Ve,it])=>{!(null==it?void 0:it.startDeliveryFoldersCreateDate)||!(O.Z.firestore.Timestamp.now().seconds-it.startDeliveryFoldersCreateDate.seconds>300)||it.triggerFolderCreation&&this.orderMetadataRepositoryService.update(it.id,{triggerFolderCreation:!1})})),this.isSyncFailed$=(0,ce.aj)([this.syncStatus,this.isSyncTimedOut$]).pipe((0,Pe.U)(([Ve,it])=>"failed"===Ve||it),(0,Ze.x)()),this.syncInProgress$=(0,ce.aj)([this.syncStatus,this.isSyncTimedOut$]).pipe((0,Pe.U)(([Ve,it])=>("in_progress"===Ve||"pending"===Ve)&&!it),(0,Ze.x)()),this.syncSuccess$=this.syncStatus.pipe((0,Pe.U)(Ve=>"success"===Ve)),this.foldersCreationInProgress$=this._orderId.pipe((0,$e.w)(Ve=>this.orderMetadataRepositoryService.getById$(Ve)),(0,Pe.U)(Ve=>(null==Ve?void 0:Ve.triggerFolderCreation)||(null==Ve?void 0:Ve.triggerFolderMove))),this.formControl=new A.NI("",{updateOn:"blur"}),this.vm$=(0,ce.aj)([this.orderId$,this.property$,this.deliveryLinks$,this.rawFolderLink$,this.isNativeOrder$,this.allowFoldersCreation$,this.dropboxRawFoldersEnabled$,this.syncInProgress$,this.syncSuccess$,this.isSyncFailed$,this.syncData$,this.foldersCreationInProgress$]).pipe((0,Pe.U)(Ve=>{var it,bt;const[$t,vn,Mn,Pn,ai,si,ye,Xe,vt,xt,et,rn]=Ve;return{orderId:$t,property:vn,deliveryLinks:Mn,rawFolderLink:Pn,isNativeOrder:ai,allowFoldersCreation:si,dropboxRawFoldersEnabled:ye,syncInProgress:Xe,syncSuccess:vt,isSyncFailed:xt,lastDeliverySyncDate:null!==(it=null==et?void 0:et.lastDeliverySyncDate)&&void 0!==it?it:null,deliverySyncErrors:null!==(bt=null==et?void 0:et.deliverySyncErrors)&&void 0!==bt?bt:[],foldersCreationInProgress:rn}}))}set orderId(g){this._orderId.next(null!=g?g:"")}get hasValidLink(){return this.formControl.valid&&(this.formControl.value||"").trim()}ngOnInit(){this.orderId$.pipe((0,$e.w)(g=>this.orderDeliveryRepository.watchDeliverySyncStatus(g)),(0,Ze.x)(),(0,e.t)(this)).subscribe(g=>{this.syncStatus.next(g)}),this.allowFoldersCreation$.pipe((0,e.t)(this)).subscribe(g=>{this.formControl.setValidators([Tt.$9f.url])}),this.isCreationTimedOut$.pipe((0,e.t)(this)).subscribe(),this.orderDeliveryLink$.pipe((0,e.t)(this)).subscribe(g=>{this.formControl.setValue(g,{emitEvent:!1}),this.formControl.markAsUntouched()}),this.formControl.valueChanges.pipe((0,be.h)(()=>this.formControl.valid),(0,Pe.U)(g=>(g||"").trim()),(0,e.t)(this)).subscribe(g=>{(0,ce.aj)([this.authService.user$.pipe((0,Te.q)(1)),this.order$.pipe((0,Te.q)(1))]).subscribe(([s,m])=>{this.ordersRepositoryService.update(this._orderId.value,{deliverable_link:g}).then(()=>{!m||this.taskMessagesRepositoryService.create({taskId:m.communication.general.taskRef.id},{type:"event",text:g?"updated delivery folder link":"deleted delivery folder link",user:null==s?void 0:s.uid,ts:Date.now()})})})})}onSync(g,s){this.isSpwEnabled&&s&&(0,jt.hO)(s)?this.spwContentSyncChecklistService.openDialog(Object.assign({},pt.ri)).pipe((0,be.h)(m=>!!m)).subscribe(m=>{this.syncDeliveryContent(g,m)}):this.syncDeliveryContent(g)}syncDeliveryContent(g,s=null){this.syncStatus.next("pending"),this.dropbox
1IntegrationRepository.syncDeliveryContent(g,s)}createDeliveryFolders(g){this.foldersCreationInProgress$.pipe((0,Te.q)(1),(0,be.h)(s=>!s)).subscribe(()=>{this.dropboxIntegrationRepository.createDeliveryFolders(g)})}openLinksDialog(g,s,m){var C;g.stopPropagation(),g.preventDefault(),this.deliveryLinksDialogService.openDialog({isSpwEnabled:null!==(C=this.isSpwEnabled)&&void 0!==C&&C,orderId:s,orderFolder:this.formControl.value,links:m||[]}).pipe((0,be.h)(Boolean)).subscribe(M=>{!M.links||this.ordersRepositoryService.update(s,{deliverablesLinks:M.links}).then(()=>this.syncDeliveryToSpw.emit(s))})}};function $d(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",12,13),n.\u0275\u0275element(2,"i",14),n.\u0275\u0275text(3," Admin panel "),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(2);n.\u0275\u0275property("routerLink",m.dashboardUrl),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function zd(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div")(1,"div",4)(2,"h4",5),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(4,"div",6),n.\u0275\u0275text(5),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(6,"div",7),n.\u0275\u0275template(7,$d,4,2,"a",8),n.\u0275\u0275elementStart(8,"button",9,10),n.\u0275\u0275text(10," Enabled "),n.\u0275\u0275element(11,"i",11),n.\u0275\u0275elementEnd()()()),2&c){const s=n.\u0275\u0275reference(9),m=n.\u0275\u0275nextContext(),C=n.\u0275\u0275reference(3);n.\u0275\u0275advance(2),n.\u0275\u0275property("title",m.address),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",m.address," "),n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate1(" ",m.isPublished?"Published":"Not published"," "),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",null==m.property?null:m.property.tonomoExternalId),n.\u0275\u0275advance(1),n.\u0275\u0275property("matMenuTriggerFor",C),n.\u0275\u0275advance(3),n.\u0275\u0275property("size",s.iconSize)}}function Ud(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div")(1,"button",15,16),n.\u0275\u0275text(3," Disabled "),n.\u0275\u0275element(4,"i",11),n.\u0275\u0275elementEnd()()),2&c){const s=n.\u0275\u0275reference(2);n.\u0275\u0275nextContext();const m=n.\u0275\u0275reference(3);n.\u0275\u0275advance(1),n.\u0275\u0275property("matMenuTriggerFor",m),n.\u0275\u0275advance(3),n.\u0275\u0275property("size",s.iconSize)}}nr.\u0275fac=function(g){return new(g||nr)(n.\u0275\u0275directiveInject(k.e80),n.\u0275\u0275directiveInject(k.XaN),n.\u0275\u0275directiveInject(gl.x),n.\u0275\u0275directiveInject(X.y2),n.\u0275\u0275directiveInject(_l.U),n.\u0275\u0275directiveInject(k.G0i),n.\u0275\u0275directiveInject(k.HVf),n.\u0275\u0275directiveInject(k.KVG),n.\u0275\u0275directiveInject(X.D7),n.\u0275\u0275directiveInject(k.ZlF))},nr.\u0275cmp=n.\u0275\u0275defineComponent({type:nr,selectors:[["tn-order-deliverables-links-form"]],hostVars:2,hostBindings:function(g,s){2&g&&n.\u0275\u0275classProp("app-v2",s.appV2)},inputs:{isSpwEnabled:"isSpwEnabled",orderId:"orderId"},outputs:{syncDeliveryToSpw:"syncDeliveryToSpw"},decls:2,vars:3,consts:[[4,"ngIf"],[1,"mb-min"],[1,"mb-8","ml-8"],[1,"relative"],["class","edit-action-link",3,"click",4,"ngIf"],["inputClass","pr-80 truncate",3,"formControl","label"],["class","flex gap-4 absolute right-min bottom-min rounded bg-white",4,"ngIf"],["class","text-11 text-gray-50 h-16 leading-3 pl-8",4,"ngIf"],["class","w-full","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","uiThrottleClick","",3,"uiBtnLoading","throttleClick",4,"ngIf"],[1,"flex","gap-8"],["class","flex-auto","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","uiThrottleClick","",3,"disabled","uiBtnLoading","throttleClick",4,"ngIf"],["class","flex-auto","uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","uiThrottleClick","",3,"uiBtnLoading","throttleClick",4,"ngIf"],[1,"edit-action-link",3,"click"],[1,"flex","gap-4","absolute","right-min","bottom-min","rounded","bg-white"],["hint","Delivery",3,"url",4,"ngIf"],["hint","Final","icon","cloud",3,"url"],["hint","Raw","icon","photo_library",3,"url",4,"ngIf"],["hint","Delivery",3,"url"],["hint","Raw","icon","photo_library",3,"url"],[1,"text-11","text-gray-50","h-16","leading-3","pl-8"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","uiThrottleClick","",1,"w-full",3,"uiBtnLoading","throttleClick"],["alt","Dropbox","height","24","src","/assets/images/dropbox/dropbox-icon.svg","class","w-16",4,"ngIf"],["alt","Dropbox","height","24","src","/assets/images/dropbox/dropbox-icon.svg",1,"w-16"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","uiThrottleClick","",1,"flex-auto",3,"disabled","uiBtnLoading","throttleClick"],["createRawFolders","btnSize"],["uiIcon","info","matTooltipPosition","above","matTooltip","To successfully create RAW folders, make sure that the order has an event with assigned photographer.",1,"text-gray-30",3,"size"],["uiBtnSize","small","uiBtnTheme","main","themeMode","secondary","uiThrottleClick","",1,"flex-auto",3,"uiBtnLoading","throttleClick"],["syncDeliveryFiles","btnSize"],["uiIcon","refresh",3,"size"],["class","text-gray-30","uiIcon","info","matTooltipPosition","above","matTooltip","Synchronization will override previously created links",3,"size",4,"ngIf"],["uiIcon","info","matTooltipPosition","above","matTooltip","Synchronization will override previously created links",1,"text-gray-30",3,"size"],[1,"text-12","px-8","py-min"],[1,"text-yellow-50","font-semibold"],["class","text-12 px-8 py-min",4,"ngFor","ngForOf"],[1,"text-red-50","font-semibold"]],template:function(g,s){1&g&&(n.\u0275\u0275template(0,Nd,16,11,"form",0),n.\u0275\u0275pipe(1,"async")),2&g&&n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,1,s.vm$))},directives:[Ke.NgIf,A._Y,A.JL,ml.H,cl.L,Qi.a,A.JJ,A.oH,v.b,dn.s,pn.V,ct.j,Ot.T,mn.a,Dt.gM,Ke.NgForOf],pipes:[Ke.AsyncPipe,Ke.DatePipe],styles:["[_nghost-%COMP%] ui-input label{padding-right:48px}.actions[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:14px!important}i.animate-spin[_ngcontent-%COMP%]{color:#228be6!important}.edit-action-link[_ngcontent-%COMP%]{position:absolute;right:.5rem;z-index:10;cursor:pointer;font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.edit-action-link[_ngcontent-%COMP%]:hover{color:var(--brand-60, #1C7ED6)}"]}),nr=(0,u.gn)([(0,e.c)(),(0,u.w6)("design:paramtypes",[k.e80,k.XaN,gl.x,X.y2,_l.U,k.G0i,k.HVf,k.KVG,X.D7,k.ZlF])],nr);let Hd=(()=>{class c{constructor(){this.property=null,this.isEnabled=!1,this.enableSpw=new n.EventEmitter,this.disableSpw=new n.EventEmitter,this.appV2=!0}get dashboardUrl(){var s,m;const C=(null===(m=null===(s=this.property)||void 0===s?void 0:s.propertyAddress)||void 0===m?void 0:m.formattedAddress)?"overview":"details";return this.property?`/admin/property-dashboard/${this.property.tonomoExternalId}/${C}`:""}get isPublished(){var s;return"published"===(null===(s=this.property)||void 0===s?void 0:s.publishedStatus)}get address(){var s,m,C,M;return(null===(m=null===(s=this.property)||void 0===s?void 0:s.propertyAddress)||void 0===m?void 0:m.street)||(null===(M=null===(C=this.property)||void 0===C?void 0:C.propertyAddress)||void 0===M?void 0:M.formattedAddress)||""}}return c.\u0275fac=function(s){return new(s||c)},c.\u0275cmp=n.\u0275\u0275defineComponent({type:c,selectors:[["tn-property-website-widget"]],hostVars:2,hostBindings:function(s,m){2&s&&n.\u0275\u0275classProp("app-v2",m.appV2)},inputs:{property:"property",isEnabled:"isEnabled"},outputs:{enableSpw:"enableSpw",disableSpw:"disableSpw"},decls:8,vars:4,consts:[[4,"ngIf"],["xPosition","before",1,"app-v2"],["accessMenu","matMenu"],["mat-menu-item","",3,"disabled","click"],[1,"flex","items-center","mb-12"],[1,"truncate",3,"title"],[1,"text-12","font-medium","text-gray-50","ml-auto","pl-16","pr-min","whitespace-nowrap"],[1,"flex","space-x-4"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","class","flex-auto cursor-pointer",3,"routerLink",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","trailingIcon","",3,"matMenuTriggerFor"],["enabledMenu","btnSize"],["uiIcon","unfold_more",3,"size"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"flex-auto","cursor-pointer",3,"routerLink"],["adminPanel","btnSize"],["uiIcon","open_in_new",3,"size"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","trailingIcon","",1,"w-100",3,"matMenuTriggerFor"],["disabledMenu","btnSize"]],template:function(s,m){1&s&&(n.\u0275\u0275template(0,zd,12,6,"div",0),n.\u0275\u0275template(1,Ud,5,2,"div",0),n.\u0275\u0275elementStart(2,"mat-menu",1,2)(4,"button",3),n.\u0275\u0275listener("click",function(){return m.disableSpw.emit()}),n.\u0275\u0275text(5,"Disabled"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"button",3),n.\u0275\u0275listener("click",function(){return m.enableSpw.emit()}),n.\u0275\u0275text(7,"Enabled"),n.\u0275\u0275elementEnd()()),2&s&&(n.\u0275\u0275property("ngIf",m.isEnabled),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!m.isEnabled),n.\u0275\u0275advance(3),n.\u0275\u0275property("disabled",!m.isEnabled),n.\u0275\u0275advance(2),n.\u0275\u0275property("disabled",m.isEnabled))},directives:[Ke.NgIf,Gn.yS,dn.s,pn.V,mn.a,qt.p6,qt.VK,qt.OP],styles:[""],changeDetection:0}),c})();var Wd=_(24128),Gd=_(89272);function Kd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"ui-section-title",28),n.\u0275\u0275text(2,"Invoices & payments"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"tn-section-wrapper")(4,"tn-invoices",29),n.\u0275\u0275listener("paymentStatusUpdated",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(5).updatePaymentStatus(C)}),n.\u0275\u0275pipe(5,"async"),n.\u0275\u0275pipe(6,"async"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext(4).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(4),n.\u0275\u0275property("order",s.order)("isAccountingConnected",n.\u0275\u0275pipeBind1(5,3,m.isAccountingConnected$))("accountingInvoiceUrl",n.\u0275\u0275pipeBind1(6,5,m.accountingInvoiceUrl$))}}function Zd(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-section-wrapper",31),n.\u0275\u0275element(1,"tn-cubicasa-orders-card",32),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("orderId",s.cubicasaOrderId)("status",s.status)("services",s.services)("viewUrl",s.viewUrl)("error",s.error)}}function Qd(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Zd,2,5,"tn-section-wrapper",30),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.cubicasaOrderId||s.error)}}function vl(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Qd,2,1,"ng-container",0),n.\u0275\u0275pipe(2,"async"),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(5);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(2,1,s.cubicasaView$))}}function Cl(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-section-wrapper",31),n.\u0275\u0275element(1,"tn-esoft-orders-card",33),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("orders",s.orders)("newOrderUrl",s.newOrderUrl)("error",s.error)}}function Ns(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Cl,2,3,"tn-section-wrapper",30),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.orders.length||s.error)}}function bl(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Ns,2,1,"ng-container",0),n.\u0275\u0275pipe(2,"async"),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(5);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(2,1,s.esoftView$))}}function Ei(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-energy-label-indicator",34),2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275property("certificate",null==s.order?null:s.order.energyEfficiencyCertificate)}}function yl(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-section-wrapper"),n.\u0275\u0275element(1,"tn-schedule-preferences",35),n.\u0275\u0275pipe(2,"async"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(4).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("orderId",s.order.id)("orderDate",n.\u0275\u0275pipeBind1(2,4,m.orderDate$))("scheduledTime",s.order.scheduled_time)("date",m.orderForm.controls.date.value)}}function xl(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"tn-section-wrapper"),n.\u0275\u0275element(1,"tn-broker-preferences",36),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("notes",s.brokerageNotes)}}function Jd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"tn-section-wrapper")(1,"tn-property-notes",37),n.\u0275\u0275listener("saved",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(5).updateOrderForm(C)}),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext(5);n.\u0275\u0275advance(1),n.\u0275\u0275property("rooms",s.rooms)("notes",s.notes)}}const Yd=function(c,g){return{sections__grid:c,"sections__grid--hidden":g}};function Xd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",5)(1,"div",6)(2,"div",7)(3,"div",8),n.\u0275\u0275template(4,Kd,7,7,"ng-container",0),n.\u0275\u0275template(5,vl,3,3,"ng-container",0),n.\u0275\u0275template(6,bl,3,3,"ng-container",0),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(7,"div",9),n.\u0275\u0275template(8,Ei,1,1,"ui-energy-label-indicator",10),n.\u0275\u0275template(9,yl,3,6,"tn-section-wrapper",0),n.\u0275\u0275pipe(10,"async"),n.\u0275\u0275elementStart(11,"tn-section-wrapper")(12,"tn-due-date-section",11),n.\u0275\u0275listener("dueDateChanged",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).changeDueDate(C)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(13,"tn-section-wrapper"),n.\u0275\u0275element(14,"tn-sidebar-order-details",12),n.\u0275\u0275pipe(15,"async"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(16,"tn-section-wrapper")(17,"tn-customer",13),n.\u0275\u0275listener("customerReplaced",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).changeCustomer(C)})("changedEmailList",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onContactEmailsChange(C)}),n.\u0275\u0275pipe(18,"async"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(19,"tn-section-wrapper"),n.\u0275\u0275element(2
10,"tn-customer-notes",14),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(21,xl,2,1,"tn-section-wrapper",0),n.\u0275\u0275elementStart(22,"tn-section-wrapper")(23,"tn-customer-preferences",15),n.\u0275\u0275listener("changed",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).updateOrderForm(C)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(24,"tn-section-wrapper")(25,"tn-sidebar-property-details",16),n.\u0275\u0275listener("editInitiated",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3).ngIf;return n.\u0275\u0275nextContext().editManualAddress(C.order,C.bookingFlow)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(26,Jd,2,2,"tn-section-wrapper",0),n.\u0275\u0275elementStart(27,"tn-section-wrapper")(28,"tn-custom-fields",17),n.\u0275\u0275listener("saved",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).updateOrderForm(C)}),n.\u0275\u0275elementEnd()()()(),n.\u0275\u0275elementStart(29,"div",18)(30,"div",7)(31,"tn-section-wrapper")(32,"tn-deliverables",19),n.\u0275\u0275listener("initiatedProjectCompletionResend",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3).ngIf;return n.\u0275\u0275nextContext().resendProjectCompletion(C.order)}),n.\u0275\u0275pipe(33,"async"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(34,"tn-section-wrapper")(35,"tn-property-website",20),n.\u0275\u0275listener("enableSpw",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3).ngIf;return n.\u0275\u0275nextContext().onEnablePropertyWebsite(C.order,C.listingProperty)})("disableSpw",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3).ngIf;return n.\u0275\u0275nextContext().opDisablePropertyWebsite(C.order.id)}),n.\u0275\u0275pipe(36,"async"),n.\u0275\u0275pipe(37,"async"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(38,"tn-section-wrapper")(39,"tn-flyer-builder",21),n.\u0275\u0275listener("showMktKitDialog",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3).ngIf;return n.\u0275\u0275nextContext().onShowMktKitDialog(C.order)})("enabledFlyerBuilder",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onEnableFlyerBuilder()})("disabledFlyerBuilder",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onDisableFlyerBuilder()}),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275elementStart(40,"div",22)(41,"tn-section-wrapper")(42,"tn-agents",23),n.\u0275\u0275listener("agentsChange",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onListingAgentsChange(C)}),n.\u0275\u0275pipe(43,"async"),n.\u0275\u0275elementEnd()()()(),n.\u0275\u0275elementStart(44,"div",18)(45,"div",7)(46,"div")(47,"ui-section-title",24),n.\u0275\u0275text(48,"Order Activity"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(49,"div",25),n.\u0275\u0275text(50,"View all activities that have happened on the order"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(51,"div",24)(52,"tn-booking-confirmation",26),n.\u0275\u0275listener("resentedProjectCompleteEmail",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3).ngIf;return n.\u0275\u0275nextContext().resendProjectCompletion(C.order)})("resentedBookingConfirmation",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3).ngIf;return n.\u0275\u0275nextContext().onResendBookingConfirm(C.order)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275element(53,"tn-order-activities",27),n.\u0275\u0275elementEnd()()()()}if(2&c){const s=n.\u0275\u0275nextContext(3).ngIf,m=n.\u0275\u0275nextContext();let C,M,oe;n.\u0275\u0275property("formGroup",m.orderForm),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngClass",n.\u0275\u0275pureFunction2(65,Yd,m.hasFullAccess,0!==m.selectedSectionIndex)),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",m.hasFullAccess),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.appConfigService.isCubicasaConnected),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.appConfigService.isEsoftConnected),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",m.isEnergyLabelEnabled),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",0===(null==(C=n.\u0275\u0275pipeBind1(10,51,m.appointments$))?null:C.length)),n.\u0275\u0275advance(3),n.\u0275\u0275property("timezone",m.appConfigTimeZone)("order",s.order),n.\u0275\u0275advance(2),n.\u0275\u0275property("orderDateCreated",
1n.\u0275\u0275pipeBind1(15,53,m.orderDateCreated$))("bookingFlowName",null==s.order.bookingFlow?null:s.order.bookingFlow.name),n.\u0275\u0275advance(3),n.\u0275\u0275property("emailList",m.orderForm.value.contact_notes)("customerUrl","/order-status/"+(null==s.order?null:s.order.id))("customer",n.\u0275\u0275pipeBind1(18,55,m.customer$)),n.\u0275\u0275advance(3),n.\u0275\u0275property("notes",s.customerNotes)("customerUid",s.order.customerUid),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.brokerageNotes),n.\u0275\u0275advance(2),n.\u0275\u0275property("showSchedulingFlexibility",!(null!=s.bookingFlow&&s.bookingFlow.hideSchedulingFlexibility))("flexibleSchedulingStatuses",m.appConfigService.flexibleSchedulingStatuses)("flexibleScheduling",m.orderForm.value.flexible_scheduling)("clientPreferences",m.orderForm.value.order_notes),n.\u0275\u0275advance(2),n.\u0275\u0275property("totalInteriorAria",null==(M=m.orderForm.get("property_square_footage"))?null:M.value)("showAcreageInput",null==s.bookingFlow?null:s.bookingFlow.showAcreageInput)("showSqFtInput",!(null!=s.bookingFlow&&s.bookingFlow.hideSqFtInput))("acreage",m.acreage)("order",s.order),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.isPropertyBookingType(s.order)),n.\u0275\u0275advance(2),n.\u0275\u0275property("customQuestions",m.customQuestionsArray)("customQuestionsVisibility",s.customQuestionsVisibilityStatus)("order",s.order),n.\u0275\u0275advance(1),n.\u0275\u0275classProp("sections__grid--hidden",1!==m.selectedSectionIndex),n.\u0275\u0275advance(3),n.\u0275\u0275property("completionResendButtonVisible",m.isResendProjectCompleteEnabled)("isSpwEnabled",s.order.isWebsiteEnabled)("orderStatuses",m.orderStatuses)("order",s.order)("user",n.\u0275\u0275pipeBind1(33,57,m.authUser$)),n.\u0275\u0275advance(3),n.\u0275\u0275property("spwLinks",n.\u0275\u0275pipeBind1(36,59,m.spwLinks$))("isTogglingSpw",!0===n.\u0275\u0275pipeBind1(37,61,m.isTogglingSpw$))("property",s.listingProperty),n.\u0275\u0275advance(4),n.\u0275\u0275property("order",s.order)("isFlyerBuilderEnabled",s.order.isFlyerBuilderEnabled)("mktKitInProgress",s.mktKitInProgress)("deliveryMktKit",s.deliveryMktKit)("allowMktKit",m.appConfigService.allowMktKit),n.\u0275\u0275advance(3),n.\u0275\u0275property("agents",null==(oe=m.orderForm.get("listingAgents"))?null:oe.value)("authUser",n.\u0275\u0275pipeBind1(43,63,m.authUser$)),n.\u0275\u0275advance(2),n.\u0275\u0275classProp("sections__grid--hidden",2!==m.selectedSectionIndex),n.\u0275\u0275advance(8),n.\u0275\u0275property("isResendProjectCompleteEnabled",m.isResendProjectCompleteEnabled),n.\u0275\u0275advance(1),n.\u0275\u0275property("orderId",s.order.id)}}function qd(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"tn-order-sidebar",3),n.\u0275\u0275listener("sidebarClosed",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(3).closeSidebar()})("customerChanged",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(3).changeCustomer(C)})("tabClicked",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(3).activateTab(C)}),n.\u0275\u0275pipe(1,"async"),n.\u0275\u0275template(2,Xd,54,68,"div",4),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext().ngIf,C=n.\u0275\u0275nextContext();n.\u0275\u0275property("orderId",null==m.order?null:m.order.id)("user",n.\u0275\u0275pipeBind1(1,6,C.customer$))("panels",s)("orderStatuses",C.orderStatuses)("activeTabIndex",C.selectedSectionIndex),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",m.order)}}function zi(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,qd,3,8,"tn-order-sidebar",2),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(2);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.isNewSidebarEnabled)}}function ep(c,g){1&c&&n.\u0275\u0275projection(0)}function tp(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"mat-tab",49),n.\u0275\u0275template(1,ep,1,0,"ng-template",47),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(3);n.\u0275\u0275property("label",s.tabName)}}function np(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",60),n.\u0275\u0275text(2,"Hubspot"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"div",61)(4,"a",62),n.\u0275\u0275text(5,"Contact Link"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"a",63),n.\u0275\u0275text(7,"Deal Link"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(3).ngIf;n.\u0275\u0275advance(4),n.\u0275\u0275propertyInterpolate("href",null==s.order||null==s.order.hubspot?null:s.order.hubspot.contactLink,n.\u0275\u0275sanitizeUrl),n.\u0275\u0275advance(2),n.\u0275\u0275propertyInterpolate("href",null==s.order||null==s.order.hubspot?null:s.order.hubspot.dealsLink,n.\u0275\u0275sanitizeUrl)}}function ip(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",64),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(3).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate(null==s.order||null==s.order.bookingFlow?null:s.order.bookingFlow.name)}}function rp(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275element(1,"ui-input",69),n.\u0275\u0275pipe(2,"uiAccountingSyncStatus"),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(4).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("value",n.\u0275\u0275pipeBind1(2,2,m.getAccountingSyncStatus(null==s.invoice?null:s.invoice.accountingSyncStatus)))("readonly",!0)}}function op(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",65)(1,"div",66)(2,"ui-select",67),n.\u0275\u0275listener("selectionChange",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(3).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&oe.onOrderStatusChange(M.order,C)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"ui-select",68),n.\u0275\u0275listener("selectionChange",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).updatePaymentStatus(C)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(4,rp,3,4,"ng-container",0),n.\u0275\u0275pipe(5,"async"),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext(4);let m,C;n.\u0275\u0275advance(2),n.\u0275\u0275property("items",s.orderStatuses)("nameKey","label")("value",null==(m
1=s.orderForm.get("orderStatus"))?null:m.value),n.\u0275\u0275advance(1),n.\u0275\u0275property("items",s.paymentStatuses)("nameKey","label")("value",(null==(C=s.orderForm.get("paymentStatus"))?null:C.value)||s.paymentStatuses[0].value),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(5,7,s.isAccountingConnected$))}}function ap(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"span"),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=g.ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1("(",s.length,")")}}const Sl=function(){return["/scheduler"]},sp=function(c,g){return{orderId:c,eventId:g}};function lp(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",85)(1,"h5",86),n.\u0275\u0275text(2),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(3,"div",87)(4,"ui-form-row"),n.\u0275\u0275element(5,"ui-input",88),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"ui-form-row"),n.\u0275\u0275element(7,"ui-input",89),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(8,"a",90,91),n.\u0275\u0275element(10,"i",92),n.\u0275\u0275text(11," Open in scheduler "),n.\u0275\u0275elementEnd()()),2&c){const s=g.$implicit,m=n.\u0275\u0275reference(9);n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate1("Appointment ",s.start," "),n.\u0275\u0275advance(3),n.\u0275\u0275property("value",s.start)("readonly",!0),n.\u0275\u0275advance(2),n.\u0275\u0275property("value",s.end)("readonly",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction0(8,Sl))("queryParams",n.\u0275\u0275pureFunction2(9,sp,s.orderId,s.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",m.iconSize)}}function cp(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,lp,12,12,"div",84),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext().ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",s)}}const dp=function(c,g){return{orderId:c,date:g,type:"day"}};function pp(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",66)(1,"mat-form-field",72)(2,"mat-label"),n.\u0275\u0275text(3,"Date"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(4,"input",93)(5,"mat-datepicker-toggle",74)(6,"mat-datepicker",null,94),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(8,"ui-input",95),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(9,"a",90,96),n.\u0275\u0275element(11,"i",92),n.\u0275\u0275text(12," Create event in scheduler "),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(7),m=n.\u0275\u0275reference(10),C=n.\u0275\u0275nextContext(5).ngIf,M=n.\u0275\u0275nextContext();n.\u0275\u0275advance(4),n.\u0275\u0275property("matDatepicker",s),n.\u0275\u0275advance(1),n.\u0275\u0275property("for",s)("disableRipple",!0),n.\u0275\u0275advance(4),n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction0(6,Sl))("queryParams",n.\u0275\u0275pureFunction2(7,dp,null==C.order?null:C.order.id,M.orderForm.controls.date.value)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",m.iconSize)}}function mp(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"ui-loading-wrapper",81),n.\u0275\u0275template(1,cp,2,1,"ng-container",82),n.\u0275\u0275template(2,pp,13,10,"ng-template",null,83,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275elementEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275reference(3);n.\u0275\u0275property("loading",!s),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s?null:s.length)("ngIfElse",m)}}function up(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",97),n.\u0275\u0275element(1,"ui-select",98),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(5);n.\u0275\u0275advance(1),n.\u0275\u0275property("nameKey","label")("items",s.appConfigService.flexibleSchedulingStatuses)}}function gp(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",65)(1,"div",70),n.\u0275\u0275template(2,mp,4,3,"ui-loading-wrapper",71),n.\u0275\u0275pipe(3,"async"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(4,"div",66)(5,"mat-form-field",72)(6,"mat-label"),n.\u0275\u0275text(7,"Due Date"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(8,"input",73)(9,"mat-datepicker-toggle",74)(10,"mat-datepicker",null,75),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(12,"mat-form-field",76)(13,"mat-label"),n.\u0275\u0275text(14,"Due Time"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(15,"input",77),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(16,"mat-form-field",72)(17,"mat-label"),n.\u0275\u0275text(18,"Client Preferences"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(19,"textarea",78,79),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(21,up,2,2,"div",80),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(11),m=n.\u0275\u0275nextContext(3).ngIf,C=n.\u0275\u0275nextContext();n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(3,6,C.appointments$)),n.\u0275\u0275advance(6),n.\u0275\u0275property("placeholder",C.placeholder)("matDatepicker",s),n.\u0275\u0275advance(1),n.\u0275\u0275property("for",s)("disableRipple",!0),n.\u0275\u0275advance(12),n.\u0275\u0275property("ngIf",!(null!=m.bookingFlow&&m.bookingFlow.hideSchedulingFlexibility))}}function _p(c,g){if(1&c&&(n.\u0275\u0275element(0,"tn-order-accounting-details",99),n.\u0275\u0275pipe(1,"async")),2&c){const s=n.\u0275\u0275nextContext(4).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275property("invoice",s.invoice)("accountingInvoiceUrl",n.\u0275\u0275pipeBind1(1,2,m.accountingInvoiceUrl$))}}function hp(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.accounting,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.accounting,!0)}),n.\u0275\u0275elementStart(1,"mat-expansion-panel-header")(2,"mat-panel-title"),n.\u0275\u0275text(3,"Accounting"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(4,_p,2,4,"ng-template",54),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(4);n.\u0275\u0275property("expanded",s.accordionPanelsState[s.accordionPanels.accounting])}}function ir(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",122)(1,"button",123,124),n.\u0275\u0275listener("click",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(5).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&oe.openInvoiceDialog(M.order,C)}),n.\u0275\u0275element(3,"i",125),n.\u0275\u0275text(4," Payment details "),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275reference(2);n.\u0275\u0275advance(3),n.\u0275\u0275property("size",s.iconSize)}}function fp(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"mat-slide-toggle",126),n.\u0275\u0275listener("change",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(5).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&M.invoice&&M.bookingFlow&&oe.onManualInvoiceEntryStateToggle(M.order,M.invoice,M.bookingFlow,C)}),n.\u0275\u0275text(1," Manual Invoice Entry "),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(6);let m;
1n.\u0275\u0275property("disableRipple",!0)("checked",null==(m=s.orderForm.get("manualInvoiceEntry"))?null:m.value)}}function vp(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",127),n.\u0275\u0275text(1),n.\u0275\u0275pipe(2,"uiCurrency"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1("",n.\u0275\u0275pipeBind1(2,1,(null==s.invoice?null:s.invoice.totalAmount)||0)," ")}}function Cp(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"ui-number-input",128),n.\u0275\u0275listener("valueChange",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(5).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&M.invoice&&oe.onManualInvoiceAmountChange(M.order,M.invoice,C)}),n.\u0275\u0275pipe(1,"uiCurrency"),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275property("prefix",n.\u0275\u0275pipeBind1(1,3,""))("blurOnEnter",!0)("value",null==s.invoice?null:s.invoice.totalAmount)}}function bp(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",131),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=g.$implicit;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1("",s," ")}}function yp(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",129),n.\u0275\u0275text(2,"Discount"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(3,bp,2,1,"div",130),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(5).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(3),n.\u0275\u0275property("ngForOf",m.getInvoiceDiscountItems(s.invoice))}}function Tl(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",131),n.\u0275\u0275text(1),n.\u0275\u0275elementEnd()),2&c){const s=g.$implicit;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1("",s," ")}}function $s(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",129),n.\u0275\u0275text(2,"Coupon"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(3,Tl,2,1,"div",130),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(5).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(3),n.\u0275\u0275property("ngForOf",m.getInvoiceCouponItems(s.invoice))}}function wl(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-copy-to-clipboard",132),2&c){const s=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275property("v2",!0)("value",null==s.order?null:s.order.invoice_link)}}function xp(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-download-by-link",133),2&c){const s=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275property("url",null==s.order?null:s.order.invoice_link)}}function kl(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",134),2&c){const s=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275property("url",null==s.order?null:s.order.invoice_link)}}function El(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",135),2&c){const s=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275property("url",null==s.order?null:s.order.tave_link)}}const Sp=function(c){return["/accounting/invoicing",c,"batch-invoice"]},Tp=function(c){return["/admin","order-management",c,"invoice"]};function wp(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",100)(1,"div",101)(2,"div",102)(3,"div",103)(4,"div",104),n.\u0275\u0275text(5,"Amount total"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"div"),n.\u0275\u0275text(7),n.\u0275\u0275pipe(8,"uiCurrency"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(9,"div",103)(10,"div",104),n.\u0275\u0275text(11,"Invoice Amount Paid"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(12,"div"),n.\u0275\u0275text(13),n.\u0275\u0275pipe(14,"uiCurrency"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(15,"div",103)(16,"div",104),n.\u0275\u0275text(17,"Amount due"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(18,"div"),n.\u0275\u0275text(19),n.\u0275\u0275pipe(20,"uiCurrency"),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275template(21,ir,5,1,"div",105),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(22,"div",106)(23,"div",107)(24,"span"),n.\u0275\u0275text(25,"Invoice amount"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(26,fp,2,2,"mat-slide-toggle",108),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(27,vp,3,3,"div",109),n.\u0275\u0275template(28,Cp,2,5,"ui-number-input",110),n.\u0275\u0275template(29,yp,4,1,"ng-container",0),n.\u0275\u0275template(30,$s,4,1,"ng-container",0),n.\u0275\u0275elementStart(31,"div",111)(32,"a",112),n.\u0275\u0275text(33),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275elementStart(34,"div",113)(35,"ui-input",114),n.\u0275\u0275template(36,wl,1,2,"ui-copy-to-cl
1ipboard",115),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(37,xp,1,1,"ui-download-by-link",116),n.\u0275\u0275template(38,kl,1,1,"ui-open-in-new-tab",117),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(39,"div",101)(40,"div",118),n.\u0275\u0275element(41,"ui-input",119),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(42,"div",65)(43,"div",97)(44,"ui-input",120),n.\u0275\u0275template(45,El,1,1,"ui-open-in-new-tab",121),n.\u0275\u0275elementEnd()()()()),2&c){const s=n.\u0275\u0275nextContext(4).ngIf,m=n.\u0275\u0275nextContext();let C,M;n.\u0275\u0275advance(7),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(8,21,(null==s.invoice?null:s.invoice.totalAmount)||0)),n.\u0275\u0275advance(6),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(14,23,(null==s.invoice?null:s.invoice.amountPaid)||0)),n.\u0275\u0275advance(6),n.\u0275\u0275textInterpolate(n.\u0275\u0275pipeBind1(20,25,(null==s.invoice?null:s.invoice.amountDue)||0)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",(null==s.order?null:s.order.invoiceId)&&!(null!=s.order&&s.order.hideIntegratedPayment)),n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",m.appConfigService.allowManualInvoiceEntry),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!(null!=(C=m.orderForm.get("manualInvoiceEntry"))&&C.value)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==(M=m.orderForm.get("manualInvoiceEntry"))?null:M.value),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.getInvoiceDiscountItems(s.invoice).length),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.getInvoiceCouponItems(s.invoice).length),n.\u0275\u0275advance(2),n.\u0275\u0275property("routerLink",null!=s.invoice&&s.invoice.parentBatchId?n.\u0275\u0275pureFunction1(27,Sp,null==s.invoice?null:s.invoice.parentBatchId):n.\u0275\u0275pureFunction1(29,Tp,null==s.invoice?null:s.invoice.id)),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",null!=s.invoice&&s.invoice.parentBatchId?"Change batch invoice":"Change invoice"," "),n.\u0275\u0275advance(2),n.\u0275\u0275property("placeholder",m.appConfigService.quickBookInvoicing?"https://quickbooks.com/":"https://tave.com/")("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.invoice_link),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.invoice_link),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.invoice_link),n.\u0275\u0275advance(3),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(3),n.\u0275\u0275property("label",m.appConfigService.quickBookInvoicing?"Quickbooks Link":"Tave Link")("placeholder",m.appConfigService.quickBookInvoicing?"https://quickbooks.com/":"https://tave.com/")("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.tave_link)}}function kp(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.sales,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.sales,!0)}),n.\u0275\u0275elementStart(1,"mat-expansion-panel-header")(2,"mat-panel-title"),n.\u0275\u0275text(3,"Sales"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(4,wp,46,31,"ng-template",54),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(4);n.\u0275\u0275property("expanded",s.accordionPanelsState[s.accordionPanels.sales])}}function Ep(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"ui-user-select",136),n.\u0275\u0275listener("userSelect",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).changeCustomer(C)}),n.\u0275\u0275pipe(1,"async"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(2,"div",65)(3,"div")(4,"label",137)(5,"span",138),n.\u0275\u0275text(6," Email list "),n.\u0275\u0275elementStart(7,"i",139),n.\u0275\u0275listener("click",function(C){return C.preventDefault()}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(8,"ui-chips",140),n.\u0275\u0275listener("update",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onContactEmailsChange(C)}),n.\u0275\u0275elementEnd()()()()}if(2&c){const s=n.\u0275\u0275nextContext(4);let m;n.\u0275\u0275property("user",n.\u0275\u0275pipeBind1(1,4,s.customer$)),n.\u0275\u0275advance(7),n.\u0275\u0275property("cdkCopyToClipboard",null==(m
1=s.orderForm.get("contact_notes"))?null:m.value),n.\u0275\u0275advance(1),n.\u0275\u0275property("value",s.orderForm.value.contact_notes)("chipPattern",s.emailPattern)}}function Op(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-customer-notes",14),2&c){const s=n.\u0275\u0275nextContext(3).ngIf;n.\u0275\u0275property("notes",s.customerNotes)("customerUid",null==s.order?null:s.order.customerUid)}}function Ip(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",65)(1,"ui-listing-agents-list",23),n.\u0275\u0275listener("agentsChange",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onListingAgentsChange(C)}),n.\u0275\u0275pipe(2,"async"),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext(4);let m;n.\u0275\u0275advance(1),n.\u0275\u0275property("agents",null==(m=s.orderForm.get("listingAgents"))?null:m.value)("authUser",n.\u0275\u0275pipeBind1(2,2,s.authUser$))}}function Ol(c,g){1&c&&(n.\u0275\u0275elementStart(0,"mat-panel-title"),n.\u0275\u0275text(1,"Property"),n.\u0275\u0275elementEnd())}function Dp(c,g){1&c&&(n.\u0275\u0275elementStart(0,"mat-panel-title"),n.\u0275\u0275text(1,"Photoshoot Address"),n.\u0275\u0275elementEnd())}function Mp(c,g){1&c&&(n.\u0275\u0275elementStart(0,"span",148),n.\u0275\u0275text(1),n.\u0275\u0275pipe(2,"translate"),n.\u0275\u0275elementEnd()),2&c&&(n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1("(",n.\u0275\u0275pipeBind1(2,1,"MANUALLY_ENTERED"),") "))}function um(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",149),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4).ngIf,M=n.\u0275\u0275nextContext();return C.order&&M.editManualAddress(C.order,C.bookingFlow)}),n.\u0275\u0275element(1,"i",150),n.\u0275\u0275elementStart(2,"span",151),n.\u0275\u0275text(3,"Edit"),n.\u0275\u0275elementEnd()()}}function Pp(c,g){1&c&&(n.\u0275\u0275elementStart(0,"div",152),n.\u0275\u0275element(1,"ui-input",153),n.\u0275\u0275elementEnd()),2&c&&(n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0))}function Fp(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",154),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4).ngIf,M=n.\u0275\u0275nextContext();return C.order&&M.editManualAddress(C.order,C.bookingFlow)}),n.\u0275\u0275element(1,"i",155),n.\u0275\u0275text(2),n.\u0275\u0275pipe(3,"translate"),n.\u0275\u0275elementEnd()}2&c&&(n.\u0275\u0275advance(2),n.\u0275\u0275textInterpolate1(" ",n.\u0275\u0275pipeBind1(3,1,"MANUALLY_ENTER_ADDRESS")," "))}function Ap(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",118)(1,"ui-number-input",156,157),n.\u0275\u0275listener("valueChange",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275reference(2),M=n.\u0275\u0275nextContext(4).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&oe.changePropertySquareFootage(M.order,C.value)}),n.\u0275\u0275pipe(3,"translate"),n.\u0275\u0275pipe(4,"uiArea"),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext(5);let m;n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0)("label",n.\u0275\u0275pipeBind1(3,4,"PROPERTY_AREA"))("suffix",n.\u0275\u0275pipeBind1(4,6,""))("value",null==(m=s.orderForm.get("property_square_footage"))?null:m.value)}}function Er(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",118)(1,"ui-number-input",156,158),n.\u0275\u0275listener("valueChange",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275reference(2),M=n.\u0275\u0275nextContext(4).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&oe.changeAcreage(M.order,C.value)}),n.\u0275\u0275pipe(3,"translate"),n.\u0275\u0275pipe(4,"uiArea"),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext(5);let m;n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0)("label",n.\u0275\u0275pipeBind1(3,4,"ACREAGE"))("suffix",n.\u0275\u0275pipeBind2(4,6,"","landlot"))("value",null==(m
1=s.orderForm.get("acreage"))?null:m.value)}}function Bp(c,g){1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"mat-form-field",72)(2,"mat-label"),n.\u0275\u0275text(3,"Entry Notes"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(4,"textarea",159,79),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"mat-form-field",72)(7,"mat-label"),n.\u0275\u0275text(8,"Features Notes"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(9,"textarea",160,79),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(11,"mat-form-field",72)(12,"mat-label"),n.\u0275\u0275text(13,"Floor Plan Notes"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(14,"textarea",161,79),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(16,"h4",162),n.\u0275\u0275text(17,"Rooms"),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(18,"ui-form-group",163)(19,"ui-form-row"),n.\u0275\u0275element(20,"ui-number-input",164)(21,"ui-number-input",165)(22,"ui-number-input",166),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementContainerEnd()),2&c&&(n.\u0275\u0275advance(20),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("blurOnEnter",!0))}function jp(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",65)(1,"div",141)(2,"mat-form-field",72)(3,"mat-label"),n.\u0275\u0275text(4," Address "),n.\u0275\u0275template(5,Mp,3,3,"span",142),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"input",143),n.\u0275\u0275listener("onAutocompleteSelected",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(3).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&oe.onAddressEdit(M.order,C)}),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(7,um,4,0,"div",144),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(8,Pp,2,1,"div",145),n.\u0275\u0275template(9,Fp,4,3,"div",146),n.\u0275\u0275template(10,Ap,5,8,"div",147),n.\u0275\u0275template(11,Er,5,9,"div",147),n.\u0275\u0275template(12,Bp,23,3,"ng-container",0),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(3).ngIf,m=n.\u0275\u0275nextContext();let C;n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.manualPropertyAddress),n.\u0275\u0275advance(1),n.\u0275\u0275property("disabled",!(null==s.order||!s.order.manualPropertyAddress))("value",null!==(C=null==s.order||null==s.order.property_address?null:s.order.property_address.formatted_address)&&void 0!==C?C:""),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.manualPropertyAddress),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!(null!=s.bookingFlow&&s.bookingFlow.hideLine2Input)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!(null!=s.order&&s.order.manualPropertyAddress)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!(null!=s.bookingFlow&&s.bookingFlow.hideSqFtInput)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.bookingFlow?null:s.bookingFlow.showAcreageInput),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.isPropertyBookingType(s.order))}}const Rp=function(c){return["/admin/order-management",c]};function zs(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",171)(1,"a",178,179),n.\u0275\u0275element(3,"i",180),n.\u0275\u0275text(4," Open project chat "),n.\u0275\u0275elementEnd()()),2&c){const s=n.\u0275\u0275reference(2),m=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction1(2,Rp,null==m.order?null:m.order.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Us(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",118)(1,"ui-select",181),n.\u0275\u0275listener("selectionChange",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext().ngIf;return n.\u0275\u0275nextContext(5).onSelectBookingFlow(M,C)}),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("items",s)("value",null==m.order||null==m.order.bookingFlow?null:m.order.bookingFlow.id)}}function oa(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Us,2,2,"div",147),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",(null==s?null:s.length)&&!(null!=m.order&&null!=m.order.bookingFlow&&m.order.bookingFlow.id))}}function _i(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",182)(1,"ui-task-status-chips",183),n.\u0275\u0275listener("archiveTask",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(4).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&oe.archiveTask(M.order,C)}),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("order",s.order)("orderId",null==s.order?null:s.order.id)("allowArchiving",!0)}}function oo(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"a",184,185),n.\u0275\u0275listener("click",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(4).ngIf,oe=n.\u0275\u0275nextContext();return M.order&&oe.onAddServices(M.order,C)}),n.\u0275\u0275element(2,"i",186),n.\u0275\u0275text(3," Add Service "),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275reference(1);n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Vp(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",118)(1,"ui-select",188),n.\u0275\u0275listener("selectionChange",function(C){const oe=n.\u0275\u0275restoreView(s).index,we=n.\u0275\u0275nextContext(5).ngIf,Ge=n.\u
10275\u0275nextContext();return we.order&&Ge.onUpdateCustomTier(we.order,we.customTierOptions,C,oe)}),n.\u0275\u0275elementEnd()()}if(2&c){const s=g.$implicit,m=g.index,C=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("label",s.serviceName)("nameKey","label")("valueKey","name")("items",C.customTierOptions[m])("value",(null==s.selected?null:s.selected.name)||null)}}function Lp(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Vp,2,5,"div",187),n.\u0275\u0275elementContainerEnd()),2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngForOf",null==s.order?null:s.order.service_custom_tiers)}}function Np(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-input",191),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext(2).index;n.\u0275\u0275property("label",s.label)("formControlName",m)("blurOnEnter",!0)}}const Il=function(){return[]};function $p(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-select",192),2&c){const s=n.\u0275\u0275nextContext().ngIf,m=n.\u0275\u0275nextContext(2).index;n.\u0275\u0275property("formControlName",m)("label",s.label)("items",s.options||n.\u0275\u0275pureFunction0(3,Il))}}function Dl(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Np,1,3,"ui-input",189),n.\u0275\u0275template(2,$p,1,4,"ng-template",null,190,n.\u0275\u0275templateRefExtractor),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.ngIf,m=n.\u0275\u0275reference(3);n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf","dropdown"!==s.type)("ngIfElse",m)}}function Ml(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",118),n.\u0275\u0275template(1,Dl,4,2,"ng-container",0),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext().index,m=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",((null==m.order?null:m.order.customQuestions)||n.\u0275\u0275pureFunction0(1,Il))[s])}}function Pl(c,g){if(1&c&&(n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Ml,2,2,"div",147),n.\u0275\u0275elementContainerEnd()),2&c){const s=g.index,m=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.customQuestionsVisibilityStatus[s])}}function Hs(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",135),2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275property("url",null==s.order?null:s.order.custom_domain)}}function Zt(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",135),2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275property("url",null==s.order?null:s.order.music_option)}}function ft(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"mat-form-field",72)(1,"mat-label"),n.\u0275\u0275text(2,"Brokerage Preferences"),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(3,"textarea",193,79),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(3),n.\u0275\u0275property("value",s.brokerageNotes)("disabled",!0)}}function We(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",65),n.\u0275\u0275template(1,zs,5,4,"div",167),n.\u0275\u0275template(2,oa,2,1,"ng-container",0),n.\u0275\u0275pipe(3,"async"),n.\u0275\u0275elementStart(4,"div",97),n.\u0275\u0275element(5,"ui-input",168),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(6,"div",169),n.\u0275\u0275text(7,"Services"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(8,_i,2,3,"div",170),n.\u0275\u0275elementStart(9,"div",171),n.\u0275\u0275template(10,oo,4,1,"a",172),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(11,Lp,2,1,"ng-container",0),n.\u0275\u0275elementContainerStart(12,173),n.\u0275\u0275template(13,Pl,2,1,"ng-container",174),n.\u0275\u0275elementContainerEnd(),n.\u0275\u0275elementStart(14,"div",118)(15,"ui-input",175),n.\u0275\u0275template(16,Hs,1,1,"ui-open-in-new-tab",121),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(17,"div",118)(18,"ui-input",176),n.\u0275\u0275template(19,Zt,1,1,"ui-open-in-new-tab",121),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(20,ft,5,2,"mat-form-field",177),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(3).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.taskSummary),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(3,12,m.bookingFlows$)),n.\u0275\u0275advance(3),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",null==s.order||null==s.order.services?null:s.order.services.length),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",m.allowUseNewAddServiceDialog),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order||null==s.order.service_custom_tiers?null:s.order.service_custom_tiers.length),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngForOf",m.customQuestionsArray.controls),n.\u0275\u0275advance(2),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.custom_domain),n.\u0275\u0275advance(2),n.\u0275\u0275property("blurOnEnter",!0),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.music_option),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.brokerageNotes)}}function Sn(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"tn-order-deliverables-links-form",194),n.\u0275\u0275listener("syncDeliveryToSpw",function(C){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(5).onSyncDeliveryWithSPW(C)}),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275property("isSpwEnabled",null==s.order?null:s.order.isWebsiteEnabled)("orderId",null==s.order?null:s.order.id)}}function aa(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.deliverables,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.deliverables,!0)}),n.\u0275\u0275elementStart(1,"mat-expansion-panel-header")(2,"mat-panel-title"),n.\u0275\u0275text(3,"Deliverables"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(4,Sn,1,2,"ng-template",54),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(4);n.\u0275\u0275property("expanded",s.accordionPanelsState[s.accordionPanels.deliverables])}}function At(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",195)(1,"tn-property-website-widget",196),n.\u0275\u0275listener("enableSpw",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4).ngIf,M=n.\u0275\u0275nextContext();return C.order&&M.onEnablePropertyWebsite(C.order,C.listingProperty)})("disableSpw",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4).ngIf,M=n.\u0275\u0275nextContext();return C.order&&M.opDisablePropertyWebsite(C.order.id)}),n.\u0275\u0275elementEnd()()}if(2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("property",s.listingProperty)("isEnabled",null==s.order?null:s.order.isWebsiteEnabled)}}function zp(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.website,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.website,!0)}),n.\u0275\u0275elementStart(1,"mat-expansion-panel-header")(2,"mat-panel-title"),n.\u0275\u0275text(3,"Website"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(4,At,2,2,"ng-template",54),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(4);n.\u0275\u0275property("expanded",s.accordionPanelsState[s.accordionPanels.website])}}const rr=function(c){return["/order-dashboard",c,"delivery","flyer"]};function oi(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"a",205,206),n.\u0275\u0275element(2,"i",180),n.\u0275\u0275text(3," Flyer Builder "),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(1),m=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction1(2,rr,null==m.order?null:m.order.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function Oi(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"button",207,208),n.\u0275\u0275text(2," Enabled "),n.\u0275\u0275element(3,"i",209),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(1);n.\u0275\u0275nextContext();const m=n.\u0275\u0275reference(8);n.\u0275\u0275property("matMenuTriggerFor",m)("trailingIcon",!0),n.\u0275\u0275advance(3),n.\u0275\u0275property("size",s.iconSize)}}function hi(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"button",210,211),n.\u0275\u0275text(2," Disabled "),n.\u0275\u0275element(3,"i",209),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275reference(1);n.\u0275\u0275nextContext();const m=n.\u0275\u0275reference(8);n.\u0275\u0275property("matMenuTriggerFor",m)("trailingIcon",!0),n.\u0275\u0275advance(3),n.\u0275\u0275property("size",s.iconSize)}}function Yn(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",215),n.\u0275\u0275text(1),n.\u0275\u0275pipe(2,"date"),n.\u0275\u0275elementEnd()),2&c){const s=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" Last sync date: ",n.\u0275\u0275pipeBind2(2,1,s.deliveryMktKit.lastSyncAt,"short")," ")}}function Or(c,g){if(1&c&&n.\u0275\u0275element(0,"ui-open-in-new-tab",216),2&c){const s=n.\u0275\u0275nextContext(5).ngIf;n.\u0275\u0275propertyInterpolate1("url","/order-dashboard/",null==s.order?null:s.order.id,"/delivery?anchor=flyersEl")}}function Ws(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275template(1,Yn,3,4,"div",212),n.\u0275\u0275elementStart(2,"div",61)(3,"button",213),n.\u0275\u0275listener("throttleClick",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4).ngIf,M=n.\u0275\u0275nextContext();return C.order&&M.onShowMktKitDialog(C.order)}),n.\u0275\u0275text(4," Generate marketing kit "),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(5,Or,1,1,"ui-open-in-new-tab",214),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",s.deliveryMktKit),n.\u0275\u0275advance(2),n.\u0275\u0275property("uiBtnLoading",!!s.mktKitInProgress),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf","ready"===(null==s.deliveryMktKit?null:s.deliveryMktKit.status))}}function Fl(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",195)(1,"div",197)(2,"div",198),n.\u0275\u0275template(3,oi,4,4,"a",199),n.\u0275\u0275template(4,Oi,4,3,"button",200),n.\u0275\u0275template(5,hi,4,3,"button",201),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(6,Ws,6,3,"ng-container",0),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(7,"mat-menu",202,203)(9,"button",204),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onDisableFlyerBuilder()}),n.\u0275\u0275text(10," Disabled "),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(11,"button",204),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(4).onEnableFlyerBuilder()}),n.\u0275\u0275text(12," Enabled "),n.\u0275\u0275elementEnd()()()}if(2&c){const s=n.\u0275\u0275nextContext(3).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.isFlyerBuilderEnabled),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.isFlyerBuilderEnabled),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!(null!=s.order&&s.order.isFlyerBuilderEnabled)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",(null==s.order?null:s.order.isFlyerBuilderEnabled)&&m.appConfigService.allowMktKit),n.\u0275\u0275advance(3),n.\u0275\u0275property("disabled",!(null!=s.order&&s.order.isFlyerBuilderEnabled)),n.\u0275\u0275advance(2),n.\u0275\u0275property("disabled",null==s.order?null:s.order.isFlyerBuilderEnabled)}}const Gs=function(c){return["/order-dashboard",c,"delivery","video-instructions"]};function Ir(c,g){if(1&c&&(n.\u0275\u0275elementStart(0,"div",195)(1,"div",217)(2,"a",205,218),n.\u0275\u0275element(4,"i",186),n.\u0275\u0275text(5," Create Video "),n.\u0275\u0275elementEnd()()()),2&c){const s=n.\u0275\u0275reference(3),m=n.\u0275\u0275nextContext(4).ngIf;n.\u0275\u0275advance(2),n.\u0275\u0275property("routerLink",n.\u0275\u0275pureFunction1(2,Gs,null==m.order?null:m.order.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",s.iconSize)}}function ao(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.videoMaker,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(4);return C.onPanelStateChange(C.accordionPanels.videoMaker,!0)}),n.\u0275\u0275elementStart(2,"mat-expansion-panel-header")(3,"mat-panel-title"),n.\u0275\u0275text(4,"Video Maker"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(5,Ir,6,4,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275nextContext(4);n.\u0275\u0275advance(1),n.\u0275\u0275property("expanded",s.accordionPanelsState[s.accordionPanels.videoMaker])}}function so(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"button",58),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3).ngIf,M=n.\u0275\u0275nextContext();return C.order&&M.resendProjectCompletion(C.order)}),n.\u0275\u0275text(1," Resend project complete email "),n.\u0275\u0275elementEnd()}}function lo(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"form",50),n.\u0275\u0275template(1,np,8,2,"ng-container",0),n.\u0275\u0275template(2,ip,2,1,"div",51),n.\u0275\u0275elementStart(3,"mat-accordion",52)(4,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.status,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.status,!0)}),n.\u0275\u0275elementStart(5,"mat-expansion-panel-header")(6,"mat-panel-title"),n.\u0275\u0275text(7,"Status"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(8,op,6,9,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(9,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.schedule,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.schedule,!0)}),n.\u0275\u0275elementStart(10,"mat-expansion-panel-header")(11,"mat-panel-title")(12,"span",55),n.\u0275\u0275text(13,"Schedule"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(14,ap,2,1,"span",0),n.\u0275\u0275pipe(15,"async"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(16,gp,22,8,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(17,hp,5,1,"mat-expansion-panel",56),n.\u0275\u0275pipe(18,"async"),n.\u0275\u0275template(19,kp,5,1,"mat-expansion-panel",56),n.\u0275\u0275elementStart(20,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.customer,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return
1C.onPanelStateChange(C.accordionPanels.customer,!0)}),n.\u0275\u0275elementStart(21,"mat-expansion-panel-header")(22,"mat-panel-title"),n.\u0275\u0275text(23,"Customer"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(24,Ep,9,6,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(25,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.customerNotes,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.customerNotes,!0)}),n.\u0275\u0275elementStart(26,"mat-expansion-panel-header")(27,"mat-panel-title"),n.\u0275\u0275text(28,"Customer Notes"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(29,Op,1,2,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(30,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.branding,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.branding,!0)}),n.\u0275\u0275elementStart(31,"mat-expansion-panel-header")(32,"mat-panel-title"),n.\u0275\u0275text(33,"Branding"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(34,Ip,3,4,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(35,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.property,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.property,!0)}),n.\u0275\u0275elementStart(36,"mat-expansion-panel-header"),n.\u0275\u0275template(37,Ol,2,0,"mat-panel-title",0),n.\u0275\u0275template(38,Dp,2,0,"mat-panel-title",0),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(39,jp,13,9,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(40,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.project,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.project,!0)}),n.\u0275\u0275elementStart(41,"mat-expansion-panel-header")(42,"mat-panel-title"),n.\u0275\u0275text(43,"Project"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(44,We,21,14,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(45,aa,5,1,"mat-expansion-panel",56),n.\u0275\u0275template(46,zp,5,1,"mat-expansion-panel",56),n.\u0275\u0275elementStart(47,"mat-expansion-panel",53),n.\u0275\u0275listener("closed",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.flyerBuilder,!1)})("opened",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(3);return C.onPanelStateChange(C.accordionPanels.flyerBuilder,!0)}),n.\u0275\u0275elementStart(48,"mat-expansion-panel-header")(49,"mat-panel-title"),n.\u0275\u0275text(50,"Flyer Builder"),n.\u0275\u0275elementEnd()(),n.\u0275\u0275template(51,Fl,13,6,"ng-template",54),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(52,ao,6,1,"ng-container",0),n.\u0275\u0275elementEnd()(),n.\u0275\u0275elementStart(53,"div",57)(54,"button",58),n.\u0275\u0275listener("click",function(){n.\u0275\u0275restoreView(s);const C=n.\u0275\u0275nextContext(2).ngIf,M=n.\u0275\u0275nextContext();return C.order&&M.onResendBookingConfirm(C.order)}),n.\u0275\u0275text(55," Resend booking confirmation "),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(56,so,2,0,"button",59),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(2).ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275property("formGroup",m.orderForm),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.hubspot),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",null==s.order?null:s.order.bookingFlow),n.\u0275\u0275advance(2),n.\u0275\u0275property("expanded",m.accordionPanelsState[m.accordionPanels.status]),n.\u0275\u0275advance(5),n.\u0275\u0275property("expanded",m.accordionPanelsState[m.accordionPanels.schedule]),n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(15,20,m.appointments$)),n.\u0275\u0275advance(3),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(18,22,m.isAccountingConnected$)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",m.hasFullAccess),n.\u0275\u0275advance(1),n.\u0275\u0275property("expanded",m.accordionPanelsState[m.accordionPanels.customer]),n.\u0275\u0275advance(5),n.\u0275\u0275property("expanded",m.accordionPanelsState[m.accordionPanels.customerNotes]),n.\u0275\u0275advance(5),n.\u0275\u0275property("expanded",m.accordionPanelsState[m.accordionPanels.branding]),n.\u0275\u0275advance(5),n.\u0275\u0275property("expanded",m.accordionPanelsState[m.accordionPanels.property]),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",m.isPropertyBookingType(s.order)),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",!m.isPropertyBookingType(s.order)),n.\u0275\u0275advance(2),n.\u0275\u0275property("expanded",m.accordionPanelsState[m.accordionPanels.project]),n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",m.appConfigService.allowDropboxConnections),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",m.appConfigService.allowSinglePropertyWebsite),n.\u0275\u0275advance(1),n.\u0275\u0275property("expanded",m.accordionPanelsState[m.accordionPanels.flyerBuilder]),n.\u0275\u0275advance(5),n.\u0275\u0275property("ngIf",m.appConfigService.allowVideoRendering),n.\u0275\u0275advance(4),n.\u0275\u0275property("ngIf",m.isResendProjectCompleteEnabled)}}function or(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementStart(0,"div",219)(1,"ui-quill-notes",220),n.\u0275\u0275listener("noteChange",function(C){n.\u0275\u0275restoreView(s);const M=n.\u0275\u0275nextContext(2).ngIf;return n.\u0275\u0275nextContext().onSaveInternalNotes(M.order,M.internalNotes,C)}),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(2,"div",221),n.\u0275\u0275elementEnd()}if(2&c){const s=n.\u0275\u0275nextContext(2).ngIf;let m;n.\u0275\u0275advance(1),n.\u0275\u0275property("content",null!==(m=null==s.internalNotes?null:s.internalNotes.content)&&void 0!==m?m:"")}}function Dr(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"div",38)(2,"header",39)(3,"button",40,41),n.\u0275\u0275listener("click",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext(2).closeSidebar()}),n.\u0275\u0275pipe(5,"translate"),n.\u0275\u0275element(6,"i",42),n.\u0275\u0275elementEnd(),n.\u0275\u0275element(7,"ui-open-in-new-tab",43),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(8,"mat-tab-group",44),n.\u0275\u0275template(9,tp,2,1,"mat-tab",45),n.\u0275\u0275elementStart(10,"mat-tab",46),n.\u0275\u0275template(11,lo,57,24,"ng-template",47),n.\u0275\u0275elementEnd(),n.\u0275\u0275elementStart(12,"mat-tab",48),n.\u0275\u0275template(13,or,3,1,"ng-template",47),n.\u0275\u0275elementEnd()()(),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=n.\u0275\u0275reference(4),m=n.\u0275\u0275nextContext().ngIf,C=n.\u0275\u0275nextContext();n.\u0275\u0275advance(3),n.\u0275\u0275attribute("aria-label",n.\u0275\u0275pipeBind1(5,4,"CLOSE")),n.\u0275\u0275advance(3),n.\u0275\u0275property("size",s.iconSize),n.\u0275\u0275advance(1),n.\u0275\u0275property("url","/order-status/"+(null==m.order?null:m.order.id)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",C.tabName)}}function Mr(c,g){if(1&c){const s=n.\u0275\u0275getCurrentView();n.\u0275\u0275elementContainerStart(0),n.\u0275\u0275elementStart(1,"tn-order-sidebar-wrapper",1),n.\u0275\u0275listener("sidebarClosed",function(){return n.\u0275\u0275restoreView(s),n.\u0275\u0275nextContext().closeSidebar()}),n.\u0275\u0275template(2,zi,2,1,"ng-container",0),n.\u0275\u0275pipe(3,"async"),n.\u0275\u0275elementEnd(),n.\u0275\u0275template(4,Dr,14,6,"ng-container",0),n.\u0275\u0275elementContainerEnd()}if(2&c){const s=g.ngIf,m=n.\u0275\u0275nextContext();n.\u0275\u0275advance(1),n.\u0275\u0275property("isOpen",!!s.order&&m.isNewSidebarEnabled&&!m.disableNewView),n.\u0275\u0275advance(1),n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(3,3,m.activePanels$)),n.\u0275\u0275advance(2),n.\u0275\u0275property("ngIf",s.order&&!m.isNewSidebarEnabled||m.disableNewView)}}D().extend(J()),D().extend(I());let fi=class{constructor(g,s,m,C,M,oe,we,Ge,tt,dt,Ve,it,bt,$t,vn,Mn,Pn,ai,si,ye,Xe,vt,xt,et,rn,Gt,Kt,on,Cn,On,Ut,Vn,vi,Xn,Bt,Ii,ar,Di,Up,sa){var Mi,la;this.usersRepositoryService=g,this.appConfigService=s,this.cdr=m,this.matDialog=C,this.formBuilder=M,this.popupService=oe,this.localStorageService=we,this.configService=Ge,this.authService=tt,this.domainsFacade=dt,this.permissionsService=Ve,this.projectService=it,this.listingWebsitesService=bt,this.orderDetailsComponentStore=$t,this.calendarEventsRepositoryService=vn,this.dueDateStatusService=Mn,this.invoicesRepositoryService=Pn,this.accountingAuthComponentStore=ai,this.accountingFactoryService=si,this.invoiceService=ye,this.accountingService=Xe,this.manualPropertyAddressDialogService=vt,this.schedulingService=xt,this.travelFeeService=et,this.bookingFlowsRepositoryService=rn,this.orderDeliveryPhotosService=Gt,this.cubicasaOrderViewRepository=Kt,this.esoftOrderViewRepository=on,this.dateFormatService=Cn,this.orderScheduledTimePipe=On,this.uiCurrencyPipe=Ut,this.alertDialogService=Vn,this.flyerDataDialogService=vi,this.marketingKitService=Xn,this.matSnackBar=Bt,this.translateService=Ii,this.taskService=ar,this.orderDialogPreferenceService=Di,this.energyEfficiencyService=Up,this.uiUsageTracker=sa,this.tabName="",this.isLimitedContractorAcce
1ss=!1,this.isLimitedStaffAccess=!1,this.disableNewView=!1,this.closePanel=new n.EventEmitter,this.accordionPanels={status:"status",schedule:"schedule",customer:"customer",branding:"branding",property:"property",project:"project",sales:"sales",accounting:"accounting",deliverables:"deliverables",website:"website",customerNotes:"customerNotes",flyerBuilder:"flyerBuilder",videoMaker:"videoMaker"},this.accordionStateKey="ORDER_DETAILS_ACCORDION_STATE",this.accordionPanelsState=this.localStorageService.retrieve(this.accordionStateKey)||{[this.accordionPanels.status]:!0},this.orderStatuses=(0,Tt.C0F)(this.appConfigService.orderStatuses,null===(Mi=this.appConfigService.localization)||void 0===Mi?void 0:Mi.language),this.paymentStatuses=(0,Tt.C0F)(this.appConfigService.paymentStatuses,null===(la=this.appConfigService.localization)||void 0===la?void 0:la.language),this.placeholder=this.dateFormatService.getDateFormatByLocale(Tt.lvo.US_DATE),this.emailPattern=/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/,this.appConfigTimeZone=this.appConfigService.timeZone,this.vm$=this.orderDetailsComponentStore.vm$,this.isTogglingSpw$=this.orderDetailsComponentStore.isTogglingSpw$,this.orderDateCreated$=this.vm$.pipe((0,Pe.U)(({order:yt})=>{var Pi;return this.formatDate(null===(Pi=null==yt?void 0:yt.dateCreated)||void 0===Pi?void 0:Pi.seconds)})),this.orderDate$=this.vm$.pipe((0,Pe.U)(({order:yt})=>this.formatDate(null==yt?void 0:yt.date))),this.customer$=this.vm$.pipe((0,Pe.U)(({order:yt})=>null==yt?void 0:yt.customerUid),(0,be.h)(yt=>Boolean(yt)),(0,Ze.x)(),(0,$e.w)(yt=>this.usersRepositoryService.getById$(yt))),this.spwLinks$=this.vm$.pipe((0,Pe.U)(({listingProperty:yt})=>yt),(0,be.h)(yt=>Boolean(yt)),(0,je.b)(yt=>this.domainsFacade.primeForProperty(yt)),(0,$e.w)(()=>(0,ce.aj)([this.domainsFacade.defaultDomainPath$,this.domainsFacade.customDomainNames$])),(0,$e.w)(()=>(0,ce.aj)([this.domainsFacade.spwLinks$||(0,ae.of)(null),this.appConfigService.language$])),(0,Pe.U)(([yt,Pi])=>{var sr;if(!yt)return null;const Ci=Ks=>{if(!Ks)return Ks;const Al=new URL(Ks);return Al.searchParams.set("lang",Pi),Al.toString()};return{defaultUrl:Ci(yt.defaultUrl),brandedDefaultUrl:Ci(yt.brandedDefaultUrl),unbrandedDefaultUrl:(null===(sr=yt.unbrandedDefaultUrl)||void 0===sr?void 0:sr.length)?yt.unbrandedDefaultUrl:yt.defaultUrl,customUrl:Ci(yt.customUrl)}})),this.authUser$=this.authService.user$,this.isAccountingConnected$=this.accountingAuthComponentStore.isAccountingConnected$,this.accountingInvoiceUrl$=this.accountingFactoryService.getAccountingInvoiceUrl(),this.activePanels$=this.isAccountingConnected$.pipe((0,Pe.U)(yt=>{const Pi=this.appConfigService.allowDropboxConnections;return va.h.filter(sr=>!("deliverables"===sr.id&&!Pi||"accounting"===sr.id&&!yt))}),(0,Ye.d)(1)),this.appointments$=this.orderDetailsComponentStore.orderId$.pipe((0,be.h)(yt=>!!yt),(0,$e.w)(yt=>this.calendarEventsRepositoryService.getOrderCalendarEvents(yt)),(0,Pe.U)(yt=>this.mapEventsToAppointments(yt))),this.cubicasaView$=this.orderDetailsComponentStore.orderId$.pipe((0,Ze.x)(),(0,$e.w)(yt=>yt&&this.appConfigService.isCubicasaConnected?this.cubicasaOrderViewRepository.getForOrder(yt).pipe((0,he.K)(()=>(0,ae.of)(null))):(0,ae.of)(null)),(0,Ye.d)({bufferSize:1,refCount:!0})),this.esoftView$=this.orderDetailsComponentStore.orderId$.pipe((0,Ze.x)(),(0,$e.w)(yt=>yt&&this.appConfigService.isEsoftConnected?this.esoftOrderViewRepository.getForOrder(yt).pipe((0,he.K)(()=>(0,ae.of)(null))):(0,ae.of)(null)),(0,Ye.d)({bufferSize:1,refCount:!0})),this.bookingFlows$=this.bookingFlowsRepositoryService.getAll$().pipe((0,e.t)(this),(0,Ye.d)(1)),this.selectedSectionIndex=0,this.orderForm=this.createForm(),this.saveOrderOnChange(),this.orderDetailsComponentStore.order$.pipe((0,e.t)(this),(0,be.h)(yt=>!!yt)).subscribe(yt=>{this.updateForm(yt),setTimeout(()=>this.cdr.detectChanges())})}set activeSection(g){null!=g&&(this.selectedSectionIndex=g)}set orderId(g){!g||this.orderDetailsComponentStore.init(g)}get hasFullAccess(){return!this.isLimitedContractorAccess&&!this.isLimitedStaffAccess}get isNewSidebarEnabled(){return this.orderDialogPreferenceService.isModernVariant}get isEnergyLabelEnabled(){return!!this.appConfigService.isEnergyLabelEnabled}activateTab(g){this.selectedSectionIndex=g}get notes(){var g,s,m;return{entry_notes:null===(g=this.orderForm.get("entry_notes"))||void 0===g?void 0:g.value,property_feature_notes:null===(s=this.orderForm.get("property_feature_notes"))||void 0===s?void 0:s.value,floor_plan_notes:null===(m=this.orderForm.get("floor_plan_notes"))||void 0===m?void 0:m.value}}get allowUseNewAddServiceDialog(){return this.appConfigService.allowUseNewAddServiceDialog}get rooms(){var g,s,m;const C=this.orderForm.get("rooms");return{bedrooms:null===(g=null==C?void 0:C.get("bedrooms"))||void 0===g?void 0:g.value,bathrooms:null===(s=null==C?void 0:C.get("bathrooms"))||void 0===s?void 0:s.value,halfBaths:null===(m=null==C?void 0:C.get("halfBaths"))||void 0===m?void 0:m.value}}get customQuestionsArray(){return this.orderForm.get("customQuestions")}get isAdminOrStaff(){return"Admin"===this.permissionsService.permissions||"Staff"===this.permissionsService.permissions}get isResendProjectCompleteEnabled(){var g;return null===(g=this.configService.managementConfig)||void 0===g?void 0:g.enableProjectCompleteEmail}isPropertyBookingType(g){var s;return!!g&&((null===(s=g.bookingFlow)||void 0===s?void 0:s.type)?g.bookingFlow.type===pt.cY.PROPERTY:!(null==g?void 0:g.isBranding))}ngOnInit(){this.projectService.detectChanges$.pipe((0,e.t)(this)).subscribe(()=>this.cdr.detectChanges()),this.trackPanelUsage()}ngOnDestroy(){this.uiUsageTracker.panelClosed()}get acreage(){var g;return(null===(g=this.orderForm.get("acreage"))||void 0===g?void 0:g.value)||""}updateOrderForm(g){this.orderForm.patchValue(Object.assign({},g))}getAccountingSyncStatus(g){return(0,Tt.tY1)(g)}getInvoiceCouponItems(g){return((null==g?void 0:g.lineItems)||[]).filter(s=>s.type===pt.is.Coupon).map(s=>s.description)}getInvoiceDiscountItems(g){return((null==g?void 0:g.lineItems)||[]).filter(s=>s.type===pt.is.Discount).map(s=>s.discountPercentage?`Percent discount, ${s.discountPercentage}%`:`Flat discount, ${this.uiCurrencyPipe.transform(s.discountAmount)}`)}onPanelStateChange(g,s){this.accordionPanelsState=Object.assign(Object.assign({},this.accordionPanelsState),{[g]:s}),this.localStorageService.store(this.accordionStateKey,this.accordionPanelsState)}onSaveInternalNotes(g,s,m){!g||!s||this.orderDetailsComponentStore.saveInternalNotes({order:g,notes:s,content:m})}onOrderStatusChange(g,s){this.orderForm.patchValue({orderStatus:s},{emitEvent:!1}),this.cdr.detectChanges(),this.orderDetailsComponentStore.changeOrderStatus({order:g,status:s})}updatePaymentStatus(g){this.orderForm.patchValue({paymentStatus:g})}openInvoiceDialog(g,s){s.preventDefault(),this.matDialog.open(pr,{panelClass:"app-v2",width:"640px",maxWidth:"640px",disableClose:!0,autoFocus:!1,data:{order:g}}).afterClosed().subscribe()}onManualInvoiceEntryStateToggle(g,s,m,C){var M;if(C.checked){if(null===(M=this.orderForm.get("manualInvoiceEntry"))||void 0===M||M.setValue(C.checked),s){const oe=s.totalAmount,we=s.isTaxInclusive?(0,Tt.L0K)(oe,g.salesTax,s.isTaxInclusive):0;this.invoicesRepositoryService.upsert(g.id,{lineItems:[],totalDiscount:0,totalTaxAmount:we,subTotal:oe,amountDue:oe-s.amountPaid})}}else this.invoiceService.initNewInvoice(Object.assign(Object.assign({},g),{transactionFee:(null==m?void 0:m.transactionFee)||0})).subscribe(oe=>{this.patchFormValue(g.id,{manualInvoiceEntry:C.checked,invoice_amount:oe.totalAmount}),this.invoicesRepositoryService.upsert(g.id,oe)})}onManualInvoiceAmountChange(g,s,m){var C;if(m=+m,null===(C=this.orderForm.get("invoice_amount"))||void 0===C||C.setValue(m),s){const M=(null==s?void 0:s.isTaxInclusive)?(0,Tt.L0K)(m,g.salesTax,s.isTaxInclusive):0;this.invoicesRepositoryService.upsert(s.id,{lineItems:[],totalDiscount:0,totalTaxAmount:M,subTotal:m,amountDue:m-s.amountPaid,totalAmount:m})}}onListingAgentsChange(g){this.orderForm.patchValue({listingAgents:g})}changeCustomer(g){var s;const m=(0,Tt.Ybi)({brokerage:g.brokerage,brokerage_obj:g.brokerage_obj,displayName:g.displayName,email:g.email,isListingAgent:!1,phone:g.phone,photoURL:g.photoURL,uid:g.uid});this.orderForm.patchValue({customerUid:g.uid,client_full_name:g.displayName,email:g.email,phone_number:g.phone,contact_notes:(g.emailList||[]).map(C=>C.value),brokerage_code:(null===(s=g.brokerage_obj)||void 0===s?void 0:s.agentCode)||"",listingAgents:[m]})}onContactEmailsChange(g){this.orderForm.patchValue({contact_notes:g})}onAddressEdit(g,s){var m,C,M,oe;const{geometry:we,formatted_address:Ge,place_id:tt,address_components:dt}=s,Ve=null!==(C=null===(m=null==we?void 0:we.location)||void 0===m?void 0:m.lat())&&void 0!==C?C:0,it=null!==(oe=null===(M=null==we?void 0:we.location)||void 0===M?void 0:M.lng())&&void 0!==oe?oe:0,bt=Tt.gzd.parseAddress(null!=dt?dt:[]),$t=Object.assign(Object.assign({},g.property_address),{formatted_address:null!=Ge?Ge:"",placeId:null!=tt?tt
1:"",street:bt.street,city:bt.city||bt.state,state:bt.state,zipcode:bt.zipcode,country:bt.countryCode,countryName:bt.country,lat:Ve,lng:it});this.schedulingService.getTimezone(Ve,it).subscribe(vn=>{$t.timezone=(null==vn?void 0:vn.timeZoneId)||this.appConfigService.timeZone,this.handleAddressChange(g,$t)})}editManualAddress(g,s){var m,C,M,oe,we,Ge,tt,dt;const{property_address:Ve,manualPropertyAddress:it}=g,{formatted_address:bt,countryName:$t=null,timezone:vn,country:Mn=null,zipcode:Pn=null,street:ai=null,state:si=null,lat:ye,lng:Xe,city:vt=null}=Ve||{},xt=it?Object.assign(Object.assign({},it),{propertySquareFootage:null===(m=this.orderForm.get("property_square_footage"))||void 0===m?void 0:m.value,acreage:null===(C=this.orderForm.get("acreage"))||void 0===C?void 0:C.value,line2:null===(M=this.orderForm.get("property_address.line2"))||void 0===M?void 0:M.value,lat:null!=ye?ye:0,lng:null!=Xe?Xe:0}):{propertySquareFootage:null===(oe=this.orderForm.get("property_square_footage"))||void 0===oe?void 0:oe.value,formattedAddress:null!=bt?bt:"",countryName:$t||"",timezone:null!=vn?vn:"",zipcode:null!=Pn?Pn:"",country:null!=Mn?Mn:"",acreage:null===(we=this.orderForm.get("acreage"))||void 0===we?void 0:we.value,street:null!=ai?ai:"",line2:null===(Ge=this.orderForm.get("property_address.line2"))||void 0===Ge?void 0:Ge.value,state:null!=si?si:"",city:null!=vt?vt:"",lat:null!==(tt=null==Ve?void 0:Ve.lat)&&void 0!==tt?tt:0,lng:null!==(dt=null==Ve?void 0:Ve.lng)&&void 0!==dt?dt:0};this.manualPropertyAddressDialogService.openDialog(xt,s).pipe((0,Te.q)(1),(0,be.h)(et=>Boolean(et)),(0,$e.w)(et=>{const rn=et.formattedAddress,Gt=et.line2,Kt=et.lat||0,on=et.lng||0,Cn={formattedAddress:et.formattedAddress,zipcode:et.zipcode,street:(null==et?void 0:et.addressObjectId)?et.formattedAddress:et.street,city:et.city,country:et.country,state:et.state,lat:et.lat,lng:et.lng},On=et.propertySquareFootage,Ut=et.acreage;return this.schedulingService.getTimezone(Kt,on).pipe((0,$e.w)(Vn=>{const vi={locationAddress:Cn,property_address:{formatted_address:rn,line2:Gt,lat:Kt,lng:on,timezone:(null==Vn?void 0:Vn.timeZoneId)||this.appConfigService.timeZone,placeId:"",isManualEntered:!0},property_square_footage:On,acreage:Ut},Xn=this.energyEfficiencyService.buildEnergyPayload(et);return this.energyEfficiencyService.getEnergyEfficiencyCertificate(Xn).pipe((0,je.b)(Bt=>{this.orderDetailsComponentStore.setEnergyEfficiencyLabel(Bt)}),(0,he.K)(Bt=>(console.error("Energy API failed, continuing with address change",Bt),(0,ae.of)(null))),(0,$e.w)(()=>(0,Ie.D)(this.handleAddressChange(g,vi.property_address,et))),(0,Pe.U)(()=>vi))}))}),(0,je.b)(et=>{g.manualInvoiceEntry?this.patchFormValue(g.id,{property_square_footage:et.property_square_footage||void 0,acreage:et.acreage||void 0}):this.handleInvoiceUpdate(g,{property_square_footage:et.property_square_footage,acreage:et.acreage},et.acreage||et.property_square_footage,!!et.acreage)}),(0,he.K)(et=>(console.log(et),Ne.E))).subscribe()}changeAcreage(g,s){this.projectService.logProjectUpdate(g.communication.general.taskRef,"acreage",`changed acreage to ${s}.`),g.manualInvoiceEntry?this.patchFormValue(g.id,{acreage:s}):this.handleInvoiceUpdate(g,{acreage:s},s,!0)}changePropertySquareFootage(g,s){this.projectService.logProjectUpdate(g.communication.general.taskRef,"property_square_footage",`changed total interior area to ${s}.`),g.manualInvoiceEntry?this.patchFormValue(g.id,{property_square_footage:s}):this.handleInvoiceUpdate(g,{property_square_footage:s},s,!1)}onResendBookingConfirm(g){this.orderDetailsComponentStore.resendBookingConfirm(g)}resendProjectCompletion(g){this.orderDetailsComponentStore.resendProjectComplete(g)}archiveTask(g,s,m=!0){this.taskService.archiveTask(g,s,m).subscribe()}onAddServices(g,s){s.preventDefault(),this.orderDetailsComponentStore.editOrderServicesUpgrade(g)}onUpdateCustomTier(g,s,m,C,M=!1){var oe;const we=s[C].find(({name:it})=>m===it);if(!we)return;const Ge=pe(we,"label"),dt={service_custom_tiers:((null==g?void 0:g.service_custom_tiers)||[]).map((it,bt)=>C===bt?Object.assign(Object.assign({},it),{selected:Ge}):it)};if(this.patchFormValue(g.id,dt),g.manualInvoiceEntry)return;const Ve=null!==(oe=g.invoice_amount)&&void 0!==oe?oe:0;this.invoiceService.getInvoiceWithUpdatedServiceLineItems(Object.assign(Object.assign({},g),dt)).subscribe(it=>(0,u.mG)(this,void 0,void 0,function*(){(M||(yield this.projectService.promptInvoiceUpdate(`Update invoice amount from ${this.uiCurrencyPipe.transform(Ve)} to ${this.uiCurrencyPipe.transform(it.totalAmount)}?`)))&&this.updateInvoice(it,g,dt,m,Ve)}))}changeDueDate({dueDate:g,dueTime:s}){this.orderForm.patchValue({dueDate:g,dueTime:s})}onSelectBookingFlow(g,s){const m=g.find(C=>C.id===s);!m||this.orderForm.patchValue({bookingFlow:{id:s,name:m.name,type:(0,Tt.WuM)(m)}})}onEnablePropertyWebsite(g,s){if(g.property_address){this.orderDetailsComponentStore.setPendingSpwPublished(!0);try{this.listingWebsitesService.enablePropertyWebsite(g.id,g.property_address,g.listingAgents,g.rooms,s?Object.assign({},s):void 0,Object.assign({},g))}catch(m){console.error(m),this.orderDetailsComponentStore.setPendingSpwPublished(null)}}}opDisablePropertyWebsite(g){this.orderDetailsComponentStore.setPendingSpwPublished(!1),this.listingWebsitesService.disablePropertyWebsite(g)}onSyncDeliveryWithSPW(g){this.listingWebsitesService.startDeliveryContentSync(g)}onEnableFlyerBuilder(){this.orderForm.patchValue({isFlyerBuilderEnabled:!0})}onDisableFlyerBuilder(){this.orderForm.patchValue({isFlyerBuilderEnabled:!1})}onShowMktKitDialog(g){this.orderDeliveryPhotosService.getPhotos(g).pipe((0,Te.q)(1),(0,je.b)(s=>{!s.length&&this.alertDialogService.alert({message:["You need to add property photos before marketing kit generation."]})}),(0,be.h)(s=>s.length>0),(0,$e.w)(s=>this.flyerDataDialogService.openDialog(g.id,"CONFIRM_AND_GENERATE").pipe((0,Pe.U)(m=>({mktKitInfo:m,photos:s})))),(0,be.h)(({mktKitInfo:s})=>!!s),(0,$e.w)(({photos:s})=>this.marketingKitService.getMktKitInfo(g.id,s)),(0,$e.w)(s=>this.marketingKitService.generateMktKit(s)),(0,je.b)(()=>this.matSnackBar.open("Marketing kit underway, ready in 1 minute","",{duration:3e3,verticalPosition:"bottom",horizontalPosition:"center"})),(0,he.K)(s=>(console.error(s),this.alertDialogService.alert({message:[this.translateService.instant("ERROR_OCCURRED"),this.translateService.instant("ERROR_CONTACT_SUPPORT")]}),Ne.E))).subscribe()}closeSidebar(){this.closePanel.emit()}createForm(){return this.formBuilder.group({acreage:[],bookingFlow:[{id:"",name:"",type:pt.cY.PROPERTY}],brokerage_code:[],client_full_name:[],contact_notes:[],customerUid:[],customQuestions:this.formBuilder.array([]),custom_domain:[],date:[{value:""}],dueDate:[],dueTime:[],email:[],entry_notes:[],existing_contact:[],flexible_scheduling:[null,{updateOn:"change"}],floor_plan_notes:[],id:[],invoice_amount:[],invoice_link:[],isBranding:[],isFlyerBuilderEnabled:[],listingAgents:[],manualInvoiceEntry:[],manualPropertyAddress:this.formBuilder.group({propertySquareFootage:[],formattedAddress:[],isManualEntered:[],countryName:[],zipcode:[],country:[],acreage:[],street:[],state:[],line2:[],city:[],lat:[],lng:[]}),music_option:[],orderStatus:[],order_notes:[],packages:[],paymentStatus:[],phone_number:[],property_address:this.formBuilder.group({formatted_address:[],addressOption:[],lat:[],lng:[],placeId:[],timezone:[],isManualEntered:[],line2:[],street:[],city:[],state:[],zipcode:[],country:[],countryName:[]}),property_feature_notes:[],property_square_footage:[],rooms:this.formBuilder.group({bedrooms:[],bathrooms:[],halfBaths:[]}),scheduled_time:[{value:""}],service_custom_tiers:[],tave_link:[],travels:[]},{updateOn:"blur"})}updateForm(g){var s,m,C,M,oe;g.id!==(null===(s=this.orderForm.get("id"))||void 0===s?void 0:s.value)&&this.orderForm.reset({},{emitEvent:!1}),this.setCustomQuestions(g);const we=g.deadline?xe().tz(g.deadline,this.appConfigService.timeZone):null;this.orderForm.patchValue({acreage:g.acreage||null,bookingFlow:g.bookingFlow||{id:null,name:null,type:pt.cY.PROPERTY},brokerage_code:g.brokerage_code||null,client_full_name:g.client_full_name||null,contact_notes:(g.contact_notes||"").split(",").map(Ge=>
1Ge.trim()).filter(Boolean),customerUid:g.customerUid||null,custom_domain:g.custom_domain||null,date:xe()((0,Tt.EUj)(g.date,this.appConfigService.timeZone)).tz(this.appConfigService.timeZone),dueDate:null!=we?we:"",dueTime:null!==(m=null==we?void 0:we.format(Tt.lvo.TIME_24H))&&void 0!==m?m:"",email:g.email||null,entry_notes:g.entry_notes||null,existing_contact:g.existing_contact||null,flexible_scheduling:null!==(C=g.flexible_scheduling)&&void 0!==C?C:null,floor_plan_notes:g.floor_plan_notes||null,id:g.id||null,invoice_amount:g.invoice_amount||null,invoice_link:g.invoice_link||null,isBranding:g.isBranding||null,isFlyerBuilderEnabled:g.isFlyerBuilderEnabled||null,listingAgents:g.listingAgents||[],manualInvoiceEntry:!!g.manualInvoiceEntry,manualPropertyAddress:g.manualPropertyAddress||{},music_option:g.music_option||null,orderStatus:g.orderStatus||"",order_notes:g.order_notes||null,packages:g.packages||null,paymentStatus:g.paymentStatus||null,phone_number:g.phone_number||null,property_address:g.property_address||{},property_feature_notes:g.property_feature_notes||null,property_square_footage:g.property_square_footage||null,rooms:g.rooms||{bathrooms:0,bedrooms:0,halfBaths:0},scheduled_time:g.when?this.orderScheduledTimePipe.transform(g.when,null===(M=g.property_address)||void 0===M?void 0:M.timezone,this.appConfigService.clientArrivalWindowDuration):g.scheduled_time||null,service_custom_tiers:g.service_custom_tiers||[],tave_link:g.tave_link||null,travels:null!==(oe=g.travels)&&void 0!==oe?oe:[]},{emitEvent:!1})}setCustomQuestions(g){var s;this.customQuestionsArray.clear({emitEvent:!1}),null===(s=g.customQuestions)||void 0===s||s.filter(Boolean).forEach(m=>{this.customQuestionsArray.push(this.formBuilder.control(m.value,{updateOn:"dropdown"===m.type?"change":"blur"}),{emitEvent:!1})})}fillCustomQuestionsValues(g,s){return g.filter(Boolean).map((m,C)=>Object.assign(Object.assign({},m),{value:s[C]}))}patchFormValue(g,s,m){var C;(null===(C=this.orderForm.get("id"))||void 0===C?void 0:C.value)===g&&this.orderForm.patchValue(s,m)}updateInvoice(g,s,m,C,M){this.invoicesRepositoryService.upsert(g.orderId,g),this.projectService.updateInvoiceAmount(s,g.totalAmount,m,`updated service option **${C}**. Invoice amount updated from ${M} to **${g.totalAmount}**.`),g.accountingId&&this.accountingService.resync(g)}hasOrderEditPermissions(){return!!this.isAdminOrStaff||(this.popupService.error({title:"Insufficient Permissions",text:"You cannot edit order details."}),!1)}saveOrderOnChange(){this.orderForm.valueChanges.pipe((0,Pe.U)(()=>this.orderForm.getRawValue()),(0,Re.M)(this.orderDetailsComponentStore.order$),(0,be.h)(()=>this.hasOrderEditPermissions()),(0,be.h)(g=>{const[s,m]=g;return!!m&&s.id===m.id&&this.orderForm.valid}),(0,e.t)(this)).subscribe(([g,s])=>{const{dueDate:m,dueTime:C,manualPropertyAddress:M}=g,oe=(0,u._T)(g,["dueDate","dueTime","manualPropertyAddress"]);let we=Object.assign(Object.assign({},oe),this.getDeadlineInfo(s,m,C));if("string"!=typeof we.date&&"number"!=typeof we.date){const dt=xe().isMoment(we.date)?we.date.unix():s.date;we=Object.assign(Object.assign({},we),{date:dt})}const Ge=we.contact_notes.join(", ").toLowerCase();if(we=Object.assign(Object.assign({},we),{contact_notes:Ge}),we=Object.assign(Object.assign({},we),{customQuestions:this.fillCustomQuestionsValues(s.customQuestions||[],we.customQuestions)}),(null==M?void 0:M.formattedAddress)&&(we=Object.assign(Object.assign({},we),{manualPropertyAddress:M,property_address:Object.assign(Object.assign({},we.property_address),M)})),we.packages===s.packages){const dt=(0,Tt.$oR)(s,Object.assign(Object.assign({},s),we));dt!==we.packages&&(we=Object.assign(Object.assign({},we),{packages:dt})),this.patchFormValue(s.id,{packages:dt},{emitEvent:!1})}we=(0,Tt.Ybi)(we);const tt=(0,Se.Z)({},s,we);tt.listingAgents=we.listingAgents||[],m||(tt.deadline=O.Z.firestore.FieldValue.delete(),tt.orderDueDateCode=O.Z.firestore.FieldValue.delete()),this.orderDetailsComponentStore.updateOrder({original:s,updated:tt})})}formatDate(g){if(!g)return null;const s=this.dateFormatService.getDateFormatByLocale(Tt.lvo.MONTH_FULL_DAY_PADDED_YEAR);return D().tz((0,Tt.ce8)(+g),this.appConfigService.timeZone).format(s)}getDeadlineInfo(g,s,m){if(!s)return{deadline:null,orderDueDateCode:null};const C=$t=>String($t).padStart(2,"0"),M=this.extractDateComponents(s),[oe,we]=m?this.parseTime(m):[M.hours,M.minutes],{year:Ge,month:tt,date:dt}=M,Ve=`${Ge}-${C(tt+1)}-${C(dt)} ${C(oe)}:${C(we)}`,it=D().tz(Ve,this.appConfigTimeZone).format();return{deadline:it,orderDueDateCode:this.dueDateStatusService.getCode(g.date,it)}}extractDateComponents(g){return xe().isMoment(g)?{year:g.year(),month:g.month(),date:g.date(),hours:g.hours(),minutes:g.minutes()}:{year:g.getFullYear(),month:g.getMonth(),date:g.getDate(),hours:g.getHours(),minutes:g.getMinutes()}}parseTime(g){const[s,m]=g.split(":");return[parseInt(s,10),parseInt(m,10)]}mapEventsToAppointments(g){return g?g.filter(s=>!!s.orderId).sort((s,m)=>s.when.start_time-m.when.start_time).map(s=>{var m;return{id:s.id,orderId:null!==(m=s.orderId)&&void 0!==m?m:"",calendarEvent:s,start:this.dateFormatService.formatAppointmentDateTime(s.when.start_time),end:this.dateFormatService.formatAppointmentDateTime(s.when.end_time)}}):null}handleInvoiceUpdate(g,s,m,C){const M=g.invoice_amount;this.invoiceService.getInvoiceWithUpdatedServiceLineItems(Object.assign(Object.assign({},g),s)).subscribe(oe=>{if(oe.totalAmount===M)return void this.patchFormValue(g.id,s);
1const we=`Update invoice amount from ${this.uiCurrencyPipe.transform(M)} to ${this.uiCurrencyPipe.transform(oe.totalAmount)}?`;this.projectService.promptInvoiceUpdate(we).then(Ge=>{if(Ge){oe.status=this.getPaymentStatus(g,oe),this.invoicesRepositoryService.upsert(oe.orderId,oe);const dt=`updated ${C?"acreage":"property square footage"} ${m}. Invoice amount updated from ${g.invoice_amount} to **${oe.totalAmount}**.`;this.projectService.updateInvoiceAmount(g,oe.totalAmount,Object.assign(Object.assign({},s),{paymentStatus:oe.status}),dt),oe.accountingId&&this.accountingService.resync(oe),this.patchFormValue(g.id,Object.assign(Object.assign({},s),{invoice_amount:oe.totalAmount,paymentStatus:oe.status}))}else this.patchFormValue(g.id,s)})})}getPaymentStatus(g,s){return g.paymentStatus===pt.bG.Paid&&s.amountDue>0&&s.amountPaid?pt.bG.PartiallyPaid:0===s.amountDue?pt.bG.Paid:pt.bG.Unpaid}handleAddressChange(g,s,m){var C;return(0,u.mG)(this,void 0,void 0,function*(){const M=g.id,oe=g.invoice_amount||0,we=this.travelFeeService.getOrderTravelsFee(g.travels),Ge=yield this.travelFeeService.recalculateTravelFeeForNewAddress(g.travels,s,null===(C=g.bookingFlow)||void 0===C?void 0:C.id,(0,Tt.j$4)(g)).toPromise(),tt=this.travelFeeService.getOrderTravelsFee(Ge);this.patchFormValue(M,{property_address:s,manualPropertyAddress:m,travels:Ge}),tt!==we&&this.invoiceService.getInvoiceWithUpdatedFeesLineItems(Object.assign(Object.assign({},g),{travels:Ge})).subscribe(dt=>{const{totalAmount:Ve}=dt,it=this.uiCurrencyPipe.transform(oe),bt=this.uiCurrencyPipe.transform(Ve);this.projectService.promptInvoiceUpdate(`Update invoice amount from ${it} to ${bt}?`).then(vn=>{vn&&(this.invoicesRepositoryService.upsert(M,dt),this.patchFormValue(M,{invoice_amount:Ve}),dt.accountingId&&this.accountingService.resync(dt))})})})}trackPanelUsage(){this.uiUsageTracker.panelOpened(),this.orderDialogPreferenceService.variant$.pipe((0,be.h)(g=>null!==g),(0,e.t)(this)).subscribe(g=>this.uiUsageTracker.panelLookRendered(g===Qt.UB.MODERN&&!this.disableNewView))}};fi.\u0275fac=function(g){return new(g||fi)(n.\u0275\u0275directiveInject(k.L2p),n.\u0275\u0275directiveInject(k._ZM),n.\u0275\u0275directiveInject(n.ChangeDetectorRef),n.\u0275\u0275directiveInject(S.uw),n.\u0275\u0275directiveInject(A.qu),n.\u0275\u0275directiveInject(k.qLq),n.\u0275\u0275directiveInject(ze.n2),n.\u0275\u0275directiveInject(k.E4y),n.\u0275\u0275directiveInject(k.e80),n.\u0275\u0275directiveInject(jt.k7),n.\u0275\u0275directiveInject(k.qQA),n.\u0275\u0275directiveInject(k.Y4r),n.\u0275\u0275directiveInject(Vt.fR),n.\u0275\u0275directiveInject(X.HU),n.\u0275\u0275directiveInject(k.es8),n.\u0275\u0275directiveInject(k.tt4),n.\u0275\u0275directiveInject(k.uOT),n.\u0275\u0275directiveInject(T.U7),n.\u0275\u0275directiveInject(k.Vk1),n.\u0275\u0275directiveInject(lt.q),n.\u0275\u0275directiveInject(k.Snr),n.\u0275\u0275directiveInject(nt.O5),n.\u0275\u0275directiveInject(k.X$O),n.\u0275\u0275directiveInject(k.cVO),n.\u0275\u0275directiveInject(k.aPF),n.\u0275\u0275directiveInject(X.PR),n.\u0275\u0275directiveInject($.jr),n.\u0275\u0275directiveInject($.x),n.\u0275\u0275directiveInject(k.fiA),n.\u0275\u0275directiveInject(Jt.OWO),n.\u0275\u0275directiveInject(Jt._ab),n.\u0275\u0275directiveInject(Jt.CtT),n.\u0275\u0275directiveInject(de.FlyerDataDialogService),n.\u0275\u0275directiveInject(X.yV),n.\u0275\u0275directiveInject(Z.ux),n.\u0275\u0275directiveInject(B.sK),n.\u0275\u0275directiveInject(k.Mtp),n.\u0275\u0275directiveInject(Ui.m),n.\u0275\u0275directiveInject(k.pEq),n.\u0275\u0275directiveInject(k.rUh))},fi.\u0275cmp=n.\u0275\u0275defineComponent({type:fi,selectors:[["tn-order-details-form"]],inputs:{tabName:"tabName",activeSection:"activeSection",isLimitedContractorAccess:"isLimitedContractorAccess",isLimitedStaffAccess:"isLimitedStaffAccess",disableNewView:"disableNewView",orderId:"orderId"},outputs:{closePanel:"closePanel"},ngContentSelectors:["*"],decls:2,vars:3,consts:[[4,"ngIf"],[3,"isOpen","sidebarClosed"],[3,"orderId","user","panels","orderStatuses","activeTabIndex","sidebarClosed","customerChanged","tabClicked",4,"ngIf"],[3,"orderId","user","panels","orderStatuses","activeTabIndex","sidebarClosed","customerChanged","tabClicked"],["class","card-body pt-0",3,"formGroup",4,"ngIf"],[1,"card-body","pt-0",3,"formGroup"],[3,"ngClass"],[1,"sections__grid-first-column"],[1,"invoices-and-payments"],[1,"sections__column"],[3,"certificate",4,"ngIf"],[3,"timezone","order","dueDateChanged"],[3,"orderDateCreated","bookingFlowName"],[3,"emailList","customerUrl","customer","customerReplaced","changedEmailList"],[3,"notes","customerUid"],[3,"showSchedulingFlexibility","flexibleSchedulingStatuses","flexibleScheduling","clientPreferences","changed"],[3,"totalInteriorAria","showAcreageInput","showSqFtInput","acreage","order","editInitiated"],[3,"customQuestions","customQuestionsVisibility","order","saved"],[1,"sections__grid"],[3,"completionResendButtonVisible","isSpwEnabled","orderStatuses","order","user","initiatedProjectCompletionResend"],[3,"spwLinks","isTogglingSpw","property","enableSpw","disableSpw"],[3,"order","isFlyerBuilderEnabled","mktKitInProgress","deliveryMktKit","allowMktKit","showMktKitDialog","enabledFlyerBuilder","disabledFlyerBuilder"],[1,"sections__column","sections__column--no-margin"],[3,"agents","authUser","agentsChange"],[1,"mb-8"],[1,"mb-8","text-gray-50"],[3,"isResendProjectCompleteEnabled","resentedProjectCompleteEmail","resentedBookingConfirmation"],[3,"orderId"],[1,"mb-16"],[3,"order","isAccountingConnected","accountingInvoiceUrl","paymentStatusUpdated"],["class","mt-20",4,"ngIf"],[1,"mt-20"],[3,"orderId","status","services","viewUrl","error"],[3,"orders","newOrderUrl","error"],[3,"certificate"],[3,"orderId","orderDate","scheduledTime","date"],[3,"notes"],[3,"rooms","notes","saved"],[1,"app-v2","active-order-details","card-body","pt-0"],[1,"sidebar-header","mb-8","flex","justify-between"],["type","button","uiBtnSize","small","iconOnly","","uiBtnTheme","setting","themeMode","text",3,"click"],["closeSidebarButton","btnSize"],["uiIcon","close",3,"size"],["hint","Customer Order Link","hintPosition","left","icon","edit",3,"url"],["animationDuration","0ms",1,"app-v2","mat-tab-compact"],[3,"label",4,"ngIf"],["label","Order Details"],["matTabContent",""],["label","Additional Notes"],[3,"label"],[1,"pb3",3,"formGroup"],["class","mt2 o-60 fw6",4,"ngIf"],["multi","",1,"app-v2","order-form-accordion"],[3,"expanded","closed","opened"],["matExpansionPanelContent",""],[1,"whitespace-pre"],[3,"expanded","closed","opened",4,"ngIf"],[1,"resend-section"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",3,"click",4,"ngIf"],[1,"fw6","mt3","mb2","black-60","f5"],[1,"flex"],["target","_blank",1,"mr3",3,"href"],["target","_blank",3,"href"],[1,"mt2","o-60","fw6"],[1,"order-form-group"],[1,"grid","grid-cols-2","gap-4","pt-1"],["label","Order Status",3,"items","nameKey","value","selectionChange"],["label","Payment Status",3,"items","nameKey","value","selectionChange"],["label","Accounting Status",3,"value","readonly"],[1,"mb-4"],[3,"loading",4,"ngIf"],[1,"form-field-v2"],["matInput","","formControlName","dueDate",3,"placeholder","matDatepicker"],["matSuffix","",3,"for","disableRipple"],["duepicker",""],[1,"form-field-v2","due-time-field"],["matInput","","type","time","formControlName","dueTime"],["formControlName","order_notes","matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1"],["autosize","cdkTextareaAutosize"],["class","pt-1",4,"ngIf"],[3,"loading"],[4,"ngIf","ngIfElse"],["dateFormTmpl",""],["class","p-2 mb-2 bg-gray-5 rounded border border-brand-5",4,"ngFor","ngForOf"],[1,"p-2","mb-2","bg-gray-5","rounded","border","border-brand-5"],[1,"p-2","mb-2","bg-gray-10","w-full","rounded"],[1,"grid","grid-cols-2","gap-4","pt-1","mb-1"],["label","Start",3,"value","readonly"],["label","End",3,"value","readonly"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"w-full",3,"routerLink","queryParams"],["openInScheduler","btnSize"],["uiIcon","calendar_today",3,"size"],["formControlName","date","matInput","",3,"matDatepicker"],["picker",""],["label","Scheduled Time Block","formControlName","scheduled_time"],["createInScheduler","btnSize"],[1,"pt-1"],["label","Flexible Scheduling","formControlName","flexible_scheduling",3,"nameKey","items"],[3,"invoice","accountingInvoiceUrl"],[1,"font-primary"],[1,"order-form-group","mb-min"],[1,"grid","grid-cols-3","bg-white","text-14"],[1,"flex","flex-col","items-center","font-semibold","py-12"],[1,"text-gray-50","mb-min"],["class","flex justify-center mt-min",4,"ngIf"],[1,"order-form-group","mb-min","pt-min"],[1,"font-semibold","px-8","pb-min","pt-8","relative"],["class","bg-transparent text-12 absolute top-6 right-0 invoice-toggle","color","primary","labelPosition","before",3,"disableRipple","checked","change",4,"ngIf"],["class","bg-white runded px-8 flex items-center h-40 w-full cursor-not-allowed",4,"ngIf"],["mask","separator.2","updateOn","blur",3,"prefix","blurOnEnter","value","valueChange",4,"ngIf"],[1,"flex","justify-center"],["uiBtnSize","small","uiBtnTheme","main","themeMode","text",1,"mt-8",3,"routerLink"],[1,"order-form-group","mb-min","pt-min","flex","items-end"],["label","Invoice Link","formControlName","invoice_link","inputClass","pr-80 truncate","updateOn","blur",1,"w-full",3,"placeholder","blurOnEnter"],["class","absolute right-min bottom-min","text","Copy",3,"v2","value",4,"ngIf"],["class","p-12 h-40 ml-min bg-white rounded",3,"url",4,"ngIf"],["class","px-12 h-40 ml-min bg-white rounded",3,"url",4,"ngIf"],[1,"pt-1","mb-3"],["label","Referral","formControlName","existing_contact","updateOn","blur",3,"blurOnEnter"],["formControlName","tave_link","inputClass","pr-40 truncate","updateOn","blur",3,"label","placeholder","blurOnEnter"],["class","absolute right-min bottom-min rounded bg-white",3,"url",4,"ngIf"],[1,"flex","justify-center","mt-min"],["type","button","uiBtnSize","x-small","uiBtnTheme","main","themeMode","text",1,"w-full",3,"click"],["paymentDetails","btnSize"],["uiIcon","info",3,"size"],["color","primary","labelPosition","before",1,"bg-transparent","text-12","absolute","top-6","right-0","invoice-toggle",3,"disableRipple","checked","change"],[1,"bg-white","runded","px-8","flex","items-center","h-40","w-full","cursor-not-allowed"],["mask","separator.2","updateOn","blur",3,"prefix","blurOnEnter","value","valueChange"],[1,"font-semibold","px-8","pt-8"],["class","bg-white runded px-8 flex items-center h-40 w-full mt-min cursor-not-allowed",4,"ngFor","ngForOf"],[1,"bg-white","runded","px-8","flex","items-center","h-40","w-full","mt-min","cursor-not-allowed"],["text","Copy",1,"absolute","right-min","bottom-min",3,"v2","value"],[1,"p-12","h-40","ml-min","bg-white","rounded",3,"url"],[1,"px-12","h-40","ml-min","bg-white","rounded",3,"url"],[1,"absolute","right-min","bottom-min","rounded","bg-white",3,"url"],["ctaText","Start t
1yping to search customers",3,"user","userSelect"],[1,"block"],[1,"form-item-label"],["uiIcon","content_copy","matTooltip","Copy email list to clipboard",1,"form-item-label-icon",3,"cdkCopyToClipboard","click"],["placeholder","[email protected]",3,"value","chipPattern","update"],[1,"relative"],["class","lowercase",4,"ngIf"],["matInput","","autocomplete","addressfalse","uiAutocompletePlacementFix","","matGoogleMapsAutocomplete","",3,"disabled","value","onAutocompleteSelected"],["class","edit-address-link",3,"click",4,"ngIf"],["class","pt-1 mb-2","formGroupName","property_address",4,"ngIf"],["class","flex justify-center text-14 cursor-pointer text-blue-50",3,"click",4,"ngIf"],["class","pt-1 mb-3",4,"ngIf"],[1,"lowercase"],[1,"edit-address-link",3,"click"],["uiIcon","edit",1,"text-gray-50"],[1,"pl-8","italic"],["formGroupName","property_address",1,"pt-1","mb-2"],["label","Address 2","formControlName","line2","placeholder","Apt 3, Floor #","updateOn","blur",3,"blurOnEnter"],[1,"flex","justify-center","text-14","cursor-pointer","text-blue-50",3,"click"],["uiIcon","edit",1,"mr-8"],["mask","separator.2","updateOn","blur",3,"blurOnEnter","label","suffix","value","valueChange"],["sqftInput",""],["acreageInput",""],["formControlName","entry_notes","matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1"],["formControlName","property_feature_notes","matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1"],["formControlName","floor_plan_notes","matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1"],[1,"mb-8","ml-8"],["formGroupName","rooms",1,"p-0","rounded-none","bg-transparent"],["formControlName","bedrooms","label","Bedrooms","uiFormControl","","updateOn","blur",3,"blurOnEnter"],["formControlName","bathrooms","label","Bathrooms","uiFormControl","","updateOn","blur",3,"blurOnEnter"],["formControlName","halfBaths","label","Half Baths","uiFormControl","","updateOn","blur",3,"blurOnEnter"],["class","text-center",4,"ngIf"],["label","Package","formControlName","packages","updateOn","blur",3,"blurOnEnter"],[1,"body","pl-8","text-gray-50","mb-min","pt-1"],["class","p-8 mb-2 rounded bg-white",4,"ngIf"],[1,"text-center"],["href","#","class","mt-8 w-full","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"click",4,"ngIf"],["formArrayName","customQuestions"],[4,"ngFor","ngForOf"],["label","Custom Domain","inputClass","pr-40 truncate","formControlName","custom_domain","updateOn","blur",3,"blurOnEnter"],["label","Music Option","inputClass","pr-40 truncate","formControlName","music_option","updateOn","blur",3,"blurOnEnter"],["class","form-field-v2",4,"ngIf"],["target","_blank","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"w-full",3,"routerLink"],["openProjectChat","btnSize"],["uiIcon","open_in_new",3,"size"],["label","Booking Flow","nameKey","name","valueKey","id",3,"items","value","selectionChange"],[1,"p-8","mb-2","rounded","bg-white"],[3,"order","orderId","allowArchiving","archiveTask"],["href","#","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"mt-8","w-full",3,"click"],["addService","btnSize"],["uiIcon","add",3,"size"],["class","pt-1 mb-3",4,"ngFor","ngForOf"],[3,"label","nameKey","valueKey","items","value","selectionChange"],["updateOn","blur",3,"label","formControlName","blurOnEnter",4,"ngIf","ngIfElse"],["dropdown",""],["updateOn","blur",3,"label","formControlName","blurOnEnter"],[3,"formControlName","label","items"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","1",3,"value","disabled"],[3,"isSpwEnabled","orderId","syncDeliveryToSpw"],[1,"border","rounded-lg","p-12"],[3,"property","isEnabled","enableSpw","disableSpw"],[1,"flex","flex-col"],[1,"flex","gap-8","mb-8"],["class","flex-auto","uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",3,"routerLink",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","class","ml-auto",3,"matMenuTriggerFor","trailingIcon",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","class","w-full",3,"matMenuTriggerFor","trailingIcon",4,"ngIf"],["xPosition","before",1,"app-v2"],["accessMenu","matMenu"],["mat-menu-item","",3,"disabled","click"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"flex-auto",3,"routerLink"],["flyerBuilderLink","btnSize"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"ml-auto",3,"matMenuTriggerFor","trailingIcon"],["flyerAccessEnabled","btnSize"],["uiIcon","unfold_more",3,"size"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary",1,"w-full",3,"matMenuTriggerFor","trailingIcon"],["flyerAccessDisabled","btnSize"],["class","text-11 text-gray-50 h-16 leading-3 pl-8",4,"ngIf"],["uiBtnSize","small","uiBtnTheme","main","themeMode","tertiary","uiThrottleClick","",1,"flex-auto",3,"uiBtnLoading","throttleClick"],["hint","Delivery","class","ml-8",3,"url",4,"ngIf"],[1,"text-11","text-gray-50","h-16","leading-3","pl-8"],["hint","Delivery",1,"ml-8",3,"url"],[1,"flex","gap-8"],["createVideoLink","btnSize"],[1,"mt3"],[3,"content","noteChange"],[1,"mt2","tr"]],template:function(g,s){1&g&&(n.\u0275\u0275projectionDef(),n.\u0275\u0275template(0,Mr,5,5,"ng-container",0),n.\u0275\u0275pipe(1,"async")),2&g&&n.\u0275\u0275property("ngIf",n.\u0275\u0275pipeBind1(1,1,s.vm$))},directives:[Ke.NgIf,ut,ya,A.JL,A.sg,Ke.NgClass,Ai,So,Xa,qa.t,es.O,to.I,Ko,os,ls,fs,ys,Yi,ws,wr,x,Oe,kr,xc,wc,qi,Oc,sd,dn.s,pn.V,mn.a,v.b,Bs.SP,Bs.uX,Bs.Vc,A._Y,ro.pp,ro.ib,ro.yz,ro.yK,ro.HS,Bi.H,Qi.a,ld.G,Ke.NgForOf,cl.L,Gn.yS,js.KE,js.hX,A.Fj,cd.Nt,Rs.hl,A.JJ,A.u,Rs.nW,js.R9,Rs.Mq,dd.IC,er,ra.Rr,ta.f,Ni.F,Ls.K,Sd,Dt.gM,mt.i3,Jo.k,Td.L,wd.W,kd.W,Ed.QT,A.x0,ml.H,na.o,Od.z,A.CE,nr,Hd,qt.p6,ct.j,Ot.T,qt.VK,qt.OP,Wd.U],pipes:[Ke.AsyncPipe,B.X$,Gd.P,Tt._ab,Tt.FjN,Ke.DatePipe],styles:["mat-expansion-panel.mat-expansion-panel.
1section-panel[_ngcontent-%COMP%]{border-style:none;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);margin-left:0!important;margin-right:0!important}mat-expansion-panel.mat-expansion-panel.section-panel[_ngcontent-%COMP%] .mat-expansion-panel-header[_ngcontent-%COMP%]{padding:0;padding-right:.25rem}mat-expansion-panel.mat-expansion-panel.section-panel[_ngcontent-%COMP%] .mat-expansion-panel-header[_ngcontent-%COMP%]:hover{background-color:transparent}mat-expansion-panel.mat-expansion-panel.section-panel[_ngcontent-%COMP%] .mat-expansion-panel-body{padding:0}mat-expansion-panel.mat-expansion-panel.section-panel[_ngcontent-%COMP%] .mat-expansion-panel-content>:first-child{margin-top:.75rem;margin-bottom:1.5rem}.input-label[_ngcontent-%COMP%]{font-size:.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1));margin-bottom:3px}.input-label--margin-fix[_ngcontent-%COMP%]{margin-bottom:4px}.input-v2[_ngcontent-%COMP%]{height:40px;width:100%;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;line-height:1.25rem}.bordered[_ngcontent-%COMP%]{border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-duration:.3s}.booking-confirmation[_ngcontent-%COMP%]{border-radius:.5rem}.active-order-details[_ngcontent-%COMP%]{position:relative;padding-top:2rem}[_nghost-%COMP%] ui-autocomplete div{border:0!important;border-radius:4px!important}[_nghost-%COMP%] .invoice-toggle .mat-slide-toggle-label{height:25px}[_nghost-%COMP%] .invoice-toggle.mat-checked{color:var(--brand-60, #1C7ED6)}[_nghost-%COMP%] ui-chips input{padding-left:8px}[_nghost-%COMP%] .order-form-group{margin-top:.125rem;margin-bottom:.125rem;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:.25rem}[_nghost-%COMP%] .mat-tab-body-wrapper{padding-top:.5rem}[_nghost-%COMP%] .mat-tab-list, [_nghost-%COMP%] .mat-tab-labels{width:100%}[_nghost-%COMP%] .mat-tab-label{flex:1 1 0%}[_nghost-%COMP%] .mat-tab-label-content{display:block;width:100%;white-space:normal}mat-expansion-panel[_ngcontent-%COMP%]{margin-top:.75rem;margin-bottom:.75rem}.order-form-accordion[_ngcontent-%COMP%] .mat-expansion-panel-body{margin-top:.125rem;margin-bottom:.125rem;padding:.375rem}.order-form-accordion[_ngcontent-%COMP%] .mat-expansion-panel-header, .order-form-accordion[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded{border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));padding-left:.75rem;height:40px}.order-form-accordion[_ngcontent-%COMP%] .mat-expansion-panel-header .mat-expansion-indicator:after, .order-form-accordion[_ngcontent-%COMP%] .mat-expansion-panel-header.mat-expanded .mat-expansion-indicator:after{--tw-border-opacity: 1;border-color:rgb(20 20 20 / var(--tw-border-opacity, 1))}.order-form-accordion[_ngcontent-%COMP%] .mat-expanded.mat-expansion-panel{margin-top:.75rem;margin-bottom:.75rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.order-form-accordion[_ngcontent-%COMP%] .mat-expanded.mat-expansion-panel-header, .order-form-accordion[_ngcontent-%COMP%] .mat-expanded.mat-expansion-panel-header:hover{border-color:var(--brand-50, #228BE6);background-color:var(--brand-10, #D0EBFF)}.order-form-accordion[_ngcontent-%COMP%] .mat-expansion-panel-content{overflow:unset}.form-item-label[_ngcontent-%COMP%]{position:relative;margin-left:.5rem;margin-bottom:.25rem;display:inline-block;font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.form-item-label-icon[_ngcontent-%COMP%]{position:absolute;--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1));top:50%;left:100%;transform:translate(50%,-50%)}mat-form-field[_ngcontent-%COMP%]{width:100%}.due-time-field[_ngcontent-%COMP%] .mat-form-field-required-marker{display:none}.resend-section[_ngcontent-%COMP%]{padding-bottom:124px;margin-top:.75rem}@media (min-width: 640px){.resend-section[_ngcontent-%COMP%]{padding-bottom:1rem}}.edit-address-link[_ngcontent-%COMP%]{position:absolute;top:0;right:.5rem;display:flex;cursor:pointer;font-size:.75rem;font-weight:500;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.edit-address-link--dark[_ngcontent-%COMP%]{color:var(--brand-80, #2563EB)}.clear-address-icon[_ngcontent-%COMP%]{position:absolute;right:.125rem;display:flex;height:2.5rem;width:2.5rem;cursor:pointer;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));top:21px}.sections__grid[_ngcontent-%COMP%]{display:grid;grid-gap:1.25rem;gap:1.25rem;padding-top:2.5rem}@media (min-width: 320px){.sections__grid[_ngcontent-%COMP%]{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width: 1200px){.sections__grid[_ngcontent-%COMP%]{grid-template-columns:560px 1fr}}.sections__grid--hidden[_ngcontent-%COMP%]{display:none}.sections__grid-first-column[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.sections__column[_ngcontent-%COMP%]{gap:1.25rem}@media (min-width: 320px){.sections__column[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width: 768px){.sections__column[_ngcontent-%COMP%]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1200px){.sections__column[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding-top:37px}.sections__column--no-margin[_ngcontent-%COMP%]{padding:0}}"]}),fi=(0,u.gn)([(0,e.c)(),(0,u.w6)("design:paramtypes",[k.L2p,k._ZM,n.ChangeDetectorRef,S.uw,A.qu,k.qLq,ze.n2,k.E4y,k.e80,jt.k7,k.qQA,k.Y4r,Vt.fR,X.HU,k.es8,k.tt4,k.uOT,T.U7,k.Vk1,lt.q,k.Snr,nt.O5,k.X$O,k.cVO,k.aPF,X.PR,$.jr,$.x,k.fiA,Jt.OWO,Jt._ab,Jt.CtT,de.FlyerDataDialogService,X.yV,Z.ux,B.sK,k.Mtp,Ui.m,k.pEq,k.rUh])],fi)},75678:(It,me,_)=>{"use strict";_.d(me,{Y:()=>B});var u=_(70655),n=_(658),A=_(92858),S=_(10793),Z=_(5e3),e=_(32368);let B=(()=>{class L{constructor(w,I){this.orderDialogPreferenceService=w,this.uiUsageTracker=I,this.lightText=!1,this.isNewLookEnabled=!1}ngOnInit(){this.loadInitialValue()}onNewLookToggle(w){return(0,u.mG)(this,void 0,void 0,function*(){try{const I=w!==this.orderDialogPreferenceService.isModernVariant;this.isNewLookEnabled=w;const p=w?A.UB.MODERN:A.UB.LEGACY;I&&this.uiUsageTracker.panelLookChosen(w),yield this.orderDialogPreferenceService.updateVariant(p)}catch(I){console.error("Error updating sidebar setting:",I),this.isNewLookEnabled=!w}})}loadInitialValue(){return(0,u.mG)(this,void 0,void 0,function*(){try{const w=yield this.orderDialogPreferenceService.getCurrentVariant();this.isNewLookEnabled=w===A.UB.MODERN}catch(w){console.error("Error loading sidebar setting:",w),this.isNewLookEnabled=!0}})}}return L.\u0275fac=function(w){return new(w||L)(Z.\u0275\u0275directiveInject(S.m),Z.\u0275\u0275directiveInject(n.rUh))},L.\u0275cmp=Z.\u0275\u0275defineComponent({type:L,selectors:[["tn-order-sidebar-look-toggle"]],inputs:{lightText:"lightText"},decls:2,vars:4,consts:[[1,"mat-slide-toggle-v2",3,"disableRipple","checked","change"]],template:function(w,I){1&w&&(Z.\u0275\u0275elementStart(0,"mat-slide-toggle",0),Z.\u0275\u0275listener("change",function(J){return I.onNewLookToggle(J.checked)}),Z.\u0275\u0275text(1," Switch to the new look\n"),Z.\u0275\u0275elementEnd()),2&w&&(Z.\u0275\u0275classProp("text-white",I.lightText),Z.\u0275\u0275property("disableRipple",!0)("checked",I.isNewLookEnabled))},directives:[e.Rr],styles:[""]}),L})()},40559:(It,me,_)=>{"use strict";_.d(me,{l:()=>W});var u=_(70655),n=_(50026),A=_(70127),S=_(61715),Z=_(68896),e=_(63527),B=_(24850),L=_(75778),D=_(92198),w=_(87545),I=_(87168),p=_(2994),J=_(658),O=_(95659),z=_(18013),ne=_(7081),j=_(49343),G=_(38279),Q=_(98798),P=_(5e3),Y=_(7414);class W extends O.uK{constructor(Ue,ue,N,_e,V,pe,Se,Be,xe,ze){super({order:null,orderMetadata:null,property:null}),this.taskMessagesRepositoryService=Ue,this.ordersRepositoryService=ue,this.propertiesRepositoryService=N,this.orderMetadataRepositoryService=_e,this.bookingConfigDocumentService=V,this.spwContentSyncChecklistService=pe,this.dropbox
1IntegrationRepository=Se,this.deliveryLinksDialogService=Be,this.listingWebsitesService=xe,this.orderSidebarService=ze,this.order$=this.select(ce=>ce.order),this.orderId$=this.select(this.order$,ce=>null==ce?void 0:ce.id),this.syncStatus$=this.select(ce=>{var ae;return null===(ae=ce.orderMetadata)||void 0===ae?void 0:ae.deliverySyncStatus}),this.orderMetadata$=this.select(ce=>ce.orderMetadata),this.bookingSettings$=this.bookingConfigDocumentService.get$(),this.syncedData$=this.select(this.orderMetadata$,this.order$,(ce,ae)=>{if(!ce||!ae)return null;const Ie=(null==ce?void 0:ce.lastDeliverySyncDate)||(null==ae?void 0:ae.lastDeliverySyncDate);return Object.assign(Object.assign({},ce),{lastDeliverySyncDate:Ie?1e3*Ie:void 0})}),this.dropboxFolders$=this.select(this.bookingSettings$.pipe((0,B.U)(ce=>({allowFoldersCreation:!!(null==ce?void 0:ce.dropboxDeliveryFolderPath),dropboxRawFoldersEnabled:!!(null==ce?void 0:ce.dropboxRawFoldersEnabled)})),(0,L.x)()),ce=>ce),this.property$=this.select(ce=>ce.property),this.isSyncTimedOut$=this.select(this.syncStatus$,this.syncedData$,(0,S.F)(1e3),(ce,ae)=>{const Ie=null==ae?void 0:ae.startDeliverySyncDate;if("failed"===ce||"success"===ce||!Ie)return!1;const Ne=this.getSyncDeltaStatus(Ie.seconds);return Ne&&"pending"===ae.deliverySyncStatus&&this.orderMetadataRepositoryService.update(ae.id,{deliverySyncStatus:"failed"}),Ne}),this.isSyncFailed$=this.select(this.syncStatus$,this.isSyncTimedOut$,(ce,ae)=>"failed"===ce||ae,{debounce:!0}),this.syncInProgress$=this.select(this.syncStatus$,this.isSyncTimedOut$,(ce,ae)=>("in_progress"===ce||"pending"===ce)&&!ae),this.isSyncSuccess$=this.select(this.syncStatus$,ce=>"success"===ce),this.foldersCreationInProgress$=this.select(this.orderMetadata$,ce=>!!(null==ce?void 0:ce.triggerFolderCreation)||!!(null==ce?void 0:ce.triggerFolderMove)),this.canCreateRawFolderInDropbox$=this.select(this.order$,this.dropboxFolders$,(ce,{allowFoldersCreation:ae,dropboxRawFoldersEnabled:Ie})=>!(null==ce?void 0:ce.rawFolderLink)&&ae&&Ie),this.canCreateFolderStructureInDropbox$=this.select(this.order$,ce=>{if(ce){const{property_address:ae,manualPropertyAddress:Ie,customerUid:Ne,calendarEvent:Pe,services:be,orderStatus:Ze}=ce;return!(((null==ae?void 0:ae.formatted_address)||(null==Ie?void 0:Ie.formattedAddress))&&Ne&&Pe&&be.length&&Ze!==Q.av.PENDING)}return!1}),this.viewModel$=this.select(this.canCreateFolderStructureInDropbox$,this.canCreateRawFolderInDropbox$,this.foldersCreationInProgress$,this.dropboxFolders$,this.syncInProgress$,this.isSyncSuccess$,this.isSyncFailed$,this.syncedData$,this.order$,(ce,ae,Ie,Ne,Pe,be,Ze,$e,je)=>({canCreateFolderStructureInDropbox:ce,canCreateRawFolderInDropbox:ae,foldersCreationInProgress:Ie,dropboxFolders:Ne,syncInProgress:Pe,isSyncSuccess:be,isSyncFailed:Ze,syncedData:$e,order:je,isNativeOrder:!!(null==je?void 0:je.isNativeUpload)}),{debounce:!0}),this.passiveWatchOrderMetadata=this.effect(()=>this.orderId$.pipe((0,D.h)(ce=>!!ce),(0,w.w)(ce=>this.orderMetadataRepositoryService.getById$(ce).pipe((0,n._b)(ae=>this.patchState({orderMetadata:ae}),ae=>console.error(ae)))))),this.creationTimeOut=this.effect(()=>(0,S.F)(6e4).pipe((0,I.M)(this.syncedData$),(0,p.b)(([ce,ae])=>{const Ie=null==ae?void 0:ae.startDeliveryFoldersCreateDate;!Ie||!this.getSyncDeltaStatus(Ie.seconds)||ae.triggerFolderCreation&&this.orderMetadataRepositoryService.update(ae.id,{triggerFolderCreation:!1})}))),this.passiveWatchOrderProperties=this.effect(()=>this.orderId$.pipe((0,D.h)(ce=>!!ce),(0,w.w)(ce=>this.propertiesRepositoryService.getById$(ce).pipe((0,n._b)(ae=>this.patchState({property:ae}),ae=>console.error(ae)))))),this.updateOrderDeliverableLink=this.effect(ce=>ce.pipe((0,p.b)(()=>{this.orderSidebarService.setLoadingStatus("pending")}),(0,I.M)(this.order$),(0,p.b)(([{url:ae,uid:Ie},Ne])=>{if(!Ne)return;const Pe=ae||"";this.ordersRepositoryService.update(Ne.id,{deliverable_link:Pe}).then(()=>{this.createMessage(Ne,Pe,Ie),this.orderSidebarService.setLoadingStatus("fulfilled")}).catch(be=>{console.error(be),this.orderSidebarService.setLoadingStatus("fulfilled")})}
1))),this.onSync=this.effect(ce=>ce.pipe((0,I.M)(this.property$,this.order$),(0,w.w)(([ae,Ie,Ne])=>{if(!Ne)return Z.E;const Pe=Ne.id;return ae&&Ie&&(0,j.hO)(Ie)?this.spwContentSyncChecklistService.openDialog(Object.assign({},Q.ri)).pipe((0,D.h)(be=>!!be),(0,w.w)(be=>this.syncDeliveryContent(Pe,be))):this.syncDeliveryContent(Pe)}))),this.createDeliveryFolders=this.effect(ce=>ce.pipe((0,I.M)(this.orderId$,this.foldersCreationInProgress$),(0,D.h)(([ae,Ie,Ne])=>!!Ie&&!Ne),(0,p.b)(([ae,Ie])=>{this.dropboxIntegrationRepository.createDeliveryFolders(Ie)}))),this.toggleDeliverablesFilesLock=this.effect(ce=>ce.pipe((0,I.M)(this.order$),(0,w.w)(([ae,Ie])=>Ie?this.ordersRepositoryService.update(Ie.id,{lockFilesUntilPaid:ae}):Z.E))),this.openLinksDialogEffect=this.effect(ce=>ce.pipe((0,I.M)(this.order$),(0,w.w)(([{isSpwEnabled:ae,url:Ie},Ne])=>{if(!Ne)return Z.E;const Pe=Ne.id;return this.deliveryLinksDialogService.openDialog({isSpwEnabled:ae,orderId:Pe,orderFolder:Ie,links:Ne.deliverablesLinks||[]}).pipe((0,D.h)(Boolean),(0,w.w)(be=>be.links?(0,e.D)(this.updateDeliverableLinks(Pe,be.links)).pipe((0,p.b)(()=>{this.listingWebsitesService.startDeliveryContentSync(Pe)})):Z.E))})))}setOrder(Ue,ue={}){this.patchState(Object.assign(Object.assign({},ue),{order:Ue}))}getSyncDeltaStatus(Ue,ue=300){return A.Z.firestore.Timestamp.now().seconds-Ue>ue}syncDeliveryContent(Ue,ue=null){return this.dropboxIntegrationRepository.syncDeliveryContent(Ue,ue)}createMessage(Ue,ue,N){this.taskMessagesRepositoryService.create({taskId:Ue.communication.general.taskRef.id},{type:"event",text:ue?"updated delivery folder link":"deleted delivery folder link",user:N,ts:Date.now()})}updateDeliverableLinks(Ue,ue){return(0,u.mG)(this,void 0,void 0,function*(){yield this.ordersRepositoryService.update(Ue,{deliverablesLinks:ue})})}}W.\u0275fac=function(Ue){return new(Ue||W)(P.\u0275\u0275inject(J.XaN),P.\u0275\u0275inject(J.HVf),P.\u0275\u0275inject(z.D7),P.\u0275\u0275inject(J.ZlF),P.\u0275\u0275inject(J.KVG),P.\u0275\u0275inject(ne.US),P.\u0275\u0275inject(J.G0i),P.\u0275\u0275inject(ne.xE),P.\u0275\u0275inject(G.fR),P.\u0275\u0275inject(Y.R))},W.\u0275prov=P.\u0275\u0275defineInjectable({token:W,factory:W.\u0275fac}),(0,u.gn)([(0,O.wE)(),(0,u.w6)("design:type",Function),(0,u.w6)("design:paramtypes",[Object,Object]),(0,u.w6)("design:returntype",void 0)],W.prototype,"setOrder",null)},27836:(It,me,_)=>{"use strict";_.d(me,{K:()=>ne});var u=_(92198),n=_(93075),A=_(48966),S=_(98798),Z=_(5e3),e=_(67656),B=_(39348),L=_(50257),D=_(69808),w=_(69009),I=_(66809),p=_(72751);const J=function(){return[]};function O(j,G){if(1&j&&Z.\u0275\u0275element(0,"ui-select",7),2&j){const Q=Z.\u0275\u0275nextContext();let P;Z.\u0275\u0275property("nameKey","label")("valueKey","name")("items",null!==(P=null==Q.customTier?null:Q.customTier.tiers)&&void 0!==P?P:Z.\u0275\u0275pureFunction0(3,J))}}let z=(()=>{class j{constructor(Q,P){this.data=Q,this.dialogRef=P,this.form=new n.cw({quantity:new n.NI(null,[n.kI.required]),customTierName:new n.NI(null)})}get lineItem(){return this.data.lineItem}get customTier(){return this.data.customTier}get price(){return"unitAmount"in this.lineItem&&this.lineItem.unitAmount||"fullInitialPrice"in this.lineItem&&this.lineItem.fullInitialPrice||this.lineItem.fullPrice}get disabledQuantity(){return this.data.lineItem.type===S.is.Package}ngOnInit(){var Q,P;this.form.setValue({quantity:(null===(Q=this.lineItem)||void 0===Q?void 0:Q.quantity)||1,customTierName:(null===(P=this.customTier)||void 0===P?void 0:P.selected.name)||null})}save(){this.dialogRef.close(this.form.value)}}return j.\u0275fac=function(Q){return new(Q||j)(Z.\u0275\u0275directiveInject(A.WI),Z.\u0275\u0275directiveInject(A.so))},j.\u0275cmp=Z.\u0275\u0275defineComponent({type:j,selectors:[["tn-service-item-edit"]],decls:11,vars:9,consts:[[1,"form",3,"formGroup"],["appearance","bordered","placeholder","Service item name","label","Service Item Name",3,"disabled","value"],["appearance","bordered","placeholder","Quantity","formControlName","quantity","label","Quantity",1,"form__number-input",3,"minNum","disabled"],["prefix","$","appearance","bordered","placeholder","Price","label","Price",1,"form__number-input",3,"value","disabled"],["class","form__custom-tier","label","Custom tier","appearance","bordered","formControlName","customTierName","placeholder","Custom Tier",3,"nameKey","valueKey","items",4,"ngIf"],[1,"justify-end"],["uiBtnSize","medium","uiBtnTheme","main",3,"disabled","click"],["label","Custom tier","appearance","bordered","formControlName","customTierName","placeholder","Custom Tier",1,"form__custom-tier",3,"nameKey","valueKey","items"]],template:function(Q,P){1&Q&&(Z.\u0275\u0275elementStart(0,"ui-dialog-header"),Z.\u0275\u0275text(1,"Edit order items"),Z.\u0275\u0275elementEnd(),Z.\u0275\u0275elementStart(2,"mat-dialog-content")(3,"form",0),Z.\u0275\u0275element(4,"ui-input",1)(5,"ui-number-input",2)(6,"ui-number-input",3),Z.\u0275\u0275template(7,O,1,4,"ui-select",4),Z.\u0275\u0275elementEnd()(),Z.\u0275\u0275elementStart(8,"mat-dialog-actions",5)(9,"button",6),Z.\u0275\u0275listener("click",function(){return P.save()}),Z.\u0275\u0275text(10," Save "),Z.\u0275\u0275elementEnd()()),2&Q&&(Z.\u0275\u0275advance(3),Z.\u0275\u0275property("formGroup",P.form),Z.\u0275\u0275advance(1),Z.\u0275\u0275property("disabled",!0)("value",P.lineItem.description),Z.\u0275\u0275advance(1),Z.\u0275\u0275property("minNum",1)("disabled",P.disabledQuantity),Z.\u0275\u0275advance(1),Z.\u0275\u0275property("value",P.price)("disabled",!0),Z.\u0275\u0275advance(1),Z.\u0275\u0275property("ngIf",null==P.customTier||null==P.customTier.tiers?null:P.customTier.tiers.length),Z.\u0275\u0275advance(2),Z.\u0275\u0275property("disabled",P.form.invali
1d))},directives:[e.A,A.xY,n._Y,n.JL,n.sg,B.a,L.f,n.JJ,n.u,D.NgIf,w.H,A.H8,I.s,p.V],styles:["[_nghost-%COMP%] .form__number-input label{margin-bottom:4px!important}.form[_ngcontent-%COMP%]{display:grid;grid-gap:.5rem;gap:.5rem;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:.5rem;grid-template-columns:1fr 1fr 80px}.form__custom-tier[_ngcontent-%COMP%]{grid-column-start:1;grid-column-end:4}"],changeDetection:0}),j})(),ne=(()=>{class j{constructor(Q){this.matDialog=Q}openDialog(Q,P){return this.matDialog.open(z,{panelClass:"app-v2",width:"640px",maxWidth:"640px",disableClose:!0,data:{lineItem:Q,customTier:P}}).afterClosed().pipe((0,u.h)(Boolean))}}return j.\u0275fac=function(Q){return new(Q||j)(Z.\u0275\u0275inject(A.uw))},j.\u0275prov=Z.\u0275\u0275defineInjectable({token:j,factory:j.\u0275fac,providedIn:"root"}),j})()},69353:(It,me,_)=>{"use strict";_.d(me,{h:()=>n,k:()=>u});const u={overview:0,delivery:1,activityLog:2},n=[{anchor:{"#overview":"Overview"},id:"overview",title:"Overview"},{anchor:{"#delivery":"Delivery"},id:"delivery",title:"Delivery"},{anchor:{"#activitylog":"Activity Log"},id:"activitylog",title:"Activity Log"}]},7414:(It,me,_)=>{"use strict";_.d(me,{R:()=>A});var u=_(591),n=_(5e3);let A=(()=>{class S{constructor(){this.dataLoadingStatus=new u.X("idle"),this.dataSavingStatus=new u.X("idle"),this.dataLoadingStatus$=this.dataLoadingStatus.asObservable(),this.dataSavingStatus$=this.dataSavingStatus.asObservable()}setLoadingStatus(e){this.dataLoadingStatus.next(e)}setSavingStatus(e){this.dataSavingStatus.next(e)}setLoadingStatusError(e){this.dataLoadingStatus.next({error:e.message})}setSavingStatusError(e){this.dataSavingStatus.next({error:e.message||"Unknown error"})}}return S.\u0275fac=function(e){return new(e||S)},S.\u0275prov=n.\u0275\u0275defineInjectable({token:S,factory:S.\u0275fac}),S})()},10793:(It,me,_)=>{"use strict";_.d(me,{m:()=>D});var u=_(70655),n=_(591),A=_(72986),S=_(658),Z=_(92858),e=_(5e3),B=_(87174);let D=(()=>{class w{constructor(p,J,O,z){this.authService=p,this.usersRepositoryService=J,this.localStorageService=O,this.appConfigService=z,this.orderDialogLayoutName$=new n.X(null),this.variant$=this.orderDialogLayoutName$.asObservable()}get isModernVariant(){return this.orderDialogLayoutName$.getValue()===Z.UB.MODERN}resolveVariantFromUser(p){var J,O;const z=this.orderDialogLayoutName$.getValue();if(null!==z)return z;const ne=null===(O=null===(J=null==p?void 0:p.preferences)||void 0===J?void 0:J.ui)||void 0===O?void 0:O.orderDialogVariant;if(ne)return this.orderDialogLayoutName$.next(ne),ne;const j=this.localStorageService.retrieve("newOrderDetailsSidebarEnabled");if(null!=j){const Q=j?Z.UB.MODERN:Z.UB.LEGACY;return this.orderDialogLayoutName$.next(Q),Q}const G=this.appConfigService.orderDialogVariant;return G?(this.orderDialogLayoutName$.next(G),G):(this.orderDialogLayoutName$.next(Z.UB.MODERN),Z.UB.MODERN)}getCurrentVariant(){return(0,u.mG)(this,void 0,void 0,function*(){const p=yield this.authService.user$.pipe((0,A.q)(1)).toPromise();return this.resolveVariantFromUser(p)})}updateVariant(p){return(0,u.mG)(this,void 0,void 0,function*(){const J=yield this.authService.user$.pipe((0,A.q)(1)).toPromise();if(!J)throw new Error("User must be authenticated to update preferences");this.orderDialogLayoutName$.next(p),yield this.usersRepositoryService.updatePreferences(J.uid,{ui:{orderDialogVariant:p}})})}}return w.\u0275fac=function(p){return new(p||w)(e.\u0275\u0275inject(S.e80),e.\u0275\u0275inject(S.L2p),e.\u0275\u0275inject(B.n2),e.\u0275\u0275inject(S._ZM))},w.\u0275prov=e.\u0275\u0275defineInjectable({token:w,factory:w.\u0275fac,providedIn:"root"}),w})()},38933:(It,me,_)=>{"use strict";_.r(me),_.d(me,{OrdersFeatureOrderManagementModule:()=>Ds});var u=_(29071),n=_(69808),A=_(93075),S=_(2638),Z=_(74202),e=_(18013),B=_(54538),L=_(7081),D=_(96410),w=_(70655),I=_(69287),p=_(5e3),J=_(48966),O=_(57261),z=_(44224),ne=_(21481);var Y=_(82746),W=_(41854),Me=_(88514),Ue=_(36053),ue=_(87545),N=_(24850),_e=_(10
159),V=_(75778),pe=_(5154),Se=_(72986),Be=_(80013),xe=_(658),ze=_(92858),ce=_(98798),ae=_(24254);const Ie=[{label:"Customer Name",icon:"group",key:"customerName",type:"select",searchable:!0,hasAvatar:!0,searchesUsers:!0,orderFilterType:"customer"},{label:"Brokerage",icon:"corporate_fare",key:"brokerage",type:"select",searchable:!0,multiple:!0,orderFilterType:"brokerages"},{label:"Shoot Date",icon:"calendar_today",key:"shootDate",type:"date",orderFilterType:"shootDate"},{label:"Due Date",icon:"calendar_today",key:"dueDate",type:"date",orderFilterType:"dueDate"},{label:"Service",icon:"shopping_bag",key:"service",type:"select",searchable:!0,multiple:!0,orderFilterType:"services"},{label:"Team",icon:"assignment_ind",key:"team",type:"select",searchable:!0,multiple:!0,hasAvatar:!0,orderFilterType:"teamMembers"},{label:"Project Manager",icon:"assignment_ind",key:"projectManager",type:"select",searchable:!0,multiple:!0,hasAvatar:!0,orderFilterType:"teamMembers"},{label:"Order Status",icon:"trending_up",key:"orderStatus",type:"select",orderFilterType:"orderStatuses"},{label:"Payment Status",icon:"local_atm",key:"paymentStatus",type:"select",searchable:!0,multiple:!0,orderFilterType:"paymentStatuses"},{label:"Tags",icon:"label",key:"tags",type:"select",searchable:!0,multiple:!0,orderFilterType:"tags"},{label:"Booking Flows",icon:"swap_calls",key:"bookingFlow",type:"select",searchable:!0,multiple:!0,orderFilterType:"bookingFlows"}],Ne=new Map(Ie.map(x=>[x.key,x]));function be(x){return null!=x&&(Array.isArray(x)?x.length>0:"string"!=typeof x||""!==x)}function Ze(x){return be(x.value)}function $e(x){return Ie.map(v=>{var d;return{key:v.key,label:v.label,type:v.type,icon:v.icon,searchable:v.searchable,multiple:v.multiple,hasAvatar:v.hasAvatar,value:null!==(d=x[v.key])&&void 0!==d?d:null}}).filter(Ze)}function Ye(x){const v={};return Object.entries(x).forEach(([d,f])=>{be(f)&&(v[d]=f)}),v}var he=_(71764),Te=_.n(he);const Re=[ce.av.PENDING,ce.av.INPROGRESS],nt_STORAGE_KEYS_ACTIVE_TAB="orders:active-tab-key",nt_STORAGE_KEYS_FILTERS="orders:filters",nt_DEFAULTS_DATE_RANGE_MONTHS_BACK=2,nt_DEFAULTS_SORT="creationDate_desc";function k(){return{start:Te()().subtract(nt_DEFAULTS_DATE_RANGE_MONTHS_BACK,"month").startOf("month").toDate(),end:Te()().endOf("day").toDate()}}var $=(()=>{return(x=$||($={})).ACTIVE="active",x.POSTPONED="postponed",x.ATTENTION="attention",x.MONTHLY="monthly",$;var x})();const T=[{key:$.ACTIVE,label:"Active",color:"#4D43DC"},{key:$.POSTPONED,label:"Postponed",color:"#FFA726"},{key:$.ATTENTION,label:"Requires Attention",color:"#F03E3E"},{key:$.MONTHLY,label:"All Orders",icon:"calendar_today"}],X=["#FF66AA","#FCE7F3","#FFE8CC","#FD7E14","#B23A09","#FEF9C3","#FFB915","#DDFFF4","#26DCA6","#099268","#26C6DA","#DBEAFE","#3B82F6","#E0E7FF","#4139BF","#F3E8FF","#B566FF","#7E22CE","#1A1A1A","#EDEDED"];class de{apply(v,d){return v.filter(f=>this.predicate(f)===d)}getDefaultValue(){return!0}}class Jt{apply(v,d){return this.isEmpty(d)?v:v.filter(f=>{const b=this.getDate(f);if(!b)return!1;const E=Array.isArray(b)?b:[b];return 0!==E.length&&E.some(R=>(!d.from||R>=d.from)&&(!d.to||R<=d.to))})}isEmpty(v){return!v.from&&!v.to}}class Tt extends Jt{constructor(){super(...arguments),this.type="shootDate",this.label="Shoot Date"}getDate(v){return v.shootDates}}class bi{apply(v,d){return this.isEmpty(d)?v:v.filter(f=>this.matches(f,d))}isEmpty(v){return 0===v.length}getDefaultValue(){return[]}}const bo=new p.InjectionToken("ORDER_FILTERS"),cr=[new class _a{constructor(){this.type="orderStatuses"}apply(v,d){return 0===d.length?v:v.filter(f=>d.includes(f.orderStatus))}isEmpty(v){return 0===v.length}getDefaultValue(){return[]}},new class jt extends de{constructor(){super(...arguments),this.type="unscheduled"}predicate(v){return 0===v.shootDates.length}},new class lt extends de{constructor(){super(...arguments),this.type="escalated"}predicate(v){return v.isEscalated}},new class Qt extends de{constructor(){super(...arguments),this.type="completedTasks"}predicate(v){return v.allTasksCompleted}},new class Vt extends de{constructor(){super(...arguments),this.type="delivered"}predicate(v){return v.isDelivered}},new class pt extends de{constructor(){super(...arguments),this.type="newCustomer"}predicate(v){return!!v.isFirstOrder}},new class In extends Jt{constructor(){super(...arguments),this.type="creationDate",this.label="Booked Date"}getDate(v){return v.creationDate}},new Tt,new class Ke extends Jt{constructor(){super(...arguments),this.type="dueDate",this.label="Due Date"}getDate(v){return v.dueDate?new Date(v.dueDate):null}},new class mn{constructor(){this.type="customer"}apply(v,d){return this.isEmpty(d)?v:v.filter(f=>{var b;return(null===(b=f.customer)||void 0===b?void 0:b.id)===d})}isEmpty(v){return!(null==v?void 0:v.trim())}getDefaultValue(){return null}},new class dn extends bi{constructor(){super(...arguments),this.type="services",this.label="Service"}matches(v,d){return v.services.some(f=>d.includes(f.name))}},new class pn extends bi{constructor(){super(...arguments),this.type="brokerages",this.label="Brokerage"}matches(v,d){return!!v.brokerage&&d.includes(v.brokerage.name)}},new class Gn extends bi{constructor(){super(...arguments),this.type="teamMembers",this.label="Team"}matches(v,d){return v.members.some(f=>d.includes(f.id))}},new class ua extends bi{constructor(){super(...arguments),this.type="bookingFlows",this.label="Booking Flow"}matches(v,d){return d.includes(v.bookingFlowId)}},new class ga extends bi{constructor(){super(...arguments),this.type="paymentStatuses",this.label="Payment Status"}matches(v,d){return d.includes(v.paymentStatus)}},new class ha extends bi{constructor(){super(...arguments),this.type="tags",this.label="Tags"}matches(v,d){var f;return(null!==(f=v.tags)&&void 0!==f?f:[]).some(b=>d.includes(b.id))}}],dr=["amount"],bn=x=>x.reduce((v,{value:d,label:f})=>(f&&(v[d]=f),v),{}),yo=(x,v)=>x.map(d=>Object.assign(Object.assign({},d),{label:v[d.value]||d.label})),pr=x=>({colorMap:x.reduce((v,d)=>(v[d.value]=d.color,v),{}),labelMap:x.reduce((v,d)=>(v[d.value]=d.label,v),{}),options:x.map(v=>({value:v.value,label:v.label}))}),xo=x=>"failed"===x.deliveryFoldersStatusV2;var ee=_(50026),ut=_(76230),Et=_(5698),Pt=_(63527),Dt=_(68896),Qe=_(92198),gt=_(2994),hn=_(61709),zt=_(27221),qe=_(31307),Fi=_(87168),jr=_(40537),an=_(95659),wn=(()=>{return(x=wn||(wn={})).SHOOTS_TODAY="shootsToday",x.SHOOTS_TOMORROW="shootsTomorrow",x.SHOOTS_THIS_WEEK="shootsThisWeek",x.NEW_CUSTOMER="newCustomer",wn;var x})(),ba=_(7763);const U=(0,ut.H)(),He=U.getSelectors();let De=(()=>{class x extends ee.m1{constructor(d){super(U.getInitialState()),this.coreRepository=d,this.entities$=this.select(He.selectEntities),this.load=this.effect(f=>f.pipe((0,Fi.M)(this.entities$),(0,N.U)(([b,E])=>b.filter(R=>!E[R])),(0,Qe.h)(b=>b.length>0),(0,ue.w)(b=>(0,Pt.D)(this.coreRepository.orderMetadata.findMany({where:{id:{in:b}}})).pipe((0,ee._b)(E=>this.setAnswered({orderIds:b,metadata:E}),E=>console.error("[CoreOrderMetadataStore] load failed",E)))))),this.setAnswered=this.updater((f,{orderIds:b,metadata:E})=>{const R=new Set(E.map(se=>se.id)),K=b.filter(se=>!R.has(se)).map(se=>({id:se}));return U.setMany([...E,...K],f)})}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(ba.AO))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();var li=_(76106),Mt=_(79629);const mr=(0,ut.H)(),_t=mr.getSelectors(),zn=(x,v)=>{const d=new Set(x);return v.forEach(f=>d.delete(f)),d};let yi=(()=>{class x extends ee.m1{constructor(d){super(Object.assign(Object.assign({},mr.getInitialState()),{pendingIds:new Set})),this.nativeDeliveryService=d,this.entities$=this.select(_t.selectEntities),this.pendingIds$=this.select(f=>
1f.pendingIds),this.load=this.effect(f=>f.pipe((0,Fi.M)(this.entities$,this.pendingIds$),(0,N.U)(([b,E,R])=>b.filter(K=>!E[K]&&!R.has(K))),(0,Qe.h)(b=>b.length>0),(0,gt.b)(b=>this.markPending(b)),(0,hn.zg)(b=>(0,Pt.D)(b).pipe((0,hn.zg)(E=>this.lookUpDelivery(E),4),(0,li.e)(150),(0,Qe.h)(E=>E.length>0),(0,gt.b)(E=>this.setSummaries(E)))))),this.markPending=this.updater((f,b)=>Object.assign(Object.assign({},f),{pendingIds:new Set([...f.pendingIds,...b])})),this.clearPending=this.updater((f,b)=>Object.assign(Object.assign({},f),{pendingIds:zn(f.pendingIds,b)})),this.setSummaries=this.updater((f,b)=>mr.upsertMany(b,Object.assign(Object.assign({},f),{pendingIds:zn(f.pendingIds,b.map(E=>E.id))})))}lookUpDelivery(d){return this.nativeDeliveryService.get(d).pipe((0,N.U)(f=>{var b,E,R,K,se,fe,Ae,Je,le,q,Ce,Oe;return{id:d,coverImage:(0,Mt.Uh)(f),fileCount:(null!==(E=null===(b=f.photos)||void 0===b?void 0:b.length)&&void 0!==E?E:0)+(null!==(K=null===(R=f.videos)||void 0===R?void 0:R.length)&&void 0!==K?K:0)+(null!==(fe=null===(se=f.floorPlans)||void 0===se?void 0:se.length)&&void 0!==fe?fe:0)+(null!==(Je=null===(Ae=f.panoramas)||void 0===Ae?void 0:Ae.length)&&void 0!==Je?Je:0)+(null!==(q=null===(le=f.tours)||void 0===le?void 0:le.length)&&void 0!==q?q:0)+(null!==(Oe=null===(Ce=f.files)||void 0===Ce?void 0:Ce.length)&&void 0!==Oe?Oe:0)}}),(0,zt.K)(f=>(console.error("[NativeDeliverySummaryStore] Failed to load a native delivery",f),this.clearPending([d]),Dt.E)))}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(Mt.zz))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();var ya=_(31545),xa=_.n(ya),Sa=_(25268),Ai=_.n(Sa);Te().extend(Ai()),Te().extend(xa());const Ta=new Set(Object.values(wn));function So(x){return"string"==typeof x&&Ta.has(x)}function To(x){return x!==wn.NEW_CUSTOMER}let Rr=(()=>{class x{constructor(d,f){this.router=d,this.route=f}parseFromUrl(d){const b=this.parseJsonSafe(this.route.snapshot.queryParams.filter),E=null==b?void 0:b.preset;return{sort:this.parseSort(null==b?void 0:b.sort),orderPlacedFrom:(0,ae.wnR)(null==b?void 0:b.orderPlacedFrom),filters:this.parseFilters(null==b?void 0:b.filters,d),search:this.parseSearch(null==b?void 0:b.search),preset:So(E)?E:null}}getEffectiveDateRange(d){return(null==d?void 0:d.start)&&(null==d?void 0:d.end)?{start:d.start,end:d.end}:k()}saveToUrl(d){const f={};if(d.sort!==d.defaultSort&&(f.sort=d.sort),(0,ae.Wsr)(d.orderPlacedFrom)){const R=d.orderPlacedFrom,K=k();(0,ae.a6b)(R)===(0,ae.a6b)(K)||(f.orderPlacedFrom={start:(0,ae._4M)(R.start),end:(0,ae._4M)(R.end)})}f.filters=d.filters.filter(Ze).map(({key:R,value:K})=>({key:R,value:K})),d.search&&(f.search=d.search),d.preset&&(f.preset=d.preset);const b=this.route.snapshot.queryParams,E={};b.tab&&(E.tab=b.tab),b.orderId&&(E.orderId=b.orderId),Object.keys(f).length>0&&(E.filter=JSON.stringify(f));for(const R of Object.keys(b))"tab"!==R&&"orderId"!==R&&"filter"!==R&&(E[R]=b[R]);this.router.navigate([],{relativeTo:this.route,queryParams:E,replaceUrl:!0})}parseJsonSafe(d){if(!d)return null;try{return JSON.parse(d)}catch(f){return null}}parseSort(d){return"string"==typeof d?d:null}parseSearch(d){return"string"==typeof d&&d.length>0?d:null}parseFilters(d,f){return Array.isArray(d)?d.map(b=>{const E=f.find(K=>K.key===b.key);if(!E)return null;let R=b.value;if("date"===E.type&&R){const K=R;R={start:K.start?new Date(K.start):null,end:K.end?new Date(K.end):null}}return{key:E.key,label:E.label,type:E.type,icon:E.icon,value:R}}).filter(b=>null!==b):[]}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(Z.F0),p.\u0275\u0275inject(Z.gz))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();var Kn=_(87174);let Wi=(()=>{class x{constructor(d,f,b,E){this.urlStateService=d,this.localStorageService=f,this.router=b,this.route=E,this.navigationSettled$=this.router.events.pipe((0,Qe.h)(R=>R instanceof Z.m2),(0,Se.q)(1))}save(d){this.urlStateService.saveToUrl(Object.assign(Object.assign({},d),{defaultSort:nt_DEFAULTS_SORT})),this.persistToStorage(d)}saveToUrl(d){this.urlStateService.saveToUrl(Object.assign(Object.assign({},d),{defaultSort:nt_DEFAULTS_SORT}))}restore(){const d=this.restoreFromLocalStorage(),f=null!=d?d:this.urlStateService.parseFromUrl(Ie);return{state:Object.assign(Object.assign({},f),{orderPlacedFrom:this.urlStateService.getEffectiveDateRange(f.orderPlacedFrom)}),source:d?"storage":"url"}}restoreFromLocalStorage(){var d,f;
1const b=this.route.snapshot.queryParams;if(b.filter||b.orderId)return null;const R=this.loadFromStorage();if(!R)return null;try{return{sort:null!==(d=R.sort)&&void 0!==d?d:null,orderPlacedFrom:(0,ae.wnR)(R.orderPlacedFrom),filters:this.urlStateService.parseFilters(R.filters,Ie),search:null!==(f=R.search)&&void 0!==f?f:null,preset:So(R.preset)?R.preset:null}}catch(K){return this.localStorageService.clear(nt_STORAGE_KEYS_FILTERS),null}}loadFromStorage(){return this.localStorageService.retrieve(nt_STORAGE_KEYS_FILTERS)}persistToStorage(d){var f,b,E;const R={sort:d.sort,orderPlacedFrom:(null===(f=d.orderPlacedFrom)||void 0===f?void 0:f.start)&&(null===(b=d.orderPlacedFrom)||void 0===b?void 0:b.end)?{start:(0,ae._4M)(d.orderPlacedFrom.start),end:(0,ae._4M)(d.orderPlacedFrom.end)}:null,filters:(null!==(E=d.filters)&&void 0!==E?E:[]).filter(Ze).map(K=>({key:K.key,value:K.value})),search:d.search,preset:d.preset};this.localStorageService.store(nt_STORAGE_KEYS_FILTERS,R)}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(Rr),p.\u0275\u0275inject(Kn.n2),p.\u0275\u0275inject(Z.F0),p.\u0275\u0275inject(Z.gz))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})(),un=(()=>{class x{constructor(d,f){this.appConfigService=f,this.filterMap=new Map(d.map(b=>[b.type,b]))}applyFilters(d,f){return f.reduce((b,E)=>{const R=this.filterMap.get(E.type);return R?R.apply(b,E.value):b},d)}applyFilter(d,f){const b=this.filterMap.get(f.type);return b?b.apply(d,f.value):d}hasFilter(d){return this.filterMap.has(d)}getFilterMetadata(d){return this.filterMap.get(d)}getAllFilters(){return Array.from(this.filterMap.values())}getFilterTypes(){return Array.from(this.filterMap.keys())}buildPickerDateFilter(d,f){if(!(null==f?void 0:f.from)||!(null==f?void 0:f.to))return null;const b=(0,ae.MjF)(f.from,f.to,this.appConfigService.timeZone);return b?{type:d,value:{from:b.start,to:b.end}}:null}convertActiveFiltersToOrderFilters(d){return d.map(f=>this.toOrderFilter(f)).filter(f=>null!==f)}toOrderFilter(d){if(!d.value||Array.isArray(d.value)&&0===d.value.length)return null;const f=function Pe(x){return Ne.get(x)}(d.key);if(!f)return null;if("date"===f.type)return this.toDateFilter(d,f);const b=f.multiple?Array.isArray(d.value)?d.value:[d.value]:d.value;return{type:f.orderFilterType,value:b}}toDateFilter(d,f){const b=d.value;if(!b.start||!b.end)return null;const E=(0,ae.MjF)(b.start,b.end,this.appConfigService.timeZone);return E?{type:f.orderFilterType,value:{from:E.start,to:E.end}}:null}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(bo),p.\u0275\u0275inject(xe._ZM))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();var Zn=(()=>{return(x=Zn||(Zn={})).Unscheduled="unscheduled",x.Escalated="escalated",Zn;var x})();const Lt=new p.InjectionToken("ORDER_STATUS_LABELS"),mt=new p.InjectionToken("ATTENTION_GROUP_LABELS"),Gi={pending:"Pending",inProgress:"In Progress",postponed:"Postponed",complete:"Completed",cancelled:"Cancelled"},qt={unscheduled:"Unscheduled",escalated:"Escalated"};let Bi=(()=>{class x{constructor(d,f){this.statusLabels=Object.assign(Object.assign({},Gi),null!=d?d:{}),this.attentionLabels=null!=f?f:qt}groupByOrderStatus(d,f,b){const E=this.groupBy(d,R=>R.orderStatus);return f.map(R=>{var K;return this.createGroup(R,this.statusLabels[R],null!==(K=E.get(R))&&void 0!==K?K:[],b)})}groupByAttention(d,f){const b=d.filter(R=>0===R.shootDates.length),E=d.filter(R=>R.isEscalated);return[this.createGroup(Zn.Unscheduled,this.attentionLabels.unscheduled,b,f),this.createGroup(Zn.Escalated,this.attentionLabels.escalated,E,f)]}filterUnscheduledOrders(d){return d.filter(f=>0===f.shootDates.length)}filterEscalatedOrders(d){return d.filter(f=>f.isEscalated)}groupByMonth(d,f,b="shootDates",E="desc"){const R=d.filter(se=>this.hasDate(se,b)),K=this.groupBy(R,se=>this.extractMonthKeys(se,b));return Array.from(K.entries()).sort(([se],[fe])=>"desc"===E?fe.localeCompare(se):se.localeCompare(fe)).map(([se,fe])=>this.createGroup(se,this.formatMonthLabel(se),fe,f))}createGroup(d,f,b,E){var R;const K=b.filter(Ae=>Ae.selected).length,se=b.length;return{key:d,label:f,orders:b,allOrders:b,collapsed:null!==(R=E[d])&&void 0!==R&&R,selection:0===se||0===K?"none":K===se?"all":"some"}}hasDate(d,f){const b=d[f];return Array.isArray(b)?b.length>0:Boolean(b)}extractMonthKeys(d,f){const b=d[f],R=(Array.isArray(b)?b:[b]).filter(K=>Boolean(K)).map(K=>Te()(K).format(ae.lvo.ISO_YEAR_MONTH));return[...new Set(R)]}formatMonthLabel(d){return Te()(d).format(ae.lvo.MONTH_FULL_YEAR)}groupBy(d,f){var b;const E=new Map;for(const R of d){const K=this.normalizeKeys(f(R));for(const se of K){const fe=null!==(b=E.get(se))&&void 0!==b?b:[];fe.push(R),E.set(se,fe)}}return E}normalizeKeys(d){return Array.isArray(d)?d:[d]}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(Lt,8),p.\u0275\u0275inject(mt,8))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();var Ki=_(15861);class Lr{constructor(v,d){const f=v._tree,b=Array.from(f.keys());this.set=v,this._type=d,this._path=b.length>0?[{node:f,keys:b}]:[]}next(){const v=this.dive();return this.backtrack(),v}dive(){if(0===this._path.length)return{done:!0,value:void 0};const{node:v,keys:d}=ji(this._path);if(""===ji(d))return{done:!1,value:this.result()};const f=v.get(ji(d));return this._path.push({node:f,keys:Array.from(f.keys())}),this.dive()}backtrack(){if(0===this._path.length)return;const v=ji(this._path).keys;v.pop(),!(v.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:v})=>ji(v)).filter(v=>""!==v).join("")}value(){return ji(this._path).node.get("")}result(){switch(this._type){case"VALUES":return this.value();case"KEYS":return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const ji=x=>x[x.length-1],Oo=(x,v,d,f,b,E,R,K)=>{const se=E*R;e:for(const fe of x.keys())if(""===fe){const Ae=b[se-1];Ae<=d&&f.set(K,[x.get(fe),Ae])}else{let Ae=E;for(let Je=0;Je<fe.length;++Je,++Ae){const le=fe[Je],q=R*Ae,Ce=q-R;let Oe=b[q];const Le=Math.max(0,Ae-d-1),ct=Math.min(R-1,Ae+d);for(let Ot=Le;Ot<ct;++Ot){const ri=b[q+Ot+1]=Math.min(b[Ce+Ot]+ +(le!==v[Ot]),b[Ce+Ot+1]+1,b[q+Ot]+1);ri<Oe&&(Oe=ri)}if(Oe>d)continue e}Oo(x.get(fe),v,d,f,b,Ae,R,K+fe)}};class ci{constructor(v=new Map,d=""){this._size=void 0,this._tree=v,this._prefix=d}atPrefix(v){if(!v.startsWith(this._prefix))throw new Error("Mismatched prefix");const[d,f]=ur(this._tree,v.slice(this._prefix.length));if(void 0===d){const[b,E]=$r(f);for(const R of b.keys())if(""!==R&&R.startsWith(E)){const K=new Map;return K.set(R.slice(E.length),b.get(R)),new ci(K,v)}}return new ci(d,v)}clear(){this._size=void 0,this._tree.clear()}delete(v){return this._size=void 0,Ri(this._tree,v)}entries(){return new Lr(this,"ENTRIES")}forEach(v){for(const[d,f]of this)v(d,f,this)}fuzzyGet(v,d){return((x,v,d)=>{const f=new Map;if(void 0===v)return f;const b=v.length+1,E=b+d,R=new Uint8Array(E*b).fill(d+1);for(let K=0;K<b;++K)R[K]=K;for(let K=1;K<E;++K)R[K*b]=K;return Oo(x,v,d,f,R,1,b,""),f})(this._tree,v,d)}get(v){const d=Nr(this._tree,v);return void 0!==d?d.get(""):void 0}has(v){const d=Nr(this._tree,v);return void 0!==d&&d.has("")}keys(){return new Lr(this,"KEYS")}set(v,d){if("string"!=typeof v)throw new Error("key must be a string");return this._size=void 0,ei(this._tree,v).set("",d),this}get size(){if(this._size)return this._size;this._size=0;const v=this.entries();for(;!v.next().done;)this._size+=1;return this._size}update(v,d){if("string"!=typeof v)throw new Error("key must be a string");this._size=void 0;const f=ei(this._tree,v);return f.set("",d(f.get(""))),this}fetch(v,d){if("string"!=typeof v)throw new Error("key must be a string");this._size=void 0;const f=ei(this._tree,v);let b=f.get("");return void 0===b&&f.set("",b=d()),b}values(){return new Lr(this,"VALUES")}[Symbol.iterator](){return this.entries()}static from(v){const d=new ci;for(const[f,b]of v)d.set(f,b);return d}static fromObject(v){return ci.from(Object.entries(v))}}const ur=(x,v,d=[])=>{if(0===v.length||null==x)return[x,d];for(const f of x.keys())if(""!==f&&v.startsWith(f))return d.push([x,f]),ur(x.get(f),v.slice(f.length),d);return d.push([x,v]),ur(void 0,"",d)},Nr=(x,v)=>{if(0===v.length||null==x)return x;for(const d of x.keys())if(""!==d&&v.startsWith(d))return Nr(x.get(d),v.slice(d.length))},ei=(x,v)=>{const d=v.length;e:for(let f=0;x&&f<d;){for(const E of x.keys())if(""!==E&&v[f]===E[0]){const R=Math.min(d-f,E.length);let K=1;for(;K<R&&v[f+K]===E[K];)++K;const se=x.get(E);if(K===E.length)x=se;else{const fe=new Map;fe.set(E.slice(K),se),x.set(v.slice(f,f+K),fe),x.delete(E),x=fe}f+=K;continue e}const b=new Map;return x.set(v.slice(f),b),b}return x},Ri=(x,v)=>{const[d,f]=ur(x,v);
1if(void 0!==d)if(d.delete(""),0===d.size)Io(f);else if(1===d.size){const[b,E]=d.entries().next().value;Do(f,b,E)}},Io=x=>{if(0===x.length)return;const[v,d]=$r(x);if(v.delete(d),0===v.size)Io(x.slice(0,-1));else if(1===v.size){const[f,b]=v.entries().next().value;""!==f&&Do(x.slice(0,-1),f,b)}},Do=(x,v,d)=>{if(0===x.length)return;const[f,b]=$r(x);f.set(b+v,d),f.delete(b)},$r=x=>x[x.length-1];class xi{constructor(v){if(null==(null==v?void 0:v.fields))throw new Error('MiniSearch: option "fields" must be provided');const d=null==v.autoVacuum||!0===v.autoVacuum?Wr:v.autoVacuum;this._options=Ql(gn(gn({},Hr),v),{autoVacuum:d,searchOptions:gn(gn({},Nt),v.searchOptions||{}),autoSuggestOptions:gn(gn({},ge),v.autoSuggestOptions||{})}),this._index=new ci,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=An,this.addFields(this._options.fields)}add(v){const{extractField:d,stringifyField:f,tokenize:b,processTerm:E,fields:R,idField:K}=this._options,se=d(v,K);if(null==se)throw new Error(`MiniSearch: document does not have ID field "${K}"`);if(this._idToShortId.has(se))throw new Error(`MiniSearch: duplicate ID ${se}`);const fe=this.addDocumentId(se);this.saveStoredFields(fe,v);for(const Ae of R){const Je=d(v,Ae);if(null==Je)continue;const le=b(f(Je,Ae),Ae),q=this._fieldIds[Ae],Ce=new Set(le).size;this.addFieldLength(fe,q,this._documentCount-1,Ce);for(const Oe of le){const Le=E(Oe,Ae);if(Array.isArray(Le))for(const ct of Le)this.addTerm(q,fe,ct);else Le&&this.addTerm(q,fe,Le)}}}addAll(v){for(const d of v)this.add(d)}addAllAsync(v,d={}){const{chunkSize:f=10}=d,b={chunk:[],promise:Promise.resolve()},{chunk:E,promise:R}=v.reduce(({chunk:K,promise:se},fe,Ae)=>(K.push(fe),(Ae+1)%f==0?{chunk:[],promise:se.then(()=>new Promise(Je=>setTimeout(Je,0))).then(()=>this.addAll(K))}:{chunk:K,promise:se}),b);return R.then(()=>this.addAll(E))}remove(v){const{tokenize:d,processTerm:f,extractField:b,stringifyField:E,fields:R,idField:K}=this._options,se=b(v,K);if(null==se)throw new Error(`MiniSearch: document does not have ID field "${K}"`);const fe=this._idToShortId.get(se);if(null==fe)throw new Error(`MiniSearch: cannot remove document with ID ${se}: it is not in the index`);for(const Ae of R){const Je=b(v,Ae);if(null==Je)continue;const le=d(E(Je,Ae),Ae),q=this._fieldIds[Ae],Ce=new Set(le).size;this.removeFieldLength(fe,q,this._documentCount,Ce);for(const Oe of le){const Le=f(Oe,Ae);if(Array.isArray(Le))for(const ct of Le)this.removeTerm(q,fe,ct);else Le&&this.removeTerm(q,fe,Le)}}this._storedFields.delete(fe),this._documentIds.delete(fe),this._idToShortId.delete(se),this._fieldLength.delete(fe),this._documentCount-=1}removeAll(v){if(v)for(const d of v)this.remove(d);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new ci,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(v){const d=this._idToShortId.get(v);if(null==d)throw new Error(`MiniSearch: cannot discard document with ID ${v}: it is not in the index`);this._idToShortId.delete(v),this._documentIds.delete(d),this._storedFields.delete(d),(this._fieldLength.get(d)||[]).forEach((f,b)=>{this.removeFieldLength(d,b,this._documentCount,f)}),this._fieldLength.delete(d),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(!1===this._options.autoVacuum)return;const{minDirtFactor:v,minDirtCount:d,batchSize:f,batchWait:b}=this._options.autoVacuum;this.conditionalVacuum({batchSize:f,batchWait:b},{minDirtCount:d,minDirtFactor:v})}discardAll(v){const d=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const f of v)this.discard(f)}finally{this._options.autoVacuum=d}this.maybeAutoVacuum()}replace(v){const{idField:d,extractField:f}=this._options,b=f(v,d);this.discard(b),this.add(v)}vacuum(v={}){return this.conditionalVacuum(v)}conditionalVacuum(v,d){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&d,null!=this._enqueuedVacuum||(this._enqueuedVacuum=this._currentVacuum.then(()=>{const f=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=An,this.performVacuuming(v,f)})),this._enqueuedVacuum):!1===this.vacuumConditionsMet(d)?Promise.resolve():(this._currentVacuum=this.performVacuuming(v),this._currentVacuum)}performVacuuming(v,d){var f=this;return(0,Ki.Z)(function*(){const b=f._dirtCount;if(f.vacuumConditionsMet(d)){const E=v.batchSize||Un.batchSize,R=v.batchWait||Un.batchWait;let K=1;for(const[se,fe]of f._index){for(const[Ae,Je]of fe)for(const[le]of Je)f._documentIds.has(le)||(Je.size<=1?fe.delete(Ae):Je.delete(le));0===f._index.get(se).size&&f._index.delete(se),K%E==0&&(yield new Promise(Ae=>setTimeout(Ae,R))),K+=1}f._dirtCount-=b}yield null,f._currentVacuum=f._enqueuedVacuum,f._enqueuedVacuum=null})()}vacuumConditionsMet(v){if(null==v)return!0;let{minDirtCount:d,minDirtFactor:f}=v;return d=d||Wr.minDirtCount,f=f||Wr.minDirtFactor,this.dirtCount>=d&&this.dirtFactor>=f}get isVacuuming(){return null!=this._currentVacuum}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(v){return this._idToShortId.has(v)}getStoredFields(v){const d=this._idToShortId.get(v);if(null!=d)return this._storedFields.get(d)}search(v,d={}){const{searchOptions:f}=this._options,b=gn(gn({},f),d),E=this.executeQuery(v,d),R=[];for(const[K,{score:se,terms:fe,match:Ae}]of E){const Je=fe.length||1,le={id:this._documentIds.get(K),score:se*Je,terms:Object.keys(Ae),queryTerms:fe,match:Ae};Object.assign(le,this._storedFields.get(K)),(null==b.filter||b.filter(le))&&R.push(le)}return v===xi.wildcard&&null==b.boostDocument||R.sort(Fo),R}autoSuggest(v,d={}){d=gn(gn({},this._options.autoSuggestOptions),d);const f=new Map;for(const{score:E,terms:R}of this.search(v,d)){const K=R.join(" "),se=f.get(K);null!=se?(se.score+=E,se.count+=1):f.set(K,{score:E,terms:R,count:1})}const b=[];for(const[E,{score:R,terms:K,count:se}]of f)b.push({suggestion:E,terms:K,score:R/se});return b.sort(Fo),b}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(v,d){if(null==d)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(v),d)}static loadJSONAsync(v,d){var f=this;return(0,Ki.Z)(function*(){if(null==d)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return f.loadJSAsync(JSON.parse(v),d)})()}static getDefault(v){if(Hr.hasOwnProperty(v))return Ur(Hr,v);throw new Error(`MiniSearch: unknown option "${v}"`)}static loadJS(v,d){const{index:f,documentIds:b,fieldLength:E,storedFields:R,serializationVersion:K}=v,se=this.instantiateMiniSearch(v,d);se._documentIds=_r(b),se._fieldLength=_r(E),se._storedFields=_r(R);for(const[fe,Ae]of se._documentIds)se._idToShortId.set(Ae,fe);for(const[fe,Ae]of f){const Je=new Map;for(const le of Object.keys(Ae)){let q=Ae[le];1===K&&(q=q.ds),Je.set(parseInt(le,10),_r(q))}se._index.set(fe,Je)}return se}static loadJSAsync(v,d){var f=this;return(0,Ki.Z)(function*(){const{index:b,documentIds:E,fieldLength:R,storedFields:K,seri
1alizationVersion:se}=v,fe=f.instantiateMiniSearch(v,d);fe._documentIds=yield hr(E),fe._fieldLength=yield hr(R),fe._storedFields=yield hr(K);for(const[Je,le]of fe._documentIds)fe._idToShortId.set(le,Je);let Ae=0;for(const[Je,le]of b){const q=new Map;for(const Ce of Object.keys(le)){let Oe=le[Ce];1===se&&(Oe=Oe.ds),q.set(parseInt(Ce,10),yield hr(Oe))}++Ae%1e3==0&&(yield Ao(0)),fe._index.set(Je,q)}return fe})()}static instantiateMiniSearch(v,d){const{documentCount:f,nextId:b,fieldIds:E,averageFieldLength:R,dirtCount:K,serializationVersion:se}=v;if(1!==se&&2!==se)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const fe=new xi(d);return fe._documentCount=f,fe._nextId=b,fe._idToShortId=new Map,fe._fieldIds=E,fe._avgFieldLength=R,fe._dirtCount=K||0,fe._index=new ci,fe}executeQuery(v,d={}){if(v===xi.wildcard)return this.executeWildcardQuery(d);if("string"!=typeof v){const le=Ql(gn(gn({},d),v),{queries:void 0}),q=v.queries.map(Ce=>this.executeQuery(Ce,le));return this.combineResults(q,le.combineWith)}const{tokenize:f,processTerm:b,searchOptions:E}=this._options,R=gn(gn({tokenize:f,processTerm:b},E),d),{tokenize:K,processTerm:se}=R,Je=K(v).flatMap(le=>se(le)).filter(le=>!!le).map(Da(R)).map(le=>this.executeQuerySpec(le,R));return this.combineResults(Je,R.combineWith)}executeQuerySpec(v,d){const f=gn(gn({},this._options.searchOptions),d),b=(f.fields||this._options.fields).reduce((Oe,Le)=>Ql(gn({},Oe),{[Le]:Ur(f.boost,Le)||1}),{}),{boostDocument:E,weights:R,maxFuzzy:K,bm25:se}=f,{fuzzy:fe,prefix:Ae}=gn(gn({},Nt.weights),R),Je=this._index.get(v.term),le=this.termResults(v.term,v.term,1,v.termBoost,Je,b,E,se);let q,Ce;if(v.prefix&&(q=this._index.atPrefix(v.term)),v.fuzzy){const Oe=!0===v.fuzzy?.2:v.fuzzy,Le=Oe<1?Math.min(K,Math.round(v.term.length*Oe)):Oe;Le&&(Ce=this._index.fuzzyGet(v.term,Le))}if(q)for(const[Oe,Le]of q){const ct=Oe.length-v.term.length;ct&&(null==Ce||Ce.delete(Oe),this.termResults(v.term,Oe,Ae*Oe.length/(Oe.length+.3*ct),v.termBoost,Le,b,E,se,le))}if(Ce)for(const Oe of Ce.keys()){const[Le,ct]=Ce.get(Oe);ct&&this.termResults(v.term,Oe,fe*Oe.length/(Oe.length+ct),v.termBoost,Le,b,E,se,le)}return le}executeWildcardQuery(v){const d=new Map,f=gn(gn({},this._options.searchOptions),v);for(const[b,E]of this._documentIds){const R=f.boostDocument?f.boostDocument(E,"",this._storedFields.get(b)):1;d.set(b,{score:R,terms:[],match:{}})}return d}combineResults(v,d="or"){if(0===v.length)return new Map;const f=d.toLowerCase(),b=Ea[f];if(!b)throw new Error(`Invalid combination operator: ${d}`);return v.reduce(b)||new Map}toJSON(){const v=[];for(const[d,f]of this._index){const b={};for(const[E,R]of f)b[E]=Object.fromEntries(R);v.push([d,b])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:v,serializationVersion:2}}termResults(v,d,f,b,E,R,K,se,fe=new Map){if(null==E)return fe;for(const Ae of Object.keys(R)){const Je=R[Ae],le=this._fieldIds[Ae],q=E.get(le);if(null==q)continue;let Ce=q.size;const Oe=this._avgFieldLength[le];for(const Le of q.keys()){if(!this._documentIds.has(Le)){this.removeTerm(le,Le,d),Ce-=1;continue}const ct=K?K(this._documentIds.get(Le),d,this._storedFields.get(Le)):1;if(!ct)continue;const Ot=q.get(Le),fn=this._fieldLength.get(Le)[le],kn=f*b*Je*ct*Ia(Ot,Ce,this._documentCount,fn,Oe,se),Dn=fe.get(Le);if(Dn){Dn.score+=kn,Po(Dn.terms,v);const ri=Ur(Dn.match,d);ri?ri.push(Ae):Dn.match[d]=[Ae]}else fe.set(Le,{score:kn,terms:[v],match:{[d]:[Ae]}})}}return fe}addTerm(v,d,f){const b=this._index.fetch(f,Gr);let E=b.get(v);if(null==E)E=new Map,E.set(d,1),b.set(v,E);else{const R=E.get(d);E.set(d,(R||0)+1)}}removeTerm(v,d,f){if(!this._index.has(f))return void this.warnDocumentChanged(d,v,f);const b=this._index.fetch(f,Gr),E=b.get(v);null==E||null==E.get(d)?this.warnDocumentChanged(d,v,f):E.get(d)<=1?E.size<=1?b.delete(v):E.delete(
1d):E.set(d,E.get(d)-1),0===this._index.get(f).size&&this._index.delete(f)}warnDocumentChanged(v,d,f){for(const b of Object.keys(this._fieldIds))if(this._fieldIds[b]===d)return void this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(v)} has changed before removal: term "${f}" was not present in field "${b}". Removing a document after it has changed can corrupt the index!`,"version_conflict")}addDocumentId(v){const d=this._nextId;return this._idToShortId.set(v,d),this._documentIds.set(d,v),this._documentCount+=1,this._nextId+=1,d}addFields(v){for(let d=0;d<v.length;d++)this._fieldIds[v[d]]=d}addFieldLength(v,d,f,b){let E=this._fieldLength.get(v);null==E&&this._fieldLength.set(v,E=[]),E[d]=b,this._avgFieldLength[d]=((this._avgFieldLength[d]||0)*f+b)/(f+1)}removeFieldLength(v,d,f,b){this._avgFieldLength[d]=1!==f?(this._avgFieldLength[d]*f-b)/(f-1):0}saveStoredFields(v,d){const{storeFields:f,extractField:b}=this._options;if(null==f||0===f.length)return;let E=this._storedFields.get(v);null==E&&this._storedFields.set(v,E={});for(const R of f){const K=b(d,R);void 0!==K&&(E[R]=K)}}}xi.wildcard=Symbol("*");const Ur=(x,v)=>Object.prototype.hasOwnProperty.call(x,v)?x[v]:void 0,Ea={or:(x,v)=>{for(const d of v.keys()){const f=x.get(d);if(null==f)x.set(d,v.get(d));else{const{score:b,terms:E,match:R}=v.get(d);f.score=f.score+b,f.match=Object.assign(f.match,R),gr(f.terms,E)}}return x},and:(x,v)=>{const d=new Map;for(const f of v.keys()){const b=x.get(f);if(null==b)continue;const{score:E,terms:R,match:K}=v.get(f);gr(b.terms,R),d.set(f,{score:b.score+E,terms:b.terms,match:Object.assign(b.match,K)})}return d},and_not:(x,v)=>{for(const d of v.keys())x.delete(d);return x}},Ia=(x,v,d,f,b,E)=>{const{k:R,b:K,d:se}=E;return Math.log(1+(d-v+.5)/(v+.5))*(se+x*(R+1)/(x+R*(1-K+K*f/b)))},Da=x=>(v,d,f)=>({term:v,fuzzy:"function"==typeof x.fuzzy?x.fuzzy(v,d,f):x.fuzzy||!1,prefix:"function"==typeof x.prefix?x.prefix(v,d,f):!0===x.prefix,termBoost:"function"==typeof x.boostTerm?x.boostTerm(v,d,f):1}),Hr={idField:"id",extractField:(x,v)=>x[v],stringifyField:(x,v)=>x.toString(),tokenize:x=>x.split(Ma),processTerm:x=>x.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(x,v)=>{"function"==typeof(null==console?void 0:console[x])&&console[x](v)},autoVacuum:!0},Nt={combineWith:"or",prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:{k:1.2,b:.7,d:.5}},ge={combineWith:"and",prefix:(x,v,d)=>v===d.length-1},Un={batchSize:1e3,batchWait:10},An={minDirtFactor:.1,minDirtCount:20},Wr=gn(gn({},Un),An),Po=(x,v)=>{x.includes(v)||x.push(v)},gr=(x,v)=>{for(const d of v)x.includes(d)||x.push(d)},Fo=({score:x},{score:v})=>v-x,Gr=()=>new Map,_r=x=>{const v=new Map;for(const d of Object.keys(x))v.set(parseInt(d,10),x[d]);return v},hr=function(){var x=(0,Ki.Z)(function*(v){const d=new Map;let f=0;for(const b of Object.keys(v))d.set(parseInt(b,10),v[b]),++f%1e3==0&&(yield Ao(0));return d});return function(d){return x.apply(this,arguments)}}(),Ao=x=>new Promise(v=>setTimeout(v,x)),Ma=/[\n\r\p{Z}\p{P}]+/u,Pa={prefix:!0,fuzzy:.2,combineWith:"AND",boost:{orderNo:3,address:2,customerName:2,customerEmail:2}};let Bo=(()=>{class x{constructor(){this.ordersMap=new Map,this.config=Pa,this.miniSearch=this.createSearchInstance()}buildIndex(d){this.miniSearch=this.createSearchInstance(),this.ordersMap.clear();const f=d.map(b=>this.toSearchDocument(b));for(const b of d)this.ordersMap.set(b.id,b);this.miniSearch.addAll(f)}updateIndex(d,f,b){for(const E of b)this.ordersMap.has(E)&&(this.miniSearch.discard(E),this.ordersMap.delete(E));for(const E of f)this.ordersMap.has(E.id)&&this.miniSearch.discard(E.id),this.miniSearch.add(this.toSearchDocument(E)),this.ordersMap.set(E.id,E);for(const E of d)this.miniSearch.add(this.toSearchDocument(E)),this.ordersMap.set(E.id,E)}search(d){if(!this.isValidSearchTerm(d))return[];const f=this.miniSearch.search(d);return this.resolveResults(f,this.ordersMap)}searchWithin(d,f){if(!this.isValidSearchTerm(f))return d;const b=new Map(d.map(R=>[R.id,R])),E=this.miniSearch.search(f);return this.resolveResults(E,b)}
1getSuggestions(d,f=5){return this.isValidSearchTerm(d)?this.miniSearch.autoSuggest(d,{fuzzy:this.config.fuzzy}).slice(0,f).map(b=>b.suggestion):[]}hasMatches(d){return!!this.isValidSearchTerm(d)&&this.miniSearch.search(d).length>0}get indexSize(){return this.ordersMap.size}clear(){this.miniSearch=this.createSearchInstance(),this.ordersMap.clear()}createSearchInstance(){return new xi({fields:["orderNo","customerName","customerEmail","address"],storeFields:["id"],searchOptions:{prefix:this.config.prefix,fuzzy:this.config.fuzzy,combineWith:this.config.combineWith,boost:this.config.boost}})}toSearchDocument(d){var f,b,E,R,K;return{id:d.id,orderNo:d.orderNo,customerName:null!==(b=null===(f=d.customer)||void 0===f?void 0:f.name)&&void 0!==b?b:"",customerEmail:null!==(R=null===(E=d.customer)||void 0===E?void 0:E.email)&&void 0!==R?R:"",address:null!==(K=d.address)&&void 0!==K?K:""}}resolveResults(d,f){return d.map(b=>f.get(b.id)).filter(b=>void 0!==b)}isValidSearchTerm(d){return d.trim().length>0}}return x.\u0275fac=function(d){return new(d||x)},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})(),Kr=(()=>{class x{constructor(d,f,b){this.filterService=d,this.searchService=f,this.groupingService=b}countOrdersInGroups(d){return d.reduce((f,b)=>f+b.orders.length,0)}filterAndSearch(d,f,b){const E=this.filterService.applyFilters(d,f);return b.trim()?this.searchService.searchWithin(E,b):E}filterByStatus(d,f){return d.filter(b=>f.includes(b.orderStatus))}getOrdersRequiringAttention(d){const f=this.filterByStatus([...this.groupingService.filterUnscheduledOrders(d),...this.groupingService.filterEscalatedOrders(d)],Re);return(0,Et.Z)(f,"id")}buildSearchIndex(d){this.searchService.buildIndex(d)}updateSearchIndex(d,f,b){this.searchService.updateIndex(d,f,b)}toVirtualRows(d){const f=[];return d.filter(b=>b.orders.length).forEach(b=>{var E,R;if(f.push({type:"groupHeader",key:b.key,label:b.label,count:b.orders.length,totalCount:b.allOrders.length,collapsed:null!==(E=b.collapsed)&&void 0!==E&&E,selection:b.selection,rowIds:b.orders.map(K=>K.id),color:x.GROUP_COLORS[b.key]}),!b.collapsed)for(const K of b.orders){const se=this.getOrderAttentionState(K);f.push({type:"data",id:K.id,selected:null!==(R=K.selected)&&void 0!==R&&R,data:K,groupKey:b.key,styleVariant:se,useAccentOnSelect:!!se||b.key===Zn.Unscheduled||b.key===Zn.Escalated})}}),f}filterAndGroupsByStatus(d,f,b,E,R){var K;const se=this.filterByStatus(d,E),fe=new Map;for(const le of se){const q=null!==(K=fe.get(le.orderStatus))&&void 0!==K?K:[];q.push(le),fe.set(le.orderStatus,q)}const Ae=this.filterAndSearch(se,f,b);return this.groupingService.groupByOrderStatus(Ae,E,R).map(le=>{var q;return Object.assign(Object.assign({},le),{allOrders:null!==(q=fe.get(le.key))&&void 0!==q?q:[]})})}filterAndGroupByAttention(d,f,b,E){const R=this.getOrdersRequiringAttention(d),K=this.groupingService.filterUnscheduledOrders(R),se=this.groupingService.filterEscalatedOrders(R),fe=this.filterAndSearch(R,f,b),Ae=this.groupingService.groupByAttention(fe,E),Je={unscheduled:K,escalated:se};return Ae.map(le=>{var q;return Object.assign(Object.assign({},le),{allOrders:null!==(q=Je[le.key])&&void 0!==q?q:le.orders})})}filterAndGroupByMonth(d,f,b,E,R,K){const se=this.filterAndSearch(d,f,b),fe=this.groupingService.groupByMonth(se,E,R,K);if(!f.length&&!b.trim())return fe;const Ae=this.groupingService.groupByMonth(d,E,R,K),Je=new Map(Ae.map(le=>[le.key,le.orders]));return fe.map(le=>{var q;return Object.assign(Object.assign({},le),{allOrders:null!==(q=Je.get(le.key))&&void 0!==q?q:le.orders})})}getOrderAttentionState(d){return d.isEscalated?Zn.Escalated:0===d.shootDates.length?Zn.Unscheduled:void 0}}return x.GROUP_COLORS={pending:"#B3D4FF",inProgress:"#4D43DC",postponed:"#FFA726",unscheduled:"#F76707",escalated:"#F03E3E"},x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(un),p.\u0275\u0275inject(Bo),p.\u0275\u0275inject(Bi))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();const fr=(0,ut.H)(),ti=fr.getSelectors();let tn=(()=>{class x extends ee.m1{constructor(d){super(fr.getInitialState()),this.orderMetadataRepository=d,this.entities$=this.select(ti.selectEntities),this.load=this.effect(f=>f.pipe((0,Qe.h)(b=>b.length>0),(0,ue.w)(b=>this.orderMetadataRepository.getManyByIds$(b).pipe((0,ee._b)(E=>this.setLoadedMetadata(E),E=>console.error("[OrderMetadataStore] load failed",E)))))),this.setDeliverySyncStatus=this.updater((f,{orderId:b,status:E})=>fr.upsertOne({id:b,deliverySyncStatus:null!=E?E:void 0},f)),this.setLoadedMetadata=this.updater((f,b)=>fr.setMany(b.filter(E=>Boolean(E)),f))}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(xe.ZlF))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();var Ft=_(46569),Si=_(21086);let jo=(()=>{class x extends ae.r6${constructor(d){super(),this.brokeragesRepositoryService=d}fetch(d){return this.brokeragesRepositoryService.getOne([["agentCode","==",d]]).pipe((0,N.U)(f=>null!=f?f:null))}supportsBatchFetch(){return!0}
1fetchMany(d){if(!d.length)return(0,Si.of)(new Map);const f=[];for(let b=0;b<d.length;b+=10)f.push(d.slice(b,b+10));return(0,Ue.aj)(f.map(b=>this.brokeragesRepositoryService.getByQuery$([["agentCode","in",b]]))).pipe((0,N.U)(b=>{const E=new Map;for(const R of b)for(const K of R)(null==K?void 0:K.agentCode)&&E.set(K.agentCode,K);return E}))}transform(d){return{id:d.id,name:d.name,agentCode:d.agentCode}}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(xe.HwC))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac,providedIn:"root"}),x})();var Zr=_(33562);const Vi=(0,ut.H)({selectId:x=>x.id}),vr=Vi.getSelectors();let Cr=(()=>{class x extends ee.m1{constructor(d,f){super(Vi.getInitialState()),this.orderTagsRepository=d,this.ordersRepository=f,this.tags$=this.select(b=>vr.selectAll(b)),this.tagOptions$=this.select(this.tags$,b=>b.map(E=>({label:E.name,value:E.id,color:E.color}))),this.watchTags=this.effect(b=>b.pipe((0,ue.w)(()=>this.getAll().pipe((0,ee._b)(E=>this.setAll(E),E=>{console.error("[OrderTagStore] Failed to load tags:",E)}))))),this.createAndAssignTag=this.effect(b=>b.pipe((0,hn.zg)(({orderId:E,name:R,color:K})=>{const se=R.trim();return(0,Me.P)(()=>(this.assertTagNameUnique(se),this.create(se,K))).pipe((0,ee._b)(fe=>{this.add(fe),this.addTagToOrder({orderId:E,tagId:fe.id})},fe=>{console.error("[OrderTagStore] Failed to create tag:",fe)}))}))),this.updateTag=this.effect(b=>b.pipe((0,hn.zg)(({id:E,name:R,color:K})=>{const se=R.trim();return(0,Me.P)(()=>(this.assertTagNameUnique(se,E),this.update(E,{name:se,color:K}))).pipe((0,ee._b)(()=>this.set(E,{name:se,color:K}),fe=>{console.error("[OrderTagStore] Failed to update tag:",fe)}))}))),this.deleteTag=this.effect(b=>b.pipe((0,hn.zg)(({id:E})=>this.remove(E).pipe((0,ee._b)(()=>this.removeFromState(E),R=>{console.error("[OrderTagStore] Failed to delete tag:",R)}))))),this.addTagToOrder=this.effect(b=>b.pipe((0,hn.zg)(({orderId:E,tagId:R})=>this.assignToOrder(E,R).pipe((0,ee._b)(()=>{},K=>{console.error("[OrderTagStore] Failed to assign tag:",K)}))))),this.updateOrderTags=this.effect(b=>b.pipe((0,gt.b)(({orderId:E,currentTagIds:R,selectedTagIds:K})=>{const se=new Set(R),fe=new Set(K);K.filter(Ae=>!se.has(Ae)).forEach(Ae=>this.addTagToOrder({orderId:E,tagId:Ae})),R.filter(Ae=>!fe.has(Ae)).forEach(Ae=>this.removeTagFromOrder({orderId:E,tagId:Ae}))}))),this.removeTagFromOrder=this.effect(b=>b.pipe((0,hn.zg)(({orderId:E,tagId:R})=>this.unassignFromOrder(E,R).pipe((0,ee._b)(()=>{},K=>{console.error("[OrderTagStore] Failed to unassign tag:",K)}))))),this.watchTags()}get tags(){return vr.selectAll(this.get())}setAll(d){this.patchState(f=>Vi.setAll(d,f))}add(d){this.patchState(f=>Vi.addOne(d,f))}removeFromState(d){this.patchState(f=>Vi.removeOne(d,f))}set(d,f){this.patchState(b=>Vi.updateOne({id:d,changes:f},b))}getAll(){return this.orderTagsRepository.getByQuery$([])}update(d,f){return(0,Pt.D)(this.orderTagsRepository.update(d,f))}assignToOrder(d,f){return(0,Pt.D)(this.ordersRepository.update(d,{tags:(0,Zr.vr)(f)}))}unassignFromOrder(d,f){return(0,Pt.D)(this.ordersRepository.update(d,{tags:(0,Zr.Ab)(f)}))}create(d,f){return(0,Pt.D)(this.orderTagsRepository.create({name:d,color:f})).pipe((0,N.U)(b=>({id:b.id,name:d,color:f})))}assertTagNameUnique(d,f){const b=d.toLowerCase();if(vr.selectAll(this.get()).some(R=>R.name.toLowerCase()===b&&(!f||R.id!==f)))throw new Error("A tag with this name already exists")}remove(d){return this.ordersRepository.getByQuery$([["tags","array-contains",d]]).pipe((0,Se.q)(1),(0,ue.w)(f=>{const b=ae.WTP.initBatch();for(const E of f)this.ordersRepository.batchedUpdate(E.id,{tags:(0,Zr.Ab)(d)},b);return this.orderTagsRepository.batchedDelete(d,b),(0,Pt.D)(b.commit())}))}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(xe.H1Z),p.\u0275\u0275inject(xe.HVf))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})(),wt=(()=>{class x{constructor(d,f,b,E,R,K,se,fe){this.ordersRepositoryService=d,this.userCacheService=f,this.brokerageCacheService=b,this.projectService=E,this.orderTagStore=R,this.algoliaSearch=K,this.authService=se,this.appConfigService=fe,this.shootDateFilter=new Tt}watchOrders(d,f,b="creationDate"){return"shootDate"===b?this.watchOrdersByShootDate(d,f):this.watchOrdersFromFirestore(d,f,b)}watchOrdersFromFirestore(d,f,b){return this.scopedMemberId$().pipe((0,ue.w)(E=>this.watchAndEnrich(this.ordersRepositoryService.watchOrdersByDateRange(d,f,b,E))))}watchOrdersByShootDate(d,f){const b=this.appConfigService.timeZone,E=(0,ae.V2B)(d,b,"start").valueOf(),R=(0,ae.V2B)(f,b,"end").valueOf(),K={from:new Date(E),to:new Date(R)};return this.searchOrderIndex("",{numericFilters:[`eventTimestamps>=${E}`,`eventTimestamps<=${R}`],hitsPerPage:1e3}).pipe((0,N.U)(fe=>({added:this.shootDateFilter.apply(fe,K),modified:[],removed:[]})))}scopedMemberId$(){return this.authService.isLimitedContractorAcce
1ss$.pipe((0,Se.q)(1),(0,ue.w)(d=>d?this.authService.uid$.pipe((0,Qe.h)(f=>!!f),(0,Se.q)(1)):(0,Si.of)(void 0)))}getOrderById(d){return this.ordersRepositoryService.getById(d).pipe((0,Se.q)(1),(0,ue.w)(f=>f&&f.orderNo?this.enrichOrders([f]).pipe((0,N.U)(b=>{var E;return null!==(E=b[0])&&void 0!==E?E:null})):(0,Si.of)(null)))}searchOrders(d){const f=d.trim();return f?this.searchOrderIndex(f,{restrictSearchableAttributes:["orderNo","client_full_name","property_address.formatted_address","email","order_name"],allowTyposOnNumericTokens:!1,hitsPerPage:50}):(0,Si.of)([])}searchOrderIndex(d,f){return this.scopedMemberId$().pipe((0,ue.w)(b=>{const E=Object.assign(Object.assign(Object.assign({},f),{attributesToRetrieve:["objectID"]}),b?{facetFilters:[[`members:${b}`]]}:{});return this.algoliaSearch.searchAllPages(this.algoliaSearch.orderIndex,d,E)}),(0,N.U)(b=>b.map(E=>E.objectID)),(0,ue.w)(b=>this.hydrateAndEnrich(b)))}hydrateAndEnrich(d){return this.ordersRepositoryService.getManyByIds$(d).pipe((0,Se.q)(1),(0,ue.w)(f=>{const b=f.filter(E=>Boolean(E));return this.enrichOrders(b).pipe((0,Se.q)(1))}))}watchAndEnrich(d){return d.pipe((0,hn.zg)(({added:f,modified:b,removed:E})=>(0,Ue.aj)([this.enrichOrders(f.map(R=>R.data)),this.enrichOrders(b.map(R=>R.data)),this.enrichOrders(E.map(R=>R.data))])),(0,N.U)(([f,b,E])=>({added:f,modified:b,removed:E})))}enrichOrders(d){if(!d.length)return(0,Si.of)([]);const f=d.filter(R=>Boolean(R.orderNo));if(!f.length)return(0,Si.of)([]);const b=this.extractUserIds(f),E=this.extractBrokerageCodes(f);return(0,Ue.aj)([this.userCacheService.getMany(b),this.brokerageCacheService.getMany(E),this.orderTagStore.tags$]).pipe((0,N.U)(([R,K,se])=>{const fe=(0,Y.Z)(R,"id"),Ae=(0,Y.Z)(K,"agentCode"),Je=(0,Y.Z)(se,"id");return f.map(le=>this.toViewModel(le,fe,Ae,Je))}))}extractUserIds(d){return(0,Ft.Z)(d.flatMap(f=>{var b;return[f.customerUid,...null!==(b=f.members)&&void 0!==b?b:[]]})).filter(f=>Boolean(f))}extractBrokerageCodes(d){return(0,Ft.Z)(d.map(f=>f.brokerage_code).filter(f=>Boolean(f)))}toViewModel(d,f,b,E){var R,K,se,fe,Ae,Je,le,q,Ce,Oe,Le;const ct=this.resolveMembers(null!==(R=d.members)&&void 0!==R?R:[],f),Ot=this.findManagers(ct),fn=this.resolveUser(d.customerUid,f),xn=this.resolveBrokerage(d,b),kn=this.resolveTags(d.tags,E);return{id:d.id,orderNo:null!==(K=d.orderNo)&&void 0!==K?K:"",bookingFlowId:null!==(fe=null===(se=d.bookingFlow)||void 0===se?void 0:se.id)&&void 0!==fe?fe:"",bookingFlowName:null!==(Je=null===(Ae=d.bookingFlow)||void 0===Ae?void 0:Ae.name)&&void 0!==Je?Je:"",coverImage:null!==(le=d.coverImage)&&void 0!==le?le:"",name:d.packages,address:null!==(Ce=null===(q=d.property_address)||void 0===q?void 0:q.formatted_address)&&void 0!==Ce?Ce:null,creationDate:this.toDate(d.dateCreated),shootDates:this.toShootDates(d.eventTimestamps),dueDate:d.deadline,customer:fn,brokerage:xn,managers:Ot,members:ct,totalAmount:this.parseAmount(d.invoice_amount),orderStatus:d.orderStatus,paymentStatus:d.paymentStatus,services:this.mapTasksToServices(d.taskSummary),isFirstOrder:!!d.isFirstOrder,isEscalated:this.computeIsEscalated(d.taskSummary),allTasksCompleted:!1,isDelivered:!!d.projectCompleteEmailSentDate,deliverableLink:d.deliverable_link,rawFolderLink:d.rawFolderLink,deliveredDate:d.deliveredDate,isWebsiteEnabled:null!==(Oe=d.isWebsiteEnabled)&&void 0!==Oe&&Oe,isNativeUpload:null!==(Le=d.isNativeUpload)&&void 0!==Le&&Le,communication:d.communication,taskSummary:d.taskSummary,videoProject:d.videoProject,videoStatus:d.videoStatus,packages:d.packages,calendarEvent:d.calendarEvent,property_address:d.property_address,customerUid:d.customerUid,lastDeliverySyncDate:d.lastDeliverySyncDate,tags:kn}}computeIsEscalated(d){return!!d&&Object.values(d).some(f=>null==f?void 0:f.some(b=>!0===b.isEscalation))}resolveMembers(d,f){return d.map(b=>f[b]).filter(b=>Boolean(b))}findManagers(d){return d.filter(f=>f.role===ce.i4.PROJECT_MANAGER)}resolveUser(d,f){var b;return d&&null!==(b=f[d])&&void 0!==b?b:null}resolveBrokerage(d,f){var b,E,R,K;if(d.brokerage_code)return null!==(b=f[d.brokerage_code])&&void 0!==b?b:null;const se=null===(R=null===(E=d.listingAgents)||void 0===E?void 0:E[0])||void 0===R?void 0:R.brokerage_obj;return(null==se?void 0:se.id)&&(null==se?void 0:se.name)?{id:se.id,name:se.name,agentCode:null!==(K=se.agentCode)&&void 0!==K?K:""}:null}resolveTags(d,f){return(null!=d?d:[]).map(b=>f[b]).filter(b=>Boolean(b))}toDate(d){var f;return null!==(f=null==d?void 0:d.toDate())&&void 0!==f?f:null}toShootDates(d){return(null!=d?d:[]).map(f=>new Date(1e3*f))}parseAmount(d){if(null==d)return 0;const f="number"==typeof d?d:parseFloat(d);return Number.isNaN(f)?0:f}mapTasksToServices(d){return d?Object.entries(d).reduce((b,[E,R])=>{if(E===ce.av.ARCHIVED)return b;const K=R.filter(se=>Boolean(se.serviceId)).map(se=>({id:se.serviceId,name:se.name,status:E,type:se.type}));return[...b,...K]},[]):[]}changeOrderStatus(d,f){return this.ordersRepositoryService.getById(d).pipe((0,Se.q)(1),(0,ue.w)(b=>{if(!b)throw new Error(`Order not found: ${d}`);return this.projectService.staffChangeOrderStatus(b,f)}))}changePaymentStatus(d,f){return this.ordersRepositoryService.getById(d).pipe((0,Se.q)(1),(0,ue.w)(b=>{if(!b)throw new Error(`Order not found: ${d}`);return this.projectService.changePaymentOrderStatus(b,f)}))}updateDropboxLink(d,f){const b=(null==f?void 0:f.trim())||"";return(0,Pt.D)(this.ordersRepositoryService.update(d,{deliverable_link:b}))}updateTeamMembers(d,f){return(0,Pt.D)(this.ordersRepositoryService.update(d,{members:f.length>0?f:["none"]}))}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(xe.HVf),p.\u0275\u0275inject(xe.KpX),p.\u0275\u0275inject(jo),p.\u0275\u0275inject(xe.Y4r),p.\u0275\u0275inject(Cr),p.\u0275\u0275inject(xe.ewU),p.\u0275\u0275inject(xe.e80),p.\u0275\u0275inject(xe._ZM))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();var br;const di=(0,ut.H)({selectId:x=>x.id}),Li=(x,v,d=(f=>f))=>x.length===v.length&&x.every((f,b)=>
1d(f)===d(v[b])),Qr=new Set(["shootDate","dueDate","creationDate"]),Ro={shootDate:"shootDates",dueDate:"dueDate",creationDate:"creationDate"};function yr(x){const[v,d]=x.split("_");return!Qr.has(v)||"asc"!==d&&"desc"!==d?null:{field:v,direction:d}}const xr=null!==(br=yr(nt_DEFAULTS_SORT))&&void 0!==br?br:{field:"creationDate",direction:"desc"},Vo={sortField:xr.field,orderPlacedFrom:null,searchTerm:""},Jr=di.getInitialState({filterForm:Vo,advancedFilter:{},sortDirection:xr.direction,activePreset:null,collapsedGroups:{},loading:!1,activeOrderId:null,activeOrderSection:null,isCreatingOrder:!1,newlyCreatedOrderId:null,algoliaResults:null,algoliaSearchLoading:!1}),Yr=di.getSelectors(),Lo=["postponed"];class en extends an.uK{constructor(v,d,f,b,E,R,K,se,fe,Ae,Je,le){super(Jr,le),this.orderService=v,this.orderFilterService=d,this.facade=f,this.orderMetadataStore=b,this.coreOrderMetadataStore=E,this.nativeDeliverySummaryStore=R,this.projectService=K,this.ordersRepositoryService=se,this.dropboxIntegrationRepository=fe,this.appConfigService=Ae,this.persistenceService=Je,this.storedOrders$=this.select(q=>Yr.selectAll(q)),this.orders$=this.select(this.storedOrders$,this.orderMetadataStore.entities$,this.coreOrderMetadataStore.entities$,this.nativeDeliverySummaryStore.entities$,(q,Ce,Oe,Le)=>this.overlayDeliveryMetadata(q,Ce,Oe,Le),{debounce:!0}),this.visibleOrders$=this.select(this.storedOrders$,this.select(q=>q.algoliaResults),(q,Ce)=>[...q,...null!=Ce?Ce:[]]),this.visibleOrderIds$=this.select(this.visibleOrders$,q=>[...new Set(q.map(Ce=>Ce.id))]),this.nativeOrderIds$=this.select(this.visibleOrders$,q=>[...new Set(q.filter(Ce=>Ce.isNativeUpload).map(Ce=>Ce.id))]),this.loadNativeDeliverySummaries=this.effect(()=>this.nativeOrderIds$.pipe((0,Qe.h)(()=>this.appConfigService.allowNativeUpload),(0,V.x)((q,Ce)=>Li(q,Ce)),(0,gt.b)(q=>this.nativeDeliverySummaryStore.load(q)))),this.loadVisibleOrdersMetadata=this.effect(()=>this.visibleOrderIds$.pipe((0,V.x)((q,Ce)=>Li(q,Ce)),(0,gt.b)(q=>{this.orderMetadataStore.load(q),this.appConfigService.allowNativeUpload&&this.coreOrderMetadataStore.load(q)}))),this.filterForm$=this.select(q=>q.filterForm),this.advancedFilter$=this.select(q=>q.advancedFilter),this.activePreset$=this.select(q=>q.activePreset),this.sortDirection$=this.select(q=>q.sortDirection),this.sortField$=this.select(this.filterForm$,q=>q.sortField),this.searchTerm$=this.select(this.filterForm$,q=>q.searchTerm),this.orderPlacedFrom$=this.select(this.filterForm$,q=>q.orderPlacedFrom),this.sort$=this.select(this.sortField$,this.sortDirection$,(q,Ce)=>({field:q,direction:Ce})),this.isDescending$=this.select(this.sortDirection$,q=>"desc"===q),this.dateRange$=this.select(this.orderPlacedFrom$,q=>(0,ae.Wsr)(q)?{from:q.start,to:q.end}:null),this.filters$=this.select(this.advancedFilter$,q=>this.orderFilterService.convertActiveFiltersToOrderFilters($e(q))),this.presetShootDateRange$=this.select(this.activePreset$,q=>q&&To(q)?function wo(x,v){const d=Te()().tz(v).startOf("day");switch(x){case wn.SHOOTS_TODAY:return{from:d.startOf("day").toDate(),to:d.endOf("day").toDate()};case wn.SHOOTS_TOMORROW:{const f=d.add(1,"day");return{from:f.startOf("day").toDate(),to:f.endOf("day").toDate()}}case wn.SHOOTS_THIS_WEEK:return{from:d.startOf("day").toDate(),to:d.endOf("week").endOf("day").toDate()};default:return{from:null,to:null}}}(q,this.appConfigService.timeZone):null),this.effectiveDateQuery$=this.select(this.presetShootDateRange$,this.sortField$,this.dateRange$,(q,Ce,Oe)=>{var Le,ct;return q?{from:q.from,to:q.to,dateField:"shootDate"}:{from:null!==(Le=null==Oe?void 0:Oe.from)&&void 0!==Le?Le:null,to:null!==(ct=null==Oe?void 0:Oe.to)&&void 0!==ct?ct:null,dateField:Ce}}),this.effectiveFilters$=this.select(this.filters$,this.activePreset$,this.presetShootDateRange$,(q,Ce,Oe)=>this.applyPresetToFilters(q,Ce,Oe)),this.persistedFilterState$=this.select(this.filterForm$,this.sortDirection$,this.advancedFilter$,this.activePreset$,(q,Ce,Oe,Le)=>({sort:`${q.sortField}_${Ce}`,orderPlacedFrom:q.orderPlacedFrom,filters:$e(Oe),search:q.searchTerm,preset:Le})),this.collapsedGroups$=this.select(q=>q.collapsedGroups),this.loading$=this.select(q=>q.loading||q.algoliaSearchLoading),this.activeOrderId$=this.select(q=>q.activeOrderId),this.activeOrderSection$=this.select(q=>q.activeOrderSection),this.isCreatingOrder$=this.select(q=>q.isCreatingOrder),this.newlyCreatedOrderId$=this.select(q=>q.newlyCreatedOrderId),this.scrollToOrderId$=this.select(this.orders$,this.newlyCreatedOrderId$,(q,Ce)=>Ce&&q.some(Le=>Le.id===Ce)?Ce:null).pipe((0,V.x)(),(0,Qe.h)(q=>null!==q)),this.sortedOrders$=this.select(this.orders$,this.sort$,(q,Ce)=>this.sortOrders(q,Ce)),this.services$=this.select(this.orders$,q=>this.extractUniqueOptions(q,Ce=>Ce.services.map(Oe=>Oe.name)),{debounce:!0}).pipe((0,V.x)((q,Ce)=>Li(q,Ce,Oe=>Oe.value)),(0,pe.d)({bufferSize:1,refCount:!0})),this.brokerages$=this.select(this.orders$,q=>this.extractUniqueOptions(q,Ce=>{var Oe;return[null===(Oe=Ce.brokerage)||void 0===Oe?void 0:Oe.name]}),{debounce:!0}).pipe((0,V.x)((q,Ce)=>Li(q,Ce,Oe=>Oe.value)),(0,pe.d)({bufferSize:1,refCount:!0})),this.algoliaResults$=this.select(q=>q.algoliaResults),this.algoliaSearchLoading$=this.select(q=>q.algoliaSearchLoading),this.sortedAlgoliaResults$=this.select(this.algoliaResults$,this.orderMetadataStore.entities$,this.coreOrderMetadataStore.entities$,this.nativeDeliverySummaryStore.entities$,this.sort$,(q,Ce,Oe,Le,ct)=>null===q?null:this.sortOrders(this.overlayDeliveryMetadata(q,Ce,Oe,Le),ct),{debounce:!0}),this.tabGroupingInputs$=this.select(this.sortedOrders$,this.sortedAlgoliaResults$,this.effectiveFilters$,this.searchTerm$,this.sort$,this.dateRange$,this.collapsedGroups$,this.presetSho
1otDateRange$,(q,Ce,Oe,Le,ct,Ot,fn,xn)=>Object.assign(Object.assign({},this.resolveSearchSource(q,Ce,Oe,Le,ct.field,Ot,null!==xn)),{monthGroupField:Ro[ct.field],monthGroupDirection:ct.direction,collapsedGroups:fn})),this.activeOrderGroups$=this.select(this.tabGroupingInputs$,({sourceOrders:q,effectiveFilters:Ce,effectiveSearch:Oe,collapsedGroups:Le})=>this.facade.filterAndGroupsByStatus(q,Ce,Oe,Re,Le),{debounce:!0}),this.postponedOrderGroups$=this.select(this.tabGroupingInputs$,({sourceOrders:q,effectiveFilters:Ce,effectiveSearch:Oe,collapsedGroups:Le})=>this.facade.filterAndGroupsByStatus(q,Ce,Oe,Lo,Le),{debounce:!0}),this.attentionOrderGroups$=this.select(this.tabGroupingInputs$,({sourceOrders:q,effectiveFilters:Ce,effectiveSearch:Oe,collapsedGroups:Le})=>this.facade.filterAndGroupByAttention(q,Ce,Oe,Le),{debounce:!0}),this.monthlyOrderGroups$=this.select(this.tabGroupingInputs$,({sourceOrders:q,effectiveFilters:Ce,effectiveSearch:Oe,collapsedGroups:Le,monthGroupField:ct,monthGroupDirection:Ot})=>this.facade.filterAndGroupByMonth(q,Ce,Oe,Le,ct,Ot),{debounce:!0}),this.orderGroupsByTab={[$.ACTIVE]:this.activeOrderGroups$,[$.POSTPONED]:this.postponedOrderGroups$,[$.ATTENTION]:this.attentionOrderGroups$,[$.MONTHLY]:this.monthlyOrderGroups$},this.tabCounters$=this.select(this.tabGroupingInputs$,({sourceOrders:q,effectiveFilters:Ce,effectiveSearch:Oe})=>{const Le=this.facade.filterAndSearch(q,Ce,Oe),ct=Le.filter(kn=>Re.includes(kn.orderStatus)).length,Ot=Le.filter(kn=>Lo.includes(kn.orderStatus)).length,fn=this.facade.getOrdersRequiringAttention(Le).length;return{[$.ACTIVE]:ct,[$.POSTPONED]:Ot,[$.ATTENTION]:fn,[$.MONTHLY]:Le.length}},{debounce:!0}).pipe((0,V.x)((q,Ce)=>(0,W.Z)(q,Ce))),this.syncDelivery=this.effect(q=>q.pipe((0,gt.b)(Ce=>this.orderMetadataStore.setDeliverySyncStatus({orderId:Ce,status:"in_progress"})),(0,hn.zg)(Ce=>(0,Pt.D)(this.dropboxIntegrationRepository.syncDeliveryContent(Ce,null)).pipe((0,zt.K)(Oe=>(this.orderMetadataStore.setDeliverySyncStatus({orderId:Ce,status:null}),console.error(`[OrderListStore] Failed to sync delivery for order ${Ce}:`,Oe),Dt.E)))))),this.resendProjectComplete=this.effect(q=>q.pipe((0,ue.w)(Ce=>this.ordersRepositoryService.getById$(Ce).pipe((0,Se.q)(1),(0,ue.w)(Oe=>(Oe?(0,Pt.D)(this.projectService.promptSendProjectComplete(Oe,!0)):Dt.E).pipe((0,ee._b)(()=>{this.updateOrders([Ce],{isDelivered:!0})},Le=>{console.error(`[OrderListStore] Failed to resend project complete for order ${Ce}:`,Le)}))))))),this.persistFilterState=this.effect(q=>q.pipe((0,ue.w)(()=>this.persistedFilterState$.pipe((0,qe.T)(1),(0,Be.b)(100))),(0,gt.b)(Ce=>this.persistenceService.save(Ce)))),this.writeRestoredStateToUrl=this.effect(q=>q.pipe((0,ue.w)(()=>this.persistenceService.navigationSettled$.pipe((0,Fi.M)(this.persistedFilterState$))),(0,gt.b)(([,Ce])=>this.persistenceService.saveToUrl(Ce)))),this.loadOrders=this.effect(q=>q.pipe((0,ue.w)(()=>{let Ce=!0;return this.effectiveDateQuery$.pipe((0,V.x)((Oe,Le)=>{var ct,Ot,fn,xn;return Oe.dateField===Le.dateField&&(null===(ct=Oe.from)||void 0===ct?void 0:ct.getTime())===(null===(Ot=Le.from)||void 0===Ot?void 0:Ot.getTime())&&(null===(fn=Oe.to)||void 0===fn?void 0:fn.getTime())===(null===(xn=Le.to)||void 0===xn?void 0:xn.getTime())}),(0,ue.w)(({from:Oe,to:Le,dateField:ct})=>Oe&&Le?(this.resetOrders(),this.setLoading(!0),Ce=!0,this.orderService.watchOrders(Oe,Le,ct).pipe((0,ee._b)(({added:Ot,modified:fn,removed:xn})=>{const kn=xn.map(Dn=>Dn.id);this.applyOrderChanges([...Ot,...fn],kn),Ce?(this.facade.buildSearchIndex(Ot),Ce=!1):this.facade.updateSearchIndex(Ot,fn,kn)},Ot=>{this.setLoading(!1),console.error("[OrderListStore] Failed to load orders:",Ot)}),(0,zt.K)(()=>Dt.E))):Dt.E))}))),this.runAlgoliaSearch=this.effect(()=>this.searchTerm$.pipe((0,gt.b)(q=>{q.trim()||this.patchState({algoliaResults:null,algoliaSearchLoading:!1})}),(0,Be.b)(250),(0,V.x)(),(0,Qe.h)(q=>!!q.trim()),(0,ue.w)(q=>(this.patchState({algoliaSearchLoading:!0}),this.orderService.searchOrders(q).pipe((0,ee._b)(Ce=>this.patchState({algoliaResults:Ce}),Ce=>{console.error("[OrderListStore] Algolia search failed:",Ce),this.patchState({algoliaResults:[]})}),(0,jr.x)(()=>this.patchState({algoliaSearchLoading:!1}))))))),this.changeOrderStatus=this.effect(q=>q.pipe((0,ue.w)(({orderId:Ce,newStatus:Oe})=>this.orderService.changeOrderStatus(Ce,Oe).pipe((0,ee._b)(()=>{console.log(`[OrderListStore] Status changed for order ${Ce} to ${Oe}`)},Le=>{console.error(`[OrderListStore] Failed to change status for order ${Ce}:`,Le)}),(0,zt.K)(()=>Dt.E))))),this.changePaymentStatus=this.effect(q=>q.pipe((0,ue.w)(({orderId:Ce,newStatus:Oe})=>this.orderService.changePaymentStatus(Ce,Oe).pipe((0,ee._b)(()=>{console.log(`[OrderListStore] Payment status changed for order ${Ce} to ${Oe}`)},Le=>{console.error(`[OrderListStore] Failed to change payment status for order ${Ce}:`,Le)}),(0,zt.K)(()=>Dt.E))))),this.updateDropboxLink=this.effect(q=>q.pipe((0,ue.w)(({orderId:Ce,link:Oe})=>this.orderService.updateDropboxLink(Ce,Oe).pipe((0,ee._b)(()=>{console.log(`[OrderListStore] Dropbox link updated for order ${Ce}`)},Le=>{console.error(`[OrderListStore] Failed to update Dropbox link for order ${Ce}:`,Le)}),(0,zt.K)(()=>Dt.E))))),this.updateTeamMembers=this.effect(q=>q.pipe((0,ue.w)(({orderId:Ce,memberIds:Oe})=>this.orderService.updateTeamMembers(Ce,Oe).pipe((0,ee._b)(()=>{console.log(`[OrderListStore] Team members updated for order ${Ce}`)},Le=>{console.error(`[OrderListStore] Failed to update team members for order ${Ce}:`,Le)}),(0,zt.K)(()=>Dt.E))))),this.loadSingleOrder=this.effect(q=>q.pipe((0,hn.zg)(Ce=>this.orderService.getOrderById(Ce).pipe((0,ee._b)(Oe=>{Oe?(this.applyOrderChanges([Oe],[]),this.facade.updateSearchIndex([Oe],[],[]),console.log(`[OrderListStore] Single order loaded: ${Ce}`)):console.warn(`[OrderListStore] Order not found: ${Ce}`)},Oe=>{console.error(`[OrderListStore] Failed to load order ${Ce}:`,Oe)}),(0,zt.K)(()=>Dt.E))))),this.loadVisibleOrdersMetadata(),this.loadNativeDeliverySummaries(),this.hydrateFilters(),this.persistFilterState(),this.runAlgoliaSearch()}overlayDeliveryMetadata(v,d,f,b){return v.map(E=>{var R,K,se;const fe=d[E.id],Ae=f[E.id],Je=b[E.id];return Object.assign(Object.assign({},E),{coverImage:E.coverImage||(null==Je?void 0:Je.coverImage)||"",nativeFileCount:null!==(R=null==Je?void 0:Je.fileCount)&&void 0!==R?R:0,deliverySyncStatus:null!==(K=null==fe?void 0:fe.deliverySyncStatus)&&void 0!==K?K:null,deliveryFoldersStatusV2:null!==(se=null==fe?void 0:fe.deliveryFoldersStatusV2)&&void 0!==se?se:null,hasDropboxImport:Ae?!!Ae.dropboxImport:void 0})})}resolveSearchSource(v,d,f,b,E,R,K){if(null===d)return{sourceOrders:v,effectiveFilters:f,effectiveSearch:b};const se=K?null:this.orderFilterService.buildPickerDateFilter(E,R);return{sourceOrders:d,effectiveFilters:se?[...f,se]:f,effectiveSearch:""}}getVirtualRowsForTab(v){return this.orderGroupsByTab[v].pipe((0,N.U)(d=>this.facade.toVirtualRows(d)))}getSelectedOrdersForTab(v){return this.orderGroupsByTab[v].pipe((0,N.U)(d=>{const f=d.map(E=>E.allOrders).flat();return(0,Et.Z)(f,"id").filter(E=>!0===E.selected)}),(0,V.x)((d,f)=>{if(d.length!==f.length)return!1;const b=new Set(d.map(E=>E.id));return f.every(E=>
1b.has(E.id))}),(0,pe.d)({bufferSize:1,refCount:!0}))}toggleGroup(v){this.patchState(({collapsedGroups:d})=>({collapsedGroups:Object.assign(Object.assign({},d),{[v]:!d[v]})}))}setFilterForm(v){this.patchState(d=>(0,W.Z)(d.filterForm,v)?d:Object.assign(Object.assign({},d),{filterForm:v}))}setAdvancedFilter(v){const d=Ye(v);this.patchState(f=>(0,W.Z)(f.advancedFilter,d)?f:Object.assign(Object.assign({},f),{advancedFilter:d}))}setOrdersSelection(v,d){this.updateOrders(v,{selected:d})}setActivePreset(v){this.patchState({activePreset:v})}toggleSortDirection(){this.patchState(({sortDirection:v})=>({sortDirection:"asc"===v?"desc":"asc"}))}setActiveOrderId(v,d=B.kX.overview){this.patchState({activeOrderId:v,activeOrderSection:d})}setIsCreatingOrder(v){this.patchState({isCreatingOrder:v})}setNewlyCreatedOrderId(v){this.patchState({newlyCreatedOrderId:v})}reset(){this.setState(Jr)}updateOrderTags(v,d){this.updateOrders([v],{tags:d})}removeTagFromAllOrders(v){this.patchState(d=>{const b=Yr.selectAll(d).filter(R=>R.tags.some(K=>K.id===v));if(!b.length)return d;const E=b.map(R=>({id:R.id,changes:{tags:R.tags.filter(K=>K.id!==v)}}));return di.updateMany(E,d)})}updateOrders(v,d){this.patchState(f=>{const b=v.map(E=>({id:E,changes:d}));return di.updateMany(b,f)})}applyOrderChanges(v,d){this.patchState(f=>Object.assign(Object.assign({},di.upsertMany(v,di.removeMany(d,f))),{loading:!1}))}resetOrders(){this.patchState(v=>di.removeAll(v))}setLoading(v){this.patchState({loading:v})}applyPresetToFilters(v,d,f){const b=this.toPresetFilter(d,f);return b?[...v.filter(R=>R.type!==b.type),b]:v}toPresetFilter(v,d){return v?v===wn.NEW_CUSTOMER?{type:"newCustomer",value:!0}:d?{type:"shootDate",value:d}:null:null}sortOrders(v,d){const f=b=>{var E,R,K;switch(d.field){case"shootDate":return(null===(R=null===(E=b.shootDates)||void 0===E?void 0:E[0])||void 0===R?void 0:R.getTime())||0;case"dueDate":return b.dueDate?new Date(b.dueDate).getTime():0;case"creationDate":return(null===(K=b.creationDate)||void 0===K?void 0:K.getTime())||0;default:return 0}};return[...v].sort((b,E)=>{const R=f(b),K=f(E);return"asc"===d.direction?R-K:K-R})}extractUniqueOptions(v,d){const f=new Set;for(const b of v)for(const E of d(b))E&&f.add(E);return Array.from(f,b=>({label:b,value:b})).sort((b,E)=>b.label.localeCompare(E.label))}hydrateFilters(){var v;const{state:d,source:f}=this.persistenceService.restore(),b=d.sort&&yr(d.sort)||xr;this.patchState({sortDirection:b.direction}),this.setFilterForm({sortField:b.field,orderPlacedFrom:d.orderPlacedFrom,searchTerm:null!==(v=d.search)&&void 0!==v?v:""}),this.setAdvancedFilter(function je(x){const v={};return x.filter(Ze).forEach(d=>{v[d.key]=d.value}),v}(d.filters)),this.setActivePreset(d.preset),"storage"===f&&this.writeRestoredStateToUrl()}}en.\u0275fac=function(v){return new(v||en)(p.\u0275\u0275inject(wt),p.\u0275\u0275inject(un),p.\u0275\u0275inject(Kr),p.\u0275\u0275inject(tn),p.\u0275\u0275inject(De),p.\u0275\u0275inject(yi),p.\u0275\u0275inject(xe.Y4r),p.\u0275\u0275inject(xe.HVf),p.\u0275\u0275inject(xe.G0i),p.\u0275\u0275inject(xe._ZM),p.\u0275\u0275inject(Wi),p.\u0275\u0275inject(an.Dz,8))},en.\u0275prov=p.\u0275\u0275defineInjectable({token:en,factory:en.\u0275fac}),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[String]),(0,w.w6)("design:returntype",void 0)],en.prototype,"toggleGroup",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Object]),(0,w.w6)("design:returntype",void 0)],en.prototype,"setFilterForm",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Object]),(0,w.w6)("design:returntype",void 0)],en.prototype,"setAdvancedFilter",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Array,Boolean]),(0,w.w6)("design:returntype",void 0)],en.prototype,"setOrdersSelection",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Object]),(0,w.w6)("design:returntype",void 0)],en.prototype,"setActivePreset",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[]),(0,w.w6)("design:returntype",void 0)],en.prototype,"toggleSortDirection",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Object,Number]),(0,w.w6)("design:returntype",void 0)],en.prototype,"setActiveOrderId",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Boolean]),(0,w.w6)("design:returntype",void 0)],en.prototype,"setIsCreatingOrder",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Object]),(0,w.w6)("design:returntype",void 0)],en.prototype,"setNewlyCreatedOrderId",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[]),(0,w.w6)("design:returntype",void 0)],en.prototype,"reset",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[String,Object]),(0,w.w6)("design:returntype",void 0)],en.prototype,"updateOrderTags",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[String]),(0,w.w6)("design:returntype",void 0)],en.prototype,"removeTagFromAllOrders",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Array,Object]),(0,w.w6)("design:returntype",void 0)],en.prototype,"updateOrders",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Array,Array]),(0,w.w6)("design:returntype",void 0)],en.prototype,"applyOrderChanges",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[]),(0,w.w6)("design:returntype",void 0)],en.prototype,"resetOrders",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Boolean]),(0,w.w6)("design:returntype",void 0)],en.prototype,"setLoading",null);const ja={title:"Settings",subtitle:"Order Management",displayTitle:"Display Settings",displayDescription:"Customize how content is displayed",columnsTitle:"Show Columns",columnsDescription:"Select the columns you want to display by default in the order table.",save:"Save",cancel:"Cancel"},No=D.Pi5.COMPACT;let sn=(()=>{class x extends D.U32{constructor(d){super(d,"orders:column-settings",No)}parseStored(d){if((0,D.un1)(d))return d;
1const f=Array.isArray(d)?{columns:d,viewType:void 0}:d;return Array.isArray(null==f?void 0:f.columns)&&(null==f?void 0:f.columns.every(b=>this.isLegacyColumnSettings(b)))?this.migrateLegacy(f.columns,f.viewType):null}migrateLegacy(d,f){const b=[...d].sort((E,R)=>E.position-R.position);return{columns:b.filter(E=>!E.hidden).map(E=>E.key),hiddenColumns:b.filter(E=>E.hidden).map(E=>E.key),viewType:f===D.Pi5.NORMAL||f===D.Pi5.COMPACT?f:No,widths:d.reduce((E,R)=>(void 0!==R.width&&(E[R.key]=R.width),E),{})}}isLegacyColumnSettings(d){if("object"!=typeof d||null===d)return!1;const{key:f,hidden:b,position:E,width:R}=d;return"string"==typeof f&&"boolean"==typeof b&&"number"==typeof E&&(void 0===R||"number"==typeof R)}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275inject(Kn.n2))},x.\u0275prov=p.\u0275\u0275defineInjectable({token:x,factory:x.\u0275fac}),x})();var ln=_(12422),St=_(64137);function Ht(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"div",5)(1,"tn-create-order-button",6),p.\u0275\u0275listener("orderCreated",function(b){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext().onOrderCreated(b)})("creatingOrder",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext().onCreatingOrder(b)}),p.\u0275\u0275elementEnd()()}2&x&&(p.\u0275\u0275advance(1),p.\u0275\u0275property("textNowrap",!0))}let Yt=(()=>{class x{constructor(){this.isLimitedContractorAccess=!1,this.orderCreated=new p.EventEmitter,this.creatingOrder=new p.EventEmitter}onOrderCreated(d){this.orderCreated.emit(d)}onCreatingOrder(d){this.creatingOrder.emit(d)}}return x.\u0275fac=function(d){return new(d||x)},x.\u0275cmp=p.\u0275\u0275defineComponent({type:x,selectors:[["tn-order-list-header"]],inputs:{isLimitedContractorAccess:"isLimitedContractorAccess"},outputs:{orderCreated:"orderCreated",creatingOrder:"creatingOrder"},decls:7,vars:1,consts:[[1,"flex","gap-16","sm:gap-28"],[1,"min-w-0"],[1,"mb-8","order-title"],[1,"text-gray-40","text-12","sm:text-14","hidden","sm:block"],["class","ml-auto flex-shrink-0",4,"ngIf"],[1,"ml-auto","flex-shrink-0"],["size","medium",3,"textNowrap","orderCreated","creatingOrder"]],template:function(d,f){1&d&&(p.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"h1",2),p.\u0275\u0275text(3,"Orders"),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementStart(4,"p",3),p.\u0275\u0275text(5," This page displays all orders in the system. You can create new orders, review order details, track their progress, and check payment status. "),p.\u0275\u0275elementEnd()(),p.\u0275\u0275template(6,Ht,2,1,"div",4),p.\u0275\u0275elementEnd()),2&d&&(p.\u0275\u0275advance(6),p.\u0275\u0275property("ngIf",!f.isLimitedContractorAccess))},directives:[n.NgIf,St.n],styles:["[_nghost-%COMP%]{display:block}.order-title[_ngcontent-%COMP%]{line-height:32px}[_nghost-%COMP%] tn-create-order-button button.ui-btn-size{text-transform:capitalize;min-width:166px}"],changeDetection:0}),x})();var Bn=_(53251),Zi=_(23475),Sr=_(46637),Qn=_(255);function Xr(x,v){if(1&x&&p.\u0275\u0275element(0,"span",8),2&x){const d=p.\u0275\u0275nextContext().$implicit;p.\u0275\u0275styleProp("background-color",d.color)}}function Va(x,v){if(1&x&&(p.\u0275\u0275element(0,"i",9),p.\u0275\u0275pipe(1,"async")),2&x){const d=p.\u0275\u0275nextContext().$implicit,f=p.\u0275\u0275nextContext(2);p.\u0275\u0275property("uiIcon",d.icon)("size",p.\u0275\u0275pipeBind1(1,2,f.isCompact$)?16:20)}}function La(x,v){if(1&x&&(p.\u0275\u0275elementContainerStart(0),p.\u0275\u0275text(1),p.\u0275\u0275elementContainerEnd()),2&x){const d=p.\u0275\u0275nextContext().$implicit;p.\u0275\u0275advance(1),p.\u0275\u0275textInterpolate1(" ( ",d.count," ) ")}}const Na=function(){return[]};function $a(x,v){if(1&x&&(p.\u0275\u0275elementStart(0,"a",4),p.\u0275\u0275template(1,Xr,1,2,"span",5),p.\u0275\u0275template(2,Va,2,4,"i",6),p.\u0275\u0275text(3),p.\u0275\u0275template(4,La,2,1,"ng-container",7),p.\u0275\u0275elementEnd()),2&x){const d=v.$implicit,f=p.\u0275\u0275nextContext().ngIf,b=p.\u0275\u0275nextContext();p.\u0275\u0275property("active",d.key===(null==f.activeTab?null:f.activeTab.key))("routerLink",p.\u0275\u0275pureFunction0(7,Na))("queryParams",b.getQueryParams(d.key)),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",d.color),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",d.icon),p.\u0275\u0275advance(1),p.\u0275\u0275textInterpolate1(" ",d.label," "),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",void 0!==d.count)}
1}function za(x,v){if(1&x&&(p.\u0275\u0275elementStart(0,"nav",2),p.\u0275\u0275pipe(1,"async"),p.\u0275\u0275template(2,$a,5,8,"a",3),p.\u0275\u0275elementEnd()),2&x){const d=v.ngIf,f=p.\u0275\u0275nextContext();p.\u0275\u0275classProp("mat-tab-compact",p.\u0275\u0275pipeBind1(1,4,f.isCompact$)),p.\u0275\u0275advance(2),p.\u0275\u0275property("ngForOf",d.tabs)("ngForTrackBy",f.trackByKey)}}let Ti=class{constructor(v,d){this.navigationTabsComponentStore=v,this.viewTypeContainer=d,this.vm$=this.navigationTabsComponentStore.vm$,this.isCompact$=this.viewTypeContainer.viewType$.pipe((0,N.U)(f=>f===Zi.P.COMPACT),(0,V.x)())}ngAfterViewInit(){this.isCompact$.pipe((0,z.t)(this)).subscribe(()=>{var v;return null===(v=this.tabNav)||void 0===v?void 0:v._alignInkBarToSelectedTab()})}getQueryParams(v){return{[this.navigationTabsComponentStore.queryKey]:v}}trackByKey(v,d){return d.key}};Ti.\u0275fac=function(v){return new(v||Ti)(p.\u0275\u0275directiveInject(Sr.m),p.\u0275\u0275directiveInject(Zi.b))},Ti.\u0275cmp=p.\u0275\u0275defineComponent({type:Ti,selectors:[["ui-navigation-tabs"]],viewQuery:function(v,d){if(1&v&&p.\u0275\u0275viewQuery(Bn.BU,5),2&v){let f;p.\u0275\u0275queryRefresh(f=p.\u0275\u0275loadQuery())&&(d.tabNav=f.first)}},ngContentSelectors:["*"],decls:4,vars:3,consts:[["mat-tab-nav-bar","","class","status-tabs mat-tab-borderless mat-tab-paginated",3,"mat-tab-compact",4,"ngIf"],[1,"tabs-extra"],["mat-tab-nav-bar","",1,"status-tabs","mat-tab-borderless","mat-tab-paginated"],["mat-tab-link","","queryParamsHandling","merge",3,"active","routerLink","queryParams",4,"ngFor","ngForOf","ngForTrackBy"],["mat-tab-link","","queryParamsHandling","merge",3,"active","routerLink","queryParams"],["class","mat-tab-marker",3,"background-color",4,"ngIf"],[3,"uiIcon","size",4,"ngIf"],[4,"ngIf"],[1,"mat-tab-marker"],[3,"uiIcon","size"]],template:function(v,d){1&v&&(p.\u0275\u0275projectionDef(),p.\u0275\u0275template(0,za,3,6,"nav",0),p.\u0275\u0275pipe(1,"async"),p.\u0275\u0275elementStart(2,"div",1),p.\u0275\u0275projection(3),p.\u0275\u0275elementEnd()),2&v&&p.\u0275\u0275property("ngIf",p.\u0275\u0275pipeBind1(1,1,d.vm$))},directives:[n.NgIf,Bn.BU,n.NgForOf,Z.yS,Bn.Nj,Qn.a],pipes:[n.AsyncPipe],styles:["[_nghost-%COMP%]{display:flex;overflow:hidden;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));padding-left:1.5rem;padding-right:1.5rem}@media (max-width: 639px){[_nghost-%COMP%]{padding-left:.75rem;padding-right:.75rem}}.status-tabs[_ngcontent-%COMP%]{min-width:0;flex:1 1 0%}.tabs-extra[_ngcontent-%COMP%]{display:flex;flex-shrink:0;padding-left:1rem;padding-right:.25rem}@media (max-width: 639px){.tabs-extra[_ngcontent-%COMP%]{display:none}}.tabs-extra.cramped[_ngcontent-%COMP%]{box-shadow:-4px 0 5px -3px #00000026}"],changeDetection:0}),Ti=(0,w.gn)([(0,z.c)(),(0,w.w6)("design:paramtypes",[Sr.m,Object])],Ti);var $o=_(69009);let Ha=(()=>{class x{constructor(d){this.ngControl=d}set uiDisableControl(d){var f,b;d?null===(f=this.ngControl.control)||void 0===f||f.disable():null===(b=this.ngControl.control)||void 0===b||b.enable()}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275directiveInject(A.a5))},x.\u0275dir=p.\u0275\u0275defineDirective({type:x,selectors:[["","uiDisableControl",""]],inputs:{uiDisableControl:"uiDisableControl"}}),x})();var Wa=_(31508),ni=_(66809),pi=_(72751);function Ga(x,v){1&x&&p.\u0275\u0275element(0,"div",5)}const mi=function(x,v,d,f){return{"py-8 text-14 font-normal leading-5":x,"text-13 font-normal h-26 compact":v,"bg-transparent":d,"bg-brand-5 text-brand-50 border-1 border-solid border-brand-20 ":f,"px-12 whitespace-nowrap flex-shrink-0 rounded-full border-1 border-solid hover:border-gray-15 hover:bg-gray-10 ":!0}};function Ka(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementContainerStart(0),p.\u0275\u0275elementStart(1,"button",3),p.\u0275\u0275listener("click",function(){const E=p.\u0275\u0275restoreView(d).$implicit;return p.\u0275\u0275nextContext(2).onFilter(E.type)}),p.\u0275\u0275text(2),p.\u0275\u0275elementEnd(),p.\u0275\u0275template(3,Ga,1,0,"div",4),p.\u0275\u0275elementContainerEnd()}if(2&x){const d=v.$implicit,f=v.last,b=p.\u0275\u0275nextContext(),E=b.isNormal,R=b.isCompact,K=p.\u0275\u0275nextContext();
1p.\u0275\u0275advance(1),p.\u0275\u0275property("ngClass",p.\u0275\u0275pureFunction4(3,mi,E,R,K.activePreset!==d.type,K.activePreset===d.type)),p.\u0275\u0275advance(1),p.\u0275\u0275textInterpolate1(" ",d.label," "),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",!f)}}function Za(x,v){if(1&x&&(p.\u0275\u0275elementStart(0,"div",1),p.\u0275\u0275template(1,Ka,4,8,"ng-container",2),p.\u0275\u0275elementEnd()),2&x){const d=p.\u0275\u0275nextContext();p.\u0275\u0275advance(1),p.\u0275\u0275property("ngForOf",d.presets)}}let Qa=(()=>{class x{constructor(){this.presets=[{type:wn.SHOOTS_TODAY,label:"Shoots Today"},{type:wn.SHOOTS_TOMORROW,label:"Shoots Tomorrow"},{type:wn.SHOOTS_THIS_WEEK,label:"Shoots this Week"},{type:wn.NEW_CUSTOMER,label:"New Customer"}],this.activePreset=null,this.presetSelected=new p.EventEmitter}onFilter(d){this.presetSelected.emit(this.activePreset===d?null:d)}}return x.\u0275fac=function(d){return new(d||x)},x.\u0275cmp=p.\u0275\u0275defineComponent({type:x,selectors:[["tn-order-preset-filters"]],inputs:{activePreset:"activePreset"},outputs:{presetSelected:"presetSelected"},decls:1,vars:0,consts:[["class","flex items-center gap-16 h-full",4,"uiViewType"],[1,"flex","items-center","gap-16","h-full"],[4,"ngFor","ngForOf"],[3,"ngClass","click"],["class","flex-shrink-0 bg-gray-25 w-1 h-14",4,"ngIf"],[1,"flex-shrink-0","bg-gray-25","w-1","h-14"]],template:function(d,f){1&d&&p.\u0275\u0275template(0,Za,2,1,"div",0)},directives:[ln.F,n.NgForOf,n.NgClass,n.NgIf],styles:["[_nghost-%COMP%]{display:block}[_nghost-%COMP%] button.compact[_ngcontent-%COMP%]{padding-top:4px;padding-bottom:4px}"],changeDetection:0}),x})();var qr=_(30050),Ja=_(12960),Ya=_(49505),zo=_(90391),eo=_(12230),Xa=_(47333),qa=_(87858),es=_(20449),to=_(70127),Tr=_(61715),Uo=_(30567),Ho=_(21406),Wo=_(90864),Xt=_(49343);class ii extends an.uK{constructor(v,d,f,b,E,R){super({selectedOrders:[],selectedIds:[],ordersMetadata:[],properties:[]}),this.spwContentSyncChecklistService=v,this.dropboxIntegrationRepository=d,this.ordersRepositoryService=f,this.archivedOrdersRepositoryService=b,this.statsDocumentService=E,this.schedulingService=R,this.selectedOrders$=this.select(K=>K.selectedOrders),this.ids$=this.select(K=>K.selectedIds),this.properties$=this.select(K=>K.properties),this.ordersMetaData$=this.select(K=>K.ordersMetadata),this.ordersWithSPW$=this.select(this.selectedOrders$,K=>K.filter(se=>se.isWebsiteEnabled)),this.syncedData$=(0,Ue.aj)([this.ordersMetaData$,this.selectedOrders$]).pipe((0,N.U)(([K,se])=>{if(!se.length||!K.length)return[];const fe=K.filter(Ae=>!!Ae);return se.map(Ae=>{const Je=fe.find(q=>q.id===Ae.id);if(!Je)return null;const le=Je.lastDeliverySyncDate||Ae.lastDeliverySyncDate;return Object.assign(Object.assign({},Je),{lastDeliverySyncDate:le?1e3*le:void 0})}).filter(Ae=>!!Ae)})),this.syncStatus$=this.syncedData$.pipe((0,N.U)(K=>K.map(se=>se.deliverySyncStatus))),this.timedOutMetas$=this.select(this.syncStatus$,this.syncedData$,(0,Tr.F)(1e3),(K,se)=>{const fe=to.Z.firestore.Timestamp.now().seconds;return se.map((Ae,Je)=>{const le=K[Je];return"failed"!==le&&"success"!==le&&Ae.startDeliverySyncDate&&fe-Ae.startDeliverySyncDate.seconds>300?Ae:null}).filter(Ae=>!!Ae)},{debounce:!0}),this.isSyncFailed$=this.select(this.syncStatus$,this.timedOutMetas$,(K,se)=>K.map((fe,Ae)=>"failed"===fe||se[Ae])),this.someSyncFailed$=this.isSyncFailed$.pipe((0,N.U)(K=>K.some(se=>se))),this.syncInProgress$=(0,Ue.aj)([this.syncStatus$,this.timedOutMetas$]).pipe((0,N.U)(([K,se])=>K.some((fe,Ae)=>("in_progress"===fe||"pending"===fe)&&!se[Ae]))),this.isSyncSuccess$=this.syncStatus$.pipe((0,N.U)(K=>K.length>0&&K.every(se=>"success"===se))),this.vm$=this.select(this.syncInProgress$,this.someSyncFailed$,this.isSyncSuccess$,(K,se,fe)=>({syncInProgress:K,someSyncFailed:se,isSyncSuccess:fe}),{debounce:!0}),this.onSync=this.effect(K=>K.pipe((0,Fi.M)(this.ordersWithSPW$,this.selectedOrders$,this.properties$),(0,ue.w)(([{clearSelection:se},fe,Ae,Je])=>{const le=Ae.filter(Le=>!Le.isNativeUpload),q=fe.filter(Le=>!Le.isNativeUpload);if(!le.length)return Dt.E;const{withContent:Ce,withoutContent:Oe}=this.splitOrdersByContent(le,Je);return q.length&&Ce.length?this.openSyncDialog().pipe((0,ue.w)(Le=>(0,Uo.D)([this.syncOrders(Ce,Le),this.syncOrders(Oe)]).pipe((0,gt.b)(se)))):this.syncOrders(le).pipe((0,gt.b)(se))}))),this.onArchive=this.effect(K=>K.pipe((0,Fi.M)(this.selectedOrders$,this.ids$),(0,ue.w)(([{clearSelection:se},fe,Ae])=>{if(!fe.length)return Dt.E;const Je=fe.map(le=>this.ordersRepositoryService.getById(le.id).pipe((0,Se.q)(1)));return(0,Uo.D)(Je).pipe((0,ue.w)(le=>{const Ce=to.Z.firestore.FieldValue.increment(Ae.length),Oe=xe.HVf.initBatch(),Le=[];return le.forEach(ct=>{!ct||((null==ct?void 0:ct.calendarEvent)&&Le.push(ct.calendarEvent),this.ordersRepositoryService.batchedDelete(ct.id,Oe),this.archivedOrdersRepositoryService.batchedUpsert(ct.id,ct,Oe))}),this.statsDocumentService.batchedUpsert({totalArchivedOrders:Ce},Oe),(0,Pt.D)(Oe.commit()).pipe((0,gt.b)(()=>
1{if(Le.length){const ct=le.filter(Ot=>null!=Ot).map(Ot=>Ot.id);this.schedulingService.promptDeleteEventsForOrders(ct)}se()}),(0,zt.K)(ct=>(console.error("Error archiving orders:",ct),Dt.E)))}))})))}setSelectedOrders(v){this.patchState({selectedOrders:v})}setSelectedIds(v){this.patchState({selectedIds:v})}splitOrdersByContent(v,d){const f=d.filter(R=>!!R&&(0,Xt.hO)(R)).map(R=>R.id);return{withContent:v.filter(R=>f.includes(R.id)),withoutContent:v.filter(R=>!f.includes(R.id))}}openSyncDialog(){return this.spwContentSyncChecklistService.openDialog(Object.assign({},ce.ri)).pipe((0,Qe.h)(v=>!!v))}syncOrders(v,d=null){return this.bulkResetDeliveryContent(v.map(f=>f.id),d)}bulkResetDeliveryContent(v,d=null){return(0,Pt.D)(v).pipe((0,Ho.b)(f=>this.syncOrder(f,d).pipe((0,Ho.b)(()=>this.resetLinksForOrder(f)))),(0,Wo.q)(),(0,N.U)(()=>{}))}syncOrder(v,d){return(0,Pt.D)(this.dropboxIntegrationRepository.syncDeliveryContent(v,d).catch(f=>(console.error(`Sync failed for order ${v}`,f),Promise.resolve())))}resetLinksForOrder(v){return(0,Pt.D)(this.updateDeliverableLinks(v,[])).pipe((0,zt.K)(d=>(console.error(`Resetting deliverable links failed for order ${v}`,d),(0,Si.of)(void 0))))}updateDeliverableLinks(v,d){return(0,w.mG)(this,void 0,void 0,function*(){yield this.ordersRepositoryService.update(v,{deliverablesLinks:d})})}}ii.\u0275fac=function(v){return new(v||ii)(p.\u0275\u0275inject(L.US),p.\u0275\u0275inject(xe.G0i),p.\u0275\u0275inject(xe.HVf),p.\u0275\u0275inject(xe.Ue4),p.\u0275\u0275inject(xe.AY),p.\u0275\u0275inject(xe.X$O))},ii.\u0275prov=p.\u0275\u0275defineInjectable({token:ii,factory:ii.\u0275fac}),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Array]),(0,w.w6)("design:returntype",void 0)],ii.prototype,"setSelectedOrders",null),(0,w.gn)([(0,an.wE)(),(0,w.w6)("design:type",Function),(0,w.w6)("design:paramtypes",[Array]),(0,w.w6)("design:returntype",void 0)],ii.prototype,"setSelectedIds",null);var Go=_(32408),no=_(87238);function jn(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"button",6,7),p.\u0275\u0275listener("click",function(){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext().removeVideoProject()}),p.\u0275\u0275element(2,"i",8),p.\u0275\u0275text(3," Remove Video Project "),p.\u0275\u0275elementEnd()}if(2&x){const d=p.\u0275\u0275reference(1);p.\u0275\u0275advance(2),p.\u0275\u0275property("size",d.iconSize)}}function wi(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"button",6,15),p.\u0275\u0275listener("click",function(){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).createVideoProject()}),p.\u0275\u0275element(2,"i",11),p.\u0275\u0275text(3," Create Video Project "),p.\u0275\u0275elementEnd()}if(2&x){const d=p.\u0275\u0275reference(1);p.\u0275\u0275advance(2),p.\u0275\u0275property("size",d.iconSize)}}function ts(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementContainerStart(0),p.\u0275\u0275elementStart(1,"button",16,17),p.\u0275\u0275listener("click",function(){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).syncDeliveryFiles()}),p.\u0275\u0275element(3,"i",18),p.\u0275\u0275text(4," Sync Delivery Files "),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementContainerEnd()}if(2&x){const d=v.ngIf,f=p.\u0275\u0275reference(2),b=p.\u0275\u0275nextContext(2);p.\u0275\u0275advance(1),p.\u0275\u0275property("matTooltip",b.deliveryTooltipMessage)("disabled",!b.everyHasDeliveryLink||d.syncInProgress),p.\u0275\u0275advance(2),p.\u0275\u0275classProp("animate-spin",d.syncInProgress),p.\u0275\u0275property("size",f.iconSize)}}function ns(x,v){1&x&&(p.\u0275\u0275elementStart(0,"div",19),p.\u0275\u0275element(1,"img",20),p.\u0275\u0275text(2," Loading... "),p.\u0275\u0275elementEnd())}function is(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"button",9,10),p.\u0275\u0275listener("click",function(){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext().archiveOrders()}),p.\u0275\u0275element(2,"i",11),p.\u0275\u0275text(3,"Archive "),p.\u0275\u0275elementEnd(),p.\u0275\u0275template(4,wi,4,1,"button",12),p.\u0275\u0275template(5,ts,5,5,"ng-container",13),p.\u0275\u0275pipe(6,"async"),p.\u0275\u0275template(7,ns,3,0,"ng-template",null,14,p.\u0275\u0275templateRefExtractor)}if(2&x){const d=p.\u0275\u0275reference(1),f=p.\u0275\u0275reference(8),b=p.\u0275\u0275nextContext();p.\u0275\u0275advance(2),p.\u0275\u0275property("size",d.iconSize),p.\u0275\u0275advance(2),p.\u0275\u0275property("ngIf",!b.mobileLayout),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",b.isDropBoxConnected&&p.\u0275\u0275pipeBind1(6,4,b.vm$))("ngIfElse",f)}}function Ko(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"ui-select",21),p.\u0275\u0275listener("selectionChange",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext().onPaymentStatusChange(b)}),p.\u0275\u0275elementEnd()}if(2&x){const d=p.\u0275\u0275nextContext();p.\u0275\u0275property("nameKey","label")("items",d.paymentStatuses)("value",d.selectedOrdersPaymentStatus)("rightIcon","arrow_drop_down")("rightIconSize",24)}}let Qi=(()=>{class x{constructor(d,f,b,E,R){this.projectService=d,this.appConfigService=f,this.ordersRepositoryService=b,this.deliveryBulkStore=E,this.snackBar=R,this.orders=[],this.selection=new es.Ov(!0,[]),this.selected=[],this.orderStatuses=[],this.paymentStatuses=[],this.selectionCleared=new p.EventEmitter,this.ordersUpdated=new p.EventEmitter,this.selectedOrdersStatus="",this.selectedOrdersPaymentStatus="",this.selectedOrders=[],this.videoType=this.appConfigService.ordersVideoType,this.mobileLayout=!1,this.vm$=this.deliveryBulkStore.vm$,this.deliveryTooltipMessage="",this.everyHasDeliveryLink=!1,this.isDropBoxConnected=this.appConfigService.allowDropboxConnections}ngOnChanges(d){const{selected:f}=d;f&&f.currentValue!==f.previousValue&&(this.deliveryBulkStore.setSelectedIds(f.currentValue),this.setSelectedOrders(f.currentValue),this.setSelectedOrdersStatus(this.selectedOrders),this.setEveryHasDeliveryLink(this.selectedOrders),this.setButtonTooltipIfNoFolders(this.selectedOrders),this.setSelectedOrdersPaymentStatus(this.selectedOrders),this.deliveryBulkStore.setSelectedOrders(this.selectedOrders))}ngOnInit(){this.mobileLayout=window.innerWidth<600}archiveOrders(){this.deliveryBulkStore.onArchive({clearSelection:()=>this.clearSelection()})}createVideoProject(){this.selectedOrders.forEach(d=>this.projectService.createVideoProject(d)),this.clearSelection()}onPaymentStatusChange(d){var f;return(0,w.mG)(this,void 0,void 0,function*(){try{yield Promise.all(this.selectedOrders.map(K=>this.projectService.changePaymentStatus(K,d)));const b=this.selectedOrders.map(K=>K.id);this.ordersUpdated.emit(b),this.clearSelection();const E=(null===(f=this.paymentStatuses.find(K=>K.value===d))||void 0===f?void 0:f.label)||d,R=this.selectedOrders.map(K=>K.orderNo).join(", ");this.showSuccessToast(`Successfully changed the Payment Status of order ${R} to ${E}.`)}catch(b){console.error("Error updating payment statuses:",b),this.showErrorToast("Failed to update some orders. Please try again.")}})}statusChangeHandler(d){var f;this.selectedOrders.forEach(K=>{this.type!==this.videoType?this.projectService.staffChangeOrderStatus(K,d):this.projectService.changeVideoStatus(K,d)}),this.clearSelection();const b=(null===(f=this.orderStatuses.find(K=>K.value===d))||void 0===f?void 0:f.label)||d,E=this.selectedOrders.map(K=>K.orderNo).join(", ");this.showSuccessToast(`Successfully changed the ${this.type===this.videoType?"Video Status":"Order Status"} of order ${E} to ${b}.`)}removeVideoProject(){const d=xe.HVf.initBatch();this.selectedOrders.forEach(f=>{this.ordersRepositoryService.batchedUpdate(f.id,{videoProject:!1},d)}),d.commit(),this.clearSelection()}syncDeliveryFiles(){this.deliveryBulkStore.onSync({clearSelection:()=>this.clearSelection()})}setEveryHasDeliveryLink(d){this.everyHasDeliveryLink=d.every(f=>!!f.deliverableLink)}setButtonTooltipIfNoFolders(d){const f=d.filter(R=>!R.deliverableLink).map(R=>R.orderNo),b=f.join(", ");this.deliveryTooltipMessage=f.length?f.length>1?`Create folders for the orders: ${b}`:`Create folders for the order: ${b}`:""}setSelectedOrders(d=[]){this.selectedOrders=(this.orders||[]).filter(({id:f})=>d.includes(f))}setSelectedOrdersStatus(d=[]){var f;
1const b=this.type===this.videoType?"videoStatus":"orderStatus",E=null===(f=d[0])||void 0===f?void 0:f[b],R=d.every(K=>K[b]===E);this.selectedOrdersStatus=R?E:""}setSelectedOrdersPaymentStatus(d=[]){var f;const b=null===(f=d[0])||void 0===f?void 0:f.paymentStatus,E=d.every(R=>R.paymentStatus===b);this.selectedOrdersPaymentStatus=E?b:""}showSuccessToast(d){this.snackBar.open(d,void 0,{duration:2e3,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["success-snackbar"]})}showErrorToast(d){this.snackBar.open(d,void 0,{duration:0,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["error-snackbar"]})}clearSelection(){this.selection.clear(),this.selectionCleared.emit()}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275directiveInject(xe.Y4r),p.\u0275\u0275directiveInject(xe._ZM),p.\u0275\u0275directiveInject(xe.HVf),p.\u0275\u0275directiveInject(ii),p.\u0275\u0275directiveInject(O.ux))},x.\u0275cmp=p.\u0275\u0275defineComponent({type:x,selectors:[["tn-order-bulk-actions-beta"]],inputs:{orders:"orders",selection:"selection",selected:"selected",orderStatuses:"orderStatuses",paymentStatuses:"paymentStatuses",type:"type"},outputs:{selectionCleared:"selectionCleared",ordersUpdated:"ordersUpdated"},features:[p.\u0275\u0275ProvidersFeature([ii]),p.\u0275\u0275NgOnChangesFeature],decls:8,vars:13,consts:[[1,"snack-bar",3,"styles","bg","color","px"],[1,"text-16","font-semibold","whitespace-nowrap"],["uiBtnSize","large","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf","ngIfElse"],["ordersActions",""],["size","large","placeholder","Mixed order statuses",1,"bulk-select",3,"nameKey","items","value","rightIcon","rightIconSize","selectionChange"],["size","large","placeholder","Mixed payment statuses","class","bulk-select",3,"nameKey","items","value","rightIcon","rightIconSize","selectionChange",4,"ngIf"],["uiBtnSize","large","uiBtnTheme","main","themeMode","secondary",3,"click"],["removeVideoButton","btnSize"],["uiIcon","remove",3,"size"],["uiBtnSize","large","uiBtnTheme","error","themeMode","primary",3,"click"],["archiveButton","btnSize"],["uiIcon","video_library",3,"size"],["uiBtnSize","large","uiBtnTheme","main","themeMode","secondary",3,"click",4,"ngIf"],[4,"ngIf","ngIfElse"],["skeleton",""],["createVideoButton","btnSize"],["uiBtnSize","large","uiBtnTheme","main","themeMode","secondary",3,"matTooltip","disabled","click"],["syncDeliveryButton","btnSize"],["uiIcon","sync",3,"size"],[1,"delivery-skeleton"],["alt","Dropbox","height","16","width","16","loading","lazy","src","../assets/images/dropbox/dropbox-icon.svg"],["size","large","placeholder","Mixed payment statuses",1,"bulk-select",3,"nameKey","items","value","rightIcon","rightIconSize","selectionChange"]],template:function(d,f){if(1&d&&(p.\u0275\u0275elementStart(0,"ui-snack-bar",0)(1,"span",1),p.\u0275\u0275text(2),p.\u0275\u0275elementEnd(),p.\u0275\u0275template(3,jn,4,1,"button",2),p.\u0275\u0275template(4,is,9,6,"ng-template",null,3,p.\u0275\u0275templateRefExtractor),p.\u0275\u0275elementStart(6,"ui-select",4),p.\u0275\u0275listener("selectionChange",function(E){return f.statusChangeHandler(E)}),p.\u0275\u0275elementEnd(),p.\u0275\u0275template(7,Ko,1,5,"ui-select",5),p.\u0275\u0275elementEnd()),2&d){const b=p.\u0275\u0275reference(5);p.\u0275\u0275property("styles","gap-10 h-72")("bg","bg-gray-10")("color","text-gray-85")("px","p-12"),p.\u0275\u0275advance(2),p.\u0275\u0275textInterpolate1(" ",f.selected.length," Selected "),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",f.type===f.videoType)("ngIfElse",b),p.\u0275\u0275advance(3),p.\u0275\u0275property("nameKey","label")("items",f.orderStatuses)("value",f.selectedOrdersStatus)("rightIcon","arrow_drop_down")("rightIconSize",24),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",f.type!==f.videoType)}},directives:[Go.E,n.NgIf,ni.s,pi.V,Qn.a,no.gM,$o.H],pipes:[n.AsyncPipe],styles:["[_nghost-%COMP%] .snack-bar[_ngcontent-%COMP%]{position:fixed;z-index:100}[_nghost-%COMP%] .snack-bar[_ngcontent-%COMP%] .snackbar-container{border-radius:12px!important;border:1px solid #e2e2e2;box-shadow:0 1px 15px #00000026}[_nghost-%COMP%] .bulk-select[_ngcontent-%COMP%]{width:8rem}[_nghost-%COMP%] .bulk-select[_ngcontent-%COMP%] ui-form-input-group{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1));min-height:48px;line-height:32px}[_nghost-%COMP%] .bulk-select[_ngcontent-%COMP%] ui-form-input-group input::placeholder{--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .bulk-select[_ngcontent-%COMP%] ui-form-input-group .arrows, [_nghost-%COMP%] .bulk-select[_ngcontent-%COMP%] ui-form-input-group:hover .arrows{--tw-text-opacity: 1;color:rgb(26 26 26 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .delivery-skeleton[_ngcontent-%COMP%]{display:flex;height:3rem;width:15rem;cursor:not-allowed;align-items:center;justify-content:center;border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));border-radius:.75rem;font-size:1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .delivery-skeleton[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:.5rem;width:1rem;opacity:.8}"],changeDetection:0}),x})();var rs=_(85899),Zo=_(51062);const os=function(x){return["/order-dashboard",x,"delivery"]};function as(x,v){if(1&x&&(p.\u0275\u0275elementContainerStart(0),p.\u0275\u0275elementStart(1,"a",4),p.\u0275\u0275text(2),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementStart(3,"span",5),p.\u0275\u0275text(4,"100%"),p.\u0275\u0275elementEnd(),p.\u0275\u0275element(5,"i",6)(6,"span",7),p.\u0275\u0275elementContainerEnd()),2&x){const d=p.\u0275\u0275nextContext();
1p.\u0275\u0275advance(1),p.\u0275\u0275property("routerLink",p.\u0275\u0275pureFunction1(2,os,d.orderId)),p.\u0275\u0275advance(1),p.\u0275\u0275textInterpolate1(" ",d.title," ")}}function ss(x,v){if(1&x&&(p.\u0275\u0275elementContainerStart(0),p.\u0275\u0275elementStart(1,"span",8),p.\u0275\u0275text(2),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementStart(3,"span",9),p.\u0275\u0275text(4),p.\u0275\u0275pipe(5,"translate"),p.\u0275\u0275elementEnd(),p.\u0275\u0275element(6,"i",10)(7,"span",7),p.\u0275\u0275elementContainerEnd()),2&x){const d=p.\u0275\u0275nextContext();p.\u0275\u0275advance(2),p.\u0275\u0275textInterpolate(d.title),p.\u0275\u0275advance(2),p.\u0275\u0275textInterpolate(p.\u0275\u0275pipeBind1(5,2,"DELIVERY_SYNC_FAILED"))}}function ls(x,v){if(1&x&&(p.\u0275\u0275elementContainerStart(0),p.\u0275\u0275elementStart(1,"span",8),p.\u0275\u0275text(2),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementStart(3,"span",5),p.\u0275\u0275text(4),p.\u0275\u0275elementEnd(),p.\u0275\u0275element(5,"i",11)(6,"span",7),p.\u0275\u0275elementContainerEnd()),2&x){const d=p.\u0275\u0275nextContext();p.\u0275\u0275advance(2),p.\u0275\u0275textInterpolate(d.title),p.\u0275\u0275advance(2),p.\u0275\u0275textInterpolate1("",d.computedProgress,"%")}}let Qo=(()=>{class x{constructor(){this.progress=0,this.closed=new p.EventEmitter}get computedProgress(){return Math.round(this.progress||0)}onClose(){this.closed.emit()}}return x.\u0275fac=function(d){return new(d||x)},x.\u0275cmp=p.\u0275\u0275defineComponent({type:x,selectors:[["tn-dbx-sync-status-item-v2"]],inputs:{orderId:"orderId",title:"title",status:"status",progress:"progress"},outputs:{closed:"closed"},decls:6,vars:6,consts:[[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],["uiIcon","clear","matTooltipPosition","above","size","20",1,"rounded","p-2","hover:bg-blue-100","hover:text-blue-500","cursor-pointer","text-gray-30",3,"matTooltip","click"],["target","_blank",1,"text-gray-85","font-semibold","text-16","leading-5","flex-1","min-w-0",3,"routerLink"],[1,"text-gray-85","font-semibold","text-16","leading-5","w-48","text-right"],["uiIcon","check_circle","uiIconVariant","filled",1,"text-brand-50"],[1,"bg-gray-15","flex-shrink-0","w-1","h-24"],[1,"text-gray-85","font-semibold","text-16","leading-5","flex-1","min-w-0"],[1,"text-red-60","font-semibold","text-16","leading-5","w-48","text-right"],["uiIcon","error","uiIconVariant","filled",1,"text-red-60"],["uiIcon","cached",1,"animate-spin","text-brand-40"]],template:function(d,f){1&d&&(p.\u0275\u0275elementContainerStart(0,0),p.\u0275\u0275template(1,as,7,4,"ng-container",1),p.\u0275\u0275template(2,ss,8,4,"ng-container",1),p.\u0275\u0275template(3,ls,7,2,"ng-container",2),p.\u0275\u0275elementStart(4,"i",3),p.\u0275\u0275listener("click",function(){return f.onClose()}),p.\u0275\u0275pipe(5,"translate"),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementContainerEnd()),2&d&&(p.\u0275\u0275property("ngSwitch",f.status),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngSwitchCase","success"),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngSwitchCase","failed"),p.\u0275\u0275advance(2),p.\u0275\u0275property("matTooltip",p.\u0275\u0275pipeBind1(5,4,"CLOSE")))},directives:[n.NgSwitch,n.NgSwitchCase,Z.yS,Qn.a,n.NgSwitchDefault,no.gM],pipes:[Zo.X$],styles:["[_nghost-%COMP%]{display:flex;height:2rem;align-items:center;gap:.75rem}"],changeDetection:0}),x})();function Jo(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"tn-dbx-sync-status-item-v2",12),p.\u0275\u0275listener("closed",function(){const E=p.\u0275\u0275restoreView(d).$implicit;return p.\u0275\u0275nextContext(4).orderClosed(E.orderId)}),p.\u0275\u0275elementEnd()}if(2&x){const d=v.$implicit;p.\u0275\u0275property("title",d.title)("status",d.status)("progress",d.progress)("orderId",d.orderId)}}function Yo(x,v){if(1&x&&(p.\u0275\u0275elementStart(0,"div",10),p.\u0275\u0275template(1,Jo,1,4,"tn-dbx-sync-status-item-v2",11),p.\u0275\u0275elementEnd()),2&x){const d=p.\u0275\u0275nextContext(2).ngIf,f=p.\u0275\u0275nextContext();p.\u0275\u0275advance(1),p.\u0275\u0275property("ngForOf",d.items)("ngForTrackBy",f.trackBy)}}const cs=function(x,v){return{completed:x,total:v}};function ds(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"div",2)(1,"i",3),p.\u0275\u0275listener("click",function(){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext(2).orderListToggled()}),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementStart(2,"span",4),p.\u0275\u0275text(3),p.\u0275\u0275pipe(4,"translate"),p.\u0275\u0275elementEnd(),p.\u0275\u0275element(5,"mat-progress-bar",5),p.\u0275\u0275elementStart(6,"span",6),p.\u0275\u0275text(7),p.\u0275\u0275elementEnd(),p.\u0275\u0275element(8,"span",7),p.\u0275\u0275elementStart(9,"i",8),p.\u0275\u0275listener("click",function(){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).panelClosed()}),p.\u0275\u0275pipe(10,"translate"),p.\u0275\u0275elementEnd(),p.\u0275\u0275template(11,Yo,2,2,"div",9),p.\u0275\u0275elementEnd()}if(2&x){const d=p.\u0275\u0275nextContext().ngIf,f=p.\u0275\u0275nextContext();p.\u0275\u0275advance(1),p.\u0275\u0275property("uiIcon",f.expanded?"keyboard_arrow_up":"keyboard_arrow_down")("size",24),p.\u0275\u0275advance(2),p.\u0275\u0275textInterpolate1(" ",p.\u0275\u0275pipeBind2(4,7,"DELIVERY_SYNC_RESIZING_IMAGES",p.\u0275\u0275pureFunction2(12,cs,d.completedCount,d.items.length))," "),p.\u0275\u0275advance(2),p.\u0275\u0275property("value",d.totalProgress),p.\u0275\u0275advance(2),p.\u0275\u0275textInterpolate1(" ",d.totalProgress,"% "),p.\u0275\u0275advance(2),p.\u0275\u0275property("matTooltip",p.\u0275\u0275pipeBind1(10,10,"DELIVERY_SYNC_CLOSE_PANEL")),p.\u0275\u0275advance(2),p.\u0275\u0275property("ngIf",f.expanded)}}function ps(x,v){if(1&x&&(p.\u0275\u0275elementContainerStart(0),p.\u0275\u0275template(1,ds,12,15,"div",1),p.\u0275\u0275elementContainerEnd()),2&x){const d=v.ngIf;p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",d.items.length)}}let ms=(()=>{class x{constructor(d){this.dbxSyncStatusBarService=d,this.expanded=!0,this.vm$=(0,Ue.aj)([this.dbxSyncStatusBarService.statusItems$,this.dbxSyncStatusBarService.completedCount$,this.dbxSyncStatusBarService.totalProgress$]).pipe((0,N.U)(([f,b,E])=>(100===E&&(this.expanded=!0),{items:f,completedCount:b,totalProgress:E})))}orderClosed(d){this.dbxSyncStatusBarService.unsubscribeOrder(d)}panelClosed(){this.dbxSyncStatusBarService.unsubscribeAllOrders()}orderListToggled(){this.expanded=!this.expanded}trackBy(d,f){return f.orderId}}return x.\u0275fac=function(d){return new(d||x)(p.\u0275\u0275directiveInject(xe.XXx))},x.\u0275cmp=p.\u0275\u0275defineComponent({type:x,selectors:[["tn-dbx-sync-status-bar-v2"]],decls:2,vars:3,consts:[[4,"ngIf"],["class","status-bar flex gap-12",4,"ngIf"],[1,"status-bar","flex","gap-12"],[1,"cursor-pointer","text-gray-30",3,"uiIcon","size","click"],[1,"text-16","font-semibold","text-gray-85","leading-5","whitespace-nowrap"],["mode","determinate",1,"rounded",3,"value"],[1,"text-16","font-semibold","text-gray-85","leading-5"],[1,"bg-gray-15","flex-shrink-0","w-1","h-24"],["uiIcon","clear","matTooltipPosition","above","size","20",1,"rounded","p-2","hover:bg-blue-100","hover:text-blue-500","cursor-pointer","text-gray-30",3,"matTooltip","click"],["class","orders-list",4,"ngIf"],[1,"orders-list"],[3,"title","status","progress","orderId","closed",4,"ngFor","ngForOf","ngForTrackBy"],[3,"title","status","progress","orderId","closed"]],template:function(d,f){1&d&&(p.\u0275\u0275template(0,ps,2,1,"ng-container",0),p.\u0275\u0275pipe(1,"async")),2&d&&p.\u0275\u0275property("ngIf",p.\u0275\u0275pipeBind1(1,1,f.vm$))},directives:[n.NgIf,Qn.a,rs.pW,no.gM,n.NgForOf,Qo],pipes:[n.AsyncPipe,Zo.X$],styles:["[_nghost-%COMP%]{pointer-events:none;position:fixed;left:0;right:0;bottom:2rem;display:flex;justify-content:center;z-index:1001;min-height:40px}[_nghost-%COMP%] .mat-progress-bar{height:.5rem;width:100%;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}[_nghost-%COMP%] .mat-progress-bar-buffer{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}[_nghost-%COMP%] .mat-progress-bar-fill:after{background:linear-gradient(90deg,#96F2D7,#26c6da,var(--brand-85, #1A60F7))}.status-bar[_ngcontent-%COMP%]{pointer-events:auto;position:relative;height:4rem;align-items:center;border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:1rem;width:913px;box-shadow:0 0 20px #0000001f}.orders-list[_ngcontent-%COMP%]{position:absolute;
1left:0;right:0;overflow:auto;border-radius:.75rem;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:1rem;max-width:913px;max-height:312px;bottom:68px;box-shadow:0 0 20px #0000001f}"],changeDetection:0}),x})();var En=(()=>{return(x=En||(En={})).none="",x.modified="modified",x.synced="synced",x.syncing="syncing...",x.error="error",En;var x})();function us(x,v){if(1&x&&(p.\u0275\u0275elementStart(0,"span"),p.\u0275\u0275text(1),p.\u0275\u0275elementEnd()),2&x){const d=p.\u0275\u0275nextContext(2);p.\u0275\u0275advance(1),p.\u0275\u0275textInterpolate1(": ",d.errorMessage,"")}}const gs=function(x){return{"sync-state--error":x}};function _s(x,v){if(1&x&&(p.\u0275\u0275elementStart(0,"div",1),p.\u0275\u0275text(1),p.\u0275\u0275template(2,us,2,1,"span",2),p.\u0275\u0275elementEnd()),2&x){const d=p.\u0275\u0275nextContext();p.\u0275\u0275property("ngClass",p.\u0275\u0275pureFunction1(3,gs,d.isError)),p.\u0275\u0275advance(1),p.\u0275\u0275textInterpolate1(" ",d.status,""),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",d.isError)}}let ui=(()=>{class x{constructor(){this.requestStatus=null}get status(){return"pending"===this.requestStatus?En.syncing:this.isError?En.error:En.none}get isError(){return"object"==typeof this.requestStatus&&null!==this.requestStatus}get errorMessage(){return"object"==typeof this.requestStatus&&null!==this.requestStatus?this.requestStatus.error:""}}return x.\u0275fac=function(d){return new(d||x)},x.\u0275cmp=p.\u0275\u0275defineComponent({type:x,selectors:[["tn-active-order-details-sync-state"]],inputs:{requestStatus:"requestStatus"},decls:1,vars:1,consts:[["class","sync-state",3,"ngClass",4,"ngIf"],[1,"sync-state",3,"ngClass"],[4,"ngIf"]],template:function(d,f){1&d&&p.\u0275\u0275template(0,_s,3,5,"div",0),2&d&&p.\u0275\u0275property("ngIf",f.status)},directives:[n.NgIf,n.NgClass],styles:[".sync-state[_ngcontent-%COMP%]{pointer-events:none;position:absolute;border-radius:.25rem;padding:.25rem 1rem;font-size:.625rem;right:0;z-index:5;background-color:#ffffffc2}.sync-state--error[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(224 49 49 / var(--tw-text-opacity, 1))}"],changeDetection:0}),x})();var hs=_(34029);function Ji(x,v){1&x&&(p.\u0275\u0275elementStart(0,"div",16)(1,"div",17),p.\u0275\u0275element(2,"div",18),p.\u0275\u0275elementStart(3,"div",19),p.\u0275\u0275text(4,"Creating order..."),p.\u0275\u0275elementEnd()()())}function fs(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"i",35),p.\u0275\u0275listener("click",function(){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext(5).searchTermControl.setValue("")}),p.\u0275\u0275elementEnd()}}function vs(x,v){if(1&x&&(p.\u0275\u0275elementStart(0,"ui-form-input-group",31),p.\u0275\u0275element(1,"i",32)(2,"input",33),p.\u0275\u0275template(3,fs,1,0,"i",34),p.\u0275\u0275pipe(4,"async"),p.\u0275\u0275elementEnd()),2&x){const d=p.\u0275\u0275nextContext(2).isCompact,f=p.\u0275\u0275nextContext(2);p.\u0275\u0275property("size",d?"small":"medium"),p.\u0275\u0275advance(2),p.\u0275\u0275property("formControl",f.searchTermControl),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",p.\u0275\u0275pipeBind1(4,3,f.hasSearchText$))}}function Cs(x,v){1&x&&(p.\u0275\u0275elementStart(0,"button",36),p.\u0275\u0275element(1,"i",37),p.\u0275\u0275elementEnd()),2&x&&(p.\u0275\u0275advance(1),p.\u0275\u0275property("size",24))}function bs(x,v){if(1&x&&(p.\u0275\u0275elementContainerStart(0),p.\u0275\u0275template(1,vs,5,5,"ui-form-input-group",29),p.\u0275\u0275template(2,Cs,2,1,"ng-template",null,30,p.\u0275\u0275templateRefExtractor),p.\u0275\u0275elementContainerEnd()),2&x){const d=v.$implicit,f=p.\u0275\u0275reference(3);p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",d)("ngIfElse",f)}}function ys(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"div",20)(1,"tn-order-preset-filters",21),p.\u0275\u0275listener("presetSelected",function(b){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onPresetFilterSelected(b)}),p.\u0275\u0275pipe(2,"async"),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementStart(3,"div",22)(4,"div",23),p.\u0275\u0275template(5,bs,4,2,"ng-container",24),p.\u0275\u0275element(6,"ui-dynamic-filter",25),p.\u0275\u0275elementEnd(),p.\u0275\u0275element(7,"div",26),p.\u0275\u0275elementStart(8,"button",27),p.\u0275\u0275listener("click",function(){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onViewSettingsClick()}),p.\u0275\u0275element(9,"i",28),p.\u0275\u0275elementEnd()()()}if(2&x){const d=v.isCompact,f=v.isNormal,b=p.\u0275\u0275nextContext(2);p.\u0275\u0275classProp("compact",d)("normal",f),p.\u0275\u0275advance(1),p.\u0275\u0275property("activePreset",p.\u0275\u0275pipeBind1(2,9,b.activePreset$)),p.\u0275\u0275advance(4),p.\u0275\u0275property("uiToggle",!!b.filterForm.value.searchTerm),p.\u0275\u0275advance(1),p.\u0275\u0275property("options",b.dynamicFilterOptions)("formControl",b.dynamicFilterControl),p.\u0275\u0275advance(3),p.\u0275\u0275property("size",24)}}const Yi=function(){return[]};function qo(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"tn-order-bulk-actions-beta",42),p.\u0275\u0275listener("selectionCleared",function(){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext(3).onBulkActionSelectionCleared()})("ordersUpdated",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(3).onOrdersUpdated(b)}),p.\u0275\u0275elementEnd()}if(2&x){const d=p.\u0275\u0275nextContext().ngIf,f=p.\u0275\u0275nextContext(2);let b,E;p.\u0275\u0275property("orders",null!==(b=d.selectedOrders)&&void 0!==b?b:f.emptyRows)("selected",null!==(E=d.selectedOrderIds)&&void 0!==E?E:p.\u0275\u0275pureFunction0(4,Yi))("orderStatuses",f.orderStatuses)("paymentStatuses",f.paymentStatuses)}}function xs(x,v){if(1&x&&p.\u0275\u0275element(0,"tn-dbx-sync-status-bar-v2"),2&x){const d=p.\u0275\u0275nextContext().ngIf,f=p.\u0275\u0275nextContext(2);p.\u0275\u0275styleProp("bottom",null!=d.selectedOrders&&d.selectedOrders.length&&!f.readOnlyMode?"7rem":"2rem")}}const Ss=function(){return{}};function Ts(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"div",38)(1,"ui-action-table",39),p.\u0275\u0275listener("groupToggle",function(b){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onGroupToggle(b)})("linkClick",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onLinkClick(b)})("linkChange",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onLinkChange(b)})("selectionChange",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onSelectionChange(b)})("userSelectionChange",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onUserSelectionChange(b)})("statusChange",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onStatusChange(b)})("dateClick",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onDateClick(b)})("serviceClick",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onServiceClick(b)})("tagsSelected",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onTagsSelected(b)})("tagCreate",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onTagCreate(b)}
1)("tagEdit",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onTagEdit(b)})("tagDelete",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onTagDelete(b)})("cellAction",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onCellAction(b)})("cellClick",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onCellClick(b)})("columnResized",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onColumnResized(b)})("addColumnClick",function(){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onViewSettingsClick()}),p.\u0275\u0275pipe(2,"async"),p.\u0275\u0275pipe(3,"async"),p.\u0275\u0275pipe(4,"async"),p.\u0275\u0275pipe(5,"async"),p.\u0275\u0275elementEnd(),p.\u0275\u0275template(6,qo,1,5,"tn-order-bulk-actions-beta",40),p.\u0275\u0275template(7,xs,1,2,"tn-dbx-sync-status-bar-v2",41),p.\u0275\u0275pipe(8,"async"),p.\u0275\u0275elementEnd()}if(2&x){const d=v.ngIf,f=p.\u0275\u0275nextContext().isCompact,b=p.\u0275\u0275nextContext();let E,R,K,se,fe,Ae;p.\u0275\u0275advance(1),p.\u0275\u0275property("rows",null!==(E=d.rows)&&void 0!==E?E:p.\u0275\u0275pureFunction0(24,Yi))("columns",d.columns)("columnWidths",null!==(R=p.\u0275\u0275pipeBind1(2,14,b.columnWidths$))&&void 0!==R?R:p.\u0275\u0275pureFunction0(25,Ss))("contentWidthData",p.\u0275\u0275pipeBind1(3,16,b.orders$))("selectable",!0)("loading",null!==(K=d.loading)&&void 0!==K&&K)("scrollToRowId",p.\u0275\u0275pipeBind1(4,18,b.scrollToOrderId$))("colorPalette",b.colorPalette)("allTags",null!==(se=d.allTags)&&void 0!==se?se:p.\u0275\u0275pureFunction0(26,Yi))("heights",f?b.tableConfigCompact:b.tableConfig)("resizableColumns",!0)("showAddColumn",null!==(fe=p.\u0275\u0275pipeBind1(5,20,b.hasHiddenColumns$))&&void 0!==fe&&fe),p.\u0275\u0275advance(5),p.\u0275\u0275property("ngIf",(null==d.selectedOrders?null:d.selectedOrders.length)&&!b.readOnlyMode),p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",null==(Ae=p.\u0275\u0275pipeBind1(8,22,b.dbxStatusItems$))?null:Ae.length)}}function ea(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"div",43),p.\u0275\u0275element(1,"tn-active-order-details-sync-state",44),p.\u0275\u0275pipe(2,"async"),p.\u0275\u0275elementStart(3,"div",45)(4,"tn-order-details-form",46),p.\u0275\u0275listener("closePanel",function(){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext(2).onCloseSidebar()}),p.\u0275\u0275pipe(5,"async"),p.\u0275\u0275pipe(6,"async"),p.\u0275\u0275pipe(7,"async"),p.\u0275\u0275pipe(8,"async"),p.\u0275\u0275elementEnd()()()}if(2&x){const d=p.\u0275\u0275nextContext(2);p.\u0275\u0275advance(1),p.\u0275\u0275property("requestStatus",p.\u0275\u0275pipeBind1(2,5,d.dataSavingStatus$)),p.\u0275\u0275advance(3),p.\u0275\u0275property("orderId",p.\u0275\u0275pipeBind1(5,7,d.activeOrderId$))("activeSection",p.\u0275\u0275pipeBind1(6,9,d.activeOrderSection$))("isLimitedContractorAccess",p.\u0275\u0275pipeBind1(7,11,d.isLimitedContractorAccess$))("isLimitedStaffAccess",p.\u0275\u0275pipeBind1(8,13,d.isLimitedStaffAccess$))}}const ws=function(x,v,d,f,b,E){return{rows:x,columns:v,loading:d,selectedOrders:f,selectedOrderIds:b,allTags:E}};function ks(x,v){if(1&x){const d=p.\u0275\u0275getCurrentView();p.\u0275\u0275elementStart(0,"div",1),p.\u0275\u0275template(1,Ji,5,0,"div",2),p.\u0275\u0275pipe(2,"async"),p.\u0275\u0275elementStart(3,"div",3)(4,"tn-order-list-header",4),p.\u0275\u0275listener("orderCreated",function(b){return p.\u
10275\u0275restoreView(d),p.\u0275\u0275nextContext().onOrderCreated(b)})("creatingOrder",function(b){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext().onCreatingOrder(b)}),p.\u0275\u0275pipe(5,"async"),p.\u0275\u0275elementEnd()(),p.\u0275\u0275elementStart(6,"ui-navigation-tabs")(7,"div",5)(8,"span",6),p.\u0275\u0275text(9,"Filter orders by"),p.\u0275\u0275elementEnd(),p.\u0275\u0275element(10,"ui-select",7),p.\u0275\u0275pipe(11,"async"),p.\u0275\u0275elementStart(12,"span",6),p.\u0275\u0275text(13,"between"),p.\u0275\u0275elementEnd(),p.\u0275\u0275element(14,"ui-date-range-v2",8),p.\u0275\u0275pipe(15,"async"),p.\u0275\u0275elementStart(16,"button",9,10),p.\u0275\u0275listener("click",function(){return p.\u0275\u0275restoreView(d),p.\u0275\u0275nextContext().onOrderChange()}),p.\u0275\u0275elementStart(18,"i",11),p.\u0275\u0275pipe(19,"async"),p.\u0275\u0275elementEnd(),p.\u0275\u0275elementStart(20,"span"),p.\u0275\u0275text(21),p.\u0275\u0275pipe(22,"async"),p.\u0275\u0275elementEnd()()()(),p.\u0275\u0275template(23,ys,10,11,"div",12),p.\u0275\u0275element(24,"ui-advanced-filter",13),p.\u0275\u0275pipe(25,"async"),p.\u0275\u0275template(26,Ts,9,27,"div",14),p.\u0275\u0275pipe(27,"async"),p.\u0275\u0275pipe(28,"async"),p.\u0275\u0275pipe(29,"async"),p.\u0275\u0275pipe(30,"async"),p.\u0275\u0275pipe(31,"async"),p.\u0275\u0275pipe(32,"async"),p.\u0275\u0275template(33,ea,9,15,"div",15),p.\u0275\u0275pipe(34,"async"),p.\u0275\u0275elementEnd()}if(2&x){const d=p.\u0275\u0275reference(17),f=p.\u0275\u0275nextContext();let b,E;p.\u0275\u0275advance(1),p.\u0275\u0275property("ngIf",p.\u0275\u0275pipeBind1(2,18,f.isCreatingOrder$)),p.\u0275\u0275advance(3),p.\u0275\u0275property("isLimitedContractorAccess",p.\u0275\u0275pipeBind1(5,20,f.isLimitedContractorAccess$)),p.\u0275\u0275advance(6),p.\u0275\u0275property("leftIconSize",16)("items",f.sortOptions)("nameKey","label")("formControl",f.sortFieldControl)("uiDisableControl",!!p.\u0275\u0275pipeBind1(11,22,f.activePreset$)),p.\u0275\u0275advance(4),p.\u0275\u0275property("formControl",f.orderPlacedFromControl)("uiDisableControl",!!p.\u0275\u0275pipeBind1(15,24,f.activePreset$)),p.\u0275\u0275advance(4),p.\u0275\u0275classProp("rotate-180",p.\u0275\u0275pipeBind1(19,26,f.isDesc$)),p.\u0275\u0275property("size",d.iconSize),p.\u0275\u0275advance(3),p.\u0275\u0275textInterpolate1(" ",p.\u0275\u0275pipeBind1(22,28,f.isDesc$)?"New to Old":"Old to New"," "),p.\u0275\u0275advance(3),p.\u0275\u0275property("config",null!==(b=p.\u0275\u0275pipeBind1(25,30,f.advancedFilterConfig$))&&void 0!==b?b:p.\u0275\u0275pureFunction0(46,Yi))("fieldsControl",f.dynamicFilterControl)("formControl",f.advancedFilterControl),p.\u0275\u0275advance(2),p.\u0275\u0275property("ngIf",p.\u0275\u0275pureFunction6(48,ws,p.\u0275\u0275pipeBind1(27,32,f.currentTabVirtualRows$),null!==(E=p.\u0275\u0275pipeBind1(28,34,f.visibleColumns$))&&void 0!==E?E:p.\u0275\u0275pureFunction0(47,Yi),p.\u0275\u0275pipeBind1(29,36,f.loading$),p.\u0275\u0275pipeBind1(30,38,f.currentTabSelectedOrders$),p.\u0275\u0275pipeBind1(31,40,f.currentTabSelectedOrderIds$),p.\u0275\u0275pipeBind1(32,42,f.allTags$))),p.\u0275\u0275advance(7),p.\u0275\u0275property("ngIf",p.\u0275\u0275pipeBind1(34,44,f.activeOrderId$))}}let ki=class{constructor(v,d,f,b,E,R,K,se,fe,Ae,Je,le,q,Ce,Oe,Le,ct,Ot,fn,xn,kn){var Dn,ri;this.fb=v,this.appConfigService=d,this.dbxSyncStatusBarService=f,this.store=b,this.tabsStore=E,this.userCacheService=R,this.userOptionSource=K,this.columnSettingsService=se,this.permissionsService=fe,this.dialog=Ae,this.snackBar=Je,this.router=le,this.route=q,this.cdr=Ce,this.orderDialogPreferenceService=Oe,this.selectedOrderDetailsComponentStore=Le,this.orderTagStore=ct,this.authService=Ot,this.clipboard=fn,this.uiUsageTracker=xn,this.bookingFlowsRepository=kn,this.activePreset$=this.store.activePreset$,this.tableConfig={dataRow:D.SIL.HEIGHTS.DATA_ROW,headerCollapsed:D.SIL.HEIGHTS.HEADER_COLLAPSED,headerExpanded:D.SIL.HEIGHTS.HEADER_EXPANDED,columnHeader:D.SIL.HEIGHTS.COLUMN_HEADER},this.tableConfigCompact={dataRow:D.SIL.HEIGHTS.COMPACT_DATA_ROW,headerCollapsed:D.SIL.HEIGHTS.COMPACT_HEADER_COLLAPSED,headerExpanded:D.SIL.HEIGHTS.COMPACT_HEADER_EXPANDED,columnHeader:D.SIL.HEIGHTS.COMPACT_COLUMN_HEADER},this.visibleColumns$=this.columnSettingsService.visibleColumns$,this.columnWidths$=this.columnSettingsService.columnWidths$,this.hasHiddenColumns$=this.columnSettingsService.hasHiddenColumns$,this.viewT
1ype$=this.columnSettingsService.viewType$,this.currentTab$=this.tabsStore.currentTab$,this.tabCounters$=this.store.tabCounters$,this.loading$=this.store.loading$,this.orders$=this.store.orders$,this.team$=this.userCacheService.teamMemberTableUsers$,this.activeOrderId$=this.store.activeOrderId$,this.activeOrderSection$=this.store.activeOrderSection$,this.scrollToOrderId$=this.store.scrollToOrderId$,this.currentTabVirtualRows$=this.currentTab$.pipe((0,ue.w)(nn=>(null==nn?void 0:nn.key)?this.store.getVirtualRowsForTab(nn.key):[])),this.currentTabSelectedOrders$=this.currentTab$.pipe((0,ue.w)(nn=>(null==nn?void 0:nn.key)?this.store.getSelectedOrdersForTab(nn.key):[])),this.currentTabSelectedOrderIds$=this.currentTabSelectedOrders$.pipe((0,N.U)(nn=>nn.map(io=>io.id))),this.dataSavingStatus$=this.selectedOrderDetailsComponentStore.dataSavingStatus$,this.isLimitedContractorAccess$=this.authService.isLimitedContractorAccess$,this.isLimitedStaffAccess$=this.authService.isLimitedStaffAccess$,this.isCreatingOrder$=this.store.isCreatingOrder$,this.dbxStatusItems$=this.dbxSyncStatusBarService.statusItems$,this.allTags$=this.orderTagStore.tags$,this.tagOptions$=this.orderTagStore.tagOptions$,this.orderStatuses=(0,ae.C0F)(this.appConfigService.orderStatuses,null===(Dn=this.appConfigService.localization)||void 0===Dn?void 0:Dn.language),this.paymentStatuses=(0,ae.C0F)(this.appConfigService.paymentStatuses,null===(ri=this.appConfigService.localization)||void 0===ri?void 0:ri.language),this.orderStatusOptions=this.orderStatuses.map(wr),this.paymentStatusOptions=this.paymentStatuses.map(wr),this.services$=this.store.services$,this.brokerages$=this.store.brokerages$,this.projectManagers$=this.team$.pipe((0,N.U)(nn=>nn.filter(io=>io.role===ce.i4.PROJECT_MANAGER))),this.isDesc$=this.store.isDescending$,this.emptyColumns=[],this.emptyRows=[],this.sortOptions=[{label:"Shoot Date",value:"shootDate"},{label:"Due Date",value:"dueDate"},{label:"Booked Date",value:"creationDate"}],this.filterForm=this.fb.group({sortField:this.fb.control(Vo.sortField),orderPlacedFrom:this.fb.control(null),searchTerm:this.fb.control("")}),this.sortFieldControl=this.filterForm.controls.sortField,this.orderPlacedFromControl=this.filterForm.controls.orderPlacedFrom,this.searchTermControl=this.filterForm.controls.searchTerm,this.hasSearchText$=(0,Me.P)(()=>this.searchTermControl.valueChanges.pipe((0,_e.O)(this.searchTermControl.value),(0,N.U)(nn=>!!nn),(0,V.x)())),this.dynamicFilterControl=this.fb.control([]),this.advancedFilterControl=this.fb.control({}),this.brokerageOptions$=this.mapOptions(this.brokerages$,wr),this.serviceOptions$=this.mapOptions(this.services$,wr),this.teamOptions$=this.mapOptions(this.team$,D.Pkj),this.projectManagerOptions$=this.mapOptions(this.projectManagers$,D.Pkj),this.tagChipOptions$=this.mapOptions(this.tagOptions$,ta),this.bookingFlowOptions$=this.mapOptions((0,Me.P)(()=>this.bookingFlowsRepository.getAll()).pipe((0,N.U)(nn=>(0,ae.IhP)([...nn])),(0,pe.d)({bufferSize:1,refCount:!1})),na),this.optionSourcesByKey={brokerage:this.brokerageOptions$,service:this.serviceOptions$,team:this.teamOptions$,projectManager:this.projectManagerOptions$,tags:this.tagChipOptions$,bookingFlow:this.bookingFlowOptions$},this.advancedFilterConfig$=(0,Ue.aj)(Object.values(this.optionSourcesByKey)).pipe((0,N.U)(nn=>this.buildFilterConfig(function Q(x,v){return function j(x,v,d){for(var f=-1,b=x.length,E=v.length,R={};++f<b;)d(R,x[f],f<E?v[f]:void 0);return R}(x||[],v||[],ne.Z)}(Object.keys(this.optionSourcesByKey),nn))),(0,pe.d)({bufferSize:1,refCount:!0})),this.dynamicFilterOptions=Ie.map(nn=>({value:nn.key,label:nn.label,iconName:nn.icon})),this.colorPalette=X,this.initColumns()}get isNewSidebarEnabled(){return this.orderDialogPreferenceService.isModernVariant}get readOnlyMode(){return this.permissionsService.permissions===ce.Pv.CONTRACTOR}asColumns(v){return null!=v?v:[]}onOrderChange(){this.store.toggleSortDirection()}ngOnInit(){this.uiUsageTracker.pageOpened("om-page-new"),this.seedActiveFilterChips(),this.syncStoreToForm(),this.syncFormToStore(),this.initTabCounterSync(),this.restoreActiveOrderFromUrl(),this.store.loadOrders(),this.enableNewSidebarView()}onCellAction(v){const d=v.row.id;switch(v.action){case"sync":case"resync":v.row.isNativeUpload||this.store.syncDelivery(d);break;case"deliver":this.store.resendProjectComplete(d);break;case"copy":this.copyDeliveryLink(d)}}onCellClick(v){"fileLinks"===v.column&&(!xo(v.row)||(this.store.setActiveOrderId(v.row.id,B.kX.delivery),this.updateOrderIdParam(v.row.id)))}copyDeliveryLink(v){const d=`${window.location.origin}/order-dashboard/${v}/delivery`;this.clipboard.copy(d),this.snackBar.open("Delivery page link copied","Got it",{duration:3e3})}onColumnResized(v){this.columnSettingsService.setColumnWidth(v)}onViewSettingsClick(){this.columnSettingsService.updateValue(this.columnSettingsService.settingsPanelData$.pipe((0,Se.q)(1),(0,ue.w)(({columns:v,value:d})=>(0,D.Md5)(this.dialog,v,d,ja))))}onPresetFilterSelected(v){v&&To(v)&&this.clearShootDateFilter(),this.store.setActivePreset(v)}onGroupToggle(v){this.store.toggleGroup(v)}onLinkClick(v){"orderNumber"!==v.column&&"address"!==v.column||(this.store.setActiveOrderId(v.row.id),this.updateOrderIdParam(v.row.id))}onSelectionChange(v){this.store.setOrdersSelection(v.ids,v.selected)}onDateClick(v){const d=v.row;this.store.setActiveOrderId(d.id),this.updateOrderIdParam(d.id)}onServiceClick(v){this.router.navigate(["/admin/order-management",v.row.id],{queryParams:{taskId:v.taskId}})}onCloseSidebar(){this.store.setActiveOrderId(null),this.updateOrderIdParam(null)}onUserSelectionChange(v){const d=this.getMemberIds(v);!d||this.store.updateTeamMembers({orderId:v.row.id,memberIds:d})}onRetryLoad(){this.store.loadOrders()}onCreatingOrder(v){this.store.setIsCreatingOrder(v)}onOrderCreated(v){this.store.loadSingleOrder(v),this.store.setActiveOrderId(v),this.store.setNewlyCreatedOrderId(v),this.updateOrderIdParam(v)}onStatusChange(v){const d=v.row;"orderStatus"===v.column&&v.status?this.store.changeOrderStatus({orderId:d.id,newStatus:v.status}):"paymentStatus"===v.column&&v.status&&this.store.changePaymentStatus({orderId:d.id,newStatus:v.status})}onLinkChange(v){var d;if("dropboxFolder"!==v.column)return;const f=v.row.deliverableLink||"",b=(null===(d=v.link)||void 0===d?void 0:d.trim())||"";b!==f&&this.store.updateDropboxLink({orderId:v.row.id,link:b||null})}onTagsSelected(v){var d;this.orderTagStore.updateOrderTags({orderId:v.row.id,currentTagIds:(null!==(d=v.row.tags)&&void 0!==d?d:[]).map(E=>E.id),selectedTagIds:v.tagIds});const f=(0,Y.Z)(this.orderTagStore.tags,"id"),b=v.tagIds.map(E=>f[E]).filter(E=>Boolean(E));this.store.updateOrderTags(v.row.id,b)}onTagCreate(v){this.orderTagStore.createAndAssignTag({orderId:v.row.id,name:v.name,color:v.color})}onTagEdit(v){this.orderTagStore.updateTag(v)}onTagDelete(v){this.dialog.open(D.BGm,{data:{tagName:v.name},width:"450px"}).afterClosed().subscribe(d=>{d&&(this.orderTagStore.deleteTag({id:v.id}),this.store.removeTagFromAllOrders(v.id))})}onBulkActionSelectionCleared(){this.currentTabSelectedOrderIds$.pipe((0,Se.q)(1)).subscribe(v=>{v.length>0&&(this.store.setOrdersSelection(v,!1),this.cdr.markForCheck())})}onOrdersUpdated(v){v.forEach(d=>{this.store.loadSingleOrder(d)})}getDateFormat(){return`${ae.lvo.MONTH_DAY_SHORT}, ${"24hr"===this.appConfigService.localization.timeFormat?ae.lvo.TIME_24H:ae.lvo.TIME_12H_COMPACT}`}initColumns(){const v=this.getDateFormat(),d=this.permissionsService.isContractor,f=(0,ae.hKS)(this.permissionsService.permissions,this.appConfigService.allowNativeUpload);(0,Ue.aj)([this.team$,this.authService.isLimitedAccess$]).pipe((0,N.U)(([b,E])=>(({teamMembers:x,dateFormat:v,isContractor:d,isLimitedAccess:f,orderStatuses:b,paymentStatuses:E,canEditDeliverables:R})=>{const K=le=>{var q;return(0,ce.Xq)({rawFolderLink:le.rawFolderLink,deliverableLink:le.deliverableLink,orderId:le.id,orderStatus:le.orderStatus,canEditDeliverables:R,hasNativeMedia:le.isNativeUpload,nativeFileCount:le.nativeFileCount,dropboxSyncStatus:null!==(q=le.deliverySyncStatus)&&void 0!==q?q:null,hasDropboxImport:le.hasDropboxImport})},se=((x={})=>pr(yo([{value:"pending",label:"Pending",color:{background:"#EDEDED",text:"#1A1A1A"}},{value:"inProgress",label:"In Progress",color:{background:"#4D43DC",text:"#FFFFFF"}},{value:"postponed",label:"Postponed",color:{background:"#FFA726",text:"#FFFFFF"}},{value:"complete",label:"Delivered",color:{background:"#26DCA6",text:"#FFFFFF"}},{value:"cancelled",label:"Cancelled",color:{background:"#AFAFAF",text:"#FFFFFF"}}],x)))(bn(b)),fe=((x={})=>
1pr(yo([{value:"unpaid",label:"Unpaid",color:{background:"#F03E3E",text:"#FFFFFF"}},{value:"quoteSent",label:"Quote sent",color:{background:"#EDEDED",text:"#1A1A1A"}},{value:"invoiceSent",label:"Invoice sent",color:{background:"#4D43DC",text:"#FFFFFF"}},{value:"promisedPayment",label:"Promised payment",color:{background:"#9439E3",text:"#FFFFFF"}},{value:"partiallyPaid",label:"Partially paid",color:{background:"#FFEC99",text:"#E67700"}},{value:"paid",label:"Paid",color:{background:"#26DCA6",text:"#FFFFFF"}},{value:"postponed",label:"Postponed",color:{background:"#FFA726",text:"#FFFFFF"}},{value:"refunded",label:"Refunded",color:{background:"#AFAFAF",text:"#FFFFFF"}},{value:"partiallyRefunded",label:"Partially refunded",color:{background:"#AFAFAF",text:"#FFFFFF"}},{value:"cancelled",label:"Cancelled",color:{background:"#AFAFAF",text:"#FFFFFF"}}],x)))(bn(E)),Ae=x.filter(le=>le.role===ce.i4.PROJECT_MANAGER),Je=[{key:"orderNumber",header:"Order ID",type:"textLink",width:"120px",icon:"format_list_bulleted",sticky:"start",config:{getValue:le=>le.orderNo?`#${le.orderNo}`:void 0}},{key:"address",header:"Address",icon:"place",type:"address",width:"220px",sticky:"start",config:{getValue:le=>le.address,getImageUrl:le=>le.coverImage}},{key:"customer",header:"Customer Name",icon:"people",type:"user",width:"210px",config:{getUsers:le=>le.customer?[le.customer]:[],getBadge:le=>le.isFirstOrder?"New":null}},{key:"shootDate",header:"Shoot Date",icon:"calendar_today",type:"date",width:"240px",config:{getValue:le=>le.shootDates,format:v,clickable:!0,prefixIcon:"today"}},{key:"bookedDate",header:"Booked Date",icon:"calendar_today",type:"date",width:"210px",config:{getValue:le=>le.creationDate,format:v,prefixIcon:"calendar_today"}},{key:"services",header:"Services",icon:"shopping_bag",type:"services",width:"350px",minWidth:"180px",config:{getServices:le=>le.services,maxAutoWidth:600}},{key:"orderStatus",header:"Order Status",type:"status",icon:"trending_up",width:"160px",config:{getValue:le=>le.orderStatus,getLabel:le=>se.labelMap[le.orderStatus]||"",colorMap:se.colorMap,options:se.options,readonly:d}},{key:"paymentStatus",header:"Payment Status",type:"status",icon:"local_atm",width:"160px",config:{getValue:le=>le.paymentStatus,getLabel:le=>fe.labelMap[le.paymentStatus]||"",colorMap:fe.colorMap,options:fe.options,layout:"2-column",readonly:d}},{key:"fileLinks",header:"File Links",type:"fileLinks",icon:"folder_special",width:"340px",config:{getFileLinks:K,getHasError:xo,labels:{rawFiles:"Raw Files",finalFiles:"Final Files",directUpload:"Uploaded files",unsynced:"Unsynced",error:"Failed to create Dropbox folders"}}},{key:"deliveryPageLink",header:"Delivery Page Link",type:"deliveryPageLink",icon:"web",width:"232px",config:{getFinalLink:le=>le.deliverableLink||null,getThumbnail:le=>le.coverImage,getDeliveryUrl:le=>`${window.location.origin}/order-dashboard/${le.id}/delivery`,getSyncStatus:le=>{var q;return le.isNativeUpload?"success":null!==(q=le.deliverySyncStatus)&&void 0!==q?q:null},getIsDelivered:le=>!!le.isDelivered,getIsSyncable:le=>!le.isNativeUpload,getIsShareable:le=>!le.isNativeUpload||!!le.isDelivered,getManageMediaUrl:le=>{const q=K(le).nativeUpload;return q&&q.fileCount>0?q.url:null},labels:{syncFiles:"Sync Files",syncingFiles:"Syncing Files",delivered:"Delivered",notDelivered:"Not Delivered",deliver:"Deliver",redeliver:"Redeliver",copy:"Copy",resync:"Resync",manageMedia:"Manage Media"}}},{key:"amount",header:"Amount",type:"money",icon:"local_atm",width:"120px",config:{getValue:le=>le.totalAmount}},{key:"tags",header:"Order Tags",icon:"label",type:"tags",width:"180px",config:{getTags:le=>{var q;return null!==(q=le.tags)&&void 0!==q?q:[]}}},{key:"brokerage",header:"Brokerage",icon:"apartment",type:"text",width:"180px",hidden:!0,config:{getValue:le=>{var q;return null===(q=le.brokerage)||void 0===q?void 0:q.name},maxLines:3}},{key:"bookingFlow",header:"Booking Flows",icon:"swap_calls",type:"text",width:"180px",hidden:!0,config:{getValue:le=>le.bookingFlowName,maxLines:3}},{key:"manager",header:"Project Manager",icon:"assignment_ind",type:"user-select",width:"160px",hidden:!0,config:{getUsers:le=>le.managers,multiple:!0,options:Ae,readonly:d}},{key:"team",header:"Team",icon:"assignment_ind",type:"user-select",width:"160px",hidden:!0,config:{getUsers:le=>le.members,multiple:!0,options:x,readonly:d}},{key:"dueDate",header:"Due Date",icon:"calendar_today",type:"date",width:"240px",hidden:!0,config:{getValue:le=>le.dueDate,format:v,clickable:!0,prefixIcon:"event"}},{key:"customerOrderLink",header:"Customer Order Link",type:"textLink",icon:"link",width:"210px",hidden:!0,config:{getValue:le=>`${window.location.origin}
1/order-status/${le.id}`,getLink:le=>`${window.location.origin}/order-status/${le.id}`,prefixIcon:"link",editable:!1}},{key:"propertyWebsite",header:"Property Website",type:"textLink",icon:"web",width:"200px",hidden:!0,config:{getValue:le=>le.isWebsiteEnabled?`${window.location.origin}/admin/property-dashboard/${le.id}/overview`:null,getLink:le=>le.isWebsiteEnabled?`${window.location.origin}/admin/property-dashboard/${le.id}/overview`:null,prefixIcon:"language",editable:!1}}];return f?Je.filter(le=>!dr.includes(le.key)):Je})({teamMembers:b,dateFormat:v,isContractor:d,isLimitedAccess:E,orderStatuses:this.orderStatuses,paymentStatuses:this.paymentStatuses,canEditDeliverables:f})),(0,z.t)(this)).subscribe(b=>this.columnSettingsService.setDefaultColumns(b))}initTabCounterSync(){this.tabCounters$.pipe((0,z.t)(this)).subscribe(v=>{const d=T.map(f=>{const b=v[f.key];return Number.isSafeInteger(b)?Object.assign(Object.assign({},f),{count:b}):f});this.tabsStore.setTabs(d)})}getMemberIds(v){const d=v.selectedUsers.map(f=>f.id);switch(v.column){case"manager":return this.getMemberIdsForManagerUpdate(v.row,d);case"team":return d;default:return null}}getMemberIdsForManagerUpdate(v,d){return[...v.members.filter(b=>b.role!==ce.i4.PROJECT_MANAGER).map(b=>b.id),...d]}enableNewSidebarView(){return(0,w.mG)(this,void 0,void 0,function*(){try{yield this.orderDialogPreferenceService.updateVariant(ze.UB.MODERN)}catch(v){console.error("Error enabling new sidebar view:",v)}})}restoreActiveOrderFromUrl(){const v=this.route.snapshot.queryParams.orderId;if(v){if(!(0,ae.KyJ)(v))return void this.updateOrderIdParam(null);this.store.setActiveOrderId(v),this.store.setNewlyCreatedOrderId(v)}}syncFormToStore(){this.filterForm.valueChanges.pipe((0,Be.b)(300),(0,z.t)(this)).subscribe(()=>this.pushFilterFormToStore()),this.advancedFilterControl.valueChanges.pipe((0,z.t)(this)).subscribe(v=>this.store.setAdvancedFilter(null!=v?v:{}))}syncStoreToForm(){this.store.filterForm$.pipe((0,z.t)(this)).subscribe(v=>this.applyFilterFormFromStore(v)),this.store.advancedFilter$.pipe((0,z.t)(this)).subscribe(v=>this.applyAdvancedFilterFromStore(v))}seedActiveFilterChips(){this.store.advancedFilter$.pipe((0,Se.q)(1),(0,z.t)(this)).subscribe(v=>{const d=Object.keys(v);d.length&&this.dynamicFilterControl.setValue(d)})}pushFilterFormToStore(){this.store.setFilterForm(this.filterForm.getRawValue())}applyFilterFormFromStore(v){(0,W.Z)(this.filterForm.getRawValue(),v)||this.filterForm.setValue(v,{emitEvent:!1})}applyAdvancedFilterFromStore(v){var d;const f=Ye(null!==(d=this.advancedFilterControl.value)&&void 0!==d?d:{});(0,W.Z)(f,v)||this.advancedFilterControl.setValue(v,{emitEvent:!1})}mapOptions(v,d){return v.pipe((0,_e.O)([]),(0,N.U)(f=>f.map(d)),(0,pe.d)({bufferSize:1,refCount:!0}))}buildFilterConfig(v){const d=Object.assign(Object.assign({},v),{orderStatus:this.orderStatusOptions,paymentStatus:this.paymentStatusOptions});return Ie.map(f=>{return{key:f.key,label:f.label,iconName:f.icon,type:(x=f,"date"===x.type?"date-range":"tags"===x.key?"tag-multi-select":x.multiple?"multi-select":"select"),searchable:f.searchable,showAvatar:f.hasAvatar,options:d[f.key],optionSource:f.searchesUsers?this.userOptionSource:void 0};var x})}clearShootDateFilter(){var v;null===(v=this.advancedFilter)||void 0===v||v.removeField("shootDate")}updateOrderIdParam(v){const d=this.route.snapshot.queryParams,f={};d.tab&&(f.tab=d.tab),f.orderId=v||null;for(const b of Object.keys(d))"tab"!==b&&"orderId"!==b&&(f[b]=d[b]);this.router.navigate([],{relativeTo:this.route,queryParams:f,replaceUrl:!0})}};function wr(x){return{value:x.value,label:x.label}}function ta(x){return{value:x.value,label:x.label,color:x.color}}function na(x){return{value:x.id,label:x.name}}ki.\u0275fac=function(v){return new(v||ki)(p.\u0275\u0275directiveInject(A.qu),p.\u0275\u0275directiveInject(xe._ZM),p.\u0275\u0275directiveInject(xe.XXx),p.\u0275\u0275directiveInject(en),p.\u0275\u0275directiveInject(D.m6Z),p.\u0275\u0275directiveInject(xe.KpX),p.\u0275\u0275directiveInject(D.Clp),p.\u0275\u0275directiveInject(sn),p.\u0275\u0275directiveInject(xe.qQA),p.\u0275\u0275directiveInject(J.uw),p.\u0275\u0275directiveInject(O.ux),p.\u0275\u0275directiveInject(Z.F0),p.\u0275\u0275directiveInject(Z.gz),p.\u0275\u0275directiveInject(p.ChangeDetectorRef),p.\u0275\u0275directiveInject(B.mO),p.\u0275\u0275directiveInject(e.HU),p.\u0275\u0275directiveInject(Cr),p.\u0275\u0275directiveInject(xe.e80),p.\u0275\u0275directiveInject(I.TU),p.\u0275\u0275directiveInject(xe.rUh),p.\u0275\u0275directiveInject(xe.aPF))},ki.\u0275cmp=p.\u0275\u0275defineComponent({type:ki,selectors:[["tn-order-list"]],viewQuery:function(v,d){if(1&v&&p.\u0275\u0275viewQuery(D.WDX,5),2&v){let f;p.\u0275\u0275queryRefresh(f=p.\u0275\u0275loadQuery())&&(d.advancedFilter=f.first)}},features:[p.\u0275\u0275ProvidersFeature([wt,tn,De,yi,Cr,un,Bo,Bi,{provide:Lt,useFactory:x=>{var v;return bn((0,ae.C0F)(x.orderStatuses,null===(v=x.localization)||void 0===v?void 0:v.language))},deps:[xe._ZM]},Kr,Rr,Wi,e.HU,en,D.m6Z,{provide:bo,useValue:cr},{provide:D.ZIs,useFactory:()=>({queryKey:"tab",storageKey:nt_STORAGE_KEYS_ACTIVE_TAB,defaultTabKey:$.ACTIVE})},sn,{provide:D.bWK,useExisting:sn}])],decls:1,vars:0,consts:[["class","bg-white flex flex-col h-full relative",4,"uiViewType"],[1,"bg-white","flex","flex-col","h-full","relative"],["class","absolute inset-0 bg-black bg-opacity-30 flex items-center justify-center z-50","style","backdrop-filter: blur(2px)",4,"ngIf"],[1,"px-24","order-list-header-wrapper"],[3,"isLimitedContractorAcce
1ss","orderCreated","creatingOrder"],[1,"order-sort-row","flex","items-center","gap-8"],[1,"order-sort-row__label"],["size","small","panelType","section","appearance","bordered","leftIcon","today",1,"sort-select",3,"leftIconSize","items","nameKey","formControl","uiDisableControl"],["width","170px","dateIcon","calendar_month",1,"sort-date-range",3,"formControl","uiDisableControl"],["type","button","uiBtnSize","x-small","uiBtnTheme","main","themeMode","secondary",3,"click"],["sortDirectionButton","btnSize"],["uiIcon","sort",3,"size"],["class","order-filter",3,"compact","normal",4,"uiViewType"],[3,"config","fieldsControl","formControl"],["class","flex flex-1 relative z-0 h-full min-h-0",4,"ngIf"],["class","active-order-details ml-2 active-order-bounds",4,"ngIf"],[1,"absolute","inset-0","bg-black","bg-opacity-30","flex","items-center","justify-center","z-50",2,"backdrop-filter","blur(2px)"],[1,"bg-white","rounded-lg","shadow-xl","p-32","flex","flex-col","items-center"],[1,"animate-spin","rounded-full","h-48","w-48","border-b-2","border-primary","mb-16"],[1,"text-16","font-medium","text-gray-700"],[1,"order-filter"],[1,"bg-white","relative","z-1","text-gray-85",3,"activePreset","presetSelected"],[1,"flex","items-center"],[1,"flex","items-center","gap-16"],[4,"uiToggle"],["uiFormSelectMultiple","",3,"options","formControl"],[1,"divider-vertical","mx-16"],["type","button","uiBtnFilter","",3,"click"],["uiIcon","settings",1,"text-gray-80",3,"size"],[3,"size",4,"ngIf","ngIfElse"],["searchIcon",""],[3,"size"],["uiIcon","search"],["id","searchTerm","name","searchTerm","type","text","placeholder","Search orders","aria-label","Search orders","uiInputFocusToggle","",3,"formControl"],["uiIcon","cancel","uiIconVariant","filled","class","text-gray-40","uiTriggerToggle","",3,"click",4,"ngIf"],["uiIcon","cancel","uiIconVariant","filled","uiTriggerToggle","",1,"text-gray-40",3,"click"],["uiBtnFilter",""],["uiIcon","search","uiTriggerToggle","",3,"size"],[1,"flex","flex-1","relative","z-0","h-full","min-h-0"],[1,"flex-1",3,"rows","columns","columnWidths","contentWidthData","
1selectable","loading","scrollToRowId","colorPalette","allTags","heights","resizableColumns","showAddColumn","groupToggle","linkClick","linkChange","selectionChange","userSelectionChange","statusChange","dateClick","serviceClick","tagsSelected","tagCreate","tagEdit","tagDelete","cellAction","cellClick","columnResized","addColumnClick"],[3,"orders","selected","orderStatuses","paymentStatuses","selectionCleared","ordersUpdated",4,"ngIf"],[3,"bottom",4,"ngIf"],[3,"orders","selected","orderStatuses","paymentStatuses","selectionCleared","ordersUpdated"],[1,"active-order-details","ml-2","active-order-bounds"],[3,"requestStatus"],[1,"card","h-100","overflow-scroll","mb-1"],[3,"orderId","activeSection","isLimitedContractorAccess","isLimitedStaffAccess","closePanel"]],template:function(v,d){1&v&&p.\u0275\u0275template(0,ks,35,55,"div",0)},directives:[ln.F,n.NgIf,Yt,Ti,$o.H,A.JJ,A.oH,Ha,Wa.S,ni.s,pi.V,Qn.a,Qa,qr.mN,Ja.e,A.Fj,qr.Z_,qr.MM,Ya.A,zo.G,eo.N,Xa.W,qa._,Qi,ms,ui,hs.k],pipes:[n.AsyncPipe],styles:['.order-list-header-wrapper[_ngcontent-%COMP%]{padding-top:26px;padding-bottom:26px}.divider-vertical[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.divider-vertical[_ngcontent-%COMP%]:before{content:"";height:.875rem;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(175 175 175 / var(--tw-border-opacity, 1))}.active-order-details[_ngcontent-%COMP%]{width:30%;min-width:30%;max-width:800px;position:absolute;top:0;right:0;bottom:0;z-index:9}.active-order-bounds[_ngcontent-%COMP%]{display:flex;height:100%;flex-direction:column}@media (max-width: 639px){.card[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:1028;border-radius:0}}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=pending], [_nghost-%COMP%] ui-action-table .at-data-row[data-group=pending]{--group-accent-color: #B3D4FF}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=pending] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-col-headers[data-group=pending] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=pending] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=pending] td.sticky-col-start{background-color:#fff}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=pending] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-col-headers[data-group=pending] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=pending] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=pending] td.sticky-col-start:hover{background-color:#fafafa!important}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=inProgress], [_nghost-%COMP%] ui-action-table .at-data-row[data-group=inProgress]{--group-accent-color: #4D43DC}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=inProgress] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-col-headers[data-group=inProgress] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=inProgress] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=inProgress] td.sticky-col-start{background-color:#fff}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=inProgress] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-col-headers[data-group=inProgress] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=inProgress] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=inProgress] td.sticky-col-start:hover{background-color:#fafafa!important}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=postponed], [_nghost-%COMP%] ui-action-table .at-data-row[data-group=postponed]{--group-accent-color: #FFA726}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=postponed] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-col-headers[data-group=postponed] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=postponed] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=postponed] td.sticky-col-start{background-color:#fff}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=postponed] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-col-headers[data-group=postponed] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=postponed] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=postponed] td.sticky-col-start:hover{background-color:#fafafa!important}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=unscheduled]{--tw-border-opacity: 1;border-color:rgb(255 216 168 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 232 204 / var(--tw-bg-opacity, 1));--group-accent-color: #F76707}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=unscheduled]>th{--tw-border-opacity: 1;border-color:rgb(255 216 168 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=unscheduled]>th[data-sticky-start]{--tw-bg-opacity: 1;background-color:rgb(255 232 204 / var(--tw-bg-opacity, 1))}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=unscheduled], [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=unscheduled]{border-color:#ffe8cc;--group-accent-color: #F76707}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=unscheduled] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=unscheduled] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=unscheduled] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=unscheduled] td.sticky-col-start{background-color:#fffcf7;border-right-color:#ffd8a8}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=unscheduled] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=unscheduled] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=unscheduled] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=unscheduled] td.sticky-col-start:hover{background-color:#fff9f2!important}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=unscheduled]>td, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=unscheduled]>td{background:rgba(255,232,204,.15);--tw-border-opacity: 1;border-color:rgb(255 232 204 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=unscheduled]>td:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=unscheduled]>td:hover{background:rgba(255,232,204,.3)}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=escalated]{--tw-border-opacity: 1;border-color:rgb(255 124 124 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 198 198 / var(--tw-bg-opacity, 1));--group-accent-color: #F03E3E}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=escalated]>th{--tw-border-opacity: 1;border-color:rgb(255 124 124 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group=escalated]>th[data-sticky-start]{--tw-bg-opacity: 1;background-color:rgb(255 198 198 / var(--tw-bg-opacity, 1))}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=escalated], [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=escalated]{border-color:#ffe3e3;--group-accent-color: #F03E3E}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=escalated] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=escalated] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=escalated] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=escalated] td.sticky-col-start{background-color:#fff7f7;border-right-color:#ffc9c9}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=escalated] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group=escalated] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=escalated] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=escalated] td.sticky-col-start:hover{background-color:#fff2f2!important}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=escalated]>td, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=escalated]>td{background:rgba(255,227,227,.3);--tw-border-opacity: 1;border-color:rgb(255 227 227 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] ui-action-table .at-data-row[data-group=escalated]>td:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-variant=escalated]>td:hover{background:rgba(255,227,227,.5)}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group*="-"], [_nghost-%COMP%] ui-action-table .at-data-row[data-group*="-"]{--group-accent-color: #1A1A1A}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group*="-"] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-col-headers[data-group*="-"] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[data-group*="-"] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[data-group*="-"] td.sticky-col-start{background-color:#fff}[_nghost-%COMP%] ui-action-table .at-col-headers[data-group*="-"] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-col-headers[data-group*="-"] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group*="-"] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[data-group*="-"] td.sticky-col-start:hover{background-color:#fafafa!important}[_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=pending] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=pending] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=inProgress] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=inProgress] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=postponed] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=postponed] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group*="-"] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group*="-"] td.sticky-col-start{background-color:#eff6ff}[_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=pending] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=pending] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=inProgress] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=inProgress] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=postponed] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=postponed] td.sticky-col-start:hover, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group*="-"] td.sticky-checkbox-cell:hover, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group*="-"] td.sticky-col-start:hover{background-color:#fafafa!important}[_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=unscheduled] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=unscheduled] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-variant=unscheduled] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-variant=unscheduled] td.sticky-col-start{background-color:#fff8f0;border-right-color:#ffd8a8}[_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=unscheduled]>td, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-variant=unscheduled]>td{background:rgba(255,232,204,.3)}[_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=escalated] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=escalated] td.sticky-col-start, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-variant=escalated] td.sticky-checkbox-cell, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-variant=escalated] td.sticky-col-start{background-color:#fff1f1;border-right-color:#ffc9c9}[_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-group=escalated]>td, [_nghost-%COMP%] ui-action-table .at-data-row[aria-selected=true][data-variant=escalated]>td{background:rgba(255,227,227,.5)}.order-sort-row__label[_ngcontent-%COMP%]{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(128 128 128 / var(--tw-text-opacity, 1))}.sort-select[_ngcontent-%COMP%]{width:8.5rem}[_nghost-%COMP%] .sort-date-range .range-wrapper{height:1.5rem;gap:.25rem;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:.5rem;padding-right:.5rem;transition:background-color .15s,box-shadow .15s}[_nghost-%COMP%] .sort-date-range .range-wrapper:hover{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));box-shadow:0 2px 5px #fafafa inset}[_nghost-%COMP%] .sort-date-range .range-wrapper .calendar-icon{font-size:1rem;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .sort-date-range .range-wrapper .date-input{font-size:.75rem;font-weight:600}[_nghost-%COMP%] .sort-date-range .range-wrapper .date-input .date-text{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .sort-date-range .range-wrapper .unfold-icon{font-size:1rem;--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}@media (max-width: 639px){.mobile-toolbar[_ngcontent-%COMP%]{flex-direction:column}.mobile-preset-filters[_ngcontent-%COMP%]{overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.mobile-preset-filters[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}}.order-filter[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1.25rem;overflow-x:auto;padding-left:1.5rem;padding-right:1.5rem}.order-filter.compact[_ngcontent-%COMP%]{padding-top:.25rem;padding-bottom:.25rem}.order-filter.normal[_ngcontent-%COMP%]{padding-top:1.25rem;padding-bottom:1.25rem}'],changeDetection:0}),ki=(0,w.gn)([(0,z.c)(),(0,w.w6)("design:paramtypes",[A.qu,xe._ZM,xe.XXx,en,D.m6Z,xe.KpX,D.Clp,sn,xe.qQA,J.uw,O.ux,Z.F0,Z.gz,p.ChangeDetectorRef,B.mO,e.HU,Cr,xe.e80,I.TU,xe.rUh,xe.aPF])],ki);const Is=[{path:"",pathMatch:"full",component:ki}];let Ds=(()=>{class x{}return x.\u0275fac=function(d){return new(d||x)},x.\u0275mod=p.\u0275\u0275defineNgModule({type:x}),x.\u0275inj=p.\u0275\u0275defineInjector({providers:[e.HU],imports:[[n.CommonModule,S.SJ,D.eYi,D.FqG,D.QX1,D.Svn,D.uE_,Z.Bz.forChild(Is),A.UX,D.wM4,D.Yll,D.sJM,D.OUg,D.vmb,u.Cl,L.nx,L.g$,B.xk,D.N75,D.hMv,D.MxA]]}),x})()},64137:(It,me,_)=>{"use strict";_.d(me,{n:()=>O});var u=_(70655),n=_(5e3),A=_(21086),S=_(2994),Z=_(92198),e=_(72986),B=_(87545),L=_(658),D=_(62147),w=_(48966),I=_(72751),p=_(66809),J=_(255);let O=(()=>{class z{constructor(j,G,Q,P,Y){this.popupService=j,this.projectService=G,this.dialog=Q,this.contextService=P,this.cdr=Y,this.size="x-small",this.textNowrap=!1,this.buttonText="New order",this.orderCreated=new n.EventEmitter,this.creatingOrder=new n
1.EventEmitter,this.isDisabled=!1}createBlankOrder(){return(0,u.mG)(this,void 0,void 0,function*(){this.isDisabled=!0,this.dialog.open(D.T,{panelClass:"app-v2",width:"600px",maxWidth:"600px"}).afterClosed().pipe((0,S.b)(()=>{this.isDisabled=!1,this.cdr.markForCheck()}),(0,Z.h)(j=>Boolean(j))).subscribe(j=>{this.creatingOrder.emit(!0),this.projectService.createBlankOrder(j).then(G=>(0,u.mG)(this,void 0,void 0,function*(){yield this.projectService.createNewUserForOrder(G),yield this.projectService.createDefaultListingAgentForOrder(G),this.contextService.bookingConfig$.pipe((0,e.q)(1),(0,B.w)(Q=>Q.moveOrderToInProgress?this.projectService.moveOrderToInProgress(G):(0,A.of)(null))).subscribe(()=>{this.popupService.success({text:"New order created!"}),this.orderCreated.emit(G),this.creatingOrder.emit(!1)})})).catch(()=>{this.creatingOrder.emit(!1)})})})}}return z.\u0275fac=function(j){return new(j||z)(n.\u0275\u0275directiveInject(L.qLq),n.\u0275\u0275directiveInject(L.Y4r),n.\u0275\u0275directiveInject(w.uw),n.\u0275\u0275directiveInject(L.ObY),n.\u0275\u0275directiveInject(n.ChangeDetectorRef))},z.\u0275cmp=n.\u0275\u0275defineComponent({type:z,selectors:[["tn-create-order-button"]],inputs:{size:"size",textNowrap:"textNowrap",iconSize:"iconSize",buttonText:"buttonText"},outputs:{orderCreated:"orderCreated",creatingOrder:"creatingOrder"},decls:4,vars:6,consts:[["uiBtnTheme","main","themeMode","primary",3,"uiBtnSize","disabled","click"],["createOrder","btnSize"],["uiIcon","add",3,"size"]],template:function(j,G){if(1&j&&(n.\u0275\u0275elementStart(0,"button",0,1),n.\u0275\u0275listener("click",function(){return G.createBlankOrder()}),n.\u0275\u0275element(2,"i",2),n.\u0275\u0275text(3),n.\u0275\u0275elementEnd()),2&j){const Q=n.\u0275\u0275reference(1);n.\u0275\u0275classProp("text-nowrap",G.textNowrap),n.\u0275\u0275property("uiBtnSize",G.size)("disabled",G.isDisabled),n.\u0275\u0275advance(2),n.\u0275\u0275property("size",Q.iconSize),n.\u0275\u0275advance(1),n.\u0275\u0275textInterpolate1(" ",G.buttonText,"\n")}},directives:[I.V,p.s,J.a],styles:[""]}),z})()},94986:(It,me,_)=>{"use strict";_.d(me,{J:()=>ue});var u=_(5e3),n=_(88279),A=_(69808),S=_(255),Z=_(87238),e=_(51062),B=_(90384),L=_(24254);function D(N,_e){1&N&&(u.\u0275\u0275elementStart(0,"th",14),u.\u0275\u0275text(1),u.\u0275\u0275pipe(2,"translate"),u.\u0275\u0275elementEnd()),2&N&&(u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",u.\u0275\u0275pipeBind1(2,1,"DATE")," "))}function w(N,_e){if(1&N&&(u.\u0275\u0275elementStart(0,"td",15),u.\u0275\u0275text(1),u.\u0275\u0275pipe(2,"dayjsDateFormat"),u.\u0275\u0275elementEnd()),2&N){const V=_e.$implicit,pe=u.\u0275\u0275nextContext();u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",u.\u0275\u0275pipeBind3(2,1,V.paidOnDate,"MM/DD/YY",pe.timezone)," ")}}function I(N,_e){1&N&&(u.\u0275\u0275elementStart(0,"th",16),u.\u0275\u0275text(1),u.\u0275\u0275pipe(2,"translate"),u.\u0275\u0275elementEnd()),2&N&&(u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",u.\u0275\u0275pipeBind1(2,1,"AMOUNT")," "))}const p=function(N){return{amount:N}};function J(N,_e){if(1&N&&(u.\u0275\u0275element(0,"i",19),u.\u0275\u0275pipe(1,"translate"),u.\u0275\u0275pipe(2,"uiCurrency")),2&N){const V=u.\u0275\u0275nextContext().$implicit;u.\u0275\u0275property("matTooltip",u.\u0275\u0275pipeBind2(1,1,"INCLUDES_AMOUNT_TIP",u.\u0275\u0275pureFunction1(6,p,u.\u0275\u0275pipeBind1(2,4,V.tipAmount))))}}function O(N,_e){if(1&N&&(u.\u0275\u0275elementStart(0,"td",15)(1,"span",17),u.\u0275\u0275text(2),u.\u0275\u0275pipe(3,"uiCurrency"),u.\u0275\u0275template(4,J,3,8,"i",18),u.\u0275\u0275elementEnd()()),2&N){const V=_e.$implicit;u.\u0275\u0275advance(2),u.\u0275\u0275textInterpolate1(" ",u.\u0275\u0275pipeBind1(3,2,V.totalAmount)," "),u.\u0275\u0275advance(2),u.\u0275\u0275property("ngIf",V.tipAmount)}}function z(N,_e){1&N&&(u.\u0275\u0275elementStart(0,"th",16),u.\u0275\u0275text(1),u.\u0275\u0275pipe(2,"translate"),u.\u0275\u0275elementEnd()),2&N&&(u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",u.\u0275\u0275pipeBind1(2,1,"STATUS")," "))}function ne(N,_e){if(1&N&&(u.\u0275\u0275elementStart(0,"div",23),u.\u0275\u0275text(1),u.\u0275\u0275elementEnd()),2&N){const V=_e.$implicit;u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate2(" ",V.category," ",V.detail," ")}}function j(N,_e){if(1&N&&(u.\u0275\u0275elementStart(0,"td",20)(1,"span",21),u.\u0275\u0275text(2),u.\u0275\u0275pipe(3,"translate"),u.\u0275\u0275elementEnd(),u.\u0275\u0275template(4,ne,2,2,"div",22),u.\u0275\u0275elementEnd()),2&N){const V=_e.$implicit;u.\u0275\u0275advance(2),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(3,2,V.status)),u.\u0275\u0275advance(2),u.\u0275\u0275property("ngForOf",V.error)}}function G(N,_e){1&N&&(u.\u0275\u0275elementStart(0,"th",16),u.\u0275\u0275text(1),u.\u0275\u0275pipe(2,"translate"),u.\u0275\u0275elementEnd()),2&N&&(u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",u.\u0275\u0275pipeBind1(2,1,"SOURCE")," "))}function Q(N,_e){1&N&&(u.\u0275\u0275elementStart(0,"a",26),u.\u0275\u0275element(1,"i",27),u.\u0275\u0275elementEnd()),2&N&&(u.\u0275\u0275property("href",_e.ngIf,u.\u0275\u0275sanitizeUrl),u.\u0275\u0275advance(1),u.\u0275\u0275property("size",13))}function P(N,_e){if(1&N&&(u.\u0275\u0275elementStart(0,"td",20)(1,"div",17)(2,"span",24),u.\u0275\u0275text(3),u.\u0275\u0275elementEnd(),u.\u0275\u0275template(4,Q,2,2,"a",25),u.\u0275\u0275elementEnd()()),2&N){const V=_e.$implicit;u.\u0275\u0275advance(3),u.\u0275\u0275textInterpolate(V.source),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",(null==V.response||null==V.response.payment?null:V.response.payment.receiptUrl)||(null==V?null:V.receiptUrl))}}function Y(N,_e){1&N&&(u.\u0275\u0275elementStart(0,"th",28),u.\u0275\u0275text(1),u.\u0275\u0275pipe(2,"translate"),u.\u0275\u0275elementEnd()),2&N&&(u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",u.\u0275\u0275pipeBind1(2,1,"DESCRIPTION")," "))}function W(N,_e){if(1&N&&(u.\u0275\u0275elementStart(0,"td",29)(1,"div",30),u.\u0275\u0275text(2),u.\u0275\u0275elementEnd()()),2&N){const V=_e.$implicit;u.\u0275\u0275advance(1),u.\u0275\u0275property("matTooltip",V.note),u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",V.note," ")}}function Me(N,_e){1&N&&u.\u0275\u0275element(0,"tr",31)}function Ue(N,_e){1&N&&u.\u0275\u0275element(0,"tr",32)}let ue=(()=>{class N{constructor(){this.payments=[],this.timezone=null,this.displayedColumns=["date","amount","status","source","description"]}}return N.\u0275fac=function(V){return new(V||N)},N.\u0275cmp=u.\u0275\u0275defineComponent({type:N,selectors:[["ui-invoice-payment-history"]],inputs:{payments:"payments",timezone:"timezone"},decls:18,vars:3,consts:[["mat-table","",1,"invoice-history-table",3,"dataSource"],["matColumnDef","date"],["mat-header-cell","","class","invoice-history-header-cell",4,"matHeaderCellDef"],["mat-cell","","class","invoice-history-cell",4,"matCellDef"],["matColumnDef","amount"],["mat-header-cell","","class","invoice-history-header-cell text-center",4,"matHeaderCellDef"],["matColumnDef","status"],["mat-cell","","class","invoice-history-cell text-center",4,"matCellDef"],["matColumnDef","source"],["matColumnDef","description"],["mat-header-cell","","class","invoice-history-header-cell invoice-history-description-cell text-right",4,"matHeaderCellDef"],["mat-cell","","class","invoice-history-cell text-right",4,"matCellDef"],["mat-header-row","","class","invoice-history-header-row",4,"matHeaderRowDef"],["mat-row","","class","invoice-history-row",4,"matRowDef","matRowDefColumns"],["mat-header-cell","",1,"invoice-history-header-cell"],["mat-cell","",1,"invoice-history-cell"],["mat-header-cell","",1,"invoice-history-header-cell","text-center"],[1,"invoice-history-cell-content"],["size","14","uiIcon","info","matTooltipPosition","above","class","invoice-history-icon",3,"matTooltip",4,"ngIf"],["size","14","uiIcon","info","matTooltipPosition","above",1,"invoice-history-icon",3,"matTooltip"],["mat-cell","",1,"invoice-history-cell","text-center"],[1,"invoice-payment-status"],["class","pt2",4,"ngFor","ngForOf"],[1,"pt2"],[1,"capitalize"],["target","_blank","class","invoice-receipt-icon",3,"href",4,"ngIf"],["target","_blank",1,"invoice-receipt-icon",3,"href"],["uiIcon","open_in_new",3,"size"],["mat-header-cell","",1,"invoice-history-header-cell","invoice-history-description-cell","text-right"],["mat-cell","",1,"invoice-history-cell","text-right"],[1,"whitespace-nowrap","truncate","max-w-full",3,"matTooltip"],["mat-header-row","",1,"invoice-history-header-row"],["mat-row","",1,"invoice-history-row"]],template:function(V,pe){1&V&&(u.\u0275\u0275elementStart(0,"table",0),u.\u0275\u0275elementContainerStart(1,1),u.\u0275\u0275template(2,D,3,3,"th",2),u.\u0275\u0275template(3,w,3,5,"td",3),u.\u0275\u0275elementContainerEnd(),u.\u0275\u0275elementContainerStart(4,4),u.\u0275\u0275template(5,I,3,3,"th",5),u.\u0275\u0275template(6,O,5,4,"td",3),u.\u0275\u0275elementContainerEnd(),u.\u0275\u0275elementContainerStart(7,6),u.\u0275\u0275template(8,z,3,3,"th",5),u.\u0275\u0275template(9,j,5,4,"td",7),u.\u0275\u0275elementContainerEnd(),u.\u0275\u0275elementContainerStart(10,8),u.\u0275\u0275template(11,G,3,3,"th",5),u.\u0275\u0275template(12,P,5,2,"td",7),u.\u0275\u0275elementContainerEnd(),u.\u0275\u0275elementContainerStart(13,9),u.\u0275\u0275template(14,Y,3,3,"th",10),u.\u0275\u0275template(15,W,3,2,"td",11),u.\u0275\u0275elementContainerEnd(),u.\u0275\u0275template(16,Me,1,0,"tr",12),u.\u0275\u0275template(17,Ue,1,0,"tr",13),u.\u0275\u0275elementEnd()),2&V&&(u.\u0275\u0275property("dataSource",pe.payments),u.\u0275\u0275advance(16),u.\u0275\u0275property("matHeaderRowDef",pe.displayedColumns),u.\u0275\u0275advance(1),u.\u0275\u0275property("matRowDefColumns",pe.displayedColumns))},directives:[n.BZ,n.w1,n.fO,n.ge,n.Dz,n.ev,A.NgIf,S.a,Z.gM,A.NgForOf,n.as,n.XQ,n.nj,n.Gk],pipes:[e.X$,B.B,L._ab],styles:[".invoice-history-table[_ngcontent-%COMP%]{width:100%;table-layout:fixed;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.invoice-history-row[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.invoice-history-row[_ngcontent-%COMP%], .invoice-history-header-row[_ngcontent-%COMP%]{height:40px}.invoice-history-row[_ngcontent-%COMP%]:last-child .invoice-history-cell[_ngcontent-%COMP%]:first-child{border-bottom-left-radius:4px}.invoice-history-row[_ngcontent-%COMP%]:last-child .invoice-history-cell[_ngcontent-%COMP%]:last-child{border-bottom-right-radius:4px}.invoice-history-header-row[_ngcontent-%COMP%] .invoice-history-header-cell[_ngcontent-%COMP%]:first-child{border-top-left-radius:4px}.invoice-history-header-row[_ngcontent-%COMP%] .invoice-history-header-cell[_ngcontent-%COMP%]:last-child{border-top-right-radius:4px}.invoice-history-cell[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.invoice-history-header-cell[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.invoice-history-cell[_ngcontent-%COMP%], .invoice-history-header-cell[_ngcontent-%COMP%]{border-bottom-width:0px;font-size:.75rem;font-weight:500;padding:2px 12px!important}.invoice-history-description-cell[_ngcontent-%COMP%]{width:25%}.invoice-history-cell-content[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:.25rem}.invoice-receipt-icon[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(175 175 175 / var(--tw-text-opacity, 1))}.invoice-receipt-icon[_ngcontent-%COMP%]:hover{--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.invoice-payment-status[_ngcontent-%COMP%]{text-transform:capitalize;--tw-text-opacity: 1;color:rgb(12 166 120 / var(--tw-text-opacity, 1))}"]}),N})()},70942:(It,me,_)=>{"use strict";_.d(me,{m:()=>L});var u=_(5e3),n=_(69808),A=_(51062),S=_(24254);function Z(D,w){if(1&D&&(u.\u0275\u0275elementStart(0,"div",3)(1,"div",4),u.\u0275\u0275text(2),u.\u0275\u0275pipe(3,"translate"),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(4,"div"),u.\u0275\u0275text(5),u.\u0275\u0275pipe(6,"uiCurrency"),u.\u0275\u0275elementEnd()()),2&D){const I=u.\u0275\u0275nextContext(2);let p;u.\u0275\u0275advance(2),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(3,2,"AMOUNT_TIPPED")),u.\u0275\u0275advance(3),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(6,4,(null==(p=I.asInvoice(I.invoice))?null:p.tipAmount)||0))}}const e=function(D){return[D]};function B(D,w){if(1&D&&(u.\u0275\u0275elementStart(0,"div",1)(1,"div",2)(2,"div",3)(3,"div",4),u.\u0275\u0275text(4),u.\u0275\u0275pipe(5,"translate"),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(6,"div"),u.\u0275\u0275text(7),u.\u0275\u0275pipe(8,"uiCurrency"),u.\u0275\u0275elementEnd()(),u.\u0275\u0275elementStart(9,"div",3)(10,"div",4),u.\u0275\u0275text(11),u.\u0275\u0275pipe(12,"translate"),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(13,"div"),u.\u0275\u0275text(14),u.\u0275\u0275pipe(15,"uiCurrency"),u.\u0275\u0275elementEnd()(),u.\u0275\u0275elementStart(16,"div",3)(17,"div",4),u.\u0275\u0275text(18),u.\u0275\u0275pipe(19,"translate"),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(20,"div",5),u.\u0275\u0275text(2
11),u.\u0275\u0275pipe(22,"uiCurrency"),u.\u0275\u0275elementEnd()(),u.\u0275\u0275template(23,Z,7,6,"div",6),u.\u0275\u0275elementEnd()()),2&D){const I=u.\u0275\u0275nextContext();u.\u0275\u0275property("ngClass",u.\u0275\u0275pureFunction1(21,e,I.appearance)),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngClass",I.enableTips?"grid-cols-4":"grid-cols-3"),u.\u0275\u0275advance(3),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(5,9,"AMOUNT_TOTAL")),u.\u0275\u0275advance(3),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(8,11,I.invoice.totalAmount||0)),u.\u0275\u0275advance(4),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(12,13,"INVOICE_AMOUNT_PAID")),u.\u0275\u0275advance(3),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(15,15,I.invoice.amountPaid||0)),u.\u0275\u0275advance(4),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(19,17,"AMOUNT_DUE")),u.\u0275\u0275advance(3),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind1(22,19,I.invoice.amountDue||0)),u.\u0275\u0275advance(2),u.\u0275\u0275property("ngIf",I.enableTips)}}let L=(()=>{class D{constructor(){this.enableTips=!1,this.appearance="normal"}asInvoice(I){return"tipAmount"in I?I:null}}return D.\u0275fac=function(I){return new(I||D)},D.\u0275cmp=u.\u0275\u0275defineComponent({type:D,selectors:[["ui-invoice-payment-summary"]],inputs:{invoice:"invoice",enableTips:"enableTips",appearance:"appearance"},decls:1,vars:1,consts:[[3,"ngClass",4,"ngIf"],[3,"ngClass"],[1,"summary-inner",3,"ngClass"],[1,"summary-col"],[1,"summary-col-header"],[1,"summary-col-amount-due"],["class","summary-col",4,"ngIf"]],template:function(I,p){1&I&&u.\u0275\u0275template(0,B,24,23,"div",0),2&I&&u.\u0275\u0275property("ngIf",p.invoice)},directives:[n.NgIf,n.NgClass],pipes:[A.X$,S._ab],styles:[".bordered[_ngcontent-%COMP%]{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1));padding:.25rem}.summary-inner[_ngcontent-%COMP%]{display:grid;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-top:.75rem;padding-bottom:.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.summary-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center}.summary-col-header[_ngcontent-%COMP%]{margin-bottom:.25rem;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}.summary-col-amount-due[_ngcontent-%COMP%]{--tw-text-opacity: 1;color:rgb(240 62 62 / var(--tw-text-opacity, 1))}"]}),D})()},27118:(It,me,_)=>{"use strict";_.d(me,{y:()=>I});var u=_(5e3),n=_(69808),A=_(87238),S=_(255),Z=_(20557);function e(p,J){if(1&p&&u.\u0275\u0275element(0,"i",5),2&p){const O=u.\u0275\u0275nextContext();u.\u0275\u0275property("uiIcon",O.icon)}}function B(p,J){if(1&p&&(u.\u0275\u0275elementContainerStart(0),u.\u0275\u0275elementStart(1,"span",6),u.\u0275\u0275text(2),u.\u0275\u0275pipe(3,"shorten"),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementContainerEnd()),2&p){const O=u.\u0275\u0275nextContext();u.\u0275\u0275advance(1),u.\u0275\u0275classProp("pr-16",O.removable),u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate(u.\u0275\u0275pipeBind3(3,3,O.label,O.shortenSize,O.suffix))}}function L(p,J){if(1&p&&(u.\u0275\u0275elementStart(0,"span",6),u.\u0275\u0275text(1),u.\u0275\u0275elementEnd()),2&p){const O=u.\u0275\u0275nextContext();u.\u0275\u0275classProp("pr-20",O.removable),u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate(O.label)}}function D(p,J){if(1&p){const O=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"i",7),u.\u0275\u0275listener("click",function(ne){return u.\u0275\u0275restoreView(O),u.\u0275\u0275nextContext().onRemove(ne)}),u.\u0275\u0275elementEnd()}}const w=function(p,J,O){return[p,J,O]};let I=(()=>{class p{constructor(){this.isEscalation=!1,this.showMarker=!1,this.suffix="...",this.removable=!1,this.buttonClick=new u.EventEmitter,this.remove=new u.EventEmitter}get typeCssClass(){return this.type?this.type:"secondary"}get escalationCssClass(){return this.isEscalation?"is-escalation":""}get markerCssClass(){return this.showMarker?"button-marker":""}clickHandler(){this.buttonClick.emit()}onRemove(O){O.stopPropagation(),O.preventDefault(),this.remove.emit()}}
1return p.\u0275fac=function(O){return new(O||p)},p.\u0275cmp=u.\u0275\u0275defineComponent({type:p,selectors:[["ui-order-button"]],inputs:{label:"label",type:"type",tooltip:"tooltip",shortenSize:"shortenSize",isEscalation:"isEscalation",showMarker:"showMarker",suffix:"suffix",icon:"icon",removable:"removable"},outputs:{buttonClick:"buttonClick",remove:"remove"},decls:6,vars:10,consts:[[1,"button-label",3,"ngClass","matTooltip","click"],[3,"uiIcon",4,"ngIf"],[4,"ngIf","ngIfElse"],["elseBlock",""],["uiIcon","close","class","absolute right-0 top-0 bottom-0 w-20 flex",3,"click",4,"ngIf"],[3,"uiIcon"],[1,"whitespace-nowrap"],["uiIcon","close",1,"absolute","right-0","top-0","bottom-0","w-20","flex",3,"click"]],template:function(O,z){if(1&O&&(u.\u0275\u0275elementStart(0,"button",0),u.\u0275\u0275listener("click",function(){return z.clickHandler()}),u.\u0275\u0275template(1,e,1,1,"i",1),u.\u0275\u0275template(2,B,4,7,"ng-container",2),u.\u0275\u0275template(3,L,2,3,"ng-template",null,3,u.\u0275\u0275templateRefExtractor),u.\u0275\u0275template(5,D,1,0,"i",4),u.\u0275\u0275elementEnd()),2&O){const ne=u.\u0275\u0275reference(4);u.\u0275\u0275propertyInterpolate("matTooltip",z.tooltip),u.\u0275\u0275property("ngClass",u.\u0275\u0275pureFunction3(6,w,z.typeCssClass,z.markerCssClass,z.escalationCssClass)),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",z.icon),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",z.shortenSize)("ngIfElse",ne),u.\u0275\u0275advance(3),u.\u0275\u0275property("ngIf",z.removable)}},directives:[n.NgClass,A.gM,n.NgIf,S.a],pipes:[Z.TD],styles:['[_nghost-%COMP%]{margin-left:.125rem;margin-right:.125rem;display:inline-block}.button-label[_ngcontent-%COMP%]{position:relative;display:inline-block;overflow:hidden;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1));padding:.125rem .25rem;font-family:var(--content-font, Inter),sans-serif;font-size:.75rem;font-weight:500;line-height:1.25;--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1));height:20px}.button-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:first-child{display:inline-block;line-height:1.25;font-size:12px!important}.button-label[_ngcontent-%COMP%]:hover, .button-label[_ngcontent-%COMP%]:focus{--tw-text-opacity: 1;color:rgb(20 20 20 / var(--tw-text-opacity, 1))}.button-label.button-marker[_ngcontent-%COMP%]{padding-left:1.25rem}.button-label.button-marker[_ngcontent-%COMP%]:before{content:""}.button-label[_ngcontent-%COMP%]:before{position:absolute;--tw-bg-opacity: 1;background-color:rgb(117 117 117 / var(--tw-bg-opacity, 1));top:50%;left:6px;width:8px;height:8px;transform:translateY(-50%);border-radius:2px}.button-label.primary[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(231 245 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(34 139 230 / var(--tw-text-opacity, 1))}.button-label.primary[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(34 139 230 / var(--tw-bg-opacity, 1))}.button-label.warning[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(249 211 253 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(152 40 165 / var(--tw-text-opacity, 1))}.button-label.warning[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(152 40 165 / var(--tw-bg-opacity, 1))}.button-label.info[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 232 204 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(253 126 20 / var(--tw-text-opacity, 1))}.button-label.info[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(253 126 20 / var(--tw-bg-opacity, 1))}.button-label.success[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(195 250 232 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(12 166 120 / var(--tw-text-opacity, 1))}.button-label.success[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(12 166 120 / var(--tw-bg-opacity, 1))}.button-label.danger[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 227 227 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(250 82 82 / var(--tw-text-opacity, 1))}.button-label.danger[_ngcontent-%COMP%]:before{--tw-bg-opacity: 1;background-color:rgb(250 82 82 / var(--tw-bg-opacity, 1))}.button-label.is-escalation[_ngcontent-%COMP%]{--tw-bg-opacity: 1;background-color:rgb(255 227 227 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(250 82 82 / var(--tw-text-opacity, 1))}'],changeDetection:0}),p})()},40455:(It,me,_)=>{"use strict";_.d(me,{b:()=>S});var u=_(5e3),n=_(69009),A=_(69808);let S=(()=>{class Z{constructor(B){this.changeDetectorRef=B,this.inputClasses="",this.defaultValue="pending",this.prefix="",this.size="small",this.selectionChange=new u.EventEmitter,this.changeHandler=L=>{this.selectionChange.emit(L),this.changeDetectorRef.detectChanges()}}get selectedValue(){var B;return null!==(B=this.value)&&void 0!==B?B:this.defaultValue}}
1return Z.\u0275fac=function(B){return new(B||Z)(u.\u0275\u0275directiveInject(u.ChangeDetectorRef))},Z.\u0275cmp=u.\u0275\u0275defineComponent({type:Z,selectors:[["ui-order-status-select"]],inputs:{value:"value",items:"items",inputClasses:"inputClasses",defaultValue:"defaultValue",prefix:"prefix",size:"size"},outputs:{selectionChange:"selectionChange"},decls:1,vars:7,consts:[[3,"size","nameKey","prefix","value","items","inputClass","ngClass","selectionChange"]],template:function(B,L){1&B&&(u.\u0275\u0275elementStart(0,"ui-select",0),u.\u0275\u0275listener("selectionChange",function(w){return L.changeHandler(w)}),u.\u0275\u0275elementEnd()),2&B&&u.\u0275\u0275property("size",L.size)("nameKey","label")("prefix",L.prefix)("value",L.selectedValue)("items",L.items)("inputClass",L.inputClasses)("ngClass",L.selectedValue)},directives:[n.H,A.NgClass],styles:["[_nghost-%COMP%] ui-form-input-group{--tw-bg-opacity: 1;background-color:rgb(246 246 246 / var(--tw-bg-opacity, 1))}[_nghost-%COMP%] ui-form-input-group:hover{--tw-border-opacity: 1;border-color:rgb(226 226 226 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] ui-form-input-group .arrows{--tw-text-opacity: 1;color:rgb(117 117 117 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .inProgress[_ngcontent-%COMP%] ui-form-input-group{--tw-bg-opacity: 1;background-color:rgb(231 245 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(28 126 214 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .inProgress[_ngcontent-%COMP%] ui-form-input-group:hover{--tw-border-opacity: 1;border-color:rgb(208 235 255 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] .inProgress[_ngcontent-%COMP%] ui-form-input-group .arrows{--tw-text-opacity: 1;color:rgb(28 126 214 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .paid[_ngcontent-%COMP%] ui-form-input-group, [_nghost-%COMP%] .complete[_ngcontent-%COMP%] ui-form-input-group{--tw-bg-opacity: 1;background-color:rgb(195 250 232 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(12 166 120 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .paid[_ngcontent-%COMP%] ui-form-input-group:hover, [_nghost-%COMP%] .complete[_ngcontent-%COMP%] ui-form-input-group:hover{--tw-border-opacity: 1;border-color:rgb(150 242 215 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] .paid[_ngcontent-%COMP%] ui-form-input-group .arrows, [_nghost-%COMP%] .complete[_ngcontent-%COMP%] ui-form-input-group .arrows{--tw-text-opacity: 1;color:rgb(12 166 120 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .postponed[_ngcontent-%COMP%] ui-form-input-group{--tw-bg-opacity: 1;background-color:rgb(255 243 191 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(245 159 0 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .postponed[_ngcontent-%COMP%] ui-form-input-group:hover{--tw-border-opacity: 1;border-color:rgb(255 236 153 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] .postponed[_ngcontent-%COMP%] ui-form-input-group .arrows{--tw-text-opacity: 1;color:rgb(245 159 0 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .unpaid[_ngcontent-%COMP%] ui-form-input-group, [_nghost-%COMP%] .cancelled[_ngcontent-%COMP%] ui-form-input-group{--tw-bg-opacity: 1;background-color:rgb(255 227 227 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(250 82 82 / var(--tw-text-opacity, 1))}[_nghost-%COMP%] .unpaid[_ngcontent-%COMP%] ui-form-input-group:hover, [_nghost-%COMP%] .cancelled[_ngcontent-%COMP%] ui-form-input-group:hover{--tw-border-opacity: 1;border-color:rgb(255 201 201 / var(--tw-border-opacity, 1))}[_nghost-%COMP%] .unpaid[_ngcontent-%COMP%] ui-form-input-group .arrows, [_nghost-%COMP%] .cancelled[_ngcontent-%COMP%] ui-form-input-group .arrows{--tw-text-opacity: 1;color:rgb(250 82 82 / var(--tw-text-opacity, 1))}"],changeDetection:0}),Z})()},24128:(It,me,_)=>{"use strict";_.d(me,{U:()=>L});var u=_(5e3),n=_(69808),A=_(17663),S=_(93075),Z=_(66809),e=_(72751);function B(D,w){if(1&D){const I=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementContainerStart(0),u.\u0275\u0275elementStart(1,"quill-editor",5),u.\u0275\u0275listener("ngModelChange",function(J){return u.\u0275\u0275restoreView(I),u.\u0275\u0275nextContext().draftContent=J})("onBlur",function(){return u.\u0275\u0275restoreView(I),u.\u0275\u0275nextContext().saveNotes()})("keydown.escape",function(J){return u.\u0275\u0275restoreView(I),u.\u0275\u0275nextContext().cancelEdit(J)})("onEditorCreated",function(J){return u.\u0275\u0275restoreView(I),u.\u0275\u0275nextContext().editorCreated(J)}),u.\u0275\u0275elementEnd(),u.\u0275\u0275elementStart(2,"div",6)(3,"button",7),u.\u0275\u0275listener("click",function(){return u.\u0275\u0275restoreView(I),u.\u0275\u0275nextContext().saveNotes()}),u.\u0275\u0275text(4," Save Changes "),u.\u0275\u0275elementEnd()(),u.\u0275\u0275elementContainerEnd()}if(2&D){const I=u.\u0275\u0275nextContext();u.\u0275\u0275advance(1),u.\u0275\u0275property("modules",I.quillModules)("ngModel",I.draftContent)}}let L=(()=>{class D{constructor(){this.contentPlaceholder="Insert text here...",this.quillModules={toolbar:[[{size:["small",!1,"large","huge"]}],["bold","italic","underline"],[{list:"ordered"},{list:"bullet"}],["blockquote"]]},this.noteChange=new u.EventEmitter,this.editing=!1,this.draftContent=""}editorCreated(I){if(!I)return;I.focus();const p=I.getLength();I.setSelection(p,0)}cancelEdit(I){I.stopPropagation(),this.editing=!1}editNotes(){var I;this.draftContent=null!==(I=this.content)&&void 0!==I?I:"",this.editing=!0}saveNotes(){this.editing=!1,this.content=this.draftContent,this.noteChange.emit(this.content||"")}}return D.\u0275fac=function(I){return new(I||D)},D.\u0275cmp=u.\u0275\u0275defineComponent({type:D,selectors:[["ui-quill-notes"]],inputs:{content:"content",contentPlaceholder:"contentPlaceholder",quillModules:"quillModules"},outputs:{noteChange:"noteChange"},decls:6,vars:3,consts:[[1,"app-v2"],[4,"ngIf"],[1,"content-container",3,"hidden"],["theme","snow",3,"content"],["uiBtnSize","xx-small","uiBtnTheme","setting","themeMode","text",1,"ml-8",3,"click"],["bounds",".active-order-bounds",1,"app-v2",3,"modules","ngModel","ngModelChange","onBlur","keydown.escape","onEditorCreated"],[1,"tr","mt2"],["uiBtnSize","xx-small","uiBtnTheme","main",3,"click"]],template:function(I,p){1&I&&(u.\u0275\u0275elementStart(0,"div",0),u.\u0275\u0275template(1,B,5,2,"ng-container",1),u.\u0275\u0275elementStart(2,"div",2),u.\u0275\u0275element(3,"quill-view-html",3),u.\u0275\u0275elementStart(4,"button",4),u.\u0275\u0275listener("click",function(){return p.editNotes()}),u.\u0275\u0275text(5," Edit "),u.\u0275\u0275elementEnd()()()),2&I&&(u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",p.editing),u.\u0275\u0275advance(1),u.\u0275\u0275property("hidden",p.editing),u.\u0275\u0275advance(1),u.\u0275\u0275property("content",p.content?p.content:"<i>
1"+p.contentPlaceholder+"</i>"))},directives:[n.NgIf,A.g6,S.JJ,S.On,Z.s,e.V,A.qH],styles:["quill-view-html[_ngcontent-%COMP%] .ql-editor{padding:.5rem}"]}),D})()},6552:(It,me,_)=>{"use strict";_.d(me,{z:()=>G});var u=_(5e3),n=_(92858),S=(_(98798),_(24254)),Z=_(29104),e=_(69808),B=_(74202),L=_(27118),D=_(53161);const w=function(Q,P){return[Q,P]},I=function(Q){return{taskId:Q}};function p(Q,P){if(1&Q){const Y=u.\u0275\u0275getCurrentView();u.\u0275\u0275elementStart(0,"a",4),u.\u0275\u0275listener("click",function(Me){return Me.stopPropagation()}),u.\u0275\u0275elementStart(1,"ui-order-button",5),u.\u0275\u0275listener("remove",function(){const Ue=u.\u0275\u0275restoreView(Y).$implicit;return u.\u0275\u0275nextContext(4).archiveTask.emit(Ue)}),u.\u0275\u0275elementEnd()()}if(2&Q){const Y=P.$implicit,W=u.\u0275\u0275nextContext(2).$implicit,Me=u.\u0275\u0275nextContext(2);u.\u0275\u0275property("hidden",Me.filter&&Y.type!==Me.filter)("routerLink",u.\u0275\u0275pureFunction2(10,w,Me.url,Me.orderId))("queryParams",u.\u0275\u0275pureFunction1(13,I,Y.taskRef.id)),u.\u0275\u0275advance(1),u.\u0275\u0275property("label",Y.name)("tooltip",Y.name)("shortenSize",14)("showMarker",!0)("removable",Me.allowArchiving)("type",Me.getStatusType(W.name))("isEscalation",W.isEscalation||!!Y.isEscalation)}}function J(Q,P){if(1&Q&&(u.\u0275\u0275elementContainerStart(0),u.\u0275\u0275template(1,p,2,15,"a",3),u.\u0275\u0275elementContainerEnd()),2&Q){const Y=P.ngIf,W=u.\u0275\u0275nextContext(3);u.\u0275\u0275advance(1),u.\u0275\u0275property("ngForOf",Y)("ngForTrackBy",W.trackByTaskRefId)}}function O(Q,P){if(1&Q&&(u.\u0275\u0275elementContainerStart(0),u.\u0275\u0275template(1,J,2,2,"ng-container",1),u.\u0275\u0275elementContainerEnd()),2&Q){const Y=P.$implicit,W=u.\u0275\u0275nextContext(2);u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",W.getTasksByStatus(null==W.order?null:W.order.taskSummary,Y.name))}}function z(Q,P){if(1&Q&&(u.\u0275\u0275elementContainerStart(0),u.\u0275\u0275template(1,O,2,1,"ng-container",2),u.\u0275\u0275elementContainerEnd()),2&Q){const Y=u.\u0275\u0275nextContext();u.\u0275\u0275advance(1),u.\u0275\u0275property("ngForOf",Y.statuses)("ngForTrackBy",Y.trackByStatusName)}}function ne(Q,P){if(1&Q&&(u.\u0275\u0275elementStart(0,"span"),u.\u0275\u0275text(1," | Accounting status: "),u.\u0275\u0275elementStart(2,"span",6),u.\u0275\u0275text(3),u.\u0275\u0275elementEnd()()),2&Q){const Y=u.\u0275\u0275nextContext();u.\u0275\u0275advance(2),u.\u0275\u0275property("uiInvoiceAccountingSyncStatusTextColor",Y.getAccountingSyncStatus(Y.accountingSyncStatus)),u.\u0275\u0275advance(1),u.\u0275\u0275textInterpolate1(" ",Y.accountingSyncStatus||"\u2014"," ")}}const j=function(Q){return[Q]};let G=(()=>{class Q{constructor(){this.order=null,this.appearance="normal",this.allowArchiving=!1,this.isAccountingStatusShown=!1,this.xeroConnectionStatus=n.Ij.NOT_CONNECTED,this.archiveTask=new u.EventEmitter,this.url="/admin/order-management",this.statuses=Z.y,this.statusTypeMap=Z.k}trackByStatusName(Y,W){return W.name}trackByTaskRefId(Y,W){var Me;return(null===(Me=null==W?void 0:W.taskRef)||void 0===Me?void 0:Me.id)||Y}getAccountingSyncStatus(Y){return(0,S.tY1)(Y)}getTasksByStatus(Y,W){return null==Y?void 0:Y[W]}getStatusType(Y){var W;return null!==(W=this.statusTypeMap[Y])&&void 0!==W?W:""}}return Q.\u0275fac=function(Y){return new(Y||Q)},Q.\u0275cmp=u.\u0275\u0275defineComponent({type:Q,selectors:[["ui-task-status-chips"]],inputs:{order:"order",filter:"filter",orderId:"orderId",appearance:"appearance",allowArchiving:"allowArchiving",isAccountingStatusShown:"isAccountingStatusShown",xeroConnectionStatus:"xeroConnectionStatus",accountingSyncStatus:"accountingSyncStatus"},outputs:{archiveTask:"archiveTask"},decls:3,vars:5,consts:[[1,"chips","w-full","flex","flex-wrap","p-1",3,"ngClass"],[4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","task-status-chip-link flex",3,"hidden","routerLink","queryParams","click",4,"ngFor","ngForOf","ngForTrackBy"],[1,"task-status-chip-link","flex",3,"hidden","routerLink","queryParams","click"],[3,"label","tooltip","shortenSize","showMarker","removable","type","isEscalation","remove"],[3,"uiInvoiceAccountingSyncStatusTextColor"]],template:function(Y,W){1&Y&&(u.\u0275\u0275elementStart(0,"div",0),u.\u0275\u0275template(1,z,2,2,"ng-container",1),u.\u0275\u0275elementEnd(),u.\u0275\u0275template(2,ne,4,2,"span",1)),2&Y&&(u.\u0275\u0275property("ngClass",u.\u0275\u0275pureFunction1(3,j,W.appearance)),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",null==W.order?null:W.order.taskSummary),u.\u0275\u0275advance(1),u.\u0275\u0275property("ngIf",W.isAccountingStatusShown&&W.accountingSyncStatus))},directives:[e.NgClass,e.NgIf,e.NgForOf,B.yS,L.y,D.A],styles:[".chips[_ngcontent-%COMP%]{min-height:32px}.task-status-chip-link[_ngcontent-%COMP%]{display:inline-block;height:22px}.bordered[_ngcontent-%COMP%]{border-radius:.25rem;border-width:1px;border-style:solid;--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-duration:.3s}"],changeDetection:0}),Q})()},72243:function(It){It.exports=function(){"use strict";return function(me,_,u){me=me||{};var n=_.prototype,A={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function S(e,B,L,D){return n.fromToBase(e,B,L,D)}u.en.relativeTime=A,n.fromToBase=function(e,B,L,D,w){for(var I,p,J,O=L.$locale().relativeTime||A,z=me.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],ne=z.length,j=0;j<ne;j+=1){var G=z[j];G.d&&(I=D?u(e).diff(L,G.d,!0):L.diff(e,G.d,!0));var Q=(me.rounding||Math.round)(Math.abs(I));if(J=I>0,Q<=G.r||!G.r){Q<=1&&j>0&&(G=z[j-1]);var P=O[G.l];
1w&&(Q=w(""+Q)),p="string"==typeof P?P.replace("%d",Q):P(Q,B,G.l,J);break}}if(B)return p;var Y=J?O.future:O.past;return"function"==typeof Y?Y(p):Y.replace("%s",p)},n.to=function(e,B){return S(e,B,this,!0)},n.from=function(e,B){return S(e,B,this)};var Z=function(e){return e.$u?u.utc():u()};n.toNow=function(e){return this.to(Z(this),e)},n.fromNow=function(e){return this.from(Z(this),e)}}}()},92398:It=>{window,It.exports=function(me){var _={};function u(n){if(_[n])return _[n].exports;var A=_[n]={i:n,l:!1,exports:{}};return me[n].call(A.exports,A,A.exports,u),A.l=!0,A.exports}return u.m=me,u.c=_,u.d=function(n,A,S){u.o(n,A)||Object.defineProperty(n,A,{enumerable:!0,get:S})},u.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},u.t=function(n,A){if(1&A&&(n=u(n)),8&A||4&A&&"object"==typeof n&&n&&n.__esModule)return n;var S=Object.create(null);if(u.r(S),Object.defineProperty(S,"default",{enumerable:!0,value:n}),2&A&&"string"!=typeof n)for(var Z in n)u.d(S,Z,function(e){return n[e]}.bind(null,Z));return S},u.n=function(n){var A=n&&n.__esModule?function(){return n.default}:function(){return n};return u.d(A,"a",A),A},u.o=function(n,A){return Object.prototype.hasOwnProperty.call(n,A)},u.p="",u(u.s=15)}([function(me,_,u){"use strict";function n(I){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(p){return typeof p}:function(p){return p&&"function"==typeof Symbol&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p})(I)}var A=u(4),S="function"==typeof Symbol&&"symbol"===n(Symbol("foo")),Z=Object.prototype.toString,e=Array.prototype.concat,B=Object.defineProperty,L=B&&function(){var I={};try{for(var p in B(I,"x",{enumerable:!1,value:I}),I)return!1;return I.x===I}catch(J){return!1}}(),D=function(I,p,J,O){var z;(!(p in I)||"function"==typeof(z=O)&&"[object Function]"===Z.call(z)&&O())&&(L?B(I,p,{configurable:!0,enumerable:!1,value:J,writable:!0}):I[p]=J)},w=function(I,p){var J=arguments.length>2?arguments[2]:{},O=A(p);S&&(O=e.call(O,Object.getOwnPropertySymbols(p)));for(var z=0;z<O.length;z+=1)D(I,O[z],p[O[z]],J[O[z]])};w.supportsDescriptors=!!L,me.exports=w},function(me,_,u){function n(D){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(w){return typeof w}:function(w){return w&&"function"==typeof Symbol&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w})(D)}var A=u(16),S=u(3),Z=u(12),e=u(30),B=String.fromCharCode(0),L=function(D){this.ops=Array.isArray(D)?D:null!=D&&Array.isArray(D.ops)?D.ops:[]};L.prototype.insert=function(D,w){var I={};return 0===D.length?this:(I.insert=D,null!=w&&"object"===n(w)&&Object.keys(w).length>0&&(I.attributes=w),this.push(I))},L.prototype.delete=function(D){return D<=0?this:this.push({delete:D})},L.prototype.retain=function(D,w){if(D<=0)return this;var I={retain:D};return null!=w&&"object"===n(w)&&Object.keys(w).length>0&&(I.attributes=w),this.push(I)},L.prototype.push=function(D){var w=this.ops.length,I=this.ops[w-1];if(D=Z(!0,{},D),"object"===n(I)){if("number"==typeof D.delete&&"number"==typeof I.delete)return this.ops[w-1]={delete:I.delete+D.delete},this;if("number"==typeof I.delete&&null!=D.insert&&"object"!==n(I=this.ops[(w-=1)-1]))return this.ops.unshift(D),this;if(S(D.attributes,I.attributes)){if("string"==typeof D.insert&&"string"==typeof I.insert)return this.ops[w-1]={insert:I.insert+D.insert},"object"===n(D.attributes)&&(this.ops[w-1].attributes=D.attributes),this;if("number"==typeof D.retain&&"number"==typeof I.retain)return this.ops[w-1]={retain:I.retain+D.retain},"object"===n(D.attributes)&&(this.ops[w-1].attributes=D.attributes),this}}return w===this.ops.length?this.ops.push(D):this.ops.splice(w,0,D),this},L.prototype.chop=function(){var D=this.ops[this.ops.length-1];return D&&D.retain&&!D.attributes&&this.ops.pop(),this},L.prototype.filter=function(D){return this.ops.filter(D)},L.prototype.forEach=function(D){this.ops.forEach(D)},L.prototype.map=function(D){return this.ops.map(D)},L.prototype.partition=function(D){var w=[],I=[];return this.forEach(function(p){(D(p)?w:I).push(p)}),[w,I]},L.prototype.reduce=function(D,w){return this.ops.reduce(D,w)},L.prototype.changeLength=function(){return this.reduce(function(D,w){return w.insert?D+e.length(w):w.delete?D-w.delete:D},0)},L.prototype.length=function(){return this.reduce(function(D,w){return D+e.length(w)},0)},L.prototype.slice=function(D,w){D=D||0,"number"!=typeof w&&(w=1/0);for(var I=[],p=e.iterator(this.ops),J=0;J<w&&p.hasNext();){var O;J<D?O=p.next(D-J):(O=p.next(w-J),I.push(O)),J+=e.length(O)}return new L(I)},L.prototype.compose=function(D){var w=e.iterator(this.ops),I=e.iterator(D.ops),p=[],J=I.peek();if(null!=J&&"number"==typeof J.retain&&null==J.attributes){for(var O=J.retain;"insert"===w.peekType()&&w.peekLength()<=O;)O-=w.peekLength(),p.push(w.next());J.retain-O>0&&I.next(J.retain-O)}for(var z=new L(p);w.hasNext()||I.hasNext();)if("insert"===I.peekType())z.push(I.next());else if("delete"===w.peekType())z.push(w.next());else{var ne=Math.min(w.peekLength(),I.peekLength()),j=w.next(ne),G=I.next(ne);if("number"==typeof G.retain){var Q={};"number"==typeof j.retain?Q.retain=ne:Q.insert=j.insert;var P=e.attributes.compose(j.attributes,G.attributes,"number"==typeof j.retain);if(P&&(Q.attributes=P),z.push(Q),!I.hasNext()&&S(z.ops[z.ops.length-1],Q)){var Y=new L(w.rest());return z.concat(Y).chop()}}else"number"==typeof G.delete&&"number"==typeof j.retain&&z.push(G)}return z.chop()},L.prototype.concat=function(D){var w=new L(this.ops.slice());return D.ops.length>0&&(w.push(D.ops[0]),w.ops=w.ops.concat(D.ops.slice(1))),w},L.prototype.diff=function(D,w){if(this.ops===D.ops)return new L;var I=[this,D].map(function(ne){return ne.map(function(j){if(null!=j.insert)return"string"==typeof j.insert?j.insert:B;throw new Error("diff() called "+(ne===D?"on":"with")+" non-document")}).join("")}),p=new L,J=A(I[0],I[1],w),O=e.iterator(this.ops),z=e.iterator(D.ops);return J.forEach(function(ne){for(var j=ne[1].length;j>0;){var G=0;switch(ne[0]){case A.INSERT:G=Math.min(z.peekLength(),j),p.push(z.next(G));break;case A.DELETE:G=Math.min(j,O.peekLength()),O.next(G),p.delete(G);break;case A.EQUAL:G=Math.min(O.peekLength(),z.peekLength(),j);var Q=O.next(G),P=z.next(G);S(Q.insert,P.insert)?p.retain(G,e.attributes.diff(Q.attributes,P.attributes)):p.push(P).delete(G)}j-=G}}),p.chop()},L.prototype.eachLine=function(D,w){w=w||"\n";for(var I=e.iterator(this.ops),p=new L,J=0;I.hasNext();){if("insert"!==I.peekType())return;var O=I.peek(),z=e.length(O)-I.peekLength(),ne="string"==typeof O.insert?O.insert.indexOf(w,z)-z:-1;if(ne<0)p.push(I.next());else if(ne>0)p.push(I.next(ne));else{if(!1===D(p,I.next(1).attributes||{},J))return;J+=1,p=new L}}p.length()>0&&D(p,{},J)},L.prototype.transform=function(D,w){if(w=!!w,"number"==typeof D)return this.transformPosition(D,w);for(var I=e.iterator(this.ops),p=e.iterator(D.ops),J=new L;I.hasNext()||p.hasNext();)if("insert"!==I.peekType()||!w&&"insert"===p.peekType())if("insert"===p.peekType())J.push(p.next());
1else{var O=Math.min(I.peekLength(),p.peekLength()),z=I.next(O),ne=p.next(O);if(z.delete)continue;ne.delete?J.push(ne):J.retain(O,e.attributes.transform(z.attributes,ne.attributes,w))}else J.retain(e.length(I.next()));return J.chop()},L.prototype.transformPosition=function(D,w){w=!!w;for(var I=e.iterator(this.ops),p=0;I.hasNext()&&p<=D;){var J=I.peekLength(),O=I.peekType();I.next(),"delete"!==O?("insert"===O&&(p<D||!w)&&(D+=J),p+=J):D-=Math.min(J,D-p)}return D},me.exports=L},function(me,_,u){"use strict";var n=u(20);me.exports=Function.prototype.bind||n},function(me,_,u){function n(J){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(O){return typeof O}:function(O){return O&&"function"==typeof Symbol&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O})(J)}var A=u(4),S=u(18),Z=u(19),e=u(25),B=u(27),L=u(29),D=Date.prototype.getTime;function I(J){return null==J}function p(J){return!(!J||"object"!==n(J)||"number"!=typeof J.length||"function"!=typeof J.copy||"function"!=typeof J.slice||J.length>0&&"number"!=typeof J[0])}me.exports=function w(J,O,z){var ne=z||{};return!!(ne.strict?Z(J,O):J===O)||(!J||!O||"object"!==n(J)&&"object"!==n(O)?ne.strict?Z(J,O):J==O:function(j,G,Q){var P,Y;if(n(j)!==n(G)||I(j)||I(G)||j.prototype!==G.prototype||S(j)!==S(G))return!1;var W=e(j),Me=e(G);if(W!==Me)return!1;if(W||Me)return j.source===G.source&&B(j)===B(G);if(L(j)&&L(G))return D.call(j)===D.call(G);var Ue=p(j),ue=p(G);if(Ue!==ue)return!1;if(Ue||ue){if(j.length!==G.length)return!1;for(P=0;P<j.length;P++)if(j[P]!==G[P])return!1;return!0}if(n(j)!==n(G))return!1;try{var N=A(j),_e=A(G)}catch(V){return!1}if(N.length!==_e.length)return!1;for(N.sort(),_e.sort(),P=N.length-1;P>=0;P--)if(N[P]!=_e[P])return!1;for(P=N.length-1;P>=0;P--)if(!w(j[Y=N[P]],G[Y],Q))return!1;return!0}(J,O,ne))}},function(me,_,u){"use strict";var n=Array.prototype.slice,A=u(5),S=Object.keys,Z=S?function(B){return S(B)}:u(17),e=Object.keys;Z.shim=function(){return Object.keys?function(){var B=Object.keys(arguments);return B&&B.length===arguments.length}(1,2)||(Object.keys=function(B){return A(B)?e(n.call(B)):e(B)}):Object.keys=Z,Object.keys||Z},me.exports=Z},function(me,_,u){"use strict";function n(S){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Z){return typeof Z}:function(Z){return Z&&"function"==typeof Symbol&&Z.constructor===Symbol&&Z!==Symbol.prototype?"symbol":typeof Z})(S)}var A=Object.prototype.toString;me.exports=function(S){var Z=A.call(S),e="[object Arguments]"===Z;return e||(e="[object Array]"!==Z&&null!==S&&"object"===n(S)&&"number"==typeof S.length&&S.length>=0&&"[object Function]"===A.call(S.callee)),e}},function(me,_,u){"use strict";var n=u(2),A=u(21)("%Function%"),S=A.apply,Z=A.call;me.exports=function(){return n.apply(Z,arguments)},me.exports.apply=function(){return n.apply(S,arguments)}},function(me,_){function u(A){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(S){return typeof S}:function(S){return S&&"function"==typeof Symbol&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S})(A)}var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(A){"object"===("undefined"==typeof window?"undefined":u(window))&&(n=window)}me.exports=n},function(me,_,u){"use strict";var n=function(A){return A!=A};me.exports=function(A,S){return 0===A&&0===S?1/A==1/S:A===S||!(!n(A)||!n(S))}},function(me,_,u){"use strict";var n=u(8);me.exports=function(){return"function"==typeof Object.is?Object.is:n}},function(me,_,u){"use strict";var n=Object,A=TypeError;me.exports=function(){if(null!=this&&this!==n(this))throw new A("RegExp.prototype.flags getter called on non-object");var S="";return this.global&&(S+="g"),this.ignoreCase&&(S+="i"),this.multiline&&(S+="m"),this.dotAll&&(S+="s"),this.unicode&&(S+="u"),this.sticky&&(S+="y"),S}},function(me,_,u){"use strict";var n=u(10),A=u(0).supportsDescriptors,S=Object.getOwnPropertyDescriptor,Z=TypeError;me.exports=function(){if(!A)throw new Z("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");if("gim"===/a/gim.flags){var e=S(RegExp.prototype,"flags");if(e&&"function"==typeof e.get&&"boolean"==typeof/a/.dotAll)return e.get}return n}},function(me,_,u){"use strict";function n(I){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(p){return typeof p}:function(p){return p&&"function"==typeof Symbol&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p})(I)}var A=Object.prototype.hasOwnProperty,S=Object.prototype.toString,Z=Object.defineProperty,e=Object.getOwnPropertyDescriptor,B=function(I){return"function"==typeof Array.isArray?Array.isArray(I):"[object Array]"===S.call(I)},L=function(I){if(!I||"[object Object]"!==S.call(I))return!1;var p,J=A.call(I,"constructor"),O=I.constructor&&I.constructor.prototype&&A.call(I.constructor.prototype,"isPrototypeOf");if(I.constructor&&!J&&!O)return!1;for(p in I);return void 0===p||A.call(I,p)},D=function(I,p){Z&&"__proto__"===p.name?Z(I,p.name,{enumerable:!0,configurable:!0,value:p.newValue,writable:!0}):I[p.name]=p.newValue},w=function(I,p){if("__proto__"===p){if(!A.call(I,p))return;if(e)return e(I,p).value}return I[p]};me.exports=function I(){var p,J,O,z,ne,j,G=arguments[0],Q=1,P=arguments.length,Y=!1;for("boolean"==typeof G&&(Y=G,G=arguments[1]||{},Q=2),(null==G||"object"!==n(G)&&"function"!=typeof G)&&(G={});Q<P;
1++Q)if(null!=(p=arguments[Q]))for(J in p)O=w(G,J),G!==(z=w(p,J))&&(Y&&z&&(L(z)||(ne=B(z)))?(ne?(ne=!1,j=O&&B(O)?O:[]):j=O&&L(O)?O:{},D(G,{name:J,newValue:I(Y,j,z)})):void 0!==z&&D(G,{name:J,newValue:z}));return G}},function(me,_){(function(u){me.exports=u}).call(this,{})},function(me,_,u){"use strict";function n(I,p){var J=Object.keys(I);if(Object.getOwnPropertySymbols){var O=Object.getOwnPropertySymbols(I);p&&(O=O.filter(function(z){return Object.getOwnPropertyDescriptor(I,z).enumerable})),J.push.apply(J,O)}return J}function A(I,p,J){return p in I?Object.defineProperty(I,p,{value:J,enumerable:!0,configurable:!0,writable:!0}):I[p]=J,I}function S(I){return function(p){if(Array.isArray(p))return B(p)}(I)||function(p){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(p))return Array.from(p)}(I)||e(I)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(I,p){if(I){if("string"==typeof I)return B(I,p);var J=Object.prototype.toString.call(I).slice(8,-1);return"Object"===J&&I.constructor&&(J=I.constructor.name),"Map"===J||"Set"===J?Array.from(I):"Arguments"===J||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(J)?B(I,p):void 0}}function B(I,p){(null==p||p>I.length)&&(p=I.length);for(var J=0,O=new Array(p);J<p;J++)O[J]=I[J];return O}var L="undefined"==typeof URL?u(31).URL:URL,D=function(I,p){return p.some(function(J){return J instanceof RegExp?J.test(I):J===I})},w=function(I,p){if(p=function(P){for(var Y=1;Y<arguments.length;Y++){var W=null!=arguments[Y]?arguments[Y]:{};Y%2?n(Object(W),!0).forEach(function(Me){A(P,Me,W[Me])}):Object.getOwnPropertyDescriptors?Object.defineProperties(P,Object.getOwnPropertyDescriptors(W)):n(Object(W)).forEach(function(Me){Object.defineProperty(P,Me,Object.getOwnPropertyDescriptor(W,Me))})}return P}({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},p),Reflect.has(p,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(p,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(p,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(I=I.trim(),/^data:/i.test(I))return function(P,Y){var W=Y.stripHash,Me=P.match(/^data:(.*?),(.*?)(?:#(.*))?$/);if(!Me)throw new Error("Invalid URL: ".concat(P));var Ue=Me[1].split(";"),ue=Me[2],N=W?"":Me[3],_e=!1;"base64"===Ue[Ue.length-1]&&(Ue.pop(),_e=!0);var V=(Ue.shift()||"").toLowerCase(),pe=S(Ue.map(function(Se){var Be=function Z(I,p){return function(J){if(Array.isArray(J))return J}(I)||function(J,O){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(J)){var z=[],ne=!0,j=!1,G=void 0;try{for(var Q,P=J[Symbol.iterator]();!(ne=(Q=P.next()).done)&&(z.push(Q.value),!O||z.length!==O);ne=!0);}catch(Y){j=!0,G=Y}finally{try{ne||null==P.return||P.return()}finally{if(j)throw G}}return z}}(I,p)||e(I,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(Se.split("=").map(function(ae){return ae.trim()}),2),xe=Be[0],ze=Be[1],ce=void 0===ze?"":ze;return"charset"===xe&&"us-ascii"===(ce=ce.toLowerCase())?"":"".concat(xe).concat(ce?"=".concat(ce):"")}).filter(Boolean));return _e&&pe.push("base64"),(0!==pe.length||V&&"text/plain"!==V)&&pe.unshift(V),"data:".concat(pe.join(";"),",").concat(_e?ue.trim():ue).concat(N?"#".concat(N):"")}(I,p);var J=I.startsWith("//");!J&&/^\.*\//.test(I)||(I=I.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,p.defaultProtocol));var O=new L(I);if(p.forceHttp&&p.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(p.forceHttp&&"https:"===O.protocol&&(O.protocol="http:"),p.forceHttps&&"http:"===O.protocol&&(O.protocol="https:"),p.stripAuthentication&&(O.username="",O.password=""),p.stripHash&&(O.hash=""),O.pathname&&(O.pathname=O.pathname.replace(/((?!:).|^)\/{2,}/g,function(P,Y){return/^(?!\/)/g.test(Y)?"".concat(Y,"/"):"/"})),O.pathname&&(O.pathname=decodeURI(O.pathname)),!0===p.removeDirectoryIndex&&(p.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(p.removeDirectoryIndex)&&p.removeDirectoryIndex.length>0){var z=O.pathname.split("/");D(z[z.length-1],p.removeDirectoryIndex)&&(z=z.slice(0,z.length-1),O.pathname=z.slice(1).join("/")+"/")}if(O.hostname&&(O.hostname=O.hostname.replace(/\.$/,""),p.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(O.hostname)&&(O.hostname=O.hostname.replace(/^www\./,""))),Array.isArray(p.removeQueryParameters))for(var j=0,G=S(O.searchParams.keys());j<G.length;j++){var Q=G[j];D(Q,p.removeQueryParameters)&&O.searchParams.delete(Q)}return p.sortQueryParameters&&O.searchParams.sort(),p.removeTrailingSlash&&(O.pathname=O.pathname.replace(/\/$/,"")),I=O.toString(),!p.removeTrailingSlash&&"/"!==O.pathname||""!==O.hash||
1(I=I.replace(/\/$/,"")),J&&!p.normalizeProtocol&&(I=I.replace(/^http:\/\//,"//")),p.stripProtocol&&(I=I.replace(/^(?:https?:)?\/\//,"")),I};me.exports=w,me.exports.default=w},function(me,_,u){"use strict";u.r(_),u.d(_,"default",function(){return J});var n=u(1),A=u.n(n),S=u(14),Z=u.n(S);function B(O,z){(null==z||z>O.length)&&(z=O.length);for(var ne=0,j=new Array(z);ne<z;ne++)j[ne]=O[ne];return j}function L(O,z){var ne=Object.keys(O);if(Object.getOwnPropertySymbols){var j=Object.getOwnPropertySymbols(O);z&&(j=j.filter(function(G){return Object.getOwnPropertyDescriptor(O,G).enumerable})),ne.push.apply(ne,j)}return ne}function D(O){for(var z=1;z<arguments.length;z++){var ne=null!=arguments[z]?arguments[z]:{};z%2?L(Object(ne),!0).forEach(function(j){w(O,j,ne[j])}):Object.getOwnPropertyDescriptors?Object.defineProperties(O,Object.getOwnPropertyDescriptors(ne)):L(Object(ne)).forEach(function(j){Object.defineProperty(O,j,Object.getOwnPropertyDescriptor(ne,j))})}return O}function w(O,z,ne){return z in O?Object.defineProperty(O,z,{value:ne,enumerable:!0,configurable:!0,writable:!0}):O[z]=ne,O}function I(O,z){for(var ne=0;ne<z.length;ne++){var j=z[ne];j.enumerable=j.enumerable||!1,j.configurable=!0,"value"in j&&(j.writable=!0),Object.defineProperty(O,j.key,j)}}var p={globalRegularExpression:/(https?:\/\/|www\.)[\w-\.]+\.[\w-\.]+(\/([\S]+)?)?/gi,urlRegularExpression:/(https?:\/\/|www\.)[\w-\.]+\.[\w-\.]+(\/([\S]+)?)?/i,globalMailRegularExpression:/([\w-\.]+@[\w-\.]+\.[\w-\.]+)/gi,mailRegularExpression:/([\w-\.]+@[\w-\.]+\.[\w-\.]+)/i,normalizeRegularExpression:/(https?:\/\/|www\.)[\S]+/i,normalizeUrlOptions:{stripWWW:!1}},J=function(){function O(G,Q){var P=this;(function(Y,W){if(!(Y instanceof W))throw new TypeError("Cannot call a class as a function")})(this,O),this.quill=G,Q=Q||{},this.options=D(D({},p),Q),this.urlNormalizer=function(Y){return P.normalize(Y)},this.mailNormalizer=function(Y){return"mailto:".concat(Y)},this.registerTypeListener(),this.registerPasteListener()}var z,ne;return z=O,(ne=[{key:"registerPasteListener",value:function(){var G=this;this.quill.clipboard.addMatcher(Node.TEXT_NODE,function(Q,P){if("string"==typeof Q.data){var Y=G.options.globalRegularExpression,W=G.options.globalMailRegularExpression;Y.lastIndex=0,W.lastIndex=0;for(var Me=new A.a,Ue=0,ue=Y.exec(Q.data),N=W.exec(Q.data),_e=function(pe,Se,Be){var xe=Q.data.substring(Ue,pe.index);Me.insert(xe);var ze=pe[0];return Me.insert(ze,{link:Be(ze)}),Ue=Se.lastIndex,Se.exec(Q.data)};null!==ue||null!==N;)if(null===ue)N=_e(N,W,G.mailNormalizer);else if(null===N)ue=_e(ue,Y,G.urlNormalizer);else if(N.index<=ue.index){for(;null!==ue&&ue.index<W.lastIndex;)ue=Y.exec(Q.data);N=_e(N,W,G.mailNormalizer)}else{for(;null!==N&&N.index<Y.lastIndex;)N=W.exec(Q.data);ue=_e(ue,Y,G.urlNormalizer)}if(Ue>0){var V=Q.data.substring(Ue);Me.insert(V),P.ops=Me.ops}return P}})}},{key:"registerTypeListener",value:function(){var G=this;this.quill.on("text-change",function(Q){var P=Q.ops;if(!(!P||P.length<1||P.length>2)){var Y=P[P.length-1];Y.insert&&"string"==typeof Y.insert&&Y.insert.match(/\s/)&&G.checkTextForUrl()}})}},{key:"checkTextForUrl",value:function(){var G=this.quill.getSelection();if(G){var Q=function e(O,z){return function(ne){if(Array.isArray(ne))return ne}(O)||function(ne,j){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(ne)){var G=[],Q=!0,P=!1,Y=void 0;try{for(var W,Me=ne[Symbol.iterator]();!(Q=(W=Me.next()).done)&&(G.push(W.value),!j||G.length!==j);Q=!0);}catch(Ue){P=!0,Y=Ue}finally{try{Q||null==Me.return||Me.return()}finally{if(P)throw Y}}return G}}(O,z)||function(ne,j){if(ne){if("string"==typeof ne)return B(ne,j);var G=Object.prototype.toString.call(ne).slice(8,-1);if("Object"===G&&ne.constructor&&(G=ne.constructor.name),"Map"===G||"Set"===G)return Array.from(ne);if("Arguments"===G||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G))return B(ne,j)}}(O,z)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(this.quill.getLeaf(G.index),1)[0];if(Q.text&&"a"!==Q.parent.domNode.localName){var P=this.quill.getIndex(Q),Y=Q.text.match(this.options.urlRegularExpression),W=Q.text.match(this.options.mailRegularExpression);Y?this.textToUrl(P+Y.index,Y[0]):W&&this.textToMail(P+W.index,W[0])}}}},{key:"textToUrl",value:function(G,Q){var P=(new A.a).retain(G).retain(Q.length,{link:this.urlNormalizer(Q)});this.quill.updateContents(P)}},{key:"textToMail",value:function(G,Q){var P=(new A.a).retain(G).retain(Q.length,{link:this.mailNormalizer(Q)});this.quill.updateContents(P)}},{key:"normalize",value:function(G){if(this.options.normalizeRegularExpression.test(G))try{return Z()(G,this.options.normalizeUrlOptions)}catch(Q){console.error(Q)}return G}}])&&I(z.prototype,ne),O}();null!=window&&window.Quill&&window.Quill.register("modules/magicUrl",J)},function(me,_){function u(B,L,D){if(B==L)return B?[[0,B]]:[];(D<0||B.length<D)&&(D=null);var w=A(B,L),I=B.substring(0,w);w=S(B=B.substring(w),L=L.substring(w));var p=B.substring(B.length-w),J=function(O,z){var ne;if(!O)return[[1,z]];if(!z)return[[-1,O]];var j=O.length>z.length?O:z,G=O.length>z.length?z:O,Q=j.indexOf(G);
vendor: 5,544 bytes, line 1
1if(-1!=Q)return ne=[[1,j.substring(0,Q)],[0,G],[1,j.substring(Q+G.length)]],O.length>z.length&&(ne[0][0]=ne[2][0]=-1),ne;if(1==G.length)return[[-1,O],[1,z]];var P=function(V,pe){var Se=V.length>pe.length?V:pe,Be=V.length>pe.length?pe:V;if(Se.length<4||2*Be.length<Se.length)return null;function xe($e,je,Ye){for(var he,Te,Re,nt,k=$e.substring(Ye,Ye+Math.floor($e.length/4)),$=-1,T="";-1!=($=je.indexOf(k,$+1));){var X=A($e.substring(Ye),je.substring($)),de=S($e.substring(0,Ye),je.substring(0,$));T.length<de+X&&(T=je.substring($-de,$)+je.substring($,$+X),he=$e.substring(0,Ye-de),Te=$e.substring(Ye+X),Re=je.substring(0,$-de),nt=je.substring($+X))}return 2*T.length>=$e.length?[he,Te,Re,nt,T]:null}var ze,ce,ae,Ie,Ne,Pe=xe(Se,Be,Math.ceil(Se.length/4)),be=xe(Se,Be,Math.ceil(Se.length/2));return Pe||be?(ze=be?Pe&&Pe[4].length>be[4].length?Pe:be:Pe,V.length>pe.length?(ce=ze[0],ae=ze[1],Ie=ze[2],Ne=ze[3]):(Ie=ze[0],Ne=ze[1],ce=ze[2],ae=ze[3]),[ce,ae,Ie,Ne,ze[4]]):null}(O,z);if(P){var W=P[1],Ue=P[3],ue=P[4],N=u(P[0],P[2]),_e=u(W,Ue);return N.concat([[0,ue]],_e)}return function(V,pe){for(var Se=V.length,Be=pe.length,xe=Math.ceil((Se+Be)/2),ze=xe,ce=2*xe,ae=new Array(ce),Ie=new Array(ce),Ne=0;Ne<ce;Ne++)ae[Ne]=-1,Ie[Ne]=-1;ae[ze+1]=0,Ie[ze+1]=0;for(var Pe=Se-Be,be=Pe%2!=0,Ze=0,$e=0,je=0,Ye=0,he=0;he<xe;he++){for(var Te=-he+Ze;Te<=he-$e;Te+=2){for(var Re=ze+Te,nt=(de=Te==-he||Te!=he&&ae[Re-1]<ae[Re+1]?ae[Re+1]:ae[Re-1]+1)-Te;de<Se&&nt<Be&&V.charAt(de)==pe.charAt(nt);)de++,nt++;if(ae[Re]=de,de>Se)$e+=2;else if(nt>Be)Ze+=2;else if(be&&(T=ze+Pe-Te)>=0&&T<ce&&-1!=Ie[T]){var k=Se-Ie[T];if(de>=k)return n(V,pe,de,nt)}}for(var $=-he+je;$<=he-Ye;$+=2){for(var T=ze+$,X=(k=$==-he||$!=he&&Ie[T-1]<Ie[T+1]?Ie[T+1]:Ie[T-1]+1)-$;k<Se&&X<Be&&V.charAt(Se-k-1)==pe.charAt(Be-X-1);)k++,X++;if(Ie[T]=k,k>Se)Ye+=2;else if(X>Be)je+=2;else if(!be&&(Re=ze+Pe-$)>=0&&Re<ce&&-1!=ae[Re]){var de=ae[Re];if(nt=ze+de-Re,de>=(k=Se-k))return n(V,pe,de,nt)}}}return[[-1,V],[1,pe]]}(O,z)}(B=B.substring(0,B.length-w),L=L.substring(0,L.length-w));return I&&J.unshift([0,I]),p&&J.push([0,p]),function O(z){z.push([0,""]);for(var ne,j=0,G=0,Q=0,P="",Y="";j<z.length;)switch(z[j][0]){case 1:Q++,Y+=z[j][1],j++;break;case-1:G++,P+=z[j][1],j++;break;case 0:G+Q>1?(0!==G&&0!==Q&&(0!==(ne=A(Y,P))&&(j-G-Q>0&&0==z[j-G-Q-1][0]?z[j-G-Q-1][1]+=Y.substring(0,ne):(z.splice(0,0,[0,Y.substring(0,ne)]),j++),Y=Y.substring(ne),P=P.substring(ne)),0!==(ne=S(Y,P))&&(z[j][1]=Y.substring(Y.length-ne)+z[j][1],Y=Y.substring(0,Y.length-ne),P=P.substring(0,P.length-ne))),0===G?z.splice(j-Q,G+Q,[1,Y]):0===Q?z.splice(j-G,G+Q,[-1,P]):z.splice(j-G-Q,G+Q,[-1,P],[1,Y]),j=j-G-Q+(G?1:0)+(Q?1:0)+1):0!==j&&0==z[j-1][0]?(z[j-1][1]+=z[j][1],z.splice(j,1)):j++,Q=0,G=0,P="",Y=""}""===z[z.length-1][1]&&z.pop();var W=!1;for(j=1;j<z.length-1;)0==z[j-1][0]&&0==z[j+1][0]&&(z[j][1].substring(z[j][1].length-z[j-1][1].length)==z[j-1][1]?(z[j][1]=z[j-1][1]+z[j][1].substring(0,z[j][1].length-z[j-1][1].length),z[j+1][1]=z[j-1][1]+z[j+1][1],z.splice(j-1,1),W=!0):z[j][1].substring(0,z[j+1][1].length)==z[j+1][1]&&(z[j-1][1]+=z[j+1][1],z[j][1]=z[j][1].substring(z[j+1][1].length)+z[j+1][1],z.splice(j+1,1),W=!0)),j++;W&&O(z)}(J),null!=D&&(J=function(O,z){var ne=function(W,Me){if(0===Me)return[0,W];for(var Ue=0,ue=0;ue<W.length;ue++){var N=W[ue];if(-1===N[0]||0===N[0]){var _e=Ue+N[1].length;if(Me===_e)return[ue+1,W];if(Me<_e){W=W.slice();var V=Me-Ue,pe=[N[0],N[1].slice(0,V)],Se=[N[0],N[1].slice(V)];return W.splice(ue,1,pe,Se),[ue+1,W]}Ue=_e}}throw new Error("cursor_pos is out of bounds!")}(O,z),j=ne[1],G=ne[0],Q=j[G],P=j[G+1];if(null==Q||0!==Q[0])return O;if(null!=P&&Q[1]+P[1]===P[1]+Q[1])return j.splice(G,2,P,Q),e(j,G,2);if(null!=P&&0===P[1].indexOf(Q[1])){j.splice(G,2,[P[0],Q[1]],[0,Q[1]]);var Y=P[1].slice(Q[1].length);return Y.length>0&&j.splice(G+2,0,[P[0],Y]),e(j,G,3)}return O}(J,D)),function(O){for(var z=!1,ne=function(P){return P.charCodeAt(0)>=56320&&P.charCodeAt(0)<=57343},j=2;j<O.length;j+=1)0===O[j-2][0]&&(G=O[j-2][1]).charCodeAt(G.length-1)>=55296&&G.charCodeAt(G.length-1)<=56319&&-1===O[j-1][0]&&ne(O[j-1][1])&&1===O[j][0]&&ne(O[j][1])&&(z=!0,O[j-1][1]=O[j-2][1].slice(-1)+O[j-1][1],O[j][1]=O[j-2][1].slice(-1)+O[j][1],O[j-2][1]=O[j-2][1].slice(0,-1));var G;if(!z)return O;var Q=[];for(j=0;j<O.length;j+=1)O[j][1].length>0&&Q.push(O[j]);return Q}(J)}function n(B,L,D,w){var I=B.substring(0,D),p=L.substring(0,w),J=B.substring(D),O=L.substring(w),z=u(I,p),ne=u(J,O);return z.concat(ne)}function A(B,L){if(!B||!L||B.charAt(0)!=L.charAt(0))return 0;for(var D=0,w=Math.min(B.length,L.length),I=w,p=0;D<I;)B.substring(p,I)==L.substring(p,I)?p=D=I:w=I,I=Math.floor((w-D)/2+D);return I}function S(B,L){if(!B||!L||B.charAt(B.length-1)!=L.charAt(L.length-1))return 0;for(var D=0,w=Math.min(B.length,L.length),I=w,p=0;D<I;)B.substring(B.length-I,B.length-p)==L.substring(L.length-I,L.length-p)?p=D=I:w=I,I=Math.floor((w-D)/2+D);return I}var Z=u;function e(B,L,D){for(var w=L+D-1;w>=0&&w>=L-1;w--)if(w+1<B.length){var I=B[w],p=B[w+1];I[0]===p[1]&&B.splice(w,2,[I[0],I[1]+p[1]])}return B}Z.INSERT=1,Z.DELETE=-1,Z.EQUAL=0,me.exports=Z},function(me,_,u){"use strict";function n(O){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(z){return typeof z}:function(z){return z&&"function"==typeof Symbol&&z.constructor===Symbol&&z!==Symbol.prototype?"symbol":typeof z})(O)}var A;if(!Object.keys){var S=Object.prototype.hasOwnProperty,Z=Object.prototype.toString,e=u(5),B=Object.prototype.propertyIsEnumerable,L=!B.call({toString:null},"toString"),D=B.call(function(){}
1,"prototype"),w=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],I=function(O){var z=O.constructor;return z&&z.prototype===O},p={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},J=function(){if("undefined"==typeof window)return!1;for(var O in window)try{if(!p["$"+O]&&S.call(window,O)&&null!==window[O]&&"object"===n(window[O]))try{I(window[O])}catch(z){return!0}}catch(z){return!0}return!1}();A=function(O){var z=null!==O&&"object"===n(O),ne="[object Function]"===Z.call(O),j=e(O),G=z&&"[object String]"===Z.call(O),Q=[];if(!z&&!ne&&!j)throw new TypeError("Object.keys called on a non-object");var P=D&≠if(G&&O.length>0&&!S.call(O,0))for(var Y=0;Y<O.length;++Y)Q.push(String(Y));if(j&&O.length>0)for(var W=0;W<O.length;++W)Q.push(String(W));else for(var Me in O)P&&"prototype"===Me||!S.call(O,Me)||Q.push(String(Me));if(L)for(var Ue=function(N){if("undefined"==typeof window||!J)return I(N);try{return I(N)}catch(_e){return!1}}(O),ue=0;ue<w.length;++ue)Ue&&"constructor"===w[ue]||!S.call(O,w[ue])||Q.push(w[ue]);return Q}}me.exports=A},function(me,_,u){"use strict";function n(L){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(D){return typeof D}:function(D){return D&&"function"==typeof Symbol&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D})(L)}var A="function"==typeof Symbol&&"symbol"===n(Symbol.toStringTag),S=Object.prototype.toString,Z=function(L){return!(A&&L&&"object"===n(L)&&Symbol.toStringTag in L)&&"[object Arguments]"===S.call(L)},e=function(L){return!!Z(L)||null!==L&&"object"===n(L)&&"number"==typeof L.length&&L.length>=0&&"[object Array]"!==S.call(L)&&"[object Function]"===S.call(L.callee)},B=function(){return Z(arguments)}();Z.isLegacyArguments=e,me.exports=B?Z:e},function(me,_,u){"use strict";var n=u(0),A=u(6),S=u(8),Z=u(9),e=u(24),B=A(Z(),Object);n(B,{getPolyfill:Z,implementation:S,shim:e}),me.exports=B},function(me,_,u){"use strict";var n="Function.prototype.bind called on incompatible ",A=Array.prototype.slice,S=Object.prototype.toString;me.exports=function(Z){var e=this;if("function"!=typeof e||"[object Function]"!==S.call(e))throw new TypeError(n+e);for(var B,L=A.call(arguments,1),D=function(){if(this instanceof B){var O=e.apply(this,L.concat(A.call(arguments)));return Object(O)===O?O:this}return e.apply(Z,L.concat(A.call(arguments)))},w=Math.max(0,e.length-L.length),I=[],p=0;p<w;p++)I.push("$"+p);if(B=Function("binder","return function ("+I.join(",")+"){ return binder.apply(this,arguments); }")(D),e.prototype){var J=function(){};J.prototype=e.prototype,B.prototype=new J,J.prototype=null}return B}},function(me,_,u){"use strict";function n(j){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(G){return typeof G}:function(G){return G&&"function"==typeof Symbol&&G.constructor===Symbol&&G!==Symbol.prototype?"symbol":typeof G})(j)}var A=TypeError,S=Object.getOwnPropertyDescriptor;if(S)try{S({},"")}catch(j){S=null}var Z=function(){throw new A},e=S?function(){try{return Z}catch(j){try{return S(arguments,"callee").get}catch(G){return Z}}}():Z,B=u(22)(),L=Object.getPrototypeOf||function(j){return j.__proto__},w="undefined"==typeof Uint8Array?void 0:L(Uint8Array),I={"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?void 0:ArrayBuffer,"%ArrayBufferPrototype%":"undefined"==typeof ArrayBuffer?void 0:ArrayBuffer.prototype,"%ArrayIteratorPrototype%":B?L([][Symbol.iterator]()):void 0,"%ArrayPrototype%":Array.prototype,"%ArrayProto_entries%":Array.prototype.entries,"%ArrayProto_forEach%":Array.prototype.forEach,"%ArrayProto_keys%":Array.prototype.keys,"%ArrayProto_values%":Array.prototype.values,"%AsyncFromSyncIteratorPrototype%":void 0,"%AsyncFunction%":void 0,"%AsyncFunctionPrototype%":void 0,"%AsyncGenerator%":void 0,"%AsyncGeneratorFunction%":void 0,"%AsyncGeneratorPrototype%":void 0,"%AsyncIteratorPrototype%":void 0,"%Atomics%":"undefined"==typeof Atomics?void 0:Atomics,"%Boolean%":Boolean,"%BooleanPrototype%":Boolean.prototype,"%DataView%":"undefined"==typeof DataView?void 0:DataView,"%DataViewPrototype%":"undefined"==typeof DataView?void 0:DataView.prototype,"%Date%":Date,"%DatePrototype%":Date.prototype,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%ErrorPrototype%":Error.prototype,"%eval%":eval,"%EvalError%":EvalError,"%EvalErrorPrototype%":EvalError.prototype,"%Float32Array%":"undefined"==typeof Float32Array?void 0:Float32Array,"%Float32ArrayPrototype%":"undefined"==typeof Float32Array?void 0:Float32Array.prototype,"%Float64Array%":"undefined"==typeof Float64Array?void 0:Float64Array,"%Float64ArrayPrototype%":"undefined"==typeof Float64Array?void 0:Float64Array.prototype,"%Function%":Function,"%FunctionPrototype%":Function.prototype,"%Generator%":void 0,"%GeneratorFunction%":void 0,"%GeneratorPrototype%":void 0,"%Int8Array%":"undefined"==typeof Int8Array?void 0:Int8Array,"%Int8ArrayPrototype%":"undefined"==typeof Int8Array?void 0:Int8Array.prototype,"%Int16Array%":"undefined"==typeof Int16Array?void 0:Int16Array,"%Int16ArrayPrototype%":"undefined"==typeof Int16Array?void 0:Int8Array.prototype,"%Int32Array%":"undefined"==typeof Int32Array?void 0:Int32Array,"%Int32ArrayPrototype%":"undefined"==typeof Int32Array?void 0:Int32Array.prototype,"%isFinite%":isFinite,"%isNaN%":isNaN,"%
1IteratorPrototype%":B?L(L([][Symbol.iterator]())):void 0,"%JSON%":"object"===("undefined"==typeof JSON?"undefined":n(JSON))?JSON:void 0,"%JSONParse%":"object"===("undefined"==typeof JSON?"undefined":n(JSON))?JSON.parse:void 0,"%Map%":"undefined"==typeof Map?void 0:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&B?L((new Map)[Symbol.iterator]()):void 0,"%MapPrototype%":"undefined"==typeof Map?void 0:Map.prototype,"%Math%":Math,"%Number%":Number,"%NumberPrototype%":Number.prototype,"%Object%":Object,"%ObjectPrototype%":Object.prototype,"%ObjProto_toString%":Object.prototype.toString,"%ObjProto_valueOf%":Object.prototype.valueOf,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?void 0:Promise,"%PromisePrototype%":"undefined"==typeof Promise?void 0:Promise.prototype,"%PromiseProto_then%":"undefined"==typeof Promise?void 0:Promise.prototype.then,"%Promise_all%":"undefined"==typeof Promise?void 0:Promise.all,"%Promise_reject%":"undefined"==typeof Promise?void 0:Promise.reject,"%Promise_resolve%":"undefined"==typeof Promise?void 0:Promise.resolve,"%Proxy%":"undefined"==typeof Proxy?void 0:Proxy,"%RangeError%":RangeError,"%RangeErrorPrototype%":RangeError.prototype,"%ReferenceError%":ReferenceError,"%ReferenceErrorPrototype%":ReferenceError.prototype,"%Reflect%":"undefined"==typeof Reflect?void 0:Reflect,"%RegExp%":RegExp,"%RegExpPrototype%":RegExp.prototype,"%Set%":"undefined"==typeof Set?void 0:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&B?L((new Set)[Symbol.iterator]()):void 0,"%SetPrototype%":"undefined"==typeof Set?void 0:Set.prototype,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?void 0:SharedArrayBuffer,"%SharedArrayBufferPrototype%":"undefined"==typeof SharedArrayBuffer?void 0:SharedArrayBuffer.prototype,"%String%":String,"%StringIteratorPrototype%":B?L(""[Symbol.iterator]()):void 0,"%StringPrototype%":String.prototype,"%Symbol%":B?Symbol:void 0,"%SymbolPrototype%":B?Symbol.prototype:void 0,"%SyntaxError%":SyntaxError,"%SyntaxErrorPrototype%":SyntaxError.prototype,"%ThrowTypeError%":e,"%TypedArray%":w,"%TypedArrayPrototype%":w?w.prototype:void 0,"%TypeError%":A,"%TypeErrorPrototype%":A.prototype,"%Uint8Array%":"undefined"==typeof Uint8Array?void 0:Uint8Array,"%Uint8ArrayPrototype%":"undefined"==typeof Uint8Array?void 0:Uint8Array.prototype,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,"%Uint8ClampedArrayPrototype%":"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray.prototype,"%Uint16Array%":"undefined"==typeof Uint16Array?void 0:Uint16Array,"%Uint16ArrayPrototype%":"undefined"==typeof Uint16Array?void 0:Uint16Array.prototype,"%Uint32Array%":"undefined"==typeof Uint32Array?void 0:Uint32Array,"%Uint32ArrayPrototype%":"undefined"==typeof Uint32Array?void 0:Uint32Array.prototype,"%URIError%":URIError,"%URIErrorPrototype%":URIError.prototype,"%WeakMap%":"undefined"==typeof WeakMap?void 0:WeakMap,"%WeakMapPrototype%":"undefined"==typeof WeakMap?void 0:WeakMap.prototype,"%WeakSet%":"undefined"==typeof WeakSet?void 0:WeakSet,"%WeakSetPrototype%":"undefined"==typeof WeakSet?void 0:WeakSet.prototype},p=u(2).call(Function.call,String.prototype.replace),J=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,O=/\\(\\)?/g,z=function(j){var G=[];return p(j,J,function(Q,P,Y,W){G[G.length]=Y?p(W,O,"$1"):P||Q}),G},ne=function(j,G){if(!(j in I))throw new SyntaxError("intrinsic "+j+" does not exist!");if(void 0===I[j]&&!G)throw new A("intrinsic "+j+" exists, but is not available. Please file an issue!");return I[j]};me.exports=function(j,G){if("string"!=typeof j||0===j.length)throw new TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof G)throw new TypeError('"allowMissing" argument must be a boolean');for(var Q=z(j),P=ne("%"+(Q.length>0?Q[0]:"")+"%",G),Y=1;Y<Q.length;Y+=1)if(null!=P)if(S&&Y+1>=Q.length){var W=S(P,Q[Y]);if(!G&&!(Q[Y]in P))throw new A("base intrinsic for "+j+" exists, but the property is not available.");P=W?W.get||W.value:P[Q[Y]]}else P=P[Q[Y]];return P}},function(me,_,u){"use strict";(function(n){function A(e){return(A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(B){return typeof B}:function(B){return B&&"function"==typeof Symbol&&B.constructor===Symbol&&B!==Symbol.prototype?"symbol":typeof B})(e)}var S=n.Symbol,Z=u(23);me.exports=function(){return"function"==typeof S&&"function"==typeof Symbol&&"symbol"===A(S("foo"))&&"symbol"===A(Symbol("bar"))&&Z()}}).call(this,u(7))},function(me,_,u){"use strict";function n(A){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(S){return typeof S}:function(S){return S&&"function"==typeof Symbol&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S})(A)}me.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"===n(Symbol.iterator))return!0;var A={},S=Symbol("test"),Z=Object(S);if("string"==typeof S||"[object Symbol]"!==Object.prototype.toString.call(S)||"[object Symbol]"!==Object.prototype.toString.call(Z))return!1;
1for(S in A[S]=42,A)return!1;if("function"==typeof Object.keys&&0!==Object.keys(A).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(A).length)return!1;var e=Object.getOwnPropertySymbols(A);if(1!==e.length||e[0]!==S||!Object.prototype.propertyIsEnumerable.call(A,S))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var B=Object.getOwnPropertyDescriptor(A,S);if(42!==B.value||!0!==B.enumerable)return!1}return!0}},function(me,_,u){"use strict";var n=u(9),A=u(0);me.exports=function(){var S=n();return A(Object,{is:S},{is:function(){return Object.is!==S}}),S}},function(me,_,u){"use strict";function n(L){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(D){return typeof D}:function(D){return D&&"function"==typeof Symbol&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D})(L)}var A=u(26),S=RegExp.prototype.exec,Z=Object.getOwnPropertyDescriptor,e=Object.prototype.toString,B="function"==typeof Symbol&&"symbol"===n(Symbol.toStringTag);me.exports=function(L){if(!L||"object"!==n(L))return!1;if(!B)return"[object RegExp]"===e.call(L);var D=Z(L,"lastIndex");return!(!D||!A(D,"value"))&&function(w){try{var I=w.lastIndex;return w.lastIndex=0,S.call(w),!0}catch(p){return!1}finally{w.lastIndex=I}}(L)}},function(me,_,u){"use strict";var n=u(2);me.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},function(me,_,u){"use strict";var n=u(0),A=u(6),S=u(10),Z=u(11),e=u(28),B=A(S);n(B,{getPolyfill:Z,implementation:S,shim:e}),me.exports=B},function(me,_,u){"use strict";var n=u(0).supportsDescriptors,A=u(11),S=Object.getOwnPropertyDescriptor,Z=Object.defineProperty,e=TypeError,B=Object.getPrototypeOf,L=/a/;me.exports=function(){if(!n||!B)throw new e("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var D=A(),w=B(L),I=S(w,"flags");return I&&I.get===D||Z(w,"flags",{configurable:!0,enumerable:!1,get:D}),D}},function(me,_,u){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(B){return typeof B}:function(B){return B&&"function"==typeof Symbol&&B.constructor===Symbol&&B!==Symbol.prototype?"symbol":typeof B})(e)}var A=Date.prototype.getDay,S=Object.prototype.toString,Z="function"==typeof Symbol&&"symbol"===n(Symbol.toStringTag);me.exports=function(e){return"object"===n(e)&&null!==e&&(Z?function(B){try{return A.call(B),!0}catch(L){return!1}}(e):"[object Date]"===S.call(e))}},function(me,_,u){function n(B){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(L){return typeof L}:function(L){return L&&"function"==typeof Symbol&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L})(B)}var A=u(3),S=u(12),Z={attributes:{compose:function(B,L,D){"object"!==n(B)&&(B={}),"object"!==n(L)&&(L={});var w=S(!0,{},L);for(var I in D||(w=Object.keys(w).reduce(function(p,J){return null!=w[J]&&(p[J]=w[J]),p},{})),B)void 0!==B[I]&&void 0===L[I]&&(w[I]=B[I]);return Object.keys(w).length>0?w:void 0},diff:function(B,L){"object"!==n(B)&&(B={}),"object"!==n(L)&&(L={});var D=Object.keys(B).concat(Object.keys(L)).reduce(function(w,I){return A(B[I],L[I])||(w[I]=void 0===L[I]?null:L[I]),w},{});return Object.keys(D).length>0?D:void 0},transform:function(B,L,D){if("object"!==n(B))return L;if("object"===n(L)){if(!D)return L;var w=Object.keys(L).reduce(function(I,p){return void 0===B[p]&&(I[p]=L[p]),I},{});return Object.keys(w).length>0?w:void 0}}},iterator:function(B){return new e(B)},length:function(B){return"number"==typeof B.delete?B.delete:"number"==typeof B.retain?B.retain:"string"==typeof B.insert?B.insert.length:1}};function e(B){this.ops=B,this.index=0,this.offset=0}e.prototype.hasNext=function(){return this.peekLength()<1/0},e.prototype.next=function(B){B||(B=1/0);var L=this.ops[this.index];if(L){var D=this.offset,w=Z.length(L);if(B>=w-D?(B=w-D,this.index+=1,this.offset=0):this.offset+=B,"number"==typeof L.delete)return{delete:B};var I={};return L.attributes&&(I.attributes=L.attributes),"number"==typeof L.retain?I.retain=B:I.insert="string"==typeof L.insert?L.insert.substr(D,B):L.insert,I}return{retain:1/0}},e.prototype.peek=function(){return this.ops[this.index]},e.prototype.peekLength=function(){return this.ops[this.index]?Z.length(this.ops[this.index])-this.offset:1/0}
1,e.prototype.peekType=function(){return this.ops[this.index]?"number"==typeof this.ops[this.index].delete?"delete":"number"==typeof this.ops[this.index].retain?"retain":"insert":"retain"},e.prototype.rest=function(){if(this.hasNext()){if(0===this.offset)return this.ops.slice(this.index);var B=this.offset,L=this.index,D=this.next(),w=this.ops.slice(this.index);return this.offset=B,this.index=L,[D].concat(w)}return[]},me.exports=Z},function(me,_,u){"use strict";function n(P){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Y){return typeof Y}:function(Y){return Y&&"function"==typeof Symbol&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y})(P)}var A=u(32),S=u(34);function Z(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}_.parse=Q,_.resolve=function(P,Y){return Q(P,!1,!0).resolve(Y)},_.resolveObject=function(P,Y){return P?Q(P,!1,!0).resolveObject(Y):Y},_.format=function(P){return S.isString(P)&&(P=Q(P)),P instanceof Z?P.format():Z.prototype.format.call(P)},_.Url=Z;var e=/^([a-z0-9.+-]+:)/i,B=/:[0-9]*$/,L=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,D=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),w=["'"].concat(D),I=["%","/","?",";","#"].concat(w),p=["/","?","#"],J=/^[+a-z0-9A-Z_-]{0,63}$/,O=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,z={javascript:!0,"javascript:":!0},ne={javascript:!0,"javascript:":!0},j={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},G=u(35);function Q(P,Y,W){if(P&&S.isObject(P)&&P instanceof Z)return P;var Me=new Z;return Me.parse(P,Y,W),Me}Z.prototype.parse=function(P,Y,W){if(!S.isString(P))throw new TypeError("Parameter 'url' must be a string, not "+n(P));var Me=P.indexOf("?"),Ue=-1!==Me&&Me<P.indexOf("#")?"?":"#",ue=P.split(Ue);ue[0]=ue[0].replace(/\\/g,"/");var N=P=ue.join(Ue);if(N=N.trim(),!W&&1===P.split("#").length){var _e=L.exec(N);if(_e)return this.path=N,this.href=N,this.pathname=_e[1],_e[2]?(this.search=_e[2],this.query=Y?G.parse(this.search.substr(1)):this.search.substr(1)):Y&&(this.search="",this.query={}),this}var V=e.exec(N);if(V){var pe=(V=V[0]).toLowerCase();this.protocol=pe,N=N.substr(V.length)}if(W||V||N.match(/^\/\/[^@\/]+@[^@\/]+/)){var Se="//"===N.substr(0,2);!Se||V&&ne[V]||(N=N.substr(2),this.slashes=!0)}if(!ne[V]&&(Se||V&&!j[V])){for(var Be,xe,ze=-1,ce=0;ce<p.length;ce++)-1!==(ae=N.indexOf(p[ce]))&&(-1===ze||ae<ze)&&(ze=ae);for(-1!==(xe=-1===ze?N.lastIndexOf("@"):N.lastIndexOf("@",ze))&&(Be=N.slice(0,xe),N=N.slice(xe+1),this.auth=decodeURIComponent(Be)),ze=-1,ce=0;ce<I.length;ce++){var ae;-1!==(ae=N.indexOf(I[ce]))&&(-1===ze||ae<ze)&&(ze=ae)}-1===ze&&(ze=N.length),this.host=N.slice(0,ze),N=N.slice(ze),this.parseHost(),this.hostname=this.hostname||"";var Ie="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!Ie)for(var Ne=this.hostname.split(/\./),Pe=(ce=0,Ne.length);ce<Pe;ce++){var be=Ne[ce];if(be&&!be.match(J)){for(var Ze="",$e=0,je=be.length;$e<je;$e++)be.charCodeAt($e)>127?Ze+="x":Ze+=be[$e];if(!Ze.match(J)){var Ye=Ne.slice(0,ce),he=Ne.slice(ce+1),Te=be.match(O);Te&&(Ye.push(Te[1]),he.unshift(Te[2])),he.length&&(N="/"+he.join(".")+N),this.hostname=Ye.join(".");break}}}this.hostname=this.hostname.length>255?"":this.hostname.toLowerCase(),Ie||(this.hostname=A.toASCII(this.hostname));var Re=this.port?":"+this.port:"";this.host=(this.hostname||"")+Re,this.href+=this.host,Ie&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==N[0]&&(N="/"+N))}if(!z[pe])for(ce=0,Pe=w.length;ce<Pe;ce++){var k=w[ce];if(-1!==N.indexOf(k)){var $=encodeURIComponent(k);$===k&&($=escape(k)),N=N.split(k).join($)}}var T=N.indexOf("#");-1!==T&&(this.hash=N.substr(T),N=N.slice(0,T));var X=N.indexOf("?");return-1!==X?(this.search=N.substr(X),this.query=N.substr(X+1),Y&&(this.query=G.parse(this.query)),N=N.slice(0,X)):Y&&(this.search="",this.query={}),N&&(this.pathname=N),j[pe]&&this.hostname&&!this.pathname&&(this.pathname="/"),(this.pathname||this.search)&&(this.path=(Re=this.pathname||"")+(this.search||"")),this.href=this.format(),this},Z.prototype.format=function(){var P=this.auth||"";P&&(P=(P=encodeURIComponent(P)).replace(/%3A/i,":"),P+="@");var Y=this.protocol||"",W=this.pathname||"",Me=this.hash||"",Ue=!1,ue="";this.host?Ue=P+this.host:this.hostname&&(Ue=P+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(Ue+=":"+this.port)),this.query&&S.isObject(this.query)&&Object.keys(this.query).length&&(ue=G.stringify(this.query));var N=this.search||ue&&"?"+ue||"";return Y&&":"!==Y.substr(-1)&&(Y+=":"),this.slashes||(!Y||j[Y])&&!1!==Ue?(Ue="//"+(Ue||""),W&&"/"!==W.charAt(0)&&(W="/"+W)):Ue||(Ue=""),Me&&"#"!==Me.charAt(0)&&(Me="#"+Me),N&&"?"!==N.
1charAt(0)&&(N="?"+N),Y+Ue+(W=W.replace(/[?#]/g,function(_e){return encodeURIComponent(_e)}))+(N=N.replace("#","%23"))+Me},Z.prototype.resolve=function(P){return this.resolveObject(Q(P,!1,!0)).format()},Z.prototype.resolveObject=function(P){if(S.isString(P)){var Y=new Z;Y.parse(P,!1,!0),P=Y}for(var W=new Z,Me=Object.keys(this),Ue=0;Ue<Me.length;Ue++){var ue=Me[Ue];W[ue]=this[ue]}if(W.hash=P.hash,""===P.href)return W.href=W.format(),W;if(P.slashes&&!P.protocol){for(var N=Object.keys(P),_e=0;_e<N.length;_e++){var V=N[_e];"protocol"!==V&&(W[V]=P[V])}return j[W.protocol]&&W.hostname&&!W.pathname&&(W.path=W.pathname="/"),W.href=W.format(),W}if(P.protocol&&P.protocol!==W.protocol){if(!j[P.protocol]){for(var pe=Object.keys(P),Se=0;Se<pe.length;Se++){var Be=pe[Se];W[Be]=P[Be]}return W.href=W.format(),W}if(W.protocol=P.protocol,P.host||ne[P.protocol])W.pathname=P.pathname;else{for(var xe=(P.pathname||"").split("/");xe.length&&!(P.host=xe.shift()););P.host||(P.host=""),P.hostname||(P.hostname=""),""!==xe[0]&&xe.unshift(""),xe.length<2&&xe.unshift(""),W.pathname=xe.join("/")}return W.search=P.search,W.query=P.query,W.host=P.host||"",W.auth=P.auth,W.hostname=P.hostname||P.host,W.port=P.port,(W.pathname||W.search)&&(W.path=(W.pathname||"")+(W.search||"")),W.slashes=W.slashes||P.slashes,W.href=W.format(),W}var ae=W.pathname&&"/"===W.pathname.charAt(0),Ie=P.host||P.pathname&&"/"===P.pathname.charAt(0),Ne=Ie||ae||W.host&&P.pathname,Pe=Ne,be=W.pathname&&W.pathname.split("/")||[],Ze=(xe=P.pathname&&P.pathname.split("/")||[],W.protocol&&!j[W.protocol]);if(Ze&&(W.hostname="",W.port=null,W.host&&(""===be[0]?be[0]=W.host:be.unshift(W.host)),W.host="",P.protocol&&(P.hostname=null,P.port=null,P.host&&(""===xe[0]?xe[0]=P.host:xe.unshift(P.host)),P.host=null),Ne=Ne&&(""===xe[0]||""===be[0])),Ie)W.host=P.host||""===P.host?P.host:W.host,W.hostname=P.hostname||""===P.hostname?P.hostname:W.hostname,W.search=P.search,W.query=P.query,be=xe;else if(xe.length)be||(be=[]),be.pop(),be=be.concat(xe),W.search=P.search,W.query=P.query;else if(!S.isNullOrUndefined(P.search))return Ze&&(W.hostname=W.host=be.shift(),(Te=!!(W.host&&W.host.indexOf("@")>0)&&W.host.split("@"))&&(W.auth=Te.shift(),W.host=W.hostname=Te.shift())),W.search=P.search,W.query=P.query,S.isNull(W.pathname)&&S.isNull(W.search)||(W.path=(W.pathname?W.pathname:"")+(W.search?W.search:"")),W.href=W.format(),W;if(!be.length)return W.pathname=null,W.path=W.search?"/"+W.search:null,W.href=W.format(),W;for(var $e=be.slice(-1)[0],je=(W.host||P.host||be.length>1)&&("."===$e||".."===$e)||""===$e,Ye=0,he=be.length;he>=0;he--)"."===($e=be[he])?be.splice(he,1):".."===$e?(be.splice(he,1),Ye++):Ye&&(be.splice(he,1),Ye--);if(!Ne&&!Pe)for(;Ye--;Ye)be.unshift("..");!Ne||""===be[0]||be[0]&&"/"===be[0].charAt(0)||be.unshift(""),je&&"/"!==be.join("/").substr(-1)&&be.push("");var Te,Re=""===be[0]||be[0]&&"/"===be[0].charAt(0);return Ze&&(W.hostname=W.host=Re?"":be.length?be.shift():"",(Te=!!(W.host&&W.host.indexOf("@")>0)&&W.host.split("@"))&&(W.auth=Te.shift(),W.host=W.hostname=Te.shift())),(Ne=Ne||W.host&&be.length)&&!Re&&be.unshift(""),be.length?W.pathname=be.join("/"):(W.pathname=null,W.path=null),S.isNull(W.pathname)&&S.isNull(W.search)||(W.path=(W.pathname?W.pathname:"")+(W.search?W.search:"")),W.auth=P.auth||W.auth,W.slashes=W.slashes||P.slashes,W.href=W.format(),W},Z.prototype.parseHost=function(){var P=this.host,Y=B.exec(P);Y&&(":"!==(Y=Y[0])&&(this.port=Y.substr(1)),P=P.substr(0,P.length-Y.length)),P&&(this.hostname=P)}},function(me,_,u){(function(n,A){var S;function Z(e){return(Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(B){return typeof B}:function(B){return B&&"function"==typeof Symbol&&B.constructor===Symbol&&B!==Symbol.prototype?"symbol":typeof B})(e)}!function(e){var B="object"==Z(_)&&_&&!_.nodeType&&_,L="object"==Z(n)&&n&&!n.nodeType&&n,D="object"==(void 0===A?"undefined":Z(A))&&A;D.global!==D&&D.window!==D&&D.self!==D||(e=D);var w,I,p=2147483647,J=/^xn--/,O=/[^\x20-\x7E]/,z=/[\x2E\u3002\uFF0E\uFF61]/g,ne={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >
1= 0x80 (not a basic code point)","invalid-input":"Invalid input"},j=Math.floor,G=String.fromCharCode;function Q(V){throw new RangeError(ne[V])}function P(V,pe){for(var Se=V.length,Be=[];Se--;)Be[Se]=pe(V[Se]);return Be}function Y(V,pe){var Se=V.split("@"),Be="";return Se.length>1&&(Be=Se[0]+"@",V=Se[1]),Be+P((V=V.replace(z,".")).split("."),pe).join(".")}function W(V){for(var pe,Se,Be=[],xe=0,ze=V.length;xe<ze;)(pe=V.charCodeAt(xe++))>=55296&&pe<=56319&&xe<ze?56320==(64512&(Se=V.charCodeAt(xe++)))?Be.push(((1023&pe)<<10)+(1023&Se)+65536):(Be.push(pe),xe--):Be.push(pe);return Be}function Me(V){return P(V,function(pe){var Se="";return pe>65535&&(Se+=G((pe-=65536)>>>10&1023|55296),pe=56320|1023&pe),Se+G(pe)}).join("")}function Ue(V,pe){return V+22+75*(V<26)-((0!=pe)<<5)}function ue(V,pe,Se){var Be=0;for(V=Se?j(V/700):V>>1,V+=j(V/pe);V>455;Be+=36)V=j(V/35);return j(Be+36*V/(V+38))}function N(V){var pe,Se,Be,xe,ze,ce,ae,Ie,Ne,Pe,be,Ze=[],$e=V.length,je=0,Ye=128,he=72;for((Se=V.lastIndexOf("-"))<0&&(Se=0),Be=0;Be<Se;++Be)V.charCodeAt(Be)>=128&&Q("not-basic"),Ze.push(V.charCodeAt(Be));for(xe=Se>0?Se+1:0;xe<$e;){for(ze=je,ce=1,ae=36;xe>=$e&&Q("invalid-input"),((Ie=(be=V.charCodeAt(xe++))-48<10?be-22:be-65<26?be-65:be-97<26?be-97:36)>=36||Ie>j((p-je)/ce))&&Q("overflow"),je+=Ie*ce,!(Ie<(Ne=ae<=he?1:ae>=he+26?26:ae-he));ae+=36)ce>j(p/(Pe=36-Ne))&&Q("overflow"),ce*=Pe;he=ue(je-ze,pe=Ze.length+1,0==ze),j(je/pe)>p-Ye&&Q("overflow"),Ye+=j(je/pe),je%=pe,Ze.splice(je++,0,Ye)}return Me(Ze)}function _e(V){var pe,Se,Be,xe,ze,ce,ae,Ie,Ne,Pe,be,Ze,$e,je,Ye,he=[];for(Ze=(V=W(V)).length,pe=128,Se=0,ze=72,ce=0;ce<Ze;++ce)(be=V[ce])<128&&he.push(G(be));for(Be=xe=he.length,xe&&he.push("-");Be<Ze;){for(ae=p,ce=0;ce<Ze;++ce)(be=V[ce])>=pe&&be<ae&&(ae=be);for(ae-pe>j((p-Se)/($e=Be+1))&&Q("overflow"),Se+=(ae-pe)*$e,pe=ae,ce=0;ce<Ze;++ce)if((be=V[ce])<pe&&++Se>p&&Q("overflow"),be==pe){for(Ie=Se,Ne=36;!(Ie<(Pe=Ne<=ze?1:Ne>=ze+26?26:Ne-ze));Ne+=36)he.push(G(Ue(Pe+(Ye=Ie-Pe)%(je=36-Pe),0))),Ie=j(Ye/je);he.push(G(Ue(Ie,0))),ze=ue(Se,$e,Be==xe),Se=0,++Be}++Se,++pe}return he.join("")}if(w={version:"1.4.1",ucs2:{decode:W,encode:Me},decode:N,encode:_e,toASCII:function(V){return Y(V,function(pe){return O.test(pe)?"xn--"+_e(pe):pe})},toUnicode:function(V){return Y(V,function(pe){return J.test(pe)?N(pe.slice(4).toLowerCase()):pe})}},"object"==Z(u(13))&&u(13))void 0===(S=function(){return w}.call(_,u,_,n))||(n.exports=S);else if(B&&L)if(n.exports==B)L.exports=w;else for(I in w)w.hasOwnProperty(I)&&(B[I]=w[I]);else e.punycode=w}(this)}).call(this,u(33)(me),u(7))},function(me,_){me.exports=function(u){return u.webpackPolyfill||(u.deprecate=function(){},u.paths=[],u.children||(u.children=[]),Object.defineProperty(u,"loaded",{enumerable:!0,get:function(){return u.l}}),Object.defineProperty(u,"id",{enumerable:!0,get:function(){return u.i}}),u.webpackPolyfill=1),u}},function(me,_,u){"use strict";function n(A){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(S){return typeof S}:function(S){return S&&"function"==typeof Symbol&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S})(A)}me.exports={isString:function(A){return"string"==typeof A},isObject:function(A){return"object"===n(A)&&null!==A},isNull:function(A){return null===A},isNullOrUndefined:function(A){return null==A}}},function(me,_,u){"use strict";_.decode=_.parse=u(36),_.encode=_.stringify=u(37)},function(me,_,u){"use strict";function n(S,Z){return Object.prototype.hasOwnProperty.call(S,Z)}me.exports=function(S,Z,e,B){e=e||"=";var L={};if("string"!=typeof S||0===S.length)return L;var D=/\+/g;S=S.split(Z=Z||"&");var w=1e3;B&&"number"==typeof B.maxKeys&&(w=B.maxKeys);var I=S.length;w>0&&I>w&&(I=w);for(var p=0;p<I;++p){var J,O,z,ne,j=S[p].replace(D,"%20"),G=j.indexOf(e);G>=0?(J=j.substr(0,G),O=j.substr(G+1)):(J=j,O=""),z=decodeURIComponent(J),ne=decodeURIComponent(O),n(L,z)?A(L[z])?L[z].push(ne):L[z]=[L[z],ne]:L[z]=ne}return L};var A=Array.isArray||function(S){return"[object Array]"===Object.prototype.toString.call(S)}},function(me,_,u){"use strict";function n(B){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(L){return typeof L}:function(L){return L&&"function"==typeof Symbol&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L})(B)}var A=function(B){switch(n(B)){case"string":return B;case"boolean":return B?"true":"false";case"number":return isFinite(B)?B:"";default:return""}};me.exports=function(B,L,D,w){return L=L||"&",D=D||"=",null===B&&(B=void 0),"object"===n(B)?Z(e(B),function(I){var p=encodeURIComponent(A(I))+D;return S(B[I])?Z(B[I],function(J){return p+encodeURIComponent(A(J))}).join(L):p+encodeURIComponent(A(B[I]))}).join(L):w?encodeURIComponent(A(w))+D+encodeURIComponent(A(B)):""};var S=Array.isArray||function(B){return"[object Array]"===Object.prototype.toString.call(B)};function Z(B,L){if(B.map)return B.map(L);for(var D=[],w=0;w<B.length;
1w++)D.push(L(B[w],w));return D}var e=Object.keys||function(B){var L=[];for(var D in B)Object.prototype.hasOwnProperty.call(B,D)&&L.push(D);return L}}])},79253:(It,me,_)=>{"use strict";var u=_(89971),n=_.n(u);function A(ue,N){if(!(ue instanceof N))throw new TypeError("Cannot call a class as a function")}function S(ue,N){for(var _e=0;_e<N.length;_e++){var V=N[_e];V.enumerable=V.enumerable||!1,V.configurable=!0,"value"in V&&(V.writable=!0),Object.defineProperty(ue,V.key,V)}}function Z(ue,N,_e){return N&&S(ue.prototype,N),_e&&S(ue,_e),ue}function e(){return e=Object.assign||function(ue){for(var N=1;N<arguments.length;N++){var _e=arguments[N];for(var V in _e)Object.prototype.hasOwnProperty.call(_e,V)&&(ue[V]=_e[V])}return ue},e.apply(this,arguments)}function L(ue){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(_e){return _e.__proto__||Object.getPrototypeOf(_e)})(ue)}function D(ue,N){return(D=Object.setPrototypeOf||function(V,pe){return V.__proto__=pe,V})(ue,N)}function p(ue,N){return!N||"object"!=typeof N&&"function"!=typeof N?function I(ue){if(void 0===ue)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ue}(ue):N}function z(ue,N,_e){return z="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(pe,Se,Be){var xe=function O(ue,N){for(;!Object.prototype.hasOwnProperty.call(ue,N)&&null!==(ue=L(ue)););return ue}(pe,Se);if(xe){var ze=Object.getOwnPropertyDescriptor(xe,Se);return ze.get?ze.get.call(Be):ze.value}},z(ue,N,_e||ue)}function j(ue,N,_e){var V=ue;return Object.keys(N).forEach(function(pe){_e.indexOf(pe)>-1?V.dataset[pe]=N[pe]:delete V.dataset[pe]}),V}var W=function(ue){!function B(ue,N){if("function"!=typeof N&&null!==N)throw new TypeError("Super expression must either be null or a function");ue.prototype=Object.create(N&&N.prototype,{constructor:{value:ue,writable:!0,configurable:!0}}),N&&D(ue,N)}(_e,ue);var N=function J(ue){var N=function w(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(ue){return!1}}();return function(){var pe,V=L(ue);if(N){var Se=L(this).constructor;pe=Reflect.construct(V,arguments,Se)}else pe=V.apply(this,arguments);return p(this,pe)}}(_e);function _e(){return A(this,_e),N.apply(this,arguments)}return Z(_e,null,[{key:"create",value:function(pe){var Se=z(L(_e),"create",this).call(this),Be=document.createElement("span");return Be.className="ql-mention-denotation-char",Be.innerHTML=pe.denotationChar,Se.appendChild(Be),Se.innerHTML+=pe.value,_e.setDataValues(Se,pe)}},{key:"setDataValues",value:function(pe,Se){var Be=pe;return Object.keys(Se).forEach(function(xe){Be.dataset[xe]=Se[xe]}),Be}},{key:"value",value:function(pe){return pe.dataset}}]),_e}(n().import("blots/embed"));W.blotName="mention",W.tagName="span",W.className="mention",n().register(W);var Me=function(){function ue(N,_e){A(this,ue),this.isOpen=!1,this.itemIndex=0,this.mentionCharPos=null,this.cursorPos=null,this.values=[],this.suspendMouseEnter=!1,this.quill=N,this.options={source:null,renderItem:function(pe){return"".concat(pe.value)},onSelect:function(pe,Se){Se(pe)},mentionDenotationChars:["@"],showDenotationChar:!0,allowedChars:/^[a-zA-Z0-9_]*$/,minChars:0,maxChars:31,offsetTop:2,offsetLeft:0,isolateCharacter:!1,fixMentionsToQuill:!1,defaultMenuOrientation:"bottom",blotName:"mention",dataAttributes:["id","value","denotationChar","link","target"],linkTarget:"_blank",onOpen:function(){return!0},onClose:function(){return!0},listItemClass:"ql-mention-list-item",mentionContainerClass:"ql-mention-list-container",mentionListClass:"ql-mention-list",spaceAfterInsert:!0},e(this.options,_e,{dataAttributes:Array.isArray(_e.dataAttributes)?this.options.dataAttributes.concat(_e.dataAttributes):this.options.dataAttributes}),this.mentionContainer=document.createElement("div"),this.mentionContainer.className=this.options.mentionContainerClass?this.options.mentionContainerClass:"",this.mentionContainer.style.cssText="display: none; position: absolute;",this.mentionContainer.onmousemove=this.onContainerMouseMove.bind(this),this.options.fixMentionsToQuill&&(this.mentionContainer.style.width="auto"),this.mentionList=document.createElement("ul"),this.mentionList.className=this.options.mentionListClass?this.options.mentionListClass:"",this.mentionContainer.appendChild(this.mentionList),this.quill.container.appendChild(this.mentionContainer),N.on("text-change",this.onTextChange.bind(this)),N.on("selection-change",this.onSelectionChange.bind(this)),N.keyboard.addBinding({key:9},this.selectHandler.bind(this)),N.keyboard.bindings[9].unshift(N.keyboard.bindings[9].pop()),N.keyboard.addBinding({key:13},this.selectHandler.bind(this)),N.keyboard.bindings[13].unshift(N.keyboard.bindings[13].pop()),N.keyboard.addBinding({key:27},this.escapeHandler.bind(this)),N.keyboard.addBinding({key:38},this.upHandler.bind(this)),N.keyboard.addBinding({key:40},this.downHandler.bind(this))}return Z(ue,[{key:"selectHandler",value:function(){return!this.isOpen||(this.selectItem(),!1)}},{key:"escapeHandler",value:function(){return!this.isOpen||(this.hideMentionList(),!1)}},{key:"upHandler",value:function(){return!this.isOpen||(this.prevItem(),!1)}},{key:"downHandler",value:function(){return!this.isOpen||(this.nextItem(),!1)}},{key:"showMentionList",value:function(){this.mentionContainer.style.visibility="hidden",this.mentionContainer.style.display="",this.setMentionContainerPosition(),this.setIsOpen(!0)}},{key:"hideMentionList",value:function(){this.mentionContainer.style.display="none",this.setIsOpen(!1)}},{key:"highlightItem",value:function(){for(var _e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],V=0;V<this.mentionList.childNodes.length;V+=1)this.mentionList.childNodes[V].classList.remove("selected");if(this.mentionList.childNodes[this.itemIndex].classList.add("selected"),_e){var pe=this.mentionList.childNodes[this.itemIndex].offsetHeight,Se=this.itemIndex*pe,Be
1=this.mentionContainer.scrollTop,xe=Be+this.mentionContainer.offsetHeight;Se<Be?this.mentionContainer.scrollTop=Se:Se>xe-pe&&(this.mentionContainer.scrollTop+=Se-xe+pe)}}},{key:"getItemData",value:function(){var _e=this.mentionList.childNodes[this.itemIndex].dataset.link,pe=this.mentionList.childNodes[this.itemIndex].dataset.target;return void 0!==_e&&(this.mentionList.childNodes[this.itemIndex].dataset.value='<a href="'.concat(_e,'" target=').concat(pe||this.options.linkTarget,">").concat(this.mentionList.childNodes[this.itemIndex].dataset.value)),this.mentionList.childNodes[this.itemIndex].dataset}},{key:"onContainerMouseMove",value:function(){this.suspendMouseEnter=!1}},{key:"selectItem",value:function(){var _e=this,V=this.getItemData();this.options.onSelect(V,function(pe){_e.insertItem(pe)}),this.hideMentionList()}},{key:"insertItem",value:function(_e){var V=_e;if(null!==V){this.options.showDenotationChar||(V.denotationChar="");var pe=this.mentionCharPos;this.quill.deleteText(this.mentionCharPos,this.cursorPos-this.mentionCharPos,n().sources.USER),this.quill.insertEmbed(pe,this.options.blotName,V,n().sources.USER),this.options.spaceAfterInsert?(this.quill.insertText(pe+1," ",n().sources.USER),this.quill.setSelection(pe+2,n().sources.USER)):this.quill.setSelection(pe+1,n().sources.USER),this.hideMentionList()}}},{key:"onItemMouseEnter",value:function(_e){if(!this.suspendMouseEnter){var V=Number(_e.target.dataset.index);!Number.isNaN(V)&&V!==this.itemIndex&&(this.itemIndex=V,this.highlightItem(!1))}}},{key:"onItemClick",value:function(_e){_e.preventDefault(),_e.stopImmediatePropagation(),this.itemIndex=_e.currentTarget.dataset.index,this.highlightItem(),this.selectItem()}},{key:"renderList",value:function(_e,V,pe){if(V&&V.length>0){this.values=V,this.mentionList.innerHTML="";for(var Se=0;Se<V.length;Se+=1){var Be=document.createElement("li");Be.className=this.options.listItemClass?this.options.listItemClass:"",Be.dataset.index=Se,Be.innerHTML=this.options.renderItem(V[Se],pe),Be.onmouseenter=this.onItemMouseEnter.bind(this),Be.dataset.denotationChar=_e,Be.onclick=this.onItemClick.bind(this),this.mentionList.appendChild(j(Be,V[Se],this.options.dataAttributes))}this.itemIndex=0,this.highlightItem(),this.showMentionList()}else this.hideMentionList()}},{key:"nextItem",value:function(){this.itemIndex=(this.itemIndex+1)%this.values.length,this.suspendMouseEnter=!0,this.highlightItem()}},{key:"prevItem",value:function(){this.itemIndex=(this.itemIndex+this.values.length-1)%this.values.length,this.suspendMouseEnter=!0,this.highlightItem()}},{key:"containerBottomIsNotVisible",value:function(_e,V){return _e+this.mentionContainer.offsetHeight+V.top>window.pageYOffset+window.innerHeight}},{key:"containerRightIsNotVisible",value:function(_e,V){return!this.options.fixMentionsToQuill&&_e+this.mentionContainer.offsetWidth+V.left>window.pageXOffset+document.documentElement.clientWidth}},{key:"setIsOpen",value:function(_e){this.isOpen!==_e&&(_e?this.options.onOpen():this.options.onClose(),this.isOpen=_e)}},{key:"setMentionContainerPosition",value:function(){var _e=this,V=this.quill.container.getBoundingClientRect(),pe=this.quill.getBounds(this.mentionCharPos),Se=this.mentionContainer.offsetHeight,Be=this.options.offsetTop,xe=this.options.offsetLeft;if(this.options.fixMentionsToQuill?this.mentionContainer.style.right="".concat(0,"px"):xe+=pe.left,this.containerRightIsNotVisible(xe,V)&&(xe=V.width-(this.mentionContainer.offsetWidth+this.options.offsetLeft)),"top"===this.options.defaultMenuOrientation){if((Be=this.options.fixMentionsToQuill?-1*(Se+this.options.offsetTop):pe.top-(Se+this.options.offsetTop))+V.top<=0){var Ie=this.options.offsetTop;Be=Ie+=this.options.fixMentionsToQuill?V.height:pe.bottom}}else if(this.containerBottomIsNotVisible(Be+=this.options.fixMentionsToQuill?V.height:pe.bottom,V)){var Ne=-1*this.options.offsetTop;this.options.fixMentionsToQuill||(Ne+=pe.top),Be=Ne-Se}Be>=0?this.options.mentionContainerClass.split(" ").forEach(function(Pe){_e.mentionContainer.classList.add("".concat(Pe,"-bottom")),_e.mentionContainer.classList.remove("".concat(Pe,"-top"))}):this.options.mentionContainerClass.split(" ").forEach(function(Pe){_e.mentionContainer.classList.add("".concat(Pe,"-top")),_e.mentionContainer.classList.remove("".concat(Pe,"-bottom"))}),this.mentionContainer.style.top="".concat(Be,"px"),this.mentionContainer.style.left="".concat(xe,"px"),this.mentionContainer.style.visibility="visible"}},{key:"getTextBeforeCursor",value:function(){var _e=Math.max(0,this.cursorPos-this.options.maxChars);return this.quill.getText(_e,this.cursorPos-_e)}},{key:"onSomethingChange",value:function(){var _e=this.quill.getSelection();if(null!=_e){this.cursorPos=_e.index;
1var V=this.getTextBeforeCursor(),pe=function G(ue,N){return N.reduce(function(_e,V){var pe=ue.lastIndexOf(V);return pe>_e.mentionCharIndex?{mentionChar:V,mentionCharIndex:pe}:{mentionChar:_e.mentionChar,mentionCharIndex:_e.mentionCharIndex}},{mentionChar:null,mentionCharIndex:-1})}(V,this.options.mentionDenotationChars),Se=pe.mentionChar,Be=pe.mentionCharIndex;if(function P(ue,N,_e){return ue>-1&&!(_e&&0!==ue&&!N[ue-1].match(/\s/g))}(Be,V,this.options.isolateCharacter)){this.mentionCharPos=this.cursorPos-(V.length-Be);var ze=V.substring(Be+Se.length);ze.length>=this.options.minChars&&function Q(ue,N){return N.test(ue)}(ze,this.options.allowedChars)?this.options.source(ze,this.renderList.bind(this,Se),Se):this.hideMentionList()}else this.hideMentionList()}}},{key:"onTextChange",value:function(_e,V,pe){"user"===pe&&this.onSomethingChange()}},{key:"onSelectionChange",value:function(_e){_e&&0===_e.length?this.onSomethingChange():this.hideMentionList()}}]),ue}();n().register("modules/mention",Me)},51576:()=>{},70420:(It,me,_)=>{"use strict";_.d(me,{Z:()=>Z});var u=_(76224),n=_(15604),A=_(38661);const Z=function S(e){return(0,A.Z)((0,n.Z)(e,void 0,u.Z),e+"")}},82986:(It,me,_)=>{"use strict";_.d(me,{Z:()=>ce});var u=_(95343),n=_(43496),A=_(93093);const Z=function S(ae,Ie,Ne){(void 0!==Ne&&!(0,A.Z)(ae[Ie],Ne)||void 0===Ne&&!(Ie in ae))&&(0,n.Z)(ae,Ie,Ne)};var e=_(90139),B=_(20634),L=_(9376),D=_(68297),w=_(13121),I=_(24825),p=_(14177),J=_(67118),O=_(85202),z=_(42089),ne=_(71999),j=_(22031),G=_(87583);const P=function Q(ae,Ie){if(("constructor"!==Ie||"function"!=typeof ae[Ie])&&"__proto__"!=Ie)return ae[Ie]};var Y=_(83276),W=_(571);const N=function ue(ae,Ie,Ne,Pe,be,Ze,$e){var je=P(ae,Ne),Ye=P(Ie,Ne),he=$e.get(Ye);if(he)Z(ae,Ne,he);else{var Te=Ze?Ze(je,Ye,Ne+"",ae,Ie,$e):void 0,Re=void 0===Te;if(Re){var nt=(0,p.Z)(Ye),k=!nt&&(0,O.Z)(Ye),$=!nt&&!k&&(0,G.Z)(Ye);Te=Ye,nt||k||$?(0,p.Z)(je)?Te=je:(0,J.Z)(je)?Te=(0,D.Z)(je):k?(Re=!1,Te=(0,B.Z)(Ye,!0)):$?(Re=!1,Te=(0,L.Z)(Ye,!0)):Te=[]:(0,j.Z)(Ye)||(0,I.Z)(Ye)?(Te=je,(0,I.Z)(je)?Te=function Me(ae){return(0,Y.Z)(ae,(0,W.Z)(ae))}(je):(!(0,ne.Z)(je)||(0,z.Z)(je))&&(Te=(0,w.Z)(Ye))):Re=!1}Re&&($e.set(Ye,Te),be(Te,Ye,Pe,Ze,$e),$e.delete(Ye)),Z(ae,Ne,Te)}},V=function _e(ae,Ie,Ne,Pe,be){ae!==Ie&&(0,e.Z)(Ie,function(Ze,$e){if(be||(be=new u.Z),(0,ne.Z)(Ze))N(ae,Ie,$e,Ne,_e,Pe,be);else{var je=Pe?Pe(P(ae,$e),Ze,$e+"",ae,Ie,be):void 0;void 0===je&&(je=Ze),Z(ae,$e,je)}},W.Z)};var pe=_(57965),Se=_(74810);const ce=function Be(ae){return(0,pe.Z)(function(Ie,Ne){var Pe=-1,be=Ne.length,Ze=be>1?Ne[be-1]:void 0,$e=be>2?Ne[2]:void 0;for(Ze=ae.length>3&&"function"==typeof Ze?(be--,Ze):void 0,$e&&(0,Se.Z)(Ne[0],Ne[1],$e)&&(Ze=be<3?void 0:Ze,be=1),Ie=Object(Ie);++Pe<be;){var je=Ne[Pe];je&&ae(Ie,je,Pe,Ze)}return Ie})}(function(ae,Ie,Ne){V(ae,Ie,Ne)})},60029:(It,me,_)=>{"use strict";_.d(me,{Z:()=>e});var u=_(20113),n=_(57965),A=_(26501),S=_(67118);const e=(0,n.Z)(function(B){return(0,A.Z)((0,u.Z)(B,1,S.Z,!0))})}}]);
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.