@mxtommy/kip 3.1.6 → 3.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ # V 3.1.7
2
+ ## Fixes
3
+ * Linear gauge not respecting scales with no ticks. Fixes #621
4
+ * Text overlap on low resolution screens. Fixes #624
5
+ * Minor performance improvement to Data Chart widget
1
6
  # V 3.1.6
2
7
  ## Fixes
3
8
  * Fix embed overflow scrollbar
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxtommy/kip",
3
- "version": "3.1.6",
3
+ "version": "3.1.7",
4
4
  "description": "An advanced and versatile marine instrumentation package to display Signal K data.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -1 +1 @@
1
- import{g as c,k as s,r as p}from"./chunk-D3QHJ7S5.js";import{Va as i,cd as a,m as n,o as m,oa as g,ua as l}from"./chunk-Y7X77HSW.js";var u="3.1.6";var D=(()=>{class o{MODE_PATH="self.environment.mode";configurableThemeColors=[{label:"Contrast",value:"contrast"},{label:"Blue",value:"blue"},{label:"Green",value:"green"},{label:"Orange",value:"orange"},{label:"Yellow",value:"yellow"},{label:"Pink",value:"pink"},{label:"Purple",value:"purple"},{label:"Grey",value:"grey"}];snackbarAppNotifications=new n;cssThemeColorRoles$=new m(null);_cssThemeColorRoles=null;_settings=l(c);_data=l(p);isNightMode=i(!1);_useAutoNightMode=s(this._settings.getAutoNightModeAsO(),{requireSync:!0});_theme=s(this._settings.getThemeNameAsO(),{requireSync:!0});_redNightMode=s(this._settings.getRedNightModeAsO(),{requireSync:!0});_environmentMode=s(this._data.subscribePath(this.MODE_PATH,"default"));appVersion=i(u);browserVersion=i("Unknown");osVersion=i("Unknown");constructor(){a(()=>{this._theme()==="light-theme"?document.body.classList.toggle("light-theme",this._theme()==="light-theme"):document.body.classList.remove("light-theme")}),a(()=>{let t=this._environmentMode().data.value;this._useAutoNightMode()&&(this.isNightMode.set(t==="night"),this.toggleDayNightMode())}),a(()=>{this._redNightMode()?this.toggleDayNightMode():this.toggleDayNightMode()}),this.readThemeCssRoleVariables(),this._cssThemeColorRoles=this.cssThemeColorRoles$.getValue(),this.browserVersion.set(this.getBrowserVersion()),this.osVersion.set(this.getOSVersion()),console.log("*********** KIP Version Information ***********"),console.log(`** App Version: ${this.appVersion()}`),console.log(`** Browser Version: ${this.browserVersion()}`),console.log(`** OS Version: ${this.osVersion()}`),console.log("***********************************************")}sendSnackbarNotification(t,e=1e4,r=!1){this.snackbarAppNotifications.next({message:t,duration:e,silent:r})}getSnackbarAppNotifications(){return this.snackbarAppNotifications.asObservable()}readThemeCssRoleVariables(){let t=document.body,e=getComputedStyle(t),r={background:e.getPropertyValue("--mat-sys-background").trim(),cardColor:e.getPropertyValue("--kip-widget-card-background-color").trim(),blue:e.getPropertyValue("--kip-blue-color").trim(),blueDim:e.getPropertyValue("--kip-blue-dim-color").trim(),blueDimmer:e.getPropertyValue("--kip-blue-dimmer-color").trim(),green:e.getPropertyValue("--kip-green-color").trim(),greenDim:e.getPropertyValue("--kip-green-dim-color").trim(),greenDimmer:e.getPropertyValue("--kip-green-dimmer-color").trim(),grey:e.getPropertyValue("--kip-grey-color").trim(),greyDim:e.getPropertyValue("--kip-grey-dim-color").trim(),greyDimmer:e.getPropertyValue("--kip-grey-dimmer-color").trim(),orange:e.getPropertyValue("--kip-orange-color").trim(),orangeDim:e.getPropertyValue("--kip-orange-dim-color").trim(),orangeDimmer:e.getPropertyValue("--kip-orange-dimmer-color").trim(),pink:e.getPropertyValue("--kip-pink-color").trim(),pinkDim:e.getPropertyValue("--kip-pink-dim-color").trim(),pinkDimmer:e.getPropertyValue("--kip-pink-dimmer-color").trim(),purple:e.getPropertyValue("--kip-purple-color").trim(),purpleDim:e.getPropertyValue("--kip-purple-dim-color").trim(),purpleDimmer:e.getPropertyValue("--kip-purple-dimmer-color").trim(),contrast:e.getPropertyValue("--kip-contrast-color").trim(),contrastDim:e.getPropertyValue("--kip-contrast-dim-color").trim(),contrastDimmer:e.getPropertyValue("--kip-contrast-dimmer-color").trim(),yellow:e.getPropertyValue("--kip-yellow-color").trim(),yellowDim:e.getPropertyValue("--kip-yellow-dim-color").trim(),yellowDimmer:e.getPropertyValue("--kip-yellow-dimmer-color").trim(),port:e.getPropertyValue("--kip-port-color").trim(),starboard:e.getPropertyValue("--kip-starboard-color").trim(),zoneNominal:e.getPropertyValue("--kip-zone-nominal-color").trim(),zoneAlert:e.getPropertyValue("--kip-zone-alert-color").trim(),zoneWarn:e.getPropertyValue("--kip-zone-warn-color").trim(),zoneAlarm:e.getPropertyValue("--kip-zone-alarm-color").trim(),zoneEmergency:e.getPropertyValue("--kip-zone-emergency-color").trim()};this.cssThemeColorRoles$.next(r)}get cssThemeColors(){return this._cssThemeColorRoles}setBrightness(t,e=!1){let r=document.body;r.style.setProperty("--kip-nightModeBrightness",`${t}`);let h=e?" sepia(0.5) hue-rotate(-30deg)":"";r.style.setProperty("--kip-nightModeFilters",h)}toggleDayNightMode(){this.isNightMode()?this._redNightMode()?(document.body.classList.toggle("night-theme",!0),this.setBrightness(1,!1)):(this.setBrightness(this._settings.getNightModeBrightness(),!0),document.body.classList.remove("night-theme"),this._theme()==="light-theme"?document.body.classList.toggle("light-theme",this._theme()==="light-theme"):document.body.classList.remove("light-theme")):(document.body.classList.remove("night-theme"),this._theme()==="light-theme"&&document.body.classList.toggle("light-theme",this._theme()==="light-theme"),this.setBrightness(1,!1)),this.readThemeCssRoleVariables(),this._cssThemeColorRoles=this.cssThemeColorRoles$.getValue()}getBrowserVersion(){let t=navigator.userAgent,e="Unknown";return t.includes("Edg")?e=`Edge ${t.match(/Edg\/(\d+)/)?.[1]}`:t.includes("Chrome")&&!t.includes("Edg")&&!t.includes("Chromium")?e=`Chrome ${t.match(/Chrome\/(\d+)/)?.[1]}`:t.includes("Chromium")?e=`Chromium ${t.match(/Chromium\/(\d+)/)?.[1]}`:t.includes("Firefox")?e=`Firefox ${t.match(/Firefox\/(\d+)/)?.[1]}`:t.includes("Safari")&&!t.includes("Chrome")&&!t.includes("Chromium")?e=`Safari ${t.match(/Version\/(\d+)/)?.[1]}`:(t.includes("Opera")||t.includes("OPR"))&&(e=`Opera ${t.match(/(Opera|OPR)\/(\d+)/)?.[2]}`),e}getOSVersion(){let t=navigator.platform,e=navigator.userAgent;return t.startsWith("Mac")?"macOS":t.startsWith("Win")?"Windows":/Linux/.test(t)?e.includes("ARM")||e.includes("aarch64")||e.includes("Raspberry")||t.includes("armv7l")||t.includes("armv8l")?"Raspberry Pi":"Linux":"Unknown OS"}static \u0275fac=function(e){return new(e||o)};static \u0275prov=g({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{D as a};
1
+ import{g as c,k as s,r as p}from"./chunk-D3QHJ7S5.js";import{Va as i,cd as a,m as n,o as m,oa as g,ua as l}from"./chunk-Y7X77HSW.js";var u="3.1.7";var D=(()=>{class o{MODE_PATH="self.environment.mode";configurableThemeColors=[{label:"Contrast",value:"contrast"},{label:"Blue",value:"blue"},{label:"Green",value:"green"},{label:"Orange",value:"orange"},{label:"Yellow",value:"yellow"},{label:"Pink",value:"pink"},{label:"Purple",value:"purple"},{label:"Grey",value:"grey"}];snackbarAppNotifications=new n;cssThemeColorRoles$=new m(null);_cssThemeColorRoles=null;_settings=l(c);_data=l(p);isNightMode=i(!1);_useAutoNightMode=s(this._settings.getAutoNightModeAsO(),{requireSync:!0});_theme=s(this._settings.getThemeNameAsO(),{requireSync:!0});_redNightMode=s(this._settings.getRedNightModeAsO(),{requireSync:!0});_environmentMode=s(this._data.subscribePath(this.MODE_PATH,"default"));appVersion=i(u);browserVersion=i("Unknown");osVersion=i("Unknown");constructor(){a(()=>{this._theme()==="light-theme"?document.body.classList.toggle("light-theme",this._theme()==="light-theme"):document.body.classList.remove("light-theme")}),a(()=>{let t=this._environmentMode().data.value;this._useAutoNightMode()&&(this.isNightMode.set(t==="night"),this.toggleDayNightMode())}),a(()=>{this._redNightMode()?this.toggleDayNightMode():this.toggleDayNightMode()}),this.readThemeCssRoleVariables(),this._cssThemeColorRoles=this.cssThemeColorRoles$.getValue(),this.browserVersion.set(this.getBrowserVersion()),this.osVersion.set(this.getOSVersion()),console.log("*********** KIP Version Information ***********"),console.log(`** App Version: ${this.appVersion()}`),console.log(`** Browser Version: ${this.browserVersion()}`),console.log(`** OS Version: ${this.osVersion()}`),console.log("***********************************************")}sendSnackbarNotification(t,e=1e4,r=!1){this.snackbarAppNotifications.next({message:t,duration:e,silent:r})}getSnackbarAppNotifications(){return this.snackbarAppNotifications.asObservable()}readThemeCssRoleVariables(){let t=document.body,e=getComputedStyle(t),r={background:e.getPropertyValue("--mat-sys-background").trim(),cardColor:e.getPropertyValue("--kip-widget-card-background-color").trim(),blue:e.getPropertyValue("--kip-blue-color").trim(),blueDim:e.getPropertyValue("--kip-blue-dim-color").trim(),blueDimmer:e.getPropertyValue("--kip-blue-dimmer-color").trim(),green:e.getPropertyValue("--kip-green-color").trim(),greenDim:e.getPropertyValue("--kip-green-dim-color").trim(),greenDimmer:e.getPropertyValue("--kip-green-dimmer-color").trim(),grey:e.getPropertyValue("--kip-grey-color").trim(),greyDim:e.getPropertyValue("--kip-grey-dim-color").trim(),greyDimmer:e.getPropertyValue("--kip-grey-dimmer-color").trim(),orange:e.getPropertyValue("--kip-orange-color").trim(),orangeDim:e.getPropertyValue("--kip-orange-dim-color").trim(),orangeDimmer:e.getPropertyValue("--kip-orange-dimmer-color").trim(),pink:e.getPropertyValue("--kip-pink-color").trim(),pinkDim:e.getPropertyValue("--kip-pink-dim-color").trim(),pinkDimmer:e.getPropertyValue("--kip-pink-dimmer-color").trim(),purple:e.getPropertyValue("--kip-purple-color").trim(),purpleDim:e.getPropertyValue("--kip-purple-dim-color").trim(),purpleDimmer:e.getPropertyValue("--kip-purple-dimmer-color").trim(),contrast:e.getPropertyValue("--kip-contrast-color").trim(),contrastDim:e.getPropertyValue("--kip-contrast-dim-color").trim(),contrastDimmer:e.getPropertyValue("--kip-contrast-dimmer-color").trim(),yellow:e.getPropertyValue("--kip-yellow-color").trim(),yellowDim:e.getPropertyValue("--kip-yellow-dim-color").trim(),yellowDimmer:e.getPropertyValue("--kip-yellow-dimmer-color").trim(),port:e.getPropertyValue("--kip-port-color").trim(),starboard:e.getPropertyValue("--kip-starboard-color").trim(),zoneNominal:e.getPropertyValue("--kip-zone-nominal-color").trim(),zoneAlert:e.getPropertyValue("--kip-zone-alert-color").trim(),zoneWarn:e.getPropertyValue("--kip-zone-warn-color").trim(),zoneAlarm:e.getPropertyValue("--kip-zone-alarm-color").trim(),zoneEmergency:e.getPropertyValue("--kip-zone-emergency-color").trim()};this.cssThemeColorRoles$.next(r)}get cssThemeColors(){return this._cssThemeColorRoles}setBrightness(t,e=!1){let r=document.body;r.style.setProperty("--kip-nightModeBrightness",`${t}`);let h=e?" sepia(0.5) hue-rotate(-30deg)":"";r.style.setProperty("--kip-nightModeFilters",h)}toggleDayNightMode(){this.isNightMode()?this._redNightMode()?(document.body.classList.toggle("night-theme",!0),this.setBrightness(1,!1)):(this.setBrightness(this._settings.getNightModeBrightness(),!0),document.body.classList.remove("night-theme"),this._theme()==="light-theme"?document.body.classList.toggle("light-theme",this._theme()==="light-theme"):document.body.classList.remove("light-theme")):(document.body.classList.remove("night-theme"),this._theme()==="light-theme"&&document.body.classList.toggle("light-theme",this._theme()==="light-theme"),this.setBrightness(1,!1)),this.readThemeCssRoleVariables(),this._cssThemeColorRoles=this.cssThemeColorRoles$.getValue()}getBrowserVersion(){let t=navigator.userAgent,e="Unknown";return t.includes("Edg")?e=`Edge ${t.match(/Edg\/(\d+)/)?.[1]}`:t.includes("Chrome")&&!t.includes("Edg")&&!t.includes("Chromium")?e=`Chrome ${t.match(/Chrome\/(\d+)/)?.[1]}`:t.includes("Chromium")?e=`Chromium ${t.match(/Chromium\/(\d+)/)?.[1]}`:t.includes("Firefox")?e=`Firefox ${t.match(/Firefox\/(\d+)/)?.[1]}`:t.includes("Safari")&&!t.includes("Chrome")&&!t.includes("Chromium")?e=`Safari ${t.match(/Version\/(\d+)/)?.[1]}`:(t.includes("Opera")||t.includes("OPR"))&&(e=`Opera ${t.match(/(Opera|OPR)\/(\d+)/)?.[2]}`),e}getOSVersion(){let t=navigator.platform,e=navigator.userAgent;return t.startsWith("Mac")?"macOS":t.startsWith("Win")?"Windows":/Linux/.test(t)?e.includes("ARM")||e.includes("aarch64")||e.includes("Raspberry")||t.includes("armv7l")||t.includes("armv8l")?"Raspberry Pi":"Linux":"Unknown OS"}static \u0275fac=function(e){return new(e||o)};static \u0275prov=g({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{D as a};
@@ -1 +1 @@
1
- import{a as oe}from"./chunk-2QUOTZ6A.js";import{f as ne,j as ie}from"./chunk-GQFDVLM2.js";import{j as N}from"./chunk-6QHCHGTT.js";import{a as V}from"./chunk-AKQTC2P7.js";import{a as te}from"./chunk-7TWI6ZJI.js";import{D as Z,E as ee,f as L,g as P,n as I,t as Q,z as X}from"./chunk-D3QHJ7S5.js";import{Cc as _,Dc as o,Ea as d,Fa as p,Gc as M,Hb as E,Ic as x,Jc as w,Kc as y,Nb as u,Pc as O,Vc as T,Xe as R,Zb as g,Ze as j,af as W,bf as q,ef as J,f as k,hf as U,ic as n,if as B,jc as i,kc as h,lf as G,oc as b,of as K,qc as f,rc as C,rd as D,rf as H,sd as F,tf as z,ua as v,ub as c,uf as Y,ve as A,vf as $}from"./chunk-Y7X77HSW.js";var ae=()=>({standalone:!1});function re(l,m){l&1&&(n(0,"div"),o(1,' Writing to the server requires "Login to Server" authentication or a Device token '),i())}function le(l,m){if(l&1){let e=b();n(0,"div")(1,"mat-form-field",32)(2,"mat-label"),o(3,"Scope"),i(),n(4,"mat-select",33),y("ngModelChange",function(t){d(e);let a=C();return w(a.saveConfigScope,t)||(a.saveConfigScope=t),p(t)}),n(5,"mat-option",34),o(6," Global "),i(),n(7,"mat-option",35),o(8," User "),i()()(),n(9,"mat-form-field",36)(10,"mat-label"),o(11,"Configuration Name"),i(),n(12,"input",37),y("ngModelChange",function(t){d(e);let a=C();return w(a.saveConfigName,t)||(a.saveConfigName=t),p(t)}),i()(),u(13,re,2,0,"div",38),i()}if(l&2){let e=C();c(4),x("ngModel",e.saveConfigScope),c(8),x("ngModel",e.saveConfigName),g("ngModelOptions",O(4,ae)),c(),g("ngIf",!e.hasToken)}}function se(l,m){l&1&&(n(0,"div",39)(1,"p"),o(2,"Server authentication or Device Token required"),i()())}function ce(l,m){if(l&1&&(n(0,"mat-option",43),o(1),i()),l&2){let e=m.$implicit;g("value",e),c(),M(" ",e.scope," / ",e.name," ")}}function ge(l,m){if(l&1){let e=b();n(0,"div")(1,"mat-form-field",40)(2,"mat-label"),o(3,"Configuration"),i(),n(4,"mat-select",41),y("ngModelChange",function(t){d(e);let a=C();return w(a.deleteConfigItem,t)||(a.deleteConfigItem=t),p(t)}),u(5,ce,2,3,"mat-option",42),i()()()}if(l&2){let e=C();c(4),x("ngModel",e.deleteConfigItem),c(),g("ngForOf",e.serverConfigList)}}function de(l,m){l&1&&(n(0,"div",39)(1,"p"),o(2,"Authentication or Device Token required"),i()())}function pe(l,m){if(l&1&&(n(0,"mat-option",43),o(1),i()),l&2){let e=m.$implicit;g("value",e),c(),M(" ",e.scope," / ",e.name," ")}}function me(l,m){if(l&1&&(n(0,"div")(1,"mat-form-field",40)(2,"mat-label"),o(3,"Configuration"),i(),n(4,"mat-select",44),u(5,pe,2,3,"mat-option",42),i()()()),l&2){let e=C();c(5),g("ngForOf",e.serverConfigList)}}function fe(l,m){l&1&&(n(0,"div",39)(1,"p"),o(2,"Authentication or Device Token required"),i()())}var Pe=(()=>{class l{appSettingsService=v(P);storageSvc=v(L);appService=v(V);auth=v(I);fb=v(z);pageTitle="Configurations";hasToken=!1;isTokenTypeDevice=!1;tokenSub;supportApplicationData=!1;serverConfigList=[];serverUpgradableConfigList=[];copyConfigForm;storageLocation=null;locations=["Local Storage","Server Storage"];saveConfigName=null;saveConfigScope=null;deleteConfigItem;jsonData=null;ngOnInit(){this.tokenSub=this.auth.authToken$.subscribe(e=>{e&&e.token?(this.hasToken=!0,this.isTokenTypeDevice=e.isDeviceAccessToken,e.isDeviceAccessToken?this.saveConfigScope="global":this.saveConfigScope="user"):this.hasToken=!1}),this.copyConfigForm=this.fb.group({sourceTarget:[{value:"",disabled:!1},j.required]}),this.supportApplicationData=this.storageSvc.isAppDataSupported,this.getServerConfigList()}getServerConfigList(e){this.supportApplicationData&&this.storageSvc.listConfigs(e).then(r=>{let t=r.filter(a=>!(a.scope==="user"&&a.name==="default"));e?this.serverUpgradableConfigList=t:this.serverConfigList=t}).catch(r=>{let t=null;switch(r.status){case 401:this.appService.sendSnackbarNotification("Application Storage Error: "+r.statusText+". Signal K configuration must meet the following requirements; 1) Security enabled. 2) Application Data Storage Interface: On. 3) Either Allow Readonly Access enabled, or connecting with a user.",0,!1);break;default:this.appService.sendSnackbarNotification("Error listing server configurations: "+r,3e3,!1);break}})}saveConfig(e,r,t,a,s){if(this.supportApplicationData){if(r==="user"&&t==="default"&&!s){this.appService.sendSnackbarNotification("Saving configuration with scope 'user' and name 'default' is not allowed.",5e3,!1);return}this.storageSvc.setConfig(r,t,e)?(this.appService.sendSnackbarNotification(`Configuration [${t}] saved to [${r}] storage scope`,5e3,!1),a||this.getServerConfigList()):this.appService.sendSnackbarNotification("Error saving configuration to server",0,!1)}}saveToLocalstorage(e){this.appSettingsService.replaceConfig("appConfig",e.app,!1),this.appSettingsService.replaceConfig("dashboardsConfig",e.dashboards,!1),this.appSettingsService.replaceConfig("themeConfig",e.theme,!1)}copyConfig(){return k(this,null,function*(){let e=null;try{yield this.storageSvc.getConfig(this.copyConfigForm.value.sourceTarget.scope,this.copyConfigForm.value.sourceTarget.name).then(r=>{e=r})}catch(r){this.appService.sendSnackbarNotification("Error retrieving configuration from server: "+r.statusText,3e3,!1);return}this.saveConfig(e,"user","default",!1,!0),this.appSettingsService.reloadApp()})}deleteConfig(e,r,t,a){this.storageSvc.removeItem(e,r,t),this.appService.sendSnackbarNotification(`Configuration [${r}] deleted from [${e}] storage scope`,5e3,!1),a||this.getServerConfigList()}resetConfigToDefault(){this.appSettingsService.resetSettings()}resetConnectionToDefault(){this.appSettingsService.resetConnection()}loadDemoConfig(){this.appSettingsService.loadDemoConfig()}getActiveConfig(){let e;return this.appSettingsService.useSharedConfig?e=this.getLocalConfigFromMemory():e=this.getLocalConfigFromLocalStorage(),e}getLocalConfigFromMemory(){return{app:this.appSettingsService.getAppConfig(),dashboards:this.appSettingsService.getDashboardConfig(),theme:this.appSettingsService.getThemeConfig()}}getLocalConfigFromLocalStorage(){return{app:this.appSettingsService.loadConfigFromLocalStorage("appConfig"),dashboards:this.appSettingsService.loadConfigFromLocalStorage("dashboardsConfig"),theme:this.appSettingsService.loadConfigFromLocalStorage("themeConfig")}}downloadJsonConfig(){let e=this.getActiveConfig(),r=JSON.stringify(e,null,2),t=new Blob([r],{type:"application/json"}),a=window.URL.createObjectURL(t),s=document.createElement("a");s.href=a,s.download="KipConfig.json",document.body.appendChild(s),s.click(),document.body.removeChild(s),window.URL.revokeObjectURL(a)}uploadJsonConfig(e){let r=e.target.files[0];if(r&&r.type==="application/json"){let t=new FileReader;t.onload=a=>{try{this.jsonData=JSON.parse(a.target?.result),this.hasToken?this.saveConfig(this.jsonData,"user","default",!1,!0):this.saveToLocalstorage(this.jsonData),this.appSettingsService.reloadApp()}catch(s){this.appService.sendSnackbarNotification("Invalid JSON file",3e3,!1),console.error("Invalid JSON file:",s)}},t.readAsText(r)}else this.appService.sendSnackbarNotification("Please select a valid JSON file",0,!1)}ngOnDestroy(){this.tokenSub.unsubscribe()}static \u0275fac=function(r){return new(r||l)};static \u0275cmp=E({type:l,selectors:[["settings-config"]],decls:85,vars:11,consts:[["saveConfigForm","ngForm"],["elseBlock",""],["deleteConfigForm","ngForm"],["fileInput",""],[3,"pageTitle"],[1,"page-content"],["routerLink","/help"],[1,"flex-container"],[1,"flex-item-rounded-card","rounded-card-color"],["name","saveConfigForm",3,"ngSubmit"],[2,"margin-bottom","16px"],[4,"ngIf","ngIfElse"],[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"],[4,"ngIf"],[1,"no-token-notice"],[2,"width","100%"],["name","selectedDeleteItem","required","",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["formControlName","sourceTarget"]],template:function(r,t){if(r&1){let a=b();h(0,"page-header",4),n(1,"div",5)(2,"p"),o(3," Recommended Reading: To understand configuration management and storage options, consult the "),n(4,"a",6),o(5,"Configuration Management Help"),i(),o(6," section. "),i(),n(7,"div",7)(8,"div",8)(9,"form",9,0),f("ngSubmit",function(){return d(a),p(t.saveConfig(t.getActiveConfig(),t.saveConfigScope,t.saveConfigName))}),n(11,"h2"),o(12,"Backup"),i(),n(13,"p",10),o(14," Create a backup of the current active configuration on the server. "),i(),u(15,le,14,5,"div",11)(16,se,3,0,"ng-template",null,1,T),n(18,"div",12),h(19,"mat-divider",13),n(20,"button",14),o(21," Create "),i()()()(),n(22,"div",8)(23,"form",15,2),f("ngSubmit",function(){return d(a),p(t.deleteConfig(t.deleteConfigItem.scope,t.deleteConfigItem.name))}),n(25,"h2"),o(26,"Delete"),i(),n(27,"p",10),o(28," Select a backup configuration to permanently delete from the server. "),i(),u(29,ge,6,2,"div",11)(30,de,3,0,"ng-template",null,1,T),n(32,"div",12),h(33,"mat-divider",13),n(34,"button",14),o(35," Delete "),i()()()(),n(36,"div",8)(37,"form",16),f("ngSubmit",function(){return d(a),p(t.copyConfig())}),n(38,"h2"),o(39,"Restore"),i(),n(40,"p",10),o(41," Replace the current configuration with a backup from the server. "),i(),u(42,me,6,1,"div",11)(43,fe,3,0,"ng-template",null,1,T),n(45,"div",12),h(46,"mat-divider",13),n(47,"button",14),o(48," Restore "),i()()()(),n(49,"div",17)(50,"h2"),o(51,"Advanced"),i(),n(52,"div",18)(53,"div",19)(54,"p"),o(55,"Download the active configuration to a file."),i()(),n(56,"div",20)(57,"button",21),f("click",function(){return d(a),p(t.downloadJsonConfig())}),o(58," Download "),i()(),n(59,"div",22)(60,"p"),o(61," Select a configuration file to upload. The file must be a valid KIP configuration file of JSON format. "),i()(),n(62,"div",23)(63,"input",24,3),f("change",function(S){return d(a),p(t.uploadJsonConfig(S))}),i(),n(65,"button",25),f("click",function(){d(a);let S=_(64);return p(S.click())}),o(66," Upload "),i()(),n(67,"div",26)(68,"p"),o(69," Load the demonstration configuration and connection to Signal K demo server. WARNING: This will completely reset all your settings. "),i()(),n(70,"div",27)(71,"button",21),f("click",function(){return d(a),p(t.loadDemoConfig())}),o(72," Demo "),i()(),n(73,"div",28)(74,"p"),o(75," Reset all your settings to default. The default configuration has a single Getting Started instruction widget. Your Signal K server connection settings will remain. "),i()(),n(76,"div",29)(77,"button",21),f("click",function(){return d(a),p(t.resetConfigToDefault())}),o(78," Default "),i()(),n(79,"div",30)(80,"p"),o(81," Clear the current connection configuration. This only affects Connectivity tab settings. "),i()(),n(82,"div",31)(83,"button",21),f("click",function(){return d(a),p(t.resetConnectionToDefault())}),o(84," Connection "),i()()()()()()}if(r&2){let a=_(10),s=_(17),S=_(24);g("pageTitle",t.pageTitle),c(15),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.hasToken||!a.valid),c(9),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.hasToken||!S.valid),c(3),g("formGroup",t.copyConfigForm),c(5),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.copyConfigForm.valid)}},dependencies:[N,F,Y,B,R,W,q,H,U,J,te,A,X,Q,ie,ne,Z,D,$,G,K,oe,ee],styles:['[_nghost-%COMP%]{display:block;height:100%;width:100%}.page-content[_ngcontent-%COMP%]{width:100%;height:calc(100% - 63px);overflow-y:scroll;scroll-behavior:smooth;padding:0 24px 10px}.flex-item-copy[_ngcontent-%COMP%]{flex:2 1 41%;padding:10px 20px;border-radius:15px}.flex-item-reset[_ngcontent-%COMP%]{flex:1 1 100%;padding:10px 20px;border-radius:15px}a[_ngcontent-%COMP%]{font-size:14px}a[_ngcontent-%COMP%]:hover{text-decoration:underline;cursor:pointer}a[_ngcontent-%COMP%]:link, a[_ngcontent-%COMP%]:visited{color:#8ab4f8;text-decoration:none}.warningText[_ngcontent-%COMP%]{padding-left:15px}.no-token-notice[_ngcontent-%COMP%]{height:58px;contain:content;text-align:center;font-style:italic}.mat-mdc-radio-button[_ngcontent-%COMP%] ~ .mat-radio-button[_ngcontent-%COMP%]{margin-right:16px;margin-left:16px}.config-column[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-basis:100%;flex:1;margin:0 10px}.sources-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:15px 0}.sources-radio-button[_ngcontent-%COMP%]{margin:5px;margin-left:0!important}.select-config[_ngcontent-%COMP%]{margin-left:0}.config-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.btn-div[_ngcontent-%COMP%]{align-self:center}.adv-btn[_ngcontent-%COMP%]{width:100%}.config-operation-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:[col-start] auto [col1-end] min-content [col2-end];grid-template-rows:[row-start] max-content [row1-end] max-content [row2-end];grid-template-areas:"download-txt download-btn" "upload-txt upload-btn" "demo-txt demo-btn" "reset-txt reset-btn" "config-txt config-btn";row-gap:20px;column-gap:10px}.upload-txt[_ngcontent-%COMP%]{grid-area:upload-txt}.upload-btn[_ngcontent-%COMP%]{grid-area:upload-btn}.download-txt[_ngcontent-%COMP%]{grid-area:download-txt}.download-btn[_ngcontent-%COMP%]{grid-area:download-btn}.demo-txt[_ngcontent-%COMP%]{grid-area:demo-txt}.demo-btn[_ngcontent-%COMP%]{grid-area:demo-btn}.reset-txt[_ngcontent-%COMP%]{grid-area:reset-txt}.reset-btn[_ngcontent-%COMP%]{grid-area:reset-btn}.config-txt[_ngcontent-%COMP%]{grid-area:config-txt}.config-btn[_ngcontent-%COMP%]{grid-area:config-btn}']})}return l})();export{Pe as SettingsConfigComponent};
1
+ import{a as oe}from"./chunk-2QUOTZ6A.js";import{f as ne,j as ie}from"./chunk-GQFDVLM2.js";import{j as N}from"./chunk-6QHCHGTT.js";import{a as V}from"./chunk-23ZXPO62.js";import{a as te}from"./chunk-7TWI6ZJI.js";import{D as Z,E as ee,f as L,g as P,n as I,t as Q,z as X}from"./chunk-D3QHJ7S5.js";import{Cc as _,Dc as o,Ea as d,Fa as p,Gc as M,Hb as E,Ic as x,Jc as w,Kc as y,Nb as u,Pc as O,Vc as T,Xe as R,Zb as g,Ze as j,af as W,bf as q,ef as J,f as k,hf as U,ic as n,if as B,jc as i,kc as h,lf as G,oc as b,of as K,qc as f,rc as C,rd as D,rf as H,sd as F,tf as z,ua as v,ub as c,uf as Y,ve as A,vf as $}from"./chunk-Y7X77HSW.js";var ae=()=>({standalone:!1});function re(l,m){l&1&&(n(0,"div"),o(1,' Writing to the server requires "Login to Server" authentication or a Device token '),i())}function le(l,m){if(l&1){let e=b();n(0,"div")(1,"mat-form-field",32)(2,"mat-label"),o(3,"Scope"),i(),n(4,"mat-select",33),y("ngModelChange",function(t){d(e);let a=C();return w(a.saveConfigScope,t)||(a.saveConfigScope=t),p(t)}),n(5,"mat-option",34),o(6," Global "),i(),n(7,"mat-option",35),o(8," User "),i()()(),n(9,"mat-form-field",36)(10,"mat-label"),o(11,"Configuration Name"),i(),n(12,"input",37),y("ngModelChange",function(t){d(e);let a=C();return w(a.saveConfigName,t)||(a.saveConfigName=t),p(t)}),i()(),u(13,re,2,0,"div",38),i()}if(l&2){let e=C();c(4),x("ngModel",e.saveConfigScope),c(8),x("ngModel",e.saveConfigName),g("ngModelOptions",O(4,ae)),c(),g("ngIf",!e.hasToken)}}function se(l,m){l&1&&(n(0,"div",39)(1,"p"),o(2,"Server authentication or Device Token required"),i()())}function ce(l,m){if(l&1&&(n(0,"mat-option",43),o(1),i()),l&2){let e=m.$implicit;g("value",e),c(),M(" ",e.scope," / ",e.name," ")}}function ge(l,m){if(l&1){let e=b();n(0,"div")(1,"mat-form-field",40)(2,"mat-label"),o(3,"Configuration"),i(),n(4,"mat-select",41),y("ngModelChange",function(t){d(e);let a=C();return w(a.deleteConfigItem,t)||(a.deleteConfigItem=t),p(t)}),u(5,ce,2,3,"mat-option",42),i()()()}if(l&2){let e=C();c(4),x("ngModel",e.deleteConfigItem),c(),g("ngForOf",e.serverConfigList)}}function de(l,m){l&1&&(n(0,"div",39)(1,"p"),o(2,"Authentication or Device Token required"),i()())}function pe(l,m){if(l&1&&(n(0,"mat-option",43),o(1),i()),l&2){let e=m.$implicit;g("value",e),c(),M(" ",e.scope," / ",e.name," ")}}function me(l,m){if(l&1&&(n(0,"div")(1,"mat-form-field",40)(2,"mat-label"),o(3,"Configuration"),i(),n(4,"mat-select",44),u(5,pe,2,3,"mat-option",42),i()()()),l&2){let e=C();c(5),g("ngForOf",e.serverConfigList)}}function fe(l,m){l&1&&(n(0,"div",39)(1,"p"),o(2,"Authentication or Device Token required"),i()())}var Pe=(()=>{class l{appSettingsService=v(P);storageSvc=v(L);appService=v(V);auth=v(I);fb=v(z);pageTitle="Configurations";hasToken=!1;isTokenTypeDevice=!1;tokenSub;supportApplicationData=!1;serverConfigList=[];serverUpgradableConfigList=[];copyConfigForm;storageLocation=null;locations=["Local Storage","Server Storage"];saveConfigName=null;saveConfigScope=null;deleteConfigItem;jsonData=null;ngOnInit(){this.tokenSub=this.auth.authToken$.subscribe(e=>{e&&e.token?(this.hasToken=!0,this.isTokenTypeDevice=e.isDeviceAccessToken,e.isDeviceAccessToken?this.saveConfigScope="global":this.saveConfigScope="user"):this.hasToken=!1}),this.copyConfigForm=this.fb.group({sourceTarget:[{value:"",disabled:!1},j.required]}),this.supportApplicationData=this.storageSvc.isAppDataSupported,this.getServerConfigList()}getServerConfigList(e){this.supportApplicationData&&this.storageSvc.listConfigs(e).then(r=>{let t=r.filter(a=>!(a.scope==="user"&&a.name==="default"));e?this.serverUpgradableConfigList=t:this.serverConfigList=t}).catch(r=>{let t=null;switch(r.status){case 401:this.appService.sendSnackbarNotification("Application Storage Error: "+r.statusText+". Signal K configuration must meet the following requirements; 1) Security enabled. 2) Application Data Storage Interface: On. 3) Either Allow Readonly Access enabled, or connecting with a user.",0,!1);break;default:this.appService.sendSnackbarNotification("Error listing server configurations: "+r,3e3,!1);break}})}saveConfig(e,r,t,a,s){if(this.supportApplicationData){if(r==="user"&&t==="default"&&!s){this.appService.sendSnackbarNotification("Saving configuration with scope 'user' and name 'default' is not allowed.",5e3,!1);return}this.storageSvc.setConfig(r,t,e)?(this.appService.sendSnackbarNotification(`Configuration [${t}] saved to [${r}] storage scope`,5e3,!1),a||this.getServerConfigList()):this.appService.sendSnackbarNotification("Error saving configuration to server",0,!1)}}saveToLocalstorage(e){this.appSettingsService.replaceConfig("appConfig",e.app,!1),this.appSettingsService.replaceConfig("dashboardsConfig",e.dashboards,!1),this.appSettingsService.replaceConfig("themeConfig",e.theme,!1)}copyConfig(){return k(this,null,function*(){let e=null;try{yield this.storageSvc.getConfig(this.copyConfigForm.value.sourceTarget.scope,this.copyConfigForm.value.sourceTarget.name).then(r=>{e=r})}catch(r){this.appService.sendSnackbarNotification("Error retrieving configuration from server: "+r.statusText,3e3,!1);return}this.saveConfig(e,"user","default",!1,!0),this.appSettingsService.reloadApp()})}deleteConfig(e,r,t,a){this.storageSvc.removeItem(e,r,t),this.appService.sendSnackbarNotification(`Configuration [${r}] deleted from [${e}] storage scope`,5e3,!1),a||this.getServerConfigList()}resetConfigToDefault(){this.appSettingsService.resetSettings()}resetConnectionToDefault(){this.appSettingsService.resetConnection()}loadDemoConfig(){this.appSettingsService.loadDemoConfig()}getActiveConfig(){let e;return this.appSettingsService.useSharedConfig?e=this.getLocalConfigFromMemory():e=this.getLocalConfigFromLocalStorage(),e}getLocalConfigFromMemory(){return{app:this.appSettingsService.getAppConfig(),dashboards:this.appSettingsService.getDashboardConfig(),theme:this.appSettingsService.getThemeConfig()}}getLocalConfigFromLocalStorage(){return{app:this.appSettingsService.loadConfigFromLocalStorage("appConfig"),dashboards:this.appSettingsService.loadConfigFromLocalStorage("dashboardsConfig"),theme:this.appSettingsService.loadConfigFromLocalStorage("themeConfig")}}downloadJsonConfig(){let e=this.getActiveConfig(),r=JSON.stringify(e,null,2),t=new Blob([r],{type:"application/json"}),a=window.URL.createObjectURL(t),s=document.createElement("a");s.href=a,s.download="KipConfig.json",document.body.appendChild(s),s.click(),document.body.removeChild(s),window.URL.revokeObjectURL(a)}uploadJsonConfig(e){let r=e.target.files[0];if(r&&r.type==="application/json"){let t=new FileReader;t.onload=a=>{try{this.jsonData=JSON.parse(a.target?.result),this.hasToken?this.saveConfig(this.jsonData,"user","default",!1,!0):this.saveToLocalstorage(this.jsonData),this.appSettingsService.reloadApp()}catch(s){this.appService.sendSnackbarNotification("Invalid JSON file",3e3,!1),console.error("Invalid JSON file:",s)}},t.readAsText(r)}else this.appService.sendSnackbarNotification("Please select a valid JSON file",0,!1)}ngOnDestroy(){this.tokenSub.unsubscribe()}static \u0275fac=function(r){return new(r||l)};static \u0275cmp=E({type:l,selectors:[["settings-config"]],decls:85,vars:11,consts:[["saveConfigForm","ngForm"],["elseBlock",""],["deleteConfigForm","ngForm"],["fileInput",""],[3,"pageTitle"],[1,"page-content"],["routerLink","/help"],[1,"flex-container"],[1,"flex-item-rounded-card","rounded-card-color"],["name","saveConfigForm",3,"ngSubmit"],[2,"margin-bottom","16px"],[4,"ngIf","ngIfElse"],[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"],[4,"ngIf"],[1,"no-token-notice"],[2,"width","100%"],["name","selectedDeleteItem","required","",3,"ngModelChange","ngModel"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["formControlName","sourceTarget"]],template:function(r,t){if(r&1){let a=b();h(0,"page-header",4),n(1,"div",5)(2,"p"),o(3," Recommended Reading: To understand configuration management and storage options, consult the "),n(4,"a",6),o(5,"Configuration Management Help"),i(),o(6," section. "),i(),n(7,"div",7)(8,"div",8)(9,"form",9,0),f("ngSubmit",function(){return d(a),p(t.saveConfig(t.getActiveConfig(),t.saveConfigScope,t.saveConfigName))}),n(11,"h2"),o(12,"Backup"),i(),n(13,"p",10),o(14," Create a backup of the current active configuration on the server. "),i(),u(15,le,14,5,"div",11)(16,se,3,0,"ng-template",null,1,T),n(18,"div",12),h(19,"mat-divider",13),n(20,"button",14),o(21," Create "),i()()()(),n(22,"div",8)(23,"form",15,2),f("ngSubmit",function(){return d(a),p(t.deleteConfig(t.deleteConfigItem.scope,t.deleteConfigItem.name))}),n(25,"h2"),o(26,"Delete"),i(),n(27,"p",10),o(28," Select a backup configuration to permanently delete from the server. "),i(),u(29,ge,6,2,"div",11)(30,de,3,0,"ng-template",null,1,T),n(32,"div",12),h(33,"mat-divider",13),n(34,"button",14),o(35," Delete "),i()()()(),n(36,"div",8)(37,"form",16),f("ngSubmit",function(){return d(a),p(t.copyConfig())}),n(38,"h2"),o(39,"Restore"),i(),n(40,"p",10),o(41," Replace the current configuration with a backup from the server. "),i(),u(42,me,6,1,"div",11)(43,fe,3,0,"ng-template",null,1,T),n(45,"div",12),h(46,"mat-divider",13),n(47,"button",14),o(48," Restore "),i()()()(),n(49,"div",17)(50,"h2"),o(51,"Advanced"),i(),n(52,"div",18)(53,"div",19)(54,"p"),o(55,"Download the active configuration to a file."),i()(),n(56,"div",20)(57,"button",21),f("click",function(){return d(a),p(t.downloadJsonConfig())}),o(58," Download "),i()(),n(59,"div",22)(60,"p"),o(61," Select a configuration file to upload. The file must be a valid KIP configuration file of JSON format. "),i()(),n(62,"div",23)(63,"input",24,3),f("change",function(S){return d(a),p(t.uploadJsonConfig(S))}),i(),n(65,"button",25),f("click",function(){d(a);let S=_(64);return p(S.click())}),o(66," Upload "),i()(),n(67,"div",26)(68,"p"),o(69," Load the demonstration configuration and connection to Signal K demo server. WARNING: This will completely reset all your settings. "),i()(),n(70,"div",27)(71,"button",21),f("click",function(){return d(a),p(t.loadDemoConfig())}),o(72," Demo "),i()(),n(73,"div",28)(74,"p"),o(75," Reset all your settings to default. The default configuration has a single Getting Started instruction widget. Your Signal K server connection settings will remain. "),i()(),n(76,"div",29)(77,"button",21),f("click",function(){return d(a),p(t.resetConfigToDefault())}),o(78," Default "),i()(),n(79,"div",30)(80,"p"),o(81," Clear the current connection configuration. This only affects Connectivity tab settings. "),i()(),n(82,"div",31)(83,"button",21),f("click",function(){return d(a),p(t.resetConnectionToDefault())}),o(84," Connection "),i()()()()()()}if(r&2){let a=_(10),s=_(17),S=_(24);g("pageTitle",t.pageTitle),c(15),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.hasToken||!a.valid),c(9),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.hasToken||!S.valid),c(3),g("formGroup",t.copyConfigForm),c(5),g("ngIf",t.hasToken)("ngIfElse",s),c(5),g("disabled",!t.copyConfigForm.valid)}},dependencies:[N,F,Y,B,R,W,q,H,U,J,te,A,X,Q,ie,ne,Z,D,$,G,K,oe,ee],styles:['[_nghost-%COMP%]{display:block;height:100%;width:100%}.page-content[_ngcontent-%COMP%]{width:100%;height:calc(100% - 63px);overflow-y:scroll;scroll-behavior:smooth;padding:0 24px 10px}.flex-item-copy[_ngcontent-%COMP%]{flex:2 1 41%;padding:10px 20px;border-radius:15px}.flex-item-reset[_ngcontent-%COMP%]{flex:1 1 100%;padding:10px 20px;border-radius:15px}a[_ngcontent-%COMP%]{font-size:14px}a[_ngcontent-%COMP%]:hover{text-decoration:underline;cursor:pointer}a[_ngcontent-%COMP%]:link, a[_ngcontent-%COMP%]:visited{color:#8ab4f8;text-decoration:none}.warningText[_ngcontent-%COMP%]{padding-left:15px}.no-token-notice[_ngcontent-%COMP%]{height:58px;contain:content;text-align:center;font-style:italic}.mat-mdc-radio-button[_ngcontent-%COMP%] ~ .mat-radio-button[_ngcontent-%COMP%]{margin-right:16px;margin-left:16px}.config-column[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex-basis:100%;flex:1;margin:0 10px}.sources-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin:15px 0}.sources-radio-button[_ngcontent-%COMP%]{margin:5px;margin-left:0!important}.select-config[_ngcontent-%COMP%]{margin-left:0}.config-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.btn-div[_ngcontent-%COMP%]{align-self:center}.adv-btn[_ngcontent-%COMP%]{width:100%}.config-operation-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:[col-start] auto [col1-end] min-content [col2-end];grid-template-rows:[row-start] max-content [row1-end] max-content [row2-end];grid-template-areas:"download-txt download-btn" "upload-txt upload-btn" "demo-txt demo-btn" "reset-txt reset-btn" "config-txt config-btn";row-gap:20px;column-gap:10px}.upload-txt[_ngcontent-%COMP%]{grid-area:upload-txt}.upload-btn[_ngcontent-%COMP%]{grid-area:upload-btn}.download-txt[_ngcontent-%COMP%]{grid-area:download-txt}.download-btn[_ngcontent-%COMP%]{grid-area:download-btn}.demo-txt[_ngcontent-%COMP%]{grid-area:demo-txt}.demo-btn[_ngcontent-%COMP%]{grid-area:demo-btn}.reset-txt[_ngcontent-%COMP%]{grid-area:reset-txt}.reset-btn[_ngcontent-%COMP%]{grid-area:reset-btn}.config-txt[_ngcontent-%COMP%]{grid-area:config-txt}.config-btn[_ngcontent-%COMP%]{grid-area:config-btn}']})}return l})();export{Pe as SettingsConfigComponent};
@@ -1,4 +1,4 @@
1
- import{E as st,M as oi,a as si}from"./chunk-M4GRLALX.js";import{b as ii,c as ni}from"./chunk-CEBDBQUK.js";import{a as ai,b as je}from"./chunk-4K4AXXSU.js";import{b as di}from"./chunk-MR7RUNKP.js";import{a as ge}from"./chunk-77C4Q6FL.js";import{a as li}from"./chunk-2QUOTZ6A.js";import{a as $t,f as ei,j as ti}from"./chunk-GQFDVLM2.js";import{s as Qe}from"./chunk-6QHCHGTT.js";import{a as ri}from"./chunk-WRDOUMT5.js";import{g as zt}from"./chunk-CD375FDG.js";import"./chunk-SGYCFQGT.js";import{a as j}from"./chunk-AKQTC2P7.js";import{a as _e}from"./chunk-7TWI6ZJI.js";import{D as Jt,d as Le,e as Rt,g as Q,i as nt,k as ce,n as Dt,o as Pt,r as Fe,t as qe,u as Yt,z as Ke}from"./chunk-D3QHJ7S5.js";import{$a as re,$b as U,$c as v,Ac as K,Ae as Ft,Bb as wt,Bc as le,Cb as H,Cc as B,Da as ae,Dc as l,Ea as _,Eb as Ve,Ec as Ce,Ee as Bt,Fa as g,Fc as Oe,Fe as Wt,Ga as De,Gc as St,Hb as x,Hc as kt,Ia as it,Ib as X,Ic as S,J as _t,Jb as P,Jc as k,K as ve,Kc as C,La as Pe,Lb as ye,Nb as w,Oa as M,Oc as D,Od as Be,Pa as se,Pc as Me,Q as gt,Rc as Ue,Sc as Ct,Ta as F,Td as We,Uc as Mt,Va as oe,Vd as he,Wa as bt,We as He,Xc as L,Xe as Ht,Yb as O,Yd as ze,Ye as Xt,Zb as u,_b as Ne,ad as A,af as Z,bc as xe,bf as Y,dc as y,dd as Tt,de as ie,df as qt,ec as yt,ee as Vt,ef as pe,f as et,fa as tt,fd as It,g as Ae,gc as Se,ge as Nt,gf as Kt,hc as ke,hf as ue,ic as s,if as J,jc as o,kc as p,ke as Ot,le as ne,lf as Qt,m as ee,na as Re,oa as ft,oc as q,oe as at,of as jt,pa as z,pc as xt,qc as b,qe as Ut,r as ut,ra as E,rc as R,re as Te,rf as Xe,sc as te,se as me,sf as Gt,tc as V,ua as r,ub as h,ue as Lt,uf as $,vc as de,vd as Et,ve as G,vf as Zt,wb as vt,wc as N,wd as At,xc as T,yb as we,yc as I}from"./chunk-Y7X77HSW.js";var Ei=(n,f)=>f.key,Ai=(n,f)=>f.measure;function Ri(n,f){if(n&1&&(s(0,"mat-option",6),l(1),o()),n&2){let e=f.$implicit;u("value",e.measure),h(),Ce(e.description)}}function Di(n,f){if(n&1&&(s(0,"mat-form-field")(1,"mat-label"),l(2),o(),s(3,"mat-select",5),Se(4,Ri,2,2,"mat-option",6,Ai),o()()),n&2){let e=f.$implicit,t=R();h(2),Ce(e.key),h(),u("placeholder",e.key)("formControlName",e.key),h(),ke(t.groupUnits[e.key])}}var ci=(()=>{class n{units=r(ai);appSettingsService=r(Q);appService=r(j);unitsFormGroup=new qt({});groupUnits=[];ngOnInit(){let e=this.appSettingsService.getDefaultUnits(),t=this.units.getConversions();for(let i=0;i<t.length;i++){if(t[i].group==="Position")return;let a=[];for(let c=0;c<t[i].units.length;c++){let d=t[i].units[c];a.push(d)}this.groupUnits[t[i].group]=a,this.unitsFormGroup.addControl(t[i].group,new Kt(e[t[i].group]))}this.unitsFormGroup.updateValueAndValidity()}submitConfig(){this.appSettingsService.setDefaultUnits(this.unitsFormGroup.value),this.appService.sendSnackbarNotification("Configuration saved",5e3,!1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["settings-units"]],decls:11,vars:4,consts:[[2,"height","100%",3,"ngSubmit","formGroup"],[1,"unit-grid"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"],["required","",3,"placeholder","formControlName"],[3,"value"]],template:function(t,i){t&1&&(s(0,"form",0),b("ngSubmit",function(){return i.submitConfig()}),s(1,"p"),l(2,"Configure your preferred default unit types. These defaults can be overridden within individual widget settings."),o(),s(3,"div",1),Se(4,Di,6,3,"mat-form-field",null,Ei),Ue(6,"keyvalue"),o(),s(7,"div",2),p(8,"mat-divider",3),s(9,"button",4),l(10,"Save"),o()()()),t&2&&(u("formGroup",i.unitsFormGroup),h(4),ke(Ct(6,2,i.unitsFormGroup.controls)),h(5),u("disabled",!i.unitsFormGroup.valid))},dependencies:[$,J,Z,Y,Xe,Zt,Qt,jt,Ke,qe,ti,ei,_e,G,Et],styles:[".unit-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,auto));gap:10px}"]})}return n})();var rt=new E("CdkAccordion"),hi=(()=>{class n{_stateChanges=new ee;_openCloseAllActions=new ee;id=r(ie).getId("cdk-accordion-");multi=!1;openAll(){this.multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=P({type:n,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",v]},exportAs:["cdkAccordion"],features:[D([{provide:rt,useExisting:n}]),ae]})}return n})(),mi=(()=>{class n{accordion=r(rt,{optional:!0,skipSelf:!0});_changeDetectorRef=r(L);_expansionDispatcher=r(Qe);_openCloseAllSubscription=Ae.EMPTY;closed=new M;opened=new M;destroyed=new M;expandedChange=new M;id=r(ie).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=!1;disabled=!1;_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,t)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===t&&this.id!==e&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static \u0275fac=function(t){return new(t||n)};static \u0275dir=P({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",v],disabled:[2,"disabled","disabled",v]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[D([{provide:rt,useValue:void 0}])]})}return n})(),pi=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=X({type:n});static \u0275inj=z({})}return n})();var Ni=["body"],Oi=["bodyWrapper"],Ui=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],Li=["mat-expansion-panel-header","*","mat-action-row"];function Fi(n,f){}var Bi=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],Wi=["mat-panel-title","mat-panel-description","*"];function zi(n,f){n&1&&(s(0,"span",1),De(),s(1,"svg",2),p(2,"path",3),o()())}var dt=new E("MAT_ACCORDION"),ui=new E("MAT_EXPANSION_PANEL"),Hi=(()=>{class n{_template=r(vt);_expansionPanel=r(ui,{optional:!0});constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=P({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),_i=new E("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Ie=(()=>{class n extends mi{_viewContainerRef=r(wt);_animationsDisabled=r(re,{optional:!0})==="NoopAnimations";_document=r(It);_ngZone=r(se);_elementRef=r(F);_renderer=r(we);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_togglePosition;afterExpand=new M;afterCollapse=new M;_inputChanges=new ee;accordion=r(dt,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=r(ie).getId("mat-expansion-panel-header-");constructor(){super();let e=r(_i,{optional:!0});this._expansionDispatcher=r(Qe),e&&(this.hideToggle=e.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(tt(null),ve(()=>this.expanded&&!this._portal),gt(1)).subscribe(()=>{this._portal=new Ft(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!1}_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=x({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,a){if(t&1&&de(a,Hi,5),t&2){let c;T(c=I())&&(i._lazyContent=c.first)}},viewQuery:function(t,i){if(t&1&&(N(Ni,5),N(Oi,5)),t&2){let a;T(a=I())&&(i._body=a.first),T(a=I())&&(i._bodyWrapper=a.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(t,i){t&2&&U("mat-expanded",i.expanded)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",v],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[D([{provide:dt,useValue:void 0},{provide:ui,useExisting:n}]),ye,ae],ngContentSelectors:Li,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&&(te(Ui),V(0),s(1,"div",2,0)(3,"div",3,1)(5,"div",4),V(6,1),w(7,Fi,0,0,"ng-template",5),o(),V(8,2),o()()),t&2&&(h(),O("inert",i.expanded?null:""),h(2),u("id",i.id),O("aria-labelledby",i._headerId),h(4),u("cdkPortalOutlet",i._portal))},dependencies:[Bt],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}
1
+ import{E as st,M as oi,a as si}from"./chunk-SVVDCHCH.js";import{b as ii,c as ni}from"./chunk-CEBDBQUK.js";import{a as ai,b as je}from"./chunk-4K4AXXSU.js";import{b as di}from"./chunk-MR7RUNKP.js";import{a as ge}from"./chunk-77C4Q6FL.js";import{a as li}from"./chunk-2QUOTZ6A.js";import{a as $t,f as ei,j as ti}from"./chunk-GQFDVLM2.js";import{s as Qe}from"./chunk-6QHCHGTT.js";import{a as ri}from"./chunk-WRDOUMT5.js";import{g as zt}from"./chunk-CD375FDG.js";import"./chunk-SGYCFQGT.js";import{a as j}from"./chunk-23ZXPO62.js";import{a as _e}from"./chunk-7TWI6ZJI.js";import{D as Jt,d as Le,e as Rt,g as Q,i as nt,k as ce,n as Dt,o as Pt,r as Fe,t as qe,u as Yt,z as Ke}from"./chunk-D3QHJ7S5.js";import{$a as re,$b as U,$c as v,Ac as K,Ae as Ft,Bb as wt,Bc as le,Cb as H,Cc as B,Da as ae,Dc as l,Ea as _,Eb as Ve,Ec as Ce,Ee as Bt,Fa as g,Fc as Oe,Fe as Wt,Ga as De,Gc as St,Hb as x,Hc as kt,Ia as it,Ib as X,Ic as S,J as _t,Jb as P,Jc as k,K as ve,Kc as C,La as Pe,Lb as ye,Nb as w,Oa as M,Oc as D,Od as Be,Pa as se,Pc as Me,Q as gt,Rc as Ue,Sc as Ct,Ta as F,Td as We,Uc as Mt,Va as oe,Vd as he,Wa as bt,We as He,Xc as L,Xe as Ht,Yb as O,Yd as ze,Ye as Xt,Zb as u,_b as Ne,ad as A,af as Z,bc as xe,bf as Y,dc as y,dd as Tt,de as ie,df as qt,ec as yt,ee as Vt,ef as pe,f as et,fa as tt,fd as It,g as Ae,gc as Se,ge as Nt,gf as Kt,hc as ke,hf as ue,ic as s,if as J,jc as o,kc as p,ke as Ot,le as ne,lf as Qt,m as ee,na as Re,oa as ft,oc as q,oe as at,of as jt,pa as z,pc as xt,qc as b,qe as Ut,r as ut,ra as E,rc as R,re as Te,rf as Xe,sc as te,se as me,sf as Gt,tc as V,ua as r,ub as h,ue as Lt,uf as $,vc as de,vd as Et,ve as G,vf as Zt,wb as vt,wc as N,wd as At,xc as T,yb as we,yc as I}from"./chunk-Y7X77HSW.js";var Ei=(n,f)=>f.key,Ai=(n,f)=>f.measure;function Ri(n,f){if(n&1&&(s(0,"mat-option",6),l(1),o()),n&2){let e=f.$implicit;u("value",e.measure),h(),Ce(e.description)}}function Di(n,f){if(n&1&&(s(0,"mat-form-field")(1,"mat-label"),l(2),o(),s(3,"mat-select",5),Se(4,Ri,2,2,"mat-option",6,Ai),o()()),n&2){let e=f.$implicit,t=R();h(2),Ce(e.key),h(),u("placeholder",e.key)("formControlName",e.key),h(),ke(t.groupUnits[e.key])}}var ci=(()=>{class n{units=r(ai);appSettingsService=r(Q);appService=r(j);unitsFormGroup=new qt({});groupUnits=[];ngOnInit(){let e=this.appSettingsService.getDefaultUnits(),t=this.units.getConversions();for(let i=0;i<t.length;i++){if(t[i].group==="Position")return;let a=[];for(let c=0;c<t[i].units.length;c++){let d=t[i].units[c];a.push(d)}this.groupUnits[t[i].group]=a,this.unitsFormGroup.addControl(t[i].group,new Kt(e[t[i].group]))}this.unitsFormGroup.updateValueAndValidity()}submitConfig(){this.appSettingsService.setDefaultUnits(this.unitsFormGroup.value),this.appService.sendSnackbarNotification("Configuration saved",5e3,!1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["settings-units"]],decls:11,vars:4,consts:[[2,"height","100%",3,"ngSubmit","formGroup"],[1,"unit-grid"],[1,"formActionFooter"],[1,"formActionDivider"],["mat-flat-button","","type","submit",1,"formActionButton",3,"disabled"],["required","",3,"placeholder","formControlName"],[3,"value"]],template:function(t,i){t&1&&(s(0,"form",0),b("ngSubmit",function(){return i.submitConfig()}),s(1,"p"),l(2,"Configure your preferred default unit types. These defaults can be overridden within individual widget settings."),o(),s(3,"div",1),Se(4,Di,6,3,"mat-form-field",null,Ei),Ue(6,"keyvalue"),o(),s(7,"div",2),p(8,"mat-divider",3),s(9,"button",4),l(10,"Save"),o()()()),t&2&&(u("formGroup",i.unitsFormGroup),h(4),ke(Ct(6,2,i.unitsFormGroup.controls)),h(5),u("disabled",!i.unitsFormGroup.valid))},dependencies:[$,J,Z,Y,Xe,Zt,Qt,jt,Ke,qe,ti,ei,_e,G,Et],styles:[".unit-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,auto));gap:10px}"]})}return n})();var rt=new E("CdkAccordion"),hi=(()=>{class n{_stateChanges=new ee;_openCloseAllActions=new ee;id=r(ie).getId("cdk-accordion-");multi=!1;openAll(){this.multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=P({type:n,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",v]},exportAs:["cdkAccordion"],features:[D([{provide:rt,useExisting:n}]),ae]})}return n})(),mi=(()=>{class n{accordion=r(rt,{optional:!0,skipSelf:!0});_changeDetectorRef=r(L);_expansionDispatcher=r(Qe);_openCloseAllSubscription=Ae.EMPTY;closed=new M;opened=new M;destroyed=new M;expandedChange=new M;id=r(ie).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=!1;disabled=!1;_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,t)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===t&&this.id!==e&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static \u0275fac=function(t){return new(t||n)};static \u0275dir=P({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",v],disabled:[2,"disabled","disabled",v]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[D([{provide:rt,useValue:void 0}])]})}return n})(),pi=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=X({type:n});static \u0275inj=z({})}return n})();var Ni=["body"],Oi=["bodyWrapper"],Ui=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],Li=["mat-expansion-panel-header","*","mat-action-row"];function Fi(n,f){}var Bi=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],Wi=["mat-panel-title","mat-panel-description","*"];function zi(n,f){n&1&&(s(0,"span",1),De(),s(1,"svg",2),p(2,"path",3),o()())}var dt=new E("MAT_ACCORDION"),ui=new E("MAT_EXPANSION_PANEL"),Hi=(()=>{class n{_template=r(vt);_expansionPanel=r(ui,{optional:!0});constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=P({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),_i=new E("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),Ie=(()=>{class n extends mi{_viewContainerRef=r(wt);_animationsDisabled=r(re,{optional:!0})==="NoopAnimations";_document=r(It);_ngZone=r(se);_elementRef=r(F);_renderer=r(we);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_togglePosition;afterExpand=new M;afterCollapse=new M;_inputChanges=new ee;accordion=r(dt,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=r(ie).getId("mat-expansion-panel-header-");constructor(){super();let e=r(_i,{optional:!0});this._expansionDispatcher=r(Qe),e&&(this.hideToggle=e.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(tt(null),ve(()=>this.expanded&&!this._portal),gt(1)).subscribe(()=>{this._portal=new Ft(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!1}_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=x({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,a){if(t&1&&de(a,Hi,5),t&2){let c;T(c=I())&&(i._lazyContent=c.first)}},viewQuery:function(t,i){if(t&1&&(N(Ni,5),N(Oi,5)),t&2){let a;T(a=I())&&(i._body=a.first),T(a=I())&&(i._bodyWrapper=a.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(t,i){t&2&&U("mat-expanded",i.expanded)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",v],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[D([{provide:dt,useValue:void 0},{provide:ui,useExisting:n}]),ye,ae],ngContentSelectors:Li,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&&(te(Ui),V(0),s(1,"div",2,0)(3,"div",3,1)(5,"div",4),V(6,1),w(7,Fi,0,0,"ng-template",5),o(),V(8,2),o()()),t&2&&(h(),O("inert",i.expanded?null:""),h(2),u("id",i.id),O("aria-labelledby",i._headerId),h(4),u("cdkPortalOutlet",i._portal))},dependencies:[Bt],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden;position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden;font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}
2
2
  `],encapsulation:2,changeDetection:0})}return n})();var Ee=(()=>{class n{panel=r(Ie,{host:!0});_element=r(F);_focusMonitor=r(We);_changeDetectorRef=r(L);_parentChangeSubscription=Ae.EMPTY;constructor(){r(he).load(me);let e=this.panel,t=r(_i,{optional:!0}),i=r(new Pe("tabindex"),{optional:!0}),a=e.accordion?e.accordion._stateChanges.pipe(ve(c=>!!(c.hideToggle||c.togglePosition))):ut;this.tabIndex=parseInt(i||"")||0,this._parentChangeSubscription=_t(e.opened,e.closed,a,e._inputChanges.pipe(ve(c=>!!(c.hideToggle||c.disabled||c.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(ve(()=>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:Vt(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=x({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&&b("click",function(){return i._toggle()})("keydown",function(c){return i._keydown(c)}),t&2&&(O("id",i.panel._headerId)("tabindex",i.disabled?-1:i.tabIndex)("aria-controls",i._getPanelId())("aria-expanded",i._isExpanded())("aria-disabled",i.panel.disabled),Ne("height",i._getHeaderHeight()),U("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:A(e)]},ngContentSelectors:Wi,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&&(te(Bi),s(0,"span",0),V(1),V(2,1),V(3,2),o(),w(4,zi,3,0,"span",1)),t&2&&(U("mat-content-hide-toggle",!i._showToggle()),h(4),y(i._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit;height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-program-focused{background:var(--mat-expansion-header-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}.mat-expansion-panel-header._mat-animation-noopable{transition:none}.mat-expansion-panel-header:focus,.mat-expansion-panel-header:hover{outline:none}.mat-expansion-panel-header.mat-expanded:focus,.mat-expansion-panel-header.mat-expanded:hover{background:inherit}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before{flex-direction:row-reverse}.mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 16px 0 0}[dir=rtl] .mat-expansion-panel-header.mat-expansion-toggle-indicator-before .mat-expansion-indicator{margin:0 0 0 16px}.mat-content{display:flex;flex:1;flex-direction:row;overflow:hidden}.mat-content.mat-content-hide-toggle{margin-right:8px}[dir=rtl] .mat-content.mat-content-hide-toggle{margin-right:0;margin-left:8px}.mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-left:24px;margin-right:0}[dir=rtl] .mat-expansion-toggle-indicator-before .mat-content.mat-content-hide-toggle{margin-right:24px;margin-left:0}.mat-expansion-panel-header-title{color:var(--mat-expansion-header-text-color, var(--mat-sys-on-surface))}.mat-expansion-panel-header-title,.mat-expansion-panel-header-description{display:flex;flex-grow:1;flex-basis:0;margin-right:16px;align-items:center}[dir=rtl] .mat-expansion-panel-header-title,[dir=rtl] .mat-expansion-panel-header-description{margin-right:0;margin-left:16px}.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description{color:inherit}.mat-expansion-panel-header-description{flex-grow:2;color:var(--mat-expansion-header-description-color, var(--mat-sys-on-surface-variant))}.mat-expansion-panel-animations-enabled .mat-expansion-indicator{transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header.mat-expanded .mat-expansion-indicator{transform:rotate(180deg)}.mat-expansion-indicator::after{border-style:solid;border-width:0 2px 2px 0;content:"";display:inline-block;padding:3px;transform:rotate(45deg);vertical-align:middle;color:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-legacy-header-indicator-display, none)}.mat-expansion-indicator svg{width:24px;height:24px;margin:0 -8px;vertical-align:middle;fill:var(--mat-expansion-header-indicator-color, var(--mat-sys-on-surface-variant));display:var(--mat-expansion-header-indicator-display, inline-block)}@media(forced-colors: active){.mat-expansion-panel-content{border-top:1px solid;border-top-left-radius:0;border-top-right-radius:0}}
3
3
  `],encapsulation:2,changeDetection:0})}return n})(),Ge=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=P({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),Ze=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=P({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),Ye=(()=>{class n extends hi{_keyManager;_ownHeaders=new bt;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(tt(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(t=>t.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new Nt(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=it(n)))(i||n)}})();static \u0275dir=P({type:n,selectors:[["mat-accordion"]],contentQueries:function(t,i,a){if(t&1&&de(a,Ee,5),t&2){let c;T(c=I())&&(i._headers=c)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(t,i){t&2&&U("mat-accordion-multi",i.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",v],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[D([{provide:dt,useExisting:n}]),ye]})}return n})(),Je=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=X({type:n});static \u0275inj=z({imports:[ne,pi,Wt]})}return n})();var Xi=["switch"],qi=["*"];function Ki(n,f){n&1&&(s(0,"span",10),De(),s(1,"svg",12),p(2,"path",13),o(),s(3,"svg",14),p(4,"path",15),o()())}var Qi=new E("mat-slide-toggle-default-options",{providedIn:"root",factory:()=>({disableToggleValue:!1,hideIcon:!1,disabledInteractive:!1})}),ji={provide:He,useExisting:Re(()=>fe),multi:!0},$e=class{source;checked;constructor(f,e){this.source=f,this.checked=e}},fe=(()=>{class n{_elementRef=r(F);_focusMonitor=r(We);_changeDetectorRef=r(L);defaults=r(Qi);_onChange=e=>{};_onTouched=()=>{};_validatorOnChange=()=>{};_uniqueId;_checked=!1;_createChangeEvent(e){return new $e(this,e)}_labelId;get buttonId(){return`${this.id||this._uniqueId}-button`}_switchElement;focus(){this._switchElement.nativeElement.focus()}_noopAnimations;_focused;name=null;id;labelPosition="after";ariaLabel=null;ariaLabelledby=null;ariaDescribedby;required;color;disabled=!1;disableRipple=!1;tabIndex=0;get checked(){return this._checked}set checked(e){this._checked=e,this._changeDetectorRef.markForCheck()}hideIcon;disabledInteractive;change=new M;toggleChange=new M;get inputId(){return`${this.id||this._uniqueId}-input`}constructor(){r(he).load(me);let e=r(new Pe("tabindex"),{optional:!0}),t=this.defaults,i=r(re,{optional:!0});this.tabIndex=e==null?0:parseInt(e)||0,this.color=t.color||"accent",this._noopAnimations=i==="NoopAnimations",this.id=this._uniqueId=r(ie).getId("mat-mdc-slide-toggle-"),this.hideIcon=t.hideIcon??!1,this.disabledInteractive=t.disabledInteractive??!1,this._labelId=this._uniqueId+"-label"}ngAfterContentInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(e=>{e==="keyboard"||e==="program"?(this._focused=!0,this._changeDetectorRef.markForCheck()):e||Promise.resolve().then(()=>{this._focused=!1,this._onTouched(),this._changeDetectorRef.markForCheck()})})}ngOnChanges(e){e.required&&this._validatorOnChange()}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}writeValue(e){this.checked=!!e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}validate(e){return this.required&&e.value!==!0?{required:!0}:null}registerOnValidatorChange(e){this._validatorOnChange=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck()}toggle(){this.checked=!this.checked,this._onChange(this.checked)}_emitChangeEvent(){this._onChange(this.checked),this.change.emit(this._createChangeEvent(this.checked))}_handleClick(){this.disabled||(this.toggleChange.emit(),this.defaults.disableToggleValue||(this.checked=!this.checked,this._onChange(this.checked),this.change.emit(new $e(this,this.checked))))}_getAriaLabelledBy(){return this.ariaLabelledby?this.ariaLabelledby:this.ariaLabel?null:this._labelId}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["mat-slide-toggle"]],viewQuery:function(t,i){if(t&1&&N(Xi,5),t&2){let a;T(a=I())&&(i._switchElement=a.first)}},hostAttrs:[1,"mat-mdc-slide-toggle"],hostVars:13,hostBindings:function(t,i){t&2&&(xt("id",i.id),O("tabindex",null)("aria-label",null)("name",null)("aria-labelledby",null),xe(i.color?"mat-"+i.color:""),U("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",v],color:"color",disabled:[2,"disabled","disabled",v],disableRipple:[2,"disableRipple","disableRipple",v],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:A(e)],checked:[2,"checked","checked",v],hideIcon:[2,"hideIcon","hideIcon",v],disabledInteractive:[2,"disabledInteractive","disabledInteractive",v]},outputs:{change:"change",toggleChange:"toggleChange"},exportAs:["matSlideToggle"],features:[D([ji,{provide:Xt,useExisting:n,multi:!0}]),ae],ngContentSelectors:qi,decls:13,vars:27,consts:[["switch",""],["mat-internal-form-field","",3,"labelPosition"],["role","switch","type","button",1,"mdc-switch",3,"click","tabIndex","disabled"],[1,"mdc-switch__track"],[1,"mdc-switch__handle-track"],[1,"mdc-switch__handle"],[1,"mdc-switch__shadow"],[1,"mdc-elevation-overlay"],[1,"mdc-switch__ripple"],["mat-ripple","",1,"mat-mdc-slide-toggle-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-switch__icons"],[1,"mdc-label",3,"click","for"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--on"],["d","M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z"],["viewBox","0 0 24 24","aria-hidden","true",1,"mdc-switch__icon","mdc-switch__icon--off"],["d","M20 13H4v-2h16v2z"]],template:function(t,i){if(t&1){let a=q();te(),s(0,"div",1)(1,"button",2,0),b("click",function(){return _(a),g(i._handleClick())}),p(3,"span",3),s(4,"span",4)(5,"span",5)(6,"span",6),p(7,"span",7),o(),s(8,"span",8),p(9,"span",9),o(),w(10,Ki,5,0,"span",10),o()()(),s(11,"label",11),b("click",function(d){return _(a),g(d.stopPropagation())}),V(12),o()()}if(t&2){let a=B(2);u("labelPosition",i.labelPosition),h(),U("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),u("tabIndex",i.disabled&&!i.disabledInteractive?-1:i.tabIndex)("disabled",i.disabled&&!i.disabledInteractive),O("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),h(8),u("matRippleTrigger",a)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0),h(),y(i.hideIcon?-1:10),h(),u("for",i.buttonId),O("id",i._labelId)}},dependencies:[Te,$t],styles:[`.mdc-switch{align-items:center;background:none;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;margin:0;outline:none;overflow:visible;padding:0;position:relative;width:var(--mdc-switch-track-width, 52px)}.mdc-switch.mdc-switch--disabled{cursor:default;pointer-events:none}.mdc-switch.mat-mdc-slide-toggle-disabled-interactive{pointer-events:auto}.mdc-switch__track{overflow:hidden;position:relative;width:100%;height:var(--mdc-switch-track-height, 32px);border-radius:var(--mdc-switch-track-shape, var(--mat-sys-corner-full))}.mdc-switch--disabled.mdc-switch .mdc-switch__track{opacity:var(--mdc-switch-disabled-track-opacity, 0.12)}.mdc-switch__track::before,.mdc-switch__track::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;width:100%;border-width:var(--mat-switch-track-outline-width, 2px);border-color:var(--mat-switch-track-outline-color, var(--mat-sys-outline))}.mdc-switch--selected .mdc-switch__track::before,.mdc-switch--selected .mdc-switch__track::after{border-width:var(--mat-switch-selected-track-outline-width, 2px);border-color:var(--mat-switch-selected-track-outline-color, transparent)}.mdc-switch--disabled .mdc-switch__track::before,.mdc-switch--disabled .mdc-switch__track::after{border-width:var(--mat-switch-disabled-unselected-track-outline-width, 2px);border-color:var(--mat-switch-disabled-unselected-track-outline-color, var(--mat-sys-on-surface))}@media(forced-colors: active){.mdc-switch__track{border-color:currentColor}}.mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:translateX(0);background:var(--mdc-switch-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__track::before{transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.6, 1);transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch--selected .mdc-switch__track::before{transform:translateX(-100%)}.mdc-switch--selected .mdc-switch__track::before{opacity:var(--mat-switch-hidden-track-opacity, 0);transition:var(--mat-switch-hidden-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::before{opacity:var(--mat-switch-visible-track-opacity, 1);transition:var(--mat-switch-visible-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-hover-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before{background:var(--mdc-switch-unselected-focus-track-color, var(--mat-sys-surface-variant))}.mdc-switch:enabled:active .mdc-switch__track::before{background:var(--mdc-switch-unselected-pressed-track-color, var(--mat-sys-surface-variant))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::before,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::before,.mdc-switch.mdc-switch--disabled .mdc-switch__track::before{background:var(--mdc-switch-disabled-unselected-track-color, var(--mat-sys-surface-variant))}.mdc-switch__track::after{transform:translateX(-100%);background:var(--mdc-switch-selected-track-color, var(--mat-sys-primary))}[dir=rtl] .mdc-switch__track::after{transform:translateX(100%)}.mdc-switch--selected .mdc-switch__track::after{transform:translateX(0)}.mdc-switch--selected .mdc-switch__track::after{opacity:var(--mat-switch-visible-track-opacity, 1);transition:var(--mat-switch-visible-track-transition, opacity 75ms)}.mdc-switch--unselected .mdc-switch__track::after{opacity:var(--mat-switch-hidden-track-opacity, 0);transition:var(--mat-switch-hidden-track-transition, opacity 75ms)}.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-hover-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after{background:var(--mdc-switch-selected-focus-track-color, var(--mat-sys-primary))}.mdc-switch:enabled:active .mdc-switch__track::after{background:var(--mdc-switch-selected-pressed-track-color, var(--mat-sys-primary))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__track::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__track::after,.mdc-switch.mdc-switch--disabled .mdc-switch__track::after{background:var(--mdc-switch-disabled-selected-track-color, var(--mat-sys-on-surface))}.mdc-switch__handle-track{height:100%;pointer-events:none;position:absolute;top:0;transition:transform 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);left:0;right:auto;transform:translateX(0);width:calc(100% - var(--mdc-switch-handle-width))}[dir=rtl] .mdc-switch__handle-track{left:auto;right:0}.mdc-switch--selected .mdc-switch__handle-track{transform:translateX(100%)}[dir=rtl] .mdc-switch--selected .mdc-switch__handle-track{transform:translateX(-100%)}.mdc-switch__handle{display:flex;pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);left:0;right:auto;transition:width 75ms cubic-bezier(0.4, 0, 0.2, 1),height 75ms cubic-bezier(0.4, 0, 0.2, 1),margin 75ms cubic-bezier(0.4, 0, 0.2, 1);width:var(--mdc-switch-handle-width);height:var(--mdc-switch-handle-height);border-radius:var(--mdc-switch-handle-shape, var(--mat-sys-corner-full))}[dir=rtl] .mdc-switch__handle{left:auto;right:0}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle{width:var(--mat-switch-unselected-handle-size, 16px);height:var(--mat-switch-unselected-handle-size, 16px);margin:var(--mat-switch-unselected-handle-horizontal-margin, 0 8px)}.mat-mdc-slide-toggle .mdc-switch--unselected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-unselected-with-icon-handle-horizontal-margin, 0 4px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle{width:var(--mat-switch-selected-handle-size, 24px);height:var(--mat-switch-selected-handle-size, 24px);margin:var(--mat-switch-selected-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch--selected .mdc-switch__handle:has(.mdc-switch__icons){margin:var(--mat-switch-selected-with-icon-handle-horizontal-margin, 0 24px)}.mat-mdc-slide-toggle .mdc-switch__handle:has(.mdc-switch__icons){width:var(--mat-switch-with-icon-handle-size, 24px);height:var(--mat-switch-with-icon-handle-size, 24px)}.mat-mdc-slide-toggle .mdc-switch:active:not(.mdc-switch--disabled) .mdc-switch__handle{width:var(--mat-switch-pressed-handle-size, 28px);height:var(--mat-switch-pressed-handle-size, 28px)}.mat-mdc-slide-toggle .mdc-switch--selected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-selected-pressed-handle-horizontal-margin, 0 22px)}.mat-mdc-slide-toggle .mdc-switch--unselected:active:not(.mdc-switch--disabled) .mdc-switch__handle{margin:var(--mat-switch-unselected-pressed-handle-horizontal-margin, 0 2px)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-selected-handle-opacity, 1)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__handle::after{opacity:var(--mat-switch-disabled-unselected-handle-opacity, 0.38)}.mdc-switch__handle::before,.mdc-switch__handle::after{border:1px solid rgba(0,0,0,0);border-radius:inherit;box-sizing:border-box;content:"";width:100%;height:100%;left:0;position:absolute;top:0;transition:background-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1),border-color 75ms 0ms cubic-bezier(0.4, 0, 0.2, 1);z-index:-1}@media(forced-colors: active){.mdc-switch__handle::before,.mdc-switch__handle::after{border-color:currentColor}}.mdc-switch--selected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-selected-handle-color, var(--mat-sys-on-primary))}.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-hover-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-selected-focus-handle-color, var(--mat-sys-primary-container))}.mdc-switch--selected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-selected-pressed-handle-color, var(--mat-sys-primary-container))}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:hover:not(:focus):not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:focus:not(:active) .mdc-switch__handle::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled.mdc-switch--selected:active .mdc-switch__handle::after,.mdc-switch--selected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-selected-handle-color, var(--mat-sys-surface))}.mdc-switch--unselected:enabled .mdc-switch__handle::after{background:var(--mdc-switch-unselected-handle-color, var(--mat-sys-outline))}.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-hover-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after{background:var(--mdc-switch-unselected-focus-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected:enabled:active .mdc-switch__handle::after{background:var(--mdc-switch-unselected-pressed-handle-color, var(--mat-sys-on-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__handle::after{background:var(--mdc-switch-disabled-unselected-handle-color, var(--mat-sys-on-surface))}.mdc-switch__handle::before{background:var(--mdc-switch-handle-surface-color)}.mdc-switch__shadow{border-radius:inherit;bottom:0;left:0;position:absolute;right:0;top:0}.mdc-switch:enabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-handle-elevation-shadow)}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:hover:not(:focus):not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:focus:not(:active) .mdc-switch__shadow,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:active .mdc-switch__shadow,.mdc-switch.mdc-switch--disabled .mdc-switch__shadow{box-shadow:var(--mdc-switch-disabled-handle-elevation-shadow)}.mdc-switch__ripple{left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);z-index:-1;width:var(--mdc-switch-state-layer-size, 40px);height:var(--mdc-switch-state-layer-size, 40px)}.mdc-switch__ripple::after{content:"";opacity:0}.mdc-switch--disabled .mdc-switch__ripple::after{display:none}.mat-mdc-slide-toggle-disabled-interactive .mdc-switch__ripple::after{display:block}.mdc-switch:hover .mdc-switch__ripple::after{opacity:.04;transition:75ms opacity cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mdc-switch .mdc-switch__ripple::after{opacity:.12}.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:focus .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:active .mdc-switch__ripple::after,.mat-mdc-slide-toggle-disabled-interactive.mdc-switch--disabled:enabled:hover:not(:focus) .mdc-switch__ripple::after,.mdc-switch--unselected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-hover-state-layer-color, var(--mat-sys-on-surface))}.mdc-switch--unselected:enabled:focus .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-focus-state-layer-color, var(--mat-sys-on-surface))}.mdc-switch--unselected:enabled:active .mdc-switch__ripple::after{background:var(--mdc-switch-unselected-pressed-state-layer-color, var(--mat-sys-on-surface));opacity:var(--mdc-switch-unselected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after{background:var(--mdc-switch-selected-hover-state-layer-color, var(--mat-sys-primary))}.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after{background:var(--mdc-switch-selected-focus-state-layer-color, var(--mat-sys-primary))}.mdc-switch--selected:enabled:active .mdc-switch__ripple::after{background:var(--mdc-switch-selected-pressed-state-layer-color, var(--mat-sys-primary));opacity:var(--mdc-switch-selected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));transition:opacity 75ms linear}.mdc-switch__icons{position:relative;height:100%;width:100%;z-index:1;transform:translateZ(0)}.mdc-switch--disabled.mdc-switch--unselected .mdc-switch__icons{opacity:var(--mdc-switch-disabled-unselected-icon-opacity, 0.38)}.mdc-switch--disabled.mdc-switch--selected .mdc-switch__icons{opacity:var(--mdc-switch-disabled-selected-icon-opacity, 0.38)}.mdc-switch__icon{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;opacity:0;transition:opacity 30ms 0ms cubic-bezier(0.4, 0, 1, 1)}.mdc-switch--unselected .mdc-switch__icon{width:var(--mdc-switch-unselected-icon-size, 16px);height:var(--mdc-switch-unselected-icon-size, 16px);fill:var(--mdc-switch-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--unselected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-unselected-icon-color, var(--mat-sys-surface-variant))}.mdc-switch--selected .mdc-switch__icon{width:var(--mdc-switch-selected-icon-size, 16px);height:var(--mdc-switch-selected-icon-size, 16px);fill:var(--mdc-switch-selected-icon-color, var(--mat-sys-on-primary-container))}.mdc-switch--selected.mdc-switch--disabled .mdc-switch__icon{fill:var(--mdc-switch-disabled-selected-icon-color, var(--mat-sys-on-surface))}.mdc-switch--selected .mdc-switch__icon--on,.mdc-switch--unselected .mdc-switch__icon--off{opacity:1;transition:opacity 45ms 30ms cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-slide-toggle{-webkit-user-select:none;user-select:none;display:inline-block;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:0}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,.mat-mdc-slide-toggle .mdc-switch__ripple::after{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple:not(:empty),.mat-mdc-slide-toggle .mdc-switch__ripple::after:not(:empty){transform:translateZ(0)}.mat-mdc-slide-toggle.mat-mdc-slide-toggle-focused .mat-focus-indicator::before{content:""}.mat-mdc-slide-toggle .mat-internal-form-field{color:var(--mat-switch-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-switch-label-text-font, var(--mat-sys-body-medium-font));line-height:var(--mat-switch-label-text-line-height, var(--mat-sys-body-medium-line-height));font-size:var(--mat-switch-label-text-size, var(--mat-sys-body-medium-size));letter-spacing:var(--mat-switch-label-text-tracking, var(--mat-sys-body-medium-tracking));font-weight:var(--mat-switch-label-text-weight, var(--mat-sys-body-medium-weight))}.mat-mdc-slide-toggle .mat-ripple-element{opacity:.12}.mat-mdc-slide-toggle .mat-focus-indicator::before{border-radius:50%}.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle-track,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__icon,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__handle::after,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::before,.mat-mdc-slide-toggle._mat-animation-noopable .mdc-switch__track::after{transition:none}.mat-mdc-slide-toggle .mdc-switch:enabled+.mdc-label{cursor:pointer}.mat-mdc-slide-toggle .mdc-switch--disabled+label{color:var(--mdc-switch-disabled-label-text-color)}
4
4
  `],encapsulation:2,changeDetection:0})}return n})();var fi=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=X({type:n});static \u0275inj=z({imports:[fe,ne,ne]})}return n})();var Zi=["notificationsForm"],Yi=["statePanel"],Ji=["soundPanel"];function $i(n,f){n&1&&(s(0,"mat-panel-description"),l(1," Show or hide menu items based on their state "),o())}function en(n,f){n&1&&(s(0,"mat-panel-description"),l(1," Mute and unmute data state audio prompts "),o())}var bi=(()=>{class n{app=r(j);settings=r(Q);_responsive=r(ze);isPhonePortrait;notificationsForm=H("notificationsForm");statePanel=H("statePanel");soundPanel=H("soundPanel");notificationConfig;notificationDisabledExpandPanel=!1;constructor(){this.isPhonePortrait=ce(this._responsive.observe(je.HandsetPortrait)),this.notificationConfig=nt(this.settings.getNotificationConfig())}saveAllSettings(){this.settings.setNotificationConfig(nt(this.notificationConfig)),this.notificationsForm().form.markAsPristine(),this.app.sendSnackbarNotification("Configuration saved",5e3,!1)}togglePanel(e){e.checked&&(this.notificationDisabledExpandPanel=!1,this.statePanel().close(),this.soundPanel().close())}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["settings-notifications"]],viewQuery:function(t,i){t&1&&(K(i.notificationsForm,Zi,5),K(i.statePanel,Yi,5),K(i.soundPanel,Ji,5)),t&2&&le(3)},decls:64,vars:17,consts:[["notificationsForm","ngForm"],["statePanel",""],["soundPanel",""],["id","notificationSetting",3,"ngSubmit"],["name","disableNotifications","color","primary",3,"ngModelChange","change","ngModel"],[3,"disabled"],["name","showNormalState",3,"ngModelChange","ngModel"],["name","showNominalState",3,"ngModelChange","ngModel"],["name","=disableSound",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 a=q();s(0,"form",3,0),b("ngSubmit",function(){return _(a),g(i.saveAllSettings())}),s(2,"p"),l(3,"Manage notification settings, ensuring operators stay informed about critical events."),o(),s(4,"mat-slide-toggle",4),C("ngModelChange",function(d){return _(a),k(i.notificationConfig.disableNotifications,d)||(i.notificationConfig.disableNotifications=d),g(d)}),b("change",function(d){return _(a),g(i.togglePanel(d))}),l(5," Disable Notifications "),o(),p(6,"br")(7,"br"),s(8,"mat-accordion")(9,"mat-expansion-panel",5,1)(11,"mat-expansion-panel-header")(12,"mat-panel-title"),l(13," Notifications "),o(),w(14,$i,2,0,"mat-panel-description"),o(),s(15,"mat-checkbox",6),C("ngModelChange",function(d){return _(a),k(i.notificationConfig.devices.showNormalState,d)||(i.notificationConfig.devices.showNormalState=d),g(d)}),l(16," Show "),s(17,"b"),l(18,"Normal"),o(),l(19," state "),o(),p(20,"br"),s(21,"mat-checkbox",7),C("ngModelChange",function(d){return _(a),k(i.notificationConfig.devices.showNominalState,d)||(i.notificationConfig.devices.showNominalState=d),g(d)}),l(22," Show "),s(23,"b"),l(24,"Nominal"),o(),l(25," state "),o()(),s(26,"mat-expansion-panel",5,2)(28,"mat-expansion-panel-header")(29,"mat-panel-title"),l(30," Audio Prompts "),o(),w(31,en,2,0,"mat-panel-description"),o(),s(32,"mat-checkbox",8),C("ngModelChange",function(d){return _(a),k(i.notificationConfig.sound.disableSound,d)||(i.notificationConfig.sound.disableSound=d),g(d)}),l(33," Mute "),s(34,"b"),l(35,"all Notifications"),o()(),p(36,"br"),s(37,"mat-checkbox",9),C("ngModelChange",function(d){return _(a),k(i.notificationConfig.sound.muteAlert,d)||(i.notificationConfig.sound.muteAlert=d),g(d)}),l(38," Mute "),s(39,"b"),l(40,"all Alert"),o(),l(41," state "),o(),p(42,"br"),s(43,"mat-checkbox",10),C("ngModelChange",function(d){return _(a),k(i.notificationConfig.sound.muteWarn,d)||(i.notificationConfig.sound.muteWarn=d),g(d)}),l(44," Mute "),s(45,"b"),l(46,"all Warn"),o(),l(47," state "),o(),p(48,"br"),s(49,"mat-checkbox",11),C("ngModelChange",function(d){return _(a),k(i.notificationConfig.sound.muteAlarm,d)||(i.notificationConfig.sound.muteAlarm=d),g(d)}),l(50," Mute "),s(51,"b"),l(52,"all Alarm"),o(),l(53," state "),o(),p(54,"br"),s(55,"mat-checkbox",12),C("ngModelChange",function(d){return _(a),k(i.notificationConfig.sound.muteEmergency,d)||(i.notificationConfig.sound.muteEmergency=d),g(d)}),l(56," Mute "),s(57,"b"),l(58,"all Emergency"),o(),l(59," state "),o()()(),s(60,"div",13),p(61,"mat-divider",14),s(62,"button",15),l(63,"Save"),o()()()}if(t&2){let a=B(1);h(4),S("ngModel",i.notificationConfig.disableNotifications),h(5),u("disabled",i.notificationConfig.disableNotifications),h(5),y(i.isPhonePortrait().matches?-1:14),h(),S("ngModel",i.notificationConfig.devices.showNormalState),h(6),S("ngModel",i.notificationConfig.devices.showNominalState),h(5),u("disabled",i.notificationConfig.disableNotifications),h(5),y(i.isPhonePortrait().matches?-1:31),h(),S("ngModel",i.notificationConfig.sound.disableSound),h(5),S("ngModel",i.notificationConfig.sound.muteAlert),u("disabled",i.notificationConfig.sound.disableSound),h(6),S("ngModel",i.notificationConfig.sound.muteWarn),u("disabled",i.notificationConfig.sound.disableSound),h(6),S("ngModel",i.notificationConfig.sound.muteAlarm),u("disabled",i.notificationConfig.sound.disableSound),h(6),S("ngModel",i.notificationConfig.sound.muteEmergency),u("disabled",i.notificationConfig.sound.disableSound),h(7),u("disabled",!a.form.dirty)}},dependencies:[$,J,Z,Y,ue,pe,ge,fi,fe,Je,Ye,Ie,Ee,Ze,Ge,_e,G],encapsulation:2})}return n})();st.register(...oi);var vi=st;var tn=["lineGraph"],lt=()=>({standalone:!1}),nn=()=>({standalone:!0});function an(n,f){n&1&&l(0," Device Access Token ")}function sn(n,f){n&1&&l(0," Session Token ")}function on(n,f){if(n&1&&(w(0,an,1,0)(1,sn,1,0),l(2),Ue(3,"slice")),n&2){let e=R();y(e.authToken.isDeviceAccessToken?0:1),h(2),Oe(" Token: ",Mt(3,2,e.authToken.token,0,20),"... ")}}function rn(n,f){n&1&&l(0," No Authorization Token ")}var wi=(()=>{class n{dialog=r(zt);appSettingsService=r(Q);appService=r(j);DataService=r(Fe);signalKConnectionService=r(Le);signalkRequestsService=r(si);deltaService=r(Pt);auth=r(Dt);lineGraph=H("lineGraph");connectionConfig;authTokenSub;authToken;isLoggedInSub;isLoggedIn;proxyEnabled=!1;endpointServiceStatus;skEndpointServiceStatusSub;streamStatus;skStreamStatusSub;signalkDeltaUpdatesStatsSubscription;lastSecondsUpdate;updatesSeconds=[];_chart=null;textColor;ngOnInit(){this.auth.isLoggedIn$?this.isLoggedIn=!0:this.isLoggedIn=!1,this.connectionConfig=this.appSettingsService.getConnectionConfig(),this.authTokenSub=this.auth.authToken$.subscribe(e=>{e?this.authToken=e:this.authToken=null}),this.isLoggedInSub=this.auth.isLoggedIn$.subscribe(e=>{this.isLoggedIn=e}),this.skEndpointServiceStatusSub=this.signalKConnectionService.getServiceEndpointStatusAsO().subscribe(e=>{this.endpointServiceStatus=e}),this.skStreamStatusSub=this.deltaService.getDataStreamStatusAsO().subscribe(e=>{this.streamStatus=e})}ngAfterViewInit(){this.textColor=window.getComputedStyle(this.lineGraph().nativeElement).color,this._chart?.destroy(),this.startChart(),this.signalkDeltaUpdatesStatsSubscription=this.DataService.getSignalkDeltaUpdateStatistics().subscribe(e=>{this._chart.data.datasets[0].data.push({x:e.timestamp,y:e.value}),this._chart.data.datasets[0].data.length>60&&this._chart.data.datasets[0].data.shift(),this._chart?.update("none")})}openUserCredentialModal(e){this.dialog.open(ri,{data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().subscribe(i=>{i&&(this.connectionConfig.loginName=i.user,this.connectionConfig.loginPassword=i.password,this.connectToServer())})}connectToServer(){if(this.connectionConfig.useSharedConfig&&(!this.connectionConfig.loginName||!this.connectionConfig.loginPassword)){this.openUserCredentialModal("Credentials required");return}this.connectionConfig.signalKUrl!==this.appSettingsService.signalkUrl.url||this.connectionConfig.proxyEnabled!==this.appSettingsService.proxyEnabled||this.connectionConfig.signalKSubscribeAll!==this.appSettingsService.signalKSubscribeAll?(this.appSettingsService.setConnectionConfig(this.connectionConfig),this.connectionConfig.useSharedConfig?this.serverLogin(this.connectionConfig.signalKUrl):(this.authToken&&this.auth.deleteToken(),location.reload())):(this.appSettingsService.setConnectionConfig(this.connectionConfig),this.authToken&&this.authToken.isDeviceAccessToken&&this.connectionConfig.useSharedConfig?this.serverLogin(this.connectionConfig.signalKUrl):this.authToken&&!this.authToken.isDeviceAccessToken&&!this.connectionConfig.useSharedConfig?(this.deleteToken(),location.reload()):this.connectionConfig.useSharedConfig?this.serverLogin(this.connectionConfig.signalKUrl):location.reload())}serverLogin(e){this.auth.login({usr:this.connectionConfig.loginName,pwd:this.connectionConfig.loginPassword,newUrl:e}).then(t=>{location.reload()}).catch(t=>{t.status==401?(this.openUserCredentialModal("Sign in failed: Incorrect user/password. Enter valid credentials"),console.log("[Setting-SignalK Component] Sign in failed: "+t.error.message)):t.status==404?(this.appService.sendSnackbarNotification("Sign in failed: Login API not found",5e3,!1),console.log("[Setting-SignalK Component] Sign in failed: "+t.error.message)):t.status==0?(this.appService.sendSnackbarNotification("Sign in failed: Cannot reach server at Signal K URL",5e3,!1),console.log("[Setting-SignalK Component] Sign in failed: Cannot reach server at Signal K URL:"+t.message)):(this.appService.sendSnackbarNotification("Unknown authentication failure: "+JSON.stringify(t),5e3,!1),console.log("[Setting-SignalK Component] Unknown login error response: "+JSON.stringify(t)))})}requestDeviceAccessToken(){this.signalkRequestsService.requestDeviceAccessToken()}deleteToken(){this.auth.deleteToken()}startChart(){this._chart=new vi(this.lineGraph().nativeElement.getContext("2d"),{type:"line",data:{datasets:[{data:[],fill:!0,borderColor:this.textColor}]},options:{maintainAspectRatio:!1,animation:!1,parsing:!1,scales:{x:{type:"time",time:{unit:"minute",minUnit:"second",round:"second",displayFormats:{hour:"k:mm''",minute:"mm''",second:'mm ss"',millisecond:"SSS"}},position:"bottom",ticks:{display:!1,major:{enabled:!0},autoSkip:!1},title:{text:"1 Minute",display:!0},grid:{display:!1}},y:{beginAtZero:!0,type:"linear",position:"right",title:{text:"Delta / Sec",display:!0}}},plugins:{legend:{display:!1,labels:{color:this.textColor}}}}})}useSharedConfigToggleClick(e){if(e.checked){let t=this.signalKConnectionService.serverVersion$.getValue();if(!Rt(t,"1.46.2",">=")){this.appService.sendSnackbarNotification("Configuration sharing requires Signal K version 1.46.2 or better",0),this.connectionConfig.useSharedConfig=!1;return}this.openUserCredentialModal(null)}}ngOnDestroy(){this.skEndpointServiceStatusSub.unsubscribe(),this.skStreamStatusSub.unsubscribe(),this.authTokenSub.unsubscribe(),this.isLoggedInSub.unsubscribe(),this.signalkDeltaUpdatesStatsSubscription.unsubscribe(),this._chart?.destroy()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["settings-signalk"]],viewQuery:function(t,i){t&1&&K(i.lineGraph,tn,5),t&2&&le()},decls:64,vars:24,consts:[["connectionForm","ngForm"],["useSharedConfigToggle",""],["lineGraph",""],["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,"server-status"],[1,"mat-card-subtitle",2,"margin","0px"],[1,"flex-container"],[1,"flex-item-detail"],[1,"fit"],[1,"tableCellLabel"],[1,"tableCellData"],[1,"flex-item-chart"],[2,"z-index","inherit"],[2,"text-align","center"]],template:function(t,i){if(t&1){let a=q();s(0,"form",3,0),b("ngSubmit",function(){return _(a),g(i.connectToServer())}),p(2,"br"),s(3,"table",4)(4,"tr",4)(5,"td",5)(6,"mat-form-field",6)(7,"mat-label"),l(8,"Signal K URL"),o(),s(9,"input",7),C("ngModelChange",function(d){return _(a),k(i.connectionConfig.signalKUrl,d)||(i.connectionConfig.signalKUrl=d),g(d)}),o(),s(10,"mat-error"),l(11,' Valid URL is required. Ex. "https://demo.signalK.org" or "http://my.server.com:3000" '),o()()(),s(12,"td",8)(13,"button",9),l(14," Connect "),o()()(),s(15,"tr",4)(16,"td",10)(17,"mat-slide-toggle",11,1),C("ngModelChange",function(d){return _(a),k(i.connectionConfig.useSharedConfig,d)||(i.connectionConfig.useSharedConfig=d),g(d)}),b("change",function(d){return _(a),g(i.useSharedConfigToggleClick(d))}),l(19," Login to server "),o(),s(20,"button",12),b("click",function(){return _(a),g(i.openUserCredentialModal(null))}),l(21," Set Credential "),o(),p(22,"br"),s(23,"mat-checkbox",13),C("ngModelChange",function(d){return _(a),k(i.connectionConfig.signalKSubscribeAll,d)||(i.connectionConfig.signalKSubscribeAll=d),g(d)}),l(24,"Subscribe to remote sources messages such as AIS and DSC targets. "),s(25,"i"),l(26,"Warning: this maybe generate heavy traffic."),o()()()(),s(27,"tr",4)(28,"td",10)(29,"mat-checkbox",14),C("ngModelChange",function(d){return _(a),k(i.connectionConfig.proxyEnabled,d)||(i.connectionConfig.proxyEnabled=d),g(d)}),l(30,"Signal K server is behind a Proxy"),o()()()()(),s(31,"div",15)(32,"p",16)(33,"strong"),l(34,"Connection Status"),o()(),s(35,"div",17)(36,"div",18)(37,"table",19)(38,"tr")(39,"td",20),l(40," Version: "),o(),s(41,"td",21),l(42),o()(),s(43,"tr")(44,"td",20),l(45," Authorization: "),o(),s(46,"td",21),w(47,on,4,6)(48,rn,1,0),o()(),s(49,"tr")(50,"td",20),l(51," API Endpoint: "),o(),s(52,"td",21),l(53),o()(),s(54,"tr")(55,"td",20),l(56," Data Stream: "),o(),s(57,"td",21),l(58),o()()()(),s(59,"div",22),p(60,"canvas",23,2),o()()(),s(62,"pre",24),l(63),o()}if(t&2){let a=B(1);h(9),S("ngModel",i.connectionConfig.signalKUrl),u("ngModelOptions",Me(20,lt)),h(4),u("disabled",!a.form.valid),h(4),S("ngModel",i.connectionConfig.useSharedConfig),u("ngModelOptions",Me(21,nn))("disabled",!i.connectionConfig.signalKUrl),h(3),u("disabled",!i.connectionConfig.useSharedConfig),h(3),S("ngModel",i.connectionConfig.signalKSubscribeAll),u("ngModelOptions",Me(22,lt)),h(6),S("ngModel",i.connectionConfig.proxyEnabled),u("ngModelOptions",Me(23,lt)),h(13),Oe(" ",i.endpointServiceStatus.serverDescription," "),h(5),y(i.authToken?47:-1),h(),y(i.authToken?-1:48),h(5),Oe(" ",i.endpointServiceStatus.message," "),h(5),St(" ",i.streamStatus.message," - Token: ",i.streamStatus.hasToken," "),h(5),kt("",i.appService.appVersion(),", ",i.appService.browserVersion(),", ",i.appService.osVersion(),"")}},dependencies:[$,J,Ht,Z,Y,Xe,Gt,ue,pe,Ke,qe,Jt,Yt,ge,fe,di,G,At],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}"]})}return n})();var dn=["knob"],ln=["valueIndicatorContainer"];function cn(n,f){if(n&1&&(s(0,"div",2,1)(2,"div",5)(3,"span",6),l(4),o()()()),n&2){let e=R();h(4),Ce(e.valueIndicatorText)}}var hn=["trackActive"],mn=["*"];function pn(n,f){if(n&1&&p(0,"div"),n&2){let e=f.$implicit,t=f.$index,i=R(3);xe(e===0?"mdc-slider__tick-mark--active":"mdc-slider__tick-mark--inactive"),Ne("transform",i._calcTickMarkTransform(t))}}function un(n,f){if(n&1&&Se(0,pn,1,4,"div",8,yt),n&2){let e=R(2);ke(e._tickMarks)}}function _n(n,f){if(n&1&&(s(0,"div",6,1),w(2,un,2,0),o()),n&2){let e=R();h(2),y(e._cachedWidth?2:-1)}}function gn(n,f){if(n&1&&p(0,"mat-slider-visual-thumb",7),n&2){let e=R();u("discrete",e.discrete)("thumbPosition",1)("valueIndicatorText",e.startValueIndicatorText)}}var m=function(n){return n[n.START=1]="START",n[n.END=2]="END",n}(m||{}),be=function(n){return n[n.ACTIVE=0]="ACTIVE",n[n.INACTIVE=1]="INACTIVE",n}(be||{}),ct=new E("_MatSlider"),yi=new E("_MatSliderThumb"),fn=new E("_MatSliderRangeThumb"),xi=new E("_MatSliderVisualThumb");var bn=(()=>{class n{_cdr=r(L);_ngZone=r(se);_slider=r(ct);_renderer=r(we);_listenerCleanups;discrete;thumbPosition;valueIndicatorText;_ripple;_knob;_valueIndicatorContainer;_sliderInput;_sliderInputEl;_hoverRippleRef;_focusRippleRef;_activeRippleRef;_isHovered=!1;_isActive=!1;_isValueIndicatorVisible=!1;_hostElement=r(F).nativeElement;_platform=r(Be);constructor(){}ngAfterViewInit(){let e=this._slider._getInput(this.thumbPosition);e&&(this._ripple.radius=24,this._sliderInput=e,this._sliderInputEl=this._sliderInput._hostElement,this._ngZone.runOutsideAngular(()=>{let 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=!1,this._hideRipple(this._hoverRippleRef)};_onFocus=()=>{this._hideRipple(this._hoverRippleRef),this._showFocusRipple(),this._hostElement.classList.add("mdc-slider__thumb--focused")};_onBlur=()=>{this._isActive||this._hideRipple(this._focusRippleRef),this._isHovered&&this._showHoverRipple(),this._hostElement.classList.remove("mdc-slider__thumb--focused")};_onDragStart=e=>{e.button===0&&(this._isActive=!0,this._showActiveRipple())};_onDragEnd=()=>{this._isActive=!1,this._hideRipple(this._activeRippleRef),this._sliderInput._isFocused||this._hideRipple(this._focusRippleRef),this._platform.SAFARI&&this._showHoverRipple()};_showHoverRipple(){this._isShowingRipple(this._hoverRippleRef)||(this._hoverRippleRef=this._showRipple({enterDuration:0,exitDuration:0}),this._hoverRippleRef?.element.classList.add("mat-mdc-slider-hover-ripple"))}_showFocusRipple(){this._isShowingRipple(this._focusRippleRef)||(this._focusRippleRef=this._showRipple({enterDuration:0,exitDuration:0},!0),this._focusRippleRef?.element.classList.add("mat-mdc-slider-focus-ripple"))}_showActiveRipple(){this._isShowingRipple(this._activeRippleRef)||(this._activeRippleRef=this._showRipple({enterDuration:225,exitDuration:400}),this._activeRippleRef?.element.classList.add("mat-mdc-slider-active-ripple"))}_isShowingRipple(e){return e?.state===at.FADING_IN||e?.state===at.VISIBLE}_showRipple(e,t){if(!this._slider.disabled&&(this._showValueIndicator(),this._slider._isRange&&this._slider._getThumb(this.thumbPosition===m.START?m.END:m.START)._showValueIndicator(),!(this._slider._globalRippleOptions?.disabled&&!t)))return this._ripple.launch({animation:this._slider._noopAnimations?{enterDuration:0,exitDuration:0}:e,centered:!0,persistent:!0})}_hideRipple(e){if(e?.fadeOut(),this._isShowingAnyRipple())return;this._slider._isRange||this._hideValueIndicator();let 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===m.START?m.END:m.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=x({type:n,selectors:[["mat-slider-visual-thumb"]],viewQuery:function(t,i){if(t&1&&(N(Te,5),N(dn,5),N(ln,5)),t&2){let a;T(a=I())&&(i._ripple=a.first),T(a=I())&&(i._knob=a.first),T(a=I())&&(i._valueIndicatorContainer=a.first)}},hostAttrs:[1,"mdc-slider__thumb","mat-mdc-slider-visual-thumb"],inputs:{discrete:"discrete",thumbPosition:"thumbPosition",valueIndicatorText:"valueIndicatorText"},features:[D([{provide:xi,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,cn,5,1,"div",2),p(1,"div",3,0)(3,"div",4)),t&2&&(y(i.discrete?0:-1),h(3),u("matRippleDisabled",!0))},dependencies:[Te],styles:[`.mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}.mat-mdc-slider .mdc-slider__tick-marks{justify-content:start}.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--active,.mat-mdc-slider .mdc-slider__tick-marks .mdc-slider__tick-mark--inactive{position:absolute;left:2px}
@@ -1 +1 @@
1
- import{a as c}from"./chunk-WRDOUMT5.js";import{g as l}from"./chunk-CD375FDG.js";import"./chunk-SGYCFQGT.js";import{a as g}from"./chunk-AKQTC2P7.js";import"./chunk-7TWI6ZJI.js";import{g as a,n as r}from"./chunk-D3QHJ7S5.js";import{Hb as s,ua as t}from"./chunk-Y7X77HSW.js";var v=(()=>{class o{dialog=t(l);auth=t(r);appService=t(g);appSettingsService=t(a);connectionConfig=null;ngOnInit(){this.connectionConfig=this.appSettingsService.getConnectionConfig(),this.openUserCredentialModal("Sign in failed: Incorrect user/password. Enter valide credentials or access the Confifuration/Settings menu, validate the server URL or/and disable the user Sign in option")}openUserCredentialModal(e){this.dialog.open(c,{disableClose:!0,data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().subscribe(i=>{i===void 0||!i||(this.connectionConfig.loginName=i.user,this.connectionConfig.loginPassword=i.password,this.appSettingsService.setConnectionConfig(this.connectionConfig),this.serverLogin())})}serverLogin(e){this.auth.login({usr:this.connectionConfig.loginName,pwd:this.connectionConfig.loginPassword,newUrl:e}).then(n=>{this.appSettingsService.reloadApp()}).catch(n=>{n.status==401?(this.openUserCredentialModal("Sign in failed: Invalide user/password. Enter valide credentials"),console.log("[Setting-SignalK Component] Sign in failed: "+n.error.message)):n.status==404?(this.appService.sendSnackbarNotification("Sign in failed: Login API not found at URL. See connection detail status in Configuration/Settings",5e3,!1),console.log("[Setting-SignalK Component] Sign in failed: "+n.error.message)):n.status==0?(this.appService.sendSnackbarNotification("Sign in failed: Cannot reach server at Signal K URL. See connection detail status in Configuration/Settings",5e3,!1),console.log("[Setting-SignalK Component] Sign in failed: Cannot reach server at Signal K URL:"+n.message)):(this.appService.sendSnackbarNotification("Unknown authentication failure: "+JSON.stringify(n),5e3,!1),console.log("[Setting-SignalK Component] Unknown login error response: "+JSON.stringify(n)))})}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=s({type:o,selectors:[["app-widget-login"]],decls:0,vars:0,template:function(n,i){},encapsulation:2})}return o})();export{v as WidgetLoginComponent};
1
+ import{a as c}from"./chunk-WRDOUMT5.js";import{g as l}from"./chunk-CD375FDG.js";import"./chunk-SGYCFQGT.js";import{a as g}from"./chunk-23ZXPO62.js";import"./chunk-7TWI6ZJI.js";import{g as a,n as r}from"./chunk-D3QHJ7S5.js";import{Hb as s,ua as t}from"./chunk-Y7X77HSW.js";var v=(()=>{class o{dialog=t(l);auth=t(r);appService=t(g);appSettingsService=t(a);connectionConfig=null;ngOnInit(){this.connectionConfig=this.appSettingsService.getConnectionConfig(),this.openUserCredentialModal("Sign in failed: Incorrect user/password. Enter valide credentials or access the Confifuration/Settings menu, validate the server URL or/and disable the user Sign in option")}openUserCredentialModal(e){this.dialog.open(c,{disableClose:!0,data:{user:this.connectionConfig.loginName,password:this.connectionConfig.loginPassword,error:e}}).afterClosed().subscribe(i=>{i===void 0||!i||(this.connectionConfig.loginName=i.user,this.connectionConfig.loginPassword=i.password,this.appSettingsService.setConnectionConfig(this.connectionConfig),this.serverLogin())})}serverLogin(e){this.auth.login({usr:this.connectionConfig.loginName,pwd:this.connectionConfig.loginPassword,newUrl:e}).then(n=>{this.appSettingsService.reloadApp()}).catch(n=>{n.status==401?(this.openUserCredentialModal("Sign in failed: Invalide user/password. Enter valide credentials"),console.log("[Setting-SignalK Component] Sign in failed: "+n.error.message)):n.status==404?(this.appService.sendSnackbarNotification("Sign in failed: Login API not found at URL. See connection detail status in Configuration/Settings",5e3,!1),console.log("[Setting-SignalK Component] Sign in failed: "+n.error.message)):n.status==0?(this.appService.sendSnackbarNotification("Sign in failed: Cannot reach server at Signal K URL. See connection detail status in Configuration/Settings",5e3,!1),console.log("[Setting-SignalK Component] Sign in failed: Cannot reach server at Signal K URL:"+n.message)):(this.appService.sendSnackbarNotification("Unknown authentication failure: "+JSON.stringify(n),5e3,!1),console.log("[Setting-SignalK Component] Unknown login error response: "+JSON.stringify(n)))})}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=s({type:o,selectors:[["app-widget-login"]],decls:0,vars:0,template:function(n,i){},encapsulation:2})}return o})();export{v as WidgetLoginComponent};