From 8c2ac2ccac12505bfb7315a822d462325f8c3a11 Mon Sep 17 00:00:00 2001 From: Lissy93 Date: Thu, 15 Jul 2021 20:16:54 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20dev-demo=20from=20@=20Lissy93/?= =?UTF-8?q?dashy@cc2e6c0a5c8f87f89f0ec376ca903ff7637fafff=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- js/{about.5b4be414.js => about.954ed278.js} | 2 +- ...about.5b4be414.js.map => about.954ed278.js.map} | 2 +- js/{dashy.c4780831.js => dashy.263de27e.js} | 4 ++-- ...dashy.c4780831.js.map => dashy.263de27e.js.map} | 2 +- ...he-manifest.1d51c76abb9d46dd8907b845a6fa757d.js | 14 +++++++------- service-worker.js | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) rename js/{about.5b4be414.js => about.954ed278.js} (99%) rename js/{about.5b4be414.js.map => about.954ed278.js.map} (99%) rename js/{dashy.c4780831.js => dashy.263de27e.js} (99%) rename js/{dashy.c4780831.js.map => dashy.263de27e.js.map} (99%) rename precache-manifest.9dcf476f58cffb8e73d346881c763d4e.js => precache-manifest.1d51c76abb9d46dd8907b845a6fa757d.js (98%) diff --git a/index.html b/index.html index f60238ee..3ad10508 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.5b4be414.js b/js/about.954ed278.js similarity index 99% rename from js/about.5b4be414.js rename to js/about.954ed278.js index 40a93f4a..f200405a 100644 --- a/js/about.5b4be414.js +++ b/js/about.954ed278.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.5b4be414.js.map \ No newline at end of file +//# sourceMappingURL=about.954ed278.js.map \ No newline at end of file diff --git a/js/about.5b4be414.js.map b/js/about.954ed278.js.map similarity index 99% rename from js/about.5b4be414.js.map rename to js/about.954ed278.js.map index 1065fd70..6708bc6d 100644 --- a/js/about.5b4be414.js.map +++ b/js/about.954ed278.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/views/About.vue?4381","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.5b4be414.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?7add","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.954ed278.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.c4780831.js b/js/dashy.263de27e.js similarity index 99% rename from js/dashy.c4780831.js rename to js/dashy.263de27e.js index d0ca3b8a..24d4be6c 100644 --- a/js/dashy.c4780831.js +++ b/js/dashy.263de27e.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var a,i,r=t[0],l=t[1],c=t[2],_=0,d=[];_new RegExp(/(http|https):\/\/(\S+)(:[0-9]+)?/).test(e)}},T=O,E=(n("d16d"),Object(y["a"])(T,I,x,!1,null,"68c1bd5c",null)),A=E.exports,L={name:"Header",inject:["visibleComponents"],components:{PageTitle:S,Nav:A},props:{pageInfo:Object},data(){return{titleVisible:(this.visibleComponents||u["visibleComponents"]).pageTitle,navVisible:(this.visibleComponents||u["visibleComponents"]).navigation}}},N=L,j=(n("3e3f"),Object(y["a"])(N,g,f,!1,null,"786dc3b6",null)),z=j.exports,M=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.text&&""!==e.text?n("footer",{domProps:{innerHTML:e._s(e.text)}}):n("footer",[e._v(" Developed by "),n("a",{attrs:{href:e.authorUrl}},[e._v(e._s(e.authorName))]),e._v(". Licensed under "),n("a",{attrs:{href:e.licenseUrl}},[e._v(e._s(e.license))]),e._v(" "+e._s(e.showCopyright?"ยฉ":"")+" "+e._s(e.date)+". Get the "),n("a",{attrs:{href:e.repoUrl}},[e._v("Source Code")]),e._v(". ")])},P=[],B={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=B,D=(n("ed9b"),Object(y["a"])(H,M,P,!1,null,"64591bd5",null)),V=D.exports,$=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"slide-fade"}},[e.isLoading?n("div",{class:e.c,attrs:{id:"loading"},on:{click:function(t){e.c="hide"}}},[n("h2",[e._v("Dashy")]),n("div",{staticClass:"inner-container"},[n("p",[e._v("Loading")]),n("span",{staticClass:"dots-cont"},[n("span",{staticClass:"dot dot-1"}),n("span",{staticClass:"dot dot-2"}),n("span",{staticClass:"dot dot-3"}),n("span",{staticClass:"dot dot-4"})])])]):e._e()])},U=[],R={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},K=R,F=(n("2bb3"),Object(y["a"])(K,$,U,!1,null,"a7bc1de6",null)),q=F.exports,W=n("8b8e"),J=n.n(W);class G{constructor(){this.conf=J.a}appConfig(){const e=this.conf.appConfig||{};let t=u["appConfig"];return localStorage[u["localStorageKeys"].APP_CONFIG]?t=JSON.parse(localStorage[u["localStorageKeys"].APP_CONFIG]):e!=={}&&(t=e),t.layout=localStorage[u["localStorageKeys"].LAYOUT_ORIENTATION]||e.layout||u["layout"],t.iconSize=localStorage[u["localStorageKeys"].ICON_SIZE]||e.iconSize||u["iconSize"],t}pageInfo(){const e=u["pageInfo"];let t;try{t=JSON.parse(localStorage[u["localStorageKeys"].PAGE_INFO])}catch(a){t={}}const n=this.conf.pageInfo||e;return n.title=t.title||J.a.pageInfo.title||e.title,n.description=t.description||J.a.pageInfo.description||e.description,n.navLinks=t.navLinks||J.a.pageInfo.navLinks||e.navLinks,n.footerText=t.footerText||J.a.pageInfo.footerText||e.footerText,n}sections(){const e=localStorage[u["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()}}}const Y=(()=>{const e=new G;return e.config()})(),X=e=>{const t=e.hideComponents||{},n=e=>"boolean"===typeof e;return{pageTitle:n(t.hideHeading)?!t.hideHeading:u["visibleComponents"].pageTitle,navigation:n(t.hideNav)?!t.hideNav:u["visibleComponents"].navigation,searchBar:n(t.hideSearch)?!t.hideSearch:u["visibleComponents"].searchBar,settings:n(t.hideSettings)?!t.hideSettings:u["visibleComponents"].settings,footer:n(t.hideFooter)?!t.hideFooter:u["visibleComponents"].footer,splashScreen:n(t.hideSplashScreen)?!t.hideSplashScreen:u["visibleComponents"].splashScreen}},Z=new G,Q=Z.config(),ee=X(Q.appConfig)||u["visibleComponents"];var te={name:"app",components:{Header:z,Footer:V,LoadingScreen:q},provide:{config:Q,visibleComponents:ee},data(){return{isLoading:!0,showFooter:ee.footer,appConfig:Z.appConfig(),pageInfo:Z.pageInfo(),visibleComponents:ee}},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||u["visibleComponents"]).splashScreen||!localStorage[u["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()?setTimeout(()=>{this.isLoading=!1},u["splashScreenTime"]||1500):this.isLoading=!1}},mounted(){if(this.hideSplash(),this.appConfig.customCss){const e=this.appConfig.customCss.replace(/<\/?[^>]+(>|$)/g,"");this.injectCustomStyles(e)}}},ne=te,ae=(n("5c0b"),Object(y["a"])(ne,h,p,!1,null,null,null)),ie=ae.exports,oe=n("8c4f"),se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"home",style:e.getBackgroundImage()},[n("SettingsContainer",{ref:"filterComp",staticClass:"filter-container",attrs:{displayLayout:e.layout,iconSize:e.itemSizeBound,availableThemes: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)?n("div",{class:"item-group-container orientation-"+e.layout+" item-size-"+e.itemSizeBound},e._l(e.getSections(e.sections),(function(t,a){return n("ItemGroup",{key:a,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-"+a,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()?n("div",{staticClass:"no-data"},[e._v(" "+e._s(e.searchValue?"No Search Results":"No Data Configured")+" ")]):e._e()],1)},re=[],le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[e.searchVisible?n("SearchBar",{ref:"SearchBar",attrs:{active:!e.modalOpen},on:{"user-is-searchin":e.userIsTypingSomething}}):e._e(),n("div",{staticClass:"options-outer"},[n("div",{class:"options-container "+(e.settingsVisible?"":"hide")},[n("ThemeSelector",{attrs:{themes:e.availableThemes,confTheme:e.getInitialTheme(),userThemes:e.getUserThemes()}}),n("LayoutSelector",{attrs:{displayLayout:e.displayLayout},on:{layoutUpdated:e.updateDisplayLayout}}),n("ItemSizeSelector",{attrs:{iconSize:e.iconSize},on:{iconSizeUpdated:e.updateIconSize}}),n("ConfigLauncher",{attrs:{sections:e.sections,pageInfo:e.pageInfo,appConfig:e.appConfig},on:{modalChanged:e.modalChanged}}),e.isUserLoggedIn()?n("AppButtons"):e._e()],1),n("div",{class:"show-hide-container "+(e.settingsVisible?"hide-btn":"show-btn")},[n("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?n("IconClose"):n("IconOpen")],1)])]),n("KeyboardShortcutInfo"),n("AppInfoModal")],1)},ce=[],_e=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("form",[n("label",{attrs:{for:"filter-tiles"}},[e._v("Search")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.input,expression:"input"}],ref:"filter",attrs:{id:"filter-tiles",placeholder:"Start typing to filter..."},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?n("i",{staticClass:"clear-search",attrs:{title:"Clear search"},on:{click:e.clearFilterInput}},[e._v("x")]):e._e()])},de=[];class ue{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=ue.goToPrevious(this.index):39===e?this.index+=1:40===e&&(this.index=ue.goToNext(this.index)),this.index=ue.getSafeElementIndex(this.index),ue.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(e){const t=ue.getNumResults();return e<0?t-1:e>=t?0:e}static selectItemByIndex(e){return e>=0&&e<=ue.getNumResults()?document.getElementsByClassName("item")[e]:[document.getElementsByClassName("item")]}static findPreviousRow(e){const t=(e,t)=>ue.selectItemByIndex(e).offsetTop===t,n=(e,a)=>e>=ue.getNumResults()?n(0,a):t(e,a)?n(e-1,a):e,a=ue.selectItemByIndex(e).offsetTop;return n(e,a)}static goToPrevious(e){const t=(e,t)=>ue.selectItemByIndex(e).offsetTopue.selectItemByIndex(e).offsetTop===t,n=(e,a)=>e>=ue.getNumResults()?n(0,a):t(e,a)?n(e+1,a):e,a=ue.selectItemByIndex(e).offsetTop;return n(e,a)}static goToNext(e){const t=(e,t)=>ue.selectItemByIndex(e).offsetTop>ue.selectItemByIndex(t).offsetTop,n=ue.findNextRow(e),a=n-e,i=n-ue.findPreviousRow(e)-1,o=t(e,n)?0:i-a;return n+o}}var me={name:"FilterTile",props:{active:Boolean},data(){return{input:"",akn:new ue}},mounted(){window.addEventListener("keydown",e=>{const t=document.activeElement.id,{key:n,keyCode:a}=e;this.active&&(/^[a-zA-Z]$/.test(n)&&"filter-tiles"!==t?(this.$refs.filter.focus(),this.userIsTypingSomething()):a>=37&&a<=40?this.akn.arrowNavigation(a):27===a&&this.clearFilterInput())})},methods:{userIsTypingSomething(){this.$emit("user-is-searchin",this.input)},clearFilterInput(){this.input="",this.userIsTypingSomething(),document.activeElement.blur(),this.akn.resetIndex()}}},he=me,pe=(n("e1a2"),Object(y["a"])(he,_e,de,!1,null,"08ec96b4",null)),ge=pe.exports,fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"config-options"},[n("span",[e._v("Config")]),n("div",{staticClass:"config-buttons"},[n("IconSpanner",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Update configuration locally"),expression:"tooltip('Update configuration locally')"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.showEditor()}}}),n("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),n("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)}}},[n("ConfigContainer",{attrs:{config:e.combineConfig()}})],1),n("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)}}},[n("CloudBackupRestore",{attrs:{config:e.combineConfig()}})],1)],1)},ke=[],be=n("35c3"),we=n.n(be),ve=n("6780"),ye=n.n(ve),Ce=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Tabs",{ref:"tabView",attrs:{navAuto:!0,name:"Add Item"}},[n("TabItem",{staticClass:"main-tab",attrs:{name:"Config"}},[n("div",{staticClass:"main-options-container"},[n("h2",[e._v("Configuration Options")]),n("a",{staticClass:"hyperlink-wrapper",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[n("button",{staticClass:"config-button center"},[n("DownloadIcon",{staticClass:"button-icon"}),e._v(" Download Config ")],1)]),n("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(2)}}},[n("EditIcon",{staticClass:"button-icon"}),e._v(" Edit Config ")],1),n("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(3)}}},[n("CustomCssIcon",{staticClass:"button-icon"}),e._v(" Edit Custom CSS ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.openCloudSync()}}},[n("CloudIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.backupId?"Edit Cloud Sync":"Enable Cloud Sync")+" ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.openRebuildAppModal()}}},[n("RebuildIcon",{staticClass:"button-icon"}),e._v(" Rebuild Application ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.resetLocalSettings()}}},[n("DeleteIcon",{staticClass:"button-icon"}),e._v(" Reset Local Settings ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.openAboutModal()}}},[n("IconAbout",{staticClass:"button-icon"}),e._v(" App Info ")],1),n("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 ")]),n("p",{staticClass:"app-version"},[e._v("Dashy version "+e._s(e.appVersion))]),n("div",{staticClass:"config-note"},[n("span",[e._v(" It is recommend to make a backup of your conf.yml file before making changes. ")])])]),n("RebuildApp")],1),n("TabItem",{staticClass:"code-container",attrs:{name:"View Config"}},[n("pre",{attrs:{id:"conf-yaml"}},[e._v(e._s(e.yaml))]),n("div",{staticClass:"yaml-action-buttons"},[n("h2",[e._v("Actions")]),n("a",{staticClass:"yaml-button download",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[e._v(" Download Config ")]),n("a",{staticClass:"yaml-button copy",on:{click:function(t){return e.copyConfigToClipboard()}}},[e._v("Copy Config")]),n("a",{staticClass:"yaml-button reset",on:{click:function(t){return e.resetLocalSettings()}}},[e._v("Reset Config")])])]),n("TabItem",{attrs:{name:"Edit Config"}},[n("JsonEditor",{attrs:{config:e.config}})],1),n("TabItem",{attrs:{name:"Custom Styles"}},[n("CustomCssEditor",{attrs:{config:e.config,initialCss:"hello"}})],1)],1)},Se=[],Ie=n("1020"),xe=n.n(Ie),Oe=n("2e7b"),Te=n.n(Oe),Ee=(n("1d89"),n("d97e"));const Ae=e=>e.split("\n").map(e=>e.trimRight()).join("\n"),Le=e=>{throw new Error("Error in Json to YAML conversion: "+e)},Ne=e=>{let t="";const n={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 a="";return 0===e.length?(a+="[]",a):(t=t.replace(/$/," "),e.forEach(e=>{const i=n[Object(Ee["typeOf"])(e)];i||Le(Object(Ee["typeOf"])(e)),a+=`\n${t}- ${i(e,!0)}`}),t=t.replace(/ {2}/,""),a)},object(e,a,i){let o="";return 0===Object.keys(e).length?(o+="{}",o):(i||(t=t.replace(/$/," ")),Object.keys(e).forEach((i,s)=>{const r=e[i],l=n[Object(Ee["typeOf"])(r)];"undefined"!==typeof r&&(l||Le(Object(Ee["typeOf"])(r)),a&&0===s||(o+="\n"+t),o+=`${i}: ${l(r)}`)}),t=t.replace(/ {2}/,""),o)},function(){return"[object Function]"}};return Ae(n[Object(Ee["typeOf"])(e)](e,!0,!0)+"\n")};var je=Ne,ze=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"json-editor-outer"},[n("v-jsoneditor",{attrs:{options:e.options,height:"500px"},model:{value:e.jsonData,callback:function(t){e.jsonData=t},expression:"jsonData"}}),n("div",{staticClass:"save-options"},[n("span",{staticClass:"save-option-title"},[e._v("Save Location:")]),n("div",{staticClass:"option"},[n("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"}}}),n("label",{staticClass:"save-option-label",attrs:{for:"local"}},[e._v("Apply Locally")])]),n("div",{staticClass:"option"},[n("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"}}}),n("label",{staticClass:"save-option-label",attrs:{for:"file"}},[e._v("Write Changes to Config File")])])]),n("button",{class:"save-button "+(e.isValid?"":"err"),on:{click:function(t){return e.save()}}},[e._v("Save Changes")]),n("p",{staticClass:"errors"},[n("ul",[e._l(e.errorMessages,(function(t,a){return n("li",{key:a,class:"type-"+t.type},[e._v(" "+e._s(t.msg)+" ")])})),e.errorMessages.length<1?n("li",{staticClass:"type-valid"},[e._v(" Config is Valid ")]):e._e()],2)]),void 0!==e.saveSuccess?n("p",{class:"response-output status-"+(e.saveSuccess?"success":"fail")},[e._v(" "+e._s(e.saveSuccess?"Task Complete":"Task Failed")+" ")]):e._e(),n("p",{staticClass:"response-output"},[e._v(e._s(e.responseText))]),e.saveSuccess?n("p",{staticClass:"response-output"},[e._v(" The app should rebuild automatically. This may take up to a minute. You will need to refresh the page for changes to take effect. ")]):e._e(),n("p",{staticClass:"note"},[e._v(" It is recommend to backup your existing confiruration before making any changes. ")])],1)},Me=[],Pe=n("bcb2"),Be=n.n(Pe),He=n("831b"),De=n("94f8"),Ve=n.n(De);const $e=e=>Ve()(e.toString()).toString().toLowerCase(),Ue=e=>{const t=e.map(e=>$e(e));let n=!1;return document.cookie.split(";").forEach(e=>{if(e&&e.split("=").length>1){const a=e.split("=")[0].trim(),i=e.split("=")[1].trim();a===u["cookieKeys"].AUTH_TOKEN&&t.includes(i)&&(n=!0)}}),n},Re=(e,t,n)=>{let a;return e?t?n.forEach(n=>{n.user===e&&(a=n.hash.toLowerCase()===Ve()(t).toString().toLowerCase()?{correct:!0,msg:"Logging in..."}:{correct:!1,msg:"Incorrect Password"})}):a={correct:!1,msg:"Missing Password"}:a={correct:!1,msg:"Missing Username"},a||{correct:!1,msg:"User not found"}},Ke=(e,t,n)=>{const a=new Date,i=new Date(a.setTime(a.getTime()+n)).toGMTString(),o={user:e,hash:Ve()(t).toString().toLowerCase()};document.cookie=`authenticationToken=${$e(o)};`+(n>0?"expires="+i:""),localStorage.setItem(u["localStorageKeys"].USERNAME,e)},Fe=()=>{document.cookie="authenticationToken=null",localStorage.removeItem(u["localStorageKeys"].USERNAME)},qe=e=>{if(!e||0===e.length)return!0;if(!Ue(e))return!1;const t=localStorage[u["localStorageKeys"].USERNAME];let n=!1;return e.forEach(e=>{e.user===t&&"admin"===e.type&&(n=!0)}),n};var We=n("bc3a"),Je=n.n(We),Ge={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:Be.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:He,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:je,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&&qe(e.auth)},save(){"local"!==this.saveMode&&this.allowWriteToDisk?"file"===this.saveMode?this.writeConfigToDisk():this.$toasted.show("Please select a Save Mode: Local or File"):this.saveConfigLocally()},writeConfigToDisk(){const e=this.jsonParser(this.jsonData),t=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.3.9",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,n=t+"/config-manager/save",a={"Content-Type":"text/plain"},i={config:e,timestamp:new Date},o=Je.a.post(n,i,a);o.then(e=>{this.saveSuccess=e.data.success||!1,this.responseText=e.data.message,this.saveSuccess?(this.carefullyClearLocalStorage(),this.showToast("Config file written to disk succesfully",!0)):this.showToast("An error occurred saving config",!1)}).catch(e=>{this.saveSuccess=!1,this.responseText=e,this.showToast(e,!1)})},saveConfigLocally(){const e=this.jsonData;e.sections&&localStorage.setItem(u["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),e.pageInfo&&localStorage.setItem(u["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig&&localStorage.setItem(u["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),e.appConfig.theme&&localStorage.setItem(u["localStorageKeys"].THEME,e.appConfig.theme),this.showToast("Changes saved succesfully",!0)},carefullyClearLocalStorage(){localStorage.removeItem(u["localStorageKeys"].PAGE_INFO),localStorage.removeItem(u["localStorageKeys"].APP_CONFIG),localStorage.removeItem(u["localStorageKeys"].CONF_SECTIONS)},validationErrors(e){const t=[];e.forEach(e=>{switch(e.type){case"validation":t.push({type:"validation",msg:`Validatation Warning: ${e.error.keyword} ${e.error.message}`});break;case"error":t.push({type:"parse",msg:e.message});break;default:t.push({type:"editor",msg:"Error in JSON"});break}}),this.errorMessages=t},showToast(e,t){this.$toasted.show(e,{className:"toast-"+(t?"success":"error")})}}},Ye=Ge,Xe=(n("80a7"),Object(y["a"])(Ye,ze,Me,!1,null,null,null)),Ze=Xe.exports,Qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"json-editor-outer"},[n("prism-editor",{staticClass:"my-editor",attrs:{highlight:e.highlighter,"line-numbers":""},model:{value:e.customCss,callback:function(t){e.customCss=t},expression:"customCss"}}),n("button",{staticClass:"save-button",on:{click:function(t){return e.save()}}},[e._v("Save Changes")]),e._m(0)],1)},et=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",{staticClass:"quick-note"},[n("b",[e._v("Note")]),e._v(": You will need to refresh the page for your changes to take effect. Styles overides are only stored locally, so it is reccomended to make a copy of your CSS. To remove all custom styles, delete the contents and hit Save Changes ")])}],tt=n("e57a"),nt=n("8c7a"),at=(n("6605"),n("dff1"),n("cabf"),{name:"JsonEditor",props:{config:Object},components:{PrismEditor:tt["a"]},data(){return{customCss:this.config.appConfig.customCss||"\n\n\n\n\n"}},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(u["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,""),n=document.createElement("style");n.textContent=t,document.head.append(n)},highlighter(e){return Object(nt["highlight"])(e,nt["languages"].css)}}}),it=at,ot=(n("9e50"),Object(y["a"])(it,Qe,et,!1,null,null,null)),st=ot.exports,rt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("modal",{attrs:{name:e.modalName,resizable:!0,width:"50%",height:"60%",classes:"dashy-modal"}},[n("div",{staticClass:"rebuild-app-container"},[n("h3",{staticClass:"rebuild-app-title"},[e._v("Rebuild Application")]),n("p",[e._v(" A rebuild is required for changes written to the conf.yml file to take effect. This should happen automatically, but if it hasn't, you can manually trigger it here."),n("br"),e._v(" This is not required for modifications stored locally. ")]),n("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?"Building...":"Start Build"))]},proxy:!0},{key:"icon",fn:function(){return[n("RebuildIcon")]},proxy:!0}])}),e.allowRebuild?e._e():n("div",[n("p",{staticClass:"disallow-rebuild-msg"},[e._v("You do no have permission to trigger this action")])]),e.loading?n("div",{staticClass:"loader-info"},[n("LoadingAnimation",{staticClass:"loader"}),n("p",{staticClass:"loading-message"},[e._v("This may take a few minutes...")])],1):e._e(),void 0!==e.success?n("div",{staticClass:"rebuild-response"},[e.success?n("p",{staticClass:"response-status success"},[e._v("โœ… Build completed succesfully")]):n("p",{staticClass:"response-status failure"},[e._v("โŒ Build operation failed")]),n("pre",{staticClass:"output"},[n("code",[e._v(e._s(e.output||e.error))])]),n("p",{staticClass:"rebuild-message"},[e._v(e._s(e.message))]),e.success?n("p",{staticClass:"rebuild-message"},[e._v(" A page reload is now required for changes to take effect ")]):e._e(),e.success?n("Button",{attrs:{click:e.refreshPage},scopedSlots:e._u([{key:"text",fn:function(){return[e._v("Reload Page")]},proxy:!0},{key:"icon",fn:function(){return[n("ReloadIcon")]},proxy:!0}],null,!1,1379687826)}):e._e()],1):e._e()],1)])},lt=[],ct=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("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)},_t=[],dt={name:"Button",props:{text:String,click:Function,disabled:Boolean,disallow:Boolean}},ut=dt,mt=(n("24e6"),Object(y["a"])(ut,ct,_t,!1,null,"ec408f00",null)),ht=mt.exports,pt=n("0911"),gt=n.n(pt),ft=n("3ff5"),kt=n.n(ft),bt=n("6266"),wt=n.n(bt),vt={name:"RebuildApp",inject:["config"],components:{Button:ht,RebuildIcon:gt.a,ReloadIcon:kt.a,LoadingAnimation:wt.a},data:()=>({modalName:u["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.3.9",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=e+"/config-manager/rebuild";this.loading=!0,Je.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:n,error:a,message:i}=e;this.success=t,this.output=n,this.message=i,this.error=a}this.$toasted.show(this.success?"โœ… Build Completed Succesfully":"โŒ Build Failed",{className:"toast-"+(this.success?"success":"error")})},refreshPage(){location.reload()}},mounted(){this.config&&this.config.appConfig&&!1===this.config.appConfig.allowConfigEdit&&(this.allowRebuild=!1)}},yt=vt,Ct=(n("aff1"),Object(y["a"])(yt,rt,lt,!1,null,"4d488482",null)),St=Ct.exports,It=n("cbd9"),xt=n.n(It),Ot=n("0278"),Tt=n.n(Ot),Et=n("e7fa"),At=n.n(Et),Lt=n("7da9"),Nt=n.n(Lt),jt=n("2413"),zt=n.n(jt),Mt={name:"ConfigContainer",data(){return{jsonParser:je,backupId:localStorage[u["localStorageKeys"].BACKUP_ID]||"",appVersion:"1.3.9"}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:Ze,CustomCssEditor:st,RebuildApp:St,DownloadIcon:xt.a,DeleteIcon:Tt.a,EditIcon:At.a,CloudIcon:ye.a,CustomCssIcon:Nt.a,RebuildIcon:gt.a,IconAbout:zt.a},methods:{navigateToTab(e){const t=this.$refs.tabView.navItems[e];this.$refs.tabView.activeTabItem(t)},openRebuildAppModal(){this.$modal.show(u["modalNames"].REBUILD_APP)},openAboutModal(){this.$modal.show(u["modalNames"].ABOUT_APP)},openCloudSync(){this.$modal.show(u["modalNames"].CLOUD_BACKUP)},copyConfigToClipboard(){navigator.clipboard.writeText(this.jsonParser(this.config))},resetLocalSettings(){const e="This will remove all user settings from local storage, but won't effect your 'conf.yml' file. It is recommend to make a backup of your modified YAML settings first.\n\nAre you sure you want to proceed?",t=confirm(e);t&&(localStorage.clear(),this.$toasted.show("Data cleared succesfully"),setTimeout(()=>{location.reload(!0)},1900))},downloadConfigFile(e,t){const n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8, "+encodeURIComponent(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}},mounted(){xe.a.registerLanguage("yaml",Te.a);const e=xe.a.highlight(this.jsonParser(this.config),{language:"yaml"}).value;document.getElementById("conf-yaml").innerHTML=e}},Pt=Mt,Bt=(n("110c"),n("1d47"),Object(y["a"])(Pt,Ce,Se,!1,null,"f5fb9464",null)),Ht=Bt.exports,Dt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"cloud-backup-restore-wrapper"},[e._m(0),n("div",{staticClass:"section backup-section"},[e.backupId?n("h3",[e._v("Update Backup")]):n("h3",[e._v("Make a Backup")]),n("Input",{attrs:{name:"backup-password",label:e.backupId?"Enter your Password":"Choose a Password",layout:"vertical",type:"password"},model:{value:e.backupPassword,callback:function(t){e.backupPassword=t},expression:"backupPassword"}}),n("Button",{attrs:{click:e.checkPass},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(e._s(e.backupId?"Update Backup":"Backup"))]},proxy:!0},{key:"icon",fn:function(){return[n("IconBackup")]},proxy:!0}])}),e.backupId?n("div",{staticClass:"results-view"},[n("span",{staticClass:"backup-id-label"},[e._v("Your Backup ID: ")]),n("pre",{staticClass:"backup-id-value"},[e._v(e._s(e.backupId))]),n("span",{staticClass:"backup-id-note"},[e._v(" This is used to restore from backups later. So keep it, along with your password somewhere safe. ")])]):e._e()],1),n("div",{staticClass:"section restore-section"},[n("h3",[e._v("Restore a Backup")]),n("Input",{attrs:{name:"restore-code",label:"Restore ID"},model:{value:e.restoreCode,callback:function(t){e.restoreCode=t},expression:"restoreCode"}}),n("Input",{attrs:{name:"restore-password",label:"Password",type:"password"},model:{value:e.restorePassword,callback:function(t){e.restorePassword=t},expression:"restorePassword"}}),n("Button",{attrs:{click:e.restoreBackup},scopedSlots:e._u([{key:"text",fn:function(){return[e._v("Restore")]},proxy:!0},{key:"icon",fn:function(){return[n("IconRestore")]},proxy:!0}])})],1)])},Vt=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"section intro"},[n("h2",[e._v("Cloud Backup & Restore")]),n("p",{staticClass:"intro"},[e._v(" Cloud backup and restore is an optional feature, that enables you to upload your config to the internet, and then restore it on any other device or instance of Dashy. "),n("br"),n("br"),e._v(" All data is fully end-to-end encrypted with AES, using your password as the key. "),n("br"),e._v(" For more info, please see the "),n("a",{attrs:{href:"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md"}},[e._v("docs")])])])}],$t=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"input-container "+e.layout},[e.label?n("label",{attrs:{for:"name"}},[e._v(e._s(e.label))]):e._e(),n("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)}}})])},Ut=[],Rt={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)}}},Kt=Rt,Ft=(n("2d25"),Object(y["a"])(Kt,$t,Ut,!1,null,"5df13ed2",null)),qt=Ft.exports,Wt=n("3a1e"),Jt=n.n(Wt),Gt=n("e6a4"),Yt=n.n(Gt),Xt=n("c198"),Zt=n.n(Xt),Qt=n("f8d5"),en=n.n(Qt);const tn=u["backupEndpoint"],nn=(e,t)=>{const n=JSON.stringify(e),a=Zt.a.encrypt(n,t);return a.toString()},an=(e,t)=>Zt.a.decrypt(e,t).toString(en.a),on=e=>Ve()(e).toString().slice(0,14),sn=(e,t)=>Je.a.post(tn,{userData:nn(e,t),subHash:on(t)}),rn=(e,t,n)=>Je.a.put(tn,{backupId:n,userData:nn(e,t),subHash:on(t)}),ln=e=>Object.entries(e).map(e=>e.map(encodeURIComponent).join("=")).join("&"),cn=(e,t)=>{const n=ln({backupId:e,subHash:on(t)}),a=`${tn}/?${n}`;return new Promise((e,n)=>{Je.a.get(a).then(a=>{if(!a.data||a.data.errorMsg)n(a.data.errorMsg||"Error");else{const o=an(a.data.userData.userData,t);try{e(JSON.parse(o))}catch(i){n(i)}}})})};var _n={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[u["localStorageKeys"].BACKUP_ID]||""}},components:{Button:ht,Input:qt,IconBackup:Jt.a,IconRestore:Yt.a},methods:{restoreBackup(){cn(this.restoreCode,this.restorePassword).then(e=>{this.restoreFromBackup(e,this.restoreCode)}).catch(e=>{this.showErrorMsg(e)})},checkPass(){const e=localStorage[u["localStorageKeys"].BACKUP_HASH]||void 0;e?e===this.makeHash(this.backupPassword)?this.makeUpdate():this.showErrorMsg("Incorrect password. Please enter your current password."):this.makeBackup()},makeBackup(){sn(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("Unable to process request")})},makeUpdate(){rn(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("Unable to process request")})},restoreFromBackup(e,t){localStorage.setItem(u["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),localStorage.setItem(u["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),localStorage.setItem(u["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig.theme&&localStorage.setItem(u["localStorageKeys"].THEME,e.appConfig.theme),this.setBackupIdLocally(t,this.restorePassword),this.showSuccessMsg("Config Restored Succesfully"),setTimeout(()=>{location.reload()},1500)},updateUiAfterBackup(e,t=!1){this.setBackupIdLocally(e,this.backupPassword),this.showSuccessMsg((t?"Update":"Backup")+" Completed Succesfully"),this.backupPassword=""},showErrorMsg(e){this.$toasted.show(e,{className:"toast-error"})},showSuccessMsg(e){this.$toasted.show(e,{className:"toast-success"})},makeHash(e){return Ve()(e).toString()},setBackupIdLocally(e,t){this.backupId=e;const n=this.makeHash(t);localStorage.setItem(u["localStorageKeys"].BACKUP_ID,e),localStorage.setItem(u["localStorageKeys"].BACKUP_HASH,n)}}},dn=_n,un=(n("baed"),Object(y["a"])(dn,Dt,Vt,!1,null,"763657f4",null)),mn=un.exports,hn={name:"ConfigLauncher",data(){return{modalNames:u["modalNames"]}},components:{IconSpanner:we.a,IconCloud:ye.a,ConfigContainer:Ht,CloudBackupRestore:mn},props:{sections:Array,pageInfo:Object,appConfig:Object},methods:{showEditor:function(){this.$modal.show(u["modalNames"].CONF_EDITOR),this.$emit("modalChanged",!0)},showCloudModal:function(){this.$modal.show(u["modalNames"].CLOUD_BACKUP),this.$emit("modalChanged",!0)},combineConfig(){const e={};return e[u["topLevelConfKeys"].APP_CONFIG]=this.appConfig,e[u["topLevelConfKeys"].PAGE_INFO]=this.pageInfo,e[u["topLevelConfKeys"].SECTIONS]=this.sections,e[u["topLevelConfKeys"].APP_CONFIG].theme=localStorage[u["localStorageKeys"].THEME]||e[u["topLevelConfKeys"].APP_CONFIG].theme,e},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},pn=hn,gn=(n("9c85"),Object(y["a"])(pn,fe,ke,!1,null,"383db9de",null)),fn=gn.exports,kn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.themes?n("div",{staticClass:"theme-selector-section"},[n("span",{staticClass:"theme-label"},[e._v("Theme")]),n("v-select",{staticClass:"theme-dropdown",attrs:{options:e.themeNames,tabindex:-2},model:{value:e.selectedTheme,callback:function(t){e.selectedTheme=t},expression:"selectedTheme"}})],1):e._e()},bn=[];const wn=function(){const e=e=>{const t=document.createElement("link");return t.rel="stylesheet",t.href=e,document.head.appendChild(t),new Promise((e,n)=>{t.onload=t=>{const{sheet:n}=t.target;n.disabled=!0,e(n)},t.onerror=n})},t=(e,t)=>{const n=e;if(t&&!e[t])throw new Error(`Theme: '${t}' does not exist.`);Object.keys(e).forEach(e=>{n[e].disabled=e!==t})},n={};return{add(t,a){return e(a).then(e=>{n[t]=e})},set theme(e){t(n,e)},get theme(){return Object.keys(n).find(e=>!n[e].disabled)}}};var vn=wn,yn={name:"ThemeSelector",props:{themes:Object,confTheme:String,userThemes:Array},watch:{selectedTheme(e){this.updateTheme(e)}},data(){return{selectedTheme:this.getInitialTheme(),themeHelper:new vn,loading:!0,builtInThemes:this.userThemes.concat(m.a.builtInThemes)}},computed:{themeNames:function(){const e=Object.keys(this.themes);return e.concat(this.builtInThemes)}},created(){const e=Object.keys(this.themes).map(e=>this.themeHelper.add(e,this.themes[e]));this.isThemeLocal(this.selectedTheme)?this.updateTheme(this.selectedTheme):this.selectedTheme!==m.a.theme&&Promise.all(e).then(()=>{this.updateTheme(this.selectedTheme)})},methods:{setLocalTheme(e){const t=document.getElementsByTagName("html")[0];t.hasAttribute("data-theme")&&t.removeAttribute("data-theme"),t.setAttribute("data-theme",e)},getInitialTheme(){return localStorage[u["localStorageKeys"].THEME]||this.confTheme||m.a.theme},isThemeLocal(e){return this.builtInThemes.includes(e)},updateTheme(e){"Deafault"===e?(this.resetToDefault(),this.themeHelper.theme="Deafault"):this.isThemeLocal(e)?this.setLocalTheme(e):this.themeHelper.theme=e,localStorage.setItem(u["localStorageKeys"].THEME,e)},resetToDefault(){document.getElementsByTagName("html")[0].removeAttribute("data-theme")}}},Cn=yn,Sn=(n("4ade"),Object(y["a"])(Cn,kn,bn,!1,null,null,null)),In=Sn.exports,xn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("span",{staticClass:"options-label"},[e._v("Layout")]),n("div",{staticClass:"display-options"},[n("IconDeafault",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Auto"),expression:"tooltip('Auto')"}],class:"layout-icon "+("auto"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("auto")}}}),n("IconHorizontal",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Horizontal"),expression:"tooltip('Horizontal')"}],class:"layout-icon "+("horizontal"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("horizontal")}}}),n("IconVertical",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Vertical"),expression:"tooltip('Vertical')"}],class:"layout-icon "+("vertical"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("vertical")}}})],1)])},On=[],Tn=n("c715"),En=n.n(Tn),An=n("570d"),Ln=n.n(An),Nn=n("f9d7"),jn=n.n(Nn),zn={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:En.a,IconHorizontal:Ln.a,IconVertical:jn.a},methods:{updateDisplayLayout(e){this.$emit("layoutUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Mn=zn,Pn=(n("7dc7"),Object(y["a"])(Mn,xn,On,!1,null,"c819d738",null)),Bn=Pn.exports,Hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("span",{staticClass:"options-label"},[e._v("Icon Size")]),n("div",{staticClass:"display-options"},[n("IconSmall",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Small"),expression:"tooltip('Small')"}],class:"layout-icon "+("small"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("small")}}}),n("IconMedium",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Medium"),expression:"tooltip('Medium')"}],class:"layout-icon "+("medium"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("medium")}}}),n("IconLarge",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Large"),expression:"tooltip('Large')"}],class:"layout-icon "+("large"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("large")}}})],1)])},Dn=[],Vn=n("d8e8"),$n=n.n(Vn),Un=n("7075"),Rn=n.n(Un),Kn=n("922c"),Fn=n.n(Kn),qn={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:$n.a,IconMedium:Rn.a,IconLarge:Fn.a},methods:{updateIconSize(e){this.$emit("iconSizeUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Wn=qn,Jn=(n("47d9"),Object(y["a"])(Wn,Hn,Dn,!1,null,"58966274",null)),Gn=Jn.exports,Yn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("div",{staticClass:"display-options"},[n("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)])},Xn=[],Zn=n("0123"),Qn=n.n(Zn),ea={name:"AppButtons",components:{IconLogout:Qn.a},methods:{logout(){Fe(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},500)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},ta=ea,na=(n("0e1b"),Object(y["a"])(ta,Yn,Xn,!1,null,"d69dca9c",null)),aa=na.exports,ia=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"slide-fade"}},[e.shouldHide?e._e():n("div",{staticClass:"kb-sc-info"},[n("h5",[e._v("There are keyboard shortcuts! โŒจ๏ธ๐Ÿ™Œ")]),n("div",{staticClass:"close",attrs:{title:"Hide forever [Esc]"},on:{click:function(t){return e.hideWelcomeHelper()}}},[e._v("x")]),n("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 ๐Ÿฅณ ")])])])},oa=[],sa={name:"KeyboardShortcutInfo",data(){return{shouldHide:!0,timeDelay:3e3}},methods:{shouldHideWelcomeMessage(){return!!localStorage[u["localStorageKeys"].HIDE_WELCOME_BANNER]},hideWelcomeHelper(){this.shouldHide=!0,localStorage.setItem(u["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))}},ra=sa,la=(n("9517"),Object(y["a"])(ra,ia,oa,!1,null,"c5f17d9a",null)),ca=la.exports,_a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("modal",{attrs:{name:e.modalName,resizable:!0,width:"40%",height:"60%",classes:"dashy-modal"}},[n("div",{staticClass:"about-modal"},[n("router-link",{attrs:{to:"/about"}},[n("h2",[e._v("Dashy V"+e._s(e.appVersion))])]),n("h3",[e._v("Service Worker Status")]),n("code",{domProps:{innerHTML:e._s(e.serviceWorkerInfo)}},[e._v(e._s(e.serviceWorkerInfo))]),n("br"),n("h3",[e._v("Config Validation Status")]),n("code",[e._v(e._s(e.getIsConfigValidStatus()))]),n("br"),n("h3",[e._v("Help & Support")]),n("ul",[n("li",[n("a",{attrs:{href:"https://git.io/JnqPR"}},[e._v("Report a Bug")])]),n("li",[n("a",{attrs:{href:"https://git.io/JnDxL"}},[e._v("Request a Feature")])]),n("li",[n("a",{attrs:{href:"https://git.io/JnDxs"}},[e._v("Ask a Question")])]),n("li",[n("a",{attrs:{href:"https://git.io/JnDxn"}},[e._v("Leave Feedback")])]),n("li",[n("a",{attrs:{href:"https://github.com/Lissy93/dashy/discussions"}},[e._v("Join the Discussion")])])]),n("p",{staticClass:"small-note"},[e._v("Please include the following info in your bug report:")]),n("a",{on:{click:function(t){e.showInfo=!e.showInfo}}},[e._v(e._s(e.showInfo?"Hide":"Show")+" system info")]),e.showInfo?n("div",{staticClass:"system-info"},[n("h4",[e._v("System Info")]),n("code",[n("b",[e._v("Dashy Version:")]),e._v(" V "+e._s(e.appVersion))]),n("br"),n("code",[n("b",[e._v("Browser:")]),e._v(" "+e._s(e.systemInfo.browser))]),n("br"),n("code",[n("b",[e._v("Is Mobile?")]),e._v(" "+e._s(e.systemInfo.isMobile?"Yes":"No"))]),n("br"),n("code",[n("b",[e._v("OS:")]),e._v(" "+e._s(e.systemInfo.os))]),n("br")]):e._e(),n("h3",[e._v("About")]),n("p",{staticClass:"about-text"},[e._v(" Documentation and Source Code available on "),n("a",{attrs:{href:"https://github.com/lissy93/dashy"}},[e._v("GitHub")])]),n("h3",[e._v("License")]),n("code",[e._v("Licensed under MIT X11. Copyright ยฉ 2021")])],1)])},da=[],ua={name:"AppInfoModal",data(){return{modalName:u["modalNames"].ABOUT_APP,appVersion:"1.3.9",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.3.9",BASE_URL:"/"}).VUE_APP_CONFIG_VALID;return void 0===e?"Config validation status is missing":"Config is "+(e?"Valid":"Invalid")},getSwStatus(){const e=sessionStorage[u["sessionStorageKeys"].SW_STATUS],t=e?JSON.parse(e):{};let n="";return t.registered&&(n+="Service worker registered
"),t.ready&&(n+="Dashy is being served from service worker
"),t.cached&&(n+="Content has been cached for offline use
"),t.updateFound&&(n+="New content is downloading
"),t.updated&&(n+="New content is available; please refresh
"),t.offline&&(n+="No internet connection found. App is running in offline mode
"),t.error&&(n+="Error during service worker registration
"),t.devMode&&(n+="App running in dev mode, no need for service worker
"),0===n.length&&(n+="No service worker info available"),n},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 n="Unknown";n=-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 a=!!navigator.userAgent.match(/iphone|android|blackberry/gi)||!1;return{os:t,browser:n,userAgent:e,isMobile:a}}}},ma=ua,ha=(n("6c13"),Object(y["a"])(ma,_a,da,!1,null,"40e473c3",null)),pa=ha.exports,ga=n("5703"),fa=n.n(ga),ka=n("5f32"),ba=n.n(ka),wa={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,availableThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:ge,ConfigLauncher:fn,ThemeSelector:In,LayoutSelector:Bn,ItemSizeSelector:Gn,AppButtons:aa,KeyboardShortcutInfo:ca,AppInfoModal:pa,IconOpen:fa.a,IconClose:ba.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(){Fe(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},100)},isUserLoggedIn(){return!!localStorage[u["localStorageKeys"].USERNAME]},getUserThemes(){const e=this.appConfig.cssThemes||[];return"string"===typeof e?[e]:e},toggleSettingsVisibility(){this.settingsVisible=!this.settingsVisible,localStorage.setItem(u["localStorageKeys"].HIDE_SETTINGS,this.settingsVisible)},getSettingsVisibility(){return JSON.parse(localStorage[u["localStorageKeys"].HIDE_SETTINGS]||(this.visibleComponents||u["visibleComponents"]).settings)}},data(){return{settingsVisible:this.getSettingsVisibility(),searchVisible:(this.visibleComponents||u["visibleComponents"]).searchBar}}},va=wa,ya=(n("4db3"),Object(y["a"])(va,le,ce,!1,null,"daad7260",null)),Ca=ya.exports,Sa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("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?n("div",{staticClass:"no-items"},[e._v(" No Items to Show Yet ")]):n("div",{class:"there-are-items "+(e.isGridLayout?"item-group-grid":""),style:e.gridStyle},[e._l(e.items,(function(t,a){return n("Item",{key:a+"_"+e.makeId(t.title),attrs:{id:a+"_"+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,enableStatusCheck:e.shouldEnableStatusCheck(t.statusCheck),statusCheckInterval:e.getStatusCheckInterval()},on:{itemClicked:function(t){return e.$emit("itemClicked")},triggerModal:e.triggerModal}})})),n("div",{ref:"modalContainer"})],2),n("IframeModal",{ref:"iframeModal-"+e.groupId,attrs:{name:"iframeModal-"+e.groupId},on:{closed:function(t){return e.$emit("itemClicked")},modalChanged:e.modalChanged}})],1)},Ia=[],xa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"item-wrapper"},[n("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()}}},[n("div",{class:"tile-title "+(e.icon?"":"bounce"),attrs:{id:"tile-"+e.id}},[n("span",{staticClass:"text"},[e._v(e._s(e.title))]),n("p",{staticClass:"description"},[e._v(e._s(e.description))])]),n("Icon",{staticClass:"bounce",style:e.customStyles,attrs:{icon:e.icon,url:e.url,size:e.itemSize,color:e.color}}),n("ItemOpenMethodIcon",{staticClass:"opening-method-icon",attrs:{isSmall:!e.icon,openingMethod:e.target,position:"medium"===e.itemSize?"bottom right":"top right"}}),e.enableStatusCheck?n("StatusIndicator",{staticClass:"status-indicator",attrs:{statusSuccess:e.statusResponse?e.statusResponse.successStatus:void 0,statusText:e.statusResponse?e.statusResponse.message:void 0}}):e._e()],1),n("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)},Oa=[],Ta=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"item-icon"},["font-awesome"===e.iconType?n("i",{class:e.icon+" "+e.size}):"emoji"===e.iconType?n("i",{class:"emoji-icon "+e.size},[e._v(e._s(e.getEmoji(e.iconPath)))]):e.icon?n("img",{class:"tile-icon "+e.size+" "+(e.broken?"broken":""),attrs:{src:e.iconPath},on:{error:e.imageNotFound}}):e._e(),e.broken?n("BrokenImage",{staticClass:"missing-image"}):e._e()],1)},Ea=[],Aa=n("9635"),La=n.n(Aa);const Na=function(e){console.warn(e)};var ja=Na,za=n("e0a2"),Ma=n.n(za),Pa=n("492d"),Ba={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:La.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=/(?:\.([^.]+))?$/,n=["png","jpg"],a=t.exec(e);return a.length>=1&&n.includes(a[1])},isEmoji(e){return Ma.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(Pa[e])return Pa[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),n=this.config.appConfig.faviconApi||u["faviconApi"],a=u["faviconApiEndpoints"][n];return a.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,ja(`The path to '${this.icon}' could not be resolved`)}}},Ha=Ba,Da=(n("de40"),Object(y["a"])(Ha,Ta,Ea,!1,null,null,null)),Va=Da.exports,$a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.makeClass(e.position,e.isSmall,e.isTransparent)},["newtab"===e.openingMethod?n("NewTabOpenIcon"):"sametab"===e.openingMethod?n("SameTabOpenIcon"):"modal"===e.openingMethod?n("IframeOpenIcon"):"workspace"===e.openingMethod?n("WorkspaceOpenIcon"):e._e()],1)},Ua=[],Ra=n("237e"),Ka=n.n(Ra),Fa=n("2352"),qa=n.n(Fa),Wa=n("1946"),Ja=n.n(Wa),Ga=n("3b49"),Ya=n.n(Ga),Xa={name:"ItemOpenMethodIcon",props:{openingMethod:String,isSmall:Boolean,position:String,isTransparent:Boolean},methods:{makeClass(e="top right",t=!1,n=!1){return`opening-method-icon\n ${e||"top right"}\n ${t?"short":""}\n ${n?"transparent":""}`}},components:{NewTabOpenIcon:Ka.a,SameTabOpenIcon:qa.a,IframeOpenIcon:Ja.a,WorkspaceOpenIcon:Ya.a}},Za=Xa,Qa=(n("48f9"),Object(y["a"])(Za,$a,Ua,!1,null,"bd61f3bc",null)),ei=Qa.exports,ti=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("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()}}},[n("div",{class:"dot dot-"+e.color()},[e._m(0)])])},ni=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",[n("span")])}],ai={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)}},ii=ai,oi=(n("e697"),n("45d4"),Object(y["a"])(ii,ti,ni,!1,null,"46972ad8",null)),si=oi.exports,ri=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"slide"}},[e.show&&e.menuEnabled?n("div",{staticClass:"context-menu",style:e.posX&&e.posY?"top:"+e.posY+"px;left:"+e.posX+"px;":""},[n("ul",[n("li",{on:{click:function(t){return e.launch("sametab")}}},[n("SameTabOpenIcon"),n("span",[e._v("Open in Current Tab")])],1),n("li",{on:{click:function(t){return e.launch("newtab")}}},[n("NewTabOpenIcon"),n("span",[e._v("Open in New Tab")])],1),n("li",{on:{click:function(t){return e.launch("modal")}}},[n("IframeOpenIcon"),n("span",[e._v("Open in Pop-Up Modal")])],1),n("li",{on:{click:function(t){return e.launch("workspace")}}},[n("WorkspaceOpenIcon"),n("span",[e._v("Open in Workspace View")])],1)])]):e._e()])},li=[],ci={name:"ContextMenu",inject:["config"],components:{SameTabOpenIcon:qa.a,NewTabOpenIcon:Ka.a,IframeOpenIcon:Ja.a,WorkspaceOpenIcon:Ya.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}}},_i=ci,di=(n("6850"),Object(y["a"])(_i,ri,li,!1,null,null,null)),ui=di.exports,mi={name:"Item",props:{id:String,title:String,subtitle:String,description:String,icon:String,color:String,backgroundColor:String,url:String,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:Va,ItemOpenMethodIcon:ei,StatusIndicator:si,ContextMenu:ui},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(){return{disabled:!this.description,content:this.description,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.3.9",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=this.statusCheckUrl||this.url,n=this.statusCheckHeaders||{},a=`${e}/ping?url=${t}`;Je.a.get(a,{headers:n}).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":Eo.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)}},hi=mi,pi=(n("826e"),n("f719"),Object(y["a"])(hi,xa,Oa,!1,null,null,null)),gi=pi.exports,fi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"collapsable "+e.checkSpanNum(e.cols,"col")+" "+e.checkSpanNum(e.rows,"row"),style:(e.color?"background: "+e.color:"")+"; "+e.sanitizeCustomStyles(e.customStyles)+";"},[n("input",{staticClass:"toggle",attrs:{id:"collapsible-"+e.uniqueKey,type:"checkbox",tabIndex:"-1"},domProps:{checked:e.getCollapseState()},on:{change:e.collapseChanged}}),n("label",{staticClass:"lbl-toggle",attrs:{for:"collapsible-"+e.uniqueKey,tabindex:"-1"}},[e.icon?n("Icon",{staticClass:"section-icon",attrs:{icon:e.icon,size:"small",url:e.title}}):e._e(),n("h3",[e._v(e._s(e.title))])],1),n("div",{staticClass:"collapsible-content"},[n("div",{staticClass:"content-inner"},[e._t("default")],2)])])},ki=[],bi={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:Va},methods:{checkSpanNum(e,t){const n=4;let a=/^\d*$/.test(e)?parseInt(e,10):1;return a=a>n?n:a,`${t}-${a}`},sanitizeCustomStyles(e){return e?e.replace(/[^a-zA-Z0-9- :;.]/g,""):""},initialiseStorage(){const e=()=>localStorage.setItem(u["localStorageKeys"].COLLAPSE_STATE,JSON.stringify({}));localStorage[u["localStorageKeys"].COLLAPSE_STATE]||e();try{JSON.parse(localStorage[u["localStorageKeys"].COLLAPSE_STATE])}catch{e()}return JSON.parse(localStorage[u["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 n=JSON.parse(localStorage[u["localStorageKeys"].COLLAPSE_STATE]);n[e]=t,localStorage.setItem(u["localStorageKeys"].COLLAPSE_STATE,JSON.stringify(n))},collapseChanged(e){this.initialiseStorage(),this.setCollapseState(this.uniqueKey.toString(),e.srcElement.checked)}}},wi=bi,vi=(n("eb58"),Object(y["a"])(wi,fi,ki,!1,null,"ac1beaa4",null)),yi=vi.exports,Ci=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("modal",{attrs:{name:e.name,resizable:!0,width:"80%",height:"80%",classes:"dashy-modal"},on:{closed:function(t){return e.modalClosed()}}},[n("div",{attrs:{slot:"top-right"},on:{click:function(t){return e.hide()}},slot:"top-right"},[e._v("Close")]),n("a",{staticClass:"close-button",attrs:{title:"Close"},on:{click:function(t){return e.hide()}}},[e._v("x")]),e.url?n("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)}}}):n("div",{staticClass:"no-url"},[e._v("No URL Specified")])])},Si=[],Ii={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)}}},xi=Ii,Oi=(n("eda6"),Object(y["a"])(xi,Ci,Si,!1,null,null,null)),Ti=Oi.exports,Ei={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:yi,Item:gi,IframeModal:Ti},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}}},Ai=Ei,Li=(n("c8df"),Object(y["a"])(Ai,Sa,Ia,!1,null,"57f8b54c",null)),Ni=Li.exports,ji={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:Ca,ItemGroup:Ni},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{layoutOrientation:{get(){return this.appConfig.layout||m.a.layout},set:function(e){localStorage.setItem(u["localStorageKeys"].LAYOUT_ORIENTATION,e),this.layout=e}},iconSize:{get(){return this.appConfig.iconSize||m.a.iconSize},set:function(e){localStorage.setItem(u["localStorageKeys"].ICON_SIZE,e),this.itemSizeBound=e}}},methods:{checkTheresData(e){const t=localStorage[u["localStorageKeys"].CONF_SECTIONS];return e&&e.length>=1||t&&t.length>=1},getSections(e){const t=localStorage[u["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.-]*)*/,n=e.match(t);return n?n[1]:""},filterTiles(e){return e?e.filter(e=>{const{title:t,description:n,provider:a,url:i}=e,o=this.searchValue.toLowerCase();return t&&t.toLowerCase().includes(o)||a&&a.toLowerCase().includes(o)||n&&n.toLowerCase().includes(o)||this.getDomainFromUrl(i).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,n)=>{e["External Stylesheet "+(n+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[u["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||m.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}},zi=ji,Mi=(n("c7ef"),Object(y["a"])(zi,se,re,!1,null,"267a5024",null)),Pi=Mi.exports,Bi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"login-page"},[n("form",{staticClass:"login-form"},[n("h2",{staticClass:"login-title"},[e._v("Dashy")]),n("Input",{staticClass:"login-field username",attrs:{label:"Username",type:"text"},model:{value:e.username,callback:function(t){e.username=t},expression:"username"}}),n("Input",{staticClass:"login-field password",attrs:{label:"Password",type:"password"},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}),n("label",[e._v("Remember me for")]),n("v-select",{staticClass:"login-time-dropdown",attrs:{options:e.dropDownMenu,label:"label",selectOnTab:!0},model:{value:e.timeout,callback:function(t){e.timeout=t},expression:"timeout"}}),n("Button",{staticClass:"login-button",attrs:{click:e.submitLogin}},[e._v("Login")]),n("transition",{attrs:{name:"bounce"}},[n("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)])},Hi=[],Di={name:"login",props:{appConfig:Object},data(){return{username:"",password:"",message:"",status:"waiting",timeout:{label:"Never",time:0},dropDownMenu:[{label:"Never",time:0},{label:"4 Hours",time:144e5},{label:"1 Day",time:864e5},{label:"1 Week",time:6048e5}]}},components:{Button:ht,Input:qt},methods:{submitLogin(){const e=this.timeout.time||0,t=Re(this.username,this.password,this.appConfig.auth||[]);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(Ke(this.username,this.password,e),setTimeout(()=>{Eo.push({path:"/"})},250))},setTheme(){const e=localStorage[u["localStorageKeys"].THEME]||m.a.theme;document.getElementsByTagName("html")[0].setAttribute("data-theme",e)}},created(){this.setTheme()}},Vi=Di,$i=(n("206d6"),Object(y["a"])(Vi,Bi,Hi,!1,null,null,null)),Ui=$i.exports,Ri=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"work-space"},[n("SideBar",{attrs:{sections:e.sections},on:{"launch-app":e.launchApp}}),n("WebContent",{attrs:{url:e.url}})],1)},Ki=[],Fi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("nav",{staticClass:"side-bar"},e._l(e.sections,(function(t,a){return n("div",{key:a},[n("div",{staticClass:"side-bar-item-container",on:{click:function(t){return e.openSection(a)}}},[n("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.name}})],1),n("transition",{attrs:{name:"slide"}},[e.isOpen[a]?n("SideBarSection",{attrs:{items:t.items},on:{"launch-app":e.launchApp}}):e._e()],1)],1)})),0)},qi=[],Wi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("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?n("Icon",{attrs:{icon:e.icon,size:"small",url:e.url}}):n("p",{staticClass:"small-title"},[e._v(e._s(e.title))])],1)},Ji=[],Gi={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:Va},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}}}}},Yi=Gi,Xi=(n("5e61"),Object(y["a"])(Yi,Wi,Ji,!1,null,"d979f4fe",null)),Zi=Xi.exports,Qi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sub-side-bar"},e._l(e.items,(function(t,a){return n("div",{key:a},[n("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.title,url:t.url},on:{"launch-app":e.launchApp}})],1)})),0)},eo=[],to={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:Zi},methods:{launchApp(e){this.$emit("launch-app",e)}}},no=to,ao=(n("cf1c"),Object(y["a"])(no,Qi,eo,!1,null,"56ddb963",null)),io=ao.exports,oo={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:Zi,SideBarSection:io},methods:{openSection(e){this.isOpen=this.isOpen.map((t,n)=>n===e&&!t)},launchApp(e){this.$emit("launch-app",e)}}},so=oo,ro=(n("85e1"),Object(y["a"])(so,Fi,qi,!1,null,"31476576",null)),lo=ro.exports,co=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"web-content"},[n("iframe",{attrs:{src:e.url}})])},_o=[],uo={name:"WebContent",props:{url:String}},mo=uo,ho=(n("44e9"),Object(y["a"])(mo,co,_o,!1,null,"a2564c04",null)),po=ho.exports,go={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:""}),components:{SideBar:lo,WebContent:po},methods:{launchApp(e){this.url=e},setTheme(){const e=localStorage[u["localStorageKeys"].THEME]||this.confTheme||m.a.theme,t=document.getElementsByTagName("html")[0];t.hasAttribute("data-theme")&&t.removeAttribute("data-theme"),t.setAttribute("data-theme",e)},initiateFontAwesome(){const e=document.createElement("script"),t=this.appConfig.fontAwesomeKey||m.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()}},fo=go,ko=(n("fd9a"),Object(y["a"])(fo,Ri,Ki,!1,null,"6136c26a",null)),bo=ko.exports,wo=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("pre",[n("code",[e._v(e._s(e.jsonParser(e.config)))])])},vo=[],yo={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:je}}},Co=yo,So=(n("6cd5"),Object(y["a"])(Co,wo,vo,!1,null,"33cd2d90",null)),Io=So.exports;a["a"].use(oe["a"]);const xo=()=>{const e=Y.appConfig.auth;return!e||Ue(e)},Oo=new oe["a"]({routes:[{path:"/",name:"home",component:Pi,props:Y,meta:{title:Y.pageInfo.title||"Home Page",metaTags:u["metaTagData"]}},{path:"/workspace",name:"workspace",component:bo,props:Y,meta:{title:Y.pageInfo.title||"Dashy Workspace",metaTags:u["metaTagData"]}},{path:"/login",name:"login",component:Ui,props:{appConfig:Y.appConfig},beforeEnter:(e,t,n)=>{xo()&&Oo.push({path:"/"}),n()}},{path:"/about",name:"about",component:()=>n.e("about").then(n.bind(null,"f820"))},{path:"/download",name:"download",component:Io,props:Y,meta:{title:Y.pageInfo.title||"Download Dashy Config",metaTags:u["metaTagData"]}}]});Oo.beforeEach((e,t,n)=>{"login"===e.name||xo()?n():n({name:"login"})});const To="Dashy";Oo.afterEach(e=>{a["a"].nextTick(()=>{document.title=e.meta.title||To})});var Eo=Oo,Ao=n("9483");const Lo=e=>{const t={ready:!1,registered:!1,cached:!1,updateFound:!1,updated:!1,offline:!1,error:!1,devMode:!1,disabledByUser:!1},n=sessionStorage[u["sessionStorageKeys"].SW_STATUS],a=n?JSON.parse(n):t;try{const t={...a,...e};sessionStorage.setItem(u["sessionStorageKeys"].SW_STATUS,JSON.stringify(t))}catch(i){console.warn("Error setting SW data",i)}},No=()=>{let e=!0;return J.a&&J.a.appConfig&&J.a.appConfig.disableServiceWorker&&(e=!1,Lo({disabledByUser:!0})),e},jo=()=>{No()&&Object(Ao["a"])("/service-worker.js",{ready(){Lo({ready:!0}),console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){Lo({registered:!0}),console.log("Service worker has been registered.")},cached(){Lo({cached:!0}),console.log("Content has been cached for offline use.")},updatefound(){Lo({updateFound:!0}),console.log("New content is downloading.")},updated(){Lo({updated:!0}),console.log("New content is available; please refresh.")},offline(){Lo({offline:!0}),console.log("No internet connection found. App is running in offline mode.")},error(e){Lo({error:!0}),console.error("Error during service worker registration:",e)}})};var zo=jo;const Mo=[];function Po(e,t,n){const{target:a}=e;t===a||t.contains(a)||n(e)}var Bo={bind(e,t){const n=e;n.dataset.outsideClickIndex=Mo.length;const a=t.value,i=e=>{Po(e,n,a)};document.addEventListener("click",i),document.addEventListener("touchstart",i),Mo.push(i)},unbind(e){if(!e.dataset)return;const t=e.dataset.outsideClickIndex,n=Mo[t];document.removeEventListener("click",n),Mo.splice(t,1)}};a["a"].use(i["a"]),a["a"].use(s.a),a["a"].use(c["a"]),a["a"].use(d.a,u["toastedOptions"]),a["a"].component("v-select",l.a),a["a"].directive("clickOutside",Bo),a["a"].config.productionTip=!1,zo(),new a["a"]({router:Eo,render:e=>e(ie)}).$mount("#app")},5703:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-sliders-h fa-w-16",s,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"},_),...d},o.concat([n("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"}})]))}}},"570d":function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-th-list fa-w-16",s,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"},_),...d},o.concat([n("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,n){},"5c0b":function(e,t,n){"use strict";n("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:{},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","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:{HIDE_WELCOME_BANNER:"hideWelcomeHelpers",LAYOUT_ORIENTATION:"layoutOrientation",COLLAPSE_STATE:"collapseState",ICON_SIZE:"iconSize",THEME:"theme",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",ABOUT_APP:"ABOUT_APP"},topLevelConfKeys:{PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",SECTIONS:"sections"},toastedOptions:{position:"bottom-center",duration:2500,keepOnHover:!0,className:"toast-message",iconPack:"fontawesome"},backupEndpoint:"https://dashy-sync-service.as93.net",splashScreenTime:1900,metaTagData:[{name:"description",content:"A simple static homepage for you're server"}],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"}}},"5e61":function(e,t,n){"use strict";n("b315")},"5f32":function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-times-circle fa-w-16",s,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"},_),...d},o.concat([n("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"}})]))}}},6:function(e,t){},6266:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:[s,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100",height:"100",preserveAspectRatio:"xMidYMid"},_),...d},o.concat([n("defs",[n("clipPath",{attrs:{id:"a"}},[n("path",{attrs:{d:"M20 0h60v100H20z"}})])]),n("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"}},[n("animateTransform",{attrs:{attributeName:"transform",type:"translate",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"-20 0;7 0",keyTimes:"0;1"}}),n("animate",{attrs:{attributeName:"stroke-dasharray",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"0 72 125 232;0 197 125 233",keyTimes:"0;1"}})])]))}}},6504:function(e,t,n){},6780:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-cloud-upload-alt fa-w-20",s,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"},_),...d},o.concat([n("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"}})]))}}},"67e6":function(e,t,n){},6850:function(e,t,n){"use strict";n("18b8")},"6c13":function(e,t,n){"use strict";n("67e6")},"6cd5":function(e,t,n){"use strict";n("6504")},7:function(e,t){},7075:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-expand fa-w-14",s,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"},_),...d},o.concat([n("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"}})]))}}},7941:function(e,t,n){},"7da9":function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-css3-alt fa-w-12",s,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"},_),...d},o.concat([n("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"}})]))}}},"7dc7":function(e,t,n){"use strict";n("1e5e")},"7eb0":function(e,t,n){},"7f59":function(e,t,n){},8:function(e,t){},"80a7":function(e,t,n){"use strict";n("7eb0")},"826e":function(e,t,n){"use strict";n("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"},"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"}},"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"}},"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"},"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,n){},"85e1":function(e,t,n){"use strict";n("1036")},"8b35":function(e,t,n){},"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,n){},9:function(e,t){},"922c":function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-expand-arrows-alt fa-w-14",s,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"},_),...d},o.concat([n("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,n){},9517:function(e,t,n){"use strict";n("a8d0")},9635:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:[s,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...d},o.concat([n("path",{attrs:{d:"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z"}}),n("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"}}),n("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"}}),n("path",{attrs:{d:"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z"}})]))}}},"97fb":function(e,t,n){},"9c0c":function(e,t,n){},"9c85":function(e,t,n){"use strict";n("b993")},"9e50":function(e,t,n){"use strict";n("3323")},"9e96":function(e,t,n){},a105:function(e,t,n){},a4c2:function(e,t,n){},a8d0:function(e,t,n){},aff1:function(e,t,n){"use strict";n("fd71")},b2be:function(e,t,n){},b315:function(e,t,n){},b993:function(e,t,n){},baed:function(e,t,n){"use strict";n("7941")},c32a:function(e,t,n){},c715:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-table fa-w-16",s,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"},_),...d},o.concat([n("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"}})]))}}},c7ef:function(e,t,n){"use strict";n("4dce")},c8df:function(e,t,n){"use strict";n("df8f")},cbd9:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-file-download fa-w-12",s,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"},_),...d},o.concat([n("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"}})]))}}},cf1c:function(e,t,n){"use strict";n("8d7c")},d16d:function(e,t,n){"use strict";n("18dd")},d704:function(e,t,n){},d7d3:function(e,t,n){},d8e8:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-compress-arrows-alt fa-w-16",s,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"},_),...d},o.concat([n("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,n){"use strict";n("7f59")},df8f:function(e,t,n){},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])/},e1a2:function(e,t,n){"use strict";n("1c0f")},e697:function(e,t,n){"use strict";n("2574")},e6a4:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-download fa-w-16",s,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"},_),...d},o.concat([n("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:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-edit fa-w-18",s,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"},_),...d},o.concat([n("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,n){"use strict";n("9e96")},ec36:function(e,t,n){},ed9b:function(e,t,n){"use strict";n("a4c2")},eda6:function(e,t,n){"use strict";n("1864")},ef83:function(e,t,n){},f719:function(e,t,n){"use strict";n("27c1")},f9d7:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-columns fa-w-16",s,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"},_),...d},o.concat([n("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"}})]))}}},fd71:function(e,t,n){},fd9a:function(e,t,n){"use strict";n("03b2")}}); -//# sourceMappingURL=dashy.c4780831.js.map \ No newline at end of file +(function(e){function t(t){for(var a,i,r=t[0],l=t[1],c=t[2],_=0,d=[];_new RegExp(/(http|https):\/\/(\S+)(:[0-9]+)?/).test(e)}},T=O,E=(n("d16d"),Object(y["a"])(T,I,x,!1,null,"68c1bd5c",null)),A=E.exports,L={name:"Header",inject:["visibleComponents"],components:{PageTitle:S,Nav:A},props:{pageInfo:Object},data(){return{titleVisible:(this.visibleComponents||u["visibleComponents"]).pageTitle,navVisible:(this.visibleComponents||u["visibleComponents"]).navigation}}},N=L,j=(n("3e3f"),Object(y["a"])(N,g,f,!1,null,"786dc3b6",null)),z=j.exports,M=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.text&&""!==e.text?n("footer",{domProps:{innerHTML:e._s(e.text)}}):n("footer",[e._v(" Developed by "),n("a",{attrs:{href:e.authorUrl}},[e._v(e._s(e.authorName))]),e._v(". Licensed under "),n("a",{attrs:{href:e.licenseUrl}},[e._v(e._s(e.license))]),e._v(" "+e._s(e.showCopyright?"ยฉ":"")+" "+e._s(e.date)+". Get the "),n("a",{attrs:{href:e.repoUrl}},[e._v("Source Code")]),e._v(". ")])},P=[],B={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=B,D=(n("ed9b"),Object(y["a"])(H,M,P,!1,null,"64591bd5",null)),V=D.exports,$=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"slide-fade"}},[e.isLoading?n("div",{class:e.c,attrs:{id:"loading"},on:{click:function(t){e.c="hide"}}},[n("h2",[e._v("Dashy")]),n("div",{staticClass:"inner-container"},[n("p",[e._v("Loading")]),n("span",{staticClass:"dots-cont"},[n("span",{staticClass:"dot dot-1"}),n("span",{staticClass:"dot dot-2"}),n("span",{staticClass:"dot dot-3"}),n("span",{staticClass:"dot dot-4"})])])]):e._e()])},U=[],R={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},K=R,F=(n("2bb3"),Object(y["a"])(K,$,U,!1,null,"a7bc1de6",null)),q=F.exports,W=n("8b8e"),J=n.n(W);class G{constructor(){this.conf=J.a}appConfig(){const e=this.conf.appConfig||{};let t=u["appConfig"];return localStorage[u["localStorageKeys"].APP_CONFIG]?t=JSON.parse(localStorage[u["localStorageKeys"].APP_CONFIG]):e!=={}&&(t=e),t.layout=localStorage[u["localStorageKeys"].LAYOUT_ORIENTATION]||e.layout||u["layout"],t.iconSize=localStorage[u["localStorageKeys"].ICON_SIZE]||e.iconSize||u["iconSize"],t}pageInfo(){const e=u["pageInfo"];let t;try{t=JSON.parse(localStorage[u["localStorageKeys"].PAGE_INFO])}catch(a){t={}}const n=this.conf.pageInfo||e;return n.title=t.title||J.a.pageInfo.title||e.title,n.description=t.description||J.a.pageInfo.description||e.description,n.navLinks=t.navLinks||J.a.pageInfo.navLinks||e.navLinks,n.footerText=t.footerText||J.a.pageInfo.footerText||e.footerText,n}sections(){const e=localStorage[u["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()}}}const Y=(()=>{const e=new G;return e.config()})(),X=e=>{const t=e.hideComponents||{},n=e=>"boolean"===typeof e;return{pageTitle:n(t.hideHeading)?!t.hideHeading:u["visibleComponents"].pageTitle,navigation:n(t.hideNav)?!t.hideNav:u["visibleComponents"].navigation,searchBar:n(t.hideSearch)?!t.hideSearch:u["visibleComponents"].searchBar,settings:n(t.hideSettings)?!t.hideSettings:u["visibleComponents"].settings,footer:n(t.hideFooter)?!t.hideFooter:u["visibleComponents"].footer,splashScreen:n(t.hideSplashScreen)?!t.hideSplashScreen:u["visibleComponents"].splashScreen}},Z=new G,Q=Z.config(),ee=X(Q.appConfig)||u["visibleComponents"];var te={name:"app",components:{Header:z,Footer:V,LoadingScreen:q},provide:{config:Q,visibleComponents:ee},data(){return{isLoading:!0,showFooter:ee.footer,appConfig:Z.appConfig(),pageInfo:Z.pageInfo(),visibleComponents:ee}},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||u["visibleComponents"]).splashScreen||!localStorage[u["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()?setTimeout(()=>{this.isLoading=!1},u["splashScreenTime"]||1500):this.isLoading=!1}},mounted(){if(this.hideSplash(),this.appConfig.customCss){const e=this.appConfig.customCss.replace(/<\/?[^>]+(>|$)/g,"");this.injectCustomStyles(e)}}},ne=te,ae=(n("5c0b"),Object(y["a"])(ne,h,p,!1,null,null,null)),ie=ae.exports,oe=n("8c4f"),se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"home",style:e.getBackgroundImage()},[n("SettingsContainer",{ref:"filterComp",staticClass:"filter-container",attrs:{displayLayout:e.layout,iconSize:e.itemSizeBound,availableThemes: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)?n("div",{class:"item-group-container orientation-"+e.layout+" item-size-"+e.itemSizeBound},e._l(e.getSections(e.sections),(function(t,a){return n("ItemGroup",{key:a,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-"+a,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()?n("div",{staticClass:"no-data"},[e._v(" "+e._s(e.searchValue?"No Search Results":"No Data Configured")+" ")]):e._e()],1)},re=[],le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",[e.searchVisible?n("SearchBar",{ref:"SearchBar",attrs:{active:!e.modalOpen},on:{"user-is-searchin":e.userIsTypingSomething}}):e._e(),n("div",{staticClass:"options-outer"},[n("div",{class:"options-container "+(e.settingsVisible?"":"hide")},[n("ThemeSelector",{attrs:{themes:e.availableThemes,confTheme:e.getInitialTheme(),userThemes:e.getUserThemes()}}),n("LayoutSelector",{attrs:{displayLayout:e.displayLayout},on:{layoutUpdated:e.updateDisplayLayout}}),n("ItemSizeSelector",{attrs:{iconSize:e.iconSize},on:{iconSizeUpdated:e.updateIconSize}}),n("ConfigLauncher",{attrs:{sections:e.sections,pageInfo:e.pageInfo,appConfig:e.appConfig},on:{modalChanged:e.modalChanged}}),e.isUserLoggedIn()?n("AppButtons"):e._e()],1),n("div",{class:"show-hide-container "+(e.settingsVisible?"hide-btn":"show-btn")},[n("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?n("IconClose"):n("IconOpen")],1)])]),n("KeyboardShortcutInfo"),n("AppInfoModal")],1)},ce=[],_e=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("form",[n("label",{attrs:{for:"filter-tiles"}},[e._v("Search")]),n("input",{directives:[{name:"model",rawName:"v-model",value:e.input,expression:"input"}],ref:"filter",attrs:{id:"filter-tiles",placeholder:"Start typing to filter..."},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?n("i",{staticClass:"clear-search",attrs:{title:"Clear search"},on:{click:e.clearFilterInput}},[e._v("x")]):e._e()])},de=[];class ue{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=ue.goToPrevious(this.index):39===e?this.index+=1:40===e&&(this.index=ue.goToNext(this.index)),this.index=ue.getSafeElementIndex(this.index),ue.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(e){const t=ue.getNumResults();return e<0?t-1:e>=t?0:e}static selectItemByIndex(e){return e>=0&&e<=ue.getNumResults()?document.getElementsByClassName("item")[e]:[document.getElementsByClassName("item")]}static findPreviousRow(e){const t=(e,t)=>ue.selectItemByIndex(e).offsetTop===t,n=(e,a)=>e>=ue.getNumResults()?n(0,a):t(e,a)?n(e-1,a):e,a=ue.selectItemByIndex(e).offsetTop;return n(e,a)}static goToPrevious(e){const t=(e,t)=>ue.selectItemByIndex(e).offsetTopue.selectItemByIndex(e).offsetTop===t,n=(e,a)=>e>=ue.getNumResults()?n(0,a):t(e,a)?n(e+1,a):e,a=ue.selectItemByIndex(e).offsetTop;return n(e,a)}static goToNext(e){const t=(e,t)=>ue.selectItemByIndex(e).offsetTop>ue.selectItemByIndex(t).offsetTop,n=ue.findNextRow(e),a=n-e,i=n-ue.findPreviousRow(e)-1,o=t(e,n)?0:i-a;return n+o}}var me={name:"FilterTile",props:{active:Boolean},data(){return{input:"",akn:new ue}},mounted(){window.addEventListener("keydown",e=>{const t=document.activeElement.id,{key:n,keyCode:a}=e;this.active&&(/^[a-zA-Z]$/.test(n)&&"filter-tiles"!==t?(this.$refs.filter.focus(),this.userIsTypingSomething()):a>=37&&a<=40?this.akn.arrowNavigation(a):27===a&&this.clearFilterInput())})},methods:{userIsTypingSomething(){this.$emit("user-is-searchin",this.input)},clearFilterInput(){this.input="",this.userIsTypingSomething(),document.activeElement.blur(),this.akn.resetIndex()}}},he=me,pe=(n("e1a2"),Object(y["a"])(he,_e,de,!1,null,"08ec96b4",null)),ge=pe.exports,fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"config-options"},[n("span",[e._v("Config")]),n("div",{staticClass:"config-buttons"},[n("IconSpanner",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Update configuration locally"),expression:"tooltip('Update configuration locally')"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.showEditor()}}}),n("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),n("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)}}},[n("ConfigContainer",{attrs:{config:e.combineConfig()}})],1),n("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)}}},[n("CloudBackupRestore",{attrs:{config:e.combineConfig()}})],1)],1)},ke=[],be=n("35c3"),we=n.n(be),ve=n("6780"),ye=n.n(ve),Ce=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Tabs",{ref:"tabView",attrs:{navAuto:!0,name:"Add Item"}},[n("TabItem",{staticClass:"main-tab",attrs:{name:"Config"}},[n("div",{staticClass:"main-options-container"},[n("h2",[e._v("Configuration Options")]),n("a",{staticClass:"hyperlink-wrapper",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[n("button",{staticClass:"config-button center"},[n("DownloadIcon",{staticClass:"button-icon"}),e._v(" Download Config ")],1)]),n("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(2)}}},[n("EditIcon",{staticClass:"button-icon"}),e._v(" Edit Config ")],1),n("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(3)}}},[n("CustomCssIcon",{staticClass:"button-icon"}),e._v(" Edit Custom CSS ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.openCloudSync()}}},[n("CloudIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.backupId?"Edit Cloud Sync":"Enable Cloud Sync")+" ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.openRebuildAppModal()}}},[n("RebuildIcon",{staticClass:"button-icon"}),e._v(" Rebuild Application ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.resetLocalSettings()}}},[n("DeleteIcon",{staticClass:"button-icon"}),e._v(" Reset Local Settings ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.openAboutModal()}}},[n("IconAbout",{staticClass:"button-icon"}),e._v(" App Info ")],1),n("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 ")]),n("p",{staticClass:"app-version"},[e._v("Dashy version "+e._s(e.appVersion))]),n("div",{staticClass:"config-note"},[n("span",[e._v(" It is recommend to make a backup of your conf.yml file before making changes. ")])])]),n("RebuildApp")],1),n("TabItem",{staticClass:"code-container",attrs:{name:"View Config"}},[n("pre",{attrs:{id:"conf-yaml"}},[e._v(e._s(e.yaml))]),n("div",{staticClass:"yaml-action-buttons"},[n("h2",[e._v("Actions")]),n("a",{staticClass:"yaml-button download",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[e._v(" Download Config ")]),n("a",{staticClass:"yaml-button copy",on:{click:function(t){return e.copyConfigToClipboard()}}},[e._v("Copy Config")]),n("a",{staticClass:"yaml-button reset",on:{click:function(t){return e.resetLocalSettings()}}},[e._v("Reset Config")])])]),n("TabItem",{attrs:{name:"Edit Config"}},[n("JsonEditor",{attrs:{config:e.config}})],1),n("TabItem",{attrs:{name:"Custom Styles"}},[n("CustomCssEditor",{attrs:{config:e.config,initialCss:"hello"}})],1)],1)},Se=[],Ie=n("1020"),xe=n.n(Ie),Oe=n("2e7b"),Te=n.n(Oe),Ee=(n("1d89"),n("d97e"));const Ae=e=>e.split("\n").map(e=>e.trimRight()).join("\n"),Le=e=>{throw new Error("Error in Json to YAML conversion: "+e)},Ne=e=>{let t="";const n={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 a="";return 0===e.length?(a+="[]",a):(t=t.replace(/$/," "),e.forEach(e=>{const i=n[Object(Ee["typeOf"])(e)];i||Le(Object(Ee["typeOf"])(e)),a+=`\n${t}- ${i(e,!0)}`}),t=t.replace(/ {2}/,""),a)},object(e,a,i){let o="";return 0===Object.keys(e).length?(o+="{}",o):(i||(t=t.replace(/$/," ")),Object.keys(e).forEach((i,s)=>{const r=e[i],l=n[Object(Ee["typeOf"])(r)];"undefined"!==typeof r&&(l||Le(Object(Ee["typeOf"])(r)),a&&0===s||(o+="\n"+t),o+=`${i}: ${l(r)}`)}),t=t.replace(/ {2}/,""),o)},function(){return"[object Function]"}};return Ae(n[Object(Ee["typeOf"])(e)](e,!0,!0)+"\n")};var je=Ne,ze=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"json-editor-outer"},[n("v-jsoneditor",{attrs:{options:e.options,height:"500px"},model:{value:e.jsonData,callback:function(t){e.jsonData=t},expression:"jsonData"}}),n("div",{staticClass:"save-options"},[n("span",{staticClass:"save-option-title"},[e._v("Save Location:")]),n("div",{staticClass:"option"},[n("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"}}}),n("label",{staticClass:"save-option-label",attrs:{for:"local"}},[e._v("Apply Locally")])]),n("div",{staticClass:"option"},[n("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"}}}),n("label",{staticClass:"save-option-label",attrs:{for:"file"}},[e._v("Write Changes to Config File")])])]),n("button",{class:"save-button "+(e.isValid?"":"err"),on:{click:function(t){return e.save()}}},[e._v("Save Changes")]),n("p",{staticClass:"errors"},[n("ul",[e._l(e.errorMessages,(function(t,a){return n("li",{key:a,class:"type-"+t.type},[e._v(" "+e._s(t.msg)+" ")])})),e.errorMessages.length<1?n("li",{staticClass:"type-valid"},[e._v(" Config is Valid ")]):e._e()],2)]),void 0!==e.saveSuccess?n("p",{class:"response-output status-"+(e.saveSuccess?"success":"fail")},[e._v(" "+e._s(e.saveSuccess?"Task Complete":"Task Failed")+" ")]):e._e(),n("p",{staticClass:"response-output"},[e._v(e._s(e.responseText))]),e.saveSuccess?n("p",{staticClass:"response-output"},[e._v(" The app should rebuild automatically. This may take up to a minute. You will need to refresh the page for changes to take effect. ")]):e._e(),n("p",{staticClass:"note"},[e._v(" It is recommend to backup your existing confiruration before making any changes. ")])],1)},Me=[],Pe=n("bcb2"),Be=n.n(Pe),He=n("831b"),De=n("94f8"),Ve=n.n(De);const $e=e=>Ve()(e.toString()).toString().toLowerCase(),Ue=e=>{const t=e.map(e=>$e(e));let n=!1;return document.cookie.split(";").forEach(e=>{if(e&&e.split("=").length>1){const a=e.split("=")[0].trim(),i=e.split("=")[1].trim();a===u["cookieKeys"].AUTH_TOKEN&&t.includes(i)&&(n=!0)}}),n},Re=(e,t,n)=>{let a;return e?t?n.forEach(n=>{n.user===e&&(a=n.hash.toLowerCase()===Ve()(t).toString().toLowerCase()?{correct:!0,msg:"Logging in..."}:{correct:!1,msg:"Incorrect Password"})}):a={correct:!1,msg:"Missing Password"}:a={correct:!1,msg:"Missing Username"},a||{correct:!1,msg:"User not found"}},Ke=(e,t,n)=>{const a=new Date,i=new Date(a.setTime(a.getTime()+n)).toGMTString(),o={user:e,hash:Ve()(t).toString().toLowerCase()};document.cookie=`authenticationToken=${$e(o)};`+(n>0?"expires="+i:""),localStorage.setItem(u["localStorageKeys"].USERNAME,e)},Fe=()=>{document.cookie="authenticationToken=null",localStorage.removeItem(u["localStorageKeys"].USERNAME)},qe=e=>{if(!e||0===e.length)return!0;if(!Ue(e))return!1;const t=localStorage[u["localStorageKeys"].USERNAME];let n=!1;return e.forEach(e=>{e.user===t&&"admin"===e.type&&(n=!0)}),n};var We=n("bc3a"),Je=n.n(We),Ge={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:Be.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:He,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:je,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&&qe(e.auth)},save(){"local"!==this.saveMode&&this.allowWriteToDisk?"file"===this.saveMode?this.writeConfigToDisk():this.$toasted.show("Please select a Save Mode: Local or File"):this.saveConfigLocally()},writeConfigToDisk(){const e=this.jsonParser(this.jsonData),t=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.3.9",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,n=t+"/config-manager/save",a={"Content-Type":"text/plain"},i={config:e,timestamp:new Date},o=Je.a.post(n,i,a);o.then(e=>{this.saveSuccess=e.data.success||!1,this.responseText=e.data.message,this.saveSuccess?(this.carefullyClearLocalStorage(),this.showToast("Config file written to disk succesfully",!0)):this.showToast("An error occurred saving config",!1)}).catch(e=>{this.saveSuccess=!1,this.responseText=e,this.showToast(e,!1)})},saveConfigLocally(){const e=this.jsonData;e.sections&&localStorage.setItem(u["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),e.pageInfo&&localStorage.setItem(u["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig&&localStorage.setItem(u["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),e.appConfig.theme&&localStorage.setItem(u["localStorageKeys"].THEME,e.appConfig.theme),this.showToast("Changes saved succesfully",!0)},carefullyClearLocalStorage(){localStorage.removeItem(u["localStorageKeys"].PAGE_INFO),localStorage.removeItem(u["localStorageKeys"].APP_CONFIG),localStorage.removeItem(u["localStorageKeys"].CONF_SECTIONS)},validationErrors(e){const t=[];e.forEach(e=>{switch(e.type){case"validation":t.push({type:"validation",msg:`Validatation Warning: ${e.error.keyword} ${e.error.message}`});break;case"error":t.push({type:"parse",msg:e.message});break;default:t.push({type:"editor",msg:"Error in JSON"});break}}),this.errorMessages=t},showToast(e,t){this.$toasted.show(e,{className:"toast-"+(t?"success":"error")})}}},Ye=Ge,Xe=(n("80a7"),Object(y["a"])(Ye,ze,Me,!1,null,null,null)),Ze=Xe.exports,Qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"json-editor-outer"},[n("prism-editor",{staticClass:"my-editor",attrs:{highlight:e.highlighter,"line-numbers":""},model:{value:e.customCss,callback:function(t){e.customCss=t},expression:"customCss"}}),n("button",{staticClass:"save-button",on:{click:function(t){return e.save()}}},[e._v("Save Changes")]),e._m(0)],1)},et=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",{staticClass:"quick-note"},[n("b",[e._v("Note")]),e._v(": You will need to refresh the page for your changes to take effect. Styles overides are only stored locally, so it is reccomended to make a copy of your CSS. To remove all custom styles, delete the contents and hit Save Changes ")])}],tt=n("e57a"),nt=n("8c7a"),at=(n("6605"),n("dff1"),n("cabf"),{name:"JsonEditor",props:{config:Object},components:{PrismEditor:tt["a"]},data(){return{customCss:this.config.appConfig.customCss||"\n\n\n\n\n"}},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(u["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,""),n=document.createElement("style");n.textContent=t,document.head.append(n)},highlighter(e){return Object(nt["highlight"])(e,nt["languages"].css)}}}),it=at,ot=(n("9e50"),Object(y["a"])(it,Qe,et,!1,null,null,null)),st=ot.exports,rt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("modal",{attrs:{name:e.modalName,resizable:!0,width:"50%",height:"60%",classes:"dashy-modal"}},[n("div",{staticClass:"rebuild-app-container"},[n("h3",{staticClass:"rebuild-app-title"},[e._v("Rebuild Application")]),n("p",[e._v(" A rebuild is required for changes written to the conf.yml file to take effect. This should happen automatically, but if it hasn't, you can manually trigger it here."),n("br"),e._v(" This is not required for modifications stored locally. ")]),n("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?"Building...":"Start Build"))]},proxy:!0},{key:"icon",fn:function(){return[n("RebuildIcon")]},proxy:!0}])}),e.allowRebuild?e._e():n("div",[n("p",{staticClass:"disallow-rebuild-msg"},[e._v("You do no have permission to trigger this action")])]),e.loading?n("div",{staticClass:"loader-info"},[n("LoadingAnimation",{staticClass:"loader"}),n("p",{staticClass:"loading-message"},[e._v("This may take a few minutes...")])],1):e._e(),void 0!==e.success?n("div",{staticClass:"rebuild-response"},[e.success?n("p",{staticClass:"response-status success"},[e._v("โœ… Build completed succesfully")]):n("p",{staticClass:"response-status failure"},[e._v("โŒ Build operation failed")]),n("pre",{staticClass:"output"},[n("code",[e._v(e._s(e.output||e.error))])]),n("p",{staticClass:"rebuild-message"},[e._v(e._s(e.message))]),e.success?n("p",{staticClass:"rebuild-message"},[e._v(" A page reload is now required for changes to take effect ")]):e._e(),e.success?n("Button",{attrs:{click:e.refreshPage},scopedSlots:e._u([{key:"text",fn:function(){return[e._v("Reload Page")]},proxy:!0},{key:"icon",fn:function(){return[n("ReloadIcon")]},proxy:!0}],null,!1,1379687826)}):e._e()],1):e._e()],1)])},lt=[],ct=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("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)},_t=[],dt={name:"Button",props:{text:String,click:Function,disabled:Boolean,disallow:Boolean}},ut=dt,mt=(n("24e6"),Object(y["a"])(ut,ct,_t,!1,null,"ec408f00",null)),ht=mt.exports,pt=n("0911"),gt=n.n(pt),ft=n("3ff5"),kt=n.n(ft),bt=n("6266"),wt=n.n(bt),vt={name:"RebuildApp",inject:["config"],components:{Button:ht,RebuildIcon:gt.a,ReloadIcon:kt.a,LoadingAnimation:wt.a},data:()=>({modalName:u["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.3.9",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=e+"/config-manager/rebuild";this.loading=!0,Je.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:n,error:a,message:i}=e;this.success=t,this.output=n,this.message=i,this.error=a}this.$toasted.show(this.success?"โœ… Build Completed Succesfully":"โŒ Build Failed",{className:"toast-"+(this.success?"success":"error")})},refreshPage(){location.reload()}},mounted(){this.config&&this.config.appConfig&&!1===this.config.appConfig.allowConfigEdit&&(this.allowRebuild=!1)}},yt=vt,Ct=(n("aff1"),Object(y["a"])(yt,rt,lt,!1,null,"4d488482",null)),St=Ct.exports,It=n("cbd9"),xt=n.n(It),Ot=n("0278"),Tt=n.n(Ot),Et=n("e7fa"),At=n.n(Et),Lt=n("7da9"),Nt=n.n(Lt),jt=n("2413"),zt=n.n(jt),Mt={name:"ConfigContainer",data(){return{jsonParser:je,backupId:localStorage[u["localStorageKeys"].BACKUP_ID]||"",appVersion:"1.3.9"}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:Ze,CustomCssEditor:st,RebuildApp:St,DownloadIcon:xt.a,DeleteIcon:Tt.a,EditIcon:At.a,CloudIcon:ye.a,CustomCssIcon:Nt.a,RebuildIcon:gt.a,IconAbout:zt.a},methods:{navigateToTab(e){const t=this.$refs.tabView.navItems[e];this.$refs.tabView.activeTabItem(t)},openRebuildAppModal(){this.$modal.show(u["modalNames"].REBUILD_APP)},openAboutModal(){this.$modal.show(u["modalNames"].ABOUT_APP)},openCloudSync(){this.$modal.show(u["modalNames"].CLOUD_BACKUP)},copyConfigToClipboard(){navigator.clipboard.writeText(this.jsonParser(this.config))},resetLocalSettings(){const e="This will remove all user settings from local storage, but won't effect your 'conf.yml' file. It is recommend to make a backup of your modified YAML settings first.\n\nAre you sure you want to proceed?",t=confirm(e);t&&(localStorage.clear(),this.$toasted.show("Data cleared succesfully"),setTimeout(()=>{location.reload(!0)},1900))},downloadConfigFile(e,t){const n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8, "+encodeURIComponent(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)}},mounted(){xe.a.registerLanguage("yaml",Te.a);const e=xe.a.highlight(this.jsonParser(this.config),{language:"yaml"}).value;document.getElementById("conf-yaml").innerHTML=e}},Pt=Mt,Bt=(n("110c"),n("1d47"),Object(y["a"])(Pt,Ce,Se,!1,null,"f5fb9464",null)),Ht=Bt.exports,Dt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"cloud-backup-restore-wrapper"},[e._m(0),n("div",{staticClass:"section backup-section"},[e.backupId?n("h3",[e._v("Update Backup")]):n("h3",[e._v("Make a Backup")]),n("Input",{attrs:{name:"backup-password",label:e.backupId?"Enter your Password":"Choose a Password",layout:"vertical",type:"password"},model:{value:e.backupPassword,callback:function(t){e.backupPassword=t},expression:"backupPassword"}}),n("Button",{attrs:{click:e.checkPass},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(e._s(e.backupId?"Update Backup":"Backup"))]},proxy:!0},{key:"icon",fn:function(){return[n("IconBackup")]},proxy:!0}])}),e.backupId?n("div",{staticClass:"results-view"},[n("span",{staticClass:"backup-id-label"},[e._v("Your Backup ID: ")]),n("pre",{staticClass:"backup-id-value"},[e._v(e._s(e.backupId))]),n("span",{staticClass:"backup-id-note"},[e._v(" This is used to restore from backups later. So keep it, along with your password somewhere safe. ")])]):e._e()],1),n("div",{staticClass:"section restore-section"},[n("h3",[e._v("Restore a Backup")]),n("Input",{attrs:{name:"restore-code",label:"Restore ID"},model:{value:e.restoreCode,callback:function(t){e.restoreCode=t},expression:"restoreCode"}}),n("Input",{attrs:{name:"restore-password",label:"Password",type:"password"},model:{value:e.restorePassword,callback:function(t){e.restorePassword=t},expression:"restorePassword"}}),n("Button",{attrs:{click:e.restoreBackup},scopedSlots:e._u([{key:"text",fn:function(){return[e._v("Restore")]},proxy:!0},{key:"icon",fn:function(){return[n("IconRestore")]},proxy:!0}])})],1)])},Vt=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"section intro"},[n("h2",[e._v("Cloud Backup & Restore")]),n("p",{staticClass:"intro"},[e._v(" Cloud backup and restore is an optional feature, that enables you to upload your config to the internet, and then restore it on any other device or instance of Dashy. "),n("br"),n("br"),e._v(" All data is fully end-to-end encrypted with AES, using your password as the key. "),n("br"),e._v(" For more info, please see the "),n("a",{attrs:{href:"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md"}},[e._v("docs")])])])}],$t=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"input-container "+e.layout},[e.label?n("label",{attrs:{for:"name"}},[e._v(e._s(e.label))]):e._e(),n("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)}}})])},Ut=[],Rt={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)}}},Kt=Rt,Ft=(n("2d25"),Object(y["a"])(Kt,$t,Ut,!1,null,"5df13ed2",null)),qt=Ft.exports,Wt=n("3a1e"),Jt=n.n(Wt),Gt=n("e6a4"),Yt=n.n(Gt),Xt=n("c198"),Zt=n.n(Xt),Qt=n("f8d5"),en=n.n(Qt);const tn=u["backupEndpoint"],nn=(e,t)=>{const n=JSON.stringify(e),a=Zt.a.encrypt(n,t);return a.toString()},an=(e,t)=>Zt.a.decrypt(e,t).toString(en.a),on=e=>Ve()(e).toString().slice(0,14),sn=(e,t)=>Je.a.post(tn,{userData:nn(e,t),subHash:on(t)}),rn=(e,t,n)=>Je.a.put(tn,{backupId:n,userData:nn(e,t),subHash:on(t)}),ln=e=>Object.entries(e).map(e=>e.map(encodeURIComponent).join("=")).join("&"),cn=(e,t)=>{const n=ln({backupId:e,subHash:on(t)}),a=`${tn}/?${n}`;return new Promise((e,n)=>{Je.a.get(a).then(a=>{if(!a.data||a.data.errorMsg)n(a.data.errorMsg||"Error");else{const o=an(a.data.userData.userData,t);try{e(JSON.parse(o))}catch(i){n(i)}}})})};var _n={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[u["localStorageKeys"].BACKUP_ID]||""}},components:{Button:ht,Input:qt,IconBackup:Jt.a,IconRestore:Yt.a},methods:{restoreBackup(){cn(this.restoreCode,this.restorePassword).then(e=>{this.restoreFromBackup(e,this.restoreCode)}).catch(e=>{this.showErrorMsg(e)})},checkPass(){const e=localStorage[u["localStorageKeys"].BACKUP_HASH]||void 0;e?e===this.makeHash(this.backupPassword)?this.makeUpdate():this.showErrorMsg("Incorrect password. Please enter your current password."):this.makeBackup()},makeBackup(){sn(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("Unable to process request")})},makeUpdate(){rn(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("Unable to process request")})},restoreFromBackup(e,t){localStorage.setItem(u["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),localStorage.setItem(u["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),localStorage.setItem(u["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig.theme&&localStorage.setItem(u["localStorageKeys"].THEME,e.appConfig.theme),this.setBackupIdLocally(t,this.restorePassword),this.showSuccessMsg("Config Restored Succesfully"),setTimeout(()=>{location.reload()},1500)},updateUiAfterBackup(e,t=!1){this.setBackupIdLocally(e,this.backupPassword),this.showSuccessMsg((t?"Update":"Backup")+" Completed Succesfully"),this.backupPassword=""},showErrorMsg(e){this.$toasted.show(e,{className:"toast-error"})},showSuccessMsg(e){this.$toasted.show(e,{className:"toast-success"})},makeHash(e){return Ve()(e).toString()},setBackupIdLocally(e,t){this.backupId=e;const n=this.makeHash(t);localStorage.setItem(u["localStorageKeys"].BACKUP_ID,e),localStorage.setItem(u["localStorageKeys"].BACKUP_HASH,n)}}},dn=_n,un=(n("baed"),Object(y["a"])(dn,Dt,Vt,!1,null,"763657f4",null)),mn=un.exports,hn={name:"ConfigLauncher",data(){return{modalNames:u["modalNames"]}},components:{IconSpanner:we.a,IconCloud:ye.a,ConfigContainer:Ht,CloudBackupRestore:mn},props:{sections:Array,pageInfo:Object,appConfig:Object},methods:{showEditor:function(){this.$modal.show(u["modalNames"].CONF_EDITOR),this.$emit("modalChanged",!0)},showCloudModal:function(){this.$modal.show(u["modalNames"].CLOUD_BACKUP),this.$emit("modalChanged",!0)},combineConfig(){const e={};return e[u["topLevelConfKeys"].APP_CONFIG]=this.appConfig,e[u["topLevelConfKeys"].PAGE_INFO]=this.pageInfo,e[u["topLevelConfKeys"].SECTIONS]=this.sections,e[u["topLevelConfKeys"].APP_CONFIG].theme=localStorage[u["localStorageKeys"].THEME]||e[u["topLevelConfKeys"].APP_CONFIG].theme,e},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},pn=hn,gn=(n("9c85"),Object(y["a"])(pn,fe,ke,!1,null,"383db9de",null)),fn=gn.exports,kn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.themes?n("div",{staticClass:"theme-selector-section"},[n("span",{staticClass:"theme-label"},[e._v("Theme")]),n("v-select",{staticClass:"theme-dropdown",attrs:{options:e.themeNames,tabindex:-2},model:{value:e.selectedTheme,callback:function(t){e.selectedTheme=t},expression:"selectedTheme"}})],1):e._e()},bn=[];const wn=function(){const e=e=>{const t=document.createElement("link");return t.rel="stylesheet",t.href=e,document.head.appendChild(t),new Promise((e,n)=>{t.onload=t=>{const{sheet:n}=t.target;n.disabled=!0,e(n)},t.onerror=n})},t=(e,t)=>{const n=e;if(t&&!e[t])throw new Error(`Theme: '${t}' does not exist.`);Object.keys(e).forEach(e=>{n[e].disabled=e!==t})},n={};return{add(t,a){return e(a).then(e=>{n[t]=e})},set theme(e){t(n,e)},get theme(){return Object.keys(n).find(e=>!n[e].disabled)}}};var vn=wn,yn={name:"ThemeSelector",props:{themes:Object,confTheme:String,userThemes:Array},watch:{selectedTheme(e){this.updateTheme(e)}},data(){return{selectedTheme:this.getInitialTheme(),themeHelper:new vn,loading:!0,builtInThemes:this.userThemes.concat(m.a.builtInThemes)}},computed:{themeNames:function(){const e=Object.keys(this.themes);return e.concat(this.builtInThemes)}},created(){const e=Object.keys(this.themes).map(e=>this.themeHelper.add(e,this.themes[e]));this.isThemeLocal(this.selectedTheme)?this.updateTheme(this.selectedTheme):this.selectedTheme!==m.a.theme&&Promise.all(e).then(()=>{this.updateTheme(this.selectedTheme)})},methods:{setLocalTheme(e){const t=document.getElementsByTagName("html")[0];t.hasAttribute("data-theme")&&t.removeAttribute("data-theme"),t.setAttribute("data-theme",e)},getInitialTheme(){return localStorage[u["localStorageKeys"].THEME]||this.confTheme||m.a.theme},isThemeLocal(e){return this.builtInThemes.includes(e)},updateTheme(e){"Deafault"===e?(this.resetToDefault(),this.themeHelper.theme="Deafault"):this.isThemeLocal(e)?this.setLocalTheme(e):this.themeHelper.theme=e,localStorage.setItem(u["localStorageKeys"].THEME,e)},resetToDefault(){document.getElementsByTagName("html")[0].removeAttribute("data-theme")}}},Cn=yn,Sn=(n("4ade"),Object(y["a"])(Cn,kn,bn,!1,null,null,null)),In=Sn.exports,xn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("span",{staticClass:"options-label"},[e._v("Layout")]),n("div",{staticClass:"display-options"},[n("IconDeafault",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Auto"),expression:"tooltip('Auto')"}],class:"layout-icon "+("auto"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("auto")}}}),n("IconHorizontal",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Horizontal"),expression:"tooltip('Horizontal')"}],class:"layout-icon "+("horizontal"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("horizontal")}}}),n("IconVertical",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Vertical"),expression:"tooltip('Vertical')"}],class:"layout-icon "+("vertical"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("vertical")}}})],1)])},On=[],Tn=n("c715"),En=n.n(Tn),An=n("570d"),Ln=n.n(An),Nn=n("f9d7"),jn=n.n(Nn),zn={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:En.a,IconHorizontal:Ln.a,IconVertical:jn.a},methods:{updateDisplayLayout(e){this.$emit("layoutUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Mn=zn,Pn=(n("7dc7"),Object(y["a"])(Mn,xn,On,!1,null,"c819d738",null)),Bn=Pn.exports,Hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("span",{staticClass:"options-label"},[e._v("Icon Size")]),n("div",{staticClass:"display-options"},[n("IconSmall",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Small"),expression:"tooltip('Small')"}],class:"layout-icon "+("small"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("small")}}}),n("IconMedium",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Medium"),expression:"tooltip('Medium')"}],class:"layout-icon "+("medium"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("medium")}}}),n("IconLarge",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip("Large"),expression:"tooltip('Large')"}],class:"layout-icon "+("large"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("large")}}})],1)])},Dn=[],Vn=n("d8e8"),$n=n.n(Vn),Un=n("7075"),Rn=n.n(Un),Kn=n("922c"),Fn=n.n(Kn),qn={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:$n.a,IconMedium:Rn.a,IconLarge:Fn.a},methods:{updateIconSize(e){this.$emit("iconSizeUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Wn=qn,Jn=(n("47d9"),Object(y["a"])(Wn,Hn,Dn,!1,null,"58966274",null)),Gn=Jn.exports,Yn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("div",{staticClass:"display-options"},[n("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)])},Xn=[],Zn=n("0123"),Qn=n.n(Zn),ea={name:"AppButtons",components:{IconLogout:Qn.a},methods:{logout(){Fe(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},500)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},ta=ea,na=(n("0e1b"),Object(y["a"])(ta,Yn,Xn,!1,null,"d69dca9c",null)),aa=na.exports,ia=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"slide-fade"}},[e.shouldHide?e._e():n("div",{staticClass:"kb-sc-info"},[n("h5",[e._v("There are keyboard shortcuts! โŒจ๏ธ๐Ÿ™Œ")]),n("div",{staticClass:"close",attrs:{title:"Hide forever [Esc]"},on:{click:function(t){return e.hideWelcomeHelper()}}},[e._v("x")]),n("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 ๐Ÿฅณ ")])])])},oa=[],sa={name:"KeyboardShortcutInfo",data(){return{shouldHide:!0,timeDelay:3e3}},methods:{shouldHideWelcomeMessage(){return!!localStorage[u["localStorageKeys"].HIDE_WELCOME_BANNER]},hideWelcomeHelper(){this.shouldHide=!0,localStorage.setItem(u["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))}},ra=sa,la=(n("9517"),Object(y["a"])(ra,ia,oa,!1,null,"c5f17d9a",null)),ca=la.exports,_a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("modal",{attrs:{name:e.modalName,resizable:!0,width:"40%",height:"60%",classes:"dashy-modal"}},[n("div",{staticClass:"about-modal"},[n("router-link",{attrs:{to:"/about"}},[n("h2",[e._v("Dashy V"+e._s(e.appVersion))])]),n("h3",[e._v("Service Worker Status")]),n("code",{domProps:{innerHTML:e._s(e.serviceWorkerInfo)}},[e._v(e._s(e.serviceWorkerInfo))]),n("br"),n("h3",[e._v("Config Validation Status")]),n("code",[e._v(e._s(e.getIsConfigValidStatus()))]),n("br"),n("h3",[e._v("Help & Support")]),n("ul",[n("li",[n("a",{attrs:{href:"https://git.io/JnqPR"}},[e._v("Report a Bug")])]),n("li",[n("a",{attrs:{href:"https://git.io/JnDxL"}},[e._v("Request a Feature")])]),n("li",[n("a",{attrs:{href:"https://git.io/JnDxs"}},[e._v("Ask a Question")])]),n("li",[n("a",{attrs:{href:"https://git.io/JnDxn"}},[e._v("Leave Feedback")])]),n("li",[n("a",{attrs:{href:"https://github.com/Lissy93/dashy/discussions"}},[e._v("Join the Discussion")])])]),n("p",{staticClass:"small-note"},[e._v("Please include the following info in your bug report:")]),n("a",{on:{click:function(t){e.showInfo=!e.showInfo}}},[e._v(e._s(e.showInfo?"Hide":"Show")+" system info")]),e.showInfo?n("div",{staticClass:"system-info"},[n("h4",[e._v("System Info")]),n("code",[n("b",[e._v("Dashy Version:")]),e._v(" V "+e._s(e.appVersion))]),n("br"),n("code",[n("b",[e._v("Browser:")]),e._v(" "+e._s(e.systemInfo.browser))]),n("br"),n("code",[n("b",[e._v("Is Mobile?")]),e._v(" "+e._s(e.systemInfo.isMobile?"Yes":"No"))]),n("br"),n("code",[n("b",[e._v("OS:")]),e._v(" "+e._s(e.systemInfo.os))]),n("br")]):e._e(),n("h3",[e._v("About")]),n("p",{staticClass:"about-text"},[e._v(" Documentation and Source Code available on "),n("a",{attrs:{href:"https://github.com/lissy93/dashy"}},[e._v("GitHub")])]),n("h3",[e._v("License")]),n("code",[e._v("Licensed under MIT X11. Copyright ยฉ 2021")])],1)])},da=[],ua={name:"AppInfoModal",data(){return{modalName:u["modalNames"].ABOUT_APP,appVersion:"1.3.9",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.3.9",BASE_URL:"/"}).VUE_APP_CONFIG_VALID;return void 0===e?"Config validation status is missing":"Config is "+(e?"Valid":"Invalid")},getSwStatus(){const e=sessionStorage[u["sessionStorageKeys"].SW_STATUS],t=e?JSON.parse(e):{};let n="";return t.registered&&(n+="Service worker registered
"),t.ready&&(n+="Dashy is being served from service worker
"),t.cached&&(n+="Content has been cached for offline use
"),t.updateFound&&(n+="New content is downloading
"),t.updated&&(n+="New content is available; please refresh
"),t.offline&&(n+="No internet connection found. App is running in offline mode
"),t.error&&(n+="Error during service worker registration
"),t.devMode&&(n+="App running in dev mode, no need for service worker
"),0===n.length&&(n+="No service worker info available"),n},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 n="Unknown";n=-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 a=!!navigator.userAgent.match(/iphone|android|blackberry/gi)||!1;return{os:t,browser:n,userAgent:e,isMobile:a}}}},ma=ua,ha=(n("6c13"),Object(y["a"])(ma,_a,da,!1,null,"40e473c3",null)),pa=ha.exports,ga=n("5703"),fa=n.n(ga),ka=n("5f32"),ba=n.n(ka),wa={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,availableThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:ge,ConfigLauncher:fn,ThemeSelector:In,LayoutSelector:Bn,ItemSizeSelector:Gn,AppButtons:aa,KeyboardShortcutInfo:ca,AppInfoModal:pa,IconOpen:fa.a,IconClose:ba.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(){Fe(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},100)},isUserLoggedIn(){return!!localStorage[u["localStorageKeys"].USERNAME]},getUserThemes(){const e=this.appConfig.cssThemes||[];return"string"===typeof e?[e]:e},toggleSettingsVisibility(){this.settingsVisible=!this.settingsVisible,localStorage.setItem(u["localStorageKeys"].HIDE_SETTINGS,this.settingsVisible)},getSettingsVisibility(){return JSON.parse(localStorage[u["localStorageKeys"].HIDE_SETTINGS]||(this.visibleComponents||u["visibleComponents"]).settings)}},data(){return{settingsVisible:this.getSettingsVisibility(),searchVisible:(this.visibleComponents||u["visibleComponents"]).searchBar}}},va=wa,ya=(n("4db3"),Object(y["a"])(va,le,ce,!1,null,"daad7260",null)),Ca=ya.exports,Sa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("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?n("div",{staticClass:"no-items"},[e._v(" No Items to Show Yet ")]):n("div",{class:"there-are-items "+(e.isGridLayout?"item-group-grid":""),style:e.gridStyle},[e._l(e.items,(function(t,a){return n("Item",{key:a+"_"+e.makeId(t.title),attrs:{id:a+"_"+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,enableStatusCheck:e.shouldEnableStatusCheck(t.statusCheck),statusCheckInterval:e.getStatusCheckInterval()},on:{itemClicked:function(t){return e.$emit("itemClicked")},triggerModal:e.triggerModal}})})),n("div",{ref:"modalContainer"})],2),n("IframeModal",{ref:"iframeModal-"+e.groupId,attrs:{name:"iframeModal-"+e.groupId},on:{closed:function(t){return e.$emit("itemClicked")},modalChanged:e.modalChanged}})],1)},Ia=[],xa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"item-wrapper"},[n("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()}}},[n("div",{class:"tile-title "+(e.icon?"":"bounce"),attrs:{id:"tile-"+e.id}},[n("span",{staticClass:"text"},[e._v(e._s(e.title))]),n("p",{staticClass:"description"},[e._v(e._s(e.description))])]),n("Icon",{staticClass:"bounce",style:e.customStyles,attrs:{icon:e.icon,url:e.url,size:e.itemSize,color:e.color}}),n("ItemOpenMethodIcon",{staticClass:"opening-method-icon",attrs:{isSmall:!e.icon,openingMethod:e.target,position:"medium"===e.itemSize?"bottom right":"top right"}}),e.enableStatusCheck?n("StatusIndicator",{staticClass:"status-indicator",attrs:{statusSuccess:e.statusResponse?e.statusResponse.successStatus:void 0,statusText:e.statusResponse?e.statusResponse.message:void 0}}):e._e()],1),n("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)},Oa=[],Ta=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"item-icon"},["font-awesome"===e.iconType?n("i",{class:e.icon+" "+e.size}):"emoji"===e.iconType?n("i",{class:"emoji-icon "+e.size},[e._v(e._s(e.getEmoji(e.iconPath)))]):e.icon?n("img",{class:"tile-icon "+e.size+" "+(e.broken?"broken":""),attrs:{src:e.iconPath},on:{error:e.imageNotFound}}):e._e(),e.broken?n("BrokenImage",{staticClass:"missing-image"}):e._e()],1)},Ea=[],Aa=n("9635"),La=n.n(Aa);const Na=function(e){console.warn(e)};var ja=Na,za=n("e0a2"),Ma=n.n(za),Pa=n("492d"),Ba={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:La.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=/(?:\.([^.]+))?$/,n=["png","jpg"],a=t.exec(e);return a.length>=1&&n.includes(a[1])},isEmoji(e){return Ma.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(Pa[e])return Pa[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),n=this.config.appConfig.faviconApi||u["faviconApi"],a=u["faviconApiEndpoints"][n];return a.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,ja(`The path to '${this.icon}' could not be resolved`)}}},Ha=Ba,Da=(n("de40"),Object(y["a"])(Ha,Ta,Ea,!1,null,null,null)),Va=Da.exports,$a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.makeClass(e.position,e.isSmall,e.isTransparent)},["newtab"===e.openingMethod?n("NewTabOpenIcon"):"sametab"===e.openingMethod?n("SameTabOpenIcon"):"modal"===e.openingMethod?n("IframeOpenIcon"):"workspace"===e.openingMethod?n("WorkspaceOpenIcon"):e._e()],1)},Ua=[],Ra=n("237e"),Ka=n.n(Ra),Fa=n("2352"),qa=n.n(Fa),Wa=n("1946"),Ja=n.n(Wa),Ga=n("3b49"),Ya=n.n(Ga),Xa={name:"ItemOpenMethodIcon",props:{openingMethod:String,isSmall:Boolean,position:String,isTransparent:Boolean},methods:{makeClass(e="top right",t=!1,n=!1){return`opening-method-icon\n ${e||"top right"}\n ${t?"short":""}\n ${n?"transparent":""}`}},components:{NewTabOpenIcon:Ka.a,SameTabOpenIcon:qa.a,IframeOpenIcon:Ja.a,WorkspaceOpenIcon:Ya.a}},Za=Xa,Qa=(n("48f9"),Object(y["a"])(Za,$a,Ua,!1,null,"bd61f3bc",null)),ei=Qa.exports,ti=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("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()}}},[n("div",{class:"dot dot-"+e.color()},[e._m(0)])])},ni=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",[n("span")])}],ai={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)}},ii=ai,oi=(n("e697"),n("45d4"),Object(y["a"])(ii,ti,ni,!1,null,"46972ad8",null)),si=oi.exports,ri=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{name:"slide"}},[e.show&&e.menuEnabled?n("div",{staticClass:"context-menu",style:e.posX&&e.posY?"top:"+e.posY+"px;left:"+e.posX+"px;":""},[n("ul",[n("li",{on:{click:function(t){return e.launch("sametab")}}},[n("SameTabOpenIcon"),n("span",[e._v("Open in Current Tab")])],1),n("li",{on:{click:function(t){return e.launch("newtab")}}},[n("NewTabOpenIcon"),n("span",[e._v("Open in New Tab")])],1),n("li",{on:{click:function(t){return e.launch("modal")}}},[n("IframeOpenIcon"),n("span",[e._v("Open in Pop-Up Modal")])],1),n("li",{on:{click:function(t){return e.launch("workspace")}}},[n("WorkspaceOpenIcon"),n("span",[e._v("Open in Workspace View")])],1)])]):e._e()])},li=[],ci={name:"ContextMenu",inject:["config"],components:{SameTabOpenIcon:qa.a,NewTabOpenIcon:Ka.a,IframeOpenIcon:Ja.a,WorkspaceOpenIcon:Ya.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}}},_i=ci,di=(n("6850"),Object(y["a"])(_i,ri,li,!1,null,null,null)),ui=di.exports,mi={name:"Item",props:{id:String,title:String,subtitle:String,description:String,icon:String,color:String,backgroundColor:String,url:String,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:Va,ItemOpenMethodIcon:ei,StatusIndicator:si,ContextMenu:ui},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(){return{disabled:!this.description,content:this.description,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.3.9",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=this.statusCheckUrl||this.url,n=this.statusCheckHeaders||{},a=`${e}/ping?url=${t}`;Je.a.get(a,{headers:n}).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":Eo.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)}},hi=mi,pi=(n("826e"),n("f719"),Object(y["a"])(hi,xa,Oa,!1,null,null,null)),gi=pi.exports,fi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:"collapsable "+e.checkSpanNum(e.cols,"col")+" "+e.checkSpanNum(e.rows,"row"),style:(e.color?"background: "+e.color:"")+"; "+e.sanitizeCustomStyles(e.customStyles)+";"},[n("input",{staticClass:"toggle",attrs:{id:"collapsible-"+e.uniqueKey,type:"checkbox",tabIndex:"-1"},domProps:{checked:e.getCollapseState()},on:{change:e.collapseChanged}}),n("label",{staticClass:"lbl-toggle",attrs:{for:"collapsible-"+e.uniqueKey,tabindex:"-1"}},[e.icon?n("Icon",{staticClass:"section-icon",attrs:{icon:e.icon,size:"small",url:e.title}}):e._e(),n("h3",[e._v(e._s(e.title))])],1),n("div",{staticClass:"collapsible-content"},[n("div",{staticClass:"content-inner"},[e._t("default")],2)])])},ki=[],bi={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:Va},methods:{checkSpanNum(e,t){const n=4;let a=/^\d*$/.test(e)?parseInt(e,10):1;return a=a>n?n:a,`${t}-${a}`},sanitizeCustomStyles(e){return e?e.replace(/[^a-zA-Z0-9- :;.]/g,""):""},initialiseStorage(){const e=()=>localStorage.setItem(u["localStorageKeys"].COLLAPSE_STATE,JSON.stringify({}));localStorage[u["localStorageKeys"].COLLAPSE_STATE]||e();try{JSON.parse(localStorage[u["localStorageKeys"].COLLAPSE_STATE])}catch{e()}return JSON.parse(localStorage[u["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 n=JSON.parse(localStorage[u["localStorageKeys"].COLLAPSE_STATE]);n[e]=t,localStorage.setItem(u["localStorageKeys"].COLLAPSE_STATE,JSON.stringify(n))},collapseChanged(e){this.initialiseStorage(),this.setCollapseState(this.uniqueKey.toString(),e.srcElement.checked)}}},wi=bi,vi=(n("eb58"),Object(y["a"])(wi,fi,ki,!1,null,"ac1beaa4",null)),yi=vi.exports,Ci=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("modal",{attrs:{name:e.name,resizable:!0,width:"80%",height:"80%",classes:"dashy-modal"},on:{closed:function(t){return e.modalClosed()}}},[n("div",{attrs:{slot:"top-right"},on:{click:function(t){return e.hide()}},slot:"top-right"},[e._v("Close")]),n("a",{staticClass:"close-button",attrs:{title:"Close"},on:{click:function(t){return e.hide()}}},[e._v("x")]),e.url?n("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)}}}):n("div",{staticClass:"no-url"},[e._v("No URL Specified")])])},Si=[],Ii={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)}}},xi=Ii,Oi=(n("eda6"),Object(y["a"])(xi,Ci,Si,!1,null,null,null)),Ti=Oi.exports,Ei={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:yi,Item:gi,IframeModal:Ti},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}}},Ai=Ei,Li=(n("c8df"),Object(y["a"])(Ai,Sa,Ia,!1,null,"57f8b54c",null)),Ni=Li.exports,ji={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:Ca,ItemGroup:Ni},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{layoutOrientation:{get(){return this.appConfig.layout||m.a.layout},set:function(e){localStorage.setItem(u["localStorageKeys"].LAYOUT_ORIENTATION,e),this.layout=e}},iconSize:{get(){return this.appConfig.iconSize||m.a.iconSize},set:function(e){localStorage.setItem(u["localStorageKeys"].ICON_SIZE,e),this.itemSizeBound=e}}},methods:{checkTheresData(e){const t=localStorage[u["localStorageKeys"].CONF_SECTIONS];return e&&e.length>=1||t&&t.length>=1},getSections(e){const t=localStorage[u["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.-]*)*/,n=e.match(t);return n?n[1]:""},filterTiles(e){return e?e.filter(e=>{const{title:t,description:n,provider:a,url:i}=e,o=this.searchValue.toLowerCase();return t&&t.toLowerCase().includes(o)||a&&a.toLowerCase().includes(o)||n&&n.toLowerCase().includes(o)||this.getDomainFromUrl(i).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,n)=>{e["External Stylesheet "+(n+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[u["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||m.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}},zi=ji,Mi=(n("c7ef"),Object(y["a"])(zi,se,re,!1,null,"267a5024",null)),Pi=Mi.exports,Bi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"login-page"},[n("form",{staticClass:"login-form"},[n("h2",{staticClass:"login-title"},[e._v("Dashy")]),n("Input",{staticClass:"login-field username",attrs:{label:"Username",type:"text"},model:{value:e.username,callback:function(t){e.username=t},expression:"username"}}),n("Input",{staticClass:"login-field password",attrs:{label:"Password",type:"password"},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}),n("label",[e._v("Remember me for")]),n("v-select",{staticClass:"login-time-dropdown",attrs:{options:e.dropDownMenu,label:"label",selectOnTab:!0},model:{value:e.timeout,callback:function(t){e.timeout=t},expression:"timeout"}}),n("Button",{staticClass:"login-button",attrs:{click:e.submitLogin}},[e._v("Login")]),n("transition",{attrs:{name:"bounce"}},[n("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)])},Hi=[],Di={name:"login",props:{appConfig:Object},data(){return{username:"",password:"",message:"",status:"waiting",timeout:{label:"Never",time:0},dropDownMenu:[{label:"Never",time:0},{label:"4 Hours",time:144e5},{label:"1 Day",time:864e5},{label:"1 Week",time:6048e5}]}},components:{Button:ht,Input:qt},methods:{submitLogin(){const e=this.timeout.time||0,t=Re(this.username,this.password,this.appConfig.auth||[]);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(Ke(this.username,this.password,e),setTimeout(()=>{Eo.push({path:"/"})},250))},setTheme(){const e=localStorage[u["localStorageKeys"].THEME]||m.a.theme;document.getElementsByTagName("html")[0].setAttribute("data-theme",e)}},created(){this.setTheme()}},Vi=Di,$i=(n("206d6"),Object(y["a"])(Vi,Bi,Hi,!1,null,null,null)),Ui=$i.exports,Ri=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"work-space"},[n("SideBar",{attrs:{sections:e.sections},on:{"launch-app":e.launchApp}}),n("WebContent",{attrs:{url:e.url}})],1)},Ki=[],Fi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("nav",{staticClass:"side-bar"},e._l(e.sections,(function(t,a){return n("div",{key:a},[n("div",{staticClass:"side-bar-item-container",on:{click:function(t){return e.openSection(a)}}},[n("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.name}})],1),n("transition",{attrs:{name:"slide"}},[e.isOpen[a]?n("SideBarSection",{attrs:{items:t.items},on:{"launch-app":e.launchApp}}):e._e()],1)],1)})),0)},qi=[],Wi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("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?n("Icon",{attrs:{icon:e.icon,size:"small",url:e.url}}):n("p",{staticClass:"small-title"},[e._v(e._s(e.title))])],1)},Ji=[],Gi={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:Va},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}}}}},Yi=Gi,Xi=(n("5e61"),Object(y["a"])(Yi,Wi,Ji,!1,null,"d979f4fe",null)),Zi=Xi.exports,Qi=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sub-side-bar"},e._l(e.items,(function(t,a){return n("div",{key:a},[n("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.title,url:t.url},on:{"launch-app":e.launchApp}})],1)})),0)},eo=[],to={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:Zi},methods:{launchApp(e){this.$emit("launch-app",e)}}},no=to,ao=(n("cf1c"),Object(y["a"])(no,Qi,eo,!1,null,"56ddb963",null)),io=ao.exports,oo={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:Zi,SideBarSection:io},methods:{openSection(e){this.isOpen=this.isOpen.map((t,n)=>n===e&&!t)},launchApp(e){this.$emit("launch-app",e)}}},so=oo,ro=(n("85e1"),Object(y["a"])(so,Fi,qi,!1,null,"31476576",null)),lo=ro.exports,co=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"web-content"},[n("iframe",{attrs:{src:e.url}})])},_o=[],uo={name:"WebContent",props:{url:String}},mo=uo,ho=(n("44e9"),Object(y["a"])(mo,co,_o,!1,null,"a2564c04",null)),po=ho.exports,go={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:""}),components:{SideBar:lo,WebContent:po},methods:{launchApp(e){this.url=e},setTheme(){const e=localStorage[u["localStorageKeys"].THEME]||this.confTheme||m.a.theme,t=document.getElementsByTagName("html")[0];t.hasAttribute("data-theme")&&t.removeAttribute("data-theme"),t.setAttribute("data-theme",e)},initiateFontAwesome(){const e=document.createElement("script"),t=this.appConfig.fontAwesomeKey||m.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()}},fo=go,ko=(n("fd9a"),Object(y["a"])(fo,Ri,Ki,!1,null,"6136c26a",null)),bo=ko.exports,wo=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("pre",[n("code",[e._v(e._s(e.jsonParser(e.config)))])])},vo=[],yo={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:je}}},Co=yo,So=(n("6cd5"),Object(y["a"])(Co,wo,vo,!1,null,"33cd2d90",null)),Io=So.exports;a["a"].use(oe["a"]);const xo=()=>{const e=Y.appConfig.auth;return!e||Ue(e)},Oo=new oe["a"]({routes:[{path:"/",name:"home",component:Pi,props:Y,meta:{title:Y.pageInfo.title||"Home Page",metaTags:u["metaTagData"]}},{path:"/workspace",name:"workspace",component:bo,props:Y,meta:{title:Y.pageInfo.title||"Dashy Workspace",metaTags:u["metaTagData"]}},{path:"/login",name:"login",component:Ui,props:{appConfig:Y.appConfig},beforeEnter:(e,t,n)=>{xo()&&Oo.push({path:"/"}),n()}},{path:"/about",name:"about",component:()=>n.e("about").then(n.bind(null,"f820"))},{path:"/download",name:"download",component:Io,props:Y,meta:{title:Y.pageInfo.title||"Download Dashy Config",metaTags:u["metaTagData"]}}]});Oo.beforeEach((e,t,n)=>{"login"===e.name||xo()?n():n({name:"login"})});const To="Dashy";Oo.afterEach(e=>{a["a"].nextTick(()=>{document.title=e.meta.title||To})});var Eo=Oo,Ao=n("9483");const Lo=e=>{const t={ready:!1,registered:!1,cached:!1,updateFound:!1,updated:!1,offline:!1,error:!1,devMode:!1,disabledByUser:!1},n=sessionStorage[u["sessionStorageKeys"].SW_STATUS],a=n?JSON.parse(n):t;try{const t={...a,...e};sessionStorage.setItem(u["sessionStorageKeys"].SW_STATUS,JSON.stringify(t))}catch(i){console.warn("Error setting SW data",i)}},No=()=>{let e=!0;return J.a&&J.a.appConfig&&J.a.appConfig.disableServiceWorker&&(e=!1,Lo({disabledByUser:!0})),e},jo=()=>{No()&&Object(Ao["a"])("/service-worker.js",{ready(){Lo({ready:!0}),console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){Lo({registered:!0}),console.log("Service worker has been registered.")},cached(){Lo({cached:!0}),console.log("Content has been cached for offline use.")},updatefound(){Lo({updateFound:!0}),console.log("New content is downloading.")},updated(){Lo({updated:!0}),console.log("New content is available; please refresh.")},offline(){Lo({offline:!0}),console.log("No internet connection found. App is running in offline mode.")},error(e){Lo({error:!0}),console.error("Error during service worker registration:",e)}})};var zo=jo;const Mo=[];function Po(e,t,n){const{target:a}=e;t===a||t.contains(a)||n(e)}var Bo={bind(e,t){const n=e;n.dataset.outsideClickIndex=Mo.length;const a=t.value,i=e=>{Po(e,n,a)};document.addEventListener("click",i),document.addEventListener("touchstart",i),Mo.push(i)},unbind(e){if(!e.dataset)return;const t=e.dataset.outsideClickIndex,n=Mo[t];document.removeEventListener("click",n),Mo.splice(t,1)}};a["a"].use(i["a"]),a["a"].use(s.a),a["a"].use(c["a"]),a["a"].use(d.a,u["toastedOptions"]),a["a"].component("v-select",l.a),a["a"].directive("clickOutside",Bo),a["a"].config.productionTip=!1,zo(),new a["a"]({router:Eo,render:e=>e(ie)}).$mount("#app")},5703:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-sliders-h fa-w-16",s,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"},_),...d},o.concat([n("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"}})]))}}},"570d":function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-th-list fa-w-16",s,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"},_),...d},o.concat([n("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,n){},"5c0b":function(e,t,n){"use strict";n("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:{},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","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:{HIDE_WELCOME_BANNER:"hideWelcomeHelpers",LAYOUT_ORIENTATION:"layoutOrientation",COLLAPSE_STATE:"collapseState",ICON_SIZE:"iconSize",THEME:"theme",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",ABOUT_APP:"ABOUT_APP"},topLevelConfKeys:{PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",SECTIONS:"sections"},toastedOptions:{position:"bottom-center",duration:2500,keepOnHover:!0,className:"toast-message",iconPack:"fontawesome"},backupEndpoint:"https://dashy-sync-service.as93.net",splashScreenTime:1900,metaTagData:[{name:"description",content:"A simple static homepage for you're server"}],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"}}},"5e61":function(e,t,n){"use strict";n("b315")},"5f32":function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-times-circle fa-w-16",s,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"},_),...d},o.concat([n("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"}})]))}}},6:function(e,t){},6266:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:[s,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100",height:"100",preserveAspectRatio:"xMidYMid"},_),...d},o.concat([n("defs",[n("clipPath",{attrs:{id:"a"}},[n("path",{attrs:{d:"M20 0h60v100H20z"}})])]),n("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"}},[n("animateTransform",{attrs:{attributeName:"transform",type:"translate",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"-20 0;7 0",keyTimes:"0;1"}}),n("animate",{attrs:{attributeName:"stroke-dasharray",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"0 72 125 232;0 197 125 233",keyTimes:"0;1"}})])]))}}},6504:function(e,t,n){},6780:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-cloud-upload-alt fa-w-20",s,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"},_),...d},o.concat([n("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"}})]))}}},"67e6":function(e,t,n){},6850:function(e,t,n){"use strict";n("18b8")},"6c13":function(e,t,n){"use strict";n("67e6")},"6cd5":function(e,t,n){"use strict";n("6504")},7:function(e,t){},7075:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-expand fa-w-14",s,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"},_),...d},o.concat([n("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"}})]))}}},7941:function(e,t,n){},"7da9":function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-css3-alt fa-w-12",s,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"},_),...d},o.concat([n("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"}})]))}}},"7dc7":function(e,t,n){"use strict";n("1e5e")},"7eb0":function(e,t,n){},"7f59":function(e,t,n){},8:function(e,t){},"80a7":function(e,t,n){"use strict";n("7eb0")},"826e":function(e,t,n){"use strict";n("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"},"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"}},"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"}},"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"},"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,n){},"85e1":function(e,t,n){"use strict";n("1036")},"8b35":function(e,t,n){},"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,n){},9:function(e,t){},"922c":function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-expand-arrows-alt fa-w-14",s,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"},_),...d},o.concat([n("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,n){},9517:function(e,t,n){"use strict";n("a8d0")},9635:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:[s,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},_),...d},o.concat([n("path",{attrs:{d:"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z"}}),n("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"}}),n("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"}}),n("path",{attrs:{d:"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z"}})]))}}},"97fb":function(e,t,n){},"9c0c":function(e,t,n){},"9c85":function(e,t,n){"use strict";n("b993")},"9e50":function(e,t,n){"use strict";n("3323")},"9e96":function(e,t,n){},a105:function(e,t,n){},a4c2:function(e,t,n){},a8d0:function(e,t,n){},aff1:function(e,t,n){"use strict";n("fd71")},b2be:function(e,t,n){},b315:function(e,t,n){},b993:function(e,t,n){},baed:function(e,t,n){"use strict";n("7941")},c32a:function(e,t,n){},c715:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-table fa-w-16",s,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"},_),...d},o.concat([n("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"}})]))}}},c7ef:function(e,t,n){"use strict";n("4dce")},c8df:function(e,t,n){"use strict";n("df8f")},cbd9:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-file-download fa-w-12",s,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"},_),...d},o.concat([n("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"}})]))}}},cf1c:function(e,t,n){"use strict";n("8d7c")},d16d:function(e,t,n){"use strict";n("18dd")},d704:function(e,t,n){},d7d3:function(e,t,n){},d8e8:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-compress-arrows-alt fa-w-16",s,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"},_),...d},o.concat([n("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,n){"use strict";n("7f59")},df8f:function(e,t,n){},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])/},e1a2:function(e,t,n){"use strict";n("1c0f")},e697:function(e,t,n){"use strict";n("2574")},e6a4:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-download fa-w-16",s,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"},_),...d},o.concat([n("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:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-edit fa-w-18",s,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"},_),...d},o.concat([n("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,n){"use strict";n("9e96")},ec36:function(e,t,n){},ed9b:function(e,t,n){"use strict";n("a4c2")},eda6:function(e,t,n){"use strict";n("1864")},ef83:function(e,t,n){},f719:function(e,t,n){"use strict";n("27c1")},f9d7:function(e,t){e.exports={functional:!0,render(e,t){const{_c:n,_v:a,data:i,children:o=[]}=t,{class:s,staticClass:r,style:l,staticStyle:c,attrs:_={},...d}=i;return n("svg",{class:["svg-inline--fa fa-columns fa-w-16",s,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"},_),...d},o.concat([n("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"}})]))}}},fd71:function(e,t,n){},fd9a:function(e,t,n){"use strict";n("03b2")}}); +//# sourceMappingURL=dashy.263de27e.js.map \ No newline at end of file diff --git a/js/dashy.c4780831.js.map b/js/dashy.263de27e.js.map similarity index 99% rename from js/dashy.c4780831.js.map rename to js/dashy.263de27e.js.map index 651f6947..06c6bdca 100644 --- a/js/dashy.c4780831.js.map +++ b/js/dashy.263de27e.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/application-rebuild.svg","webpack:///./src/components/Settings/AppButtons.vue?ae12","webpack:///./src/components/Configuration/ConfigContainer.vue?d066","webpack:///./src/assets/interface-icons/open-iframe.svg","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/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/components/Workspace/WebContent.vue?7bf3","webpack:///./src/components/LinkItems/StatusIndicator.vue?dc21","webpack:///./src/components/Settings/ItemSizeSelector.vue?6445","webpack:///./src/components/LinkItems/ItemOpenMethodIcon.vue?51f1","webpack:///./src/components/Settings/ThemeSelector.vue?89f8","webpack:///./src/components/Settings/SettingsContainer.vue?19f3","webpack:///./src/App.vue?f860","webpack:///./src/components/PageStrcture/Header.vue?09e2","webpack:///./src/components/PageStrcture/PageTitle.vue?52bf","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?4bdd","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?1104","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?712d","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/ConfigHelpers.js","webpack:///src/App.vue","webpack:///./src/App.vue?382d","webpack:///./src/App.vue","webpack:///./src/views/Home.vue?f536","webpack:///./src/components/Settings/SettingsContainer.vue?d331","webpack:///./src/components/Settings/SearchBar.vue?90d3","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?4d23","webpack:///./src/components/Configuration/ConfigContainer.vue?a3e0","webpack:///./src/utils/JsonToYaml.js","webpack:///./src/components/Configuration/JsonEditor.vue?a773","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?6734","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?5854","webpack:///./src/components/FormElements/Button.vue?0c9f","webpack:///src/components/FormElements/Button.vue","webpack:///./src/components/FormElements/Button.vue?52f8","webpack:///./src/components/FormElements/Button.vue","webpack:///src/components/Configuration/RebuildApp.vue","webpack:///./src/components/Configuration/RebuildApp.vue?1840","webpack:///./src/components/Configuration/RebuildApp.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?4660","webpack:///./src/components/FormElements/Input.vue?77c2","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/ConfigLauncher.vue","webpack:///./src/components/Settings/ConfigLauncher.vue?5a66","webpack:///./src/components/Settings/ConfigLauncher.vue","webpack:///./src/components/Settings/ThemeSelector.vue?ab6b","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?fb15","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?ebaf","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?3412","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?d693","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?967d","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?e47f","webpack:///./src/components/LinkItems/Item.vue?6840","webpack:///./src/components/LinkItems/ItemIcon.vue?f9ad","webpack:///./src/utils/ErrorHandler.js","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?030c","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?786e","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?7b1e","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?7e7a","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?a1d2","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?60ed","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?8434","webpack:///./src/views/Login.vue","webpack:///./src/views/Workspace.vue?42dd","webpack:///./src/components/Workspace/SideBar.vue?b5b0","webpack:///./src/components/Workspace/SideBarItem.vue?2665","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?43c9","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?db1c","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?bcc9","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/assets/interface-icons/layout-horizontal.svg","webpack:///./src/App.vue?595f","webpack:///./src/utils/defaults.js","webpack:///./src/components/Workspace/SideBarItem.vue?3a0a","webpack:///./src/assets/interface-icons/config-close.svg","webpack:///./src/assets/interface-icons/loader.svg","webpack:///./src/assets/interface-icons/cloud-backup-restore.svg","webpack:///./src/components/LinkItems/ContextMenu.vue?595f","webpack:///./src/components/Configuration/AppInfoModal.vue?d6a2","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/Settings/LayoutSelector.vue?02de","webpack:///./src/components/Configuration/JsonEditor.vue?5179","webpack:///./src/components/LinkItems/Item.vue?b4f3","webpack:///./src/components/Workspace/SideBar.vue?34c4","webpack:///./public/conf.yml","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/Settings/ConfigLauncher.vue?38ba","webpack:///./src/components/Configuration/CustomCss.vue?fa1a","webpack:///./src/components/Configuration/RebuildApp.vue?d757","webpack:///./src/components/Configuration/CloudBackupRestore.vue?5526","webpack:///./src/assets/interface-icons/layout-default.svg","webpack:///./src/views/Home.vue?d77f","webpack:///./src/components/LinkItems/ItemGroup.vue?f854","webpack:///./src/assets/interface-icons/config-download-file.svg","webpack:///./src/components/Workspace/SideBarSection.vue?8693","webpack:///./src/components/PageStrcture/Nav.vue?efdc","webpack:///./src/assets/interface-icons/icon-size-small.svg","webpack:///./src/components/LinkItems/ItemIcon.vue?e410","webpack:///./src/utils/EmojiUnicodeRegex.js","webpack:///./src/components/Settings/SearchBar.vue?1ec7","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/LinkItems/Item.vue?d111","webpack:///./src/assets/interface-icons/layout-vertical.svg","webpack:///./src/views/Workspace.vue?68a6"],"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","defaults","defaultPageInfo","localPageInfo","PAGE_INFO","pi","footerText","sections","localSections","CONF_SECTIONS","json","config","Accumulator","componentVisibility","usersChoice","hideComponents","isThere","userValue","pageTitle","hideHeading","navigation","hideNav","searchBar","hideSearch","settings","hideSettings","footer","hideFooter","splashScreen","hideSplashScreen","Header","Footer","LoadingScreen","provide","showFooter","usersCss","textContent","append","hideSplash","customCss","cleanedCss","replace","injectCustomStyles","getBackgroundImage","ref","itemSizeBound","getExternalCSSLinks","getSections","modalOpen","searching","setLayoutOrientation","setItemSize","updateModalVisibility","checkTheresData","section","filterTiles","items","searchValue","icon","getDisplayData","finishedSearching","checkIfResults","userIsTypingSomething","settingsVisible","availableThemes","getInitialTheme","getUserThemes","displayLayout","updateDisplayLayout","updateIconSize","modalChanged","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","filter","$emit","blur","tooltip","showEditor","showCloudModal","modalNames","CONF_EDITOR","combineConfig","CLOUD_BACKUP","downloadConfigFile","yaml","navigateToTab","openCloudSync","backupId","openRebuildAppModal","resetLocalSettings","openAboutModal","appVersion","copyConfigToClipboard","trimWhitespace","split","map","x","trimRight","join","throwError","msg","stringify","indentLevel","handlers","null","number","boolean","string","array","output","forEach","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","includes","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","theme","errors","keyword","highlighter","_m","PrismEditor","css","match","validate","userStyles","modalName","startBuild","loading","allowRebuild","scopedSlots","_u","fn","proxy","refreshPage","disallow","disabled","click","_t","Function","Button","RebuildIcon","ReloadIcon","LoadingAnimation","responseData","location","reload","JsonEditor","CustomCssEditor","RebuildApp","DownloadIcon","DeleteIcon","EditIcon","CloudIcon","CustomCssIcon","IconAbout","tabInxex","itemToSelect","tabView","navItems","activeTabItem","$modal","navigator","clipboard","writeText","isTheUserSure","confirm","clear","filename","filecontents","element","encodeURIComponent","display","highlighted","getElementById","innerHTML","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","url","errorMsg","decryptedData","Input","IconBackup","IconRestore","savedHash","makeUpdate","showErrorMsg","makeBackup","setBackupIdLocally","showSuccessMsg","isUpdate","makeHash","IconSpanner","IconCloud","ConfigContainer","CloudBackupRestore","content","themeNames","selectedTheme","ThemeHelper","preloadTheme","sheet","selectTheme","themes","add","find","confTheme","userThemes","watch","newTheme","themeHelper","builtInThemes","externalThemeNames","added","isThemeLocal","updateTheme","htmlTag","hasAttribute","removeAttribute","themeToCheck","resetToDefault","setLocalTheme","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","item","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","ErrorHandler","warn","BrokenImage","determineImageType","getIconPath","str","pattern","RegExp","img","fileExtRegex","validImgExtensions","splitPath","exec","emojiCode","emojiType","fromCodePoint","parseInt","substr","fullUrl","shouldUseDefaultFavicon","urlParts","host","getHostName","faviconApi","isLocalIP","imgType","makeClass","isSmall","isTransparent","openingMethod","transparent","NewTabOpenIcon","SameTabOpenIcon","IframeOpenIcon","WorkspaceOpenIcon","statusText","otherStatusText","classes","statusSuccess","startTime","menuEnabled","launch","Number","isMenuDisabled","disableContextMenu","subtitle","enableStatusCheck","statusCheckInterval","getId","background","Icon","ItemOpenMethodIcon","StatusIndicator","ContextMenu","altKey","clientX","pageXOffset","clientY","pageYOffset","trigger","hideOnTargetClick","html","placement","delay","urlToCheck","method","open","checkWebsiteStatus","setInterval","checkSpanNum","sanitizeCustomStyles","uniqueKey","getCollapseState","collapseChanged","span","classPrefix","maxSpan","numSpan","userCss","initStorage","collapseStateObject","initialiseStorage","collapseState","newState","whatChanged","setCollapseState","srcElement","checked","modalClosed","hide","slot","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","currentTheme","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","from","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","VTooltip","VModal","VTabs","Toasted","toastedOptions","VSelect","directive","clickOutside","productionTip","awesome","Dashy","$mount","HIDE_WELCOME_BANNER","COLLAPSE_STATE","THEME","BACKUP_ID","BACKUP_HASH","HIDE_SETTINGS","REBUILD_APP","ABOUT_APP","topLevelConfKeys","SECTIONS","duration","keepOnHover","className","iconPack","splashScreenTime","faviconApiEndpoints","mcapi","clearbit","faviconkit","google","allesedv","webmasterapi"],"mappings":"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","file":"js/dashy.c4780831.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\":\"5b4be414\"}[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-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!./ConfigContainer.vue?vue&type=style&index=0&id=f5fb9464&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!./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 ","\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 ","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!./ItemSizeSelector.vue?vue&type=style&index=0&id=58966274&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!./ItemOpenMethodIcon.vue?vue&type=style&index=0&id=bd61f3bc&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!./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!./SettingsContainer.vue?vue&type=style&index=0&id=daad7260&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} 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 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","import ConfigAccumulator from '@/utils/ConfigAccumalator';\n\nimport { visibleComponents } 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\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=1585c722&\"\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:\"filter-container\",attrs:{\"displayLayout\":_vm.layout,\"iconSize\":_vm.itemSizeBound,\"availableThemes\":_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 ? 'No Search Results' : 'No Data Configured')+\" \")]):_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:{\"themes\":_vm.availableThemes,\"confTheme\":_vm.getInitialTheme(),\"userThemes\":_vm.getUserThemes()}}),_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(\"Search\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.input),expression:\"input\"}],ref:\"filter\",attrs:{\"id\":\"filter-tiles\",\"placeholder\":\"Start typing to filter...\"},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\":\"Clear search\"},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=08ec96b4&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=08ec96b4&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 \"08ec96b4\",\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(\"Config\")]),_c('div',{staticClass:\"config-buttons\"},[_c('IconSpanner',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Update configuration locally')),expression:\"tooltip('Update configuration locally')\"}],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)],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\":\"Config\"}},[_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(\" Download Config \")],1)]),_c('button',{staticClass:\"config-button center\",on:{\"click\":function () { return _vm.navigateToTab(2); }}},[_c('EditIcon',{staticClass:\"button-icon\"}),_vm._v(\" Edit Config \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function () { return _vm.navigateToTab(3); }}},[_c('CustomCssIcon',{staticClass:\"button-icon\"}),_vm._v(\" Edit Custom CSS \")],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 ? 'Edit Cloud Sync' : 'Enable Cloud Sync')+\" \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openRebuildAppModal()}}},[_c('RebuildIcon',{staticClass:\"button-icon\"}),_vm._v(\" Rebuild Application \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.resetLocalSettings()}}},[_c('DeleteIcon',{staticClass:\"button-icon\"}),_vm._v(\" Reset Local Settings \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.openAboutModal()}}},[_c('IconAbout',{staticClass:\"button-icon\"}),_vm._v(\" App Info \")],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:\"app-version\"},[_vm._v(\"Dashy version \"+_vm._s(_vm.appVersion))]),_c('div',{staticClass:\"config-note\"},[_c('span',[_vm._v(\" It is recommend to make a backup of your conf.yml file before making changes. \")])])]),_c('RebuildApp')],1),_c('TabItem',{staticClass:\"code-container\",attrs:{\"name\":\"View Config\"}},[_c('pre',{attrs:{\"id\":\"conf-yaml\"}},[_vm._v(_vm._s(_vm.yaml))]),_c('div',{staticClass:\"yaml-action-buttons\"},[_c('h2',[_vm._v(\"Actions\")]),_c('a',{staticClass:\"yaml-button download\",on:{\"click\":function($event){return _vm.downloadConfigFile('conf.yml', _vm.yaml)}}},[_vm._v(\" Download Config \")]),_c('a',{staticClass:\"yaml-button copy\",on:{\"click\":function($event){return _vm.copyConfigToClipboard()}}},[_vm._v(\"Copy Config\")]),_c('a',{staticClass:\"yaml-button reset\",on:{\"click\":function($event){return _vm.resetLocalSettings()}}},[_vm._v(\"Reset Config\")])])]),_c('TabItem',{attrs:{\"name\":\"Edit Config\"}},[_c('JsonEditor',{attrs:{\"config\":_vm.config}})],1),_c('TabItem',{attrs:{\"name\":\"Custom Styles\"}},[_c('CustomCssEditor',{attrs:{\"config\":_vm.config,\"initialCss\":\"hello\"}})],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(\"Save Location:\")]),_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(\"Apply Locally\")])]),_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(\"Write Changes to Config File\")])])]),_c('button',{class:(\"save-button \" + (!_vm.isValid ? 'err' : '')),on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\"Save Changes\")]),_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(\" Config is Valid \")]):_vm._e()],2)]),(_vm.saveSuccess !== undefined)?_c('p',{class:(\"response-output status-\" + (_vm.saveSuccess ? 'success' : 'fail'))},[_vm._v(\" \"+_vm._s(_vm.saveSuccess ? 'Task Complete' : 'Task Failed')+\" \")]):_vm._e(),_c('p',{staticClass:\"response-output\"},[_vm._v(_vm._s(_vm.responseText))]),(_vm.saveSuccess)?_c('p',{staticClass:\"response-output\"},[_vm._v(\" The app should rebuild automatically. This may take up to a minute. You will need to refresh the page for changes to take effect. \")]):_vm._e(),_c('p',{staticClass:\"note\"},[_vm._v(\" It is recommend to backup your existing confiruration before making any changes. \")])],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=456c9734&\"\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:\"json-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(\"Save Changes\")]),_vm._m(0)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:\"quick-note\"},[_c('b',[_vm._v(\"Note\")]),_vm._v(\": You will need to refresh the page for your changes to take effect. Styles overides are only stored locally, so it is reccomended to make a copy of your CSS. To remove all custom styles, delete the contents and hit Save Changes \")])}]\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!./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=816a95e4&\"\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(\"Rebuild Application\")]),_c('p',[_vm._v(\" A rebuild is required for changes written to the conf.yml file to take effect. This should happen automatically, but if it hasn't, you can manually trigger it here.\"),_c('br'),_vm._v(\" This is not required for modifications stored locally. \")]),_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 ? 'Building...' : 'Start Build'))]},proxy:true},{key:\"icon\",fn:function(){return [_c('RebuildIcon')]},proxy:true}])}),(!_vm.allowRebuild)?_c('div',[_c('p',{staticClass:\"disallow-rebuild-msg\"},[_vm._v(\"You do no have permission to trigger this action\")])]):_vm._e(),(_vm.loading)?_c('div',{staticClass:\"loader-info\"},[_c('LoadingAnimation',{staticClass:\"loader\"}),_c('p',{staticClass:\"loading-message\"},[_vm._v(\"This may take a few minutes...\")])],1):_vm._e(),(_vm.success !== undefined)?_c('div',{staticClass:\"rebuild-response\"},[(_vm.success)?_c('p',{staticClass:\"response-status success\"},[_vm._v(\"โœ… Build completed succesfully\")]):_c('p',{staticClass:\"response-status failure\"},[_vm._v(\"โŒ Build operation failed\")]),_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(\" A page reload is now required for changes to take effect \")]):_vm._e(),(_vm.success)?_c('Button',{attrs:{\"click\":_vm.refreshPage},scopedSlots:_vm._u([{key:\"text\",fn:function(){return [_vm._v(\"Reload Page\")]},proxy:true},{key:\"icon\",fn:function(){return [_c('ReloadIcon')]},proxy:true}],null,false,1379687826)}):_vm._e()],1):_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('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!./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=4d488482&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=4d488482&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 \"4d488482\",\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=f5fb9464&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=f5fb9464&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 \"f5fb9464\",\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\"},[_vm._m(0),_c('div',{staticClass:\"section backup-section\"},[(_vm.backupId)?_c('h3',[_vm._v(\"Update Backup\")]):_c('h3',[_vm._v(\"Make a Backup\")]),_c('Input',{attrs:{\"name\":\"backup-password\",\"label\":_vm.backupId ? 'Enter your Password' : 'Choose a Password',\"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 ? 'Update Backup' : 'Backup'))]},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(\"Your Backup ID: \")]),_c('pre',{staticClass:\"backup-id-value\"},[_vm._v(_vm._s(_vm.backupId))]),_c('span',{staticClass:\"backup-id-note\"},[_vm._v(\" This is used to restore from backups later. So keep it, along with your password somewhere safe. \")])]):_vm._e()],1),_c('div',{staticClass:\"section restore-section\"},[_c('h3',[_vm._v(\"Restore a Backup\")]),_c('Input',{attrs:{\"name\":\"restore-code\",\"label\":\"Restore ID\"},model:{value:(_vm.restoreCode),callback:function ($$v) {_vm.restoreCode=$$v},expression:\"restoreCode\"}}),_c('Input',{attrs:{\"name\":\"restore-password\",\"label\":\"Password\",\"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(\"Restore\")]},proxy:true},{key:\"icon\",fn:function(){return [_c('IconRestore')]},proxy:true}])})],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section intro\"},[_c('h2',[_vm._v(\"Cloud Backup & Restore\")]),_c('p',{staticClass:\"intro\"},[_vm._v(\" Cloud backup and restore is an optional feature, that enables you to upload your config to the internet, and then restore it on any other device or instance of Dashy. \"),_c('br'),_c('br'),_vm._v(\" All data is fully end-to-end encrypted with AES, using your password as the key. \"),_c('br'),_vm._v(\" For more info, please see the \"),_c('a',{attrs:{\"href\":\"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md\"}},[_vm._v(\"docs\")])])])}]\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=763657f4&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=763657f4&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 \"763657f4\",\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=383db9de&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=383db9de&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 \"383db9de\",\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.themes)?_c('div',{staticClass:\"theme-selector-section\"},[_c('span',{staticClass:\"theme-label\"},[_vm._v(\"Theme\")]),_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):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * A function for pre-loading, and easy switching of external stylesheets\n * External CSS is preloaded to avoid FOUC\n */\nconst ThemeHelper = function th() {\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 const selectTheme = (themes, name) => {\n const t = themes; // To avoid ESLint complaining about mutating a param\n if (name && !themes[name]) throw new Error(`Theme: '${name}' does not exist.`);\n Object.keys(themes).forEach(n => { t[n].disabled = (n !== name); });\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\nexport default ThemeHelper;\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=423b52b4&\"\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(\"Layout\")]),_c('div',{staticClass:\"display-options\"},[_c('IconDeafault',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Auto')),expression:\"tooltip('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('Horizontal')),expression:\"tooltip('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('Vertical')),expression:\"tooltip('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=c819d738&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=c819d738&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 \"c819d738\",\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(\"Icon Size\")]),_c('div',{staticClass:\"display-options\"},[_c('IconSmall',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip('Small')),expression:\"tooltip('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('Medium')),expression:\"tooltip('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('Large')),expression:\"tooltip('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=58966274&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=58966274&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 \"58966274\",\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 V\"+_vm._s(_vm.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=40e473c3&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=40e473c3&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 \"40e473c3\",\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=daad7260&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=daad7260&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 \"daad7260\",\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,\"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,\"openingMethod\":_vm.target,\"position\":_vm.itemSize === 'medium'? 'bottom right' : 'top right'}}),(_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 }","/* 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","\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=3b25754c&\"\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',{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)}\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=bd61f3bc&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=bd61f3bc&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 \"bd61f3bc\",\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=756873fd&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 }","