homebridge-config-ui-x 4.76.0 → 4.77.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/config.schema.json +24 -93
  3. package/dist/core/auth/auth.controller.d.ts +29 -2
  4. package/dist/core/config/config.service.d.ts +35 -3
  5. package/dist/core/config/config.service.js +32 -1
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/main.js +1 -0
  8. package/dist/main.js.map +1 -1
  9. package/dist/modules/config-editor/config-editor.controller.d.ts +6 -0
  10. package/dist/modules/config-editor/config-editor.controller.js +28 -0
  11. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  12. package/dist/modules/config-editor/config-editor.service.d.ts +4 -0
  13. package/dist/modules/config-editor/config-editor.service.js +62 -4
  14. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  15. package/dist/modules/plugins/plugins.service.js +1 -6
  16. package/dist/modules/plugins/plugins.service.js.map +1 -1
  17. package/package.json +5 -5
  18. package/public/3rdpartylicenses.txt +73 -73
  19. package/public/chunk-24S6ALM2.js +1 -0
  20. package/public/{chunk-YM5DEMA2.js → chunk-2EFKVGXC.js} +1 -1
  21. package/public/{chunk-OHFVMRCL.js → chunk-2EMPNH2X.js} +1 -1
  22. package/public/chunk-2KYXNFBH.js +8 -0
  23. package/public/chunk-465FDVEK.js +1 -0
  24. package/public/chunk-4FU22DT7.js +1 -0
  25. package/public/chunk-4LR5VWUC.js +6 -0
  26. package/public/{chunk-JRQEWFL4.js → chunk-4VKEWS3F.js} +1 -1
  27. package/public/chunk-55YFMLUE.js +1 -0
  28. package/public/{chunk-D26UVXC6.js → chunk-6GS3MX3C.js} +1 -1
  29. package/public/{chunk-3OSK5OW7.js → chunk-6NOBHOU7.js} +18 -18
  30. package/public/chunk-7DTLDJJT.js +1 -0
  31. package/public/chunk-7FPP3MYG.js +1 -0
  32. package/public/{chunk-P6S67JES.js → chunk-A7PFFBOX.js} +1 -1
  33. package/public/chunk-AG55LMC7.js +1 -0
  34. package/public/{chunk-ZCCLGLMW.js → chunk-ANCTYTNR.js} +1 -1
  35. package/public/chunk-BYNQ7XGV.js +1 -0
  36. package/public/chunk-CEC3XQIL.js +14 -0
  37. package/public/chunk-CH2CBXMV.js +1 -0
  38. package/public/{chunk-2QXNFD4L.js → chunk-DCJDALKI.js} +1 -1
  39. package/public/{chunk-6SEBWKRM.js → chunk-DQBVZWYJ.js} +1 -1
  40. package/public/chunk-DQJ5756A.js +1 -0
  41. package/public/chunk-DT4RXIXE.js +1 -0
  42. package/public/chunk-E3IUGVYD.js +1 -0
  43. package/public/{chunk-MMYB2ZMV.js → chunk-EJ3RNOUF.js} +1 -1
  44. package/public/chunk-ETDF3NEV.js +1 -0
  45. package/public/{chunk-J6ICAYDY.js → chunk-EWUBHGYD.js} +1 -1
  46. package/public/chunk-F6AN5NXC.js +1 -0
  47. package/public/chunk-FBYGMZDB.js +1 -0
  48. package/public/{chunk-R3JWGCC5.js → chunk-FDPTBVVC.js} +1 -1
  49. package/public/{chunk-M5RAVDOZ.js → chunk-FHKPGKAZ.js} +1 -1
  50. package/public/{chunk-7RHMOJD4.js → chunk-FIDJWZII.js} +1 -1
  51. package/public/{chunk-XJY7A24W.js → chunk-FIDKTTX5.js} +1 -1
  52. package/public/{chunk-6M524CF7.js → chunk-FMIYWTUO.js} +1 -1
  53. package/public/chunk-FR7MRJDJ.js +5 -0
  54. package/public/chunk-GHLE3Z2V.js +2 -0
  55. package/public/{chunk-WWGBT67K.js → chunk-GJWPETAH.js} +1 -1
  56. package/public/{chunk-KPKQNEWS.js → chunk-GOW5VSYJ.js} +1 -1
  57. package/public/{chunk-7LZPZXYJ.js → chunk-HQTJ7IHE.js} +1 -1
  58. package/public/chunk-HYD6ORX5.js +1 -0
  59. package/public/{chunk-SSP2WH7X.js → chunk-IABVME6J.js} +1 -1
  60. package/public/{chunk-KNJE27OR.js → chunk-IF56BKOM.js} +1 -1
  61. package/public/chunk-IJWORUE6.js +1 -0
  62. package/public/chunk-ILKYQD3V.js +1 -0
  63. package/public/{chunk-JVKXR53D.js → chunk-KFFLTMBC.js} +2 -2
  64. package/public/{chunk-SLEKX5ZW.js → chunk-KFK6BFTF.js} +1 -1
  65. package/public/{chunk-I462DY2L.js → chunk-KIL2M56I.js} +1 -1
  66. package/public/chunk-KYLGS4FB.js +1 -0
  67. package/public/{chunk-4O7NT7TT.js → chunk-L3YFIHHA.js} +1 -1
  68. package/public/{chunk-TIE2WSHM.js → chunk-L7P4OVCU.js} +1 -1
  69. package/public/{chunk-TTOIHHUA.js → chunk-N7ZCSZDV.js} +1 -1
  70. package/public/{chunk-QSPBB6EE.js → chunk-NR37MAXW.js} +1 -1
  71. package/public/{chunk-O7QMSLAF.js → chunk-OGIFMNSD.js} +1 -1
  72. package/public/{chunk-YHPS7HTH.js → chunk-OHCAHOAS.js} +1 -1
  73. package/public/chunk-PN2GLNQY.js +1 -0
  74. package/public/chunk-QBSQAMXJ.js +1 -0
  75. package/public/{chunk-3UI2RHE7.js → chunk-QWYQ4MOD.js} +1 -1
  76. package/public/chunk-R2HCIEM2.js +1 -0
  77. package/public/{chunk-HCBOC2IE.js → chunk-R3A525ZT.js} +1 -1
  78. package/public/chunk-R5UK7YY3.js +1 -0
  79. package/public/chunk-S6LNXP6Q.js +1 -0
  80. package/public/chunk-SLK7BIMW.js +1 -0
  81. package/public/{chunk-NFTKN5FB.js → chunk-T2A2NDVY.js} +1 -1
  82. package/public/chunk-U566L526.js +1 -0
  83. package/public/chunk-UEAV7HEN.js +1 -0
  84. package/public/chunk-VB5JSBSA.js +1 -0
  85. package/public/chunk-VZ744DRL.js +1 -0
  86. package/public/chunk-W7V4OFRT.js +1 -0
  87. package/public/chunk-WB3S4NVE.js +1 -0
  88. package/public/{chunk-JW2WSFV4.js → chunk-WXKVTGOY.js} +1 -1
  89. package/public/{chunk-G4NGBV4X.js → chunk-XIZM4TQK.js} +1 -1
  90. package/public/{chunk-ELHEUVMQ.js → chunk-XW3AO5JI.js} +1 -1
  91. package/public/{chunk-35OGCMTN.js → chunk-XZPEWUME.js} +1 -1
  92. package/public/{chunk-P5DRV4DP.js → chunk-Y6TXYIFY.js} +6 -6
  93. package/public/chunk-YBPNSHGN.js +1 -0
  94. package/public/chunk-YVYPOEEK.js +1 -0
  95. package/public/{chunk-HHPGR3HF.js → chunk-YWKZ3P6I.js} +1 -1
  96. package/public/{chunk-QY7HUYL5.js → chunk-ZOLUFCSO.js} +1 -1
  97. package/public/chunk-ZT7FHVUF.js +1 -0
  98. package/public/index.html +2 -2
  99. package/public/main-T6322FJW.js +1 -0
  100. package/public/{styles-PGYQLREL.css → styles-PKR3EGHP.css} +1 -1
  101. package/public/chunk-23W3KOPX.js +0 -1
  102. package/public/chunk-2UK3TVG5.js +0 -1
  103. package/public/chunk-3P637DAY.js +0 -1
  104. package/public/chunk-3XNLIEKF.js +0 -1
  105. package/public/chunk-6QG5IQ4P.js +0 -1
  106. package/public/chunk-767BKZ7R.js +0 -1
  107. package/public/chunk-77GWB2NW.js +0 -1
  108. package/public/chunk-7ZRJGJS4.js +0 -5
  109. package/public/chunk-DHMNT764.js +0 -6
  110. package/public/chunk-DRQQJII6.js +0 -1
  111. package/public/chunk-ELDYQ6YR.js +0 -1
  112. package/public/chunk-ELY26M6O.js +0 -1
  113. package/public/chunk-ES4OXUT3.js +0 -1
  114. package/public/chunk-GVYGDSJA.js +0 -1
  115. package/public/chunk-GXLP4A7T.js +0 -1
  116. package/public/chunk-ICBBBHGA.js +0 -1
  117. package/public/chunk-IXHEKHOP.js +0 -1
  118. package/public/chunk-KBDUNWU6.js +0 -1
  119. package/public/chunk-KUFAY5CP.js +0 -14
  120. package/public/chunk-L6O2DL5Y.js +0 -1
  121. package/public/chunk-LSTZMB44.js +0 -1
  122. package/public/chunk-MEXZXAVI.js +0 -1
  123. package/public/chunk-MJIXZLEQ.js +0 -1
  124. package/public/chunk-MYUTX6Z7.js +0 -1
  125. package/public/chunk-NUWUI5TL.js +0 -1
  126. package/public/chunk-NWW4GSXL.js +0 -1
  127. package/public/chunk-OKVWPTSO.js +0 -1
  128. package/public/chunk-OPLHZVPF.js +0 -1
  129. package/public/chunk-QDPVD7AX.js +0 -1
  130. package/public/chunk-QI5Q4LLX.js +0 -1
  131. package/public/chunk-S5GO52VD.js +0 -1
  132. package/public/chunk-S5L52QFG.js +0 -8
  133. package/public/chunk-SXUVUFAV.js +0 -1
  134. package/public/chunk-U523HCBT.js +0 -1
  135. package/public/chunk-UEU2XVIZ.js +0 -1
  136. package/public/chunk-URPP7FFC.js +0 -1
  137. package/public/chunk-VBJHDIGP.js +0 -1
  138. package/public/chunk-VOHAH4EQ.js +0 -1
  139. package/public/chunk-VUVQAY4Z.js +0 -1
  140. package/public/chunk-VXQDDKS2.js +0 -1
  141. package/public/chunk-VXWFTLY2.js +0 -1
  142. package/public/chunk-YYBGACDB.js +0 -1
  143. package/public/main-SLEDZ3DR.js +0 -1
