@mxtommy/kip 4.5.2 → 4.6.0
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.
- package/CHANGELOG.md +12 -3
- package/package.json +13 -15
- package/plugin/history-series.service.js +14 -24
- package/plugin/index.js +139 -95
- package/plugin/{duckdb-parquet-storage.service.js → sqlite-history-storage.service.js} +330 -503
- package/public/assets/help-docs/widget-historical-series.md +5 -5
- package/public/{chunk-TVNXBPFF.js → chunk-356CW47X.js} +1 -1
- package/public/{chunk-NFJ4RQSE.js → chunk-3JA4CQ7T.js} +1 -1
- package/public/{chunk-VXTTEFRP.js → chunk-5SAXWR6Z.js} +8 -8
- package/public/{chunk-67V4XHCY.js → chunk-6A4NRSCL.js} +1 -1
- package/public/{chunk-P7JKENHI.js → chunk-AC6VD2FN.js} +1 -1
- package/public/{chunk-TBNKOU7M.js → chunk-B4NYOD6L.js} +1 -1
- package/public/{chunk-WH5CIUSB.js → chunk-BGGO4PGD.js} +1 -1
- package/public/{chunk-KQEEYPK3.js → chunk-BMHMHQFO.js} +1 -1
- package/public/{chunk-RCYOZLZB.js → chunk-CSIELI2Z.js} +2 -2
- package/public/{chunk-R36UY4Q4.js → chunk-CYTLQDGF.js} +1 -1
- package/public/{chunk-YI3MZWRZ.js → chunk-HSKVTFFQ.js} +1 -1
- package/public/{chunk-IH4CEW4C.js → chunk-MDNGWQNG.js} +8 -8
- package/public/{chunk-VPF5756E.js → chunk-MGLD6QDJ.js} +1 -1
- package/public/{chunk-P4CRTB7N.js → chunk-NJISHUGY.js} +1 -1
- package/public/{chunk-ISF5E3CX.js → chunk-P3M6SJQT.js} +11 -11
- package/public/{chunk-WQSJFJLW.js → chunk-POMIQBAL.js} +2 -2
- package/public/{chunk-SJFJEOSG.js → chunk-PPF5S5CV.js} +1 -1
- package/public/{chunk-OPTBDYBL.js → chunk-PUPM3HUQ.js} +1 -1
- package/public/chunk-PZ6I6W3H.js +16 -0
- package/public/{chunk-VXCYPAWR.js → chunk-QU3JR4YV.js} +1 -1
- package/public/{chunk-Q2ANAJAD.js → chunk-SUWMN3AE.js} +1 -1
- package/public/{chunk-CD5TQSCS.js → chunk-UYHRT3PR.js} +1 -1
- package/public/{chunk-FZFDGAQO.js → chunk-WJFXI5PQ.js} +1 -1
- package/public/{chunk-I4SJ5UNN.js → chunk-ZXO4VMEH.js} +1 -1
- package/public/{chunk-XBSU7OGT.js → chunk-ZY3U4H4Z.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-B6TXB3EB.js → main-I33LH3HC.js} +1 -1
- package/plugin/plugin-auth.service.js +0 -75
- package/public/chunk-BTFZS2TW.js +0 -16
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{a as Ai}from"./chunk-XBSU7OGT.js";import{W as Mt,a as mt,c as ht,d as yi,e as Ci,f as wi,fa as Ei,g as xi,i as Mi,j as ki,l as Ti}from"./chunk-VXTTEFRP.js";import{a as Ae,b as _i,c as Si,e as Ii}from"./chunk-NFJ4RQSE.js";import{a as Ri}from"./chunk-OPTBDYBL.js";import{f as De,i as ct,n as fi,q as bi,r as vi}from"./chunk-SJFJEOSG.js";import{f as ri}from"./chunk-FZFDGAQO.js";import{a as Di}from"./chunk-VXCYPAWR.js";import{a as ce,b as ui}from"./chunk-YI3MZWRZ.js";import{g as li,n as le,o as lt,u as de,w as Ie,x as dt}from"./chunk-67V4XHCY.js";import{A as se,B as G,G as ot,H as st,K as re,L as pi,M as gi,N as Q,O as rt,d as xt,h as oi,i as et,j as it,k as nt,l as si,m as q,n as X,o as at,p as Ee,q as di,r as ci,t as K,u as j,w as mi,x as oe,z as hi}from"./chunk-P7JKENHI.js";import{$b as je,$d as Yt,Aa as Vt,Ab as ie,Ac as Ge,Bb as ne,Ca as E,Cb as h,Cc as Qe,Da as be,Db as a,Eb as s,Fa as ve,Fb as p,Fc as ae,Gb as Ke,Ha as ye,Hb as Ct,Hc as F,Ia as Ot,Ib as zt,J as Rt,Jc as z,K as Pe,Ka as J,La as Ft,Lc as k,Mb as P,Mc as N,Nb as Ht,Nd as _e,Ob as b,Od as Zt,Oe as Te,Pe as tt,Q as Pt,Qb as M,Qd as Jt,Rb as he,Sb as O,Tb as Ve,Ub as pe,Va as m,Vb as I,Vd as $e,Wb as D,Xd as xe,Ya as Lt,Yb as Ce,Zb as we,Zd as St,_a as Ne,_b as T,ac as W,ad as Qt,ae as Fe,ba as yt,be as Me,cb as Ut,cc as ge,dc as l,de as $t,ec as Oe,ee as ke,f as L,fb as x,fc as qt,fe as ei,g as We,gb as te,gc as wt,ge as H,hb as U,hc as Xt,ic as Kt,ja as ze,jc as v,je as ti,k as me,kb as qe,kc as y,la as ee,lb as Bt,lc as C,ld as Ze,le as ii,na as R,pa as c,pd as Je,pe as ni,q as At,qe as ai,rc as V,rd as Se,sc as ue,ua as _,ub as B,uc as jt,va as f,vc as Gt,vd as Ye,wa as He,wb as w,xb as S,yb as Xe,za as Nt,zb as Wt}from"./chunk-BTFZS2TW.js";var Ji=(n,u)=>u.key,Yi=(n,u)=>u.measure;function $i(n,u){if(n&1&&(a(0,"mat-option",6),l(1),s()),n&2){let e=u.$implicit;h("value",e.measure),m(),Oe(e.description)}}function en(n,u){if(n&1&&(a(0,"mat-form-field")(1,"mat-label"),l(2),s(),a(3,"mat-select",5),ie(4,$i,2,2,"mat-option",6,Yi),s()()),n&2){let e=u.$implicit,i=M();m(2),Oe(e.key),m(),h("placeholder",e.key)("formControlName",e.key),m(),ne(i.groupUnits[e.key])}}var Pi=(()=>{class n{units=c(Si);settings=c(q);toast=c(X);unitsFormGroup=new mi({});groupUnits=[];ngOnInit(){let e=this.settings.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 hi(e[t.group]))}this.unitsFormGroup.updateValueAndValidity()}submitConfig(){this.settings.setDefaultUnits(this.unitsFormGroup.value),this.toast.show("Configuration saved",1e3,!0,"message")}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"),l(2,"Configure your preferred default unit types. These defaults can be overridden within individual widget settings."),s(),a(3,"div",1),ie(4,en,6,3,"mat-form-field",null,Ji),jt(6,"keyvalue"),s(),a(7,"div",2),p(8,"mat-divider",3),a(9,"button",4),l(10,"Save"),s()()()),i&2&&(h("formGroup",t.unitsFormGroup),m(4),ne(Gt(6,2,t.unitsFormGroup.controls)),m(5),h("disabled",!t.unitsFormGroup.valid))},dependencies:[Q,G,K,j,re,rt,st,ot,de,le,Ae,De,ce,H,Qt],styles:[".unit-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,auto));gap:10px}"]})}return n})();var kt=new R("CdkAccordion"),Ni=(()=>{class n{_stateChanges=new me;_openCloseAllActions=new me;id=c(_e).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=U({type:n,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",k]},exportAs:["cdkAccordion"],features:[V([{provide:kt,useExisting:n}]),ye]})}return n})(),Vi=(()=>{class n{accordion=c(kt,{optional:!0,skipSelf:!0});_changeDetectorRef=c(z);_expansionDispatcher=c(ct);_openCloseAllSubscription=We.EMPTY;closed=new E;opened=new E;destroyed=new E;expandedChange=new E;id=c(_e).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=ve(!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=U({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",k],disabled:[2,"disabled","disabled",k]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[V([{provide:kt,useValue:void 0}])]})}return n})(),Oi=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=te({type:n});static \u0275inj=ee({})}return n})();var an=["body"],on=["bodyWrapper"],sn=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],rn=["mat-expansion-panel-header","*","mat-action-row"];function ln(n,u){}var dn=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],cn=["mat-panel-title","mat-panel-description","*"];function mn(n,u){n&1&&(Ke(0,"span",1),He(),Ke(1,"svg",2),zt(2,"path",3),Ct()())}var Tt=new R("MAT_ACCORDION"),Fi=new R("MAT_EXPANSION_PANEL"),hn=(()=>{class n{_template=c(Lt);_expansionPanel=c(Fi,{optional:!0});constructor(){}static \u0275fac=function(i){return new(i||n)};static \u0275dir=U({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),Li=new R("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Le=(()=>{class n extends Vi{_viewContainerRef=c(Ut);_animationsDisabled=xe();_document=c(Nt);_ngZone=c(be);_elementRef=c(J);_renderer=c(Ne);_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 me;accordion=c(Tt,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=c(_e).getId("mat-expansion-panel-header-");constructor(){super();let e=c(Li,{optional:!0});this._expansionDispatcher=c(ct),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(yt(null),Pe(()=>this.expanded&&!this._portal),Pt(1)).subscribe(()=>{this._portal=new ii(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,hn,5),i&2){let d;I(d=D())&&(t._lazyContent=d.first)}},viewQuery:function(i,t){if(i&1&&pe(an,5)(on,5),i&2){let o;I(o=D())&&(t._body=o.first),I(o=D())&&(t._bodyWrapper=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(i,t){i&2&&W("mat-expanded",t.expanded)("mat-expansion-panel-spacing",t._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",k],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[V([{provide:Tt,useValue:void 0},{provide:Fi,useExisting:n}]),qe,ye],ngContentSelectors:rn,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&&(he(sn),O(0),a(1,"div",2,0)(3,"div",3,1)(5,"div",4),O(6,1),Bt(7,ln,0,0,"ng-template",5),s(),O(8,2),s()()),i&2&&(m(),B("inert",t.expanded?null:""),m(2),h("id",t.id),B("aria-labelledby",t._headerId),m(4),h("cdkPortalOutlet",t._portal))},dependencies:[ni],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}}@media print{.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 Ue=(()=>{class n{panel=c(Le,{host:!0});_element=c(J);_focusMonitor=c(Je);_changeDetectorRef=c(
|
|
3
|
-
`],encapsulation:2,changeDetection:0})}return n})(),gt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=U({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),ut=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=U({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),_t=(()=>{class n extends Ni{_keyManager;_ownHeaders=new Ft;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(yt(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(i=>i.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new Jt(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=Ot(n)))(t||n)}})();static \u0275dir=U({type:n,selectors:[["mat-accordion"]],contentQueries:function(i,t,o){if(i&1&&Ve(o,Ue,5),i&2){let d;I(d=D())&&(t._headers=d)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(i,t){i&2&&W("mat-accordion-multi",t.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",k],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[V([{provide:Tt,useExisting:n}]),qe]})}return n})(),ft=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=te({type:n});static \u0275inj=ee({imports:[Oi,ai,ke]})}return n})();var pn=["switch"],gn=["*"];function un(n,u){n&1&&(a(0,"span",11),He(),a(1,"svg",13),p(2,"path",14),s(),a(3,"svg",15),p(4,"path",16),s()())}var _n=new R("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),bt=class{source;checked;constructor(u,e){this.source=u,this.checked=e}},fe=(()=>{class n{_elementRef=c(J);_focusMonitor=c(Je);_changeDetectorRef=c(z);defaults=c(_n);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(e){return new bt(this,e)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=xe();_focused=!1;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required=!1;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(Se).load(Me);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(_e).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 bt(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&&pe(pn,5),i&2){let o;I(o=D())&&(t._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,t){i&2&&(Ht("id",t.id),B("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),ge(t.color?"mat-"+t.color:""),W("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",k],color:"color",disabled:[2,"disabled","disabled",k],disableRipple:[2,"disableRipple","disableRipple",k],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:N(e)],checked:[2,"checked","checked",k],hideIcon:[2,"hideIcon","hideIcon",k],disabledInteractive:[2,"disabledInteractive","disabledInteractive",k]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[V([{provide:at,useExisting:ze(()=>n),multi:!0},{provide:di,useExisting:n,multi:!0}]),ye],ngContentSelectors:gn,decls:14,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mat-mdc-slide-toggle-touch-target"],[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();he(),a(0,"div",1)(1,"button",2,0),b("click",function(){return _(o),f(t._handleClick())}),p(3,"div",3)(4,"span",4),a(5,"span",5)(6,"span",6)(7,"span",7),p(8,"span",8),s(),a(9,"span",9),p(10,"span",10),s(),w(11,un,5,0,"span",11),s()()(),a(12,"label",12),b("click",function(r){return _(o),f(r.stopPropagation())}),O(13),s()()}if(i&2){let o=T(2);h("labelPosition",t.labelPosition),m(),W("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),B("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(9),h("matRippleTrigger",o)("matRippleDisabled",t.disableRipple||t.disabled)("matRippleCentered",!0),m(),S(t.hideIcon?-1:11),m(),h("for",t.buttonId),B("id",t._labelId)}},dependencies:[Fe,fi],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))}.mat-mdc-slide-toggle label:empty{display:none}.mat-mdc-slide-toggle-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-slide-toggle-touch-target-size, 48px);width:100%;transform:translate(-50%, -50%);display:var(--mat-slide-toggle-touch-target-display, block)}[dir=rtl] .mat-mdc-slide-toggle-touch-target{left:auto;right:50%;transform:translate(50%, -50%)}
|
|
4
|
-
`],encapsulation:2,changeDetection:0})}return n})(),vt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=te({type:n});static \u0275inj=ee({imports:[fe,ke]})}return n})();var fn=["notificationsForm"],bn=["statePanel"],vn=["soundPanel"];function yn(n,u){n&1&&(a(0,"mat-panel-description"),l(1," Filter Notifications sidenav items "),s())}function Cn(n,u){n&1&&(a(0,"mat-panel-description"),l(1," Override server defined methods "),s())}var Wi=(()=>{class n{toast=c(X);settings=c(q);_responsive=c(Ye);isPhonePortrait;notificationsForm=ae("notificationsForm");statePanel=ae("statePanel");soundPanel=ae("soundPanel");notificationConfig;notificationDisabledExpandPanel=!1;constructor(){this.isPhonePortrait=tt(this._responsive.observe($e.HandsetPortrait)),this.notificationConfig=xt(this.settings.getNotificationConfig())}saveAllSettings(){this.settings.setNotificationConfig(xt(this.notificationConfig)),this.notificationsForm().form.markAsPristine(),this.toast.show("Configuration saved",1e3,!0,"message")}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&&Ce(t.notificationsForm,fn,5)(t.statePanel,bn,5)(t.soundPanel,vn,5),i&2&&we(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 t.saveAllSettings()}),a(2,"p"),l(3,"Configure audio and visual notification settings and stay informed of critical events."),s(),a(4,"mat-slide-toggle",4),C("ngModelChange",function(r){return _(o),y(t.notificationConfig.sound.disableSound,r)||(t.notificationConfig.sound.disableSound=r),f(r)}),l(5," Disable audio "),s(),p(6,"br")(7,"br"),a(8,"mat-slide-toggle",5),C("ngModelChange",function(r){return _(o),y(t.notificationConfig.disableNotifications,r)||(t.notificationConfig.disableNotifications=r),f(r)}),b("change",function(r){return t.togglePanel(r)}),l(9," Disable Notifications "),s(),p(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"),l(18," States "),s(),w(19,yn,2,0,"mat-panel-description"),s(),a(20,"mat-checkbox",8),C("ngModelChange",function(r){return _(o),y(t.notificationConfig.devices.showNormalState,r)||(t.notificationConfig.devices.showNormalState=r),f(r)}),l(21," Show "),a(22,"b"),l(23,"Normal"),s(),l(24," state "),s(),p(25,"br"),a(26,"mat-checkbox",9),C("ngModelChange",function(r){return _(o),y(t.notificationConfig.devices.showNominalState,r)||(t.notificationConfig.devices.showNominalState=r),f(r)}),l(27," Show "),a(28,"b"),l(29,"Nominal"),s(),l(30," state "),s()(),a(31,"mat-expansion-panel",7,2)(33,"mat-expansion-panel-header")(34,"mat-panel-title"),l(35," Audio "),s(),w(36,Cn,2,0,"mat-panel-description"),s(),a(37,"mat-checkbox",10),C("ngModelChange",function(r){return _(o),y(t.notificationConfig.sound.muteAlert,r)||(t.notificationConfig.sound.muteAlert=r),f(r)}),l(38," Mute "),a(39,"b"),l(40,"all Alert"),s(),l(41," state "),s(),p(42,"br"),a(43,"mat-checkbox",11),C("ngModelChange",function(r){return _(o),y(t.notificationConfig.sound.muteWarn,r)||(t.notificationConfig.sound.muteWarn=r),f(r)}),l(44," Mute "),a(45,"b"),l(46,"all Warn"),s(),l(47," state "),s(),p(48,"br"),a(49,"mat-checkbox",12),C("ngModelChange",function(r){return _(o),y(t.notificationConfig.sound.muteAlarm,r)||(t.notificationConfig.sound.muteAlarm=r),f(r)}),l(50," Mute "),a(51,"b"),l(52,"all Alarm"),s(),l(53," state "),s(),p(54,"br"),a(55,"mat-checkbox",13),C("ngModelChange",function(r){return _(o),y(t.notificationConfig.sound.muteEmergency,r)||(t.notificationConfig.sound.muteEmergency=r),f(r)}),l(56," Mute "),a(57,"b"),l(58,"all Emergency"),s(),l(59," state "),s()()()(),a(60,"div",14),p(61,"mat-divider",15),a(62,"button",16),l(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),S(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),S(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:[Q,G,K,j,se,oe,mt,vt,fe,ft,_t,Le,Ue,ut,gt,ce,H],styles:[".notification-accordion[_ngcontent-%COMP%]{margin-left:25px}"]})}return n})();Mt.register(...Ei);var zi=Mt;var wn=["activityGraph"],Et=()=>({standalone:!1}),Sn=()=>({standalone:!0}),Hi=(()=>{class n{dialog=c(li);settings=c(q);app=c(ht);toast=c(X);DataService=c(vi);signalKConnectionService=c(et);deltaService=c(bi);connectionStateMachine=c(oi);internetReachability=c(Ai);auth=c(nt);destroyRef=c(Vt);canvasService=c(Ti);activityGraph=ae("activityGraph");connectionConfig;isConnecting=!1;authToken;endpointServiceStatus;streamStatus;internetAvailabilityLabel=Ge(()=>this.internetReachability.isChecking()?"Checking...":this.internetReachability.internetAvailable()?"Available":this.internetReachability.isReachable()===!1?"Unavailable":"Unknown");_chart=null;textColor;ngOnInit(){this.connectionConfig=this.settings.getConnectionConfig(),this.auth.authToken$.pipe(Te(this.destroyRef)).subscribe(e=>{e?this.authToken=e:this.authToken=null}),this.signalKConnectionService.getServiceEndpointStatusAsO().pipe(Te(this.destroyRef)).subscribe(e=>{this.endpointServiceStatus=e}),this.deltaService.getDataStreamStatusAsO().pipe(Te(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(Te(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(Di,{data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().pipe(Te(this.destroyRef)).subscribe(t=>{t&&(this.connectionConfig.loginName=t.user,this.connectionConfig.loginPassword=t.password,this.connectToServer())})}connectToServer(){return L(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.settings.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.toast.show(`${i}`,0,!1,"error")}})}startChart(){this._chart=new zi(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(!it(i,"1.46.2",">=")){this.toast.show("Configuration sharing requires Signal K version 1.46.2 or better",0,!1,"warn"),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&&Ce(t.activityGraph,wn,5),i&2&&we()},decls:40,vars:23,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 t.connectToServer()}),p(2,"br"),a(3,"table",4)(4,"tr",4)(5,"td",5)(6,"mat-form-field",6)(7,"mat-label"),l(8,"Signal K URL"),s(),a(9,"input",7),C("ngModelChange",function(r){return _(o),y(t.connectionConfig.signalKUrl,r)||(t.connectionConfig.signalKUrl=r),f(r)}),s(),a(10,"mat-error"),l(11,' Valid URL is required. Ex. "https://demo.signalK.org" or "http://my.server.com:3000" '),s()()(),a(12,"td",8)(13,"button",9),l(14),s()()(),a(15,"tr",4)(16,"td",10)(17,"mat-slide-toggle",11,1),C("ngModelChange",function(r){return _(o),y(t.connectionConfig.useSharedConfig,r)||(t.connectionConfig.useSharedConfig=r),f(r)}),b("change",function(r){return t.useSharedConfigToggleClick(r)}),l(19," Login to server "),s(),a(20,"button",12),b("click",function(){return t.openUserCredentialModal(null)}),l(21," Set Credential "),s(),p(22,"br"),a(23,"mat-checkbox",13),C("ngModelChange",function(r){return _(o),y(t.connectionConfig.signalKSubscribeAll,r)||(t.connectionConfig.signalKSubscribeAll=r),f(r)}),l(24,"Subscribe to remote sources messages such as AIS and DSC targets. "),a(25,"i"),l(26,"Warning: this maybe generate heavy traffic."),s()()()(),a(27,"tr",4)(28,"td",10)(29,"mat-checkbox",14),C("ngModelChange",function(r){return _(o),y(t.connectionConfig.proxyEnabled,r)||(t.connectionConfig.proxyEnabled=r),f(r)}),l(30,"Signal K server is behind a Proxy"),s()()()()(),a(31,"div",15)(32,"div",16),p(33,"canvas",17,2),s(),a(35,"div",18)(36,"pre"),l(37),p(38,"br"),l(39),s()()()}if(i&2){let o=T(1);m(9),v("ngModel",t.connectionConfig.signalKUrl),h("ngModelOptions",ue(19,Et)),m(4),h("disabled",!o.form.valid||t.isConnecting),m(),qt(" ",t.isConnecting?"Validating...":"Connect"," "),m(3),v("ngModel",t.connectionConfig.useSharedConfig),h("ngModelOptions",ue(20,Sn))("disabled",!t.connectionConfig.signalKUrl),m(3),h("disabled",!t.connectionConfig.useSharedConfig),m(3),v("ngModel",t.connectionConfig.signalKSubscribeAll),h("ngModelOptions",ue(21,Et)),m(6),v("ngModel",t.connectionConfig.proxyEnabled),h("ngModelOptions",ue(22,Et)),m(8),Xt("KIP: ",t.app.appVersion(),`
|
|
5
|
-
`,t.app.browserVersion(),", ",t.app.osVersion()),m(2),
|
|
1
|
+
import{a as Ai}from"./chunk-ZY3U4H4Z.js";import{W as Mt,a as mt,c as ht,d as yi,e as Ci,f as wi,fa as Ei,g as xi,i as Mi,j as ki,l as Ti}from"./chunk-5SAXWR6Z.js";import{a as Ae,b as _i,c as Si,e as Ii}from"./chunk-3JA4CQ7T.js";import{a as Ri}from"./chunk-PUPM3HUQ.js";import{f as De,i as ct,n as fi,q as bi,r as vi}from"./chunk-PPF5S5CV.js";import{f as ri}from"./chunk-WJFXI5PQ.js";import{a as Di}from"./chunk-QU3JR4YV.js";import{a as ce,b as ui}from"./chunk-HSKVTFFQ.js";import{g as li,n as le,o as lt,u as de,w as Ie,x as dt}from"./chunk-6A4NRSCL.js";import{A as se,B as G,G as ot,H as st,K as re,L as pi,M as gi,N as Q,O as rt,d as xt,h as oi,i as et,j as it,k as nt,l as si,m as K,n as q,o as at,p as Ee,q as di,r as ci,t as X,u as j,w as mi,x as oe,z as hi}from"./chunk-AC6VD2FN.js";import{$b as je,$d as Yt,Aa as Vt,Ab as ie,Ac as Ge,Bb as ne,Ca as E,Cb as h,Cc as Qe,Da as ve,Db as a,Eb as s,Fa as he,Fb as p,Fc as ae,Gb as Xe,Ha as ye,Hb as Ct,Hc as F,Ia as Ot,Ib as Ht,J as Rt,Jc as H,K as Pe,Ka as J,La as Ft,Lc as k,Mb as P,Mc as N,Nb as zt,Nd as fe,Ob as b,Od as Zt,Oe as Te,Pe as tt,Q as Pt,Qb as M,Qd as Jt,Rb as pe,Sb as O,Tb as Ve,Ub as ge,Va as m,Vb as I,Vd as $e,Wb as D,Xd as xe,Ya as Lt,Yb as Ce,Zb as we,Zd as St,_a as Ne,_b as T,ac as W,ad as Qt,ae as Fe,ba as yt,be as Me,cb as Ut,cc as ue,dc as r,de as $t,ec as Oe,ee as ke,f as L,fb as x,fc as Kt,fe as ei,g as We,gb as te,gc as wt,ge as z,hb as U,hc as qt,ic as Xt,ja as He,jc as v,je as ti,k as me,kb as Ke,kc as y,la as ee,lb as Bt,lc as C,ld as Ze,le as ii,na as R,pa as c,pd as Je,pe as ni,q as At,qe as ai,rc as V,rd as Se,sc as _e,ua as _,ub as B,uc as jt,va as f,vc as Gt,vd as Ye,wa as ze,wb as w,xb as S,yb as qe,za as Nt,zb as Wt}from"./chunk-PZ6I6W3H.js";var Ji=(n,u)=>u.key,Yi=(n,u)=>u.measure;function $i(n,u){if(n&1&&(a(0,"mat-option",6),r(1),s()),n&2){let e=u.$implicit;h("value",e.measure),m(),Oe(e.description)}}function en(n,u){if(n&1&&(a(0,"mat-form-field")(1,"mat-label"),r(2),s(),a(3,"mat-select",5),ie(4,$i,2,2,"mat-option",6,Yi),s()()),n&2){let e=u.$implicit,i=M();m(2),Oe(e.key),m(),h("placeholder",e.key)("formControlName",e.key),m(),ne(i.groupUnits[e.key])}}var Pi=(()=>{class n{units=c(Si);settings=c(K);toast=c(q);unitsFormGroup=new mi({});groupUnits=[];ngOnInit(){let e=this.settings.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 hi(e[t.group]))}this.unitsFormGroup.updateValueAndValidity()}submitConfig(){this.settings.setDefaultUnits(this.unitsFormGroup.value),this.toast.show("Configuration saved",1e3,!0,"message")}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),ie(4,en,6,3,"mat-form-field",null,Ji),jt(6,"keyvalue"),s(),a(7,"div",2),p(8,"mat-divider",3),a(9,"button",4),r(10,"Save"),s()()()),i&2&&(h("formGroup",t.unitsFormGroup),m(4),ne(Gt(6,2,t.unitsFormGroup.controls)),m(5),h("disabled",!t.unitsFormGroup.valid))},dependencies:[Q,G,X,j,re,rt,st,ot,de,le,Ae,De,ce,z,Qt],styles:[".unit-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,auto));gap:10px}"]})}return n})();var kt=new R("CdkAccordion"),Ni=(()=>{class n{_stateChanges=new me;_openCloseAllActions=new me;id=c(fe).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=U({type:n,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",k]},exportAs:["cdkAccordion"],features:[V([{provide:kt,useExisting:n}]),ye]})}return n})(),Vi=(()=>{class n{accordion=c(kt,{optional:!0,skipSelf:!0});_changeDetectorRef=c(H);_expansionDispatcher=c(ct);_openCloseAllSubscription=We.EMPTY;closed=new E;opened=new E;destroyed=new E;expandedChange=new E;id=c(fe).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=he(!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=U({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",k],disabled:[2,"disabled","disabled",k]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[V([{provide:kt,useValue:void 0}])]})}return n})(),Oi=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=te({type:n});static \u0275inj=ee({})}return n})();var an=["body"],on=["bodyWrapper"],sn=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],rn=["mat-expansion-panel-header","*","mat-action-row"];function ln(n,u){}var dn=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],cn=["mat-panel-title","mat-panel-description","*"];function mn(n,u){n&1&&(Xe(0,"span",1),ze(),Xe(1,"svg",2),Ht(2,"path",3),Ct()())}var Tt=new R("MAT_ACCORDION"),Fi=new R("MAT_EXPANSION_PANEL"),hn=(()=>{class n{_template=c(Lt);_expansionPanel=c(Fi,{optional:!0});constructor(){}static \u0275fac=function(i){return new(i||n)};static \u0275dir=U({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),Li=new R("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Le=(()=>{class n extends Vi{_viewContainerRef=c(Ut);_animationsDisabled=xe();_document=c(Nt);_ngZone=c(ve);_elementRef=c(J);_renderer=c(Ne);_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 me;accordion=c(Tt,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=c(fe).getId("mat-expansion-panel-header-");constructor(){super();let e=c(Li,{optional:!0});this._expansionDispatcher=c(ct),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(yt(null),Pe(()=>this.expanded&&!this._portal),Pt(1)).subscribe(()=>{this._portal=new ii(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,hn,5),i&2){let d;I(d=D())&&(t._lazyContent=d.first)}},viewQuery:function(i,t){if(i&1&&ge(an,5)(on,5),i&2){let o;I(o=D())&&(t._body=o.first),I(o=D())&&(t._bodyWrapper=o.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(i,t){i&2&&W("mat-expanded",t.expanded)("mat-expansion-panel-spacing",t._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",k],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[V([{provide:Tt,useValue:void 0},{provide:Fi,useExisting:n}]),Ke,ye],ngContentSelectors:rn,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&&(pe(sn),O(0),a(1,"div",2,0)(3,"div",3,1)(5,"div",4),O(6,1),Bt(7,ln,0,0,"ng-template",5),s(),O(8,2),s()()),i&2&&(m(),B("inert",t.expanded?null:""),m(2),h("id",t.id),B("aria-labelledby",t._headerId),m(4),h("cdkPortalOutlet",t._portal))},dependencies:[ni],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}}@media print{.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 Ue=(()=>{class n{panel=c(Le,{host:!0});_element=c(J);_focusMonitor=c(Je);_changeDetectorRef=c(H);_parentChangeSubscription=We.EMPTY;constructor(){c(Se).load(Me);let e=this.panel,i=c(Li,{optional:!0}),t=c(new Qe("tabindex"),{optional:!0}),o=e.accordion?e.accordion._stateChanges.pipe(Pe(d=>!!(d.hideToggle||d.togglePosition))):At;this.tabIndex=parseInt(t||"")||0,this._parentChangeSubscription=Rt(e.opened,e.closed,o,e._inputChanges.pipe(Pe(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(Pe(()=>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:Zt(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&&(B("id",t.panel._headerId)("tabindex",t.disabled?-1:t.tabIndex)("aria-controls",t._getPanelId())("aria-expanded",t._isExpanded())("aria-disabled",t.panel.disabled),je("height",t._getHeaderHeight()),W("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:N(e)]},ngContentSelectors:cn,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&&(pe(dn),Xe(0,"span",0),O(1),O(2,1),O(3,2),Ct(),w(4,mn,3,0,"span",1)),i&2&&(W("mat-content-hide-toggle",!t._showToggle()),m(4),S(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})(),gt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=U({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),ut=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=U({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),_t=(()=>{class n extends Ni{_keyManager;_ownHeaders=new Ft;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(yt(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(i=>i.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new Jt(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=Ot(n)))(t||n)}})();static \u0275dir=U({type:n,selectors:[["mat-accordion"]],contentQueries:function(i,t,o){if(i&1&&Ve(o,Ue,5),i&2){let d;I(d=D())&&(t._headers=d)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(i,t){i&2&&W("mat-accordion-multi",t.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",k],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[V([{provide:Tt,useExisting:n}]),Ke]})}return n})(),ft=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=te({type:n});static \u0275inj=ee({imports:[Oi,ai,ke]})}return n})();var pn=["switch"],gn=["*"];function un(n,u){n&1&&(a(0,"span",11),ze(),a(1,"svg",13),p(2,"path",14),s(),a(3,"svg",15),p(4,"path",16),s()())}var _n=new R("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),bt=class{source;checked;constructor(u,e){this.source=u,this.checked=e}},be=(()=>{class n{_elementRef=c(J);_focusMonitor=c(Je);_changeDetectorRef=c(H);defaults=c(_n);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(e){return new bt(this,e)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations=xe();_focused=!1;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required=!1;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(Se).load(Me);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(fe).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 bt(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&&ge(pn,5),i&2){let o;I(o=D())&&(t._switchElement=o.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(i,t){i&2&&(zt("id",t.id),B("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),ue(t.color?"mat-"+t.color:""),W("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",k],color:"color",disabled:[2,"disabled","disabled",k],disableRipple:[2,"disableRipple","disableRipple",k],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:N(e)],checked:[2,"checked","checked",k],hideIcon:[2,"hideIcon","hideIcon",k],disabledInteractive:[2,"disabledInteractive","disabledInteractive",k]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[V([{provide:at,useExisting:He(()=>n),multi:!0},{provide:di,useExisting:n,multi:!0}]),ye],ngContentSelectors:gn,decls:14,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mat-mdc-slide-toggle-touch-target"],[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();pe(),a(0,"div",1)(1,"button",2,0),b("click",function(){return _(o),f(t._handleClick())}),p(3,"div",3)(4,"span",4),a(5,"span",5)(6,"span",6)(7,"span",7),p(8,"span",8),s(),a(9,"span",9),p(10,"span",10),s(),w(11,un,5,0,"span",11),s()()(),a(12,"label",12),b("click",function(l){return _(o),f(l.stopPropagation())}),O(13),s()()}if(i&2){let o=T(2);h("labelPosition",t.labelPosition),m(),W("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),B("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(9),h("matRippleTrigger",o)("matRippleDisabled",t.disableRipple||t.disabled)("matRippleCentered",!0),m(),S(t.hideIcon?-1:11),m(),h("for",t.buttonId),B("id",t._labelId)}},dependencies:[Fe,fi],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))}.mat-mdc-slide-toggle label:empty{display:none}.mat-mdc-slide-toggle-touch-target{position:absolute;top:50%;left:50%;height:var(--mat-slide-toggle-touch-target-size, 48px);width:100%;transform:translate(-50%, -50%);display:var(--mat-slide-toggle-touch-target-display, block)}[dir=rtl] .mat-mdc-slide-toggle-touch-target{left:auto;right:50%;transform:translate(50%, -50%)}
|
|
4
|
+
`],encapsulation:2,changeDetection:0})}return n})(),vt=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=te({type:n});static \u0275inj=ee({imports:[be,ke]})}return n})();var fn=["notificationsForm"],bn=["statePanel"],vn=["soundPanel"];function yn(n,u){n&1&&(a(0,"mat-panel-description"),r(1," Filter Notifications sidenav items "),s())}function Cn(n,u){n&1&&(a(0,"mat-panel-description"),r(1," Override server defined methods "),s())}var Wi=(()=>{class n{toast=c(q);settings=c(K);_responsive=c(Ye);isPhonePortrait;notificationsForm=ae("notificationsForm");statePanel=ae("statePanel");soundPanel=ae("soundPanel");notificationConfig;notificationDisabledExpandPanel=!1;constructor(){this.isPhonePortrait=tt(this._responsive.observe($e.HandsetPortrait)),this.notificationConfig=xt(this.settings.getNotificationConfig())}saveAllSettings(){this.settings.setNotificationConfig(xt(this.notificationConfig)),this.notificationsForm().form.markAsPristine(),this.toast.show("Configuration saved",1e3,!0,"message")}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&&Ce(t.notificationsForm,fn,5)(t.statePanel,bn,5)(t.soundPanel,vn,5),i&2&&we(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 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),C("ngModelChange",function(l){return _(o),y(t.notificationConfig.sound.disableSound,l)||(t.notificationConfig.sound.disableSound=l),f(l)}),r(5," Disable audio "),s(),p(6,"br")(7,"br"),a(8,"mat-slide-toggle",5),C("ngModelChange",function(l){return _(o),y(t.notificationConfig.disableNotifications,l)||(t.notificationConfig.disableNotifications=l),f(l)}),b("change",function(l){return t.togglePanel(l)}),r(9," Disable Notifications "),s(),p(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(),w(19,yn,2,0,"mat-panel-description"),s(),a(20,"mat-checkbox",8),C("ngModelChange",function(l){return _(o),y(t.notificationConfig.devices.showNormalState,l)||(t.notificationConfig.devices.showNormalState=l),f(l)}),r(21," Show "),a(22,"b"),r(23,"Normal"),s(),r(24," state "),s(),p(25,"br"),a(26,"mat-checkbox",9),C("ngModelChange",function(l){return _(o),y(t.notificationConfig.devices.showNominalState,l)||(t.notificationConfig.devices.showNominalState=l),f(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(),w(36,Cn,2,0,"mat-panel-description"),s(),a(37,"mat-checkbox",10),C("ngModelChange",function(l){return _(o),y(t.notificationConfig.sound.muteAlert,l)||(t.notificationConfig.sound.muteAlert=l),f(l)}),r(38," Mute "),a(39,"b"),r(40,"all Alert"),s(),r(41," state "),s(),p(42,"br"),a(43,"mat-checkbox",11),C("ngModelChange",function(l){return _(o),y(t.notificationConfig.sound.muteWarn,l)||(t.notificationConfig.sound.muteWarn=l),f(l)}),r(44," Mute "),a(45,"b"),r(46,"all Warn"),s(),r(47," state "),s(),p(48,"br"),a(49,"mat-checkbox",12),C("ngModelChange",function(l){return _(o),y(t.notificationConfig.sound.muteAlarm,l)||(t.notificationConfig.sound.muteAlarm=l),f(l)}),r(50," Mute "),a(51,"b"),r(52,"all Alarm"),s(),r(53," state "),s(),p(54,"br"),a(55,"mat-checkbox",13),C("ngModelChange",function(l){return _(o),y(t.notificationConfig.sound.muteEmergency,l)||(t.notificationConfig.sound.muteEmergency=l),f(l)}),r(56," Mute "),a(57,"b"),r(58,"all Emergency"),s(),r(59," state "),s()()()(),a(60,"div",14),p(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),S(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),S(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:[Q,G,X,j,se,oe,mt,vt,be,ft,_t,Le,Ue,ut,gt,ce,z],styles:[".notification-accordion[_ngcontent-%COMP%]{margin-left:25px}"]})}return n})();Mt.register(...Ei);var Hi=Mt;var wn=["activityGraph"],Et=()=>({standalone:!1}),Sn=()=>({standalone:!0}),zi=(()=>{class n{dialog=c(li);settings=c(K);app=c(ht);toast=c(q);DataService=c(vi);signalKConnectionService=c(et);deltaService=c(bi);connectionStateMachine=c(oi);internetReachability=c(Ai);auth=c(nt);destroyRef=c(Vt);canvasService=c(Ti);activityGraph=ae("activityGraph");connectionConfig;isConnecting=!1;authToken;endpointServiceStatus;streamStatus;internetAvailabilityLabel=Ge(()=>this.internetReachability.isChecking()?"Checking...":this.internetReachability.internetAvailable()?"Available":this.internetReachability.isReachable()===!1?"Unavailable":"Unknown");_chart=null;textColor;ngOnInit(){this.connectionConfig=this.settings.getConnectionConfig(),this.auth.authToken$.pipe(Te(this.destroyRef)).subscribe(e=>{e?this.authToken=e:this.authToken=null}),this.signalKConnectionService.getServiceEndpointStatusAsO().pipe(Te(this.destroyRef)).subscribe(e=>{this.endpointServiceStatus=e}),this.deltaService.getDataStreamStatusAsO().pipe(Te(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(Te(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(Di,{data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().pipe(Te(this.destroyRef)).subscribe(t=>{t&&(this.connectionConfig.loginName=t.user,this.connectionConfig.loginPassword=t.password,this.connectToServer())})}connectToServer(){return L(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.settings.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.toast.show(`${i}`,0,!1,"error")}})}startChart(){this._chart=new Hi(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(!it(i,"1.46.2",">=")){this.toast.show("Configuration sharing requires Signal K version 1.46.2 or better",0,!1,"warn"),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&&Ce(t.activityGraph,wn,5),i&2&&we()},decls:40,vars:23,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 t.connectToServer()}),p(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),C("ngModelChange",function(l){return _(o),y(t.connectionConfig.signalKUrl,l)||(t.connectionConfig.signalKUrl=l),f(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),C("ngModelChange",function(l){return _(o),y(t.connectionConfig.useSharedConfig,l)||(t.connectionConfig.useSharedConfig=l),f(l)}),b("change",function(l){return t.useSharedConfigToggleClick(l)}),r(19," Login to server "),s(),a(20,"button",12),b("click",function(){return t.openUserCredentialModal(null)}),r(21," Set Credential "),s(),p(22,"br"),a(23,"mat-checkbox",13),C("ngModelChange",function(l){return _(o),y(t.connectionConfig.signalKSubscribeAll,l)||(t.connectionConfig.signalKSubscribeAll=l),f(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),C("ngModelChange",function(l){return _(o),y(t.connectionConfig.proxyEnabled,l)||(t.connectionConfig.proxyEnabled=l),f(l)}),r(30,"Signal K server is behind a Proxy"),s()()()()(),a(31,"div",15)(32,"div",16),p(33,"canvas",17,2),s(),a(35,"div",18)(36,"pre"),r(37),p(38,"br"),r(39),s()()()}if(i&2){let o=T(1);m(9),v("ngModel",t.connectionConfig.signalKUrl),h("ngModelOptions",_e(19,Et)),m(4),h("disabled",!o.form.valid||t.isConnecting),m(),Kt(" ",t.isConnecting?"Validating...":"Connect"," "),m(3),v("ngModel",t.connectionConfig.useSharedConfig),h("ngModelOptions",_e(20,Sn))("disabled",!t.connectionConfig.signalKUrl),m(3),h("disabled",!t.connectionConfig.useSharedConfig),m(3),v("ngModel",t.connectionConfig.signalKSubscribeAll),h("ngModelOptions",_e(21,Et)),m(6),v("ngModel",t.connectionConfig.proxyEnabled),h("ngModelOptions",_e(22,Et)),m(8),qt("KIP: ",t.app.appVersion(),`
|
|
5
|
+
`,t.app.browserVersion(),", ",t.app.osVersion()),m(2),Xt(`
|
|
6
6
|
`,t.endpointServiceStatus.serverDescription,`
|
|
7
7
|
`,t.streamStatus.message,", ",t.streamStatus.hasToken?"Logged In":"Readonly",`
|
|
8
|
-
Internet: `,t.internetAvailabilityLabel())}},dependencies:[Q,G,Ee,
|
|
9
|
-
`],encapsulation:2,changeDetection:0})}return n})(),Ki=(()=>{class n{_ngZone=c(be);_cdr=c(z);_elementRef=c(J);_dir=c($t,{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(g.END),t=this._getInput(g.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(g.END),t=this._getInput(g.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(g.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(g.END),t=this._getInput(g.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(g.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(g.END),i=this._getInput(g.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(g.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=xe();_dirChangeSubscription;_resizeObserver=null;_cachedWidth;_cachedLeft;_rippleRadius=24;startValueIndicatorText="";endValueIndicatorText="";_endThumbTransform;_startThumbTransform;_isRange=!1;_isRtl=!1;_hasViewInitialized=!1;_tickMarkTrackWidth=0;_hasAnimation=!1;_resizeTimer=null;_platform=c(Ze);constructor(){c(Se).load(Me),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(g.END),i=this._getInput(g.START);this._isRange=!!e&&!!i,this._cdr.detectChanges();let t=this._getThumb(g.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(g.END),i=this._getInput(g.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(g.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(g.START)._isActive||this._getThumb(g.END)._isActive}_getValue(e=g.END){let i=this._getInput(e);return i?i.value:this.min}_skipUpdate(){return!!(this._getInput(g.START)?._skipUIUpdate||this._getInput(g.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(g.END),i=this._getInput(g.START);e._updateThumbUIByValue(),i._updateThumbUIByValue(),e._updateStaticStyles(),i._updateStaticStyles(),e._updateMinMax(),i._updateMinMax(),e._updateWidthInactive(),i._updateWidthInactive()}else{let e=this._getInput(g.END);e&&e._updateThumbUIByValue()}this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.detectChanges()}}_thumbsOverlap=!1;_areThumbsOverlapping(){let e=this._getInput(g.START),i=this._getInput(g.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===g.END?g.END:g.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===g.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(g.END),i=this._getInput(g.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(Re.ACTIVE).concat(Array(o).fill(Re.INACTIVE))}_updateTickMarkUIRange(e){let i=this._getValue(),t=this._getValue(g.START),o=Math.max(Math.round((t-this.min)/e),0),d=Math.max(Math.round((i-t)/e)+1,0),r=Math.max(Math.round((this.max-i)/e),0);this._tickMarks=Array(o).fill(Re.INACTIVE).concat(Array(d).fill(Re.ACTIVE),Array(r).fill(Re.INACTIVE))}_getInput(e){if(e===g.END&&this._input)return this._input;if(this._inputs?.length)return e===g.START?this._inputs.first:this._inputs.last}_getThumb(e){return e===g.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,r=e.clientX-o,A=e.clientY-d;return Math.pow(r,2)+Math.pow(A,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,qi,5)(o,Pn,4),i&2){let d;I(d=D())&&(t._input=d.first),I(d=D())&&(t._inputs=d)}},viewQuery:function(i,t){if(i&1&&pe(Tn,5)(Xi,5),i&2){let o;I(o=D())&&(t._trackActive=o.first),I(o=D())&&(t._thumbs=o)}},hostAttrs:[1,"mat-mdc-slider","mdc-slider"],hostVars:12,hostBindings:function(i,t){i&2&&(ge("mat-"+(t.color||"primary")),W("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",k],discrete:[2,"discrete","discrete",k],showTickMarks:[2,"showTickMarks","showTickMarks",k],min:[2,"min","min",N],color:"color",disableRipple:[2,"disableRipple","disableRipple",k],max:[2,"max","max",N],step:[2,"step","step",N],displayWith:"displayWith"},exportAs:["matSlider"],features:[V([{provide:It,useExisting:n}])],ngContentSelectors:En,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&&(he(),O(0),a(1,"div",2),p(2,"div",3),a(3,"div",4),p(4,"div",5,0),s(),w(6,An,3,1,"div",6),s(),w(7,Rn,1,3,"mat-slider-visual-thumb",7),p(8,"mat-slider-visual-thumb",7)),i&2&&(m(6),S(t.showTickMarks?6:-1),m(),S(t._isRange?7:-1),m(),h("discrete",t.discrete)("thumbPosition",2)("valueIndicatorText",t.endValueIndicatorText))},dependencies:[Nn],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:var(--mat-slider-value-indicator-transform-origin, 0 28px);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:""}
|
|
10
|
-
`],encapsulation:2,changeDetection:0})}return n})();var Vn={provide:at,useExisting:ze(()=>Dt),multi:!0};var Dt=(()=>{class n{_ngZone=c(be);_elementRef=c(J);_cdr=c(z);_slider=c(It);_platform=c(Ze);_listenerCleanups;get value(){return N(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=g.END;get min(){return N(this._hostElement.min,0)}set min(e){this._hostElement.min=e+"",this._cdr.detectChanges()}get max(){return N(this._hostElement.max,0)}set max(e){this._hostElement.max=e+"",this._cdr.detectChanges()}get step(){return N(this._hostElement.step,0)}set step(e){this._hostElement.step=e+"",this._cdr.detectChanges()}get disabled(){return k(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=ve("");_knobRadius=8;_tickMarkOffset=3;_isActive=!1;_isFocused=!1;_setIsFocused(e){this._isFocused=e}_hasSetInitialValue=!1;_initialValue;_formControl;_destroyed=new me;_skipUIUpdate=!1;_onChangeFn;_onTouchedFn=()=>{};_isControlInitialized=!1;constructor(){let e=c(Ne);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),r=this._slider._isRtl?1-i/t:i/t,Z=Math.round(r*d)/d*(this._slider.max-this._slider.min)+this._slider.min,$=Math.round(Z/o)*o,Be=this.value;if($===Be){this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation});return}this.value=$,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=U({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&&B("aria-valuetext",t._valuetext())},inputs:{value:[2,"value","value",N]},outputs:{valueChange:"valueChange",dragStart:"dragStart",dragEnd:"dragEnd"},exportAs:["matSliderThumb"],features:[V([Vn,{provide:qi,useExisting:n}])]})}return n})();var ji=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=te({type:n});static \u0275inj=ee({imports:[ei,ke]})}return n})();var Fn=["displayForm"];function Ln(n,u){if(n&1&&(a(0,"mat-panel-description",8),l(1," Adjust night mode settings to enhance visibility in low-light environments. "),s()),n&2){let e=M();h("hidden",e.isPhonePortrait().matches)}}function Un(n,u){n&1&&(a(0,"mat-panel-description"),l(1," Choose your preferred high-contrast theme. "),s())}function Bn(n,u){n&1&&(a(0,"mat-panel-description"),l(1," Configure persistent dual\u2011panel chart & dashboards layout. "),s())}function Wn(n,u){n&1&&(a(0,"mat-panel-description"),l(1," Configure remote dashboard operations between KIP instances. "),s())}function zn(n,u){n&1&&(a(0,"mat-error"),l(1,"This field is required."),s())}function Hn(n,u){n&1&&(a(0,"mat-panel-description"),l(1," Set historical charting and data logging for widgets. This enables retrospective views and access to historical data. "),s())}function qn(n,u){if(n&1){let e=P();a(0,"span"),l(1,"Select history provider and data logging mode:"),s(),a(2,"mat-radio-group",26),C("ngModelChange",function(t){_(e);let o=M();return y(o.providerMode,t)||(o.providerMode=t),f(t)}),a(3,"mat-radio-button",27),l(4,"Use KIP automatic series and data logging provider."),s(),a(5,"mat-radio-button",28),l(6,"Use other History API provider plugin and manual data logging configuration."),s()(),a(7,"mat-slide-toggle",29),C("ngModelChange",function(t){_(e);let o=M();return y(o.widgetHistoryDisabled,t)||(o.widgetHistoryDisabled=t),f(t)}),l(8," Disable widget historical charts (two-finger tap or right-click to view history feature). "),s()}if(n&2){let e=M();m(2),v("ngModel",e.providerMode),h("value",e.providerMode()),m(5),v("ngModel",e.widgetHistoryDisabled)}}function Xn(n,u){n&1&&(a(0,"p"),l(1,"Historical data features require Signal K server version 2.22.1 or later."),s())}var Gi=(()=>{class n{DERIVED_DATA_PLUGIN_ID="derived-data";KIP_DATA_PLUGIN_ID="kip";LIGHT_THEME_NAME="light-theme";displayForm=ae("displayForm");app=c(ht);toast=c(X);settings=c(q);responsive=c(Ye);pluginConfig=c(xi);server=c(et);isPhonePortrait;nightBrightness=ve(.27);isHistoryApiSupported=Ge(()=>{let e=this.server.serverVersion$.getValue();return e?it(e,"2.22.1",">="):!1});autoNightMode=F(!1);isRedNightMode=F(!1);isLightTheme=F(!1);isRemoteControl=F(!1);instanceName=F("");splitShellEnabled=F(!1);splitShellSide=F("left");splitShellSwipeDisabled=F(!1);providerMode=F("kip");widgetHistoryDisabled=F(!1);_pluginCheckSeq=0;constructor(){this.isPhonePortrait=tt(this.responsive.observe($e.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()),this.widgetHistoryDisabled.set(this.settings.getWidgetHistoryDisabled()),this.getKipPluginConfig()}saveAllSettings(){let e=this.displayForm();if(!e||e.invalid){e?.form.markAllAsTouched(),this.toast.show("Please fill out required fields before saving.",3e3,!0);return}if(this.autoNightMode()){let i=++this._pluginCheckSeq;this.validateAndSaveSettings(i);return}this.applyAndSaveSettings()}applyAndSaveSettings(){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.settings.setWidgetHistoryDisabled(this.widgetHistoryDisabled()),this.setKipPluginConfig()||this.toast.show("Failed to save KIP plugin configuration on server.",0,!1,"error"),this.displayForm().form.markAsPristine(),this.toast.show("Configuration saved",1e3,!0,"message")}validateAndSaveSettings(e){return L(this,null,function*(){let i=yield this.validateAndHandleAutoNightRequirement(e);e===this._pluginCheckSeq&&(i?this.applyAndSaveSettings():this.autoNightMode.set(!1))})}getKipPluginConfig(){return L(this,null,function*(){let e=yield this.pluginConfig.getPlugin(this.KIP_DATA_PLUGIN_ID);if(!e.ok){this.toast.show(`Failed to load KIP plugin configuration: ${e.error.message}`,0,!1,"error");return}let i=e.data.state.configuration;this.providerMode.set(i.historySeriesServiceEnabled===!0?"kip":"other")})}setKipPluginConfig(){return L(this,null,function*(){let e={configuration:{historySeriesServiceEnabled:this.providerMode()==="kip",registerAsHistoryApiProvider:this.providerMode()==="kip"}};return(yield this.pluginConfig.savePluginConfig(this.KIP_DATA_PLUGIN_ID,e)).ok})}isAutoNightModeSupported(e){this.displayForm().form.markAsDirty(),this.autoNightMode.set(e.checked)}validateAndHandleAutoNightRequirement(e){return L(this,null,function*(){let i=yield this.pluginConfig.getPlugin(this.DERIVED_DATA_PLUGIN_ID);if(e!==this._pluginCheckSeq)return!1;if(!i.ok){let $=i;return $.error.reason==="not-found"?(this.toast.show("Automatic Night Mode requires the Signal K Derived Data plugin. This requirement is missing and must be installed manually by the user.",0,!1,"error"),!1):(this.toast.show(`Failed to validate Automatic Night Mode requirements: ${$.error.message}`,0,!1,"error"),!1)}let t=i.data,o=this.resolveEnvironmentSunFlagPath(t.state.configuration),d=this.readBooleanByPath(t.state.configuration,o)===!0;if(t.state.enabled&&d)return!0;let r=!t.state.enabled,A=!d,Z;return r&&A?Z="To enable Automatic Night Mode, the Derived Data plugin must be enabled and the environment.sun path must be set to true. Do you wish to enable & configure?":r?Z="To enable Automatic Night Mode, the Derived Data plugin must be enabled. Do you wish to enable it?":Z="To enable Automatic Night Mode, the environment.sun path in the Derived Data plugin must be set to true. Do you wish to configure it?",new Promise($=>{let Be=this.toast.show(Z,0,!1,"warn","Ok");Be.onAction().subscribe(()=>{this.enableAndConfigureAutoNight(t,o,e,$)}),Be.afterDismissed().subscribe(Zi=>{Zi.dismissedByAction||$(!1)})})})}enableAndConfigureAutoNight(e,i,t,o){return L(this,null,function*(){let d=this.cloneConfig(e.state.configuration);this.writeBooleanByPath(d,i,!0);let r=yield this.pluginConfig.savePluginConfig(e.id,{configuration:d,enabled:!0});if(t!==this._pluginCheckSeq){o(!1);return}if(!r.ok){let A=r;this.toast.show(`Failed to enable and configure Derived Data plugin: ${A.error.message}`,0,!1,"error"),o(!1);return}this.toast.show("Automatic Night Mode dependency enabled and configured.",3e3,!0,"success"),o(!0)})}resolveEnvironmentSunFlagPath(e){return this.findBooleanSunPath(e)??["sun"]}findBooleanSunPath(e,i=[]){let t=Object.entries(e).find(([o,d])=>o.toLowerCase()==="sun"&&typeof d=="boolean");if(t)return[...i,t[0]];for(let[o,d]of Object.entries(e)){if(typeof d=="boolean"&&o.toLowerCase().includes("sun"))return[...i,o];if(d&&typeof d=="object"&&!Array.isArray(d)){let r=this.findBooleanSunPath(d,[...i,o]);if(r)return r}}return null}readBooleanByPath(e,i){let t=e;for(let o of i){if(!t||typeof t!="object"||Array.isArray(t))return null;t=t[o]}return typeof t=="boolean"?t:null}writeBooleanByPath(e,i,t){if(i.length===0)return;let o=e;for(let d=0;d<i.length-1;d++){let r=i[d],A=o[r];(!A||typeof A!="object"||Array.isArray(A))&&(o[r]={}),o=o[r]}o[i[i.length-1]]=t}cloneConfig(e){return JSON.parse(JSON.stringify(e||{}))}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&&Ce(t.displayForm,Fn,5),i&2&&we()},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"],providerMode:[1,"providerMode"],widgetHistoryDisabled:[1,"widgetHistoryDisabled"]},outputs:{autoNightMode:"autoNightModeChange",isRedNightMode:"isRedNightModeChange",isLightTheme:"isLightThemeChange",isRemoteControl:"isRemoteControlChange",instanceName:"instanceNameChange",splitShellEnabled:"splitShellEnabledChange",splitShellSide:"splitShellSideChange",splitShellSwipeDisabled:"splitShellSwipeDisabledChange",providerMode:"providerModeChange",widgetHistoryDisabled:"widgetHistoryDisabledChange"},decls:74,vars:25,consts:[["displayForm","ngForm"],["redNightModeToggle",""],["inputBrightness",""],["isFskShellEnabled",""],["isFskShellSwipeEnabled",""],["isRemoteControlCb",""],["instanceNameModel","ngModel"],["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",3,"ngModelChange","ngModel","disabled","required"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"],["name","providerMode","required","",1,"radio-group",3,"ngModelChange","ngModel","value"],["value","kip",1,"radio-button"],["value","other",1,"radio-button"],["name","widgetHistoryDisabled",1,"full-width",3,"ngModelChange","ngModel"]],template:function(i,t){if(i&1){let o=P();a(0,"form",7,0),b("ngSubmit",function(){return t.saveAllSettings()}),a(2,"p"),l(3,"Customize your display settings to enable various integrations, 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"),l(8," Night Mode "),s(),w(9,Ln,2,1,"mat-panel-description",8),s(),a(10,"mat-slide-toggle",9),b("change",function(r){return t.isAutoNightModeSupported(r)}),C("ngModelChange",function(r){return _(o),y(t.autoNightMode,r)||(t.autoNightMode=r),f(r)}),l(11," Automatically activate day and night modes based on sun phases. "),s(),a(12,"mat-slide-toggle",10,1),C("ngModelChange",function(r){return _(o),y(t.isRedNightMode,r)||(t.isRedNightMode=r),f(r)}),l(14," Enable red-only night mode. "),s(),a(15,"div",11),p(16,"br"),a(17,"span"),l(18,"Adjust Night Mode Brightness"),s(),p(19,"br"),a(20,"mat-slider",12)(21,"input",13,2),b("input",function(){_(o);let r=T(22);return f(t.setBrightness(+r.value))}),s()()()(),a(23,"mat-expansion-panel")(24,"mat-expansion-panel-header")(25,"mat-panel-title"),l(26," Theme "),s(),w(27,Un,2,0,"mat-panel-description"),s(),a(28,"mat-slide-toggle",14),C("ngModelChange",function(r){return _(o),y(t.isLightTheme,r)||(t.isLightTheme=r),f(r)}),l(29," Enable light theme for brighter display settings. "),s()(),a(30,"mat-expansion-panel")(31,"mat-expansion-panel-header")(32,"mat-panel-title"),l(33," Chartplotter Mode "),s(),w(34,Bn,2,0,"mat-panel-description"),s(),a(35,"mat-slide-toggle",15,3),C("ngModelChange",function(r){return _(o),y(t.splitShellEnabled,r)||(t.splitShellEnabled=r),f(r)}),l(37," Enable Freeboard\u2011SK dual\u2011panel Chartplotter mode. "),s(),a(38,"mat-form-field",16)(39,"mat-label"),l(40,"Freeboard-SK panel side"),s(),a(41,"mat-select",17),C("ngModelChange",function(r){return _(o),y(t.splitShellSide,r)||(t.splitShellSide=r),f(r)}),a(42,"mat-option",18),l(43,"Left side"),s(),a(44,"mat-option",19),l(45,"Right side"),s()()(),a(46,"mat-slide-toggle",20,4),C("ngModelChange",function(r){return _(o),y(t.splitShellSwipeDisabled,r)||(t.splitShellSwipeDisabled=r),f(r)}),l(48," Disable swipe gestures over chart panel. "),s()(),a(49,"mat-expansion-panel")(50,"mat-expansion-panel-header")(51,"mat-panel-title"),l(52," Remote Control "),s(),w(53,Wn,2,0,"mat-panel-description"),s(),a(54,"mat-slide-toggle",21,5),C("ngModelChange",function(r){return _(o),y(t.isRemoteControl,r)||(t.isRemoteControl=r),f(r)}),l(56," Allow remote KIP instances to view and control this dashboard. "),s(),a(57,"mat-form-field",16)(58,"mat-label"),l(59,"Name of this instance"),s(),a(60,"input",22,6),b("ngModelChange",function(){_(o);let r=T(1);return f(r.form.markAsDirty())}),C("ngModelChange",function(r){return _(o),y(t.instanceName,r)||(t.instanceName=r),f(r)}),s(),w(62,zn,2,0,"mat-error"),s()(),a(63,"mat-expansion-panel")(64,"mat-expansion-panel-header")(65,"mat-panel-title"),l(66," Widget Historical Data "),s(),w(67,Hn,2,0,"mat-panel-description"),s(),w(68,qn,9,3)(69,Xn,2,0,"p"),s()(),a(70,"div",23),p(71,"mat-divider",24),a(72,"button",25),l(73,"Save"),s()()()}if(i&2){let o=T(1),d=T(13),r=T(36),A=T(55),Z=T(61);m(9),S(t.isPhonePortrait().matches?-1:9),m(),v("ngModel",t.autoNightMode),m(2),v("ngModel",t.isRedNightMode),m(5),ge(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),S(t.isPhonePortrait().matches?-1:27),m(),v("ngModel",t.isLightTheme),m(6),S(t.isPhonePortrait().matches?-1:34),m(),v("ngModel",t.splitShellEnabled),m(6),v("ngModel",t.splitShellSide),h("disabled",!r.checked),m(5),v("ngModel",t.splitShellSwipeDisabled),h("disabled",!r.checked),m(7),S(t.isPhonePortrait().matches?-1:53),m(),v("ngModel",t.isRemoteControl),m(6),v("ngModel",t.instanceName),h("disabled",!A.checked)("required",A.checked),m(2),S(A.checked&&Z.invalid&&(Z.touched||o.submitted)?62:-1),m(5),S(t.isPhonePortrait().matches?-1:67),m(),S(t.isHistoryApiSupported()?68:69),m(4),h("disabled",!o.form.dirty||o.form.invalid)}},dependencies:[Q,G,Ee,K,j,re,se,oe,ui,ce,ti,H,ji,Ki,Dt,ft,_t,Le,Ue,ut,gt,dt,Ie,de,le,lt,vt,fe,_i,Ae,De,wi,yi,Ci],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)}.radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:5px 0 15px;align-items:flex-start}.radio-button[_ngcontent-%COMP%]{margin:5px}"]})}return n})();var Kn=()=>({standalone:!1});function jn(n,u){n&1&&(a(0,"div"),l(1,' Writing to the server requires "Login to Server" authentication or a Device token '),s())}function Gn(n,u){if(n&1){let e=P();a(0,"div")(1,"mat-form-field",30)(2,"mat-label"),l(3,"Scope"),s(),a(4,"mat-select",31),C("ngModelChange",function(t){_(e);let o=M();return y(o.saveConfigScope,t)||(o.saveConfigScope=t),f(t)}),a(5,"mat-option",32),l(6," Global "),s(),a(7,"mat-option",33),l(8," User "),s()()(),a(9,"mat-form-field",34)(10,"mat-label"),l(11,"Configuration Name"),s(),a(12,"input",35),C("ngModelChange",function(t){_(e);let o=M();return y(o.saveConfigName,t)||(o.saveConfigName=t),f(t)}),s()(),w(13,jn,2,0,"div"),s()}if(n&2){let e=M();m(4),v("ngModel",e.saveConfigScope),m(8),v("ngModel",e.saveConfigName),h("ngModelOptions",ue(4,Kn)),m(),S(e.hasToken?-1:13)}}function Qn(n,u){n&1&&(a(0,"div",9)(1,"p"),l(2,"Server authentication or Device Token required"),s()())}function Zn(n,u){if(n&1&&(a(0,"mat-option",38),l(1),s()),n&2){let e=u.$implicit;h("value",e),m(),wt(" ",e.scope," / ",e.name," ")}}function Jn(n,u){if(n&1){let e=P();a(0,"div")(1,"mat-form-field",36)(2,"mat-label"),l(3,"Configuration"),s(),a(4,"mat-select",37),C("ngModelChange",function(t){_(e);let o=M();return y(o.deleteConfigItem,t)||(o.deleteConfigItem=t),f(t)}),ie(5,Zn,2,3,"mat-option",38,Wt),s()()()}if(n&2){let e=M();m(4),v("ngModel",e.deleteConfigItem),m(),ne(e.serverConfigList)}}function Yn(n,u){n&1&&(a(0,"div",9)(1,"p"),l(2,"Authentication or Device Token required"),s()())}function $n(n,u){if(n&1&&(a(0,"mat-option",38),l(1),s()),n&2){let e=u.$implicit;h("value",e),m(),wt(" ",e.scope," / ",e.name," ")}}function ea(n,u){if(n&1&&(a(0,"div")(1,"mat-form-field",36)(2,"mat-label"),l(3,"Configuration"),s(),a(4,"mat-select",39),ie(5,$n,2,3,"mat-option",38,Xe),s()()()),n&2){let e=M();m(5),ne(e.serverConfigList)}}function ta(n,u){n&1&&(a(0,"div",9)(1,"p"),l(2,"Authentication or Device Token required"),s()())}var Qi=(()=>{class n{settings=c(q);storageSvc=c(si);toast=c(X);auth=c(nt);fb=c(gi);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},ci.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=>{i.status===401?this.toast.show("Storage Service: "+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,"error"):this.toast.show("Cannot list configurations: "+i,0,!1,"error")})}saveConfig(e,i,t,o,d){if(this.supportApplicationData){if(i==="user"&&t==="default"&&!d){this.toast.show("Saving configuration with scope 'user' and name 'default' is not allowed.",0,!1,"error");return}this.storageSvc.setConfig(i,t,e)?(this.toast.show(`Configuration [${t}] saved to [${i}] storage scope`,1e3,!0,"success"),o||this.getServerConfigList()):this.toast.show("Configuration not saved to server",0,!1,"error")}}saveToLocalstorage(e){this.settings.replaceConfig("appConfig",e.app,!1),this.settings.replaceConfig("dashboardsConfig",e.dashboards,!1),this.settings.replaceConfig("themeConfig",e.theme,!1)}copyConfig(){return L(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.toast.show("Cannot retrieve server configuration: "+i.statusText,0,!1,"error");return}this.saveConfig(e,"user","default",!1,!0),this.settings.reloadApp()})}deleteConfig(e,i,t,o){this.storageSvc.removeItem(e,i,t),this.toast.show(`Configuration [${i}] deleted from [${e}] storage scope`,1e3,!1,"success"),o||this.getServerConfigList()}resetConfigToDefault(){this.settings.resetSettings()}resetConnectionToDefault(){this.settings.resetConnection()}loadDemoConfig(){this.settings.loadDemoConfig()}getActiveConfig(){let e;return this.settings.useSharedConfig?e=this.getLocalConfigFromMemory():e=this.getLocalConfigFromLocalStorage(),e}getLocalConfigFromMemory(){return{app:this.settings.getAppConfig(),dashboards:this.settings.getDashboardConfig(),theme:this.settings.getThemeConfig()}}getLocalConfigFromLocalStorage(){return{app:this.settings.loadConfigFromLocalStorage("appConfig"),dashboards:this.settings.loadConfigFromLocalStorage("dashboardsConfig"),theme:this.settings.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.settings.reloadApp()}catch(r){this.toast.show("File does not contain valid JSON.",0,!1,"error"),console.error("Invalid JSON file format:",r)}},o.readAsText(t)}else this.toast.show("Please select a valid JSON file",0,!1,"error")}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/configuration"],[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"),l(2," Recommended Reading: To understand configuration management and storage options, consult the "),a(3,"a",4),l(4,"Login and Configuration"),s(),l(5," help section. "),s(),a(6,"div",5)(7,"div",6)(8,"form",7,0),b("ngSubmit",function(){return t.saveConfig(t.getActiveConfig(),t.saveConfigScope,t.saveConfigName)}),a(10,"h2"),l(11,"Backup"),s(),a(12,"p",8),l(13," Create a backup of the current active configuration on the server. "),s(),w(14,Gn,14,5,"div")(15,Qn,3,0,"div",9),a(16,"div",10),p(17,"mat-divider",11),a(18,"button",12),l(19," Create "),s()()()(),a(20,"div",6)(21,"form",13,1),b("ngSubmit",function(){return t.deleteConfig(t.deleteConfigItem.scope,t.deleteConfigItem.name)}),a(23,"h2"),l(24,"Delete"),s(),a(25,"p",8),l(26," Select a backup configuration to permanently delete from the server. "),s(),w(27,Jn,7,1,"div")(28,Yn,3,0,"div",9),a(29,"div",10),p(30,"mat-divider",11),a(31,"button",12),l(32," Delete "),s()()()(),a(33,"div",6)(34,"form",14),b("ngSubmit",function(){return t.copyConfig()}),a(35,"h2"),l(36,"Restore"),s(),a(37,"p",8),l(38," Replace the current configuration with a backup from the server. "),s(),w(39,ea,7,0,"div")(40,ta,3,0,"div",9),a(41,"div",10),p(42,"mat-divider",11),a(43,"button",12),l(44," Restore "),s()()()(),a(45,"div",15)(46,"h2"),l(47,"Advanced"),s(),a(48,"div",16)(49,"div",17)(50,"p"),l(51,"To reuse your configuration on different devices, simply login using the same credential from any device (See "),a(52,"a",4),l(53,"Login and Configuration"),s(),l(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 t.downloadJsonConfig()}),l(57," Download "),s()(),a(58,"div",20)(59,"p"),l(60," Select a configuration file to upload. The file must be a valid KIP configuration file of JSON format. "),p(61,"br"),a(62,"strong"),l(63,"WARNING: This will permanently overwrite active configuration."),s()()(),a(64,"div",21)(65,"input",22,2),b("change",function(r){return t.uploadJsonConfig(r)}),s(),a(67,"button",23),b("click",function(){_(o);let r=T(66);return f(r.click())}),l(68," Upload "),s()(),a(69,"div",24)(70,"p"),l(71," Load the demonstration configuration and connection to Signal K demo server. "),p(72,"br"),a(73,"strong"),l(74,"WARNING: This will permanently reset your active configuration."),s()()(),a(75,"div",25)(76,"button",19),b("click",function(){return t.loadDemoConfig()}),l(77," Demo "),s()(),a(78,"div",26)(79,"p"),l(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. "),p(81,"br"),a(82,"strong"),l(83,"WARNING: This will permanently reset your active configuration."),s()()(),a(84,"div",27)(85,"button",19),b("click",function(){return t.resetConfigToDefault()}),l(86," Default "),s()(),a(87,"div",28)(88,"p"),l(89," Clear the current connection configuration. This only affects Connectivity settings tab. "),s()(),a(90,"div",29)(91,"button",19),b("click",function(){return t.resetConnectionToDefault()}),l(92," Connection "),s()()()()()()}if(i&2){let o=T(9),d=T(22);m(14),S(t.hasToken?14:15),m(4),h("disabled",!t.hasToken||!o.valid),m(9),S(t.hasToken?27:28),m(4),h("disabled",!t.hasToken||!d.valid),m(3),h("formGroup",t.copyConfigForm),m(5),S(t.hasToken?39:40),m(4),h("disabled",!t.copyConfigForm.valid)}},dependencies:[ri,Q,G,Ee,K,j,re,se,oe,ce,H,de,le,Ae,De,Ie,rt,st,ot,dt],styles:['[_nghost-%COMP%]{display:block;height:100%;width:100%}.page-content[_ngcontent-%COMP%]{width:100%;overflow-y:auto;scroll-behavior:smooth;padding:0 0 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 _r=(()=>{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&&(p(0,"page-header",0),a(1,"mat-tab-group",1)(2,"mat-tab",2),p(3,"settings-signalk",3),s(),a(4,"mat-tab",4),p(5,"settings-display",3),s(),a(6,"mat-tab",5),p(7,"settings-notifications",3),s(),a(8,"mat-tab",6),p(9,"settings-units",3),s(),a(10,"mat-tab",7),p(11,"settings-config",3),s()()),i&2&&h("pageTitle",t.pageTitle)},dependencies:[ki,Mi,Hi,Wi,Pi,Gi,Qi,Ri],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{_r as TabsComponent};
|
|
8
|
+
Internet: `,t.internetAvailabilityLabel())}},dependencies:[Q,G,Ee,X,j,re,pi,se,oe,de,le,Ie,lt,mt,be,Ii,z],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 xn=["knob"],Mn=["valueIndicatorContainer"];function kn(n,u){if(n&1&&(a(0,"div",2,1)(2,"div",5)(3,"span",6),r(4),s()()()),n&2){let e=M();m(4),Oe(e.valueIndicatorText)}}var Tn=["trackActive"],En=["*"];function In(n,u){if(n&1&&p(0,"div"),n&2){let e=u.$implicit,i=u.$index,t=M(3);ue(e===0?"mdc-slider__tick-mark--active":"mdc-slider__tick-mark--inactive"),je("transform",t._calcTickMarkTransform(i))}}function Dn(n,u){if(n&1&&ie(0,In,1,4,"div",8,qe),n&2){let e=M(2);ne(e._tickMarks)}}function An(n,u){if(n&1&&(a(0,"div",6,1),w(2,Dn,2,0),s()),n&2){let e=M();m(2),S(e._cachedWidth?2:-1)}}function Rn(n,u){if(n&1&&p(0,"mat-slider-visual-thumb",7),n&2){let e=M();h("discrete",e.discrete)("thumbPosition",1)("valueIndicatorText",e.startValueIndicatorText)}}var g=(function(n){return n[n.START=1]="START",n[n.END=2]="END",n})(g||{}),Re=(function(n){return n[n.ACTIVE=0]="ACTIVE",n[n.INACTIVE=1]="INACTIVE",n})(Re||{}),It=new R("_MatSlider"),Ki=new R("_MatSliderThumb"),Pn=new R("_MatSliderRangeThumb"),qi=new R("_MatSliderVisualThumb");var Nn=(()=>{class n{_cdr=c(H);_ngZone=c(ve);_slider=c(It);_renderer=c(Ne);_listenerCleanups;discrete=!1;thumbPosition;valueIndicatorText;_ripple;_knob;_valueIndicatorContainer;_sliderInput;_sliderInputEl;_hoverRippleRef;_focusRippleRef;_activeRippleRef;_isHovered=!1;_isActive=!1;_isValueIndicatorVisible=!1;_hostElement=c(J).nativeElement;_platform=c(Ze);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===St.FADING_IN||e?.state===St.VISIBLE}_showRipple(e,i){if(!this._slider.disabled&&(this._showValueIndicator(),this._slider._isRange&&this._slider._getThumb(this.thumbPosition===g.START?g.END:g.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===g.START?g.END:g.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&&ge(Fe,5)(xn,5)(Mn,5),i&2){let o;I(o=D())&&(t._ripple=o.first),I(o=D())&&(t._knob=o.first),I(o=D())&&(t._valueIndicatorContainer=o.first)}},hostAttrs:[1,"mdc-slider__thumb","mat-mdc-slider-visual-thumb"],inputs:{discrete:"discrete",thumbPosition:"thumbPosition",valueIndicatorText:"valueIndicatorText"},features:[V([{provide:qi,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&&(w(0,kn,5,1,"div",2),p(1,"div",3,0)(3,"div",4)),i&2&&(S(t.discrete?0:-1),m(3),h("matRippleDisabled",!0))},dependencies:[Fe],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}
|
|
9
|
+
`],encapsulation:2,changeDetection:0})}return n})(),Xi=(()=>{class n{_ngZone=c(ve);_cdr=c(H);_elementRef=c(J);_dir=c($t,{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(g.END),t=this._getInput(g.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(g.END),t=this._getInput(g.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(g.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(g.END),t=this._getInput(g.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(g.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(g.END),i=this._getInput(g.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(g.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=xe();_dirChangeSubscription;_resizeObserver=null;_cachedWidth;_cachedLeft;_rippleRadius=24;startValueIndicatorText="";endValueIndicatorText="";_endThumbTransform;_startThumbTransform;_isRange=!1;_isRtl=!1;_hasViewInitialized=!1;_tickMarkTrackWidth=0;_hasAnimation=!1;_resizeTimer=null;_platform=c(Ze);constructor(){c(Se).load(Me),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(g.END),i=this._getInput(g.START);this._isRange=!!e&&!!i,this._cdr.detectChanges();let t=this._getThumb(g.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(g.END),i=this._getInput(g.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(g.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(g.START)._isActive||this._getThumb(g.END)._isActive}_getValue(e=g.END){let i=this._getInput(e);return i?i.value:this.min}_skipUpdate(){return!!(this._getInput(g.START)?._skipUIUpdate||this._getInput(g.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(g.END),i=this._getInput(g.START);e._updateThumbUIByValue(),i._updateThumbUIByValue(),e._updateStaticStyles(),i._updateStaticStyles(),e._updateMinMax(),i._updateMinMax(),e._updateWidthInactive(),i._updateWidthInactive()}else{let e=this._getInput(g.END);e&&e._updateThumbUIByValue()}this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.detectChanges()}}_thumbsOverlap=!1;_areThumbsOverlapping(){let e=this._getInput(g.START),i=this._getInput(g.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===g.END?g.END:g.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===g.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(g.END),i=this._getInput(g.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(Re.ACTIVE).concat(Array(o).fill(Re.INACTIVE))}_updateTickMarkUIRange(e){let i=this._getValue(),t=this._getValue(g.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(Re.INACTIVE).concat(Array(d).fill(Re.ACTIVE),Array(l).fill(Re.INACTIVE))}_getInput(e){if(e===g.END&&this._input)return this._input;if(this._inputs?.length)return e===g.START?this._inputs.first:this._inputs.last}_getThumb(e){return e===g.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,A=e.clientY-d;return Math.pow(l,2)+Math.pow(A,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,Ki,5)(o,Pn,4),i&2){let d;I(d=D())&&(t._input=d.first),I(d=D())&&(t._inputs=d)}},viewQuery:function(i,t){if(i&1&&ge(Tn,5)(qi,5),i&2){let o;I(o=D())&&(t._trackActive=o.first),I(o=D())&&(t._thumbs=o)}},hostAttrs:[1,"mat-mdc-slider","mdc-slider"],hostVars:12,hostBindings:function(i,t){i&2&&(ue("mat-"+(t.color||"primary")),W("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",k],discrete:[2,"discrete","discrete",k],showTickMarks:[2,"showTickMarks","showTickMarks",k],min:[2,"min","min",N],color:"color",disableRipple:[2,"disableRipple","disableRipple",k],max:[2,"max","max",N],step:[2,"step","step",N],displayWith:"displayWith"},exportAs:["matSlider"],features:[V([{provide:It,useExisting:n}])],ngContentSelectors:En,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&&(pe(),O(0),a(1,"div",2),p(2,"div",3),a(3,"div",4),p(4,"div",5,0),s(),w(6,An,3,1,"div",6),s(),w(7,Rn,1,3,"mat-slider-visual-thumb",7),p(8,"mat-slider-visual-thumb",7)),i&2&&(m(6),S(t.showTickMarks?6:-1),m(),S(t._isRange?7:-1),m(),h("discrete",t.discrete)("thumbPosition",2)("valueIndicatorText",t.endValueIndicatorText))},dependencies:[Nn],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:var(--mat-slider-value-indicator-transform-origin, 0 28px);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:""}
|
|
10
|
+
`],encapsulation:2,changeDetection:0})}return n})();var Vn={provide:at,useExisting:He(()=>Dt),multi:!0};var Dt=(()=>{class n{_ngZone=c(ve);_elementRef=c(J);_cdr=c(H);_slider=c(It);_platform=c(Ze);_listenerCleanups;get value(){return N(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=g.END;get min(){return N(this._hostElement.min,0)}set min(e){this._hostElement.min=e+"",this._cdr.detectChanges()}get max(){return N(this._hostElement.max,0)}set max(e){this._hostElement.max=e+"",this._cdr.detectChanges()}get step(){return N(this._hostElement.step,0)}set step(e){this._hostElement.step=e+"",this._cdr.detectChanges()}get disabled(){return k(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=he("");_knobRadius=8;_tickMarkOffset=3;_isActive=!1;_isFocused=!1;_setIsFocused(e){this._isFocused=e}_hasSetInitialValue=!1;_initialValue;_formControl;_destroyed=new me;_skipUIUpdate=!1;_onChangeFn;_onTouchedFn=()=>{};_isControlInitialized=!1;constructor(){let e=c(Ne);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,Z=Math.round(l*d)/d*(this._slider.max-this._slider.min)+this._slider.min,$=Math.round(Z/o)*o,Be=this.value;if($===Be){this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation});return}this.value=$,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=U({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&&B("aria-valuetext",t._valuetext())},inputs:{value:[2,"value","value",N]},outputs:{valueChange:"valueChange",dragStart:"dragStart",dragEnd:"dragEnd"},exportAs:["matSliderThumb"],features:[V([Vn,{provide:Ki,useExisting:n}])]})}return n})();var ji=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=te({type:n});static \u0275inj=ee({imports:[ei,ke]})}return n})();var Fn=["displayForm"];function Ln(n,u){if(n&1&&(a(0,"mat-panel-description",8),r(1," Adjust night mode settings to enhance visibility in low-light environments. "),s()),n&2){let e=M();h("hidden",e.isPhonePortrait().matches)}}function Un(n,u){n&1&&(a(0,"mat-panel-description"),r(1," Choose your preferred high-contrast theme. "),s())}function Bn(n,u){n&1&&(a(0,"mat-panel-description"),r(1," Configure persistent dual\u2011panel chart & dashboards layout. "),s())}function Wn(n,u){n&1&&(a(0,"mat-panel-description"),r(1," Configure remote dashboard operations between KIP instances. "),s())}function Hn(n,u){n&1&&(a(0,"mat-error"),r(1,"This field is required."),s())}function zn(n,u){n&1&&(a(0,"mat-panel-description"),r(1," Set historical charting and data logging for widgets. This enables retrospective views and access to historical data. "),s())}function Kn(n,u){n&1&&(a(0,"div",26)(1,"p")(2,"strong"),r(3,"KIP history capture requires Node.js version 22.5.0 or newer (with node:sqlite support)."),s(),p(4,"br"),r(5," Before upgrading Node.js, always verify compatibility with your Signal K server version. "),s(),a(6,"p"),r(7," For details and the latest requirements, see the "),a(8,"a",31),r(9,"Signal K installation documentation"),s(),r(10,". "),s()())}function qn(n,u){if(n&1){let e=P();w(0,Kn,11,0,"div",26),a(1,"span"),r(2,"Select history provider and data logging mode:"),s(),a(3,"mat-radio-group",27),C("ngModelChange",function(t){_(e);let o=M();return y(o.providerMode,t)||(o.providerMode=t),f(t)}),a(4,"mat-radio-button",28),r(5," KIP: Automatic history series and data logging "),s(),a(6,"mat-radio-button",29),r(7," Other: Use a different History API provider and configure data logging manually "),s()(),a(8,"mat-slide-toggle",30),C("ngModelChange",function(t){_(e);let o=M();return y(o.widgetHistoryDisabled,t)||(o.widgetHistoryDisabled=t),f(t)}),r(9," Disable widget historical charts (two-finger tap or right-click to view history feature). "),s()}if(n&2){let e=M();S(e.isKipHistoryProviderSelectable()?-1:0),m(3),v("ngModel",e.providerMode),h("value",e.providerMode()),m(),h("disabled",!e.isKipHistoryProviderSelectable()),m(4),v("ngModel",e.widgetHistoryDisabled)}}function Xn(n,u){n&1&&(a(0,"p"),r(1,"Historical data features requires both Signal K server version 2.22.1 or later."),s())}var Gi=(()=>{class n{DERIVED_DATA_PLUGIN_ID="derived-data";KIP_DATA_PLUGIN_ID="kip";LIGHT_THEME_NAME="light-theme";displayForm=ae("displayForm");app=c(ht);toast=c(q);settings=c(K);responsive=c(Ye);pluginConfig=c(xi);server=c(et);isPhonePortrait;nightBrightness=he(.27);isHistoryApiSupported=Ge(()=>{let e=this.server.serverVersion$.getValue();return e?it(e,"2.22.1",">="):!1});autoNightMode=F(!1);isRedNightMode=F(!1);isLightTheme=F(!1);isRemoteControl=F(!1);instanceName=F("");splitShellEnabled=F(!1);splitShellSide=F("left");splitShellSwipeDisabled=F(!1);providerMode=F("other");widgetHistoryDisabled=F(!1);isKipHistoryProviderSelectable=he(!1);_pluginCheckSeq=0;constructor(){this.isPhonePortrait=tt(this.responsive.observe($e.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()),this.widgetHistoryDisabled.set(this.settings.getWidgetHistoryDisabled()),this.getKipPluginConfig()}saveAllSettings(){let e=this.displayForm();if(!e||e.invalid){e?.form.markAllAsTouched(),this.toast.show("Please fill out required fields before saving.",3e3,!0);return}if(this.autoNightMode()){let i=++this._pluginCheckSeq;this.validateAndSaveSettings(i);return}this.applyAndSaveSettings()}applyAndSaveSettings(){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.settings.setWidgetHistoryDisabled(this.widgetHistoryDisabled()),this.setKipPluginConfig()||this.toast.show("Failed to save KIP plugin configuration on server.",0,!1,"error"),this.displayForm().form.markAsPristine(),this.toast.show("Configuration saved",1e3,!0,"message")}validateAndSaveSettings(e){return L(this,null,function*(){let i=yield this.validateAndHandleAutoNightRequirement(e);e===this._pluginCheckSeq&&(i?this.applyAndSaveSettings():this.autoNightMode.set(!1))})}getKipPluginConfig(){return L(this,null,function*(){let e=yield this.pluginConfig.getPlugin(this.KIP_DATA_PLUGIN_ID);if(!e.ok){this.toast.show(`Failed to load KIP plugin configuration: ${e.error.message}`,0,!1,"error");return}let i=e.data.state.configuration,t=i.historySeriesServiceEnabled===!0;this.isKipHistoryProviderSelectable.set(i.nodeSqliteAvailable??!1),this.providerMode.set(t&&this.isKipHistoryProviderSelectable()?"kip":"other")})}setKipPluginConfig(){return L(this,null,function*(){let e=this.isKipHistoryProviderSelectable(),i=this.providerMode()==="kip"&&e,t={configuration:{historySeriesServiceEnabled:i,registerAsHistoryApiProvider:i}};return(yield this.pluginConfig.savePluginConfig(this.KIP_DATA_PLUGIN_ID,t)).ok})}isAutoNightModeSupported(e){this.displayForm().form.markAsDirty(),this.autoNightMode.set(e.checked)}validateAndHandleAutoNightRequirement(e){return L(this,null,function*(){let i=yield this.pluginConfig.getPlugin(this.DERIVED_DATA_PLUGIN_ID);if(e!==this._pluginCheckSeq)return!1;if(!i.ok){let $=i;return $.error.reason==="not-found"?(this.toast.show("Automatic Night Mode requires the Signal K Derived Data plugin. This requirement is missing and must be installed manually by the user.",0,!1,"error"),!1):(this.toast.show(`Failed to validate Automatic Night Mode requirements: ${$.error.message}`,0,!1,"error"),!1)}let t=i.data,o=this.resolveEnvironmentSunFlagPath(t.state.configuration),d=this.readBooleanByPath(t.state.configuration,o)===!0;if(t.state.enabled&&d)return!0;let l=!t.state.enabled,A=!d,Z;return l&&A?Z="To enable Automatic Night Mode, the Derived Data plugin must be enabled and the environment.sun path must be set to true. Do you wish to enable & and activate the path?":l?Z="To enable Automatic Night Mode, the Derived Data plugin must be enabled. Do you wish to enable the plugin?":Z="To enable Automatic Night Mode, the environment.sun path in the Derived Data plugin must be activated. Do you wish to activate the path?",new Promise($=>{let Be=this.toast.show(Z,0,!1,"warn","Ok");Be.onAction().subscribe(()=>{this.enableAndConfigureAutoNight(t,o,e,$)}),Be.afterDismissed().subscribe(Zi=>{Zi.dismissedByAction||$(!1)})})})}enableAndConfigureAutoNight(e,i,t,o){return L(this,null,function*(){let d=this.cloneConfig(e.state.configuration);this.writeBooleanByPath(d,i,!0);let l=yield this.pluginConfig.savePluginConfig(e.id,{configuration:d,enabled:!0});if(t!==this._pluginCheckSeq){o(!1);return}if(!l.ok){let A=l;this.toast.show(`Failed to enable and configure Derived Data plugin: ${A.error.message}`,0,!1,"error"),o(!1);return}this.toast.show("Automatic Night Mode dependency enabled and configured.",3e3,!0,"success"),o(!0)})}resolveEnvironmentSunFlagPath(e){return this.findBooleanSunPath(e)??["sun"]}findBooleanSunPath(e,i=[]){let t=Object.entries(e).find(([o,d])=>o.toLowerCase()==="sun"&&typeof d=="boolean");if(t)return[...i,t[0]];for(let[o,d]of Object.entries(e)){if(typeof d=="boolean"&&o.toLowerCase().includes("sun"))return[...i,o];if(d&&typeof d=="object"&&!Array.isArray(d)){let l=this.findBooleanSunPath(d,[...i,o]);if(l)return l}}return null}readBooleanByPath(e,i){let t=e;for(let o of i){if(!t||typeof t!="object"||Array.isArray(t))return null;t=t[o]}return typeof t=="boolean"?t:null}writeBooleanByPath(e,i,t){if(i.length===0)return;let o=e;for(let d=0;d<i.length-1;d++){let l=i[d],A=o[l];(!A||typeof A!="object"||Array.isArray(A))&&(o[l]={}),o=o[l]}o[i[i.length-1]]=t}cloneConfig(e){return JSON.parse(JSON.stringify(e||{}))}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&&Ce(t.displayForm,Fn,5),i&2&&we()},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"],providerMode:[1,"providerMode"],widgetHistoryDisabled:[1,"widgetHistoryDisabled"]},outputs:{autoNightMode:"autoNightModeChange",isRedNightMode:"isRedNightModeChange",isLightTheme:"isLightThemeChange",isRemoteControl:"isRemoteControlChange",instanceName:"instanceNameChange",splitShellEnabled:"splitShellEnabledChange",splitShellSide:"splitShellSideChange",splitShellSwipeDisabled:"splitShellSwipeDisabledChange",providerMode:"providerModeChange",widgetHistoryDisabled:"widgetHistoryDisabledChange"},decls:74,vars:25,consts:[["displayForm","ngForm"],["redNightModeToggle",""],["inputBrightness",""],["isFskShellEnabled",""],["isFskShellSwipeEnabled",""],["isRemoteControlCb",""],["instanceNameModel","ngModel"],["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",3,"ngModelChange","ngModel","disabled","required"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"],[1,"warning"],["name","providerMode","required","",1,"radio-group",3,"ngModelChange","ngModel","value"],["value","kip",1,"radio-button",3,"disabled"],["value","other",1,"radio-button"],["name","widgetHistoryDisabled",1,"full-width",3,"ngModelChange","ngModel"],["href","https://demo.signalk.org/documentation/Installation.html","target","_blank"]],template:function(i,t){if(i&1){let o=P();a(0,"form",7,0),b("ngSubmit",function(){return t.saveAllSettings()}),a(2,"p"),r(3,"Customize your display settings to enable various integrations, 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(),w(9,Ln,2,1,"mat-panel-description",8),s(),a(10,"mat-slide-toggle",9),b("change",function(l){return t.isAutoNightModeSupported(l)}),C("ngModelChange",function(l){return _(o),y(t.autoNightMode,l)||(t.autoNightMode=l),f(l)}),r(11," Automatically activate day and night modes based on sun phases. "),s(),a(12,"mat-slide-toggle",10,1),C("ngModelChange",function(l){return _(o),y(t.isRedNightMode,l)||(t.isRedNightMode=l),f(l)}),r(14," Enable red-only night mode. "),s(),a(15,"div",11),p(16,"br"),a(17,"span"),r(18,"Adjust Night Mode Brightness"),s(),p(19,"br"),a(20,"mat-slider",12)(21,"input",13,2),b("input",function(){_(o);let l=T(22);return f(t.setBrightness(+l.value))}),s()()()(),a(23,"mat-expansion-panel")(24,"mat-expansion-panel-header")(25,"mat-panel-title"),r(26," Theme "),s(),w(27,Un,2,0,"mat-panel-description"),s(),a(28,"mat-slide-toggle",14),C("ngModelChange",function(l){return _(o),y(t.isLightTheme,l)||(t.isLightTheme=l),f(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(),w(34,Bn,2,0,"mat-panel-description"),s(),a(35,"mat-slide-toggle",15,3),C("ngModelChange",function(l){return _(o),y(t.splitShellEnabled,l)||(t.splitShellEnabled=l),f(l)}),r(37," Enable Freeboard\u2011SK dual\u2011panel Chartplotter mode. "),s(),a(38,"mat-form-field",16)(39,"mat-label"),r(40,"Freeboard-SK panel side"),s(),a(41,"mat-select",17),C("ngModelChange",function(l){return _(o),y(t.splitShellSide,l)||(t.splitShellSide=l),f(l)}),a(42,"mat-option",18),r(43,"Left side"),s(),a(44,"mat-option",19),r(45,"Right side"),s()()(),a(46,"mat-slide-toggle",20,4),C("ngModelChange",function(l){return _(o),y(t.splitShellSwipeDisabled,l)||(t.splitShellSwipeDisabled=l),f(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(),w(53,Wn,2,0,"mat-panel-description"),s(),a(54,"mat-slide-toggle",21,5),C("ngModelChange",function(l){return _(o),y(t.isRemoteControl,l)||(t.isRemoteControl=l),f(l)}),r(56," Allow remote KIP instances to view and control this dashboard. "),s(),a(57,"mat-form-field",16)(58,"mat-label"),r(59,"Name of this instance"),s(),a(60,"input",22,6),b("ngModelChange",function(){_(o);let l=T(1);return f(l.form.markAsDirty())}),C("ngModelChange",function(l){return _(o),y(t.instanceName,l)||(t.instanceName=l),f(l)}),s(),w(62,Hn,2,0,"mat-error"),s()(),a(63,"mat-expansion-panel")(64,"mat-expansion-panel-header")(65,"mat-panel-title"),r(66," Widget Historical Data "),s(),w(67,zn,2,0,"mat-panel-description"),s(),w(68,qn,10,5)(69,Xn,2,0,"p"),s()(),a(70,"div",23),p(71,"mat-divider",24),a(72,"button",25),r(73,"Save"),s()()()}if(i&2){let o=T(1),d=T(13),l=T(36),A=T(55),Z=T(61);m(9),S(t.isPhonePortrait().matches?-1:9),m(),v("ngModel",t.autoNightMode),m(2),v("ngModel",t.isRedNightMode),m(5),ue(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),S(t.isPhonePortrait().matches?-1:27),m(),v("ngModel",t.isLightTheme),m(6),S(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),S(t.isPhonePortrait().matches?-1:53),m(),v("ngModel",t.isRemoteControl),m(6),v("ngModel",t.instanceName),h("disabled",!A.checked)("required",A.checked),m(2),S(A.checked&&Z.invalid&&(Z.touched||o.submitted)?62:-1),m(5),S(t.isPhonePortrait().matches?-1:67),m(),S(t.isHistoryApiSupported()?68:69),m(4),h("disabled",!o.form.dirty||o.form.invalid)}},dependencies:[Q,G,Ee,X,j,re,se,oe,ui,ce,ti,z,ji,Xi,Dt,ft,_t,Le,Ue,ut,gt,dt,Ie,de,le,lt,vt,be,_i,Ae,De,wi,yi,Ci],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)}.radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:5px 0 15px;align-items:flex-start}.radio-button[_ngcontent-%COMP%]{margin:5px}.warning[_ngcontent-%COMP%]{background-color:var(--mat-sys-on-error-container);color:var(--mat-sys-error-container);padding:1px 14px;border-radius:var(--mat-sys-corner-small)}.warning[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font:var(--mat-sys-body-medium);letter-spacing:var(--mat-sys-body-medium-tracking)}"]})}return n})();var jn=()=>({standalone:!1});function Gn(n,u){n&1&&(a(0,"div"),r(1,' Writing to the server requires "Login to Server" authentication or a Device token '),s())}function Qn(n,u){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),C("ngModelChange",function(t){_(e);let o=M();return y(o.saveConfigScope,t)||(o.saveConfigScope=t),f(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),C("ngModelChange",function(t){_(e);let o=M();return y(o.saveConfigName,t)||(o.saveConfigName=t),f(t)}),s()(),w(13,Gn,2,0,"div"),s()}if(n&2){let e=M();m(4),v("ngModel",e.saveConfigScope),m(8),v("ngModel",e.saveConfigName),h("ngModelOptions",_e(4,jn)),m(),S(e.hasToken?-1:13)}}function Zn(n,u){n&1&&(a(0,"div",9)(1,"p"),r(2,"Server authentication or Device Token required"),s()())}function Jn(n,u){if(n&1&&(a(0,"mat-option",38),r(1),s()),n&2){let e=u.$implicit;h("value",e),m(),wt(" ",e.scope," / ",e.name," ")}}function Yn(n,u){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),C("ngModelChange",function(t){_(e);let o=M();return y(o.deleteConfigItem,t)||(o.deleteConfigItem=t),f(t)}),ie(5,Jn,2,3,"mat-option",38,Wt),s()()()}if(n&2){let e=M();m(4),v("ngModel",e.deleteConfigItem),m(),ne(e.serverConfigList)}}function $n(n,u){n&1&&(a(0,"div",9)(1,"p"),r(2,"Authentication or Device Token required"),s()())}function ea(n,u){if(n&1&&(a(0,"mat-option",38),r(1),s()),n&2){let e=u.$implicit;h("value",e),m(),wt(" ",e.scope," / ",e.name," ")}}function ta(n,u){if(n&1&&(a(0,"div")(1,"mat-form-field",36)(2,"mat-label"),r(3,"Configuration"),s(),a(4,"mat-select",39),ie(5,ea,2,3,"mat-option",38,qe),s()()()),n&2){let e=M();m(5),ne(e.serverConfigList)}}function ia(n,u){n&1&&(a(0,"div",9)(1,"p"),r(2,"Authentication or Device Token required"),s()())}var Qi=(()=>{class n{settings=c(K);storageSvc=c(si);toast=c(q);auth=c(nt);fb=c(gi);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},ci.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=>{i.status===401?this.toast.show("Storage Service: "+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,"error"):this.toast.show("Cannot list configurations: "+i,0,!1,"error")})}saveConfig(e,i,t,o,d){if(this.supportApplicationData){if(i==="user"&&t==="default"&&!d){this.toast.show("Saving configuration with scope 'user' and name 'default' is not allowed.",0,!1,"error");return}this.storageSvc.setConfig(i,t,e)?(this.toast.show(`Configuration [${t}] saved to [${i}] storage scope`,1e3,!0,"success"),o||this.getServerConfigList()):this.toast.show("Configuration not saved to server",0,!1,"error")}}saveToLocalstorage(e){this.settings.replaceConfig("appConfig",e.app,!1),this.settings.replaceConfig("dashboardsConfig",e.dashboards,!1),this.settings.replaceConfig("themeConfig",e.theme,!1)}copyConfig(){return L(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.toast.show("Cannot retrieve server configuration: "+i.statusText,0,!1,"error");return}this.saveConfig(e,"user","default",!1,!0),this.settings.reloadApp()})}deleteConfig(e,i,t,o){this.storageSvc.removeItem(e,i,t),this.toast.show(`Configuration [${i}] deleted from [${e}] storage scope`,1e3,!1,"success"),o||this.getServerConfigList()}resetConfigToDefault(){this.settings.resetSettings()}resetConnectionToDefault(){this.settings.resetConnection()}loadDemoConfig(){this.settings.loadDemoConfig()}getActiveConfig(){let e;return this.settings.useSharedConfig?e=this.getLocalConfigFromMemory():e=this.getLocalConfigFromLocalStorage(),e}getLocalConfigFromMemory(){return{app:this.settings.getAppConfig(),dashboards:this.settings.getDashboardConfig(),theme:this.settings.getThemeConfig()}}getLocalConfigFromLocalStorage(){return{app:this.settings.loadConfigFromLocalStorage("appConfig"),dashboards:this.settings.loadConfigFromLocalStorage("dashboardsConfig"),theme:this.settings.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.settings.reloadApp()}catch(l){this.toast.show("File does not contain valid JSON.",0,!1,"error"),console.error("Invalid JSON file format:",l)}},o.readAsText(t)}else this.toast.show("Please select a valid JSON file",0,!1,"error")}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/configuration"],[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,"Login and Configuration"),s(),r(5," help section. "),s(),a(6,"div",5)(7,"div",6)(8,"form",7,0),b("ngSubmit",function(){return 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(),w(14,Qn,14,5,"div")(15,Zn,3,0,"div",9),a(16,"div",10),p(17,"mat-divider",11),a(18,"button",12),r(19," Create "),s()()()(),a(20,"div",6)(21,"form",13,1),b("ngSubmit",function(){return 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(),w(27,Yn,7,1,"div")(28,$n,3,0,"div",9),a(29,"div",10),p(30,"mat-divider",11),a(31,"button",12),r(32," Delete "),s()()()(),a(33,"div",6)(34,"form",14),b("ngSubmit",function(){return 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(),w(39,ta,7,0,"div")(40,ia,3,0,"div",9),a(41,"div",10),p(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 and Configuration"),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 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. "),p(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 t.uploadJsonConfig(l)}),s(),a(67,"button",23),b("click",function(){_(o);let l=T(66);return f(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. "),p(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 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. "),p(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 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 t.resetConnectionToDefault()}),r(92," Connection "),s()()()()()()}if(i&2){let o=T(9),d=T(22);m(14),S(t.hasToken?14:15),m(4),h("disabled",!t.hasToken||!o.valid),m(9),S(t.hasToken?27:28),m(4),h("disabled",!t.hasToken||!d.valid),m(3),h("formGroup",t.copyConfigForm),m(5),S(t.hasToken?39:40),m(4),h("disabled",!t.copyConfigForm.valid)}},dependencies:[ri,Q,G,Ee,X,j,re,se,oe,ce,z,de,le,Ae,De,Ie,rt,st,ot,dt],styles:['[_nghost-%COMP%]{display:block;height:100%;width:100%}.page-content[_ngcontent-%COMP%]{width:100%;overflow-y:auto;scroll-behavior:smooth;padding:0 0 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 fr=(()=>{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&&(p(0,"page-header",0),a(1,"mat-tab-group",1)(2,"mat-tab",2),p(3,"settings-signalk",3),s(),a(4,"mat-tab",4),p(5,"settings-display",3),s(),a(6,"mat-tab",5),p(7,"settings-notifications",3),s(),a(8,"mat-tab",6),p(9,"settings-units",3),s(),a(10,"mat-tab",7),p(11,"settings-config",3),s()()),i&2&&h("pageTitle",t.pageTitle)},dependencies:[ki,Mi,zi,Wi,Pi,Gi,Qi,Ri],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{fr as TabsComponent};
|