@mxtommy/kip 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- import"./chunk-F5X5MWHG.js";import{L as vt,U as bi,a as ot,c as ui,e as gi,f as _i,h as fi}from"./chunk-CTZYGIOB.js";import{b as yi}from"./chunk-AB255PKD.js";import{a as Ee,b as mi,c as pi}from"./chunk-KHL7FGID.js";import{a as Si}from"./chunk-4HLTLR5F.js";import{f as Te,i as at,n as hi}from"./chunk-HIADZ4BV.js";import{a as vi}from"./chunk-ACTDISHE.js";import{b as z}from"./chunk-JCW5H5WP.js";import{a as de}from"./chunk-OQULS6SV.js";import{A as ke,B as nt,c as Jt,d as Je,k as ni,r as re,s as ci,y as le}from"./chunk-SVP7ZRWY.js";import{A as j,D as et,G as tt,J as se,K as li,L as di,M as K,N as it,d as ft,h as Ht,i as Xt,j as qt,k as Ke,l as jt,m as B,n as $e,o as Me,p as ai,q as oi,s as X,t as q,v as si,w as ae,y as ri,z as oe}from"./chunk-AYVYZ27A.js";import{b as ei,f as ti,g as ii}from"./chunk-SZ2GUIT5.js";import{$b as Bt,Ab as I,Bb as A,Db as ie,Dc as zt,Dd as Zt,E as Tt,Eb as ye,F as Ae,Fa as m,Fb as T,Fd as ue,Ga as Pt,Gb as Xe,Hb as U,Ia as Re,Jb as he,K as Et,Kb as r,La as Nt,Lb as De,Ld as Ye,Mb as Ut,Nb as gt,Nc as Se,Nd as we,Oa as x,Ob as _t,Oc as je,Pa as $,Pb as v,Qa as F,Qb as y,Qd as bt,Rb as S,Sa as Be,Sd as Yt,Td as Pe,Ua as Vt,Ud as xe,V as pt,Wa as E,Wd as $t,Xa as be,Xb as N,Xc as Kt,Xd as H,Yb as Q,_b as Wt,ab as L,ba as Ue,bb as C,cb as w,da as Y,db as ze,ea as R,eb as Ot,f as Fe,fb as ee,fd as Ge,g as Le,ga as c,gb as te,hb as h,hc as qe,ib as a,j as ce,ja as p,jb as s,ka as u,kb as g,kc as ne,kd as Qe,la as We,lb as He,mb as ut,mc as Z,md as Ce,nb as Ft,nc as W,o as kt,oa as It,pa as At,pc as M,pd as Ze,qc as D,ra as _e,rb as P,sb as Lt,tb as b,ua as fe,va as Rt,vb as k,wa as G,wb as me,wd as pe,xa as Dt,xb as V,xd as Gt,yb as ve,zb as O,zd as Qt}from"./chunk-OB3QLUH6.js";var Bi=(n,f)=>f.key,zi=(n,f)=>f.measure;function Hi(n,f){if(n&1&&(a(0,"mat-option",6),r(1),s()),n&2){let e=f.$implicit;h("value",e.measure),m(),De(e.description)}}function Xi(n,f){if(n&1&&(a(0,"mat-form-field")(1,"mat-label"),r(2),s(),a(3,"mat-select",5),ee(4,Hi,2,2,"mat-option",6,zi),s()()),n&2){let e=f.$implicit,i=k();m(2),De(e.key),m(),h("placeholder",e.key)("formControlName",e.key),m(),te(i.groupUnits[e.key])}}var Ci=(()=>{class n{units=c(pi);appSettingsService=c(B);appService=c(z);unitsFormGroup=new si({});groupUnits=[];ngOnInit(){let e=this.appSettingsService.getDefaultUnits(),i=this.units.getConversions();for(let t of i){if(t.group==="Position")continue;let o=[];for(let d of t.units)o.push(d);this.groupUnits[t.group]=o,this.unitsFormGroup.addControl(t.group,new ri(e[t.group]))}this.unitsFormGroup.updateValueAndValidity()}submitConfig(){this.appSettingsService.setDefaultUnits(this.unitsFormGroup.value),this.appService.sendSnackbarNotification("Configuration saved",3e3,!1)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-units"]],decls:11,vars:4,consts:[[2,"height","100%",3,"ngSubmit","formGroup"],[1,"unit-grid"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"],["required","",3,"placeholder","formControlName"],[3,"value"]],template:function(i,t){i&1&&(a(0,"form",0),b("ngSubmit",function(){return t.submitConfig()}),a(1,"p"),r(2,"Configure your preferred default unit types. These defaults can be overridden within individual widget settings."),s(),a(3,"div",1),ee(4,Xi,6,3,"mat-form-field",null,Bi),Wt(6,"keyvalue"),s(),a(7,"div",2),g(8,"mat-divider",3),a(9,"button",4),r(10,"Save"),s()()()),i&2&&(h("formGroup",t.unitsFormGroup),m(4),te(Bt(6,2,t.unitsFormGroup.controls)),m(5),h("disabled",!t.unitsFormGroup.valid))},dependencies:[K,j,X,q,se,it,et,tt,le,re,Ee,Te,de,H,zt],styles:[".unit-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,auto));gap:10px}"]})}return n})();var yt=new R("CdkAccordion"),wi=(()=>{class n{_stateChanges=new ce;_openCloseAllActions=new ce;id=c(pe).getId("cdk-accordion-");multi=!1;openAll(){this.multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",M]},exportAs:["cdkAccordion"],features:[N([{provide:yt,useExisting:n}]),fe]})}return n})(),xi=(()=>{class n{accordion=c(yt,{optional:!0,skipSelf:!0});_changeDetectorRef=c(W);_expansionDispatcher=c(at);_openCloseAllSubscription=Le.EMPTY;closed=new E;opened=new E;destroyed=new E;expandedChange=new E;id=c(pe).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(e){if(this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();let i=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,i)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}_expanded=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e)}_disabled=_e(!1);_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,i)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===i&&this.id!==e&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",M],disabled:[2,"disabled","disabled",M]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[N([{provide:yt,useValue:void 0}])]})}return n})(),Mi=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=$({type:n});static \u0275inj=Y({})}return n})();var Ki=["body"],Gi=["bodyWrapper"],Qi=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],Zi=["mat-expansion-panel-header","*","mat-action-row"];function Ji(n,f){}var Yi=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],$i=["mat-panel-title","mat-panel-description","*"];function en(n,f){n&1&&(He(0,"span",1),We(),He(1,"svg",2),Ft(2,"path",3),ut()())}var St=new R("MAT_ACCORDION"),ki=new R("MAT_EXPANSION_PANEL"),tn=(()=>{class n{_template=c(Pt);_expansionPanel=c(ki,{optional:!0});constructor(){}static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),Ti=new R("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Ne=(()=>{class n extends xi{_viewContainerRef=c(Nt);_animationsDisabled=we();_document=c(It);_ngZone=c(be);_elementRef=c(G);_renderer=c(Re);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_togglePosition;afterExpand=new E;afterCollapse=new E;_inputChanges=new ce;accordion=c(St,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=c(pe).getId("mat-expansion-panel-header-");constructor(){super();let e=c(Ti,{optional:!0});this._expansionDispatcher=c(at),e&&(this.hideToggle=e.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(pt(null),Ae(()=>this.expanded&&!this._portal),Et(1)).subscribe(()=>{this._portal=new ei(this._lazyContent._template,this._viewContainerRef)}),this._setupAnimationEvents()}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete()}_containsFocus(){if(this._body){let e=this._document.activeElement,i=this._body.nativeElement;return e===i||i.contains(e)}return!1}_transitionEndListener=({target:e,propertyName:i})=>{e===this._bodyWrapper?.nativeElement&&i==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit()})};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let e=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this._transitionEndListener),e.classList.add("mat-expansion-panel-animations-enabled")},200)})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(i,t,o){if(i&1&&ve(o,tn,5),i&2){let d;I(d=A())&&(t._lazyContent=d.first)}},viewQuery:function(i,t){if(i&1&&(O(Ki,5),O(Gi,5)),i&2){let o;I(o=A())&&(t._body=o.first),I(o=A())&&(t._bodyWrapper=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(i,t){i&2&&U("mat-expanded",t.expanded)("mat-expansion-panel-spacing",t._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",M],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[N([{provide:St,useValue:void 0},{provide:ki,useExisting:n}]),Be,fe],ngContentSelectors:Zi,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(i,t){i&1&&(me(Qi),V(0),a(1,"div",2,0)(3,"div",3,1)(5,"div",4),V(6,1),Vt(7,Ji,0,0,"ng-template",5),s(),V(8,2),s()()),i&2&&(m(),L("inert",t.expanded?null:""),m(2),h("id",t.id),L("aria-labelledby",t._headerId),m(4),h("cdkPortalOutlet",t._portal))},dependencies:[ti],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}
2
- `],encapsulation:2,changeDetection:0})}return n})();var Ve=(()=>{class n{panel=c(Ne,{host:!0});_element=c(G);_focusMonitor=c(Qe);_changeDetectorRef=c(W);_parentChangeSubscription=Le.EMPTY;constructor(){c(Ce).load(xe);let e=this.panel,i=c(Ti,{optional:!0}),t=c(new qe("tabindex"),{optional:!0}),o=e.accordion?e.accordion._stateChanges.pipe(Ae(d=>!!(d.hideToggle||d.togglePosition))):kt;this.tabIndex=parseInt(t||"")||0,this._parentChangeSubscription=Tt(e.opened,e.closed,o,e._inputChanges.pipe(Ae(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(Ae(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),i&&(this.expandedHeight=i.expandedHeight,this.collapsedHeight=i.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:Gt(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,i){e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(i,t){i&1&&b("click",function(){return t._toggle()})("keydown",function(d){return t._keydown(d)}),i&2&&(L("id",t.panel._headerId)("tabindex",t.disabled?-1:t.tabIndex)("aria-controls",t._getPanelId())("aria-expanded",t._isExpanded())("aria-disabled",t.panel.disabled),Xe("height",t._getHeaderHeight()),U("mat-expanded",t._isExpanded())("mat-expansion-toggle-indicator-after",t._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",t._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:D(e)]},ngContentSelectors:$i,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(i,t){i&1&&(me(Yi),He(0,"span",0),V(1),V(2,1),V(3,2),ut(),C(4,en,3,0,"span",1)),i&2&&(U("mat-content-hide-toggle",!t._showToggle()),m(4),w(t._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}
3
- `],encapsulation:2,changeDetection:0})}return n})(),rt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),lt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),dt=(()=>{class n extends wi{_keyManager;_ownHeaders=new Dt;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(pt(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(i=>i.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new Qt(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(e){this._keyManager.onKeydown(e)}_handleHeaderFocus(e){this._keyManager.updateActiveItem(e)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static \u0275fac=(()=>{let e;return function(t){return(e||(e=Rt(n)))(t||n)}})();static \u0275dir=F({type:n,selectors:[["mat-accordion"]],contentQueries:function(i,t,o){if(i&1&&ve(o,Ve,5),i&2){let d;I(d=A())&&(t._headers=d)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(i,t){i&2&&U("mat-accordion-multi",t.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",M],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[N([{provide:St,useExisting:n}]),Be]})}return n})(),ct=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=$({type:n});static \u0275inj=Y({imports:[ue,Mi,ii]})}return n})();var nn=["switch"],an=["*"];function on(n,f){n&1&&(a(0,"span",10),We(),a(1,"svg",12),g(2,"path",13),s(),a(3,"svg",14),g(4,"path",15),s()())}var sn=new R("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),mt=class{source;checked;constructor(f,e){this.source=f,this.checked=e}},ge=(()=>{class n{_elementRef=c(G);_focusMonitor=c(Qe);_changeDetectorRef=c(W);defaults=c(sn);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(e){return new mt(this,e)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=we();_focused;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required;color;disabled=!1;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck()}hideIcon;disabledInteractive;change=new E;toggleChange=new E;get inputId(){return`${this.id||this._uniqueId}-input`}constructor(){c(Ce).load(xe);let e=c(new qe("tabindex"),{optional:!0}),i=this.defaults;this.tabIndex=e==null?0:parseInt(e)||0,this.color=i.color||"accent",this.id=this._uniqueId=c(pe).getId("mat-mdc-slide-toggle-"),this.hideIcon=i.hideIcon??!1,this.disabledInteractive=i.disabledInteractive??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{e==="keyboard"||e==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(e){e.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(e){this.checked=!!e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}validate(e){return this.required&&e.value!==!0?{required:!0}:null}registerOnValidatorChange(e){this._validatorOnChange=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.disabled||(this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new mt(this,this.checked))))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(i,t){if(i&1&&O(nn,5),i&2){let o;I(o=A())&&(t._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,t){i&2&&(Lt("id",t.id),L("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),he(t.color?"mat-"+t.color:""),U("mat-mdc-slide-toggle-focused",t._focused)("mat-mdc-slide-toggle-checked",t.checked)("_mat-animation-noopable",t._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",M],color:"color",disabled:[2,"disabled","disabled",M],disableRipple:[2,"disableRipple","disableRipple",M],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:D(e)],checked:[2,"checked","checked",M],hideIcon:[2,"hideIcon","hideIcon",M],disabledInteractive:[2,"disabledInteractive","disabledInteractive",M]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[N([{provide:$e,useExisting:Ue(()=>n),multi:!0},{provide:ai,useExisting:n,multi:!0}]),fe],ngContentSelectors:an,decls:13,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(i,t){if(i&1){let o=P();me(),a(0,"div",1)(1,"button",2,0),b("click",function(){return p(o),u(t._handleClick())}),g(3,"span",3),a(4,"span",4)(5,"span",5)(6,"span",6),g(7,"span",7),s(),a(8,"span",8),g(9,"span",9),s(),C(10,on,5,0,"span",10),s()()(),a(11,"label",11),b("click",function(l){return p(o),u(l.stopPropagation())}),V(12),s()()}if(i&2){let o=T(2);h("labelPosition",t.labelPosition),m(),U("mdc-switch--selected",t.checked)("mdc-switch--unselected",!t.checked)("mdc-switch--checked",t.checked)("mdc-switch--disabled",t.disabled)("mat-mdc-slide-toggle-disabled-interactive",t.disabledInteractive),h("tabIndex",t.disabled&&!t.disabledInteractive?-1:t.tabIndex)("disabled",t.disabled&&!t.disabledInteractive),L("id",t.buttonId)("name",t.name)("aria-label",t.ariaLabel)("aria-labelledby",t._getAriaLabelledBy())("aria-describedby",t.ariaDescribedby)("aria-required",t.required||null)("aria-checked",t.checked)("aria-disabled",t.disabled&&t.disabledInteractive?"true":null),m(8),h("matRippleTrigger",o)("matRippleDisabled",t.disableRipple||t.disabled)("matRippleCentered",!0),m(),w(t.hideIcon?-1:10),m(),h("for",t.buttonId),L("id",t._labelId)}},dependencies:[Pe,hi],styles:[`.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mat-slide-toggle-track-width, 52px)}.mdc-switch.mdc-switch--disabled{cursor:default;pointer-events:none}.mdc-switch.mat-mdc-slide-toggle-disabled-interactive{pointer-events:auto}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mat-slide-toggle-track-height, 32px);border-radius:var(--mat-slide-toggle-track-shape, var(--mat-sys-corner-full))}.mdc-switch--disabled.mdc-switch .mdc-switch__track{opacity:var(--mat-slide-toggle-disabled-track-opacity, 0.12)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-slide-toggle-track-outline-width, 2px);border-color:var(--mat-slide-toggle-track-outline-color, var(--mat-sys-outline))}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-slide-toggle-selected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-selected-track-outline-color, transparent)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-slide-toggle-disabled-unselected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-disabled-unselected-track-outline-color, var(--mat-sys-on-surface))}@media(forced-colors: active){.mdc-switch__track{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mat-slide-toggle-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-hover-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-focus-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-pressed-track-color, var(--mat-sys-surface-variant))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::before,.mdc-switch.mdc-switch--disabled .mdc-switch__track::before{background:var(--mat-slide-toggle-disabled-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mat-slide-toggle-selected-track-color, var(--mat-sys-primary))}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-hover-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-focus-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-pressed-track-color, var(--mat-sys-primary))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::after,.mdc-switch.mdc-switch--disabled .mdc-switch__track::after{background:var(--mat-slide-toggle-disabled-selected-track-color, var(--mat-sys-on-surface))}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mat-slide-toggle-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mat-slide-toggle-handle-width);height:var(--mat-slide-toggle-handle-height);border-radius:var(--mat-slide-toggle-handle-shape, var(--mat-sys-corner-full))}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-slide-toggle-unselected-handle-size, 16px);height:var(--mat-slide-toggle-unselected-handle-size, 16px);margin:var(--mat-slide-toggle-unselected-handle-horizontal-margin, 0 8px)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin, 0 4px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-slide-toggle-selected-handle-size, 24px);height:var(--mat-slide-toggle-selected-handle-size, 24px);margin:var(--mat-slide-toggle-selected-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-selected-with-icon-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-slide-toggle-with-icon-handle-size, 24px);height:var(--mat-slide-toggle-with-icon-handle-size, 24px)}.mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-slide-toggle-pressed-handle-size, 28px);height:var(--mat-slide-toggle-pressed-handle-size, 28px)}.mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-selected-pressed-handle-horizontal-margin, 0 22px)}.mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-unselected-pressed-handle-horizontal-margin, 0 2px)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-selected-handle-opacity, 1)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-unselected-handle-opacity, 0.38)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media(forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-handle-color, var(--mat-sys-on-primary))}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-hover-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-focus-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-pressed-handle-color, var(--mat-sys-primary-container))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:hover:not(:focus):not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:focus:not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:active .mdc-switch__handle::after,.mdc-switch--selected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-selected-handle-color, var(--mat-sys-surface))}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-handle-color, var(--mat-sys-outline))}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-hover-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-focus-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-unselected-handle-color, var(--mat-sys-on-surface))}.mdc-switch__handle::before{background:var(--mat-slide-toggle-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-handle-elevation-shadow)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__shadow,.mdc-switch.mdc-switch--disabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mat-slide-toggle-state-layer-size, 40px);height:var(--mat-slide-toggle-state-layer-size, 40px)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch--disabled .mdc-switch__ripple::after{display:none}.mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after{display:block}.mdc-switch:hover .mdc-switch__ripple::after{transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:focus .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:active .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-hover-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-focus-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-pressed-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1;transform:translateZ(0)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-unselected-icon-opacity, 0.38)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-selected-icon-opacity, 0.38)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mat-slide-toggle-unselected-icon-size, 16px);height:var(--mat-slide-toggle-unselected-icon-size, 16px);fill:var(--mat-slide-toggle-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__icon{width:var(--mat-slide-toggle-selected-icon-size, 16px);height:var(--mat-slide-toggle-selected-icon-size, 16px);fill:var(--mat-slide-toggle-selected-icon-color, var(--mat-sys-on-primary-container))}.mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-selected-icon-color, var(--mat-sys-on-surface))}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{-webkit-user-select:none;user-select:none;display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-slide-toggle-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-slide-toggle-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-slide-toggle-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-slide-toggle-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-slide-toggle-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-slide-toggle-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mat-slide-toggle-disabled-label-text-color, var(--mat-sys-on-surface))}
4
- `],encapsulation:2,changeDetection:0})}return n})(),ht=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=$({type:n});static \u0275inj=Y({imports:[ge,ue,ue]})}return n})();var rn=["notificationsForm"],ln=["statePanel"],dn=["soundPanel"];function cn(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Filter Notifications sidenav items "),s())}function mn(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Override server defined methods "),s())}var Ai=(()=>{class n{app=c(z);settings=c(B);_responsive=c(Ze);isPhonePortrait;notificationsForm=ne("notificationsForm");statePanel=ne("statePanel");soundPanel=ne("soundPanel");notificationConfig;notificationDisabledExpandPanel=!1;constructor(){this.isPhonePortrait=je(this._responsive.observe(Ye.HandsetPortrait)),this.notificationConfig=ft(this.settings.getNotificationConfig())}saveAllSettings(){this.settings.setNotificationConfig(ft(this.notificationConfig)),this.notificationsForm().form.markAsPristine(),this.app.sendSnackbarNotification("Configuration saved",3e3,!1)}togglePanel(e){e.checked&&(this.notificationDisabledExpandPanel=!1,this.statePanel().close(),this.soundPanel().close())}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-notifications"]],viewQuery:function(i,t){i&1&&(ie(t.notificationsForm,rn,5),ie(t.statePanel,ln,5),ie(t.soundPanel,dn,5)),i&2&&ye(3)},decls:64,vars:17,consts:[["notificationsForm","ngForm"],["statePanel",""],["soundPanel",""],["id","notificationSetting",3,"ngSubmit"],["name","disableNotifications",3,"ngModelChange","ngModel"],["name","disableNotifications",3,"ngModelChange","change","ngModel"],[1,"notification-accordion"],[3,"disabled"],["name","showNormalState",3,"ngModelChange","ngModel"],["name","showNominalState",3,"ngModelChange","ngModel"],["name","muteAlert",3,"ngModelChange","ngModel","disabled"],["name","muteWarn",3,"ngModelChange","ngModel","disabled"],["name","muteAlarm",3,"ngModelChange","ngModel","disabled"],["name","muteEmergency",3,"ngModelChange","ngModel","disabled"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"]],template:function(i,t){if(i&1){let o=P();a(0,"form",3,0),b("ngSubmit",function(){return p(o),u(t.saveAllSettings())}),a(2,"p"),r(3,"Configure audio and visual notification settings and stay informed of critical events."),s(),a(4,"mat-slide-toggle",4),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.disableSound,l)||(t.notificationConfig.sound.disableSound=l),u(l)}),r(5," Disable audio "),s(),g(6,"br")(7,"br"),a(8,"mat-slide-toggle",5),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.disableNotifications,l)||(t.notificationConfig.disableNotifications=l),u(l)}),b("change",function(l){return p(o),u(t.togglePanel(l))}),r(9," Disable Notifications "),s(),g(10,"br")(11,"br"),a(12,"div",6)(13,"mat-accordion")(14,"mat-expansion-panel",7,1)(16,"mat-expansion-panel-header")(17,"mat-panel-title"),r(18," States "),s(),C(19,cn,2,0,"mat-panel-description"),s(),a(20,"mat-checkbox",8),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.devices.showNormalState,l)||(t.notificationConfig.devices.showNormalState=l),u(l)}),r(21," Show "),a(22,"b"),r(23,"Normal"),s(),r(24," state "),s(),g(25,"br"),a(26,"mat-checkbox",9),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.devices.showNominalState,l)||(t.notificationConfig.devices.showNominalState=l),u(l)}),r(27," Show "),a(28,"b"),r(29,"Nominal"),s(),r(30," state "),s()(),a(31,"mat-expansion-panel",7,2)(33,"mat-expansion-panel-header")(34,"mat-panel-title"),r(35," Audio "),s(),C(36,mn,2,0,"mat-panel-description"),s(),a(37,"mat-checkbox",10),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.muteAlert,l)||(t.notificationConfig.sound.muteAlert=l),u(l)}),r(38," Mute "),a(39,"b"),r(40,"all Alert"),s(),r(41," state "),s(),g(42,"br"),a(43,"mat-checkbox",11),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.muteWarn,l)||(t.notificationConfig.sound.muteWarn=l),u(l)}),r(44," Mute "),a(45,"b"),r(46,"all Warn"),s(),r(47," state "),s(),g(48,"br"),a(49,"mat-checkbox",12),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.muteAlarm,l)||(t.notificationConfig.sound.muteAlarm=l),u(l)}),r(50," Mute "),a(51,"b"),r(52,"all Alarm"),s(),r(53," state "),s(),g(54,"br"),a(55,"mat-checkbox",13),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.muteEmergency,l)||(t.notificationConfig.sound.muteEmergency=l),u(l)}),r(56," Mute "),a(57,"b"),r(58,"all Emergency"),s(),r(59," state "),s()()()(),a(60,"div",14),g(61,"mat-divider",15),a(62,"button",16),r(63,"Save"),s()()()}if(i&2){let o=T(1);m(4),v("ngModel",t.notificationConfig.sound.disableSound),m(4),v("ngModel",t.notificationConfig.disableNotifications),m(6),h("disabled",t.notificationConfig.disableNotifications),m(5),w(t.isPhonePortrait().matches?-1:19),m(),v("ngModel",t.notificationConfig.devices.showNormalState),m(6),v("ngModel",t.notificationConfig.devices.showNominalState),m(5),h("disabled",t.notificationConfig.disableNotifications),m(5),w(t.isPhonePortrait().matches?-1:36),m(),v("ngModel",t.notificationConfig.sound.muteAlert),h("disabled",t.notificationConfig.sound.disableSound),m(6),v("ngModel",t.notificationConfig.sound.muteWarn),h("disabled",t.notificationConfig.sound.disableSound),m(6),v("ngModel",t.notificationConfig.sound.muteAlarm),h("disabled",t.notificationConfig.sound.disableSound),m(6),v("ngModel",t.notificationConfig.sound.muteEmergency),h("disabled",t.notificationConfig.sound.disableSound),m(7),h("disabled",!o.form.dirty)}},dependencies:[K,j,X,q,oe,ae,ot,ht,ge,ct,dt,Ne,Ve,lt,rt,de,H],styles:[".notification-accordion[_ngcontent-%COMP%]{margin-left:25px}"]})}return n})();vt.register(...bi);var Ri=vt;var hn=["activityGraph"],Ct=()=>({standalone:!1}),pn=()=>({standalone:!0}),Di=(()=>{class n{dialog=c(ni);appSettingsService=c(B);app=c(z);DataService=c(Je);signalKConnectionService=c(Xt);deltaService=c(Jt);connectionStateMachine=c(Ht);auth=c(Ke);destroyRef=c(At);canvasService=c(fi);activityGraph=ne("activityGraph");connectionConfig;isConnecting=!1;authToken;endpointServiceStatus;streamStatus;_chart=null;textColor;ngOnInit(){this.connectionConfig=this.appSettingsService.getConnectionConfig(),this.auth.authToken$.pipe(Se(this.destroyRef)).subscribe(e=>{e?this.authToken=e:this.authToken=null}),this.signalKConnectionService.getServiceEndpointStatusAsO().pipe(Se(this.destroyRef)).subscribe(e=>{this.endpointServiceStatus=e}),this.deltaService.getDataStreamStatusAsO().pipe(Se(this.destroyRef)).subscribe(e=>{this.streamStatus=e})}ngAfterViewInit(){this.textColor=window.getComputedStyle(this.activityGraph().nativeElement).color,this._chart?.destroy(),this.startChart(),this.DataService.getSignalkDeltaUpdateStatistics().pipe(Se(this.destroyRef)).subscribe(e=>{this._chart.data.datasets[0].data.push({x:e.timestamp,y:e.value}),this._chart.data.datasets[0].data.length>10&&this._chart.data.datasets[0].data.shift(),this._chart?.update("none")})}openUserCredentialModal(e){this.dialog.open(vi,{data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().pipe(Se(this.destroyRef)).subscribe(t=>{t&&(this.connectionConfig.loginName=t.user,this.connectionConfig.loginPassword=t.password,this.connectToServer())})}connectToServer(){return Fe(this,null,function*(){if(this.connectionConfig.useSharedConfig&&(!this.connectionConfig.loginName||!this.connectionConfig.loginPassword)){this.openUserCredentialModal("Credentials required");return}this.isConnecting=!0;try{console.log("[Settings-SignalK] Validating Signal K server before connecting..."),yield this.signalKConnectionService.validateSignalKUrl(this.connectionConfig.signalKUrl),console.log("[Settings-SignalK] Validation successful - proceeding with connection"),this.appSettingsService.setConnectionConfig(this.connectionConfig),this.connectionStateMachine.shutdown("Configuration changed - restarting app"),this.authToken&&!this.connectionConfig.useSharedConfig&&!this.authToken.isDeviceAccessToken&&this.auth.deleteToken(),window.__KIP_TEST__||location.reload()}catch(e){this.isConnecting=!1;let i=e?.message||"Unknown validation error";console.error("[Settings-SignalK] Server validation failed:",i),this.app.sendSnackbarNotification(`Connection failed: ${i}`,8e3,!1)}})}startChart(){this._chart=new Ri(this.activityGraph().nativeElement.getContext("2d"),{type:"line",data:{datasets:[{data:[],fill:!0,borderColor:this.textColor}]},options:{maintainAspectRatio:!1,animation:!1,parsing:!1,scales:{x:{type:"time",display:!0,time:{unit:"minute",minUnit:"second",round:"second",displayFormats:{hour:"k:mm''",minute:"mm''",second:'mm ss"',millisecond:"SSS"}},position:"bottom",ticks:{display:!1},grid:{display:!0}},y:{beginAtZero:!0,type:"linear",position:"right",title:{text:"Delta / Sec",display:!0}}},plugins:{legend:{display:!1,labels:{color:this.textColor}}}}})}useSharedConfigToggleClick(e){if(e.checked){let i=this.signalKConnectionService.serverVersion$.getValue();if(!qt(i,"1.46.2",">=")){this.app.sendSnackbarNotification("Configuration sharing requires Signal K version 1.46.2 or better",0),this.connectionConfig.useSharedConfig=!1;return}this.openUserCredentialModal(null)}}ngOnDestroy(){this._chart?.destroy();let e=this.activityGraph?.()?.nativeElement;this.canvasService.releaseCanvas(e,{clear:!0,removeFromDom:!0})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-signalk"]],viewQuery:function(i,t){i&1&&ie(t.activityGraph,hn,5),i&2&&ye()},decls:40,vars:22,consts:[["connectionForm","ngForm"],["useSharedConfigToggle",""],["activityGraph",""],["name","connectionForm",3,"ngSubmit"],[1,"connect-table"],[1,"url-cell"],[1,"connectUrlInput"],["type","url","matInput","","placeholder","Ex. http://192.168.0.1:3000","name","signalKURL","required","","pattern","https?://.+",3,"ngModelChange","ngModel","ngModelOptions"],[1,"connect-cell"],["mat-flat-button","","type","submit",1,"connect-btn",3,"disabled"],["colspan","2"],["name","useSharedConfigToggle","matTooltip","Activating authentication enables Signal K's user storage feature to save KIP configuration on the server. When authentication is not activated, KIP stores it's configuration locally in the Browser.",3,"ngModelChange","change","ngModel","ngModelOptions","disabled"],["mat-flat-button","","type","button","matTooltip","Configure Signal K user authentication credentials. The user must be a valid pre existing Signal K server user. It is strongly recommended not to use the default Signal K Admin user.",1,"credentials-btn",3,"click","disabled"],["name","signalKSubscribeAll",3,"ngModelChange","ngModel","ngModelOptions"],["name","isProxyEnabled",3,"ngModelChange","ngModel","ngModelOptions"],[1,"activity-container"],[1,"activity-graph-container"],[1,"activity-graph"],[1,"info-container"]],template:function(i,t){if(i&1){let o=P();a(0,"form",3,0),b("ngSubmit",function(){return p(o),u(t.connectToServer())}),g(2,"br"),a(3,"table",4)(4,"tr",4)(5,"td",5)(6,"mat-form-field",6)(7,"mat-label"),r(8,"Signal K URL"),s(),a(9,"input",7),S("ngModelChange",function(l){return p(o),y(t.connectionConfig.signalKUrl,l)||(t.connectionConfig.signalKUrl=l),u(l)}),s(),a(10,"mat-error"),r(11,' Valid URL is required. Ex. "https://demo.signalK.org" or "http://my.server.com:3000" '),s()()(),a(12,"td",8)(13,"button",9),r(14),s()()(),a(15,"tr",4)(16,"td",10)(17,"mat-slide-toggle",11,1),S("ngModelChange",function(l){return p(o),y(t.connectionConfig.useSharedConfig,l)||(t.connectionConfig.useSharedConfig=l),u(l)}),b("change",function(l){return p(o),u(t.useSharedConfigToggleClick(l))}),r(19," Login to server "),s(),a(20,"button",12),b("click",function(){return p(o),u(t.openUserCredentialModal(null))}),r(21," Set Credential "),s(),g(22,"br"),a(23,"mat-checkbox",13),S("ngModelChange",function(l){return p(o),y(t.connectionConfig.signalKSubscribeAll,l)||(t.connectionConfig.signalKSubscribeAll=l),u(l)}),r(24,"Subscribe to remote sources messages such as AIS and DSC targets. "),a(25,"i"),r(26,"Warning: this maybe generate heavy traffic."),s()()()(),a(27,"tr",4)(28,"td",10)(29,"mat-checkbox",14),S("ngModelChange",function(l){return p(o),y(t.connectionConfig.proxyEnabled,l)||(t.connectionConfig.proxyEnabled=l),u(l)}),r(30,"Signal K server is behind a Proxy"),s()()()()(),a(31,"div",15)(32,"div",16),g(33,"canvas",17,2),s(),a(35,"div",18)(36,"pre"),r(37),g(38,"br"),r(39),s()()()}if(i&2){let o=T(1);m(9),v("ngModel",t.connectionConfig.signalKUrl),h("ngModelOptions",Q(18,Ct)),m(4),h("disabled",!o.form.valid||t.isConnecting),m(),Ut(" ",t.isConnecting?"Validating...":"Connect"," "),m(3),v("ngModel",t.connectionConfig.useSharedConfig),h("ngModelOptions",Q(19,pn))("disabled",!t.connectionConfig.signalKUrl),m(3),h("disabled",!t.connectionConfig.useSharedConfig),m(3),v("ngModel",t.connectionConfig.signalKSubscribeAll),h("ngModelOptions",Q(20,Ct)),m(6),v("ngModel",t.connectionConfig.proxyEnabled),h("ngModelOptions",Q(21,Ct)),m(8),_t("KIP: ",t.app.appVersion(),`
1
+ import"./chunk-F5X5MWHG.js";import{L as vt,U as bi,a as ot,c as gi,e as ui,f as _i,h as fi}from"./chunk-SY22WXMI.js";import{b as yi}from"./chunk-AB255PKD.js";import{a as Ee,b as mi,c as pi}from"./chunk-PKKBBIJK.js";import{a as Si}from"./chunk-D2CYLQZF.js";import{f as Te,i as at,n as hi}from"./chunk-HIADZ4BV.js";import{a as vi}from"./chunk-QZJKBIMY.js";import{b as z}from"./chunk-IO5SDLYV.js";import{a as de}from"./chunk-OQULS6SV.js";import{A as ke,B as nt,c as Jt,d as Je,k as ni,r as re,s as ci,y as le}from"./chunk-QLTN6G6E.js";import{A as j,D as et,G as tt,J as se,K as li,L as di,M as K,N as it,d as ft,h as Ht,i as Xt,j as qt,k as Ke,l as jt,m as B,n as $e,o as Me,p as ai,q as oi,s as X,t as q,v as si,w as ae,y as ri,z as oe}from"./chunk-XDPHEQEO.js";import{b as ei,f as ti,g as ii}from"./chunk-SZ2GUIT5.js";import{$b as Bt,Ab as I,Bb as A,Db as ie,Dc as zt,Dd as Zt,E as Tt,Eb as ye,F as Ae,Fa as m,Fb as T,Fd as ge,Ga as Pt,Gb as Xe,Hb as U,Ia as Re,Jb as he,K as Et,Kb as r,La as Nt,Lb as De,Ld as Ye,Mb as Ut,Nb as ut,Nc as Se,Nd as we,Oa as x,Ob as _t,Oc as je,Pa as $,Pb as v,Qa as F,Qb as y,Qd as bt,Rb as S,Sa as Be,Sd as Yt,Td as Pe,Ua as Vt,Ud as xe,V as pt,Wa as E,Wd as $t,Xa as be,Xb as N,Xc as Kt,Xd as H,Yb as Q,_b as Wt,ab as L,ba as Ue,bb as C,cb as w,da as Y,db as ze,ea as R,eb as Ot,f as Fe,fb as ee,fd as Ge,g as Le,ga as c,gb as te,hb as h,hc as qe,ib as a,j as ce,ja as p,jb as s,ka as g,kb as u,kc as ne,kd as Qe,la as We,lb as He,mb as gt,mc as Z,md as Ce,nb as Ft,nc as W,o as kt,oa as It,pa as At,pc as M,pd as Ze,qc as D,ra as _e,rb as P,sb as Lt,tb as b,ua as fe,va as Rt,vb as k,wa as G,wb as me,wd as pe,xa as Dt,xb as V,xd as Gt,yb as ve,zb as O,zd as Qt}from"./chunk-OB3QLUH6.js";var Bi=(n,f)=>f.key,zi=(n,f)=>f.measure;function Hi(n,f){if(n&1&&(a(0,"mat-option",6),r(1),s()),n&2){let e=f.$implicit;h("value",e.measure),m(),De(e.description)}}function Xi(n,f){if(n&1&&(a(0,"mat-form-field")(1,"mat-label"),r(2),s(),a(3,"mat-select",5),ee(4,Hi,2,2,"mat-option",6,zi),s()()),n&2){let e=f.$implicit,i=k();m(2),De(e.key),m(),h("placeholder",e.key)("formControlName",e.key),m(),te(i.groupUnits[e.key])}}var Ci=(()=>{class n{units=c(pi);appSettingsService=c(B);appService=c(z);unitsFormGroup=new si({});groupUnits=[];ngOnInit(){let e=this.appSettingsService.getDefaultUnits(),i=this.units.getConversions();for(let t of i){if(t.group==="Position")continue;let o=[];for(let d of t.units)o.push(d);this.groupUnits[t.group]=o,this.unitsFormGroup.addControl(t.group,new ri(e[t.group]))}this.unitsFormGroup.updateValueAndValidity()}submitConfig(){this.appSettingsService.setDefaultUnits(this.unitsFormGroup.value),this.appService.sendSnackbarNotification("Configuration saved",3e3,!1)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-units"]],decls:11,vars:4,consts:[[2,"height","100%",3,"ngSubmit","formGroup"],[1,"unit-grid"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"],["required","",3,"placeholder","formControlName"],[3,"value"]],template:function(i,t){i&1&&(a(0,"form",0),b("ngSubmit",function(){return t.submitConfig()}),a(1,"p"),r(2,"Configure your preferred default unit types. These defaults can be overridden within individual widget settings."),s(),a(3,"div",1),ee(4,Xi,6,3,"mat-form-field",null,Bi),Wt(6,"keyvalue"),s(),a(7,"div",2),u(8,"mat-divider",3),a(9,"button",4),r(10,"Save"),s()()()),i&2&&(h("formGroup",t.unitsFormGroup),m(4),te(Bt(6,2,t.unitsFormGroup.controls)),m(5),h("disabled",!t.unitsFormGroup.valid))},dependencies:[K,j,X,q,se,it,et,tt,le,re,Ee,Te,de,H,zt],styles:[".unit-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,auto));gap:10px}"]})}return n})();var yt=new R("CdkAccordion"),wi=(()=>{class n{_stateChanges=new ce;_openCloseAllActions=new ce;id=c(pe).getId("cdk-accordion-");multi=!1;openAll(){this.multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",M]},exportAs:["cdkAccordion"],features:[N([{provide:yt,useExisting:n}]),fe]})}return n})(),xi=(()=>{class n{accordion=c(yt,{optional:!0,skipSelf:!0});_changeDetectorRef=c(W);_expansionDispatcher=c(at);_openCloseAllSubscription=Le.EMPTY;closed=new E;opened=new E;destroyed=new E;expandedChange=new E;id=c(pe).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(e){if(this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();let i=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,i)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}_expanded=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e)}_disabled=_e(!1);_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,i)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===i&&this.id!==e&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",M],disabled:[2,"disabled","disabled",M]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[N([{provide:yt,useValue:void 0}])]})}return n})(),Mi=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=$({type:n});static \u0275inj=Y({})}return n})();var Ki=["body"],Gi=["bodyWrapper"],Qi=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],Zi=["mat-expansion-panel-header","*","mat-action-row"];function Ji(n,f){}var Yi=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],$i=["mat-panel-title","mat-panel-description","*"];function en(n,f){n&1&&(He(0,"span",1),We(),He(1,"svg",2),Ft(2,"path",3),gt()())}var St=new R("MAT_ACCORDION"),ki=new R("MAT_EXPANSION_PANEL"),tn=(()=>{class n{_template=c(Pt);_expansionPanel=c(ki,{optional:!0});constructor(){}static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),Ti=new R("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Ne=(()=>{class n extends xi{_viewContainerRef=c(Nt);_animationsDisabled=we();_document=c(It);_ngZone=c(be);_elementRef=c(G);_renderer=c(Re);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_togglePosition;afterExpand=new E;afterCollapse=new E;_inputChanges=new ce;accordion=c(St,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=c(pe).getId("mat-expansion-panel-header-");constructor(){super();let e=c(Ti,{optional:!0});this._expansionDispatcher=c(at),e&&(this.hideToggle=e.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(pt(null),Ae(()=>this.expanded&&!this._portal),Et(1)).subscribe(()=>{this._portal=new ei(this._lazyContent._template,this._viewContainerRef)}),this._setupAnimationEvents()}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete()}_containsFocus(){if(this._body){let e=this._document.activeElement,i=this._body.nativeElement;return e===i||i.contains(e)}return!1}_transitionEndListener=({target:e,propertyName:i})=>{e===this._bodyWrapper?.nativeElement&&i==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit()})};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let e=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this._transitionEndListener),e.classList.add("mat-expansion-panel-animations-enabled")},200)})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(i,t,o){if(i&1&&ve(o,tn,5),i&2){let d;I(d=A())&&(t._lazyContent=d.first)}},viewQuery:function(i,t){if(i&1&&(O(Ki,5),O(Gi,5)),i&2){let o;I(o=A())&&(t._body=o.first),I(o=A())&&(t._bodyWrapper=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(i,t){i&2&&U("mat-expanded",t.expanded)("mat-expansion-panel-spacing",t._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",M],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[N([{provide:St,useValue:void 0},{provide:ki,useExisting:n}]),Be,fe],ngContentSelectors:Zi,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(i,t){i&1&&(me(Qi),V(0),a(1,"div",2,0)(3,"div",3,1)(5,"div",4),V(6,1),Vt(7,Ji,0,0,"ng-template",5),s(),V(8,2),s()()),i&2&&(m(),L("inert",t.expanded?null:""),m(2),h("id",t.id),L("aria-labelledby",t._headerId),m(4),h("cdkPortalOutlet",t._portal))},dependencies:[ti],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}
2
+ `],encapsulation:2,changeDetection:0})}return n})();var Ve=(()=>{class n{panel=c(Ne,{host:!0});_element=c(G);_focusMonitor=c(Qe);_changeDetectorRef=c(W);_parentChangeSubscription=Le.EMPTY;constructor(){c(Ce).load(xe);let e=this.panel,i=c(Ti,{optional:!0}),t=c(new qe("tabindex"),{optional:!0}),o=e.accordion?e.accordion._stateChanges.pipe(Ae(d=>!!(d.hideToggle||d.togglePosition))):kt;this.tabIndex=parseInt(t||"")||0,this._parentChangeSubscription=Tt(e.opened,e.closed,o,e._inputChanges.pipe(Ae(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(Ae(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),i&&(this.expandedHeight=i.expandedHeight,this.collapsedHeight=i.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:Gt(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,i){e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(i,t){i&1&&b("click",function(){return t._toggle()})("keydown",function(d){return t._keydown(d)}),i&2&&(L("id",t.panel._headerId)("tabindex",t.disabled?-1:t.tabIndex)("aria-controls",t._getPanelId())("aria-expanded",t._isExpanded())("aria-disabled",t.panel.disabled),Xe("height",t._getHeaderHeight()),U("mat-expanded",t._isExpanded())("mat-expansion-toggle-indicator-after",t._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",t._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:D(e)]},ngContentSelectors:$i,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(i,t){i&1&&(me(Yi),He(0,"span",0),V(1),V(2,1),V(3,2),gt(),C(4,en,3,0,"span",1)),i&2&&(U("mat-content-hide-toggle",!t._showToggle()),m(4),w(t._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}
3
+ `],encapsulation:2,changeDetection:0})}return n})(),rt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),lt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),dt=(()=>{class n extends wi{_keyManager;_ownHeaders=new Dt;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(pt(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(i=>i.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new Qt(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(e){this._keyManager.onKeydown(e)}_handleHeaderFocus(e){this._keyManager.updateActiveItem(e)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static \u0275fac=(()=>{let e;return function(t){return(e||(e=Rt(n)))(t||n)}})();static \u0275dir=F({type:n,selectors:[["mat-accordion"]],contentQueries:function(i,t,o){if(i&1&&ve(o,Ve,5),i&2){let d;I(d=A())&&(t._headers=d)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(i,t){i&2&&U("mat-accordion-multi",t.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",M],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[N([{provide:St,useExisting:n}]),Be]})}return n})(),ct=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=$({type:n});static \u0275inj=Y({imports:[ge,Mi,ii]})}return n})();var nn=["switch"],an=["*"];function on(n,f){n&1&&(a(0,"span",10),We(),a(1,"svg",12),u(2,"path",13),s(),a(3,"svg",14),u(4,"path",15),s()())}var sn=new R("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),mt=class{source;checked;constructor(f,e){this.source=f,this.checked=e}},ue=(()=>{class n{_elementRef=c(G);_focusMonitor=c(Qe);_changeDetectorRef=c(W);defaults=c(sn);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(e){return new mt(this,e)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=we();_focused;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required;color;disabled=!1;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck()}hideIcon;disabledInteractive;change=new E;toggleChange=new E;get inputId(){return`${this.id||this._uniqueId}-input`}constructor(){c(Ce).load(xe);let e=c(new qe("tabindex"),{optional:!0}),i=this.defaults;this.tabIndex=e==null?0:parseInt(e)||0,this.color=i.color||"accent",this.id=this._uniqueId=c(pe).getId("mat-mdc-slide-toggle-"),this.hideIcon=i.hideIcon??!1,this.disabledInteractive=i.disabledInteractive??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{e==="keyboard"||e==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(e){e.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(e){this.checked=!!e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}validate(e){return this.required&&e.value!==!0?{required:!0}:null}registerOnValidatorChange(e){this._validatorOnChange=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.disabled||(this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new mt(this,this.checked))))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(i,t){if(i&1&&O(nn,5),i&2){let o;I(o=A())&&(t._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,t){i&2&&(Lt("id",t.id),L("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),he(t.color?"mat-"+t.color:""),U("mat-mdc-slide-toggle-focused",t._focused)("mat-mdc-slide-toggle-checked",t.checked)("_mat-animation-noopable",t._noopAnimations))},inputs:{name:"name",id:"id",labelPosition:"labelPosition",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],required:[2,"required","required",M],color:"color",disabled:[2,"disabled","disabled",M],disableRipple:[2,"disableRipple","disableRipple",M],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:D(e)],checked:[2,"checked","checked",M],hideIcon:[2,"hideIcon","hideIcon",M],disabledInteractive:[2,"disabledInteractive","disabledInteractive",M]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[N([{provide:$e,useExisting:Ue(()=>n),multi:!0},{provide:ai,useExisting:n,multi:!0}]),fe],ngContentSelectors:an,decls:13,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(i,t){if(i&1){let o=P();me(),a(0,"div",1)(1,"button",2,0),b("click",function(){return p(o),g(t._handleClick())}),u(3,"span",3),a(4,"span",4)(5,"span",5)(6,"span",6),u(7,"span",7),s(),a(8,"span",8),u(9,"span",9),s(),C(10,on,5,0,"span",10),s()()(),a(11,"label",11),b("click",function(l){return p(o),g(l.stopPropagation())}),V(12),s()()}if(i&2){let o=T(2);h("labelPosition",t.labelPosition),m(),U("mdc-switch--selected",t.checked)("mdc-switch--unselected",!t.checked)("mdc-switch--checked",t.checked)("mdc-switch--disabled",t.disabled)("mat-mdc-slide-toggle-disabled-interactive",t.disabledInteractive),h("tabIndex",t.disabled&&!t.disabledInteractive?-1:t.tabIndex)("disabled",t.disabled&&!t.disabledInteractive),L("id",t.buttonId)("name",t.name)("aria-label",t.ariaLabel)("aria-labelledby",t._getAriaLabelledBy())("aria-describedby",t.ariaDescribedby)("aria-required",t.required||null)("aria-checked",t.checked)("aria-disabled",t.disabled&&t.disabledInteractive?"true":null),m(8),h("matRippleTrigger",o)("matRippleDisabled",t.disableRipple||t.disabled)("matRippleCentered",!0),m(),w(t.hideIcon?-1:10),m(),h("for",t.buttonId),L("id",t._labelId)}},dependencies:[Pe,hi],styles:[`.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mat-slide-toggle-track-width, 52px)}.mdc-switch.mdc-switch--disabled{cursor:default;pointer-events:none}.mdc-switch.mat-mdc-slide-toggle-disabled-interactive{pointer-events:auto}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mat-slide-toggle-track-height, 32px);border-radius:var(--mat-slide-toggle-track-shape, var(--mat-sys-corner-full))}.mdc-switch--disabled.mdc-switch .mdc-switch__track{opacity:var(--mat-slide-toggle-disabled-track-opacity, 0.12)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-slide-toggle-track-outline-width, 2px);border-color:var(--mat-slide-toggle-track-outline-color, var(--mat-sys-outline))}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-slide-toggle-selected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-selected-track-outline-color, transparent)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-slide-toggle-disabled-unselected-track-outline-width, 2px);border-color:var(--mat-slide-toggle-disabled-unselected-track-outline-color, var(--mat-sys-on-surface))}@media(forced-colors: active){.mdc-switch__track{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mat-slide-toggle-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-hover-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-focus-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mat-slide-toggle-unselected-pressed-track-color, var(--mat-sys-surface-variant))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::before,.mdc-switch.mdc-switch--disabled .mdc-switch__track::before{background:var(--mat-slide-toggle-disabled-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mat-slide-toggle-selected-track-color, var(--mat-sys-primary))}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-visible-track-opacity, 1);transition:var(--mat-slide-toggle-visible-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-slide-toggle-hidden-track-opacity, 0);transition:var(--mat-slide-toggle-hidden-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-hover-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-focus-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mat-slide-toggle-selected-pressed-track-color, var(--mat-sys-primary))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::after,.mdc-switch.mdc-switch--disabled .mdc-switch__track::after{background:var(--mat-slide-toggle-disabled-selected-track-color, var(--mat-sys-on-surface))}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mat-slide-toggle-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mat-slide-toggle-handle-width);height:var(--mat-slide-toggle-handle-height);border-radius:var(--mat-slide-toggle-handle-shape, var(--mat-sys-corner-full))}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-slide-toggle-unselected-handle-size, 16px);height:var(--mat-slide-toggle-unselected-handle-size, 16px);margin:var(--mat-slide-toggle-unselected-handle-horizontal-margin, 0 8px)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin, 0 4px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-slide-toggle-selected-handle-size, 24px);height:var(--mat-slide-toggle-selected-handle-size, 24px);margin:var(--mat-slide-toggle-selected-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-slide-toggle-selected-with-icon-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-slide-toggle-with-icon-handle-size, 24px);height:var(--mat-slide-toggle-with-icon-handle-size, 24px)}.mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-slide-toggle-pressed-handle-size, 28px);height:var(--mat-slide-toggle-pressed-handle-size, 28px)}.mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-selected-pressed-handle-horizontal-margin, 0 22px)}.mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-slide-toggle-unselected-pressed-handle-horizontal-margin, 0 2px)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-selected-handle-opacity, 1)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-slide-toggle-disabled-unselected-handle-opacity, 0.38)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media(forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-handle-color, var(--mat-sys-on-primary))}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-hover-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-focus-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-selected-pressed-handle-color, var(--mat-sys-primary-container))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:hover:not(:focus):not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:focus:not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:active .mdc-switch__handle::after,.mdc-switch--selected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-selected-handle-color, var(--mat-sys-surface))}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-handle-color, var(--mat-sys-outline))}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-hover-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-focus-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mat-slide-toggle-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mat-slide-toggle-disabled-unselected-handle-color, var(--mat-sys-on-surface))}.mdc-switch__handle::before{background:var(--mat-slide-toggle-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-handle-elevation-shadow)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__shadow,.mdc-switch.mdc-switch--disabled .mdc-switch__shadow{box-shadow:var(--mat-slide-toggle-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mat-slide-toggle-state-layer-size, 40px);height:var(--mat-slide-toggle-state-layer-size, 40px)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch--disabled .mdc-switch__ripple::after{display:none}.mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after{display:block}.mdc-switch:hover .mdc-switch__ripple::after{transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:focus .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:active .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-hover-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-focus-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mat-slide-toggle-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-hover-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity))}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-focus-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity))}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mat-slide-toggle-selected-pressed-state-layer-color, var(--mat-sys-primary));opacity:var(--mat-slide-toggle-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1;transform:translateZ(0)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-unselected-icon-opacity, 0.38)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons{opacity:var(--mat-slide-toggle-disabled-selected-icon-opacity, 0.38)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mat-slide-toggle-unselected-icon-size, 16px);height:var(--mat-slide-toggle-unselected-icon-size, 16px);fill:var(--mat-slide-toggle-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__icon{width:var(--mat-slide-toggle-selected-icon-size, 16px);height:var(--mat-slide-toggle-selected-icon-size, 16px);fill:var(--mat-slide-toggle-selected-icon-color, var(--mat-sys-on-primary-container))}.mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mat-slide-toggle-disabled-selected-icon-color, var(--mat-sys-on-surface))}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{-webkit-user-select:none;user-select:none;display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-slide-toggle-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-slide-toggle-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-slide-toggle-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-slide-toggle-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-slide-toggle-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-slide-toggle-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mat-slide-toggle-disabled-label-text-color, var(--mat-sys-on-surface))}
4
+ `],encapsulation:2,changeDetection:0})}return n})(),ht=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=$({type:n});static \u0275inj=Y({imports:[ue,ge,ge]})}return n})();var rn=["notificationsForm"],ln=["statePanel"],dn=["soundPanel"];function cn(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Filter Notifications sidenav items "),s())}function mn(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Override server defined methods "),s())}var Ai=(()=>{class n{app=c(z);settings=c(B);_responsive=c(Ze);isPhonePortrait;notificationsForm=ne("notificationsForm");statePanel=ne("statePanel");soundPanel=ne("soundPanel");notificationConfig;notificationDisabledExpandPanel=!1;constructor(){this.isPhonePortrait=je(this._responsive.observe(Ye.HandsetPortrait)),this.notificationConfig=ft(this.settings.getNotificationConfig())}saveAllSettings(){this.settings.setNotificationConfig(ft(this.notificationConfig)),this.notificationsForm().form.markAsPristine(),this.app.sendSnackbarNotification("Configuration saved",3e3,!1)}togglePanel(e){e.checked&&(this.notificationDisabledExpandPanel=!1,this.statePanel().close(),this.soundPanel().close())}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-notifications"]],viewQuery:function(i,t){i&1&&(ie(t.notificationsForm,rn,5),ie(t.statePanel,ln,5),ie(t.soundPanel,dn,5)),i&2&&ye(3)},decls:64,vars:17,consts:[["notificationsForm","ngForm"],["statePanel",""],["soundPanel",""],["id","notificationSetting",3,"ngSubmit"],["name","disableNotifications",3,"ngModelChange","ngModel"],["name","disableNotifications",3,"ngModelChange","change","ngModel"],[1,"notification-accordion"],[3,"disabled"],["name","showNormalState",3,"ngModelChange","ngModel"],["name","showNominalState",3,"ngModelChange","ngModel"],["name","muteAlert",3,"ngModelChange","ngModel","disabled"],["name","muteWarn",3,"ngModelChange","ngModel","disabled"],["name","muteAlarm",3,"ngModelChange","ngModel","disabled"],["name","muteEmergency",3,"ngModelChange","ngModel","disabled"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"]],template:function(i,t){if(i&1){let o=P();a(0,"form",3,0),b("ngSubmit",function(){return p(o),g(t.saveAllSettings())}),a(2,"p"),r(3,"Configure audio and visual notification settings and stay informed of critical events."),s(),a(4,"mat-slide-toggle",4),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.disableSound,l)||(t.notificationConfig.sound.disableSound=l),g(l)}),r(5," Disable audio "),s(),u(6,"br")(7,"br"),a(8,"mat-slide-toggle",5),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.disableNotifications,l)||(t.notificationConfig.disableNotifications=l),g(l)}),b("change",function(l){return p(o),g(t.togglePanel(l))}),r(9," Disable Notifications "),s(),u(10,"br")(11,"br"),a(12,"div",6)(13,"mat-accordion")(14,"mat-expansion-panel",7,1)(16,"mat-expansion-panel-header")(17,"mat-panel-title"),r(18," States "),s(),C(19,cn,2,0,"mat-panel-description"),s(),a(20,"mat-checkbox",8),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.devices.showNormalState,l)||(t.notificationConfig.devices.showNormalState=l),g(l)}),r(21," Show "),a(22,"b"),r(23,"Normal"),s(),r(24," state "),s(),u(25,"br"),a(26,"mat-checkbox",9),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.devices.showNominalState,l)||(t.notificationConfig.devices.showNominalState=l),g(l)}),r(27," Show "),a(28,"b"),r(29,"Nominal"),s(),r(30," state "),s()(),a(31,"mat-expansion-panel",7,2)(33,"mat-expansion-panel-header")(34,"mat-panel-title"),r(35," Audio "),s(),C(36,mn,2,0,"mat-panel-description"),s(),a(37,"mat-checkbox",10),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.muteAlert,l)||(t.notificationConfig.sound.muteAlert=l),g(l)}),r(38," Mute "),a(39,"b"),r(40,"all Alert"),s(),r(41," state "),s(),u(42,"br"),a(43,"mat-checkbox",11),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.muteWarn,l)||(t.notificationConfig.sound.muteWarn=l),g(l)}),r(44," Mute "),a(45,"b"),r(46,"all Warn"),s(),r(47," state "),s(),u(48,"br"),a(49,"mat-checkbox",12),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.muteAlarm,l)||(t.notificationConfig.sound.muteAlarm=l),g(l)}),r(50," Mute "),a(51,"b"),r(52,"all Alarm"),s(),r(53," state "),s(),u(54,"br"),a(55,"mat-checkbox",13),S("ngModelChange",function(l){return p(o),y(t.notificationConfig.sound.muteEmergency,l)||(t.notificationConfig.sound.muteEmergency=l),g(l)}),r(56," Mute "),a(57,"b"),r(58,"all Emergency"),s(),r(59," state "),s()()()(),a(60,"div",14),u(61,"mat-divider",15),a(62,"button",16),r(63,"Save"),s()()()}if(i&2){let o=T(1);m(4),v("ngModel",t.notificationConfig.sound.disableSound),m(4),v("ngModel",t.notificationConfig.disableNotifications),m(6),h("disabled",t.notificationConfig.disableNotifications),m(5),w(t.isPhonePortrait().matches?-1:19),m(),v("ngModel",t.notificationConfig.devices.showNormalState),m(6),v("ngModel",t.notificationConfig.devices.showNominalState),m(5),h("disabled",t.notificationConfig.disableNotifications),m(5),w(t.isPhonePortrait().matches?-1:36),m(),v("ngModel",t.notificationConfig.sound.muteAlert),h("disabled",t.notificationConfig.sound.disableSound),m(6),v("ngModel",t.notificationConfig.sound.muteWarn),h("disabled",t.notificationConfig.sound.disableSound),m(6),v("ngModel",t.notificationConfig.sound.muteAlarm),h("disabled",t.notificationConfig.sound.disableSound),m(6),v("ngModel",t.notificationConfig.sound.muteEmergency),h("disabled",t.notificationConfig.sound.disableSound),m(7),h("disabled",!o.form.dirty)}},dependencies:[K,j,X,q,oe,ae,ot,ht,ue,ct,dt,Ne,Ve,lt,rt,de,H],styles:[".notification-accordion[_ngcontent-%COMP%]{margin-left:25px}"]})}return n})();vt.register(...bi);var Ri=vt;var hn=["activityGraph"],Ct=()=>({standalone:!1}),pn=()=>({standalone:!0}),Di=(()=>{class n{dialog=c(ni);appSettingsService=c(B);app=c(z);DataService=c(Je);signalKConnectionService=c(Xt);deltaService=c(Jt);connectionStateMachine=c(Ht);auth=c(Ke);destroyRef=c(At);canvasService=c(fi);activityGraph=ne("activityGraph");connectionConfig;isConnecting=!1;authToken;endpointServiceStatus;streamStatus;_chart=null;textColor;ngOnInit(){this.connectionConfig=this.appSettingsService.getConnectionConfig(),this.auth.authToken$.pipe(Se(this.destroyRef)).subscribe(e=>{e?this.authToken=e:this.authToken=null}),this.signalKConnectionService.getServiceEndpointStatusAsO().pipe(Se(this.destroyRef)).subscribe(e=>{this.endpointServiceStatus=e}),this.deltaService.getDataStreamStatusAsO().pipe(Se(this.destroyRef)).subscribe(e=>{this.streamStatus=e})}ngAfterViewInit(){this.textColor=window.getComputedStyle(this.activityGraph().nativeElement).color,this._chart?.destroy(),this.startChart(),this.DataService.getSignalkDeltaUpdateStatistics().pipe(Se(this.destroyRef)).subscribe(e=>{this._chart.data.datasets[0].data.push({x:e.timestamp,y:e.value}),this._chart.data.datasets[0].data.length>10&&this._chart.data.datasets[0].data.shift(),this._chart?.update("none")})}openUserCredentialModal(e){this.dialog.open(vi,{data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().pipe(Se(this.destroyRef)).subscribe(t=>{t&&(this.connectionConfig.loginName=t.user,this.connectionConfig.loginPassword=t.password,this.connectToServer())})}connectToServer(){return Fe(this,null,function*(){if(this.connectionConfig.useSharedConfig&&(!this.connectionConfig.loginName||!this.connectionConfig.loginPassword)){this.openUserCredentialModal("Credentials required");return}this.isConnecting=!0;try{console.log("[Settings-SignalK] Validating Signal K server before connecting..."),yield this.signalKConnectionService.validateSignalKUrl(this.connectionConfig.signalKUrl),console.log("[Settings-SignalK] Validation successful - proceeding with connection"),this.appSettingsService.setConnectionConfig(this.connectionConfig),this.connectionStateMachine.shutdown("Configuration changed - restarting app"),this.authToken&&!this.connectionConfig.useSharedConfig&&!this.authToken.isDeviceAccessToken&&this.auth.deleteToken(),window.__KIP_TEST__||location.reload()}catch(e){this.isConnecting=!1;let i=e?.message||"Unknown validation error";console.error("[Settings-SignalK] Server validation failed:",i),this.app.sendSnackbarNotification(`Connection failed: ${i}`,8e3,!1)}})}startChart(){this._chart=new Ri(this.activityGraph().nativeElement.getContext("2d"),{type:"line",data:{datasets:[{data:[],fill:!0,borderColor:this.textColor}]},options:{maintainAspectRatio:!1,animation:!1,parsing:!1,scales:{x:{type:"time",display:!0,time:{unit:"minute",minUnit:"second",round:"second",displayFormats:{hour:"k:mm''",minute:"mm''",second:'mm ss"',millisecond:"SSS"}},position:"bottom",ticks:{display:!1},grid:{display:!0}},y:{beginAtZero:!0,type:"linear",position:"right",title:{text:"Delta / Sec",display:!0}}},plugins:{legend:{display:!1,labels:{color:this.textColor}}}}})}useSharedConfigToggleClick(e){if(e.checked){let i=this.signalKConnectionService.serverVersion$.getValue();if(!qt(i,"1.46.2",">=")){this.app.sendSnackbarNotification("Configuration sharing requires Signal K version 1.46.2 or better",0),this.connectionConfig.useSharedConfig=!1;return}this.openUserCredentialModal(null)}}ngOnDestroy(){this._chart?.destroy();let e=this.activityGraph?.()?.nativeElement;this.canvasService.releaseCanvas(e,{clear:!0,removeFromDom:!0})}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-signalk"]],viewQuery:function(i,t){i&1&&ie(t.activityGraph,hn,5),i&2&&ye()},decls:40,vars:22,consts:[["connectionForm","ngForm"],["useSharedConfigToggle",""],["activityGraph",""],["name","connectionForm",3,"ngSubmit"],[1,"connect-table"],[1,"url-cell"],[1,"connectUrlInput"],["type","url","matInput","","placeholder","Ex. http://192.168.0.1:3000","name","signalKURL","required","","pattern","https?://.+",3,"ngModelChange","ngModel","ngModelOptions"],[1,"connect-cell"],["mat-flat-button","","type","submit",1,"connect-btn",3,"disabled"],["colspan","2"],["name","useSharedConfigToggle","matTooltip","Activating authentication enables Signal K's user storage feature to save KIP configuration on the server. When authentication is not activated, KIP stores it's configuration locally in the Browser.",3,"ngModelChange","change","ngModel","ngModelOptions","disabled"],["mat-flat-button","","type","button","matTooltip","Configure Signal K user authentication credentials. The user must be a valid pre existing Signal K server user. It is strongly recommended not to use the default Signal K Admin user.",1,"credentials-btn",3,"click","disabled"],["name","signalKSubscribeAll",3,"ngModelChange","ngModel","ngModelOptions"],["name","isProxyEnabled",3,"ngModelChange","ngModel","ngModelOptions"],[1,"activity-container"],[1,"activity-graph-container"],[1,"activity-graph"],[1,"info-container"]],template:function(i,t){if(i&1){let o=P();a(0,"form",3,0),b("ngSubmit",function(){return p(o),g(t.connectToServer())}),u(2,"br"),a(3,"table",4)(4,"tr",4)(5,"td",5)(6,"mat-form-field",6)(7,"mat-label"),r(8,"Signal K URL"),s(),a(9,"input",7),S("ngModelChange",function(l){return p(o),y(t.connectionConfig.signalKUrl,l)||(t.connectionConfig.signalKUrl=l),g(l)}),s(),a(10,"mat-error"),r(11,' Valid URL is required. Ex. "https://demo.signalK.org" or "http://my.server.com:3000" '),s()()(),a(12,"td",8)(13,"button",9),r(14),s()()(),a(15,"tr",4)(16,"td",10)(17,"mat-slide-toggle",11,1),S("ngModelChange",function(l){return p(o),y(t.connectionConfig.useSharedConfig,l)||(t.connectionConfig.useSharedConfig=l),g(l)}),b("change",function(l){return p(o),g(t.useSharedConfigToggleClick(l))}),r(19," Login to server "),s(),a(20,"button",12),b("click",function(){return p(o),g(t.openUserCredentialModal(null))}),r(21," Set Credential "),s(),u(22,"br"),a(23,"mat-checkbox",13),S("ngModelChange",function(l){return p(o),y(t.connectionConfig.signalKSubscribeAll,l)||(t.connectionConfig.signalKSubscribeAll=l),g(l)}),r(24,"Subscribe to remote sources messages such as AIS and DSC targets. "),a(25,"i"),r(26,"Warning: this maybe generate heavy traffic."),s()()()(),a(27,"tr",4)(28,"td",10)(29,"mat-checkbox",14),S("ngModelChange",function(l){return p(o),y(t.connectionConfig.proxyEnabled,l)||(t.connectionConfig.proxyEnabled=l),g(l)}),r(30,"Signal K server is behind a Proxy"),s()()()()(),a(31,"div",15)(32,"div",16),u(33,"canvas",17,2),s(),a(35,"div",18)(36,"pre"),r(37),u(38,"br"),r(39),s()()()}if(i&2){let o=T(1);m(9),v("ngModel",t.connectionConfig.signalKUrl),h("ngModelOptions",Q(18,Ct)),m(4),h("disabled",!o.form.valid||t.isConnecting),m(),Ut(" ",t.isConnecting?"Validating...":"Connect"," "),m(3),v("ngModel",t.connectionConfig.useSharedConfig),h("ngModelOptions",Q(19,pn))("disabled",!t.connectionConfig.signalKUrl),m(3),h("disabled",!t.connectionConfig.useSharedConfig),m(3),v("ngModel",t.connectionConfig.signalKSubscribeAll),h("ngModelOptions",Q(20,Ct)),m(6),v("ngModel",t.connectionConfig.proxyEnabled),h("ngModelOptions",Q(21,Ct)),m(8),_t("KIP: ",t.app.appVersion(),`
5
5
  `,t.app.browserVersion(),", ",t.app.osVersion()),m(2),_t(`
6
6
  `,t.endpointServiceStatus.serverDescription,`
7
- `,t.streamStatus.message,", ",t.streamStatus.hasToken?"Logged In":"Readonly")}},dependencies:[K,j,Me,X,q,se,li,oe,ae,le,re,ke,ci,ot,ge,yi,H],styles:[".server-status[_ngcontent-%COMP%]{background-color:var(--kip-contrast-dimmer-color);margin:1% 5% 0%;padding:10px 20px 20px}.flex-item-chart[_ngcontent-%COMP%]{flex:1 1 250px;position:relative;margin:0;height:150px;width:100%;border:2px inset;border-color:var(--kip-contrast-color)}.connect-btn[_ngcontent-%COMP%]{margin-left:15px}.credentials-btn[_ngcontent-%COMP%]{margin:7px 0 4px 20px}.connect-table[_ngcontent-%COMP%]{width:100%;vertical-align:middle}.connectUrlInput[_ngcontent-%COMP%], .url-cell[_ngcontent-%COMP%]{width:100%}.connect-cell[_ngcontent-%COMP%]{width:fit-content;vertical-align:middle}.flex-item-detail[_ngcontent-%COMP%]{flex:0 0 290px}.fit[_ngcontent-%COMP%]{width:fit-content}tr[_ngcontent-%COMP%]{vertical-align:top}.tableCellLabel[_ngcontent-%COMP%]{display:table-cell;text-align:right;padding:5px}.tableCellData[_ngcontent-%COMP%]{display:table-cell;margin:0!important;padding:5px}.activity-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;width:100%;gap:10px}.activity-graph-container[_ngcontent-%COMP%]{height:100px;width:230px;padding:23px 0 0 15px}.activity-graph[_ngcontent-%COMP%]{border:1px solid var(--mat-sys-outline-variant);background-color:var(--mat-sys-background)}.info-container[_ngcontent-%COMP%]{height:123px;align-content:center;font-size:11px}"]})}return n})();var un=["knob"],gn=["valueIndicatorContainer"];function _n(n,f){if(n&1&&(a(0,"div",2,1)(2,"div",5)(3,"span",6),r(4),s()()()),n&2){let e=k();m(4),De(e.valueIndicatorText)}}var fn=["trackActive"],bn=["*"];function vn(n,f){if(n&1&&g(0,"div"),n&2){let e=f.$implicit,i=f.$index,t=k(3);he(e===0?"mdc-slider__tick-mark--active":"mdc-slider__tick-mark--inactive"),Xe("transform",t._calcTickMarkTransform(i))}}function yn(n,f){if(n&1&&ee(0,vn,1,4,"div",8,ze),n&2){let e=k(2);te(e._tickMarks)}}function Sn(n,f){if(n&1&&(a(0,"div",6,1),C(2,yn,2,0),s()),n&2){let e=k();m(2),w(e._cachedWidth?2:-1)}}function Cn(n,f){if(n&1&&g(0,"mat-slider-visual-thumb",7),n&2){let e=k();h("discrete",e.discrete)("thumbPosition",1)("valueIndicatorText",e.startValueIndicatorText)}}var _=(function(n){return n[n.START=1]="START",n[n.END=2]="END",n})(_||{}),Ie=(function(n){return n[n.ACTIVE=0]="ACTIVE",n[n.INACTIVE=1]="INACTIVE",n})(Ie||{}),wt=new R("_MatSlider"),Pi=new R("_MatSliderThumb"),wn=new R("_MatSliderRangeThumb"),Ni=new R("_MatSliderVisualThumb");var xn=(()=>{class n{_cdr=c(W);_ngZone=c(be);_slider=c(wt);_renderer=c(Re);_listenerCleanups;discrete;thumbPosition;valueIndicatorText;_ripple;_knob;_valueIndicatorContainer;_sliderInput;_sliderInputEl;_hoverRippleRef;_focusRippleRef;_activeRippleRef;_isHovered=!1;_isActive=!1;_isValueIndicatorVisible=!1;_hostElement=c(G).nativeElement;_platform=c(Ge);constructor(){}ngAfterViewInit(){let e=this._slider._getInput(this.thumbPosition);e&&(this._ripple.radius=24,this._sliderInput=e,this._sliderInputEl=this._sliderInput._hostElement,this._ngZone.runOutsideAngular(()=>{let i=this._sliderInputEl,t=this._renderer;this._listenerCleanups=[t.listen(i,"pointermove",this._onPointerMove),t.listen(i,"pointerdown",this._onDragStart),t.listen(i,"pointerup",this._onDragEnd),t.listen(i,"pointerleave",this._onMouseLeave),t.listen(i,"focus",this._onFocus),t.listen(i,"blur",this._onBlur)]}))}ngOnDestroy(){this._listenerCleanups?.forEach(e=>e())}_onPointerMove=e=>{if(this._sliderInput._isFocused)return;let i=this._hostElement.getBoundingClientRect(),t=this._slider._isCursorOnSliderThumb(e,i);this._isHovered=t,t?this._showHoverRipple():this._hideRipple(this._hoverRippleRef)};_onMouseLeave=()=>{this._isHovered=!1,this._hideRipple(this._hoverRippleRef)};_onFocus=()=>{this._hideRipple(this._hoverRippleRef),this._showFocusRipple(),this._hostElement.classList.add("mdc-slider__thumb--focused")};_onBlur=()=>{this._isActive||this._hideRipple(this._focusRippleRef),this._isHovered&&this._showHoverRipple(),this._hostElement.classList.remove("mdc-slider__thumb--focused")};_onDragStart=e=>{e.button===0&&(this._isActive=!0,this._showActiveRipple())};_onDragEnd=()=>{this._isActive=!1,this._hideRipple(this._activeRippleRef),this._sliderInput._isFocused||this._hideRipple(this._focusRippleRef),this._platform.SAFARI&&this._showHoverRipple()};_showHoverRipple(){this._isShowingRipple(this._hoverRippleRef)||(this._hoverRippleRef=this._showRipple({enterDuration:0,exitDuration:0}),this._hoverRippleRef?.element.classList.add("mat-mdc-slider-hover-ripple"))}_showFocusRipple(){this._isShowingRipple(this._focusRippleRef)||(this._focusRippleRef=this._showRipple({enterDuration:0,exitDuration:0},!0),this._focusRippleRef?.element.classList.add("mat-mdc-slider-focus-ripple"))}_showActiveRipple(){this._isShowingRipple(this._activeRippleRef)||(this._activeRippleRef=this._showRipple({enterDuration:225,exitDuration:400}),this._activeRippleRef?.element.classList.add("mat-mdc-slider-active-ripple"))}_isShowingRipple(e){return e?.state===bt.FADING_IN||e?.state===bt.VISIBLE}_showRipple(e,i){if(!this._slider.disabled&&(this._showValueIndicator(),this._slider._isRange&&this._slider._getThumb(this.thumbPosition===_.START?_.END:_.START)._showValueIndicator(),!(this._slider._globalRippleOptions?.disabled&&!i)))return this._ripple.launch({animation:this._slider._noopAnimations?{enterDuration:0,exitDuration:0}:e,centered:!0,persistent:!0})}_hideRipple(e){if(e?.fadeOut(),this._isShowingAnyRipple())return;this._slider._isRange||this._hideValueIndicator();let i=this._getSibling();i._isShowingAnyRipple()||(this._hideValueIndicator(),i._hideValueIndicator())}_showValueIndicator(){this._hostElement.classList.add("mdc-slider__thumb--with-indicator")}_hideValueIndicator(){this._hostElement.classList.remove("mdc-slider__thumb--with-indicator")}_getSibling(){return this._slider._getThumb(this.thumbPosition===_.START?_.END:_.START)}_getValueIndicatorContainer(){return this._valueIndicatorContainer?.nativeElement}_getKnob(){return this._knob.nativeElement}_isShowingAnyRipple(){return this._isShowingRipple(this._hoverRippleRef)||this._isShowingRipple(this._focusRippleRef)||this._isShowingRipple(this._activeRippleRef)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-slider-visual-thumb"]],viewQuery:function(i,t){if(i&1&&(O(Pe,5),O(un,5),O(gn,5)),i&2){let o;I(o=A())&&(t._ripple=o.first),I(o=A())&&(t._knob=o.first),I(o=A())&&(t._valueIndicatorContainer=o.first)}},hostAttrs:[1,"mdc-slider__thumb","mat-mdc-slider-visual-thumb"],inputs:{discrete:"discrete",thumbPosition:"thumbPosition",valueIndicatorText:"valueIndicatorText"},features:[N([{provide:Ni,useExisting:n}])],decls:4,vars:2,consts:[["knob",""],["valueIndicatorContainer",""],[1,"mdc-slider__value-indicator-container"],[1,"mdc-slider__thumb-knob"],["matRipple","",1,"mat-focus-indicator",3,"matRippleDisabled"],[1,"mdc-slider__value-indicator"],[1,"mdc-slider__value-indicator-text"]],template:function(i,t){i&1&&(C(0,_n,5,1,"div",2),g(1,"div",3,0)(3,"div",4)),i&2&&(w(t.discrete?0:-1),m(3),h("matRippleDisabled",!0))},dependencies:[Pe],styles:[`.mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}.mat-mdc-slider .mdc-slider__tick-marks{justify-content:start}.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--active,.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--inactive{position:absolute;left:2px}
8
- `],encapsulation:2,changeDetection:0})}return n})(),Vi=(()=>{class n{_ngZone=c(be);_cdr=c(W);_elementRef=c(G);_dir=c(Zt,{optional:!0});_globalRippleOptions=c(Yt,{optional:!0});_trackActive;_thumbs;_input;_inputs;get disabled(){return this._disabled}set disabled(e){this._disabled=e;let i=this._getInput(_.END),t=this._getInput(_.START);i&&(i.disabled=this._disabled),t&&(t.disabled=this._disabled)}_disabled=!1;get discrete(){return this._discrete}set discrete(e){this._discrete=e,this._updateValueIndicatorUIs()}_discrete=!1;get showTickMarks(){return this._showTickMarks}set showTickMarks(e){this._showTickMarks=e,this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI())}_showTickMarks=!1;get min(){return this._min}set min(e){let i=e==null||isNaN(e)?this._min:e;this._min!==i&&this._updateMin(i)}_min=0;color;disableRipple=!1;_updateMin(e){let i=this._min;this._min=e,this._isRange?this._updateMinRange({old:i,new:e}):this._updateMinNonRange(e),this._onMinMaxOrStepChange()}_updateMinRange(e){let i=this._getInput(_.END),t=this._getInput(_.START),o=i.value,d=t.value;t.min=e.new,i.min=Math.max(e.new,t.value),t.max=Math.min(i.max,i.value),t._updateWidthInactive(),i._updateWidthInactive(),e.new<e.old?this._onTranslateXChangeBySideEffect(i,t):this._onTranslateXChangeBySideEffect(t,i),o!==i.value&&this._onValueChange(i),d!==t.value&&this._onValueChange(t)}_updateMinNonRange(e){let i=this._getInput(_.END);if(i){let t=i.value;i.min=e,i._updateThumbUIByValue(),this._updateTrackUI(i),t!==i.value&&this._onValueChange(i)}}get max(){return this._max}set max(e){let i=e==null||isNaN(e)?this._max:e;this._max!==i&&this._updateMax(i)}_max=100;_updateMax(e){let i=this._max;this._max=e,this._isRange?this._updateMaxRange({old:i,new:e}):this._updateMaxNonRange(e),this._onMinMaxOrStepChange()}_updateMaxRange(e){let i=this._getInput(_.END),t=this._getInput(_.START),o=i.value,d=t.value;i.max=e.new,t.max=Math.min(e.new,i.value),i.min=t.value,i._updateWidthInactive(),t._updateWidthInactive(),e.new>e.old?this._onTranslateXChangeBySideEffect(t,i):this._onTranslateXChangeBySideEffect(i,t),o!==i.value&&this._onValueChange(i),d!==t.value&&this._onValueChange(t)}_updateMaxNonRange(e){let i=this._getInput(_.END);if(i){let t=i.value;i.max=e,i._updateThumbUIByValue(),this._updateTrackUI(i),t!==i.value&&this._onValueChange(i)}}get step(){return this._step}set step(e){let i=isNaN(e)?this._step:e;this._step!==i&&this._updateStep(i)}_step=1;_updateStep(e){this._step=e,this._isRange?this._updateStepRange():this._updateStepNonRange(),this._onMinMaxOrStepChange()}_updateStepRange(){let e=this._getInput(_.END),i=this._getInput(_.START),t=e.value,o=i.value,d=i.value;e.min=this._min,i.max=this._max,e.step=this._step,i.step=this._step,this._platform.SAFARI&&(e.value=e.value,i.value=i.value),e.min=Math.max(this._min,i.value),i.max=Math.min(this._max,e.value),i._updateWidthInactive(),e._updateWidthInactive(),e.value<d?this._onTranslateXChangeBySideEffect(i,e):this._onTranslateXChangeBySideEffect(e,i),t!==e.value&&this._onValueChange(e),o!==i.value&&this._onValueChange(i)}_updateStepNonRange(){let e=this._getInput(_.END);if(e){let i=e.value;e.step=this._step,this._platform.SAFARI&&(e.value=e.value),e._updateThumbUIByValue(),i!==e.value&&this._onValueChange(e)}}displayWith=e=>`${e}`;_tickMarks;_noopAnimations=we();_dirChangeSubscription;_resizeObserver;_cachedWidth;_cachedLeft;_rippleRadius=24;startValueIndicatorText="";endValueIndicatorText="";_endThumbTransform;_startThumbTransform;_isRange=!1;_isRtl=!1;_hasViewInitialized=!1;_tickMarkTrackWidth=0;_hasAnimation=!1;_resizeTimer=null;_platform=c(Ge);constructor(){c(Ce).load(xe),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>this._onDirChange()),this._isRtl=this._dir.value==="rtl")}_knobRadius=8;_inputPadding;ngAfterViewInit(){this._platform.isBrowser&&this._updateDimensions();let e=this._getInput(_.END),i=this._getInput(_.START);this._isRange=!!e&&!!i,this._cdr.detectChanges();let t=this._getThumb(_.END);this._rippleRadius=t._ripple.radius,this._inputPadding=this._rippleRadius-this._knobRadius,this._isRange?this._initUIRange(e,i):this._initUINonRange(e),this._updateTrackUI(e),this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._observeHostResize(),this._cdr.detectChanges()}_initUINonRange(e){e.initProps(),e.initUI(),this._updateValueIndicatorUI(e),this._hasViewInitialized=!0,e._updateThumbUIByValue()}_initUIRange(e,i){e.initProps(),e.initUI(),i.initProps(),i.initUI(),e._updateMinMax(),i._updateMinMax(),e._updateStaticStyles(),i._updateStaticStyles(),this._updateValueIndicatorUIs(),this._hasViewInitialized=!0,e._updateThumbUIByValue(),i._updateThumbUIByValue()}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._resizeObserver?.disconnect(),this._resizeObserver=null}_onDirChange(){this._isRtl=this._dir?.value==="rtl",this._isRange?this._onDirChangeRange():this._onDirChangeNonRange(),this._updateTickMarkUI()}_onDirChangeRange(){let e=this._getInput(_.END),i=this._getInput(_.START);e._setIsLeftThumb(),i._setIsLeftThumb(),e.translateX=e._calcTranslateXByValue(),i.translateX=i._calcTranslateXByValue(),e._updateStaticStyles(),i._updateStaticStyles(),e._updateWidthInactive(),i._updateWidthInactive(),e._updateThumbUIByValue(),i._updateThumbUIByValue()}_onDirChangeNonRange(){this._getInput(_.END)._updateThumbUIByValue()}_observeHostResize(){typeof ResizeObserver>"u"||!ResizeObserver||this._ngZone.runOutsideAngular(()=>{this._resizeObserver=new ResizeObserver(()=>{this._isActive()||(this._resizeTimer&&clearTimeout(this._resizeTimer),this._onResize())}),this._resizeObserver.observe(this._elementRef.nativeElement)})}_isActive(){return this._getThumb(_.START)._isActive||this._getThumb(_.END)._isActive}_getValue(e=_.END){let i=this._getInput(e);return i?i.value:this.min}_skipUpdate(){return!!(this._getInput(_.START)?._skipUIUpdate||this._getInput(_.END)?._skipUIUpdate)}_updateDimensions(){this._cachedWidth=this._elementRef.nativeElement.offsetWidth,this._cachedLeft=this._elementRef.nativeElement.getBoundingClientRect().left}_setTrackActiveStyles(e){let i=this._trackActive.nativeElement.style;i.left=e.left,i.right=e.right,i.transformOrigin=e.transformOrigin,i.transform=e.transform}_calcTickMarkTransform(e){let i=e*(this._tickMarkTrackWidth/(this._tickMarks.length-1));return`translateX(${this._isRtl?this._cachedWidth-6-i:i}px`}_onTranslateXChange(e){this._hasViewInitialized&&(this._updateThumbUI(e),this._updateTrackUI(e),this._updateOverlappingThumbUI(e))}_onTranslateXChangeBySideEffect(e,i){this._hasViewInitialized&&(e._updateThumbUIByValue(),i._updateThumbUIByValue())}_onValueChange(e){this._hasViewInitialized&&(this._updateValueIndicatorUI(e),this._updateTickMarkUI(),this._cdr.detectChanges())}_onMinMaxOrStepChange(){this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.markForCheck())}_onResize(){if(this._hasViewInitialized){if(this._updateDimensions(),this._isRange){let e=this._getInput(_.END),i=this._getInput(_.START);e._updateThumbUIByValue(),i._updateThumbUIByValue(),e._updateStaticStyles(),i._updateStaticStyles(),e._updateMinMax(),i._updateMinMax(),e._updateWidthInactive(),i._updateWidthInactive()}else{let e=this._getInput(_.END);e&&e._updateThumbUIByValue()}this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.detectChanges()}}_thumbsOverlap=!1;_areThumbsOverlapping(){let e=this._getInput(_.START),i=this._getInput(_.END);return!e||!i?!1:i.translateX-e.translateX<20}_updateOverlappingThumbClassNames(e){let i=e.getSibling(),t=this._getThumb(e.thumbPosition);this._getThumb(i.thumbPosition)._hostElement.classList.remove("mdc-slider__thumb--top"),t._hostElement.classList.toggle("mdc-slider__thumb--top",this._thumbsOverlap)}_updateOverlappingThumbUI(e){!this._isRange||this._skipUpdate()||this._thumbsOverlap!==this._areThumbsOverlapping()&&(this._thumbsOverlap=!this._thumbsOverlap,this._updateOverlappingThumbClassNames(e))}_updateThumbUI(e){if(this._skipUpdate())return;let i=this._getThumb(e.thumbPosition===_.END?_.END:_.START);i._hostElement.style.transform=`translateX(${e.translateX}px)`}_updateValueIndicatorUI(e){if(this._skipUpdate())return;let i=this.displayWith(e.value);if(this._hasViewInitialized?e._valuetext.set(i):e._hostElement.setAttribute("aria-valuetext",i),this.discrete){e.thumbPosition===_.START?this.startValueIndicatorText=i:this.endValueIndicatorText=i;let t=this._getThumb(e.thumbPosition);i.length<3?t._hostElement.classList.add("mdc-slider__thumb--short-value"):t._hostElement.classList.remove("mdc-slider__thumb--short-value")}}_updateValueIndicatorUIs(){let e=this._getInput(_.END),i=this._getInput(_.START);e&&this._updateValueIndicatorUI(e),i&&this._updateValueIndicatorUI(i)}_updateTickMarkTrackUI(){if(!this.showTickMarks||this._skipUpdate())return;let e=this._step&&this._step>0?this._step:1,t=(Math.floor(this.max/e)*e-this.min)/(this.max-this.min);this._tickMarkTrackWidth=(this._cachedWidth-6)*t}_updateTrackUI(e){this._skipUpdate()||(this._isRange?this._updateTrackUIRange(e):this._updateTrackUINonRange(e))}_updateTrackUIRange(e){let i=e.getSibling();if(!i||!this._cachedWidth)return;let t=Math.abs(i.translateX-e.translateX)/this._cachedWidth;e._isLeftThumb&&this._cachedWidth?this._setTrackActiveStyles({left:"auto",right:`${this._cachedWidth-i.translateX}px`,transformOrigin:"right",transform:`scaleX(${t})`}):this._setTrackActiveStyles({left:`${i.translateX}px`,right:"auto",transformOrigin:"left",transform:`scaleX(${t})`})}_updateTrackUINonRange(e){this._isRtl?this._setTrackActiveStyles({left:"auto",right:"0px",transformOrigin:"right",transform:`scaleX(${1-e.fillPercentage})`}):this._setTrackActiveStyles({left:"0px",right:"auto",transformOrigin:"left",transform:`scaleX(${e.fillPercentage})`})}_updateTickMarkUI(){if(!this.showTickMarks||this.step===void 0||this.min===void 0||this.max===void 0)return;let e=this.step>0?this.step:1;this._isRange?this._updateTickMarkUIRange(e):this._updateTickMarkUINonRange(e)}_updateTickMarkUINonRange(e){let i=this._getValue(),t=Math.max(Math.round((i-this.min)/e),0)+1,o=Math.max(Math.round((this.max-i)/e),0)-1;this._isRtl?t++:o++,this._tickMarks=Array(t).fill(Ie.ACTIVE).concat(Array(o).fill(Ie.INACTIVE))}_updateTickMarkUIRange(e){let i=this._getValue(),t=this._getValue(_.START),o=Math.max(Math.round((t-this.min)/e),0),d=Math.max(Math.round((i-t)/e)+1,0),l=Math.max(Math.round((this.max-i)/e),0);this._tickMarks=Array(o).fill(Ie.INACTIVE).concat(Array(d).fill(Ie.ACTIVE),Array(l).fill(Ie.INACTIVE))}_getInput(e){if(e===_.END&&this._input)return this._input;if(this._inputs?.length)return e===_.START?this._inputs.first:this._inputs.last}_getThumb(e){return e===_.END?this._thumbs?.last:this._thumbs?.first}_setTransition(e){this._hasAnimation=!this._platform.IOS&&e&&!this._noopAnimations,this._elementRef.nativeElement.classList.toggle("mat-mdc-slider-with-animation",this._hasAnimation)}_isCursorOnSliderThumb(e,i){let t=i.width/2,o=i.x+t,d=i.y+t,l=e.clientX-o,Oe=e.clientY-d;return Math.pow(l,2)+Math.pow(Oe,2)<Math.pow(t,2)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-slider"]],contentQueries:function(i,t,o){if(i&1&&(ve(o,Pi,5),ve(o,wn,4)),i&2){let d;I(d=A())&&(t._input=d.first),I(d=A())&&(t._inputs=d)}},viewQuery:function(i,t){if(i&1&&(O(fn,5),O(Ni,5)),i&2){let o;I(o=A())&&(t._trackActive=o.first),I(o=A())&&(t._thumbs=o)}},hostAttrs:[1,"mat-mdc-slider","mdc-slider"],hostVars:12,hostBindings:function(i,t){i&2&&(he("mat-"+(t.color||"primary")),U("mdc-slider--range",t._isRange)("mdc-slider--disabled",t.disabled)("mdc-slider--discrete",t.discrete)("mdc-slider--tick-marks",t.showTickMarks)("_mat-animation-noopable",t._noopAnimations))},inputs:{disabled:[2,"disabled","disabled",M],discrete:[2,"discrete","discrete",M],showTickMarks:[2,"showTickMarks","showTickMarks",M],min:[2,"min","min",D],color:"color",disableRipple:[2,"disableRipple","disableRipple",M],max:[2,"max","max",D],step:[2,"step","step",D],displayWith:"displayWith"},exportAs:["matSlider"],features:[N([{provide:wt,useExisting:n}])],ngContentSelectors:bn,decls:9,vars:5,consts:[["trackActive",""],["tickMarkContainer",""],[1,"mdc-slider__track"],[1,"mdc-slider__track--inactive"],[1,"mdc-slider__track--active"],[1,"mdc-slider__track--active_fill"],[1,"mdc-slider__tick-marks"],[3,"discrete","thumbPosition","valueIndicatorText"],[3,"class","transform"]],template:function(i,t){i&1&&(me(),V(0),a(1,"div",2),g(2,"div",3),a(3,"div",4),g(4,"div",5,0),s(),C(6,Sn,3,1,"div",6),s(),C(7,Cn,1,3,"mat-slider-visual-thumb",7),g(8,"mat-slider-visual-thumb",7)),i&2&&(m(6),w(t.showTickMarks?6:-1),m(),w(t._isRange?7:-1),m(),h("discrete",t.discrete)("thumbPosition",2)("valueIndicatorText",t.endValueIndicatorText))},dependencies:[xn],styles:[`.mdc-slider__track{position:absolute;top:50%;transform:translateY(-50%);width:100%;pointer-events:none;height:var(--mat-slider-inactive-track-height, 4px)}.mdc-slider__track--active,.mdc-slider__track--inactive{display:flex;height:100%;position:absolute;width:100%}.mdc-slider__track--active{overflow:hidden;border-radius:var(--mat-slider-active-track-shape, var(--mat-sys-corner-full));height:var(--mat-slider-active-track-height, 4px);top:calc((var(--mat-slider-inactive-track-height, 4px) - var(--mat-slider-active-track-height, 4px))/2)}.mdc-slider__track--active_fill{border-top-style:solid;box-sizing:border-box;height:100%;width:100%;position:relative;transform-origin:left;transition:transform 80ms ease;border-color:var(--mat-slider-active-track-color, var(--mat-sys-primary));border-top-width:var(--mat-slider-active-track-height, 4px)}.mdc-slider--disabled .mdc-slider__track--active_fill{border-color:var(--mat-slider-disabled-active-track-color, var(--mat-sys-on-surface))}[dir=rtl] .mdc-slider__track--active_fill{-webkit-transform-origin:right;transform-origin:right}.mdc-slider__track--inactive{left:0;top:0;opacity:.24;background-color:var(--mat-slider-inactive-track-color, var(--mat-sys-surface-variant));height:var(--mat-slider-inactive-track-height, 4px);border-radius:var(--mat-slider-inactive-track-shape, var(--mat-sys-corner-full))}.mdc-slider--disabled .mdc-slider__track--inactive{background-color:var(--mat-slider-disabled-inactive-track-color, var(--mat-sys-on-surface));opacity:.24}.mdc-slider__track--inactive::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media(forced-colors: active){.mdc-slider__track--inactive::before{border-color:CanvasText}}.mdc-slider__value-indicator-container{bottom:44px;left:50%;pointer-events:none;position:absolute;transform:var(--mat-slider-value-indicator-container-transform, translateX(-50%) rotate(-45deg))}.mdc-slider__thumb--with-indicator .mdc-slider__value-indicator-container{pointer-events:auto}.mdc-slider__value-indicator{display:flex;align-items:center;transform:scale(0);transform-origin:bottom;transition:transform 100ms cubic-bezier(0.4, 0, 1, 1);word-break:normal;background-color:var(--mat-slider-label-container-color, var(--mat-sys-primary));color:var(--mat-slider-label-label-text-color, var(--mat-sys-on-primary));width:var(--mat-slider-value-indicator-width, 28px);height:var(--mat-slider-value-indicator-height, 28px);padding:var(--mat-slider-value-indicator-padding, 0);opacity:var(--mat-slider-value-indicator-opacity, 1);border-radius:var(--mat-slider-value-indicator-border-radius, 50% 50% 50% 0)}.mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:transform 100ms cubic-bezier(0, 0, 0.2, 1);transform:scale(1)}.mdc-slider__value-indicator::before{border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:6px solid;bottom:-5px;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;display:var(--mat-slider-value-indicator-caret-display, none);border-top-color:var(--mat-slider-label-container-color, var(--mat-sys-primary))}.mdc-slider__value-indicator::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media(forced-colors: active){.mdc-slider__value-indicator::after{border-color:CanvasText}}.mdc-slider__value-indicator-text{text-align:center;width:var(--mat-slider-value-indicator-width, 28px);transform:var(--mat-slider-value-indicator-text-transform, rotate(45deg));font-family:var(--mat-slider-label-label-text-font, var(--mat-sys-label-medium-font));font-size:var(--mat-slider-label-label-text-size, var(--mat-sys-label-medium-size));font-weight:var(--mat-slider-label-label-text-weight, var(--mat-sys-label-medium-weight));line-height:var(--mat-slider-label-label-text-line-height, var(--mat-sys-label-medium-line-height));letter-spacing:var(--mat-slider-label-label-text-tracking, var(--mat-sys-label-medium-tracking))}.mdc-slider__thumb{-webkit-user-select:none;user-select:none;display:flex;left:-24px;outline:none;position:absolute;height:48px;width:48px;pointer-events:none}.mdc-slider--discrete .mdc-slider__thumb{transition:transform 80ms ease}.mdc-slider--disabled .mdc-slider__thumb{pointer-events:none}.mdc-slider__thumb--top{z-index:1}.mdc-slider__thumb-knob{position:absolute;box-sizing:border-box;left:50%;top:50%;transform:translate(-50%, -50%);border-style:solid;width:var(--mat-slider-handle-width, 20px);height:var(--mat-slider-handle-height, 20px);border-width:calc(var(--mat-slider-handle-height, 20px)/2) calc(var(--mat-slider-handle-width, 20px)/2);box-shadow:var(--mat-slider-handle-elevation, var(--mat-sys-level1));background-color:var(--mat-slider-handle-color, var(--mat-sys-primary));border-color:var(--mat-slider-handle-color, var(--mat-sys-primary));border-radius:var(--mat-slider-handle-shape, var(--mat-sys-corner-full))}.mdc-slider__thumb:hover .mdc-slider__thumb-knob{background-color:var(--mat-slider-hover-handle-color, var(--mat-sys-primary));border-color:var(--mat-slider-hover-handle-color, var(--mat-sys-primary))}.mdc-slider__thumb--focused .mdc-slider__thumb-knob{background-color:var(--mat-slider-focus-handle-color, var(--mat-sys-primary));border-color:var(--mat-slider-focus-handle-color, var(--mat-sys-primary))}.mdc-slider--disabled .mdc-slider__thumb-knob{background-color:var(--mat-slider-disabled-handle-color, var(--mat-sys-on-surface));border-color:var(--mat-slider-disabled-handle-color, var(--mat-sys-on-surface))}.mdc-slider__thumb--top .mdc-slider__thumb-knob,.mdc-slider__thumb--top.mdc-slider__thumb:hover .mdc-slider__thumb-knob,.mdc-slider__thumb--top.mdc-slider__thumb--focused .mdc-slider__thumb-knob{border:solid 1px #fff;box-sizing:content-box;border-color:var(--mat-slider-with-overlap-handle-outline-color, var(--mat-sys-on-primary));border-width:var(--mat-slider-with-overlap-handle-outline-width, 1px)}.mdc-slider__tick-marks{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;padding:0 1px;position:absolute;width:100%}.mdc-slider__tick-mark--active,.mdc-slider__tick-mark--inactive{width:var(--mat-slider-with-tick-marks-container-size, 2px);height:var(--mat-slider-with-tick-marks-container-size, 2px);border-radius:var(--mat-slider-with-tick-marks-container-shape, var(--mat-sys-corner-full))}.mdc-slider__tick-mark--inactive{opacity:var(--mat-slider-with-tick-marks-inactive-container-opacity, 0.38);background-color:var(--mat-slider-with-tick-marks-inactive-container-color, var(--mat-sys-on-surface-variant))}.mdc-slider--disabled .mdc-slider__tick-mark--inactive{opacity:var(--mat-slider-with-tick-marks-inactive-container-opacity, 0.38);background-color:var(--mat-slider-with-tick-marks-disabled-container-color, var(--mat-sys-on-surface))}.mdc-slider__tick-mark--active{opacity:var(--mat-slider-with-tick-marks-active-container-opacity, 0.38);background-color:var(--mat-slider-with-tick-marks-active-container-color, var(--mat-sys-on-primary))}.mdc-slider__input{cursor:pointer;left:2px;margin:0;height:44px;opacity:0;position:absolute;top:2px;width:44px;box-sizing:content-box}.mdc-slider__input.mat-mdc-slider-input-no-pointer-events{pointer-events:none}.mdc-slider__input.mat-slider__right-input{left:auto;right:0}.mat-mdc-slider{display:inline-block;box-sizing:border-box;outline:none;vertical-align:middle;cursor:pointer;height:48px;margin:0 8px;position:relative;touch-action:pan-y;width:auto;min-width:112px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-slider.mdc-slider--disabled{cursor:auto;opacity:.38}.mat-mdc-slider.mdc-slider--disabled .mdc-slider__input{cursor:auto}.mat-mdc-slider .mdc-slider__thumb,.mat-mdc-slider .mdc-slider__track--active_fill{transition-duration:0ms}.mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__thumb,.mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__track--active_fill{transition-duration:80ms}.mat-mdc-slider.mdc-slider--discrete .mdc-slider__thumb,.mat-mdc-slider.mdc-slider--discrete .mdc-slider__track--active_fill{transition-duration:0ms}.mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__thumb,.mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__track--active_fill{transition-duration:80ms}.mat-mdc-slider .mat-ripple .mat-ripple-element{background-color:var(--mat-slider-ripple-color, var(--mat-sys-primary))}.mat-mdc-slider .mat-ripple .mat-mdc-slider-hover-ripple{background-color:var(--mat-slider-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-primary) 5%, transparent))}.mat-mdc-slider .mat-ripple .mat-mdc-slider-focus-ripple,.mat-mdc-slider .mat-ripple .mat-mdc-slider-active-ripple{background-color:var(--mat-slider-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-primary) 20%, transparent))}.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__thumb,.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__track--active_fill,.mat-mdc-slider._mat-animation-noopable .mdc-slider__value-indicator{transition:none}.mat-mdc-slider .mat-focus-indicator::before{border-radius:50%}.mdc-slider__thumb--focused .mat-focus-indicator::before{content:""}
9
- `],encapsulation:2,changeDetection:0})}return n})();var Mn={provide:$e,useExisting:Ue(()=>xt),multi:!0};var xt=(()=>{class n{_ngZone=c(be);_elementRef=c(G);_cdr=c(W);_slider=c(wt);_platform=c(Ge);_listenerCleanups;get value(){return D(this._hostElement.value,0)}set value(e){e===null&&(e=this._getDefaultValue()),e=isNaN(e)?0:e;let i=e+"";if(!this._hasSetInitialValue){this._initialValue=i;return}this._isActive||this._setValue(i)}_setValue(e){this._hostElement.value=e,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges(),this._slider._cdr.markForCheck()}valueChange=new E;dragStart=new E;dragEnd=new E;get translateX(){return this._slider.min>=this._slider.max?(this._translateX=this._tickMarkOffset,this._translateX):(this._translateX===void 0&&(this._translateX=this._calcTranslateXByValue()),this._translateX)}set translateX(e){this._translateX=e}_translateX;thumbPosition=_.END;get min(){return D(this._hostElement.min,0)}set min(e){this._hostElement.min=e+"",this._cdr.detectChanges()}get max(){return D(this._hostElement.max,0)}set max(e){this._hostElement.max=e+"",this._cdr.detectChanges()}get step(){return D(this._hostElement.step,0)}set step(e){this._hostElement.step=e+"",this._cdr.detectChanges()}get disabled(){return M(this._hostElement.disabled)}set disabled(e){this._hostElement.disabled=e,this._cdr.detectChanges(),this._slider.disabled!==this.disabled&&(this._slider.disabled=this.disabled)}get percentage(){return this._slider.min>=this._slider.max?this._slider._isRtl?1:0:(this.value-this._slider.min)/(this._slider.max-this._slider.min)}get fillPercentage(){return this._slider._cachedWidth?this._translateX===0?0:this.translateX/this._slider._cachedWidth:this._slider._isRtl?1:0}_hostElement=this._elementRef.nativeElement;_valuetext=_e("");_knobRadius=8;_tickMarkOffset=3;_isActive=!1;_isFocused=!1;_setIsFocused(e){this._isFocused=e}_hasSetInitialValue=!1;_initialValue;_formControl;_destroyed=new ce;_skipUIUpdate=!1;_onChangeFn;_onTouchedFn=()=>{};_isControlInitialized=!1;constructor(){let e=c(Re);this._ngZone.runOutsideAngular(()=>{this._listenerCleanups=[e.listen(this._hostElement,"pointerdown",this._onPointerDown.bind(this)),e.listen(this._hostElement,"pointermove",this._onPointerMove.bind(this)),e.listen(this._hostElement,"pointerup",this._onPointerUp.bind(this))]})}ngOnDestroy(){this._listenerCleanups.forEach(e=>e()),this._destroyed.next(),this._destroyed.complete(),this.dragStart.complete(),this.dragEnd.complete()}initProps(){this._updateWidthInactive(),this.disabled!==this._slider.disabled&&(this._slider.disabled=!0),this.step=this._slider.step,this.min=this._slider.min,this.max=this._slider.max,this._initValue()}initUI(){this._updateThumbUIByValue()}_initValue(){this._hasSetInitialValue=!0,this._initialValue===void 0?this.value=this._getDefaultValue():(this._hostElement.value=this._initialValue,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges())}_getDefaultValue(){return this.min}_onBlur(){this._setIsFocused(!1),this._onTouchedFn()}_onFocus(){this._slider._setTransition(!1),this._slider._updateTrackUI(this),this._setIsFocused(!0)}_onChange(){this.valueChange.emit(this.value),this._isActive&&this._updateThumbUIByValue({withAnimation:!0})}_onInput(){this._onChangeFn?.(this.value),(this._slider.step||!this._isActive)&&this._updateThumbUIByValue({withAnimation:!0}),this._slider._onValueChange(this)}_onNgControlValueChange(){(!this._isActive||!this._isFocused)&&(this._slider._onValueChange(this),this._updateThumbUIByValue()),this._slider.disabled=this._formControl.disabled}_onPointerDown(e){if(!(this.disabled||e.button!==0)){if(this._platform.IOS){let i=this._slider._isCursorOnSliderThumb(e,this._slider._getThumb(this.thumbPosition)._hostElement.getBoundingClientRect());this._isActive=i,this._updateWidthActive(),this._slider._updateDimensions();return}this._isActive=!0,this._setIsFocused(!0),this._updateWidthActive(),this._slider._updateDimensions(),this._slider.step||this._updateThumbUIByPointerEvent(e,{withAnimation:!0}),this.disabled||(this._handleValueCorrection(e),this.dragStart.emit({source:this,parent:this._slider,value:this.value}))}}_handleValueCorrection(e){this._skipUIUpdate=!0,setTimeout(()=>{this._skipUIUpdate=!1,this._fixValue(e)},0)}_fixValue(e){let i=e.clientX-this._slider._cachedLeft,t=this._slider._cachedWidth,o=this._slider.step===0?1:this._slider.step,d=Math.floor((this._slider.max-this._slider.min)/o),l=this._slider._isRtl?1-i/t:i/t,Ui=Math.round(l*d)/d*(this._slider.max-this._slider.min)+this._slider.min,Mt=Math.round(Ui/o)*o,Wi=this.value;if(Mt===Wi){this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation});return}this.value=Mt,this.valueChange.emit(this.value),this._onChangeFn?.(this.value),this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation})}_onPointerMove(e){!this._slider.step&&this._isActive&&this._updateThumbUIByPointerEvent(e)}_onPointerUp(){this._isActive&&(this._isActive=!1,this._platform.SAFARI&&this._setIsFocused(!1),this.dragEnd.emit({source:this,parent:this._slider,value:this.value}),setTimeout(()=>this._updateWidthInactive(),this._platform.IOS?10:0))}_clamp(e){let i=this._tickMarkOffset,t=this._slider._cachedWidth-this._tickMarkOffset;return Math.max(Math.min(e,t),i)}_calcTranslateXByValue(){return this._slider._isRtl?(1-this.percentage)*(this._slider._cachedWidth-this._tickMarkOffset*2)+this._tickMarkOffset:this.percentage*(this._slider._cachedWidth-this._tickMarkOffset*2)+this._tickMarkOffset}_calcTranslateXByPointerEvent(e){return e.clientX-this._slider._cachedLeft}_updateWidthActive(){}_updateWidthInactive(){this._hostElement.style.padding=`0 ${this._slider._inputPadding}px`,this._hostElement.style.width=`calc(100% + ${this._slider._inputPadding-this._tickMarkOffset*2}px)`,this._hostElement.style.left=`-${this._slider._rippleRadius-this._tickMarkOffset}px`}_updateThumbUIByValue(e){this.translateX=this._clamp(this._calcTranslateXByValue()),this._updateThumbUI(e)}_updateThumbUIByPointerEvent(e,i){this.translateX=this._clamp(this._calcTranslateXByPointerEvent(e)),this._updateThumbUI(i)}_updateThumbUI(e){this._slider._setTransition(!!e?.withAnimation),this._slider._onTranslateXChange(this)}writeValue(e){(this._isControlInitialized||e!==null)&&(this.value=e)}registerOnChange(e){this._onChangeFn=e,this._isControlInitialized=!0}registerOnTouched(e){this._onTouchedFn=e}setDisabledState(e){this.disabled=e}focus(){this._hostElement.focus()}blur(){this._hostElement.blur()}static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["input","matSliderThumb",""]],hostAttrs:["type","range",1,"mdc-slider__input"],hostVars:1,hostBindings:function(i,t){i&1&&b("change",function(){return t._onChange()})("input",function(){return t._onInput()})("blur",function(){return t._onBlur()})("focus",function(){return t._onFocus()}),i&2&&L("aria-valuetext",t._valuetext())},inputs:{value:[2,"value","value",D]},outputs:{valueChange:"valueChange",dragStart:"dragStart",dragEnd:"dragEnd"},exportAs:["matSliderThumb"],features:[N([Mn,{provide:Pi,useExisting:n}])]})}return n})();var Oi=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=$({type:n});static \u0275inj=Y({imports:[ue,$t]})}return n})();var Tn=["displayForm"],En=()=>({standalone:!0});function In(n,f){if(n&1&&(a(0,"mat-panel-description",7),r(1," Adjust night mode settings to enhance visibility in low-light environments. "),s()),n&2){let e=k();h("hidden",e.isPhonePortrait().matches)}}function An(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Choose your preferred high-contrast theme. "),s())}function Rn(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Configure persistent dual\u2011panel chart & dashboards layout. "),s())}function Dn(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Configure remote dashboard operations between KIP instances. "),s())}var Fi=(()=>{class n{MODE_PATH="self.environment.mode";displayForm=ne("displayForm");_app=c(z);_settings=c(B);_responsive=c(Ze);_plugins=c(ui);_data=c(Je);isPhonePortrait;nightBrightness=_e(.27);autoNightMode=Z(!1);isRedNightMode=Z(!1);isLightTheme=Z(!1);isRemoteControl=Z(!1);instanceName=Z("");splitShellEnabled=Z(!1);splitShellSide=Z("left");splitShellSwipeDisabled=Z(!1);_pluginCheckSeq=0;LIGHT_THEME_NAME="light-theme";RED_NIGHT_MODE_THEME_NAME="night-theme";constructor(){this.isPhonePortrait=je(this._responsive.observe(Ye.HandsetPortrait))}ngOnInit(){this.nightBrightness.set(this._settings.getNightModeBrightness()),this.autoNightMode.set(this._settings.getAutoNightMode()),this.isLightTheme.set(this._settings.getThemeName()===this.LIGHT_THEME_NAME),this.isRedNightMode.set(this._settings.getRedNightMode()),this.isRemoteControl.set(this._settings.getIsRemoteControl()),this.instanceName.set(this._settings.getInstanceName()),this.splitShellEnabled.set(this._settings.getSplitShellEnabled()),this.splitShellSide.set(this._settings.getSplitShellSide()),this.splitShellSwipeDisabled.set(this._settings.getSplitShellSwipeDisabled())}saveAllSettings(){this._settings.setAutoNightMode(this.autoNightMode()),this._settings.setRedNightMode(this.isRedNightMode()),this._settings.setNightModeBrightness(this.nightBrightness()),this._settings.setIsRemoteControl(this.isRemoteControl()),this.isRemoteControl()?this._settings.setInstanceName(this.instanceName()):this._settings.setInstanceName(""),this._app.isNightMode()||this._app.setBrightness(1),this.isLightTheme()?this._settings.setThemeName(this.LIGHT_THEME_NAME):this._settings.setThemeName(""),this._settings.setSplitShellEnabled(this.splitShellEnabled()),this._settings.setSplitShellSide(this.splitShellSide()),this._settings.setSplitShellSwipeDisabled(this.splitShellSwipeDisabled()),this.displayForm().form.markAsPristine(),this._app.sendSnackbarNotification("Configuration saved",3e3,!1)}isAutoNightModeSupported(e){if(this.displayForm().form.markAsDirty(),!e.checked){this.autoNightMode.set(!1);return}let i=++this._pluginCheckSeq;this._plugins.isEnabled("derived-data").then(t=>{if(i!==this._pluginCheckSeq)return;if(!t){this.autoNightMode.set(!1),this._app.sendSnackbarNotification("Plugin Error: To enable Automatic Night Mode, verify that: 1) The Signal K Derived Data plugin is installed and enabled on the server. 2) The plugin's Sun: Sets environment.sun parameter is enabled. Restart the Signal K server and try again.",0);return}let o=this.validateAutoNightModeSupported();this.autoNightMode.set(o)}).catch(t=>{i===this._pluginCheckSeq&&(console.error("[Display Component] Error checking plugin status:",t),this.autoNightMode.set(!1))})}validateAutoNightModeSupported(){return this._data.getPathObject(this.MODE_PATH)?!0:(this._app.sendSnackbarNotification("Path Error: In Signal K, locate the Derived Data plugin and enable the 'Sets environment.sun' parameter under the 'Sun' group. Restart the Signal K server and try again.",0),!1)}setBrightness(e){this.displayForm().form.markAsDirty(),this.nightBrightness.set(e),this._app.setBrightness(e,this._app.isNightMode())}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-display"]],viewQuery:function(i,t){i&1&&ie(t.displayForm,Tn,5),i&2&&ye()},inputs:{autoNightMode:[1,"autoNightMode"],isRedNightMode:[1,"isRedNightMode"],isLightTheme:[1,"isLightTheme"],isRemoteControl:[1,"isRemoteControl"],instanceName:[1,"instanceName"],splitShellEnabled:[1,"splitShellEnabled"],splitShellSide:[1,"splitShellSide"],splitShellSwipeDisabled:[1,"splitShellSwipeDisabled"]},outputs:{autoNightMode:"autoNightModeChange",isRedNightMode:"isRedNightModeChange",isLightTheme:"isLightThemeChange",isRemoteControl:"isRemoteControlChange",instanceName:"instanceNameChange",splitShellEnabled:"splitShellEnabledChange",splitShellSide:"splitShellSideChange",splitShellSwipeDisabled:"splitShellSwipeDisabledChange"},decls:65,vars:23,consts:[["displayForm","ngForm"],["redNightModeToggle",""],["inputBrightness",""],["isFskShellEnabled",""],["isFskShellSwipeEnabled",""],["isRemoteControlCb",""],["id","displaySetting",3,"ngSubmit"],[3,"hidden"],["name","autoNightMode",1,"full-width","sliders",3,"change","ngModelChange","ngModel"],["name","redNightMode",1,"full-width","sliders",3,"ngModelChange","ngModel"],[2,"padding-left","10px"],["min","0","max","1","step","0.01","discrete","",3,"disabled"],["matSliderThumb","",3,"input","value","disabled"],["name","isLightTheme",1,"full-width",3,"ngModelChange","ngModel"],["name","freeboardShellEnabled",1,"full-width",3,"ngModelChange","ngModel"],[1,"optional-field"],["name","splitShellSide",3,"ngModelChange","ngModel","disabled"],["value","left"],["value","right"],["name","freeboardShellSwipeEnabled",1,"optional-field","full-width",3,"ngModelChange","ngModel","disabled"],["name","isRemoteControl",1,"full-width",3,"ngModelChange","ngModel"],["matInput","","name","instanceName","placeholder","Ex. Mast","required","",3,"ngModelChange","ngModel","ngModelOptions","disabled"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"]],template:function(i,t){if(i&1){let o=P();a(0,"form",6,0),b("ngSubmit",function(){return p(o),u(t.saveAllSettings())}),a(2,"p"),r(3,"Customize your display settings to improve visibility and adapt to various lighting conditions."),s(),a(4,"mat-accordion")(5,"mat-expansion-panel")(6,"mat-expansion-panel-header")(7,"mat-panel-title"),r(8," Night Mode "),s(),C(9,In,2,1,"mat-panel-description",7),s(),a(10,"mat-slide-toggle",8),b("change",function(l){return p(o),u(t.isAutoNightModeSupported(l))}),S("ngModelChange",function(l){return p(o),y(t.autoNightMode,l)||(t.autoNightMode=l),u(l)}),r(11," Automatically activate day and night modes based on sun phases. "),s(),a(12,"mat-slide-toggle",9,1),S("ngModelChange",function(l){return p(o),y(t.isRedNightMode,l)||(t.isRedNightMode=l),u(l)}),r(14," Enable red-only night mode. "),s(),a(15,"div",10),g(16,"br"),a(17,"span"),r(18,"Adjust Night Mode Brightness"),s(),g(19,"br"),a(20,"mat-slider",11)(21,"input",12,2),b("input",function(){p(o);let l=T(22);return u(t.setBrightness(+l.value))}),s()()()(),a(23,"mat-expansion-panel")(24,"mat-expansion-panel-header")(25,"mat-panel-title"),r(26," Theme "),s(),C(27,An,2,0,"mat-panel-description"),s(),a(28,"mat-slide-toggle",13),S("ngModelChange",function(l){return p(o),y(t.isLightTheme,l)||(t.isLightTheme=l),u(l)}),r(29," Enable light theme for brighter display settings. "),s()(),a(30,"mat-expansion-panel")(31,"mat-expansion-panel-header")(32,"mat-panel-title"),r(33," Chartplotter Mode "),s(),C(34,Rn,2,0,"mat-panel-description"),s(),a(35,"mat-slide-toggle",14,3),S("ngModelChange",function(l){return p(o),y(t.splitShellEnabled,l)||(t.splitShellEnabled=l),u(l)}),r(37," Enable Freeboard\u2011SK dual\u2011panel Chartplotter mode. "),s(),a(38,"mat-form-field",15)(39,"mat-label"),r(40,"Freeboard-SK panel side"),s(),a(41,"mat-select",16),S("ngModelChange",function(l){return p(o),y(t.splitShellSide,l)||(t.splitShellSide=l),u(l)}),a(42,"mat-option",17),r(43,"Left side"),s(),a(44,"mat-option",18),r(45,"Right side"),s()()(),a(46,"mat-slide-toggle",19,4),S("ngModelChange",function(l){return p(o),y(t.splitShellSwipeDisabled,l)||(t.splitShellSwipeDisabled=l),u(l)}),r(48," Disable swipe gestures over chart panel. "),s()(),a(49,"mat-expansion-panel")(50,"mat-expansion-panel-header")(51,"mat-panel-title"),r(52," Remote Control "),s(),C(53,Dn,2,0,"mat-panel-description"),s(),a(54,"mat-slide-toggle",20,5),S("ngModelChange",function(l){return p(o),y(t.isRemoteControl,l)||(t.isRemoteControl=l),u(l)}),r(56," Allow remote KIP instances to view and control this dashboard. "),s(),a(57,"mat-form-field",15)(58,"mat-label"),r(59,"Name of this instance"),s(),a(60,"input",21),b("ngModelChange",function(){p(o);let l=T(1);return u(l.form.markAsDirty())}),S("ngModelChange",function(l){return p(o),y(t.instanceName,l)||(t.instanceName=l),u(l)}),s()()()(),a(61,"div",22),g(62,"mat-divider",23),a(63,"button",24),r(64,"Save"),s()()()}if(i&2){let o=T(1),d=T(13),l=T(36),Oe=T(55);m(9),w(t.isPhonePortrait().matches?-1:9),m(),v("ngModel",t.autoNightMode),m(2),v("ngModel",t.isRedNightMode),m(5),he(d.checked?"mat-body-medium disable-color":"mat-body-medium"),m(3),h("disabled",d.checked),m(),h("value",t.nightBrightness())("disabled",d.checked),m(6),w(t.isPhonePortrait().matches?-1:27),m(),v("ngModel",t.isLightTheme),m(6),w(t.isPhonePortrait().matches?-1:34),m(),v("ngModel",t.splitShellEnabled),m(6),v("ngModel",t.splitShellSide),h("disabled",!l.checked),m(5),v("ngModel",t.splitShellSwipeDisabled),h("disabled",!l.checked),m(7),w(t.isPhonePortrait().matches?-1:53),m(),v("ngModel",t.isRemoteControl),m(6),v("ngModel",t.instanceName),h("ngModelOptions",Q(22,En))("disabled",!Oe.checked),m(3),h("disabled",!o.form.dirty)}},dependencies:[K,j,Me,X,q,se,oe,ae,de,H,Oi,Vi,xt,ct,dt,Ne,Ve,lt,rt,nt,ke,le,re,ht,ge,mi,Ee,Te],styles:[".optional-field[_ngcontent-%COMP%]{margin-left:55px;margin-top:10px}.sliders[_ngcontent-%COMP%]{margin:5px 0}.disable-color[_ngcontent-%COMP%]{color:var(--mat-sys-outline)}"]})}return n})();var Pn=()=>({standalone:!1});function Nn(n,f){n&1&&(a(0,"div"),r(1,' Writing to the server requires "Login to Server" authentication or a Device token '),s())}function Vn(n,f){if(n&1){let e=P();a(0,"div")(1,"mat-form-field",30)(2,"mat-label"),r(3,"Scope"),s(),a(4,"mat-select",31),S("ngModelChange",function(t){p(e);let o=k();return y(o.saveConfigScope,t)||(o.saveConfigScope=t),u(t)}),a(5,"mat-option",32),r(6," Global "),s(),a(7,"mat-option",33),r(8," User "),s()()(),a(9,"mat-form-field",34)(10,"mat-label"),r(11,"Configuration Name"),s(),a(12,"input",35),S("ngModelChange",function(t){p(e);let o=k();return y(o.saveConfigName,t)||(o.saveConfigName=t),u(t)}),s()(),C(13,Nn,2,0,"div"),s()}if(n&2){let e=k();m(4),v("ngModel",e.saveConfigScope),m(8),v("ngModel",e.saveConfigName),h("ngModelOptions",Q(4,Pn)),m(),w(e.hasToken?-1:13)}}function On(n,f){n&1&&(a(0,"div",9)(1,"p"),r(2,"Server authentication or Device Token required"),s()())}function Fn(n,f){if(n&1&&(a(0,"mat-option",38),r(1),s()),n&2){let e=f.$implicit;h("value",e),m(),gt(" ",e.scope," / ",e.name," ")}}function Ln(n,f){if(n&1){let e=P();a(0,"div")(1,"mat-form-field",36)(2,"mat-label"),r(3,"Configuration"),s(),a(4,"mat-select",37),S("ngModelChange",function(t){p(e);let o=k();return y(o.deleteConfigItem,t)||(o.deleteConfigItem=t),u(t)}),ee(5,Fn,2,3,"mat-option",38,Ot),s()()()}if(n&2){let e=k();m(4),v("ngModel",e.deleteConfigItem),m(),te(e.serverConfigList)}}function Un(n,f){n&1&&(a(0,"div",9)(1,"p"),r(2,"Authentication or Device Token required"),s()())}function Wn(n,f){if(n&1&&(a(0,"mat-option",38),r(1),s()),n&2){let e=f.$implicit;h("value",e),m(),gt(" ",e.scope," / ",e.name," ")}}function Bn(n,f){if(n&1&&(a(0,"div")(1,"mat-form-field",36)(2,"mat-label"),r(3,"Configuration"),s(),a(4,"mat-select",39),ee(5,Wn,2,3,"mat-option",38,ze),s()()()),n&2){let e=k();m(5),te(e.serverConfigList)}}function zn(n,f){n&1&&(a(0,"div",9)(1,"p"),r(2,"Authentication or Device Token required"),s()())}var Li=(()=>{class n{appSettingsService=c(B);storageSvc=c(jt);appService=c(z);auth=c(Ke);fb=c(di);pageTitle="Configurations";hasToken=!1;isTokenTypeDevice=!1;tokenSub;supportApplicationData=!1;serverConfigList=[];serverUpgradableConfigList=[];copyConfigForm;storageLocation=null;locations=["Local Storage","Server Storage"];saveConfigName=null;saveConfigScope=null;deleteConfigItem;jsonData=null;ngOnInit(){this.tokenSub=this.auth.authToken$.subscribe(e=>{e&&e.token?(this.hasToken=!0,this.isTokenTypeDevice=e.isDeviceAccessToken,e.isDeviceAccessToken?this.saveConfigScope="global":this.saveConfigScope="user"):this.hasToken=!1}),this.copyConfigForm=this.fb.group({sourceTarget:[{value:"",disabled:!1},oi.required]}),this.supportApplicationData=this.storageSvc.isAppDataSupported,this.hasToken&&this.getServerConfigList()}getServerConfigList(e){this.supportApplicationData&&this.storageSvc.listConfigs(e).then(i=>{let t=i.filter(o=>!(o.scope==="user"&&o.name==="default"));e?this.serverUpgradableConfigList=t:this.serverConfigList=t}).catch(i=>{switch(i.status){case 401:this.appService.sendSnackbarNotification("Application Storage Error: "+i.statusText+". Signal K configuration must meet the following requirements; 1) Security enabled. 2) Application Data Storage Interface: On. 3) Either Allow Readonly Access enabled, or connecting with a user.",0,!1);break;default:this.appService.sendSnackbarNotification("Error listing server configurations: "+i,3e3,!1);break}})}saveConfig(e,i,t,o,d){if(this.supportApplicationData){if(i==="user"&&t==="default"&&!d){this.appService.sendSnackbarNotification("Saving configuration with scope 'user' and name 'default' is not allowed.",5e3,!1);return}this.storageSvc.setConfig(i,t,e)?(this.appService.sendSnackbarNotification(`Configuration [${t}] saved to [${i}] storage scope`,5e3,!1),o||this.getServerConfigList()):this.appService.sendSnackbarNotification("Error saving configuration to server",0,!1)}}saveToLocalstorage(e){this.appSettingsService.replaceConfig("appConfig",e.app,!1),this.appSettingsService.replaceConfig("dashboardsConfig",e.dashboards,!1),this.appSettingsService.replaceConfig("themeConfig",e.theme,!1)}copyConfig(){return Fe(this,null,function*(){let e=null;try{yield this.storageSvc.getConfig(this.copyConfigForm.value.sourceTarget.scope,this.copyConfigForm.value.sourceTarget.name).then(i=>{e=i})}catch(i){this.appService.sendSnackbarNotification("Error retrieving configuration from server: "+i.statusText,3e3,!1);return}this.saveConfig(e,"user","default",!1,!0),this.appSettingsService.reloadApp()})}deleteConfig(e,i,t,o){this.storageSvc.removeItem(e,i,t),this.appService.sendSnackbarNotification(`Configuration [${i}] deleted from [${e}] storage scope`,5e3,!1),o||this.getServerConfigList()}resetConfigToDefault(){this.appSettingsService.resetSettings()}resetConnectionToDefault(){this.appSettingsService.resetConnection()}loadDemoConfig(){this.appSettingsService.loadDemoConfig()}getActiveConfig(){let e;return this.appSettingsService.useSharedConfig?e=this.getLocalConfigFromMemory():e=this.getLocalConfigFromLocalStorage(),e}getLocalConfigFromMemory(){return{app:this.appSettingsService.getAppConfig(),dashboards:this.appSettingsService.getDashboardConfig(),theme:this.appSettingsService.getThemeConfig()}}getLocalConfigFromLocalStorage(){return{app:this.appSettingsService.loadConfigFromLocalStorage("appConfig"),dashboards:this.appSettingsService.loadConfigFromLocalStorage("dashboardsConfig"),theme:this.appSettingsService.loadConfigFromLocalStorage("themeConfig")}}downloadJsonConfig(){let e=this.getActiveConfig(),i=JSON.stringify(e,null,2),t=new Blob([i],{type:"application/json"}),o=window.URL.createObjectURL(t),d=document.createElement("a");d.href=o,d.download="KipConfig.json",document.body.appendChild(d),d.click(),document.body.removeChild(d),window.URL.revokeObjectURL(o)}uploadJsonConfig(e){let t=e.target.files?.[0];if(t&&t.type==="application/json"){let o=new FileReader;o.onload=d=>{try{this.jsonData=JSON.parse(d.target?.result),this.hasToken?this.saveConfig(this.jsonData,"user","default",!1,!0):this.saveToLocalstorage(this.jsonData),this.appSettingsService.reloadApp()}catch(l){this.appService.sendSnackbarNotification("Invalid JSON file",3e3,!1),console.error("Invalid JSON file:",l)}},o.readAsText(t)}else this.appService.sendSnackbarNotification("Please select a valid JSON file",0,!1)}ngOnDestroy(){this.tokenSub.unsubscribe()}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-config"]],decls:93,vars:7,consts:[["saveConfigForm","ngForm"],["deleteConfigForm","ngForm"],["fileInput",""],[1,"page-content"],["routerLink","/help"],[1,"flex-container"],[1,"flex-item-rounded-card","rounded-card-color"],["name","saveConfigForm",3,"ngSubmit"],[2,"margin-bottom","16px"],[1,"no-token-notice"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit","color","accent",3,"disabled"],["name","deleteConfigForm",3,"ngSubmit"],[3,"ngSubmit","formGroup"],[1,"flex-item-reset","rounded-card-color"],[1,"config-operation-container",2,"margin-top","20px"],[1,"download-txt"],[1,"download-btn","btn-div"],["mat-flat-button","","type","button",1,"adv-btn",3,"click"],[1,"upload-txt"],[1,"upload-btn","btn-div"],["type","file","accept",".json","hidden","",3,"change"],["mat-flat-button","",1,"adv-btn",3,"click"],[1,"demo-txt"],[1,"demo-btn","btn-div"],[1,"reset-txt"],[1,"reset-btn","btn-div"],[1,"config-txt"],[1,"config-btn","btn-div"],[2,"width","25%"],["name","serverConfiScope","required","",3,"ngModelChange","ngModel"],["value","global"],["value","user"],[2,"width","70%","padding-left","3%"],["matInput","","name","serverConfigName","placeholder","Enter a name for the configuration","required","",3,"ngModelChange","ngModel","ngModelOptions"],[2,"width","100%"],["name","selectedDeleteItem","required","",3,"ngModelChange","ngModel"],[3,"value"],["formControlName","sourceTarget"]],template:function(i,t){if(i&1){let o=P();a(0,"div",3)(1,"p"),r(2," Recommended Reading: To understand configuration management and storage options, consult the "),a(3,"a",4),r(4,"Configuration Management Help"),s(),r(5," section. "),s(),a(6,"div",5)(7,"div",6)(8,"form",7,0),b("ngSubmit",function(){return p(o),u(t.saveConfig(t.getActiveConfig(),t.saveConfigScope,t.saveConfigName))}),a(10,"h2"),r(11,"Backup"),s(),a(12,"p",8),r(13," Create a backup of the current active configuration on the server. "),s(),C(14,Vn,14,5,"div")(15,On,3,0,"div",9),a(16,"div",10),g(17,"mat-divider",11),a(18,"button",12),r(19," Create "),s()()()(),a(20,"div",6)(21,"form",13,1),b("ngSubmit",function(){return p(o),u(t.deleteConfig(t.deleteConfigItem.scope,t.deleteConfigItem.name))}),a(23,"h2"),r(24,"Delete"),s(),a(25,"p",8),r(26," Select a backup configuration to permanently delete from the server. "),s(),C(27,Ln,7,1,"div")(28,Un,3,0,"div",9),a(29,"div",10),g(30,"mat-divider",11),a(31,"button",12),r(32," Delete "),s()()()(),a(33,"div",6)(34,"form",14),b("ngSubmit",function(){return p(o),u(t.copyConfig())}),a(35,"h2"),r(36,"Restore"),s(),a(37,"p",8),r(38," Replace the current configuration with a backup from the server. "),s(),C(39,Bn,7,0,"div")(40,zn,3,0,"div",9),a(41,"div",10),g(42,"mat-divider",11),a(43,"button",12),r(44," Restore "),s()()()(),a(45,"div",15)(46,"h2"),r(47,"Advanced"),s(),a(48,"div",16)(49,"div",17)(50,"p"),r(51,"To reuse your configuration on different devices, simply login using the same credential from any device (See "),a(52,"a",4),r(53,"Login & Configurations Help documentation"),s(),r(54," for more information). If you need to move your configuration between different Signal K servers, you can use Download to obtain a copy of the active configuration to a file."),s()(),a(55,"div",18)(56,"button",19),b("click",function(){return p(o),u(t.downloadJsonConfig())}),r(57," Download "),s()(),a(58,"div",20)(59,"p"),r(60," Select a configuration file to upload. The file must be a valid KIP configuration file of JSON format. "),g(61,"br"),a(62,"strong"),r(63,"WARNING: This will permanently overwrite active configuration."),s()()(),a(64,"div",21)(65,"input",22,2),b("change",function(l){return p(o),u(t.uploadJsonConfig(l))}),s(),a(67,"button",23),b("click",function(){p(o);let l=T(66);return u(l.click())}),r(68," Upload "),s()(),a(69,"div",24)(70,"p"),r(71," Load the demonstration configuration and connection to Signal K demo server. "),g(72,"br"),a(73,"strong"),r(74,"WARNING: This will permanently reset your active configuration."),s()()(),a(75,"div",25)(76,"button",19),b("click",function(){return p(o),u(t.loadDemoConfig())}),r(77," Demo "),s()(),a(78,"div",26)(79,"p"),r(80," Reset all your settings to default. The default configuration has a single Getting Started instruction widget. Your Signal K server connection settings will remain. "),g(81,"br"),a(82,"strong"),r(83,"WARNING: This will permanently reset your active configuration."),s()()(),a(84,"div",27)(85,"button",19),b("click",function(){return p(o),u(t.resetConfigToDefault())}),r(86," Default "),s()(),a(87,"div",28)(88,"p"),r(89," Clear the current connection configuration. This only affects Connectivity settings tab. "),s()(),a(90,"div",29)(91,"button",19),b("click",function(){return p(o),u(t.resetConnectionToDefault())}),r(92," Connection "),s()()()()()()}if(i&2){let o=T(9),d=T(22);m(14),w(t.hasToken?14:15),m(4),h("disabled",!t.hasToken||!o.valid),m(9),w(t.hasToken?27:28),m(4),h("disabled",!t.hasToken||!d.valid),m(3),h("formGroup",t.copyConfigForm),m(5),w(t.hasToken?39:40),m(4),h("disabled",!t.copyConfigForm.valid)}},dependencies:[Kt,K,j,Me,X,q,se,oe,ae,de,H,le,re,Ee,Te,ke,it,et,tt,nt],styles:['[_nghost-%COMP%]{display:block;height:100%;width:100%}.page-content[_ngcontent-%COMP%]{width:100%;height:calc(100% - 63px);overflow-y:auto;scroll-behavior:smooth;padding:0 24px 10px}.flex-item-copy[_ngcontent-%COMP%]{flex:2 1 41%;padding:10px 20px;border-radius:15px}.flex-item-reset[_ngcontent-%COMP%]{flex:1 1 100%;padding:10px 20px;border-radius:15px}a[_ngcontent-%COMP%]{font-size:14px}a[_ngcontent-%COMP%]:hover{text-decoration:underline;cursor:pointer}a[_ngcontent-%COMP%]:link, a[_ngcontent-%COMP%]:visited{color:#8ab4f8;text-decoration:none}.warningText[_ngcontent-%COMP%]{padding-left:15px}.no-token-notice[_ngcontent-%COMP%]{height:58px;contain:content;text-align:center;font-style:italic}.mat-mdc-radio-button[_ngcontent-%COMP%] ~ .mat-radio-button[_ngcontent-%COMP%]{margin-right:16px;margin-left:16px}.config-column[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-basis:100%;flex:1;margin:0 10px}.sources-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:15px 0}.sources-radio-button[_ngcontent-%COMP%]{margin:5px;margin-left:0!important}.select-config[_ngcontent-%COMP%]{margin-left:0}.config-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.btn-div[_ngcontent-%COMP%]{align-self:center}.adv-btn[_ngcontent-%COMP%]{width:100%}.config-operation-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:[col-start] auto [col1-end] min-content [col2-end];grid-template-rows:[row-start] max-content [row1-end] max-content [row2-end];grid-template-areas:"download-txt download-btn" "upload-txt upload-btn" "demo-txt demo-btn" "reset-txt reset-btn" "config-txt config-btn";row-gap:20px;column-gap:10px}.upload-txt[_ngcontent-%COMP%]{grid-area:upload-txt}.upload-btn[_ngcontent-%COMP%]{grid-area:upload-btn}.download-txt[_ngcontent-%COMP%]{grid-area:download-txt}.download-btn[_ngcontent-%COMP%]{grid-area:download-btn}.demo-txt[_ngcontent-%COMP%]{grid-area:demo-txt}.demo-btn[_ngcontent-%COMP%]{grid-area:demo-btn}.reset-txt[_ngcontent-%COMP%]{grid-area:reset-txt}.reset-btn[_ngcontent-%COMP%]{grid-area:reset-btn}.config-txt[_ngcontent-%COMP%]{grid-area:config-txt}.config-btn[_ngcontent-%COMP%]{grid-area:config-btn}']})}return n})();var Qs=(()=>{class n{pageTitle="Settings";constructor(){}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["tabs"]],decls:12,vars:1,consts:[[3,"pageTitle"],[1,"content-area"],["label","Connectivity"],[1,"tab-content"],["label","Display"],["label","Notifications & Audio"],["label","Units"],["label","Configurations"]],template:function(i,t){i&1&&(g(0,"page-header",0),a(1,"mat-tab-group",1)(2,"mat-tab",2),g(3,"settings-signalk",3),s(),a(4,"mat-tab",4),g(5,"settings-display",3),s(),a(6,"mat-tab",5),g(7,"settings-notifications",3),s(),a(8,"mat-tab",6),g(9,"settings-units",3),s(),a(10,"mat-tab",7),g(11,"settings-config",3),s()()),i&2&&h("pageTitle",t.pageTitle)},dependencies:[_i,gi,Di,Ai,Ci,Fi,Li,Si],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}.content-area[_ngcontent-%COMP%]{height:calc(100% - 63px);overflow:hidden;width:100%;padding:0 24px}.tab-content[_ngcontent-%COMP%]{overflow-y:auto;width:100%;scroll-behavior:smooth;display:block}"]})}return n})();export{Qs as TabsComponent};
7
+ `,t.streamStatus.message,", ",t.streamStatus.hasToken?"Logged In":"Readonly")}},dependencies:[K,j,Me,X,q,se,li,oe,ae,le,re,ke,ci,ot,ue,yi,H],styles:[".server-status[_ngcontent-%COMP%]{background-color:var(--kip-contrast-dimmer-color);margin:1% 5% 0%;padding:10px 20px 20px}.flex-item-chart[_ngcontent-%COMP%]{flex:1 1 250px;position:relative;margin:0;height:150px;width:100%;border:2px inset;border-color:var(--kip-contrast-color)}.connect-btn[_ngcontent-%COMP%]{margin-left:15px}.credentials-btn[_ngcontent-%COMP%]{margin:7px 0 4px 20px}.connect-table[_ngcontent-%COMP%]{width:100%;vertical-align:middle}.connectUrlInput[_ngcontent-%COMP%], .url-cell[_ngcontent-%COMP%]{width:100%}.connect-cell[_ngcontent-%COMP%]{width:fit-content;vertical-align:middle}.flex-item-detail[_ngcontent-%COMP%]{flex:0 0 290px}.fit[_ngcontent-%COMP%]{width:fit-content}tr[_ngcontent-%COMP%]{vertical-align:top}.tableCellLabel[_ngcontent-%COMP%]{display:table-cell;text-align:right;padding:5px}.tableCellData[_ngcontent-%COMP%]{display:table-cell;margin:0!important;padding:5px}.activity-container[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;width:100%;gap:10px}.activity-graph-container[_ngcontent-%COMP%]{height:100px;width:230px;padding:23px 0 0 15px}.activity-graph[_ngcontent-%COMP%]{border:1px solid var(--mat-sys-outline-variant);background-color:var(--mat-sys-background)}.info-container[_ngcontent-%COMP%]{height:123px;align-content:center;font-size:11px}"]})}return n})();var gn=["knob"],un=["valueIndicatorContainer"];function _n(n,f){if(n&1&&(a(0,"div",2,1)(2,"div",5)(3,"span",6),r(4),s()()()),n&2){let e=k();m(4),De(e.valueIndicatorText)}}var fn=["trackActive"],bn=["*"];function vn(n,f){if(n&1&&u(0,"div"),n&2){let e=f.$implicit,i=f.$index,t=k(3);he(e===0?"mdc-slider__tick-mark--active":"mdc-slider__tick-mark--inactive"),Xe("transform",t._calcTickMarkTransform(i))}}function yn(n,f){if(n&1&&ee(0,vn,1,4,"div",8,ze),n&2){let e=k(2);te(e._tickMarks)}}function Sn(n,f){if(n&1&&(a(0,"div",6,1),C(2,yn,2,0),s()),n&2){let e=k();m(2),w(e._cachedWidth?2:-1)}}function Cn(n,f){if(n&1&&u(0,"mat-slider-visual-thumb",7),n&2){let e=k();h("discrete",e.discrete)("thumbPosition",1)("valueIndicatorText",e.startValueIndicatorText)}}var _=(function(n){return n[n.START=1]="START",n[n.END=2]="END",n})(_||{}),Ie=(function(n){return n[n.ACTIVE=0]="ACTIVE",n[n.INACTIVE=1]="INACTIVE",n})(Ie||{}),wt=new R("_MatSlider"),Pi=new R("_MatSliderThumb"),wn=new R("_MatSliderRangeThumb"),Ni=new R("_MatSliderVisualThumb");var xn=(()=>{class n{_cdr=c(W);_ngZone=c(be);_slider=c(wt);_renderer=c(Re);_listenerCleanups;discrete;thumbPosition;valueIndicatorText;_ripple;_knob;_valueIndicatorContainer;_sliderInput;_sliderInputEl;_hoverRippleRef;_focusRippleRef;_activeRippleRef;_isHovered=!1;_isActive=!1;_isValueIndicatorVisible=!1;_hostElement=c(G).nativeElement;_platform=c(Ge);constructor(){}ngAfterViewInit(){let e=this._slider._getInput(this.thumbPosition);e&&(this._ripple.radius=24,this._sliderInput=e,this._sliderInputEl=this._sliderInput._hostElement,this._ngZone.runOutsideAngular(()=>{let i=this._sliderInputEl,t=this._renderer;this._listenerCleanups=[t.listen(i,"pointermove",this._onPointerMove),t.listen(i,"pointerdown",this._onDragStart),t.listen(i,"pointerup",this._onDragEnd),t.listen(i,"pointerleave",this._onMouseLeave),t.listen(i,"focus",this._onFocus),t.listen(i,"blur",this._onBlur)]}))}ngOnDestroy(){this._listenerCleanups?.forEach(e=>e())}_onPointerMove=e=>{if(this._sliderInput._isFocused)return;let i=this._hostElement.getBoundingClientRect(),t=this._slider._isCursorOnSliderThumb(e,i);this._isHovered=t,t?this._showHoverRipple():this._hideRipple(this._hoverRippleRef)};_onMouseLeave=()=>{this._isHovered=!1,this._hideRipple(this._hoverRippleRef)};_onFocus=()=>{this._hideRipple(this._hoverRippleRef),this._showFocusRipple(),this._hostElement.classList.add("mdc-slider__thumb--focused")};_onBlur=()=>{this._isActive||this._hideRipple(this._focusRippleRef),this._isHovered&&this._showHoverRipple(),this._hostElement.classList.remove("mdc-slider__thumb--focused")};_onDragStart=e=>{e.button===0&&(this._isActive=!0,this._showActiveRipple())};_onDragEnd=()=>{this._isActive=!1,this._hideRipple(this._activeRippleRef),this._sliderInput._isFocused||this._hideRipple(this._focusRippleRef),this._platform.SAFARI&&this._showHoverRipple()};_showHoverRipple(){this._isShowingRipple(this._hoverRippleRef)||(this._hoverRippleRef=this._showRipple({enterDuration:0,exitDuration:0}),this._hoverRippleRef?.element.classList.add("mat-mdc-slider-hover-ripple"))}_showFocusRipple(){this._isShowingRipple(this._focusRippleRef)||(this._focusRippleRef=this._showRipple({enterDuration:0,exitDuration:0},!0),this._focusRippleRef?.element.classList.add("mat-mdc-slider-focus-ripple"))}_showActiveRipple(){this._isShowingRipple(this._activeRippleRef)||(this._activeRippleRef=this._showRipple({enterDuration:225,exitDuration:400}),this._activeRippleRef?.element.classList.add("mat-mdc-slider-active-ripple"))}_isShowingRipple(e){return e?.state===bt.FADING_IN||e?.state===bt.VISIBLE}_showRipple(e,i){if(!this._slider.disabled&&(this._showValueIndicator(),this._slider._isRange&&this._slider._getThumb(this.thumbPosition===_.START?_.END:_.START)._showValueIndicator(),!(this._slider._globalRippleOptions?.disabled&&!i)))return this._ripple.launch({animation:this._slider._noopAnimations?{enterDuration:0,exitDuration:0}:e,centered:!0,persistent:!0})}_hideRipple(e){if(e?.fadeOut(),this._isShowingAnyRipple())return;this._slider._isRange||this._hideValueIndicator();let i=this._getSibling();i._isShowingAnyRipple()||(this._hideValueIndicator(),i._hideValueIndicator())}_showValueIndicator(){this._hostElement.classList.add("mdc-slider__thumb--with-indicator")}_hideValueIndicator(){this._hostElement.classList.remove("mdc-slider__thumb--with-indicator")}_getSibling(){return this._slider._getThumb(this.thumbPosition===_.START?_.END:_.START)}_getValueIndicatorContainer(){return this._valueIndicatorContainer?.nativeElement}_getKnob(){return this._knob.nativeElement}_isShowingAnyRipple(){return this._isShowingRipple(this._hoverRippleRef)||this._isShowingRipple(this._focusRippleRef)||this._isShowingRipple(this._activeRippleRef)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-slider-visual-thumb"]],viewQuery:function(i,t){if(i&1&&(O(Pe,5),O(gn,5),O(un,5)),i&2){let o;I(o=A())&&(t._ripple=o.first),I(o=A())&&(t._knob=o.first),I(o=A())&&(t._valueIndicatorContainer=o.first)}},hostAttrs:[1,"mdc-slider__thumb","mat-mdc-slider-visual-thumb"],inputs:{discrete:"discrete",thumbPosition:"thumbPosition",valueIndicatorText:"valueIndicatorText"},features:[N([{provide:Ni,useExisting:n}])],decls:4,vars:2,consts:[["knob",""],["valueIndicatorContainer",""],[1,"mdc-slider__value-indicator-container"],[1,"mdc-slider__thumb-knob"],["matRipple","",1,"mat-focus-indicator",3,"matRippleDisabled"],[1,"mdc-slider__value-indicator"],[1,"mdc-slider__value-indicator-text"]],template:function(i,t){i&1&&(C(0,_n,5,1,"div",2),u(1,"div",3,0)(3,"div",4)),i&2&&(w(t.discrete?0:-1),m(3),h("matRippleDisabled",!0))},dependencies:[Pe],styles:[`.mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}.mat-mdc-slider .mdc-slider__tick-marks{justify-content:start}.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--active,.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--inactive{position:absolute;left:2px}
8
+ `],encapsulation:2,changeDetection:0})}return n})(),Vi=(()=>{class n{_ngZone=c(be);_cdr=c(W);_elementRef=c(G);_dir=c(Zt,{optional:!0});_globalRippleOptions=c(Yt,{optional:!0});_trackActive;_thumbs;_input;_inputs;get disabled(){return this._disabled}set disabled(e){this._disabled=e;let i=this._getInput(_.END),t=this._getInput(_.START);i&&(i.disabled=this._disabled),t&&(t.disabled=this._disabled)}_disabled=!1;get discrete(){return this._discrete}set discrete(e){this._discrete=e,this._updateValueIndicatorUIs()}_discrete=!1;get showTickMarks(){return this._showTickMarks}set showTickMarks(e){this._showTickMarks=e,this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI())}_showTickMarks=!1;get min(){return this._min}set min(e){let i=e==null||isNaN(e)?this._min:e;this._min!==i&&this._updateMin(i)}_min=0;color;disableRipple=!1;_updateMin(e){let i=this._min;this._min=e,this._isRange?this._updateMinRange({old:i,new:e}):this._updateMinNonRange(e),this._onMinMaxOrStepChange()}_updateMinRange(e){let i=this._getInput(_.END),t=this._getInput(_.START),o=i.value,d=t.value;t.min=e.new,i.min=Math.max(e.new,t.value),t.max=Math.min(i.max,i.value),t._updateWidthInactive(),i._updateWidthInactive(),e.new<e.old?this._onTranslateXChangeBySideEffect(i,t):this._onTranslateXChangeBySideEffect(t,i),o!==i.value&&this._onValueChange(i),d!==t.value&&this._onValueChange(t)}_updateMinNonRange(e){let i=this._getInput(_.END);if(i){let t=i.value;i.min=e,i._updateThumbUIByValue(),this._updateTrackUI(i),t!==i.value&&this._onValueChange(i)}}get max(){return this._max}set max(e){let i=e==null||isNaN(e)?this._max:e;this._max!==i&&this._updateMax(i)}_max=100;_updateMax(e){let i=this._max;this._max=e,this._isRange?this._updateMaxRange({old:i,new:e}):this._updateMaxNonRange(e),this._onMinMaxOrStepChange()}_updateMaxRange(e){let i=this._getInput(_.END),t=this._getInput(_.START),o=i.value,d=t.value;i.max=e.new,t.max=Math.min(e.new,i.value),i.min=t.value,i._updateWidthInactive(),t._updateWidthInactive(),e.new>e.old?this._onTranslateXChangeBySideEffect(t,i):this._onTranslateXChangeBySideEffect(i,t),o!==i.value&&this._onValueChange(i),d!==t.value&&this._onValueChange(t)}_updateMaxNonRange(e){let i=this._getInput(_.END);if(i){let t=i.value;i.max=e,i._updateThumbUIByValue(),this._updateTrackUI(i),t!==i.value&&this._onValueChange(i)}}get step(){return this._step}set step(e){let i=isNaN(e)?this._step:e;this._step!==i&&this._updateStep(i)}_step=1;_updateStep(e){this._step=e,this._isRange?this._updateStepRange():this._updateStepNonRange(),this._onMinMaxOrStepChange()}_updateStepRange(){let e=this._getInput(_.END),i=this._getInput(_.START),t=e.value,o=i.value,d=i.value;e.min=this._min,i.max=this._max,e.step=this._step,i.step=this._step,this._platform.SAFARI&&(e.value=e.value,i.value=i.value),e.min=Math.max(this._min,i.value),i.max=Math.min(this._max,e.value),i._updateWidthInactive(),e._updateWidthInactive(),e.value<d?this._onTranslateXChangeBySideEffect(i,e):this._onTranslateXChangeBySideEffect(e,i),t!==e.value&&this._onValueChange(e),o!==i.value&&this._onValueChange(i)}_updateStepNonRange(){let e=this._getInput(_.END);if(e){let i=e.value;e.step=this._step,this._platform.SAFARI&&(e.value=e.value),e._updateThumbUIByValue(),i!==e.value&&this._onValueChange(e)}}displayWith=e=>`${e}`;_tickMarks;_noopAnimations=we();_dirChangeSubscription;_resizeObserver;_cachedWidth;_cachedLeft;_rippleRadius=24;startValueIndicatorText="";endValueIndicatorText="";_endThumbTransform;_startThumbTransform;_isRange=!1;_isRtl=!1;_hasViewInitialized=!1;_tickMarkTrackWidth=0;_hasAnimation=!1;_resizeTimer=null;_platform=c(Ge);constructor(){c(Ce).load(xe),this._dir&&(this._dirChangeSubscription=this._dir.change.subscribe(()=>this._onDirChange()),this._isRtl=this._dir.value==="rtl")}_knobRadius=8;_inputPadding;ngAfterViewInit(){this._platform.isBrowser&&this._updateDimensions();let e=this._getInput(_.END),i=this._getInput(_.START);this._isRange=!!e&&!!i,this._cdr.detectChanges();let t=this._getThumb(_.END);this._rippleRadius=t._ripple.radius,this._inputPadding=this._rippleRadius-this._knobRadius,this._isRange?this._initUIRange(e,i):this._initUINonRange(e),this._updateTrackUI(e),this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._observeHostResize(),this._cdr.detectChanges()}_initUINonRange(e){e.initProps(),e.initUI(),this._updateValueIndicatorUI(e),this._hasViewInitialized=!0,e._updateThumbUIByValue()}_initUIRange(e,i){e.initProps(),e.initUI(),i.initProps(),i.initUI(),e._updateMinMax(),i._updateMinMax(),e._updateStaticStyles(),i._updateStaticStyles(),this._updateValueIndicatorUIs(),this._hasViewInitialized=!0,e._updateThumbUIByValue(),i._updateThumbUIByValue()}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._resizeObserver?.disconnect(),this._resizeObserver=null}_onDirChange(){this._isRtl=this._dir?.value==="rtl",this._isRange?this._onDirChangeRange():this._onDirChangeNonRange(),this._updateTickMarkUI()}_onDirChangeRange(){let e=this._getInput(_.END),i=this._getInput(_.START);e._setIsLeftThumb(),i._setIsLeftThumb(),e.translateX=e._calcTranslateXByValue(),i.translateX=i._calcTranslateXByValue(),e._updateStaticStyles(),i._updateStaticStyles(),e._updateWidthInactive(),i._updateWidthInactive(),e._updateThumbUIByValue(),i._updateThumbUIByValue()}_onDirChangeNonRange(){this._getInput(_.END)._updateThumbUIByValue()}_observeHostResize(){typeof ResizeObserver>"u"||!ResizeObserver||this._ngZone.runOutsideAngular(()=>{this._resizeObserver=new ResizeObserver(()=>{this._isActive()||(this._resizeTimer&&clearTimeout(this._resizeTimer),this._onResize())}),this._resizeObserver.observe(this._elementRef.nativeElement)})}_isActive(){return this._getThumb(_.START)._isActive||this._getThumb(_.END)._isActive}_getValue(e=_.END){let i=this._getInput(e);return i?i.value:this.min}_skipUpdate(){return!!(this._getInput(_.START)?._skipUIUpdate||this._getInput(_.END)?._skipUIUpdate)}_updateDimensions(){this._cachedWidth=this._elementRef.nativeElement.offsetWidth,this._cachedLeft=this._elementRef.nativeElement.getBoundingClientRect().left}_setTrackActiveStyles(e){let i=this._trackActive.nativeElement.style;i.left=e.left,i.right=e.right,i.transformOrigin=e.transformOrigin,i.transform=e.transform}_calcTickMarkTransform(e){let i=e*(this._tickMarkTrackWidth/(this._tickMarks.length-1));return`translateX(${this._isRtl?this._cachedWidth-6-i:i}px`}_onTranslateXChange(e){this._hasViewInitialized&&(this._updateThumbUI(e),this._updateTrackUI(e),this._updateOverlappingThumbUI(e))}_onTranslateXChangeBySideEffect(e,i){this._hasViewInitialized&&(e._updateThumbUIByValue(),i._updateThumbUIByValue())}_onValueChange(e){this._hasViewInitialized&&(this._updateValueIndicatorUI(e),this._updateTickMarkUI(),this._cdr.detectChanges())}_onMinMaxOrStepChange(){this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.markForCheck())}_onResize(){if(this._hasViewInitialized){if(this._updateDimensions(),this._isRange){let e=this._getInput(_.END),i=this._getInput(_.START);e._updateThumbUIByValue(),i._updateThumbUIByValue(),e._updateStaticStyles(),i._updateStaticStyles(),e._updateMinMax(),i._updateMinMax(),e._updateWidthInactive(),i._updateWidthInactive()}else{let e=this._getInput(_.END);e&&e._updateThumbUIByValue()}this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.detectChanges()}}_thumbsOverlap=!1;_areThumbsOverlapping(){let e=this._getInput(_.START),i=this._getInput(_.END);return!e||!i?!1:i.translateX-e.translateX<20}_updateOverlappingThumbClassNames(e){let i=e.getSibling(),t=this._getThumb(e.thumbPosition);this._getThumb(i.thumbPosition)._hostElement.classList.remove("mdc-slider__thumb--top"),t._hostElement.classList.toggle("mdc-slider__thumb--top",this._thumbsOverlap)}_updateOverlappingThumbUI(e){!this._isRange||this._skipUpdate()||this._thumbsOverlap!==this._areThumbsOverlapping()&&(this._thumbsOverlap=!this._thumbsOverlap,this._updateOverlappingThumbClassNames(e))}_updateThumbUI(e){if(this._skipUpdate())return;let i=this._getThumb(e.thumbPosition===_.END?_.END:_.START);i._hostElement.style.transform=`translateX(${e.translateX}px)`}_updateValueIndicatorUI(e){if(this._skipUpdate())return;let i=this.displayWith(e.value);if(this._hasViewInitialized?e._valuetext.set(i):e._hostElement.setAttribute("aria-valuetext",i),this.discrete){e.thumbPosition===_.START?this.startValueIndicatorText=i:this.endValueIndicatorText=i;let t=this._getThumb(e.thumbPosition);i.length<3?t._hostElement.classList.add("mdc-slider__thumb--short-value"):t._hostElement.classList.remove("mdc-slider__thumb--short-value")}}_updateValueIndicatorUIs(){let e=this._getInput(_.END),i=this._getInput(_.START);e&&this._updateValueIndicatorUI(e),i&&this._updateValueIndicatorUI(i)}_updateTickMarkTrackUI(){if(!this.showTickMarks||this._skipUpdate())return;let e=this._step&&this._step>0?this._step:1,t=(Math.floor(this.max/e)*e-this.min)/(this.max-this.min);this._tickMarkTrackWidth=(this._cachedWidth-6)*t}_updateTrackUI(e){this._skipUpdate()||(this._isRange?this._updateTrackUIRange(e):this._updateTrackUINonRange(e))}_updateTrackUIRange(e){let i=e.getSibling();if(!i||!this._cachedWidth)return;let t=Math.abs(i.translateX-e.translateX)/this._cachedWidth;e._isLeftThumb&&this._cachedWidth?this._setTrackActiveStyles({left:"auto",right:`${this._cachedWidth-i.translateX}px`,transformOrigin:"right",transform:`scaleX(${t})`}):this._setTrackActiveStyles({left:`${i.translateX}px`,right:"auto",transformOrigin:"left",transform:`scaleX(${t})`})}_updateTrackUINonRange(e){this._isRtl?this._setTrackActiveStyles({left:"auto",right:"0px",transformOrigin:"right",transform:`scaleX(${1-e.fillPercentage})`}):this._setTrackActiveStyles({left:"0px",right:"auto",transformOrigin:"left",transform:`scaleX(${e.fillPercentage})`})}_updateTickMarkUI(){if(!this.showTickMarks||this.step===void 0||this.min===void 0||this.max===void 0)return;let e=this.step>0?this.step:1;this._isRange?this._updateTickMarkUIRange(e):this._updateTickMarkUINonRange(e)}_updateTickMarkUINonRange(e){let i=this._getValue(),t=Math.max(Math.round((i-this.min)/e),0)+1,o=Math.max(Math.round((this.max-i)/e),0)-1;this._isRtl?t++:o++,this._tickMarks=Array(t).fill(Ie.ACTIVE).concat(Array(o).fill(Ie.INACTIVE))}_updateTickMarkUIRange(e){let i=this._getValue(),t=this._getValue(_.START),o=Math.max(Math.round((t-this.min)/e),0),d=Math.max(Math.round((i-t)/e)+1,0),l=Math.max(Math.round((this.max-i)/e),0);this._tickMarks=Array(o).fill(Ie.INACTIVE).concat(Array(d).fill(Ie.ACTIVE),Array(l).fill(Ie.INACTIVE))}_getInput(e){if(e===_.END&&this._input)return this._input;if(this._inputs?.length)return e===_.START?this._inputs.first:this._inputs.last}_getThumb(e){return e===_.END?this._thumbs?.last:this._thumbs?.first}_setTransition(e){this._hasAnimation=!this._platform.IOS&&e&&!this._noopAnimations,this._elementRef.nativeElement.classList.toggle("mat-mdc-slider-with-animation",this._hasAnimation)}_isCursorOnSliderThumb(e,i){let t=i.width/2,o=i.x+t,d=i.y+t,l=e.clientX-o,Oe=e.clientY-d;return Math.pow(l,2)+Math.pow(Oe,2)<Math.pow(t,2)}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["mat-slider"]],contentQueries:function(i,t,o){if(i&1&&(ve(o,Pi,5),ve(o,wn,4)),i&2){let d;I(d=A())&&(t._input=d.first),I(d=A())&&(t._inputs=d)}},viewQuery:function(i,t){if(i&1&&(O(fn,5),O(Ni,5)),i&2){let o;I(o=A())&&(t._trackActive=o.first),I(o=A())&&(t._thumbs=o)}},hostAttrs:[1,"mat-mdc-slider","mdc-slider"],hostVars:12,hostBindings:function(i,t){i&2&&(he("mat-"+(t.color||"primary")),U("mdc-slider--range",t._isRange)("mdc-slider--disabled",t.disabled)("mdc-slider--discrete",t.discrete)("mdc-slider--tick-marks",t.showTickMarks)("_mat-animation-noopable",t._noopAnimations))},inputs:{disabled:[2,"disabled","disabled",M],discrete:[2,"discrete","discrete",M],showTickMarks:[2,"showTickMarks","showTickMarks",M],min:[2,"min","min",D],color:"color",disableRipple:[2,"disableRipple","disableRipple",M],max:[2,"max","max",D],step:[2,"step","step",D],displayWith:"displayWith"},exportAs:["matSlider"],features:[N([{provide:wt,useExisting:n}])],ngContentSelectors:bn,decls:9,vars:5,consts:[["trackActive",""],["tickMarkContainer",""],[1,"mdc-slider__track"],[1,"mdc-slider__track--inactive"],[1,"mdc-slider__track--active"],[1,"mdc-slider__track--active_fill"],[1,"mdc-slider__tick-marks"],[3,"discrete","thumbPosition","valueIndicatorText"],[3,"class","transform"]],template:function(i,t){i&1&&(me(),V(0),a(1,"div",2),u(2,"div",3),a(3,"div",4),u(4,"div",5,0),s(),C(6,Sn,3,1,"div",6),s(),C(7,Cn,1,3,"mat-slider-visual-thumb",7),u(8,"mat-slider-visual-thumb",7)),i&2&&(m(6),w(t.showTickMarks?6:-1),m(),w(t._isRange?7:-1),m(),h("discrete",t.discrete)("thumbPosition",2)("valueIndicatorText",t.endValueIndicatorText))},dependencies:[xn],styles:[`.mdc-slider__track{position:absolute;top:50%;transform:translateY(-50%);width:100%;pointer-events:none;height:var(--mat-slider-inactive-track-height, 4px)}.mdc-slider__track--active,.mdc-slider__track--inactive{display:flex;height:100%;position:absolute;width:100%}.mdc-slider__track--active{overflow:hidden;border-radius:var(--mat-slider-active-track-shape, var(--mat-sys-corner-full));height:var(--mat-slider-active-track-height, 4px);top:calc((var(--mat-slider-inactive-track-height, 4px) - var(--mat-slider-active-track-height, 4px))/2)}.mdc-slider__track--active_fill{border-top-style:solid;box-sizing:border-box;height:100%;width:100%;position:relative;transform-origin:left;transition:transform 80ms ease;border-color:var(--mat-slider-active-track-color, var(--mat-sys-primary));border-top-width:var(--mat-slider-active-track-height, 4px)}.mdc-slider--disabled .mdc-slider__track--active_fill{border-color:var(--mat-slider-disabled-active-track-color, var(--mat-sys-on-surface))}[dir=rtl] .mdc-slider__track--active_fill{-webkit-transform-origin:right;transform-origin:right}.mdc-slider__track--inactive{left:0;top:0;opacity:.24;background-color:var(--mat-slider-inactive-track-color, var(--mat-sys-surface-variant));height:var(--mat-slider-inactive-track-height, 4px);border-radius:var(--mat-slider-inactive-track-shape, var(--mat-sys-corner-full))}.mdc-slider--disabled .mdc-slider__track--inactive{background-color:var(--mat-slider-disabled-inactive-track-color, var(--mat-sys-on-surface));opacity:.24}.mdc-slider__track--inactive::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media(forced-colors: active){.mdc-slider__track--inactive::before{border-color:CanvasText}}.mdc-slider__value-indicator-container{bottom:44px;left:50%;pointer-events:none;position:absolute;transform:var(--mat-slider-value-indicator-container-transform, translateX(-50%) rotate(-45deg))}.mdc-slider__thumb--with-indicator .mdc-slider__value-indicator-container{pointer-events:auto}.mdc-slider__value-indicator{display:flex;align-items:center;transform:scale(0);transform-origin:bottom;transition:transform 100ms cubic-bezier(0.4, 0, 1, 1);word-break:normal;background-color:var(--mat-slider-label-container-color, var(--mat-sys-primary));color:var(--mat-slider-label-label-text-color, var(--mat-sys-on-primary));width:var(--mat-slider-value-indicator-width, 28px);height:var(--mat-slider-value-indicator-height, 28px);padding:var(--mat-slider-value-indicator-padding, 0);opacity:var(--mat-slider-value-indicator-opacity, 1);border-radius:var(--mat-slider-value-indicator-border-radius, 50% 50% 50% 0)}.mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:transform 100ms cubic-bezier(0, 0, 0.2, 1);transform:scale(1)}.mdc-slider__value-indicator::before{border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-top:6px solid;bottom:-5px;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0;display:var(--mat-slider-value-indicator-caret-display, none);border-top-color:var(--mat-slider-label-container-color, var(--mat-sys-primary))}.mdc-slider__value-indicator::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media(forced-colors: active){.mdc-slider__value-indicator::after{border-color:CanvasText}}.mdc-slider__value-indicator-text{text-align:center;width:var(--mat-slider-value-indicator-width, 28px);transform:var(--mat-slider-value-indicator-text-transform, rotate(45deg));font-family:var(--mat-slider-label-label-text-font, var(--mat-sys-label-medium-font));font-size:var(--mat-slider-label-label-text-size, var(--mat-sys-label-medium-size));font-weight:var(--mat-slider-label-label-text-weight, var(--mat-sys-label-medium-weight));line-height:var(--mat-slider-label-label-text-line-height, var(--mat-sys-label-medium-line-height));letter-spacing:var(--mat-slider-label-label-text-tracking, var(--mat-sys-label-medium-tracking))}.mdc-slider__thumb{-webkit-user-select:none;user-select:none;display:flex;left:-24px;outline:none;position:absolute;height:48px;width:48px;pointer-events:none}.mdc-slider--discrete .mdc-slider__thumb{transition:transform 80ms ease}.mdc-slider--disabled .mdc-slider__thumb{pointer-events:none}.mdc-slider__thumb--top{z-index:1}.mdc-slider__thumb-knob{position:absolute;box-sizing:border-box;left:50%;top:50%;transform:translate(-50%, -50%);border-style:solid;width:var(--mat-slider-handle-width, 20px);height:var(--mat-slider-handle-height, 20px);border-width:calc(var(--mat-slider-handle-height, 20px)/2) calc(var(--mat-slider-handle-width, 20px)/2);box-shadow:var(--mat-slider-handle-elevation, var(--mat-sys-level1));background-color:var(--mat-slider-handle-color, var(--mat-sys-primary));border-color:var(--mat-slider-handle-color, var(--mat-sys-primary));border-radius:var(--mat-slider-handle-shape, var(--mat-sys-corner-full))}.mdc-slider__thumb:hover .mdc-slider__thumb-knob{background-color:var(--mat-slider-hover-handle-color, var(--mat-sys-primary));border-color:var(--mat-slider-hover-handle-color, var(--mat-sys-primary))}.mdc-slider__thumb--focused .mdc-slider__thumb-knob{background-color:var(--mat-slider-focus-handle-color, var(--mat-sys-primary));border-color:var(--mat-slider-focus-handle-color, var(--mat-sys-primary))}.mdc-slider--disabled .mdc-slider__thumb-knob{background-color:var(--mat-slider-disabled-handle-color, var(--mat-sys-on-surface));border-color:var(--mat-slider-disabled-handle-color, var(--mat-sys-on-surface))}.mdc-slider__thumb--top .mdc-slider__thumb-knob,.mdc-slider__thumb--top.mdc-slider__thumb:hover .mdc-slider__thumb-knob,.mdc-slider__thumb--top.mdc-slider__thumb--focused .mdc-slider__thumb-knob{border:solid 1px #fff;box-sizing:content-box;border-color:var(--mat-slider-with-overlap-handle-outline-color, var(--mat-sys-on-primary));border-width:var(--mat-slider-with-overlap-handle-outline-width, 1px)}.mdc-slider__tick-marks{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;padding:0 1px;position:absolute;width:100%}.mdc-slider__tick-mark--active,.mdc-slider__tick-mark--inactive{width:var(--mat-slider-with-tick-marks-container-size, 2px);height:var(--mat-slider-with-tick-marks-container-size, 2px);border-radius:var(--mat-slider-with-tick-marks-container-shape, var(--mat-sys-corner-full))}.mdc-slider__tick-mark--inactive{opacity:var(--mat-slider-with-tick-marks-inactive-container-opacity, 0.38);background-color:var(--mat-slider-with-tick-marks-inactive-container-color, var(--mat-sys-on-surface-variant))}.mdc-slider--disabled .mdc-slider__tick-mark--inactive{opacity:var(--mat-slider-with-tick-marks-inactive-container-opacity, 0.38);background-color:var(--mat-slider-with-tick-marks-disabled-container-color, var(--mat-sys-on-surface))}.mdc-slider__tick-mark--active{opacity:var(--mat-slider-with-tick-marks-active-container-opacity, 0.38);background-color:var(--mat-slider-with-tick-marks-active-container-color, var(--mat-sys-on-primary))}.mdc-slider__input{cursor:pointer;left:2px;margin:0;height:44px;opacity:0;position:absolute;top:2px;width:44px;box-sizing:content-box}.mdc-slider__input.mat-mdc-slider-input-no-pointer-events{pointer-events:none}.mdc-slider__input.mat-slider__right-input{left:auto;right:0}.mat-mdc-slider{display:inline-block;box-sizing:border-box;outline:none;vertical-align:middle;cursor:pointer;height:48px;margin:0 8px;position:relative;touch-action:pan-y;width:auto;min-width:112px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-slider.mdc-slider--disabled{cursor:auto;opacity:.38}.mat-mdc-slider.mdc-slider--disabled .mdc-slider__input{cursor:auto}.mat-mdc-slider .mdc-slider__thumb,.mat-mdc-slider .mdc-slider__track--active_fill{transition-duration:0ms}.mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__thumb,.mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__track--active_fill{transition-duration:80ms}.mat-mdc-slider.mdc-slider--discrete .mdc-slider__thumb,.mat-mdc-slider.mdc-slider--discrete .mdc-slider__track--active_fill{transition-duration:0ms}.mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__thumb,.mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__track--active_fill{transition-duration:80ms}.mat-mdc-slider .mat-ripple .mat-ripple-element{background-color:var(--mat-slider-ripple-color, var(--mat-sys-primary))}.mat-mdc-slider .mat-ripple .mat-mdc-slider-hover-ripple{background-color:var(--mat-slider-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-primary) 5%, transparent))}.mat-mdc-slider .mat-ripple .mat-mdc-slider-focus-ripple,.mat-mdc-slider .mat-ripple .mat-mdc-slider-active-ripple{background-color:var(--mat-slider-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-primary) 20%, transparent))}.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__thumb,.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__track--active_fill,.mat-mdc-slider._mat-animation-noopable .mdc-slider__value-indicator{transition:none}.mat-mdc-slider .mat-focus-indicator::before{border-radius:50%}.mdc-slider__thumb--focused .mat-focus-indicator::before{content:""}
9
+ `],encapsulation:2,changeDetection:0})}return n})();var Mn={provide:$e,useExisting:Ue(()=>xt),multi:!0};var xt=(()=>{class n{_ngZone=c(be);_elementRef=c(G);_cdr=c(W);_slider=c(wt);_platform=c(Ge);_listenerCleanups;get value(){return D(this._hostElement.value,0)}set value(e){e===null&&(e=this._getDefaultValue()),e=isNaN(e)?0:e;let i=e+"";if(!this._hasSetInitialValue){this._initialValue=i;return}this._isActive||this._setValue(i)}_setValue(e){this._hostElement.value=e,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges(),this._slider._cdr.markForCheck()}valueChange=new E;dragStart=new E;dragEnd=new E;get translateX(){return this._slider.min>=this._slider.max?(this._translateX=this._tickMarkOffset,this._translateX):(this._translateX===void 0&&(this._translateX=this._calcTranslateXByValue()),this._translateX)}set translateX(e){this._translateX=e}_translateX;thumbPosition=_.END;get min(){return D(this._hostElement.min,0)}set min(e){this._hostElement.min=e+"",this._cdr.detectChanges()}get max(){return D(this._hostElement.max,0)}set max(e){this._hostElement.max=e+"",this._cdr.detectChanges()}get step(){return D(this._hostElement.step,0)}set step(e){this._hostElement.step=e+"",this._cdr.detectChanges()}get disabled(){return M(this._hostElement.disabled)}set disabled(e){this._hostElement.disabled=e,this._cdr.detectChanges(),this._slider.disabled!==this.disabled&&(this._slider.disabled=this.disabled)}get percentage(){return this._slider.min>=this._slider.max?this._slider._isRtl?1:0:(this.value-this._slider.min)/(this._slider.max-this._slider.min)}get fillPercentage(){return this._slider._cachedWidth?this._translateX===0?0:this.translateX/this._slider._cachedWidth:this._slider._isRtl?1:0}_hostElement=this._elementRef.nativeElement;_valuetext=_e("");_knobRadius=8;_tickMarkOffset=3;_isActive=!1;_isFocused=!1;_setIsFocused(e){this._isFocused=e}_hasSetInitialValue=!1;_initialValue;_formControl;_destroyed=new ce;_skipUIUpdate=!1;_onChangeFn;_onTouchedFn=()=>{};_isControlInitialized=!1;constructor(){let e=c(Re);this._ngZone.runOutsideAngular(()=>{this._listenerCleanups=[e.listen(this._hostElement,"pointerdown",this._onPointerDown.bind(this)),e.listen(this._hostElement,"pointermove",this._onPointerMove.bind(this)),e.listen(this._hostElement,"pointerup",this._onPointerUp.bind(this))]})}ngOnDestroy(){this._listenerCleanups.forEach(e=>e()),this._destroyed.next(),this._destroyed.complete(),this.dragStart.complete(),this.dragEnd.complete()}initProps(){this._updateWidthInactive(),this.disabled!==this._slider.disabled&&(this._slider.disabled=!0),this.step=this._slider.step,this.min=this._slider.min,this.max=this._slider.max,this._initValue()}initUI(){this._updateThumbUIByValue()}_initValue(){this._hasSetInitialValue=!0,this._initialValue===void 0?this.value=this._getDefaultValue():(this._hostElement.value=this._initialValue,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges())}_getDefaultValue(){return this.min}_onBlur(){this._setIsFocused(!1),this._onTouchedFn()}_onFocus(){this._slider._setTransition(!1),this._slider._updateTrackUI(this),this._setIsFocused(!0)}_onChange(){this.valueChange.emit(this.value),this._isActive&&this._updateThumbUIByValue({withAnimation:!0})}_onInput(){this._onChangeFn?.(this.value),(this._slider.step||!this._isActive)&&this._updateThumbUIByValue({withAnimation:!0}),this._slider._onValueChange(this)}_onNgControlValueChange(){(!this._isActive||!this._isFocused)&&(this._slider._onValueChange(this),this._updateThumbUIByValue()),this._slider.disabled=this._formControl.disabled}_onPointerDown(e){if(!(this.disabled||e.button!==0)){if(this._platform.IOS){let i=this._slider._isCursorOnSliderThumb(e,this._slider._getThumb(this.thumbPosition)._hostElement.getBoundingClientRect());this._isActive=i,this._updateWidthActive(),this._slider._updateDimensions();return}this._isActive=!0,this._setIsFocused(!0),this._updateWidthActive(),this._slider._updateDimensions(),this._slider.step||this._updateThumbUIByPointerEvent(e,{withAnimation:!0}),this.disabled||(this._handleValueCorrection(e),this.dragStart.emit({source:this,parent:this._slider,value:this.value}))}}_handleValueCorrection(e){this._skipUIUpdate=!0,setTimeout(()=>{this._skipUIUpdate=!1,this._fixValue(e)},0)}_fixValue(e){let i=e.clientX-this._slider._cachedLeft,t=this._slider._cachedWidth,o=this._slider.step===0?1:this._slider.step,d=Math.floor((this._slider.max-this._slider.min)/o),l=this._slider._isRtl?1-i/t:i/t,Ui=Math.round(l*d)/d*(this._slider.max-this._slider.min)+this._slider.min,Mt=Math.round(Ui/o)*o,Wi=this.value;if(Mt===Wi){this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation});return}this.value=Mt,this.valueChange.emit(this.value),this._onChangeFn?.(this.value),this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation})}_onPointerMove(e){!this._slider.step&&this._isActive&&this._updateThumbUIByPointerEvent(e)}_onPointerUp(){this._isActive&&(this._isActive=!1,this._platform.SAFARI&&this._setIsFocused(!1),this.dragEnd.emit({source:this,parent:this._slider,value:this.value}),setTimeout(()=>this._updateWidthInactive(),this._platform.IOS?10:0))}_clamp(e){let i=this._tickMarkOffset,t=this._slider._cachedWidth-this._tickMarkOffset;return Math.max(Math.min(e,t),i)}_calcTranslateXByValue(){return this._slider._isRtl?(1-this.percentage)*(this._slider._cachedWidth-this._tickMarkOffset*2)+this._tickMarkOffset:this.percentage*(this._slider._cachedWidth-this._tickMarkOffset*2)+this._tickMarkOffset}_calcTranslateXByPointerEvent(e){return e.clientX-this._slider._cachedLeft}_updateWidthActive(){}_updateWidthInactive(){this._hostElement.style.padding=`0 ${this._slider._inputPadding}px`,this._hostElement.style.width=`calc(100% + ${this._slider._inputPadding-this._tickMarkOffset*2}px)`,this._hostElement.style.left=`-${this._slider._rippleRadius-this._tickMarkOffset}px`}_updateThumbUIByValue(e){this.translateX=this._clamp(this._calcTranslateXByValue()),this._updateThumbUI(e)}_updateThumbUIByPointerEvent(e,i){this.translateX=this._clamp(this._calcTranslateXByPointerEvent(e)),this._updateThumbUI(i)}_updateThumbUI(e){this._slider._setTransition(!!e?.withAnimation),this._slider._onTranslateXChange(this)}writeValue(e){(this._isControlInitialized||e!==null)&&(this.value=e)}registerOnChange(e){this._onChangeFn=e,this._isControlInitialized=!0}registerOnTouched(e){this._onTouchedFn=e}setDisabledState(e){this.disabled=e}focus(){this._hostElement.focus()}blur(){this._hostElement.blur()}static \u0275fac=function(i){return new(i||n)};static \u0275dir=F({type:n,selectors:[["input","matSliderThumb",""]],hostAttrs:["type","range",1,"mdc-slider__input"],hostVars:1,hostBindings:function(i,t){i&1&&b("change",function(){return t._onChange()})("input",function(){return t._onInput()})("blur",function(){return t._onBlur()})("focus",function(){return t._onFocus()}),i&2&&L("aria-valuetext",t._valuetext())},inputs:{value:[2,"value","value",D]},outputs:{valueChange:"valueChange",dragStart:"dragStart",dragEnd:"dragEnd"},exportAs:["matSliderThumb"],features:[N([Mn,{provide:Pi,useExisting:n}])]})}return n})();var Oi=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=$({type:n});static \u0275inj=Y({imports:[ge,$t]})}return n})();var Tn=["displayForm"],En=()=>({standalone:!0});function In(n,f){if(n&1&&(a(0,"mat-panel-description",7),r(1," Adjust night mode settings to enhance visibility in low-light environments. "),s()),n&2){let e=k();h("hidden",e.isPhonePortrait().matches)}}function An(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Choose your preferred high-contrast theme. "),s())}function Rn(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Configure persistent dual\u2011panel chart & dashboards layout. "),s())}function Dn(n,f){n&1&&(a(0,"mat-panel-description"),r(1," Configure remote dashboard operations between KIP instances. "),s())}var Fi=(()=>{class n{MODE_PATH="self.environment.mode";displayForm=ne("displayForm");_app=c(z);_settings=c(B);_responsive=c(Ze);_plugins=c(gi);_data=c(Je);isPhonePortrait;nightBrightness=_e(.27);autoNightMode=Z(!1);isRedNightMode=Z(!1);isLightTheme=Z(!1);isRemoteControl=Z(!1);instanceName=Z("");splitShellEnabled=Z(!1);splitShellSide=Z("left");splitShellSwipeDisabled=Z(!1);_pluginCheckSeq=0;LIGHT_THEME_NAME="light-theme";RED_NIGHT_MODE_THEME_NAME="night-theme";constructor(){this.isPhonePortrait=je(this._responsive.observe(Ye.HandsetPortrait))}ngOnInit(){this.nightBrightness.set(this._settings.getNightModeBrightness()),this.autoNightMode.set(this._settings.getAutoNightMode()),this.isLightTheme.set(this._settings.getThemeName()===this.LIGHT_THEME_NAME),this.isRedNightMode.set(this._settings.getRedNightMode()),this.isRemoteControl.set(this._settings.getIsRemoteControl()),this.instanceName.set(this._settings.getInstanceName()),this.splitShellEnabled.set(this._settings.getSplitShellEnabled()),this.splitShellSide.set(this._settings.getSplitShellSide()),this.splitShellSwipeDisabled.set(this._settings.getSplitShellSwipeDisabled())}saveAllSettings(){this._settings.setAutoNightMode(this.autoNightMode()),this._settings.setRedNightMode(this.isRedNightMode()),this._settings.setNightModeBrightness(this.nightBrightness()),this._settings.setIsRemoteControl(this.isRemoteControl()),this.isRemoteControl()?this._settings.setInstanceName(this.instanceName()):this._settings.setInstanceName(""),this._app.isNightMode()||this._app.setBrightness(1),this.isLightTheme()?this._settings.setThemeName(this.LIGHT_THEME_NAME):this._settings.setThemeName(""),this._settings.setSplitShellEnabled(this.splitShellEnabled()),this._settings.setSplitShellSide(this.splitShellSide()),this._settings.setSplitShellSwipeDisabled(this.splitShellSwipeDisabled()),this.displayForm().form.markAsPristine(),this._app.sendSnackbarNotification("Configuration saved",3e3,!1)}isAutoNightModeSupported(e){if(this.displayForm().form.markAsDirty(),!e.checked){this.autoNightMode.set(!1);return}let i=++this._pluginCheckSeq;this._plugins.isEnabled("derived-data").then(t=>{if(i!==this._pluginCheckSeq)return;if(!t){this.autoNightMode.set(!1),this._app.sendSnackbarNotification("Plugin Error: To enable Automatic Night Mode, verify that: 1) The Signal K Derived Data plugin is installed and enabled on the server. 2) The plugin's Sun: Sets environment.sun parameter is enabled. Restart the Signal K server and try again.",0);return}let o=this.validateAutoNightModeSupported();this.autoNightMode.set(o)}).catch(t=>{i===this._pluginCheckSeq&&(console.error("[Display Component] Error checking plugin status:",t),this.autoNightMode.set(!1))})}validateAutoNightModeSupported(){return this._data.getPathObject(this.MODE_PATH)?!0:(this._app.sendSnackbarNotification("Path Error: In Signal K, locate the Derived Data plugin and enable the 'Sets environment.sun' parameter under the 'Sun' group. Restart the Signal K server and try again.",0),!1)}setBrightness(e){this.displayForm().form.markAsDirty(),this.nightBrightness.set(e),this._app.setBrightness(e,this._app.isNightMode())}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-display"]],viewQuery:function(i,t){i&1&&ie(t.displayForm,Tn,5),i&2&&ye()},inputs:{autoNightMode:[1,"autoNightMode"],isRedNightMode:[1,"isRedNightMode"],isLightTheme:[1,"isLightTheme"],isRemoteControl:[1,"isRemoteControl"],instanceName:[1,"instanceName"],splitShellEnabled:[1,"splitShellEnabled"],splitShellSide:[1,"splitShellSide"],splitShellSwipeDisabled:[1,"splitShellSwipeDisabled"]},outputs:{autoNightMode:"autoNightModeChange",isRedNightMode:"isRedNightModeChange",isLightTheme:"isLightThemeChange",isRemoteControl:"isRemoteControlChange",instanceName:"instanceNameChange",splitShellEnabled:"splitShellEnabledChange",splitShellSide:"splitShellSideChange",splitShellSwipeDisabled:"splitShellSwipeDisabledChange"},decls:65,vars:23,consts:[["displayForm","ngForm"],["redNightModeToggle",""],["inputBrightness",""],["isFskShellEnabled",""],["isFskShellSwipeEnabled",""],["isRemoteControlCb",""],["id","displaySetting",3,"ngSubmit"],[3,"hidden"],["name","autoNightMode",1,"full-width","sliders",3,"change","ngModelChange","ngModel"],["name","redNightMode",1,"full-width","sliders",3,"ngModelChange","ngModel"],[2,"padding-left","10px"],["min","0","max","1","step","0.01","discrete","",3,"disabled"],["matSliderThumb","",3,"input","value","disabled"],["name","isLightTheme",1,"full-width",3,"ngModelChange","ngModel"],["name","freeboardShellEnabled",1,"full-width",3,"ngModelChange","ngModel"],[1,"optional-field"],["name","splitShellSide",3,"ngModelChange","ngModel","disabled"],["value","left"],["value","right"],["name","freeboardShellSwipeEnabled",1,"optional-field","full-width",3,"ngModelChange","ngModel","disabled"],["name","isRemoteControl",1,"full-width",3,"ngModelChange","ngModel"],["matInput","","name","instanceName","placeholder","Ex. Mast","required","",3,"ngModelChange","ngModel","ngModelOptions","disabled"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"]],template:function(i,t){if(i&1){let o=P();a(0,"form",6,0),b("ngSubmit",function(){return p(o),g(t.saveAllSettings())}),a(2,"p"),r(3,"Customize your display settings to improve visibility and adapt to various lighting conditions."),s(),a(4,"mat-accordion")(5,"mat-expansion-panel")(6,"mat-expansion-panel-header")(7,"mat-panel-title"),r(8," Night Mode "),s(),C(9,In,2,1,"mat-panel-description",7),s(),a(10,"mat-slide-toggle",8),b("change",function(l){return p(o),g(t.isAutoNightModeSupported(l))}),S("ngModelChange",function(l){return p(o),y(t.autoNightMode,l)||(t.autoNightMode=l),g(l)}),r(11," Automatically activate day and night modes based on sun phases. "),s(),a(12,"mat-slide-toggle",9,1),S("ngModelChange",function(l){return p(o),y(t.isRedNightMode,l)||(t.isRedNightMode=l),g(l)}),r(14," Enable red-only night mode. "),s(),a(15,"div",10),u(16,"br"),a(17,"span"),r(18,"Adjust Night Mode Brightness"),s(),u(19,"br"),a(20,"mat-slider",11)(21,"input",12,2),b("input",function(){p(o);let l=T(22);return g(t.setBrightness(+l.value))}),s()()()(),a(23,"mat-expansion-panel")(24,"mat-expansion-panel-header")(25,"mat-panel-title"),r(26," Theme "),s(),C(27,An,2,0,"mat-panel-description"),s(),a(28,"mat-slide-toggle",13),S("ngModelChange",function(l){return p(o),y(t.isLightTheme,l)||(t.isLightTheme=l),g(l)}),r(29," Enable light theme for brighter display settings. "),s()(),a(30,"mat-expansion-panel")(31,"mat-expansion-panel-header")(32,"mat-panel-title"),r(33," Chartplotter Mode "),s(),C(34,Rn,2,0,"mat-panel-description"),s(),a(35,"mat-slide-toggle",14,3),S("ngModelChange",function(l){return p(o),y(t.splitShellEnabled,l)||(t.splitShellEnabled=l),g(l)}),r(37," Enable Freeboard\u2011SK dual\u2011panel Chartplotter mode. "),s(),a(38,"mat-form-field",15)(39,"mat-label"),r(40,"Freeboard-SK panel side"),s(),a(41,"mat-select",16),S("ngModelChange",function(l){return p(o),y(t.splitShellSide,l)||(t.splitShellSide=l),g(l)}),a(42,"mat-option",17),r(43,"Left side"),s(),a(44,"mat-option",18),r(45,"Right side"),s()()(),a(46,"mat-slide-toggle",19,4),S("ngModelChange",function(l){return p(o),y(t.splitShellSwipeDisabled,l)||(t.splitShellSwipeDisabled=l),g(l)}),r(48," Disable swipe gestures over chart panel. "),s()(),a(49,"mat-expansion-panel")(50,"mat-expansion-panel-header")(51,"mat-panel-title"),r(52," Remote Control "),s(),C(53,Dn,2,0,"mat-panel-description"),s(),a(54,"mat-slide-toggle",20,5),S("ngModelChange",function(l){return p(o),y(t.isRemoteControl,l)||(t.isRemoteControl=l),g(l)}),r(56," Allow remote KIP instances to view and control this dashboard. "),s(),a(57,"mat-form-field",15)(58,"mat-label"),r(59,"Name of this instance"),s(),a(60,"input",21),b("ngModelChange",function(){p(o);let l=T(1);return g(l.form.markAsDirty())}),S("ngModelChange",function(l){return p(o),y(t.instanceName,l)||(t.instanceName=l),g(l)}),s()()()(),a(61,"div",22),u(62,"mat-divider",23),a(63,"button",24),r(64,"Save"),s()()()}if(i&2){let o=T(1),d=T(13),l=T(36),Oe=T(55);m(9),w(t.isPhonePortrait().matches?-1:9),m(),v("ngModel",t.autoNightMode),m(2),v("ngModel",t.isRedNightMode),m(5),he(d.checked?"mat-body-medium disable-color":"mat-body-medium"),m(3),h("disabled",d.checked),m(),h("value",t.nightBrightness())("disabled",d.checked),m(6),w(t.isPhonePortrait().matches?-1:27),m(),v("ngModel",t.isLightTheme),m(6),w(t.isPhonePortrait().matches?-1:34),m(),v("ngModel",t.splitShellEnabled),m(6),v("ngModel",t.splitShellSide),h("disabled",!l.checked),m(5),v("ngModel",t.splitShellSwipeDisabled),h("disabled",!l.checked),m(7),w(t.isPhonePortrait().matches?-1:53),m(),v("ngModel",t.isRemoteControl),m(6),v("ngModel",t.instanceName),h("ngModelOptions",Q(22,En))("disabled",!Oe.checked),m(3),h("disabled",!o.form.dirty)}},dependencies:[K,j,Me,X,q,se,oe,ae,de,H,Oi,Vi,xt,ct,dt,Ne,Ve,lt,rt,nt,ke,le,re,ht,ue,mi,Ee,Te],styles:[".optional-field[_ngcontent-%COMP%]{margin-left:55px;margin-top:10px}.sliders[_ngcontent-%COMP%]{margin:5px 0}.disable-color[_ngcontent-%COMP%]{color:var(--mat-sys-outline)}"]})}return n})();var Pn=()=>({standalone:!1});function Nn(n,f){n&1&&(a(0,"div"),r(1,' Writing to the server requires "Login to Server" authentication or a Device token '),s())}function Vn(n,f){if(n&1){let e=P();a(0,"div")(1,"mat-form-field",30)(2,"mat-label"),r(3,"Scope"),s(),a(4,"mat-select",31),S("ngModelChange",function(t){p(e);let o=k();return y(o.saveConfigScope,t)||(o.saveConfigScope=t),g(t)}),a(5,"mat-option",32),r(6," Global "),s(),a(7,"mat-option",33),r(8," User "),s()()(),a(9,"mat-form-field",34)(10,"mat-label"),r(11,"Configuration Name"),s(),a(12,"input",35),S("ngModelChange",function(t){p(e);let o=k();return y(o.saveConfigName,t)||(o.saveConfigName=t),g(t)}),s()(),C(13,Nn,2,0,"div"),s()}if(n&2){let e=k();m(4),v("ngModel",e.saveConfigScope),m(8),v("ngModel",e.saveConfigName),h("ngModelOptions",Q(4,Pn)),m(),w(e.hasToken?-1:13)}}function On(n,f){n&1&&(a(0,"div",9)(1,"p"),r(2,"Server authentication or Device Token required"),s()())}function Fn(n,f){if(n&1&&(a(0,"mat-option",38),r(1),s()),n&2){let e=f.$implicit;h("value",e),m(),ut(" ",e.scope," / ",e.name," ")}}function Ln(n,f){if(n&1){let e=P();a(0,"div")(1,"mat-form-field",36)(2,"mat-label"),r(3,"Configuration"),s(),a(4,"mat-select",37),S("ngModelChange",function(t){p(e);let o=k();return y(o.deleteConfigItem,t)||(o.deleteConfigItem=t),g(t)}),ee(5,Fn,2,3,"mat-option",38,Ot),s()()()}if(n&2){let e=k();m(4),v("ngModel",e.deleteConfigItem),m(),te(e.serverConfigList)}}function Un(n,f){n&1&&(a(0,"div",9)(1,"p"),r(2,"Authentication or Device Token required"),s()())}function Wn(n,f){if(n&1&&(a(0,"mat-option",38),r(1),s()),n&2){let e=f.$implicit;h("value",e),m(),ut(" ",e.scope," / ",e.name," ")}}function Bn(n,f){if(n&1&&(a(0,"div")(1,"mat-form-field",36)(2,"mat-label"),r(3,"Configuration"),s(),a(4,"mat-select",39),ee(5,Wn,2,3,"mat-option",38,ze),s()()()),n&2){let e=k();m(5),te(e.serverConfigList)}}function zn(n,f){n&1&&(a(0,"div",9)(1,"p"),r(2,"Authentication or Device Token required"),s()())}var Li=(()=>{class n{appSettingsService=c(B);storageSvc=c(jt);appService=c(z);auth=c(Ke);fb=c(di);pageTitle="Configurations";hasToken=!1;isTokenTypeDevice=!1;tokenSub;supportApplicationData=!1;serverConfigList=[];serverUpgradableConfigList=[];copyConfigForm;storageLocation=null;locations=["Local Storage","Server Storage"];saveConfigName=null;saveConfigScope=null;deleteConfigItem;jsonData=null;ngOnInit(){this.tokenSub=this.auth.authToken$.subscribe(e=>{e&&e.token?(this.hasToken=!0,this.isTokenTypeDevice=e.isDeviceAccessToken,e.isDeviceAccessToken?this.saveConfigScope="global":this.saveConfigScope="user"):this.hasToken=!1}),this.copyConfigForm=this.fb.group({sourceTarget:[{value:"",disabled:!1},oi.required]}),this.supportApplicationData=this.storageSvc.isAppDataSupported,this.hasToken&&this.getServerConfigList()}getServerConfigList(e){this.supportApplicationData&&this.storageSvc.listConfigs(e).then(i=>{let t=i.filter(o=>!(o.scope==="user"&&o.name==="default"));e?this.serverUpgradableConfigList=t:this.serverConfigList=t}).catch(i=>{switch(i.status){case 401:this.appService.sendSnackbarNotification("Application Storage Error: "+i.statusText+". Signal K configuration must meet the following requirements; 1) Security enabled. 2) Application Data Storage Interface: On. 3) Either Allow Readonly Access enabled, or connecting with a user.",0,!1);break;default:this.appService.sendSnackbarNotification("Error listing server configurations: "+i,3e3,!1);break}})}saveConfig(e,i,t,o,d){if(this.supportApplicationData){if(i==="user"&&t==="default"&&!d){this.appService.sendSnackbarNotification("Saving configuration with scope 'user' and name 'default' is not allowed.",5e3,!1);return}this.storageSvc.setConfig(i,t,e)?(this.appService.sendSnackbarNotification(`Configuration [${t}] saved to [${i}] storage scope`,5e3,!1),o||this.getServerConfigList()):this.appService.sendSnackbarNotification("Error saving configuration to server",0,!1)}}saveToLocalstorage(e){this.appSettingsService.replaceConfig("appConfig",e.app,!1),this.appSettingsService.replaceConfig("dashboardsConfig",e.dashboards,!1),this.appSettingsService.replaceConfig("themeConfig",e.theme,!1)}copyConfig(){return Fe(this,null,function*(){let e=null;try{yield this.storageSvc.getConfig(this.copyConfigForm.value.sourceTarget.scope,this.copyConfigForm.value.sourceTarget.name).then(i=>{e=i})}catch(i){this.appService.sendSnackbarNotification("Error retrieving configuration from server: "+i.statusText,3e3,!1);return}this.saveConfig(e,"user","default",!1,!0),this.appSettingsService.reloadApp()})}deleteConfig(e,i,t,o){this.storageSvc.removeItem(e,i,t),this.appService.sendSnackbarNotification(`Configuration [${i}] deleted from [${e}] storage scope`,5e3,!1),o||this.getServerConfigList()}resetConfigToDefault(){this.appSettingsService.resetSettings()}resetConnectionToDefault(){this.appSettingsService.resetConnection()}loadDemoConfig(){this.appSettingsService.loadDemoConfig()}getActiveConfig(){let e;return this.appSettingsService.useSharedConfig?e=this.getLocalConfigFromMemory():e=this.getLocalConfigFromLocalStorage(),e}getLocalConfigFromMemory(){return{app:this.appSettingsService.getAppConfig(),dashboards:this.appSettingsService.getDashboardConfig(),theme:this.appSettingsService.getThemeConfig()}}getLocalConfigFromLocalStorage(){return{app:this.appSettingsService.loadConfigFromLocalStorage("appConfig"),dashboards:this.appSettingsService.loadConfigFromLocalStorage("dashboardsConfig"),theme:this.appSettingsService.loadConfigFromLocalStorage("themeConfig")}}downloadJsonConfig(){let e=this.getActiveConfig(),i=JSON.stringify(e,null,2),t=new Blob([i],{type:"application/json"}),o=window.URL.createObjectURL(t),d=document.createElement("a");d.href=o,d.download="KipConfig.json",document.body.appendChild(d),d.click(),document.body.removeChild(d),window.URL.revokeObjectURL(o)}uploadJsonConfig(e){let t=e.target.files?.[0];if(t&&t.type==="application/json"){let o=new FileReader;o.onload=d=>{try{this.jsonData=JSON.parse(d.target?.result),this.hasToken?this.saveConfig(this.jsonData,"user","default",!1,!0):this.saveToLocalstorage(this.jsonData),this.appSettingsService.reloadApp()}catch(l){this.appService.sendSnackbarNotification("Invalid JSON file",3e3,!1),console.error("Invalid JSON file:",l)}},o.readAsText(t)}else this.appService.sendSnackbarNotification("Please select a valid JSON file",0,!1)}ngOnDestroy(){this.tokenSub.unsubscribe()}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["settings-config"]],decls:93,vars:7,consts:[["saveConfigForm","ngForm"],["deleteConfigForm","ngForm"],["fileInput",""],[1,"page-content"],["routerLink","/help"],[1,"flex-container"],[1,"flex-item-rounded-card","rounded-card-color"],["name","saveConfigForm",3,"ngSubmit"],[2,"margin-bottom","16px"],[1,"no-token-notice"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit","color","accent",3,"disabled"],["name","deleteConfigForm",3,"ngSubmit"],[3,"ngSubmit","formGroup"],[1,"flex-item-reset","rounded-card-color"],[1,"config-operation-container",2,"margin-top","20px"],[1,"download-txt"],[1,"download-btn","btn-div"],["mat-flat-button","","type","button",1,"adv-btn",3,"click"],[1,"upload-txt"],[1,"upload-btn","btn-div"],["type","file","accept",".json","hidden","",3,"change"],["mat-flat-button","",1,"adv-btn",3,"click"],[1,"demo-txt"],[1,"demo-btn","btn-div"],[1,"reset-txt"],[1,"reset-btn","btn-div"],[1,"config-txt"],[1,"config-btn","btn-div"],[2,"width","25%"],["name","serverConfiScope","required","",3,"ngModelChange","ngModel"],["value","global"],["value","user"],[2,"width","70%","padding-left","3%"],["matInput","","name","serverConfigName","placeholder","Enter a name for the configuration","required","",3,"ngModelChange","ngModel","ngModelOptions"],[2,"width","100%"],["name","selectedDeleteItem","required","",3,"ngModelChange","ngModel"],[3,"value"],["formControlName","sourceTarget"]],template:function(i,t){if(i&1){let o=P();a(0,"div",3)(1,"p"),r(2," Recommended Reading: To understand configuration management and storage options, consult the "),a(3,"a",4),r(4,"Configuration Management Help"),s(),r(5," section. "),s(),a(6,"div",5)(7,"div",6)(8,"form",7,0),b("ngSubmit",function(){return p(o),g(t.saveConfig(t.getActiveConfig(),t.saveConfigScope,t.saveConfigName))}),a(10,"h2"),r(11,"Backup"),s(),a(12,"p",8),r(13," Create a backup of the current active configuration on the server. "),s(),C(14,Vn,14,5,"div")(15,On,3,0,"div",9),a(16,"div",10),u(17,"mat-divider",11),a(18,"button",12),r(19," Create "),s()()()(),a(20,"div",6)(21,"form",13,1),b("ngSubmit",function(){return p(o),g(t.deleteConfig(t.deleteConfigItem.scope,t.deleteConfigItem.name))}),a(23,"h2"),r(24,"Delete"),s(),a(25,"p",8),r(26," Select a backup configuration to permanently delete from the server. "),s(),C(27,Ln,7,1,"div")(28,Un,3,0,"div",9),a(29,"div",10),u(30,"mat-divider",11),a(31,"button",12),r(32," Delete "),s()()()(),a(33,"div",6)(34,"form",14),b("ngSubmit",function(){return p(o),g(t.copyConfig())}),a(35,"h2"),r(36,"Restore"),s(),a(37,"p",8),r(38," Replace the current configuration with a backup from the server. "),s(),C(39,Bn,7,0,"div")(40,zn,3,0,"div",9),a(41,"div",10),u(42,"mat-divider",11),a(43,"button",12),r(44," Restore "),s()()()(),a(45,"div",15)(46,"h2"),r(47,"Advanced"),s(),a(48,"div",16)(49,"div",17)(50,"p"),r(51,"To reuse your configuration on different devices, simply login using the same credential from any device (See "),a(52,"a",4),r(53,"Login & Configurations Help documentation"),s(),r(54," for more information). If you need to move your configuration between different Signal K servers, you can use Download to obtain a copy of the active configuration to a file."),s()(),a(55,"div",18)(56,"button",19),b("click",function(){return p(o),g(t.downloadJsonConfig())}),r(57," Download "),s()(),a(58,"div",20)(59,"p"),r(60," Select a configuration file to upload. The file must be a valid KIP configuration file of JSON format. "),u(61,"br"),a(62,"strong"),r(63,"WARNING: This will permanently overwrite active configuration."),s()()(),a(64,"div",21)(65,"input",22,2),b("change",function(l){return p(o),g(t.uploadJsonConfig(l))}),s(),a(67,"button",23),b("click",function(){p(o);let l=T(66);return g(l.click())}),r(68," Upload "),s()(),a(69,"div",24)(70,"p"),r(71," Load the demonstration configuration and connection to Signal K demo server. "),u(72,"br"),a(73,"strong"),r(74,"WARNING: This will permanently reset your active configuration."),s()()(),a(75,"div",25)(76,"button",19),b("click",function(){return p(o),g(t.loadDemoConfig())}),r(77," Demo "),s()(),a(78,"div",26)(79,"p"),r(80," Reset all your settings to default. The default configuration has a single Getting Started instruction widget. Your Signal K server connection settings will remain. "),u(81,"br"),a(82,"strong"),r(83,"WARNING: This will permanently reset your active configuration."),s()()(),a(84,"div",27)(85,"button",19),b("click",function(){return p(o),g(t.resetConfigToDefault())}),r(86," Default "),s()(),a(87,"div",28)(88,"p"),r(89," Clear the current connection configuration. This only affects Connectivity settings tab. "),s()(),a(90,"div",29)(91,"button",19),b("click",function(){return p(o),g(t.resetConnectionToDefault())}),r(92," Connection "),s()()()()()()}if(i&2){let o=T(9),d=T(22);m(14),w(t.hasToken?14:15),m(4),h("disabled",!t.hasToken||!o.valid),m(9),w(t.hasToken?27:28),m(4),h("disabled",!t.hasToken||!d.valid),m(3),h("formGroup",t.copyConfigForm),m(5),w(t.hasToken?39:40),m(4),h("disabled",!t.copyConfigForm.valid)}},dependencies:[Kt,K,j,Me,X,q,se,oe,ae,de,H,le,re,Ee,Te,ke,it,et,tt,nt],styles:['[_nghost-%COMP%]{display:block;height:100%;width:100%}.page-content[_ngcontent-%COMP%]{width:100%;height:calc(100% - 63px);overflow-y:auto;scroll-behavior:smooth;padding:0 24px 10px}.flex-item-copy[_ngcontent-%COMP%]{flex:2 1 41%;padding:10px 20px;border-radius:15px}.flex-item-reset[_ngcontent-%COMP%]{flex:1 1 100%;padding:10px 20px;border-radius:15px}a[_ngcontent-%COMP%]{font-size:14px}a[_ngcontent-%COMP%]:hover{text-decoration:underline;cursor:pointer}a[_ngcontent-%COMP%]:link, a[_ngcontent-%COMP%]:visited{color:#8ab4f8;text-decoration:none}.warningText[_ngcontent-%COMP%]{padding-left:15px}.no-token-notice[_ngcontent-%COMP%]{height:58px;contain:content;text-align:center;font-style:italic}.mat-mdc-radio-button[_ngcontent-%COMP%] ~ .mat-radio-button[_ngcontent-%COMP%]{margin-right:16px;margin-left:16px}.config-column[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-basis:100%;flex:1;margin:0 10px}.sources-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:15px 0}.sources-radio-button[_ngcontent-%COMP%]{margin:5px;margin-left:0!important}.select-config[_ngcontent-%COMP%]{margin-left:0}.config-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.btn-div[_ngcontent-%COMP%]{align-self:center}.adv-btn[_ngcontent-%COMP%]{width:100%}.config-operation-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:[col-start] auto [col1-end] min-content [col2-end];grid-template-rows:[row-start] max-content [row1-end] max-content [row2-end];grid-template-areas:"download-txt download-btn" "upload-txt upload-btn" "demo-txt demo-btn" "reset-txt reset-btn" "config-txt config-btn";row-gap:20px;column-gap:10px}.upload-txt[_ngcontent-%COMP%]{grid-area:upload-txt}.upload-btn[_ngcontent-%COMP%]{grid-area:upload-btn}.download-txt[_ngcontent-%COMP%]{grid-area:download-txt}.download-btn[_ngcontent-%COMP%]{grid-area:download-btn}.demo-txt[_ngcontent-%COMP%]{grid-area:demo-txt}.demo-btn[_ngcontent-%COMP%]{grid-area:demo-btn}.reset-txt[_ngcontent-%COMP%]{grid-area:reset-txt}.reset-btn[_ngcontent-%COMP%]{grid-area:reset-btn}.config-txt[_ngcontent-%COMP%]{grid-area:config-txt}.config-btn[_ngcontent-%COMP%]{grid-area:config-btn}']})}return n})();var Qs=(()=>{class n{pageTitle="Settings";constructor(){}static \u0275fac=function(i){return new(i||n)};static \u0275cmp=x({type:n,selectors:[["tabs"]],decls:12,vars:1,consts:[["svgIconId","settings",3,"pageTitle"],[1,"content-area"],["label","Connectivity"],[1,"tab-content"],["label","Display"],["label","Notifications & Audio"],["label","Units"],["label","Configurations"]],template:function(i,t){i&1&&(u(0,"page-header",0),a(1,"mat-tab-group",1)(2,"mat-tab",2),u(3,"settings-signalk",3),s(),a(4,"mat-tab",4),u(5,"settings-display",3),s(),a(6,"mat-tab",5),u(7,"settings-notifications",3),s(),a(8,"mat-tab",6),u(9,"settings-units",3),s(),a(10,"mat-tab",7),u(11,"settings-config",3),s()()),i&2&&h("pageTitle",t.pageTitle)},dependencies:[_i,ui,Di,Ai,Ci,Fi,Li,Si],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}.content-area[_ngcontent-%COMP%]{height:calc(100% - 63px);overflow:hidden;width:100%;padding:0 24px}.tab-content[_ngcontent-%COMP%]{overflow-y:auto;width:100%;scroll-behavior:smooth;display:block}"]})}return n})();export{Qs as TabsComponent};