diff --git a/index.html b/index.html index d73c97ea..98689ccd 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Dashy
\ No newline at end of file +Dashy
\ No newline at end of file diff --git a/js/about.ebf9a078.js b/js/about.5d43ae74.js similarity index 99% rename from js/about.ebf9a078.js rename to js/about.5d43ae74.js index 7c57ae2e..18c00acc 100644 --- a/js/about.ebf9a078.js +++ b/js/about.5d43ae74.js @@ -1,2 +1,2 @@ (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["about"],{1792:function(t,e,i){"use strict";i.d(e,"a",(function(){return s})),i.d(e,"b",(function(){return o}));var s=function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},o=[function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("article",{staticClass:"about"},[i("h1",[t._v("About Dashy")]),i("section",[i("h2",[t._v("Project Overview")]),i("p",[t._v(" Dashy is a self-hosted startpage for keeping your running applications and services organised. The aim of Dashy is to provide an easy-to-deploy, highly customizable and functianl dashboard, in order to improvde productivity and enable easy organisation of running services or web links. ")])]),i("section",[i("h2",[t._v("Source")]),i("p",[t._v(" Dashy's source is available through "),i("a",{attrs:{href:"https://github.com/lissy93/dashy"}},[t._v("GitHub")]),t._v(", and the Docker image is on "),i("a",{attrs:{href:"https://hub.docker.com/r/lissy93/dashy"}},[t._v("DockerHub")]),t._v(". ")])]),i("section",[i("h2",[t._v("Reporting a Bug")]),i("p",[t._v(" If you've come across an bug in Dashy, please "),i("a",{attrs:{href:"https://git.io/JnqPR"}},[t._v("open an issue")]),t._v(", so that it can be fixed. ")])]),i("section",[i("h2",[t._v("Getting Support")]),i("p",[t._v(" If you need any help deploying, using, or developing Dashy, feel free to "),i("a",{attrs:{href:"https://git.io/JnqiA"}},[t._v("open a support ticket")]),t._v(" or start a "),i("a",{attrs:{href:"https://github.com/Lissy93/dashy/discussions"}},[t._v("discussion")]),t._v(" on GitHub. ")])]),i("section",[i("h2",[t._v("About the Author")]),i("a",{attrs:{href:"https://aliciasykes.com"}},[i("img",{staticClass:"aht-pic",attrs:{src:"https://i.ibb.co/FnxqTfx/aht-bot-round.png",alt:"Alicia Sykes"}})]),t._v(" Dashy is developed an maintained by "),i("a",{attrs:{href:"https://aliciasykes.com"}},[t._v("Alicia Sykes")]),t._v(" ("),i("a",{attrs:{href:"https://github.com/lissy93"}},[t._v("@Lissy93")]),t._v("), with support from the community. "),i("ul",[i("li",[i("b",[t._v("PGP Key")]),t._v(" - "),i("a",{attrs:{href:"https://keybase.io/aliciasykes/pgp_keys.asc?fingerprint=0688f8d34587d954e9e51fb8fedb68f55c0283a7"}},[i("code",[t._v("0688 F8D3 4587 D954 E9E5 1FB8 FEDB 68F5 5C02 83A7")])])]),i("li",[i("b",[t._v("BTC Address")]),t._v(" - "),i("code",[t._v("3853bSxupMjvxEYfwGDGAaLZhTKxB2vEVC")])]),i("li",[i("b",[t._v("Mail")]),t._v(" - "),i("code",[t._v("alicia at omg dot lol")])]),i("li",[i("b",[t._v("Blog")]),t._v(" - "),i("a",{attrs:{href:"https://notes.aliciasykes.com"}},[t._v("notes.aliciasykes.com")])])])]),i("section",{staticClass:"license"},[i("h2",[t._v("License")]),i("code",[t._v(" Copyright © 2021 Alicia Sykes (https://aliciasykes.com) ")]),i("br"),i("br"),i("code",[t._v(" Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: ")]),i("br"),i("br"),i("code",[t._v(" The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ")]),i("br"),i("br"),i("code",[t._v(" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ")])])])}]},"35a2":function(t,e,i){},4869:function(t,e,i){"use strict";i("35a2")},5679:function(t,e){document.getElementsByTagName("html")[0].setAttribute("data-theme","callisto")},6109:function(t,e,i){"use strict";i.r(e);var s=i("5679"),o=i.n(s);for(var a in s)["default"].indexOf(a)<0&&function(t){i.d(e,t,(function(){return s[t]}))}(a);e["default"]=o.a},f820:function(t,e,i){"use strict";i.r(e);var s=i("1792"),o=i("6109");for(var a in o)["default"].indexOf(a)<0&&function(t){i.d(e,t,(function(){return o[t]}))}(a);i("4869");var n=i("2877"),r=Object(n["a"])(o["default"],s["a"],s["b"],!1,null,"502c8927",null);e["default"]=r.exports}}]); -//# sourceMappingURL=about.ebf9a078.js.map \ No newline at end of file +//# sourceMappingURL=about.5d43ae74.js.map \ No newline at end of file diff --git a/js/about.ebf9a078.js.map b/js/about.5d43ae74.js.map similarity index 99% rename from js/about.ebf9a078.js.map rename to js/about.5d43ae74.js.map index 1648d818..abfd6532 100644 --- a/js/about.ebf9a078.js.map +++ b/js/about.5d43ae74.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/views/About.vue?68dd","webpack:///./src/views/About.vue?ac07","webpack:///src/views/About.vue","webpack:///./src/views/About.vue?060c","webpack:///./src/views/About.vue"],"names":["render","_vm","this","_h","$createElement","_self","_c","_m","staticRenderFns","staticClass","_v","attrs","document","getElementsByTagName","setAttribute","component"],"mappings":"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","file":"js/about.ebf9a078.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{staticClass:\"about\"},[_c('h1',[_vm._v(\"About Dashy\")]),_c('section',[_c('h2',[_vm._v(\"Project Overview\")]),_c('p',[_vm._v(\" Dashy is a self-hosted startpage for keeping your running applications and services organised. The aim of Dashy is to provide an easy-to-deploy, highly customizable and functianl dashboard, in order to improvde productivity and enable easy organisation of running services or web links. \")])]),_c('section',[_c('h2',[_vm._v(\"Source\")]),_c('p',[_vm._v(\" Dashy's source is available through \"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93/dashy\"}},[_vm._v(\"GitHub\")]),_vm._v(\", and the Docker image is on \"),_c('a',{attrs:{\"href\":\"https://hub.docker.com/r/lissy93/dashy\"}},[_vm._v(\"DockerHub\")]),_vm._v(\". \")])]),_c('section',[_c('h2',[_vm._v(\"Reporting a Bug\")]),_c('p',[_vm._v(\" If you've come across an bug in Dashy, please \"),_c('a',{attrs:{\"href\":\"https://git.io/JnqPR\"}},[_vm._v(\"open an issue\")]),_vm._v(\", so that it can be fixed. \")])]),_c('section',[_c('h2',[_vm._v(\"Getting Support\")]),_c('p',[_vm._v(\" If you need any help deploying, using, or developing Dashy, feel free to \"),_c('a',{attrs:{\"href\":\"https://git.io/JnqiA\"}},[_vm._v(\"open a support ticket\")]),_vm._v(\" or start a \"),_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/discussions\"}},[_vm._v(\"discussion\")]),_vm._v(\" on GitHub. \")])]),_c('section',[_c('h2',[_vm._v(\"About the Author\")]),_c('a',{attrs:{\"href\":\"https://aliciasykes.com\"}},[_c('img',{staticClass:\"aht-pic\",attrs:{\"src\":\"https://i.ibb.co/FnxqTfx/aht-bot-round.png\",\"alt\":\"Alicia Sykes\"}})]),_vm._v(\" Dashy is developed an maintained by \"),_c('a',{attrs:{\"href\":\"https://aliciasykes.com\"}},[_vm._v(\"Alicia Sykes\")]),_vm._v(\" (\"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93\"}},[_vm._v(\"@Lissy93\")]),_vm._v(\"), with support from the community. \"),_c('ul',[_c('li',[_c('b',[_vm._v(\"PGP Key\")]),_vm._v(\" - \"),_c('a',{attrs:{\"href\":\"https://keybase.io/aliciasykes/pgp_keys.asc?fingerprint=0688f8d34587d954e9e51fb8fedb68f55c0283a7\"}},[_c('code',[_vm._v(\"0688 F8D3 4587 D954 E9E5 1FB8 FEDB 68F5 5C02 83A7\")])])]),_c('li',[_c('b',[_vm._v(\"BTC Address\")]),_vm._v(\" - \"),_c('code',[_vm._v(\"3853bSxupMjvxEYfwGDGAaLZhTKxB2vEVC\")])]),_c('li',[_c('b',[_vm._v(\"Mail\")]),_vm._v(\" - \"),_c('code',[_vm._v(\"alicia at omg dot lol\")])]),_c('li',[_c('b',[_vm._v(\"Blog\")]),_vm._v(\" - \"),_c('a',{attrs:{\"href\":\"https://notes.aliciasykes.com\"}},[_vm._v(\"notes.aliciasykes.com\")])])])]),_c('section',{staticClass:\"license\"},[_c('h2',[_vm._v(\"License\")]),_c('code',[_vm._v(\" Copyright © 2021 Alicia Sykes (https://aliciasykes.com) \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \")])])])}]\n\nexport { render, staticRenderFns }","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=style&index=0&id=502c8927&scoped=true&lang=scss&\"","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=502c8927&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=js&\"\nexport * from \"./About.vue?vue&type=script&lang=js&\"\nimport style0 from \"./About.vue?vue&type=style&index=0&id=502c8927&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"502c8927\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/views/About.vue?f985","webpack:///./src/views/About.vue?ac07","webpack:///src/views/About.vue","webpack:///./src/views/About.vue?060c","webpack:///./src/views/About.vue"],"names":["render","_vm","this","_h","$createElement","_self","_c","_m","staticRenderFns","staticClass","_v","attrs","document","getElementsByTagName","setAttribute","component"],"mappings":"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","file":"js/about.5d43ae74.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('article',{staticClass:\"about\"},[_c('h1',[_vm._v(\"About Dashy\")]),_c('section',[_c('h2',[_vm._v(\"Project Overview\")]),_c('p',[_vm._v(\" Dashy is a self-hosted startpage for keeping your running applications and services organised. The aim of Dashy is to provide an easy-to-deploy, highly customizable and functianl dashboard, in order to improvde productivity and enable easy organisation of running services or web links. \")])]),_c('section',[_c('h2',[_vm._v(\"Source\")]),_c('p',[_vm._v(\" Dashy's source is available through \"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93/dashy\"}},[_vm._v(\"GitHub\")]),_vm._v(\", and the Docker image is on \"),_c('a',{attrs:{\"href\":\"https://hub.docker.com/r/lissy93/dashy\"}},[_vm._v(\"DockerHub\")]),_vm._v(\". \")])]),_c('section',[_c('h2',[_vm._v(\"Reporting a Bug\")]),_c('p',[_vm._v(\" If you've come across an bug in Dashy, please \"),_c('a',{attrs:{\"href\":\"https://git.io/JnqPR\"}},[_vm._v(\"open an issue\")]),_vm._v(\", so that it can be fixed. \")])]),_c('section',[_c('h2',[_vm._v(\"Getting Support\")]),_c('p',[_vm._v(\" If you need any help deploying, using, or developing Dashy, feel free to \"),_c('a',{attrs:{\"href\":\"https://git.io/JnqiA\"}},[_vm._v(\"open a support ticket\")]),_vm._v(\" or start a \"),_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/discussions\"}},[_vm._v(\"discussion\")]),_vm._v(\" on GitHub. \")])]),_c('section',[_c('h2',[_vm._v(\"About the Author\")]),_c('a',{attrs:{\"href\":\"https://aliciasykes.com\"}},[_c('img',{staticClass:\"aht-pic\",attrs:{\"src\":\"https://i.ibb.co/FnxqTfx/aht-bot-round.png\",\"alt\":\"Alicia Sykes\"}})]),_vm._v(\" Dashy is developed an maintained by \"),_c('a',{attrs:{\"href\":\"https://aliciasykes.com\"}},[_vm._v(\"Alicia Sykes\")]),_vm._v(\" (\"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93\"}},[_vm._v(\"@Lissy93\")]),_vm._v(\"), with support from the community. \"),_c('ul',[_c('li',[_c('b',[_vm._v(\"PGP Key\")]),_vm._v(\" - \"),_c('a',{attrs:{\"href\":\"https://keybase.io/aliciasykes/pgp_keys.asc?fingerprint=0688f8d34587d954e9e51fb8fedb68f55c0283a7\"}},[_c('code',[_vm._v(\"0688 F8D3 4587 D954 E9E5 1FB8 FEDB 68F5 5C02 83A7\")])])]),_c('li',[_c('b',[_vm._v(\"BTC Address\")]),_vm._v(\" - \"),_c('code',[_vm._v(\"3853bSxupMjvxEYfwGDGAaLZhTKxB2vEVC\")])]),_c('li',[_c('b',[_vm._v(\"Mail\")]),_vm._v(\" - \"),_c('code',[_vm._v(\"alicia at omg dot lol\")])]),_c('li',[_c('b',[_vm._v(\"Blog\")]),_vm._v(\" - \"),_c('a',{attrs:{\"href\":\"https://notes.aliciasykes.com\"}},[_vm._v(\"notes.aliciasykes.com\")])])])]),_c('section',{staticClass:\"license\"},[_c('h2',[_vm._v(\"License\")]),_c('code',[_vm._v(\" Copyright © 2021 Alicia Sykes (https://aliciasykes.com) \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. \")]),_c('br'),_c('br'),_c('code',[_vm._v(\" THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWAREOR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \")])])])}]\n\nexport { render, staticRenderFns }","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=style&index=0&id=502c8927&scoped=true&lang=scss&\"","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=502c8927&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=js&\"\nexport * from \"./About.vue?vue&type=script&lang=js&\"\nimport style0 from \"./About.vue?vue&type=style&index=0&id=502c8927&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"502c8927\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dashy.5dfe9eab.js b/js/dashy.6c00fd2d.js similarity index 99% rename from js/dashy.5dfe9eab.js rename to js/dashy.6c00fd2d.js index 43c0677e..51367252 100644 --- a/js/dashy.5dfe9eab.js +++ b/js/dashy.6c00fd2d.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var n,s,r=t[0],l=t[1],c=t[2],_=0,u=[];_new RegExp(/(http|https):\/\/(\S+)(:[0-9]+)?/).test(e)}},O=x,T=(a("d16d"),Object(v["a"])(O,S,I,!1,null,"68c1bd5c",null)),E=T.exports,$=a("5cc6"),L=a.n($),A={name:"Header",inject:["visibleComponents"],components:{PageTitle:C,Nav:E},props:{pageInfo:Object},data(){return{titleVisible:(this.visibleComponents||$["visibleComponents"]).pageTitle,navVisible:(this.visibleComponents||$["visibleComponents"]).navigation}}},N=A,z=(a("3e3f"),Object(v["a"])(N,g,p,!1,null,"786dc3b6",null)),j=z.exports,M=function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.text&&""!==e.text?a("footer",{domProps:{innerHTML:e._s(e.text)}}):a("footer",[e._v(" Developed by "),a("a",{attrs:{href:e.authorUrl}},[e._v(e._s(e.authorName))]),e._v(". Licensed under "),a("a",{attrs:{href:e.licenseUrl}},[e._v(e._s(e.license))]),e._v(" "+e._s(e.showCopyright?"©":"")+" "+e._s(e.date)+". Get the "),a("a",{attrs:{href:e.repoUrl}},[e._v("Source Code")]),e._v(". ")])},P=[],V={name:"Footer",props:{text:String,authorName:{type:String,default:"Alicia Sykes"},authorUrl:{type:String,default:"https://aliciasykes.com"},license:{type:String,default:"MIT"},licenseUrl:{type:String,default:"https://gist.github.com/Lissy93/143d2ee01ccc5c052a17"},date:{type:String,default:""+(new Date).getFullYear()},showCopyright:{type:Boolean,default:!0},repoUrl:{type:String,default:"https://github.com/lissy93/dashy"}}},H=V,B=(a("ed9b"),Object(v["a"])(H,M,P,!1,null,"64591bd5",null)),D=B.exports,U=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide-fade"}},[e.isLoading?a("div",{class:e.c,attrs:{id:"loading"},on:{click:function(t){e.c="hide"}}},[a("h2",[e._v("Dashy")]),a("div",{staticClass:"inner-container"},[a("p",[e._v("Loading")]),a("span",{staticClass:"dots-cont"},[a("span",{staticClass:"dot dot-1"}),a("span",{staticClass:"dot dot-2"}),a("span",{staticClass:"dot dot-3"}),a("span",{staticClass:"dot dot-4"})])])]):e._e()])},R=[],K={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},F=K,q=(a("2bb3"),Object(v["a"])(F,U,R,!1,null,"a7bc1de6",null)),W=q.exports,G=a("8b8e"),J=a.n(G);class Y{constructor(){this.conf=J.a}appConfig(){const e=this.conf.appConfig||{};let t=$["appConfig"];return localStorage[$["localStorageKeys"].APP_CONFIG]?t=JSON.parse(localStorage[$["localStorageKeys"].APP_CONFIG]):e!=={}&&(t=e),t.layout=localStorage[$["localStorageKeys"].LAYOUT_ORIENTATION]||e.layout||$["layout"],t.iconSize=localStorage[$["localStorageKeys"].ICON_SIZE]||e.iconSize||$["iconSize"],t.language=localStorage[$["localStorageKeys"].LANGUAGE]||e.language||$["language"],t}pageInfo(){const e=$["pageInfo"];let t;try{t=JSON.parse(localStorage[$["localStorageKeys"].PAGE_INFO])}catch(n){t={}}const a=this.conf.pageInfo||e;return a.title=t.title||J.a.pageInfo.title||e.title,a.description=t.description||J.a.pageInfo.description||e.description,a.navLinks=t.navLinks||J.a.pageInfo.navLinks||e.navLinks,a.footerText=t.footerText||J.a.pageInfo.footerText||e.footerText,a}sections(){const e=localStorage[$["localStorageKeys"].CONF_SECTIONS];if(e)try{const t=JSON.parse(e);if(t.length>=1)return t}catch(t){}return this.conf.sections}config(){return{appConfig:this.appConfig(),pageInfo:this.pageInfo(),sections:this.sections()}}}var X=a("0e40");const Z=[{name:"English",code:"en",locale:X,flag:"🇬🇧"}],Q={};Z.forEach(e=>{Q[e.code]=e.locale});const ee=Q,te=(()=>{const e=new Y;return e.config()})(),ae=e=>{const t=e.hideComponents||{},a=e=>"boolean"===typeof e;return{pageTitle:a(t.hideHeading)?!t.hideHeading:$["visibleComponents"].pageTitle,navigation:a(t.hideNav)?!t.hideNav:$["visibleComponents"].navigation,searchBar:a(t.hideSearch)?!t.hideSearch:$["visibleComponents"].searchBar,settings:a(t.hideSettings)?!t.hideSettings:$["visibleComponents"].settings,footer:a(t.hideFooter)?!t.hideFooter:$["visibleComponents"].footer,splashScreen:a(t.hideSplashScreen)?!t.hideSplashScreen:$["visibleComponents"].splashScreen}},ne=()=>{const e=localStorage[$["localStorageKeys"].THEME],t=te.appConfig.theme;return e||t||$["theme"]},se=()=>{const e=JSON.parse(localStorage[$["localStorageKeys"].CUSTOM_COLORS]||"{}"),t=te.appConfig.customColors||{};return Object.assign(t,e)},oe=()=>{const e=[],t=te.sections||[];return t.forEach(t=>{const a=t.items.filter(e=>e.hotkey);e.push(a.map(e=>({hotkey:e.hotkey,url:e.url})))}),e.flat()},ie=()=>{const e=localStorage[$["localStorageKeys"].LANGUAGE]||te.appConfig.language||$["language"],t=Z.find(t=>t.code===e);return t},re=new Y,le=re.config(),ce=ae(le.appConfig)||$["visibleComponents"];var _e={name:"app",components:{Header:j,Footer:D,LoadingScreen:W},provide:{config:le,visibleComponents:ce},data(){return{isLoading:!0,showFooter:ce.footer,appConfig:re.appConfig(),pageInfo:re.pageInfo(),visibleComponents:ce}},methods:{getFooterText(){return this.pageInfo&&this.pageInfo.footerText?this.pageInfo.footerText:""},injectCustomStyles(e){const t=document.createElement("style");t.textContent=e,document.head.append(t)},shouldShowSplash(){return(this.visibleComponents||$["visibleComponents"]).splashScreen||!localStorage[$["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()?setTimeout(()=>{this.isLoading=!1},$["splashScreenTime"]||1500):this.isLoading=!1},applyLanguage(){let e=$["language"];const t=this.$i18n.availableLocales,a=localStorage[$["localStorageKeys"].LANGUAGE]||this.appConfig.language;if(a&&t.includes(a))e=a;else{const a=window.navigator.language||"",n=a.split("-")[0];t.includes(a)?e=a:t.includes(n)&&(e=n)}this.$i18n.locale=e,document.getElementsByTagName("html")[0].setAttribute("lang",e)}},mounted(){if(this.applyLanguage(),this.hideSplash(),this.appConfig.customCss){const e=this.appConfig.customCss.replace(/<\/?[^>]+(>|$)/g,"");this.injectCustomStyles(e)}}},ue=_e,de=(a("5c0b"),Object(v["a"])(ue,m,h,!1,null,null,null)),me=de.exports,he=a("8c4f"),ge=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"home",style:e.getBackgroundImage()},[a("SettingsContainer",{ref:"filterComp",staticClass:"settings-outer",attrs:{displayLayout:e.layout,iconSize:e.itemSizeBound,externalThemes:e.getExternalCSSLinks(),sections:e.getSections(e.sections),appConfig:e.appConfig,pageInfo:e.pageInfo,modalOpen:e.modalOpen},on:{"user-is-searchin":e.searching,"change-display-layout":e.setLayoutOrientation,"change-icon-size":e.setItemSize,"change-modal-visibility":e.updateModalVisibility}}),e.checkTheresData(e.sections)?a("div",{class:"item-group-container orientation-"+e.layout+" item-size-"+e.itemSizeBound},e._l(e.getSections(e.sections),(function(t,n){return a("ItemGroup",{key:n,class:0===e.filterTiles(t.items).length&&e.searchValue?"no-results":"",attrs:{title:t.name,icon:t.icon||void 0,displayData:e.getDisplayData(t),groupId:"section-"+n,items:e.filterTiles(t.items),itemSize:e.itemSizeBound},on:{itemClicked:function(t){return e.finishedSearching()},"change-modal-visibility":e.updateModalVisibility}})})),1):e._e(),e.checkIfResults()?a("div",{staticClass:"no-data"},[e._v(" "+e._s(e.searchValue?e.$t("home.no-results"):e.$t("home.no-data"))+" ")]):e._e()],1)},pe=[],fe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",[e.searchVisible?a("SearchBar",{ref:"SearchBar",attrs:{active:!e.modalOpen},on:{"user-is-searchin":e.userIsTypingSomething}}):e._e(),a("div",{staticClass:"options-outer"},[a("div",{class:"options-container "+(e.settingsVisible?"":"hide")},[a("ThemeSelector",{attrs:{externalThemes:e.externalThemes,confTheme:e.getInitialTheme(),userThemes:e.getUserThemes()},on:{modalChanged:e.modalChanged}}),a("LayoutSelector",{attrs:{displayLayout:e.displayLayout},on:{layoutUpdated:e.updateDisplayLayout}}),a("ItemSizeSelector",{attrs:{iconSize:e.iconSize},on:{iconSizeUpdated:e.updateIconSize}}),a("ConfigLauncher",{attrs:{sections:e.sections,pageInfo:e.pageInfo,appConfig:e.appConfig},on:{modalChanged:e.modalChanged}}),e.isUserLoggedIn()?a("AppButtons"):e._e()],1),a("div",{class:"show-hide-container "+(e.settingsVisible?"hide-btn":"show-btn")},[a("button",{directives:[{name:"tooltip",rawName:"v-tooltip",value:(e.settingsVisible?"Hide":"Open")+" Settings Menu",expression:"`${settingsVisible? 'Hide' : 'Open'} Settings Menu`"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.toggleSettingsVisibility()}}},[e.settingsVisible?a("IconClose"):a("IconOpen")],1)])]),a("KeyboardShortcutInfo"),a("AppInfoModal")],1)},be=[],ke=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("form",[a("label",{attrs:{for:"filter-tiles"}},[e._v(e._s(e.$t("search.search-label")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.input,expression:"input"}],ref:"filter",attrs:{id:"filter-tiles",placeholder:e.$t("search.search-placeholder")},domProps:{value:e.input},on:{input:[function(t){t.target.composing||(e.input=t.target.value)},e.userIsTypingSomething],keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.clearFilterInput.apply(null,arguments)}}}),e.input.length>0?a("i",{staticClass:"clear-search",attrs:{title:e.$t("search.clear-search-tooltip")},on:{click:e.clearFilterInput}},[e._v("x")]):e._e()])},we=[];class ve{constructor(e){this.index=e}resetIndex(){this.index=0}arrowNavigation(e){void 0===this.index?this.index=0:37===e?this.index-=1:38===e?this.index=ve.goToPrevious(this.index):39===e?this.index+=1:40===e&&(this.index=ve.goToNext(this.index)),this.index=ve.getSafeElementIndex(this.index),ve.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(e){const t=ve.getNumResults();return e<0?t-1:e>=t?0:e}static selectItemByIndex(e){return e>=0&&e<=ve.getNumResults()?document.getElementsByClassName("item")[e]:[document.getElementsByClassName("item")]}static findPreviousRow(e){const t=(e,t)=>ve.selectItemByIndex(e).offsetTop===t,a=(e,n)=>e>=ve.getNumResults()?a(0,n):t(e,n)?a(e-1,n):e,n=ve.selectItemByIndex(e).offsetTop;return a(e,n)}static goToPrevious(e){const t=(e,t)=>ve.selectItemByIndex(e).offsetTopve.selectItemByIndex(e).offsetTop===t,a=(e,n)=>e>=ve.getNumResults()?a(0,n):t(e,n)?a(e+1,n):e,n=ve.selectItemByIndex(e).offsetTop;return a(e,n)}static goToNext(e){const t=(e,t)=>ve.selectItemByIndex(e).offsetTop>ve.selectItemByIndex(t).offsetTop,a=ve.findNextRow(e),n=a-e,s=a-ve.findPreviousRow(e)-1,o=t(e,a)?0:s-n;return a+o}}var ye={name:"FilterTile",props:{active:Boolean},data(){return{input:"",akn:new ve,getCustomKeyShortcuts:oe}},mounted(){window.addEventListener("keydown",e=>{const t=document.activeElement.id,{key:a,keyCode:n}=e;this.active&&(/^[a-zA-Z]$/.test(a)&&"filter-tiles"!==t?(this.$refs.filter&&this.$refs.filter.focus(),this.userIsTypingSomething()):/^[0-9]$/.test(a)?this.handleHotKey(a):n>=37&&n<=40?this.akn.arrowNavigation(n):27===n&&this.clearFilterInput())})},methods:{userIsTypingSomething(){this.$emit("user-is-searchin",this.input)},clearFilterInput(){this.input="",this.userIsTypingSomething(),document.activeElement.blur(),this.akn.resetIndex()},handleHotKey(e){const t=this.getCustomKeyShortcuts();t.forEach(t=>{t.hotkey===parseInt(e,10)&&t.url&&window.open(t.url,"_blank")})}}},Ce=ye,Se=(a("b021"),Object(v["a"])(Ce,ke,we,!1,null,"2350dd8e",null)),Ie=Se.exports,xe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"config-options"},[a("span",[e._v(e._s(e.$t("settings.config-launcher-label")))]),a("div",{staticClass:"config-buttons"},[a("IconSpanner",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Update configuration"),expression:"tooltip('Update configuration')"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.showEditor()}}}),a("IconCloud",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Backup / restore cloud config"),expression:"tooltip('Backup / restore cloud config')"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.showCloudModal()}}})],1),a("modal",{attrs:{name:e.modalNames.CONF_EDITOR,resizable:!0,width:"60%",height:"85%",classes:"dashy-modal"},on:{closed:function(t){return e.$emit("modalChanged",!1)}}},[a("ConfigContainer",{attrs:{config:e.combineConfig()}})],1),a("modal",{attrs:{name:e.modalNames.CLOUD_BACKUP,resizable:!0,width:"65%",height:"60%",classes:"dashy-modal"},on:{closed:function(t){return e.$emit("modalChanged",!1)}}},[a("CloudBackupRestore",{attrs:{config:e.combineConfig()}})],1),a("modal",{attrs:{name:e.modalNames.LANG_SWITCHER,classes:"dashy-modal",resizable:!0,width:"30%",height:"25%"}},[a("LanguageSwitcher")],1)],1)},Oe=[],Te=a("35c3"),Ee=a.n(Te),$e=a("6780"),Le=a.n($e),Ae=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("Tabs",{ref:"tabView",attrs:{navAuto:!0,name:"Add Item"}},[a("TabItem",{staticClass:"main-tab",attrs:{name:e.$t("config.main-tab")}},[a("div",{staticClass:"main-options-container"},[a("h2",[e._v("Configuration Options")]),a("a",{staticClass:"hyperlink-wrapper",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[a("button",{staticClass:"config-button center"},[a("DownloadIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.download-config-button"))+" ")],1)]),a("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(2)}}},[a("EditIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.edit-config-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(3)}}},[a("CustomCssIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.edit-css-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openCloudSync()}}},[a("CloudIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.backupId?e.$t("config.edit-cloud-sync-button"):e.$t("config.cloud-sync-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openLanguageSwitchModal()}}},[a("LanguageIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.change-language-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openRebuildAppModal()}}},[a("RebuildIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.rebuild-app-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.resetLocalSettings()}}},[a("DeleteIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.reset-settings-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openAboutModal()}}},[a("IconAbout",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.app-info-button"))+" ")],1),a("p",{staticClass:"small-screen-note",staticStyle:{display:"none"}},[e._v(" You are using a very small screen, and some screens in this menu may not be optimal ")]),a("p",{staticClass:"language"},[e._v(e._s(e.getLanguage()))]),a("AppVersion"),a("div",{staticClass:"config-note"},[a("span",[e._v(e._s(e.$t("config.backup-note")))])])],1),a("RebuildApp")],1),a("TabItem",{staticClass:"code-container",attrs:{name:e.$t("config.view-config-tab")}},[a("pre",{attrs:{id:"conf-yaml"}},[e._v(e._s(e.yaml))]),a("div",{staticClass:"yaml-action-buttons"},[a("h2",[e._v(e._s(e.$t("config.actions-label")))]),a("a",{staticClass:"yaml-button download",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[e._v(" "+e._s(e.$t("config.download-config-button"))+" ")]),a("a",{staticClass:"yaml-button copy",on:{click:function(t){return e.copyConfigToClipboard()}}},[e._v(" "+e._s(e.$t("config.copy-config-label"))+" ")]),a("a",{staticClass:"yaml-button reset",on:{click:function(t){return e.resetLocalSettings()}}},[e._v(" "+e._s(e.$t("config.reset-config-label"))+" ")])])]),a("TabItem",{attrs:{name:e.$t("config.edit-config-tab")}},[a("JsonEditor",{attrs:{config:e.config}})],1),a("TabItem",{attrs:{name:e.$t("config.custom-css-tab")}},[a("CustomCssEditor",{attrs:{config:e.config}})],1)],1)},Ne=[],ze=a("1020"),je=a.n(ze),Me=a("2e7b"),Pe=a.n(Me),Ve=(a("1d89"),a("d97e"));const He=e=>e.split("\n").map(e=>e.trimRight()).join("\n"),Be=e=>{throw new Error("Error in Json to YAML conversion: "+e)},De=e=>{let t="";const a={undefined(){return"null"},null(){return"null"},number(e){return e},boolean(e){return e?"true":"false"},string(e){return JSON.stringify(e)},array(e){let n="";return 0===e.length?(n+="[]",n):(t=t.replace(/$/," "),e.forEach(e=>{const s=a[Object(Ve["typeOf"])(e)];s||Be(Object(Ve["typeOf"])(e)),n+=`\n${t}- ${s(e,!0)}`}),t=t.replace(/ {2}/,""),n)},object(e,n,s){let o="";return 0===Object.keys(e).length?(o+="{}",o):(s||(t=t.replace(/$/," ")),Object.keys(e).forEach((s,i)=>{const r=e[s],l=a[Object(Ve["typeOf"])(r)];"undefined"!==typeof r&&(l||Be(Object(Ve["typeOf"])(r)),n&&0===i||(o+="\n"+t),o+=`${s}: ${l(r)}`)}),t=t.replace(/ {2}/,""),o)},function(){return"[object Function]"}};return He(a[Object(Ve["typeOf"])(e)](e,!0,!0)+"\n")};var Ue=De,Re=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"json-editor-outer"},[a("v-jsoneditor",{attrs:{options:e.options,height:"500px"},model:{value:e.jsonData,callback:function(t){e.jsonData=t},expression:"jsonData"}}),a("div",{staticClass:"save-options"},[a("span",{staticClass:"save-option-title"},[e._v(e._s(e.$t("config-editor.save-location-label"))+":")]),a("div",{staticClass:"option"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"local",value:"local",disabled:!e.allowWriteToDisk},domProps:{checked:e._q(e.saveMode,"local")},on:{change:function(t){e.saveMode="local"}}}),a("label",{staticClass:"save-option-label",attrs:{for:"local"}},[e._v(" "+e._s(e.$t("config-editor.location-local-label"))+" ")])]),a("div",{staticClass:"option"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"file",value:"file",disabled:!e.allowWriteToDisk},domProps:{checked:e._q(e.saveMode,"file")},on:{change:function(t){e.saveMode="file"}}}),a("label",{staticClass:"save-option-label",attrs:{for:"file"}},[e._v(" "+e._s(e.$t("config-editor.location-disk-label"))+" ")])])]),a("button",{class:"save-button "+(e.isValid?"":"err"),on:{click:function(t){return e.save()}}},[e._v(" "+e._s(e.$t("config-editor.save-button"))+" ")]),a("p",{staticClass:"errors"},[a("ul",[e._l(e.errorMessages,(function(t,n){return a("li",{key:n,class:"type-"+t.type},[e._v(" "+e._s(t.msg)+" ")])})),e.errorMessages.length<1?a("li",{staticClass:"type-valid"},[e._v(" "+e._s(e.$t("config-editor.valid-label"))+" ")]):e._e()],2)]),void 0!==e.saveSuccess?a("p",{class:"response-output status-"+(e.saveSuccess?"success":"fail")},[e._v(" "+e._s(e.saveSuccess?e.$t("config-editor.status-success-msg"):e.$t("config-editor.status-fail-msg"))+" ")]):e._e(),a("p",{staticClass:"response-output"},[e._v(e._s(e.responseText))]),e.saveSuccess?a("p",{staticClass:"response-output"},[e._v(" "+e._s(e.$t("config-editor.success-note-l1"))+" "+e._s(e.$t("config-editor.success-note-l2"))+" "+e._s(e.$t("config-editor.success-note-l3"))+" ")]):e._e(),a("p",{staticClass:"note"},[e._v(e._s(e.$t("config.backup-note")))])],1)},Ke=[],Fe=a("bcb2"),qe=a.n(Fe),We=a("831b"),Ge=a("94f8"),Je=a.n(Ge);const Ye=e=>Je()(e.toString()).toString().toLowerCase(),Xe=e=>{const t=e.map(e=>Ye(e));let a=!1;return document.cookie.split(";").forEach(e=>{if(e&&e.split("=").length>1){const n=e.split("=")[0].trim(),s=e.split("=")[1].trim();n===$["cookieKeys"].AUTH_TOKEN&&t.includes(s)&&(a=!0)}}),a},Ze=(e,t,a)=>{let n;return e?t?a.forEach(a=>{a.user===e&&(n=a.hash.toLowerCase()===Je()(t).toString().toLowerCase()?{correct:!0,msg:"Logging in..."}:{correct:!1,msg:"Incorrect Password"})}):n={correct:!1,msg:"Missing Password"}:n={correct:!1,msg:"Missing Username"},n||{correct:!1,msg:"User not found"}},Qe=(e,t,a)=>{const n=new Date,s=new Date(n.setTime(n.getTime()+a)).toGMTString(),o={user:e,hash:Je()(t).toString().toLowerCase()};document.cookie=`authenticationToken=${Ye(o)};`+(a>0?"expires="+s:""),localStorage.setItem($["localStorageKeys"].USERNAME,e)},et=()=>{document.cookie="authenticationToken=null",localStorage.removeItem($["localStorageKeys"].USERNAME)},tt=e=>{if(!e||0===e.length)return!0;if(!Xe(e))return!1;const t=localStorage[$["localStorageKeys"].USERNAME];let a=!1;return e.forEach(e=>{e.user===t&&"admin"===e.type&&(a=!0)}),a};var at=a("bc3a"),nt=a.n(at),st={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:qe.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:We,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:Ue,responseText:"",saveSuccess:void 0,allowWriteToDisk:this.shouldAllowWriteToDisk()}},computed:{isValid(){return this.errorMessages.length<1}},mounted(){this.allowWriteToDisk||(this.saveMode="local")},methods:{shouldAllowWriteToDisk(){const{appConfig:e}=this.config;return!1!==e.allowConfigEdit&&tt(e.auth)},save(){"local"!==this.saveMode&&this.allowWriteToDisk?"file"===this.saveMode?this.writeConfigToDisk():this.$toasted.show(this.$t("config-editor.error-msg-save-mode")):this.saveConfigLocally()},writeConfigToDisk(){const e=this.jsonParser(this.jsonData),t=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.4.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,a=t+"/config-manager/save",n={"Content-Type":"text/plain"},s={config:e,timestamp:new Date},o=nt.a.post(a,s,n);o.then(e=>{this.saveSuccess=e.data.success||!1,this.responseText=e.data.message,this.saveSuccess?(this.carefullyClearLocalStorage(),this.showToast(this.$t("config-editor.success-msg-disk"),!0)):this.showToast(this.$t("config-editor.error-msg-cannot-save"),!1)}).catch(e=>{this.saveSuccess=!1,this.responseText=e,this.showToast(e,!1)})},saveConfigLocally(){const e=this.jsonData;e.sections&&localStorage.setItem($["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),e.pageInfo&&localStorage.setItem($["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig&&localStorage.setItem($["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),e.appConfig.theme&&localStorage.setItem($["localStorageKeys"].THEME,e.appConfig.theme),this.showToast(this.$t("config-editor.success-msg-local"),!0)},carefullyClearLocalStorage(){localStorage.removeItem($["localStorageKeys"].PAGE_INFO),localStorage.removeItem($["localStorageKeys"].APP_CONFIG),localStorage.removeItem($["localStorageKeys"].CONF_SECTIONS)},validationErrors(e){const t=[];e.forEach(e=>{switch(e.type){case"validation":t.push({type:"validation",msg:this.$t("config-editor.warning-msg-validation")+": "+`${e.error.keyword} ${e.error.message}`});break;case"error":t.push({type:"parse",msg:e.message});break;default:t.push({type:"editor",msg:this.$t("config-editor.error-msg-bad-json")});break}}),this.errorMessages=t},showToast(e,t){this.$toasted.show(e,{className:"toast-"+(t?"success":"error")})}}},ot=st,it=(a("80a7"),Object(v["a"])(ot,Re,Ke,!1,null,null,null)),rt=it.exports,lt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"css-editor-outer"},[a("prism-editor",{staticClass:"my-editor",attrs:{highlight:e.highlighter,"line-numbers":""},model:{value:e.customCss,callback:function(t){e.customCss=t},expression:"customCss"}}),a("button",{staticClass:"save-button",on:{click:function(t){return e.save()}}},[e._v(e._s(e.$t("config.css-save-btn")))]),a("p",{staticClass:"quick-note"},[a("b",[e._v(e._s(e.$t("config.css-note-label"))+":")]),e._v(" "+e._s(e.$t("config.css-note-l1"))+" "+e._s(e.$t("config.css-note-l2"))+" "+e._s(e.$t("config.css-note-l3"))+" ")]),a("CustomThemeMaker",{staticClass:"color-config",attrs:{themeToEdit:e.currentTheme}})],1)},ct=[],_t=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"theme-configurator-wrapper "+(e.showingAllVars?"showing-all":"")},[a("h3",{staticClass:"configurator-title"},[e._v(e._s(e.$t("theme-maker.title")))]),a("div",{staticClass:"color-row-container"},e._l(Object.keys(e.customColors),(function(t){return a("div",{key:t,staticClass:"color-row"},[a("label",{staticClass:"color-name",attrs:{for:"color-input-"+t}},[e._v(" "+e._s(t.replaceAll("-"," "))+" ")]),e.isColor(t,e.customColors[t])?a("v-swatches",{attrs:{"show-fallback":"","fallback-input-type":"color","popover-x":"left",swatches:e.swatches},on:{input:function(a){return e.setVariable(t,e.customColors[t])}},model:{value:e.customColors[t],callback:function(a){e.$set(e.customColors,t,a)},expression:"customColors[colorName]"}},[a("input",{staticClass:"swatch-input form__input__element",style:e.makeSwatchStyles(t),attrs:{slot:"trigger",id:"color-input-"+t,readonly:""},domProps:{value:e.customColors[t]},slot:"trigger"})]):a("input",{staticClass:"misc-input",attrs:{id:"color-input-"+t},domProps:{value:e.customColors[t]},on:{input:function(a){return e.setVariable(t,e.customColors[t])}}})],1)})),0),a("p",{staticClass:"action-text-btn",on:{click:e.exportToClipboard}},[e._v(" "+e._s(e.$t("theme-maker.export-button"))+" ")]),a("p",{staticClass:"action-text-btn show-all-vars-btn",on:{click:e.resetAndSave}},[e._v(" "+e._s(e.$t("theme-maker.reset-button"))+" '"+e._s(e.themeToEdit)+"' ")]),a("p",{staticClass:"action-text-btn",on:{click:e.findAllVariableNames}},[e._v(" "+e._s(e.$t("theme-maker.show-all-button"))+" ")]),a("div",{staticClass:"action-buttons"},[a("Button",{attrs:{click:e.saveChanges}},[a("SaveIcon"),e._v(" "+e._s(e.$t("theme-maker.save-button"))+" ")],1),a("Button",{attrs:{click:e.resetUnsavedColors}},[a("CancelIcon"),e._v(" "+e._s(e.$t("theme-maker.cancel-button"))+" ")],1)],1)])},ut=[],dt=a("7f75"),mt=a.n(dt),ht=(a("b3a4"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("button",{class:e.disallow?"disallowed":"",attrs:{disabled:e.disabled},on:{click:function(t){return e.click()}}},[e._t("default"),e._t("text"),e._t("icon")],2)}),gt=[],pt={name:"Button",props:{text:String,click:Function,disabled:Boolean,disallow:Boolean}},ft=pt,bt=(a("24e6"),Object(v["a"])(ft,ht,gt,!1,null,"ec408f00",null)),kt=bt.exports,wt=a("90ff"),vt=a.n(wt),yt=a("90de"),Ct=a.n(yt),St={name:"ThemeMaker",components:{VSwatches:mt.a,Button:kt,SaveIcon:vt.a,CancelIcon:Ct.a},data(){return{customColors:this.makeInitialData($["mainCssVars"]),showingAllVars:!1,swatches:$["swatches"]}},props:{themeToEdit:String},methods:{getCssVariableValue(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()||"inherit"},setVariable(e,t){document.documentElement.style.setProperty("--"+e,t)},saveChanges(){const e=JSON.parse(localStorage[$["localStorageKeys"].CUSTOM_COLORS]||"{}");e[this.themeToEdit]=this.customColors,localStorage.setItem($["localStorageKeys"].CUSTOM_COLORS,JSON.stringify(e)),this.$toasted.show(this.$t("theme-maker.saved-toast",{theme:this.themeToEdit})),this.$emit("closeThemeConfigurator")},resetUnsavedColors(){const e=Object.keys(this.customColors);e.forEach(e=>{document.documentElement.style.removeProperty("--"+e)}),this.customColors=this.makeInitialData($["mainCssVars"]),this.$emit("closeThemeConfigurator")},resetAndSave(){const e=JSON.parse(localStorage[$["localStorageKeys"].CUSTOM_COLORS]||"{}");delete e[this.themeToEdit],localStorage.setItem($["localStorageKeys"].CUSTOM_COLORS,JSON.stringify(e)),this.resetUnsavedColors(),this.$toasted.show(this.$t("theme-maker.reset-toast",{theme:this.themeToEdit}))},exportToClipboard(){const e=this.themeToEdit.replace(/^\w/,e=>e.toUpperCase());let t=`// Custom Colors for ${e}\n`;Object.keys(this.customColors).forEach(e=>{t+=`--${e}: ${this.customColors[e]};\n`}),navigator.clipboard.writeText(t),this.$toasted.show(this.$t("theme-maker.copied-toast",{theme:e}))},makeInitialData(e){const t={},a=e=>/^--/.exec(e),n=e=>a(e)?e:"--"+e,s=e=>a(e)?e.replace("--",""):e;return e.forEach(e=>{t[s(e)]=this.getCssVariableValue(n(e))}),t},findAllVariableNames(){const e=Array.from(document.styleSheets).filter(e=>null===e.href||e.href.startsWith(window.location.origin)).reduce((e,t)=>[...e,...Array.from(t.cssRules).reduce((e,t)=>":root"===t.selectorText?[...e,...Array.from(t.style).filter(e=>e.startsWith("--"))]:e,[])],[]);this.customColors=this.makeInitialData(e),this.showingAllVars=!0},getForegroundColor(e){const t=e=>{const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t||t.length<3)return"black";const a=e=>parseInt(t[e],16);return t?{r:a(1),g:a(2),b:a(3)}:null},a=e=>(299*e.r+587*e.g+114*e.b)/1e3;return a(t(e.trim()))<100?"white":"black"},makeSwatchStyles(e){const t=this.getForegroundColor(this.customColors[e]);return`background:${this.customColors[e]};color:${t}; border: 1px solid ${t}`},isColor(e,t){if(/rem|px|%/.exec(t))return!1;const a=["--curve-factor","--curve-factor-navbar","--curve-factor-small","--dimming-factor","--scroll-bar-width","--header-height","--footer-height","--item-group-padding","--item-shadow","--item-hover-shadow:","--item-icon-transform","--item-icon-transform-hover","--item-group-shadow","--context-menu-shadow","--settings-container-shadow","--side-bar-width"];return!a.includes("--"+e)}}},It=St,xt=(a("369e"),Object(v["a"])(It,_t,ut,!1,null,null,null)),Ot=xt.exports,Tt=a("e57a"),Et=a("8c7a"),$t=(a("6605"),a("dff1"),a("cabf"),{name:"JsonEditor",props:{config:Object},components:{CustomThemeMaker:Ot,PrismEditor:Tt["a"]},data(){return{customCss:this.config.appConfig.customCss||"\n\n\n\n\n",currentTheme:ne()}},methods:{validate(e){return""===e||e.match(/((?:^\s*)([\w#.@*,:\-.:>,*\s]+)\s*{(?:[\s]*)((?:[A-Za-z\- \s]+[:]\s*['"0-9\w .,/()\-!%]+;?)*)*\s*}(?:\s*))/gim)},save(){let e="";if(this.validate(this.customCss)){const t={...this.config.appConfig};t.customCss=this.customCss,localStorage.setItem($["localStorageKeys"].APP_CONFIG,JSON.stringify(t)),e="Changes saved succesfully",this.inject(this.customCss),""===this.customCss&&setTimeout(()=>{location.reload()},1500)}else e="Error - Invalid CSS";this.$toasted.show(e)},inject(e){const t=e.replace(/<\/?[^>]+(>|$)/g,""),a=document.createElement("style");a.textContent=t,document.head.append(a)},highlighter(e){return Object(Et["highlight"])(e,Et["languages"].css)}}}),Lt=$t,At=(a("9e50"),Object(v["a"])(Lt,lt,ct,!1,null,null,null)),Nt=At.exports,zt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.modalName,resizable:!0,width:"50%",height:"60%",classes:"dashy-modal"}},[a("div",{staticClass:"rebuild-app-container"},[a("h3",{staticClass:"rebuild-app-title"},[e._v(e._s(e.$t("app-rebuild.title")))]),a("p",[e._v(" "+e._s(e.$t("app-rebuild.rebuild-note-l1"))+" "+e._s(e.$t("app-rebuild.rebuild-note-l2"))),a("br"),e._v(" "+e._s(e.$t("app-rebuild.rebuild-note-l3"))+" ")]),a("Button",{attrs:{click:e.startBuild,disabled:e.loading||!e.allowRebuild,disallow:!e.allowRebuild},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(" "+e._s(e.loading?e.$t("app-rebuild.rebuilding-status-1"):e.$t("app-rebuild.rebuild-button"))+" ")]},proxy:!0},{key:"icon",fn:function(){return[a("RebuildIcon")]},proxy:!0}])}),e.allowRebuild?e._e():a("div",[a("p",{staticClass:"disallow-rebuild-msg"},[e._v(e._s(e.$t("app-rebuild.error-permission")))])]),e.loading?a("div",{staticClass:"loader-info"},[a("LoadingAnimation",{staticClass:"loader"}),a("p",{staticClass:"loading-message"},[e._v(e._s(e.$t("app-rebuild.rebuilding-status-2"))+"...")])],1):e._e(),void 0!==e.success?a("div",{staticClass:"rebuild-response"},[e.success?a("p",{staticClass:"response-status success"},[e._v(" ✅ "+e._s(e.$t("app-rebuild.success-msg"))+" ")]):a("p",{staticClass:"response-status failure"},[e._v(" ❌ "+e._s(e.$t("app-rebuild.fail-msg"))+" ")]),a("pre",{staticClass:"output"},[a("code",[e._v(e._s(e.output||e.error))])]),a("p",{staticClass:"rebuild-message"},[e._v(e._s(e.message))]),e.success?a("p",{staticClass:"rebuild-message"},[e._v(" "+e._s(e.$t("app-rebuild.reload-note"))+" ")]):e._e(),e.success?a("Button",{attrs:{click:e.refreshPage},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(e._s(e.$t("app-rebuild.reload-button")))]},proxy:!0},{key:"icon",fn:function(){return[a("ReloadIcon")]},proxy:!0}],null,!1,3658341317)}):e._e()],1):e._e()],1)])},jt=[],Mt=a("0911"),Pt=a.n(Mt),Vt=a("3ff5"),Ht=a.n(Vt),Bt=a("6266"),Dt=a.n(Bt),Ut={name:"RebuildApp",inject:["config"],components:{Button:kt,RebuildIcon:Pt.a,ReloadIcon:Ht.a,LoadingAnimation:Dt.a},data:()=>({modalName:$["modalNames"].REBUILD_APP,loading:!1,success:void 0,error:"",output:"",message:"",allowRebuild:!0}),methods:{startBuild(){const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.4.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=e+"/config-manager/rebuild";this.loading=!0,nt.a.get(t).then(e=>{this.finished(e.data||!1)}).catch(e=>{this.finished({success:!1,error:e})})},finished(e){if(this.loading=!1,e){const{success:t,output:a,error:n,message:s}=e;this.success=t,this.output=a,this.message=s,this.error=n}this.$toasted.show(this.success?"✅ "+this.$t("app-rebuild.success-msg"):"❌ "+this.$t("app-rebuild.fail-msg"),{className:"toast-"+(this.success?"success":"error")})},refreshPage(){location.reload()}},mounted(){this.config&&this.config.appConfig&&!1===this.config.appConfig.allowConfigEdit&&(this.allowRebuild=!1)}},Rt=Ut,Kt=(a("1171"),Object(v["a"])(Rt,zt,jt,!1,null,"306fcc3a",null)),Ft=Kt.exports,qt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"app-version"},[a("p",[e._v(" "+e._s(e.$t("updates.app-version-note"))+" "+e._s(e.appVersion)+" ")]),e.checksEnabled?a("div",[e.finished?e._e():a("p",[e._v(" "+e._s(e.error?"Error checking for updates.":"Chcekcing for Updates...")+" ")]),e.finished&&e.isUpToDate?a("p",{staticClass:"up-to-date"},[e._v(" ✅ "+e._s(e.$t("updates.up-to-date"))+" ")]):e.finished&&!e.veryOutOfDate?a("p",{staticClass:"update-availible"},[e._v(" ⚠️"+e._s(e.$t("updates.out-of-date"))+": "),a("b",[e._v(e._s(e.latestVersion))])]):e.finished&&e.veryOutOfDate?a("p",{staticClass:"big-update-availible"},[e._v(" ❗ "+e._s(e.$t("updates.out-of-date"))+": "),a("b",[e._v(e._s(e.latestVersion))]),a("span",{staticClass:"please-update"},[e._v(" "+e._s(e.$t("updates.unsupported-version-l1"))+"."),a("br"),e._v(" "+e._s(e.$t("updates.unsupported-version-2"))+" "+e._s(e.latestVersion)+" ")])]):e._e()]):e._e()])},Wt=[],Gt={name:"AppInfoModal",inject:["config"],data(){return{appVersion:"1.4.4",latestVersion:"",checksEnabled:!0,isUpToDate:!0,veryOutOfDate:!1,finished:!1,error:!1}},mounted(){const e=this.config.appConfig||{};!this.appVersion||e&&e.disableUpdateChecks?this.checksEnabled=!1:this.checkVersion()},methods:{checkVersion(){const e="https://raw.githubusercontent.com/Lissy93/dashy/master/package.json";nt.a.get(e).then(e=>{e&&e.data&&e.data.version&&(this.latestVersion=e.data.version,this.isUpToDate=this.checkIfUpToDate(this.appVersion,this.latestVersion),this.finished=!0)}).catch(()=>{this.error=!0})},checkIfUpToDate(e,t){const a=e=>parseInt(e.replaceAll(".",""),10),n=a(t)-a(e);return n>5&&(this.veryOutOfDate=!0),n<=0}}},Jt=Gt,Yt=(a("f255"),Object(v["a"])(Jt,qt,Wt,!1,null,"49d7ffdf",null)),Xt=Yt.exports,Zt=a("cbd9"),Qt=a.n(Zt),ea=a("0278"),ta=a.n(ea),aa=a("e7fa"),na=a.n(aa),sa=a("7da9"),oa=a.n(sa),ia=a("0845"),ra=a.n(ia),la=a("2413"),ca=a.n(la),_a={name:"ConfigContainer",data(){return{jsonParser:Ue,backupId:localStorage[$["localStorageKeys"].BACKUP_ID]||"",appVersion:"1.4.4",latestVersion:""}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:rt,CustomCssEditor:Nt,RebuildApp:Ft,AppVersion:Xt,DownloadIcon:Qt.a,DeleteIcon:ta.a,EditIcon:na.a,CloudIcon:Le.a,CustomCssIcon:oa.a,LanguageIcon:ra.a,RebuildIcon:Pt.a,IconAbout:ca.a},methods:{navigateToTab(e){const t=this.$refs.tabView.navItems[e];this.$refs.tabView.activeTabItem(t)},openRebuildAppModal(){this.$modal.show($["modalNames"].REBUILD_APP)},openAboutModal(){this.$modal.show($["modalNames"].ABOUT_APP)},openCloudSync(){this.$modal.show($["modalNames"].CLOUD_BACKUP)},openLanguageSwitchModal(){this.$modal.show($["modalNames"].LANG_SWITCHER)},copyConfigToClipboard(){navigator.clipboard.writeText(this.jsonParser(this.config)),this.$toasted.show(this.$t("config.data-copied-msg"))},resetLocalSettings(){const e=`${this.$t("config.reset-config-msg-l1")}${this.$t("config.reset-config-msg-l2")}\n\n${this.$t("config.reset-config-msg-l3")}`,t=confirm(e);t&&(localStorage.clear(),this.$toasted.show(this.$t("config.data-cleared-msg")),setTimeout(()=>{location.reload(!0)},1900))},downloadConfigFile(e,t){const a=document.createElement("a");a.setAttribute("href","data:text/plain;charset=utf-8, "+encodeURIComponent(t)),a.setAttribute("download",e),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a)},initiateStntaxHighlighter(){je.a.registerLanguage("yaml",Pe.a);const e=je.a.highlight(this.jsonParser(this.config),{language:"yaml"}).value;document.getElementById("conf-yaml").innerHTML=e},getLanguage(){const e=ie();return e?`${e.flag} ${e.name}`:""}},mounted(){this.initiateStntaxHighlighter()}},ua=_a,da=(a("a2fe"),a("1d47"),Object(v["a"])(ua,Ae,Ne,!1,null,"69f09168",null)),ma=da.exports,ha=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"cloud-backup-restore-wrapper"},[a("div",{staticClass:"section intro"},[a("h2",[e._v(e._s(e.$t("cloud-sync.title")))]),a("p",{staticClass:"intro"},[e._v(" "+e._s(e.$t("cloud-sync.intro-l1"))+" "),a("br"),a("br"),e._v(" "+e._s(e.$t("cloud-sync.intro-l2"))+" "),a("br"),e._v(" "+e._s(e.$t("cloud-sync.intro-l3"))+" "),a("a",{attrs:{href:"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md"}},[e._v("docs")])])]),a("div",{staticClass:"section backup-section"},[(e.backupId,a("h3",[e._v(e._s(e.$t("cloud-sync.backup-title-setup")))])),a("Input",{attrs:{name:"backup-password",label:e.backupId?e.$t("cloud-sync.password-label-update"):e.$t("cloud-sync.password-label-setup"),layout:"vertical",type:"password"},model:{value:e.backupPassword,callback:function(t){e.backupPassword=t},expression:"backupPassword"}}),a("Button",{attrs:{click:e.checkPass},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(" "+e._s(e.backupId?e.$t("cloud-sync.backup-button-update"):e.$t("cloud-sync.backup-button-setup"))+" ")]},proxy:!0},{key:"icon",fn:function(){return[a("IconBackup")]},proxy:!0}])}),e.backupId?a("div",{staticClass:"results-view"},[a("span",{staticClass:"backup-id-label"},[e._v(e._s(e.$t("cloud-sync.backup-id-label"))+": ")]),a("pre",{staticClass:"backup-id-value"},[e._v(e._s(e.backupId))]),a("span",{staticClass:"backup-id-note"},[e._v(e._s(e.$t("cloud-sync.backup-id-note")))])]):e._e()],1),a("div",{staticClass:"section restore-section"},[a("h3",[e._v(e._s(e.$t("cloud-sync.restore-title")))]),a("Input",{attrs:{name:"restore-code",label:e.$t("cloud-sync.restore-id-label")},model:{value:e.restoreCode,callback:function(t){e.restoreCode=t},expression:"restoreCode"}}),a("Input",{attrs:{name:"restore-password",label:e.$t("cloud-sync.restore-password-label"),type:"password"},model:{value:e.restorePassword,callback:function(t){e.restorePassword=t},expression:"restorePassword"}}),a("Button",{attrs:{click:e.restoreBackup},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(e._s(e.$t("cloud-sync.restore-button")))]},proxy:!0},{key:"icon",fn:function(){return[a("IconRestore")]},proxy:!0}])})],1)])},ga=[],pa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"input-container "+e.layout},[e.label?a("label",{attrs:{for:"name"}},[e._v(e._s(e.label))]):e._e(),a("input",{attrs:{type:e.type,name:e.name,id:e.name,placeholder:e.placeholder},domProps:{value:e.value},on:{input:function(t){return e.updateValue(t.target.value)}}})])},fa=[],ba={name:"Input",props:{value:String,label:String,name:String,placeholder:String,type:{default:"text",type:String},layout:{validator:e=>-1!==["horizontal","vertical"].indexOf(e),type:String,default:"vertical"}},methods:{updateValue(e){this.$emit("input",e)}}},ka=ba,wa=(a("2d25"),Object(v["a"])(ka,pa,fa,!1,null,"5df13ed2",null)),va=wa.exports,ya=a("3a1e"),Ca=a.n(ya),Sa=a("e6a4"),Ia=a.n(Sa),xa=a("c198"),Oa=a.n(xa),Ta=a("f8d5"),Ea=a.n(Ta);const $a=$["backupEndpoint"],La=(e,t)=>{const a=JSON.stringify(e),n=Oa.a.encrypt(a,t);return n.toString()},Aa=(e,t)=>Oa.a.decrypt(e,t).toString(Ea.a),Na=e=>Je()(e).toString().slice(0,14),za=(e,t)=>nt.a.post($a,{userData:La(e,t),subHash:Na(t)}),ja=(e,t,a)=>nt.a.put($a,{backupId:a,userData:La(e,t),subHash:Na(t)}),Ma=e=>Object.entries(e).map(e=>e.map(encodeURIComponent).join("=")).join("&"),Pa=(e,t)=>{const a=Ma({backupId:e,subHash:Na(t)}),n=`${$a}/?${a}`;return new Promise((e,a)=>{nt.a.get(n).then(n=>{if(!n.data||n.data.errorMsg)a(n.data.errorMsg||"Error");else{const o=Aa(n.data.userData.userData,t);try{e(JSON.parse(o))}catch(s){a(s)}}})})};var Va={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[$["localStorageKeys"].BACKUP_ID]||""}},components:{Button:kt,Input:va,IconBackup:Ca.a,IconRestore:Ia.a},methods:{restoreBackup(){Pa(this.restoreCode,this.restorePassword).then(e=>{this.restoreFromBackup(e,this.restoreCode)}).catch(e=>{this.showErrorMsg(e)})},checkPass(){const e=localStorage[$["localStorageKeys"].BACKUP_HASH]||void 0;e?e===this.makeHash(this.backupPassword)?this.makeUpdate():this.showErrorMsg(this.$t("cloud-sync.backup-error-password")):this.makeBackup()},makeBackup(){za(this.config,this.backupPassword).then(e=>{e.data&&!e.data.errorMsg&&e.data.backupId?this.updateUiAfterBackup(e.data.backupId,!1):this.showErrorMsg(e.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg(this.$t("cloud-sync.backup-error-unknown"))})},makeUpdate(){ja(this.config,this.backupPassword,this.backupId).then(e=>{e.data&&!e.data.errorMsg&&e.data.backupId?this.updateUiAfterBackup(e.data.backupId,!0):this.showErrorMsg(e.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg(this.$t("cloud-sync.backup-error-unknown"))})},restoreFromBackup(e,t){localStorage.setItem($["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),localStorage.setItem($["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),localStorage.setItem($["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig.theme&&localStorage.setItem($["localStorageKeys"].THEME,e.appConfig.theme),this.setBackupIdLocally(t,this.restorePassword),this.showSuccessMsg(this.$t("cloud-sync.restore-success-msg")),setTimeout(()=>{location.reload()},1500)},updateUiAfterBackup(e,t=!1){this.setBackupIdLocally(e,this.backupPassword),this.showSuccessMsg(`${t?"Update":"Backup"} ${this.$t("cloud-sync.backup-success-msg")}`),this.backupPassword=""},showErrorMsg(e){this.$toasted.show(e,{className:"toast-error"})},showSuccessMsg(e){this.$toasted.show(e,{className:"toast-success"})},makeHash(e){return Je()(e).toString()},setBackupIdLocally(e,t){this.backupId=e;const a=this.makeHash(t);localStorage.setItem($["localStorageKeys"].BACKUP_ID,e),localStorage.setItem($["localStorageKeys"].BACKUP_HASH,a)}}},Ha=Va,Ba=(a("5583"),Object(v["a"])(Ha,ha,ga,!1,null,"079113a8",null)),Da=Ba.exports,Ua=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"language-switcher"},[a("h3",{staticClass:"title"},[e._v(e._s(e.$t("language-switcher.title")))]),a("p",{staticClass:"intro"},[e._v(e._s(e.$t("language-switcher.dropdown-label"))+":")]),a("v-select",{staticClass:"language-dropdown",attrs:{selectOnTab:!0,options:e.availibleLanguages,label:"name",input:e.setLangLocally()},model:{value:e.language,callback:function(t){e.language=t},expression:"language"}}),a("Button",{staticClass:"save-button",attrs:{click:e.saveLanguage,disallow:!e.language}},[e._v(" "+e._s(e.$t("language-switcher.save-button"))+" "),a("SaveConfigIcon")],1),e.language?a("p",[e._v(e._s(e.language.flag)+" "+e._s(e.language.name))]):e._e(),e.$i18n.availableLocales.length<=1?a("p",{staticClass:"sad-times"},[e._v(" There are not currently any additional languages supported, but stay tuned as more are on their way! ")]):e._e()],1)},Ra=[],Ka={name:"LanguageSwitcher",inject:["config"],components:{Button:kt,SaveConfigIcon:vt.a},data(){return{availibleLanguages:Z,language:"",modalName:$["modalNames"].LANG_SWITCHER}},methods:{saveLanguage(){const e=this.language;if(this.checkLocale(e)){localStorage.setItem($["localStorageKeys"].LANGUAGE,e.code),this.setLangLocally();const t=e.flag+" "+`${this.$t("language-switcher.success-msg")} ${e.name}`;this.$toasted.show(t,{className:"toast-success"}),this.$modal.hide(this.modalName)}else this.$toasted.show("Unable to update language",{className:"toast-error"})},checkLocale(e){if(!e||!e.code)return!1;const t=this.$i18n.availableLocales;return t.includes(e.code)},setLangLocally(){this.language&&this.language.code&&(this.$i18n.locale=this.language.code)}}},Fa=Ka,qa=(a("570c"),Object(v["a"])(Fa,Ua,Ra,!1,null,"631f0843",null)),Wa=qa.exports,Ga={name:"ConfigLauncher",data(){return{modalNames:$["modalNames"]}},components:{IconSpanner:Ee.a,IconCloud:Le.a,ConfigContainer:ma,CloudBackupRestore:Da,LanguageSwitcher:Wa},props:{sections:Array,pageInfo:Object,appConfig:Object},methods:{showEditor:function(){this.$modal.show($["modalNames"].CONF_EDITOR),this.$emit("modalChanged",!0)},showCloudModal:function(){this.$modal.show($["modalNames"].CLOUD_BACKUP),this.$emit("modalChanged",!0)},combineConfig(){const e={};return e[$["topLevelConfKeys"].APP_CONFIG]=this.appConfig,e[$["topLevelConfKeys"].PAGE_INFO]=this.pageInfo,e[$["topLevelConfKeys"].SECTIONS]=this.sections,e[$["topLevelConfKeys"].APP_CONFIG].theme=localStorage[$["localStorageKeys"].THEME]||e[$["topLevelConfKeys"].APP_CONFIG].theme,e},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Ja=Ga,Ya=(a("cbc6"),Object(v["a"])(Ja,xe,Oe,!1,null,"4aaf8dc8",null)),Xa=Ya.exports,Za=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeThemeConfigurator,expression:"closeThemeConfigurator"}],staticClass:"theme-selector-section"},[a("div",[a("span",{staticClass:"theme-label"},[e._v(e._s(e.$t("settings.theme-label")))]),a("v-select",{staticClass:"theme-dropdown",attrs:{options:e.themeNames,tabindex:-2},model:{value:e.selectedTheme,callback:function(t){e.selectedTheme=t},expression:"selectedTheme"}})],1),a("IconPalette",{staticClass:"color-button",on:{click:e.openThemeConfigurator}}),e.themeConfiguratorOpen?a("CustomThemeMaker",{attrs:{themeToEdit:e.selectedTheme},on:{closeThemeConfigurator:function(t){return e.closeThemeConfigurator()}}}):e._e()],1)},Qa=[];const en=function(e){console.warn(e)};var tn=en;const an=()=>ne(),nn=e=>{$["mainCssVars"].forEach(e=>{document.documentElement.style.removeProperty("--"+e)});const t=se()[e];t&&Object.keys(t).forEach(e=>{document.documentElement.style.setProperty("--"+e,t[e])})},sn=e=>{const t=document.getElementsByTagName("html")[0];t.hasAttribute("data-theme")&&t.removeAttribute("data-theme"),t.setAttribute("data-theme",e)},on=function(){const e=e=>{const t=document.createElement("link");return t.rel="stylesheet",t.href=e,document.head.appendChild(t),new Promise((e,a)=>{t.onload=t=>{const{sheet:a}=t.target;a.disabled=!0,e(a)},t.onerror=a})},t=(e,t)=>!(!t||"custom"!==t&&!e[t])||(tn(`Theme: '${t||"[not selected]"}' does not exist.`),!1),a=(e,a)=>{if(t(e,a)){const t=e;Object.keys(e).forEach(e=>{t[e].disabled=e!==a})}},n={};return{add(t,a){return e(a).then(e=>{n[t]=e})},set theme(e){a(n,e)},get theme(){return Object.keys(n).find(e=>!n[e].disabled)}}};var rn=a("4400"),ln=a.n(rn),cn={name:"ThemeSelector",props:{externalThemes:Object,confTheme:String,userThemes:Array},components:{CustomThemeMaker:Ot,IconPalette:ln.a},watch:{selectedTheme(e){this.updateTheme(e)}},data(){return{selectedTheme:this.getInitialTheme(),builtInThemes:[...L.a.builtInThemes,...this.userThemes],themeHelper:new on,themeConfiguratorOpen:!1,ApplyLocalTheme:sn,ApplyCustomVariables:nn}},computed:{themeNames:function(){const e=Object.keys(this.externalThemes),t=["custom"];return[...e,...this.builtInThemes,...t]}},created(){const e=Object.keys(this.externalThemes).map(e=>this.themeHelper.add(e,this.externalThemes[e]));this.isThemeLocal(this.selectedTheme)?this.updateTheme(this.selectedTheme):this.selectedTheme!==L.a.theme&&Promise.all(e).then(()=>{this.updateTheme(this.selectedTheme)})},methods:{getInitialTheme(){return localStorage[$["localStorageKeys"].THEME]||this.confTheme||L.a.theme},isThemeLocal(e){return this.builtInThemes.includes(e)},openThemeConfigurator(){this.$emit("modalChanged",!0),this.themeConfiguratorOpen=!0},closeThemeConfigurator(){this.themeConfiguratorOpen=!1},updateTheme(e){"Deafault"===e?(this.resetToDefault(),this.themeHelper.theme="Deafault"):this.isThemeLocal(e)?this.ApplyLocalTheme(e):this.themeHelper.theme=e,this.ApplyCustomVariables(e),localStorage.setItem($["localStorageKeys"].THEME,e)},resetToDefault(){document.getElementsByTagName("html")[0].removeAttribute("data-theme")}}},_n=cn,un=(a("4ade"),Object(v["a"])(_n,Za,Qa,!1,null,null,null)),dn=un.exports,mn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("span",{staticClass:"options-label"},[e._v(e._s(e.$t("settings.layout-label")))]),a("div",{staticClass:"display-options"},[a("IconDeafault",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-auto")),expression:"tooltip($t('settings.layout-auto'))"}],class:"layout-icon "+("auto"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("auto")}}}),a("IconHorizontal",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-horizontal")),expression:"tooltip($t('settings.layout-horizontal'))"}],class:"layout-icon "+("horizontal"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("horizontal")}}}),a("IconVertical",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-vertical")),expression:"tooltip($t('settings.layout-vertical'))"}],class:"layout-icon "+("vertical"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("vertical")}}})],1)])},hn=[],gn=a("c715"),pn=a.n(gn),fn=a("570d"),bn=a.n(fn),kn=a("f9d7"),wn=a.n(kn),vn={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:pn.a,IconHorizontal:bn.a,IconVertical:wn.a},methods:{updateDisplayLayout(e){this.$emit("layoutUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},yn=vn,Cn=(a("5dbe"),Object(v["a"])(yn,mn,hn,!1,null,"b3a6111c",null)),Sn=Cn.exports,In=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("span",{staticClass:"options-label"},[e._v(e._s(e.$t("settings.item-size-label")))]),a("div",{staticClass:"display-options"},[a("IconSmall",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-small")),expression:"tooltip($t('settings.item-size-small'))"}],class:"layout-icon "+("small"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("small")}}}),a("IconMedium",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-medium")),expression:"tooltip($t('settings.item-size-medium'))"}],class:"layout-icon "+("medium"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("medium")}}}),a("IconLarge",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-large")),expression:"tooltip($t('settings.item-size-large'))"}],class:"layout-icon "+("large"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("large")}}})],1)])},xn=[],On=a("d8e8"),Tn=a.n(On),En=a("7075"),$n=a.n(En),Ln=a("922c"),An=a.n(Ln),Nn={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:Tn.a,IconMedium:$n.a,IconLarge:An.a},methods:{updateIconSize(e){this.$emit("iconSizeUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},zn=Nn,jn=(a("89e2"),Object(v["a"])(zn,In,xn,!1,null,"1ff45660",null)),Mn=jn.exports,Pn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticClass:"display-options"},[a("IconLogout",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Sign Out"),expression:"tooltip('Sign Out')"}],staticClass:"layout-icon",attrs:{tabindex:"-2"},on:{click:function(t){return e.logout()}}})],1)])},Vn=[],Hn=a("0123"),Bn=a.n(Hn),Dn={name:"AppButtons",components:{IconLogout:Bn.a},methods:{logout(){et(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},500)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Un=Dn,Rn=(a("0e1b"),Object(v["a"])(Un,Pn,Vn,!1,null,"d69dca9c",null)),Kn=Rn.exports,Fn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide-fade"}},[e.shouldHide?e._e():a("div",{staticClass:"kb-sc-info"},[a("h5",[e._v("There are keyboard shortcuts! ⌨️🙌")]),a("div",{staticClass:"close",attrs:{title:"Hide forever [Esc]"},on:{click:function(t){return e.hideWelcomeHelper()}}},[e._v("x")]),a("p",{attrs:{title:"Press [Esc] to hide this tip forever. See there's even a shortcut for that! 🚀"}},[e._v(" Just start typing to filter. Then use the tab key to cycle through results, and press enter to launch the selected item, or alt + enter to open in a modal. You can hit Esc at anytime to clear the search. Easy 🥳 ")])])])},qn=[],Wn={name:"KeyboardShortcutInfo",data(){return{shouldHide:!0,timeDelay:3e3}},methods:{shouldHideWelcomeMessage(){return!!localStorage[$["localStorageKeys"].HIDE_WELCOME_BANNER]},hideWelcomeHelper(){this.shouldHide=!0,localStorage.setItem($["localStorageKeys"].HIDE_WELCOME_BANNER,!0),window.removeEventListener("keyup",this.keyPressEvent)},keyPressEvent(e){27===e.keyCode&&this.hideWelcomeHelper()}},mounted(){const e=this.shouldHideWelcomeMessage();e?this.$destroy():(window.setTimeout(()=>{this.shouldHide=e},this.timeDelay),window.addEventListener("keyup",this.keyPressEvent))}},Gn=Wn,Jn=(a("9517"),Object(v["a"])(Gn,Fn,qn,!1,null,"c5f17d9a",null)),Yn=Jn.exports,Xn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.modalName,resizable:!0,width:"40%",height:"60%",classes:"dashy-modal"}},[a("div",{staticClass:"about-modal"},[a("router-link",{attrs:{to:"/about"}},[a("h2",[e._v("Dashy")])]),a("AppVersion"),a("h3",[e._v("Service Worker Status")]),a("code",{domProps:{innerHTML:e._s(e.serviceWorkerInfo)}},[e._v(e._s(e.serviceWorkerInfo))]),a("br"),a("h3",[e._v("Config Validation Status")]),a("code",[e._v(e._s(e.getIsConfigValidStatus()))]),a("br"),a("h3",[e._v("Help & Support")]),a("ul",[a("li",[a("a",{attrs:{href:"https://git.io/JnqPR"}},[e._v("Report a Bug")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxL"}},[e._v("Request a Feature")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxs"}},[e._v("Ask a Question")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxn"}},[e._v("Leave Feedback")])]),a("li",[a("a",{attrs:{href:"https://github.com/Lissy93/dashy/discussions"}},[e._v("Join the Discussion")])])]),a("p",{staticClass:"small-note"},[e._v("Please include the following info in your bug report:")]),a("a",{on:{click:function(t){e.showInfo=!e.showInfo}}},[e._v(e._s(e.showInfo?"Hide":"Show")+" system info")]),e.showInfo?a("div",{staticClass:"system-info"},[a("h4",[e._v("System Info")]),a("code",[a("b",[e._v("Dashy Version:")]),e._v(" V "+e._s(e.appVersion))]),a("br"),a("code",[a("b",[e._v("Browser:")]),e._v(" "+e._s(e.systemInfo.browser))]),a("br"),a("code",[a("b",[e._v("Is Mobile?")]),e._v(" "+e._s(e.systemInfo.isMobile?"Yes":"No"))]),a("br"),a("code",[a("b",[e._v("OS:")]),e._v(" "+e._s(e.systemInfo.os))]),a("br")]):e._e(),a("h3",[e._v("About")]),a("p",{staticClass:"about-text"},[e._v(" Documentation and Source Code available on "),a("a",{attrs:{href:"https://github.com/lissy93/dashy"}},[e._v("GitHub")])]),a("h3",[e._v("License")]),a("code",[e._v("Licensed under MIT X11. Copyright © 2021")])],1)])},Zn=[],Qn={name:"AppInfoModal",components:{AppVersion:Xt},data(){return{modalName:$["modalNames"].ABOUT_APP,appVersion:"1.4.4",systemInfo:this.getSystemInfo(),serviceWorkerInfo:"Checking...",showInfo:!1}},mounted(){setTimeout(()=>{this.serviceWorkerInfo=this.getSwStatus()},100)},methods:{getIsConfigValidStatus(){const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.4.4",BASE_URL:"/"}).VUE_APP_CONFIG_VALID;return void 0===e?"Config validation status is missing":"Config is "+(e?"Valid":"Invalid")},getSwStatus(){const e=sessionStorage[$["sessionStorageKeys"].SW_STATUS],t=e?JSON.parse(e):{};let a="";return t.registered&&(a+="Service worker registered
"),t.ready&&(a+="Dashy is being served from service worker
"),t.cached&&(a+="Content has been cached for offline use
"),t.updateFound&&(a+="New content is downloading
"),t.updated&&(a+="New content is available; please refresh
"),t.offline&&(a+="No internet connection found. App is running in offline mode
"),t.error&&(a+="Error during service worker registration
"),t.devMode&&(a+="App running in dev mode, no need for service worker
"),0===a.length&&(a+="No service worker info available"),a},getSystemInfo(){const{userAgent:e}=navigator;let t="Unknown";-1!==e.indexOf("Win")?t="Windows":-1!==e.indexOf("Mac")?t="MacOS":-1!==e.indexOf("Android")?t="Android":-1!==e.indexOf("iPhone")?t="iOS":-1!==e.indexOf("Linux")?t="Linux":-1!==e.indexOf("X11")&&(t="UNIX");let a="Unknown";a=-1!==e.indexOf("Opera")?"Opera":-1!==e.indexOf("Chrome")?"Chrome":-1!==e.indexOf("Safari")?"Safari":-1!==e.indexOf("Firefox")?"Firefox":-1!==e.indexOf("MSIE")?"IE":"Unknown";const n=!!navigator.userAgent.match(/iphone|android|blackberry/gi)||!1;return{os:t,browser:a,userAgent:e,isMobile:n}}}},es=Qn,ts=(a("d636"),Object(v["a"])(es,Xn,Zn,!1,null,"77ccbcae",null)),as=ts.exports,ns=a("5703"),ss=a.n(ns),os=a("5f32"),is=a.n(os),rs={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,externalThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:Ie,ConfigLauncher:Xa,ThemeSelector:dn,LayoutSelector:Sn,ItemSizeSelector:Mn,AppButtons:Kn,KeyboardShortcutInfo:Yn,AppInfoModal:as,IconOpen:ss.a,IconClose:is.a},inject:["visibleComponents"],methods:{userIsTypingSomething(e){this.$emit("user-is-searchin",e)},clearFilterInput(){this.$refs.SearchBar.clearFilterInput()},updateDisplayLayout(e){this.$emit("change-display-layout",e)},updateIconSize(e){this.$emit("change-icon-size",e)},modalChanged(e){this.$emit("change-modal-visibility",e)},getInitialTheme(){return this.appConfig.theme||""},logout(){et(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},100)},isUserLoggedIn(){return!!localStorage[$["localStorageKeys"].USERNAME]},getUserThemes(){const e=this.appConfig.cssThemes||[];return"string"===typeof e?[e]:e},toggleSettingsVisibility(){this.settingsVisible=!this.settingsVisible,localStorage.setItem($["localStorageKeys"].HIDE_SETTINGS,this.settingsVisible)},getSettingsVisibility(){return JSON.parse(localStorage[$["localStorageKeys"].HIDE_SETTINGS]||(this.visibleComponents||$["visibleComponents"]).settings)}},data(){return{settingsVisible:this.getSettingsVisibility(),searchVisible:(this.visibleComponents||$["visibleComponents"]).searchBar}}},ls=rs,cs=(a("fa2b"),Object(v["a"])(ls,fe,be,!1,null,"66dc3458",null)),_s=cs.exports,us=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("Collapsable",{attrs:{title:e.title,icon:e.icon,uniqueKey:e.groupId,collapsed:e.displayData.collapsed,cols:e.displayData.cols,rows:e.displayData.rows,color:e.displayData.color,customStyles:e.displayData.customStyles}},[!e.items||e.items.length<1?a("div",{staticClass:"no-items"},[e._v(" No Items to Show Yet ")]):a("div",{class:"there-are-items "+(e.isGridLayout?"item-group-grid":""),style:e.gridStyle},[e._l(e.items,(function(t,n){return a("Item",{key:n+"_"+e.makeId(t.title),attrs:{id:n+"_"+e.makeId(t.title),url:t.url,title:t.title,description:t.description,icon:t.icon,target:t.target,color:t.color,backgroundColor:t.backgroundColor,statusCheckUrl:t.statusCheckUrl,statusCheckHeaders:t.statusCheckHeaders,itemSize:e.newItemSize,hotkey:t.hotkey,enableStatusCheck:e.shouldEnableStatusCheck(t.statusCheck),statusCheckInterval:e.getStatusCheckInterval()},on:{itemClicked:function(t){return e.$emit("itemClicked")},triggerModal:e.triggerModal}})})),a("div",{ref:"modalContainer"})],2),a("IframeModal",{ref:"iframeModal-"+e.groupId,attrs:{name:"iframeModal-"+e.groupId},on:{closed:function(t){return e.$emit("itemClicked")},modalChanged:e.modalChanged}})],1)},ds=[],ms=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"item-wrapper"},[a("a",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.getTooltipOptions(),expression:"getTooltipOptions()"}],class:"item "+(e.icon?"":"short")+" size-"+e.itemSize,style:"--open-icon: "+e.getUnicodeOpeningIcon()+"; "+e.customStyles,attrs:{href:"modal"!==e.target?e.url:"#",target:"newtab"===e.target?"_blank":"",rel:"noopener noreferrer",tabindex:"0",id:"link-"+e.id},on:{click:e.itemOpened,mouseup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:e.openContextMenu.apply(null,arguments)},contextmenu:function(e){e.preventDefault()}}},[a("div",{class:"tile-title "+(e.icon?"":"bounce"),attrs:{id:"tile-"+e.id}},[a("span",{staticClass:"text"},[e._v(e._s(e.title))]),a("p",{staticClass:"description"},[e._v(e._s(e.description))])]),a("Icon",{staticClass:"bounce",style:e.customStyles,attrs:{icon:e.icon,url:e.url,size:e.itemSize,color:e.color}}),a("ItemOpenMethodIcon",{staticClass:"opening-method-icon",attrs:{isSmall:!e.icon||"small"===e.itemSize,openingMethod:e.target,position:"medium"===e.itemSize?"bottom right":"top right",hotkey:e.hotkey}}),e.enableStatusCheck?a("StatusIndicator",{staticClass:"status-indicator",attrs:{statusSuccess:e.statusResponse?e.statusResponse.successStatus:void 0,statusText:e.statusResponse?e.statusResponse.message:void 0}}):e._e()],1),a("ContextMenu",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeContextMenu,expression:"closeContextMenu"}],attrs:{show:e.contextMenuOpen,posX:e.contextPos.posX,posY:e.contextPos.posY,id:"context-menu-"+e.id},on:{contextItemClick:e.contextItemClick}})],1)},hs=[],gs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"item-icon"},["font-awesome"===e.iconType?a("i",{class:e.icon+" "+e.size}):"emoji"===e.iconType?a("i",{class:"emoji-icon "+e.size},[e._v(e._s(e.getEmoji(e.iconPath)))]):e.icon?a("img",{class:"tile-icon "+e.size+" "+(e.broken?"broken":""),attrs:{src:e.iconPath},on:{error:e.imageNotFound}}):e._e(),e.broken?a("BrokenImage",{staticClass:"missing-image"}):e._e()],1)},ps=[],fs=a("9635"),bs=a.n(fs),ks=a("e0a2"),ws=a.n(ks),vs=a("492d"),ys={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:bs.a},computed:{iconType:function(){return this.determineImageType(this.icon)},iconPath:function(){return this.getIconPath(this.icon,this.url)}},data(){return{broken:!1}},methods:{isUrl(e){const t=new RegExp(/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-/]))?/);return t.test(e)},isImage(e){const t=/(?:\.([^.]+))?$/,a=["png","jpg"],n=t.exec(e);return n.length>=1&&a.includes(n[1])},isEmoji(e){return ws.a.test(e)&&e.match(/./gu).length?{isEmoji:!0,emojiType:"glyph"}:new RegExp(/^:.*:$/).test(e)?{isEmoji:!0,emojiType:"shortcode"}:"U+"===e.substring(0,2)&&7===e.length?{isEmoji:!0,emojiType:"unicode"}:{isEmoji:!1,emojiType:""}},getEmoji(e){const{emojiType:t}=this.isEmoji(e);if("shortcode"===t){if(vs[e])return vs[e]}else if("unicode"===t)return String.fromCodePoint(parseInt(e.substr(2),16));return e},getFavicon(e){if(this.shouldUseDefaultFavicon(e)){const t=e.split("/");if(t.length>=2)return`${t[0]}/${t[1]}/${t[2]}/favicon.ico`}else if(e.includes("http")){const t=this.getHostName(e),a=this.config.appConfig.faviconApi||$["faviconApi"],n=$["faviconApiEndpoints"][a];return n.replace("$URL",t)}return""},shouldUseDefaultFavicon(e){const t=/(127\.)|(192\.168\.)|(10\.)|(172\.1[6-9]\.)|(172\.2[0-9]\.)|(172\.3[0-1]\.)|(::1$)|([fF][cCdD])|(localhost)/;return t.test(e)||"local"===this.config.appConfig.faviconApi},getLocalImagePath(e){return"/item-icons/"+e},getGenerativeIcon(e){return`https://ipsicon.io/${this.getHostName(e)}.svg`},getIconPath(e,t){switch(this.determineImageType(e)){case"url":return e;case"img":return this.getLocalImagePath(e);case"favicon":return this.getFavicon(t);case"generative":return this.getGenerativeIcon(t);case"svg":return e;case"emoji":return e;default:return""}},determineImageType(e){let t="";return t=e?e.endsWith(".svg")?"svg":this.isUrl(e)?"url":this.isImage(e)?"img":e.includes("fa-")?"font-awesome":"favicon"===e?"favicon":"generative"===e?"generative":this.isEmoji(e).isEmoji?"emoji":"none":"none",t},getHostName(e){try{return new URL(e).hostname}catch(t){return e}},imageNotFound(){this.broken=!0,tn(`The path to '${this.icon}' could not be resolved`)}}},Cs=ys,Ss=(a("de40"),Object(v["a"])(Cs,gs,ps,!1,null,null,null)),Is=Ss.exports,xs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{class:e.makeClass(e.position,e.isSmall,e.isTransparent)},["newtab"===e.openingMethod?a("NewTabOpenIcon"):"sametab"===e.openingMethod?a("SameTabOpenIcon"):"modal"===e.openingMethod?a("IframeOpenIcon"):"workspace"===e.openingMethod?a("WorkspaceOpenIcon"):e._e()],1),e.hotkey?a("div",{class:"hotkey-denominator "+e.makeClass(e.position,e.isSmall,e.isTransparent)},[e._v(" "+e._s(e.hotkey)+" ")]):e._e()])},Os=[],Ts=a("237e"),Es=a.n(Ts),$s=a("2352"),Ls=a.n($s),As=a("1946"),Ns=a.n(As),zs=a("3b49"),js=a.n(zs),Ms={name:"ItemOpenMethodIcon",props:{openingMethod:String,isSmall:Boolean,position:String,isTransparent:Boolean,hotkey:Number},methods:{makeClass(e="top right",t=!1,a=!1){return`opening-method-icon\n ${e||"top right"}\n ${t?"short":""}\n ${a?"transparent":""}`}},components:{NewTabOpenIcon:Es.a,SameTabOpenIcon:Ls.a,IframeOpenIcon:Ns.a,WorkspaceOpenIcon:js.a}},Ps=Ms,Vs=(a("b5c9"),Object(v["a"])(Ps,xs,Os,!1,null,"b0684bc4",null)),Hs=Vs.exports,Bs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:{content:e.statusText||e.otherStatusText,classes:["status-tooltip","tip-"+e.color()]},expression:"{\n content: statusText || otherStatusText, classes: ['status-tooltip', `tip-${color()}`] }"}],staticClass:"indicator",on:{click:function(t){return e.showToast()}}},[a("div",{class:"dot dot-"+e.color()},[e._m(0)])])},Ds=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",[a("span")])}],Us={name:"StatusIndicator",props:{statusText:String,statusSuccess:Boolean},methods:{color(){switch(this.statusSuccess){case void 0:return new Date-this.startTime>2e3?"grey":"yellow";case!0:return"green";default:return"red"}}},data(){return{startTime:new Date,otherStatusText:"Checking..."}},mounted(){setTimeout(()=>{this.statusText||(this.otherStatusText="Request timed out")},2e3)}},Rs=Us,Ks=(a("e697"),a("45d4"),Object(v["a"])(Rs,Bs,Ds,!1,null,"46972ad8",null)),Fs=Ks.exports,qs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide"}},[e.show&&e.menuEnabled?a("div",{staticClass:"context-menu",style:e.posX&&e.posY?"top:"+e.posY+"px;left:"+e.posX+"px;":""},[a("ul",[a("li",{on:{click:function(t){return e.launch("sametab")}}},[a("SameTabOpenIcon"),a("span",[e._v("Open in Current Tab")])],1),a("li",{on:{click:function(t){return e.launch("newtab")}}},[a("NewTabOpenIcon"),a("span",[e._v("Open in New Tab")])],1),a("li",{on:{click:function(t){return e.launch("modal")}}},[a("IframeOpenIcon"),a("span",[e._v("Open in Pop-Up Modal")])],1),a("li",{on:{click:function(t){return e.launch("workspace")}}},[a("WorkspaceOpenIcon"),a("span",[e._v("Open in Workspace View")])],1)])]):e._e()])},Ws=[],Gs={name:"ContextMenu",inject:["config"],components:{SameTabOpenIcon:Ls.a,NewTabOpenIcon:Es.a,IframeOpenIcon:Ns.a,WorkspaceOpenIcon:js.a},props:{posX:Number,posY:Number,show:Boolean},data(){return{menuEnabled:!this.isMenuDisabled()}},methods:{launch(e){this.$emit("contextItemClick",e)},isMenuDisabled(){return!(!this.config||!this.config.appConfig)&&!!this.config.appConfig.disableContextMenu}}},Js=Gs,Ys=(a("6850"),Object(v["a"])(Js,qs,Ws,!1,null,null,null)),Xs=Ys.exports,Zs={name:"Item",props:{id:String,title:String,subtitle:String,description:String,icon:String,color:String,backgroundColor:String,url:String,hotkey:Number,target:{type:String,default:"newtab",validator:e=>-1!==["newtab","sametab","modal","workspace"].indexOf(e)},itemSize:String,enableStatusCheck:Boolean,statusCheckHeaders:Object,statusCheckUrl:String,statusCheckInterval:Number},data(){return{contextMenuOpen:!1,getId:this.id,customStyles:{color:this.color,background:this.backgroundColor},statusResponse:void 0,contextPos:{posX:void 0,posY:void 0}}},components:{Icon:Is,ItemOpenMethodIcon:Hs,StatusIndicator:Fs,ContextMenu:Xs},methods:{itemOpened(e){e.altKey||"modal"===this.target?(e.preventDefault(),this.$emit("triggerModal",this.url)):this.$emit("itemClicked")},openContextMenu(e){this.contextMenuOpen=!this.contextMenuOpen,e&&window&&(this.contextPos={posX:e.clientX+window.pageXOffset,posY:e.clientY+window.pageYOffset})},closeContextMenu(){this.contextMenuOpen=!1},getTooltipOptions(){const e=this.hotkey?`\nPress '${this.hotkey}' to launch`:"";return{disabled:!this.description,content:this.description+e,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:this.statusResponse?"left":"auto",delay:{show:600,hide:200},classes:"item-description-tooltip"}},getUnicodeOpeningIcon(){switch(this.target){case"newtab":return'"\\f360"';case"sametab":return'"\\f24d"';case"modal":return'"\\f2d0"';default:return'"\\f054"'}},checkWebsiteStatus(){this.statusResponse=void 0;const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.4.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=this.statusCheckUrl||this.url,a=this.statusCheckHeaders||{},n=`${e}/ping?url=${t}`;nt.a.get(n,{headers:a}).then(e=>{e.data&&(this.statusResponse=e.data)}).catch(()=>{this.statusResponse={statusText:"Failed to make request",statusSuccess:!1}})},contextItemClick(e){const{url:t}=this;switch(this.contextMenuOpen=!1,e){case"newtab":window.open(t,"_blank");break;case"sametab":window.open(t,"_self");break;case"modal":this.$emit("triggerModal",t);break;case"workspace":hi.push({name:"workspace",query:{url:t}});break;default:window.open(t,"_blank")}}},mounted(){this.enableStatusCheck&&this.checkWebsiteStatus(),this.statusCheckInterval>0&&setInterval(this.checkWebsiteStatus,1e3*this.statusCheckInterval)}},Qs=Zs,eo=(a("826e"),a("f719"),Object(v["a"])(Qs,ms,hs,!1,null,null,null)),to=eo.exports,ao=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"collapsable "+e.checkSpanNum(e.cols,"col")+" "+e.checkSpanNum(e.rows,"row"),style:(e.color?"background: "+e.color:"")+"; "+e.sanitizeCustomStyles(e.customStyles)+";"},[a("input",{staticClass:"toggle",attrs:{id:"collapsible-"+e.uniqueKey,type:"checkbox",tabIndex:"-1"},domProps:{checked:e.getCollapseState()},on:{change:e.collapseChanged}}),a("label",{staticClass:"lbl-toggle",attrs:{for:"collapsible-"+e.uniqueKey,tabindex:"-1"}},[e.icon?a("Icon",{staticClass:"section-icon",attrs:{icon:e.icon,size:"small",url:e.title}}):e._e(),a("h3",[e._v(e._s(e.title))])],1),a("div",{staticClass:"collapsible-content"},[a("div",{staticClass:"content-inner"},[e._t("default")],2)])])},no=[],so={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:Is},methods:{checkSpanNum(e,t){const a=4;let n=/^\d*$/.test(e)?parseInt(e,10):1;return n=n>a?a:n,`${t}-${n}`},sanitizeCustomStyles(e){return e?e.replace(/[^a-zA-Z0-9- :;.]/g,""):""},initialiseStorage(){const e=()=>localStorage.setItem($["localStorageKeys"].COLLAPSE_STATE,JSON.stringify({}));localStorage[$["localStorageKeys"].COLLAPSE_STATE]||e();try{JSON.parse(localStorage[$["localStorageKeys"].COLLAPSE_STATE])}catch{e()}return JSON.parse(localStorage[$["localStorageKeys"].COLLAPSE_STATE])},getCollapseState(){const e=this.initialiseStorage();let t=!this.collapsed;return void 0!==e[this.uniqueKey]&&(t=e[this.uniqueKey]),t},setCollapseState(e,t){const a=JSON.parse(localStorage[$["localStorageKeys"].COLLAPSE_STATE]);a[e]=t,localStorage.setItem($["localStorageKeys"].COLLAPSE_STATE,JSON.stringify(a))},collapseChanged(e){this.initialiseStorage(),this.setCollapseState(this.uniqueKey.toString(),e.srcElement.checked)}}},oo=so,io=(a("eb58"),Object(v["a"])(oo,ao,no,!1,null,"ac1beaa4",null)),ro=io.exports,lo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.name,resizable:!0,width:"80%",height:"80%",classes:"dashy-modal"},on:{closed:function(t){return e.modalClosed()}}},[a("div",{attrs:{slot:"top-right"},on:{click:function(t){return e.hide()}},slot:"top-right"},[e._v("Close")]),a("a",{staticClass:"close-button",attrs:{title:"Close"},on:{click:function(t){return e.hide()}}},[e._v("x")]),e.url?a("iframe",{staticClass:"frame",attrs:{src:e.url},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.close.apply(null,arguments)}}}):a("div",{staticClass:"no-url"},[e._v("No URL Specified")])])},co=[],_o={name:"IframeModal",props:{name:String},data:()=>({url:"#"}),methods:{show(e){this.url=e,this.$modal.show(this.name),this.$emit("modalChanged",!0)},hide(){this.$modal.hide(this.name)},modalClosed(){this.$emit("modalChanged",!1)}}},uo=_o,mo=(a("eda6"),Object(v["a"])(uo,lo,co,!1,null,null,null)),ho=mo.exports,go={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:ro,Item:to,IframeModal:ho},computed:{newItemSize(){return this.displayData.itemSize||this.itemSize},isGridLayout(){return"grid"===this.displayData.sectionLayout||!(!this.displayData.itemCountX&&!this.displayData.itemCountY)},gridStyle(){let e="";return e+=this.displayData.itemCountX?`grid-template-columns: repeat(${this.displayData.itemCountX}, 1fr);`:"",e+=this.displayData.itemCountY?`grid-template-rows: repeat(${this.displayData.itemCountY}, 1fr);`:"",e}},methods:{makeId(e){return e.replace(/\s+/g,"-").replace(/[^a-zA-Z ]/g,"").toLowerCase()},triggerModal(e){this.$refs["iframeModal-"+this.groupId].show(e)},modalChanged(e){this.$emit("change-modal-visibility",e)},shouldEnableStatusCheck(e){const t=this.config.appConfig.statusCheck||!1;return void 0!==e?e:t},getStatusCheckInterval(){let e=this.config.appConfig.statusCheckInterval;return e?(e>60&&(e=60),e<1&&(e=0),e):0}}},po=go,fo=(a("196f"),Object(v["a"])(po,us,ds,!1,null,"cce3e8c4",null)),bo=fo.exports,ko={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:_s,ItemGroup:bo},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{layoutOrientation:{get(){return this.appConfig.layout||L.a.layout},set:function(e){localStorage.setItem($["localStorageKeys"].LAYOUT_ORIENTATION,e),this.layout=e}},iconSize:{get(){return this.appConfig.iconSize||L.a.iconSize},set:function(e){localStorage.setItem($["localStorageKeys"].ICON_SIZE,e),this.itemSizeBound=e}}},methods:{checkTheresData(e){const t=localStorage[$["localStorageKeys"].CONF_SECTIONS];return e&&e.length>=1||t&&t.length>=1},getSections(e){const t=localStorage[$["localStorageKeys"].CONF_SECTIONS];if(t){const e=JSON.parse(t);if(e.length>=1)return e}return e},searching(e){this.searchValue=e||""},finishedSearching(){this.$refs.filterComp.clearFilterInput()},getDomainFromUrl(e){if(!e)return"";const t=/^(?:https?:\/\/)?(?:w{3}\.)?([a-z\d.-]+)\.(?:[a-z.]{2,10})(?:[/\w.-]*)*/,a=e.match(t);return a?a[1]:""},filterTiles(e){return e?e.filter(e=>{const{title:t,description:a,provider:n,url:s}=e,o=this.searchValue.toLowerCase();return t&&t.toLowerCase().includes(o)||n&&n.toLowerCase().includes(o)||a&&a.toLowerCase().includes(o)||this.getDomainFromUrl(s).includes(o)}):[]},getDisplayData(e){return e.displayData?e.displayData:{}},setLayoutOrientation(e){this.layoutOrientation=e},setItemSize(e){this.iconSize=e},updateModalVisibility(e){this.modalOpen=e},getExternalCSSLinks(){const e={};if(this.appConfig&&this.appConfig.externalStyleSheet){const t=this.appConfig.externalStyleSheet;Array.isArray(t)?t.forEach((t,a)=>{e["External Stylesheet "+(a+1)]=t}):e["External Stylesheet"]=this.appConfig.externalStyleSheet}return e.Deafault="#",e},checkIfFontAwesomeNeeded(){let e=!1;if(!this.sections)return!1;this.sections.forEach(t=>{t.icon&&t.icon.includes("fa-")&&(e=!0),t.items.forEach(t=>{t.icon&&t.icon.includes("fa-")&&(e=!0)})});const t=localStorage[$["localStorageKeys"].THEME];return["material","material-dark"].includes(t)&&(e=!0),e},initiateFontAwesome(){if(this.appConfig.enableFontAwesome||this.checkIfFontAwesomeNeeded()){const e=document.createElement("script"),t=this.appConfig.fontAwesomeKey||L.a.fontAwesomeKey;e.setAttribute("src",`https://kit.fontawesome.com/${t}.js`),document.head.appendChild(e)}},checkIfResults(){if(this.sections){let e=!0;return this.sections.forEach(t=>{this.filterTiles(t.items).length>0&&(e=!1)}),e}return!1},getBackgroundImage(){return this.appConfig&&this.appConfig.backgroundImg?`background: url('${this.appConfig.backgroundImg}');background-size:cover;`:""}},mounted(){this.initiateFontAwesome(),this.layout=this.layoutOrientation,this.itemSizeBound=this.iconSize}},wo=ko,vo=(a("cea5"),Object(v["a"])(wo,ge,pe,!1,null,"5ea67b60",null)),yo=vo.exports,Co=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"login-page"},[a("form",{staticClass:"login-form"},[a("h2",{staticClass:"login-title"},[e._v(e._s(e.$t("login.title")))]),a("Input",{staticClass:"login-field username",attrs:{type:"text",label:e.$t("login.username-label")},model:{value:e.username,callback:function(t){e.username=t},expression:"username"}}),a("Input",{staticClass:"login-field password",attrs:{type:"password",label:e.$t("login.password-label")},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}),a("label",[e._v(e._s(e.$t("login.remember-me-label")))]),a("v-select",{staticClass:"login-time-dropdown",attrs:{selectOnTab:!0,options:e.dropDownMenu},model:{value:e.timeout,callback:function(t){e.timeout=t},expression:"timeout"}}),a("Button",{staticClass:"login-button",attrs:{click:e.submitLogin}},[e._v(" "+e._s(e.$t("login.login-button"))+" ")]),a("transition",{attrs:{name:"bounce"}},[a("p",{directives:[{name:"show",rawName:"v-show",value:e.message,expression:"message"}],class:"login-error-message "+e.status},[e._v(e._s(e.message))])])],1)])},So=[],Io={name:"login",props:{appConfig:Object},data(){return{username:"",password:"",message:"",status:"waiting",timeout:{label:this.$t("login.remember-me-never"),time:0},dropDownMenu:[{label:this.$t("login.remember-me-never"),time:0},{label:this.$t("login.remember-me-hour"),time:144e5},{label:this.$t("login.remember-me-day"),time:864e5},{label:this.$t("login.remember-me-week"),time:6048e5}]}},components:{Button:kt,Input:va},methods:{submitLogin(){const e=this.timeout?this.timeout.time:0,t=Ze(this.username,this.password,this.appConfig.auth||[]);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(Qe(this.username,this.password,e),setTimeout(()=>{hi.push({path:"/"})},250))},setTheme(){const e=localStorage[$["localStorageKeys"].THEME]||L.a.theme;document.getElementsByTagName("html")[0].setAttribute("data-theme",e)}},created(){this.setTheme()}},xo=Io,Oo=(a("206d"),Object(v["a"])(xo,Co,So,!1,null,null,null)),To=Oo.exports,Eo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"work-space"},[a("SideBar",{attrs:{sections:e.sections},on:{"launch-app":e.launchApp}}),a("WebContent",{attrs:{url:e.url}})],1)},$o=[],Lo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("nav",{staticClass:"side-bar"},e._l(e.sections,(function(t,n){return a("div",{key:n},[a("div",{staticClass:"side-bar-item-container",on:{click:function(t){return e.openSection(n)}}},[a("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.name}})],1),a("transition",{attrs:{name:"slide"}},[e.isOpen[n]?a("SideBarSection",{attrs:{items:t.items},on:{"launch-app":e.launchApp}}):e._e()],1)],1)})),0)},Ao=[],No=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip,expression:"tooltip"}],class:"side-bar-item "+(e.icon?"w-icon":"text-only"),on:{click:function(t){return e.itemClicked()}}},[e.icon?a("Icon",{attrs:{icon:e.icon,size:"small",url:e.url}}):a("p",{staticClass:"small-title"},[e._v(e._s(e.title))])],1)},zo=[],jo={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:Is},methods:{itemClicked(){this.url&&this.$emit("launch-app",this.url)}},data(){return{tooltip:{disabled:!this.title,content:this.title,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:"right-start",delay:{show:800,hide:1e3}}}}},Mo=jo,Po=(a("5e61"),Object(v["a"])(Mo,No,zo,!1,null,"d979f4fe",null)),Vo=Po.exports,Ho=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"sub-side-bar"},e._l(e.items,(function(t,n){return a("div",{key:n},[a("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.title,url:t.url},on:{"launch-app":e.launchApp}})],1)})),0)},Bo=[],Do={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:Vo},methods:{launchApp(e){this.$emit("launch-app",e)}}},Uo=Do,Ro=(a("cf1c"),Object(v["a"])(Uo,Ho,Bo,!1,null,"56ddb963",null)),Ko=Ro.exports,Fo={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:Vo,SideBarSection:Ko},methods:{openSection(e){this.isOpen=this.isOpen.map((t,a)=>a===e&&!t)},launchApp(e){this.$emit("launch-app",e)}}},qo=Fo,Wo=(a("85e1"),Object(v["a"])(qo,Lo,Ao,!1,null,"31476576",null)),Go=Wo.exports,Jo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"web-content"},[a("iframe",{attrs:{src:e.url}})])},Yo=[],Xo={name:"WebContent",props:{url:String}},Zo=Xo,Qo=(a("44e9"),Object(v["a"])(Zo,Jo,Yo,!1,null,"a2564c04",null)),ei=Qo.exports,ti={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:"",GetTheme:an,ApplyLocalTheme:sn,ApplyCustomVariables:nn}),components:{SideBar:Go,WebContent:ei},methods:{launchApp(e){this.url=e},setTheme(){const e=this.GetTheme();this.ApplyLocalTheme(e),this.ApplyCustomVariables(e)},initiateFontAwesome(){const e=document.createElement("script"),t=this.appConfig.fontAwesomeKey||L.a.fontAwesomeKey;e.setAttribute("src",`https://kit.fontawesome.com/${t}.js`),document.head.appendChild(e)},repositionFooter(){document.getElementsByTagName("footer")[0].style.position="fixed"}},mounted(){const e=this.$route;e.query&&e.query.url&&(this.url=decodeURI(e.query.url)),this.setTheme(),this.initiateFontAwesome()}},ai=ti,ni=(a("6423"),Object(v["a"])(ai,Eo,$o,!1,null,"62772a5b",null)),si=ni.exports,oi=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("pre",[a("code",[e._v(e._s(e.jsonParser(e.config)))])])},ii=[],ri={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:Ue}}},li=ri,ci=(a("6cd5"),Object(v["a"])(li,oi,ii,!1,null,"33cd2d90",null)),_i=ci.exports;n["a"].use(he["a"]);const ui=()=>{const e=te.appConfig.auth;return!e||Xe(e)},di=new he["a"]({routes:[{path:"/",name:"home",component:yo,props:te,meta:{title:te.pageInfo.title||"Home Page",metaTags:$["metaTagData"]}},{path:"/workspace",name:"workspace",component:si,props:te,meta:{title:te.pageInfo.title||"Dashy Workspace",metaTags:$["metaTagData"]}},{path:"/login",name:"login",component:To,props:{appConfig:te.appConfig},beforeEnter:(e,t,a)=>{ui()&&di.push({path:"/"}),a()}},{path:"/about",name:"about",component:()=>a.e("about").then(a.bind(null,"f820"))},{path:"/download",name:"download",component:_i,props:te,meta:{title:te.pageInfo.title||"Download Dashy Config",metaTags:$["metaTagData"]}}]});di.beforeEach((e,t,a)=>{"login"===e.name||ui()?a():a({name:"login"})});const mi="Dashy";di.afterEach(e=>{n["a"].nextTick(()=>{document.title=e.meta.title||mi})});var hi=di,gi=a("9483");const pi=e=>{const t={ready:!1,registered:!1,cached:!1,updateFound:!1,updated:!1,offline:!1,error:!1,devMode:!1,disabledByUser:!1},a=sessionStorage[$["sessionStorageKeys"].SW_STATUS],n=a?JSON.parse(a):t;try{const t={...n,...e};sessionStorage.setItem($["sessionStorageKeys"].SW_STATUS,JSON.stringify(t))}catch(s){console.warn("Error setting SW data",s)}},fi=()=>{let e=!0;return J.a&&J.a.appConfig&&J.a.appConfig.disableServiceWorker&&(e=!1,pi({disabledByUser:!0})),e},bi=()=>{fi()&&Object(gi["a"])("/service-worker.js",{ready(){pi({ready:!0}),console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){pi({registered:!0}),console.log("Service worker has been registered.")},cached(){pi({cached:!0}),console.log("Content has been cached for offline use.")},updatefound(){pi({updateFound:!0}),console.log("New content is downloading.")},updated(){pi({updated:!0}),console.log("New content is available; please refresh.")},offline(){pi({offline:!0}),console.log("No internet connection found. App is running in offline mode.")},error(e){pi({error:!0}),console.error("Error during service worker registration:",e)}})};var ki=bi;const wi=[];function vi(e,t,a){const{target:n}=e;t===n||t.contains(n)||a(e)}var yi={bind(e,t){const a=e;a.dataset.outsideClickIndex=wi.length;const n=t.value,s=e=>{vi(e,a,n)};document.addEventListener("click",s),document.addEventListener("touchstart",s),wi.push(s)},unbind(e){if(!e.dataset)return;const t=e.dataset.outsideClickIndex,a=wi[t];document.removeEventListener("click",a),wi.splice(t,1)}};n["a"].use(s["a"]),n["a"].use(o["a"]),n["a"].use(r.a),n["a"].use(_["a"]),n["a"].use(d.a,$["toastedOptions"]),n["a"].component("v-select",c.a),n["a"].directive("clickOutside",yi),n["a"].config.productionTip=!1;const Ci=new s["a"]({locale:$["language"],fallbackLocale:$["language"],messages:ee});ki();const Si=e=>e(me);new n["a"]({router:hi,render:Si,i18n:Ci}).$mount("#app")},5703:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-sliders-h fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"sliders-h",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}})]))}}},"570c":function(e,t,a){"use strict";a("f94d")},"570d":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-th-list fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"th-list",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"}})]))}}},"58c1":function(e,t,a){},"5c0b":function(e,t,a){"use strict";a("9c0c")},"5cc6":function(e,t){e.exports={pageInfo:{title:"Dashy",description:"",navLinks:[{title:"Home",path:"/"},{title:"Source",path:"https://github.com/Lissy93/dashy"}],footerText:""},appConfig:{},language:"en",iconSize:"medium",layout:"auto",theme:"default",fontAwesomeKey:"0821c65656",faviconApi:"faviconkit",builtInThemes:["callisto","thebe","dracula","material","material-dark","colorful","nord","nord-frost","minimal-dark","minimal-light","oblivion","matrix","matrix-red","hacker-girl","raspberry-jam","bee","tiger","blue-purple","material-original","material-dark-original","cyberpunk","vaporware","high-contrast-dark","high-contrast-light"],visibleComponents:{pageTitle:!0,navigation:!0,searchBar:!0,settings:!0,footer:!0},localStorageKeys:{LANGUAGE:"language",HIDE_WELCOME_BANNER:"hideWelcomeHelpers",LAYOUT_ORIENTATION:"layoutOrientation",COLLAPSE_STATE:"collapseState",ICON_SIZE:"iconSize",THEME:"theme",CUSTOM_COLORS:"customColors",CONF_SECTIONS:"confSections",PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",BACKUP_ID:"backupId",BACKUP_HASH:"backupHash",HIDE_SETTINGS:"hideSettings",USERNAME:"username"},cookieKeys:{AUTH_TOKEN:"authenticationToken"},sessionStorageKeys:{SW_STATUS:"serviceWorkerStatus"},modalNames:{CONF_EDITOR:"CONF_EDITOR",CLOUD_BACKUP:"CLOUD_BACKUP",REBUILD_APP:"REBUILD_APP",THEME_MAKER:"THEME_MAKER",ABOUT_APP:"ABOUT_APP",LANG_SWITCHER:"LANG_SWITCHER"},topLevelConfKeys:{PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",SECTIONS:"sections"},mainCssVars:["primary","background","background-darker"],splashScreenTime:1900,metaTagData:[{name:"description",content:"A simple static homepage for you're server"}],toastedOptions:{position:"bottom-center",duration:2500,keepOnHover:!0,className:"toast-message",iconPack:"fontawesome"},backupEndpoint:"https://dashy-sync-service.as93.net",faviconApiEndpoints:{mcapi:"https://eu.mc-api.net/v3/server/favicon/$URL",clearbit:"https://logo.clearbit.com/$URL",faviconkit:"https://api.faviconkit.com/$URL/64",google:"https://www.google.com/s2/favicons?sz=128&domain_url=$URL",allesedv:"https://f1.allesedv.com/128/$URL",webmasterapi:"https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL"},swatches:[["#eb5cad","#985ceb","#5346f3","#5c90eb"],["#5cdfeb","#00CCB4","#5ceb8d","#afeb5c"],["#eff961","#ebb75c","#eb615c","#eb2d6c"],["#060913","#141b33","#1c2645","#263256"],["#2b2d42","#1a535c","#372424","#312437"],["#f5f5f5","#d9d9d9","#bfbfbf","#9a9a9a"],["#636363","#363636","#313941","#0d0d0d"]]}},"5dbe":function(e,t,a){"use strict";a("fae5")},"5e61":function(e,t,a){"use strict";a("b315")},"5f32":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-times-circle fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"times-circle",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"}})]))}}},6266:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:[i,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100",height:"100",preserveAspectRatio:"xMidYMid"},_),...u},o.concat([a("defs",[a("clipPath",{attrs:{id:"a"}},[a("path",{attrs:{d:"M20 0h60v100H20z"}})])]),a("path",{attrs:{fill:"none",stroke:"var(--primary, #00af87)","stroke-width":"6","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10","clip-path":"url(#a)",d:"M90 76.7V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5H55c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5H15c-2.7 0-5-2.2-5-5V23.3"}},[a("animateTransform",{attrs:{attributeName:"transform",type:"translate",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"-20 0;7 0",keyTimes:"0;1"}}),a("animate",{attrs:{attributeName:"stroke-dasharray",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"0 72 125 232;0 197 125 233",keyTimes:"0;1"}})])]))}}},6423:function(e,t,a){"use strict";a("2143")},6504:function(e,t,a){},6780:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-cloud-upload-alt fa-w-20",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"cloud-upload-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M395.5 267.5l-99-99c-4.7-4.7-12.3-4.7-17 0l-99 99c-7.6 7.6-2.2 20.5 8.5 20.5h67v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-84h67c10.7 0 16.1-12.9 8.5-20.5zm148.2-67.4C539.7 142.1 491.4 96 432 96c-7.6 0-15.1.8-22.4 2.3C377.7 58.3 328.1 32 272 32c-84.6 0-155.5 59.7-172.3 139.8C39.9 196.1 0 254.4 0 320c0 88.4 71.6 160 160 160h336c79.5 0 144-64.5 144-144 0-61.8-39.2-115.8-96.3-135.9zM496 432H160c-61.9 0-112-50.1-112-112 0-56.4 41.7-103.1 96-110.9V208c0-70.7 57.3-128 128-128 53.5 0 99.3 32.8 118.4 79.4 11.2-9.6 25.7-15.4 41.6-15.4 35.3 0 64 28.7 64 64 0 11.8-3.2 22.9-8.8 32.4 2.9-.3 5.9-.4 8.8-.4 53 0 96 43 96 96s-43 96-96 96z"}})]))}}},6850:function(e,t,a){"use strict";a("18b8")},"6cab":function(e,t,a){},"6cd5":function(e,t,a){"use strict";a("6504")},7075:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-expand fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}})]))}}},7645:function(e,t,a){},"78d0":function(e,t,a){},"7da9":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-css3-alt fa-w-12",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fab","data-icon":"css3-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z"}})]))}}},"7eb0":function(e,t,a){},"7f43":function(e,t,a){},"7f59":function(e,t,a){},"80a7":function(e,t,a){"use strict";a("7eb0")},"826e":function(e,t,a){"use strict";a("939b")},"831b":function(e){e.exports=JSON.parse('{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"pageInfo":{"type":"object","properties":{"title":{"type":"string","description":"Title and heading for the app"},"description":{"type":"string","description":"Sub-title, displayed in header"},"navLinks":{"type":"array","maxItems":6,"description":"Quick access links, displayed in header","items":{"type":"object","additionalProperties":false,"required":["title","path"],"properties":{"title":{"type":"string"},"path":{"type":"string"}}}},"footerText":{"type":"string"}},"required":["title"],"additionalProperties":false},"appConfig":{"type":"object","description":"Application configuration","properties":{"backgroundImg":{"type":"string","description":"A URL to an image asset to be displayed as background"},"language":{"type":"string","description":"The ISO code of your desired language, must have translations present, check docs for more info"},"theme":{"type":"string","default":"callisto","description":"A theme to be applied by default on first load","examples":["callisto","thebe","dracula","material","material-dark","colorful","nord","nord-frost","minimal-dark","minimal-light","matrix","matrix-red","hacker-girl","raspberry-jam","bee","tiger","material-original","material-dark-original","vaporware","high-contrast-dark","high-contrast-light"]},"enableFontAwesome":{"type":"boolean","default":true,"description":"Should load font-awesome assets"},"fontAwesomeKey":{"type":"string","pattern":"^[a-z0-9]{10}$","description":"API key for font-awesome"},"faviconApi":{"enum":["local","faviconkit","google","clearbit","webmasterapi","allesedv"],"default":"faviconkit","description":"Which service to use to resolve favicons. Set to local to do this locally instead"},"layout":{"enum":["horizontal","vertical","auto","sidebar"],"default":"auto","description":"Specifies sections layout orientation on the home screen"},"iconSize":{"enum":["small","medium","large"],"default":"medium","description":"The size of each link item / icon"},"hideComponents":{"type":"object","description":"Hide individual parts of the page. If not set, all components are visible by default","properties":{"hideHeading":{"type":"boolean","default":"false","description":"If set to true, the page heading & subtitle will be hidden"},"hideNav":{"type":"boolean","default":"false","description":"If set to true, the navigation menu will be hidden"},"hideSearch":{"type":"boolean","default":"false","description":"If set to true, the search bar will be hidden"},"hideSettings":{"type":"boolean","default":"false","description":"If set to true, the settings buttons will be hidden"},"hideFooter":{"type":"boolean","default":"false","description":"If set to true, the page footer will be hidden"},"hideSplashScreen":{"type":"boolean","default":"true","description":"If set to true, the loading / splash screen will not be shown"}}},"cssThemes":{"type":"array","description":"Theme names to be added to the dropdown","items":{"type":"string"}},"customColors":{"type":"object","description":"Set a custom color palette for any theme"},"externalStyleSheet":{"description":"URL or URLs of external stylesheets to add to dropdown/ load","type":["string","array"],"items":{"type":"string"}},"customCss":{"type":"string","description":"Any custom CSS overides, must be minified"},"statusCheck":{"type":"boolean","default":false,"description":"Displays an online/ offline status for each of your services"},"statusCheckInterval":{"type":"number","default":0,"description":"How often to recheck statuses. If set to 0, status will only be checked on page load"},"auth":{"type":"array","description":"Usernames and hashed credentials for frontend authentication","items":{"type":"object","additionalProperties":false,"required":["user","hash"],"properties":{"user":{"type":"string","description":"The username for a user"},"hash":{"type":"string","description":"A SHA-256 hashed password for that user","minLength":64,"maxLength":64},"type":{"enum":["admin","normal"],"description":"User type, denoting privilege level, either admin or normal","default":"normal"}}}},"allowConfigEdit":{"type":"boolean","default":true,"description":"Can user write changes to conf.yml file from the UI. If set to false, preferences are only stored locally"},"disableServiceWorker":{"type":"boolean","default":false,"description":"If set to true, then service workers will not be used to cache page contents"},"disableContextMenu":{"type":"boolean","default":false,"description":"If set to true, custom right-click context menu will be disabled"},"disableUpdateChecks":{"type":"boolean","default":false,"description":"Prevents Dashy from checking for updates"}},"additionalProperties":false},"sections":{"type":"array","description":"Array of sections, containing items","items":{"type":"object","required":["name","items"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"Title/ heading for a section"},"icon":{"type":"string","description":"Icon will be displayed next to title"},"displayData":{"type":"object","additionalProperties":false,"description":"Optional meta data for customizing a section","properties":{"collapsed":{"type":"boolean","default":false,"description":"If true, section needs to be clicked to open"},"color":{"type":"string","description":"Hex code, or HTML color for section fill"},"customStyles":{"type":"string","description":"CSS overides for section container"},"itemSize":{"enum":["small","medium","large"],"default":"medium","description":"Size of items within the section"},"rows":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans vertically"},"cols":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans horizontally"},"sectionLayout":{"enum":["grid","auto"],"default":"auto","description":"If set to grid, items have uniform width, and itemCount can be set"},"itemCountX":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per column"},"itemCountY":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per row"}}},"items":{"type":"array","description":"Array of items to display with a section","items":{"type":"object","additionalProperties":false,"required":["title"],"properties":{"title":{"type":"string","description":"Text shown on the item"},"description":{"type":"string","nullable":true,"description":"Short description, shown on hover or in a tooltip"},"icon":{"type":"string","nullable":true,"description":"An icon, either as a font-awesome identifier, local or remote URL, or the word favicon or generative"},"url":{"type":"string","description":"The destination to navigate to when item is clicked"},"target":{"enum":["newtab","sametab","modal","workspace"],"default":"newtab","description":"Opening method, when item is clicked"},"hotkey":{"type":"number","description":"A numeric shortcut key, between 0 and 9. Useful for quickly launching frequently used applications"},"color":{"type":"string","description":"A custom fill color of the item"},"provider":{"type":"string","description":"Provider name, e.g. Microsoft"},"statusCheck":{"type":"boolean","default":false,"description":"Whether or not to display online/ offline status for this service. Will override appConfig.statusCheck"},"statusCheckUrl":{"type":"string","description":"If you\'ve enabled statusCheck, and want to use a different URL to what is defined under the item, then specify it here"},"statusCheckHeaders":{"type":"object","description":" If you\'re endpoint requires any specific headers for the status checking, then define them here"}}}}}}}}}')},"832d":function(e,t,a){},"85e1":function(e,t,a){"use strict";a("1036")},"89e2":function(e,t,a){"use strict";a("1653")},"8b35":function(e,t,a){},"8b8e":function(e,t){e.exports={pageInfo:{title:"Dashy",navLinks:[{title:"Home",path:"/"},{title:"About",path:"/about"},{title:"Source Code",path:"https://github.com/Lissy93/dashy"}]},appConfig:{theme:"colorful",fontAwesomeKey:"0821c65656"},sections:[{name:"Getting Started",items:[{title:"Source",description:"Source code and documentation on GitHub",icon:"fab fa-github",url:"https://github.com/Lissy93/dashy"},{title:"Issues",description:"View currently open issues, or raise a new one",icon:"fas fa-bug",url:"https://github.com/Lissy93/dashy/issues"},{title:"Demo 1",description:"Live Demo #1",icon:"far fa-rocket",url:"https://dashy-demo-1.netlify.app"},{title:"Demo 2",description:"Live Demo #2",icon:"fad fa-planet-ringed",url:"https://dashy-demo-2.netlify.app"}]}]}},"8d7c":function(e,t,a){},"905d":function(e,t,a){},"90de":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-window-close fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"window-close",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z"}})]))}}},"90ff":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-save fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"save",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M433.941 129.941l-83.882-83.882A48 48 0 00316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 00-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 01-6-6V86a6 6 0 016-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 011.757 4.243V426a6 6 0 01-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z"}})]))}}},"922c":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-expand-arrows-alt fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M448 344v112a23.94 23.94 0 01-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 01-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0124-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0124 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}})]))}}},"939b":function(e,t,a){},9517:function(e,t,a){"use strict";a("a8d0")},9635:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:[i,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{d:"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z"}}),a("path",{attrs:{d:"M271.552 301.072l-77.856-46.72-41.616 15.152 10.944 30.064 27.28-9.92 82.144 49.28 97.6-65.072L480 315.088V480H32V347.2l40.8-14.848-10.928-30.048L0 324.8V512h512V292.912l-146.048-54.768z"}}),a("path",{attrs:{d:"M0 0v278.848l66.576-24.224-10.928-30.064L32 233.152V32h448v168.912l-114.048-42.768-94.4 62.928-77.856-46.72-47.84 17.392 10.944 30.064 33.504-12.16 82.144 49.28 97.6-65.072L512 247.088V0z"}}),a("path",{attrs:{d:"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z"}})]))}}},"97fb":function(e,t,a){},"9c0c":function(e,t,a){},"9e50":function(e,t,a){"use strict";a("3323")},"9e96":function(e,t,a){},a2fe:function(e,t,a){"use strict";a("f8bc")},a4c2:function(e,t,a){},a8d0:function(e,t,a){},b021:function(e,t,a){"use strict";a("905d")},b2be:function(e,t,a){},b315:function(e,t,a){},b58b:function(e,t,a){},b5c9:function(e,t,a){"use strict";a("7645")},c715:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-table fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"table",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"}})]))}}},c924:function(e,t,a){},cbc6:function(e,t,a){"use strict";a("b58b")},cbd9:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-file-download fa-w-12",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"file-download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M216 236.07c0-6.63-5.37-12-12-12h-24c-6.63 0-12 5.37-12 12v84.01h-48.88c-10.71 0-16.05 12.97-8.45 20.52l72.31 71.77c4.99 4.95 13.04 4.95 18.03 0l72.31-71.77c7.6-7.54 2.26-20.52-8.45-20.52H216v-84.01zM369.83 97.98L285.94 14.1c-9-9-21.2-14.1-33.89-14.1H47.99C21.5.1 0 21.6 0 48.09v415.92C0 490.5 21.5 512 47.99 512h287.94c26.5 0 48.07-21.5 48.07-47.99V131.97c0-12.69-5.17-24.99-14.17-33.99zM255.95 51.99l76.09 76.08h-76.09V51.99zM336 464.01H47.99V48.09h159.97v103.98c0 13.3 10.7 23.99 24 23.99H336v287.95z"}})]))}}},cea5:function(e,t,a){"use strict";a("7f43")},cf1c:function(e,t,a){"use strict";a("8d7c")},d16d:function(e,t,a){"use strict";a("18dd")},d636:function(e,t,a){"use strict";a("78d0")},d704:function(e,t,a){},d8e8:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-compress-arrows-alt fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"compress-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"}})]))}}},de40:function(e,t,a){"use strict";a("7f59")},e0a2:function(e,t){e.exports=/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32-\ude3a]|[\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/},e697:function(e,t,a){"use strict";a("2574")},e6a4:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-download fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fal","data-icon":"download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h99.4L87 263.6c-25.2-25.2-7.3-68.3 28.3-68.3H168V40c0-22.1 17.9-40 40-40h96c22.1 0 40 17.9 40 40v155.3h52.7c35.6 0 53.4 43.1 28.3 68.3L368.6 320H468c24.3 0 44 19.7 44 44zm-261.7 17.7c3.1 3.1 8.2 3.1 11.3 0L402.3 241c5-5 1.5-13.7-5.7-13.7H312V40c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v187.3h-84.7c-7.1 0-10.7 8.6-5.7 13.7l140.7 140.7zM480 364c0-6.6-5.4-12-12-12H336.6l-52.3 52.3c-15.6 15.6-41 15.6-56.6 0L175.4 352H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z"}})]))}}},e7fa:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-edit fa-w-18",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"edit",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"}})]))}}},eb58:function(e,t,a){"use strict";a("9e96")},ec36:function(e,t,a){},ed9b:function(e,t,a){"use strict";a("a4c2")},eda6:function(e,t,a){"use strict";a("1864")},f255:function(e,t,a){"use strict";a("339a")},f719:function(e,t,a){"use strict";a("27c1")},f7af:function(e,t,a){},f8bc:function(e,t,a){},f94d:function(e,t,a){},f9d7:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-columns fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"columns",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"}})]))}}},fa2b:function(e,t,a){"use strict";a("f7af")},fae5:function(e,t,a){}}); -//# sourceMappingURL=dashy.5dfe9eab.js.map \ No newline at end of file +(function(e){function t(t){for(var n,s,r=t[0],l=t[1],c=t[2],_=0,u=[];_new RegExp(/(http|https):\/\/(\S+)(:[0-9]+)?/).test(e)}},O=x,T=(a("d16d"),Object(v["a"])(O,S,I,!1,null,"68c1bd5c",null)),E=T.exports,$=a("5cc6"),L=a.n($),A={name:"Header",inject:["visibleComponents"],components:{PageTitle:C,Nav:E},props:{pageInfo:Object},data(){return{titleVisible:(this.visibleComponents||$["visibleComponents"]).pageTitle,navVisible:(this.visibleComponents||$["visibleComponents"]).navigation}}},N=A,z=(a("3e3f"),Object(v["a"])(N,g,p,!1,null,"786dc3b6",null)),j=z.exports,M=function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.text&&""!==e.text?a("footer",{domProps:{innerHTML:e._s(e.text)}}):a("footer",[e._v(" Developed by "),a("a",{attrs:{href:e.authorUrl}},[e._v(e._s(e.authorName))]),e._v(". Licensed under "),a("a",{attrs:{href:e.licenseUrl}},[e._v(e._s(e.license))]),e._v(" "+e._s(e.showCopyright?"©":"")+" "+e._s(e.date)+". Get the "),a("a",{attrs:{href:e.repoUrl}},[e._v("Source Code")]),e._v(". ")])},P=[],V={name:"Footer",props:{text:String,authorName:{type:String,default:"Alicia Sykes"},authorUrl:{type:String,default:"https://aliciasykes.com"},license:{type:String,default:"MIT"},licenseUrl:{type:String,default:"https://gist.github.com/Lissy93/143d2ee01ccc5c052a17"},date:{type:String,default:""+(new Date).getFullYear()},showCopyright:{type:Boolean,default:!0},repoUrl:{type:String,default:"https://github.com/lissy93/dashy"}}},H=V,B=(a("ed9b"),Object(v["a"])(H,M,P,!1,null,"64591bd5",null)),D=B.exports,U=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide-fade"}},[e.isLoading?a("div",{class:e.c,attrs:{id:"loading"},on:{click:function(t){e.c="hide"}}},[a("h2",[e._v("Dashy")]),a("div",{staticClass:"inner-container"},[a("p",[e._v("Loading")]),a("span",{staticClass:"dots-cont"},[a("span",{staticClass:"dot dot-1"}),a("span",{staticClass:"dot dot-2"}),a("span",{staticClass:"dot dot-3"}),a("span",{staticClass:"dot dot-4"})])])]):e._e()])},R=[],K={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},F=K,q=(a("2bb3"),Object(v["a"])(F,U,R,!1,null,"a7bc1de6",null)),W=q.exports,G=a("8b8e"),J=a.n(G);class Y{constructor(){this.conf=J.a}appConfig(){const e=this.conf.appConfig||{};let t=$["appConfig"];return localStorage[$["localStorageKeys"].APP_CONFIG]?t=JSON.parse(localStorage[$["localStorageKeys"].APP_CONFIG]):e!=={}&&(t=e),t.layout=localStorage[$["localStorageKeys"].LAYOUT_ORIENTATION]||e.layout||$["layout"],t.iconSize=localStorage[$["localStorageKeys"].ICON_SIZE]||e.iconSize||$["iconSize"],t.language=localStorage[$["localStorageKeys"].LANGUAGE]||e.language||$["language"],t}pageInfo(){const e=$["pageInfo"];let t;try{t=JSON.parse(localStorage[$["localStorageKeys"].PAGE_INFO])}catch(n){t={}}const a=this.conf.pageInfo||e;return a.title=t.title||J.a.pageInfo.title||e.title,a.description=t.description||J.a.pageInfo.description||e.description,a.navLinks=t.navLinks||J.a.pageInfo.navLinks||e.navLinks,a.footerText=t.footerText||J.a.pageInfo.footerText||e.footerText,a}sections(){const e=localStorage[$["localStorageKeys"].CONF_SECTIONS];if(e)try{const t=JSON.parse(e);if(t.length>=1)return t}catch(t){}return this.conf.sections}config(){return{appConfig:this.appConfig(),pageInfo:this.pageInfo(),sections:this.sections()}}}var X=a("0e40");const Z=[{name:"English",code:"en",locale:X,flag:"🇬🇧"}],Q={};Z.forEach(e=>{Q[e.code]=e.locale});const ee=Q,te=(()=>{const e=new Y;return e.config()})(),ae=e=>{const t=e.hideComponents||{},a=e=>"boolean"===typeof e;return{pageTitle:a(t.hideHeading)?!t.hideHeading:$["visibleComponents"].pageTitle,navigation:a(t.hideNav)?!t.hideNav:$["visibleComponents"].navigation,searchBar:a(t.hideSearch)?!t.hideSearch:$["visibleComponents"].searchBar,settings:a(t.hideSettings)?!t.hideSettings:$["visibleComponents"].settings,footer:a(t.hideFooter)?!t.hideFooter:$["visibleComponents"].footer,splashScreen:a(t.hideSplashScreen)?!t.hideSplashScreen:$["visibleComponents"].splashScreen}},ne=()=>{const e=localStorage[$["localStorageKeys"].THEME],t=te.appConfig.theme;return e||t||$["theme"]},se=()=>{const e=JSON.parse(localStorage[$["localStorageKeys"].CUSTOM_COLORS]||"{}"),t=te.appConfig.customColors||{};return Object.assign(t,e)},oe=()=>{const e=[],t=te.sections||[];return t.forEach(t=>{const a=t.items.filter(e=>e.hotkey);e.push(a.map(e=>({hotkey:e.hotkey,url:e.url})))}),e.flat()},ie=()=>{const e=localStorage[$["localStorageKeys"].LANGUAGE]||te.appConfig.language||$["language"],t=Z.find(t=>t.code===e);return t},re=new Y,le=re.config(),ce=ae(le.appConfig)||$["visibleComponents"];var _e={name:"app",components:{Header:j,Footer:D,LoadingScreen:W},provide:{config:le,visibleComponents:ce},data(){return{isLoading:!0,showFooter:ce.footer,appConfig:re.appConfig(),pageInfo:re.pageInfo(),visibleComponents:ce}},methods:{getFooterText(){return this.pageInfo&&this.pageInfo.footerText?this.pageInfo.footerText:""},injectCustomStyles(e){const t=document.createElement("style");t.textContent=e,document.head.append(t)},shouldShowSplash(){return(this.visibleComponents||$["visibleComponents"]).splashScreen||!localStorage[$["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()?setTimeout(()=>{this.isLoading=!1},$["splashScreenTime"]||1500):this.isLoading=!1},applyLanguage(){let e=$["language"];const t=this.$i18n.availableLocales,a=localStorage[$["localStorageKeys"].LANGUAGE]||this.appConfig.language;if(a&&t.includes(a))e=a;else{const a=window.navigator.language||"",n=a.split("-")[0];t.includes(a)?e=a:t.includes(n)&&(e=n)}this.$i18n.locale=e,document.getElementsByTagName("html")[0].setAttribute("lang",e)}},mounted(){if(this.applyLanguage(),this.hideSplash(),this.appConfig.customCss){const e=this.appConfig.customCss.replace(/<\/?[^>]+(>|$)/g,"");this.injectCustomStyles(e)}}},ue=_e,de=(a("5c0b"),Object(v["a"])(ue,m,h,!1,null,null,null)),me=de.exports,he=a("8c4f"),ge=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"home",style:e.getBackgroundImage()},[a("SettingsContainer",{ref:"filterComp",staticClass:"settings-outer",attrs:{displayLayout:e.layout,iconSize:e.itemSizeBound,externalThemes:e.getExternalCSSLinks(),sections:e.getSections(e.sections),appConfig:e.appConfig,pageInfo:e.pageInfo,modalOpen:e.modalOpen},on:{"user-is-searchin":e.searching,"change-display-layout":e.setLayoutOrientation,"change-icon-size":e.setItemSize,"change-modal-visibility":e.updateModalVisibility}}),e.checkTheresData(e.sections)?a("div",{class:"item-group-container orientation-"+e.layout+" item-size-"+e.itemSizeBound},e._l(e.getSections(e.sections),(function(t,n){return a("ItemGroup",{key:n,class:0===e.filterTiles(t.items).length&&e.searchValue?"no-results":"",attrs:{title:t.name,icon:t.icon||void 0,displayData:e.getDisplayData(t),groupId:"section-"+n,items:e.filterTiles(t.items),itemSize:e.itemSizeBound},on:{itemClicked:function(t){return e.finishedSearching()},"change-modal-visibility":e.updateModalVisibility}})})),1):e._e(),e.checkIfResults()?a("div",{staticClass:"no-data"},[e._v(" "+e._s(e.searchValue?e.$t("home.no-results"):e.$t("home.no-data"))+" ")]):e._e()],1)},pe=[],fe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",[e.searchVisible?a("SearchBar",{ref:"SearchBar",attrs:{active:!e.modalOpen},on:{"user-is-searchin":e.userIsTypingSomething}}):e._e(),a("div",{staticClass:"options-outer"},[a("div",{class:"options-container "+(e.settingsVisible?"":"hide")},[a("ThemeSelector",{attrs:{externalThemes:e.externalThemes,confTheme:e.getInitialTheme(),userThemes:e.getUserThemes()},on:{modalChanged:e.modalChanged}}),a("LayoutSelector",{attrs:{displayLayout:e.displayLayout},on:{layoutUpdated:e.updateDisplayLayout}}),a("ItemSizeSelector",{attrs:{iconSize:e.iconSize},on:{iconSizeUpdated:e.updateIconSize}}),a("ConfigLauncher",{attrs:{sections:e.sections,pageInfo:e.pageInfo,appConfig:e.appConfig},on:{modalChanged:e.modalChanged}}),e.isUserLoggedIn()?a("AppButtons"):e._e()],1),a("div",{class:"show-hide-container "+(e.settingsVisible?"hide-btn":"show-btn")},[a("button",{directives:[{name:"tooltip",rawName:"v-tooltip",value:(e.settingsVisible?"Hide":"Open")+" Settings Menu",expression:"`${settingsVisible? 'Hide' : 'Open'} Settings Menu`"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.toggleSettingsVisibility()}}},[e.settingsVisible?a("IconClose"):a("IconOpen")],1)])]),a("KeyboardShortcutInfo"),a("AppInfoModal")],1)},be=[],ke=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("form",[a("label",{attrs:{for:"filter-tiles"}},[e._v(e._s(e.$t("search.search-label")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.input,expression:"input"}],ref:"filter",attrs:{id:"filter-tiles",placeholder:e.$t("search.search-placeholder")},domProps:{value:e.input},on:{input:[function(t){t.target.composing||(e.input=t.target.value)},e.userIsTypingSomething],keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.clearFilterInput.apply(null,arguments)}}}),e.input.length>0?a("i",{staticClass:"clear-search",attrs:{title:e.$t("search.clear-search-tooltip")},on:{click:e.clearFilterInput}},[e._v("x")]):e._e()])},we=[];class ve{constructor(e){this.index=e}resetIndex(){this.index=0}arrowNavigation(e){void 0===this.index?this.index=0:37===e?this.index-=1:38===e?this.index=ve.goToPrevious(this.index):39===e?this.index+=1:40===e&&(this.index=ve.goToNext(this.index)),this.index=ve.getSafeElementIndex(this.index),ve.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(e){const t=ve.getNumResults();return e<0?t-1:e>=t?0:e}static selectItemByIndex(e){return e>=0&&e<=ve.getNumResults()?document.getElementsByClassName("item")[e]:[document.getElementsByClassName("item")]}static findPreviousRow(e){const t=(e,t)=>ve.selectItemByIndex(e).offsetTop===t,a=(e,n)=>e>=ve.getNumResults()?a(0,n):t(e,n)?a(e-1,n):e,n=ve.selectItemByIndex(e).offsetTop;return a(e,n)}static goToPrevious(e){const t=(e,t)=>ve.selectItemByIndex(e).offsetTopve.selectItemByIndex(e).offsetTop===t,a=(e,n)=>e>=ve.getNumResults()?a(0,n):t(e,n)?a(e+1,n):e,n=ve.selectItemByIndex(e).offsetTop;return a(e,n)}static goToNext(e){const t=(e,t)=>ve.selectItemByIndex(e).offsetTop>ve.selectItemByIndex(t).offsetTop,a=ve.findNextRow(e),n=a-e,s=a-ve.findPreviousRow(e)-1,o=t(e,a)?0:s-n;return a+o}}var ye={name:"FilterTile",props:{active:Boolean},data(){return{input:"",akn:new ve,getCustomKeyShortcuts:oe}},mounted(){window.addEventListener("keydown",e=>{const t=document.activeElement.id,{key:a,keyCode:n}=e;this.active&&(/^[a-zA-Z]$/.test(a)&&"filter-tiles"!==t?(this.$refs.filter&&this.$refs.filter.focus(),this.userIsTypingSomething()):/^[0-9]$/.test(a)?this.handleHotKey(a):n>=37&&n<=40?this.akn.arrowNavigation(n):27===n&&this.clearFilterInput())})},methods:{userIsTypingSomething(){this.$emit("user-is-searchin",this.input)},clearFilterInput(){this.input="",this.userIsTypingSomething(),document.activeElement.blur(),this.akn.resetIndex()},handleHotKey(e){const t=this.getCustomKeyShortcuts();t.forEach(t=>{t.hotkey===parseInt(e,10)&&t.url&&window.open(t.url,"_blank")})}}},Ce=ye,Se=(a("b021"),Object(v["a"])(Ce,ke,we,!1,null,"2350dd8e",null)),Ie=Se.exports,xe=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"config-options"},[a("span",[e._v(e._s(e.$t("settings.config-launcher-label")))]),a("div",{staticClass:"config-buttons"},[a("IconSpanner",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Update configuration"),expression:"tooltip('Update configuration')"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.showEditor()}}}),a("IconCloud",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Backup / restore cloud config"),expression:"tooltip('Backup / restore cloud config')"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.showCloudModal()}}})],1),a("modal",{attrs:{name:e.modalNames.CONF_EDITOR,resizable:!0,width:"60%",height:"85%",classes:"dashy-modal"},on:{closed:function(t){return e.$emit("modalChanged",!1)}}},[a("ConfigContainer",{attrs:{config:e.combineConfig()}})],1),a("modal",{attrs:{name:e.modalNames.CLOUD_BACKUP,resizable:!0,width:"65%",height:"60%",classes:"dashy-modal"},on:{closed:function(t){return e.$emit("modalChanged",!1)}}},[a("CloudBackupRestore",{attrs:{config:e.combineConfig()}})],1),a("modal",{attrs:{name:e.modalNames.LANG_SWITCHER,classes:"dashy-modal",resizable:!0,width:"30%",height:"25%"}},[a("LanguageSwitcher")],1)],1)},Oe=[],Te=a("35c3"),Ee=a.n(Te),$e=a("6780"),Le=a.n($e),Ae=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("Tabs",{ref:"tabView",attrs:{navAuto:!0,name:"Add Item"}},[a("TabItem",{staticClass:"main-tab",attrs:{name:e.$t("config.main-tab")}},[a("div",{staticClass:"main-options-container"},[a("h2",[e._v("Configuration Options")]),a("a",{staticClass:"hyperlink-wrapper",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[a("button",{staticClass:"config-button center"},[a("DownloadIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.download-config-button"))+" ")],1)]),a("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(2)}}},[a("EditIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.edit-config-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(3)}}},[a("CustomCssIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.edit-css-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openCloudSync()}}},[a("CloudIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.backupId?e.$t("config.edit-cloud-sync-button"):e.$t("config.cloud-sync-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openLanguageSwitchModal()}}},[a("LanguageIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.change-language-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openRebuildAppModal()}}},[a("RebuildIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.rebuild-app-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.resetLocalSettings()}}},[a("DeleteIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.reset-settings-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openAboutModal()}}},[a("IconAbout",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.app-info-button"))+" ")],1),a("p",{staticClass:"small-screen-note",staticStyle:{display:"none"}},[e._v(" You are using a very small screen, and some screens in this menu may not be optimal ")]),a("p",{staticClass:"language"},[e._v(e._s(e.getLanguage()))]),a("AppVersion"),a("div",{staticClass:"config-note"},[a("span",[e._v(e._s(e.$t("config.backup-note")))])])],1),a("RebuildApp")],1),a("TabItem",{staticClass:"code-container",attrs:{name:e.$t("config.view-config-tab")}},[a("pre",{attrs:{id:"conf-yaml"}},[e._v(e._s(e.yaml))]),a("div",{staticClass:"yaml-action-buttons"},[a("h2",[e._v(e._s(e.$t("config.actions-label")))]),a("a",{staticClass:"yaml-button download",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[e._v(" "+e._s(e.$t("config.download-config-button"))+" ")]),a("a",{staticClass:"yaml-button copy",on:{click:function(t){return e.copyConfigToClipboard()}}},[e._v(" "+e._s(e.$t("config.copy-config-label"))+" ")]),a("a",{staticClass:"yaml-button reset",on:{click:function(t){return e.resetLocalSettings()}}},[e._v(" "+e._s(e.$t("config.reset-config-label"))+" ")])])]),a("TabItem",{attrs:{name:e.$t("config.edit-config-tab")}},[a("JsonEditor",{attrs:{config:e.config}})],1),a("TabItem",{attrs:{name:e.$t("config.custom-css-tab")}},[a("CustomCssEditor",{attrs:{config:e.config}})],1)],1)},Ne=[],ze=a("1020"),je=a.n(ze),Me=a("2e7b"),Pe=a.n(Me),Ve=(a("1d89"),a("d97e"));const He=e=>e.split("\n").map(e=>e.trimRight()).join("\n"),Be=e=>{throw new Error("Error in Json to YAML conversion: "+e)},De=e=>{let t="";const a={undefined(){return"null"},null(){return"null"},number(e){return e},boolean(e){return e?"true":"false"},string(e){return JSON.stringify(e)},array(e){let n="";return 0===e.length?(n+="[]",n):(t=t.replace(/$/," "),e.forEach(e=>{const s=a[Object(Ve["typeOf"])(e)];s||Be(Object(Ve["typeOf"])(e)),n+=`\n${t}- ${s(e,!0)}`}),t=t.replace(/ {2}/,""),n)},object(e,n,s){let o="";return 0===Object.keys(e).length?(o+="{}",o):(s||(t=t.replace(/$/," ")),Object.keys(e).forEach((s,i)=>{const r=e[s],l=a[Object(Ve["typeOf"])(r)];"undefined"!==typeof r&&(l||Be(Object(Ve["typeOf"])(r)),n&&0===i||(o+="\n"+t),o+=`${s}: ${l(r)}`)}),t=t.replace(/ {2}/,""),o)},function(){return"[object Function]"}};return He(a[Object(Ve["typeOf"])(e)](e,!0,!0)+"\n")};var Ue=De,Re=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"json-editor-outer"},[a("v-jsoneditor",{attrs:{options:e.options,height:"500px"},model:{value:e.jsonData,callback:function(t){e.jsonData=t},expression:"jsonData"}}),a("div",{staticClass:"save-options"},[a("span",{staticClass:"save-option-title"},[e._v(e._s(e.$t("config-editor.save-location-label"))+":")]),a("div",{staticClass:"option"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"local",value:"local",disabled:!e.allowWriteToDisk},domProps:{checked:e._q(e.saveMode,"local")},on:{change:function(t){e.saveMode="local"}}}),a("label",{staticClass:"save-option-label",attrs:{for:"local"}},[e._v(" "+e._s(e.$t("config-editor.location-local-label"))+" ")])]),a("div",{staticClass:"option"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"file",value:"file",disabled:!e.allowWriteToDisk},domProps:{checked:e._q(e.saveMode,"file")},on:{change:function(t){e.saveMode="file"}}}),a("label",{staticClass:"save-option-label",attrs:{for:"file"}},[e._v(" "+e._s(e.$t("config-editor.location-disk-label"))+" ")])])]),a("button",{class:"save-button "+(e.isValid?"":"err"),on:{click:function(t){return e.save()}}},[e._v(" "+e._s(e.$t("config-editor.save-button"))+" ")]),a("p",{staticClass:"errors"},[a("ul",[e._l(e.errorMessages,(function(t,n){return a("li",{key:n,class:"type-"+t.type},[e._v(" "+e._s(t.msg)+" ")])})),e.errorMessages.length<1?a("li",{staticClass:"type-valid"},[e._v(" "+e._s(e.$t("config-editor.valid-label"))+" ")]):e._e()],2)]),void 0!==e.saveSuccess?a("p",{class:"response-output status-"+(e.saveSuccess?"success":"fail")},[e._v(" "+e._s(e.saveSuccess?e.$t("config-editor.status-success-msg"):e.$t("config-editor.status-fail-msg"))+" ")]):e._e(),a("p",{staticClass:"response-output"},[e._v(e._s(e.responseText))]),e.saveSuccess?a("p",{staticClass:"response-output"},[e._v(" "+e._s(e.$t("config-editor.success-note-l1"))+" "+e._s(e.$t("config-editor.success-note-l2"))+" "+e._s(e.$t("config-editor.success-note-l3"))+" ")]):e._e(),a("p",{staticClass:"note"},[e._v(e._s(e.$t("config.backup-note")))])],1)},Ke=[],Fe=a("bcb2"),qe=a.n(Fe),We=a("831b"),Ge=a("94f8"),Je=a.n(Ge);const Ye=e=>Je()(e.toString()).toString().toLowerCase(),Xe=e=>{const t=e.map(e=>Ye(e));let a=!1;return document.cookie.split(";").forEach(e=>{if(e&&e.split("=").length>1){const n=e.split("=")[0].trim(),s=e.split("=")[1].trim();n===$["cookieKeys"].AUTH_TOKEN&&t.includes(s)&&(a=!0)}}),a},Ze=(e,t,a)=>{let n;return e?t?a.forEach(a=>{a.user===e&&(n=a.hash.toLowerCase()===Je()(t).toString().toLowerCase()?{correct:!0,msg:"Logging in..."}:{correct:!1,msg:"Incorrect Password"})}):n={correct:!1,msg:"Missing Password"}:n={correct:!1,msg:"Missing Username"},n||{correct:!1,msg:"User not found"}},Qe=(e,t,a)=>{const n=new Date,s=new Date(n.setTime(n.getTime()+a)).toGMTString(),o={user:e,hash:Je()(t).toString().toLowerCase()};document.cookie=`authenticationToken=${Ye(o)};`+(a>0?"expires="+s:""),localStorage.setItem($["localStorageKeys"].USERNAME,e)},et=()=>{document.cookie="authenticationToken=null",localStorage.removeItem($["localStorageKeys"].USERNAME)},tt=e=>{if(!e||0===e.length)return!0;if(!Xe(e))return!1;const t=localStorage[$["localStorageKeys"].USERNAME];let a=!1;return e.forEach(e=>{e.user===t&&"admin"===e.type&&(a=!0)}),a};var at=a("bc3a"),nt=a.n(at),st={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:qe.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:We,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:Ue,responseText:"",saveSuccess:void 0,allowWriteToDisk:this.shouldAllowWriteToDisk()}},computed:{isValid(){return this.errorMessages.length<1}},mounted(){this.allowWriteToDisk||(this.saveMode="local")},methods:{shouldAllowWriteToDisk(){const{appConfig:e}=this.config;return!1!==e.allowConfigEdit&&tt(e.auth)},save(){"local"!==this.saveMode&&this.allowWriteToDisk?"file"===this.saveMode?this.writeConfigToDisk():this.$toasted.show(this.$t("config-editor.error-msg-save-mode")):this.saveConfigLocally()},writeConfigToDisk(){const e=this.jsonParser(this.jsonData),t=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.4.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,a=t+"/config-manager/save",n={"Content-Type":"text/plain"},s={config:e,timestamp:new Date},o=nt.a.post(a,s,n);o.then(e=>{this.saveSuccess=e.data.success||!1,this.responseText=e.data.message,this.saveSuccess?(this.carefullyClearLocalStorage(),this.showToast(this.$t("config-editor.success-msg-disk"),!0)):this.showToast(this.$t("config-editor.error-msg-cannot-save"),!1)}).catch(e=>{this.saveSuccess=!1,this.responseText=e,this.showToast(e,!1)})},saveConfigLocally(){const e=this.jsonData;e.sections&&localStorage.setItem($["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),e.pageInfo&&localStorage.setItem($["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig&&localStorage.setItem($["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),e.appConfig.theme&&localStorage.setItem($["localStorageKeys"].THEME,e.appConfig.theme),this.showToast(this.$t("config-editor.success-msg-local"),!0)},carefullyClearLocalStorage(){localStorage.removeItem($["localStorageKeys"].PAGE_INFO),localStorage.removeItem($["localStorageKeys"].APP_CONFIG),localStorage.removeItem($["localStorageKeys"].CONF_SECTIONS)},validationErrors(e){const t=[];e.forEach(e=>{switch(e.type){case"validation":t.push({type:"validation",msg:this.$t("config-editor.warning-msg-validation")+": "+`${e.error.keyword} ${e.error.message}`});break;case"error":t.push({type:"parse",msg:e.message});break;default:t.push({type:"editor",msg:this.$t("config-editor.error-msg-bad-json")});break}}),this.errorMessages=t},showToast(e,t){this.$toasted.show(e,{className:"toast-"+(t?"success":"error")})}}},ot=st,it=(a("80a7"),Object(v["a"])(ot,Re,Ke,!1,null,null,null)),rt=it.exports,lt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"css-editor-outer"},[a("prism-editor",{staticClass:"my-editor",attrs:{highlight:e.highlighter,"line-numbers":""},model:{value:e.customCss,callback:function(t){e.customCss=t},expression:"customCss"}}),a("button",{staticClass:"save-button",on:{click:function(t){return e.save()}}},[e._v(e._s(e.$t("config.css-save-btn")))]),a("p",{staticClass:"quick-note"},[a("b",[e._v(e._s(e.$t("config.css-note-label"))+":")]),e._v(" "+e._s(e.$t("config.css-note-l1"))+" "+e._s(e.$t("config.css-note-l2"))+" "+e._s(e.$t("config.css-note-l3"))+" ")]),a("CustomThemeMaker",{staticClass:"color-config",attrs:{themeToEdit:e.currentTheme}})],1)},ct=[],_t=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"theme-configurator-wrapper "+(e.showingAllVars?"showing-all":"")},[a("h3",{staticClass:"configurator-title"},[e._v(e._s(e.$t("theme-maker.title")))]),a("div",{staticClass:"color-row-container"},e._l(Object.keys(e.customColors),(function(t){return a("div",{key:t,staticClass:"color-row"},[a("label",{staticClass:"color-name",attrs:{for:"color-input-"+t}},[e._v(" "+e._s(t.replaceAll("-"," "))+" ")]),e.isColor(t,e.customColors[t])?a("v-swatches",{attrs:{"show-fallback":"","fallback-input-type":"color","popover-x":"left",swatches:e.swatches},on:{input:function(a){return e.setVariable(t,e.customColors[t])}},model:{value:e.customColors[t],callback:function(a){e.$set(e.customColors,t,a)},expression:"customColors[colorName]"}},[a("input",{staticClass:"swatch-input form__input__element",style:e.makeSwatchStyles(t),attrs:{slot:"trigger",id:"color-input-"+t,readonly:""},domProps:{value:e.customColors[t]},slot:"trigger"})]):a("input",{staticClass:"misc-input",attrs:{id:"color-input-"+t},domProps:{value:e.customColors[t]},on:{input:function(a){return e.setVariable(t,e.customColors[t])}}})],1)})),0),a("p",{staticClass:"action-text-btn",on:{click:e.exportToClipboard}},[e._v(" "+e._s(e.$t("theme-maker.export-button"))+" ")]),a("p",{staticClass:"action-text-btn show-all-vars-btn",on:{click:e.resetAndSave}},[e._v(" "+e._s(e.$t("theme-maker.reset-button"))+" '"+e._s(e.themeToEdit)+"' ")]),a("p",{staticClass:"action-text-btn",on:{click:e.findAllVariableNames}},[e._v(" "+e._s(e.$t("theme-maker.show-all-button"))+" ")]),a("div",{staticClass:"action-buttons"},[a("Button",{attrs:{click:e.saveChanges}},[a("SaveIcon"),e._v(" "+e._s(e.$t("theme-maker.save-button"))+" ")],1),a("Button",{attrs:{click:e.resetUnsavedColors}},[a("CancelIcon"),e._v(" "+e._s(e.$t("theme-maker.cancel-button"))+" ")],1)],1)])},ut=[],dt=a("7f75"),mt=a.n(dt),ht=(a("b3a4"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("button",{class:e.disallow?"disallowed":"",attrs:{disabled:e.disabled},on:{click:function(t){return e.click()}}},[e._t("default"),e._t("text"),e._t("icon")],2)}),gt=[],pt={name:"Button",props:{text:String,click:Function,disabled:Boolean,disallow:Boolean}},ft=pt,bt=(a("24e6"),Object(v["a"])(ft,ht,gt,!1,null,"ec408f00",null)),kt=bt.exports,wt=a("90ff"),vt=a.n(wt),yt=a("90de"),Ct=a.n(yt),St={name:"ThemeMaker",components:{VSwatches:mt.a,Button:kt,SaveIcon:vt.a,CancelIcon:Ct.a},data(){return{customColors:this.makeInitialData($["mainCssVars"]),showingAllVars:!1,swatches:$["swatches"]}},props:{themeToEdit:String},methods:{getCssVariableValue(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()||"inherit"},setVariable(e,t){document.documentElement.style.setProperty("--"+e,t)},saveChanges(){const e=JSON.parse(localStorage[$["localStorageKeys"].CUSTOM_COLORS]||"{}");e[this.themeToEdit]=this.customColors,localStorage.setItem($["localStorageKeys"].CUSTOM_COLORS,JSON.stringify(e)),this.$toasted.show(this.$t("theme-maker.saved-toast",{theme:this.themeToEdit})),this.$emit("closeThemeConfigurator")},resetUnsavedColors(){const e=Object.keys(this.customColors);e.forEach(e=>{document.documentElement.style.removeProperty("--"+e)}),this.customColors=this.makeInitialData($["mainCssVars"]),this.$emit("closeThemeConfigurator")},resetAndSave(){const e=JSON.parse(localStorage[$["localStorageKeys"].CUSTOM_COLORS]||"{}");delete e[this.themeToEdit],localStorage.setItem($["localStorageKeys"].CUSTOM_COLORS,JSON.stringify(e)),this.resetUnsavedColors(),this.$toasted.show(this.$t("theme-maker.reset-toast",{theme:this.themeToEdit}))},exportToClipboard(){const e=this.themeToEdit.replace(/^\w/,e=>e.toUpperCase());let t=`// Custom Colors for ${e}\n`;Object.keys(this.customColors).forEach(e=>{t+=`--${e}: ${this.customColors[e]};\n`}),navigator.clipboard.writeText(t),this.$toasted.show(this.$t("theme-maker.copied-toast",{theme:e}))},makeInitialData(e){const t={},a=e=>/^--/.exec(e),n=e=>a(e)?e:"--"+e,s=e=>a(e)?e.replace("--",""):e;return e.forEach(e=>{t[s(e)]=this.getCssVariableValue(n(e))}),t},findAllVariableNames(){const e=Array.from(document.styleSheets).filter(e=>null===e.href||e.href.startsWith(window.location.origin)).reduce((e,t)=>[...e,...Array.from(t.cssRules).reduce((e,t)=>":root"===t.selectorText?[...e,...Array.from(t.style).filter(e=>e.startsWith("--"))]:e,[])],[]);this.customColors=this.makeInitialData(e),this.showingAllVars=!0},getForegroundColor(e){const t=e=>{const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t||t.length<3)return"black";const a=e=>parseInt(t[e],16);return t?{r:a(1),g:a(2),b:a(3)}:null},a=e=>(299*e.r+587*e.g+114*e.b)/1e3;return a(t(e.trim()))<100?"white":"black"},makeSwatchStyles(e){const t=this.getForegroundColor(this.customColors[e]);return`background:${this.customColors[e]};color:${t}; border: 1px solid ${t}`},isColor(e,t){if(/rem|px|%/.exec(t))return!1;const a=["--curve-factor","--curve-factor-navbar","--curve-factor-small","--dimming-factor","--scroll-bar-width","--header-height","--footer-height","--item-group-padding","--item-shadow","--item-hover-shadow:","--item-icon-transform","--item-icon-transform-hover","--item-group-shadow","--context-menu-shadow","--settings-container-shadow","--side-bar-width"];return!a.includes("--"+e)}}},It=St,xt=(a("369e"),Object(v["a"])(It,_t,ut,!1,null,null,null)),Ot=xt.exports,Tt=a("e57a"),Et=a("8c7a"),$t=(a("6605"),a("dff1"),a("cabf"),{name:"JsonEditor",props:{config:Object},components:{CustomThemeMaker:Ot,PrismEditor:Tt["a"]},data(){return{customCss:this.config.appConfig.customCss||"\n\n\n\n\n",currentTheme:ne()}},methods:{validate(e){return""===e||e.match(/((?:^\s*)([\w#.@*,:\-.:>,*\s]+)\s*{(?:[\s]*)((?:[A-Za-z\- \s]+[:]\s*['"0-9\w .,/()\-!%]+;?)*)*\s*}(?:\s*))/gim)},save(){let e="";if(this.validate(this.customCss)){const t={...this.config.appConfig};t.customCss=this.customCss,localStorage.setItem($["localStorageKeys"].APP_CONFIG,JSON.stringify(t)),e="Changes saved succesfully",this.inject(this.customCss),""===this.customCss&&setTimeout(()=>{location.reload()},1500)}else e="Error - Invalid CSS";this.$toasted.show(e)},inject(e){const t=e.replace(/<\/?[^>]+(>|$)/g,""),a=document.createElement("style");a.textContent=t,document.head.append(a)},highlighter(e){return Object(Et["highlight"])(e,Et["languages"].css)}}}),Lt=$t,At=(a("9e50"),Object(v["a"])(Lt,lt,ct,!1,null,null,null)),Nt=At.exports,zt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.modalName,resizable:!0,width:"50%",height:"60%",classes:"dashy-modal"}},[a("div",{staticClass:"rebuild-app-container"},[a("h3",{staticClass:"rebuild-app-title"},[e._v(e._s(e.$t("app-rebuild.title")))]),a("p",[e._v(" "+e._s(e.$t("app-rebuild.rebuild-note-l1"))+" "+e._s(e.$t("app-rebuild.rebuild-note-l2"))),a("br"),e._v(" "+e._s(e.$t("app-rebuild.rebuild-note-l3"))+" ")]),a("Button",{attrs:{click:e.startBuild,disabled:e.loading||!e.allowRebuild,disallow:!e.allowRebuild},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(" "+e._s(e.loading?e.$t("app-rebuild.rebuilding-status-1"):e.$t("app-rebuild.rebuild-button"))+" ")]},proxy:!0},{key:"icon",fn:function(){return[a("RebuildIcon")]},proxy:!0}])}),e.allowRebuild?e._e():a("div",[a("p",{staticClass:"disallow-rebuild-msg"},[e._v(e._s(e.$t("app-rebuild.error-permission")))])]),e.loading?a("div",{staticClass:"loader-info"},[a("LoadingAnimation",{staticClass:"loader"}),a("p",{staticClass:"loading-message"},[e._v(e._s(e.$t("app-rebuild.rebuilding-status-2"))+"...")])],1):e._e(),void 0!==e.success?a("div",{staticClass:"rebuild-response"},[e.success?a("p",{staticClass:"response-status success"},[e._v(" ✅ "+e._s(e.$t("app-rebuild.success-msg"))+" ")]):a("p",{staticClass:"response-status failure"},[e._v(" ❌ "+e._s(e.$t("app-rebuild.fail-msg"))+" ")]),a("pre",{staticClass:"output"},[a("code",[e._v(e._s(e.output||e.error))])]),a("p",{staticClass:"rebuild-message"},[e._v(e._s(e.message))]),e.success?a("p",{staticClass:"rebuild-message"},[e._v(" "+e._s(e.$t("app-rebuild.reload-note"))+" ")]):e._e(),e.success?a("Button",{attrs:{click:e.refreshPage},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(e._s(e.$t("app-rebuild.reload-button")))]},proxy:!0},{key:"icon",fn:function(){return[a("ReloadIcon")]},proxy:!0}],null,!1,3658341317)}):e._e()],1):e._e()],1)])},jt=[],Mt=a("0911"),Pt=a.n(Mt),Vt=a("3ff5"),Ht=a.n(Vt),Bt=a("6266"),Dt=a.n(Bt),Ut={name:"RebuildApp",inject:["config"],components:{Button:kt,RebuildIcon:Pt.a,ReloadIcon:Ht.a,LoadingAnimation:Dt.a},data:()=>({modalName:$["modalNames"].REBUILD_APP,loading:!1,success:void 0,error:"",output:"",message:"",allowRebuild:!0}),methods:{startBuild(){const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.4.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=e+"/config-manager/rebuild";this.loading=!0,nt.a.get(t).then(e=>{this.finished(e.data||!1)}).catch(e=>{this.finished({success:!1,error:e})})},finished(e){if(this.loading=!1,e){const{success:t,output:a,error:n,message:s}=e;this.success=t,this.output=a,this.message=s,this.error=n}this.$toasted.show(this.success?"✅ "+this.$t("app-rebuild.success-msg"):"❌ "+this.$t("app-rebuild.fail-msg"),{className:"toast-"+(this.success?"success":"error")})},refreshPage(){location.reload()}},mounted(){this.config&&this.config.appConfig&&!1===this.config.appConfig.allowConfigEdit&&(this.allowRebuild=!1)}},Rt=Ut,Kt=(a("1171"),Object(v["a"])(Rt,zt,jt,!1,null,"306fcc3a",null)),Ft=Kt.exports,qt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"app-version"},[a("p",[e._v(" "+e._s(e.$t("updates.app-version-note"))+" "+e._s(e.appVersion)+" ")]),e.checksEnabled?a("div",[e.finished?e._e():a("p",[e._v(" "+e._s(e.error?"Error checking for updates.":"Chcekcing for Updates...")+" ")]),e.finished&&e.isUpToDate?a("p",{staticClass:"up-to-date"},[e._v(" ✅ "+e._s(e.$t("updates.up-to-date"))+" ")]):e.finished&&!e.veryOutOfDate?a("p",{staticClass:"update-availible"},[e._v(" ⚠️"+e._s(e.$t("updates.out-of-date"))+": "),a("b",[e._v(e._s(e.latestVersion))])]):e.finished&&e.veryOutOfDate?a("p",{staticClass:"big-update-availible"},[e._v(" ❗ "+e._s(e.$t("updates.out-of-date"))+": "),a("b",[e._v(e._s(e.latestVersion))]),a("span",{staticClass:"please-update"},[e._v(" "+e._s(e.$t("updates.unsupported-version-l1"))+"."),a("br"),e._v(" "+e._s(e.$t("updates.unsupported-version-2"))+" "+e._s(e.latestVersion)+" ")])]):e._e()]):e._e()])},Wt=[],Gt={name:"AppInfoModal",inject:["config"],data(){return{appVersion:"1.4.4",latestVersion:"",checksEnabled:!0,isUpToDate:!0,veryOutOfDate:!1,finished:!1,error:!1}},mounted(){const e=this.config.appConfig||{};!this.appVersion||e&&e.disableUpdateChecks?this.checksEnabled=!1:this.checkVersion()},methods:{checkVersion(){const e="https://raw.githubusercontent.com/Lissy93/dashy/master/package.json";nt.a.get(e).then(e=>{e&&e.data&&e.data.version&&(this.latestVersion=e.data.version,this.isUpToDate=this.checkIfUpToDate(this.appVersion,this.latestVersion),this.finished=!0)}).catch(()=>{this.error=!0})},checkIfUpToDate(e,t){const a=e=>parseInt(e.replaceAll(".",""),10),n=a(t)-a(e);return n>5&&(this.veryOutOfDate=!0),n<=0}}},Jt=Gt,Yt=(a("f255"),Object(v["a"])(Jt,qt,Wt,!1,null,"49d7ffdf",null)),Xt=Yt.exports,Zt=a("cbd9"),Qt=a.n(Zt),ea=a("0278"),ta=a.n(ea),aa=a("e7fa"),na=a.n(aa),sa=a("7da9"),oa=a.n(sa),ia=a("0845"),ra=a.n(ia),la=a("2413"),ca=a.n(la),_a={name:"ConfigContainer",data(){return{jsonParser:Ue,backupId:localStorage[$["localStorageKeys"].BACKUP_ID]||"",appVersion:"1.4.4",latestVersion:""}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:rt,CustomCssEditor:Nt,RebuildApp:Ft,AppVersion:Xt,DownloadIcon:Qt.a,DeleteIcon:ta.a,EditIcon:na.a,CloudIcon:Le.a,CustomCssIcon:oa.a,LanguageIcon:ra.a,RebuildIcon:Pt.a,IconAbout:ca.a},methods:{navigateToTab(e){const t=this.$refs.tabView.navItems[e];this.$refs.tabView.activeTabItem(t)},openRebuildAppModal(){this.$modal.show($["modalNames"].REBUILD_APP)},openAboutModal(){this.$modal.show($["modalNames"].ABOUT_APP)},openCloudSync(){this.$modal.show($["modalNames"].CLOUD_BACKUP)},openLanguageSwitchModal(){this.$modal.show($["modalNames"].LANG_SWITCHER)},copyConfigToClipboard(){navigator.clipboard.writeText(this.jsonParser(this.config)),this.$toasted.show(this.$t("config.data-copied-msg"))},resetLocalSettings(){const e=`${this.$t("config.reset-config-msg-l1")}${this.$t("config.reset-config-msg-l2")}\n\n${this.$t("config.reset-config-msg-l3")}`,t=confirm(e);t&&(localStorage.clear(),this.$toasted.show(this.$t("config.data-cleared-msg")),setTimeout(()=>{location.reload(!0)},1900))},downloadConfigFile(e,t){const a=document.createElement("a");a.setAttribute("href","data:text/plain;charset=utf-8, "+encodeURIComponent(t)),a.setAttribute("download",e),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a)},initiateStntaxHighlighter(){je.a.registerLanguage("yaml",Pe.a);const e=je.a.highlight(this.jsonParser(this.config),{language:"yaml"}).value;document.getElementById("conf-yaml").innerHTML=e},getLanguage(){const e=ie();return e?`${e.flag} ${e.name}`:""}},mounted(){this.initiateStntaxHighlighter()}},ua=_a,da=(a("a2fe"),a("1d47"),Object(v["a"])(ua,Ae,Ne,!1,null,"69f09168",null)),ma=da.exports,ha=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"cloud-backup-restore-wrapper"},[a("div",{staticClass:"section intro"},[a("h2",[e._v(e._s(e.$t("cloud-sync.title")))]),a("p",{staticClass:"intro"},[e._v(" "+e._s(e.$t("cloud-sync.intro-l1"))+" "),a("br"),a("br"),e._v(" "+e._s(e.$t("cloud-sync.intro-l2"))+" "),a("br"),e._v(" "+e._s(e.$t("cloud-sync.intro-l3"))+" "),a("a",{attrs:{href:"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md"}},[e._v("docs")])])]),a("div",{staticClass:"section backup-section"},[(e.backupId,a("h3",[e._v(e._s(e.$t("cloud-sync.backup-title-setup")))])),a("Input",{attrs:{name:"backup-password",label:e.backupId?e.$t("cloud-sync.password-label-update"):e.$t("cloud-sync.password-label-setup"),layout:"vertical",type:"password"},model:{value:e.backupPassword,callback:function(t){e.backupPassword=t},expression:"backupPassword"}}),a("Button",{attrs:{click:e.checkPass},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(" "+e._s(e.backupId?e.$t("cloud-sync.backup-button-update"):e.$t("cloud-sync.backup-button-setup"))+" ")]},proxy:!0},{key:"icon",fn:function(){return[a("IconBackup")]},proxy:!0}])}),e.backupId?a("div",{staticClass:"results-view"},[a("span",{staticClass:"backup-id-label"},[e._v(e._s(e.$t("cloud-sync.backup-id-label"))+": ")]),a("pre",{staticClass:"backup-id-value"},[e._v(e._s(e.backupId))]),a("span",{staticClass:"backup-id-note"},[e._v(e._s(e.$t("cloud-sync.backup-id-note")))])]):e._e()],1),a("div",{staticClass:"section restore-section"},[a("h3",[e._v(e._s(e.$t("cloud-sync.restore-title")))]),a("Input",{attrs:{name:"restore-code",label:e.$t("cloud-sync.restore-id-label")},model:{value:e.restoreCode,callback:function(t){e.restoreCode=t},expression:"restoreCode"}}),a("Input",{attrs:{name:"restore-password",label:e.$t("cloud-sync.restore-password-label"),type:"password"},model:{value:e.restorePassword,callback:function(t){e.restorePassword=t},expression:"restorePassword"}}),a("Button",{attrs:{click:e.restoreBackup},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(e._s(e.$t("cloud-sync.restore-button")))]},proxy:!0},{key:"icon",fn:function(){return[a("IconRestore")]},proxy:!0}])})],1)])},ga=[],pa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"input-container "+e.layout},[e.label?a("label",{attrs:{for:"name"}},[e._v(e._s(e.label))]):e._e(),a("input",{attrs:{type:e.type,name:e.name,id:e.name,placeholder:e.placeholder},domProps:{value:e.value},on:{input:function(t){return e.updateValue(t.target.value)}}})])},fa=[],ba={name:"Input",props:{value:String,label:String,name:String,placeholder:String,type:{default:"text",type:String},layout:{validator:e=>-1!==["horizontal","vertical"].indexOf(e),type:String,default:"vertical"}},methods:{updateValue(e){this.$emit("input",e)}}},ka=ba,wa=(a("2d25"),Object(v["a"])(ka,pa,fa,!1,null,"5df13ed2",null)),va=wa.exports,ya=a("3a1e"),Ca=a.n(ya),Sa=a("e6a4"),Ia=a.n(Sa),xa=a("c198"),Oa=a.n(xa),Ta=a("f8d5"),Ea=a.n(Ta);const $a=$["backupEndpoint"],La=(e,t)=>{const a=JSON.stringify(e),n=Oa.a.encrypt(a,t);return n.toString()},Aa=(e,t)=>Oa.a.decrypt(e,t).toString(Ea.a),Na=e=>Je()(e).toString().slice(0,14),za=(e,t)=>nt.a.post($a,{userData:La(e,t),subHash:Na(t)}),ja=(e,t,a)=>nt.a.put($a,{backupId:a,userData:La(e,t),subHash:Na(t)}),Ma=e=>Object.entries(e).map(e=>e.map(encodeURIComponent).join("=")).join("&"),Pa=(e,t)=>{const a=Ma({backupId:e,subHash:Na(t)}),n=`${$a}/?${a}`;return new Promise((e,a)=>{nt.a.get(n).then(n=>{if(!n.data||n.data.errorMsg)a(n.data.errorMsg||"Error");else{const o=Aa(n.data.userData.userData,t);try{e(JSON.parse(o))}catch(s){a(s)}}})})};var Va={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[$["localStorageKeys"].BACKUP_ID]||""}},components:{Button:kt,Input:va,IconBackup:Ca.a,IconRestore:Ia.a},methods:{restoreBackup(){Pa(this.restoreCode,this.restorePassword).then(e=>{this.restoreFromBackup(e,this.restoreCode)}).catch(e=>{this.showErrorMsg(e)})},checkPass(){const e=localStorage[$["localStorageKeys"].BACKUP_HASH]||void 0;e?e===this.makeHash(this.backupPassword)?this.makeUpdate():this.showErrorMsg(this.$t("cloud-sync.backup-error-password")):this.makeBackup()},makeBackup(){za(this.config,this.backupPassword).then(e=>{e.data&&!e.data.errorMsg&&e.data.backupId?this.updateUiAfterBackup(e.data.backupId,!1):this.showErrorMsg(e.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg(this.$t("cloud-sync.backup-error-unknown"))})},makeUpdate(){ja(this.config,this.backupPassword,this.backupId).then(e=>{e.data&&!e.data.errorMsg&&e.data.backupId?this.updateUiAfterBackup(e.data.backupId,!0):this.showErrorMsg(e.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg(this.$t("cloud-sync.backup-error-unknown"))})},restoreFromBackup(e,t){localStorage.setItem($["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),localStorage.setItem($["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),localStorage.setItem($["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig.theme&&localStorage.setItem($["localStorageKeys"].THEME,e.appConfig.theme),this.setBackupIdLocally(t,this.restorePassword),this.showSuccessMsg(this.$t("cloud-sync.restore-success-msg")),setTimeout(()=>{location.reload()},1500)},updateUiAfterBackup(e,t=!1){this.setBackupIdLocally(e,this.backupPassword),this.showSuccessMsg(`${t?"Update":"Backup"} ${this.$t("cloud-sync.backup-success-msg")}`),this.backupPassword=""},showErrorMsg(e){this.$toasted.show(e,{className:"toast-error"})},showSuccessMsg(e){this.$toasted.show(e,{className:"toast-success"})},makeHash(e){return Je()(e).toString()},setBackupIdLocally(e,t){this.backupId=e;const a=this.makeHash(t);localStorage.setItem($["localStorageKeys"].BACKUP_ID,e),localStorage.setItem($["localStorageKeys"].BACKUP_HASH,a)}}},Ha=Va,Ba=(a("5583"),Object(v["a"])(Ha,ha,ga,!1,null,"079113a8",null)),Da=Ba.exports,Ua=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"language-switcher"},[a("h3",{staticClass:"title"},[e._v(e._s(e.$t("language-switcher.title")))]),a("p",{staticClass:"intro"},[e._v(e._s(e.$t("language-switcher.dropdown-label"))+":")]),a("v-select",{staticClass:"language-dropdown",attrs:{selectOnTab:!0,options:e.availibleLanguages,label:"name",input:e.setLangLocally()},model:{value:e.language,callback:function(t){e.language=t},expression:"language"}}),a("Button",{staticClass:"save-button",attrs:{click:e.saveLanguage,disallow:!e.language}},[e._v(" "+e._s(e.$t("language-switcher.save-button"))+" "),a("SaveConfigIcon")],1),e.language?a("p",[e._v(e._s(e.language.flag)+" "+e._s(e.language.name))]):e._e(),e.$i18n.availableLocales.length<=1?a("p",{staticClass:"sad-times"},[e._v(" There are not currently any additional languages supported, but stay tuned as more are on their way! ")]):e._e()],1)},Ra=[],Ka={name:"LanguageSwitcher",inject:["config"],components:{Button:kt,SaveConfigIcon:vt.a},data(){return{availibleLanguages:Z,language:"",modalName:$["modalNames"].LANG_SWITCHER}},methods:{saveLanguage(){const e=this.language;if(this.checkLocale(e)){localStorage.setItem($["localStorageKeys"].LANGUAGE,e.code),this.setLangLocally();const t=e.flag+" "+`${this.$t("language-switcher.success-msg")} ${e.name}`;this.$toasted.show(t,{className:"toast-success"}),this.$modal.hide(this.modalName)}else this.$toasted.show("Unable to update language",{className:"toast-error"})},checkLocale(e){if(!e||!e.code)return!1;const t=this.$i18n.availableLocales;return t.includes(e.code)},setLangLocally(){this.language&&this.language.code&&(this.$i18n.locale=this.language.code)}}},Fa=Ka,qa=(a("570c"),Object(v["a"])(Fa,Ua,Ra,!1,null,"631f0843",null)),Wa=qa.exports,Ga={name:"ConfigLauncher",data(){return{modalNames:$["modalNames"]}},components:{IconSpanner:Ee.a,IconCloud:Le.a,ConfigContainer:ma,CloudBackupRestore:Da,LanguageSwitcher:Wa},props:{sections:Array,pageInfo:Object,appConfig:Object},methods:{showEditor:function(){this.$modal.show($["modalNames"].CONF_EDITOR),this.$emit("modalChanged",!0)},showCloudModal:function(){this.$modal.show($["modalNames"].CLOUD_BACKUP),this.$emit("modalChanged",!0)},combineConfig(){const e={};return e[$["topLevelConfKeys"].APP_CONFIG]=this.appConfig,e[$["topLevelConfKeys"].PAGE_INFO]=this.pageInfo,e[$["topLevelConfKeys"].SECTIONS]=this.sections,e[$["topLevelConfKeys"].APP_CONFIG].theme=localStorage[$["localStorageKeys"].THEME]||e[$["topLevelConfKeys"].APP_CONFIG].theme,e},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Ja=Ga,Ya=(a("cbc6"),Object(v["a"])(Ja,xe,Oe,!1,null,"4aaf8dc8",null)),Xa=Ya.exports,Za=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeThemeConfigurator,expression:"closeThemeConfigurator"}],staticClass:"theme-selector-section"},[a("div",[a("span",{staticClass:"theme-label"},[e._v(e._s(e.$t("settings.theme-label")))]),a("v-select",{staticClass:"theme-dropdown",attrs:{options:e.themeNames,tabindex:-2},model:{value:e.selectedTheme,callback:function(t){e.selectedTheme=t},expression:"selectedTheme"}})],1),a("IconPalette",{staticClass:"color-button",on:{click:e.openThemeConfigurator}}),e.themeConfiguratorOpen?a("CustomThemeMaker",{attrs:{themeToEdit:e.selectedTheme},on:{closeThemeConfigurator:function(t){return e.closeThemeConfigurator()}}}):e._e()],1)},Qa=[];const en=function(e){console.warn(e)};var tn=en;const an=()=>ne(),nn=e=>{$["mainCssVars"].forEach(e=>{document.documentElement.style.removeProperty("--"+e)});const t=se()[e];t&&Object.keys(t).forEach(e=>{document.documentElement.style.setProperty("--"+e,t[e])})},sn=e=>{const t=document.getElementsByTagName("html")[0];t.hasAttribute("data-theme")&&t.removeAttribute("data-theme"),t.setAttribute("data-theme",e)},on=function(){const e=e=>{const t=document.createElement("link");return t.rel="stylesheet",t.href=e,document.head.appendChild(t),new Promise((e,a)=>{t.onload=t=>{const{sheet:a}=t.target;a.disabled=!0,e(a)},t.onerror=a})},t=(e,t)=>!(!t||"custom"!==t&&!e[t])||(tn(`Theme: '${t||"[not selected]"}' does not exist.`),!1),a=(e,a)=>{if(t(e,a)){const t=e;Object.keys(e).forEach(e=>{t[e].disabled=e!==a})}},n={};return{add(t,a){return e(a).then(e=>{n[t]=e})},set theme(e){a(n,e)},get theme(){return Object.keys(n).find(e=>!n[e].disabled)}}};var rn=a("4400"),ln=a.n(rn),cn={name:"ThemeSelector",props:{externalThemes:Object,confTheme:String,userThemes:Array},components:{CustomThemeMaker:Ot,IconPalette:ln.a},watch:{selectedTheme(e){this.updateTheme(e)}},data(){return{selectedTheme:this.getInitialTheme(),builtInThemes:[...L.a.builtInThemes,...this.userThemes],themeHelper:new on,themeConfiguratorOpen:!1,ApplyLocalTheme:sn,ApplyCustomVariables:nn}},computed:{themeNames:function(){const e=Object.keys(this.externalThemes),t=["custom"];return[...e,...this.builtInThemes,...t]}},created(){const e=Object.keys(this.externalThemes).map(e=>this.themeHelper.add(e,this.externalThemes[e]));this.isThemeLocal(this.selectedTheme)?this.updateTheme(this.selectedTheme):this.selectedTheme!==L.a.theme&&Promise.all(e).then(()=>{this.updateTheme(this.selectedTheme)})},methods:{getInitialTheme(){return localStorage[$["localStorageKeys"].THEME]||this.confTheme||L.a.theme},isThemeLocal(e){return this.builtInThemes.includes(e)},openThemeConfigurator(){this.$emit("modalChanged",!0),this.themeConfiguratorOpen=!0},closeThemeConfigurator(){this.themeConfiguratorOpen=!1},updateTheme(e){"Deafault"===e?(this.resetToDefault(),this.themeHelper.theme="Deafault"):this.isThemeLocal(e)?this.ApplyLocalTheme(e):this.themeHelper.theme=e,this.ApplyCustomVariables(e),localStorage.setItem($["localStorageKeys"].THEME,e)},resetToDefault(){document.getElementsByTagName("html")[0].removeAttribute("data-theme")}}},_n=cn,un=(a("4ade"),Object(v["a"])(_n,Za,Qa,!1,null,null,null)),dn=un.exports,mn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("span",{staticClass:"options-label"},[e._v(e._s(e.$t("settings.layout-label")))]),a("div",{staticClass:"display-options"},[a("IconDeafault",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-auto")),expression:"tooltip($t('settings.layout-auto'))"}],class:"layout-icon "+("auto"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("auto")}}}),a("IconHorizontal",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-horizontal")),expression:"tooltip($t('settings.layout-horizontal'))"}],class:"layout-icon "+("horizontal"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("horizontal")}}}),a("IconVertical",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-vertical")),expression:"tooltip($t('settings.layout-vertical'))"}],class:"layout-icon "+("vertical"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("vertical")}}})],1)])},hn=[],gn=a("c715"),pn=a.n(gn),fn=a("570d"),bn=a.n(fn),kn=a("f9d7"),wn=a.n(kn),vn={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:pn.a,IconHorizontal:bn.a,IconVertical:wn.a},methods:{updateDisplayLayout(e){this.$emit("layoutUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},yn=vn,Cn=(a("5dbe"),Object(v["a"])(yn,mn,hn,!1,null,"b3a6111c",null)),Sn=Cn.exports,In=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("span",{staticClass:"options-label"},[e._v(e._s(e.$t("settings.item-size-label")))]),a("div",{staticClass:"display-options"},[a("IconSmall",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-small")),expression:"tooltip($t('settings.item-size-small'))"}],class:"layout-icon "+("small"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("small")}}}),a("IconMedium",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-medium")),expression:"tooltip($t('settings.item-size-medium'))"}],class:"layout-icon "+("medium"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("medium")}}}),a("IconLarge",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-large")),expression:"tooltip($t('settings.item-size-large'))"}],class:"layout-icon "+("large"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("large")}}})],1)])},xn=[],On=a("d8e8"),Tn=a.n(On),En=a("7075"),$n=a.n(En),Ln=a("922c"),An=a.n(Ln),Nn={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:Tn.a,IconMedium:$n.a,IconLarge:An.a},methods:{updateIconSize(e){this.$emit("iconSizeUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},zn=Nn,jn=(a("89e2"),Object(v["a"])(zn,In,xn,!1,null,"1ff45660",null)),Mn=jn.exports,Pn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticClass:"display-options"},[a("IconLogout",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Sign Out"),expression:"tooltip('Sign Out')"}],staticClass:"layout-icon",attrs:{tabindex:"-2"},on:{click:function(t){return e.logout()}}})],1)])},Vn=[],Hn=a("0123"),Bn=a.n(Hn),Dn={name:"AppButtons",components:{IconLogout:Bn.a},methods:{logout(){et(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},500)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Un=Dn,Rn=(a("0e1b"),Object(v["a"])(Un,Pn,Vn,!1,null,"d69dca9c",null)),Kn=Rn.exports,Fn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide-fade"}},[e.shouldHide?e._e():a("div",{staticClass:"kb-sc-info"},[a("h5",[e._v("There are keyboard shortcuts! ⌨️🙌")]),a("div",{staticClass:"close",attrs:{title:"Hide forever [Esc]"},on:{click:function(t){return e.hideWelcomeHelper()}}},[e._v("x")]),a("p",{attrs:{title:"Press [Esc] to hide this tip forever. See there's even a shortcut for that! 🚀"}},[e._v(" Just start typing to filter. Then use the tab key to cycle through results, and press enter to launch the selected item, or alt + enter to open in a modal. You can hit Esc at anytime to clear the search. Easy 🥳 ")])])])},qn=[],Wn={name:"KeyboardShortcutInfo",data(){return{shouldHide:!0,timeDelay:3e3}},methods:{shouldHideWelcomeMessage(){return!!localStorage[$["localStorageKeys"].HIDE_WELCOME_BANNER]},hideWelcomeHelper(){this.shouldHide=!0,localStorage.setItem($["localStorageKeys"].HIDE_WELCOME_BANNER,!0),window.removeEventListener("keyup",this.keyPressEvent)},keyPressEvent(e){27===e.keyCode&&this.hideWelcomeHelper()}},mounted(){const e=this.shouldHideWelcomeMessage();e?this.$destroy():(window.setTimeout(()=>{this.shouldHide=e},this.timeDelay),window.addEventListener("keyup",this.keyPressEvent))}},Gn=Wn,Jn=(a("9517"),Object(v["a"])(Gn,Fn,qn,!1,null,"c5f17d9a",null)),Yn=Jn.exports,Xn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.modalName,resizable:!0,width:"40%",height:"60%",classes:"dashy-modal"}},[a("div",{staticClass:"about-modal"},[a("router-link",{attrs:{to:"/about"}},[a("h2",[e._v("Dashy")])]),a("AppVersion"),a("h3",[e._v("Service Worker Status")]),a("code",{domProps:{innerHTML:e._s(e.serviceWorkerInfo)}},[e._v(e._s(e.serviceWorkerInfo))]),a("br"),a("h3",[e._v("Config Validation Status")]),a("code",[e._v(e._s(e.getIsConfigValidStatus()))]),a("br"),a("h3",[e._v("Help & Support")]),a("ul",[a("li",[a("a",{attrs:{href:"https://git.io/JnqPR"}},[e._v("Report a Bug")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxL"}},[e._v("Request a Feature")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxs"}},[e._v("Ask a Question")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxn"}},[e._v("Leave Feedback")])]),a("li",[a("a",{attrs:{href:"https://github.com/Lissy93/dashy/discussions"}},[e._v("Join the Discussion")])])]),a("p",{staticClass:"small-note"},[e._v("Please include the following info in your bug report:")]),a("a",{on:{click:function(t){e.showInfo=!e.showInfo}}},[e._v(e._s(e.showInfo?"Hide":"Show")+" system info")]),e.showInfo?a("div",{staticClass:"system-info"},[a("h4",[e._v("System Info")]),a("code",[a("b",[e._v("Dashy Version:")]),e._v(" V "+e._s(e.appVersion))]),a("br"),a("code",[a("b",[e._v("Browser:")]),e._v(" "+e._s(e.systemInfo.browser))]),a("br"),a("code",[a("b",[e._v("Is Mobile?")]),e._v(" "+e._s(e.systemInfo.isMobile?"Yes":"No"))]),a("br"),a("code",[a("b",[e._v("OS:")]),e._v(" "+e._s(e.systemInfo.os))]),a("br")]):e._e(),a("h3",[e._v("About")]),a("p",{staticClass:"about-text"},[e._v(" Documentation and Source Code available on "),a("a",{attrs:{href:"https://github.com/lissy93/dashy"}},[e._v("GitHub")])]),a("h3",[e._v("License")]),a("code",[e._v("Licensed under MIT X11. Copyright © 2021")])],1)])},Zn=[],Qn={name:"AppInfoModal",components:{AppVersion:Xt},data(){return{modalName:$["modalNames"].ABOUT_APP,appVersion:"1.4.4",systemInfo:this.getSystemInfo(),serviceWorkerInfo:"Checking...",showInfo:!1}},mounted(){setTimeout(()=>{this.serviceWorkerInfo=this.getSwStatus()},100)},methods:{getIsConfigValidStatus(){const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.4.4",BASE_URL:"/"}).VUE_APP_CONFIG_VALID;return void 0===e?"Config validation status is missing":"Config is "+(e?"Valid":"Invalid")},getSwStatus(){const e=sessionStorage[$["sessionStorageKeys"].SW_STATUS],t=e?JSON.parse(e):{};let a="";return t.registered&&(a+="Service worker registered
"),t.ready&&(a+="Dashy is being served from service worker
"),t.cached&&(a+="Content has been cached for offline use
"),t.updateFound&&(a+="New content is downloading
"),t.updated&&(a+="New content is available; please refresh
"),t.offline&&(a+="No internet connection found. App is running in offline mode
"),t.error&&(a+="Error during service worker registration
"),t.devMode&&(a+="App running in dev mode, no need for service worker
"),0===a.length&&(a+="No service worker info available"),a},getSystemInfo(){const{userAgent:e}=navigator;let t="Unknown";-1!==e.indexOf("Win")?t="Windows":-1!==e.indexOf("Mac")?t="MacOS":-1!==e.indexOf("Android")?t="Android":-1!==e.indexOf("iPhone")?t="iOS":-1!==e.indexOf("Linux")?t="Linux":-1!==e.indexOf("X11")&&(t="UNIX");let a="Unknown";a=-1!==e.indexOf("Opera")?"Opera":-1!==e.indexOf("Chrome")?"Chrome":-1!==e.indexOf("Safari")?"Safari":-1!==e.indexOf("Firefox")?"Firefox":-1!==e.indexOf("MSIE")?"IE":"Unknown";const n=!!navigator.userAgent.match(/iphone|android|blackberry/gi)||!1;return{os:t,browser:a,userAgent:e,isMobile:n}}}},es=Qn,ts=(a("d636"),Object(v["a"])(es,Xn,Zn,!1,null,"77ccbcae",null)),as=ts.exports,ns=a("5703"),ss=a.n(ns),os=a("5f32"),is=a.n(os),rs={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,externalThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:Ie,ConfigLauncher:Xa,ThemeSelector:dn,LayoutSelector:Sn,ItemSizeSelector:Mn,AppButtons:Kn,KeyboardShortcutInfo:Yn,AppInfoModal:as,IconOpen:ss.a,IconClose:is.a},inject:["visibleComponents"],methods:{userIsTypingSomething(e){this.$emit("user-is-searchin",e)},clearFilterInput(){this.$refs.SearchBar.clearFilterInput()},updateDisplayLayout(e){this.$emit("change-display-layout",e)},updateIconSize(e){this.$emit("change-icon-size",e)},modalChanged(e){this.$emit("change-modal-visibility",e)},getInitialTheme(){return this.appConfig.theme||""},logout(){et(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},100)},isUserLoggedIn(){return!!localStorage[$["localStorageKeys"].USERNAME]},getUserThemes(){const e=this.appConfig.cssThemes||[];return"string"===typeof e?[e]:e},toggleSettingsVisibility(){this.settingsVisible=!this.settingsVisible,localStorage.setItem($["localStorageKeys"].HIDE_SETTINGS,this.settingsVisible)},getSettingsVisibility(){return JSON.parse(localStorage[$["localStorageKeys"].HIDE_SETTINGS]||(this.visibleComponents||$["visibleComponents"]).settings)}},data(){return{settingsVisible:this.getSettingsVisibility(),searchVisible:(this.visibleComponents||$["visibleComponents"]).searchBar}}},ls=rs,cs=(a("fa2b"),Object(v["a"])(ls,fe,be,!1,null,"66dc3458",null)),_s=cs.exports,us=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("Collapsable",{attrs:{title:e.title,icon:e.icon,uniqueKey:e.groupId,collapsed:e.displayData.collapsed,cols:e.displayData.cols,rows:e.displayData.rows,color:e.displayData.color,customStyles:e.displayData.customStyles}},[!e.items||e.items.length<1?a("div",{staticClass:"no-items"},[e._v(" No Items to Show Yet ")]):a("div",{class:"there-are-items "+(e.isGridLayout?"item-group-grid":""),style:e.gridStyle},[e._l(e.items,(function(t,n){return a("Item",{key:n+"_"+e.makeId(t.title),attrs:{id:n+"_"+e.makeId(t.title),url:t.url,title:t.title,description:t.description,icon:t.icon,target:t.target,color:t.color,backgroundColor:t.backgroundColor,statusCheckUrl:t.statusCheckUrl,statusCheckHeaders:t.statusCheckHeaders,itemSize:e.newItemSize,hotkey:t.hotkey,enableStatusCheck:e.shouldEnableStatusCheck(t.statusCheck),statusCheckInterval:e.getStatusCheckInterval()},on:{itemClicked:function(t){return e.$emit("itemClicked")},triggerModal:e.triggerModal}})})),a("div",{ref:"modalContainer"})],2),a("IframeModal",{ref:"iframeModal-"+e.groupId,attrs:{name:"iframeModal-"+e.groupId},on:{closed:function(t){return e.$emit("itemClicked")},modalChanged:e.modalChanged}})],1)},ds=[],ms=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"item-wrapper"},[a("a",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.getTooltipOptions(),expression:"getTooltipOptions()"}],class:"item "+(e.icon?"":"short")+" size-"+e.itemSize,style:"--open-icon: "+e.getUnicodeOpeningIcon()+"; "+e.customStyles,attrs:{href:"modal"!==e.target?e.url:"#",target:"newtab"===e.target?"_blank":"",rel:"noopener noreferrer",tabindex:"0",id:"link-"+e.id},on:{click:e.itemOpened,mouseup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:e.openContextMenu.apply(null,arguments)},contextmenu:function(e){e.preventDefault()}}},[a("div",{class:"tile-title "+(e.icon?"":"bounce"),attrs:{id:"tile-"+e.id}},[a("span",{staticClass:"text"},[e._v(e._s(e.title))]),a("p",{staticClass:"description"},[e._v(e._s(e.description))])]),a("Icon",{staticClass:"bounce",style:e.customStyles,attrs:{icon:e.icon,url:e.url,size:e.itemSize,color:e.color}}),a("ItemOpenMethodIcon",{staticClass:"opening-method-icon",attrs:{isSmall:!e.icon||"small"===e.itemSize,openingMethod:e.target,position:"medium"===e.itemSize?"bottom right":"top right",hotkey:e.hotkey}}),e.enableStatusCheck?a("StatusIndicator",{staticClass:"status-indicator",attrs:{statusSuccess:e.statusResponse?e.statusResponse.successStatus:void 0,statusText:e.statusResponse?e.statusResponse.message:void 0}}):e._e()],1),a("ContextMenu",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeContextMenu,expression:"closeContextMenu"}],attrs:{show:e.contextMenuOpen,posX:e.contextPos.posX,posY:e.contextPos.posY,id:"context-menu-"+e.id},on:{contextItemClick:e.contextItemClick}})],1)},hs=[],gs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"item-icon"},["font-awesome"===e.iconType?a("i",{class:e.icon+" "+e.size}):"emoji"===e.iconType?a("i",{class:"emoji-icon "+e.size},[e._v(e._s(e.getEmoji(e.iconPath)))]):e.icon?a("img",{class:"tile-icon "+e.size+" "+(e.broken?"broken":""),attrs:{src:e.iconPath},on:{error:e.imageNotFound}}):e._e(),e.broken?a("BrokenImage",{staticClass:"missing-image"}):e._e()],1)},ps=[],fs=a("9635"),bs=a.n(fs),ks=a("e0a2"),ws=a.n(ks),vs=a("492d"),ys={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:bs.a},computed:{iconType:function(){return this.determineImageType(this.icon)},iconPath:function(){return this.getIconPath(this.icon,this.url)}},data(){return{broken:!1}},methods:{isUrl(e){const t=new RegExp(/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-/]))?/);return t.test(e)},isImage(e){const t=/(?:\.([^.]+))?$/,a=["png","jpg"],n=t.exec(e);return n.length>=1&&a.includes(n[1])},isEmoji(e){return ws.a.test(e)&&e.match(/./gu).length?{isEmoji:!0,emojiType:"glyph"}:new RegExp(/^:.*:$/).test(e)?{isEmoji:!0,emojiType:"shortcode"}:"U+"===e.substring(0,2)&&7===e.length?{isEmoji:!0,emojiType:"unicode"}:{isEmoji:!1,emojiType:""}},getEmoji(e){const{emojiType:t}=this.isEmoji(e);if("shortcode"===t){if(vs[e])return vs[e]}else if("unicode"===t)return String.fromCodePoint(parseInt(e.substr(2),16));return e},getFavicon(e){if(this.shouldUseDefaultFavicon(e)){const t=e.split("/");if(t.length>=2)return`${t[0]}/${t[1]}/${t[2]}/favicon.ico`}else if(e.includes("http")){const t=this.getHostName(e),a=this.config.appConfig.faviconApi||$["faviconApi"],n=$["faviconApiEndpoints"][a];return n.replace("$URL",t)}return""},shouldUseDefaultFavicon(e){const t=/(127\.)|(192\.168\.)|(10\.)|(172\.1[6-9]\.)|(172\.2[0-9]\.)|(172\.3[0-1]\.)|(::1$)|([fF][cCdD])|(localhost)/;return t.test(e)||"local"===this.config.appConfig.faviconApi},getLocalImagePath(e){return"/item-icons/"+e},getGenerativeIcon(e){return`https://ipsicon.io/${this.getHostName(e)}.svg`},getIconPath(e,t){switch(this.determineImageType(e)){case"url":return e;case"img":return this.getLocalImagePath(e);case"favicon":return this.getFavicon(t);case"generative":return this.getGenerativeIcon(t);case"svg":return e;case"emoji":return e;default:return""}},determineImageType(e){let t="";return t=e?e.endsWith(".svg")?"svg":this.isUrl(e)?"url":this.isImage(e)?"img":e.includes("fa-")?"font-awesome":"favicon"===e?"favicon":"generative"===e?"generative":this.isEmoji(e).isEmoji?"emoji":"none":"none",t},getHostName(e){try{return new URL(e).hostname}catch(t){return e}},imageNotFound(){this.broken=!0,tn(`The path to '${this.icon}' could not be resolved`)}}},Cs=ys,Ss=(a("de40"),Object(v["a"])(Cs,gs,ps,!1,null,null,null)),Is=Ss.exports,xs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{class:e.makeClass(e.position,e.isSmall,e.isTransparent)},["newtab"===e.openingMethod?a("NewTabOpenIcon"):"sametab"===e.openingMethod?a("SameTabOpenIcon"):"modal"===e.openingMethod?a("IframeOpenIcon"):"workspace"===e.openingMethod?a("WorkspaceOpenIcon"):e._e()],1),e.hotkey?a("div",{class:"hotkey-denominator "+e.makeClass(e.position,e.isSmall,e.isTransparent)},[e._v(" "+e._s(e.hotkey)+" ")]):e._e()])},Os=[],Ts=a("237e"),Es=a.n(Ts),$s=a("2352"),Ls=a.n($s),As=a("1946"),Ns=a.n(As),zs=a("3b49"),js=a.n(zs),Ms={name:"ItemOpenMethodIcon",props:{openingMethod:String,isSmall:Boolean,position:String,isTransparent:Boolean,hotkey:Number},methods:{makeClass(e="top right",t=!1,a=!1){return`opening-method-icon\n ${e||"top right"}\n ${t?"short":""}\n ${a?"transparent":""}`}},components:{NewTabOpenIcon:Es.a,SameTabOpenIcon:Ls.a,IframeOpenIcon:Ns.a,WorkspaceOpenIcon:js.a}},Ps=Ms,Vs=(a("b5c9"),Object(v["a"])(Ps,xs,Os,!1,null,"b0684bc4",null)),Hs=Vs.exports,Bs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:{content:e.statusText||e.otherStatusText,classes:["status-tooltip","tip-"+e.color()]},expression:"{\n content: statusText || otherStatusText, classes: ['status-tooltip', `tip-${color()}`] }"}],staticClass:"indicator",on:{click:function(t){return e.showToast()}}},[a("div",{class:"dot dot-"+e.color()},[e._m(0)])])},Ds=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",[a("span")])}],Us={name:"StatusIndicator",props:{statusText:String,statusSuccess:Boolean},methods:{color(){switch(this.statusSuccess){case void 0:return new Date-this.startTime>2e3?"grey":"yellow";case!0:return"green";default:return"red"}}},data(){return{startTime:new Date,otherStatusText:"Checking..."}},mounted(){setTimeout(()=>{this.statusText||(this.otherStatusText="Request timed out")},2e3)}},Rs=Us,Ks=(a("e697"),a("45d4"),Object(v["a"])(Rs,Bs,Ds,!1,null,"46972ad8",null)),Fs=Ks.exports,qs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide"}},[e.show&&e.menuEnabled?a("div",{staticClass:"context-menu",style:e.posX&&e.posY?"top:"+e.posY+"px;left:"+e.posX+"px;":""},[a("ul",[a("li",{on:{click:function(t){return e.launch("sametab")}}},[a("SameTabOpenIcon"),a("span",[e._v("Open in Current Tab")])],1),a("li",{on:{click:function(t){return e.launch("newtab")}}},[a("NewTabOpenIcon"),a("span",[e._v("Open in New Tab")])],1),a("li",{on:{click:function(t){return e.launch("modal")}}},[a("IframeOpenIcon"),a("span",[e._v("Open in Pop-Up Modal")])],1),a("li",{on:{click:function(t){return e.launch("workspace")}}},[a("WorkspaceOpenIcon"),a("span",[e._v("Open in Workspace View")])],1)])]):e._e()])},Ws=[],Gs={name:"ContextMenu",inject:["config"],components:{SameTabOpenIcon:Ls.a,NewTabOpenIcon:Es.a,IframeOpenIcon:Ns.a,WorkspaceOpenIcon:js.a},props:{posX:Number,posY:Number,show:Boolean},data(){return{menuEnabled:!this.isMenuDisabled()}},methods:{launch(e){this.$emit("contextItemClick",e)},isMenuDisabled(){return!(!this.config||!this.config.appConfig)&&!!this.config.appConfig.disableContextMenu}}},Js=Gs,Ys=(a("6850"),Object(v["a"])(Js,qs,Ws,!1,null,null,null)),Xs=Ys.exports,Zs={name:"Item",props:{id:String,title:String,subtitle:String,description:String,icon:String,color:String,backgroundColor:String,url:String,hotkey:Number,target:{type:String,default:"newtab",validator:e=>-1!==["newtab","sametab","modal","workspace"].indexOf(e)},itemSize:String,enableStatusCheck:Boolean,statusCheckHeaders:Object,statusCheckUrl:String,statusCheckInterval:Number},data(){return{contextMenuOpen:!1,getId:this.id,customStyles:{color:this.color,background:this.backgroundColor},statusResponse:void 0,contextPos:{posX:void 0,posY:void 0}}},components:{Icon:Is,ItemOpenMethodIcon:Hs,StatusIndicator:Fs,ContextMenu:Xs},methods:{itemOpened(e){e.altKey||"modal"===this.target?(e.preventDefault(),this.$emit("triggerModal",this.url)):this.$emit("itemClicked")},openContextMenu(e){this.contextMenuOpen=!this.contextMenuOpen,e&&window&&(this.contextPos={posX:e.clientX+window.pageXOffset,posY:e.clientY+window.pageYOffset})},closeContextMenu(){this.contextMenuOpen=!1},getTooltipOptions(){const e=this.hotkey?`\nPress '${this.hotkey}' to launch`:"";return{disabled:!this.description,content:this.description+e,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:this.statusResponse?"left":"auto",delay:{show:600,hide:200},classes:"item-description-tooltip"}},getUnicodeOpeningIcon(){switch(this.target){case"newtab":return'"\\f360"';case"sametab":return'"\\f24d"';case"modal":return'"\\f2d0"';default:return'"\\f054"'}},checkWebsiteStatus(){this.statusResponse=void 0;const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.4.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=this.statusCheckUrl||this.url,a=this.statusCheckHeaders||{},n=`${e}/ping?url=${t}`;nt.a.get(n,{headers:a}).then(e=>{e.data&&(this.statusResponse=e.data)}).catch(()=>{this.statusResponse={statusText:"Failed to make request",statusSuccess:!1}})},contextItemClick(e){const{url:t}=this;switch(this.contextMenuOpen=!1,e){case"newtab":window.open(t,"_blank");break;case"sametab":window.open(t,"_self");break;case"modal":this.$emit("triggerModal",t);break;case"workspace":hi.push({name:"workspace",query:{url:t}});break;default:window.open(t,"_blank")}}},mounted(){this.enableStatusCheck&&this.checkWebsiteStatus(),this.statusCheckInterval>0&&setInterval(this.checkWebsiteStatus,1e3*this.statusCheckInterval)}},Qs=Zs,eo=(a("826e"),a("f719"),Object(v["a"])(Qs,ms,hs,!1,null,null,null)),to=eo.exports,ao=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"collapsable "+e.checkSpanNum(e.cols,"col")+" "+e.checkSpanNum(e.rows,"row"),style:(e.color?"background: "+e.color:"")+"; "+e.sanitizeCustomStyles(e.customStyles)+";"},[a("input",{staticClass:"toggle",attrs:{id:"collapsible-"+e.uniqueKey,type:"checkbox",tabIndex:"-1"},domProps:{checked:e.getCollapseState()},on:{change:e.collapseChanged}}),a("label",{staticClass:"lbl-toggle",attrs:{for:"collapsible-"+e.uniqueKey,tabindex:"-1"}},[e.icon?a("Icon",{staticClass:"section-icon",attrs:{icon:e.icon,size:"small",url:e.title}}):e._e(),a("h3",[e._v(e._s(e.title))])],1),a("div",{staticClass:"collapsible-content"},[a("div",{staticClass:"content-inner"},[e._t("default")],2)])])},no=[],so={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:Is},methods:{checkSpanNum(e,t){const a=4;let n=/^\d*$/.test(e)?parseInt(e,10):1;return n=n>a?a:n,`${t}-${n}`},sanitizeCustomStyles(e){return e?e.replace(/[^a-zA-Z0-9- :;.]/g,""):""},initialiseStorage(){const e=()=>localStorage.setItem($["localStorageKeys"].COLLAPSE_STATE,JSON.stringify({}));localStorage[$["localStorageKeys"].COLLAPSE_STATE]||e();try{JSON.parse(localStorage[$["localStorageKeys"].COLLAPSE_STATE])}catch{e()}return JSON.parse(localStorage[$["localStorageKeys"].COLLAPSE_STATE])},getCollapseState(){const e=this.initialiseStorage();let t=!this.collapsed;return void 0!==e[this.uniqueKey]&&(t=e[this.uniqueKey]),t},setCollapseState(e,t){const a=JSON.parse(localStorage[$["localStorageKeys"].COLLAPSE_STATE]);a[e]=t,localStorage.setItem($["localStorageKeys"].COLLAPSE_STATE,JSON.stringify(a))},collapseChanged(e){this.initialiseStorage(),this.setCollapseState(this.uniqueKey.toString(),e.srcElement.checked)}}},oo=so,io=(a("eb58"),Object(v["a"])(oo,ao,no,!1,null,"ac1beaa4",null)),ro=io.exports,lo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.name,resizable:!0,width:"80%",height:"80%",classes:"dashy-modal"},on:{closed:function(t){return e.modalClosed()}}},[a("div",{attrs:{slot:"top-right"},on:{click:function(t){return e.hide()}},slot:"top-right"},[e._v("Close")]),a("a",{staticClass:"close-button",attrs:{title:"Close"},on:{click:function(t){return e.hide()}}},[e._v("x")]),e.url?a("iframe",{staticClass:"frame",attrs:{src:e.url},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.close.apply(null,arguments)}}}):a("div",{staticClass:"no-url"},[e._v("No URL Specified")])])},co=[],_o={name:"IframeModal",props:{name:String},data:()=>({url:"#"}),methods:{show(e){this.url=e,this.$modal.show(this.name),this.$emit("modalChanged",!0)},hide(){this.$modal.hide(this.name)},modalClosed(){this.$emit("modalChanged",!1)}}},uo=_o,mo=(a("eda6"),Object(v["a"])(uo,lo,co,!1,null,null,null)),ho=mo.exports,go={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:ro,Item:to,IframeModal:ho},computed:{newItemSize(){return this.displayData.itemSize||this.itemSize},isGridLayout(){return"grid"===this.displayData.sectionLayout||!(!this.displayData.itemCountX&&!this.displayData.itemCountY)},gridStyle(){let e="";return e+=this.displayData.itemCountX?`grid-template-columns: repeat(${this.displayData.itemCountX}, 1fr);`:"",e+=this.displayData.itemCountY?`grid-template-rows: repeat(${this.displayData.itemCountY}, 1fr);`:"",e}},methods:{makeId(e){return e.replace(/\s+/g,"-").replace(/[^a-zA-Z ]/g,"").toLowerCase()},triggerModal(e){this.$refs["iframeModal-"+this.groupId].show(e)},modalChanged(e){this.$emit("change-modal-visibility",e)},shouldEnableStatusCheck(e){const t=this.config.appConfig.statusCheck||!1;return void 0!==e?e:t},getStatusCheckInterval(){let e=this.config.appConfig.statusCheckInterval;return e?(e>60&&(e=60),e<1&&(e=0),e):0}}},po=go,fo=(a("196f"),Object(v["a"])(po,us,ds,!1,null,"cce3e8c4",null)),bo=fo.exports,ko={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:_s,ItemGroup:bo},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{layoutOrientation:{get(){return this.appConfig.layout||L.a.layout},set:function(e){localStorage.setItem($["localStorageKeys"].LAYOUT_ORIENTATION,e),this.layout=e}},iconSize:{get(){return this.appConfig.iconSize||L.a.iconSize},set:function(e){localStorage.setItem($["localStorageKeys"].ICON_SIZE,e),this.itemSizeBound=e}}},methods:{checkTheresData(e){const t=localStorage[$["localStorageKeys"].CONF_SECTIONS];return e&&e.length>=1||t&&t.length>=1},getSections(e){const t=localStorage[$["localStorageKeys"].CONF_SECTIONS];if(t){const e=JSON.parse(t);if(e.length>=1)return e}return e},searching(e){this.searchValue=e||""},finishedSearching(){this.$refs.filterComp.clearFilterInput()},getDomainFromUrl(e){if(!e)return"";const t=/^(?:https?:\/\/)?(?:w{3}\.)?([a-z\d.-]+)\.(?:[a-z.]{2,10})(?:[/\w.-]*)*/,a=e.match(t);return a?a[1]:""},filterTiles(e){return e?e.filter(e=>{const{title:t,description:a,provider:n,url:s}=e,o=this.searchValue.toLowerCase();return t&&t.toLowerCase().includes(o)||n&&n.toLowerCase().includes(o)||a&&a.toLowerCase().includes(o)||this.getDomainFromUrl(s).includes(o)}):[]},getDisplayData(e){return e.displayData?e.displayData:{}},setLayoutOrientation(e){this.layoutOrientation=e},setItemSize(e){this.iconSize=e},updateModalVisibility(e){this.modalOpen=e},getExternalCSSLinks(){const e={};if(this.appConfig&&this.appConfig.externalStyleSheet){const t=this.appConfig.externalStyleSheet;Array.isArray(t)?t.forEach((t,a)=>{e["External Stylesheet "+(a+1)]=t}):e["External Stylesheet"]=this.appConfig.externalStyleSheet}return e.Deafault="#",e},checkIfFontAwesomeNeeded(){let e=!1;if(!this.sections)return!1;this.sections.forEach(t=>{t.icon&&t.icon.includes("fa-")&&(e=!0),t.items.forEach(t=>{t.icon&&t.icon.includes("fa-")&&(e=!0)})});const t=localStorage[$["localStorageKeys"].THEME];return["material","material-dark"].includes(t)&&(e=!0),e},initiateFontAwesome(){if(this.appConfig.enableFontAwesome||this.checkIfFontAwesomeNeeded()){const e=document.createElement("script"),t=this.appConfig.fontAwesomeKey||L.a.fontAwesomeKey;e.setAttribute("src",`https://kit.fontawesome.com/${t}.js`),document.head.appendChild(e)}},checkIfResults(){if(this.sections){let e=!0;return this.sections.forEach(t=>{this.filterTiles(t.items).length>0&&(e=!1)}),e}return!1},getBackgroundImage(){return this.appConfig&&this.appConfig.backgroundImg?`background: url('${this.appConfig.backgroundImg}');background-size:cover;`:""}},mounted(){this.initiateFontAwesome(),this.layout=this.layoutOrientation,this.itemSizeBound=this.iconSize}},wo=ko,vo=(a("cea5"),Object(v["a"])(wo,ge,pe,!1,null,"5ea67b60",null)),yo=vo.exports,Co=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"login-page"},[a("form",{staticClass:"login-form"},[a("h2",{staticClass:"login-title"},[e._v(e._s(e.$t("login.title")))]),a("Input",{staticClass:"login-field username",attrs:{type:"text",label:e.$t("login.username-label")},model:{value:e.username,callback:function(t){e.username=t},expression:"username"}}),a("Input",{staticClass:"login-field password",attrs:{type:"password",label:e.$t("login.password-label")},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}),a("label",[e._v(e._s(e.$t("login.remember-me-label")))]),a("v-select",{staticClass:"login-time-dropdown",attrs:{selectOnTab:!0,options:e.dropDownMenu},model:{value:e.timeout,callback:function(t){e.timeout=t},expression:"timeout"}}),a("Button",{staticClass:"login-button",attrs:{click:e.submitLogin}},[e._v(" "+e._s(e.$t("login.login-button"))+" ")]),a("transition",{attrs:{name:"bounce"}},[a("p",{directives:[{name:"show",rawName:"v-show",value:e.message,expression:"message"}],class:"login-error-message "+e.status},[e._v(e._s(e.message))])])],1)])},So=[],Io={name:"login",props:{appConfig:Object},data(){return{username:"",password:"",message:"",status:"waiting",timeout:{label:this.$t("login.remember-me-never"),time:0},dropDownMenu:[{label:this.$t("login.remember-me-never"),time:0},{label:this.$t("login.remember-me-hour"),time:144e5},{label:this.$t("login.remember-me-day"),time:864e5},{label:this.$t("login.remember-me-week"),time:6048e5}]}},components:{Button:kt,Input:va},methods:{submitLogin(){const e=this.timeout?this.timeout.time:0,t=Ze(this.username,this.password,this.appConfig.auth||[]);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(Qe(this.username,this.password,e),setTimeout(()=>{hi.push({path:"/"})},250))},setTheme(){const e=localStorage[$["localStorageKeys"].THEME]||L.a.theme;document.getElementsByTagName("html")[0].setAttribute("data-theme",e)}},created(){this.setTheme()}},xo=Io,Oo=(a("206d"),Object(v["a"])(xo,Co,So,!1,null,null,null)),To=Oo.exports,Eo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"work-space"},[a("SideBar",{attrs:{sections:e.sections},on:{"launch-app":e.launchApp}}),a("WebContent",{attrs:{url:e.url}})],1)},$o=[],Lo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("nav",{staticClass:"side-bar"},e._l(e.sections,(function(t,n){return a("div",{key:n},[a("div",{staticClass:"side-bar-item-container",on:{click:function(t){return e.openSection(n)}}},[a("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.name}})],1),a("transition",{attrs:{name:"slide"}},[e.isOpen[n]?a("SideBarSection",{attrs:{items:t.items},on:{"launch-app":e.launchApp}}):e._e()],1)],1)})),0)},Ao=[],No=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip,expression:"tooltip"}],class:"side-bar-item "+(e.icon?"w-icon":"text-only"),on:{click:function(t){return e.itemClicked()}}},[e.icon?a("Icon",{attrs:{icon:e.icon,size:"small",url:e.url}}):a("p",{staticClass:"small-title"},[e._v(e._s(e.title))])],1)},zo=[],jo={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:Is},methods:{itemClicked(){this.url&&this.$emit("launch-app",this.url)}},data(){return{tooltip:{disabled:!this.title,content:this.title,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:"right-start",delay:{show:800,hide:1e3}}}}},Mo=jo,Po=(a("5e61"),Object(v["a"])(Mo,No,zo,!1,null,"d979f4fe",null)),Vo=Po.exports,Ho=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"sub-side-bar"},e._l(e.items,(function(t,n){return a("div",{key:n},[a("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.title,url:t.url},on:{"launch-app":e.launchApp}})],1)})),0)},Bo=[],Do={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:Vo},methods:{launchApp(e){this.$emit("launch-app",e)}}},Uo=Do,Ro=(a("cf1c"),Object(v["a"])(Uo,Ho,Bo,!1,null,"56ddb963",null)),Ko=Ro.exports,Fo={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:Vo,SideBarSection:Ko},methods:{openSection(e){this.isOpen=this.isOpen.map((t,a)=>a===e&&!t)},launchApp(e){this.$emit("launch-app",e)}}},qo=Fo,Wo=(a("85e1"),Object(v["a"])(qo,Lo,Ao,!1,null,"31476576",null)),Go=Wo.exports,Jo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"web-content"},[a("iframe",{attrs:{src:e.url}})])},Yo=[],Xo={name:"WebContent",props:{url:String}},Zo=Xo,Qo=(a("44e9"),Object(v["a"])(Zo,Jo,Yo,!1,null,"a2564c04",null)),ei=Qo.exports,ti={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:"",GetTheme:an,ApplyLocalTheme:sn,ApplyCustomVariables:nn}),components:{SideBar:Go,WebContent:ei},methods:{launchApp(e){this.url=e},setTheme(){const e=this.GetTheme();this.ApplyLocalTheme(e),this.ApplyCustomVariables(e)},initiateFontAwesome(){const e=document.createElement("script"),t=this.appConfig.fontAwesomeKey||L.a.fontAwesomeKey;e.setAttribute("src",`https://kit.fontawesome.com/${t}.js`),document.head.appendChild(e)},repositionFooter(){document.getElementsByTagName("footer")[0].style.position="fixed"}},mounted(){const e=this.$route;e.query&&e.query.url&&(this.url=decodeURI(e.query.url)),this.setTheme(),this.initiateFontAwesome()}},ai=ti,ni=(a("6423"),Object(v["a"])(ai,Eo,$o,!1,null,"62772a5b",null)),si=ni.exports,oi=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("pre",[a("code",[e._v(e._s(e.jsonParser(e.config)))])])},ii=[],ri={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:Ue}}},li=ri,ci=(a("6cd5"),Object(v["a"])(li,oi,ii,!1,null,"33cd2d90",null)),_i=ci.exports;n["a"].use(he["a"]);const ui=()=>{const e=te.appConfig.auth;return!e||Xe(e)},di=new he["a"]({routes:[{path:"/",name:"home",component:yo,props:te,meta:{title:te.pageInfo.title||"Home Page",metaTags:$["metaTagData"]}},{path:"/workspace",name:"workspace",component:si,props:te,meta:{title:te.pageInfo.title||"Dashy Workspace",metaTags:$["metaTagData"]}},{path:"/login",name:"login",component:To,props:{appConfig:te.appConfig},beforeEnter:(e,t,a)=>{ui()&&di.push({path:"/"}),a()}},{path:"/about",name:"about",component:()=>a.e("about").then(a.bind(null,"f820"))},{path:"/download",name:"download",component:_i,props:te,meta:{title:te.pageInfo.title||"Download Dashy Config",metaTags:$["metaTagData"]}}]});di.beforeEach((e,t,a)=>{"login"===e.name||ui()?a():a({name:"login"})});const mi="Dashy";di.afterEach(e=>{n["a"].nextTick(()=>{document.title=e.meta.title||mi})});var hi=di,gi=a("9483");const pi=e=>{const t={ready:!1,registered:!1,cached:!1,updateFound:!1,updated:!1,offline:!1,error:!1,devMode:!1,disabledByUser:!1},a=sessionStorage[$["sessionStorageKeys"].SW_STATUS],n=a?JSON.parse(a):t;try{const t={...n,...e};sessionStorage.setItem($["sessionStorageKeys"].SW_STATUS,JSON.stringify(t))}catch(s){console.warn("Error setting SW data",s)}},fi=()=>{let e=!0;return J.a&&J.a.appConfig&&J.a.appConfig.disableServiceWorker&&(e=!1,pi({disabledByUser:!0})),e},bi=()=>{fi()&&Object(gi["a"])("/service-worker.js",{ready(){pi({ready:!0}),console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){pi({registered:!0}),console.log("Service worker has been registered.")},cached(){pi({cached:!0}),console.log("Content has been cached for offline use.")},updatefound(){pi({updateFound:!0}),console.log("New content is downloading.")},updated(){pi({updated:!0}),console.log("New content is available; please refresh.")},offline(){pi({offline:!0}),console.log("No internet connection found. App is running in offline mode.")},error(e){pi({error:!0}),console.error("Error during service worker registration:",e)}})};var ki=bi;const wi=[];function vi(e,t,a){const{target:n}=e;t===n||t.contains(n)||a(e)}var yi={bind(e,t){const a=e;a.dataset.outsideClickIndex=wi.length;const n=t.value,s=e=>{vi(e,a,n)};document.addEventListener("click",s),document.addEventListener("touchstart",s),wi.push(s)},unbind(e){if(!e.dataset)return;const t=e.dataset.outsideClickIndex,a=wi[t];document.removeEventListener("click",a),wi.splice(t,1)}};n["a"].use(s["a"]),n["a"].use(o["a"]),n["a"].use(r.a),n["a"].use(_["a"]),n["a"].use(d.a,$["toastedOptions"]),n["a"].component("v-select",c.a),n["a"].directive("clickOutside",yi),n["a"].config.productionTip=!1;const Ci=new s["a"]({locale:$["language"],fallbackLocale:$["language"],messages:ee});ki();const Si=e=>e(me);new n["a"]({router:hi,render:Si,i18n:Ci}).$mount("#app")},5703:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-sliders-h fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"sliders-h",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}})]))}}},"570c":function(e,t,a){"use strict";a("f94d")},"570d":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-th-list fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"th-list",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"}})]))}}},"58c1":function(e,t,a){},"5c0b":function(e,t,a){"use strict";a("9c0c")},"5cc6":function(e,t){e.exports={pageInfo:{title:"Dashy",description:"",navLinks:[{title:"Home",path:"/"},{title:"Source",path:"https://github.com/Lissy93/dashy"}],footerText:""},appConfig:{},language:"en",iconSize:"medium",layout:"auto",theme:"default",fontAwesomeKey:"0821c65656",faviconApi:"faviconkit",builtInThemes:["callisto","thebe","dracula","material","material-dark","colorful","nord","nord-frost","minimal-dark","minimal-light","oblivion","matrix","matrix-red","hacker-girl","raspberry-jam","bee","tiger","blue-purple","material-original","material-dark-original","cyberpunk","vaporware","high-contrast-dark","high-contrast-light"],visibleComponents:{pageTitle:!0,navigation:!0,searchBar:!0,settings:!0,footer:!0},localStorageKeys:{LANGUAGE:"language",HIDE_WELCOME_BANNER:"hideWelcomeHelpers",LAYOUT_ORIENTATION:"layoutOrientation",COLLAPSE_STATE:"collapseState",ICON_SIZE:"iconSize",THEME:"theme",CUSTOM_COLORS:"customColors",CONF_SECTIONS:"confSections",PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",BACKUP_ID:"backupId",BACKUP_HASH:"backupHash",HIDE_SETTINGS:"hideSettings",USERNAME:"username"},cookieKeys:{AUTH_TOKEN:"authenticationToken"},sessionStorageKeys:{SW_STATUS:"serviceWorkerStatus"},modalNames:{CONF_EDITOR:"CONF_EDITOR",CLOUD_BACKUP:"CLOUD_BACKUP",REBUILD_APP:"REBUILD_APP",THEME_MAKER:"THEME_MAKER",ABOUT_APP:"ABOUT_APP",LANG_SWITCHER:"LANG_SWITCHER"},topLevelConfKeys:{PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",SECTIONS:"sections"},mainCssVars:["primary","background","background-darker"],splashScreenTime:1900,metaTagData:[{name:"description",content:"A simple static homepage for you're server"}],toastedOptions:{position:"bottom-center",duration:2500,keepOnHover:!0,className:"toast-message",iconPack:"fontawesome"},backupEndpoint:"https://dashy-sync-service.as93.net",faviconApiEndpoints:{mcapi:"https://eu.mc-api.net/v3/server/favicon/$URL",clearbit:"https://logo.clearbit.com/$URL",faviconkit:"https://api.faviconkit.com/$URL/64",google:"https://www.google.com/s2/favicons?sz=128&domain_url=$URL",allesedv:"https://f1.allesedv.com/128/$URL",webmasterapi:"https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL"},swatches:[["#eb5cad","#985ceb","#5346f3","#5c90eb"],["#5cdfeb","#00CCB4","#5ceb8d","#afeb5c"],["#eff961","#ebb75c","#eb615c","#eb2d6c"],["#060913","#141b33","#1c2645","#263256"],["#2b2d42","#1a535c","#372424","#312437"],["#f5f5f5","#d9d9d9","#bfbfbf","#9a9a9a"],["#636363","#363636","#313941","#0d0d0d"]]}},"5dbe":function(e,t,a){"use strict";a("fae5")},"5e61":function(e,t,a){"use strict";a("b315")},"5f32":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-times-circle fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"times-circle",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"}})]))}}},6266:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:[i,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100",height:"100",preserveAspectRatio:"xMidYMid"},_),...u},o.concat([a("defs",[a("clipPath",{attrs:{id:"a"}},[a("path",{attrs:{d:"M20 0h60v100H20z"}})])]),a("path",{attrs:{fill:"none",stroke:"var(--primary, #00af87)","stroke-width":"6","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10","clip-path":"url(#a)",d:"M90 76.7V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5H55c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5H15c-2.7 0-5-2.2-5-5V23.3"}},[a("animateTransform",{attrs:{attributeName:"transform",type:"translate",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"-20 0;7 0",keyTimes:"0;1"}}),a("animate",{attrs:{attributeName:"stroke-dasharray",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"0 72 125 232;0 197 125 233",keyTimes:"0;1"}})])]))}}},6423:function(e,t,a){"use strict";a("2143")},6504:function(e,t,a){},6780:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-cloud-upload-alt fa-w-20",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"cloud-upload-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M395.5 267.5l-99-99c-4.7-4.7-12.3-4.7-17 0l-99 99c-7.6 7.6-2.2 20.5 8.5 20.5h67v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-84h67c10.7 0 16.1-12.9 8.5-20.5zm148.2-67.4C539.7 142.1 491.4 96 432 96c-7.6 0-15.1.8-22.4 2.3C377.7 58.3 328.1 32 272 32c-84.6 0-155.5 59.7-172.3 139.8C39.9 196.1 0 254.4 0 320c0 88.4 71.6 160 160 160h336c79.5 0 144-64.5 144-144 0-61.8-39.2-115.8-96.3-135.9zM496 432H160c-61.9 0-112-50.1-112-112 0-56.4 41.7-103.1 96-110.9V208c0-70.7 57.3-128 128-128 53.5 0 99.3 32.8 118.4 79.4 11.2-9.6 25.7-15.4 41.6-15.4 35.3 0 64 28.7 64 64 0 11.8-3.2 22.9-8.8 32.4 2.9-.3 5.9-.4 8.8-.4 53 0 96 43 96 96s-43 96-96 96z"}})]))}}},6850:function(e,t,a){"use strict";a("18b8")},"6cab":function(e,t,a){},"6cd5":function(e,t,a){"use strict";a("6504")},7075:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-expand fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}})]))}}},7645:function(e,t,a){},"78d0":function(e,t,a){},"7da9":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-css3-alt fa-w-12",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fab","data-icon":"css3-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z"}})]))}}},"7eb0":function(e,t,a){},"7f43":function(e,t,a){},"7f59":function(e,t,a){},"80a7":function(e,t,a){"use strict";a("7eb0")},"826e":function(e,t,a){"use strict";a("939b")},"831b":function(e){e.exports=JSON.parse('{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"pageInfo":{"type":"object","properties":{"title":{"type":"string","description":"Title and heading for the app"},"description":{"type":"string","description":"Sub-title, displayed in header"},"navLinks":{"type":"array","maxItems":6,"description":"Quick access links, displayed in header","items":{"type":"object","additionalProperties":false,"required":["title","path"],"properties":{"title":{"type":"string"},"path":{"type":"string"}}}},"footerText":{"type":"string"}},"required":["title"],"additionalProperties":false},"appConfig":{"type":"object","description":"Application configuration","properties":{"backgroundImg":{"type":"string","description":"A URL to an image asset to be displayed as background"},"language":{"type":"string","description":"The ISO code of your desired language, must have translations present, check docs for more info"},"theme":{"type":"string","default":"callisto","description":"A theme to be applied by default on first load","examples":["callisto","thebe","dracula","material","material-dark","colorful","nord","nord-frost","minimal-dark","minimal-light","matrix","matrix-red","hacker-girl","raspberry-jam","bee","tiger","material-original","material-dark-original","vaporware","high-contrast-dark","high-contrast-light"]},"enableFontAwesome":{"type":"boolean","default":true,"description":"Should load font-awesome assets"},"fontAwesomeKey":{"type":"string","pattern":"^[a-z0-9]{10}$","description":"API key for font-awesome"},"faviconApi":{"enum":["local","faviconkit","google","clearbit","webmasterapi","allesedv"],"default":"faviconkit","description":"Which service to use to resolve favicons. Set to local to do this locally instead"},"layout":{"enum":["horizontal","vertical","auto","sidebar"],"default":"auto","description":"Specifies sections layout orientation on the home screen"},"iconSize":{"enum":["small","medium","large"],"default":"medium","description":"The size of each link item / icon"},"hideComponents":{"type":"object","description":"Hide individual parts of the page. If not set, all components are visible by default","properties":{"hideHeading":{"type":"boolean","default":"false","description":"If set to true, the page heading & subtitle will be hidden"},"hideNav":{"type":"boolean","default":"false","description":"If set to true, the navigation menu will be hidden"},"hideSearch":{"type":"boolean","default":"false","description":"If set to true, the search bar will be hidden"},"hideSettings":{"type":"boolean","default":"false","description":"If set to true, the settings buttons will be hidden"},"hideFooter":{"type":"boolean","default":"false","description":"If set to true, the page footer will be hidden"},"hideSplashScreen":{"type":"boolean","default":"true","description":"If set to true, the loading / splash screen will not be shown"}}},"cssThemes":{"type":"array","description":"Theme names to be added to the dropdown","items":{"type":"string"}},"customColors":{"type":"object","description":"Set a custom color palette for any theme"},"externalStyleSheet":{"description":"URL or URLs of external stylesheets to add to dropdown/ load","type":["string","array"],"items":{"type":"string"}},"customCss":{"type":"string","description":"Any custom CSS overides, must be minified"},"statusCheck":{"type":"boolean","default":false,"description":"Displays an online/ offline status for each of your services"},"statusCheckInterval":{"type":"number","default":0,"description":"How often to recheck statuses. If set to 0, status will only be checked on page load"},"auth":{"type":"array","description":"Usernames and hashed credentials for frontend authentication","items":{"type":"object","additionalProperties":false,"required":["user","hash"],"properties":{"user":{"type":"string","description":"The username for a user"},"hash":{"type":"string","description":"A SHA-256 hashed password for that user","minLength":64,"maxLength":64},"type":{"enum":["admin","normal"],"description":"User type, denoting privilege level, either admin or normal","default":"normal"}}}},"allowConfigEdit":{"type":"boolean","default":true,"description":"Can user write changes to conf.yml file from the UI. If set to false, preferences are only stored locally"},"disableServiceWorker":{"type":"boolean","default":false,"description":"If set to true, then service workers will not be used to cache page contents"},"disableContextMenu":{"type":"boolean","default":false,"description":"If set to true, custom right-click context menu will be disabled"},"disableUpdateChecks":{"type":"boolean","default":false,"description":"Prevents Dashy from checking for updates"}},"additionalProperties":false},"sections":{"type":"array","description":"Array of sections, containing items","items":{"type":"object","required":["name","items"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"Title/ heading for a section"},"icon":{"type":"string","description":"Icon will be displayed next to title"},"displayData":{"type":"object","additionalProperties":false,"description":"Optional meta data for customizing a section","properties":{"collapsed":{"type":"boolean","default":false,"description":"If true, section needs to be clicked to open"},"color":{"type":"string","description":"Hex code, or HTML color for section fill"},"customStyles":{"type":"string","description":"CSS overides for section container"},"itemSize":{"enum":["small","medium","large"],"default":"medium","description":"Size of items within the section"},"rows":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans vertically"},"cols":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans horizontally"},"sectionLayout":{"enum":["grid","auto"],"default":"auto","description":"If set to grid, items have uniform width, and itemCount can be set"},"itemCountX":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per column"},"itemCountY":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per row"}}},"items":{"type":"array","description":"Array of items to display with a section","items":{"type":"object","additionalProperties":false,"required":["title"],"properties":{"title":{"type":"string","description":"Text shown on the item"},"description":{"type":"string","nullable":true,"description":"Short description, shown on hover or in a tooltip"},"icon":{"type":"string","nullable":true,"description":"An icon, either as a font-awesome identifier, local or remote URL, or the word favicon or generative"},"url":{"type":"string","description":"The destination to navigate to when item is clicked"},"target":{"enum":["newtab","sametab","modal","workspace"],"default":"newtab","description":"Opening method, when item is clicked"},"hotkey":{"type":"number","description":"A numeric shortcut key, between 0 and 9. Useful for quickly launching frequently used applications"},"color":{"type":"string","description":"A custom fill color of the item"},"provider":{"type":"string","description":"Provider name, e.g. Microsoft"},"statusCheck":{"type":"boolean","default":false,"description":"Whether or not to display online/ offline status for this service. Will override appConfig.statusCheck"},"statusCheckUrl":{"type":"string","description":"If you\'ve enabled statusCheck, and want to use a different URL to what is defined under the item, then specify it here"},"statusCheckHeaders":{"type":"object","description":" If you\'re endpoint requires any specific headers for the status checking, then define them here"}}}}}}}}}')},"832d":function(e,t,a){},"85e1":function(e,t,a){"use strict";a("1036")},"89e2":function(e,t,a){"use strict";a("1653")},"8b35":function(e,t,a){},"8b8e":function(e,t){e.exports={pageInfo:{title:"Dashy",navLinks:[{title:"Home",path:"/"},{title:"About",path:"/about"},{title:"Source Code",path:"https://github.com/Lissy93/dashy"}]},appConfig:{theme:"colorful",fontAwesomeKey:"0821c65656"},sections:[{name:"Getting Started",items:[{title:"Source",description:"Source code and documentation on GitHub",icon:"fab fa-github",url:"https://github.com/Lissy93/dashy"},{title:"Issues",description:"View currently open issues, or raise a new one",icon:"fas fa-bug",url:"https://github.com/Lissy93/dashy/issues"},{title:"Demo 1",description:"Live Demo #1",icon:"far fa-rocket",url:"https://dashy-demo-1.netlify.app"},{title:"Demo 2",description:"Live Demo #2",icon:"fad fa-planet-ringed",url:"https://dashy-demo-2.netlify.app"}]}]}},"8d7c":function(e,t,a){},"905d":function(e,t,a){},"90de":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-window-close fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"window-close",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z"}})]))}}},"90ff":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-save fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"save",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M433.941 129.941l-83.882-83.882A48 48 0 00316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 00-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 01-6-6V86a6 6 0 016-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 011.757 4.243V426a6 6 0 01-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z"}})]))}}},"922c":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-expand-arrows-alt fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M448 344v112a23.94 23.94 0 01-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 01-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0124-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0124 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}})]))}}},"939b":function(e,t,a){},9517:function(e,t,a){"use strict";a("a8d0")},9635:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:[i,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{d:"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z"}}),a("path",{attrs:{d:"M271.552 301.072l-77.856-46.72-41.616 15.152 10.944 30.064 27.28-9.92 82.144 49.28 97.6-65.072L480 315.088V480H32V347.2l40.8-14.848-10.928-30.048L0 324.8V512h512V292.912l-146.048-54.768z"}}),a("path",{attrs:{d:"M0 0v278.848l66.576-24.224-10.928-30.064L32 233.152V32h448v168.912l-114.048-42.768-94.4 62.928-77.856-46.72-47.84 17.392 10.944 30.064 33.504-12.16 82.144 49.28 97.6-65.072L512 247.088V0z"}}),a("path",{attrs:{d:"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z"}})]))}}},"97fb":function(e,t,a){},"9c0c":function(e,t,a){},"9e50":function(e,t,a){"use strict";a("3323")},"9e96":function(e,t,a){},a2fe:function(e,t,a){"use strict";a("f8bc")},a4c2:function(e,t,a){},a8d0:function(e,t,a){},b021:function(e,t,a){"use strict";a("905d")},b2be:function(e,t,a){},b315:function(e,t,a){},b58b:function(e,t,a){},b5c9:function(e,t,a){"use strict";a("7645")},c715:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-table fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"table",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"}})]))}}},c924:function(e,t,a){},cbc6:function(e,t,a){"use strict";a("b58b")},cbd9:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-file-download fa-w-12",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"file-download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M216 236.07c0-6.63-5.37-12-12-12h-24c-6.63 0-12 5.37-12 12v84.01h-48.88c-10.71 0-16.05 12.97-8.45 20.52l72.31 71.77c4.99 4.95 13.04 4.95 18.03 0l72.31-71.77c7.6-7.54 2.26-20.52-8.45-20.52H216v-84.01zM369.83 97.98L285.94 14.1c-9-9-21.2-14.1-33.89-14.1H47.99C21.5.1 0 21.6 0 48.09v415.92C0 490.5 21.5 512 47.99 512h287.94c26.5 0 48.07-21.5 48.07-47.99V131.97c0-12.69-5.17-24.99-14.17-33.99zM255.95 51.99l76.09 76.08h-76.09V51.99zM336 464.01H47.99V48.09h159.97v103.98c0 13.3 10.7 23.99 24 23.99H336v287.95z"}})]))}}},cea5:function(e,t,a){"use strict";a("7f43")},cf1c:function(e,t,a){"use strict";a("8d7c")},d16d:function(e,t,a){"use strict";a("18dd")},d636:function(e,t,a){"use strict";a("78d0")},d704:function(e,t,a){},d8e8:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-compress-arrows-alt fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"compress-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"}})]))}}},de40:function(e,t,a){"use strict";a("7f59")},e0a2:function(e,t){e.exports=/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32-\ude3a]|[\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/},e697:function(e,t,a){"use strict";a("2574")},e6a4:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-download fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fal","data-icon":"download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h99.4L87 263.6c-25.2-25.2-7.3-68.3 28.3-68.3H168V40c0-22.1 17.9-40 40-40h96c22.1 0 40 17.9 40 40v155.3h52.7c35.6 0 53.4 43.1 28.3 68.3L368.6 320H468c24.3 0 44 19.7 44 44zm-261.7 17.7c3.1 3.1 8.2 3.1 11.3 0L402.3 241c5-5 1.5-13.7-5.7-13.7H312V40c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v187.3h-84.7c-7.1 0-10.7 8.6-5.7 13.7l140.7 140.7zM480 364c0-6.6-5.4-12-12-12H336.6l-52.3 52.3c-15.6 15.6-41 15.6-56.6 0L175.4 352H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z"}})]))}}},e7fa:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-edit fa-w-18",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"edit",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"}})]))}}},eb58:function(e,t,a){"use strict";a("9e96")},ec36:function(e,t,a){},ed9b:function(e,t,a){"use strict";a("a4c2")},eda6:function(e,t,a){"use strict";a("1864")},f255:function(e,t,a){"use strict";a("339a")},f719:function(e,t,a){"use strict";a("27c1")},f7af:function(e,t,a){},f8bc:function(e,t,a){},f94d:function(e,t,a){},f9d7:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:_={},...u}=s;return a("svg",{class:["svg-inline--fa fa-columns fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"columns",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...u},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"}})]))}}},fa2b:function(e,t,a){"use strict";a("f7af")},fae5:function(e,t,a){}}); +//# sourceMappingURL=dashy.6c00fd2d.js.map \ No newline at end of file diff --git a/js/dashy.5dfe9eab.js.map b/js/dashy.6c00fd2d.js.map similarity index 99% rename from js/dashy.5dfe9eab.js.map rename to js/dashy.6c00fd2d.js.map index 3211fd49..a005420e 100644 --- a/js/dashy.5dfe9eab.js.map +++ b/js/dashy.6c00fd2d.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/interface-icons/user-logout.svg","webpack:///./src/assets/interface-icons/config-delete-local.svg","webpack:///./src/assets/interface-icons/config-language.svg","webpack:///./src/assets/interface-icons/application-rebuild.svg","webpack:///./src/components/Settings/AppButtons.vue?ae12","webpack:///./src/components/Configuration/RebuildApp.vue?b4b6","webpack:///./src/assets/interface-icons/open-iframe.svg","webpack:///./src/components/LinkItems/ItemGroup.vue?c93a","webpack:///./src/components/Configuration/ConfigContainer.vue?09fd","webpack:///./src/views/Login.vue?2567","webpack:///./src/assets/interface-icons/open-current-tab.svg","webpack:///./src/assets/interface-icons/open-new-tab.svg","webpack:///./src/assets/interface-icons/application-about.svg","webpack:///./src/components/FormElements/Button.vue?8611","webpack:///./src/components/PageStrcture/LoadingScreen.vue?ea0c","webpack:///./src/components/FormElements/Input.vue?fb76","webpack:///./src/components/PageStrcture/PageTitle.vue?7060","webpack:///./src/assets/interface-icons/config-editor.svg","webpack:///./src/components/Settings/CustomThemeMaker.vue?25a2","webpack:///./src/assets/interface-icons/config-backup.svg","webpack:///./src/assets/interface-icons/open-workspace.svg","webpack:///./src/components/PageStrcture/Header.vue?02e0","webpack:///./src/assets/interface-icons/application-reload.svg","webpack:///./src/assets/interface-icons/config-color-palette.svg","webpack:///./src/components/Workspace/WebContent.vue?7bf3","webpack:///./src/components/LinkItems/StatusIndicator.vue?dc21","webpack:///./src/components/Settings/ThemeSelector.vue?89f8","webpack:///./src/components/Configuration/CloudBackupRestore.vue?fe42","webpack:///./src/App.vue?3a0c","webpack:///./src/components/PageStrcture/Header.vue?f28b","webpack:///./src/components/PageStrcture/PageTitle.vue?e08b","webpack:///src/components/PageStrcture/PageTitle.vue","webpack:///./src/components/PageStrcture/PageTitle.vue?ea63","webpack:///./src/components/PageStrcture/PageTitle.vue","webpack:///./src/components/PageStrcture/Nav.vue?6931","webpack:///src/components/PageStrcture/Nav.vue","webpack:///./src/components/PageStrcture/Nav.vue?c674","webpack:///./src/components/PageStrcture/Nav.vue","webpack:///src/components/PageStrcture/Header.vue","webpack:///./src/components/PageStrcture/Header.vue?83b0","webpack:///./src/components/PageStrcture/Header.vue","webpack:///./src/components/PageStrcture/Footer.vue?4eb9","webpack:///src/components/PageStrcture/Footer.vue","webpack:///./src/components/PageStrcture/Footer.vue?6588","webpack:///./src/components/PageStrcture/Footer.vue","webpack:///./src/components/PageStrcture/LoadingScreen.vue?9c6a","webpack:///src/components/PageStrcture/LoadingScreen.vue","webpack:///./src/components/PageStrcture/LoadingScreen.vue?96ea","webpack:///./src/components/PageStrcture/LoadingScreen.vue","webpack:///./src/utils/ConfigAccumalator.js","webpack:///./src/utils/languages.js","webpack:///./src/utils/ConfigHelpers.js","webpack:///src/App.vue","webpack:///./src/App.vue?382d","webpack:///./src/App.vue","webpack:///./src/views/Home.vue?e7b9","webpack:///./src/components/Settings/SettingsContainer.vue?6ad4","webpack:///./src/components/Settings/SearchBar.vue?b9fe","webpack:///./src/utils/ArrowKeyNavigation.js","webpack:///src/components/Settings/SearchBar.vue","webpack:///./src/components/Settings/SearchBar.vue?8307","webpack:///./src/components/Settings/SearchBar.vue","webpack:///./src/components/Settings/ConfigLauncher.vue?032f","webpack:///./src/components/Configuration/ConfigContainer.vue?6c19","webpack:///./src/utils/JsonToYaml.js","webpack:///./src/components/Configuration/JsonEditor.vue?d755","webpack:///./src/utils/Auth.js","webpack:///src/components/Configuration/JsonEditor.vue","webpack:///./src/components/Configuration/JsonEditor.vue?579f","webpack:///./src/components/Configuration/JsonEditor.vue","webpack:///./src/components/Configuration/CustomCss.vue?d4be","webpack:///./src/components/Settings/CustomThemeMaker.vue?96bb","webpack:///./src/components/FormElements/Button.vue?57d3","webpack:///src/components/FormElements/Button.vue","webpack:///./src/components/FormElements/Button.vue?52f8","webpack:///./src/components/FormElements/Button.vue","webpack:///src/components/Settings/CustomThemeMaker.vue","webpack:///./src/components/Settings/CustomThemeMaker.vue?39f6","webpack:///./src/components/Settings/CustomThemeMaker.vue","webpack:///src/components/Configuration/CustomCss.vue","webpack:///./src/components/Configuration/CustomCss.vue?3340","webpack:///./src/components/Configuration/CustomCss.vue","webpack:///./src/components/Configuration/RebuildApp.vue?9d04","webpack:///src/components/Configuration/RebuildApp.vue","webpack:///./src/components/Configuration/RebuildApp.vue?1840","webpack:///./src/components/Configuration/RebuildApp.vue","webpack:///./src/components/Configuration/AppVersion.vue?aa3f","webpack:///src/components/Configuration/AppVersion.vue","webpack:///./src/components/Configuration/AppVersion.vue?808b","webpack:///./src/components/Configuration/AppVersion.vue","webpack:///src/components/Configuration/ConfigContainer.vue","webpack:///./src/components/Configuration/ConfigContainer.vue?d8c3","webpack:///./src/components/Configuration/ConfigContainer.vue","webpack:///./src/components/Configuration/CloudBackupRestore.vue?8719","webpack:///./src/components/FormElements/Input.vue?9a26","webpack:///src/components/FormElements/Input.vue","webpack:///./src/components/FormElements/Input.vue?49a6","webpack:///./src/components/FormElements/Input.vue","webpack:///./src/utils/CloudBackup.js","webpack:///src/components/Configuration/CloudBackupRestore.vue","webpack:///./src/components/Configuration/CloudBackupRestore.vue?d065","webpack:///./src/components/Configuration/CloudBackupRestore.vue","webpack:///./src/components/Settings/LanguageSwitcher.vue?cfac","webpack:///src/components/Settings/LanguageSwitcher.vue","webpack:///./src/components/Settings/LanguageSwitcher.vue?15e6","webpack:///./src/components/Settings/LanguageSwitcher.vue","webpack:///src/components/Settings/ConfigLauncher.vue","webpack:///./src/components/Settings/ConfigLauncher.vue?5a66","webpack:///./src/components/Settings/ConfigLauncher.vue","webpack:///./src/components/Settings/ThemeSelector.vue?0130","webpack:///./src/utils/ErrorHandler.js","webpack:///./src/utils/ThemeHelper.js","webpack:///src/components/Settings/ThemeSelector.vue","webpack:///./src/components/Settings/ThemeSelector.vue?3fa2","webpack:///./src/components/Settings/ThemeSelector.vue","webpack:///./src/components/Settings/LayoutSelector.vue?4dd9","webpack:///src/components/Settings/LayoutSelector.vue","webpack:///./src/components/Settings/LayoutSelector.vue?4a31","webpack:///./src/components/Settings/LayoutSelector.vue","webpack:///./src/components/Settings/ItemSizeSelector.vue?148d","webpack:///src/components/Settings/ItemSizeSelector.vue","webpack:///./src/components/Settings/ItemSizeSelector.vue?7880","webpack:///./src/components/Settings/ItemSizeSelector.vue","webpack:///./src/components/Settings/AppButtons.vue?aa02","webpack:///src/components/Settings/AppButtons.vue","webpack:///./src/components/Settings/AppButtons.vue?185d","webpack:///./src/components/Settings/AppButtons.vue","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?8049","webpack:///src/components/Settings/KeyboardShortcutInfo.vue","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?6297","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue","webpack:///./src/components/Configuration/AppInfoModal.vue?bcb8","webpack:///src/components/Configuration/AppInfoModal.vue","webpack:///./src/components/Configuration/AppInfoModal.vue?ee6a","webpack:///./src/components/Configuration/AppInfoModal.vue","webpack:///src/components/Settings/SettingsContainer.vue","webpack:///./src/components/Settings/SettingsContainer.vue?5e44","webpack:///./src/components/Settings/SettingsContainer.vue","webpack:///./src/components/LinkItems/ItemGroup.vue?86b1","webpack:///./src/components/LinkItems/Item.vue?78f5","webpack:///./src/components/LinkItems/ItemIcon.vue?bd34","webpack:///src/components/LinkItems/ItemIcon.vue","webpack:///./src/components/LinkItems/ItemIcon.vue?e801","webpack:///./src/components/LinkItems/ItemIcon.vue","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?e052","webpack:///src/components/LinkItems/ItemOpenMethodIcon.vue","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?b230","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue","webpack:///./src/components/LinkItems/StatusIndicator.vue?bd1e","webpack:///src/components/LinkItems/StatusIndicator.vue","webpack:///./src/components/LinkItems/StatusIndicator.vue?9938","webpack:///./src/components/LinkItems/StatusIndicator.vue","webpack:///./src/components/LinkItems/ContextMenu.vue?8e63","webpack:///src/components/LinkItems/ContextMenu.vue","webpack:///./src/components/LinkItems/ContextMenu.vue?623e","webpack:///./src/components/LinkItems/ContextMenu.vue","webpack:///src/components/LinkItems/Item.vue","webpack:///./src/components/LinkItems/Item.vue?a851","webpack:///./src/components/LinkItems/Item.vue","webpack:///./src/components/LinkItems/Collapsable.vue?5ac2","webpack:///src/components/LinkItems/Collapsable.vue","webpack:///./src/components/LinkItems/Collapsable.vue?bb21","webpack:///./src/components/LinkItems/Collapsable.vue","webpack:///./src/components/LinkItems/IframeModal.vue?88b5","webpack:///src/components/LinkItems/IframeModal.vue","webpack:///./src/components/LinkItems/IframeModal.vue?5f28","webpack:///./src/components/LinkItems/IframeModal.vue","webpack:///src/components/LinkItems/ItemGroup.vue","webpack:///./src/components/LinkItems/ItemGroup.vue?d5bc","webpack:///./src/components/LinkItems/ItemGroup.vue","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?1ead","webpack:///./src/views/Home.vue","webpack:///./src/views/Login.vue?17b5","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?8434","webpack:///./src/views/Login.vue","webpack:///./src/views/Workspace.vue?f557","webpack:///./src/components/Workspace/SideBar.vue?386a","webpack:///./src/components/Workspace/SideBarItem.vue?8cce","webpack:///src/components/Workspace/SideBarItem.vue","webpack:///./src/components/Workspace/SideBarItem.vue?61b9","webpack:///./src/components/Workspace/SideBarItem.vue","webpack:///./src/components/Workspace/SideBarSection.vue?ac38","webpack:///src/components/Workspace/SideBarSection.vue","webpack:///./src/components/Workspace/SideBarSection.vue?3ca7","webpack:///./src/components/Workspace/SideBarSection.vue","webpack:///src/components/Workspace/SideBar.vue","webpack:///./src/components/Workspace/SideBar.vue?368a","webpack:///./src/components/Workspace/SideBar.vue","webpack:///./src/components/Workspace/WebContent.vue?2e8f","webpack:///src/components/Workspace/WebContent.vue","webpack:///./src/components/Workspace/WebContent.vue?01ce","webpack:///./src/components/Workspace/WebContent.vue","webpack:///src/views/Workspace.vue","webpack:///./src/views/Workspace.vue?c5ca","webpack:///./src/views/Workspace.vue","webpack:///./src/views/DownloadConfig.vue?27b3","webpack:///src/views/DownloadConfig.vue","webpack:///./src/views/DownloadConfig.vue?a1ac","webpack:///./src/views/DownloadConfig.vue","webpack:///./src/router.js","webpack:///./src/registerServiceWorker.js","webpack:///./src/utils/ClickOutside.js","webpack:///./src/main.js","webpack:///./src/assets/interface-icons/config-open-settings.svg","webpack:///./src/components/Settings/LanguageSwitcher.vue?1cc7","webpack:///./src/assets/interface-icons/layout-horizontal.svg","webpack:///./src/App.vue?595f","webpack:///./src/utils/defaults.js","webpack:///./src/components/Settings/LayoutSelector.vue?6653","webpack:///./src/components/Workspace/SideBarItem.vue?3a0a","webpack:///./src/assets/interface-icons/config-close.svg","webpack:///./src/assets/interface-icons/loader.svg","webpack:///./src/views/Workspace.vue?602a","webpack:///./src/assets/interface-icons/cloud-backup-restore.svg","webpack:///./src/components/LinkItems/ContextMenu.vue?595f","webpack:///./src/views/DownloadConfig.vue?4e96","webpack:///./src/assets/interface-icons/icon-size-medium.svg","webpack:///./src/assets/interface-icons/config-custom-css.svg","webpack:///./src/components/Configuration/JsonEditor.vue?5179","webpack:///./src/components/LinkItems/Item.vue?b4f3","webpack:///./src/components/Workspace/SideBar.vue?34c4","webpack:///./src/components/Settings/ItemSizeSelector.vue?dc3b","webpack:///./public/conf.yml","webpack:///./src/assets/interface-icons/config-cancel.svg","webpack:///./src/assets/interface-icons/save-config.svg","webpack:///./src/assets/interface-icons/icon-size-large.svg","webpack:///./src/components/Settings/KeyboardShortcutInfo.vue?300b","webpack:///./src/assets/interface-icons/broken-icon.svg","webpack:///./src/components/Configuration/CustomCss.vue?fa1a","webpack:///./src/components/Configuration/ConfigContainer.vue?d350","webpack:///./src/components/Settings/SearchBar.vue?96a9","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?d33a","webpack:///./src/assets/interface-icons/layout-default.svg","webpack:///./src/components/Settings/ConfigLauncher.vue?65c6","webpack:///./src/assets/interface-icons/config-download-file.svg","webpack:///./src/views/Home.vue?2274","webpack:///./src/components/Workspace/SideBarSection.vue?8693","webpack:///./src/components/PageStrcture/Nav.vue?efdc","webpack:///./src/components/Configuration/AppInfoModal.vue?02c2","webpack:///./src/assets/interface-icons/icon-size-small.svg","webpack:///./src/components/LinkItems/ItemIcon.vue?e410","webpack:///./src/utils/EmojiUnicodeRegex.js","webpack:///./src/components/LinkItems/StatusIndicator.vue?b7eb","webpack:///./src/assets/interface-icons/config-restore.svg","webpack:///./src/assets/interface-icons/config-edit-json.svg","webpack:///./src/components/LinkItems/Collapsable.vue?d84e","webpack:///./src/components/PageStrcture/Footer.vue?70f9","webpack:///./src/components/LinkItems/IframeModal.vue?f46c","webpack:///./src/components/Configuration/AppVersion.vue?7d66","webpack:///./src/components/LinkItems/Item.vue?d111","webpack:///./src/assets/interface-icons/layout-vertical.svg","webpack:///./src/components/Settings/SettingsContainer.vue?88da"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","functional","_h","_vm","_c","_v","children","class","classNames","staticClass","style","staticStyle","attrs","rest","assign","concat","render","this","$createElement","_self","shouldShowSplash","isLoading","_e","pageInfo","visibleComponents","getFooterText","staticRenderFns","title","description","navLinks","_s","props","String","component","_l","link","index","path","isUrl","links","Array","methods","inject","components","PageTitle","Nav","titleVisible","navVisible","text","domProps","authorUrl","authorName","licenseUrl","license","showCopyright","date","repoUrl","on","$event","ConfigAccumulator","constructor","conf","appConfig","appConfigFile","usersAppConfig","defaultAppConfig","localStorage","localStorageKeys","APP_CONFIG","JSON","parse","layout","LAYOUT_ORIENTATION","defaultLayout","iconSize","ICON_SIZE","defaultIconSize","language","LANGUAGE","defaultLanguage","defaults","defaultPageInfo","localPageInfo","PAGE_INFO","pi","footerText","sections","localSections","CONF_SECTIONS","json","config","languages","locale","en","flag","i18nMessages","forEach","lang","messages","Accumulator","componentVisibility","usersChoice","hideComponents","isThere","userValue","pageTitle","hideHeading","navigation","hideNav","searchBar","hideSearch","settings","hideSettings","footer","hideFooter","splashScreen","hideSplashScreen","getTheme","localTheme","THEME","appConfigTheme","theme","defaultTheme","getCustomColors","localColors","CUSTOM_COLORS","configColors","customColors","getCustomKeyShortcuts","results","section","itemsWithHotKeys","items","filter","item","hotkey","map","url","flat","getUsersLanguage","langCode","langObj","find","Header","Footer","LoadingScreen","provide","showFooter","usersCss","textContent","append","availibleLocales","$i18n","availableLocales","usersLang","includes","usersBorwserLang1","navigator","usersBorwserLang2","split","applyLanguage","hideSplash","customCss","cleanedCss","replace","injectCustomStyles","getBackgroundImage","ref","itemSizeBound","getExternalCSSLinks","getSections","modalOpen","searching","setLayoutOrientation","setItemSize","updateModalVisibility","checkTheresData","filterTiles","searchValue","icon","getDisplayData","finishedSearching","checkIfResults","$t","userIsTypingSomething","settingsVisible","externalThemes","getInitialTheme","getUserThemes","modalChanged","displayLayout","updateDisplayLayout","updateIconSize","isUserLoggedIn","directives","rawName","expression","toggleSettingsVisibility","composing","input","indexOf","_k","keyCode","clearFilterInput","arguments","ArrowKeyNavigation","resetIndex","arrowNavigation","goToPrevious","goToNext","getSafeElementIndex","selectItemByIndex","focus","getElementsByClassName","numResults","getNumResults","startingIndex","isSameRow","indx","pos","offsetTop","checkPreviousIndex","currentIndex","yPos","position","isBelow","start","end","nextIndex","findPreviousRow","count","rowLen","findNextRow","adjustment","checkNextIndex","isAbove","active","Boolean","akn","addEventListener","currentElem","activeElement","id","test","$refs","handleHotKey","$emit","blur","usersHotKeys","parseInt","open","tooltip","showEditor","showCloudModal","modalNames","CONF_EDITOR","combineConfig","CLOUD_BACKUP","LANG_SWITCHER","downloadConfigFile","yaml","navigateToTab","openCloudSync","backupId","openLanguageSwitchModal","openRebuildAppModal","resetLocalSettings","openAboutModal","getLanguage","copyConfigToClipboard","trimWhitespace","x","trimRight","join","throwError","msg","stringify","indentLevel","handlers","null","number","boolean","string","array","output","y","handler","typeOf","inArray","rootNode","keys","k","val","function","options","model","callback","$$v","jsonData","allowWriteToDisk","_q","saveMode","isValid","save","errorMessages","saveSuccess","responseText","generateUserToken","user","sha256","toString","toLowerCase","isLoggedIn","users","validTokens","userAuthenticated","cookie","cookieKey","trim","cookieValue","cookieKeys","AUTH_TOKEN","checkCredentials","username","pass","response","hash","correct","login","now","Date","expiry","setTime","getTime","toGMTString","userObject","setItem","USERNAME","logout","removeItem","isUserAdmin","currentUser","isAdmin","VJsoneditor","schema","modes","onValidationError","validationErrors","jsonParser","JsonToYaml","shouldAllowWriteToDisk","computed","allowConfigEdit","auth","writeConfigToDisk","$toasted","show","saveConfigLocally","baseUrl","endpoint","headers","body","success","carefullyClearLocalStorage","showToast","errors","highlighter","currentTheme","showingAllVars","colorName","replaceAll","isColor","swatches","setVariable","$set","makeSwatchStyles","slot","exportToClipboard","resetAndSave","themeToEdit","findAllVariableNames","saveChanges","resetUnsavedColors","disallow","disabled","click","_t","Function","VSwatches","Button","SaveIcon","CancelIcon","makeInitialData","cssVar","getComputedStyle","documentElement","getPropertyValue","variable","setProperty","priorSettings","variables","removeProperty","themeName","toUpperCase","clipboardText","clipboard","writeText","variableArray","hasDash","addDash","removeDash","getCssVariableValue","availableVariables","from","styleSheets","colorHex","hexToRgb","colorParts","exec","hex","getLightness","contrastingColor","getForegroundColor","variableName","variableValue","nonColorVariables","CustomThemeMaker","PrismEditor","css","match","validate","userStyles","modalName","startBuild","loading","allowRebuild","scopedSlots","_u","fn","proxy","refreshPage","RebuildIcon","ReloadIcon","LoadingAnimation","responseData","location","reload","appVersion","finished","isUpToDate","veryOutOfDate","latestVersion","checksEnabled","checkVersion","packageUrl","version","checkIfUpToDate","currentVersion","difference","JsonEditor","CustomCssEditor","RebuildApp","AppVersion","DownloadIcon","DeleteIcon","EditIcon","CloudIcon","CustomCssIcon","LanguageIcon","IconAbout","tabInxex","itemToSelect","tabView","navItems","activeTabItem","$modal","isTheUserSure","confirm","clear","filename","filecontents","element","encodeURIComponent","display","highlighted","getElementById","innerHTML","initiateStntaxHighlighter","backupPassword","checkPass","restoreCode","restorePassword","restoreBackup","label","placeholder","updateValue","default","validator","ENDPOINT","backupEndpoint","encryptData","password","stringifiedData","encryptedData","aes","encrypt","decryptData","decrypt","Utf8","makeSubHash","backup","axios","post","userData","subHash","update","put","encodeGetParams","entries","kv","restore","params","errorMsg","decryptedData","Input","IconBackup","IconRestore","savedHash","makeUpdate","showErrorMsg","makeBackup","setBackupIdLocally","showSuccessMsg","isUpdate","makeHash","availibleLanguages","setLangLocally","saveLanguage","SaveConfigIcon","selectedLanguage","checkLocale","successMsg","hide","i18nLocales","IconSpanner","IconCloud","ConfigContainer","CloudBackupRestore","LanguageSwitcher","content","themeNames","selectedTheme","openThemeConfigurator","closeThemeConfigurator","ErrorHandler","warn","GetTheme","ApplyCustomVariables","mainCssVars","vName","themeColors","customVar","ApplyLocalTheme","newTheme","htmlTag","hasAttribute","removeAttribute","LoadExternalTheme","preloadTheme","sheet","checkTheme","themes","selectTheme","add","confTheme","userThemes","IconPalette","watch","updateTheme","builtInThemes","themeHelper","themeConfiguratorOpen","externalThemeNames","specialThemes","added","isThemeLocal","themeToCheck","resetToDefault","IconDeafault","IconHorizontal","IconVertical","IconSmall","IconMedium","IconLarge","IconLogout","shouldHide","hideWelcomeHelper","timeDelay","removeEventListener","keyPressEvent","shouldHideWelcomeMessage","$destroy","serviceWorkerInfo","getIsConfigValidStatus","showInfo","systemInfo","browser","isMobile","os","getSystemInfo","getSwStatus","isValidVar","sessionData","sessionStorage","swInfo","swStatus","registered","ready","cached","updateFound","updated","offline","devMode","userAgent","SearchBar","ConfigLauncher","ThemeSelector","LayoutSelector","ItemSizeSelector","AppButtons","KeyboardShortcutInfo","AppInfoModal","IconOpen","IconClose","something","changedTo","cssThemes","getSettingsVisibility","searchVisible","groupId","displayData","collapsed","cols","rows","color","customStyles","isGridLayout","makeId","backgroundColor","statusCheckUrl","statusCheckHeaders","newItemSize","shouldEnableStatusCheck","statusCheck","getStatusCheckInterval","triggerModal","getTooltipOptions","itemSize","getUnicodeOpeningIcon","itemOpened","button","openContextMenu","preventDefault","statusResponse","successStatus","contextMenuOpen","contextPos","posX","posY","contextItemClick","iconType","size","getEmoji","iconPath","broken","imageNotFound","BrokenImage","determineImageType","getIconPath","str","pattern","RegExp","img","fileExtRegex","validImgExtensions","splitPath","emojiCode","emojiType","fromCodePoint","substr","fullUrl","shouldUseDefaultFavicon","urlParts","host","getHostName","faviconApi","isLocalIP","imgType","makeClass","isSmall","isTransparent","openingMethod","Number","transparent","NewTabOpenIcon","SameTabOpenIcon","IframeOpenIcon","WorkspaceOpenIcon","statusText","otherStatusText","classes","_m","statusSuccess","startTime","menuEnabled","launch","isMenuDisabled","disableContextMenu","subtitle","enableStatusCheck","statusCheckInterval","getId","background","Icon","ItemOpenMethodIcon","StatusIndicator","ContextMenu","altKey","clientX","pageXOffset","clientY","pageYOffset","hotkeyText","trigger","hideOnTargetClick","html","placement","delay","urlToCheck","method","checkWebsiteStatus","setInterval","checkSpanNum","sanitizeCustomStyles","uniqueKey","getCollapseState","collapseChanged","span","classPrefix","maxSpan","numSpan","userCss","initStorage","collapseStateObject","initialiseStorage","collapseState","newState","whatChanged","setCollapseState","srcElement","checked","modalClosed","close","Collapsable","Item","IframeModal","sectionLayout","styles","itemCountX","itemCountY","itemPreference","globalPreference","interval","SettingsContainer","ItemGroup","layoutOrientation","set","filterComp","urlPattern","domainPattern","allTiles","searchTerm","modalState","availibleThemes","externalStyleSheet","externals","isArray","ext","Deafault","isNeeded","enableFontAwesome","checkIfFontAwesomeNeeded","fontAwesomeScript","faKey","fontAwesomeKey","itemsFound","backgroundImg","initiateFontAwesome","dropDownMenu","submitLogin","status","time","setTheme","launchApp","openSection","isOpen","itemClicked","SideBarItem","fill","SideBarSection","ind","SideBar","WebContent","route","$route","query","decodeURI","Vue","use","Router","isAuthenticated","router","routes","Home","meta","metaTags","metaTagData","Workspace","Login","beforeEnter","to","next","DownloadConfig","beforeEach","defaultTitle","afterEach","nextTick","setSwStatus","swStateToSet","initialSwState","disabledByUser","sessionStorageKeys","SW_STATUS","currentSwState","newSwState","shouldEnableServiceWorker","shouldEnable","disableServiceWorker","registerServiceWorker","register","log","updatefound","instances","onDocumentClick","el","contains","binding","dataset","outsideClickIndex","unbind","VueI18n","VTooltip","VModal","VTabs","Toasted","toastedOptions","VSelect","directive","clickOutside","productionTip","i18n","fallbackLocale","awesome","Dashy","$mount","HIDE_WELCOME_BANNER","COLLAPSE_STATE","BACKUP_ID","BACKUP_HASH","HIDE_SETTINGS","REBUILD_APP","THEME_MAKER","ABOUT_APP","topLevelConfKeys","SECTIONS","splashScreenTime","duration","keepOnHover","className","iconPack","faviconApiEndpoints","mcapi","clearbit","faviconkit","google","allesedv","webmasterapi"],"mappings":"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","file":"js/dashy.5dfe9eab.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"dashy\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"dashy\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"ebf9a078\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"about\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"a64c098d\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-sign-out-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"sign-out-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-trash-alt fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"trash-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 448 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M268 416h24a12 12 0 0012-12V188a12 12 0 00-12-12h-24a12 12 0 00-12 12v216a12 12 0 0012 12zM432 80h-82.41l-34-56.7A48 48 0 00274.41 0H173.59a48 48 0 00-41.16 23.3L98.41 80H16A16 16 0 000 96v16a16 16 0 0016 16h16v336a48 48 0 0048 48h288a48 48 0 0048-48V128h16a16 16 0 0016-16V96a16 16 0 00-16-16zM171.84 50.91A6 6 0 01177 48h94a6 6 0 015.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0012-12V188a12 12 0 00-12-12h-24a12 12 0 00-12 12v216a12 12 0 0012 12z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-language fa-w-20\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"language\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 640 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M160.3 203.8h-.5s-4.3 20.9-7.8 33l-11 37.3h37.9l-10.7-37.3c-3.6-12.1-7.9-33-7.9-33zM616 96H24c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h592c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zM233.2 352h-22.6a12 12 0 01-11.5-8.6l-9.3-31.7h-59.9l-9.1 31.6c-1.5 5.1-6.2 8.7-11.5 8.7H86.8c-8.2 0-14-8.1-11.4-15.9l57.1-168c1.7-4.9 6.2-8.1 11.4-8.1h32.2c5.1 0 9.7 3.3 11.4 8.1l57.1 168c2.6 7.8-3.2 15.9-11.4 15.9zM600 376H320V136h280zM372 228h110.8c-6.3 12.8-15.1 25.9-25.9 38.5-6.6-7.8-12.8-15.8-18.3-24-3.5-5.3-10.6-6.9-16.1-3.6l-13.7 8.2c-5.9 3.5-7.6 11.3-3.8 17 6.5 9.7 14.4 20.1 23.5 30.6-9 7.7-18.6 14.8-28.7 21.2-5.4 3.4-7.1 10.5-3.9 16l7.9 13.9c3.4 5.9 11 7.9 16.8 4.2 12.5-7.9 24.6-17 36-26.8 10.7 9.6 22.3 18.6 34.6 26.6 5.8 3.7 13.6 1.9 17-4.1l8-13.9c3.1-5.5 1.5-12.5-3.8-16-9.2-6-18.4-13.1-27.2-20.9 1.5-1.7 2.9-3.3 4.3-5 17.1-20.6 29.6-41.7 36.8-62H540c6.6 0 12-5.4 12-12v-16c0-6.6-5.4-12-12-12h-64v-16c0-6.6-5.4-12-12-12h-16c-6.6 0-12 5.4-12 12v16h-64c-6.6 0-12 5.4-12 12v16c0 6.7 5.4 12.1 12 12.1z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-hammer fa-w-18\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"hammer\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 576 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppButtons.vue?vue&type=style&index=0&id=d69dca9c&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=style&index=0&id=306fcc3a&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-clone fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"clone\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemGroup.vue?vue&type=style&index=0&id=cce3e8c4&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-window-maximize fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"window-maximize\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-external-link-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"external-link-alt\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M432 320h-32a16 16 0 00-16 16v112H64V128h144a16 16 0 0016-16V80a16 16 0 00-16-16H48a48 48 0 00-48 48v352a48 48 0 0048 48h352a48 48 0 0048-48V336a16 16 0 00-16-16zM488 0H360c-21.37 0-32.05 25.91-17 41l35.73 35.73L135 320.37a24 24 0 000 34L157.67 377a24 24 0 0034 0l243.61-243.68L471 169c15 15 41 4.5 41-17V24a24 24 0 00-24-24z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-info fa-w-8\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"info\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 256 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M224 352.589V224c0-16.475-6.258-31.517-16.521-42.872C225.905 161.14 236 135.346 236 108 236 48.313 187.697 0 128 0 68.313 0 20 48.303 20 108c0 20.882 5.886 40.859 16.874 58.037C15.107 176.264 0 198.401 0 224v39.314c0 23.641 12.884 44.329 32 55.411v33.864C12.884 363.671 0 384.359 0 408v40c0 35.29 28.71 64 64 64h128c35.29 0 64-28.71 64-64v-40c0-23.641-12.884-44.329-32-55.411zM128 48c33.137 0 60 26.863 60 60s-26.863 60-60 60-60-26.863-60-60 26.863-60 60-60zm80 400c0 8.836-7.164 16-16 16H64c-8.836 0-16-7.164-16-16v-40c0-8.836 7.164-16 16-16h16V279.314H64c-8.836 0-16-7.164-16-16V224c0-8.836 7.164-16 16-16h96c8.836 0 16 7.164 16 16v168h16c8.836 0 16 7.164 16 16v40z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=style&index=0&id=ec408f00&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=style&index=0&id=a7bc1de6&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=style&index=0&id=5df13ed2&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=style&index=0&id=34020d7c&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-wrench fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"wrench\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomThemeMaker.vue?vue&type=style&index=0&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-upload fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fal\",\"data-icon\":\"upload\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h124v-99.3h-52.7c-35.6 0-53.4-43.1-28.3-68.3L227.7 11.7c15.6-15.6 40.9-15.6 56.6 0L425 152.4c25.2 25.2 7.3 68.3-28.3 68.3H344V320h124c24.3 0 44 19.7 44 44zM200 188.7V376c0 4.4 3.6 8 8 8h96c4.4 0 8-3.6 8-8V188.7h84.7c7.1 0 10.7-8.6 5.7-13.7L261.7 34.3c-3.1-3.1-8.2-3.1-11.3 0L109.7 175c-5 5-1.5 13.7 5.7 13.7H200zM480 364c0-6.6-5.4-12-12-12H344v24c0 22.1-17.9 40-40 40h-96c-22.1 0-40-17.9-40-40v-24H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-browser fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"browser\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M32 36v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V36c0-26.5-21.5-48-48-48H80C53.5-12 32 9.5 32 36zm60 416c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H92zM426 36c3.3 0 6 2.7 6 6v404c0 3.3-2.7 6-6 6H168V36h258zm-310 0c6.6 0 12 5.4 12 12v280c0 6.6-5.4 12-12 12H92c-6.6 0-12-5.4-12-12V48c0-6.6 5.4-12 12-12h24z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=786dc3b6&scoped=true&lang=scss&\"","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-sync fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"sync\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M440.65 12.57l4 82.77A247.16 247.16 0 00255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0024.09 224h49.05a12 12 0 0011.67-9.26 175.91 175.91 0 01317-56.94l-101.46-4.86a12 12 0 00-12.57 12v47.41a12 12 0 0012 12H500a12 12 0 0012-12V12a12 12 0 00-12-12h-47.37a12 12 0 00-11.98 12.57zM255.83 432a175.61 175.61 0 01-146-77.8l101.8 4.87a12 12 0 0012.57-12v-47.4a12 12 0 00-12-12H12a12 12 0 00-12 12V500a12 12 0 0012 12h47.35a12 12 0 0012-12.6l-4.15-82.57A247.17 247.17 0 00255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 00-11.8-14.18h-49.05a12 12 0 00-11.67 9.26A175.86 175.86 0 01255.83 432z\"}})])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [\"svg-inline--fa fa-palette fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"palette\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M128 224c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.4-32-32-32zM418.6 58.1C359.2 9.3 281.3-10 204.6 5 104.9 24.4 24.7 104.2 5.1 203.7c-16.7 84.2 8.1 168.3 67.8 230.6 47.3 49.4 109.7 77.8 167.9 77.8 8.8 0 17.5-.6 26.1-2 24.2-3.7 44.6-18.7 56.1-41.1 12.3-24 12.3-52.7.2-76.6-6.1-12-5.5-26.2 1.8-38 7-11.8 18.7-18.4 32-18.4h72.2c46.4 0 82.8-35.7 82.8-81.3-.2-76.4-34.3-148.1-93.4-196.6zM429.2 288H357c-29.9 0-57.2 15.4-73 41.3-16 26.1-17.3 57.8-3.6 84.9 5.1 10.1 5.1 22.7-.2 32.9-2.6 5-8.7 13.7-20.6 15.6-49.3 7.7-108.9-16.6-152-61.6-48.8-50.9-69-119.4-55.4-188 15.9-80.6 80.8-145.3 161.6-161 62.6-12.3 126.1 3.5 174.3 43.1 48.1 39.5 75.7 97.6 75.9 159.6 0 18.6-15.3 33.2-34.8 33.2zM160 128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.4-32-32-32zm96-32.1c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32c0-17.6-14.3-32-32-32zm96 32.1c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebContent.vue?vue&type=style&index=0&id=a2564c04&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=style&index=0&id=079113a8&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"dashy\"}},[(_vm.shouldShowSplash())?_c('LoadingScreen',{attrs:{\"isLoading\":_vm.isLoading}}):_vm._e(),_c('Header',{attrs:{\"pageInfo\":_vm.pageInfo}}),_c('router-view'),(_vm.visibleComponents.footer)?_c('Footer',{attrs:{\"text\":_vm.getFooterText()}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',[(_vm.titleVisible)?_c('PageTitle',{attrs:{\"title\":_vm.pageInfo.title,\"description\":_vm.pageInfo.description}}):_vm._e(),(_vm.navVisible)?_c('Nav',{staticClass:\"nav\",attrs:{\"links\":_vm.pageInfo.navLinks}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{staticClass:\"page-titles\",attrs:{\"to\":\"/\"}},[_c('h1',[_vm._v(_vm._s(_vm.title))]),_c('span',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.description))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageTitle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageTitle.vue?vue&type=template&id=34020d7c&scoped=true&\"\nimport script from \"./PageTitle.vue?vue&type=script&lang=js&\"\nexport * from \"./PageTitle.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PageTitle.vue?vue&type=style&index=0&id=34020d7c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34020d7c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{attrs:{\"id\":\"nav\"}},_vm._l((_vm.links),function(link,index){return _c('router-link',{key:index,staticClass:\"nav-item\",attrs:{\"to\":link.path,\"href\":link.path,\"target\":_vm.isUrl(link.path) ? '_blank' : '',\"rel\":\"noopener noreferrer\"}},[_vm._v(_vm._s(link.title))])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Nav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Nav.vue?vue&type=template&id=68c1bd5c&scoped=true&\"\nimport script from \"./Nav.vue?vue&type=script&lang=js&\"\nexport * from \"./Nav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Nav.vue?vue&type=style&index=0&id=68c1bd5c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68c1bd5c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=786dc3b6&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=786dc3b6&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"786dc3b6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.text && _vm.text !== '')?_c('footer',{domProps:{\"innerHTML\":_vm._s(_vm.text)}}):_c('footer',[_vm._v(\" Developed by \"),_c('a',{attrs:{\"href\":_vm.authorUrl}},[_vm._v(_vm._s(_vm.authorName))]),_vm._v(\". Licensed under \"),_c('a',{attrs:{\"href\":_vm.licenseUrl}},[_vm._v(_vm._s(_vm.license))]),_vm._v(\" \"+_vm._s(_vm.showCopyright? '©': '')+\" \"+_vm._s(_vm.date)+\". Get the \"),_c('a',{attrs:{\"href\":_vm.repoUrl}},[_vm._v(\"Source Code\")]),_vm._v(\". \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=64591bd5&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=64591bd5&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64591bd5\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"slide-fade\"}},[(_vm.isLoading)?_c('div',{class:_vm.c,attrs:{\"id\":\"loading\"},on:{\"click\":function($event){_vm.c = 'hide'}}},[_c('h2',[_vm._v(\"Dashy\")]),_c('div',{staticClass:\"inner-container\"},[_c('p',[_vm._v(\"Loading\")]),_c('span',{staticClass:\"dots-cont\"},[_c('span',{staticClass:\"dot dot-1\"}),_c('span',{staticClass:\"dot dot-2\"}),_c('span',{staticClass:\"dot dot-3\"}),_c('span',{staticClass:\"dot dot-4\"})])])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingScreen.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingScreen.vue?vue&type=template&id=a7bc1de6&scoped=true&\"\nimport script from \"./LoadingScreen.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingScreen.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoadingScreen.vue?vue&type=style&index=0&id=a7bc1de6&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a7bc1de6\",\n null\n \n)\n\nexport default component.exports","/**\n * Reads the users config from `conf.yml`, and combines it with any local preferences\n * Also ensures that any missing attributes are populated with defaults, and the\n * object is structurally sound, to avoid any error if the user is missing something\n * The main config object is made up of three parts: appConfig, pageInfo and sections\n * For anything other than these three sections, please see @utils/ConfigHelpers.js\n */\nimport {\n localStorageKeys,\n appConfig as defaultAppConfig,\n pageInfo as defaultPageInfo,\n iconSize as defaultIconSize,\n layout as defaultLayout,\n language as defaultLanguage,\n} from '@/utils/defaults';\n\nimport conf from '../../public/conf.yml';\n\nexport default class ConfigAccumulator {\n constructor() {\n this.conf = conf;\n }\n\n /* App Config */\n appConfig() {\n const appConfigFile = this.conf.appConfig || {};\n let usersAppConfig = defaultAppConfig;\n if (localStorage[localStorageKeys.APP_CONFIG]) {\n usersAppConfig = JSON.parse(localStorage[localStorageKeys.APP_CONFIG]);\n } else if (appConfigFile !== {}) {\n usersAppConfig = appConfigFile;\n }\n usersAppConfig.layout = localStorage[localStorageKeys.LAYOUT_ORIENTATION]\n || appConfigFile.layout || defaultLayout;\n usersAppConfig.iconSize = localStorage[localStorageKeys.ICON_SIZE]\n || appConfigFile.iconSize || defaultIconSize;\n usersAppConfig.language = localStorage[localStorageKeys.LANGUAGE]\n || appConfigFile.language || defaultLanguage;\n return usersAppConfig;\n }\n\n /* Page Info */\n pageInfo() {\n const defaults = defaultPageInfo;\n let localPageInfo;\n try {\n localPageInfo = JSON.parse(localStorage[localStorageKeys.PAGE_INFO]);\n } catch (e) {\n localPageInfo = {};\n }\n const pi = this.conf.pageInfo || defaults; // The page info object to return\n pi.title = localPageInfo.title || conf.pageInfo.title || defaults.title;\n pi.description = localPageInfo.description || conf.pageInfo.description || defaults.description;\n pi.navLinks = localPageInfo.navLinks || conf.pageInfo.navLinks || defaults.navLinks;\n pi.footerText = localPageInfo.footerText || conf.pageInfo.footerText || defaults.footerText;\n return pi;\n }\n\n /* Sections */\n sections() {\n // If the user has stored sections in local storage, return those\n const localSections = localStorage[localStorageKeys.CONF_SECTIONS];\n if (localSections) {\n try {\n const json = JSON.parse(localSections);\n if (json.length >= 1) return json;\n } catch (e) {\n // The data in local storage has been malformed, will return conf.sections instead\n }\n }\n // If the function hasn't yet returned, then return the config file sections\n return this.conf.sections;\n }\n\n /* Complete config */\n config() {\n return {\n appConfig: this.appConfig(),\n pageInfo: this.pageInfo(),\n sections: this.sections(),\n };\n }\n}\n","// Locales - Import translation files here!\nimport en from '@/assets/locales/en.json';\n\n// Language data - Add your country name, locale code and imported file here\nexport const languages = [\n {\n name: 'English',\n code: 'en',\n locale: en,\n flag: '🇬🇧',\n },\n // Including:\n // name - Human readable name for your language (e.g German)\n // code - ISO language code (e.g. de)\n // locale - The file that you imported above\n // flag - A nice emoji flag (optional, e.g. 🇩🇪)\n];\n\nconst i18nMessages = {};\nlanguages.forEach((lang) => {\n i18nMessages[lang.code] = lang.locale;\n});\nexport const messages = i18nMessages;\n","import ConfigAccumulator from '@/utils/ConfigAccumalator';\nimport { languages } from '@/utils/languages';\nimport {\n visibleComponents,\n localStorageKeys,\n theme as defaultTheme,\n language as defaultLanguage,\n} from '@/utils/defaults';\n\n/**\n * Initiates the Accumulator class and generates a complete config object\n * Self-executing function, returns the full user config as a JSON object\n */\nexport const config = (() => {\n const Accumulator = new ConfigAccumulator();\n return Accumulator.config();\n})();\n\n/**\n * Generates an object containing booleans indicating which\n * components should be hidden. This enables the user to hide\n * parts of the page and disable functionality that they don't need/ want\n * All options fallback on the values defined in the defaults\n * @param {object} appConfig The full app config\n * @returns {object} result\n */\nexport const componentVisibility = (appConfig) => {\n // Get users choice from app config\n const usersChoice = appConfig.hideComponents || {};\n // Checks if value is defined, and is a boolean\n const isThere = (userValue) => typeof userValue === 'boolean';\n // For each option, return users choice (if specified), else use the default\n return {\n pageTitle: isThere(usersChoice.hideHeading)\n ? !usersChoice.hideHeading : visibleComponents.pageTitle,\n navigation: isThere(usersChoice.hideNav)\n ? !usersChoice.hideNav : visibleComponents.navigation,\n searchBar: isThere(usersChoice.hideSearch)\n ? !usersChoice.hideSearch : visibleComponents.searchBar,\n settings: isThere(usersChoice.hideSettings)\n ? !usersChoice.hideSettings : visibleComponents.settings,\n footer: isThere(usersChoice.hideFooter)\n ? !usersChoice.hideFooter : visibleComponents.footer,\n splashScreen: isThere(usersChoice.hideSplashScreen)\n ? !usersChoice.hideSplashScreen : visibleComponents.splashScreen,\n };\n};\n\n/**\n * Gets the users saved theme, first looks for local storage theme,\n * then looks at user's appConfig, and finally checks the defaults\n * @returns {string} Name of theme to apply\n */\nexport const getTheme = () => {\n const localTheme = localStorage[localStorageKeys.THEME];\n const appConfigTheme = config.appConfig.theme;\n return localTheme || appConfigTheme || defaultTheme;\n};\n\n/**\n * Gets any custom styles the user has applied, wither from local storage, or from the config\n * @returns {object} An array of objects, one for each theme, containing kvps for variables\n */\nexport const getCustomColors = () => {\n const localColors = JSON.parse(localStorage[localStorageKeys.CUSTOM_COLORS] || '{}');\n const configColors = config.appConfig.customColors || {};\n return Object.assign(configColors, localColors);\n};\n\n/**\n * Returns a list of items which the user has assigned a hotkey to\n * So that when the hotkey is pressed, the app/ service can be launched\n */\nexport const getCustomKeyShortcuts = () => {\n const results = [];\n const sections = config.sections || [];\n sections.forEach((section) => {\n const itemsWithHotKeys = section.items.filter(item => item.hotkey);\n results.push(itemsWithHotKeys.map(item => ({ hotkey: item.hotkey, url: item.url })));\n });\n return results.flat();\n};\n\n/**\n * Gets the users chosen language. Defaults to English.\n * @returns {object} Language, including code, name and flag\n */\nexport const getUsersLanguage = () => {\n const langCode = localStorage[localStorageKeys.LANGUAGE]\n || config.appConfig.language\n || defaultLanguage;\n const langObj = languages.find(lang => lang.code === langCode);\n return langObj;\n};\n","\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--11-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--11-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=20d36084&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\",style:(_vm.getBackgroundImage())},[_c('SettingsContainer',{ref:\"filterComp\",staticClass:\"settings-outer\",attrs:{\"displayLayout\":_vm.layout,\"iconSize\":_vm.itemSizeBound,\"externalThemes\":_vm.getExternalCSSLinks(),\"sections\":_vm.getSections(_vm.sections),\"appConfig\":_vm.appConfig,\"pageInfo\":_vm.pageInfo,\"modalOpen\":_vm.modalOpen},on:{\"user-is-searchin\":_vm.searching,\"change-display-layout\":_vm.setLayoutOrientation,\"change-icon-size\":_vm.setItemSize,\"change-modal-visibility\":_vm.updateModalVisibility}}),(_vm.checkTheresData(_vm.sections))?_c('div',{class:(\"item-group-container orientation-\" + _vm.layout + \" item-size-\" + _vm.itemSizeBound)},_vm._l((_vm.getSections(_vm.sections)),function(section,index){return _c('ItemGroup',{key:index,class:(_vm.filterTiles(section.items).length === 0 && _vm.searchValue) ? 'no-results' : '',attrs:{\"title\":section.name,\"icon\":section.icon || undefined,\"displayData\":_vm.getDisplayData(section),\"groupId\":(\"section-\" + index),\"items\":_vm.filterTiles(section.items),\"itemSize\":_vm.itemSizeBound},on:{\"itemClicked\":function($event){return _vm.finishedSearching()},\"change-modal-visibility\":_vm.updateModalVisibility}})}),1):_vm._e(),(_vm.checkIfResults())?_c('div',{staticClass:\"no-data\"},[_vm._v(\" \"+_vm._s(_vm.searchValue ? _vm.$t('home.no-results') : _vm.$t('home.no-data'))+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[(_vm.searchVisible)?_c('SearchBar',{ref:\"SearchBar\",attrs:{\"active\":!_vm.modalOpen},on:{\"user-is-searchin\":_vm.userIsTypingSomething}}):_vm._e(),_c('div',{staticClass:\"options-outer\"},[_c('div',{class:(\"options-container \" + (!_vm.settingsVisible ? 'hide' : ''))},[_c('ThemeSelector',{attrs:{\"externalThemes\":_vm.externalThemes,\"confTheme\":_vm.getInitialTheme(),\"userThemes\":_vm.getUserThemes()},on:{\"modalChanged\":_vm.modalChanged}}),_c('LayoutSelector',{attrs:{\"displayLayout\":_vm.displayLayout},on:{\"layoutUpdated\":_vm.updateDisplayLayout}}),_c('ItemSizeSelector',{attrs:{\"iconSize\":_vm.iconSize},on:{\"iconSizeUpdated\":_vm.updateIconSize}}),_c('ConfigLauncher',{attrs:{\"sections\":_vm.sections,\"pageInfo\":_vm.pageInfo,\"appConfig\":_vm.appConfig},on:{\"modalChanged\":_vm.modalChanged}}),(_vm.isUserLoggedIn())?_c('AppButtons'):_vm._e()],1),_c('div',{class:(\"show-hide-container \" + (_vm.settingsVisible? 'hide-btn' : 'show-btn'))},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(((_vm.settingsVisible? 'Hide' : 'Open') + \" Settings Menu\")),expression:\"`${settingsVisible? 'Hide' : 'Open'} Settings Menu`\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.toggleSettingsVisibility()}}},[(_vm.settingsVisible)?_c('IconClose'):_c('IconOpen')],1)])]),_c('KeyboardShortcutInfo'),_c('AppInfoModal')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',[_c('label',{attrs:{\"for\":\"filter-tiles\"}},[_vm._v(_vm._s(_vm.$t('search.search-label')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],ref:\"filter\",attrs:{\"id\":\"filter-tiles\",\"placeholder\":_vm.$t('search.search-placeholder')},domProps:{\"value\":(_vm.input)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.input=$event.target.value},_vm.userIsTypingSomething],\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.clearFilterInput.apply(null, arguments)}}}),(_vm.input.length > 0)?_c('i',{staticClass:\"clear-search\",attrs:{\"title\":_vm.$t('search.clear-search-tooltip')},on:{\"click\":_vm.clearFilterInput}},[_vm._v(\"x\")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * Class encapsulating the functionality that enables the user to\n * navigate through tiles/ search result grid using the arrow keys\n * This code is very hacky, it's best not to look at it for too long\n */\nexport default class ArrowKeyNavigation {\n constructor(index) {\n this.index = index;\n }\n\n resetIndex() {\n this.index = 0;\n }\n\n /* Figures out which element is next, based on the key pressed *\n * current index and total number of items. Then calls focus function */\n arrowNavigation(key) {\n if (this.index === undefined) this.index = 0; // Start at beginning\n else if (key === 37) { // Left --> Previous\n this.index -= 1;\n } else if (key === 38) { // Up --> Previous\n this.index = ArrowKeyNavigation.goToPrevious(this.index);\n } else if (key === 39) { // Right --> Next\n this.index += 1;\n } else if (key === 40) { // Down --> Next\n this.index = ArrowKeyNavigation.goToNext(this.index);\n }\n /* Ensure the index is within bounds, then focus element */\n this.index = ArrowKeyNavigation.getSafeElementIndex(this.index);\n ArrowKeyNavigation.selectItemByIndex(this.index).focus();\n }\n\n /* Returns the number of visible items / results */\n static getNumResults() {\n return document.getElementsByClassName('item').length;\n }\n\n /* Returns the index for an element, ensuring that it's within bounds */\n static getSafeElementIndex(index) {\n const numResults = ArrowKeyNavigation.getNumResults();\n if (index < 0) return numResults - 1;\n else if (index >= numResults) return 0;\n return index;\n }\n\n /* Selects a given element, by it's ID. If out of bounds, returns element 0 */\n static selectItemByIndex(index) {\n return (index >= 0 && index <= ArrowKeyNavigation.getNumResults())\n ? document.getElementsByClassName('item')[index] : [document.getElementsByClassName('item')];\n }\n\n /* Returns the index of the first cell in the previous/ above row */\n static findPreviousRow(startingIndex) {\n const isSameRow = (indx, pos) => ArrowKeyNavigation.selectItemByIndex(indx).offsetTop === pos;\n const checkPreviousIndex = (currentIndex, yPos) => {\n if (currentIndex >= ArrowKeyNavigation.getNumResults()) return checkPreviousIndex(0, yPos);\n else if (isSameRow(currentIndex, yPos)) return checkPreviousIndex(currentIndex - 1, yPos);\n return currentIndex;\n };\n const position = ArrowKeyNavigation.selectItemByIndex(startingIndex).offsetTop;\n return checkPreviousIndex(startingIndex, position);\n }\n\n /* Moves to the cell directly above the current */\n static goToPrevious(startingIndex) {\n const isBelow = (start, end) => (ArrowKeyNavigation.selectItemByIndex(start).offsetTop\n < ArrowKeyNavigation.selectItemByIndex(end).offsetTop);\n const nextIndex = ArrowKeyNavigation.findPreviousRow(startingIndex);\n const count = nextIndex - startingIndex;\n const rowLen = nextIndex - ArrowKeyNavigation.findNextRow(startingIndex) + 1;\n const adjustment = isBelow(startingIndex, nextIndex) ? 0 : rowLen - count;\n return nextIndex + adjustment;\n }\n\n /* Returns the index of the first cell in the next/ below row */\n static findNextRow(startingIndex) {\n const isSameRow = (indx, pos) => ArrowKeyNavigation.selectItemByIndex(indx).offsetTop === pos;\n const checkNextIndex = (currentIndex, yPos) => {\n if (currentIndex >= ArrowKeyNavigation.getNumResults()) return checkNextIndex(0, yPos);\n else if (isSameRow(currentIndex, yPos)) return checkNextIndex(currentIndex + 1, yPos);\n return currentIndex;\n };\n const position = ArrowKeyNavigation.selectItemByIndex(startingIndex).offsetTop;\n return checkNextIndex(startingIndex, position);\n }\n\n /* Moves to the cell directly below the current */\n static goToNext(startingIndex) {\n const isAbove = (start, end) => (ArrowKeyNavigation.selectItemByIndex(start).offsetTop\n > ArrowKeyNavigation.selectItemByIndex(end).offsetTop);\n const nextIndex = ArrowKeyNavigation.findNextRow(startingIndex);\n const count = nextIndex - startingIndex;\n const rowLen = nextIndex - ArrowKeyNavigation.findPreviousRow(startingIndex) - 1;\n const adjustment = isAbove(startingIndex, nextIndex) ? 0 : rowLen - count;\n return nextIndex + adjustment;\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchBar.vue?vue&type=template&id=2350dd8e&scoped=true&\"\nimport script from \"./SearchBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchBar.vue?vue&type=style&index=0&id=2350dd8e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2350dd8e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"config-options\"},[_c('span',[_vm._v(_vm._s(_vm.$t('settings.config-launcher-label')))]),_c('div',{staticClass:\"config-buttons\"},[_c('IconSpanner',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Update configuration')),expression:\"tooltip('Update configuration')\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.showEditor()}}}),_c('IconCloud',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Backup / restore cloud config')),expression:\"tooltip('Backup / restore cloud config')\"}],attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.showCloudModal()}}})],1),_c('modal',{attrs:{\"name\":_vm.modalNames.CONF_EDITOR,\"resizable\":true,\"width\":\"60%\",\"height\":\"85%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.$emit('modalChanged', false)}}},[_c('ConfigContainer',{attrs:{\"config\":_vm.combineConfig()}})],1),_c('modal',{attrs:{\"name\":_vm.modalNames.CLOUD_BACKUP,\"resizable\":true,\"width\":\"65%\",\"height\":\"60%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.$emit('modalChanged', false)}}},[_c('CloudBackupRestore',{attrs:{\"config\":_vm.combineConfig()}})],1),_c('modal',{attrs:{\"name\":_vm.modalNames.LANG_SWITCHER,\"classes\":\"dashy-modal\",\"resizable\":true,\"width\":\"30%\",\"height\":\"25%\"}},[_c('LanguageSwitcher')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Tabs',{ref:\"tabView\",attrs:{\"navAuto\":true,\"name\":\"Add Item\"}},[_c('TabItem',{staticClass:\"main-tab\",attrs:{\"name\":_vm.$t('config.main-tab')}},[_c('div',{staticClass:\"main-options-container\"},[_c('h2',[_vm._v(\"Configuration Options\")]),_c('a',{staticClass:\"hyperlink-wrapper\",on:{\"click\":function($event){return _vm.downloadConfigFile('conf.yml', _vm.yaml)}}},[_c('button',{staticClass:\"config-button center\"},[_c('DownloadIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.$t('config.download-config-button'))+\" \")],1)]),_c('button',{staticClass:\"config-button center\",on:{\"click\":function () { return _vm.navigateToTab(2); }}},[_c('EditIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.$t('config.edit-config-button'))+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function () { return _vm.navigateToTab(3); }}},[_c('CustomCssIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.$t('config.edit-css-button'))+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openCloudSync()}}},[_c('CloudIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.backupId ? _vm.$t('config.edit-cloud-sync-button') : _vm.$t('config.cloud-sync-button'))+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openLanguageSwitchModal()}}},[_c('LanguageIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.$t('config.change-language-button'))+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openRebuildAppModal()}}},[_c('RebuildIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.$t('config.rebuild-app-button'))+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.resetLocalSettings()}}},[_c('DeleteIcon',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.$t('config.reset-settings-button'))+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openAboutModal()}}},[_c('IconAbout',{staticClass:\"button-icon\"}),_vm._v(\" \"+_vm._s(_vm.$t('config.app-info-button'))+\" \")],1),_c('p',{staticClass:\"small-screen-note\",staticStyle:{\"display\":\"none\"}},[_vm._v(\" You are using a very small screen, and some screens in this menu may not be optimal \")]),_c('p',{staticClass:\"language\"},[_vm._v(_vm._s(_vm.getLanguage()))]),_c('AppVersion'),_c('div',{staticClass:\"config-note\"},[_c('span',[_vm._v(_vm._s(_vm.$t('config.backup-note')))])])],1),_c('RebuildApp')],1),_c('TabItem',{staticClass:\"code-container\",attrs:{\"name\":_vm.$t('config.view-config-tab')}},[_c('pre',{attrs:{\"id\":\"conf-yaml\"}},[_vm._v(_vm._s(_vm.yaml))]),_c('div',{staticClass:\"yaml-action-buttons\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('config.actions-label')))]),_c('a',{staticClass:\"yaml-button download\",on:{\"click\":function($event){return _vm.downloadConfigFile('conf.yml', _vm.yaml)}}},[_vm._v(\" \"+_vm._s(_vm.$t('config.download-config-button'))+\" \")]),_c('a',{staticClass:\"yaml-button copy\",on:{\"click\":function($event){return _vm.copyConfigToClipboard()}}},[_vm._v(\" \"+_vm._s(_vm.$t('config.copy-config-label'))+\" \")]),_c('a',{staticClass:\"yaml-button reset\",on:{\"click\":function($event){return _vm.resetLocalSettings()}}},[_vm._v(\" \"+_vm._s(_vm.$t('config.reset-config-label'))+\" \")])])]),_c('TabItem',{attrs:{\"name\":_vm.$t('config.edit-config-tab')}},[_c('JsonEditor',{attrs:{\"config\":_vm.config}})],1),_c('TabItem',{attrs:{\"name\":_vm.$t('config.custom-css-tab')}},[_c('CustomCssEditor',{attrs:{\"config\":_vm.config}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { typeOf } from 'remedial';\n\nconst trimWhitespace = (input) => input.split('\\n').map(x => x.trimRight()).join('\\n');\n\nconst throwError = (msg) => {\n throw new Error(`Error in Json to YAML conversion: ${msg}`);\n};\n\n/* A function that converts valid JSON into valid YAML */\nconst stringify = (data) => {\n let indentLevel = '';\n const handlers = {\n undefined() {\n return 'null';\n },\n null() {\n return 'null';\n },\n number(x) {\n return x;\n },\n boolean(x) {\n return x ? 'true' : 'false';\n },\n string(x) {\n return JSON.stringify(x);\n },\n array(x) {\n let output = '';\n if (x.length === 0) {\n output += '[]';\n return output;\n }\n\n indentLevel = indentLevel.replace(/$/, ' ');\n x.forEach((y) => {\n const handler = handlers[typeOf(y)];\n\n if (!handler) throwError(typeOf(y));\n\n output += `\\n${indentLevel}- ${handler(y, true)}`;\n });\n indentLevel = indentLevel.replace(/ {2}/, '');\n\n return output;\n },\n object(x, inArray, rootNode) {\n let output = '';\n\n if (Object.keys(x).length === 0) {\n output += '{}';\n return output;\n }\n\n if (!rootNode) {\n indentLevel = indentLevel.replace(/$/, ' ');\n }\n\n Object.keys(x).forEach((k, i) => {\n const val = x[k];\n const handler = handlers[typeOf(val)];\n\n if (typeof val === 'undefined') {\n return;\n }\n\n if (!handler) throwError(typeOf(val));\n\n if (!(inArray && i === 0)) {\n output += `\\n${indentLevel}`;\n }\n\n output += `${k}: ${handler(val)}`;\n });\n indentLevel = indentLevel.replace(/ {2}/, '');\n\n return output;\n },\n function() {\n return '[object Function]';\n },\n };\n\n return trimWhitespace(`${handlers[typeOf(data)](data, true, true)}\\n`);\n};\n\nexport default stringify;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"json-editor-outer\"},[_c('v-jsoneditor',{attrs:{\"options\":_vm.options,\"height\":\"500px\"},model:{value:(_vm.jsonData),callback:function ($$v) {_vm.jsonData=$$v},expression:\"jsonData\"}}),_c('div',{staticClass:\"save-options\"},[_c('span',{staticClass:\"save-option-title\"},[_vm._v(_vm._s(_vm.$t('config-editor.save-location-label'))+\":\")]),_c('div',{staticClass:\"option\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.saveMode),expression:\"saveMode\"}],staticClass:\"radio-option\",attrs:{\"type\":\"radio\",\"id\":\"local\",\"value\":\"local\",\"disabled\":!_vm.allowWriteToDisk},domProps:{\"checked\":_vm._q(_vm.saveMode,\"local\")},on:{\"change\":function($event){_vm.saveMode=\"local\"}}}),_c('label',{staticClass:\"save-option-label\",attrs:{\"for\":\"local\"}},[_vm._v(\" \"+_vm._s(_vm.$t('config-editor.location-local-label'))+\" \")])]),_c('div',{staticClass:\"option\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.saveMode),expression:\"saveMode\"}],staticClass:\"radio-option\",attrs:{\"type\":\"radio\",\"id\":\"file\",\"value\":\"file\",\"disabled\":!_vm.allowWriteToDisk},domProps:{\"checked\":_vm._q(_vm.saveMode,\"file\")},on:{\"change\":function($event){_vm.saveMode=\"file\"}}}),_c('label',{staticClass:\"save-option-label\",attrs:{\"for\":\"file\"}},[_vm._v(\" \"+_vm._s(_vm.$t('config-editor.location-disk-label'))+\" \")])])]),_c('button',{class:(\"save-button \" + (!_vm.isValid ? 'err' : '')),on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\" \"+_vm._s(_vm.$t('config-editor.save-button'))+\" \")]),_c('p',{staticClass:\"errors\"},[_c('ul',[_vm._l((_vm.errorMessages),function(error,index){return _c('li',{key:index,class:(\"type-\" + (error.type))},[_vm._v(\" \"+_vm._s(error.msg)+\" \")])}),(_vm.errorMessages.length < 1)?_c('li',{staticClass:\"type-valid\"},[_vm._v(\" \"+_vm._s(_vm.$t('config-editor.valid-label'))+\" \")]):_vm._e()],2)]),(_vm.saveSuccess !== undefined)?_c('p',{class:(\"response-output status-\" + (_vm.saveSuccess ? 'success' : 'fail'))},[_vm._v(\" \"+_vm._s(_vm.saveSuccess ? _vm.$t('config-editor.status-success-msg') : _vm.$t('config-editor.status-fail-msg'))+\" \")]):_vm._e(),_c('p',{staticClass:\"response-output\"},[_vm._v(_vm._s(_vm.responseText))]),(_vm.saveSuccess)?_c('p',{staticClass:\"response-output\"},[_vm._v(\" \"+_vm._s(_vm.$t('config-editor.success-note-l1'))+\" \"+_vm._s(_vm.$t('config-editor.success-note-l2'))+\" \"+_vm._s(_vm.$t('config-editor.success-note-l3'))+\" \")]):_vm._e(),_c('p',{staticClass:\"note\"},[_vm._v(_vm._s(_vm.$t('config.backup-note')))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import sha256 from 'crypto-js/sha256';\nimport { cookieKeys, localStorageKeys } from './defaults';\n\n/**\n * Generates a 1-way hash, in order to be stored in local storage for authentication\n * @param {String} user The username of user\n * @returns {String} The hashed token\n */\nconst generateUserToken = (user) => sha256(user.toString()).toString().toLowerCase();\n\n/**\n * Checks if the user is currently authenticated\n * @param {Array[Object]} users An array of user objects pulled from the config\n * @returns {Boolean} Will return true if the user is logged in, else false\n */\nexport const isLoggedIn = (users) => {\n const validTokens = users.map((user) => generateUserToken(user));\n let userAuthenticated = false;\n document.cookie.split(';').forEach((cookie) => {\n if (cookie && cookie.split('=').length > 1) {\n const cookieKey = cookie.split('=')[0].trim();\n const cookieValue = cookie.split('=')[1].trim();\n if (cookieKey === cookieKeys.AUTH_TOKEN) {\n if (validTokens.includes(cookieValue)) {\n userAuthenticated = true;\n }\n }\n }\n });\n return userAuthenticated;\n};\n\n/**\n * Checks credentials entered by the user against those in the config\n * Returns an object containing a boolean indicating success/ failure\n * along with a message outlining what's not right\n * @param {String} username The username entered by the user\n * @param {String} pass The password entered by the user\n * @param {String[]} users An array of valid user objects\n * @returns {Object} An object containing a boolean result and a message\n */\nexport const checkCredentials = (username, pass, users) => {\n let response;\n if (!username) {\n response = { correct: false, msg: 'Missing Username' };\n } else if (!pass) {\n response = { correct: false, msg: 'Missing Password' };\n } else {\n users.forEach((user) => {\n if (user.user === username) {\n if (user.hash.toLowerCase() === sha256(pass).toString().toLowerCase()) {\n response = { correct: true, msg: 'Logging in...' };\n } else {\n response = { correct: false, msg: 'Incorrect Password' };\n }\n }\n });\n }\n return response || { correct: false, msg: 'User not found' };\n};\n\n/**\n * Sets the cookie value in order to login the user locally\n * @param {String} username - The users username\n * @param {String} pass - Password, not yet hashed\n * @param {Number} timeout - A desired timeout for the session, in ms\n */\nexport const login = (username, pass, timeout) => {\n const now = new Date();\n const expiry = new Date(now.setTime(now.getTime() + timeout)).toGMTString();\n const userObject = { user: username, hash: sha256(pass).toString().toLowerCase() };\n document.cookie = `authenticationToken=${generateUserToken(userObject)};`\n + `${timeout > 0 ? `expires=${expiry}` : ''}`;\n localStorage.setItem(localStorageKeys.USERNAME, username);\n};\n\n/**\n * Removed the browsers cookie, causing user to be logged out\n */\nexport const logout = () => {\n document.cookie = 'authenticationToken=null';\n localStorage.removeItem(localStorageKeys.USERNAME);\n};\n\n/**\n * Checks if the current user has admin privileges.\n * If no users are setup, then function will always return true\n * But if auth is configured, then will verify user is correctly\n * logged in and then check weather they are of type admin, and\n * return false if any conditions fail\n * @param {String[]} - Array of users\n * @returns {Boolean} - True if admin privileges\n */\nexport const isUserAdmin = (users) => {\n if (!users || users.length === 0) return true; // Authentication not setup\n if (!isLoggedIn(users)) return false; // Auth setup, but not signed in as a valid user\n const currentUser = localStorage[localStorageKeys.USERNAME];\n let isAdmin = false;\n users.forEach((user) => {\n if (user.user === currentUser) {\n if (user.type === 'admin') isAdmin = true;\n }\n });\n return isAdmin;\n};\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JsonEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./JsonEditor.vue?vue&type=template&id=7d835e5f&\"\nimport script from \"./JsonEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./JsonEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./JsonEditor.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"css-editor-outer\"},[_c('prism-editor',{staticClass:\"my-editor\",attrs:{\"highlight\":_vm.highlighter,\"line-numbers\":\"\"},model:{value:(_vm.customCss),callback:function ($$v) {_vm.customCss=$$v},expression:\"customCss\"}}),_c('button',{staticClass:\"save-button\",on:{\"click\":function($event){return _vm.save()}}},[_vm._v(_vm._s(_vm.$t('config.css-save-btn')))]),_c('p',{staticClass:\"quick-note\"},[_c('b',[_vm._v(_vm._s(_vm.$t('config.css-note-label'))+\":\")]),_vm._v(\" \"+_vm._s(_vm.$t('config.css-note-l1'))+\" \"+_vm._s(_vm.$t('config.css-note-l2'))+\" \"+_vm._s(_vm.$t('config.css-note-l3'))+\" \")]),_c('CustomThemeMaker',{staticClass:\"color-config\",attrs:{\"themeToEdit\":_vm.currentTheme}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"theme-configurator-wrapper \" + (_vm.showingAllVars ? 'showing-all' : ''))},[_c('h3',{staticClass:\"configurator-title\"},[_vm._v(_vm._s(_vm.$t('theme-maker.title')))]),_c('div',{staticClass:\"color-row-container\"},_vm._l((Object.keys(_vm.customColors)),function(colorName){return _c('div',{key:colorName,staticClass:\"color-row\"},[_c('label',{staticClass:\"color-name\",attrs:{\"for\":(\"color-input-\" + colorName)}},[_vm._v(\" \"+_vm._s(colorName.replaceAll('-', ' '))+\" \")]),(_vm.isColor(colorName, _vm.customColors[colorName]))?_c('v-swatches',{attrs:{\"show-fallback\":\"\",\"fallback-input-type\":\"color\",\"popover-x\":\"left\",\"swatches\":_vm.swatches},on:{\"input\":function($event){return _vm.setVariable(colorName, _vm.customColors[colorName])}},model:{value:(_vm.customColors[colorName]),callback:function ($$v) {_vm.$set(_vm.customColors, colorName, $$v)},expression:\"customColors[colorName]\"}},[_c('input',{staticClass:\"swatch-input form__input__element\",style:(_vm.makeSwatchStyles(colorName)),attrs:{\"slot\":\"trigger\",\"id\":(\"color-input-\" + colorName),\"readonly\":\"\"},domProps:{\"value\":_vm.customColors[colorName]},slot:\"trigger\"})]):_c('input',{staticClass:\"misc-input\",attrs:{\"id\":(\"color-input-\" + colorName)},domProps:{\"value\":_vm.customColors[colorName]},on:{\"input\":function($event){return _vm.setVariable(colorName, _vm.customColors[colorName])}}})],1)}),0),_c('p',{staticClass:\"action-text-btn\",on:{\"click\":_vm.exportToClipboard}},[_vm._v(\" \"+_vm._s(_vm.$t('theme-maker.export-button'))+\" \")]),_c('p',{staticClass:\"action-text-btn show-all-vars-btn\",on:{\"click\":_vm.resetAndSave}},[_vm._v(\" \"+_vm._s(_vm.$t('theme-maker.reset-button'))+\" '\"+_vm._s(_vm.themeToEdit)+\"' \")]),_c('p',{staticClass:\"action-text-btn\",on:{\"click\":_vm.findAllVariableNames}},[_vm._v(\" \"+_vm._s(_vm.$t('theme-maker.show-all-button'))+\" \")]),_c('div',{staticClass:\"action-buttons\"},[_c('Button',{attrs:{\"click\":_vm.saveChanges}},[_c('SaveIcon'),_vm._v(\" \"+_vm._s(_vm.$t('theme-maker.save-button'))+\" \")],1),_c('Button',{attrs:{\"click\":_vm.resetUnsavedColors}},[_c('CancelIcon'),_vm._v(\" \"+_vm._s(_vm.$t('theme-maker.cancel-button'))+\" \")],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{class:_vm.disallow ? 'disallowed': '',attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.click()}}},[_vm._t(\"default\"),_vm._t(\"text\"),_vm._t(\"icon\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=ec408f00&scoped=true&\"\nimport script from \"./Button.vue?vue&type=script&lang=js&\"\nexport * from \"./Button.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Button.vue?vue&type=style&index=0&id=ec408f00&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ec408f00\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomThemeMaker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomThemeMaker.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomThemeMaker.vue?vue&type=template&id=57ccdb6d&\"\nimport script from \"./CustomThemeMaker.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomThemeMaker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomThemeMaker.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomCss.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomCss.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CustomCss.vue?vue&type=template&id=597bb48c&\"\nimport script from \"./CustomCss.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomCss.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomCss.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.modalName,\"resizable\":true,\"width\":\"50%\",\"height\":\"60%\",\"classes\":\"dashy-modal\"}},[_c('div',{staticClass:\"rebuild-app-container\"},[_c('h3',{staticClass:\"rebuild-app-title\"},[_vm._v(_vm._s(_vm.$t('app-rebuild.title')))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('app-rebuild.rebuild-note-l1'))+\" \"+_vm._s(_vm.$t('app-rebuild.rebuild-note-l2'))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('app-rebuild.rebuild-note-l3'))+\" \")]),_c('Button',{attrs:{\"click\":_vm.startBuild,\"disabled\":_vm.loading || !_vm.allowRebuild,\"disallow\":!_vm.allowRebuild},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.loading ? _vm.$t('app-rebuild.rebuilding-status-1') : _vm.$t('app-rebuild.rebuild-button'))+\" \")]},proxy:true},{key:\"icon\",fn:function(){return [_c('RebuildIcon')]},proxy:true}])}),(!_vm.allowRebuild)?_c('div',[_c('p',{staticClass:\"disallow-rebuild-msg\"},[_vm._v(_vm._s(_vm.$t('app-rebuild.error-permission')))])]):_vm._e(),(_vm.loading)?_c('div',{staticClass:\"loader-info\"},[_c('LoadingAnimation',{staticClass:\"loader\"}),_c('p',{staticClass:\"loading-message\"},[_vm._v(_vm._s(_vm.$t('app-rebuild.rebuilding-status-2'))+\"...\")])],1):_vm._e(),(_vm.success !== undefined)?_c('div',{staticClass:\"rebuild-response\"},[(_vm.success)?_c('p',{staticClass:\"response-status success\"},[_vm._v(\" ✅ \"+_vm._s(_vm.$t('app-rebuild.success-msg'))+\" \")]):_c('p',{staticClass:\"response-status failure\"},[_vm._v(\" ❌ \"+_vm._s(_vm.$t('app-rebuild.fail-msg'))+\" \")]),_c('pre',{staticClass:\"output\"},[_c('code',[_vm._v(_vm._s(_vm.output || _vm.error))])]),_c('p',{staticClass:\"rebuild-message\"},[_vm._v(_vm._s(_vm.message))]),(_vm.success)?_c('p',{staticClass:\"rebuild-message\"},[_vm._v(\" \"+_vm._s(_vm.$t('app-rebuild.reload-note'))+\" \")]):_vm._e(),(_vm.success)?_c('Button',{attrs:{\"click\":_vm.refreshPage},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(_vm._s(_vm.$t('app-rebuild.reload-button')))]},proxy:true},{key:\"icon\",fn:function(){return [_c('ReloadIcon')]},proxy:true}],null,false,3658341317)}):_vm._e()],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RebuildApp.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RebuildApp.vue?vue&type=template&id=306fcc3a&scoped=true&\"\nimport script from \"./RebuildApp.vue?vue&type=script&lang=js&\"\nexport * from \"./RebuildApp.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RebuildApp.vue?vue&type=style&index=0&id=306fcc3a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"306fcc3a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-version\"},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('updates.app-version-note'))+\" \"+_vm._s(_vm.appVersion)+\" \")]),(_vm.checksEnabled)?_c('div',[(!_vm.finished)?_c('p',[_vm._v(\" \"+_vm._s(_vm.error ? 'Error checking for updates.' : 'Chcekcing for Updates...')+\" \")]):_vm._e(),(_vm.finished && _vm.isUpToDate)?_c('p',{staticClass:\"up-to-date\"},[_vm._v(\" ✅ \"+_vm._s(_vm.$t('updates.up-to-date'))+\" \")]):(_vm.finished && !_vm.veryOutOfDate)?_c('p',{staticClass:\"update-availible\"},[_vm._v(\" ⚠️\"+_vm._s(_vm.$t('updates.out-of-date'))+\": \"),_c('b',[_vm._v(_vm._s(_vm.latestVersion))])]):(_vm.finished && _vm.veryOutOfDate)?_c('p',{staticClass:\"big-update-availible\"},[_vm._v(\" ❗ \"+_vm._s(_vm.$t('updates.out-of-date'))+\": \"),_c('b',[_vm._v(_vm._s(_vm.latestVersion))]),_c('span',{staticClass:\"please-update\"},[_vm._v(\" \"+_vm._s(_vm.$t('updates.unsupported-version-l1'))+\".\"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('updates.unsupported-version-2'))+\" \"+_vm._s(_vm.latestVersion)+\" \")])]):_vm._e()]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppVersion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppVersion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppVersion.vue?vue&type=template&id=49d7ffdf&scoped=true&\"\nimport script from \"./AppVersion.vue?vue&type=script&lang=js&\"\nexport * from \"./AppVersion.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppVersion.vue?vue&type=style&index=0&id=49d7ffdf&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"49d7ffdf\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfigContainer.vue?vue&type=template&id=69f09168&scoped=true&\"\nimport script from \"./ConfigContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfigContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfigContainer.vue?vue&type=style&index=0&id=69f09168&scoped=true&lang=scss&\"\nimport style1 from \"./ConfigContainer.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69f09168\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cloud-backup-restore-wrapper\"},[_c('div',{staticClass:\"section intro\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('cloud-sync.title')))]),_c('p',{staticClass:\"intro\"},[_vm._v(\" \"+_vm._s(_vm.$t('cloud-sync.intro-l1'))+\" \"),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('cloud-sync.intro-l2'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('cloud-sync.intro-l3'))+\" \"),_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md\"}},[_vm._v(\"docs\")])])]),_c('div',{staticClass:\"section backup-section\"},[(_vm.backupId)?_c('h3',[_vm._v(_vm._s(_vm.$t('cloud-sync.backup-title-setup')))]):_c('h3',[_vm._v(_vm._s(_vm.$t('cloud-sync.backup-title-setup')))]),_c('Input',{attrs:{\"name\":\"backup-password\",\"label\":_vm.backupId\n ? _vm.$t('cloud-sync.password-label-update') : _vm.$t('cloud-sync.password-label-setup'),\"layout\":\"vertical\",\"type\":\"password\"},model:{value:(_vm.backupPassword),callback:function ($$v) {_vm.backupPassword=$$v},expression:\"backupPassword\"}}),_c('Button',{attrs:{\"click\":_vm.checkPass},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.backupId ? _vm.$t('cloud-sync.backup-button-update') : _vm.$t('cloud-sync.backup-button-setup'))+\" \")]},proxy:true},{key:\"icon\",fn:function(){return [_c('IconBackup')]},proxy:true}])}),(_vm.backupId)?_c('div',{staticClass:\"results-view\"},[_c('span',{staticClass:\"backup-id-label\"},[_vm._v(_vm._s(_vm.$t('cloud-sync.backup-id-label'))+\": \")]),_c('pre',{staticClass:\"backup-id-value\"},[_vm._v(_vm._s(_vm.backupId))]),_c('span',{staticClass:\"backup-id-note\"},[_vm._v(_vm._s(_vm.$t('cloud-sync.backup-id-note')))])]):_vm._e()],1),_c('div',{staticClass:\"section restore-section\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('cloud-sync.restore-title')))]),_c('Input',{attrs:{\"name\":\"restore-code\",\"label\":_vm.$t('cloud-sync.restore-id-label')},model:{value:(_vm.restoreCode),callback:function ($$v) {_vm.restoreCode=$$v},expression:\"restoreCode\"}}),_c('Input',{attrs:{\"name\":\"restore-password\",\"label\":_vm.$t('cloud-sync.restore-password-label'),\"type\":\"password\"},model:{value:(_vm.restorePassword),callback:function ($$v) {_vm.restorePassword=$$v},expression:\"restorePassword\"}}),_c('Button',{attrs:{\"click\":_vm.restoreBackup},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(_vm._s(_vm.$t('cloud-sync.restore-button')))]},proxy:true},{key:\"icon\",fn:function(){return [_c('IconRestore')]},proxy:true}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"input-container \" + _vm.layout)},[(_vm.label)?_c('label',{attrs:{\"for\":\"name\"}},[_vm._v(_vm._s(_vm.label))]):_vm._e(),_c('input',{attrs:{\"type\":_vm.type,\"name\":_vm.name,\"id\":_vm.name,\"placeholder\":_vm.placeholder},domProps:{\"value\":_vm.value},on:{\"input\":function($event){return _vm.updateValue($event.target.value)}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Input.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Input.vue?vue&type=template&id=5df13ed2&scoped=true&\"\nimport script from \"./Input.vue?vue&type=script&lang=js&\"\nexport * from \"./Input.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Input.vue?vue&type=style&index=0&id=5df13ed2&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5df13ed2\",\n null\n \n)\n\nexport default component.exports","import sha256 from 'crypto-js/sha256';\nimport aes from 'crypto-js/aes';\nimport Utf8 from 'crypto-js/enc-utf8';\nimport axios from 'axios';\nimport { backupEndpoint } from '@/utils/defaults';\n\nconst ENDPOINT = backupEndpoint; // 'https://dashy-sync-service.as93.net';\n\n/* Stringify, encrypt and encode data for transmission */\nconst encryptData = (data, password) => {\n const stringifiedData = JSON.stringify(data);\n const encryptedData = aes.encrypt(stringifiedData, password);\n return encryptedData.toString();\n};\n\n/* Decrypt, decode and parse received data */\nconst decryptData = (data, password) => aes.decrypt(data, password).toString(Utf8);\n\n/* Returns a splice of the hash of the users password */\nconst makeSubHash = (pass) => sha256(pass).toString().slice(0, 14);\n\n/* Makes the backup */\nexport const backup = (data, password) => axios.post(ENDPOINT, {\n userData: encryptData(data, password),\n subHash: makeSubHash(password),\n});\n\n/* Updates and existing backup */\nexport const update = (data, password, backupId) => axios.put(ENDPOINT, {\n backupId,\n userData: encryptData(data, password),\n subHash: makeSubHash(password),\n});\n\nconst encodeGetParams = p => Object.entries(p).map(kv => kv.map(encodeURIComponent).join('=')).join('&');\n\n/* Restores the backup */\nexport const restore = (backupId, password) => {\n const params = encodeGetParams({ backupId, subHash: makeSubHash(password) });\n const url = `${ENDPOINT}/?${params}`;\n return new Promise((resolve, reject) => {\n axios.get(url).then((response) => {\n if (!response.data || response.data.errorMsg) {\n reject(response.data.errorMsg || 'Error');\n } else {\n const decryptedData = decryptData(response.data.userData.userData, password);\n try { resolve(JSON.parse(decryptedData)); } catch (e) { reject(e); }\n }\n });\n });\n};\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CloudBackupRestore.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CloudBackupRestore.vue?vue&type=template&id=079113a8&scoped=true&\"\nimport script from \"./CloudBackupRestore.vue?vue&type=script&lang=js&\"\nexport * from \"./CloudBackupRestore.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CloudBackupRestore.vue?vue&type=style&index=0&id=079113a8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"079113a8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language-switcher\"},[_c('h3',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t('language-switcher.title')))]),_c('p',{staticClass:\"intro\"},[_vm._v(_vm._s(_vm.$t('language-switcher.dropdown-label'))+\":\")]),_c('v-select',{staticClass:\"language-dropdown\",attrs:{\"selectOnTab\":true,\"options\":_vm.availibleLanguages,\"label\":\"name\",\"input\":_vm.setLangLocally()},model:{value:(_vm.language),callback:function ($$v) {_vm.language=$$v},expression:\"language\"}}),_c('Button',{staticClass:\"save-button\",attrs:{\"click\":_vm.saveLanguage,\"disallow\":!_vm.language}},[_vm._v(\" \"+_vm._s(_vm.$t('language-switcher.save-button'))+\" \"),_c('SaveConfigIcon')],1),(_vm.language)?_c('p',[_vm._v(_vm._s(_vm.language.flag)+\" \"+_vm._s(_vm.language.name))]):_vm._e(),(_vm.$i18n.availableLocales.length <= 1)?_c('p',{staticClass:\"sad-times\"},[_vm._v(\" There are not currently any additional languages supported, but stay tuned as more are on their way! \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSwitcher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSwitcher.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageSwitcher.vue?vue&type=template&id=631f0843&scoped=true&\"\nimport script from \"./LanguageSwitcher.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageSwitcher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageSwitcher.vue?vue&type=style&index=0&id=631f0843&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"631f0843\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigLauncher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfigLauncher.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfigLauncher.vue?vue&type=template&id=4aaf8dc8&scoped=true&\"\nimport script from \"./ConfigLauncher.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfigLauncher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ConfigLauncher.vue?vue&type=style&index=0&id=4aaf8dc8&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4aaf8dc8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeThemeConfigurator),expression:\"closeThemeConfigurator\"}],staticClass:\"theme-selector-section\"},[_c('div',[_c('span',{staticClass:\"theme-label\"},[_vm._v(_vm._s(_vm.$t('settings.theme-label')))]),_c('v-select',{staticClass:\"theme-dropdown\",attrs:{\"options\":_vm.themeNames,\"tabindex\":-2},model:{value:(_vm.selectedTheme),callback:function ($$v) {_vm.selectedTheme=$$v},expression:\"selectedTheme\"}})],1),_c('IconPalette',{staticClass:\"color-button\",on:{\"click\":_vm.openThemeConfigurator}}),(_vm.themeConfiguratorOpen)?_c('CustomThemeMaker',{attrs:{\"themeToEdit\":_vm.selectedTheme},on:{\"closeThemeConfigurator\":function($event){return _vm.closeThemeConfigurator()}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint no-console: [\"error\", { allow: [\"warn\", \"error\"] }] */\n\n/**\n * Function called when an error happens\n * If you wish to use an error logging service, put code for it here\n */\nconst ErrorHandler = function handler(msg) {\n console.warn(msg);\n};\n\nexport default ErrorHandler;\n","import ErrorHandler from '@/utils/ErrorHandler';\nimport { getTheme, getCustomColors } from '@/utils/ConfigHelpers';\nimport { mainCssVars } from '@/utils/defaults';\n\n/* Returns users current theme */\nexport const GetTheme = () => getTheme();\n\n/* Gets user custom color preferences for current theme, and applies to DOM */\nexport const ApplyCustomVariables = (theme) => {\n mainCssVars.forEach((vName) => { document.documentElement.style.removeProperty(`--${vName}`); });\n const themeColors = getCustomColors()[theme];\n if (themeColors) {\n Object.keys(themeColors).forEach((customVar) => {\n document.documentElement.style.setProperty(`--${customVar}`, themeColors[customVar]);\n });\n }\n};\n\n/* Sets the theme, by updating data-theme attribute on the html tag */\nexport const ApplyLocalTheme = (newTheme) => {\n const htmlTag = document.getElementsByTagName('html')[0];\n if (htmlTag.hasAttribute('data-theme')) htmlTag.removeAttribute('data-theme');\n htmlTag.setAttribute('data-theme', newTheme);\n};\n\n/**\n * A function for pre-loading, and easy switching of external stylesheets\n * External CSS is preloaded to avoid FOUC\n */\nexport const LoadExternalTheme = function th() {\n /* Preload selected external theme */\n const preloadTheme = (href) => {\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = href;\n document.head.appendChild(link);\n return new Promise((resolve, reject) => {\n link.onload = e => {\n const { sheet } = e.target;\n sheet.disabled = true;\n resolve(sheet);\n };\n link.onerror = reject;\n });\n };\n\n /* Check theme is selected, and it exists */\n const checkTheme = (themes, name) => {\n if ((!name) || (name !== 'custom' && !themes[name])) {\n ErrorHandler(`Theme: '${name || '[not selected]'}' does not exist.`);\n return false;\n }\n return true;\n };\n\n /* Disable all but selected theme */\n const selectTheme = (themes, name) => {\n if (checkTheme(themes, name)) {\n const t = themes; // To avoid ESLint complaining about mutating a param\n Object.keys(themes).forEach(n => { t[n].disabled = (n !== name); });\n }\n };\n\n const themes = {};\n\n return {\n add(name, href) { return preloadTheme(href).then(s => { themes[name] = s; }); },\n set theme(name) { selectTheme(themes, name); },\n get theme() { return Object.keys(themes).find(n => !themes[n].disabled); },\n };\n};\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemeSelector.vue?vue&type=template&id=57175a5c&\"\nimport script from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ThemeSelector.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"options-label\"},[_vm._v(_vm._s(_vm.$t('settings.layout-label')))]),_c('div',{staticClass:\"display-options\"},[_c('IconDeafault',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip(_vm.$t('settings.layout-auto'))),expression:\"tooltip($t('settings.layout-auto'))\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'auto' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('auto')}}}),_c('IconHorizontal',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip(_vm.$t('settings.layout-horizontal'))),expression:\"tooltip($t('settings.layout-horizontal'))\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'horizontal' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('horizontal')}}}),_c('IconVertical',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip(_vm.$t('settings.layout-vertical'))),expression:\"tooltip($t('settings.layout-vertical'))\"}],class:(\"layout-icon \" + (_vm.displayLayout === 'vertical' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateDisplayLayout('vertical')}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LayoutSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LayoutSelector.vue?vue&type=template&id=b3a6111c&scoped=true&\"\nimport script from \"./LayoutSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./LayoutSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LayoutSelector.vue?vue&type=style&index=0&id=b3a6111c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b3a6111c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{staticClass:\"options-label\"},[_vm._v(_vm._s(_vm.$t('settings.item-size-label')))]),_c('div',{staticClass:\"display-options\"},[_c('IconSmall',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip(_vm.$t('settings.item-size-small'))),expression:\"tooltip($t('settings.item-size-small'))\"}],class:(\"layout-icon \" + (_vm.iconSize === 'small' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('small')}}}),_c('IconMedium',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip(_vm.$t('settings.item-size-medium'))),expression:\"tooltip($t('settings.item-size-medium'))\"}],class:(\"layout-icon \" + (_vm.iconSize === 'medium' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('medium')}}}),_c('IconLarge',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip(_vm.$t('settings.item-size-large'))),expression:\"tooltip($t('settings.item-size-large'))\"}],class:(\"layout-icon \" + (_vm.iconSize === 'large' ? 'selected' : '')),attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.updateIconSize('large')}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemSizeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemSizeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemSizeSelector.vue?vue&type=template&id=1ff45660&scoped=true&\"\nimport script from \"./ItemSizeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemSizeSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemSizeSelector.vue?vue&type=style&index=0&id=1ff45660&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ff45660\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"display-options\"},[_c('IconLogout',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Sign Out')),expression:\"tooltip('Sign Out')\"}],staticClass:\"layout-icon\",attrs:{\"tabindex\":\"-2\"},on:{\"click\":function($event){return _vm.logout()}}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppButtons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppButtons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppButtons.vue?vue&type=template&id=d69dca9c&scoped=true&\"\nimport script from \"./AppButtons.vue?vue&type=script&lang=js&\"\nexport * from \"./AppButtons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppButtons.vue?vue&type=style&index=0&id=d69dca9c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d69dca9c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"slide-fade\"}},[(!_vm.shouldHide)?_c('div',{staticClass:\"kb-sc-info\"},[_c('h5',[_vm._v(\"There are keyboard shortcuts! ⌨️🙌\")]),_c('div',{staticClass:\"close\",attrs:{\"title\":\"Hide forever [Esc]\"},on:{\"click\":function($event){return _vm.hideWelcomeHelper()}}},[_vm._v(\"x\")]),_c('p',{attrs:{\"title\":\"Press [Esc] to hide this tip forever. See there's even a shortcut for that! 🚀\"}},[_vm._v(\" Just start typing to filter. Then use the tab key to cycle through results, and press enter to launch the selected item, or alt + enter to open in a modal. You can hit Esc at anytime to clear the search. Easy 🥳 \")])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KeyboardShortcutInfo.vue?vue&type=template&id=c5f17d9a&scoped=true&\"\nimport script from \"./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./KeyboardShortcutInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KeyboardShortcutInfo.vue?vue&type=style&index=0&id=c5f17d9a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c5f17d9a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.modalName,\"resizable\":true,\"width\":\"40%\",\"height\":\"60%\",\"classes\":\"dashy-modal\"}},[_c('div',{staticClass:\"about-modal\"},[_c('router-link',{attrs:{\"to\":\"/about\"}},[_c('h2',[_vm._v(\"Dashy\")])]),_c('AppVersion'),_c('h3',[_vm._v(\"Service Worker Status\")]),_c('code',{domProps:{\"innerHTML\":_vm._s(_vm.serviceWorkerInfo)}},[_vm._v(_vm._s(_vm.serviceWorkerInfo))]),_c('br'),_c('h3',[_vm._v(\"Config Validation Status\")]),_c('code',[_vm._v(_vm._s(_vm.getIsConfigValidStatus()))]),_c('br'),_c('h3',[_vm._v(\"Help & Support\")]),_c('ul',[_c('li',[_c('a',{attrs:{\"href\":\"https://git.io/JnqPR\"}},[_vm._v(\"Report a Bug\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://git.io/JnDxL\"}},[_vm._v(\"Request a Feature\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://git.io/JnDxs\"}},[_vm._v(\"Ask a Question\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://git.io/JnDxn\"}},[_vm._v(\"Leave Feedback\")])]),_c('li',[_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/discussions\"}},[_vm._v(\"Join the Discussion\")])])]),_c('p',{staticClass:\"small-note\"},[_vm._v(\"Please include the following info in your bug report:\")]),_c('a',{on:{\"click\":function($event){_vm.showInfo = !_vm.showInfo}}},[_vm._v(_vm._s(_vm.showInfo ? 'Hide' : 'Show')+\" system info\")]),(_vm.showInfo)?_c('div',{staticClass:\"system-info\"},[_c('h4',[_vm._v(\"System Info\")]),_c('code',[_c('b',[_vm._v(\"Dashy Version:\")]),_vm._v(\" V \"+_vm._s(_vm.appVersion))]),_c('br'),_c('code',[_c('b',[_vm._v(\"Browser:\")]),_vm._v(\" \"+_vm._s(_vm.systemInfo.browser))]),_c('br'),_c('code',[_c('b',[_vm._v(\"Is Mobile?\")]),_vm._v(\" \"+_vm._s(_vm.systemInfo.isMobile ? 'Yes' : 'No'))]),_c('br'),_c('code',[_c('b',[_vm._v(\"OS:\")]),_vm._v(\" \"+_vm._s(_vm.systemInfo.os))]),_c('br')]):_vm._e(),_c('h3',[_vm._v(\"About\")]),_c('p',{staticClass:\"about-text\"},[_vm._v(\" Documentation and Source Code available on \"),_c('a',{attrs:{\"href\":\"https://github.com/lissy93/dashy\"}},[_vm._v(\"GitHub\")])]),_c('h3',[_vm._v(\"License\")]),_c('code',[_vm._v(\"Licensed under MIT X11. Copyright © 2021\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppInfoModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppInfoModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppInfoModal.vue?vue&type=template&id=77ccbcae&scoped=true&\"\nimport script from \"./AppInfoModal.vue?vue&type=script&lang=js&\"\nexport * from \"./AppInfoModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppInfoModal.vue?vue&type=style&index=0&id=77ccbcae&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"77ccbcae\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SettingsContainer.vue?vue&type=template&id=66dc3458&scoped=true&\"\nimport script from \"./SettingsContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./SettingsContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SettingsContainer.vue?vue&type=style&index=0&id=66dc3458&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"66dc3458\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Collapsable',{attrs:{\"title\":_vm.title,\"icon\":_vm.icon,\"uniqueKey\":_vm.groupId,\"collapsed\":_vm.displayData.collapsed,\"cols\":_vm.displayData.cols,\"rows\":_vm.displayData.rows,\"color\":_vm.displayData.color,\"customStyles\":_vm.displayData.customStyles}},[(!_vm.items || _vm.items.length < 1)?_c('div',{staticClass:\"no-items\"},[_vm._v(\" No Items to Show Yet \")]):_c('div',{class:(\"there-are-items \" + (_vm.isGridLayout? 'item-group-grid': '')),style:(_vm.gridStyle)},[_vm._l((_vm.items),function(item,index){return _c('Item',{key:(index + \"_\" + (_vm.makeId(item.title))),attrs:{\"id\":(index + \"_\" + (_vm.makeId(item.title))),\"url\":item.url,\"title\":item.title,\"description\":item.description,\"icon\":item.icon,\"target\":item.target,\"color\":item.color,\"backgroundColor\":item.backgroundColor,\"statusCheckUrl\":item.statusCheckUrl,\"statusCheckHeaders\":item.statusCheckHeaders,\"itemSize\":_vm.newItemSize,\"hotkey\":item.hotkey,\"enableStatusCheck\":_vm.shouldEnableStatusCheck(item.statusCheck),\"statusCheckInterval\":_vm.getStatusCheckInterval()},on:{\"itemClicked\":function($event){return _vm.$emit('itemClicked')},\"triggerModal\":_vm.triggerModal}})}),_c('div',{ref:\"modalContainer\"})],2),_c('IframeModal',{ref:(\"iframeModal-\" + _vm.groupId),attrs:{\"name\":(\"iframeModal-\" + _vm.groupId)},on:{\"closed\":function($event){return _vm.$emit('itemClicked')},\"modalChanged\":_vm.modalChanged}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item-wrapper\"},[_c('a',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.getTooltipOptions()),expression:\"getTooltipOptions()\"}],class:(\"item \" + (!_vm.icon? 'short': '') + \" size-\" + _vm.itemSize),style:((\"--open-icon: \" + (_vm.getUnicodeOpeningIcon()) + \"; \" + _vm.customStyles)),attrs:{\"href\":_vm.target !== 'modal' ? _vm.url : '#',\"target\":_vm.target === 'newtab' ? '_blank' : '',\"rel\":\"noopener noreferrer\",\"tabindex\":\"0\",\"id\":(\"link-\" + _vm.id)},on:{\"click\":_vm.itemOpened,\"mouseup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"])){ return null; }if('button' in $event && $event.button !== 2){ return null; }return _vm.openContextMenu.apply(null, arguments)},\"contextmenu\":function($event){$event.preventDefault();}}},[_c('div',{class:(\"tile-title \" + (!_vm.icon? 'bounce': '')),attrs:{\"id\":(\"tile-\" + _vm.id)}},[_c('span',{staticClass:\"text\"},[_vm._v(_vm._s(_vm.title))]),_c('p',{staticClass:\"description\"},[_vm._v(_vm._s(_vm.description))])]),_c('Icon',{staticClass:\"bounce\",style:(_vm.customStyles),attrs:{\"icon\":_vm.icon,\"url\":_vm.url,\"size\":_vm.itemSize,\"color\":_vm.color}}),_c('ItemOpenMethodIcon',{staticClass:\"opening-method-icon\",attrs:{\"isSmall\":!_vm.icon || _vm.itemSize === 'small',\"openingMethod\":_vm.target,\"position\":_vm.itemSize === 'medium'? 'bottom right' : 'top right',\"hotkey\":_vm.hotkey}}),(_vm.enableStatusCheck)?_c('StatusIndicator',{staticClass:\"status-indicator\",attrs:{\"statusSuccess\":_vm.statusResponse ? _vm.statusResponse.successStatus : undefined,\"statusText\":_vm.statusResponse ? _vm.statusResponse.message : undefined}}):_vm._e()],1),_c('ContextMenu',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeContextMenu),expression:\"closeContextMenu\"}],attrs:{\"show\":_vm.contextMenuOpen,\"posX\":_vm.contextPos.posX,\"posY\":_vm.contextPos.posY,\"id\":(\"context-menu-\" + _vm.id)},on:{\"contextItemClick\":_vm.contextItemClick}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item-icon\"},[(_vm.iconType === 'font-awesome')?_c('i',{class:(_vm.icon + \" \" + _vm.size)}):(_vm.iconType === 'emoji')?_c('i',{class:(\"emoji-icon \" + _vm.size)},[_vm._v(_vm._s(_vm.getEmoji(_vm.iconPath)))]):(_vm.icon)?_c('img',{class:(\"tile-icon \" + _vm.size + \" \" + (_vm.broken ? 'broken' : '')),attrs:{\"src\":_vm.iconPath},on:{\"error\":_vm.imageNotFound}}):_vm._e(),(_vm.broken)?_c('BrokenImage',{staticClass:\"missing-image\"}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemIcon.vue?vue&type=template&id=84c05142&\"\nimport script from \"./ItemIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemIcon.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{class:_vm.makeClass(_vm.position, _vm.isSmall, _vm.isTransparent)},[(_vm.openingMethod === 'newtab')?_c('NewTabOpenIcon'):(_vm.openingMethod === 'sametab')?_c('SameTabOpenIcon'):(_vm.openingMethod === 'modal')?_c('IframeOpenIcon'):(_vm.openingMethod === 'workspace')?_c('WorkspaceOpenIcon'):_vm._e()],1),(_vm.hotkey)?_c('div',{class:(\"hotkey-denominator \" + (_vm.makeClass(_vm.position, _vm.isSmall, _vm.isTransparent)))},[_vm._v(\" \"+_vm._s(_vm.hotkey)+\" \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemOpenMethodIcon.vue?vue&type=template&id=b0684bc4&scoped=true&\"\nimport script from \"./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemOpenMethodIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemOpenMethodIcon.vue?vue&type=style&index=0&id=b0684bc4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b0684bc4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:({\n content: _vm.statusText || _vm.otherStatusText, classes: ['status-tooltip', (\"tip-\" + (_vm.color()))] }),expression:\"{\\n content: statusText || otherStatusText, classes: ['status-tooltip', `tip-${color()}`] }\"}],staticClass:\"indicator\",on:{\"click\":function($event){return _vm.showToast()}}},[_c('div',{class:(\"dot dot-\" + (_vm.color()))},[_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('span')])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusIndicator.vue?vue&type=template&id=46972ad8&scoped=true&\"\nimport script from \"./StatusIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusIndicator.vue?vue&type=style&index=0&id=46972ad8&scoped=true&lang=scss&\"\nimport style1 from \"./StatusIndicator.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"46972ad8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"slide\"}},[(_vm.show && _vm.menuEnabled)?_c('div',{staticClass:\"context-menu\",style:(_vm.posX && _vm.posY ? (\"top:\" + _vm.posY + \"px;left:\" + _vm.posX + \"px;\") : '')},[_c('ul',[_c('li',{on:{\"click\":function($event){return _vm.launch('sametab')}}},[_c('SameTabOpenIcon'),_c('span',[_vm._v(\"Open in Current Tab\")])],1),_c('li',{on:{\"click\":function($event){return _vm.launch('newtab')}}},[_c('NewTabOpenIcon'),_c('span',[_vm._v(\"Open in New Tab\")])],1),_c('li',{on:{\"click\":function($event){return _vm.launch('modal')}}},[_c('IframeOpenIcon'),_c('span',[_vm._v(\"Open in Pop-Up Modal\")])],1),_c('li',{on:{\"click\":function($event){return _vm.launch('workspace')}}},[_c('WorkspaceOpenIcon'),_c('span',[_vm._v(\"Open in Workspace View\")])],1)])]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContextMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContextMenu.vue?vue&type=template&id=6463bf59&\"\nimport script from \"./ContextMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./ContextMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ContextMenu.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Item.vue?vue&type=template&id=01b72de8&ref=container&\"\nimport script from \"./Item.vue?vue&type=script&lang=js&\"\nexport * from \"./Item.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Item.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./Item.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:(\"collapsable \" + (_vm.checkSpanNum(_vm.cols, 'col')) + \" \" + (_vm.checkSpanNum(_vm.rows, 'row'))),style:(((_vm.color ? 'background: '+_vm.color : '') + \"; \" + (_vm.sanitizeCustomStyles(_vm.customStyles)) + \";\"))},[_c('input',{staticClass:\"toggle\",attrs:{\"id\":(\"collapsible-\" + _vm.uniqueKey),\"type\":\"checkbox\",\"tabIndex\":\"-1\"},domProps:{\"checked\":_vm.getCollapseState()},on:{\"change\":_vm.collapseChanged}}),_c('label',{staticClass:\"lbl-toggle\",attrs:{\"for\":(\"collapsible-\" + _vm.uniqueKey),\"tabindex\":\"-1\"}},[(_vm.icon)?_c('Icon',{staticClass:\"section-icon\",attrs:{\"icon\":_vm.icon,\"size\":\"small\",\"url\":_vm.title}}):_vm._e(),_c('h3',[_vm._v(_vm._s(_vm.title))])],1),_c('div',{staticClass:\"collapsible-content\"},[_c('div',{staticClass:\"content-inner\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Collapsable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Collapsable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Collapsable.vue?vue&type=template&id=ac1beaa4&scoped=true&\"\nimport script from \"./Collapsable.vue?vue&type=script&lang=js&\"\nexport * from \"./Collapsable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Collapsable.vue?vue&type=style&index=0&id=ac1beaa4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ac1beaa4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('modal',{attrs:{\"name\":_vm.name,\"resizable\":true,\"width\":\"80%\",\"height\":\"80%\",\"classes\":\"dashy-modal\"},on:{\"closed\":function($event){return _vm.modalClosed()}}},[_c('div',{attrs:{\"slot\":\"top-right\"},on:{\"click\":function($event){return _vm.hide()}},slot:\"top-right\"},[_vm._v(\"Close\")]),_c('a',{staticClass:\"close-button\",attrs:{\"title\":\"Close\"},on:{\"click\":function($event){return _vm.hide()}}},[_vm._v(\"x\")]),(_vm.url)?_c('iframe',{staticClass:\"frame\",attrs:{\"src\":_vm.url},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.close.apply(null, arguments)}}}):_c('div',{staticClass:\"no-url\"},[_vm._v(\"No URL Specified\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","