@mxtommy/kip 4.8.0-beta.1 → 4.8.1

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.
Files changed (113) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/LICENSE +3 -0
  3. package/README.md +56 -49
  4. package/package.json +24 -21
  5. package/plugin/history-series.service.js +108 -30
  6. package/plugin/index.js +157 -115
  7. package/plugin/kip-series-contract.js +12 -3
  8. package/plugin/openApi.json +64 -13
  9. package/plugin/sqlite-history-storage.service.js +4 -2
  10. package/plugin/src/history-series.service.js +634 -0
  11. package/plugin/src/index.js +1322 -0
  12. package/plugin/src/kip-series-contract.js +31 -0
  13. package/plugin/src/openApi.json +855 -0
  14. package/plugin/src/sqlite-history-storage.service.js +1122 -0
  15. package/public/3rdpartylicenses.txt +569 -727
  16. package/public/assets/help-docs/chartplotter.md +1 -1
  17. package/public/assets/help-docs/contributing-widgets.md +40 -0
  18. package/public/assets/help-docs/dashboards.md +6 -0
  19. package/public/assets/help-docs/history-api.md +69 -71
  20. package/public/assets/help-docs/menu.json +27 -7
  21. package/public/assets/help-docs/time-series.md +81 -0
  22. package/public/assets/help-docs/welcome.md +1 -1
  23. package/public/assets/svg/icons.svg +36 -1
  24. package/public/chunk-00hwknVI.js +1 -0
  25. package/public/chunk-5U8d2Ygo.js +14 -0
  26. package/public/chunk-AANk-NXH.js +1015 -0
  27. package/public/chunk-B6bEhzNR.js +1 -0
  28. package/public/chunk-B82ADJSs.js +1 -0
  29. package/public/chunk-BJz7Ij9E.js +1 -0
  30. package/public/chunk-BKj60jdq.js +1 -0
  31. package/public/chunk-BOAD0N2a.js +2 -0
  32. package/public/chunk-BQr-tSkv.js +1 -0
  33. package/public/chunk-BX6skw5k.js +1 -0
  34. package/public/chunk-BdokyhBM.js +1 -0
  35. package/public/chunk-Blokg6Ds.js +1 -0
  36. package/public/chunk-BoNDCNGE.js +1 -0
  37. package/public/chunk-Bp0MQwPM.js +1 -0
  38. package/public/chunk-BwOIef42.js +1 -0
  39. package/public/chunk-By8ZVvDx.js +2 -0
  40. package/public/chunk-C2VQxCXa.js +1 -0
  41. package/public/chunk-C6UXF7BI.js +1 -0
  42. package/public/chunk-CA6RRaxd.js +1 -0
  43. package/public/chunk-CIlfzV9R.js +1 -0
  44. package/public/chunk-CL2xiH57.js +1 -0
  45. package/public/chunk-CNMFlw_H.js +1 -0
  46. package/public/chunk-CNNTuNlM.js +1 -0
  47. package/public/chunk-CQNVyz8q.js +1 -0
  48. package/public/chunk-CXvG8mMq.js +1 -0
  49. package/public/chunk-CaD3zVfK.js +1 -0
  50. package/public/chunk-CkXTl3su.js +1 -0
  51. package/public/chunk-CpMCBDvH.js +1 -0
  52. package/public/chunk-CpuB_ZZz.js +2 -0
  53. package/public/chunk-CrBxxZCe.js +1 -0
  54. package/public/chunk-CwSa_BNV.js +1 -0
  55. package/public/chunk-D4xZ2tGB.js +39 -0
  56. package/public/chunk-DDqeRiB0.js +1 -0
  57. package/public/chunk-DE4ylhpq.js +1 -0
  58. package/public/chunk-DNS-qsFC.js +1 -0
  59. package/public/chunk-DQnoPLyC.js +1 -0
  60. package/public/chunk-DWLISAZi.js +1 -0
  61. package/public/chunk-DXkKj21H.js +1 -0
  62. package/public/chunk-DchvLV_Y.js +1 -0
  63. package/public/chunk-DjZgzSiH.js +1 -0
  64. package/public/chunk-DumLX5k_.js +1 -0
  65. package/public/chunk-Dxlia2NE.js +1 -0
  66. package/public/chunk-DzTTqoF_.js +1 -0
  67. package/public/chunk-H9_eqTYx.js +1 -0
  68. package/public/chunk-Ii9n-oiL.js +1 -0
  69. package/public/chunk-JbEkcxJm.js +2 -0
  70. package/public/chunk-MjWuPUhu.js +1 -0
  71. package/public/chunk-PheXEqie.js +1 -0
  72. package/public/chunk-TakPRI3t.js +2 -0
  73. package/public/chunk-VgxMqRPk.js +3 -0
  74. package/public/chunk-dgaOX1wC.js +382 -0
  75. package/public/chunk-hd2_AKwt.js +1 -0
  76. package/public/chunk-nu4vZg-z.js +1 -0
  77. package/public/chunk-sNakMDHi.js +1 -0
  78. package/public/chunk-tAiV3ARh.js +1 -0
  79. package/public/chunk-y1imvaA-.js +1 -0
  80. package/public/index.html +4 -4
  81. package/public/main-BAV5VDOD.js +7109 -0
  82. package/public/polyfills-5MJXXCNC.js +1 -0
  83. package/public/styles-JZSMCSRO.css +1 -0
  84. package/public/assets/help-docs/widget-historical-series.md +0 -110
  85. package/public/chunk-2TP7C66X.js +0 -5
  86. package/public/chunk-4KHUCTYN.js +0 -3
  87. package/public/chunk-6ISGIPNP.js +0 -1
  88. package/public/chunk-7JGTAL26.js +0 -10
  89. package/public/chunk-C23GLDFH.js +0 -62
  90. package/public/chunk-CB4E7PPA.js +0 -4
  91. package/public/chunk-DNM5XUIF.js +0 -1
  92. package/public/chunk-HF7V6XFA.js +0 -2
  93. package/public/chunk-HXR2BKDL.js +0 -4
  94. package/public/chunk-ILQQCGMJ.js +0 -5
  95. package/public/chunk-IXUKD73N.js +0 -5
  96. package/public/chunk-JMZYPL54.js +0 -2
  97. package/public/chunk-KJCBQE6W.js +0 -6
  98. package/public/chunk-LEY6MANN.js +0 -16
  99. package/public/chunk-O5BTKN5D.js +0 -1
  100. package/public/chunk-OH5KNIQ7.js +0 -50
  101. package/public/chunk-Q32FSCUX.js +0 -1
  102. package/public/chunk-RIX4VQJ2.js +0 -1
  103. package/public/chunk-SHJMXSDM.js +0 -1
  104. package/public/chunk-T4VTC6GW.js +0 -1
  105. package/public/chunk-VFJD3XKT.js +0 -1
  106. package/public/chunk-VFZSH4TC.js +0 -1
  107. package/public/chunk-W6MCE3GH.js +0 -6
  108. package/public/chunk-WAOG456B.js +0 -2
  109. package/public/chunk-XBOM6DMF.js +0 -9
  110. package/public/main-BECMST5R.js +0 -1
  111. package/public/polyfills-BWA36QKG.js +0 -1
  112. package/public/scripts-M6PHZBML.js +0 -14
  113. package/public/styles-DYEO23GZ.css +0 -1