@@ -1 +1 @@
1
- import{$ as M,B as F,C as P,D as q,Da as w,L as J,Nc as Z,O as L,Y as R,a as I,fb as N,ga as h,ha as X,ja as v,ka as o,mb as z,ob as W,r as p,t as f,tb as S,x as V}from"./chunk-QSPBB6EE.js";var c=class{},Q=(()=>{class n extends c{getTranslation(e){return p({})}static \u0275fac=(()=>{let e;return function(s){return(e||(e=w(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),b=class{},Y=(()=>{class n{handle(e){return e.key}static \u0275fac=function(t){return new(t||n)};static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})();function j(n,r){if(n===r)return!0;if(n===null||r===null)return!1;if(n!==n&&r!==r)return!0;let e=typeof n,t=typeof r,s,i,a;if(e==t&&e=="object")if(Array.isArray(n)){if(!Array.isArray(r))return!1;if((s=n.length)==r.length){for(i=0;i<s;i++)if(!j(n[i],r[i]))return!1;return!0}}else{if(Array.isArray(r))return!1;a=Object.create(null);for(i in n){if(!j(n[i],r[i]))return!1;a[i]=!0}for(i in r)if(!(i in a)&&typeof r[i]<"u")return!1;return!0}return!1}function u(n){return typeof n<"u"&&n!==null}function D(n){return E(n)&&!H(n)&&n!==null}function E(n){return typeof n=="object"}function H(n){return Array.isArray(n)}function $(n){return typeof n=="string"}function ne(n){return typeof n=="function"}function K(n,r){let e=Object.assign({},n);return E(n)?(E(n)&&E(r)&&Object.keys(r).forEach(t=>{D(r[t])?t in n?e[t]=K(n[t],r[t]):Object.assign(e,{[t]:r[t]}):Object.assign(e,{[t]:r[t]})}),e):K({},r)}function x(n,r){let e=r.split(".");r="";do r+=e.shift(),u(n)&&u(n[r])&&(D(n[r])||H(n[r])||!e.length)?(n=n[r],r=""):e.length?r+=".":n=void 0;while(e.length);return n}function se(n,r,e){let t=r.split("."),s=n;for(let i=0;i<t.length;i++){let a=t[i];i===t.length-1?s[a]=e:((!s[a]||!D(s[a]))&&(s[a]={}),s=s[a])}}var d=class{},k=(()=>{class n extends d{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(e,t){if($(e))return this.interpolateString(e,t);if(ne(e))return this.interpolateFunction(e,t)}interpolateFunction(e,t){return e(t)}interpolateString(e,t){return t?e.replace(this.templateMatcher,(s,i)=>{let a=x(t,i);return u(a)?a:s}):e}static \u0275fac=(()=>{let e;return function(s){return(e||(e=w(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),g=class{},ee=(()=>{class n extends g{compile(e,t){return e}compileTranslations(e,t){return e}static \u0275fac=(()=>{let e;return function(s){return(e||(e=w(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),m=class{defaultLang;currentLang=this.defaultLang;translations={};langs=[];onTranslationChange=new S;onLangChange=new S;onDefaultLangChange=new S},O=new v("ISOLATE_TRANSLATE_SERVICE"),U=new v("USE_DEFAULT_LANG"),_=new v("DEFAULT_LANGUAGE"),B=new v("USE_EXTEND"),C=n=>f(n)?n:p(n),G=(()=>{class n{store;currentLoader;compiler;parser;missingTranslationHandler;useDefaultLang;extend;loadingTranslations;pending=!1;_translationRequests={};lastUseLanguage=null;get onTranslationChange(){return this.store.onTranslationChange}get onLangChange(){return this.store.onLangChange}get onDefaultLangChange(){return this.store.onDefaultLangChange}get defaultLang(){return this.store.defaultLang}set defaultLang(e){this.store.defaultLang=e}get currentLang(){return this.store.currentLang}set currentLang(e){this.store.currentLang=e}get langs(){return this.store.langs}set langs(e){this.store.langs=e}get translations(){return this.store.translations}set translations(e){this.store.translations=e}constructor(e,t,s,i,a,A=!0,l=!1,T=!1,y){this.store=e,this.currentLoader=t,this.compiler=s,this.parser=i,this.missingTranslationHandler=a,this.useDefaultLang=A,this.extend=T,l&&(this.store=new m),y&&this.setDefaultLang(y)}setDefaultLang(e){if(e===this.defaultLang)return;let t=this.retrieveTranslations(e);typeof t<"u"?(this.defaultLang==null&&(this.defaultLang=e),t.pipe(L(1)).subscribe(()=>{this.changeDefaultLang(e)})):this.changeDefaultLang(e)}getDefaultLang(){return this.defaultLang}use(e){if(this.lastUseLanguage=e,e===this.currentLang)return p(this.translations[e]);this.currentLang||(this.currentLang=e);let t=this.retrieveTranslations(e);return f(t)?(t.pipe(L(1)).subscribe(()=>{this.changeLang(e)}),t):(this.changeLang(e),p(this.translations[e]))}changeLang(e){e===this.lastUseLanguage&&(this.currentLang=e,this.onLangChange.emit({lang:e,translations:this.translations[e]}),this.defaultLang==null&&this.changeDefaultLang(e))}retrieveTranslations(e){if(typeof this.translations[e]>"u"||this.extend)return this._translationRequests[e]=this._translationRequests[e]||this.loadAndCompileTranslations(e),this._translationRequests[e]}getTranslation(e){return this.loadAndCompileTranslations(e)}loadAndCompileTranslations(e){this.pending=!0;let t=this.currentLoader.getTranslation(e).pipe(R(1),L(1));return this.loadingTranslations=t.pipe(V(s=>this.compiler.compileTranslations(s,e)),R(1),L(1)),this.loadingTranslations.subscribe({next:s=>{this.translations[e]=this.extend&&this.translations[e]?I(I({},s),this.translations[e]):s,this.updateLangs(),this.pending=!1},error:s=>{this.pending=!1}}),t}setTranslation(e,t,s=!1){let i=this.compiler.compileTranslations(t,e);(s||this.extend)&&this.translations[e]?this.translations[e]=K(this.translations[e],i):this.translations[e]=i,this.updateLangs(),this.onTranslationChange.emit({lang:e,translations:this.translations[e]})}getLangs(){return this.langs}addLangs(e){let t=e.filter(s=>!this.langs.includes(s));t.length>0&&(this.langs=[...this.langs,...t])}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResultForKey(e,t,s){let i;if(e&&(i=this.runInterpolation(x(e,t),s)),i===void 0&&this.defaultLang!=null&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(i=this.runInterpolation(x(this.translations[this.defaultLang],t),s)),i===void 0){let a={key:t,translateService:this};typeof s<"u"&&(a.interpolateParams=s),i=this.missingTranslationHandler.handle(a)}return i!==void 0?i:t}runInterpolation(e,t){if(H(e))return e.map(s=>this.runInterpolation(s,t));if(D(e)){let s={};for(let i in e){let a=this.runInterpolation(e[i],t);a!==void 0&&(s[i]=a)}return s}else return this.parser.interpolate(e,t)}getParsedResult(e,t,s){if(t instanceof Array){let i={},a=!1;for(let l of t)i[l]=this.getParsedResultForKey(e,l,s),a=a||f(i[l]);if(!a)return i;let A=t.map(l=>C(i[l]));return q(A).pipe(V(l=>{let T={};return l.forEach((y,te)=>{T[t[te]]=y}),T}))}return this.getParsedResultForKey(e,t,s)}get(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" is required and cannot be empty');return this.pending?this.loadingTranslations.pipe(J(s=>C(this.getParsedResult(s,e,t)))):C(this.getParsedResult(this.translations[this.currentLang],e,t))}getStreamOnTranslationChange(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" is required and cannot be empty');return F(P(()=>this.get(e,t)),this.onTranslationChange.pipe(M(s=>{let i=this.getParsedResult(s.translations,e,t);return C(i)})))}stream(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" required');return F(P(()=>this.get(e,t)),this.onLangChange.pipe(M(s=>{let i=this.getParsedResult(s.translations,e,t);return C(i)})))}instant(e,t){if(!u(e)||e.length===0)throw new Error('Parameter "key" is required and cannot be empty');let s=this.getParsedResult(this.translations[this.currentLang],e,t);return f(s)?Array.isArray(e)?e.reduce((i,a)=>(i[a]=a,i),{}):e:s}set(e,t,s=this.currentLang){se(this.translations[s],e,$(t)?this.compiler.compile(t,s):this.compiler.compileTranslations(t,s)),this.updateLangs(),this.onTranslationChange.emit({lang:s,translations:this.translations[s]})}changeDefaultLang(e){this.defaultLang=e,this.onDefaultLangChange.emit({lang:e,translations:this.translations[e]})}reloadLang(e){return this.resetLang(e),this.loadAndCompileTranslations(e)}resetLang(e){delete this._translationRequests[e],delete this.translations[e]}getBrowserLang(){if(typeof window>"u"||!window.navigator)return;let e=this.getBrowserCultureLang();return e?e.split(/[-_]/)[0]:void 0}getBrowserCultureLang(){if(!(typeof window>"u"||typeof window.navigator>"u"))return window.navigator.languages?window.navigator.languages[0]:window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage}static \u0275fac=function(t){return new(t||n)(o(m),o(c),o(g),o(d),o(b),o(U),o(O),o(B),o(_))};static \u0275prov=h({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var ve=(()=>{class n{translate;_ref;value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onDefaultLangChange;constructor(e,t){this.translate=e,this._ref=t}updateValue(e,t,s){let i=a=>{this.value=a!==void 0?a:e,this.lastKey=e,this._ref.markForCheck()};if(s){let a=this.translate.getParsedResult(s,e,t);f(a)?a.subscribe(i):i(a)}this.translate.get(e,t).subscribe(i)}transform(e,...t){if(!e||!e.length)return e;if(j(e,this.lastKey)&&j(t,this.lastParams))return this.value;let s;if(u(t[0])&&t.length)if($(t[0])&&t[0].length){let i=t[0].replace(/(')?([a-zA-Z0-9_]+)(')?(\s)?:/g,'"$2":').replace(/:(\s)?(')(.*?)(')/g,':"$3"');try{s=JSON.parse(i)}catch(a){throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${t[0]}`)}}else D(t[0])&&(s=t[0]);return this.lastKey=e,this.lastParams=t,this.updateValue(e,s),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(i=>{this.lastKey&&i.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(e,s,i.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(i=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,s,i.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,s))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(t){return new(t||n)(N(G,16),N(Z,16))};static \u0275pipe=W({name:"translate",type:n,pure:!1});static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})();var Ce=(()=>{class n{static forRoot(e={}){return{ngModule:n,providers:[e.loader||{provide:c,useClass:Q},e.compiler||{provide:g,useClass:ee},e.parser||{provide:d,useClass:k},e.missingTranslationHandler||{provide:b,useClass:Y},m,{provide:O,useValue:e.isolate},{provide:U,useValue:e.useDefaultLang},{provide:B,useValue:e.extend},{provide:_,useValue:e.defaultLanguage},G]}}static forChild(e={}){return{ngModule:n,providers:[e.loader||{provide:c,useClass:Q},e.compiler||{provide:g,useClass:ee},e.parser||{provide:d,useClass:k},e.missingTranslationHandler||{provide:b,useClass:Y},{provide:O,useValue:e.isolate},{provide:U,useValue:e.useDefaultLang},{provide:B,useValue:e.extend},{provide:_,useValue:e.defaultLanguage},G]}}static \u0275fac=function(t){return new(t||n)};static \u0275mod=z({type:n});static \u0275inj=X({})}return n})();export{G as a,ve as b,Ce as c};
1
+ import{$ as M,B as F,C as P,D as q,Da as w,L as J,Nc as Z,O as L,Y as R,a as I,fb as N,ga as h,ha as X,ja as v,ka as o,mb as z,ob as W,r as p,t as f,tb as S,x as V}from"./chunk-NR37MAXW.js";var c=class{},Q=(()=>{class n extends c{getTranslation(e){return p({})}static \u0275fac=(()=>{let e;return function(s){return(e||(e=w(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),b=class{},Y=(()=>{class n{handle(e){return e.key}static \u0275fac=function(t){return new(t||n)};static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})();function j(n,r){if(n===r)return!0;if(n===null||r===null)return!1;if(n!==n&&r!==r)return!0;let e=typeof n,t=typeof r,s,i,a;if(e==t&&e=="object")if(Array.isArray(n)){if(!Array.isArray(r))return!1;if((s=n.length)==r.length){for(i=0;i<s;i++)if(!j(n[i],r[i]))return!1;return!0}}else{if(Array.isArray(r))return!1;a=Object.create(null);for(i in n){if(!j(n[i],r[i]))return!1;a[i]=!0}for(i in r)if(!(i in a)&&typeof r[i]<"u")return!1;return!0}return!1}function u(n){return typeof n<"u"&&n!==null}function D(n){return E(n)&&!H(n)&&n!==null}function E(n){return typeof n=="object"}function H(n){return Array.isArray(n)}function $(n){return typeof n=="string"}function ne(n){return typeof n=="function"}function K(n,r){let e=Object.assign({},n);return E(n)?(E(n)&&E(r)&&Object.keys(r).forEach(t=>{D(r[t])?t in n?e[t]=K(n[t],r[t]):Object.assign(e,{[t]:r[t]}):Object.assign(e,{[t]:r[t]})}),e):K({},r)}function x(n,r){let e=r.split(".");r="";do r+=e.shift(),u(n)&&u(n[r])&&(D(n[r])||H(n[r])||!e.length)?(n=n[r],r=""):e.length?r+=".":n=void 0;while(e.length);return n}function se(n,r,e){let t=r.split("."),s=n;for(let i=0;i<t.length;i++){let a=t[i];i===t.length-1?s[a]=e:((!s[a]||!D(s[a]))&&(s[a]={}),s=s[a])}}var d=class{},k=(()=>{class n extends d{templateMatcher=/{{\s?([^{}\s]*)\s?}}/g;interpolate(e,t){if($(e))return this.interpolateString(e,t);if(ne(e))return this.interpolateFunction(e,t)}interpolateFunction(e,t){return e(t)}interpolateString(e,t){return t?e.replace(this.templateMatcher,(s,i)=>{let a=x(t,i);return u(a)?a:s}):e}static \u0275fac=(()=>{let e;return function(s){return(e||(e=w(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),g=class{},ee=(()=>{class n extends g{compile(e,t){return e}compileTranslations(e,t){return e}static \u0275fac=(()=>{let e;return function(s){return(e||(e=w(n)))(s||n)}})();static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})(),m=class{defaultLang;currentLang=this.defaultLang;translations={};langs=[];onTranslationChange=new S;onLangChange=new S;onDefaultLangChange=new S},O=new v("ISOLATE_TRANSLATE_SERVICE"),U=new v("USE_DEFAULT_LANG"),_=new v("DEFAULT_LANGUAGE"),B=new v("USE_EXTEND"),C=n=>f(n)?n:p(n),G=(()=>{class n{store;currentLoader;compiler;parser;missingTranslationHandler;useDefaultLang;extend;loadingTranslations;pending=!1;_translationRequests={};lastUseLanguage=null;get onTranslationChange(){return this.store.onTranslationChange}get onLangChange(){return this.store.onLangChange}get onDefaultLangChange(){return this.store.onDefaultLangChange}get defaultLang(){return this.store.defaultLang}set defaultLang(e){this.store.defaultLang=e}get currentLang(){return this.store.currentLang}set currentLang(e){this.store.currentLang=e}get langs(){return this.store.langs}set langs(e){this.store.langs=e}get translations(){return this.store.translations}set translations(e){this.store.translations=e}constructor(e,t,s,i,a,A=!0,l=!1,T=!1,y){this.store=e,this.currentLoader=t,this.compiler=s,this.parser=i,this.missingTranslationHandler=a,this.useDefaultLang=A,this.extend=T,l&&(this.store=new m),y&&this.setDefaultLang(y)}setDefaultLang(e){if(e===this.defaultLang)return;let t=this.retrieveTranslations(e);typeof t<"u"?(this.defaultLang==null&&(this.defaultLang=e),t.pipe(L(1)).subscribe(()=>{this.changeDefaultLang(e)})):this.changeDefaultLang(e)}getDefaultLang(){return this.defaultLang}use(e){if(this.lastUseLanguage=e,e===this.currentLang)return p(this.translations[e]);this.currentLang||(this.currentLang=e);let t=this.retrieveTranslations(e);return f(t)?(t.pipe(L(1)).subscribe(()=>{this.changeLang(e)}),t):(this.changeLang(e),p(this.translations[e]))}changeLang(e){e===this.lastUseLanguage&&(this.currentLang=e,this.onLangChange.emit({lang:e,translations:this.translations[e]}),this.defaultLang==null&&this.changeDefaultLang(e))}retrieveTranslations(e){if(typeof this.translations[e]>"u"||this.extend)return this._translationRequests[e]=this._translationRequests[e]||this.loadAndCompileTranslations(e),this._translationRequests[e]}getTranslation(e){return this.loadAndCompileTranslations(e)}loadAndCompileTranslations(e){this.pending=!0;let t=this.currentLoader.getTranslation(e).pipe(R(1),L(1));return this.loadingTranslations=t.pipe(V(s=>this.compiler.compileTranslations(s,e)),R(1),L(1)),this.loadingTranslations.subscribe({next:s=>{this.translations[e]=this.extend&&this.translations[e]?I(I({},s),this.translations[e]):s,this.updateLangs(),this.pending=!1},error:s=>{this.pending=!1}}),t}setTranslation(e,t,s=!1){let i=this.compiler.compileTranslations(t,e);(s||this.extend)&&this.translations[e]?this.translations[e]=K(this.translations[e],i):this.translations[e]=i,this.updateLangs(),this.onTranslationChange.emit({lang:e,translations:this.translations[e]})}getLangs(){return this.langs}addLangs(e){let t=e.filter(s=>!this.langs.includes(s));t.length>0&&(this.langs=[...this.langs,...t])}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResultForKey(e,t,s){let i;if(e&&(i=this.runInterpolation(x(e,t),s)),i===void 0&&this.defaultLang!=null&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(i=this.runInterpolation(x(this.translations[this.defaultLang],t),s)),i===void 0){let a={key:t,translateService:this};typeof s<"u"&&(a.interpolateParams=s),i=this.missingTranslationHandler.handle(a)}return i!==void 0?i:t}runInterpolation(e,t){if(H(e))return e.map(s=>this.runInterpolation(s,t));if(D(e)){let s={};for(let i in e){let a=this.runInterpolation(e[i],t);a!==void 0&&(s[i]=a)}return s}else return this.parser.interpolate(e,t)}getParsedResult(e,t,s){if(t instanceof Array){let i={},a=!1;for(let l of t)i[l]=this.getParsedResultForKey(e,l,s),a=a||f(i[l]);if(!a)return i;let A=t.map(l=>C(i[l]));return q(A).pipe(V(l=>{let T={};return l.forEach((y,te)=>{T[t[te]]=y}),T}))}return this.getParsedResultForKey(e,t,s)}get(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" is required and cannot be empty');return this.pending?this.loadingTranslations.pipe(J(s=>C(this.getParsedResult(s,e,t)))):C(this.getParsedResult(this.translations[this.currentLang],e,t))}getStreamOnTranslationChange(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" is required and cannot be empty');return F(P(()=>this.get(e,t)),this.onTranslationChange.pipe(M(s=>{let i=this.getParsedResult(s.translations,e,t);return C(i)})))}stream(e,t){if(!u(e)||!e.length)throw new Error('Parameter "key" required');return F(P(()=>this.get(e,t)),this.onLangChange.pipe(M(s=>{let i=this.getParsedResult(s.translations,e,t);return C(i)})))}instant(e,t){if(!u(e)||e.length===0)throw new Error('Parameter "key" is required and cannot be empty');let s=this.getParsedResult(this.translations[this.currentLang],e,t);return f(s)?Array.isArray(e)?e.reduce((i,a)=>(i[a]=a,i),{}):e:s}set(e,t,s=this.currentLang){se(this.translations[s],e,$(t)?this.compiler.compile(t,s):this.compiler.compileTranslations(t,s)),this.updateLangs(),this.onTranslationChange.emit({lang:s,translations:this.translations[s]})}changeDefaultLang(e){this.defaultLang=e,this.onDefaultLangChange.emit({lang:e,translations:this.translations[e]})}reloadLang(e){return this.resetLang(e),this.loadAndCompileTranslations(e)}resetLang(e){delete this._translationRequests[e],delete this.translations[e]}getBrowserLang(){if(typeof window>"u"||!window.navigator)return;let e=this.getBrowserCultureLang();return e?e.split(/[-_]/)[0]:void 0}getBrowserCultureLang(){if(!(typeof window>"u"||typeof window.navigator>"u"))return window.navigator.languages?window.navigator.languages[0]:window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage}static \u0275fac=function(t){return new(t||n)(o(m),o(c),o(g),o(d),o(b),o(U),o(O),o(B),o(_))};static \u0275prov=h({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var ve=(()=>{class n{translate;_ref;value="";lastKey=null;lastParams=[];onTranslationChange;onLangChange;onDefaultLangChange;constructor(e,t){this.translate=e,this._ref=t}updateValue(e,t,s){let i=a=>{this.value=a!==void 0?a:e,this.lastKey=e,this._ref.markForCheck()};if(s){let a=this.translate.getParsedResult(s,e,t);f(a)?a.subscribe(i):i(a)}this.translate.get(e,t).subscribe(i)}transform(e,...t){if(!e||!e.length)return e;if(j(e,this.lastKey)&&j(t,this.lastParams))return this.value;let s;if(u(t[0])&&t.length)if($(t[0])&&t[0].length){let i=t[0].replace(/(')?([a-zA-Z0-9_]+)(')?(\s)?:/g,'"$2":').replace(/:(\s)?(')(.*?)(')/g,':"$3"');try{s=JSON.parse(i)}catch(a){throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${t[0]}`)}}else D(t[0])&&(s=t[0]);return this.lastKey=e,this.lastParams=t,this.updateValue(e,s),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(i=>{this.lastKey&&i.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(e,s,i.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(i=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,s,i.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,s))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}static \u0275fac=function(t){return new(t||n)(N(G,16),N(Z,16))};static \u0275pipe=W({name:"translate",type:n,pure:!1});static \u0275prov=h({token:n,factory:n.\u0275fac})}return n})();var Ce=(()=>{class n{static forRoot(e={}){return{ngModule:n,providers:[e.loader||{provide:c,useClass:Q},e.compiler||{provide:g,useClass:ee},e.parser||{provide:d,useClass:k},e.missingTranslationHandler||{provide:b,useClass:Y},m,{provide:O,useValue:e.isolate},{provide:U,useValue:e.useDefaultLang},{provide:B,useValue:e.extend},{provide:_,useValue:e.defaultLanguage},G]}}static forChild(e={}){return{ngModule:n,providers:[e.loader||{provide:c,useClass:Q},e.compiler||{provide:g,useClass:ee},e.parser||{provide:d,useClass:k},e.missingTranslationHandler||{provide:b,useClass:Y},{provide:O,useValue:e.isolate},{provide:U,useValue:e.useDefaultLang},{provide:B,useValue:e.extend},{provide:_,useValue:e.defaultLanguage},G]}}static \u0275fac=function(t){return new(t||n)};static \u0275mod=z({type:n});static \u0275inj=X({})}return n})();export{G as a,ve as b,Ce as c};
@@ -1 +1 @@
1
- import{a as _,b as D}from"./chunk-3P637DAY.js";import{j as c,k as S}from"./chunk-SXUVUFAV.js";import{f as x}from"./chunk-R3JWGCC5.js";import{C as v,g as O,ga as h,h as a,ha as E,ja as y,ka as l,la as f,mb as I,r as p,va as j,w as d,x as T,z as w}from"./chunk-QSPBB6EE.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(j))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=I({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
1
+ import{a as _,b as D}from"./chunk-R2HCIEM2.js";import{m as c,n as S}from"./chunk-VZ744DRL.js";import{f as x}from"./chunk-FDPTBVVC.js";import{C as v,g as O,ga as h,h as a,ha as E,ja as y,ka as l,la as f,mb as I,r as p,va as j,w as d,x as T,z as w}from"./chunk-NR37MAXW.js";var g=new y("JWT_OPTIONS"),m=(()=>{class r{constructor(e=null){this.tokenGetter=e&&e.tokenGetter||function(){}}urlBase64Decode(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:{t+="==";break}case 3:{t+="=";break}default:throw new Error("Illegal base64url string!")}return this.b64DecodeUnicode(t)}b64decode(e){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="";if(e=String(e).replace(/=+$/,""),e.length%4===1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(let i=0,s,n,b=0;n=e.charAt(b++);~n&&(s=i%4?s*64+n:n,i++%4)?o+=String.fromCharCode(255&s>>(-2*i&6)):0)n=t.indexOf(n);return o}b64DecodeUnicode(e){return decodeURIComponent(Array.prototype.map.call(this.b64decode(e),t=>"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)).join(""))}decodeToken(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._decodeToken(t)):this._decodeToken(e)}_decodeToken(e){if(!e||e==="")return null;let t=e.split(".");if(t.length!==3)throw new Error("The inspected token doesn't appear to be a JWT. Check to make sure it has three parts and see https://jwt.io for more.");let o=this.urlBase64Decode(t[1]);if(!o)throw new Error("Cannot decode the token.");return JSON.parse(o)}getTokenExpirationDate(e=this.tokenGetter()){return e instanceof Promise?e.then(t=>this._getTokenExpirationDate(t)):this._getTokenExpirationDate(e)}_getTokenExpirationDate(e){let t;if(t=this.decodeToken(e),!t||!t.hasOwnProperty("exp"))return null;let o=new Date(0);return o.setUTCSeconds(t.exp),o}isTokenExpired(e=this.tokenGetter(),t){return e instanceof Promise?e.then(o=>this._isTokenExpired(o,t)):this._isTokenExpired(e,t)}_isTokenExpired(e,t){if(!e||e==="")return!0;let o=this.getTokenExpirationDate(e);return t=t||0,o===null?!1:!(o.valueOf()>new Date().valueOf()+t*1e3)}getAuthScheme(e,t){return typeof e=="function"?e(t):e}}return r.\u0275fac=function(e){return new(e||r)(l(g))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),$=r=>r instanceof Promise?v(()=>r):p(r),R=(()=>{class r{constructor(e,t,o){this.jwtHelper=t,this.document=o,this.standardPorts=["80","443"],this.tokenGetter=e.tokenGetter,this.headerName=e.headerName||"Authorization",this.authScheme=e.authScheme||e.authScheme===""?e.authScheme:"Bearer ",this.allowedDomains=e.allowedDomains||[],this.disallowedRoutes=e.disallowedRoutes||[],this.throwNoTokenError=e.throwNoTokenError||!1,this.skipWhenExpired=e.skipWhenExpired}isAllowedDomain(e){let t=new URL(e.url,this.document.location.origin);if(t.host===this.document.location.host)return!0;let o=`${t.hostname}${t.port&&!this.standardPorts.includes(t.port)?":"+t.port:""}`;return this.allowedDomains.findIndex(i=>typeof i=="string"?i===o:i instanceof RegExp?i.test(o):!1)>-1}isDisallowedRoute(e){let t=new URL(e.url,this.document.location.origin);return this.disallowedRoutes.findIndex(o=>{if(typeof o=="string"){let i=new URL(o,this.document.location.origin);return i.hostname===t.hostname&&i.pathname===t.pathname}return o instanceof RegExp?o.test(e.url):!1})>-1}handleInterception(e,t,o){let i=this.jwtHelper.getAuthScheme(this.authScheme,t);if(!e&&this.throwNoTokenError)throw new Error("Could not get token from tokenGetter function.");let s=p(!1);return this.skipWhenExpired&&(s=e?$(this.jwtHelper.isTokenExpired(e)):p(!0)),e?s.pipe(T(n=>n&&this.skipWhenExpired?t.clone():t.clone({setHeaders:{[this.headerName]:`${i}${e}`}})),w(n=>o.handle(n))):o.handle(t)}intercept(e,t){if(!this.isAllowedDomain(e)||this.isDisallowedRoute(e))return t.handle(e);let o=this.tokenGetter(e);return $(o).pipe(w(i=>this.handleInterception(i,e,t)))}}return r.\u0275fac=function(e){return new(e||r)(l(g),l(m),l(j))},r.\u0275prov=h({token:r,factory:r.\u0275fac}),r})(),F=(()=>{class r{constructor(e){if(e)throw new Error("JwtModule is already loaded. It should only be imported in your application's main module.")}static forRoot(e){return{ngModule:r,providers:[{provide:x,useClass:R,multi:!0},e.jwtOptionsProvider||{provide:g,useValue:e.config},m]}}}return r.\u0275fac=function(e){return new(e||r)(l(r,12))},r.\u0275mod=I({type:r}),r.\u0275inj=E({}),r})();var k=O(_(),1);var q=(()=>{class r{$api=f(S);$jwtHelper=f(m);$settings=f(D);token;user={};logoutTimer;constructor(){this.loadToken()}login(e){return a(this,null,function*(){let t=yield d(this.$api.post("/auth/login",e));if(!this.validateToken(t.access_token))throw new Error("Invalid username or password.");window.localStorage.setItem(c.jwt.tokenKey,t.access_token),yield this.$settings.getAppSettings()})}noauth(){return a(this,null,function*(){let e=yield d(this.$api.post("/auth/noauth",{}));if(this.validateToken(e.access_token))window.localStorage.setItem(c.jwt.tokenKey,e.access_token),yield this.$settings.getAppSettings();else throw new Error("Invalid username or password.")})}logout(){this.user=null,this.token=null,window.localStorage.removeItem(c.jwt.tokenKey),window.location.reload()}loadToken(){return a(this,null,function*(){this.$settings.settingsLoaded||(yield d(this.$settings.onSettingsLoaded));let e=window.localStorage.getItem(c.jwt.tokenKey);e&&this.validateToken(e)})}validateToken(e){try{return this.$jwtHelper.isTokenExpired(e,this.$settings.serverTimeOffset)&&this.logout(),this.user=this.$jwtHelper.decodeToken(e),this.token=e,this.setLogoutTimer(),!0}catch{return window.localStorage.removeItem(c.jwt.tokenKey),this.token=null,!1}}checkToken(){return a(this,null,function*(){try{return yield d(this.$api.get("/auth/check"))}catch(e){e.status===401&&(console.error("Current token is not valid"),this.logout())}})}setLogoutTimer(){if(clearTimeout(this.logoutTimer),!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)){let t=(0,k.default)(this.$jwtHelper.getTokenExpirationDate(this.token)).diff((0,k.default)().add(this.$settings.serverTimeOffset,"s"),"millisecond");t<=2147483647&&(this.logoutTimer=setTimeout(()=>a(this,null,function*(){this.$settings.formAuth===!1?(yield this.noauth(),window.location.reload()):this.logout()}),t))}}isLoggedIn(){return this.$settings.env.instanceId!==this.user.instanceId?(console.error("Token does not match instance"),!1):this.user&&this.token&&!this.$jwtHelper.isTokenExpired(this.token,this.$settings.serverTimeOffset)}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();export{m as a,F as b,q as c};
@@ -0,0 +1 @@
1
+ import{e as a}from"./chunk-24S6ALM2.js";import"./chunk-ANCTYTNR.js";import"./chunk-2EMPNH2X.js";import"./chunk-EJ3RNOUF.js";import"./chunk-ZOLUFCSO.js";import"./chunk-HQTJ7IHE.js";import"./chunk-R2HCIEM2.js";import"./chunk-VZ744DRL.js";import"./chunk-FDPTBVVC.js";import"./chunk-GOW5VSYJ.js";import"./chunk-NR37MAXW.js";export{a as UsersComponent};
@@ -1 +1 @@
1
- import{a as j}from"./chunk-YM5DEMA2.js";import"./chunk-JRQEWFL4.js";import"./chunk-KUFAY5CP.js";import{c as M}from"./chunk-XJY7A24W.js";import"./chunk-6SEBWKRM.js";import{q as u}from"./chunk-OHFVMRCL.js";import{A as d,z as l}from"./chunk-MMYB2ZMV.js";import{d as h,g as a}from"./chunk-QY7HUYL5.js";import"./chunk-3P637DAY.js";import{h as v,k as y}from"./chunk-SXUVUFAV.js";import"./chunk-R3JWGCC5.js";import{a as g,c as C}from"./chunk-KPKQNEWS.js";import{ga as c,h as s,ha as i,kd as p,la as e,mb as n,w as f}from"./chunk-QSPBB6EE.js";var m=(()=>{class o{$api=e(y);$router=e(h);$toastr=e(v);$translate=e(g);constructor(){}resolve(){return s(this,null,function*(){try{let r=yield f(this.$api.get("/config-editor"));return JSON.stringify(r,null,4)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=c({token:o,factory:o.\u0275fac})}return o})();var $=[{path:"",loadComponent:()=>import("./chunk-DRQQJII6.js").then(o=>o.ConfigEditorComponent),resolve:{config:m}}],R=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({imports:[a.forChild($),a]})}return o})();var Q=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({providers:[m],imports:[p,l,d,M,u,C.forChild(),R,j]})}return o})();export{Q as ConfigEditorModule};
1
+ import{a as j}from"./chunk-2EFKVGXC.js";import"./chunk-4VKEWS3F.js";import"./chunk-CEC3XQIL.js";import{c as M}from"./chunk-FIDKTTX5.js";import"./chunk-DQBVZWYJ.js";import{q as u}from"./chunk-2EMPNH2X.js";import{A as d,z as l}from"./chunk-EJ3RNOUF.js";import{d as h,g as a}from"./chunk-ZOLUFCSO.js";import"./chunk-R2HCIEM2.js";import{k as v,n as y}from"./chunk-VZ744DRL.js";import"./chunk-FDPTBVVC.js";import{a as g,c as C}from"./chunk-GOW5VSYJ.js";import{ga as c,h as s,ha as i,kd as p,la as e,mb as n,w as f}from"./chunk-NR37MAXW.js";var m=(()=>{class o{$api=e(y);$router=e(h);$toastr=e(v);$translate=e(g);constructor(){}resolve(){return s(this,null,function*(){try{let r=yield f(this.$api.get("/config-editor"));return JSON.stringify(r,null,4)}catch(r){console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),this.$router.navigate(["/"])}})}static \u0275fac=function(t){return new(t||o)};static \u0275prov=c({token:o,factory:o.\u0275fac})}return o})();var $=[{path:"",loadComponent:()=>import("./chunk-IJWORUE6.js").then(o=>o.ConfigEditorComponent),resolve:{config:m}}],R=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({imports:[a.forChild($),a]})}return o})();var Q=(()=>{class o{static \u0275fac=function(t){return new(t||o)};static \u0275mod=n({type:o});static \u0275inj=i({providers:[m],imports:[p,l,d,M,u,C.forChild(),R,j]})}return o})();export{Q as ConfigEditorModule};
@@ -1 +1 @@
1
- import{m as H}from"./chunk-OHFVMRCL.js";import{b as h}from"./chunk-KPKQNEWS.js";import{$a as i,Ac as d,Bc as p,Gb as C,Hb as r,Ib as s,Nb as u,Ob as o,Pb as a,Qb as m,Ub as k,Xa as _,Xb as x,Ya as B,Yb as c,ga as L,ic as w,jc as b,kc as S,la as y,lb as M,lc as v,n as T,ra as I,sa as g,tc as E}from"./chunk-QSPBB6EE.js";var U=(()=>{class t{raspberryPiThrottled=new T;static \u0275fac=function(l){return new(l||t)};static \u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function V(t,f){if(t&1&&m(0,"i",15),t&2){let e=c();w(E("fas fa-fw ",e.faIconClass," mb-3"))}}function j(t,f){if(t&1&&m(0,"h5",6),t&2){let e=c();u("innerHTML",e.subtitle,_)}}function D(t,f){if(t&1&&m(0,"p",8),t&2){let e=c();u("innerHTML",e.message2,_)}}function $(t,f){if(t&1){let e=k();o(0,"button",16),d(1,"translate"),x("click",function(){I(e);let n=c();return g(n.$activeModal.dismiss("Dismiss"))}),b(2),d(3,"translate"),a()}t&2&&(C("aria-label",p(1,2,"form.button_close")),i(2),v(" ",p(3,4,"form.button_close")," "))}function F(t,f){if(t&1){let e=k();o(0,"button",16),d(1,"translate"),x("click",function(){I(e);let n=c();return g(n.$activeModal.dismiss("Dismiss"))}),b(2),d(3,"translate"),a()}t&2&&(C("aria-label",p(1,2,"form.button_close")),i(2),v(" ",p(3,4,"form.button_close")," "))}function P(t,f){if(t&1&&(o(0,"a",14),b(1),m(2,"i",17),a()),t&2){let e=c();u("href",e.ctaButtonLink,B),i(),v(" ",e.ctaButtonLabel," ")}}var R=(()=>{class t{$activeModal=y(H);title;subtitle;message;message2;ctaButtonLabel;ctaButtonLink;faIconClass;constructor(){}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",message2:"message2",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:18,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],[2,"font-size","75px",3,"class"],[1,"mb-3",3,"innerHTML"],[1,"mb-0",3,"innerHTML"],[1,"mb-0","mt-3",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[2,"font-size","75px"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(l,n){l&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),b(3),a(),o(4,"button",3),d(5,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),a()(),o(6,"div",4),r(7,V,1,3,"i",5),r(8,j,1,1,"h5",6),m(9,"p",7),r(10,D,1,1,"p",8),a(),o(11,"div",9)(12,"div",10),r(13,$,4,6,"button",11),a(),o(14,"div",12),r(15,F,4,6,"button",11),a(),o(16,"div",13),r(17,P,3,2,"a",14),a()()()),l&2&&(i(3),S(n.title),i(),C("aria-label",p(5,9,"form.button_close")),i(3),s(n.faIconClass?7:-1),i(),s(n.subtitle?8:-1),i(),u("innerHTML",n.message,_),i(),s(n.message2?10:-1),i(3),s(n.ctaButtonLink?13:-1),i(2),s(n.ctaButtonLink?-1:15),i(2),s(n.ctaButtonLink?17:-1))},dependencies:[h],encapsulation:2})}return t})();export{R as a,U as b};
1
+ import{m as H}from"./chunk-2EMPNH2X.js";import{b as h}from"./chunk-GOW5VSYJ.js";import{$a as i,Ac as d,Bc as p,Gb as C,Hb as r,Ib as s,Nb as u,Ob as o,Pb as a,Qb as m,Ub as k,Xa as _,Xb as x,Ya as B,Yb as c,ga as L,ic as w,jc as b,kc as S,la as y,lb as M,lc as v,n as T,ra as I,sa as g,tc as E}from"./chunk-NR37MAXW.js";var U=(()=>{class t{raspberryPiThrottled=new T;static \u0275fac=function(l){return new(l||t)};static \u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function V(t,f){if(t&1&&m(0,"i",15),t&2){let e=c();w(E("fas fa-fw ",e.faIconClass," mb-3"))}}function j(t,f){if(t&1&&m(0,"h5",6),t&2){let e=c();u("innerHTML",e.subtitle,_)}}function D(t,f){if(t&1&&m(0,"p",8),t&2){let e=c();u("innerHTML",e.message2,_)}}function $(t,f){if(t&1){let e=k();o(0,"button",16),d(1,"translate"),x("click",function(){I(e);let n=c();return g(n.$activeModal.dismiss("Dismiss"))}),b(2),d(3,"translate"),a()}t&2&&(C("aria-label",p(1,2,"form.button_close")),i(2),v(" ",p(3,4,"form.button_close")," "))}function F(t,f){if(t&1){let e=k();o(0,"button",16),d(1,"translate"),x("click",function(){I(e);let n=c();return g(n.$activeModal.dismiss("Dismiss"))}),b(2),d(3,"translate"),a()}t&2&&(C("aria-label",p(1,2,"form.button_close")),i(2),v(" ",p(3,4,"form.button_close")," "))}function P(t,f){if(t&1&&(o(0,"a",14),b(1),m(2,"i",17),a()),t&2){let e=c();u("href",e.ctaButtonLink,B),i(),v(" ",e.ctaButtonLabel," ")}}var R=(()=>{class t{$activeModal=y(H);title;subtitle;message;message2;ctaButtonLabel;ctaButtonLink;faIconClass;constructor(){}static \u0275fac=function(l){return new(l||t)};static \u0275cmp=M({type:t,selectors:[["ng-component"]],inputs:{title:"title",subtitle:"subtitle",message:"message",message2:"message2",ctaButtonLabel:"ctaButtonLabel",ctaButtonLink:"ctaButtonLink",faIconClass:"faIconClass"},decls:18,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center"],[2,"font-size","75px",3,"class"],[1,"mb-3",3,"innerHTML"],[1,"mb-0",3,"innerHTML"],[1,"mb-0","mt-3",3,"innerHTML"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[2,"font-size","75px"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(l,n){l&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),b(3),a(),o(4,"button",3),d(5,"translate"),x("click",function(){return n.$activeModal.dismiss("Dismiss")}),a()(),o(6,"div",4),r(7,V,1,3,"i",5),r(8,j,1,1,"h5",6),m(9,"p",7),r(10,D,1,1,"p",8),a(),o(11,"div",9)(12,"div",10),r(13,$,4,6,"button",11),a(),o(14,"div",12),r(15,F,4,6,"button",11),a(),o(16,"div",13),r(17,P,3,2,"a",14),a()()()),l&2&&(i(3),S(n.title),i(),C("aria-label",p(5,9,"form.button_close")),i(3),s(n.faIconClass?7:-1),i(),s(n.subtitle?8:-1),i(),u("innerHTML",n.message,_),i(),s(n.message2?10:-1),i(3),s(n.ctaButtonLink?13:-1),i(2),s(n.ctaButtonLink?-1:15),i(2),s(n.ctaButtonLink?17:-1))},dependencies:[h],encapsulation:2})}return t})();export{R as a,U as b};
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-2EFKVGXC.js";import"./chunk-4VKEWS3F.js";import"./chunk-CEC3XQIL.js";import"./chunk-FIDKTTX5.js";import"./chunk-DQBVZWYJ.js";import"./chunk-2EMPNH2X.js";import"./chunk-EJ3RNOUF.js";import"./chunk-ZOLUFCSO.js";import"./chunk-R2HCIEM2.js";import"./chunk-VZ744DRL.js";import"./chunk-FDPTBVVC.js";import"./chunk-GOW5VSYJ.js";import"./chunk-NR37MAXW.js";export{a as ConfigEditorComponent};
@@ -0,0 +1 @@
1
+ import{f as a}from"./chunk-4LR5VWUC.js";import"./chunk-FR7MRJDJ.js";import"./chunk-KFFLTMBC.js";import"./chunk-QWYQ4MOD.js";import"./chunk-IF56BKOM.js";import"./chunk-EWUBHGYD.js";import"./chunk-6NOBHOU7.js";import"./chunk-CEC3XQIL.js";import"./chunk-FIDKTTX5.js";import"./chunk-L7P4OVCU.js";import"./chunk-DQBVZWYJ.js";import"./chunk-2KYXNFBH.js";import"./chunk-Y6TXYIFY.js";import"./chunk-ANCTYTNR.js";import"./chunk-YWKZ3P6I.js";import"./chunk-FMIYWTUO.js";import"./chunk-2EMPNH2X.js";import"./chunk-EJ3RNOUF.js";import"./chunk-ZOLUFCSO.js";import"./chunk-DCJDALKI.js";import"./chunk-HQTJ7IHE.js";import"./chunk-R2HCIEM2.js";import"./chunk-VZ744DRL.js";import"./chunk-FDPTBVVC.js";import"./chunk-GOW5VSYJ.js";import"./chunk-NR37MAXW.js";export{a as StatusComponent};