@@ -0,0 +1,1015 @@
1
+ import {O}from'./chunk-tAiV3ARh.js';import {m as me}from'./chunk-Bp0MQwPM.js';import {J as JD,aO as Sn$1,aP as Nt,c as $h,P as Pi,u as ul,B as Bh,w,aQ as ee,G as Gi$1,N,aR as lt,aS as De,aT as T,aU as I,aV as We,aW as w$1,aX as He$1,aY as xe,a7 as Gj,aZ as F,$ as $j,D as Dt$1,a_ as Gp,a$ as Zr,b0 as Wl,b1 as U,b2 as Ln$1,b3 as Gn$1,b4 as Xe,b5 as Pn$1,b6 as kn$1,b7 as ft$1,b8 as Ht,b9 as rn,ba as Qt,bb as rt,bc as ae,bd as an$1,be as It$1,bf as Kt,bg as mt,bh as xp,h as Fw,k as Qh,T as TT,bi as Eg,l as ud,bj as ST,m as dd,bk as cD,bl as Jw,e as EE,bm as Ig,bn as FT,bo as lD,bp as gl,bq as yg,br as vg,f as eg,K as Kw,i as ir,W as Wp,E as Em,bs as dp,bt as u,_ as _w,M as Mw,bu as ut$1,bv as Tn$1,bw as Bn$1,bx as Wn,by as gn$1,bz as hn$1,bA as Ft,bB as F$1,bC as Qa,X as xw,bD as HT,Y as Aw,bE as $T,bF as w$2,v as vt$1,bG as Bj,r as f,O as Op,bH as ln,bI as Lt,bJ as va,bK as an$2,bL as ft$2,t as pT,bM as Ge,bN as Hn$1,bO as ve,F as Fa,bP as si,a6 as Lr,bQ as Dn$1,aa as N$1,bR as ot,ad as Qe,aD as Ce$1,bS as oa$1,bT as Lg,ac as Mr,U as Kh,bU as jt,ay as lv,al as Zj,bV as Gw,bW as zw,s as sg,an as Hh,am as LT,bX as L,bY as m,bZ as Po,az as Yj,b_ as Gh,b$ as Jh,c0 as Zw,c1 as Yw,c2 as bh,c3 as Qs,c4 as Fn$1,c5 as Ut,c6 as Ii,af as Tu,c7 as Ir,c8 as Sv,ak as nw,c9 as Sh,ca as Kh$1,ap as Ki$1,aB as gr,ao as ue,aG as tD,ab as te,cb as E,cc as fn$1,av as _t$1,cd as N$2,ce as Ri,cf as xh,aH as j,cg as Ct,aj as zm,ch as Wo,ci as dl,cj as fl,d as ig,g as qw,aA as gg,S as ca,a9 as ru,ck as Nr,cl as G,cm as Kj,cn as wd,co as Mr$1,cp as Uh,cq as ie,cr as mg,cs as Sw,ct as Lh}from'./main-BAV5VDOD.js';import'./chunk-By8ZVvDx.js';var tn=()=>[],nn=(n,u)=>u.key,an=(n,u)=>u.measure;function on(n,u){if(n&1&&(Pi(0,"mat-option",6),TT(1),ul()),n&2){let e=u.$implicit;Bh("value",e.measure),EE(),gg(e.description);}}function sn(n,u){if(n&1&&(Pi(0,"mat-form-field")(1,"mat-label"),TT(2),ul(),Pi(3,"mat-select",5),xw(4,on,2,2,"mat-option",6,an),ul(),cD(),ul()),n&2){let e=u.$implicit,t=qw();EE(2),gg(e.key),EE(),Bh("placeholder",e.key)("formControlName",e.key),lD(),EE(),Aw(t.groupUnits[e.key]??FT(3,tn));}}var Oi=(()=>{class n{units=w(ut$1);settings=w(Gi$1);toast=w(lt);unitsFormGroup=new Tn$1({});groupUnits={};ngOnInit(){let e=this.settings.getDefaultUnits(),t=this.units.getConversions();for(let i of t){if(i.group==="Position")continue;let s=[];for(let d of i.units)s.push(d);this.groupUnits[i.group]=s,this.unitsFormGroup.addControl(i.group,new Bn$1(e[i.group]));}this.unitsFormGroup.updateValueAndValidity();}submitConfig(){this.settings.setDefaultUnits(this.unitsFormGroup.value),this.toast.show("Configuration saved",1e3,true,"message");}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=JD({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(t,i){t&1&&(Pi(0,"form",0),Qh("ngSubmit",function(){return i.submitConfig()}),Pi(1,"p"),TT(2,"Configure your preferred default unit types. These defaults can be overridden within individual widget settings."),ul(),Pi(3,"div",1),xw(4,sn,6,4,"mat-form-field",null,nn),HT(6,"keyvalue"),ul(),Pi(7,"div",2),$h(8,"mat-divider",3),Pi(9,"button",4),TT(10,"Save"),ul()()()),t&2&&(Bh("formGroup",i.unitsFormGroup),EE(4),Aw($T(6,2,i.unitsFormGroup.controls)),EE(5),Bh("disabled",!i.unitsFormGroup.valid));},dependencies:[Ln$1,Gn$1,Pn$1,kn$1,ft$1,Wn,gn$1,hn$1,rt,ae,Ft,F$1,u,xp,Qa],styles:[".unit-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,auto));gap:10px}"]})}return n})();var Tt=new N$1("CdkAccordion"),Fi=(()=>{class n{_stateChanges=new te;_openCloseAllActions=new te;id=w(Mr).getId("cdk-accordion-");multi=false;openAll(){this.multi&&this._openCloseAllActions.next(true);}closeAll(){this._openCloseAllActions.next(false);}ngOnChanges(e){this._stateChanges.next(e);}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete();}static \u0275fac=function(t){return new(t||n)};static \u0275dir=nw({type:n,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",Zj]},exportAs:["cdkAccordion"],features:[LT([{provide:Tt,useExisting:n}]),lv]})}return n})(),Li=(()=>{class n{accordion=w(Tt,{optional:true,skipSelf:true});_changeDetectorRef=w(Gj);_expansionDispatcher=w(E);_openCloseAllSubscription=j.EMPTY;closed=new Qe;opened=new Qe;destroyed=new Qe;expandedChange=new Qe;id=w(Mr).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 t=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,t);}else this.closed.emit();this._changeDetectorRef.markForCheck();}}_expanded=false;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e);}_disabled=vt$1(false);_removeUniqueSelectionListener=()=>{};ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,t)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===t&&this.id!==e&&(this.expanded=false);}),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=false);}open(){this.disabled||(this.expanded=true);}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e);})}static \u0275fac=function(t){return new(t||n)};static \u0275dir=nw({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",Zj],disabled:[2,"disabled","disabled",Zj]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[LT([{provide:Tt,useValue:void 0}])]})}return n})(),Ui=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=bh({type:n});static \u0275inj=Qs({})}return n})();var dn=["body"],cn=["bodyWrapper"],mn=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],hn=["mat-expansion-panel-header","*","mat-action-row"];function pn(n,u){}var gn=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],un=["mat-panel-title","mat-panel-description","*"];function _n(n,u){n&1&&(dl(0,"span",1),wd(),dl(1,"svg",2),Uh(2,"path",3),fl()());}var Et=new N$1("MAT_ACCORDION"),Bi=new N$1("MAT_EXPANSION_PANEL"),fn=(()=>{class n{_template=w(Mr$1);_expansionPanel=w(Bi,{optional:true});static \u0275fac=function(t){return new(t||n)};static \u0275dir=nw({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),Wi=new N$1("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),He=(()=>{class n extends Li{_viewContainerRef=w(Ki$1);_animationsDisabled=ot();_document=w(gr);_ngZone=w(ue);_elementRef=w(Lr);_renderer=w(tD);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e;}_hideToggle=false;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e;}_togglePosition;afterExpand=new Qe;afterCollapse=new Qe;_inputChanges=new te;accordion=w(Et,{optional:true,skipSelf:true});_lazyContent;_body;_bodyWrapper;_portal;_headerId=w(Mr).getId("mat-expansion-panel-header-");constructor(){super();let e=w(Wi,{optional:true});this._expansionDispatcher=w(E),e&&(this.hideToggle=e.hideToggle);}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":false}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded;}close(){this.expanded=false;}open(){this.expanded=true;}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(Tu(null),fn$1(()=>this.expanded&&!this._portal),_t$1(1)).subscribe(()=>{this._portal=new N$2(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,t=this._body.nativeElement;return e===t||t.contains(e)}return false}_transitionEndListener=({target:e,propertyName:t})=>{e===this._bodyWrapper?.nativeElement&&t==="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(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,s){if(t&1&&Kh$1(s,fn,5),t&2){let d;Zw(d=Yw())&&(i._lazyContent=d.first);}},viewQuery:function(t,i){if(t&1&&Jh(dn,5)(cn,5),t&2){let s;Zw(s=Yw())&&(i._body=s.first),Zw(s=Yw())&&(i._bodyWrapper=s.first);}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(t,i){t&2&&sg("mat-expanded",i.expanded)("mat-expansion-panel-spacing",i._hasSpacing());},inputs:{hideToggle:[2,"hideToggle","hideToggle",Zj],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[LT([{provide:Et,useValue:void 0},{provide:Bi,useExisting:n}]),Sh,lv],ngContentSelectors:hn,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(t,i){t&1&&(Gw(mn),zw(0),Pi(1,"div",2,0)(3,"div",3,1)(5,"div",4),zw(6,1),xh(7,pn,0,0,"ng-template",5),ul(),zw(8,2),ul()()),t&2&&(EE(),Hh("inert",i.expanded?null:""),EE(2),Bh("id",i.id),Hh("aria-labelledby",i._headerId),EE(4),Bh("cdkPortalOutlet",i._portal));},dependencies:[Ri],styles:[`.mat-expansion-panel {
2
+ box-sizing: content-box;
3
+ display: block;
4
+ margin: 0;
5
+ overflow: hidden;
6
+ }
7
+ .mat-expansion-panel.mat-expansion-panel-animations-enabled {
8
+ transition: margin 225ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
9
+ }
10
+ .mat-expansion-panel {
11
+ position: relative;
12
+ background: var(--mat-expansion-container-background-color, var(--mat-sys-surface));
13
+ color: var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));
14
+ border-radius: var(--mat-expansion-container-shape, 12px);
15
+ }
16
+ .mat-expansion-panel:not([class*=mat-elevation-z]) {
17
+ 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));
18
+ }
19
+ .mat-accordion .mat-expansion-panel:not(.mat-expanded), .mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing) {
20
+ border-radius: 0;
21
+ }
22
+ .mat-accordion .mat-expansion-panel:first-of-type {
23
+ border-top-right-radius: var(--mat-expansion-container-shape, 12px);
24
+ border-top-left-radius: var(--mat-expansion-container-shape, 12px);
25
+ }
26
+ .mat-accordion .mat-expansion-panel:last-of-type {
27
+ border-bottom-right-radius: var(--mat-expansion-container-shape, 12px);
28
+ border-bottom-left-radius: var(--mat-expansion-container-shape, 12px);
29
+ }
30
+ @media (forced-colors: active) {
31
+ .mat-expansion-panel {
32
+ outline: solid 1px;
33
+ }
34
+ }
35
+
36
+ .mat-expansion-panel-content-wrapper {
37
+ display: grid;
38
+ grid-template-rows: 0fr;
39
+ grid-template-columns: 100%;
40
+ }
41
+ .mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper {
42
+ transition: grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1);
43
+ }
44
+ .mat-expansion-panel.mat-expanded > .mat-expansion-panel-content-wrapper {
45
+ grid-template-rows: 1fr;
46
+ }
47
+ @supports not (grid-template-rows: 0fr) {
48
+ .mat-expansion-panel-content-wrapper {
49
+ height: 0;
50
+ }
51
+ .mat-expansion-panel.mat-expanded > .mat-expansion-panel-content-wrapper {
52
+ height: auto;
53
+ }
54
+ }
55
+ @media print {
56
+ .mat-expansion-panel-content-wrapper {
57
+ height: 0;
58
+ }
59
+ .mat-expansion-panel.mat-expanded > .mat-expansion-panel-content-wrapper {
60
+ height: auto;
61
+ }
62
+ }
63
+
64
+ .mat-expansion-panel-content {
65
+ display: flex;
66
+ flex-direction: column;
67
+ overflow: visible;
68
+ min-height: 0;
69
+ visibility: hidden;
70
+ }
71
+ .mat-expansion-panel-animations-enabled .mat-expansion-panel-content {
72
+ transition: visibility 190ms linear;
73
+ }
74
+ .mat-expansion-panel.mat-expanded > .mat-expansion-panel-content-wrapper > .mat-expansion-panel-content {
75
+ visibility: visible;
76
+ }
77
+ .mat-expansion-panel-content {
78
+ font-family: var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));
79
+ font-size: var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));
80
+ font-weight: var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));
81
+ line-height: var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));
82
+ letter-spacing: var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking));
83
+ }
84
+
85
+ .mat-expansion-panel-body {
86
+ padding: 0 24px 16px;
87
+ }
88
+
89
+ .mat-expansion-panel-spacing {
90
+ margin: 16px 0;
91
+ }
92
+ .mat-accordion > .mat-expansion-panel-spacing:first-child, .mat-accordion > *:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing {
93
+ margin-top: 0;
94
+ }
95
+ .mat-accordion > .mat-expansion-panel-spacing:last-child, .mat-accordion > *:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing {
96
+ margin-bottom: 0;
97
+ }
98
+
99
+ .mat-action-row {
100
+ border-top-style: solid;
101
+ border-top-width: 1px;
102
+ display: flex;
103
+ flex-direction: row;
104
+ justify-content: flex-end;
105
+ padding: 16px 8px 16px 24px;
106
+ border-top-color: var(--mat-expansion-actions-divider-color, var(--mat-sys-outline));
107
+ }
108
+ .mat-action-row .mat-button-base,
109
+ .mat-action-row .mat-mdc-button-base {
110
+ margin-left: 8px;
111
+ }
112
+ [dir=rtl] .mat-action-row .mat-button-base,
113
+ [dir=rtl] .mat-action-row .mat-mdc-button-base {
114
+ margin-left: 0;
115
+ margin-right: 8px;
116
+ }
117
+ `],encapsulation:2})}return n})();var ze=(()=>{class n{panel=w(He,{host:true});_element=w(Lr);_focusMonitor=w(Dn$1);_changeDetectorRef=w(Gj);_parentChangeSubscription=j.EMPTY;constructor(){w(Ce$1).load(oa$1);let e=this.panel,t=w(Wi,{optional:true}),i=w(new Lg("tabindex"),{optional:true}),s=e.accordion?e.accordion._stateChanges.pipe(fn$1(d=>!!(d.hideToggle||d.togglePosition))):Ct;this.tabIndex=parseInt(i||"")||0,this._parentChangeSubscription=zm(e.opened,e.closed,s,e._inputChanges.pipe(fn$1(d=>!!(d.hideToggle||d.disabled||d.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(fn$1(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),t&&(this.expandedHeight=t.expandedHeight,this.collapsedHeight=t.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:Wo(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t);}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(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(t,i){t&1&&Qh("click",function(){return i._toggle()})("keydown",function(d){return i._keydown(d)}),t&2&&(Hh("id",i.panel._headerId)("tabindex",i.disabled?-1:i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),ig("height",i._getHeaderHeight()),sg("mat-expanded",i._isExpanded())("mat-expansion-toggle-indicator-after",i._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",i._getTogglePosition()==="before"));},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:Yj(e)]},ngContentSelectors:un,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(t,i){t&1&&(Gw(gn),dl(0,"span",0),zw(1),zw(2,1),zw(3,2),fl(),_w(4,_n,3,0,"span",1)),t&2&&(sg("mat-content-hide-toggle",!i._showToggle()),EE(4),Mw(i._showToggle()?4:-1));},styles:[`.mat-expansion-panel-header {
118
+ display: flex;
119
+ flex-direction: row;
120
+ align-items: center;
121
+ padding: 0 24px;
122
+ border-radius: inherit;
123
+ }
124
+ .mat-expansion-panel-animations-enabled .mat-expansion-panel-header {
125
+ transition: height 225ms cubic-bezier(0.4, 0, 0.2, 1);
126
+ }
127
+ .mat-expansion-panel-header::before {
128
+ border-radius: inherit;
129
+ }
130
+ .mat-expansion-panel-header {
131
+ height: var(--mat-expansion-header-collapsed-state-height, 48px);
132
+ font-family: var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));
133
+ font-size: var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));
134
+ font-weight: var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));
135
+ line-height: var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));
136
+ letter-spacing: var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking));
137
+ }
138
+ .mat-expansion-panel-header.mat-expanded {
139
+ height: var(--mat-expansion-header-expanded-state-height, 64px);
140
+ }
141
+ .mat-expansion-panel-header[aria-disabled=true] {
142
+ color: var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
143
+ }
144
+ .mat-expansion-panel-header:not([aria-disabled=true]) {
145
+ cursor: pointer;
146
+ }
147
+ .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover {
148
+ 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));
149
+ }
150
+ @media (hover: none) {
151
+ .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover {
152
+ background: var(--mat-expansion-container-background-color, var(--mat-sys-surface));
153
+ }
154
+ }
155
+ .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 {
156
+ 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));
157
+ }
158
+ .mat-expansion-panel-header._mat-animation-noopable {
159
+ transition: none;
160
+ }
161
+ .mat-expansion-panel-header:focus, .mat-expansion-panel-header:hover {
162
+ outline: none;
163
+ }
164
+ .mat-expansion-panel-header.mat-expanded:focus, .mat-expansion-panel-header.mat-expanded:hover {
165
+ background: inherit;
166
+ }
167
+ .mat-expansion-panel-header.mat-expansion-toggle-indicator-before {
168
+ flex-direction: row-reverse;
169
+ }
170
+ .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator {
171
+ margin: 0 16px 0 0;
172
+ }
173
+ [dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator {
174
+ margin: 0 0 0 16px;
175
+ }
176
+
177
+ .mat-content {
178
+ display: flex;
179
+ flex: 1;
180
+ flex-direction: row;
181
+ overflow: hidden;
182
+ }
183
+ .mat-content.mat-content-hide-toggle {
184
+ margin-right: 8px;
185
+ }
186
+ [dir=rtl] .mat-content.mat-content-hide-toggle {
187
+ margin-right: 0;
188
+ margin-left: 8px;
189
+ }
190
+ .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle {
191
+ margin-left: 24px;
192
+ margin-right: 0;
193
+ }
194
+ [dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle {
195
+ margin-right: 24px;
196
+ margin-left: 0;
197
+ }
198
+
199
+ .mat-expansion-panel-header-title {
200
+ color: var(--mat-expansion-header-text-color, var(--mat-sys-on-surface));
201
+ }
202
+
203
+ .mat-expansion-panel-header-title,
204
+ .mat-expansion-panel-header-description {
205
+ display: flex;
206
+ flex-grow: 1;
207
+ flex-basis: 0;
208
+ margin-right: 16px;
209
+ align-items: center;
210
+ }
211
+ [dir=rtl] .mat-expansion-panel-header-title,
212
+ [dir=rtl] .mat-expansion-panel-header-description {
213
+ margin-right: 0;
214
+ margin-left: 16px;
215
+ }
216
+ .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
217
+ .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
218
+ color: inherit;
219
+ }
220
+
221
+ .mat-expansion-panel-header-description {
222
+ flex-grow: 2;
223
+ color: var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant));
224
+ }
225
+
226
+ .mat-expansion-panel-animations-enabled .mat-expansion-indicator {
227
+ transition: transform 225ms cubic-bezier(0.4, 0, 0.2, 1);
228
+ }
229
+ .mat-expansion-panel-header.mat-expanded .mat-expansion-indicator {
230
+ transform: rotate(180deg);
231
+ }
232
+ .mat-expansion-indicator::after {
233
+ border-style: solid;
234
+ border-width: 0 2px 2px 0;
235
+ content: "";
236
+ padding: 3px;
237
+ transform: rotate(45deg);
238
+ vertical-align: middle;
239
+ color: var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));
240
+ display: var(--mat-expansion-legacy-header-indicator-display, none);
241
+ }
242
+ .mat-expansion-indicator svg {
243
+ width: 24px;
244
+ height: 24px;
245
+ margin: 0 -8px;
246
+ vertical-align: middle;
247
+ fill: var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));
248
+ display: var(--mat-expansion-header-indicator-display, inline-block);
249
+ }
250
+
251
+ @media (forced-colors: active) {
252
+ .mat-expansion-panel-content {
253
+ border-top: 1px solid;
254
+ border-top-left-radius: 0;
255
+ border-top-right-radius: 0;
256
+ }
257
+ }
258
+ `],encapsulation:2})}return n})(),ut=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=nw({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),_t=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=nw({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),ft=(()=>{class n extends Fi{_keyManager;_ownHeaders=new Ii;_headers;hideToggle=false;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(Tu(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(t=>t.panel.accordion===this)),this._ownHeaders.notifyOnChanges();}),this._keyManager=new Ir(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(i){return (e||(e=Sv(n)))(i||n)}})();static \u0275dir=nw({type:n,selectors:[["mat-accordion"]],contentQueries:function(t,i,s){if(t&1&&Kh$1(s,ze,5),t&2){let d;Zw(d=Yw())&&(i._headers=d);}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(t,i){t&2&&sg("mat-accordion-multi",i.multi);},inputs:{hideToggle:[2,"hideToggle","hideToggle",Zj],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[LT([{provide:Et,useExisting:n}]),Sh]})}return n})(),bt=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=bh({type:n});static \u0275inj=Qs({imports:[Ui,Ut,Fn$1]})}return n})();var bn=["switch"],vn=["*"];function yn(n,u){n&1&&(Pi(0,"span",11),wd(),Pi(1,"svg",13),$h(2,"path",14),ul(),Pi(3,"svg",15),$h(4,"path",16),ul()());}var Cn=new N$1("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:false,hideIcon:false,disabledInteractive:false})}),vt=class{source;checked;constructor(u,e){this.source=u,this.checked=e;}},Ce=(()=>{class n{_elementRef=w(Lr);_focusMonitor=w(Dn$1);_changeDetectorRef=w(Gj);defaults=w(Cn);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=false;_createChangeEvent(e){return new vt(this,e)}_labelId;get buttonId(){return `${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus();}_noopAnimations=ot();_focused=false;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required=false;color;disabled=false;disableRipple=false;tabIndex=0;get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck();}hideIcon;disabledInteractive;change=new Qe;toggleChange=new Qe;get inputId(){return `${this.id||this._uniqueId}-input`}constructor(){w(Ce$1).load(oa$1);let e=w(new Lg("tabindex"),{optional:true}),t=this.defaults;this.tabIndex=e==null?0:parseInt(e)||0,this.color=t.color||"accent",this.id=this._uniqueId=w(Mr).getId("mat-mdc-slide-toggle-"),this.hideIcon=t.hideIcon??false,this.disabledInteractive=t.disabledInteractive??false,this._labelId=this._uniqueId+"-label";}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,true).subscribe(e=>{e==="keyboard"||e==="program"?(this._focused=true,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=false,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!==true?{required:true}: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 vt(this,this.checked))));}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(t&1&&Jh(bn,5),t&2){let s;Zw(s=Yw())&&(i._switchElement=s.first);}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(t,i){t&2&&(Gh("id",i.id),Hh("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),pT(i.color?"mat-"+i.color:""),sg("mat-mdc-slide-toggle-focused",i._focused)("mat-mdc-slide-toggle-checked",i.checked)("_mat-animation-noopable",i._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",Zj],color:"color",disabled:[2,"disabled","disabled",Zj],disableRipple:[2,"disableRipple","disableRipple",Zj],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:Yj(e)],checked:[2,"checked","checked",Zj],hideIcon:[2,"hideIcon","hideIcon",Zj],disabledInteractive:[2,"disabledInteractive","disabledInteractive",Zj]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[LT([{provide:L,useExisting:Po(()=>n),multi:true},{provide:m,useExisting:n,multi:true}]),lv],ngContentSelectors:vn,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(t,i){if(t&1&&(Gw(),Pi(0,"div",1)(1,"button",2,0),Qh("click",function(){return i._handleClick()}),$h(3,"div",3)(4,"span",4),Pi(5,"span",5)(6,"span",6)(7,"span",7),$h(8,"span",8),ul(),Pi(9,"span",9),$h(10,"span",10),ul(),_w(11,yn,5,0,"span",11),ul()()(),Pi(12,"label",12),Qh("click",function(d){return d.stopPropagation()}),zw(13),ul()()),t&2){let s=Jw(2);Bh("labelPosition",i.labelPosition),EE(),sg("mdc-switch--selected",i.checked)("mdc-switch--unselected",!i.checked)("mdc-switch--checked",i.checked)("mdc-switch--disabled",i.disabled)("mat-mdc-slide-toggle-disabled-interactive",i.disabledInteractive),Bh("tabIndex",i.disabled&&!i.disabledInteractive?-1:i.tabIndex)("disabled",i.disabled&&!i.disabledInteractive),Hh("id",i.buttonId)("name",i.name)("aria-label",i.ariaLabel)("aria-labelledby",i._getAriaLabelledBy())("aria-describedby",i.ariaDescribedby)("aria-required",i.required||null)("aria-checked",i.checked)("aria-disabled",i.disabled&&i.disabledInteractive?"true":null),EE(9),Bh("matRippleTrigger",s)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",true),EE(),Mw(i.hideIcon?-1:11),EE(),Bh("for",i.buttonId),Hh("id",i._labelId);}},dependencies:[Kh,jt],styles:[`.mdc-switch {
259
+ align-items: center;
260
+ background: none;
261
+ border: none;
262
+ cursor: pointer;
263
+ display: inline-flex;
264
+ flex-shrink: 0;
265
+ margin: 0;
266
+ outline: none;
267
+ overflow: visible;
268
+ padding: 0;
269
+ position: relative;
270
+ width: var(--mat-slide-toggle-track-width, 52px);
271
+ }
272
+ .mdc-switch.mdc-switch--disabled {
273
+ cursor: default;
274
+ pointer-events: none;
275
+ }
276
+ .mdc-switch.mat-mdc-slide-toggle-disabled-interactive {
277
+ pointer-events: auto;
278
+ }
279
+
280
+ .mdc-switch__track {
281
+ overflow: hidden;
282
+ position: relative;
283
+ width: 100%;
284
+ height: var(--mat-slide-toggle-track-height, 32px);
285
+ border-radius: var(--mat-slide-toggle-track-shape, var(--mat-sys-corner-full));
286
+ }
287
+ .mdc-switch--disabled.mdc-switch .mdc-switch__track {
288
+ opacity: var(--mat-slide-toggle-disabled-track-opacity, 0.12);
289
+ }
290
+ .mdc-switch__track::before, .mdc-switch__track::after {
291
+ border: 1px solid transparent;
292
+ border-radius: inherit;
293
+ box-sizing: border-box;
294
+ content: "";
295
+ height: 100%;
296
+ left: 0;
297
+ position: absolute;
298
+ width: 100%;
299
+ border-width: var(--mat-slide-toggle-track-outline-width, 2px);
300
+ border-color: var(--mat-slide-toggle-track-outline-color, var(--mat-sys-outline));
301
+ }
302
+ .mdc-switch--selected .mdc-switch__track::before, .mdc-switch--selected .mdc-switch__track::after {
303
+ border-width: var(--mat-slide-toggle-selected-track-outline-width, 2px);
304
+ border-color: var(--mat-slide-toggle-selected-track-outline-color, transparent);
305
+ }
306
+ .mdc-switch--disabled .mdc-switch__track::before, .mdc-switch--disabled .mdc-switch__track::after {
307
+ border-width: var(--mat-slide-toggle-disabled-unselected-track-outline-width, 2px);
308
+ border-color: var(--mat-slide-toggle-disabled-unselected-track-outline-color, var(--mat-sys-on-surface));
309
+ }
310
+ @media (forced-colors: active) {
311
+ .mdc-switch__track {
312
+ border-color: currentColor;
313
+ }
314
+ }
315
+ .mdc-switch__track::before {
316
+ transition: transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);
317
+ transform: translateX(0);
318
+ background: var(--mat-slide-toggle-unselected-track-color, var(--mat-sys-surface-variant));
319
+ }
320
+ .mdc-switch--selected .mdc-switch__track::before {
321
+ transition: transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);
322
+ transform: translateX(100%);
323
+ }
324
+ [dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before {
325
+ transform: translateX(-100%);
326
+ }
327
+ .mdc-switch--selected .mdc-switch__track::before {
328
+ opacity: var(--mat-slide-toggle-hidden-track-opacity, 0);
329
+ transition: var(--mat-slide-toggle-hidden-track-transition, opacity 75ms);
330
+ }
331
+ .mdc-switch--unselected .mdc-switch__track::before {
332
+ opacity: var(--mat-slide-toggle-visible-track-opacity, 1);
333
+ transition: var(--mat-slide-toggle-visible-track-transition, opacity 75ms);
334
+ }
335
+ .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before {
336
+ background: var(--mat-slide-toggle-unselected-hover-track-color, var(--mat-sys-surface-variant));
337
+ }
338
+ .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before {
339
+ background: var(--mat-slide-toggle-unselected-focus-track-color, var(--mat-sys-surface-variant));
340
+ }
341
+ .mdc-switch:enabled:active .mdc-switch__track::before {
342
+ background: var(--mat-slide-toggle-unselected-pressed-track-color, var(--mat-sys-surface-variant));
343
+ }
344
+ .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 {
345
+ background: var(--mat-slide-toggle-disabled-unselected-track-color, var(--mat-sys-surface-variant));
346
+ }
347
+ .mdc-switch__track::after {
348
+ transform: translateX(-100%);
349
+ background: var(--mat-slide-toggle-selected-track-color, var(--mat-sys-primary));
350
+ }
351
+ [dir=rtl] .mdc-switch__track::after {
352
+ transform: translateX(100%);
353
+ }
354
+ .mdc-switch--selected .mdc-switch__track::after {
355
+ transform: translateX(0);
356
+ }
357
+ .mdc-switch--selected .mdc-switch__track::after {
358
+ opacity: var(--mat-slide-toggle-visible-track-opacity, 1);
359
+ transition: var(--mat-slide-toggle-visible-track-transition, opacity 75ms);
360
+ }
361
+ .mdc-switch--unselected .mdc-switch__track::after {
362
+ opacity: var(--mat-slide-toggle-hidden-track-opacity, 0);
363
+ transition: var(--mat-slide-toggle-hidden-track-transition, opacity 75ms);
364
+ }
365
+ .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after {
366
+ background: var(--mat-slide-toggle-selected-hover-track-color, var(--mat-sys-primary));
367
+ }
368
+ .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after {
369
+ background: var(--mat-slide-toggle-selected-focus-track-color, var(--mat-sys-primary));
370
+ }
371
+ .mdc-switch:enabled:active .mdc-switch__track::after {
372
+ background: var(--mat-slide-toggle-selected-pressed-track-color, var(--mat-sys-primary));
373
+ }
374
+ .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 {
375
+ background: var(--mat-slide-toggle-disabled-selected-track-color, var(--mat-sys-on-surface));
376
+ }
377
+
378
+ .mdc-switch__handle-track {
379
+ height: 100%;
380
+ pointer-events: none;
381
+ position: absolute;
382
+ top: 0;
383
+ transition: transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);
384
+ left: 0;
385
+ right: auto;
386
+ transform: translateX(0);
387
+ width: calc(100% - var(--mat-slide-toggle-handle-width));
388
+ }
389
+ [dir=rtl] .mdc-switch__handle-track {
390
+ left: auto;
391
+ right: 0;
392
+ }
393
+ .mdc-switch--selected .mdc-switch__handle-track {
394
+ transform: translateX(100%);
395
+ }
396
+ [dir=rtl] .mdc-switch--selected .mdc-switch__handle-track {
397
+ transform: translateX(-100%);
398
+ }
399
+
400
+ .mdc-switch__handle {
401
+ display: flex;
402
+ pointer-events: auto;
403
+ position: absolute;
404
+ top: 50%;
405
+ transform: translateY(-50%);
406
+ left: 0;
407
+ right: auto;
408
+ 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);
409
+ width: var(--mat-slide-toggle-handle-width);
410
+ height: var(--mat-slide-toggle-handle-height);
411
+ border-radius: var(--mat-slide-toggle-handle-shape, var(--mat-sys-corner-full));
412
+ }
413
+ [dir=rtl] .mdc-switch__handle {
414
+ left: auto;
415
+ right: 0;
416
+ }
417
+ .mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle {
418
+ width: var(--mat-slide-toggle-unselected-handle-size, 16px);
419
+ height: var(--mat-slide-toggle-unselected-handle-size, 16px);
420
+ margin: var(--mat-slide-toggle-unselected-handle-horizontal-margin, 0 8px);
421
+ }
422
+ .mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons) {
423
+ margin: var(--mat-slide-toggle-unselected-with-icon-handle-horizontal-margin, 0 4px);
424
+ }
425
+ .mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle {
426
+ width: var(--mat-slide-toggle-selected-handle-size, 24px);
427
+ height: var(--mat-slide-toggle-selected-handle-size, 24px);
428
+ margin: var(--mat-slide-toggle-selected-handle-horizontal-margin, 0 24px);
429
+ }
430
+ .mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons) {
431
+ margin: var(--mat-slide-toggle-selected-with-icon-handle-horizontal-margin, 0 24px);
432
+ }
433
+ .mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons) {
434
+ width: var(--mat-slide-toggle-with-icon-handle-size, 24px);
435
+ height: var(--mat-slide-toggle-with-icon-handle-size, 24px);
436
+ }
437
+ .mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle {
438
+ width: var(--mat-slide-toggle-pressed-handle-size, 28px);
439
+ height: var(--mat-slide-toggle-pressed-handle-size, 28px);
440
+ }
441
+ .mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle {
442
+ margin: var(--mat-slide-toggle-selected-pressed-handle-horizontal-margin, 0 22px);
443
+ }
444
+ .mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle {
445
+ margin: var(--mat-slide-toggle-unselected-pressed-handle-horizontal-margin, 0 2px);
446
+ }
447
+ .mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after {
448
+ opacity: var(--mat-slide-toggle-disabled-selected-handle-opacity, 1);
449
+ }
450
+ .mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after {
451
+ opacity: var(--mat-slide-toggle-disabled-unselected-handle-opacity, 0.38);
452
+ }
453
+ .mdc-switch__handle::before, .mdc-switch__handle::after {
454
+ border: 1px solid transparent;
455
+ border-radius: inherit;
456
+ box-sizing: border-box;
457
+ content: "";
458
+ width: 100%;
459
+ height: 100%;
460
+ left: 0;
461
+ position: absolute;
462
+ top: 0;
463
+ 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);
464
+ z-index: -1;
465
+ }
466
+ @media (forced-colors: active) {
467
+ .mdc-switch__handle::before, .mdc-switch__handle::after {
468
+ border-color: currentColor;
469
+ }
470
+ }
471
+ .mdc-switch--selected:enabled .mdc-switch__handle::after {
472
+ background: var(--mat-slide-toggle-selected-handle-color, var(--mat-sys-on-primary));
473
+ }
474
+ .mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after {
475
+ background: var(--mat-slide-toggle-selected-hover-handle-color, var(--mat-sys-primary-container));
476
+ }
477
+ .mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after {
478
+ background: var(--mat-slide-toggle-selected-focus-handle-color, var(--mat-sys-primary-container));
479
+ }
480
+ .mdc-switch--selected:enabled:active .mdc-switch__handle::after {
481
+ background: var(--mat-slide-toggle-selected-pressed-handle-color, var(--mat-sys-primary-container));
482
+ }
483
+ .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 {
484
+ background: var(--mat-slide-toggle-disabled-selected-handle-color, var(--mat-sys-surface));
485
+ }
486
+ .mdc-switch--unselected:enabled .mdc-switch__handle::after {
487
+ background: var(--mat-slide-toggle-unselected-handle-color, var(--mat-sys-outline));
488
+ }
489
+ .mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after {
490
+ background: var(--mat-slide-toggle-unselected-hover-handle-color, var(--mat-sys-on-surface-variant));
491
+ }
492
+ .mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after {
493
+ background: var(--mat-slide-toggle-unselected-focus-handle-color, var(--mat-sys-on-surface-variant));
494
+ }
495
+ .mdc-switch--unselected:enabled:active .mdc-switch__handle::after {
496
+ background: var(--mat-slide-toggle-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant));
497
+ }
498
+ .mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after {
499
+ background: var(--mat-slide-toggle-disabled-unselected-handle-color, var(--mat-sys-on-surface));
500
+ }
501
+ .mdc-switch__handle::before {
502
+ background: var(--mat-slide-toggle-handle-surface-color);
503
+ }
504
+
505
+ .mdc-switch__shadow {
506
+ border-radius: inherit;
507
+ bottom: 0;
508
+ left: 0;
509
+ position: absolute;
510
+ right: 0;
511
+ top: 0;
512
+ }
513
+ .mdc-switch:enabled .mdc-switch__shadow {
514
+ box-shadow: var(--mat-slide-toggle-handle-elevation-shadow);
515
+ }
516
+ .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 {
517
+ box-shadow: var(--mat-slide-toggle-disabled-handle-elevation-shadow);
518
+ }
519
+
520
+ .mdc-switch__ripple {
521
+ left: 50%;
522
+ position: absolute;
523
+ top: 50%;
524
+ transform: translate(-50%, -50%);
525
+ z-index: -1;
526
+ width: var(--mat-slide-toggle-state-layer-size, 40px);
527
+ height: var(--mat-slide-toggle-state-layer-size, 40px);
528
+ }
529
+ .mdc-switch__ripple::after {
530
+ content: "";
531
+ opacity: 0;
532
+ }
533
+ .mdc-switch--disabled .mdc-switch__ripple::after {
534
+ display: none;
535
+ }
536
+ .mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after {
537
+ display: block;
538
+ }
539
+ .mdc-switch:hover .mdc-switch__ripple::after {
540
+ transition: 75ms opacity cubic-bezier(0, 0, 0.2, 1);
541
+ }
542
+ .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 {
543
+ background: var(--mat-slide-toggle-unselected-hover-state-layer-color, var(--mat-sys-on-surface));
544
+ opacity: var(--mat-slide-toggle-unselected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));
545
+ }
546
+ .mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after {
547
+ background: var(--mat-slide-toggle-unselected-focus-state-layer-color, var(--mat-sys-on-surface));
548
+ opacity: var(--mat-slide-toggle-unselected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));
549
+ }
550
+ .mdc-switch--unselected:enabled:active .mdc-switch__ripple::after {
551
+ background: var(--mat-slide-toggle-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));
552
+ opacity: var(--mat-slide-toggle-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));
553
+ transition: opacity 75ms linear;
554
+ }
555
+ .mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after {
556
+ background: var(--mat-slide-toggle-selected-hover-state-layer-color, var(--mat-sys-primary));
557
+ opacity: var(--mat-slide-toggle-selected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));
558
+ }
559
+ .mdc-switch--selected:enabled:focus .mdc-switch__ripple::after {
560
+ background: var(--mat-slide-toggle-selected-focus-state-layer-color, var(--mat-sys-primary));
561
+ opacity: var(--mat-slide-toggle-selected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));
562
+ }
563
+ .mdc-switch--selected:enabled:active .mdc-switch__ripple::after {
564
+ background: var(--mat-slide-toggle-selected-pressed-state-layer-color, var(--mat-sys-primary));
565
+ opacity: var(--mat-slide-toggle-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));
566
+ transition: opacity 75ms linear;
567
+ }
568
+
569
+ .mdc-switch__icons {
570
+ position: relative;
571
+ height: 100%;
572
+ width: 100%;
573
+ z-index: 1;
574
+ transform: translateZ(0);
575
+ }
576
+ .mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons {
577
+ opacity: var(--mat-slide-toggle-disabled-unselected-icon-opacity, 0.38);
578
+ }
579
+ .mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons {
580
+ opacity: var(--mat-slide-toggle-disabled-selected-icon-opacity, 0.38);
581
+ }
582
+
583
+ .mdc-switch__icon {
584
+ bottom: 0;
585
+ left: 0;
586
+ margin: auto;
587
+ position: absolute;
588
+ right: 0;
589
+ top: 0;
590
+ opacity: 0;
591
+ transition: opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1);
592
+ }
593
+ .mdc-switch--unselected .mdc-switch__icon {
594
+ width: var(--mat-slide-toggle-unselected-icon-size, 16px);
595
+ height: var(--mat-slide-toggle-unselected-icon-size, 16px);
596
+ fill: var(--mat-slide-toggle-unselected-icon-color, var(--mat-sys-surface-variant));
597
+ }
598
+ .mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon {
599
+ fill: var(--mat-slide-toggle-disabled-unselected-icon-color, var(--mat-sys-surface-variant));
600
+ }
601
+ .mdc-switch--selected .mdc-switch__icon {
602
+ width: var(--mat-slide-toggle-selected-icon-size, 16px);
603
+ height: var(--mat-slide-toggle-selected-icon-size, 16px);
604
+ fill: var(--mat-slide-toggle-selected-icon-color, var(--mat-sys-on-primary-container));
605
+ }
606
+ .mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon {
607
+ fill: var(--mat-slide-toggle-disabled-selected-icon-color, var(--mat-sys-on-surface));
608
+ }
609
+
610
+ .mdc-switch--selected .mdc-switch__icon--on,
611
+ .mdc-switch--unselected .mdc-switch__icon--off {
612
+ opacity: 1;
613
+ transition: opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1);
614
+ }
615
+
616
+ .mat-mdc-slide-toggle {
617
+ -webkit-user-select: none;
618
+ user-select: none;
619
+ display: inline-block;
620
+ -webkit-tap-highlight-color: transparent;
621
+ outline: 0;
622
+ }
623
+ .mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,
624
+ .mat-mdc-slide-toggle .mdc-switch__ripple::after {
625
+ top: 0;
626
+ left: 0;
627
+ right: 0;
628
+ bottom: 0;
629
+ position: absolute;
630
+ border-radius: 50%;
631
+ pointer-events: none;
632
+ }
633
+ .mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),
634
+ .mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty) {
635
+ transform: translateZ(0);
636
+ }
637
+ .mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before {
638
+ content: "";
639
+ }
640
+ .mat-mdc-slide-toggle .mat-internal-form-field {
641
+ color: var(--mat-slide-toggle-label-text-color, var(--mat-sys-on-surface));
642
+ font-family: var(--mat-slide-toggle-label-text-font, var(--mat-sys-body-medium-font));
643
+ line-height: var(--mat-slide-toggle-label-text-line-height, var(--mat-sys-body-medium-line-height));
644
+ font-size: var(--mat-slide-toggle-label-text-size, var(--mat-sys-body-medium-size));
645
+ letter-spacing: var(--mat-slide-toggle-label-text-tracking, var(--mat-sys-body-medium-tracking));
646
+ font-weight: var(--mat-slide-toggle-label-text-weight, var(--mat-sys-body-medium-weight));
647
+ }
648
+ .mat-mdc-slide-toggle .mat-ripple-element {
649
+ opacity: 0.12;
650
+ }
651
+ .mat-mdc-slide-toggle .mat-focus-indicator::before {
652
+ border-radius: 50%;
653
+ }
654
+ .mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,
655
+ .mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,
656
+ .mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,
657
+ .mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,
658
+ .mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,
659
+ .mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after {
660
+ transition: none;
661
+ }
662
+ .mat-mdc-slide-toggle .mdc-switch:enabled + .mdc-label {
663
+ cursor: pointer;
664
+ }
665
+ .mat-mdc-slide-toggle .mdc-switch--disabled + label {
666
+ color: var(--mat-slide-toggle-disabled-label-text-color, var(--mat-sys-on-surface));
667
+ }
668
+ .mat-mdc-slide-toggle label:empty {
669
+ display: none;
670
+ }
671
+
672
+ .mat-mdc-slide-toggle-touch-target {
673
+ position: absolute;
674
+ top: 50%;
675
+ left: 50%;
676
+ height: var(--mat-slide-toggle-touch-target-size, 48px);
677
+ width: 100%;
678
+ transform: translate(-50%, -50%);
679
+ display: var(--mat-slide-toggle-touch-target-display, block);
680
+ }
681
+ [dir=rtl] .mat-mdc-slide-toggle-touch-target {
682
+ left: auto;
683
+ right: 50%;
684
+ transform: translate(50%, -50%);
685
+ }
686
+ `],encapsulation:2})}return n})(),yt=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=bh({type:n});static \u0275inj=Qs({imports:[Ce,Fn$1]})}return n})();var wn=["notificationsForm"],Sn=["statePanel"],xn=["soundPanel"];function Mn(n,u){n&1&&(Pi(0,"mat-panel-description"),TT(1," Filter Notifications sidenav items "),ul());}function kn(n,u){n&1&&(Pi(0,"mat-panel-description"),TT(1," Override server defined methods "),ul());}var Ki=(()=>{class n{toast=w(lt);settings=w(Gi$1);_responsive=w(ir);isPhonePortrait;notificationsForm=$j("notificationsForm");statePanel=$j("statePanel");soundPanel=$j("soundPanel");notificationConfig;notificationDisabledExpandPanel=false;constructor(){this.isPhonePortrait=Wp(this._responsive.observe(Em.HandsetPortrait),{initialValue:{matches:false,breakpoints:{}}}),this.notificationConfig=dp(this.settings.getNotificationConfig());}saveAllSettings(){this.settings.setNotificationConfig(dp(this.notificationConfig)),this.notificationsForm()?.form?.markAsPristine(),this.toast.show("Configuration saved",1e3,true,"message");}togglePanel(e){e.checked&&(this.notificationDisabledExpandPanel=false,this.statePanel()?.close(),this.soundPanel()?.close());}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["settings-notifications"]],viewQuery:function(t,i){t&1&&eg(i.notificationsForm,wn,5)(i.statePanel,Sn,5)(i.soundPanel,xn,5),t&2&&Kw(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(t,i){if(t&1){let s=Fw();Pi(0,"form",3,0),Qh("ngSubmit",function(){return i.saveAllSettings()}),Pi(2,"p"),TT(3,"Configure audio and visual notification settings and stay informed of critical events."),ul(),Pi(4,"mat-slide-toggle",4),Eg("ngModelChange",function(r){return ud(s),ST(i.notificationConfig.sound.disableSound,r)||(i.notificationConfig.sound.disableSound=r),dd(r)}),TT(5," Disable audio "),ul(),cD(),$h(6,"br")(7,"br"),Pi(8,"mat-slide-toggle",5),Eg("ngModelChange",function(r){return ud(s),ST(i.notificationConfig.disableNotifications,r)||(i.notificationConfig.disableNotifications=r),dd(r)}),Qh("change",function(r){return i.togglePanel(r)}),TT(9," Disable Notifications "),ul(),cD(),$h(10,"br")(11,"br"),Pi(12,"div",6)(13,"mat-accordion")(14,"mat-expansion-panel",7,1)(16,"mat-expansion-panel-header")(17,"mat-panel-title"),TT(18," States "),ul(),_w(19,Mn,2,0,"mat-panel-description"),ul(),Pi(20,"mat-checkbox",8),Eg("ngModelChange",function(r){return ud(s),ST(i.notificationConfig.devices.showNormalState,r)||(i.notificationConfig.devices.showNormalState=r),dd(r)}),TT(21," Show "),Pi(22,"b"),TT(23,"Normal"),ul(),TT(24," state "),ul(),cD(),$h(25,"br"),Pi(26,"mat-checkbox",9),Eg("ngModelChange",function(r){return ud(s),ST(i.notificationConfig.devices.showNominalState,r)||(i.notificationConfig.devices.showNominalState=r),dd(r)}),TT(27," Show "),Pi(28,"b"),TT(29,"Nominal"),ul(),TT(30," state "),ul(),cD(),ul(),Pi(31,"mat-expansion-panel",7,2)(33,"mat-expansion-panel-header")(34,"mat-panel-title"),TT(35," Audio "),ul(),_w(36,kn,2,0,"mat-panel-description"),ul(),Pi(37,"mat-checkbox",10),Eg("ngModelChange",function(r){return ud(s),ST(i.notificationConfig.sound.muteAlert,r)||(i.notificationConfig.sound.muteAlert=r),dd(r)}),TT(38," Mute "),Pi(39,"b"),TT(40,"all Alert"),ul(),TT(41," state "),ul(),cD(),$h(42,"br"),Pi(43,"mat-checkbox",11),Eg("ngModelChange",function(r){return ud(s),ST(i.notificationConfig.sound.muteWarn,r)||(i.notificationConfig.sound.muteWarn=r),dd(r)}),TT(44," Mute "),Pi(45,"b"),TT(46,"all Warn"),ul(),TT(47," state "),ul(),cD(),$h(48,"br"),Pi(49,"mat-checkbox",12),Eg("ngModelChange",function(r){return ud(s),ST(i.notificationConfig.sound.muteAlarm,r)||(i.notificationConfig.sound.muteAlarm=r),dd(r)}),TT(50," Mute "),Pi(51,"b"),TT(52,"all Alarm"),ul(),TT(53," state "),ul(),cD(),$h(54,"br"),Pi(55,"mat-checkbox",13),Eg("ngModelChange",function(r){return ud(s),ST(i.notificationConfig.sound.muteEmergency,r)||(i.notificationConfig.sound.muteEmergency=r),dd(r)}),TT(56," Mute "),Pi(57,"b"),TT(58,"all Emergency"),ul(),TT(59," state "),ul(),cD(),ul()()(),Pi(60,"div",14),$h(61,"mat-divider",15),Pi(62,"button",16),TT(63,"Save"),ul()()();}if(t&2){let s=Jw(1);EE(4),Ig("ngModel",i.notificationConfig.sound.disableSound),lD(),EE(4),Ig("ngModel",i.notificationConfig.disableNotifications),lD(),EE(6),Bh("disabled",i.notificationConfig.disableNotifications),EE(5),Mw(i.isPhonePortrait().matches?-1:19),EE(),Ig("ngModel",i.notificationConfig.devices.showNormalState),lD(),EE(6),Ig("ngModel",i.notificationConfig.devices.showNominalState),lD(),EE(5),Bh("disabled",i.notificationConfig.disableNotifications),EE(5),Mw(i.isPhonePortrait().matches?-1:36),EE(),Ig("ngModel",i.notificationConfig.sound.muteAlert),Bh("disabled",i.notificationConfig.sound.disableSound),lD(),EE(6),Ig("ngModel",i.notificationConfig.sound.muteWarn),Bh("disabled",i.notificationConfig.sound.disableSound),lD(),EE(6),Ig("ngModel",i.notificationConfig.sound.muteAlarm),Bh("disabled",i.notificationConfig.sound.disableSound),lD(),EE(6),Ig("ngModel",i.notificationConfig.sound.muteEmergency),Bh("disabled",i.notificationConfig.sound.disableSound),lD(),EE(7),Bh("disabled",!s.form.dirty);}},dependencies:[Ln$1,Gn$1,Pn$1,kn$1,rn,Qt,Kt,yt,Ce,bt,ft,He,ze,_t,ut,u,xp],styles:[".notification-accordion[_ngcontent-%COMP%]{margin-left:25px}"]})}return n})();Wl.register(...Lh);var qi=Wl;var Tn=["activityGraph"],It=()=>({standalone:false}),En=()=>({standalone:true}),Xi=(()=>{class n{dialog=w(ee);settings=w(Gi$1);app=w(N);toast=w(lt);DataService=w(De);signalKConnectionService=w(T);deltaService=w(I);connectionStateMachine=w(We);internetReachability=w(w$1);auth=w(He$1);destroyRef=w(xe);cdr=w(Gj);canvasService=w(F);activityGraph=$j("activityGraph");connectionConfig=this.settings.getConnectionConfig();isConnecting=false;authToken=null;endpointServiceStatus=this.signalKConnectionService.serverServiceEndpoint$.getValue();streamStatus=this.deltaService.streamEndpoint$.getValue();internetAvailabilityLabel=Dt$1(()=>this.internetReachability.isChecking()?"Checking...":this.internetReachability.internetAvailable()?"Available":this.internetReachability.isReachable()===false?"Unavailable":"Unknown");_chart=null;textColor="";ngOnInit(){this.connectionConfig=this.settings.getConnectionConfig(),this.auth.authToken$.pipe(Gp(this.destroyRef)).subscribe(e=>{e?this.authToken=e:this.authToken=null,this.cdr.markForCheck();}),this.signalKConnectionService.getServiceEndpointStatusAsO().pipe(Gp(this.destroyRef)).subscribe(e=>{this.endpointServiceStatus=e,this.cdr.markForCheck();}),this.deltaService.getDataStreamStatusAsO().pipe(Gp(this.destroyRef)).subscribe(e=>{this.streamStatus=e,this.cdr.markForCheck();});}ngAfterViewInit(){let e=this.activityGraph();e&&(this.textColor=window.getComputedStyle(e.nativeElement).color,this._chart?.destroy(),this.startChart(),this.DataService.getSignalkDeltaUpdateStatistics().pipe(Gp(this.destroyRef)).subscribe(t=>{this._chart&&(this._chart.data.datasets[0].data.push({x:t.timestamp,y:t.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(me,{data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().pipe(Gp(this.destroyRef)).subscribe(i=>{i&&(this.connectionConfig.loginName=i.user,this.connectionConfig.loginPassword=i.password,this.cdr.markForCheck(),this.connectToServer());});}connectToServer(){return Zr(this,null,function*(){if(this.connectionConfig.useSharedConfig&&(!this.connectionConfig.loginName||!this.connectionConfig.loginPassword)){this.openUserCredentialModal("Credentials required");return}this.isConnecting=true;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=false;let t=e?.message||"Unknown validation error";console.error("[Settings-SignalK] Server validation failed:",t),this.toast.show(`${t}`,0,false,"error");}})}startChart(){let t=this.activityGraph()?.nativeElement.getContext("2d");t&&(this._chart=new qi(t,{type:"line",data:{datasets:[{data:[],fill:true,borderColor:this.textColor}]},options:{maintainAspectRatio:false,animation:false,parsing:false,scales:{x:{type:"time",display:true,time:{unit:"minute",minUnit:"second",round:"second",displayFormats:{hour:"k:mm''",minute:"mm''",second:'mm ss"',millisecond:"SSS"}},position:"bottom",ticks:{display:false},grid:{display:true}},y:{beginAtZero:true,type:"linear",position:"right",title:{text:"Delta / Sec",display:true}}},plugins:{legend:{display:false,labels:{color:this.textColor}}}}}));}useSharedConfigToggleClick(e){if(e.checked){let t=this.signalKConnectionService.serverVersion$.getValue();if(!t||!U(t,"1.46.2",">=")){this.toast.show("Configuration sharing requires Signal K version 1.46.2 or better",0,false,"warn"),this.connectionConfig.useSharedConfig=false;return}this.openUserCredentialModal();}}ngOnDestroy(){this._chart?.destroy();let e=this.activityGraph?.()?.nativeElement;this.canvasService.releaseCanvas(e,{clear:true,removeFromDom:true});}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["settings-signalk"]],viewQuery:function(t,i){t&1&&eg(i.activityGraph,Tn,5),t&2&&Kw();},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(t,i){if(t&1){let s=Fw();Pi(0,"form",3,0),Qh("ngSubmit",function(){return i.connectToServer()}),$h(2,"br"),Pi(3,"table",4)(4,"tr",4)(5,"td",5)(6,"mat-form-field",6)(7,"mat-label"),TT(8,"Signal K URL"),ul(),Pi(9,"input",7),Eg("ngModelChange",function(r){return ud(s),ST(i.connectionConfig.signalKUrl,r)||(i.connectionConfig.signalKUrl=r),dd(r)}),ul(),cD(),Pi(10,"mat-error"),TT(11,' Valid URL is required. Ex. "https://demo.signalK.org" or "http://my.server.com:3000" '),ul()()(),Pi(12,"td",8)(13,"button",9),TT(14),ul()()(),Pi(15,"tr",4)(16,"td",10)(17,"mat-slide-toggle",11,1),Eg("ngModelChange",function(r){return ud(s),ST(i.connectionConfig.useSharedConfig,r)||(i.connectionConfig.useSharedConfig=r),dd(r)}),Qh("change",function(r){return i.useSharedConfigToggleClick(r)}),TT(19," Login to server "),ul(),cD(),Pi(20,"button",12),Qh("click",function(){return i.openUserCredentialModal(null)}),TT(21," Set Credential "),ul(),$h(22,"br"),Pi(23,"mat-checkbox",13),Eg("ngModelChange",function(r){return ud(s),ST(i.connectionConfig.signalKSubscribeAll,r)||(i.connectionConfig.signalKSubscribeAll=r),dd(r)}),TT(24,"Subscribe to remote sources messages such as AIS and DSC targets. "),Pi(25,"i"),TT(26,"Warning: this maybe generate heavy traffic."),ul()(),cD(),ul()(),Pi(27,"tr",4)(28,"td",10)(29,"mat-checkbox",14),Eg("ngModelChange",function(r){return ud(s),ST(i.connectionConfig.proxyEnabled,r)||(i.connectionConfig.proxyEnabled=r),dd(r)}),TT(30,"Signal K server is behind a Proxy"),ul(),cD(),ul()()()(),Pi(31,"div",15)(32,"div",16),$h(33,"canvas",17,2),ul(),Pi(35,"div",18)(36,"pre"),TT(37),$h(38,"br"),TT(39),ul()()();}if(t&2){let s=Jw(1);EE(9),Ig("ngModel",i.connectionConfig.signalKUrl),Bh("ngModelOptions",FT(19,It)),lD(),EE(4),Bh("disabled",!s.form.valid||i.isConnecting),EE(),gl(" ",i.isConnecting?"Validating...":"Connect"," "),EE(3),Ig("ngModel",i.connectionConfig.useSharedConfig),Bh("ngModelOptions",FT(20,En))("disabled",!i.connectionConfig.signalKUrl),lD(),EE(3),Bh("disabled",!i.connectionConfig.useSharedConfig),EE(3),Ig("ngModel",i.connectionConfig.signalKSubscribeAll),Bh("ngModelOptions",FT(21,It)),lD(),EE(6),Ig("ngModel",i.connectionConfig.proxyEnabled),Bh("ngModelOptions",FT(22,It)),lD(),EE(8),yg("KIP: ",i.app.appVersion(),`
687
+ `,i.app.browserVersion(),", ",i.app.osVersion()),EE(2),vg(`
688
+ `,i.endpointServiceStatus.serverDescription,`
689
+ `,i.streamStatus.message,", ",i.streamStatus.hasToken?"Logged In":"Readonly",`
690
+ Internet: `,i.internetAvailabilityLabel());}},dependencies:[Ln$1,Gn$1,Xe,Pn$1,kn$1,ft$1,Ht,rn,Qt,rt,ae,an$1,It$1,Kt,Ce,mt,xp],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 In=["knob"],Dn=["valueIndicatorContainer"];function An(n,u){if(n&1&&(Pi(0,"div",2,1)(2,"div",5)(3,"span",6),TT(4),ul()()()),n&2){let e=qw();EE(4),gg(e.valueIndicatorText);}}var Pn=["trackActive"],Rn=["*"];function Nn(n,u){if(n&1&&$h(0,"div"),n&2){let e=u.$implicit,t=u.$index,i=qw(3);pT(e===0?"mdc-slider__tick-mark--active":"mdc-slider__tick-mark--inactive"),ig("transform",i._calcTickMarkTransform(t));}}function Vn(n,u){if(n&1&&xw(0,Nn,1,4,"div",8,Sw),n&2){let e=qw(2);Aw(e._tickMarks);}}function On(n,u){if(n&1&&(Pi(0,"div",6,1),_w(2,Vn,2,0),ul()),n&2){let e=qw();EE(2),Mw(e._cachedWidth?2:-1);}}function Fn(n,u){if(n&1&&$h(0,"mat-slider-visual-thumb",7),n&2){let e=qw();Bh("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||{}),Oe=(function(n){return n[n.ACTIVE=0]="ACTIVE",n[n.INACTIVE=1]="INACTIVE",n})(Oe||{}),Dt=new N$1("_MatSlider"),ji=new N$1("_MatSliderThumb"),Ln=new N$1("_MatSliderRangeThumb"),Gi=new N$1("_MatSliderVisualThumb");var Un=(()=>{class n{_cdr=w(Gj);_ngZone=w(ue);_slider=w(Dt);_renderer=w(tD);_listenerCleanups;discrete=false;thumbPosition;valueIndicatorText;_ripple;_knob;_valueIndicatorContainer;_sliderInput;_sliderInputEl;_hoverRippleRef;_focusRippleRef;_activeRippleRef;_isHovered=false;_isActive=false;_isValueIndicatorVisible=false;_hostElement=w(Lr).nativeElement;_platform=w(G);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 t=this._sliderInputEl,i=this._renderer;this._listenerCleanups=[i.listen(t,"pointermove",this._onPointerMove),i.listen(t,"pointerdown",this._onDragStart),i.listen(t,"pointerup",this._onDragEnd),i.listen(t,"pointerleave",this._onMouseLeave),i.listen(t,"focus",this._onFocus),i.listen(t,"blur",this._onBlur)];}));}ngOnDestroy(){this._listenerCleanups?.forEach(e=>e());}_onPointerMove=e=>{if(this._sliderInput._isFocused)return;let t=this._hostElement.getBoundingClientRect(),i=this._slider._isCursorOnSliderThumb(e,t);this._isHovered=i,i?this._showHoverRipple():this._hideRipple(this._hoverRippleRef);};_onMouseLeave=()=>{this._isHovered=false,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=true,this._showActiveRipple());};_onDragEnd=()=>{this._isActive=false,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},true),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===ie.FADING_IN||e?.state===ie.VISIBLE}_showRipple(e,t){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&&!t)))return this._ripple.launch({animation:this._slider._noopAnimations?{enterDuration:0,exitDuration:0}:e,centered:true,persistent:true})}_hideRipple(e){if(e?.fadeOut(),this._isShowingAnyRipple())return;this._slider._isRange||this._hideValueIndicator();let t=this._getSibling();t._isShowingAnyRipple()||(this._hideValueIndicator(),t._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(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["mat-slider-visual-thumb"]],viewQuery:function(t,i){if(t&1&&Jh(Kh,5)(In,5)(Dn,5),t&2){let s;Zw(s=Yw())&&(i._ripple=s.first),Zw(s=Yw())&&(i._knob=s.first),Zw(s=Yw())&&(i._valueIndicatorContainer=s.first);}},hostAttrs:[1,"mdc-slider__thumb","mat-mdc-slider-visual-thumb"],inputs:{discrete:"discrete",thumbPosition:"thumbPosition",valueIndicatorText:"valueIndicatorText"},features:[LT([{provide:Gi,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(t,i){t&1&&(_w(0,An,5,1,"div",2),$h(1,"div",3,0)(3,"div",4)),t&2&&(Mw(i.discrete?0:-1),EE(3),Bh("matRippleDisabled",true));},dependencies:[Kh],styles:[`.mat-mdc-slider-visual-thumb .mat-ripple {
691
+ height: 100%;
692
+ width: 100%;
693
+ }
694
+
695
+ .mat-mdc-slider .mdc-slider__tick-marks {
696
+ justify-content: start;
697
+ }
698
+ .mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--active,
699
+ .mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--inactive {
700
+ position: absolute;
701
+ left: 2px;
702
+ }
703
+ `],encapsulation:2})}return n})(),Qi=(()=>{class n{_ngZone=w(ue);_cdr=w(Gj);_elementRef=w(Lr);_dir=w(ru,{optional:true});_globalRippleOptions=w(Nr,{optional:true});_trackActive;_thumbs;_input;_inputs;get disabled(){return this._disabled}set disabled(e){this._disabled=e;let t=this._getInput(g.END),i=this._getInput(g.START);t&&(t.disabled=this._disabled),i&&(i.disabled=this._disabled);}_disabled=false;get discrete(){return this._discrete}set discrete(e){this._discrete=e,this._updateValueIndicatorUIs();}_discrete=false;get showTickMarks(){return this._showTickMarks}set showTickMarks(e){this._showTickMarks=e,this._hasViewInitialized&&(this._updateTickMarkUI(),this._updateTickMarkTrackUI());}_showTickMarks=false;get min(){return this._min}set min(e){let t=e==null||isNaN(e)?this._min:e;this._min!==t&&this._updateMin(t);}_min=0;color;disableRipple=false;_updateMin(e){let t=this._min;this._min=e,this._isRange?this._updateMinRange({old:t,new:e}):this._updateMinNonRange(e),this._onMinMaxOrStepChange();}_updateMinRange(e){let t=this._getInput(g.END),i=this._getInput(g.START),s=t.value,d=i.value;i.min=e.new,t.min=Math.max(e.new,i.value),i.max=Math.min(t.max,t.value),i._updateWidthInactive(),t._updateWidthInactive(),e.new<e.old?this._onTranslateXChangeBySideEffect(t,i):this._onTranslateXChangeBySideEffect(i,t),s!==t.value&&this._onValueChange(t),d!==i.value&&this._onValueChange(i);}_updateMinNonRange(e){let t=this._getInput(g.END);if(t){let i=t.value;t.min=e,t._updateThumbUIByValue(),this._updateTrackUI(t),i!==t.value&&this._onValueChange(t);}}get max(){return this._max}set max(e){let t=e==null||isNaN(e)?this._max:e;this._max!==t&&this._updateMax(t);}_max=100;_updateMax(e){let t=this._max;this._max=e,this._isRange?this._updateMaxRange({old:t,new:e}):this._updateMaxNonRange(e),this._onMinMaxOrStepChange();}_updateMaxRange(e){let t=this._getInput(g.END),i=this._getInput(g.START),s=t.value,d=i.value;t.max=e.new,i.max=Math.min(e.new,t.value),t.min=i.value,t._updateWidthInactive(),i._updateWidthInactive(),e.new>e.old?this._onTranslateXChangeBySideEffect(i,t):this._onTranslateXChangeBySideEffect(t,i),s!==t.value&&this._onValueChange(t),d!==i.value&&this._onValueChange(i);}_updateMaxNonRange(e){let t=this._getInput(g.END);if(t){let i=t.value;t.max=e,t._updateThumbUIByValue(),this._updateTrackUI(t),i!==t.value&&this._onValueChange(t);}}get step(){return this._step}set step(e){let t=isNaN(e)?this._step:e;this._step!==t&&this._updateStep(t);}_step=1;_updateStep(e){this._step=e,this._isRange?this._updateStepRange():this._updateStepNonRange(),this._onMinMaxOrStepChange();}_updateStepRange(){let e=this._getInput(g.END),t=this._getInput(g.START),i=e.value,s=t.value,d=t.value;e.min=this._min,t.max=this._max,e.step=this._step,t.step=this._step,this._platform.SAFARI&&(e.value=e.value,t.value=t.value),e.min=Math.max(this._min,t.value),t.max=Math.min(this._max,e.value),t._updateWidthInactive(),e._updateWidthInactive(),e.value<d?this._onTranslateXChangeBySideEffect(t,e):this._onTranslateXChangeBySideEffect(e,t),i!==e.value&&this._onValueChange(e),s!==t.value&&this._onValueChange(t);}_updateStepNonRange(){let e=this._getInput(g.END);if(e){let t=e.value;e.step=this._step,this._platform.SAFARI&&(e.value=e.value),e._updateThumbUIByValue(),t!==e.value&&this._onValueChange(e);}}displayWith=e=>`${e}`;_tickMarks;_noopAnimations=ot();_resizeObserver=null;_cachedWidth;_cachedLeft;_rippleRadius=24;startValueIndicatorText="";endValueIndicatorText="";_endThumbTransform;_startThumbTransform;_isRange=false;_isRtl=Dt$1(()=>this._dir?.valueSignal()==="rtl");_hasViewInitialized=false;_tickMarkTrackWidth=0;_hasAnimation=false;_resizeTimer=null;_platform=w(G);constructor(){w(Ce$1).load(oa$1);let e=this._isRtl();Kj(()=>{let t=this._isRtl();t!==e&&(e=t,this._isRange?this._onDirChangeRange():this._onDirChangeNonRange(),this._updateTickMarkUI());});}_knobRadius=8;_inputPadding;ngAfterViewInit(){this._platform.isBrowser&&this._updateDimensions();let e=this._getInput(g.END),t=this._getInput(g.START);this._isRange=!!e&&!!t,this._cdr.detectChanges();let i=this._getThumb(g.END);this._rippleRadius=i._ripple.radius,this._inputPadding=this._rippleRadius-this._knobRadius,this._isRange?this._initUIRange(e,t):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=true,e._updateThumbUIByValue();}_initUIRange(e,t){e.initProps(),e.initUI(),t.initProps(),t.initUI(),e._updateMinMax(),t._updateMinMax(),e._updateStaticStyles(),t._updateStaticStyles(),this._updateValueIndicatorUIs(),this._hasViewInitialized=true,e._updateThumbUIByValue(),t._updateThumbUIByValue();}ngOnDestroy(){this._resizeObserver?.disconnect(),this._resizeObserver=null;}_onDirChangeRange(){let e=this._getInput(g.END),t=this._getInput(g.START);e._setIsLeftThumb(),t._setIsLeftThumb(),e.translateX=e._calcTranslateXByValue(),t.translateX=t._calcTranslateXByValue(),e._updateStaticStyles(),t._updateStaticStyles(),e._updateWidthInactive(),t._updateWidthInactive(),e._updateThumbUIByValue(),t._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 t=this._getInput(e);return t?t.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 t=this._trackActive.nativeElement.style;t.left=e.left,t.right=e.right,t.transformOrigin=e.transformOrigin,t.transform=e.transform;}_calcTickMarkTransform(e){let t=e*(this._tickMarkTrackWidth/(this._tickMarks.length-1));return `translateX(${this._isRtl()?this._cachedWidth-6-t:t}px)`}_onTranslateXChange(e){this._hasViewInitialized&&(this._updateThumbUI(e),this._updateTrackUI(e),this._updateOverlappingThumbUI(e));}_onTranslateXChangeBySideEffect(e,t){this._hasViewInitialized&&(e._updateThumbUIByValue(),t._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),t=this._getInput(g.START);e._updateThumbUIByValue(),t._updateThumbUIByValue(),e._updateStaticStyles(),t._updateStaticStyles(),e._updateMinMax(),t._updateMinMax(),e._updateWidthInactive(),t._updateWidthInactive();}else {let e=this._getInput(g.END);e&&e._updateThumbUIByValue();}this._updateTickMarkUI(),this._updateTickMarkTrackUI(),this._cdr.detectChanges();}}_thumbsOverlap=false;_areThumbsOverlapping(){let e=this._getInput(g.START),t=this._getInput(g.END);return !e||!t?false:t.translateX-e.translateX<20}_updateOverlappingThumbClassNames(e){let t=e.getSibling(),i=this._getThumb(e.thumbPosition);this._getThumb(t.thumbPosition)._hostElement.classList.remove("mdc-slider__thumb--top"),i._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 t=this._getThumb(e.thumbPosition===g.END?g.END:g.START);t._hostElement.style.transform=`translateX(${e.translateX}px)`;}_updateValueIndicatorUI(e){if(this._skipUpdate())return;let t=this.displayWith(e.value);if(this._hasViewInitialized?e._valuetext.set(t):e._hostElement.setAttribute("aria-valuetext",t),this.discrete){e.thumbPosition===g.START?this.startValueIndicatorText=t:this.endValueIndicatorText=t;let i=this._getThumb(e.thumbPosition);t.length<3?i._hostElement.classList.add("mdc-slider__thumb--short-value"):i._hostElement.classList.remove("mdc-slider__thumb--short-value");}}_updateValueIndicatorUIs(){let e=this._getInput(g.END),t=this._getInput(g.START);e&&this._updateValueIndicatorUI(e),t&&this._updateValueIndicatorUI(t);}_updateTickMarkTrackUI(){if(!this.showTickMarks||this._skipUpdate())return;let e=this._step&&this._step>0?this._step:1,i=(Math.floor(this.max/e)*e-this.min)/(this.max-this.min);this._tickMarkTrackWidth=(this._cachedWidth-6)*i;}_updateTrackUI(e){this._skipUpdate()||(this._isRange?this._updateTrackUIRange(e):this._updateTrackUINonRange(e));}_updateTrackUIRange(e){let t=e.getSibling();if(!t||!this._cachedWidth)return;let i=Math.abs(t.translateX-e.translateX)/this._cachedWidth;e._isLeftThumb&&this._cachedWidth?this._setTrackActiveStyles({left:"auto",right:`${this._cachedWidth-t.translateX}px`,transformOrigin:"right",transform:`scaleX(${i})`}):this._setTrackActiveStyles({left:`${t.translateX}px`,right:"auto",transformOrigin:"left",transform:`scaleX(${i})`});}_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 t=this._getValue(),i=Math.max(Math.round((t-this.min)/e),0)+1,s=Math.max(Math.round((this.max-t)/e),0)-1;this._isRtl()?i++:s++,this._tickMarks=Array(i).fill(Oe.ACTIVE).concat(Array(s).fill(Oe.INACTIVE));}_updateTickMarkUIRange(e){let t=this._getValue(),i=this._getValue(g.START),s=Math.max(Math.round((i-this.min)/e),0),d=Math.max(Math.round((t-i)/e)+1,0),r=Math.max(Math.round((this.max-t)/e),0);this._tickMarks=Array(s).fill(Oe.INACTIVE).concat(Array(d).fill(Oe.ACTIVE),Array(r).fill(Oe.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,t){let i=t.width/2,s=t.x+i,d=t.y+i,r=e.clientX-s,R=e.clientY-d;return Math.pow(r,2)+Math.pow(R,2)<Math.pow(i,2)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["mat-slider"]],contentQueries:function(t,i,s){if(t&1&&Kh$1(s,ji,5)(s,Ln,4),t&2){let d;Zw(d=Yw())&&(i._input=d.first),Zw(d=Yw())&&(i._inputs=d);}},viewQuery:function(t,i){if(t&1&&Jh(Pn,5)(Gi,5),t&2){let s;Zw(s=Yw())&&(i._trackActive=s.first),Zw(s=Yw())&&(i._thumbs=s);}},hostAttrs:[1,"mat-mdc-slider","mdc-slider"],hostVars:12,hostBindings:function(t,i){t&2&&(pT("mat-"+(i.color||"primary")),sg("mdc-slider--range",i._isRange)("mdc-slider--disabled",i.disabled)("mdc-slider--discrete",i.discrete)("mdc-slider--tick-marks",i.showTickMarks)("_mat-animation-noopable",i._noopAnimations));},inputs:{disabled:[2,"disabled","disabled",Zj],discrete:[2,"discrete","discrete",Zj],showTickMarks:[2,"showTickMarks","showTickMarks",Zj],min:[2,"min","min",Yj],color:"color",disableRipple:[2,"disableRipple","disableRipple",Zj],max:[2,"max","max",Yj],step:[2,"step","step",Yj],displayWith:"displayWith"},exportAs:["matSlider"],features:[LT([{provide:Dt,useExisting:n}])],ngContentSelectors:Rn,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(t,i){t&1&&(Gw(),zw(0),Pi(1,"div",2),$h(2,"div",3),Pi(3,"div",4),$h(4,"div",5,0),ul(),_w(6,On,3,1,"div",6),ul(),_w(7,Fn,1,3,"mat-slider-visual-thumb",7),$h(8,"mat-slider-visual-thumb",7)),t&2&&(EE(6),Mw(i.showTickMarks?6:-1),EE(),Mw(i._isRange?7:-1),EE(),Bh("discrete",i.discrete)("thumbPosition",2)("valueIndicatorText",i.endValueIndicatorText));},dependencies:[Un],styles:[`.mdc-slider__track {
704
+ position: absolute;
705
+ top: 50%;
706
+ transform: translateY(-50%);
707
+ width: 100%;
708
+ pointer-events: none;
709
+ height: var(--mat-slider-inactive-track-height, 4px);
710
+ }
711
+
712
+ .mdc-slider__track--active,
713
+ .mdc-slider__track--inactive {
714
+ display: flex;
715
+ height: 100%;
716
+ position: absolute;
717
+ width: 100%;
718
+ }
719
+
720
+ .mdc-slider__track--active {
721
+ overflow: hidden;
722
+ border-radius: var(--mat-slider-active-track-shape, var(--mat-sys-corner-full));
723
+ height: var(--mat-slider-active-track-height, 4px);
724
+ top: calc((var(--mat-slider-inactive-track-height, 4px) - var(--mat-slider-active-track-height, 4px)) / 2);
725
+ }
726
+
727
+ .mdc-slider__track--active_fill {
728
+ border-top-style: solid;
729
+ box-sizing: border-box;
730
+ height: 100%;
731
+ width: 100%;
732
+ position: relative;
733
+ transform-origin: left;
734
+ transition: transform 80ms ease;
735
+ border-color: var(--mat-slider-active-track-color, var(--mat-sys-primary));
736
+ border-top-width: var(--mat-slider-active-track-height, 4px);
737
+ }
738
+ .mdc-slider--disabled .mdc-slider__track--active_fill {
739
+ border-color: var(--mat-slider-disabled-active-track-color, var(--mat-sys-on-surface));
740
+ }
741
+ [dir=rtl] .mdc-slider__track--active_fill {
742
+ -webkit-transform-origin: right;
743
+ transform-origin: right;
744
+ }
745
+
746
+ .mdc-slider__track--inactive {
747
+ left: 0;
748
+ top: 0;
749
+ opacity: 0.24;
750
+ background-color: var(--mat-slider-inactive-track-color, var(--mat-sys-surface-variant));
751
+ height: var(--mat-slider-inactive-track-height, 4px);
752
+ border-radius: var(--mat-slider-inactive-track-shape, var(--mat-sys-corner-full));
753
+ }
754
+ .mdc-slider--disabled .mdc-slider__track--inactive {
755
+ background-color: var(--mat-slider-disabled-inactive-track-color, var(--mat-sys-on-surface));
756
+ opacity: 0.24;
757
+ }
758
+ .mdc-slider__track--inactive::before {
759
+ position: absolute;
760
+ box-sizing: border-box;
761
+ width: 100%;
762
+ height: 100%;
763
+ top: 0;
764
+ left: 0;
765
+ border: 1px solid transparent;
766
+ border-radius: inherit;
767
+ content: "";
768
+ pointer-events: none;
769
+ }
770
+ @media (forced-colors: active) {
771
+ .mdc-slider__track--inactive::before {
772
+ border-color: CanvasText;
773
+ }
774
+ }
775
+
776
+ .mdc-slider__value-indicator-container {
777
+ bottom: 44px;
778
+ left: 50%;
779
+ pointer-events: none;
780
+ position: absolute;
781
+ transform: var(--mat-slider-value-indicator-container-transform, translateX(-50%) rotate(-45deg));
782
+ }
783
+ .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator-container {
784
+ pointer-events: auto;
785
+ }
786
+
787
+ .mdc-slider__value-indicator {
788
+ display: flex;
789
+ align-items: center;
790
+ transform: scale(0);
791
+ transform-origin: var(--mat-slider-value-indicator-transform-origin, 0 28px);
792
+ transition: transform 100ms cubic-bezier(0.4, 0, 1, 1);
793
+ word-break: normal;
794
+ background-color: var(--mat-slider-label-container-color, var(--mat-sys-primary));
795
+ color: var(--mat-slider-label-label-text-color, var(--mat-sys-on-primary));
796
+ width: var(--mat-slider-value-indicator-width, 28px);
797
+ height: var(--mat-slider-value-indicator-height, 28px);
798
+ padding: var(--mat-slider-value-indicator-padding, 0);
799
+ opacity: var(--mat-slider-value-indicator-opacity, 1);
800
+ border-radius: var(--mat-slider-value-indicator-border-radius, 50% 50% 50% 0);
801
+ }
802
+ .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator {
803
+ transition: transform 100ms cubic-bezier(0, 0, 0.2, 1);
804
+ transform: scale(1);
805
+ }
806
+ .mdc-slider__value-indicator::before {
807
+ border-left: 6px solid transparent;
808
+ border-right: 6px solid transparent;
809
+ border-top: 6px solid;
810
+ bottom: -5px;
811
+ content: "";
812
+ height: 0;
813
+ left: 50%;
814
+ position: absolute;
815
+ transform: translateX(-50%);
816
+ width: 0;
817
+ display: var(--mat-slider-value-indicator-caret-display, none);
818
+ border-top-color: var(--mat-slider-label-container-color, var(--mat-sys-primary));
819
+ }
820
+ .mdc-slider__value-indicator::after {
821
+ position: absolute;
822
+ box-sizing: border-box;
823
+ width: 100%;
824
+ height: 100%;
825
+ top: 0;
826
+ left: 0;
827
+ border: 1px solid transparent;
828
+ border-radius: inherit;
829
+ content: "";
830
+ pointer-events: none;
831
+ }
832
+ @media (forced-colors: active) {
833
+ .mdc-slider__value-indicator::after {
834
+ border-color: CanvasText;
835
+ }
836
+ }
837
+
838
+ .mdc-slider__value-indicator-text {
839
+ text-align: center;
840
+ width: var(--mat-slider-value-indicator-width, 28px);
841
+ transform: var(--mat-slider-value-indicator-text-transform, rotate(45deg));
842
+ font-family: var(--mat-slider-label-label-text-font, var(--mat-sys-label-medium-font));
843
+ font-size: var(--mat-slider-label-label-text-size, var(--mat-sys-label-medium-size));
844
+ font-weight: var(--mat-slider-label-label-text-weight, var(--mat-sys-label-medium-weight));
845
+ line-height: var(--mat-slider-label-label-text-line-height, var(--mat-sys-label-medium-line-height));
846
+ letter-spacing: var(--mat-slider-label-label-text-tracking, var(--mat-sys-label-medium-tracking));
847
+ }
848
+
849
+ .mdc-slider__thumb {
850
+ -webkit-user-select: none;
851
+ user-select: none;
852
+ display: flex;
853
+ left: -24px;
854
+ outline: none;
855
+ position: absolute;
856
+ height: 48px;
857
+ width: 48px;
858
+ pointer-events: none;
859
+ }
860
+ .mdc-slider--discrete .mdc-slider__thumb {
861
+ transition: transform 80ms ease;
862
+ }
863
+ .mdc-slider--disabled .mdc-slider__thumb {
864
+ pointer-events: none;
865
+ }
866
+
867
+ .mdc-slider__thumb--top {
868
+ z-index: 1;
869
+ }
870
+
871
+ .mdc-slider__thumb-knob {
872
+ position: absolute;
873
+ box-sizing: border-box;
874
+ left: 50%;
875
+ top: 50%;
876
+ transform: translate(-50%, -50%);
877
+ border-style: solid;
878
+ width: var(--mat-slider-handle-width, 20px);
879
+ height: var(--mat-slider-handle-height, 20px);
880
+ border-width: calc(var(--mat-slider-handle-height, 20px) / 2) calc(var(--mat-slider-handle-width, 20px) / 2);
881
+ box-shadow: var(--mat-slider-handle-elevation, var(--mat-sys-level1));
882
+ background-color: var(--mat-slider-handle-color, var(--mat-sys-primary));
883
+ border-color: var(--mat-slider-handle-color, var(--mat-sys-primary));
884
+ border-radius: var(--mat-slider-handle-shape, var(--mat-sys-corner-full));
885
+ }
886
+ .mdc-slider__thumb:hover .mdc-slider__thumb-knob {
887
+ background-color: var(--mat-slider-hover-handle-color, var(--mat-sys-primary));
888
+ border-color: var(--mat-slider-hover-handle-color, var(--mat-sys-primary));
889
+ }
890
+ .mdc-slider__thumb--focused .mdc-slider__thumb-knob {
891
+ background-color: var(--mat-slider-focus-handle-color, var(--mat-sys-primary));
892
+ border-color: var(--mat-slider-focus-handle-color, var(--mat-sys-primary));
893
+ }
894
+ .mdc-slider--disabled .mdc-slider__thumb-knob {
895
+ background-color: var(--mat-slider-disabled-handle-color, var(--mat-sys-on-surface));
896
+ border-color: var(--mat-slider-disabled-handle-color, var(--mat-sys-on-surface));
897
+ }
898
+ .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 {
899
+ border: solid 1px #fff;
900
+ box-sizing: content-box;
901
+ border-color: var(--mat-slider-with-overlap-handle-outline-color, var(--mat-sys-on-primary));
902
+ border-width: var(--mat-slider-with-overlap-handle-outline-width, 1px);
903
+ }
904
+
905
+ .mdc-slider__tick-marks {
906
+ align-items: center;
907
+ box-sizing: border-box;
908
+ display: flex;
909
+ height: 100%;
910
+ justify-content: space-between;
911
+ padding: 0 1px;
912
+ position: absolute;
913
+ width: 100%;
914
+ }
915
+
916
+ .mdc-slider__tick-mark--active,
917
+ .mdc-slider__tick-mark--inactive {
918
+ width: var(--mat-slider-with-tick-marks-container-size, 2px);
919
+ height: var(--mat-slider-with-tick-marks-container-size, 2px);
920
+ border-radius: var(--mat-slider-with-tick-marks-container-shape, var(--mat-sys-corner-full));
921
+ }
922
+
923
+ .mdc-slider__tick-mark--inactive {
924
+ opacity: var(--mat-slider-with-tick-marks-inactive-container-opacity, 0.38);
925
+ background-color: var(--mat-slider-with-tick-marks-inactive-container-color, var(--mat-sys-on-surface-variant));
926
+ }
927
+ .mdc-slider--disabled .mdc-slider__tick-mark--inactive {
928
+ opacity: var(--mat-slider-with-tick-marks-inactive-container-opacity, 0.38);
929
+ background-color: var(--mat-slider-with-tick-marks-disabled-container-color, var(--mat-sys-on-surface));
930
+ }
931
+
932
+ .mdc-slider__tick-mark--active {
933
+ opacity: var(--mat-slider-with-tick-marks-active-container-opacity, 0.38);
934
+ background-color: var(--mat-slider-with-tick-marks-active-container-color, var(--mat-sys-on-primary));
935
+ }
936
+
937
+ .mdc-slider__input {
938
+ cursor: pointer;
939
+ left: 2px;
940
+ margin: 0;
941
+ height: 44px;
942
+ opacity: 0;
943
+ position: absolute;
944
+ top: 2px;
945
+ width: 44px;
946
+ box-sizing: content-box;
947
+ }
948
+ .mdc-slider__input.mat-mdc-slider-input-no-pointer-events {
949
+ pointer-events: none;
950
+ }
951
+ .mdc-slider__input.mat-slider__right-input {
952
+ left: auto;
953
+ right: 0;
954
+ }
955
+
956
+ .mat-mdc-slider {
957
+ display: inline-block;
958
+ box-sizing: border-box;
959
+ outline: none;
960
+ vertical-align: middle;
961
+ cursor: pointer;
962
+ height: 48px;
963
+ margin: 0 8px;
964
+ position: relative;
965
+ touch-action: pan-y;
966
+ width: auto;
967
+ min-width: 112px;
968
+ -webkit-tap-highlight-color: transparent;
969
+ }
970
+ .mat-mdc-slider.mdc-slider--disabled {
971
+ cursor: auto;
972
+ opacity: 0.38;
973
+ }
974
+ .mat-mdc-slider.mdc-slider--disabled .mdc-slider__input {
975
+ cursor: auto;
976
+ }
977
+ .mat-mdc-slider .mdc-slider__thumb,
978
+ .mat-mdc-slider .mdc-slider__track--active_fill {
979
+ transition-duration: 0ms;
980
+ }
981
+ .mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__thumb,
982
+ .mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__track--active_fill {
983
+ transition-duration: 80ms;
984
+ }
985
+ .mat-mdc-slider.mdc-slider--discrete .mdc-slider__thumb,
986
+ .mat-mdc-slider.mdc-slider--discrete .mdc-slider__track--active_fill {
987
+ transition-duration: 0ms;
988
+ }
989
+ .mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__thumb,
990
+ .mat-mdc-slider.mat-mdc-slider-with-animation .mdc-slider__track--active_fill {
991
+ transition-duration: 80ms;
992
+ }
993
+ .mat-mdc-slider .mat-ripple .mat-ripple-element {
994
+ background-color: var(--mat-slider-ripple-color, var(--mat-sys-primary));
995
+ }
996
+ .mat-mdc-slider .mat-ripple .mat-mdc-slider-hover-ripple {
997
+ background-color: var(--mat-slider-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-primary) 5%, transparent));
998
+ }
999
+ .mat-mdc-slider .mat-ripple .mat-mdc-slider-focus-ripple,
1000
+ .mat-mdc-slider .mat-ripple .mat-mdc-slider-active-ripple {
1001
+ background-color: var(--mat-slider-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-primary) 20%, transparent));
1002
+ }
1003
+ .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,
1004
+ .mat-mdc-slider._mat-animation-noopable .mdc-slider__value-indicator {
1005
+ transition: none;
1006
+ }
1007
+ .mat-mdc-slider .mat-focus-indicator::before {
1008
+ border-radius: 50%;
1009
+ }
1010
+
1011
+ .mdc-slider__thumb--focused .mat-focus-indicator::before {
1012
+ content: "";
1013
+ }
1014
+ `],encapsulation:2})}return n})();var Bn={provide:L,useExisting:Po(()=>At),multi:true};var At=(()=>{class n{_ngZone=w(ue);_elementRef=w(Lr);_cdr=w(Gj);_slider=w(Dt);_platform=w(G);_listenerCleanups;get value(){return Yj(this._hostElement.value,0)}set value(e){e===null&&(e=this._getDefaultValue()),e=isNaN(e)?0:e;let t=e+"";if(!this._hasSetInitialValue){this._initialValue=t;return}this._isActive||this._setValue(t);}_setValue(e){this._hostElement.value=e,this._updateThumbUIByValue(),this._slider._onValueChange(this),this._cdr.detectChanges(),this._slider._cdr.markForCheck();}valueChange=new Qe;dragStart=new Qe;dragEnd=new Qe;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 Yj(this._hostElement.min,0)}set min(e){this._hostElement.min=e+"",this._cdr.detectChanges();}get max(){return Yj(this._hostElement.max,0)}set max(e){this._hostElement.max=e+"",this._cdr.detectChanges();}get step(){return Yj(this._hostElement.step,0)}set step(e){this._hostElement.step=e+"",this._cdr.detectChanges();}get disabled(){return Zj(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=vt$1("");_knobRadius=8;_tickMarkOffset=3;_isActive=false;_isFocused=false;_setIsFocused(e){this._isFocused=e;}_hasSetInitialValue=false;_initialValue;_formControl;_destroyed=new te;_skipUIUpdate=false;_onChangeFn;_onTouchedFn=()=>{};_isControlInitialized=false;constructor(){let e=w(tD);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=true),this.step=this._slider.step,this.min=this._slider.min,this.max=this._slider.max,this._initValue();}initUI(){this._updateThumbUIByValue();}_initValue(){this._hasSetInitialValue=true,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(false),this._onTouchedFn();}_onFocus(){this._slider._setTransition(false),this._slider._updateTrackUI(this),this._setIsFocused(true);}_onChange(){this.valueChange.emit(this.value),this._isActive&&this._updateThumbUIByValue({withAnimation:true});}_onInput(){this._onChangeFn?.(this.value),(this._slider.step||!this._isActive)&&this._updateThumbUIByValue({withAnimation:true}),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 t=this._slider._isCursorOnSliderThumb(e,this._slider._getThumb(this.thumbPosition)._hostElement.getBoundingClientRect());this._isActive=t,this._updateWidthActive(),this._slider._updateDimensions();return}this._isActive=true,this._setIsFocused(true),this._updateWidthActive(),this._slider._updateDimensions(),this._slider.step||this._updateThumbUIByPointerEvent(e,{withAnimation:true}),this.disabled||(this._handleValueCorrection(e),this.dragStart.emit({source:this,parent:this._slider,value:this.value}));}}_handleValueCorrection(e){this._skipUIUpdate=true,setTimeout(()=>{this._skipUIUpdate=false,this._fixValue(e);},0);}_fixValue(e){let t=e.clientX-this._slider._cachedLeft,i=this._slider._cachedWidth,s=this._slider.step===0?1:this._slider.step,d=Math.floor((this._slider.max-this._slider.min)/s),r=this._slider._isRtl()?1-t/i:t/i,$=Math.round(r*d)/d*(this._slider.max-this._slider.min)+this._slider.min,ae=Math.round($/s)*s,Ke=this.value;if(ae===Ke){this._slider._onValueChange(this),this._slider.step>0?this._updateThumbUIByValue():this._updateThumbUIByPointerEvent(e,{withAnimation:this._slider._hasAnimation});return}this.value=ae,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=false,this._platform.SAFARI&&this._setIsFocused(false),this.dragEnd.emit({source:this,parent:this._slider,value:this.value}),setTimeout(()=>this._updateWidthInactive(),this._platform.IOS?10:0));}_clamp(e){let t=this._tickMarkOffset,i=this._slider._cachedWidth-this._tickMarkOffset;return Math.max(Math.min(e,i),t)}_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,t){this.translateX=this._clamp(this._calcTranslateXByPointerEvent(e)),this._updateThumbUI(t);}_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=true;}registerOnTouched(e){this._onTouchedFn=e;}setDisabledState(e){this.disabled=e;}focus(){this._hostElement.focus();}blur(){this._hostElement.blur();}static \u0275fac=function(t){return new(t||n)};static \u0275dir=nw({type:n,selectors:[["input","matSliderThumb",""]],hostAttrs:["type","range",1,"mdc-slider__input"],hostVars:1,hostBindings:function(t,i){t&1&&Qh("change",function(){return i._onChange()})("input",function(){return i._onInput()})("blur",function(){return i._onBlur()})("focus",function(){return i._onFocus()}),t&2&&Hh("aria-valuetext",i._valuetext());},inputs:{value:[2,"value","value",Yj]},outputs:{valueChange:"valueChange",dragStart:"dragStart",dragEnd:"dragEnd"},exportAs:["matSliderThumb"],features:[LT([Bn,{provide:ji,useExisting:n}])]})}return n})();var Zi=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=bh({type:n});static \u0275inj=Qs({imports:[ca,Fn$1]})}return n})();var Hn=["displayForm"];function zn(n,u){if(n&1&&(Pi(0,"mat-panel-description",8),TT(1," Adjust night mode settings to enhance visibility in low-light environments. "),ul()),n&2){let e=qw();Bh("hidden",e.isPhonePortrait().matches);}}function Kn(n,u){n&1&&(Pi(0,"mat-panel-description"),TT(1," Choose your preferred high-contrast theme. "),ul());}function qn(n,u){n&1&&(Pi(0,"mat-panel-description"),TT(1," Configure persistent dual\u2011panel chart & dashboards layout. "),ul());}function Xn(n,u){n&1&&(Pi(0,"mat-panel-description"),TT(1," Configure remote dashboard operations between KIP instances. "),ul());}function jn(n,u){n&1&&(Pi(0,"mat-error"),TT(1,"This field is required."),ul());}function Gn(n,u){n&1&&(Pi(0,"mat-panel-description"),TT(1," Set historical charting and data logging for widgets. This enables retrospective views and access to historical data. "),ul());}function Qn(n,u){n&1&&(Pi(0,"div",28)(1,"p")(2,"strong"),TT(3,"KIP history capture requires Node.js version 22.5.0 or newer (with node:sqlite support)."),ul(),$h(4,"br"),TT(5," Before upgrading Node.js, always verify compatibility with your Signal K server version. "),ul(),Pi(6,"p"),TT(7," For details and the latest requirements, see the "),Pi(8,"a",33),TT(9,"Signal K installation documentation"),ul(),TT(10,". "),ul()());}function Zn(n,u){if(n&1){let e=Fw();_w(0,Qn,11,0,"div",28),Pi(1,"span"),TT(2,"Select history provider and data logging mode:"),ul(),Pi(3,"mat-radio-group",29),Eg("ngModelChange",function(i){ud(e);let s=qw();return ST(s.providerMode,i)||(s.providerMode=i),dd(i)}),Pi(4,"mat-radio-button",30),TT(5," KIP: Automatic history series and data logging "),ul(),Pi(6,"mat-radio-button",31),TT(7," Other: Use a different History API provider and configure data logging manually "),ul()(),cD(),Pi(8,"mat-slide-toggle",32),Eg("ngModelChange",function(i){ud(e);let s=qw();return ST(s.widgetHistoryDisabled,i)||(s.widgetHistoryDisabled=i),dd(i)}),TT(9," Disable widget historical charts (two-finger tap or right-click to view history feature). "),ul(),cD();}if(n&2){let e=qw();Mw(e.isKipHistoryProviderSelectable()?-1:0),EE(3),Ig("ngModel",e.providerMode),Bh("value",e.providerMode()),lD(),EE(),Bh("disabled",!e.isKipHistoryProviderSelectable()),EE(4),Ig("ngModel",e.widgetHistoryDisabled),lD();}}function Jn(n,u){n&1&&(Pi(0,"p"),TT(1,"Historical data features requires both Signal K server version 2.22.1 or later."),ul());}function Yn(n,u){n&1&&(Pi(0,"mat-panel-description"),TT(1," Specialized options for development, troubleshooting, and test scenarios. Most users should leave these settings off. "),ul());}var Ji=(()=>{class n{DERIVED_DATA_PLUGIN_ID="derived-data";KIP_DATA_PLUGIN_ID="kip";LIGHT_THEME_NAME="light-theme";displayForm=$j("displayForm");app=w(N);toast=w(lt);settings=w(Gi$1);responsive=w(ir);pluginConfig=w(w$2);server=w(T);isPhonePortrait;nightBrightness=vt$1(.27);isHistoryApiSupported=Dt$1(()=>{let e=this.server.serverVersion$.getValue();return e?U(e,"2.22.1",">="):false});autoNightMode=Bj(false);isRedNightMode=Bj(false);isLightTheme=Bj(false);isRemoteControl=Bj(false);instanceName=Bj("");splitShellEnabled=Bj(false);splitShellSide=Bj("left");splitShellSwipeDisabled=Bj(false);providerMode=Bj("other");widgetHistoryDisabled=Bj(false);isKipHistoryProviderSelectable=vt$1(false);isPathValidationDisabled=Bj(this.settings.getDisablePathValidation());_pluginCheckSeq=0;constructor(){this.isPhonePortrait=Wp(this.responsive.observe(Em.HandsetPortrait),{initialValue:{matches:false,breakpoints:{}}});}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,true);return}if(this.autoNightMode()){let t=++this._pluginCheckSeq;this.validateAndSaveSettings(t);return}this.applyAndSaveSettings();}applyAndSaveSettings(){return Zr(this,null,function*(){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.settings.setDisablePathValidation(this.isPathValidationDisabled());let e=yield this.setKipPluginConfig();if(this.displayForm()?.form.markAsPristine(),!e){this.toast.show("Failed to save KIP plugin configuration on server.",0,false,"error");return}this.toast.show("Configuration saved",1e3,true,"message");})}validateAndSaveSettings(e){return Zr(this,null,function*(){let t=yield this.validateAndHandleAutoNightRequirement(e);e===this._pluginCheckSeq&&(t?yield this.applyAndSaveSettings():this.autoNightMode.set(false));})}getKipPluginConfig(){return Zr(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,false,"error");return}let t=e.data.state.configuration,i=t.historySeriesServiceEnabled===true;this.isKipHistoryProviderSelectable.set(t.nodeSqliteAvailable??false),this.providerMode.set(i&&this.isKipHistoryProviderSelectable()?"kip":"other");})}setKipPluginConfig(){return Zr(this,null,function*(){let e=this.isKipHistoryProviderSelectable(),t=this.providerMode()==="kip"&&e,i={configuration:{historySeriesServiceEnabled:t,registerAsHistoryApiProvider:t}};return (yield this.pluginConfig.savePluginConfig(this.KIP_DATA_PLUGIN_ID,i)).ok})}isAutoNightModeSupported(e){this.displayForm()?.form.markAsDirty(),this.autoNightMode.set(e.checked);}validateAndHandleAutoNightRequirement(e){return Zr(this,null,function*(){let t=yield this.pluginConfig.getPlugin(this.DERIVED_DATA_PLUGIN_ID);if(e!==this._pluginCheckSeq)return false;if(!t.ok){let ae=t;return ae.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,false,"error"),false):(this.toast.show(`Failed to validate Automatic Night Mode requirements: ${ae.error.message}`,0,false,"error"),false)}let i=t.data,s=this.resolveEnvironmentSunFlagPath(i.state.configuration),d=this.readBooleanByPath(i.state.configuration,s)===true;if(i.state.enabled&&d)return true;let r=!i.state.enabled,R=!d,$;return r&&R?$="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?":r?$="To enable Automatic Night Mode, the Derived Data plugin must be enabled. Do you wish to enable the plugin?":$="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(ae=>{let Ke=this.toast.show($,0,false,"warn","Ok");Ke.onAction().subscribe(()=>{this.enableAndConfigureAutoNight(i,s,e,ae);}),Ke.afterDismissed().subscribe(en=>{en.dismissedByAction||ae(false);});})})}enableAndConfigureAutoNight(e,t,i,s){return Zr(this,null,function*(){let d=this.cloneConfig(e.state.configuration);this.writeBooleanByPath(d,t,true);let r=yield this.pluginConfig.savePluginConfig(e.id,{configuration:d,enabled:true});if(i!==this._pluginCheckSeq){s(false);return}if(!r.ok){let R=r;this.toast.show(`Failed to enable and configure Derived Data plugin: ${R.error.message}`,0,false,"error"),s(false);return}this.toast.show("Automatic Night Mode dependency enabled and configured.",3e3,true,"success"),s(true);})}resolveEnvironmentSunFlagPath(e){return this.findBooleanSunPath(e)??["sun"]}findBooleanSunPath(e,t=[]){let i=Object.entries(e).find(([s,d])=>s.toLowerCase()==="sun"&&typeof d=="boolean");if(i)return [...t,i[0]];for(let[s,d]of Object.entries(e)){if(typeof d=="boolean"&&s.toLowerCase().includes("sun"))return [...t,s];if(d&&typeof d=="object"&&!Array.isArray(d)){let r=this.findBooleanSunPath(d,[...t,s]);if(r)return r}}return null}readBooleanByPath(e,t){let i=e;for(let s of t){if(!i||typeof i!="object"||Array.isArray(i))return null;i=i[s];}return typeof i=="boolean"?i:null}writeBooleanByPath(e,t,i){if(t.length===0)return;let s=e;for(let d=0;d<t.length-1;d++){let r=t[d],R=s[r];(!R||typeof R!="object"||Array.isArray(R))&&(s[r]={}),s=s[r];}s[t[t.length-1]]=i;}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(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["settings-display"]],viewQuery:function(t,i){t&1&&eg(i.displayForm,Hn,5),t&2&&Kw();},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"],isPathValidationDisabled:[1,"isPathValidationDisabled"]},outputs:{autoNightMode:"autoNightModeChange",isRedNightMode:"isRedNightModeChange",isLightTheme:"isLightThemeChange",isRemoteControl:"isRemoteControlChange",instanceName:"instanceNameChange",splitShellEnabled:"splitShellEnabledChange",splitShellSide:"splitShellSideChange",splitShellSwipeDisabled:"splitShellSwipeDisabledChange",providerMode:"providerModeChange",widgetHistoryDisabled:"widgetHistoryDisabledChange",isPathValidationDisabled:"isPathValidationDisabledChange"},decls:85,vars:27,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"],["name","isPathValidationDisabled","aria-describedby","path-validation-helper",1,"full-width",3,"ngModelChange","ngModel"],["id","path-validation-helper","role","note",1,"dev-option-helper","mat-body-small"],[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(t,i){if(t&1){let s=Fw();Pi(0,"form",7,0),Qh("ngSubmit",function(){return i.saveAllSettings()}),Pi(2,"p"),TT(3,"Customize your display settings to enable various integrations, improve visibility and adapt to various lighting conditions."),ul(),Pi(4,"mat-accordion")(5,"mat-expansion-panel")(6,"mat-expansion-panel-header")(7,"mat-panel-title"),TT(8," Night Mode "),ul(),_w(9,zn,2,1,"mat-panel-description",8),ul(),Pi(10,"mat-slide-toggle",9),Qh("change",function(r){return i.isAutoNightModeSupported(r)}),Eg("ngModelChange",function(r){return ud(s),ST(i.autoNightMode,r)||(i.autoNightMode=r),dd(r)}),TT(11," Automatically activate day and night modes based on sun phases. "),ul(),cD(),Pi(12,"mat-slide-toggle",10,1),Eg("ngModelChange",function(r){return ud(s),ST(i.isRedNightMode,r)||(i.isRedNightMode=r),dd(r)}),TT(14," Enable red-only night mode. "),ul(),cD(),Pi(15,"div",11),$h(16,"br"),Pi(17,"span"),TT(18,"Adjust Night Mode Brightness"),ul(),$h(19,"br"),Pi(20,"mat-slider",12)(21,"input",13,2),Qh("input",function(){ud(s);let r=Jw(22);return dd(i.setBrightness(+r.value))}),ul()()()(),Pi(23,"mat-expansion-panel")(24,"mat-expansion-panel-header")(25,"mat-panel-title"),TT(26," Theme "),ul(),_w(27,Kn,2,0,"mat-panel-description"),ul(),Pi(28,"mat-slide-toggle",14),Eg("ngModelChange",function(r){return ud(s),ST(i.isLightTheme,r)||(i.isLightTheme=r),dd(r)}),TT(29," Enable light theme for brighter display settings. "),ul(),cD(),ul(),Pi(30,"mat-expansion-panel")(31,"mat-expansion-panel-header")(32,"mat-panel-title"),TT(33," Chartplotter Mode "),ul(),_w(34,qn,2,0,"mat-panel-description"),ul(),Pi(35,"mat-slide-toggle",15,3),Eg("ngModelChange",function(r){return ud(s),ST(i.splitShellEnabled,r)||(i.splitShellEnabled=r),dd(r)}),TT(37," Enable Freeboard\u2011SK dual\u2011panel Chartplotter mode. "),ul(),cD(),Pi(38,"mat-form-field",16)(39,"mat-label"),TT(40,"Freeboard-SK panel side"),ul(),Pi(41,"mat-select",17),Eg("ngModelChange",function(r){return ud(s),ST(i.splitShellSide,r)||(i.splitShellSide=r),dd(r)}),Pi(42,"mat-option",18),TT(43,"Left side"),ul(),Pi(44,"mat-option",19),TT(45,"Right side"),ul()(),cD(),ul(),Pi(46,"mat-slide-toggle",20,4),Eg("ngModelChange",function(r){return ud(s),ST(i.splitShellSwipeDisabled,r)||(i.splitShellSwipeDisabled=r),dd(r)}),TT(48," Disable swipe gestures over chart panel. "),ul(),cD(),ul(),Pi(49,"mat-expansion-panel")(50,"mat-expansion-panel-header")(51,"mat-panel-title"),TT(52," Remote Control "),ul(),_w(53,Xn,2,0,"mat-panel-description"),ul(),Pi(54,"mat-slide-toggle",21,5),Eg("ngModelChange",function(r){return ud(s),ST(i.isRemoteControl,r)||(i.isRemoteControl=r),dd(r)}),TT(56," Allow remote KIP instances to view and control this dashboard. "),ul(),cD(),Pi(57,"mat-form-field",16)(58,"mat-label"),TT(59,"Name of this instance"),ul(),Pi(60,"input",22,6),Qh("ngModelChange",function(){ud(s);let r=Jw(1);return dd(r.form.markAsDirty())}),Eg("ngModelChange",function(r){return ud(s),ST(i.instanceName,r)||(i.instanceName=r),dd(r)}),ul(),cD(),_w(62,jn,2,0,"mat-error"),ul()(),Pi(63,"mat-expansion-panel")(64,"mat-expansion-panel-header")(65,"mat-panel-title"),TT(66," Widget Historical Data "),ul(),_w(67,Gn,2,0,"mat-panel-description"),ul(),_w(68,Zn,10,5)(69,Jn,2,0,"p"),ul()(),$h(70,"br"),Pi(71,"mat-accordion")(72,"mat-expansion-panel")(73,"mat-expansion-panel-header")(74,"mat-panel-title"),TT(75," Advanced and Testing "),ul(),_w(76,Yn,2,0,"mat-panel-description"),ul(),Pi(77,"mat-slide-toggle",23),Eg("ngModelChange",function(r){return ud(s),ST(i.isPathValidationDisabled,r)||(i.isPathValidationDisabled=r),dd(r)}),TT(78," Allow saving widgets with invalid paths (testing only) "),ul(),cD(),Pi(79,"p",24),TT(80," Use only for development and troubleshooting. This temporary setting is reset when the app restarts. "),ul()()(),Pi(81,"div",25),$h(82,"mat-divider",26),Pi(83,"button",27),TT(84,"Save"),ul()()();}if(t&2){let s=Jw(1),d=Jw(13),r=Jw(36),R=Jw(55),$=Jw(61);EE(9),Mw(i.isPhonePortrait().matches?-1:9),EE(),Ig("ngModel",i.autoNightMode),lD(),EE(2),Ig("ngModel",i.isRedNightMode),lD(),EE(5),pT(d.checked?"mat-body-medium disable-color":"mat-body-medium"),EE(3),Bh("disabled",d.checked),EE(),Bh("value",i.nightBrightness())("disabled",d.checked),EE(6),Mw(i.isPhonePortrait().matches?-1:27),EE(),Ig("ngModel",i.isLightTheme),lD(),EE(6),Mw(i.isPhonePortrait().matches?-1:34),EE(),Ig("ngModel",i.splitShellEnabled),lD(),EE(6),Ig("ngModel",i.splitShellSide),Bh("disabled",!r.checked),lD(),EE(5),Ig("ngModel",i.splitShellSwipeDisabled),Bh("disabled",!r.checked),lD(),EE(7),Mw(i.isPhonePortrait().matches?-1:53),EE(),Ig("ngModel",i.isRemoteControl),lD(),EE(6),Ig("ngModel",i.instanceName),Bh("disabled",!R.checked)("required",R.checked),lD(),EE(2),Mw(R.checked&&$.invalid&&($.touched||s.submitted)?62:-1),EE(5),Mw(i.isPhonePortrait().matches?-1:67),EE(),Mw(i.isHistoryApiSupported()?68:69),EE(8),Mw(i.isPhonePortrait().matches?-1:76),EE(),Ig("ngModel",i.isPathValidationDisabled),lD(),EE(6),Bh("disabled",!s.form.dirty||s.form.invalid);}},dependencies:[Ln$1,Gn$1,Xe,Pn$1,kn$1,ft$1,rn,Qt,f,u,Op,xp,Zi,Qi,At,bt,ft,He,ze,_t,ut,ln,an$1,rt,ae,It$1,yt,Ce,Lt,Ft,F$1,va,an$2,ft$2],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)}.dev-option-helper[_ngcontent-%COMP%]{margin:4px 0 0 55px;font:var(--mat-sys-body-small);letter-spacing:var(--mat-sys-body-small-tracking);color:var(--mat-sys-on-surface-variant)}"]})}return n})();var $n=()=>({standalone:false}),Yi=(n,u)=>u.key;function ea(n,u){n&1&&(Pi(0,"div"),TT(1,' Writing to the server requires "Login to Server" authentication or a Device token '),ul());}function ta(n,u){if(n&1){let e=Fw();Pi(0,"div")(1,"mat-form-field",30)(2,"mat-label"),TT(3,"Scope"),ul(),Pi(4,"mat-select",31),Eg("ngModelChange",function(i){ud(e);let s=qw();return ST(s.saveConfigScope,i)||(s.saveConfigScope=i),dd(i)}),Pi(5,"mat-option",32),TT(6," Global "),ul(),Pi(7,"mat-option",33),TT(8," User "),ul()(),cD(),ul(),Pi(9,"mat-form-field",34)(10,"mat-label"),TT(11,"Configuration Name"),ul(),Pi(12,"input",35),Eg("ngModelChange",function(i){ud(e);let s=qw();return ST(s.saveConfigName,i)||(s.saveConfigName=i),dd(i)}),ul(),cD(),ul(),_w(13,ea,2,0,"div"),ul();}if(n&2){let e=qw();EE(4),Ig("ngModel",e.saveConfigScope),lD(),EE(8),Ig("ngModel",e.saveConfigName),Bh("ngModelOptions",FT(4,$n)),lD(),EE(),Mw(e.hasToken?-1:13);}}function ia(n,u){n&1&&(Pi(0,"div",9)(1,"p"),TT(2,"Server authentication or Device Token required"),ul()());}function na(n,u){if(n&1&&(Pi(0,"mat-option",38),TT(1),ul()),n&2){let e=u.$implicit;Bh("value",e.key),EE(),mg(" ",e.scope," / ",e.name," ");}}function aa(n,u){if(n&1){let e=Fw();Pi(0,"div")(1,"mat-form-field",36)(2,"mat-label"),TT(3,"Configuration"),ul(),Pi(4,"mat-select",37),Eg("ngModelChange",function(i){ud(e);let s=qw();return ST(s.deleteConfigKey,i)||(s.deleteConfigKey=i),dd(i)}),xw(5,na,2,3,"mat-option",38,Yi),ul(),cD(),ul()();}if(n&2){let e=qw();EE(4),Ig("ngModel",e.deleteConfigKey),lD(),EE(),Aw(e.serverConfigOptions());}}function oa(n,u){n&1&&(Pi(0,"div",9)(1,"p"),TT(2,"Authentication or Device Token required"),ul()());}function sa(n,u){if(n&1&&(Pi(0,"mat-option",38),TT(1),ul()),n&2){let e=u.$implicit;Bh("value",e.key),EE(),mg(" ",e.scope," / ",e.name," ");}}function ra(n,u){if(n&1&&(Pi(0,"div")(1,"mat-form-field",36)(2,"mat-label"),TT(3,"Configuration"),ul(),Pi(4,"mat-select",39),xw(5,sa,2,3,"mat-option",38,Yi),ul(),cD(),ul()()),n&2){let e=qw();EE(4),lD(),EE(),Aw(e.serverConfigOptions());}}function la(n,u){n&1&&(Pi(0,"div",9)(1,"p"),TT(2,"Authentication or Device Token required"),ul()());}var $i=(()=>{class n{settings=w(Gi$1);storageSvc=w(Ge);toast=w(lt);auth=w(He$1);fb=w(Hn$1);authToken=Wp(this.auth.authToken$,{initialValue:null});serverConfigListSignal=vt$1([]);hasTokenSignal=Dt$1(()=>!!this.authToken()?.token);isTokenTypeDeviceSignal=Dt$1(()=>!!this.authToken()?.isDeviceAccessToken);pageTitle="Configurations";get hasToken(){return this.hasTokenSignal()}get isTokenTypeDevice(){return this.isTokenTypeDeviceSignal()}supportApplicationData=this.storageSvc.isAppDataSupported;serverConfigOptions=Dt$1(()=>this.serverConfigListSignal().map(e=>({scope:e.scope,name:e.name,key:`${e.scope}::${e.name}`})));serverUpgradableConfigList=[];copyConfigForm=this.fb.group({sourceTarget:[{value:"",disabled:false},ve.required]});storageLocation=null;locations=["Local Storage","Server Storage"];saveConfigName=null;saveConfigScope=null;deleteConfigKey=null;jsonData=null;authStateEffect=Fa(()=>{if(this.supportApplicationData){if(this.hasTokenSignal()){this.saveConfigScope=this.isTokenTypeDeviceSignal()?"global":"user",this.getServerConfigList();return}this.deleteConfigKey=null;}});getServerConfigList(e){this.supportApplicationData&&this.storageSvc.listConfigs(e).then(t=>{let i=t.filter(s=>!(s.scope==="user"&&s.name==="default"));e?this.serverUpgradableConfigList=i:this.serverConfigListSignal.set(i);}).catch(t=>{t.status===401?this.toast.show("Storage Service: "+t.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,false,"error"):this.toast.show("Cannot list configurations: "+t,0,false,"error");});}saveConfig(e,t,i,s,d){return Zr(this,null,function*(){if(!this.supportApplicationData)return false;if(t==="user"&&i==="default"&&!d)return this.toast.show("Saving configuration with scope 'user' and name 'default' is not allowed.",0,false,"error"),false;try{yield this.storageSvc.setConfig(t,i,e);}catch(r){return this.toast.show("Configuration not saved to server",0,false,"error"),false}return this.toast.show(`Configuration [${i}] saved to [${t}] storage scope`,1e3,true,"success"),s||this.getServerConfigList(),true})}saveToLocalstorage(e){e.app&&this.settings.replaceConfig("appConfig",e.app,false),this.settings.replaceConfig("dashboardsConfig",e.dashboards,false),e.theme&&this.settings.replaceConfig("themeConfig",e.theme,false);}copyConfig(){return Zr(this,null,function*(){let e=this.parseConfigKey(this.copyConfigForm.value.sourceTarget);if(!e){this.toast.show("Please select a valid configuration to restore.",0,false,"error");return}let t=null;try{yield this.storageSvc.getConfig(e.scope,e.name).then(s=>{t=s;});}catch(s){let d=typeof s=="object"&&s&&"statusText"in s?String(s.statusText??"Unknown error"):"Unknown error";this.toast.show("Cannot retrieve server configuration: "+d,0,false,"error");return}if(!t){this.toast.show("Cannot retrieve server configuration.",0,false,"error");return}(yield this.saveConfig(t,"user","default",false,true))&&this.settings.reloadApp();})}deleteConfigByKey(e){let t=this.parseConfigKey(e);if(!t){this.toast.show("Please select a valid configuration to delete.",0,false,"error");return}this.deleteConfig(t.scope,t.name);}deleteConfig(e,t,i,s){return Zr(this,null,function*(){try{yield this.storageSvc.removeItem(e,t,i);}catch(d){this.toast.show(`Configuration [${t}] could not be deleted from [${e}] storage scope`,0,false,"error");return}this.toast.show(`Configuration [${t}] deleted from [${e}] storage scope`,1e3,false,"success"),s||this.getServerConfigList();})}parseConfigKey(e){if(!e)return null;let[t,...i]=e.split("::"),s=i.join("::");return !t||!s?null:{scope:t,name:s}}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(),t=JSON.stringify(e,null,2),i=new Blob([t],{type:"application/json"}),s=window.URL.createObjectURL(i),d=document.createElement("a");d.href=s,d.download="KipConfig.json",document.body.appendChild(d),d.click(),document.body.removeChild(d),window.URL.revokeObjectURL(s);}uploadJsonConfig(e){let i=e.target.files?.[0];if(i&&i.type==="application/json"){let s=new FileReader;s.onload=d=>Zr(this,null,function*(){try{this.jsonData=JSON.parse(d.target?.result);}catch(r){this.toast.show("File does not contain valid JSON.",0,false,"error"),console.error("Invalid JSON file format:",r);return}if(this.hasToken){if(!this.jsonData){this.toast.show("Configuration not saved",0,false,"error");return}if(!(yield this.saveConfig(this.jsonData,"user","default",false,true)))return}else {if(!this.jsonData){this.toast.show("Configuration not saved",0,false,"error");return}try{this.saveToLocalstorage(this.jsonData);}catch(r){this.toast.show("Configuration not saved",0,false,"error"),console.error("Failed to save configuration to local storage:",r);return}}this.settings.reloadApp();}),s.readAsText(i);}else this.toast.show("Please select a valid JSON file",0,false,"error");}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=JD({type:n,selectors:[["settings-config"]],decls:88,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(t,i){if(t&1){let s=Fw();Pi(0,"div",3)(1,"p"),TT(2," Recommended Reading: To understand configuration management and storage options, consult the "),Pi(3,"a",4),TT(4,"Login and Configuration"),ul(),TT(5," help section. "),ul(),Pi(6,"div",5)(7,"div",6)(8,"form",7,0),Qh("ngSubmit",function(){return i.saveConfig(i.getActiveConfig(),i.saveConfigScope??"",i.saveConfigName??"No Name")}),Pi(10,"h3"),TT(11,"Backup"),ul(),Pi(12,"p",8),TT(13," Create a backup of the current active configuration on the server. "),ul(),_w(14,ta,14,5,"div")(15,ia,3,0,"div",9),Pi(16,"div",10),$h(17,"mat-divider",11),Pi(18,"button",12),TT(19," Create "),ul()()()(),Pi(20,"div",6)(21,"form",13,1),Qh("ngSubmit",function(){return i.deleteConfigByKey(i.deleteConfigKey??"")}),Pi(23,"h3"),TT(24,"Delete"),ul(),Pi(25,"p",8),TT(26," Select a backup configuration to permanently delete from the server. "),ul(),_w(27,aa,7,1,"div")(28,oa,3,0,"div",9),Pi(29,"div",10),$h(30,"mat-divider",11),Pi(31,"button",12),TT(32," Delete "),ul()()()(),Pi(33,"div",6)(34,"form",14),Qh("ngSubmit",function(){return i.copyConfig()}),Pi(35,"h3"),TT(36,"Restore"),ul(),Pi(37,"p",8),TT(38," Replace the current configuration with a backup from the server. "),ul(),_w(39,ra,7,0,"div")(40,la,3,0,"div",9),Pi(41,"div",10),$h(42,"mat-divider",11),Pi(43,"button",12),TT(44," Restore "),ul()()()(),Pi(45,"div",15)(46,"h3"),TT(47,"Advanced"),ul(),Pi(48,"div",16)(49,"div",17),TT(50," To reuse your configuration on different devices, simply login using the same credential from any device (See "),Pi(51,"a",4),TT(52,"Login and Configuration"),ul(),TT(53," 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. "),ul(),Pi(54,"div",18)(55,"button",19),Qh("click",function(){return i.downloadJsonConfig()}),TT(56," Download "),ul()(),Pi(57,"div",20),TT(58," Select a configuration file to upload. The file must be a valid KIP configuration file of JSON format. "),$h(59,"br"),Pi(60,"strong"),TT(61,"WARNING: This will permanently overwrite active configuration."),ul()(),Pi(62,"div",21)(63,"input",22,2),Qh("change",function(r){return i.uploadJsonConfig(r)}),ul(),Pi(65,"button",23),Qh("click",function(){ud(s);let r=Jw(64);return dd(r.click())}),TT(66," Upload "),ul()(),Pi(67,"div",24),TT(68," Load the demonstration configuration and connection to Signal K demo server. "),$h(69,"br"),Pi(70,"strong"),TT(71,"WARNING: This will permanently reset your active configuration."),ul()(),Pi(72,"div",25)(73,"button",19),Qh("click",function(){return i.loadDemoConfig()}),TT(74," Demo "),ul()(),Pi(75,"div",26),TT(76," Reset all your settings to default. The default configuration has a single Getting Started instruction widget. Your Signal K server connection settings will remain. "),$h(77,"br"),Pi(78,"strong"),TT(79,"WARNING: This will permanently reset your active configuration."),ul()(),Pi(80,"div",27)(81,"button",19),Qh("click",function(){return i.resetConfigToDefault()}),TT(82," Default "),ul()(),Pi(83,"div",28),TT(84," Clear the current connection configuration. This only affects Connectivity settings tab. "),ul(),Pi(85,"div",29)(86,"button",19),Qh("click",function(){return i.resetConnectionToDefault()}),TT(87," Connection "),ul()()()()()();}if(t&2){let s=Jw(9),d=Jw(22);EE(14),Mw(i.hasToken?14:15),EE(4),Bh("disabled",!i.hasToken||!s.valid),EE(9),Mw(i.hasToken?27:28),EE(4),Bh("disabled",!i.hasToken||!d.valid),EE(3),Bh("formGroup",i.copyConfigForm),EE(5),Mw(i.hasToken?39:40),EE(4),Bh("disabled",!i.copyConfigForm.valid);}},dependencies:[si,Ln$1,Gn$1,Xe,Pn$1,kn$1,ft$1,rn,Qt,u,xp,rt,ae,Ft,F$1,an$1,Wn,gn$1,hn$1,ln],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}h3[_ngcontent-%COMP%]{margin-top:5px}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 Cr=(()=>{class n{pageTitle="Settings";constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=JD({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(t,i){t&1&&($h(0,"page-header",0),Pi(1,"mat-tab-group",1)(2,"mat-tab",2),$h(3,"settings-signalk",3),ul(),Pi(4,"mat-tab",4),$h(5,"settings-display",3),ul(),Pi(6,"mat-tab",5),$h(7,"settings-notifications",3),ul(),Pi(8,"mat-tab",6),$h(9,"settings-units",3),ul(),Pi(10,"mat-tab",7),$h(11,"settings-config",3),ul()()),t&2&&Bh("pageTitle",i.pageTitle);},dependencies:[Sn$1,Nt,Xi,Ki,Oi,Ji,$i,O],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})();
1015
+ export{Cr as TabsComponent};