diff --git a/css/dashy.903bcc9e.css b/css/dashy.903bcc9e.css
deleted file mode 100644
index cfd2e09b..00000000
--- a/css/dashy.903bcc9e.css
+++ /dev/null
@@ -1 +0,0 @@
-.page-titles[data-v-34020d7c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-decoration:none}.page-titles h1[data-v-34020d7c]{color:var(--heading-text-color);font-size:2.5rem;margin:0}.page-titles span.subtitle[data-v-34020d7c]{color:var(--heading-text-color);font-style:italic;text-shadow:1px 1px 2px #130f23;opacity:var(--dimming-factor)}@media(max-width:599px){.page-titles[data-v-34020d7c]{text-align:center;padding:.25rem 0}}nav[data-v-1bdf8329]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}nav .nav-item[data-v-1bdf8329]{display:inline-block;padding:.75rem .5rem;margin:.5rem;outline:none;border:none;border-radius:var(--curve-factor);-webkit-box-shadow:1px 1px 2px #232323;box-shadow:1px 1px 2px #232323;color:var(--nav-link-text-color);background:var(--nav-link-background-color);border:1px solid var(--nav-link-border-color);text-decoration:none;text-transform:capitalize}nav .nav-item.router-link-active[data-v-1bdf8329],nav .nav-item[data-v-1bdf8329]:hover{color:var(--nav-link-text-color-hover);background:var(--nav-link-background-color-hover);border:1px solid var(--nav-link-border-color-hover)}header[data-v-b3beddd2]{margin:0;padding:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;background:var(--background-darker);-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start}@media(max-width:599px){header[data-v-b3beddd2]{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}footer[data-v-64591bd5]{width:calc(100% - .5rem);bottom:0;padding:.25rem;text-align:center;color:var(--medium-grey);opacity:var(--dimming-factor);background:var(--footer-background);margin-top:1.5rem;border-top:1px solid var(--outline-color)}@media(max-width:779px){footer[data-v-64591bd5]{display:none}}footer a[data-v-64591bd5]{color:var(--footer-text-color)}footer a[data-v-64591bd5]:hover{color:var(--footer-text-color-link)}div#loading[data-v-a7bc1de6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;height:100%;width:100%;z-index:7;background:var(--loading-screen-background);color:var(--loading-screen-color)}div#loading.hide[data-v-a7bc1de6]{display:none}div#loading .inner-container[data-v-a7bc1de6]{text-align:center}div#loading p[data-v-a7bc1de6]{font-size:6vw;display:inline;margin:0 auto}div#loading h2[data-v-a7bc1de6]{opacity:.35;font-size:16vw;margin:0}div#loading .dots-cont[data-v-a7bc1de6]{display:inline}div#loading .dots-cont .dot[data-v-a7bc1de6]{width:4px;height:4px;background:var(--loading-screen-color);display:inline-block;border-radius:35%;right:0;bottom:0;margin:0 2.5px;position:relative;-webkit-animation:jump-data-v-a7bc1de6 1s infinite;animation:jump-data-v-a7bc1de6 1s infinite}div#loading .dots-cont .dot.dot-1[data-v-a7bc1de6]{-webkit-animation-delay:.1s;animation-delay:.1s}div#loading .dots-cont .dot.dot-2[data-v-a7bc1de6]{-webkit-animation-delay:.2s;animation-delay:.2s}div#loading .dots-cont .dot.dot-3[data-v-a7bc1de6]{-webkit-animation-delay:.3s;animation-delay:.3s}div#loading .dots-cont .dot.dot-4[data-v-a7bc1de6]{-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes jump-data-v-a7bc1de6{0%{bottom:0}20%{bottom:5px}40%{bottom:0}}@keyframes jump-data-v-a7bc1de6{0%{bottom:0}20%{bottom:5px}40%{bottom:0}}.slide-fade-leave-active[data-v-a7bc1de6]{-webkit-transition:all .2s cubic-bezier(1,.9,.7,.4);transition:all .2s cubic-bezier(1,.9,.7,.4)}.slide-fade-enter[data-v-a7bc1de6],.slide-fade-leave-to[data-v-a7bc1de6]{-webkit-transform:translateY(-200px);transform:translateY(-200px);opacity:0}.scroll-bar::-webkit-scrollbar,html::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar::-webkit-scrollbar-track,html::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight ::-moz-selection,html ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight ::selection,html ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight ::-moz-selection,.highlight ::-ms-selection,.highlight ::-o-selection,.highlight ::-webkit-selection,html ::-moz-selection,html ::-ms-selection,html ::-o-selection,html ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold{font-weight:700}.light{font-weight:lighter}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.horizontal-center{margin:0 auto}.border-box,html{-webkit-box-sizing:border-box;box-sizing:border-box}html{margin:0;padding:0;-webkit-transition:all 1s;transition:all 1s;margin-top:-3px}html a,html button,html input[type=button]{cursor:pointer}.dashy-modal,.vm--modal{-webkit-box-shadow:0 40px 70px -2px rgba(0,0,0,.6),1px 1px 6px var(--primary)!important;box-shadow:0 40px 70px -2px rgba(0,0,0,.6),1px 1px 6px var(--primary)!important;min-width:300px;min-height:500px}.vm--overlay{background:rgba(0,0,0,.5019607843137255)}.toast-message{background:var(--toast-background)!important;color:var(--toast-color)!important;border:1px solid var(--toast-color)!important;border-radius:var(--curve-factor)!important;font-size:1.25rem!important}.toast-error{background:var(--danger)!important}.toast-error,.toast-success{color:var(--white)!important;font-size:1.25rem!important}.toast-success{background:var(--success)!important}:root{--primary:#5cabca;--background:#0b1021;--background-darker:#05070e;--info:#04e4f4;--success:#20e253;--warning:#f6f000;--danger:#f80363;--neutral:#272f4d;--white:#fff;--black:#000;--item-group-background:rgba(11,16,33,0.8);--medium-grey:#5e6474;--item-background:rgba(96,125,139,0.2);--item-background-hover:rgba(96,125,139,0.30196078431372547);--transparent-70:rgba(0,0,0,0.7019607843137254);--transparent-50:rgba(0,0,0,0.5019607843137255);--transparent-30:rgba(0,0,0,0.30196078431372547);--transparent-white-70:hsla(0,0%,100%,0.7019607843137254);--transparent-white-50:hsla(0,0%,100%,0.5019607843137255);--transparent-white-30:hsla(0,0%,100%,0.30196078431372547);--heading-text-color:var(--primary);--nav-link-text-color:var(--primary);--nav-link-background-color:rgba(96,125,139,0.2);--nav-link-text-color-hover:var(--primary);--nav-link-background-color-hover:rgba(96,125,139,0.2);--nav-link-border-color:transparent;--nav-link-border-color-hover:var(--primary);--item-text-color:var(--primary);--item-text-color-hover:var(--item-text-color);--item-group-outer-background:var(--primary);--item-group-heading-text-color:var(--item-group-background);--item-group-heading-text-color-hover:var(--background);--settings-background:var(--background);--settings-text-color:var(--primary);--search-container-background:var(--background-darker);--search-field-background:var(--background);--search-label-color:var(--settings-text-color);--footer-text-color:var(--medium-grey);--footer-text-color-link:var(--primary);--footer-background:var(--background-darker);--welcome-popup-background:var(--background-darker);--welcome-popup-text-color:var(--primary);--config-code-background:#fff;--config-code-color:var(--background);--config-settings-color:var(--primary);--config-settings-background:var(--background-darker);--toast-background:var(--primary);--toast-color:var(--background);--scroll-bar-color:var(--primary);--scroll-bar-background:var(--background-darker);--highlight-color:var(--background);--highlight-background:var(--primary);--loading-screen-color:var(--primary);--loading-screen-background:var(--background);--login-form-color:var(--primary);--login-form-background:var(--background);--login-form-background-secondary:var(--background-darker);--about-page-color:var(--white);--about-page-background:var(--background);--about-page-accent:var(--primary);--side-bar-background:var(--background-darker);--side-bar-background-lighter:var(--background);--side-bar-color:var(--primary);--status-check-tooltip-background:var(--background-darker);--status-check-tooltip-color:var(--primary);--code-editor-color:var(--black);--code-editor-background:var(--white);--context-menu-background:var(--background);--context-menu-color:var(--primary);--context-menu-secondary-color:var(--background-darker);--outline-color:none;--curve-factor:5px;--curve-factor-navbar:16px;--curve-factor-small:2px;--dimming-factor:0.7;--scroll-bar-width:8px;--header-height:6.3rem;--footer-height:125px;--item-group-padding:5px;--item-shadow:1px 1px 2px #130f23;--item-hover-shadow:1px 2px 4px #373737;--item-icon-transform:drop-shadow(2px 4px 6px var(--transparent-50)) saturate(0.65);--item-icon-transform-hover:drop-shadow(4px 8px 3px var(--transparent-50)) saturate(2);--item-group-shadow:var(--item-shadow);--context-menu-shadow:var(--item-shadow);--settings-container-shadow:none;--side-bar-width:3.5rem}html[data-theme=callisto]{--item-group-background:#0b1021;--item-background:#141b33;--item-background-hover:#060913;--item-hover-shadow:0 1px 3px rgba(0,204,180,0.7019607843137254),0 1px 2px rgba(0,204,180,0.7490196078431373);--primary:#00ccb4;--font-body:"Inconsolata","Georgia",sans-serif}html[data-theme=callisto],html[data-theme=thebe]{--background:#141b33;--background-darker:#060913;--font-headings:"PTMono","Courier New",monospace}html[data-theme=thebe]{--item-group-background:#0b1021;--item-background:#141b33;--item-background-hover:#060913;--item-hover-shadow:0 1px 3px rgba(150,96,236,0.7019607843137254),0 1px 2px rgba(150,96,236,0.7490196078431373);--primary:#9660ec;--item-group-outer-background:#9660ec linear-gradient(45deg,#9660ec 2%,#5f60ea 51%,#9660ec)}html[data-theme=dracula]{--font-headings:"Allerta Stencil",sans-serif;--primary:#6272a4;--background:#44475a;--background-darker:#282a36;--item-group-background:#282a36;--item-background:none;--item-background-hover:#191b22;--item-shadow:none;--item-hover-shadow:none;--settings-text-color:#98ace9;--config-settings-color:#98ace9}html[data-theme=dracula] .collapsable:nth-child(1n){background:#8be9fd}html[data-theme=dracula] .collapsable:nth-child(1n) .item{border:1px solid #8be9fd;color:#8be9fd}html[data-theme=dracula] .collapsable:nth-child(2n){background:#50fa7b}html[data-theme=dracula] .collapsable:nth-child(2n) .item{border:1px solid #50fa7b;color:#50fa7b}html[data-theme=dracula] .collapsable:nth-child(3n){background:#ffb86c}html[data-theme=dracula] .collapsable:nth-child(3n) .item{border:1px solid #ffb86c;color:#ffb86c}html[data-theme=dracula] .collapsable:nth-child(4n){background:#ff79c6}html[data-theme=dracula] .collapsable:nth-child(4n) .item{border:1px solid #ff79c6;color:#ff79c6}html[data-theme=dracula] .collapsable:nth-child(4n){background:#bd93f9}html[data-theme=dracula] .collapsable:nth-child(4n) .item{border:1px solid #bd93f9;color:#bd93f9}html[data-theme=bee]{--primary:#c3eb5c}html[data-theme=bee],html[data-theme=raspberry-jam]{--item-background:#1c2636;--item-group-background:#0b1021;--nav-link-background-color:#0b1021;--font-headings:"Sniglet",cursive}html[data-theme=raspberry-jam]{--primary:#eb2d6c;--config-code-background:#0b1021;--config-code-color:#eb2d6c}html[data-theme=tiger]{--primary:#f58233;--item-background:#1c2636;--item-group-background:#0b1021;--nav-link-background-color:#0b1021;--font-headings:"Sniglet",cursive}html[data-theme=matrix-red]{--primary:red;--outline-color:red}html[data-theme=matrix-red],html[data-theme=matrix]{--background:#000;--background-darker:#000;--curve-factor:0px;--font-body:"Cutive Mono",monospace;--font-headings:"VT323",monospace}html[data-theme=matrix]{--primary:#2bca2b;--outline-color:#2bca2b;--about-page-background:var(--background);--context-menu-secondary-color:var(--primary)}html[data-theme=matrix] .prism-editor-wrapper.my-editor{border:1px solid var(--primary)}html[data-theme=matrix] div.context-menu ul li:hover{color:var(--background)}html[data-theme=blue-purple]{--primary:#54dbf8;--background:#e5e8f5;--background-darker:#5346f3;--font-headings:"Sniglet",cursive;--dimming-factor:0.8;--curve-factor:6px;--settings-text-color:var(--background-darker);--item-text-color:var(--background-darker);--item-background:var(--white);--item-background-hover:var(--primary);--item-group-heading-text-color:var(--background-darker);--item-group-background:var(--background);--footer-text-color:var(--white);--context-menu-background:var(--white);--context-menu-color:var(--background-darker);--context-menu-secondary-color:var(--primary)}html[data-theme=blue-purple] .item{-webkit-box-shadow:none;box-shadow:none;border:1px solid var(--background-darker)}html[data-theme=blue-purple] section.filter-container form label{color:var(--primary)}html[data-theme=blue-purple] footer{color:var(--white)}html[data-theme=hacker-girl]{--background:#000;--background-darker:#000;--primary:#e435f1;--outline-color:#e435f1;--curve-factor:0px;--font-body:"Cutive Mono",monospace;--font-headings:"VT323",monospace}html[data-theme=high-contrast-light]{--background:#fff;--background-darker:#fff;--item-group-background:#fff;--item-background:#fff;--primary:#000;--outline-color:#000;--curve-factor:0px;--config-code-color:#000;--font-headings:"PTMono","Courier New",monospace}html[data-theme=high-contrast-dark]{--background:#000;--background-darker:#000;--item-group-background:#000;--primary:#fff;--outline-color:#fff;--curve-factor:0px;--font-headings:"PTMono","Courier New",monospace}html[data-theme=nord]{--primary:#d8dee9;--background:#3b4252;--background-darker:#2e3440;--item-background:#434c5e;--item-background-hover:#4c566a}html[data-theme=nord] .collapsable:nth-child(1n){background:#bf616a}html[data-theme=nord] .collapsable:nth-child(2n){background:#d08770}html[data-theme=nord] .collapsable:nth-child(3n){background:#ebcb8b}html[data-theme=nord] .collapsable:nth-child(4n){background:#a3be8c}html[data-theme=nord-frost]{--primary:#d8dee9;--background:#3b4252;--background-darker:#2e3440;--item-background:#434c5e;--item-background-hover:#4c566a}html[data-theme=nord-frost] .collapsable:nth-child(1n){background:#8fbcbb}html[data-theme=nord-frost] .collapsable:nth-child(2n){background:#88c0d0}html[data-theme=nord-frost] .collapsable:nth-child(3n){background:#81a1c1}html[data-theme=nord-frost] .collapsable:nth-child(4n){background:#5e81ac}html[data-theme=material-original]{--font-body:"Roboto",serif;--primary:#29b6f6;--settings-text-color:#01579b;--background:#e2e1e0;--background-darker:#01579b;--settings-background:#01579b;--item-group-shadow:none;--item-group-outer-background:none;--item-group-background:none;--item-background:#fff;--item-background-hover:#fff;--settings-background:#29b6f6;--search-container-background:#29b6f6;--curve-factor:2px;--curve-factor-navbar:0;--item-group-padding:5px 0 0;--item-shadow:0 1px 3px rgba(0,0,0,0.12156862745098039),0 1px 2px rgba(0,0,0,0.23921568627450981);--item-hover-shadow:0 1px 4px rgba(0,0,0,0.1607843137254902),0 2px 4px rgba(0,0,0,0.16470588235294117);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--settings-container-shadow:0 1px 3px rgba(0,0,0,0.3686274509803922),0 1px 2px rgba(0,0,0,0.5215686274509804);--welcome-popup-background:#01579b;--welcome-popup-text-color:#fff;--config-code-color:#000;--item-group-heading-text-color-hover:#01579b;--config-settings-background:#01579b;--config-settings-color:#fff;--heading-text-color:#fff;--status-check-tooltip-background:#f2f2f2;--status-check-tooltip-color:#01579b;--login-form-background:#fff;--about-page-accent:#000;--about-page-color:var(--background-darker);--about-page-background:var(--background);--context-menu-background:var(--white);--context-menu-secondary-color:var(--white)}html[data-theme=material-original] div.context-menu ul li:hover{background:var(--primary);color:var(--white)}html[data-theme=material-dark-original]{--primary:#08b0bb;--settings-text-color:#08b0bb;--background:#39434c;--background-darker:#08b0bb;--settings-background:#092b3a;--item-group-background:#333c43;--item-background:#414b55;--item-background-hover:#414b55;--settings-background:#131a1f;--search-container-background:#131a1f;--search-field-background:#39434c;--heading-text-color:#131a1f;--nav-link-text-color:#08b0bb;--nav-link-background-color:#131a1f;--nav-link-text-color-hover:#08b0bb;--nav-link-background-color-hover:rgba(19,26,31,0.7803921568627451);--nav-link-border-color-hover:transparent;--curve-factor:2px;--curve-factor-navbar:0;--item-group-padding:5px 0 0;--item-shadow:2px 2px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-hover-shadow:4px 4px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--welcome-popup-background:#131a1f;--welcome-popup-text-color:var(--primary);--config-settings-background:#131a1f;--config-settings-color:#41e2ed;--scroll-bar-color:#08b0bb;--scroll-bar-background:#131a1f;--status-check-tooltip-background:#131a1f;--status-check-tooltip-color:#08b0bb}html[data-theme=material-dark-original]::-webkit-scrollbar-thumb{border-left:1px solid #131a1f}html[data-theme=material-dark-original] div.context-menu{border:none;background:#131a1f}html[data-theme=material-dark-original] div.context-menu ul li:hover{background:#333c43}html[data-theme=colorful]{--font-headings:"Podkova",monospace;--primary:#e8eae1;--background:#0b1021;--item-background:#05070e;--item-background-hover:#0b1021;--item-group-background:transparent;--item-group-outer-background:#05070e;--item-group-heading-text-color:#e8eae1;--item-group-heading-text-color-hover:#fff}html[data-theme=colorful] .item-wrapper:nth-child(1n) .item{color:#eb5cad;border:1px solid #eb5cad}html[data-theme=colorful] .item-wrapper:nth-child(2n) .item{color:#985ceb;border:1px solid #985ceb}html[data-theme=colorful] .item-wrapper:nth-child(3n) .item{color:#5c90eb;border:1px solid #5c90eb}html[data-theme=colorful] .item-wrapper:nth-child(4n) .item{color:#5cdfeb;border:1px solid #5cdfeb}html[data-theme=colorful] .item-wrapper:nth-child(5n) .item{color:#5ceb8d;border:1px solid #5ceb8d}html[data-theme=colorful] .item-wrapper:nth-child(6n) .item{color:#afeb5c;border:1px solid #afeb5c}html[data-theme=colorful] .item-wrapper:nth-child(7n) .item{color:#ebb75c;border:1px solid #ebb75c}html[data-theme=colorful] .item-wrapper:nth-child(8n) .item{color:#eb615c;border:1px solid #eb615c}html[data-theme=colorful] .item:focus,html[data-theme=colorful] .item:hover{opacity:.85;outline:none;background:currentColor}html[data-theme=colorful] .item:focus span,html[data-theme=colorful] .item:hover span{color:#05070e}html[data-theme=colorful] .item:focus svg path,html[data-theme=colorful] .item:hover svg path{fill:#05070e}html[data-theme=colorful] .item:focus i.fab,html[data-theme=colorful] .item:focus i.fad,html[data-theme=colorful] .item:focus i.fal,html[data-theme=colorful] .item:focus i.far,html[data-theme=colorful] .item:focus i.fas,html[data-theme=colorful] .item:hover i.fab,html[data-theme=colorful] .item:hover i.fad,html[data-theme=colorful] .item:hover i.fal,html[data-theme=colorful] .item:hover i.far,html[data-theme=colorful] .item:hover i.fas{color:#05070e}html[data-theme=colorful] h1,html[data-theme=colorful] h2,html[data-theme=colorful] h3,html[data-theme=colorful] h4{font-weight:400}html[data-theme=colorful] div.context-menu{border-color:var(--primary)}html[data-theme=minimal-dark],html[data-theme=minimal-light],html[data-theme=vaporware]{--font-body:"Courier New",monospace;--font-headings:"Courier New",monospace;--footer-height:94px}html[data-theme=minimal-dark] .item.size-medium .tile-title,html[data-theme=minimal-light] .item.size-medium .tile-title,html[data-theme=vaporware] .item.size-medium .tile-title{max-width:100px}html[data-theme=minimal-dark] label.lbl-toggle h3,html[data-theme=minimal-light] label.lbl-toggle h3,html[data-theme=vaporware] label.lbl-toggle h3{font-size:1.8rem}html[data-theme=minimal-dark] .tile-title span.text,html[data-theme=minimal-light] .tile-title span.text,html[data-theme=vaporware] .tile-title span.text{font-size:1.1rem;font-weight:700}html[data-theme=minimal-dark] header,html[data-theme=minimal-light] header,html[data-theme=vaporware] header{padding:.1rem .5rem}html[data-theme=minimal-dark] header .page-titles h1,html[data-theme=minimal-light] header .page-titles h1,html[data-theme=vaporware] header .page-titles h1{font-size:1.25rem}html[data-theme=minimal-dark] header .page-titles span.subtitle,html[data-theme=minimal-light] header .page-titles span.subtitle,html[data-theme=vaporware] header .page-titles span.subtitle{font-size:.8rem}html[data-theme=minimal-dark] header .nav .nav-item,html[data-theme=minimal-light] header .nav .nav-item,html[data-theme=vaporware] header .nav .nav-item{padding:.2rem .4rem;-webkit-box-shadow:none;box-shadow:none}html[data-theme=minimal-dark] .item-group-container.orientation-horizontal .collapsable,html[data-theme=minimal-light] .item-group-container.orientation-horizontal .collapsable,html[data-theme=vaporware] .item-group-container.orientation-horizontal .collapsable{border-bottom:1px dashed hsla(0,0%,100%,.2196078431372549);border-radius:0}html[data-theme=material-dark],html[data-theme=material]{--font-body:"Raleway",serif;--font-headings:"Francois One",serif;--curve-factor:4px;--curve-factor-navbar:8px;--about-page-background:var(--background);--about-page-color:var(--primary)}html[data-theme=material-dark] .collapsable,html[data-theme=material] .collapsable{margin:0;padding:0}html[data-theme=material-dark] .item:not(.size-small),html[data-theme=material] .item:not(.size-small){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left;overflow:hidden;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15rem;min-width:15rem;max-height:6rem;margin:.2rem;padding:.5rem}html[data-theme=material-dark] .item:not(.size-small) img,html[data-theme=material] .item:not(.size-small) img{padding:.1rem .25rem}html[data-theme=material-dark] .item:not(.size-small) .tile-title,html[data-theme=material] .item:not(.size-small) .tile-title{height:auto;padding:.1rem .25rem}html[data-theme=material-dark] .item:not(.size-small) .tile-title span.text,html[data-theme=material] .item:not(.size-small) .tile-title span.text{position:relative;font-weight:700;font-size:1.1rem;width:100%}html[data-theme=material-dark] .item:not(.size-small) .tile-title p.description,html[data-theme=material] .item:not(.size-small) .tile-title p.description{display:block;margin:0;white-space:pre-wrap;font-size:.9em;text-overflow:ellipsis}html[data-theme=material-dark] .item:not(.size-small).size-large,html[data-theme=material] .item:not(.size-small).size-large{width:18rem;min-width:18rem;max-height:5rem;margin:.4rem}html[data-theme=material-dark] .item:not(.size-small).size-large img,html[data-theme=material] .item:not(.size-small).size-large img{padding:.2rem .5rem}html[data-theme=material-dark] .tooltip.item-description-tooltip,html[data-theme=material] .tooltip.item-description-tooltip{display:none!important}html[data-theme=material-dark] .orientation-horizontal,html[data-theme=material] .orientation-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:599px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(3,1fr)}}@media(min-width:1150px)and (max-width:1779px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(4,1fr)}}@media(min-width:1780px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(5,1fr)}}@media(min-width:2800px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(6,1fr)}}html[data-theme=material-dark] a.item,html[data-theme=material] a.item{position:relative;overflow:hidden;-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s}html[data-theme=material-dark] a.item div,html[data-theme=material] a.item div{-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s}html[data-theme=material-dark] a.item .overflow-dots,html[data-theme=material] a.item .overflow-dots{display:none}html[data-theme=material-dark] a.item:before,html[data-theme=material] a.item:before{content:"";font-family:FontAwesome;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:0;left:0;height:100%;width:1rem;background:rgba(204,211,221,.5019607843137255);border-radius:0 60% 60% 0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s;padding:0 .2rem}html[data-theme=material-dark] a.item:focus-within div.bounce,html[data-theme=material-dark] a.item:hover div.bounce,html[data-theme=material] a.item:focus-within div.bounce,html[data-theme=material] a.item:hover div.bounce{text-indent:1rem}html[data-theme=material-dark] a.item:focus-within:before,html[data-theme=material-dark] a.item:hover:before,html[data-theme=material] a.item:focus-within:before,html[data-theme=material] a.item:hover:before{-webkit-transform:scale(1);transform:scale(1);text-indent:0}html[data-theme=material-dark] a.item:focus-within .opening-method-icon,html[data-theme=material-dark] a.item:hover .opening-method-icon,html[data-theme=material] a.item:focus-within .opening-method-icon,html[data-theme=material] a.item:hover .opening-method-icon{display:none}html[data-theme=material-dark] a.item:active,html[data-theme=material] a.item:active{background:hsla(0,0%,78%,.32941176470588235)}html[data-theme=material-dark] a.item.size-small,html[data-theme=material] a.item.size-small{padding-left:.5rem;min-width:11rem}html[data-theme=material-dark] a.item.size-large:before,html[data-theme=material] a.item.size-large:before{width:1.5rem}html[data-theme=material-dark] a.item.size-large:hover div:nth-child(2),html[data-theme=material] a.item.size-large:hover div:nth-child(2){text-indent:1.5rem}html[data-theme=material]{--primary:#363636;--background:#f5f5f5;--background-darker:#4285f4;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:#fff;--item-background-hover:#fff;--item-shadow:0 1px 3px rgba(0,0,0,0.12156862745098039),0 1px 2px rgba(0,0,0,0.23921568627450981);--item-hover-shadow:0 1px 4px rgba(0,0,0,0.1607843137254902),0 2px 4px rgba(0,0,0,0.16470588235294117);--item-text-color:#363636;--item-group-heading-text-color-hover:#363636;--item-icon-transform-hover:none;--nav-link-background-color:#0c4eba;--nav-link-text-color:#fff;--nav-link-border-color:#0c4eba;--settings-text-color:#363636;--config-code-color:#363636;--config-settings-background:#fff;--config-settings-color:#473f3f;--heading-text-color:#fff;--curve-factor:4px;--curve-factor-navbar:8px;--search-container-background:#4285f4;--welcome-popup-text-color:#f5f5f5;--footer-text-color:hsla(0,0%,96.1%,0.8);--context-menu-secondary-color:#f5f5f5}html[data-theme=material] header{background:#4285f4;color:#fff}html[data-theme=material] header .page-titles span.subtitle{text-shadow:none}html[data-theme=material] footer{opacity:1;color:#fff}html[data-theme=material] section.filter-container form label{color:#fff}html[data-theme=material] .prism-editor-wrapper{background:#f5f5f5}html[data-theme=material] .item:focus{outline-color:rgba(66,133,244,.8)}html[data-theme=material] div.context-menu{border:none;background:var(--white)}html[data-theme=material] div.context-menu ul li:hover svg path{fill:var(--background-darker)}html[data-theme=material-dark]{--primary:#08b0bb;--background:#313941;--background-darker:#08b0bb;--settings-background:#092b3a;--settings-text-color:#08b0bb;--item-group-background:none;--item-group-outer-background:none;--item-group-shadow:none;--item-group-padding:5px 0 0;--item-group-heading-text-color:#e0e0e0;--item-group-heading-text-color-hover:#08b0bb;--item-text-color:#e0e0e0;--item-shadow:2px 2px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-hover-shadow:4px 4px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--item-background:#414b55;--item-background-hover:#414b55;--settings-background:#131a1f;--search-container-background:#131a1f;--search-field-background:#39434c;--heading-text-color:#131a1f;--nav-link-text-color:#08b0bb;--nav-link-background-color:#131a1f;--nav-link-text-color-hover:#08b0bb;--nav-link-background-color-hover:rgba(19,26,31,0.7803921568627451);--nav-link-border-color-hover:transparent;--curve-factor:2px;--curve-factor-navbar:0;--welcome-popup-background:#131a1f;--welcome-popup-text-color:var(--primary);--config-settings-background:#131a1f;--config-settings-color:#41e2ed;--scroll-bar-color:#08b0bb;--scroll-bar-background:#131a1f;--status-check-tooltip-color:#131a1f;--login-form-background-secondary:#131a1f}html[data-theme=material-dark]::-webkit-scrollbar-thumb{border-left:1px solid #131a1f}html[data-theme=material-dark] .item:active,html[data-theme=material-dark] .item:before{background:#131a1f!important}html[data-theme=material-dark] div.context-menu{border:none;background:var(--background)}html[data-theme=material-dark] div.context-menu ul li:hover{background:#131a1f}html[data-theme=minimal-light]{--primary:#a5a5a5;--background:#fff;--background-darker:#14171e;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:none;--item-background-hover:#f2f2f2;--item-shadow:none;--item-hover-shadow:none;--item-text-color:#101931;--item-group-heading-text-color-hover:#101931;--settings-text-color:#101931;--config-code-color:#101931;--nav-link-background-color:none;--search-container-background:#fff;--curve-factor:4px;--curve-factor-navbar:8px;--status-check-tooltip-background:#f2f2f2;--status-check-tooltip-color:#000;--login-form-color:#101931;--about-page-background:var(--background);--about-page-color:var(--background-darker);--context-menu-color:var(--background-darker);--context-menu-secondary-color:var(--primary)}html[data-theme=minimal-light] section.filter-container{background:#fff;border-bottom:1px dashed rgba(0,0,0,.2196078431372549)}html[data-theme=minimal-light] section.filter-container input#filter-tiles{border:1px solid #101931}html[data-theme=minimal-dark]{--primary:#a5a5a5;--background:#14171e;--background-darker:#090b0e;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:none;--item-background-hover:#090b0e;--item-shadow:none;--item-hover-shadow:none;--item-text-color:#fff;--item-group-heading-text-color-hover:#fff;--settings-text-color:#fff;--config-code-color:#fff;--nav-link-background-color:none;--search-container-background:#14171e;--curve-factor:4px;--curve-factor-navbar:8px;--item-group-heading-text-color:#fff;--item-group-heading-text-color-hover:hsla(0,0%,100%,0.7490196078431373);--about-page-background:var(--background);--about-page-color:var(--primary)}html[data-theme=minimal-dark] label.lbl-toggle h3{font-size:1.8rem}html[data-theme=minimal-dark] section.filter-container{background:#14171e;border-bottom:1px dashed hsla(0,0%,100%,.2196078431372549)}html[data-theme=minimal-dark] section.filter-container input#filter-tiles{border:1px solid #fff}html[data-theme=minimal-dark] div.context-menu{border-color:var(--primary)}html[data-theme=vaporware]{--primary:#09bfe6;--background:#100e2c;--background-darker:#6c27ea;--background-darker:linear-gradient(0deg,#6c27ea,#844ceb 80%);--settings-text-color:#6c27ea;--item-group-outer-background:#096de6;--item-group-outer-background:linear-gradient(45deg,#096de6,#0993e6 50%,#096de6);--item-group-background:#190e2c;--item-group-heading-text-color:var(--white);--item-group-heading-text-color-hover:#5118b9;--item-text-color:#5118b9;--item-background:#09bfe6;--item-background-hover:#9967f6;--footer-text-color:var(--white);--item-shadow:none;--curve-factor:2px;--curve-factor-navbar:6px;--login-form-color:#09bfe6;--config-settings-background:#100e2c}html[data-theme=vaporware] .home{background:-webkit-gradient(linear,left top,left bottom,color-stop(10%,#100e2c),color-stop(40%,#1b184f),to(#100e2c));background:linear-gradient(180deg,#100e2c 10%,#1b184f 40%,#100e2c)}html[data-theme=vaporware] div.item-group-container{gap:.3rem;margin:1rem auto}html[data-theme=vaporware] div.collapsable{margin:.2rem;padding:.2rem}html[data-theme=vaporware] div.content-inner{padding:0!important}html[data-theme=vaporware] a.item{margin:.1rem;border:0}html[data-theme=vaporware] a.item.size-medium{min-height:80px}html[data-theme=vaporware] section.filter-container{background:-webkit-gradient(linear,left bottom,left top,color-stop(25%,var(--background)),to(#6c27ea));background:linear-gradient(0deg,var(--background) 25%,#6c27ea)}html[data-theme=vaporware] section.filter-container form{background:#6c27ea;height:2.5rem}html[data-theme=vaporware] section.filter-container form label,html[data-theme=vaporware] section.filter-container i.clear-search{color:#100e2c;border-color:#100e2c;font-weight:700}html[data-theme=vaporware] .tile-title span.text{font-weight:400}html[data-theme=vaporware] label.lbl-toggle h3{font-size:1.4rem}html[data-theme=vaporware] footer{color:var(--white)}html[data-theme=vaporware] a.item{background:linear-gradient(45deg,#09bfe6,#09bfe6 80%,#09cbe6)}html[data-theme=vaporware] a.item:hover{background:#844ceb;color:#09bfe6}html[data-theme=vaporware] div.login-page{background:url(https://i.ibb.co/JqcJcGK/vaporwave-sunset-wallpaper.jpg);background-size:cover}html[data-theme=cyberpunk]{--pink:#ff2a6d;--pale:#d1f7ff;--aqua:#05d9e8;--teal:#005678;--blue:#01012b;--gold:#ebeb0f;--primary:var(--gold);--background:var(--blue);--background-darker:var(--pink);--heading-text-color:var(--blue);--nav-link-background-color-hover:var(--blue);--nav-link-text-color-hover:var(--pink);--nav-link-border-color-hover:var(--blue);--config-settings-background:var(--blue);--config-settings-color:var(--pink);--search-label-color:var(--blue);--item-group-background:var(--blue);--item-text-color:var(--pale);--scroll-bar-color:var(--aqua);--scroll-bar-background:var(--teal);--footer-background:var(--aqua);--font-headings:"Audiowide",cursive}@font-face{font-family:Inconsolata;src:url(../fonts/Inconsolata-Light.c8b568b1.ttf)}@font-face{font-family:Raleway;src:url(../fonts/Raleway-Variable.3b5635ac.ttf)}@font-face{font-family:PTMono;src:url(../fonts/PTMono-Regular.0c6b8e07.ttf)}html{--font-body:"Raleway","Trebuchet MS",sans-serif;--font-headings:"Inconsolata","Georgia",sans-serif;--font-monospace:"PTMono","Courier New",monospace;font-size:1rem;font-weight:400;text-decoration:none;background:transparent;vertical-align:baseline}html .text,html a,html body,html button,html div,html input,html label,html p,html span{font-family:var(--font-body)}html .heading,html h1,html h2,html h3,html h4,html h5{font-family:var(--font-headings)}html .jsoneditor *,html .mono *,html code,html pre,html pre *{font-family:var(--font-monospace);font-weight:400}@font-face{font-family:Allerta Stencil;src:url(/fonts/AllertaStencil-Regular.ttf)}@font-face{font-family:Cutive Mono;src:url(/fonts/CutiveMono-Regular.ttf)}@font-face{font-family:Francois One;src:url(/fonts/FrancoisOne-Regular.ttf)}@font-face{font-family:Podkova;src:url(/fonts/Podkova-Medium.ttf)}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Light.ttf)}@font-face{font-family:Sniglet;src:url(/fonts/Sniglet-Regular.ttf)}@font-face{font-family:VT323;src:url(/fonts/VT323-Regular.ttf)}@font-face{font-family:Audiowide;src:url(/fonts/Audiowide-Regular.ttf)}body{background:var(--background);margin:0;padding:0}#app .footer{text-align:center}section[data-v-08ec96b4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left bottom,left top,from(var(--background)),to(var(--background-darker)));background:linear-gradient(0deg,var(--background),var(--background-darker))}form[data-v-08ec96b4],section[data-v-08ec96b4]{display:-webkit-box;display:-ms-flexbox;display:flex}form[data-v-08ec96b4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0 0 var(--curve-factor-navbar) 0;padding:0 .2rem .2rem 0;background:var(--search-container-background)}form label[data-v-08ec96b4]{color:var(--search-label-color);margin:.5rem;display:inline}form input[data-v-08ec96b4]{display:inline-block;width:200px;height:1rem;padding:.5rem;margin:.5rem;outline:none;border:none;border-radius:var(--curve-factor);background:var(--search-field-background);color:var(--settings-text-color);border:1px solid var(--outline-color)}form input[data-v-08ec96b4]:focus{border-color:var(--settings-text-color);opacity:var(--dimming-factor)}form .clear-search[data-v-08ec96b4]{color:var(--settings-text-color);padding:0 .4rem;font-style:normal;opacity:var(--dimming-factor);border-radius:50px;cursor:pointer;right:.5rem;top:1rem;border:1px solid var(--settings-text-color);font-size:1rem;margin:.5rem}form .clear-search[data-v-08ec96b4]:hover{opacity:1;background:var(--background-darker)}@media(min-width:600px)and (max-width:779px){form[data-v-08ec96b4]{display:block;text-align:center}}@media(max-width:599px){form[data-v-08ec96b4]{-webkit-box-flex:1;-ms-flex:1;flex:1;border-radius:0;text-align:center;padding:.25rem 0;display:block}}.json-editor-outer{text-align:center}p.note{font-size:.8rem;color:var(--medium-grey);margin:.2rem}p.errors{text-align:left;margin:.5rem auto;width:95%}p.errors ul{list-style:none;padding:0;margin:0}p.errors ul li.type-validation{color:var(--warning)}p.errors ul li.type-validation:before{content:"⚠️"}p.errors ul li.type-parse{color:var(--danger)}p.errors ul li.type-parse:before{content:"❌"}p.errors ul li.type-valid{color:var(--success)}p.errors ul li.type-valid:before{content:"✅"}p.response-output{font-size:.8rem;text-align:left;margin:.5rem auto;width:95%;color:var(--config-settings-color)}p.response-output.status-success{color:var(--success)}p.response-output.status-fail{color:var(--danger)}button.save-button.err{opacity:.8;cursor:default}button.save-button.err:hover{background:var(--config-settings-color);color:var(--config-settings-background);border-color:var(--danger)}div.save-options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:.5rem;margin-bottom:.5rem;background:var(--code-editor-background);color:var(--code-editor-color);border-top:2px solid var(--config-settings-background)}@media(max-width:779px){div.save-options{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media(min-width:780px){div.save-options .option{margin-left:2rem}}div.save-options span.save-option-title{cursor:default}div.save-options input.radio-option,div.save-options label.save-option-label{cursor:pointer}.jsoneditor,.jsoneditor-menu{border-color:var(--primary)}.jsoneditor{border-bottom:none}.jsoneditor-menu,.pico-modal-header{background:var(--config-settings-background)!important;color:var(--config-settings-color)!important}.jsoneditor-contextmenu .jsoneditor-menu li button{background:var(--config-settings-background);color:var(--config-settings-color)}.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected,.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:focus,.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:hover{background:var(--config-settings-color);color:var(--config-settings-background)}div.jsoneditor-search div.jsoneditor-frame{border-radius:var(--curve-factor)}.jsoneditor-poweredBy{display:none}.jsoneditor-tree,pre.jsoneditor-preview{background:var(--code-editor-background);text-align:left}.jsoneditor-jmespath-label{color:var(--config-settings-color)!important}.jsoneditor-jmespath-block.jsoneditor-modal-actions input{background:var(--config-settings-color);color:var(--config-settings-background);border:1px solid var(--config-settings-background);border-radius:var(--curve-factor)}.jsoneditor-jmespath-block.jsoneditor-modal-actions input:hover{background:var(--config-settings-background);color:var(--config-settings-color);border-color:var(--config-settings-color)}div.jsoneditor-jmespath-block textarea#query,textarea.jsoneditor-transform-preview{border:1px solid var(--config-settings-color);border-radius:var(--curve-factor)}button.save-button{padding:.5rem 1rem;margin:.25rem auto;font-size:1.2rem;background:var(--config-settings-color);color:var(--config-settings-background);border:1px solid var(--config-settings-background);border-radius:var(--curve-factor);cursor:pointer}button.save-button:hover{background:var(--config-settings-background);color:var(--config-settings-color);border-color:var(--config-settings-color)}.prism-editor-wrapper{min-height:200px;border:1px solid var(--transparent-70);border-radius:var(--curve-factor);width:90%;margin:.5rem auto;background:var(--transparent-50)}p.quick-note{text-align:left;width:80%;margin:1rem auto;padding:.5rem;border-radius:var(--curve-factor)}button[data-v-ec408f00]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem .75rem;margin:.5rem auto;font-size:1.2rem;min-width:10rem;cursor:pointer}button svg[data-v-ec408f00]{width:1.2rem;margin:0 .5rem}button svg g[data-v-ec408f00],button svg path[data-v-ec408f00]{fill:currentColor}button.disallowed[data-v-ec408f00]{cursor:not-allowed!important}button[data-v-ec408f00]{color:var(--primary);background:var(--background);border:1px solid var(--primary);border-radius:var(--curve-factor)}button[data-v-ec408f00]:hover:not(:disabled){color:var(--background);background:var(--primary);border-color:var(--background)}button[data-v-ec408f00]:disabled{cursor:progress;opacity:var(--dimming-factor)}.rebuild-app-container[data-v-4d488482]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;padding:1rem;overflow:auto}.rebuild-app-container[data-v-4d488482],.rebuild-app-container button[data-v-4d488482]{color:var(--config-settings-color);background:var(--config-settings-background)}.rebuild-app-container p.disallow-rebuild-msg[data-v-4d488482]{color:var(--danger);font-size:1.2rem;margin:.2rem auto;text-align:center}.rebuild-app-container h3.rebuild-app-title[data-v-4d488482]{text-align:center;font-size:2rem;margin:1rem}.rebuild-app-container div.loader-info[data-v-4d488482]{margin:.2rem auto;text-align:center}.rebuild-app-container div.loader-info svg.loader[data-v-4d488482]{width:100px}.rebuild-app-container div.loader-info p.loading-message[data-v-4d488482]{margin:0;font-size:.8rem;opacity:var(--dimming-factor);-webkit-animation:fadeIn-data-v-4d488482 3s;animation:fadeIn-data-v-4d488482 3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0}@-webkit-keyframes fadeIn-data-v-4d488482{90%{opacity:0}95%{opacity:.8}to{opacity:1}}@keyframes fadeIn-data-v-4d488482{90%{opacity:0}95%{opacity:.8}to{opacity:1}}.rebuild-app-container div.rebuild-response[data-v-4d488482]{width:80%;margin:0 auto 4rem auto;text-align:center}.rebuild-app-container div.rebuild-response p.response-status[data-v-4d488482]{font-size:1rem;text-align:left}.rebuild-app-container div.rebuild-response p.response-status.success[data-v-4d488482]{color:var(--success)}.rebuild-app-container div.rebuild-response p.response-status.failure[data-v-4d488482]{color:var(--danger)}.rebuild-app-container div.rebuild-response pre.output[data-v-4d488482]{padding:1rem;font-size:.75rem;border-radius:var(--curve-factor-small);text-align:left;color:var(--white);background:var(--black);white-space:pre-wrap}.rebuild-app-container div.rebuild-response p.rebuild-message[data-v-4d488482]{font-size:1rem;text-align:left;margin:.8rem 0;color:var(--config-settings-color)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar-track,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar-thumb,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-3cfec9e9] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-3cfec9e9] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-3cfec9e9] ::-moz-selection,.highlight[data-v-3cfec9e9] ::-ms-selection,.highlight[data-v-3cfec9e9] ::-o-selection,.highlight[data-v-3cfec9e9] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-3cfec9e9]{font-weight:700}.light[data-v-3cfec9e9]{font-weight:lighter}.text-left[data-v-3cfec9e9]{text-align:left}.text-right[data-v-3cfec9e9]{text-align:right}.text-center[data-v-3cfec9e9]{text-align:center}.horizontal-center[data-v-3cfec9e9]{margin:0 auto}.border-box[data-v-3cfec9e9]{-webkit-box-sizing:border-box;box-sizing:border-box}pre[data-v-3cfec9e9]{color:var(--config-code-color);font-weight:700!important;padding:.5rem 1rem}a.config-button[data-v-3cfec9e9],button.config-button[data-v-3cfec9e9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem 1rem;margin:.25rem auto;font-size:1.2rem;background:var(--config-settings-background);color:var(--config-settings-color);border:1px solid var(--config-settings-color);border-radius:var(--curve-factor);text-decoration:none;cursor:pointer;margin:.5rem auto;width:18rem}a.config-button svg.button-icon[data-v-3cfec9e9],button.config-button svg.button-icon[data-v-3cfec9e9]{width:1rem;height:1rem;padding:.2rem;margin-right:.5rem}a.config-button svg.button-icon path[data-v-3cfec9e9],button.config-button svg.button-icon path[data-v-3cfec9e9]{fill:var(--config-settings-color)}a.config-button[data-v-3cfec9e9]:hover,button.config-button[data-v-3cfec9e9]:hover{background:var(--config-settings-color);color:var(--config-settings-background)}a.config-button:hover svg path[data-v-3cfec9e9],button.config-button:hover svg path[data-v-3cfec9e9]{fill:var(--config-settings-background)}p.app-version[data-v-3cfec9e9]{margin:.5rem auto;font-size:1rem;color:var(--transparent-white-50)}div.code-container[data-v-3cfec9e9]{background:var(--config-code-background)}div.code-container #conf-yaml span[data-v-3cfec9e9]{font-family:var(--font-monospace),monospace!important}div.code-container #conf-yaml span.hljs-attr[data-v-3cfec9e9]{font-weight:700!important}div.code-container .yaml-action-buttons[data-v-3cfec9e9]{position:absolute;top:.5rem;right:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border:1px dashed;padding:.5rem;border-radius:4px}div.code-container .yaml-action-buttons h2[data-v-3cfec9e9]{margin:0;text-align:center;color:var(--config-code-color)}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]{padding:.25rem .5rem;font-size:1rem;color:var(--config-code-color);border-radius:var(--curve-factor);cursor:pointer;text-decoration:underline;border:1px solid var(--config-code-background)}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]:hover{color:var(--config-code-color);border-color:var(--config-code-color);text-decoration:none}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]:active{color:var(--config-code-background);background-color:var(--config-settings-color);text-decoration:none}.tab-item[data-v-3cfec9e9]{overflow-y:auto;background:var(--config-settings-background)}.tab-item.main-tab[data-v-3cfec9e9]{min-height:500px}a.hyperlink-wrapper[data-v-3cfec9e9]{margin:0 auto;text-decoration:none}.main-options-container[data-v-3cfec9e9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:2rem;background:var(--config-settings-background);height:calc(100% - 2rem)}.main-options-container h2[data-v-3cfec9e9]{margin:0 auto 1rem auto;color:var(--config-settings-color)}.config-note[data-v-3cfec9e9]{width:80%;position:absolute;bottom:1rem;left:10%;margin:.5rem auto;padding:.5rem .75rem;border:1px dashed var(--config-settings-color);border-radius:var(--curve-factor);text-align:left;opacity:var(--dimming-factor);color:var(--config-settings-color);background:var(--config-settings-background);cursor:default;display:none}.config-note p.sub-title[data-v-3cfec9e9]{font-weight:700;margin:0;display:inline}.config-note[data-v-3cfec9e9]:hover{opacity:1}@media(min-width:780px){.config-note[data-v-3cfec9e9]{display:block}}p.small-screen-note[data-v-3cfec9e9]{margin:.5rem auto;padding:0 .5rem;text-align:center;opacity:.8;font-size:.9rem;color:var(--warning)}@media(max-width:599px){p.small-screen-note[data-v-3cfec9e9]{display:block!important}}.tab__pagination{background:var(--config-settings-background)}.tab__pagination,.tab__pagination .tab__nav__items .tab__nav__item span{color:var(--config-settings-color)}.tab__pagination .tab__nav__items .tab__nav__item:hover{background:var(--config-settings-color)!important}.tab__pagination .tab__nav__items .tab__nav__item:hover span{color:var(--config-settings-background)}.tab__pagination .tab__nav__items .tab__nav__item.active span{font-weight:700;color:var(--config-settings-color)!important}.tab__pagination .tab__nav__items .tab__nav__item.active{border-bottom:2px solid var(--config-settings-color)}.tab__pagination hr.tab__slider{background:var(--config-settings-color)}#conf-yaml .hljs-attr{color:#9c03f5}div.input-container[data-v-5df13ed2]{margin:.25rem auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}div.input-container.vertical[data-v-5df13ed2]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}div.input-container.horizontal[data-v-5df13ed2]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}div.input-container.horizontal label[data-v-5df13ed2]{margin-right:.25rem}div.input-container input[data-v-5df13ed2]{min-width:10rem;padding:.5rem .75rem;margin:.5rem auto;font-size:1.2rem;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--primary);background:var(--background);border:1px solid var(--primary);border-radius:var(--curve-factor)}div.input-container input[data-v-5df13ed2]:focus{-webkit-box-shadow:1px 1px 6px var(--config-settings-color);box-shadow:1px 1px 6px var(--config-settings-color);outline:none}.scroll-bar[data-v-763657f4]::-webkit-scrollbar,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-763657f4]::-webkit-scrollbar-track,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-763657f4]::-webkit-scrollbar-thumb,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-763657f4] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-763657f4] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-763657f4] ::-moz-selection,.highlight[data-v-763657f4] ::-ms-selection,.highlight[data-v-763657f4] ::-o-selection,.highlight[data-v-763657f4] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-763657f4]{font-weight:700}.light[data-v-763657f4]{font-weight:lighter}.text-left[data-v-763657f4]{text-align:left}.text-right[data-v-763657f4]{text-align:right}.text-center[data-v-763657f4]{text-align:center}.horizontal-center[data-v-763657f4]{margin:0 auto}.border-box[data-v-763657f4]{-webkit-box-sizing:border-box;box-sizing:border-box}div.cloud-backup-restore-wrapper[data-v-763657f4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;overflow:auto;height:100%;background:var(--config-settings-background);color:var(--config-settings-color)}div.cloud-backup-restore-wrapper .section[data-v-763657f4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 auto 1rem auto;padding:0 .5rem 1rem .5rem}div.cloud-backup-restore-wrapper .section[data-v-763657f4]:first-child{border-bottom:1px dashed var(--config-settings-color)}div.cloud-backup-restore-wrapper .section.intro[data-v-763657f4]{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}div.cloud-backup-restore-wrapper .section.intro a[data-v-763657f4]{color:var(--config-settings-color)}div.cloud-backup-restore-wrapper h2[data-v-763657f4]{font-size:2rem}div.cloud-backup-restore-wrapper h3[data-v-763657f4]{font-size:1.6rem}div.cloud-backup-restore-wrapper p.intro[data-v-763657f4]{text-align:left;font-size:1rem;margin:.25rem;padding:.25rem}div.results-view[data-v-763657f4]{width:16rem;margin:.5rem auto;padding:.5rem .75rem;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px dashed var(--config-settings-color);border-radius:var(--curve-factor);text-align:left}div.results-view .backup-id-label[data-v-763657f4],div.results-view .backup-id-value[data-v-763657f4]{display:inline;font-size:1rem;margin-right:.5rem}div.results-view .backup-id-note[data-v-763657f4]{font-size:.8rem;display:block;opacity:.8;margin-top:.5rem}button[data-v-763657f4],input[data-v-763657f4]{color:var(--config-settings-color);border:1px solid var(--config-settings-color);background:none;width:16rem}input[data-v-763657f4]:focus{-webkit-box-shadow:1px 1px 6px var(--config-settings-color);box-shadow:1px 1px 6px var(--config-settings-color)}button[data-v-763657f4]:hover{color:var(--config-settings-background);border:1px solid var(--config-settings-background);background:var(--config-settings-color)}h2[data-v-763657f4],h3[data-v-763657f4]{margin:1rem}.config-options[data-v-383db9de]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:var(--settings-text-color)}.config-options svg[data-v-383db9de]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.config-options svg path[data-v-383db9de]{fill:var(--settings-text-color)}.config-options svg.selected[data-v-383db9de],.config-options svg[data-v-383db9de]:hover{background:var(--settings-text-color)}.config-options svg.selected path[data-v-383db9de],.config-options svg:hover path[data-v-383db9de]{fill:var(--background)}.v-select{position:relative;font-family:inherit}.v-select,.v-select *{-webkit-box-sizing:border-box;box-sizing:border-box}@-webkit-keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;-webkit-transition:opacity .15s cubic-bezier(1,.5,.8,1);transition:opacity .15s cubic-bezier(1,.5,.8,1)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__search,.vs--disabled .vs__selected{cursor:not-allowed;background-color:#f8f8f8}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 0 4px 0;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal}.vs__dropdown-toggle,.vs__selected-options{display:-webkit-box;display:-ms-flexbox;display:flex}.vs__selected-options{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px 6px 0 3px}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:rgba(60,60,60,.5);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855),-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);-webkit-transition-timing-function:cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855)}.vs--open .vs__open-indicator{-webkit-transform:rotate(180deg) scale(1);transform:rotate(180deg) scale(1)}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:rgba(60,60,60,.5);padding:0;border:0;background-color:transparent;cursor:pointer;margin-right:8px}.vs__dropdown-menu{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:calc(100% - 1px);left:0;z-index:1000;padding:5px 0;margin:0;width:100%;max-height:350px;min-width:160px;overflow-y:auto;-webkit-box-shadow:0 3px 6px 0 rgba(0,0,0,.15);box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border:1px solid rgba(60,60,60,.26);border-top-style:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.vs__no-options{text-align:center}.vs__dropdown-option{line-height:1.42857143;display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.vs__dropdown-option:hover{cursor:pointer}.vs__dropdown-option--highlight{background:#5897fb;color:#fff}.vs__dropdown-option--disabled{background:inherit;color:rgba(60,60,60,.5)}.vs__dropdown-option--disabled:hover{cursor:inherit}.vs__selected{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f0f0f0;border:1px solid rgba(60,60,60,.26);border-radius:4px;color:#333;line-height:1.4;margin:4px 2px 0 2px;padding:0 .25em;z-index:0}.vs__deselect{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:4px;padding:0;border:0;cursor:pointer;background:none;fill:rgba(60,60,60,.5);text-shadow:0 1px 0 #fff}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--open .vs__selected{position:absolute;opacity:.4}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:1.4;font-size:1em;border:1px solid transparent;border-left:none;outline:none;margin:4px 0 0 0;padding:0 7px;background:none;-webkit-box-shadow:none;box-shadow:none;width:0;max-width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;z-index:1}.vs__search::-webkit-input-placeholder{color:inherit}.vs__search::-moz-placeholder{color:inherit}.vs__search:-ms-input-placeholder{color:inherit}.vs__search::-ms-input-placeholder{color:inherit}.vs__search::placeholder{color:inherit}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search:hover{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{-ms-flex-item-align:center;align-self:center;opacity:0;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid hsla(0,0%,39.2%,.1);border-right:.9em solid hsla(0,0%,39.2%,.1);border-bottom:.9em solid hsla(0,0%,39.2%,.1);border-left:.9em solid rgba(60,60,60,.45);-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;-webkit-transition:opacity .1s;transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;width:5em;height:5em}.vs--loading .vs__spinner{opacity:1}.theme-dropdown div.vs__dropdown-toggle{border-color:var(--settings-text-color);border-radius:var(--curve-factor);min-width:10rem;height:1.8rem;font-size:.85rem;cursor:pointer}.theme-dropdown li.vs__dropdown-option,.theme-dropdown span.vs__selected{color:var(--settings-text-color);text-transform:capitalize}.theme-dropdown svg.vs__open-indicator{fill:var(--settings-text-color)}.theme-dropdown ul.vs__dropdown-menu{width:auto;background:var(--background);z-index:5}.theme-dropdown li.vs__dropdown-option--highlight{background:var(--settings-text-color);color:var(--background)}.theme-dropdown button.vs__clear{display:none}.theme-selector-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;height:100%}.theme-selector-section span.theme-label{font-size:1rem;color:var(--settings-text-color);margin:1px 0 2px 0}.display-options[data-v-c819d738],span.options-label[data-v-c819d738]{color:var(--settings-text-color)}.display-options svg[data-v-c819d738]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-c819d738]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-c819d738],.display-options svg[data-v-c819d738]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-c819d738],.display-options svg:hover path[data-v-c819d738]{fill:var(--background)}.display-options[data-v-58966274],span.options-label[data-v-58966274]{color:var(--settings-text-color)}.display-options svg[data-v-58966274]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-58966274]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-58966274],.display-options svg[data-v-58966274]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-58966274],.display-options svg:hover path[data-v-58966274]{fill:var(--background)}.display-options[data-v-d69dca9c],span.options-label[data-v-d69dca9c]{color:var(--settings-text-color)}.display-options svg[data-v-d69dca9c]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-d69dca9c]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-d69dca9c],.display-options svg[data-v-d69dca9c]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-d69dca9c],.display-options svg:hover path[data-v-d69dca9c]{fill:var(--background)}.kb-sc-info[data-v-c5f17d9a]{position:fixed;width:30em;bottom:0;right:10px;margin:.5em;padding:.1em .3em;z-index:6;border-radius:12px;border:1px solid var(--welcome-popup-background);-webkit-box-shadow:2px 1px 5px #130f23;box-shadow:2px 1px 5px #130f23;border:1px solid var(--welcome-popup-text-color);color:var(--welcome-popup-text-color);background:var(--welcome-popup-background);cursor:default;opacity:.94}@media(max-width:599px){.kb-sc-info[data-v-c5f17d9a]{display:none}}.kb-sc-info h5[data-v-c5f17d9a]{position:absolute;top:-35px;left:20px;border:1px solid var(--welcome-popup-text-color);color:var(--welcome-popup-text-color);background:var(--welcome-popup-background);padding:4px;border-radius:var(--curve-factor)}.kb-sc-info .close[data-v-c5f17d9a]{float:right;border-radius:20px;width:1em;padding:0 0 6px 6px;height:1em;background:var(--transparent-50);margin-top:3px;border:1px solid transparent;cursor:pointer}.kb-sc-info .close[data-v-c5f17d9a]:hover{border:1px solid var(--welcome-popup-text-color);opacity:var(--dimming-factor)}.slide-fade-enter-active[data-v-c5f17d9a]{-webkit-transition:all 1s ease;transition:all 1s ease}.slide-fade-leave-active[data-v-c5f17d9a]{-webkit-transition:all .8s cubic-bezier(.93,.01,.89,.5);transition:all .8s cubic-bezier(.93,.01,.89,.5)}.slide-fade-enter[data-v-c5f17d9a],.slide-fade-leave-to[data-v-c5f17d9a]{-webkit-transform:translateY(35em);transform:translateY(35em);opacity:0}.display-options[data-v-40e473c3],span.options-label[data-v-40e473c3]{color:var(--settings-text-color)}.display-options svg[data-v-40e473c3]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-40e473c3]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-40e473c3],.display-options svg[data-v-40e473c3]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-40e473c3],.display-options svg:hover path[data-v-40e473c3]{fill:var(--background)}div.about-modal[data-v-40e473c3]{background:var(--about-page-background);color:var(--about-page-color);padding:1rem;height:100%}div.about-modal hr[data-v-40e473c3]{border-color:var(--about-page-accent)}div.about-modal h2[data-v-40e473c3]{text-decoration:none;font-size:1.8rem;text-align:center;margin:.2rem}div.about-modal h3[data-v-40e473c3]{font-size:1.3rem;margin:.75rem 0 .2rem 0;color:var(--about-page-accent)}div.about-modal p.small-note[data-v-40e473c3]{font-size:.9rem;margin:.2rem 0}div.about-modal p.about-text[data-v-40e473c3]{margin:.2rem 0}div.about-modal a[data-v-40e473c3]{color:var(--about-page-accent)}div.about-modal ul[data-v-40e473c3]{margin-top:.2rem}div.about-modal .system-info[data-v-40e473c3]{font-size:.8rem;background:var(--black);color:var(--white);border-radius:var(--curve-factor-small);padding:.5rem;border:1px solid var(--white);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}div.about-modal .system-info h4[data-v-40e473c3]{font-size:.8rem;margin:0 0 .2rem 0;text-decoration:underline}section[data-v-76869370]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left bottom,left top,from(var(--background)),to(var(--background-darker)));background:linear-gradient(0deg,var(--background),var(--background-darker));-webkit-box-shadow:var(--settings-container-shadow);box-shadow:var(--settings-container-shadow)}.options-outer[data-v-76869370]{position:relative;-ms-flex:1;flex:1;border-radius:var(--curve-factor-navbar)}.options-container[data-v-76869370],.options-outer[data-v-76869370]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;background:var(--settings-background)}.options-container[data-v-76869370]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex:1;flex:1;padding:.5rem 1.5rem .5rem 1rem;border-radius:var(--curve-factor-navbar) 0 0}.options-container div[data-v-76869370]{margin-left:.5rem;opacity:var(--dimming-factor);opacity:1}.options-container div[data-v-76869370]:hover{opacity:1}.options-container.hide[data-v-76869370]{display:none}@media(max-width:399px){.options-container[data-v-76869370]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}}.show-hide-container[data-v-76869370]{display:-webkit-box;display:-ms-flexbox;display:flex;background:var(--settings-background);color:var(--settings-text-color);width:1.5rem;position:absolute;top:4px;right:4px}.show-hide-container.show-btn[data-v-76869370]{width:2rem;top:.5rem;right:.5rem}@media(max-width:599px){.show-hide-container.show-btn[data-v-76869370]{top:-3rem!important}}.show-hide-container button[data-v-76869370]{width:100%;padding:2px 2px 0 2px;margin:2px;border-radius:var(--curve-factor);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;background:none;border:none;color:var(--settings-text-color);cursor:pointer;opacity:var(--dimming-factor)}.show-hide-container:hover button[data-v-76869370]{background:var(--settings-text-color);color:var(--settings-background)}svg.logout-icon[data-v-76869370]{width:1rem;height:1rem;margin:.35rem .2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid var(--settings-text-color);border-radius:var(--curve-factor);cursor:pointer}svg.logout-icon path[data-v-76869370]{fill:var(--settings-text-color)}svg.logout-icon.selected[data-v-76869370],svg.logout-icon[data-v-76869370]:hover{background:var(--settings-text-color)}svg.logout-icon.selected path[data-v-76869370],svg.logout-icon:hover path[data-v-76869370]{fill:var(--background)}@media(min-width:600px)and (max-width:779px){section[data-v-76869370]{display:block;margin:0 auto;background:none}section .options-container[data-v-76869370]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.tile-icon{width:2rem;border-radius:var(--curve-factor)}.tile-icon.broken{display:none}.tile-icon.small{width:1.5rem}.tile-icon.large{width:3rem}i.fab,i.fad,i.fal,i.far,i.fas{font-size:2rem;color:currentColor;margin:1px auto 4px}i.fab.small,i.fad.small,i.fal.small,i.far.small,i.fas.small{font-size:1.5rem}i.fab.large,i.fad.large,i.fal.large,i.far.large,i.fas.large{font-size:3rem}object.tile-icon{width:55px;height:55px}object.tile-icon svg,object.tile-icon svg g,object.tile-icon svg g path{fill:currentColor}i.emoji-icon{font-style:normal;font-size:2rem;margin:.2rem}i.emoji-icon.small{font-size:1.5rem}i.emoji-icon.large{font-size:2.5rem}.missing-image{width:3.5rem}.missing-image path{fill:currentColor}.opening-method-icon svg[data-v-bd61f3bc]{position:absolute;width:1rem;margin:2px}.opening-method-icon svg path[data-v-bd61f3bc]{fill:currentColor}.opening-method-icon.top svg[data-v-bd61f3bc]{top:0}.opening-method-icon.bottom svg[data-v-bd61f3bc]{bottom:0}.opening-method-icon.left svg[data-v-bd61f3bc]{left:0}.opening-method-icon.right svg[data-v-bd61f3bc]{right:0}.opening-method-icon.short svg[data-v-bd61f3bc]{width:.8rem;margin:0}.opening-method-icon.transparent svg[data-v-bd61f3bc]{opacity:.5}.indicator[data-v-46972ad8]{padding:5px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;cursor:help}.indicator[data-v-46972ad8]:hover{-webkit-transform:scale(1.25);transform:scale(1.25);-webkit-filter:saturate(2);filter:saturate(2);opacity:1}@-webkit-keyframes pulse-data-v-46972ad8{0%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}25%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@keyframes pulse-data-v-46972ad8{0%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}25%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@-webkit-keyframes applyOpacity-data-v-46972ad8{50%{opacity:.9}to{opacity:.8}}@keyframes applyOpacity-data-v-46972ad8{50%{opacity:.9}to{opacity:.8}}.dot[data-v-46972ad8]{border-radius:50%;height:12px;width:12px;-webkit-animation:applyOpacity-data-v-46972ad8 1s ease-in 8s forwards;animation:applyOpacity-data-v-46972ad8 1s ease-in 8s forwards}.dot>span[data-v-46972ad8],.dot>span span[data-v-46972ad8],.dot>span span[data-v-46972ad8]:after{-webkit-animation:pulse-data-v-46972ad8 1s linear .5s 2;animation:pulse-data-v-46972ad8 1s linear .5s 2;border-radius:50%;display:block;height:12px;width:12px;content:""}.dot.dot-green[data-v-46972ad8]{background-color:var(--success)}.dot.dot-green span[data-v-46972ad8],.dot.dot-green span[data-v-46972ad8]:after{background-color:var(--success);opacity:.4}.dot.dot-red[data-v-46972ad8]{background-color:var(--danger)}.dot.dot-red span[data-v-46972ad8],.dot.dot-red span[data-v-46972ad8]:after{background-color:var(--danger);opacity:.4}.dot.dot-yellow[data-v-46972ad8]{background-color:var(--warning)}.dot.dot-yellow span[data-v-46972ad8],.dot.dot-yellow span[data-v-46972ad8]:after{background-color:var(--warning);opacity:.4}.dot.dot-grey[data-v-46972ad8]{background-color:var(--medium-grey)}.dot.dot-grey span[data-v-46972ad8],.dot.dot-grey span[data-v-46972ad8]:after{background-color:var(--medium-grey);opacity:.4}.status-tooltip{background:var(--status-check-tooltip-background)!important;color:var(--status-check-tooltip-color)!important;font-size:1rem;z-index:10}.status-tooltip.tip-green{border:1px solid var(--success)}.status-tooltip.tip-yellow{border:1px solid var(--warning)}.status-tooltip.tip-red{border:1px solid var(--danger)}div.context-menu{position:absolute;margin:0;padding:0;z-index:8;background:var(--context-menu-background);color:var(--context-menu-color);border:1px solid var(--context-menu-secondary-color);border-radius:var(--curve-factor);-webkit-box-shadow:var(--context-menu-shadow);box-shadow:var(--context-menu-shadow);opacity:.98}div.context-menu ul{list-style-type:none;margin:0;padding:0}div.context-menu ul li{cursor:pointer;padding:.5rem 1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-size:1rem}div.context-menu ul li:not(:last-child){border-bottom:1px solid var(--context-menu-secondary-color)}div.context-menu ul li:hover{background:var(--context-menu-secondary-color)}div.context-menu ul li svg{width:1rem;margin-right:.5rem}div.context-menu ul li svg path{fill:currentColor}.slide-enter-active{-webkit-animation:slide-in .1s;animation:slide-in .1s}.slide-leave-active{animation:slide-in .1s reverse}@-webkit-keyframes slide-in{0%{-webkit-transform:scaleY(.5) scaleX(.8) translateY(-50px);transform:scaleY(.5) scaleX(.8) translateY(-50px)}to{-webkit-transform:scaleY(1) translateY(0) translateY(0);transform:scaleY(1) translateY(0) translateY(0)}}@keyframes slide-in{0%{-webkit-transform:scaleY(.5) scaleX(.8) translateY(-50px);transform:scaleY(.5) scaleX(.8) translateY(-50px)}to{-webkit-transform:scaleY(1) translateY(0) translateY(0);transform:scaleY(1) translateY(0) translateY(0)}}.item,.item-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.item{color:var(--item-text-color);vertical-align:middle;margin:.5rem;background:var(--item-background);text-align:center;padding:2px;outline:2px solid transparent;border:1px solid var(--outline-color);border-radius:var(--curve-factor);-webkit-box-shadow:var(--item-shadow);box-shadow:var(--item-shadow);cursor:pointer;text-decoration:none;position:relative;-webkit-transition:all .2s ease-in-out 0s;transition:all .2s ease-in-out 0s}.item:hover{-webkit-box-shadow:var(--item-hover-shadow);box-shadow:var(--item-hover-shadow);background:var(--item-background-hover);color:var(--item-text-color-hover);position:relative}.item:hover .tile-title span.text{white-space:pre-wrap}.item:focus{outline:2px solid var(--primary)}.item.short{height:18px}.tile-title{overflow:hidden;text-overflow:ellipsis;min-width:120px;height:30px;position:relative;padding:0;z-index:2}.tile-title,.tile-title span.text{white-space:nowrap}.status-indicator{position:absolute;top:0;right:0}.opening-method-icon{display:none}.item:focus .opening-method-icon,.item:hover .opening-method-icon{display:block}.item:focus .tile-title.is-overflowing .overflow-dots,.item:hover .tile-title.is-overflowing .overflow-dots{opacity:0}.item:focus .tile-title.is-overflowing span.text,.item:hover .tile-title.is-overflowing span.text{-webkit-transform:translateX(calc(100px - 100%));transform:translateX(calc(100px - 100%))}.item:focus .tile-icon,.item:focus .tile-svg,.item:hover .tile-icon,.item:hover .tile-svg{-webkit-filter:var(--item-icon-transform-hover);filter:var(--item-icon-transform-hover)}.item.size-small{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:2rem;padding-top:4px}.item.size-small div img,.item.size-small div svg.missing-image{width:2rem}.item.size-small .tile-title{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;min-height:1.2rem;text-align:left;max-width:140px}.item.size-small .tile-title span.text{text-align:left;padding-left:10%}.item.size-medium{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:auto}.item.size-medium div img,.item.size-medium div svg.missing-image{width:2.5rem;margin-bottom:.25rem}.item.size-medium .tile-title{min-width:100px;max-width:160px}.item.size-large{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left;overflow:hidden;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-height:6rem;margin:.2rem;padding:.5rem}.item.size-large img{padding:.1rem .25rem}.item.size-large .tile-title{height:auto;padding:.1rem .25rem}.item.size-large .tile-title span.text{position:relative;font-weight:700;font-size:1.1rem;width:100%}.item.size-large .tile-title p.description{display:block;margin:0;white-space:pre-wrap;font-size:.9em;text-overflow:ellipsis}.item p.description{display:none}.item:before{display:none;font-family:FontAwesome;content:var(--open-icon,"")!important}.tooltip{padding:.2rem .5rem;background:rgba(11,16,33,.8);border:1px solid #0b1021;border-radius:3px;color:#fff;max-width:250px}.tooltip-arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-11px;left:calc(50% - 5px);margin-top:0;margin-bottom:0;width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:rgba(11,16,33,.8);z-index:3}.disabled-link{pointer-events:none}.collapsable[data-v-ac1beaa4]{padding:var(--item-group-padding);margin:10px;border-radius:var(--curve-factor);background:var(--item-group-outer-background);-webkit-box-shadow:var(--item-group-shadow);box-shadow:var(--item-group-shadow);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:100%;width:-webkit-fill-available;width:-moz-available;width:stretch;grid-row-start:span 1;grid-column-start:span 1}.collapsable.row-2[data-v-ac1beaa4]{grid-row-start:span 2}.collapsable.row-3[data-v-ac1beaa4]{grid-row-start:span 3}.collapsable.row-4[data-v-ac1beaa4]{grid-row-start:span 4}@media(min-width:780px){.collapsable.col-2[data-v-ac1beaa4],.collapsable.col-3[data-v-ac1beaa4],.collapsable.col-4[data-v-ac1beaa4]{grid-column-start:span 2}}@media(min-width:1150px){.collapsable.col-2[data-v-ac1beaa4]{grid-column-start:span 2}.collapsable.col-3[data-v-ac1beaa4],.collapsable.col-4[data-v-ac1beaa4]{grid-column-start:span 3}}@media(min-width:1780px){.collapsable.col-2[data-v-ac1beaa4]{grid-column-start:span 2}.collapsable.col-3[data-v-ac1beaa4]{grid-column-start:span 3}.collapsable.col-4[data-v-ac1beaa4]{grid-column-start:span 4}}.collapsable .wrap-collabsible[data-v-ac1beaa4]{margin-bottom:1.2rem 0}.collapsable input[type=checkbox][data-v-ac1beaa4]{display:none}.collapsable label.lbl-toggle[data-v-ac1beaa4]{outline:none;display:block;padding:.25rem;cursor:pointer;border-radius:var(--curve-factor);-webkit-transition:all .25s ease-out;transition:all .25s ease-out;text-align:left;color:var(--item-group-heading-text-color)}.collapsable label.lbl-toggle h3[data-v-ac1beaa4]{margin:0;padding:0;display:inline}.collapsable label.lbl-toggle .section-icon[data-v-ac1beaa4]{display:inline;margin-right:.5rem}.collapsable .lbl-toggle[data-v-ac1beaa4]:hover{color:var(--item-group-heading-text-color-hover)}.collapsable .lbl-toggle[data-v-ac1beaa4]:before{content:" ";display:inline-block;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid currentColor;vertical-align:middle;margin-right:.7rem;-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-transition:-webkit-transform .2s ease-out;transition:-webkit-transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out,-webkit-transform .2s ease-out}.collapsable .toggle:checked+.lbl-toggle[data-v-ac1beaa4]:before{-webkit-transform:rotate(90deg) translateX(-3px);transform:rotate(90deg) translateX(-3px)}.collapsable .collapsible-content[data-v-ac1beaa4]{max-height:0;overflow:hidden;-webkit-transition:max-height .25s ease-in-out;transition:max-height .25s ease-in-out;background:var(--item-group-background);border-radius:0 0 var(--curve-factor) var(--curve-factor)}.collapsable .toggle:checked+.lbl-toggle+.collapsible-content[data-v-ac1beaa4]{max-height:3000px}.collapsable .toggle:checked+.lbl-toggle[data-v-ac1beaa4]{border-bottom-right-radius:0;border-bottom-left-radius:0}.collapsable .collapsible-content .content-inner[data-v-ac1beaa4]{padding:.5rem}.frame{width:100%;height:100%;border:none}.no-url{margin:4rem auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;font-size:2rem;padding:.5rem;border:1px dashed red;border-radius:3px;background:#f4f2f2}.close-button{position:absolute;right:0;padding:.5rem;border:0;border-radius:0 0 0 10px;background:var(--primary);color:var(--background);border-left:1px solid var(--primary);border-bottom:1px solid var(--primary);cursor:pointer}.close-button:hover{background:var(--background);color:var(--primary)}.scroll-bar[data-v-57f8b54c]::-webkit-scrollbar,.there-are-items.item-group-grid[data-v-57f8b54c]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-57f8b54c]::-webkit-scrollbar-track,.there-are-items.item-group-grid[data-v-57f8b54c]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-57f8b54c]::-webkit-scrollbar-thumb,.there-are-items.item-group-grid[data-v-57f8b54c]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-57f8b54c] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-57f8b54c] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-57f8b54c] ::-moz-selection,.highlight[data-v-57f8b54c] ::-ms-selection,.highlight[data-v-57f8b54c] ::-o-selection,.highlight[data-v-57f8b54c] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-57f8b54c]{font-weight:700}.light[data-v-57f8b54c]{font-weight:lighter}.text-left[data-v-57f8b54c]{text-align:left}.text-right[data-v-57f8b54c]{text-align:right}.text-center[data-v-57f8b54c]{text-align:center}.horizontal-center[data-v-57f8b54c]{margin:0 auto}.border-box[data-v-57f8b54c]{-webkit-box-sizing:border-box;box-sizing:border-box}.no-items[data-v-57f8b54c]{width:100px;margin:0 auto;padding:.8rem;text-align:center;cursor:default;border-radius:var(--curve-factor);background:rgba(96,125,139,.2);color:var(--primary);-webkit-box-shadow:var(--item-shadow);box-shadow:var(--item-shadow)}.there-are-items[data-v-57f8b54c]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.there-are-items.item-group-grid[data-v-57f8b54c]{display:grid;overflow:auto}@media(max-width:599px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1150px)and (max-width:1779px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1780px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(4,1fr)}}@media(min-width:2800px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(5,1fr)}}.orientation-horizontal[data-v-57f8b54c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orientation-horizontal .there-are-items[data-v-57f8b54c]{display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:599px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(2,1fr)}}@media(min-width:600px)and (max-width:779px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(4,1fr)}}@media(min-width:780px)and (max-width:1149px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(6,1fr)}}@media(min-width:1150px)and (max-width:1779px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(8,1fr)}}@media(min-width:1780px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(10,1fr)}}@media(min-width:2800px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(12,1fr)}}.item-group-container[data-v-d247608c]::-webkit-scrollbar,.scroll-bar[data-v-d247608c]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.item-group-container[data-v-d247608c]::-webkit-scrollbar-track,.scroll-bar[data-v-d247608c]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.item-group-container[data-v-d247608c]::-webkit-scrollbar-thumb,.scroll-bar[data-v-d247608c]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-d247608c] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d247608c] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d247608c] ::-moz-selection,.highlight[data-v-d247608c] ::-ms-selection,.highlight[data-v-d247608c] ::-o-selection,.highlight[data-v-d247608c] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-d247608c]{font-weight:700}.light[data-v-d247608c]{font-weight:lighter}.text-left[data-v-d247608c]{text-align:left}.text-right[data-v-d247608c]{text-align:right}.text-center[data-v-d247608c]{text-align:center}.horizontal-center[data-v-d247608c]{margin:0 auto}.border-box[data-v-d247608c]{-webkit-box-sizing:border-box;box-sizing:border-box}.home[data-v-d247608c]{padding-bottom:1px;background:var(--background);min-height:calc(100vh - var(--footer-height))}.item-group-container[data-v-d247608c]{display:grid;gap:.5rem;margin:0 auto;max-width:90%;overflow:auto}@media(min-width:1780px){.item-group-container[data-v-d247608c]{max-width:1400px}}.item-group-container.orientation-horizontal[data-v-d247608c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.item-group-container.orientation-vertical[data-v-d247608c]{max-width:100%}@media(min-width:780px){.item-group-container.orientation-vertical[data-v-d247608c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media(max-width:599px){.item-group-container[data-v-d247608c]{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){.item-group-container[data-v-d247608c]{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){.item-group-container[data-v-d247608c]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1150px)and (max-width:1779px){.item-group-container[data-v-d247608c]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1780px){.item-group-container[data-v-d247608c]{grid-template-columns:repeat(4,1fr)}}@media(min-width:2800px){.item-group-container[data-v-d247608c]{grid-template-columns:repeat(5,1fr)}}.item-group-container .no-results[data-v-d247608c]{display:none}.no-data[data-v-d247608c]{font-size:2rem;color:var(--background);background:hsla(0,0%,100%,.9215686274509803);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:2rem auto;padding:.5rem 1rem;border-radius:var(--curve-factor)}section.filter-container[data-v-d247608c]{border-bottom:1px solid var(--outline-color)}@media(max-width:599px){section.filter-container[data-v-d247608c]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.login-page{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:800px}.login-page,.login-page .login-form{display:-webkit-box;display:-ms-flexbox;display:flex}.login-page .login-form{background:var(--login-form-background);color:var(--login-form-color);border:1px solid var(--login-form-color);border-radius:var(--curve-factor);padding:2rem;margin:2rem auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.login-page .login-form h2.login-title{font-size:3rem;margin:0 0 1rem 0;text-align:center}.login-page .login-form .login-field input,.login-page .login-form Button.login-button{width:18rem;margin:.5rem auto;font-size:1.4rem;padding:.5rem 1rem}.login-page .login-form .login-field input{color:var(--login-form-color);border-color:var(--login-form-color);background:var(--login-form-background)}.login-page .login-form Button.login-button{background:var(--login-form-color);border-color:var(--login-form-background);color:var(--login-form-background)}.login-page .login-form Button.login-button:hover{color:var(--login-form-color);border-color:var(--login-form-color);background:var(--login-form-background)}.login-page .login-form Button.login-button:active,.login-page .login-form Button.login-button:focus{-webkit-box-shadow:1px 1px 6px var(--login-form-color);box-shadow:1px 1px 6px var(--login-form-color)}.login-page .login-form p.login-error-message{font-size:1rem;text-align:center}.login-page .login-form p.login-error-message.waiting{color:var(--login-form-color)}.login-page .login-form p.login-error-message.success{color:var(--success)}.login-page .login-form p.login-error-message.error{color:var(--warning)}.bounce-enter-active{-webkit-animation:bounce-in .25s;animation:bounce-in .25s}.bounce-leave-active{animation:bounce-in .25s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}to{-webkit-transform:scale(1);transform:scale(1)}}.v-select.login-time-dropdown{margin:.5rem 0}.v-select.login-time-dropdown .vs__dropdown-toggle{border-color:var(--login-form-color);background:var(--login-form-background)}.v-select.login-time-dropdown .vs__dropdown-toggle span.vs__selected{color:var(--login-form-color)}.v-select.login-time-dropdown .vs__dropdown-toggle .vs__actions svg path{fill:var(--login-form-color)}.v-select.login-time-dropdown ul.vs__dropdown-menu{background:var(--login-form-background);border-color:var(--login-form-color)}.v-select.login-time-dropdown ul.vs__dropdown-menu li{color:var(--login-form-color)}.v-select.login-time-dropdown ul.vs__dropdown-menu li:hover{color:var(--login-form-background);background:var(--login-form-color)}.v-select.login-time-dropdown ul.vs__dropdown-menu li.vs__dropdown-option--highlight{color:var(--login-form-background)!important;background:var(--login-form-color)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-d979f4fe] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d979f4fe] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d979f4fe] ::-moz-selection,.highlight[data-v-d979f4fe] ::-ms-selection,.highlight[data-v-d979f4fe] ::-o-selection,.highlight[data-v-d979f4fe] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-d979f4fe]{font-weight:700}.light[data-v-d979f4fe]{font-weight:lighter}.text-left[data-v-d979f4fe]{text-align:left}.text-right[data-v-d979f4fe]{text-align:right}.text-center[data-v-d979f4fe]{text-align:center}.horizontal-center[data-v-d979f4fe]{margin:0 auto}.border-box[data-v-d979f4fe]{-webkit-box-sizing:border-box;box-sizing:border-box}div.side-bar-item[data-v-d979f4fe]{color:var(--side-bar-color);background:var(--side-bar-background);text-align:center}div.side-bar-item.text-only[data-v-d979f4fe]{background:none;border:none;-webkit-box-shadow:none;box-shadow:none}div.side-bar-item.text-only p.small-title[data-v-d979f4fe]{margin:.1rem auto;font-size:.6rem}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-56ddb963] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-56ddb963] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-56ddb963] ::-moz-selection,.highlight[data-v-56ddb963] ::-ms-selection,.highlight[data-v-56ddb963] ::-o-selection,.highlight[data-v-56ddb963] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-56ddb963]{font-weight:700}.light[data-v-56ddb963]{font-weight:lighter}.text-left[data-v-56ddb963]{text-align:left}.text-right[data-v-56ddb963]{text-align:right}.text-center[data-v-56ddb963]{text-align:center}.horizontal-center[data-v-56ddb963]{margin:0 auto}.border-box[data-v-56ddb963]{-webkit-box-sizing:border-box;box-sizing:border-box}div.sub-side-bar[data-v-56ddb963]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:var(--side-bar-background-lighter);border-radius:var(--curve-factor);margin:.2rem;color:var(--side-bar-color);text-align:center;z-index:3}div.sub-side-bar .item[data-v-56ddb963]:not(:last-child){border-bottom:1px dashed var(--side-bar-color)}.scroll-bar[data-v-31476576]::-webkit-scrollbar,nav.side-bar[data-v-31476576]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-31476576]::-webkit-scrollbar-track,nav.side-bar[data-v-31476576]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-31476576]::-webkit-scrollbar-thumb,nav.side-bar[data-v-31476576]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-31476576] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-31476576] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-31476576] ::-moz-selection,.highlight[data-v-31476576] ::-ms-selection,.highlight[data-v-31476576] ::-o-selection,.highlight[data-v-31476576] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-31476576]{font-weight:700}.light[data-v-31476576]{font-weight:lighter}.text-left[data-v-31476576]{text-align:left}.text-right[data-v-31476576]{text-align:right}.text-center[data-v-31476576]{text-align:center}.horizontal-center[data-v-31476576]{margin:0 auto}.border-box[data-v-31476576]{-webkit-box-sizing:border-box;box-sizing:border-box}nav.side-bar[data-v-31476576]{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:var(--side-bar-background);color:var(--side-bar-color);height:100%;width:var(--side-bar-width);text-align:center;overflow:auto}nav.side-bar .side-bar-item-container[data-v-31476576]{z-index:5}nav.side-bar .item[data-v-31476576]:not(:last-child){border-bottom:1px dashed var(--side-bar-color);z-index:5}.slide-enter-active[data-v-31476576],.slide-leave-active[data-v-31476576]{-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.slide-enter[data-v-31476576],.slide-leave-to[data-v-31476576]{-webkit-transform:translateY(-80%);transform:translateY(-80%)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-a2564c04] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-a2564c04] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-a2564c04] ::-moz-selection,.highlight[data-v-a2564c04] ::-ms-selection,.highlight[data-v-a2564c04] ::-o-selection,.highlight[data-v-a2564c04] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-a2564c04]{font-weight:700}.light[data-v-a2564c04]{font-weight:lighter}.text-left[data-v-a2564c04]{text-align:left}.text-right[data-v-a2564c04]{text-align:right}.text-center[data-v-a2564c04]{text-align:center}.horizontal-center[data-v-a2564c04]{margin:0 auto}.border-box[data-v-a2564c04]{-webkit-box-sizing:border-box;box-sizing:border-box}iframe[data-v-a2564c04]{position:absolute;left:var(--side-bar-width);height:calc(100% - var(--header-height));width:calc(100% - var(--side-bar-width));border:none;background:#fff}.work-space[data-v-0969b753]{min-height:calc(100vh - var(--footer-height))}pre[data-v-33cd2d90]{background:var(--code-editor-background);color:var(--code-editor-color);padding:1rem}
\ No newline at end of file
diff --git a/css/dashy.df1fe209.css b/css/dashy.df1fe209.css
new file mode 100644
index 00000000..68d54791
--- /dev/null
+++ b/css/dashy.df1fe209.css
@@ -0,0 +1 @@
+.page-titles[data-v-34020d7c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-decoration:none}.page-titles h1[data-v-34020d7c]{color:var(--heading-text-color);font-size:2.5rem;margin:0}.page-titles span.subtitle[data-v-34020d7c]{color:var(--heading-text-color);font-style:italic;text-shadow:1px 1px 2px #130f23;opacity:var(--dimming-factor)}@media(max-width:599px){.page-titles[data-v-34020d7c]{text-align:center;padding:.25rem 0}}nav[data-v-68c1bd5c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}nav .nav-item[data-v-68c1bd5c]{display:inline-block;padding:.75rem .5rem;margin:.5rem;outline:none;border:none;border-radius:var(--curve-factor);-webkit-box-shadow:1px 1px 2px #232323;box-shadow:1px 1px 2px #232323;color:var(--nav-link-text-color);background:var(--nav-link-background-color);border:1px solid var(--nav-link-border-color);text-decoration:none}nav .nav-item.router-link-active[data-v-68c1bd5c],nav .nav-item[data-v-68c1bd5c]:hover{color:var(--nav-link-text-color-hover);background:var(--nav-link-background-color-hover);border:1px solid var(--nav-link-border-color-hover)}header[data-v-786dc3b6]{margin:0;padding:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;background:var(--background-darker);-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:start;align-content:flex-start}@media(max-width:599px){header[data-v-786dc3b6]{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}footer[data-v-64591bd5]{width:calc(100% - .5rem);bottom:0;padding:.25rem;text-align:center;color:var(--medium-grey);opacity:var(--dimming-factor);background:var(--footer-background);margin-top:1.5rem;border-top:1px solid var(--outline-color)}@media(max-width:779px){footer[data-v-64591bd5]{display:none}}footer a[data-v-64591bd5]{color:var(--footer-text-color)}footer a[data-v-64591bd5]:hover{color:var(--footer-text-color-link)}div#loading[data-v-a7bc1de6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:absolute;height:100%;width:100%;z-index:7;background:var(--loading-screen-background);color:var(--loading-screen-color)}div#loading.hide[data-v-a7bc1de6]{display:none}div#loading .inner-container[data-v-a7bc1de6]{text-align:center}div#loading p[data-v-a7bc1de6]{font-size:6vw;display:inline;margin:0 auto}div#loading h2[data-v-a7bc1de6]{opacity:.35;font-size:16vw;margin:0}div#loading .dots-cont[data-v-a7bc1de6]{display:inline}div#loading .dots-cont .dot[data-v-a7bc1de6]{width:4px;height:4px;background:var(--loading-screen-color);display:inline-block;border-radius:35%;right:0;bottom:0;margin:0 2.5px;position:relative;-webkit-animation:jump-data-v-a7bc1de6 1s infinite;animation:jump-data-v-a7bc1de6 1s infinite}div#loading .dots-cont .dot.dot-1[data-v-a7bc1de6]{-webkit-animation-delay:.1s;animation-delay:.1s}div#loading .dots-cont .dot.dot-2[data-v-a7bc1de6]{-webkit-animation-delay:.2s;animation-delay:.2s}div#loading .dots-cont .dot.dot-3[data-v-a7bc1de6]{-webkit-animation-delay:.3s;animation-delay:.3s}div#loading .dots-cont .dot.dot-4[data-v-a7bc1de6]{-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes jump-data-v-a7bc1de6{0%{bottom:0}20%{bottom:5px}40%{bottom:0}}@keyframes jump-data-v-a7bc1de6{0%{bottom:0}20%{bottom:5px}40%{bottom:0}}.slide-fade-leave-active[data-v-a7bc1de6]{-webkit-transition:all .2s cubic-bezier(1,.9,.7,.4);transition:all .2s cubic-bezier(1,.9,.7,.4)}.slide-fade-enter[data-v-a7bc1de6],.slide-fade-leave-to[data-v-a7bc1de6]{-webkit-transform:translateY(-200px);transform:translateY(-200px);opacity:0}.scroll-bar::-webkit-scrollbar,html::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar::-webkit-scrollbar-track,html::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight ::-moz-selection,html ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight ::selection,html ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight ::-moz-selection,.highlight ::-ms-selection,.highlight ::-o-selection,.highlight ::-webkit-selection,html ::-moz-selection,html ::-ms-selection,html ::-o-selection,html ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold{font-weight:700}.light{font-weight:lighter}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.horizontal-center{margin:0 auto}.border-box,html{-webkit-box-sizing:border-box;box-sizing:border-box}html{margin:0;padding:0;-webkit-transition:all 1s;transition:all 1s;margin-top:-3px}html a,html button,html input[type=button]{cursor:pointer}.dashy-modal,.vm--modal{-webkit-box-shadow:0 40px 70px -2px rgba(0,0,0,.6),1px 1px 6px var(--primary)!important;box-shadow:0 40px 70px -2px rgba(0,0,0,.6),1px 1px 6px var(--primary)!important;min-width:300px;min-height:500px}.vm--overlay{background:rgba(0,0,0,.5019607843137255)}.toast-message{background:var(--toast-background)!important;color:var(--toast-color)!important;border:1px solid var(--toast-color)!important;border-radius:var(--curve-factor)!important;font-size:1.25rem!important}.toast-error{background:var(--danger)!important}.toast-error,.toast-success{color:var(--white)!important;font-size:1.25rem!important}.toast-success{background:var(--success)!important}:root{--primary:#5cabca;--background:#0b1021;--background-darker:#05070e;--info:#04e4f4;--success:#20e253;--warning:#f6f000;--danger:#f80363;--neutral:#272f4d;--white:#fff;--black:#000;--item-group-background:rgba(11,16,33,0.8);--medium-grey:#5e6474;--item-background:rgba(96,125,139,0.2);--item-background-hover:rgba(96,125,139,0.30196078431372547);--transparent-70:rgba(0,0,0,0.7019607843137254);--transparent-50:rgba(0,0,0,0.5019607843137255);--transparent-30:rgba(0,0,0,0.30196078431372547);--transparent-white-70:hsla(0,0%,100%,0.7019607843137254);--transparent-white-50:hsla(0,0%,100%,0.5019607843137255);--transparent-white-30:hsla(0,0%,100%,0.30196078431372547);--heading-text-color:var(--primary);--nav-link-text-color:var(--primary);--nav-link-background-color:rgba(96,125,139,0.2);--nav-link-text-color-hover:var(--primary);--nav-link-background-color-hover:rgba(96,125,139,0.2);--nav-link-border-color:transparent;--nav-link-border-color-hover:var(--primary);--item-text-color:var(--primary);--item-text-color-hover:var(--item-text-color);--item-group-outer-background:var(--primary);--item-group-heading-text-color:var(--item-group-background);--item-group-heading-text-color-hover:var(--background);--settings-background:var(--background);--settings-text-color:var(--primary);--search-container-background:var(--background-darker);--search-field-background:var(--background);--search-label-color:var(--settings-text-color);--footer-text-color:var(--medium-grey);--footer-text-color-link:var(--primary);--footer-background:var(--background-darker);--welcome-popup-background:var(--background-darker);--welcome-popup-text-color:var(--primary);--config-code-background:#fff;--config-code-color:var(--background);--config-settings-color:var(--primary);--config-settings-background:var(--background-darker);--toast-background:var(--primary);--toast-color:var(--background);--scroll-bar-color:var(--primary);--scroll-bar-background:var(--background-darker);--highlight-color:var(--background);--highlight-background:var(--primary);--loading-screen-color:var(--primary);--loading-screen-background:var(--background);--login-form-color:var(--primary);--login-form-background:var(--background);--login-form-background-secondary:var(--background-darker);--about-page-color:var(--white);--about-page-background:var(--background);--about-page-accent:var(--primary);--side-bar-background:var(--background-darker);--side-bar-background-lighter:var(--background);--side-bar-color:var(--primary);--status-check-tooltip-background:var(--background-darker);--status-check-tooltip-color:var(--primary);--code-editor-color:var(--black);--code-editor-background:var(--white);--context-menu-background:var(--background);--context-menu-color:var(--primary);--context-menu-secondary-color:var(--background-darker);--outline-color:none;--curve-factor:5px;--curve-factor-navbar:16px;--curve-factor-small:2px;--dimming-factor:0.7;--scroll-bar-width:8px;--header-height:6.3rem;--footer-height:125px;--item-group-padding:5px;--item-shadow:1px 1px 2px #130f23;--item-hover-shadow:1px 2px 4px #373737;--item-icon-transform:drop-shadow(2px 4px 6px var(--transparent-50)) saturate(0.65);--item-icon-transform-hover:drop-shadow(4px 8px 3px var(--transparent-50)) saturate(2);--item-group-shadow:var(--item-shadow);--context-menu-shadow:var(--item-shadow);--settings-container-shadow:none;--side-bar-width:3.5rem}html[data-theme=callisto]{--item-group-background:#0b1021;--item-background:#141b33;--item-background-hover:#060913;--item-hover-shadow:0 1px 3px rgba(0,204,180,0.7019607843137254),0 1px 2px rgba(0,204,180,0.7490196078431373);--primary:#00ccb4;--font-body:"Inconsolata","Georgia",sans-serif}html[data-theme=callisto],html[data-theme=thebe]{--background:#141b33;--background-darker:#060913;--font-headings:"PTMono","Courier New",monospace}html[data-theme=thebe]{--item-group-background:#0b1021;--item-background:#141b33;--item-background-hover:#060913;--item-hover-shadow:0 1px 3px rgba(150,96,236,0.7019607843137254),0 1px 2px rgba(150,96,236,0.7490196078431373);--primary:#9660ec;--item-group-outer-background:#9660ec linear-gradient(45deg,#9660ec 2%,#5f60ea 51%,#9660ec)}html[data-theme=dracula]{--font-headings:"Allerta Stencil",sans-serif;--primary:#6272a4;--background:#44475a;--background-darker:#282a36;--item-group-background:#282a36;--item-background:none;--item-background-hover:#191b22;--item-shadow:none;--item-hover-shadow:none;--settings-text-color:#98ace9;--config-settings-color:#98ace9}html[data-theme=dracula] .collapsable:nth-child(1n){background:#8be9fd}html[data-theme=dracula] .collapsable:nth-child(1n) .item{border:1px solid #8be9fd;color:#8be9fd}html[data-theme=dracula] .collapsable:nth-child(2n){background:#50fa7b}html[data-theme=dracula] .collapsable:nth-child(2n) .item{border:1px solid #50fa7b;color:#50fa7b}html[data-theme=dracula] .collapsable:nth-child(3n){background:#ffb86c}html[data-theme=dracula] .collapsable:nth-child(3n) .item{border:1px solid #ffb86c;color:#ffb86c}html[data-theme=dracula] .collapsable:nth-child(4n){background:#ff79c6}html[data-theme=dracula] .collapsable:nth-child(4n) .item{border:1px solid #ff79c6;color:#ff79c6}html[data-theme=dracula] .collapsable:nth-child(4n){background:#bd93f9}html[data-theme=dracula] .collapsable:nth-child(4n) .item{border:1px solid #bd93f9;color:#bd93f9}html[data-theme=bee]{--primary:#c3eb5c}html[data-theme=bee],html[data-theme=raspberry-jam]{--item-background:#1c2636;--item-group-background:#0b1021;--nav-link-background-color:#0b1021;--font-headings:"Sniglet",cursive}html[data-theme=raspberry-jam]{--primary:#eb2d6c;--config-code-background:#0b1021;--config-code-color:#eb2d6c}html[data-theme=tiger]{--primary:#f58233;--item-background:#1c2636;--item-group-background:#0b1021;--nav-link-background-color:#0b1021;--font-headings:"Sniglet",cursive}html[data-theme=matrix-red]{--primary:red;--outline-color:red}html[data-theme=matrix-red],html[data-theme=matrix]{--background:#000;--background-darker:#000;--curve-factor:0px;--font-body:"Cutive Mono",monospace;--font-headings:"VT323",monospace}html[data-theme=matrix]{--primary:#2bca2b;--outline-color:#2bca2b;--about-page-background:var(--background);--context-menu-secondary-color:var(--primary)}html[data-theme=matrix] .prism-editor-wrapper.my-editor{border:1px solid var(--primary)}html[data-theme=matrix] div.context-menu ul li:hover{color:var(--background)}html[data-theme=blue-purple]{--primary:#54dbf8;--background:#e5e8f5;--background-darker:#5346f3;--font-headings:"Sniglet",cursive;--dimming-factor:0.8;--curve-factor:6px;--settings-text-color:var(--background-darker);--item-text-color:var(--background-darker);--item-background:var(--white);--item-background-hover:var(--primary);--item-group-heading-text-color:var(--background-darker);--item-group-background:var(--background);--footer-text-color:var(--white);--context-menu-background:var(--white);--context-menu-color:var(--background-darker);--context-menu-secondary-color:var(--primary)}html[data-theme=blue-purple] .item{-webkit-box-shadow:none;box-shadow:none;border:1px solid var(--background-darker)}html[data-theme=blue-purple] section.filter-container form label{color:var(--primary)}html[data-theme=blue-purple] footer{color:var(--white)}html[data-theme=hacker-girl]{--background:#000;--background-darker:#000;--primary:#e435f1;--outline-color:#e435f1;--curve-factor:0px;--font-body:"Cutive Mono",monospace;--font-headings:"VT323",monospace}html[data-theme=high-contrast-light]{--background:#fff;--background-darker:#fff;--item-group-background:#fff;--item-background:#fff;--primary:#000;--outline-color:#000;--curve-factor:0px;--config-code-color:#000;--font-headings:"PTMono","Courier New",monospace}html[data-theme=high-contrast-dark]{--background:#000;--background-darker:#000;--item-group-background:#000;--primary:#fff;--outline-color:#fff;--curve-factor:0px;--font-headings:"PTMono","Courier New",monospace}html[data-theme=nord]{--primary:#d8dee9;--background:#3b4252;--background-darker:#2e3440;--item-background:#434c5e;--item-background-hover:#4c566a}html[data-theme=nord] .collapsable:nth-child(1n){background:#bf616a}html[data-theme=nord] .collapsable:nth-child(2n){background:#d08770}html[data-theme=nord] .collapsable:nth-child(3n){background:#ebcb8b}html[data-theme=nord] .collapsable:nth-child(4n){background:#a3be8c}html[data-theme=nord-frost]{--primary:#d8dee9;--background:#3b4252;--background-darker:#2e3440;--item-background:#434c5e;--item-background-hover:#4c566a}html[data-theme=nord-frost] .collapsable:nth-child(1n){background:#8fbcbb}html[data-theme=nord-frost] .collapsable:nth-child(2n){background:#88c0d0}html[data-theme=nord-frost] .collapsable:nth-child(3n){background:#81a1c1}html[data-theme=nord-frost] .collapsable:nth-child(4n){background:#5e81ac}html[data-theme=material-original]{--font-body:"Roboto",serif;--primary:#29b6f6;--settings-text-color:#01579b;--background:#e2e1e0;--background-darker:#01579b;--settings-background:#01579b;--item-group-shadow:none;--item-group-outer-background:none;--item-group-background:none;--item-background:#fff;--item-background-hover:#fff;--settings-background:#29b6f6;--search-container-background:#29b6f6;--curve-factor:2px;--curve-factor-navbar:0;--item-group-padding:5px 0 0;--item-shadow:0 1px 3px rgba(0,0,0,0.12156862745098039),0 1px 2px rgba(0,0,0,0.23921568627450981);--item-hover-shadow:0 1px 4px rgba(0,0,0,0.1607843137254902),0 2px 4px rgba(0,0,0,0.16470588235294117);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--settings-container-shadow:0 1px 3px rgba(0,0,0,0.3686274509803922),0 1px 2px rgba(0,0,0,0.5215686274509804);--welcome-popup-background:#01579b;--welcome-popup-text-color:#fff;--config-code-color:#000;--item-group-heading-text-color-hover:#01579b;--config-settings-background:#01579b;--config-settings-color:#fff;--heading-text-color:#fff;--status-check-tooltip-background:#f2f2f2;--status-check-tooltip-color:#01579b;--login-form-background:#fff;--about-page-accent:#000;--about-page-color:var(--background-darker);--about-page-background:var(--background);--context-menu-background:var(--white);--context-menu-secondary-color:var(--white)}html[data-theme=material-original] div.context-menu ul li:hover{background:var(--primary);color:var(--white)}html[data-theme=material-dark-original]{--primary:#08b0bb;--settings-text-color:#08b0bb;--background:#39434c;--background-darker:#08b0bb;--settings-background:#092b3a;--item-group-background:#333c43;--item-background:#414b55;--item-background-hover:#414b55;--settings-background:#131a1f;--search-container-background:#131a1f;--search-field-background:#39434c;--heading-text-color:#131a1f;--nav-link-text-color:#08b0bb;--nav-link-background-color:#131a1f;--nav-link-text-color-hover:#08b0bb;--nav-link-background-color-hover:rgba(19,26,31,0.7803921568627451);--nav-link-border-color-hover:transparent;--curve-factor:2px;--curve-factor-navbar:0;--item-group-padding:5px 0 0;--item-shadow:2px 2px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-hover-shadow:4px 4px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--welcome-popup-background:#131a1f;--welcome-popup-text-color:var(--primary);--config-settings-background:#131a1f;--config-settings-color:#41e2ed;--scroll-bar-color:#08b0bb;--scroll-bar-background:#131a1f;--status-check-tooltip-background:#131a1f;--status-check-tooltip-color:#08b0bb}html[data-theme=material-dark-original]::-webkit-scrollbar-thumb{border-left:1px solid #131a1f}html[data-theme=material-dark-original] div.context-menu{border:none;background:#131a1f}html[data-theme=material-dark-original] div.context-menu ul li:hover{background:#333c43}html[data-theme=colorful]{--font-headings:"Podkova",monospace;--primary:#e8eae1;--background:#0b1021;--item-background:#05070e;--item-background-hover:#0b1021;--item-group-background:transparent;--item-group-outer-background:#05070e;--item-group-heading-text-color:#e8eae1;--item-group-heading-text-color-hover:#fff}html[data-theme=colorful] .item-wrapper:nth-child(1n) .item{color:#eb5cad;border:1px solid #eb5cad}html[data-theme=colorful] .item-wrapper:nth-child(2n) .item{color:#985ceb;border:1px solid #985ceb}html[data-theme=colorful] .item-wrapper:nth-child(3n) .item{color:#5c90eb;border:1px solid #5c90eb}html[data-theme=colorful] .item-wrapper:nth-child(4n) .item{color:#5cdfeb;border:1px solid #5cdfeb}html[data-theme=colorful] .item-wrapper:nth-child(5n) .item{color:#5ceb8d;border:1px solid #5ceb8d}html[data-theme=colorful] .item-wrapper:nth-child(6n) .item{color:#afeb5c;border:1px solid #afeb5c}html[data-theme=colorful] .item-wrapper:nth-child(7n) .item{color:#ebb75c;border:1px solid #ebb75c}html[data-theme=colorful] .item-wrapper:nth-child(8n) .item{color:#eb615c;border:1px solid #eb615c}html[data-theme=colorful] .item:focus,html[data-theme=colorful] .item:hover{opacity:.85;outline:none;background:currentColor}html[data-theme=colorful] .item:focus span,html[data-theme=colorful] .item:hover span{color:#05070e}html[data-theme=colorful] .item:focus svg path,html[data-theme=colorful] .item:hover svg path{fill:#05070e}html[data-theme=colorful] .item:focus i.fab,html[data-theme=colorful] .item:focus i.fad,html[data-theme=colorful] .item:focus i.fal,html[data-theme=colorful] .item:focus i.far,html[data-theme=colorful] .item:focus i.fas,html[data-theme=colorful] .item:hover i.fab,html[data-theme=colorful] .item:hover i.fad,html[data-theme=colorful] .item:hover i.fal,html[data-theme=colorful] .item:hover i.far,html[data-theme=colorful] .item:hover i.fas{color:#05070e}html[data-theme=colorful] h1,html[data-theme=colorful] h2,html[data-theme=colorful] h3,html[data-theme=colorful] h4{font-weight:400}html[data-theme=colorful] div.context-menu{border-color:var(--primary)}html[data-theme=minimal-dark],html[data-theme=minimal-light],html[data-theme=vaporware]{--font-body:"Courier New",monospace;--font-headings:"Courier New",monospace;--footer-height:94px}html[data-theme=minimal-dark] .item.size-medium .tile-title,html[data-theme=minimal-light] .item.size-medium .tile-title,html[data-theme=vaporware] .item.size-medium .tile-title{max-width:100px}html[data-theme=minimal-dark] label.lbl-toggle h3,html[data-theme=minimal-light] label.lbl-toggle h3,html[data-theme=vaporware] label.lbl-toggle h3{font-size:1.8rem}html[data-theme=minimal-dark] .tile-title span.text,html[data-theme=minimal-light] .tile-title span.text,html[data-theme=vaporware] .tile-title span.text{font-size:1.1rem;font-weight:700}html[data-theme=minimal-dark] header,html[data-theme=minimal-light] header,html[data-theme=vaporware] header{padding:.1rem .5rem}html[data-theme=minimal-dark] header .page-titles h1,html[data-theme=minimal-light] header .page-titles h1,html[data-theme=vaporware] header .page-titles h1{font-size:1.25rem}html[data-theme=minimal-dark] header .page-titles span.subtitle,html[data-theme=minimal-light] header .page-titles span.subtitle,html[data-theme=vaporware] header .page-titles span.subtitle{font-size:.8rem}html[data-theme=minimal-dark] header .nav .nav-item,html[data-theme=minimal-light] header .nav .nav-item,html[data-theme=vaporware] header .nav .nav-item{padding:.2rem .4rem;-webkit-box-shadow:none;box-shadow:none}html[data-theme=minimal-dark] .item-group-container.orientation-horizontal .collapsable,html[data-theme=minimal-light] .item-group-container.orientation-horizontal .collapsable,html[data-theme=vaporware] .item-group-container.orientation-horizontal .collapsable{border-bottom:1px dashed hsla(0,0%,100%,.2196078431372549);border-radius:0}html[data-theme=material-dark],html[data-theme=material]{--font-body:"Raleway",serif;--font-headings:"Francois One",serif;--curve-factor:4px;--curve-factor-navbar:8px;--about-page-background:var(--background);--about-page-color:var(--primary)}html[data-theme=material-dark] .collapsable,html[data-theme=material] .collapsable{margin:0;padding:0}html[data-theme=material-dark] .item:not(.size-small),html[data-theme=material] .item:not(.size-small){display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left;overflow:hidden;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:15rem;min-width:15rem;max-height:6rem;margin:.2rem;padding:.5rem}html[data-theme=material-dark] .item:not(.size-small) img,html[data-theme=material] .item:not(.size-small) img{padding:.1rem .25rem}html[data-theme=material-dark] .item:not(.size-small) .tile-title,html[data-theme=material] .item:not(.size-small) .tile-title{height:auto;padding:.1rem .25rem}html[data-theme=material-dark] .item:not(.size-small) .tile-title span.text,html[data-theme=material] .item:not(.size-small) .tile-title span.text{position:relative;font-weight:700;font-size:1.1rem;width:100%}html[data-theme=material-dark] .item:not(.size-small) .tile-title p.description,html[data-theme=material] .item:not(.size-small) .tile-title p.description{display:block;margin:0;white-space:pre-wrap;font-size:.9em;text-overflow:ellipsis}html[data-theme=material-dark] .item:not(.size-small).size-large,html[data-theme=material] .item:not(.size-small).size-large{width:18rem;min-width:18rem;max-height:5rem;margin:.4rem}html[data-theme=material-dark] .item:not(.size-small).size-large img,html[data-theme=material] .item:not(.size-small).size-large img{padding:.2rem .5rem}html[data-theme=material-dark] .tooltip.item-description-tooltip,html[data-theme=material] .tooltip.item-description-tooltip{display:none!important}html[data-theme=material-dark] .orientation-horizontal,html[data-theme=material] .orientation-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:599px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(3,1fr)}}@media(min-width:1150px)and (max-width:1779px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(4,1fr)}}@media(min-width:1780px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(5,1fr)}}@media(min-width:2800px){html[data-theme=material-dark] .orientation-horizontal .there-are-items,html[data-theme=material] .orientation-horizontal .there-are-items{grid-template-columns:repeat(6,1fr)}}html[data-theme=material-dark] a.item,html[data-theme=material] a.item{position:relative;overflow:hidden;-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s}html[data-theme=material-dark] a.item div,html[data-theme=material] a.item div{-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s}html[data-theme=material-dark] a.item .overflow-dots,html[data-theme=material] a.item .overflow-dots{display:none}html[data-theme=material-dark] a.item:before,html[data-theme=material] a.item:before{content:"";font-family:FontAwesome;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;top:0;left:0;height:100%;width:1rem;background:rgba(204,211,221,.5019607843137255);border-radius:0 60% 60% 0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-transition:all .2s linear 0s;transition:all .2s linear 0s;padding:0 .2rem}html[data-theme=material-dark] a.item:focus-within div.bounce,html[data-theme=material-dark] a.item:hover div.bounce,html[data-theme=material] a.item:focus-within div.bounce,html[data-theme=material] a.item:hover div.bounce{text-indent:1rem}html[data-theme=material-dark] a.item:focus-within:before,html[data-theme=material-dark] a.item:hover:before,html[data-theme=material] a.item:focus-within:before,html[data-theme=material] a.item:hover:before{-webkit-transform:scale(1);transform:scale(1);text-indent:0}html[data-theme=material-dark] a.item:focus-within .opening-method-icon,html[data-theme=material-dark] a.item:hover .opening-method-icon,html[data-theme=material] a.item:focus-within .opening-method-icon,html[data-theme=material] a.item:hover .opening-method-icon{display:none}html[data-theme=material-dark] a.item:active,html[data-theme=material] a.item:active{background:hsla(0,0%,78%,.32941176470588235)}html[data-theme=material-dark] a.item.size-small,html[data-theme=material] a.item.size-small{padding-left:.5rem;min-width:11rem}html[data-theme=material-dark] a.item.size-large:before,html[data-theme=material] a.item.size-large:before{width:1.5rem}html[data-theme=material-dark] a.item.size-large:hover div:nth-child(2),html[data-theme=material] a.item.size-large:hover div:nth-child(2){text-indent:1.5rem}html[data-theme=material]{--primary:#363636;--background:#f5f5f5;--background-darker:#4285f4;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:#fff;--item-background-hover:#fff;--item-shadow:0 1px 3px rgba(0,0,0,0.12156862745098039),0 1px 2px rgba(0,0,0,0.23921568627450981);--item-hover-shadow:0 1px 4px rgba(0,0,0,0.1607843137254902),0 2px 4px rgba(0,0,0,0.16470588235294117);--item-text-color:#363636;--item-group-heading-text-color-hover:#363636;--item-icon-transform-hover:none;--nav-link-background-color:#0c4eba;--nav-link-text-color:#fff;--nav-link-border-color:#0c4eba;--settings-text-color:#363636;--config-code-color:#363636;--config-settings-background:#fff;--config-settings-color:#473f3f;--heading-text-color:#fff;--curve-factor:4px;--curve-factor-navbar:8px;--search-container-background:#4285f4;--welcome-popup-text-color:#f5f5f5;--footer-text-color:hsla(0,0%,96.1%,0.8);--context-menu-secondary-color:#f5f5f5}html[data-theme=material] header{background:#4285f4;color:#fff}html[data-theme=material] header .page-titles span.subtitle{text-shadow:none}html[data-theme=material] footer{opacity:1;color:#fff}html[data-theme=material] section.filter-container form label{color:#fff}html[data-theme=material] .prism-editor-wrapper{background:#f5f5f5}html[data-theme=material] .item:focus{outline-color:rgba(66,133,244,.8)}html[data-theme=material] div.context-menu{border:none;background:var(--white)}html[data-theme=material] div.context-menu ul li:hover svg path{fill:var(--background-darker)}html[data-theme=material-dark]{--primary:#08b0bb;--background:#313941;--background-darker:#08b0bb;--settings-background:#092b3a;--settings-text-color:#08b0bb;--item-group-background:none;--item-group-outer-background:none;--item-group-shadow:none;--item-group-padding:5px 0 0;--item-group-heading-text-color:#e0e0e0;--item-group-heading-text-color-hover:#08b0bb;--item-text-color:#e0e0e0;--item-shadow:2px 2px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-hover-shadow:4px 4px 3px rgba(0,0,0,0.5098039215686274),0 1px 10px rgba(0,0,0,0.25098039215686274);--item-icon-transform:drop-shadow(1px 2px 1px var(--transparent-30)) saturate(0.65);--item-icon-transform-hover:drop-shadow(1px 3px 2px var(--transparent-30)) saturate(2);--item-background:#414b55;--item-background-hover:#414b55;--settings-background:#131a1f;--search-container-background:#131a1f;--search-field-background:#39434c;--heading-text-color:#131a1f;--nav-link-text-color:#08b0bb;--nav-link-background-color:#131a1f;--nav-link-text-color-hover:#08b0bb;--nav-link-background-color-hover:rgba(19,26,31,0.7803921568627451);--nav-link-border-color-hover:transparent;--curve-factor:2px;--curve-factor-navbar:0;--welcome-popup-background:#131a1f;--welcome-popup-text-color:var(--primary);--config-settings-background:#131a1f;--config-settings-color:#41e2ed;--scroll-bar-color:#08b0bb;--scroll-bar-background:#131a1f;--status-check-tooltip-color:#131a1f;--login-form-background-secondary:#131a1f}html[data-theme=material-dark]::-webkit-scrollbar-thumb{border-left:1px solid #131a1f}html[data-theme=material-dark] .item:active,html[data-theme=material-dark] .item:before{background:#131a1f!important}html[data-theme=material-dark] div.context-menu{border:none;background:var(--background)}html[data-theme=material-dark] div.context-menu ul li:hover{background:#131a1f}html[data-theme=minimal-light]{--primary:#a5a5a5;--background:#fff;--background-darker:#14171e;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:none;--item-background-hover:#f2f2f2;--item-shadow:none;--item-hover-shadow:none;--item-text-color:#101931;--item-group-heading-text-color-hover:#101931;--settings-text-color:#101931;--config-code-color:#101931;--nav-link-background-color:none;--search-container-background:#fff;--curve-factor:4px;--curve-factor-navbar:8px;--status-check-tooltip-background:#f2f2f2;--status-check-tooltip-color:#000;--login-form-color:#101931;--about-page-background:var(--background);--about-page-color:var(--background-darker);--context-menu-color:var(--background-darker);--context-menu-secondary-color:var(--primary)}html[data-theme=minimal-light] section.filter-container{background:#fff;border-bottom:1px dashed rgba(0,0,0,.2196078431372549)}html[data-theme=minimal-light] section.filter-container input#filter-tiles{border:1px solid #101931}html[data-theme=minimal-dark]{--primary:#a5a5a5;--background:#14171e;--background-darker:#090b0e;--item-group-outer-background:none;--item-group-shadow:none;--item-group-background:none;--item-background:none;--item-background-hover:#090b0e;--item-shadow:none;--item-hover-shadow:none;--item-text-color:#fff;--item-group-heading-text-color-hover:#fff;--settings-text-color:#fff;--config-code-color:#fff;--nav-link-background-color:none;--search-container-background:#14171e;--curve-factor:4px;--curve-factor-navbar:8px;--item-group-heading-text-color:#fff;--item-group-heading-text-color-hover:hsla(0,0%,100%,0.7490196078431373);--about-page-background:var(--background);--about-page-color:var(--primary)}html[data-theme=minimal-dark] label.lbl-toggle h3{font-size:1.8rem}html[data-theme=minimal-dark] section.filter-container{background:#14171e;border-bottom:1px dashed hsla(0,0%,100%,.2196078431372549)}html[data-theme=minimal-dark] section.filter-container input#filter-tiles{border:1px solid #fff}html[data-theme=minimal-dark] div.context-menu{border-color:var(--primary)}html[data-theme=vaporware]{--primary:#09bfe6;--background:#100e2c;--background-darker:#6c27ea;--background-darker:linear-gradient(0deg,#6c27ea,#844ceb 80%);--settings-text-color:#6c27ea;--item-group-outer-background:#096de6;--item-group-outer-background:linear-gradient(45deg,#096de6,#0993e6 50%,#096de6);--item-group-background:#190e2c;--item-group-heading-text-color:var(--white);--item-group-heading-text-color-hover:#5118b9;--item-text-color:#5118b9;--item-background:#09bfe6;--item-background-hover:#9967f6;--footer-text-color:var(--white);--item-shadow:none;--curve-factor:2px;--curve-factor-navbar:6px;--login-form-color:#09bfe6;--config-settings-background:#100e2c}html[data-theme=vaporware] .home{background:-webkit-gradient(linear,left top,left bottom,color-stop(10%,#100e2c),color-stop(40%,#1b184f),to(#100e2c));background:linear-gradient(180deg,#100e2c 10%,#1b184f 40%,#100e2c)}html[data-theme=vaporware] div.item-group-container{gap:.3rem;margin:1rem auto}html[data-theme=vaporware] div.collapsable{margin:.2rem;padding:.2rem}html[data-theme=vaporware] div.content-inner{padding:0!important}html[data-theme=vaporware] a.item{margin:.1rem;border:0}html[data-theme=vaporware] a.item.size-medium{min-height:80px}html[data-theme=vaporware] section.filter-container{background:-webkit-gradient(linear,left bottom,left top,color-stop(25%,var(--background)),to(#6c27ea));background:linear-gradient(0deg,var(--background) 25%,#6c27ea)}html[data-theme=vaporware] section.filter-container form{background:#6c27ea;height:2.5rem}html[data-theme=vaporware] section.filter-container form label,html[data-theme=vaporware] section.filter-container i.clear-search{color:#100e2c;border-color:#100e2c;font-weight:700}html[data-theme=vaporware] .tile-title span.text{font-weight:400}html[data-theme=vaporware] label.lbl-toggle h3{font-size:1.4rem}html[data-theme=vaporware] footer{color:var(--white)}html[data-theme=vaporware] a.item{background:linear-gradient(45deg,#09bfe6,#09bfe6 80%,#09cbe6)}html[data-theme=vaporware] a.item:hover{background:#844ceb;color:#09bfe6}html[data-theme=vaporware] div.login-page{background:url(https://i.ibb.co/JqcJcGK/vaporwave-sunset-wallpaper.jpg);background-size:cover}html[data-theme=cyberpunk]{--pink:#ff2a6d;--pale:#d1f7ff;--aqua:#05d9e8;--teal:#005678;--blue:#01012b;--gold:#ebeb0f;--primary:var(--gold);--background:var(--blue);--background-darker:var(--pink);--heading-text-color:var(--blue);--nav-link-background-color-hover:var(--blue);--nav-link-text-color-hover:var(--pink);--nav-link-border-color-hover:var(--blue);--config-settings-background:var(--blue);--config-settings-color:var(--pink);--search-label-color:var(--blue);--item-group-background:var(--blue);--item-text-color:var(--pale);--scroll-bar-color:var(--aqua);--scroll-bar-background:var(--teal);--footer-background:var(--aqua);--font-headings:"Audiowide",cursive}@font-face{font-family:Inconsolata;src:url(../fonts/Inconsolata-Light.c8b568b1.ttf)}@font-face{font-family:Raleway;src:url(../fonts/Raleway-Variable.3b5635ac.ttf)}@font-face{font-family:PTMono;src:url(../fonts/PTMono-Regular.0c6b8e07.ttf)}html{--font-body:"Raleway","Trebuchet MS",sans-serif;--font-headings:"Inconsolata","Georgia",sans-serif;--font-monospace:"PTMono","Courier New",monospace;font-size:1rem;font-weight:400;text-decoration:none;background:transparent;vertical-align:baseline}html .text,html a,html body,html button,html div,html input,html label,html p,html span{font-family:var(--font-body)}html .heading,html h1,html h2,html h3,html h4,html h5{font-family:var(--font-headings)}html .jsoneditor *,html .mono *,html code,html pre,html pre *{font-family:var(--font-monospace);font-weight:400}@font-face{font-family:Allerta Stencil;src:url(/fonts/AllertaStencil-Regular.ttf)}@font-face{font-family:Cutive Mono;src:url(/fonts/CutiveMono-Regular.ttf)}@font-face{font-family:Francois One;src:url(/fonts/FrancoisOne-Regular.ttf)}@font-face{font-family:Podkova;src:url(/fonts/Podkova-Medium.ttf)}@font-face{font-family:Roboto;src:url(/fonts/Roboto-Light.ttf)}@font-face{font-family:Sniglet;src:url(/fonts/Sniglet-Regular.ttf)}@font-face{font-family:VT323;src:url(/fonts/VT323-Regular.ttf)}@font-face{font-family:Audiowide;src:url(/fonts/Audiowide-Regular.ttf)}body{background:var(--background);margin:0;padding:0}#app .footer{text-align:center}section[data-v-08ec96b4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left bottom,left top,from(var(--background)),to(var(--background-darker)));background:linear-gradient(0deg,var(--background),var(--background-darker))}form[data-v-08ec96b4],section[data-v-08ec96b4]{display:-webkit-box;display:-ms-flexbox;display:flex}form[data-v-08ec96b4]{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-radius:0 0 var(--curve-factor-navbar) 0;padding:0 .2rem .2rem 0;background:var(--search-container-background)}form label[data-v-08ec96b4]{color:var(--search-label-color);margin:.5rem;display:inline}form input[data-v-08ec96b4]{display:inline-block;width:200px;height:1rem;padding:.5rem;margin:.5rem;outline:none;border:none;border-radius:var(--curve-factor);background:var(--search-field-background);color:var(--settings-text-color);border:1px solid var(--outline-color)}form input[data-v-08ec96b4]:focus{border-color:var(--settings-text-color);opacity:var(--dimming-factor)}form .clear-search[data-v-08ec96b4]{color:var(--settings-text-color);padding:0 .4rem;font-style:normal;opacity:var(--dimming-factor);border-radius:50px;cursor:pointer;right:.5rem;top:1rem;border:1px solid var(--settings-text-color);font-size:1rem;margin:.5rem}form .clear-search[data-v-08ec96b4]:hover{opacity:1;background:var(--background-darker)}@media(min-width:600px)and (max-width:779px){form[data-v-08ec96b4]{display:block;text-align:center}}@media(max-width:599px){form[data-v-08ec96b4]{-webkit-box-flex:1;-ms-flex:1;flex:1;border-radius:0;text-align:center;padding:.25rem 0;display:block}}.json-editor-outer{text-align:center}p.note{font-size:.8rem;color:var(--medium-grey);margin:.2rem}p.errors{text-align:left;margin:.5rem auto;width:95%}p.errors ul{list-style:none;padding:0;margin:0}p.errors ul li.type-validation{color:var(--warning)}p.errors ul li.type-validation:before{content:"⚠️"}p.errors ul li.type-parse{color:var(--danger)}p.errors ul li.type-parse:before{content:"❌"}p.errors ul li.type-valid{color:var(--success)}p.errors ul li.type-valid:before{content:"✅"}p.response-output{font-size:.8rem;text-align:left;margin:.5rem auto;width:95%;color:var(--config-settings-color)}p.response-output.status-success{color:var(--success)}p.response-output.status-fail{color:var(--danger)}button.save-button.err{opacity:.8;cursor:default}button.save-button.err:hover{background:var(--config-settings-color);color:var(--config-settings-background);border-color:var(--danger)}div.save-options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:.5rem;margin-bottom:.5rem;background:var(--code-editor-background);color:var(--code-editor-color);border-top:2px solid var(--config-settings-background)}@media(max-width:779px){div.save-options{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media(min-width:780px){div.save-options .option{margin-left:2rem}}div.save-options span.save-option-title{cursor:default}div.save-options input.radio-option,div.save-options label.save-option-label{cursor:pointer}.jsoneditor,.jsoneditor-menu{border-color:var(--primary)}.jsoneditor{border-bottom:none}.jsoneditor-menu,.pico-modal-header{background:var(--config-settings-background)!important;color:var(--config-settings-color)!important}.jsoneditor-contextmenu .jsoneditor-menu li button{background:var(--config-settings-background);color:var(--config-settings-color)}.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected,.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:focus,.jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:hover{background:var(--config-settings-color);color:var(--config-settings-background)}div.jsoneditor-search div.jsoneditor-frame{border-radius:var(--curve-factor)}.jsoneditor-poweredBy{display:none}.jsoneditor-tree,pre.jsoneditor-preview{background:var(--code-editor-background);text-align:left}.jsoneditor-jmespath-label{color:var(--config-settings-color)!important}.jsoneditor-jmespath-block.jsoneditor-modal-actions input{background:var(--config-settings-color);color:var(--config-settings-background);border:1px solid var(--config-settings-background);border-radius:var(--curve-factor)}.jsoneditor-jmespath-block.jsoneditor-modal-actions input:hover{background:var(--config-settings-background);color:var(--config-settings-color);border-color:var(--config-settings-color)}div.jsoneditor-jmespath-block textarea#query,textarea.jsoneditor-transform-preview{border:1px solid var(--config-settings-color);border-radius:var(--curve-factor)}button.save-button{padding:.5rem 1rem;margin:.25rem auto;font-size:1.2rem;background:var(--config-settings-color);color:var(--config-settings-background);border:1px solid var(--config-settings-background);border-radius:var(--curve-factor);cursor:pointer}button.save-button:hover{background:var(--config-settings-background);color:var(--config-settings-color);border-color:var(--config-settings-color)}.prism-editor-wrapper{min-height:200px;border:1px solid var(--transparent-70);border-radius:var(--curve-factor);width:90%;margin:.5rem auto;background:var(--transparent-50)}p.quick-note{text-align:left;width:80%;margin:1rem auto;padding:.5rem;border-radius:var(--curve-factor)}button[data-v-ec408f00]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem .75rem;margin:.5rem auto;font-size:1.2rem;min-width:10rem;cursor:pointer}button svg[data-v-ec408f00]{width:1.2rem;margin:0 .5rem}button svg g[data-v-ec408f00],button svg path[data-v-ec408f00]{fill:currentColor}button.disallowed[data-v-ec408f00]{cursor:not-allowed!important}button[data-v-ec408f00]{color:var(--primary);background:var(--background);border:1px solid var(--primary);border-radius:var(--curve-factor)}button[data-v-ec408f00]:hover:not(:disabled){color:var(--background);background:var(--primary);border-color:var(--background)}button[data-v-ec408f00]:disabled{cursor:progress;opacity:var(--dimming-factor)}.rebuild-app-container[data-v-4d488482]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;padding:1rem;overflow:auto}.rebuild-app-container[data-v-4d488482],.rebuild-app-container button[data-v-4d488482]{color:var(--config-settings-color);background:var(--config-settings-background)}.rebuild-app-container p.disallow-rebuild-msg[data-v-4d488482]{color:var(--danger);font-size:1.2rem;margin:.2rem auto;text-align:center}.rebuild-app-container h3.rebuild-app-title[data-v-4d488482]{text-align:center;font-size:2rem;margin:1rem}.rebuild-app-container div.loader-info[data-v-4d488482]{margin:.2rem auto;text-align:center}.rebuild-app-container div.loader-info svg.loader[data-v-4d488482]{width:100px}.rebuild-app-container div.loader-info p.loading-message[data-v-4d488482]{margin:0;font-size:.8rem;opacity:var(--dimming-factor);-webkit-animation:fadeIn-data-v-4d488482 3s;animation:fadeIn-data-v-4d488482 3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;opacity:0}@-webkit-keyframes fadeIn-data-v-4d488482{90%{opacity:0}95%{opacity:.8}to{opacity:1}}@keyframes fadeIn-data-v-4d488482{90%{opacity:0}95%{opacity:.8}to{opacity:1}}.rebuild-app-container div.rebuild-response[data-v-4d488482]{width:80%;margin:0 auto 4rem auto;text-align:center}.rebuild-app-container div.rebuild-response p.response-status[data-v-4d488482]{font-size:1rem;text-align:left}.rebuild-app-container div.rebuild-response p.response-status.success[data-v-4d488482]{color:var(--success)}.rebuild-app-container div.rebuild-response p.response-status.failure[data-v-4d488482]{color:var(--danger)}.rebuild-app-container div.rebuild-response pre.output[data-v-4d488482]{padding:1rem;font-size:.75rem;border-radius:var(--curve-factor-small);text-align:left;color:var(--white);background:var(--black);white-space:pre-wrap}.rebuild-app-container div.rebuild-response p.rebuild-message[data-v-4d488482]{font-size:1rem;text-align:left;margin:.8rem 0;color:var(--config-settings-color)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar-track,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-3cfec9e9]::-webkit-scrollbar-thumb,.tab-item[data-v-3cfec9e9]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-3cfec9e9] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-3cfec9e9] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-3cfec9e9] ::-moz-selection,.highlight[data-v-3cfec9e9] ::-ms-selection,.highlight[data-v-3cfec9e9] ::-o-selection,.highlight[data-v-3cfec9e9] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-3cfec9e9]{font-weight:700}.light[data-v-3cfec9e9]{font-weight:lighter}.text-left[data-v-3cfec9e9]{text-align:left}.text-right[data-v-3cfec9e9]{text-align:right}.text-center[data-v-3cfec9e9]{text-align:center}.horizontal-center[data-v-3cfec9e9]{margin:0 auto}.border-box[data-v-3cfec9e9]{-webkit-box-sizing:border-box;box-sizing:border-box}pre[data-v-3cfec9e9]{color:var(--config-code-color);font-weight:700!important;padding:.5rem 1rem}a.config-button[data-v-3cfec9e9],button.config-button[data-v-3cfec9e9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5rem 1rem;margin:.25rem auto;font-size:1.2rem;background:var(--config-settings-background);color:var(--config-settings-color);border:1px solid var(--config-settings-color);border-radius:var(--curve-factor);text-decoration:none;cursor:pointer;margin:.5rem auto;width:18rem}a.config-button svg.button-icon[data-v-3cfec9e9],button.config-button svg.button-icon[data-v-3cfec9e9]{width:1rem;height:1rem;padding:.2rem;margin-right:.5rem}a.config-button svg.button-icon path[data-v-3cfec9e9],button.config-button svg.button-icon path[data-v-3cfec9e9]{fill:var(--config-settings-color)}a.config-button[data-v-3cfec9e9]:hover,button.config-button[data-v-3cfec9e9]:hover{background:var(--config-settings-color);color:var(--config-settings-background)}a.config-button:hover svg path[data-v-3cfec9e9],button.config-button:hover svg path[data-v-3cfec9e9]{fill:var(--config-settings-background)}p.app-version[data-v-3cfec9e9]{margin:.5rem auto;font-size:1rem;color:var(--transparent-white-50)}div.code-container[data-v-3cfec9e9]{background:var(--config-code-background)}div.code-container #conf-yaml span[data-v-3cfec9e9]{font-family:var(--font-monospace),monospace!important}div.code-container #conf-yaml span.hljs-attr[data-v-3cfec9e9]{font-weight:700!important}div.code-container .yaml-action-buttons[data-v-3cfec9e9]{position:absolute;top:.5rem;right:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border:1px dashed;padding:.5rem;border-radius:4px}div.code-container .yaml-action-buttons h2[data-v-3cfec9e9]{margin:0;text-align:center;color:var(--config-code-color)}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]{padding:.25rem .5rem;font-size:1rem;color:var(--config-code-color);border-radius:var(--curve-factor);cursor:pointer;text-decoration:underline;border:1px solid var(--config-code-background)}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]:hover{color:var(--config-code-color);border-color:var(--config-code-color);text-decoration:none}div.code-container .yaml-action-buttons a.yaml-button[data-v-3cfec9e9]:active{color:var(--config-code-background);background-color:var(--config-settings-color);text-decoration:none}.tab-item[data-v-3cfec9e9]{overflow-y:auto;background:var(--config-settings-background)}.tab-item.main-tab[data-v-3cfec9e9]{min-height:500px}a.hyperlink-wrapper[data-v-3cfec9e9]{margin:0 auto;text-decoration:none}.main-options-container[data-v-3cfec9e9]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:2rem;background:var(--config-settings-background);height:calc(100% - 2rem)}.main-options-container h2[data-v-3cfec9e9]{margin:0 auto 1rem auto;color:var(--config-settings-color)}.config-note[data-v-3cfec9e9]{width:80%;position:absolute;bottom:1rem;left:10%;margin:.5rem auto;padding:.5rem .75rem;border:1px dashed var(--config-settings-color);border-radius:var(--curve-factor);text-align:left;opacity:var(--dimming-factor);color:var(--config-settings-color);background:var(--config-settings-background);cursor:default;display:none}.config-note p.sub-title[data-v-3cfec9e9]{font-weight:700;margin:0;display:inline}.config-note[data-v-3cfec9e9]:hover{opacity:1}@media(min-width:780px){.config-note[data-v-3cfec9e9]{display:block}}p.small-screen-note[data-v-3cfec9e9]{margin:.5rem auto;padding:0 .5rem;text-align:center;opacity:.8;font-size:.9rem;color:var(--warning)}@media(max-width:599px){p.small-screen-note[data-v-3cfec9e9]{display:block!important}}.tab__pagination{background:var(--config-settings-background)}.tab__pagination,.tab__pagination .tab__nav__items .tab__nav__item span{color:var(--config-settings-color)}.tab__pagination .tab__nav__items .tab__nav__item:hover{background:var(--config-settings-color)!important}.tab__pagination .tab__nav__items .tab__nav__item:hover span{color:var(--config-settings-background)}.tab__pagination .tab__nav__items .tab__nav__item.active span{font-weight:700;color:var(--config-settings-color)!important}.tab__pagination .tab__nav__items .tab__nav__item.active{border-bottom:2px solid var(--config-settings-color)}.tab__pagination hr.tab__slider{background:var(--config-settings-color)}#conf-yaml .hljs-attr{color:#9c03f5}div.input-container[data-v-5df13ed2]{margin:.25rem auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}div.input-container.vertical[data-v-5df13ed2]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}div.input-container.horizontal[data-v-5df13ed2]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}div.input-container.horizontal label[data-v-5df13ed2]{margin-right:.25rem}div.input-container input[data-v-5df13ed2]{min-width:10rem;padding:.5rem .75rem;margin:.5rem auto;font-size:1.2rem;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--primary);background:var(--background);border:1px solid var(--primary);border-radius:var(--curve-factor)}div.input-container input[data-v-5df13ed2]:focus{-webkit-box-shadow:1px 1px 6px var(--config-settings-color);box-shadow:1px 1px 6px var(--config-settings-color);outline:none}.scroll-bar[data-v-763657f4]::-webkit-scrollbar,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-763657f4]::-webkit-scrollbar-track,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-763657f4]::-webkit-scrollbar-thumb,div.cloud-backup-restore-wrapper[data-v-763657f4]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-763657f4] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-763657f4] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-763657f4] ::-moz-selection,.highlight[data-v-763657f4] ::-ms-selection,.highlight[data-v-763657f4] ::-o-selection,.highlight[data-v-763657f4] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-763657f4]{font-weight:700}.light[data-v-763657f4]{font-weight:lighter}.text-left[data-v-763657f4]{text-align:left}.text-right[data-v-763657f4]{text-align:right}.text-center[data-v-763657f4]{text-align:center}.horizontal-center[data-v-763657f4]{margin:0 auto}.border-box[data-v-763657f4]{-webkit-box-sizing:border-box;box-sizing:border-box}div.cloud-backup-restore-wrapper[data-v-763657f4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;text-align:center;overflow:auto;height:100%;background:var(--config-settings-background);color:var(--config-settings-color)}div.cloud-backup-restore-wrapper .section[data-v-763657f4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:0 auto 1rem auto;padding:0 .5rem 1rem .5rem}div.cloud-backup-restore-wrapper .section[data-v-763657f4]:first-child{border-bottom:1px dashed var(--config-settings-color)}div.cloud-backup-restore-wrapper .section.intro[data-v-763657f4]{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}div.cloud-backup-restore-wrapper .section.intro a[data-v-763657f4]{color:var(--config-settings-color)}div.cloud-backup-restore-wrapper h2[data-v-763657f4]{font-size:2rem}div.cloud-backup-restore-wrapper h3[data-v-763657f4]{font-size:1.6rem}div.cloud-backup-restore-wrapper p.intro[data-v-763657f4]{text-align:left;font-size:1rem;margin:.25rem;padding:.25rem}div.results-view[data-v-763657f4]{width:16rem;margin:.5rem auto;padding:.5rem .75rem;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px dashed var(--config-settings-color);border-radius:var(--curve-factor);text-align:left}div.results-view .backup-id-label[data-v-763657f4],div.results-view .backup-id-value[data-v-763657f4]{display:inline;font-size:1rem;margin-right:.5rem}div.results-view .backup-id-note[data-v-763657f4]{font-size:.8rem;display:block;opacity:.8;margin-top:.5rem}button[data-v-763657f4],input[data-v-763657f4]{color:var(--config-settings-color);border:1px solid var(--config-settings-color);background:none;width:16rem}input[data-v-763657f4]:focus{-webkit-box-shadow:1px 1px 6px var(--config-settings-color);box-shadow:1px 1px 6px var(--config-settings-color)}button[data-v-763657f4]:hover{color:var(--config-settings-background);border:1px solid var(--config-settings-background);background:var(--config-settings-color)}h2[data-v-763657f4],h3[data-v-763657f4]{margin:1rem}.config-options[data-v-383db9de]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:var(--settings-text-color)}.config-options svg[data-v-383db9de]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.config-options svg path[data-v-383db9de]{fill:var(--settings-text-color)}.config-options svg.selected[data-v-383db9de],.config-options svg[data-v-383db9de]:hover{background:var(--settings-text-color)}.config-options svg.selected path[data-v-383db9de],.config-options svg:hover path[data-v-383db9de]{fill:var(--background)}.v-select{position:relative;font-family:inherit}.v-select,.v-select *{-webkit-box-sizing:border-box;box-sizing:border-box}@-webkit-keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;-webkit-transition:opacity .15s cubic-bezier(1,.5,.8,1);transition:opacity .15s cubic-bezier(1,.5,.8,1)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__search,.vs--disabled .vs__selected{cursor:not-allowed;background-color:#f8f8f8}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 0 4px 0;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal}.vs__dropdown-toggle,.vs__selected-options{display:-webkit-box;display:-ms-flexbox;display:flex}.vs__selected-options{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px 6px 0 3px}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:rgba(60,60,60,.5);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855);transition:transform .15s cubic-bezier(1,-.115,.975,.855),-webkit-transform .15s cubic-bezier(1,-.115,.975,.855);-webkit-transition-timing-function:cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855)}.vs--open .vs__open-indicator{-webkit-transform:rotate(180deg) scale(1);transform:rotate(180deg) scale(1)}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:rgba(60,60,60,.5);padding:0;border:0;background-color:transparent;cursor:pointer;margin-right:8px}.vs__dropdown-menu{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;position:absolute;top:calc(100% - 1px);left:0;z-index:1000;padding:5px 0;margin:0;width:100%;max-height:350px;min-width:160px;overflow-y:auto;-webkit-box-shadow:0 3px 6px 0 rgba(0,0,0,.15);box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border:1px solid rgba(60,60,60,.26);border-top-style:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.vs__no-options{text-align:center}.vs__dropdown-option{line-height:1.42857143;display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.vs__dropdown-option:hover{cursor:pointer}.vs__dropdown-option--highlight{background:#5897fb;color:#fff}.vs__dropdown-option--disabled{background:inherit;color:rgba(60,60,60,.5)}.vs__dropdown-option--disabled:hover{cursor:inherit}.vs__selected{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#f0f0f0;border:1px solid rgba(60,60,60,.26);border-radius:4px;color:#333;line-height:1.4;margin:4px 2px 0 2px;padding:0 .25em;z-index:0}.vs__deselect{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-left:4px;padding:0;border:0;cursor:pointer;background:none;fill:rgba(60,60,60,.5);text-shadow:0 1px 0 #fff}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--open .vs__selected{position:absolute;opacity:.4}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;line-height:1.4;font-size:1em;border:1px solid transparent;border-left:none;outline:none;margin:4px 0 0 0;padding:0 7px;background:none;-webkit-box-shadow:none;box-shadow:none;width:0;max-width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;z-index:1}.vs__search::-webkit-input-placeholder{color:inherit}.vs__search::-moz-placeholder{color:inherit}.vs__search:-ms-input-placeholder{color:inherit}.vs__search::-ms-input-placeholder{color:inherit}.vs__search::placeholder{color:inherit}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search:hover{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{-ms-flex-item-align:center;align-self:center;opacity:0;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid hsla(0,0%,39.2%,.1);border-right:.9em solid hsla(0,0%,39.2%,.1);border-bottom:.9em solid hsla(0,0%,39.2%,.1);border-left:.9em solid rgba(60,60,60,.45);-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-animation:vSelectSpinner 1.1s linear infinite;animation:vSelectSpinner 1.1s linear infinite;-webkit-transition:opacity .1s;transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;width:5em;height:5em}.vs--loading .vs__spinner{opacity:1}.theme-dropdown div.vs__dropdown-toggle{border-color:var(--settings-text-color);border-radius:var(--curve-factor);min-width:10rem;height:1.8rem;font-size:.85rem;cursor:pointer}.theme-dropdown li.vs__dropdown-option,.theme-dropdown span.vs__selected{color:var(--settings-text-color);text-transform:capitalize}.theme-dropdown svg.vs__open-indicator{fill:var(--settings-text-color)}.theme-dropdown ul.vs__dropdown-menu{width:auto;background:var(--background);z-index:5}.theme-dropdown li.vs__dropdown-option--highlight{background:var(--settings-text-color);color:var(--background)}.theme-dropdown button.vs__clear{display:none}.theme-selector-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;height:100%}.theme-selector-section span.theme-label{font-size:1rem;color:var(--settings-text-color);margin:1px 0 2px 0}.display-options[data-v-c819d738],span.options-label[data-v-c819d738]{color:var(--settings-text-color)}.display-options svg[data-v-c819d738]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-c819d738]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-c819d738],.display-options svg[data-v-c819d738]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-c819d738],.display-options svg:hover path[data-v-c819d738]{fill:var(--background)}.display-options[data-v-58966274],span.options-label[data-v-58966274]{color:var(--settings-text-color)}.display-options svg[data-v-58966274]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-58966274]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-58966274],.display-options svg[data-v-58966274]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-58966274],.display-options svg:hover path[data-v-58966274]{fill:var(--background)}.display-options[data-v-d69dca9c],span.options-label[data-v-d69dca9c]{color:var(--settings-text-color)}.display-options svg[data-v-d69dca9c]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-d69dca9c]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-d69dca9c],.display-options svg[data-v-d69dca9c]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-d69dca9c],.display-options svg:hover path[data-v-d69dca9c]{fill:var(--background)}.kb-sc-info[data-v-c5f17d9a]{position:fixed;width:30em;bottom:0;right:10px;margin:.5em;padding:.1em .3em;z-index:6;border-radius:12px;border:1px solid var(--welcome-popup-background);-webkit-box-shadow:2px 1px 5px #130f23;box-shadow:2px 1px 5px #130f23;border:1px solid var(--welcome-popup-text-color);color:var(--welcome-popup-text-color);background:var(--welcome-popup-background);cursor:default;opacity:.94}@media(max-width:599px){.kb-sc-info[data-v-c5f17d9a]{display:none}}.kb-sc-info h5[data-v-c5f17d9a]{position:absolute;top:-35px;left:20px;border:1px solid var(--welcome-popup-text-color);color:var(--welcome-popup-text-color);background:var(--welcome-popup-background);padding:4px;border-radius:var(--curve-factor)}.kb-sc-info .close[data-v-c5f17d9a]{float:right;border-radius:20px;width:1em;padding:0 0 6px 6px;height:1em;background:var(--transparent-50);margin-top:3px;border:1px solid transparent;cursor:pointer}.kb-sc-info .close[data-v-c5f17d9a]:hover{border:1px solid var(--welcome-popup-text-color);opacity:var(--dimming-factor)}.slide-fade-enter-active[data-v-c5f17d9a]{-webkit-transition:all 1s ease;transition:all 1s ease}.slide-fade-leave-active[data-v-c5f17d9a]{-webkit-transition:all .8s cubic-bezier(.93,.01,.89,.5);transition:all .8s cubic-bezier(.93,.01,.89,.5)}.slide-fade-enter[data-v-c5f17d9a],.slide-fade-leave-to[data-v-c5f17d9a]{-webkit-transform:translateY(35em);transform:translateY(35em);opacity:0}.display-options[data-v-40e473c3],span.options-label[data-v-40e473c3]{color:var(--settings-text-color)}.display-options svg[data-v-40e473c3]{width:1rem;height:1rem;margin:.2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid currentColor;border-radius:var(--curve-factor);cursor:pointer}.display-options svg path[data-v-40e473c3]{fill:var(--settings-text-color)}.display-options svg.selected[data-v-40e473c3],.display-options svg[data-v-40e473c3]:hover{background:var(--settings-text-color)}.display-options svg.selected path[data-v-40e473c3],.display-options svg:hover path[data-v-40e473c3]{fill:var(--background)}div.about-modal[data-v-40e473c3]{background:var(--about-page-background);color:var(--about-page-color);padding:1rem;height:100%}div.about-modal hr[data-v-40e473c3]{border-color:var(--about-page-accent)}div.about-modal h2[data-v-40e473c3]{text-decoration:none;font-size:1.8rem;text-align:center;margin:.2rem}div.about-modal h3[data-v-40e473c3]{font-size:1.3rem;margin:.75rem 0 .2rem 0;color:var(--about-page-accent)}div.about-modal p.small-note[data-v-40e473c3]{font-size:.9rem;margin:.2rem 0}div.about-modal p.about-text[data-v-40e473c3]{margin:.2rem 0}div.about-modal a[data-v-40e473c3]{color:var(--about-page-accent)}div.about-modal ul[data-v-40e473c3]{margin-top:.2rem}div.about-modal .system-info[data-v-40e473c3]{font-size:.8rem;background:var(--black);color:var(--white);border-radius:var(--curve-factor-small);padding:.5rem;border:1px solid var(--white);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}div.about-modal .system-info h4[data-v-40e473c3]{font-size:.8rem;margin:0 0 .2rem 0;text-decoration:underline}section[data-v-daad7260]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background:-webkit-gradient(linear,left bottom,left top,from(var(--background)),to(var(--background-darker)));background:linear-gradient(0deg,var(--background),var(--background-darker));-webkit-box-shadow:var(--settings-container-shadow);box-shadow:var(--settings-container-shadow)}.options-outer[data-v-daad7260]{position:relative;-ms-flex:1;flex:1;border-radius:var(--curve-factor-navbar)}.options-container[data-v-daad7260],.options-outer[data-v-daad7260]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;background:var(--settings-background)}.options-container[data-v-daad7260]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex:1;flex:1;padding:.5rem 1.5rem .5rem 1rem;border-radius:var(--curve-factor-navbar) 0 0}.options-container div[data-v-daad7260]{margin-left:.5rem;opacity:var(--dimming-factor);opacity:1}.options-container div[data-v-daad7260]:hover{opacity:1}.options-container.hide[data-v-daad7260]{display:none}@media(max-width:399px){.options-container[data-v-daad7260]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}}.show-hide-container[data-v-daad7260]{display:-webkit-box;display:-ms-flexbox;display:flex;background:var(--settings-background);color:var(--settings-text-color);width:1.5rem;position:absolute;top:4px;right:4px}.show-hide-container.show-btn[data-v-daad7260]{width:2rem;top:.5rem;right:.5rem}@media(max-width:599px){.show-hide-container.show-btn[data-v-daad7260]{top:-3rem!important}}.show-hide-container button[data-v-daad7260]{width:100%;padding:2px 2px 0 2px;margin:2px;border-radius:var(--curve-factor);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;background:none;border:none;color:var(--settings-text-color);cursor:pointer;opacity:var(--dimming-factor)}.show-hide-container:hover button[data-v-daad7260]{background:var(--settings-text-color);color:var(--settings-background)}svg.logout-icon[data-v-daad7260]{width:1rem;height:1rem;margin:.35rem .2rem;padding:.2rem;text-align:center;background:var(--background);border:1px solid var(--settings-text-color);border-radius:var(--curve-factor);cursor:pointer}svg.logout-icon path[data-v-daad7260]{fill:var(--settings-text-color)}svg.logout-icon.selected[data-v-daad7260],svg.logout-icon[data-v-daad7260]:hover{background:var(--settings-text-color)}svg.logout-icon.selected path[data-v-daad7260],svg.logout-icon:hover path[data-v-daad7260]{fill:var(--background)}@media(min-width:600px)and (max-width:779px){section[data-v-daad7260]{display:block;margin:0 auto;background:none}section .options-container[data-v-daad7260]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}.tile-icon{width:2rem;border-radius:var(--curve-factor)}.tile-icon.broken{display:none}.tile-icon.small{width:1.5rem}.tile-icon.large{width:3rem}i.fab,i.fad,i.fal,i.far,i.fas{font-size:2rem;color:currentColor;margin:1px auto 4px}i.fab.small,i.fad.small,i.fal.small,i.far.small,i.fas.small{font-size:1.5rem}i.fab.large,i.fad.large,i.fal.large,i.far.large,i.fas.large{font-size:3rem}object.tile-icon{width:55px;height:55px}object.tile-icon svg,object.tile-icon svg g,object.tile-icon svg g path{fill:currentColor}i.emoji-icon{font-style:normal;font-size:2rem;margin:.2rem}i.emoji-icon.small{font-size:1.5rem}i.emoji-icon.large{font-size:2.5rem}.missing-image{width:3.5rem}.missing-image path{fill:currentColor}.opening-method-icon svg[data-v-bd61f3bc]{position:absolute;width:1rem;margin:2px}.opening-method-icon svg path[data-v-bd61f3bc]{fill:currentColor}.opening-method-icon.top svg[data-v-bd61f3bc]{top:0}.opening-method-icon.bottom svg[data-v-bd61f3bc]{bottom:0}.opening-method-icon.left svg[data-v-bd61f3bc]{left:0}.opening-method-icon.right svg[data-v-bd61f3bc]{right:0}.opening-method-icon.short svg[data-v-bd61f3bc]{width:.8rem;margin:0}.opening-method-icon.transparent svg[data-v-bd61f3bc]{opacity:.5}.indicator[data-v-46972ad8]{padding:5px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;cursor:help}.indicator[data-v-46972ad8]:hover{-webkit-transform:scale(1.25);transform:scale(1.25);-webkit-filter:saturate(2);filter:saturate(2);opacity:1}@-webkit-keyframes pulse-data-v-46972ad8{0%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}25%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@keyframes pulse-data-v-46972ad8{0%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}25%{opacity:.75;-webkit-transform:scale(1);transform:scale(1)}to{opacity:0;-webkit-transform:scale(1.8);transform:scale(1.8)}}@-webkit-keyframes applyOpacity-data-v-46972ad8{50%{opacity:.9}to{opacity:.8}}@keyframes applyOpacity-data-v-46972ad8{50%{opacity:.9}to{opacity:.8}}.dot[data-v-46972ad8]{border-radius:50%;height:12px;width:12px;-webkit-animation:applyOpacity-data-v-46972ad8 1s ease-in 8s forwards;animation:applyOpacity-data-v-46972ad8 1s ease-in 8s forwards}.dot>span[data-v-46972ad8],.dot>span span[data-v-46972ad8],.dot>span span[data-v-46972ad8]:after{-webkit-animation:pulse-data-v-46972ad8 1s linear .5s 2;animation:pulse-data-v-46972ad8 1s linear .5s 2;border-radius:50%;display:block;height:12px;width:12px;content:""}.dot.dot-green[data-v-46972ad8]{background-color:var(--success)}.dot.dot-green span[data-v-46972ad8],.dot.dot-green span[data-v-46972ad8]:after{background-color:var(--success);opacity:.4}.dot.dot-red[data-v-46972ad8]{background-color:var(--danger)}.dot.dot-red span[data-v-46972ad8],.dot.dot-red span[data-v-46972ad8]:after{background-color:var(--danger);opacity:.4}.dot.dot-yellow[data-v-46972ad8]{background-color:var(--warning)}.dot.dot-yellow span[data-v-46972ad8],.dot.dot-yellow span[data-v-46972ad8]:after{background-color:var(--warning);opacity:.4}.dot.dot-grey[data-v-46972ad8]{background-color:var(--medium-grey)}.dot.dot-grey span[data-v-46972ad8],.dot.dot-grey span[data-v-46972ad8]:after{background-color:var(--medium-grey);opacity:.4}.status-tooltip{background:var(--status-check-tooltip-background)!important;color:var(--status-check-tooltip-color)!important;font-size:1rem;z-index:10}.status-tooltip.tip-green{border:1px solid var(--success)}.status-tooltip.tip-yellow{border:1px solid var(--warning)}.status-tooltip.tip-red{border:1px solid var(--danger)}div.context-menu{position:absolute;margin:0;padding:0;z-index:8;background:var(--context-menu-background);color:var(--context-menu-color);border:1px solid var(--context-menu-secondary-color);border-radius:var(--curve-factor);-webkit-box-shadow:var(--context-menu-shadow);box-shadow:var(--context-menu-shadow);opacity:.98}div.context-menu ul{list-style-type:none;margin:0;padding:0}div.context-menu ul li{cursor:pointer;padding:.5rem 1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-size:1rem}div.context-menu ul li:not(:last-child){border-bottom:1px solid var(--context-menu-secondary-color)}div.context-menu ul li:hover{background:var(--context-menu-secondary-color)}div.context-menu ul li svg{width:1rem;margin-right:.5rem}div.context-menu ul li svg path{fill:currentColor}.slide-enter-active{-webkit-animation:slide-in .1s;animation:slide-in .1s}.slide-leave-active{animation:slide-in .1s reverse}@-webkit-keyframes slide-in{0%{-webkit-transform:scaleY(.5) scaleX(.8) translateY(-50px);transform:scaleY(.5) scaleX(.8) translateY(-50px)}to{-webkit-transform:scaleY(1) translateY(0) translateY(0);transform:scaleY(1) translateY(0) translateY(0)}}@keyframes slide-in{0%{-webkit-transform:scaleY(.5) scaleX(.8) translateY(-50px);transform:scaleY(.5) scaleX(.8) translateY(-50px)}to{-webkit-transform:scaleY(1) translateY(0) translateY(0);transform:scaleY(1) translateY(0) translateY(0)}}.item,.item-wrapper{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.item{color:var(--item-text-color);vertical-align:middle;margin:.5rem;background:var(--item-background);text-align:center;padding:2px;outline:2px solid transparent;border:1px solid var(--outline-color);border-radius:var(--curve-factor);-webkit-box-shadow:var(--item-shadow);box-shadow:var(--item-shadow);cursor:pointer;text-decoration:none;position:relative;-webkit-transition:all .2s ease-in-out 0s;transition:all .2s ease-in-out 0s}.item:hover{-webkit-box-shadow:var(--item-hover-shadow);box-shadow:var(--item-hover-shadow);background:var(--item-background-hover);color:var(--item-text-color-hover);position:relative}.item:hover .tile-title span.text{white-space:pre-wrap}.item:focus{outline:2px solid var(--primary)}.item.short{height:18px}.tile-title{overflow:hidden;text-overflow:ellipsis;min-width:120px;height:30px;position:relative;padding:0;z-index:2}.tile-title,.tile-title span.text{white-space:nowrap}.status-indicator{position:absolute;top:0;right:0}.opening-method-icon{display:none}.item:focus .opening-method-icon,.item:hover .opening-method-icon{display:block}.item:focus .tile-title.is-overflowing .overflow-dots,.item:hover .tile-title.is-overflowing .overflow-dots{opacity:0}.item:focus .tile-title.is-overflowing span.text,.item:hover .tile-title.is-overflowing span.text{-webkit-transform:translateX(calc(100px - 100%));transform:translateX(calc(100px - 100%))}.item:focus .tile-icon,.item:focus .tile-svg,.item:hover .tile-icon,.item:hover .tile-svg{-webkit-filter:var(--item-icon-transform-hover);filter:var(--item-icon-transform-hover)}.item.size-small{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:2rem;padding-top:4px}.item.size-small div img,.item.size-small div svg.missing-image{width:2rem}.item.size-small .tile-title{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;min-height:1.2rem;text-align:left;max-width:140px}.item.size-small .tile-title span.text{text-align:left;padding-left:10%}.item.size-medium{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:auto}.item.size-medium div img,.item.size-medium div svg.missing-image{width:2.5rem;margin-bottom:.25rem}.item.size-medium .tile-title{min-width:100px;max-width:160px}.item.size-large{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;text-align:left;overflow:hidden;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-height:6rem;margin:.2rem;padding:.5rem}.item.size-large img{padding:.1rem .25rem}.item.size-large .tile-title{height:auto;padding:.1rem .25rem}.item.size-large .tile-title span.text{position:relative;font-weight:700;font-size:1.1rem;width:100%}.item.size-large .tile-title p.description{display:block;margin:0;white-space:pre-wrap;font-size:.9em;text-overflow:ellipsis}.item p.description{display:none}.item:before{display:none;font-family:FontAwesome;content:var(--open-icon,"")!important}.tooltip{padding:.2rem .5rem;background:rgba(11,16,33,.8);border:1px solid #0b1021;border-radius:3px;color:#fff;max-width:250px}.tooltip-arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-11px;left:calc(50% - 5px);margin-top:0;margin-bottom:0;width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:rgba(11,16,33,.8);z-index:3}.disabled-link{pointer-events:none}.collapsable[data-v-ac1beaa4]{padding:var(--item-group-padding);margin:10px;border-radius:var(--curve-factor);background:var(--item-group-outer-background);-webkit-box-shadow:var(--item-group-shadow);box-shadow:var(--item-group-shadow);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:100%;width:-webkit-fill-available;width:-moz-available;width:stretch;grid-row-start:span 1;grid-column-start:span 1}.collapsable.row-2[data-v-ac1beaa4]{grid-row-start:span 2}.collapsable.row-3[data-v-ac1beaa4]{grid-row-start:span 3}.collapsable.row-4[data-v-ac1beaa4]{grid-row-start:span 4}@media(min-width:780px){.collapsable.col-2[data-v-ac1beaa4],.collapsable.col-3[data-v-ac1beaa4],.collapsable.col-4[data-v-ac1beaa4]{grid-column-start:span 2}}@media(min-width:1150px){.collapsable.col-2[data-v-ac1beaa4]{grid-column-start:span 2}.collapsable.col-3[data-v-ac1beaa4],.collapsable.col-4[data-v-ac1beaa4]{grid-column-start:span 3}}@media(min-width:1780px){.collapsable.col-2[data-v-ac1beaa4]{grid-column-start:span 2}.collapsable.col-3[data-v-ac1beaa4]{grid-column-start:span 3}.collapsable.col-4[data-v-ac1beaa4]{grid-column-start:span 4}}.collapsable .wrap-collabsible[data-v-ac1beaa4]{margin-bottom:1.2rem 0}.collapsable input[type=checkbox][data-v-ac1beaa4]{display:none}.collapsable label.lbl-toggle[data-v-ac1beaa4]{outline:none;display:block;padding:.25rem;cursor:pointer;border-radius:var(--curve-factor);-webkit-transition:all .25s ease-out;transition:all .25s ease-out;text-align:left;color:var(--item-group-heading-text-color)}.collapsable label.lbl-toggle h3[data-v-ac1beaa4]{margin:0;padding:0;display:inline}.collapsable label.lbl-toggle .section-icon[data-v-ac1beaa4]{display:inline;margin-right:.5rem}.collapsable .lbl-toggle[data-v-ac1beaa4]:hover{color:var(--item-group-heading-text-color-hover)}.collapsable .lbl-toggle[data-v-ac1beaa4]:before{content:" ";display:inline-block;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid currentColor;vertical-align:middle;margin-right:.7rem;-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-transition:-webkit-transform .2s ease-out;transition:-webkit-transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out,-webkit-transform .2s ease-out}.collapsable .toggle:checked+.lbl-toggle[data-v-ac1beaa4]:before{-webkit-transform:rotate(90deg) translateX(-3px);transform:rotate(90deg) translateX(-3px)}.collapsable .collapsible-content[data-v-ac1beaa4]{max-height:0;overflow:hidden;-webkit-transition:max-height .25s ease-in-out;transition:max-height .25s ease-in-out;background:var(--item-group-background);border-radius:0 0 var(--curve-factor) var(--curve-factor)}.collapsable .toggle:checked+.lbl-toggle+.collapsible-content[data-v-ac1beaa4]{max-height:3000px}.collapsable .toggle:checked+.lbl-toggle[data-v-ac1beaa4]{border-bottom-right-radius:0;border-bottom-left-radius:0}.collapsable .collapsible-content .content-inner[data-v-ac1beaa4]{padding:.5rem}.frame{width:100%;height:100%;border:none}.no-url{margin:4rem auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;font-size:2rem;padding:.5rem;border:1px dashed red;border-radius:3px;background:#f4f2f2}.close-button{position:absolute;right:0;padding:.5rem;border:0;border-radius:0 0 0 10px;background:var(--primary);color:var(--background);border-left:1px solid var(--primary);border-bottom:1px solid var(--primary);cursor:pointer}.close-button:hover{background:var(--background);color:var(--primary)}.scroll-bar[data-v-57f8b54c]::-webkit-scrollbar,.there-are-items.item-group-grid[data-v-57f8b54c]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-57f8b54c]::-webkit-scrollbar-track,.there-are-items.item-group-grid[data-v-57f8b54c]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-57f8b54c]::-webkit-scrollbar-thumb,.there-are-items.item-group-grid[data-v-57f8b54c]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-57f8b54c] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-57f8b54c] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-57f8b54c] ::-moz-selection,.highlight[data-v-57f8b54c] ::-ms-selection,.highlight[data-v-57f8b54c] ::-o-selection,.highlight[data-v-57f8b54c] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-57f8b54c]{font-weight:700}.light[data-v-57f8b54c]{font-weight:lighter}.text-left[data-v-57f8b54c]{text-align:left}.text-right[data-v-57f8b54c]{text-align:right}.text-center[data-v-57f8b54c]{text-align:center}.horizontal-center[data-v-57f8b54c]{margin:0 auto}.border-box[data-v-57f8b54c]{-webkit-box-sizing:border-box;box-sizing:border-box}.no-items[data-v-57f8b54c]{width:100px;margin:0 auto;padding:.8rem;text-align:center;cursor:default;border-radius:var(--curve-factor);background:rgba(96,125,139,.2);color:var(--primary);-webkit-box-shadow:var(--item-shadow);box-shadow:var(--item-shadow)}.there-are-items[data-v-57f8b54c]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.there-are-items.item-group-grid[data-v-57f8b54c]{display:grid;overflow:auto}@media(max-width:599px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1150px)and (max-width:1779px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1780px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(4,1fr)}}@media(min-width:2800px){.there-are-items.item-group-grid[data-v-57f8b54c]{grid-template-columns:repeat(5,1fr)}}.orientation-horizontal[data-v-57f8b54c]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orientation-horizontal .there-are-items[data-v-57f8b54c]{display:grid;grid-template-columns:repeat(5,1fr)}@media(max-width:599px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(2,1fr)}}@media(min-width:600px)and (max-width:779px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(4,1fr)}}@media(min-width:780px)and (max-width:1149px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(6,1fr)}}@media(min-width:1150px)and (max-width:1779px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(8,1fr)}}@media(min-width:1780px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(10,1fr)}}@media(min-width:2800px){.orientation-horizontal .there-are-items[data-v-57f8b54c]{grid-template-columns:repeat(12,1fr)}}.item-group-container[data-v-267a5024]::-webkit-scrollbar,.scroll-bar[data-v-267a5024]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.item-group-container[data-v-267a5024]::-webkit-scrollbar-track,.scroll-bar[data-v-267a5024]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.item-group-container[data-v-267a5024]::-webkit-scrollbar-thumb,.scroll-bar[data-v-267a5024]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-267a5024] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-267a5024] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-267a5024] ::-moz-selection,.highlight[data-v-267a5024] ::-ms-selection,.highlight[data-v-267a5024] ::-o-selection,.highlight[data-v-267a5024] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-267a5024]{font-weight:700}.light[data-v-267a5024]{font-weight:lighter}.text-left[data-v-267a5024]{text-align:left}.text-right[data-v-267a5024]{text-align:right}.text-center[data-v-267a5024]{text-align:center}.horizontal-center[data-v-267a5024]{margin:0 auto}.border-box[data-v-267a5024]{-webkit-box-sizing:border-box;box-sizing:border-box}.home[data-v-267a5024]{padding-bottom:1px;background:var(--background);min-height:calc(100vh - var(--footer-height))}.item-group-container[data-v-267a5024]{display:grid;gap:.5rem;margin:0 auto;max-width:90%;overflow:auto}@media(min-width:1780px){.item-group-container[data-v-267a5024]{max-width:1400px}}.item-group-container.orientation-horizontal[data-v-267a5024]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.item-group-container.orientation-vertical[data-v-267a5024]{max-width:100%}@media(min-width:780px){.item-group-container.orientation-vertical[data-v-267a5024]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media(max-width:599px){.item-group-container[data-v-267a5024]{grid-template-columns:repeat(1,1fr)}}@media(min-width:600px)and (max-width:779px){.item-group-container[data-v-267a5024]{grid-template-columns:repeat(2,1fr)}}@media(min-width:780px)and (max-width:1149px){.item-group-container[data-v-267a5024]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1150px)and (max-width:1779px){.item-group-container[data-v-267a5024]{grid-template-columns:repeat(3,1fr)}}@media(min-width:1780px){.item-group-container[data-v-267a5024]{grid-template-columns:repeat(4,1fr)}}@media(min-width:2800px){.item-group-container[data-v-267a5024]{grid-template-columns:repeat(5,1fr)}}.item-group-container .no-results[data-v-267a5024]{display:none}.no-data[data-v-267a5024]{font-size:2rem;color:var(--background);background:hsla(0,0%,100%,.9215686274509803);width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:2rem auto;padding:.5rem 1rem;border-radius:var(--curve-factor)}section.filter-container[data-v-267a5024]{border-bottom:1px solid var(--outline-color)}@media(max-width:599px){section.filter-container[data-v-267a5024]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.login-page{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-height:800px}.login-page,.login-page .login-form{display:-webkit-box;display:-ms-flexbox;display:flex}.login-page .login-form{background:var(--login-form-background);color:var(--login-form-color);border:1px solid var(--login-form-color);border-radius:var(--curve-factor);padding:2rem;margin:2rem auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.login-page .login-form h2.login-title{font-size:3rem;margin:0 0 1rem 0;text-align:center}.login-page .login-form .login-field input,.login-page .login-form Button.login-button{width:18rem;margin:.5rem auto;font-size:1.4rem;padding:.5rem 1rem}.login-page .login-form .login-field input{color:var(--login-form-color);border-color:var(--login-form-color);background:var(--login-form-background)}.login-page .login-form Button.login-button{background:var(--login-form-color);border-color:var(--login-form-background);color:var(--login-form-background)}.login-page .login-form Button.login-button:hover{color:var(--login-form-color);border-color:var(--login-form-color);background:var(--login-form-background)}.login-page .login-form Button.login-button:active,.login-page .login-form Button.login-button:focus{-webkit-box-shadow:1px 1px 6px var(--login-form-color);box-shadow:1px 1px 6px var(--login-form-color)}.login-page .login-form p.login-error-message{font-size:1rem;text-align:center}.login-page .login-form p.login-error-message.waiting{color:var(--login-form-color)}.login-page .login-form p.login-error-message.success{color:var(--success)}.login-page .login-form p.login-error-message.error{color:var(--warning)}.bounce-enter-active{-webkit-animation:bounce-in .25s;animation:bounce-in .25s}.bounce-leave-active{animation:bounce-in .25s reverse}@-webkit-keyframes bounce-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce-in{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.25);transform:scale(1.25)}to{-webkit-transform:scale(1);transform:scale(1)}}.v-select.login-time-dropdown{margin:.5rem 0}.v-select.login-time-dropdown .vs__dropdown-toggle{border-color:var(--login-form-color);background:var(--login-form-background)}.v-select.login-time-dropdown .vs__dropdown-toggle span.vs__selected{color:var(--login-form-color)}.v-select.login-time-dropdown .vs__dropdown-toggle .vs__actions svg path{fill:var(--login-form-color)}.v-select.login-time-dropdown ul.vs__dropdown-menu{background:var(--login-form-background);border-color:var(--login-form-color)}.v-select.login-time-dropdown ul.vs__dropdown-menu li{color:var(--login-form-color)}.v-select.login-time-dropdown ul.vs__dropdown-menu li:hover{color:var(--login-form-background);background:var(--login-form-color)}.v-select.login-time-dropdown ul.vs__dropdown-menu li.vs__dropdown-option--highlight{color:var(--login-form-background)!important;background:var(--login-form-color)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-d979f4fe]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-d979f4fe] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d979f4fe] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-d979f4fe] ::-moz-selection,.highlight[data-v-d979f4fe] ::-ms-selection,.highlight[data-v-d979f4fe] ::-o-selection,.highlight[data-v-d979f4fe] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-d979f4fe]{font-weight:700}.light[data-v-d979f4fe]{font-weight:lighter}.text-left[data-v-d979f4fe]{text-align:left}.text-right[data-v-d979f4fe]{text-align:right}.text-center[data-v-d979f4fe]{text-align:center}.horizontal-center[data-v-d979f4fe]{margin:0 auto}.border-box[data-v-d979f4fe]{-webkit-box-sizing:border-box;box-sizing:border-box}div.side-bar-item[data-v-d979f4fe]{color:var(--side-bar-color);background:var(--side-bar-background);text-align:center}div.side-bar-item.text-only[data-v-d979f4fe]{background:none;border:none;-webkit-box-shadow:none;box-shadow:none}div.side-bar-item.text-only p.small-title[data-v-d979f4fe]{margin:.1rem auto;font-size:.6rem}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-56ddb963]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-56ddb963] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-56ddb963] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-56ddb963] ::-moz-selection,.highlight[data-v-56ddb963] ::-ms-selection,.highlight[data-v-56ddb963] ::-o-selection,.highlight[data-v-56ddb963] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-56ddb963]{font-weight:700}.light[data-v-56ddb963]{font-weight:lighter}.text-left[data-v-56ddb963]{text-align:left}.text-right[data-v-56ddb963]{text-align:right}.text-center[data-v-56ddb963]{text-align:center}.horizontal-center[data-v-56ddb963]{margin:0 auto}.border-box[data-v-56ddb963]{-webkit-box-sizing:border-box;box-sizing:border-box}div.sub-side-bar[data-v-56ddb963]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:var(--side-bar-background-lighter);border-radius:var(--curve-factor);margin:.2rem;color:var(--side-bar-color);text-align:center;z-index:3}div.sub-side-bar .item[data-v-56ddb963]:not(:last-child){border-bottom:1px dashed var(--side-bar-color)}.scroll-bar[data-v-31476576]::-webkit-scrollbar,nav.side-bar[data-v-31476576]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-31476576]::-webkit-scrollbar-track,nav.side-bar[data-v-31476576]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-31476576]::-webkit-scrollbar-thumb,nav.side-bar[data-v-31476576]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-31476576] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-31476576] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-31476576] ::-moz-selection,.highlight[data-v-31476576] ::-ms-selection,.highlight[data-v-31476576] ::-o-selection,.highlight[data-v-31476576] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-31476576]{font-weight:700}.light[data-v-31476576]{font-weight:lighter}.text-left[data-v-31476576]{text-align:left}.text-right[data-v-31476576]{text-align:right}.text-center[data-v-31476576]{text-align:center}.horizontal-center[data-v-31476576]{margin:0 auto}.border-box[data-v-31476576]{-webkit-box-sizing:border-box;box-sizing:border-box}nav.side-bar[data-v-31476576]{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:var(--side-bar-background);color:var(--side-bar-color);height:100%;width:var(--side-bar-width);text-align:center;overflow:auto}nav.side-bar .side-bar-item-container[data-v-31476576]{z-index:5}nav.side-bar .item[data-v-31476576]:not(:last-child){border-bottom:1px dashed var(--side-bar-color);z-index:5}.slide-enter-active[data-v-31476576],.slide-leave-active[data-v-31476576]{-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.slide-enter[data-v-31476576],.slide-leave-to[data-v-31476576]{-webkit-transform:translateY(-80%);transform:translateY(-80%)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar{width:var(--scroll-bar-width);height:var(--scroll-bar-width)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar-track{border-radius:var(--curve-factor);background-color:var(--scroll-bar-background)}.scroll-bar[data-v-a2564c04]::-webkit-scrollbar-thumb{background:var(--scroll-bar-color);border-radius:var(--curve-factor)}.highlight[data-v-a2564c04] ::-moz-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-a2564c04] ::selection{background-color:var(--highlight-background);color:var(--highlight-color)}.highlight[data-v-a2564c04] ::-moz-selection,.highlight[data-v-a2564c04] ::-ms-selection,.highlight[data-v-a2564c04] ::-o-selection,.highlight[data-v-a2564c04] ::-webkit-selection{background-color:var(--highlight-background);color:var(--highlight-color)}.bold[data-v-a2564c04]{font-weight:700}.light[data-v-a2564c04]{font-weight:lighter}.text-left[data-v-a2564c04]{text-align:left}.text-right[data-v-a2564c04]{text-align:right}.text-center[data-v-a2564c04]{text-align:center}.horizontal-center[data-v-a2564c04]{margin:0 auto}.border-box[data-v-a2564c04]{-webkit-box-sizing:border-box;box-sizing:border-box}iframe[data-v-a2564c04]{position:absolute;left:var(--side-bar-width);height:calc(100% - var(--header-height));width:calc(100% - var(--side-bar-width));border:none;background:#fff}.work-space[data-v-6136c26a]{min-height:calc(100vh - var(--footer-height))}pre[data-v-33cd2d90]{background:var(--code-editor-background);color:var(--code-editor-color);padding:1rem}
\ No newline at end of file
diff --git a/index.html b/index.html
index c7a6714b..4aa69646 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/dashy.19956cbe.js b/js/dashy.19956cbe.js
new file mode 100644
index 00000000..59d87fd9
--- /dev/null
+++ b/js/dashy.19956cbe.js
@@ -0,0 +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:""})},F=R,K=(n("2bb3"),Object(y["a"])(F,$,U,!1,null,"a7bc1de6",null)),q=K.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{showFooter:ee.footer,isLoading:!0,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()&&!this.shouldHidePageComponents()?setTimeout(()=>{this.isLoading=!1},u["splashScreenTime"]||2e3):this.isLoading=!1},shouldHidePageComponents(){return["download"].includes(this.$route.name)}},computed:{currentRouteName(){return this.$route.name}},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(t){return e.goToEdit()}}},[n("EditIcon",{staticClass:"button-icon"}),e._v(" Edit Config ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.goToCustomCss()}}},[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. 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"}},Fe=(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)},Ke=()=>{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.6",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.6",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.6"}},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:{goToEdit(){const e=this.$refs.tabView.navItems[2];this.$refs.tabView.activeTabItem({tabItem:e,byUser:!0})},goToMetaEdit(){const e=this.$refs.tabView.navItems[3];this.$refs.tabView.activeTabItem({tabItem:e,byUser:!0})},goToCustomCss(){const e=this.$refs.tabView.navItems[3];this.$refs.tabView.activeTabItem({tabItem:e,byUser:!0})},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("8d80"),n("1d47"),Object(y["a"])(Pt,Ce,Se,!1,null,"3cfec9e9",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)}}},Ft=Rt,Kt=(n("2d25"),Object(y["a"])(Ft,$t,Ut,!1,null,"5df13ed2",null)),qt=Kt.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),Fn=n("922c"),Kn=n.n(Fn),qn={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:$n.a,IconMedium:Rn.a,IconLarge:Kn.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(){Ke(),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.6",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.6",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(){Ke(),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"),Fa=n.n(Ra),Ka=n("2352"),qa=n.n(Ka),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:Fa.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:Fa.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.6",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&&(Fe(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)},Fi=[],Ki=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,Ki,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,Fi,!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){},"5a52":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){},"8d80":function(e,t,n){"use strict";n("5a52")},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){},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.19956cbe.js.map
\ No newline at end of file
diff --git a/js/dashy.19956cbe.js.map b/js/dashy.19956cbe.js.map
new file mode 100644
index 00000000..1662eda2
--- /dev/null
+++ b/js/dashy.19956cbe.js.map
@@ -0,0 +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/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?3394","webpack:///./src/components/PageStrcture/Header.vue?4888","webpack:///./src/components/PageStrcture/PageTitle.vue?7b5b","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?06b2","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?8850","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?799f","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?4126","webpack:///./src/components/Settings/SettingsContainer.vue?75a4","webpack:///./src/components/Settings/SearchBar.vue?48c0","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?bba7","webpack:///./src/components/Configuration/ConfigContainer.vue?3b2f","webpack:///./src/utils/JsonToYaml.js","webpack:///./src/components/Configuration/JsonEditor.vue?a1f2","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?45d4","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?c0c3","webpack:///./src/components/FormElements/Button.vue?5895","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?1fef","webpack:///./src/components/FormElements/Input.vue?6941","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?e7bf","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?0c17","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?1b9d","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?3684","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?a9ae","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?a9d9","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?301e","webpack:///./src/components/LinkItems/Item.vue?7e35","webpack:///./src/components/LinkItems/ItemIcon.vue?68d4","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?3843","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?39e7","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?6b78","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?294b","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?b6fa","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?2545","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?8434","webpack:///./src/views/Login.vue","webpack:///./src/views/Workspace.vue?d1e8","webpack:///./src/components/Workspace/SideBar.vue?2fca","webpack:///./src/components/Workspace/SideBarItem.vue?cd47","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?3478","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?65c4","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?e0f6","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/components/Configuration/ConfigContainer.vue?06b3","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","shouldHidePageComponents","pageInfo","showFooter","getFooterText","staticRenderFns","title","description","navLinks","_s","props","String","component","_l","link","index","path","isUrl","links","Array","methods","inject","components","PageTitle","Nav","titleVisible","visibleComponents","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","usersCss","textContent","append","computed","$route","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","goToEdit","goToCustomCss","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","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","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","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.19956cbe.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\":\"1f33f68e\"}[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&\"","\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(),(!_vm.shouldHidePageComponents())?_c('Header',{attrs:{\"pageInfo\":_vm.pageInfo}}):_vm._e(),_c('router-view'),(_vm.showFooter && !_vm.shouldHidePageComponents())?_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 {{ title }}
\n {{ description }}\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!./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\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\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\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
Dashy
\n
\n
Loading
\n
\n \n \n \n \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!./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 \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=129aabd2&\"\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\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($event){return _vm.goToEdit()}}},[_c('EditIcon',{staticClass:\"button-icon\"}),_vm._v(\" Edit Config \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.goToCustomCss()}}},[_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. 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
\n
Save Location:\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n - \n {{error.msg}}\n
\n - \n Config is Valid\n
\n
\n \n \n
\n {{saveSuccess ? 'Task Complete' : 'Task Failed'}}\n
\n
{{ responseText }}
\n
\n The app should rebuild automatically.\n You will need to refresh the page for changes to take effect.\n
\n
\n It is recommend to backup your existing confiruration before making any changes.\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!./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=2ec9c242&\"\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 Note: You will need to refresh the page for your changes to take effect.\n Styles overides are only stored locally, so it is reccomended to make a copy of your CSS.\n To remove all custom styles, delete the contents and hit Save Changes\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!./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\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
Rebuild Application
\n
\n A rebuild is required for changes written to the conf.yml file to take effect.\n This should happen automatically, but if it hasn't, you can manually trigger it here.
\n This is not required for modifications stored locally.\n
\n
\n
\n
You do no have permission to trigger this action
\n
\n \n
\n
\n
This may take a few minutes...
\n
\n \n
\n
✅ Build completed succesfully
\n
❌ Build operation failed
\n
{{ output || error }}
\n
{{ message }}
\n
\n A page reload is now required for changes to take effect\n
\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!./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
Configuration Options
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n You are using a very small screen, and some screens in this menu may not be optimal\n
\n
Dashy version {{ appVersion }}
\n
\n \n It is recommend to make a backup of your conf.yml file before making changes.\n \n
\n
\n \n \n \n \n {{yaml}}
\n \n \n \n \n \n \n \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!./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=3cfec9e9&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=3cfec9e9&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 \"3cfec9e9\",\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\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
Cloud Backup & Restore
\n
\n Cloud backup and restore is an optional feature, that enables you to upload your\n config to the internet, and then restore it on any other device or instance of Dashy.\n
\n All data is fully end-to-end encrypted with AES, using your password as the key.\n
\n For more info, please see the\n docs\n
\n
\n
\n
Update Backup
\n
Make a Backup
\n
\n
\n
\n
Your Backup ID: \n
{{ backupId }}
\n
\n This is used to restore from backups later.\n So keep it, along with your password somewhere safe.\n \n
\n
\n
\n
Restore a Backup
\n \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
Config\n
\n \n \n
\n\n \n
\n \n \n\n \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!./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 Theme\n \n
\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemeSelector.vue?vue&type=template&id=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
Layout\n
\n \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!./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
Icon Size\n
\n \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!./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\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
There are keyboard shortcuts! ⌨️🙌
\n
x
\n
\n Just start typing to filter. Then use the tab key to cycle through results,\n and press enter to launch the selected item, or alt + enter to open in a modal.\n You can hit Esc at anytime to clear the search. Easy 🥳\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!./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 Dashy V{{ appVersion }}
\n \n
Service Worker Status
\n
{{ serviceWorkerInfo }}
\n
\n
Config Validation Status
\n
{{getIsConfigValidStatus()}}
\n
\n
Help & Support
\n
\n
Please include the following info in your bug report:
\n
{{ showInfo ? 'Hide' : 'Show'}} system info\n
\n
System Info
\n Dashy Version: V {{appVersion}}
\n Browser: {{systemInfo.browser}}
\n Is Mobile? {{systemInfo.isMobile ? 'Yes' : 'No'}}
\n OS: {{systemInfo.os}}
\n \n
About
\n
\n Documentation and Source Code available on\n GitHub\n
\n
License
\n
Licensed under MIT X11. Copyright © 2021
\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!./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\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
{{getEmoji(iconPath)}}\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!./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 \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!./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\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\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\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
\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!./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 }","\n \n Close
\n x\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!./IframeModal.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!./IframeModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IframeModal.vue?vue&type=template&id=08cda45c&\"\nimport script from \"./IframeModal.vue?vue&type=script&lang=js&\"\nexport * from \"./IframeModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IframeModal.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 No Items to Show Yet\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!./ItemGroup.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!./ItemGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemGroup.vue?vue&type=template&id=57f8b54c&scoped=true&\"\nimport script from \"./ItemGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemGroup.vue?vue&type=style&index=0&id=57f8b54c&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 \"57f8b54c\",\n null\n \n)\n\nexport default component.exports","\n \n \n
\n \n
\n \n
\n \n
\n {{searchValue ? 'No Search Results' : 'No Data Configured'}}\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!./Home.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!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=267a5024&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=267a5024&lang=scss&scoped=true&\"\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 \"267a5024\",\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:\"login-page\"},[_c('form',{staticClass:\"login-form\"},[_c('h2',{staticClass:\"login-title\"},[_vm._v(\"Dashy\")]),_c('Input',{staticClass:\"login-field username\",attrs:{\"label\":\"Username\",\"type\":\"text\"},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('Input',{staticClass:\"login-field password\",attrs:{\"label\":\"Password\",\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('label',[_vm._v(\"Remember me for\")]),_c('v-select',{staticClass:\"login-time-dropdown\",attrs:{\"options\":_vm.dropDownMenu,\"label\":\"label\",\"selectOnTab\":true},model:{value:(_vm.timeout),callback:function ($$v) {_vm.timeout=$$v},expression:\"timeout\"}}),_c('Button',{staticClass:\"login-button\",attrs:{\"click\":_vm.submitLogin}},[_vm._v(\"Login\")]),_c('transition',{attrs:{\"name\":\"bounce\"}},[_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],class:(\"login-error-message \" + _vm.status)},[_vm._v(_vm._s(_vm.message))])])],1)])}\nvar staticRenderFns = []\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!./Login.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!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=0f2bfb21&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.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:\"work-space\"},[_c('SideBar',{attrs:{\"sections\":_vm.sections},on:{\"launch-app\":_vm.launchApp}}),_c('WebContent',{attrs:{\"url\":_vm.url}})],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('nav',{staticClass:\"side-bar\"},_vm._l((_vm.sections),function(section,index){return _c('div',{key:index},[_c('div',{staticClass:\"side-bar-item-container\",on:{\"click\":function($event){return _vm.openSection(index)}}},[_c('SideBarItem',{staticClass:\"item\",attrs:{\"icon\":section.icon,\"title\":section.name}})],1),_c('transition',{attrs:{\"name\":\"slide\"}},[(_vm.isOpen[index])?_c('SideBarSection',{attrs:{\"items\":section.items},on:{\"launch-app\":_vm.launchApp}}):_vm._e()],1)],1)}),0)}\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',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],class:(\"side-bar-item \" + (_vm.icon ? 'w-icon' : 'text-only')),on:{\"click\":function($event){return _vm.itemClicked()}}},[(_vm.icon)?_c('Icon',{attrs:{\"icon\":_vm.icon,\"size\":\"small\",\"url\":_vm.url}}):_c('p',{staticClass:\"small-title\"},[_vm._v(_vm._s(_vm.title))])],1)}\nvar staticRenderFns = []\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!./SideBarItem.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!./SideBarItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBarItem.vue?vue&type=template&id=d979f4fe&scoped=true&\"\nimport script from \"./SideBarItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBarItem.vue?vue&type=style&index=0&id=d979f4fe&lang=scss&scoped=true&\"\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 \"d979f4fe\",\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:\"sub-side-bar\"},_vm._l((_vm.items),function(item,index){return _c('div',{key:index},[_c('SideBarItem',{staticClass:\"item\",attrs:{\"icon\":item.icon,\"title\":item.title,\"url\":item.url},on:{\"launch-app\":_vm.launchApp}})],1)}),0)}\nvar staticRenderFns = []\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!./SideBarSection.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!./SideBarSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBarSection.vue?vue&type=template&id=56ddb963&scoped=true&\"\nimport script from \"./SideBarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBarSection.vue?vue&type=style&index=0&id=56ddb963&lang=scss&scoped=true&\"\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 \"56ddb963\",\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!./SideBar.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!./SideBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBar.vue?vue&type=template&id=31476576&scoped=true&\"\nimport script from \"./SideBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBar.vue?vue&type=style&index=0&id=31476576&lang=scss&scoped=true&\"\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 \"31476576\",\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:\"web-content\"},[_c('iframe',{attrs:{\"src\":_vm.url}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./WebContent.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!./WebContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WebContent.vue?vue&type=template&id=a2564c04&scoped=true&\"\nimport script from \"./WebContent.vue?vue&type=script&lang=js&\"\nexport * from \"./WebContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WebContent.vue?vue&type=style&index=0&id=a2564c04&lang=scss&scoped=true&\"\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 \"a2564c04\",\n null\n \n)\n\nexport default component.exports","\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!./Workspace.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!./Workspace.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Workspace.vue?vue&type=template&id=6136c26a&scoped=true&\"\nimport script from \"./Workspace.vue?vue&type=script&lang=js&\"\nexport * from \"./Workspace.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Workspace.vue?vue&type=style&index=0&id=6136c26a&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 \"6136c26a\",\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('pre',[_c('code',[_vm._v(_vm._s(_vm.jsonParser(_vm.config)))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n {{ jsonParser(config) }}
\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!./DownloadConfig.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!./DownloadConfig.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DownloadConfig.vue?vue&type=template&id=33cd2d90&scoped=true&\"\nimport script from \"./DownloadConfig.vue?vue&type=script&lang=js&\"\nexport * from \"./DownloadConfig.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DownloadConfig.vue?vue&type=style&index=0&id=33cd2d90&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 \"33cd2d90\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Router from 'vue-router';\n\nimport Home from '@/views/Home.vue';\nimport Login from '@/views/Login.vue';\nimport Workspace from '@/views/Workspace.vue';\nimport DownloadConfig from '@/views/DownloadConfig.vue';\nimport { isLoggedIn } from '@/utils/Auth';\nimport { config } from '@/utils/ConfigHelpers';\nimport { metaTagData } from '@/utils/defaults';\n\nVue.use(Router);\n\nconst isAuthenticated = () => {\n const users = config.appConfig.auth;\n return (!users || isLoggedIn(users));\n};\n\nconst router = new Router({\n routes: [\n {\n path: '/',\n name: 'home',\n component: Home,\n props: config,\n meta: {\n title: config.pageInfo.title || 'Home Page',\n metaTags: metaTagData,\n },\n },\n {\n path: '/workspace',\n name: 'workspace',\n component: Workspace,\n props: config,\n meta: {\n title: config.pageInfo.title || 'Dashy Workspace',\n metaTags: metaTagData,\n },\n },\n {\n path: '/login',\n name: 'login',\n component: Login,\n props: {\n appConfig: config.appConfig,\n },\n beforeEnter: (to, from, next) => {\n if (isAuthenticated()) router.push({ path: '/' });\n next();\n },\n },\n {\n path: '/about',\n name: 'about',\n component: () => import(/* webpackChunkName: \"about\" */ './views/About.vue'),\n },\n {\n path: '/download',\n name: 'download',\n component: DownloadConfig,\n props: config,\n meta: {\n title: config.pageInfo.title || 'Download Dashy Config',\n metaTags: metaTagData,\n },\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n if (to.name !== 'login' && !isAuthenticated()) next({ name: 'login' });\n else next();\n});\n\nconst defaultTitle = 'Dashy';\nrouter.afterEach((to) => {\n Vue.nextTick(() => {\n document.title = to.meta.title || defaultTitle;\n });\n});\n\nexport default router;\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker';\nimport { sessionStorageKeys } from './utils/defaults';\nimport conf from '../public/conf.yml';\n\n/* Sets a local storage item with the state from the SW lifecycle */\nconst setSwStatus = (swStateToSet) => {\n const initialSwState = {\n ready: false,\n registered: false,\n cached: false,\n updateFound: false,\n updated: false,\n offline: false,\n error: false,\n devMode: false,\n disabledByUser: false,\n };\n const sessionData = sessionStorage[sessionStorageKeys.SW_STATUS];\n const currentSwState = sessionData ? JSON.parse(sessionData) : initialSwState;\n try {\n const newSwState = { ...currentSwState, ...swStateToSet };\n sessionStorage.setItem(sessionStorageKeys.SW_STATUS, JSON.stringify(newSwState));\n } catch (e) {\n console.warn('Error setting SW data', e);\n }\n};\n\n/**\n * Checks if service workers should be enabled\n * Disable if not running in production\n * Or disable if user specified to disable\n */\nconst shouldEnableServiceWorker = () => {\n let shouldEnable = true;\n if (conf && conf.appConfig) { // Check if app Config available\n if (conf.appConfig.disableServiceWorker) { // Disable if user requested\n shouldEnable = false;\n setSwStatus({ disabledByUser: true });\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n shouldEnable = false; // Disable if not in production\n setSwStatus({ devMode: true });\n }\n return shouldEnable;\n};\n\nconst registerServiceWorker = () => {\n if (shouldEnableServiceWorker()) {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n setSwStatus({ ready: true });\n console.log(\n 'App is being served from cache by a service worker.\\n'\n + 'For more details, visit https://goo.gl/AFskqB',\n );\n },\n registered() {\n setSwStatus({ registered: true });\n console.log('Service worker has been registered.');\n },\n cached() {\n setSwStatus({ cached: true });\n console.log('Content has been cached for offline use.');\n },\n updatefound() {\n setSwStatus({ updateFound: true });\n console.log('New content is downloading.');\n },\n updated() {\n setSwStatus({ updated: true });\n console.log('New content is available; please refresh.');\n },\n offline() {\n setSwStatus({ offline: true });\n console.log('No internet connection found. App is running in offline mode.');\n },\n error(error) {\n setSwStatus({ error: true });\n console.error('Error during service worker registration:', error);\n },\n });\n }\n};\n\nexport default registerServiceWorker;\n","/**\n * A simple Vue directive to trigger an event when the user\n * clicks anywhere other than the specified element.\n * Used to close context menu's popup menus and tips.\n */\n\nconst instances = [];\n\nfunction onDocumentClick(e, el, fn) {\n const { target } = e;\n if (el !== target && !el.contains(target)) {\n fn(e);\n }\n}\n\nexport default {\n bind(element, binding) {\n const el = element;\n el.dataset.outsideClickIndex = instances.length;\n\n const fn = binding.value;\n const click = (e) => {\n onDocumentClick(e, el, fn);\n };\n\n document.addEventListener('click', click);\n document.addEventListener('touchstart', click);\n instances.push(click);\n },\n unbind(el) {\n if (!el.dataset) return;\n const index = el.dataset.outsideClickIndex;\n const handler = instances[index];\n document.removeEventListener('click', handler);\n instances.splice(index, 1);\n },\n};\n","import Vue from 'vue';\n\n/* Import component Vue plugins, used throughout the app */\nimport VTooltip from 'v-tooltip'; // A Vue directive for Popper.js, tooltip component\nimport VModal from 'vue-js-modal'; // Modal component\nimport VSelect from 'vue-select'; // Select dropdown component\nimport VTabs from 'vue-material-tabs'; // Tab view component, used on the config page\nimport Toasted from 'vue-toasted'; // Toast component, used to show confirmation notifications\n\nimport { toastedOptions } from '@/utils/defaults';\nimport Dashy from '@/App.vue';\nimport router from '@/router';\nimport registerServiceWorker from '@/registerServiceWorker';\nimport clickOutside from '@/utils/ClickOutside';\n\nVue.use(VTooltip);\nVue.use(VModal);\nVue.use(VTabs);\nVue.use(Toasted, toastedOptions);\nVue.component('v-select', VSelect);\nVue.directive('clickOutside', clickOutside);\n\nVue.config.productionTip = false;\n\n// Register Service Worker\nregisterServiceWorker();\n\nnew Vue({\n router,\n render: (awesome) => awesome(Dashy),\n}).$mount('#app');\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-sliders-h fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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-th-list fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = {\n pageInfo: {\n title: 'Dashy',\n description: '',\n navLinks: [\n { title: 'Home', path: '/' },\n { title: 'Source', path: 'https://github.com/Lissy93/dashy' },\n ],\n footerText: '',\n },\n appConfig: {},\n iconSize: 'medium',\n layout: 'auto',\n theme: 'default',\n fontAwesomeKey: '0821c65656',\n faviconApi: 'faviconkit',\n builtInThemes: [\n 'callisto',\n 'thebe',\n 'dracula',\n 'material',\n 'material-dark',\n 'colorful',\n 'nord',\n 'nord-frost',\n 'minimal-dark',\n 'minimal-light',\n 'matrix',\n 'matrix-red',\n 'hacker-girl',\n 'raspberry-jam',\n 'bee',\n 'tiger',\n 'blue-purple',\n 'material-original',\n 'material-dark-original',\n 'cyberpunk',\n 'vaporware',\n 'high-contrast-dark',\n 'high-contrast-light',\n ],\n visibleComponents: {\n pageTitle: true,\n navigation: true,\n searchBar: true,\n settings: true,\n footer: true,\n },\n localStorageKeys: {\n HIDE_WELCOME_BANNER: 'hideWelcomeHelpers',\n LAYOUT_ORIENTATION: 'layoutOrientation',\n COLLAPSE_STATE: 'collapseState',\n ICON_SIZE: 'iconSize',\n THEME: 'theme',\n CONF_SECTIONS: 'confSections',\n PAGE_INFO: 'pageInfo',\n APP_CONFIG: 'appConfig',\n BACKUP_ID: 'backupId',\n BACKUP_HASH: 'backupHash',\n HIDE_SETTINGS: 'hideSettings',\n USERNAME: 'username',\n },\n cookieKeys: {\n AUTH_TOKEN: 'authenticationToken',\n },\n sessionStorageKeys: {\n SW_STATUS: 'serviceWorkerStatus',\n },\n modalNames: {\n CONF_EDITOR: 'CONF_EDITOR',\n CLOUD_BACKUP: 'CLOUD_BACKUP',\n REBUILD_APP: 'REBUILD_APP',\n ABOUT_APP: 'ABOUT_APP',\n },\n topLevelConfKeys: {\n PAGE_INFO: 'pageInfo',\n APP_CONFIG: 'appConfig',\n SECTIONS: 'sections',\n },\n toastedOptions: {\n position: 'bottom-center',\n duration: 2500,\n keepOnHover: true,\n className: 'toast-message',\n iconPack: 'fontawesome',\n },\n backupEndpoint: 'https://dashy-sync-service.as93.net',\n splashScreenTime: 1900,\n metaTagData: [\n { name: 'description', content: 'A simple static homepage for you\\'re server' },\n ],\n faviconApiEndpoints: {\n mcapi: 'https://eu.mc-api.net/v3/server/favicon/$URL',\n clearbit: 'https://logo.clearbit.com/$URL',\n faviconkit: 'https://api.faviconkit.com/$URL/64',\n // favicongrabber: 'https://favicongrabber.com//api/grab/$URL',\n google: 'https://www.google.com/s2/favicons?sz=128&domain_url=$URL',\n allesedv: 'https://f1.allesedv.com/128/$URL',\n webmasterapi: 'https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL',\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!./SideBarItem.vue?vue&type=style&index=0&id=d979f4fe&lang=scss&scoped=true&\"","\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-times-circle fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100\",\"height\":\"100\",\"preserveAspectRatio\":\"xMidYMid\"}, attrs),\n ...rest,\n },\n children.concat([_c('defs',[_c('clipPath',{attrs:{\"id\":\"a\"}},[_c('path',{attrs:{\"d\":\"M20 0h60v100H20z\"}})])]),_c('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\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"translate\",\"repeatCount\":\"indefinite\",\"dur\":\"1.4925373134328357s\",\"values\":\"-20 0;7 0\",\"keyTimes\":\"0;1\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"repeatCount\":\"indefinite\",\"dur\":\"1.4925373134328357s\",\"values\":\"0 72 125 232;0 197 125 233\",\"keyTimes\":\"0;1\"}})])])\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-cloud-upload-alt fa-w-20\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./ContextMenu.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!./AppInfoModal.vue?vue&type=style&index=0&id=40e473c3&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!./DownloadConfig.vue?vue&type=style&index=0&id=33cd2d90&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-expand fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"expand\",\"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\":\"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\"}})])\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-css3-alt fa-w-12\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./LayoutSelector.vue?vue&type=style&index=0&id=c819d738&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!./JsonEditor.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!./Item.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!./SideBar.vue?vue&type=style&index=0&id=31476576&lang=scss&scoped=true&\"","module.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\"}]}]}","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=3cfec9e9&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-expand-arrows-alt fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./KeyboardShortcutInfo.vue?vue&type=style&index=0&id=c5f17d9a&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: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z\"}}),_c('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\"}}),_c('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\"}}),_c('path',{attrs:{\"d\":\"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z\"}})])\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!./ConfigLauncher.vue?vue&type=style&index=0&id=383db9de&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!./CustomCss.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!./RebuildApp.vue?vue&type=style&index=0&id=4d488482&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!./CloudBackupRestore.vue?vue&type=style&index=0&id=763657f4&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-table fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"table\",\"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.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\"}})])\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!./Home.vue?vue&type=style&index=0&id=267a5024&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!./ItemGroup.vue?vue&type=style&index=0&id=57f8b54c&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-file-download fa-w-12\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./SideBarSection.vue?vue&type=style&index=0&id=56ddb963&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!./Nav.vue?vue&type=style&index=0&id=68c1bd5c&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-compress-arrows-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./ItemIcon.vue?vue&type=style&index=0&lang=scss&\"","module.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])/;\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!./SearchBar.vue?vue&type=style&index=0&id=08ec96b4&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!./StatusIndicator.vue?vue&type=style&index=0&id=46972ad8&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-download fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fal\",\"data-icon\":\"download\",\"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-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\"}})])\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-edit fa-w-18\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"edit\",\"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\":\"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\"}})])\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!./Collapsable.vue?vue&type=style&index=0&id=ac1beaa4&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!./Footer.vue?vue&type=style&index=0&id=64591bd5&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!./IframeModal.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!./Item.vue?vue&type=style&index=1&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-columns fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"columns\",\"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.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\"}})])\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!./Workspace.vue?vue&type=style&index=0&id=6136c26a&scoped=true&lang=scss&\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/js/dashy.f4ea20c4.js b/js/dashy.f4ea20c4.js
deleted file mode 100644
index 6293ca88..00000000
--- a/js/dashy.f4ea20c4.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(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)}},O=x,T=(n("b59f"),Object(v["a"])(O,S,I,!1,null,"1bdf8329",null)),E=T.exports,L={name:"Header",inject:["config"],components:{PageTitle:C,Nav:E},props:{pageInfo:Object},data(){return{hiddenComponents:this.pageInfo.hiddenComponents||{},titleVisible:u["visibleComponents"].pageTitle,navVisible:u["visibleComponents"].navigation}},methods:{getNavLinks(){const{appConfig:e}=this.config,t=[];return e.additionalConfigFiles&&e.additionalConfigFiles.forEach(e=>{const n=e.split(".")[0];t.push({title:n,path:"/home/"+n})}),t.concat(this.pageInfo.navLinks)}}},A=L,N=(n("836d"),Object(v["a"])(A,p,g,!1,null,"b3beddd2",null)),j=N.exports,z=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(". ")])},M=[],P={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"}}},B=P,H=(n("ed9b"),Object(v["a"])(B,z,M,!1,null,"64591bd5",null)),D=H.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()])},V=[],U={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},R=U,F=(n("2bb3"),Object(v["a"])(R,$,V,!1,null,"a7bc1de6",null)),K=F.exports;const q=function(e,t="No stack trace provided"){console.warn(e,t)};var W=q,J=n("8b8e"),G=n.n(J);class Y{constructor(e){e?this.loadAdditionalConfig(e):this.conf=G.a}loadAdditionalConfig(e){try{const e=!function(){var e=new Error("Cannot find module 'undefined'");throw e.code="MODULE_NOT_FOUND",e}();this.conf="object"===typeof e?e:G.a}catch(t){this.conf=G.a,W("Unable to read this pages config file using "+e,t)}}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||G.a.pageInfo.title||e.title,n.description=t.description||G.a.pageInfo.description||e.description,n.navLinks=t.navLinks||G.a.pageInfo.navLinks||e.navLinks,n.footerText=t.footerText||G.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 e=new Y;e.config()})();const X=new Y;var Z={name:"app",components:{Header:j,Footer:D,LoadingScreen:K},provide:{config:X.config()},data(){return{showFooter:u["visibleComponents"].footer,isLoading:!0,appConfig:X.appConfig(),pageInfo:X.pageInfo()}},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.appConfig.showSplashScreen||!localStorage[u["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()&&!this.shouldHidePageComponents()?setTimeout(()=>{this.isLoading=!1},u["splashScreenTime"]||2e3):this.isLoading=!1},shouldHidePageComponents(){return["download"].includes(this.$route.name)}},computed:{currentRouteName(){return this.$route.name}},mounted(){if(this.hideSplash(),this.appConfig.customCss){const e=this.appConfig.customCss.replace(/<\/?[^>]+(>|$)/g,"");this.injectCustomStyles(e)}}},Q=Z,ee=(n("5c0b"),Object(v["a"])(Q,m,h,!1,null,null,null)),te=ee.exports,ne=n("8c4f"),ae=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)},ie=[],oe=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)},se=[],re=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()])},le=[];class ce{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=ce.goToPrevious(this.index):39===e?this.index+=1:40===e&&(this.index=ce.goToNext(this.index)),this.index=ce.getSafeElementIndex(this.index),ce.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(e){const t=ce.getNumResults();return e<0?t-1:e>=t?0:e}static selectItemByIndex(e){return e>=0&&e<=ce.getNumResults()?document.getElementsByClassName("item")[e]:[document.getElementsByClassName("item")]}static findPreviousRow(e){const t=(e,t)=>ce.selectItemByIndex(e).offsetTop===t,n=(e,a)=>e>=ce.getNumResults()?n(0,a):t(e,a)?n(e-1,a):e,a=ce.selectItemByIndex(e).offsetTop;return n(e,a)}static goToPrevious(e){const t=(e,t)=>ce.selectItemByIndex(e).offsetTopce.selectItemByIndex(e).offsetTop===t,n=(e,a)=>e>=ce.getNumResults()?n(0,a):t(e,a)?n(e+1,a):e,a=ce.selectItemByIndex(e).offsetTop;return n(e,a)}static goToNext(e){const t=(e,t)=>ce.selectItemByIndex(e).offsetTop>ce.selectItemByIndex(t).offsetTop,n=ce.findNextRow(e),a=n-e,i=n-ce.findPreviousRow(e)-1,o=t(e,n)?0:i-a;return n+o}}var _e={name:"FilterTile",props:{active:Boolean},data(){return{input:"",akn:new ce}},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()}}},de=_e,ue=(n("e1a2"),Object(v["a"])(de,re,le,!1,null,"08ec96b4",null)),me=ue.exports,he=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)},pe=[],ge=n("35c3"),fe=n.n(ge),ke=n("6780"),be=n.n(ke),we=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(t){return e.goToEdit()}}},[n("EditIcon",{staticClass:"button-icon"}),e._v(" Edit Config ")],1),n("button",{staticClass:"config-button center",on:{click:function(t){return e.goToCustomCss()}}},[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)},ve=[],ye=n("1020"),Ce=n.n(ye),Se=n("2e7b"),Ie=n.n(Se),xe=(n("1d89"),n("d97e"));const Oe=e=>e.split("\n").map(e=>e.trimRight()).join("\n"),Te=e=>{throw new Error("Error in Json to YAML conversion: "+e)},Ee=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(xe["typeOf"])(e)];i||Te(Object(xe["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(xe["typeOf"])(r)];"undefined"!==typeof r&&(l||Te(Object(xe["typeOf"])(r)),a&&0===s||(o+="\n"+t),o+=`${i}: ${l(r)}`)}),t=t.replace(/ {2}/,""),o)},function(){return"[object Function]"}};return Oe(n[Object(xe["typeOf"])(e)](e,!0,!0)+"\n")};var Le=Ee,Ae=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. 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)},Ne=[],je=n("bcb2"),ze=n.n(je),Me=n("831b"),Pe=n("94f8"),Be=n.n(Pe);const He=e=>Be()(e.toString()).toString().toLowerCase(),De=e=>{const t=e.map(e=>He(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},$e=(e,t,n)=>{let a;return e?t?n.forEach(n=>{n.user===e&&(a=n.hash.toLowerCase()===Be()(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"}},Ve=(e,t,n)=>{const a=new Date,i=new Date(a.setTime(a.getTime()+n)).toGMTString(),o={user:e,hash:Be()(t).toString().toLowerCase()};document.cookie=`authenticationToken=${He(o)};`+(n>0?"expires="+i:""),localStorage.setItem(u["localStorageKeys"].USERNAME,e)},Ue=()=>{document.cookie="authenticationToken=null",localStorage.removeItem(u["localStorageKeys"].USERNAME)},Re=e=>{if(!e||0===e.length)return!0;if(!De(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 Fe=n("bc3a"),Ke=n.n(Fe),qe={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:ze.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:Me,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:Le,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&&Re(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.6",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=Ke.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")})}}},We=qe,Je=(n("80a7"),Object(v["a"])(We,Ae,Ne,!1,null,null,null)),Ge=Je.exports,Ye=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)},Xe=[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 ")])}],Ze=n("e57a"),Qe=n("8c7a"),et=(n("6605"),n("dff1"),n("cabf"),{name:"JsonEditor",props:{config:Object},components:{PrismEditor:Ze["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(Qe["highlight"])(e,Qe["languages"].css)}}}),tt=et,nt=(n("9e50"),Object(v["a"])(tt,Ye,Xe,!1,null,null,null)),at=nt.exports,it=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)])},ot=[],st=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)},rt=[],lt={name:"Button",props:{text:String,click:Function,disabled:Boolean,disallow:Boolean}},ct=lt,_t=(n("24e6"),Object(v["a"])(ct,st,rt,!1,null,"ec408f00",null)),dt=_t.exports,ut=n("0911"),mt=n.n(ut),ht=n("3ff5"),pt=n.n(ht),gt=n("6266"),ft=n.n(gt),kt={name:"RebuildApp",inject:["config"],components:{Button:dt,RebuildIcon:mt.a,ReloadIcon:pt.a,LoadingAnimation:ft.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.6",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=e+"/config-manager/rebuild";this.loading=!0,Ke.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)}},bt=kt,wt=(n("aff1"),Object(v["a"])(bt,it,ot,!1,null,"4d488482",null)),vt=wt.exports,yt=n("cbd9"),Ct=n.n(yt),St=n("0278"),It=n.n(St),xt=n("e7fa"),Ot=n.n(xt),Tt=n("7da9"),Et=n.n(Tt),Lt=n("2413"),At=n.n(Lt),Nt={name:"ConfigContainer",data(){return{jsonParser:Le,backupId:localStorage[u["localStorageKeys"].BACKUP_ID]||"",appVersion:"1.3.6"}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:Ge,CustomCssEditor:at,RebuildApp:vt,DownloadIcon:Ct.a,DeleteIcon:It.a,EditIcon:Ot.a,CloudIcon:be.a,CustomCssIcon:Et.a,RebuildIcon:mt.a,IconAbout:At.a},methods:{goToEdit(){const e=this.$refs.tabView.navItems[2];this.$refs.tabView.activeTabItem({tabItem:e,byUser:!0})},goToMetaEdit(){const e=this.$refs.tabView.navItems[3];this.$refs.tabView.activeTabItem({tabItem:e,byUser:!0})},goToCustomCss(){const e=this.$refs.tabView.navItems[3];this.$refs.tabView.activeTabItem({tabItem:e,byUser:!0})},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(){Ce.a.registerLanguage("yaml",Ie.a);const e=Ce.a.highlight(this.jsonParser(this.config),{language:"yaml"}).value;document.getElementById("conf-yaml").innerHTML=e}},jt=Nt,zt=(n("8d80"),n("1d47"),Object(v["a"])(jt,we,ve,!1,null,"3cfec9e9",null)),Mt=zt.exports,Pt=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)])},Bt=[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")])])])}],Ht=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)}}})])},Dt=[],$t={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)}}},Vt=$t,Ut=(n("2d25"),Object(v["a"])(Vt,Ht,Dt,!1,null,"5df13ed2",null)),Rt=Ut.exports,Ft=n("3a1e"),Kt=n.n(Ft),qt=n("e6a4"),Wt=n.n(qt),Jt=n("c198"),Gt=n.n(Jt),Yt=n("f8d5"),Xt=n.n(Yt);const Zt=u["backupEndpoint"],Qt=(e,t)=>{const n=JSON.stringify(e),a=Gt.a.encrypt(n,t);return a.toString()},en=(e,t)=>Gt.a.decrypt(e,t).toString(Xt.a),tn=e=>Be()(e).toString().slice(0,14),nn=(e,t)=>Ke.a.post(Zt,{userData:Qt(e,t),subHash:tn(t)}),an=(e,t,n)=>Ke.a.put(Zt,{backupId:n,userData:Qt(e,t),subHash:tn(t)}),on=e=>Object.entries(e).map(e=>e.map(encodeURIComponent).join("=")).join("&"),sn=(e,t)=>{const n=on({backupId:e,subHash:tn(t)}),a=`${Zt}/?${n}`;return new Promise((e,n)=>{Ke.a.get(a).then(a=>{if(!a.data||a.data.errorMsg)n(a.data.errorMsg||"Error");else{const o=en(a.data.userData.userData,t);try{e(JSON.parse(o))}catch(i){n(i)}}})})};var rn={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[u["localStorageKeys"].BACKUP_ID]||""}},components:{Button:dt,Input:Rt,IconBackup:Kt.a,IconRestore:Wt.a},methods:{restoreBackup(){sn(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(){nn(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(){an(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 Be()(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)}}},ln=rn,cn=(n("baed"),Object(v["a"])(ln,Pt,Bt,!1,null,"763657f4",null)),_n=cn.exports,dn={name:"ConfigLauncher",data(){return{modalNames:u["modalNames"]}},components:{IconSpanner:fe.a,IconCloud:be.a,ConfigContainer:Mt,CloudBackupRestore:_n},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}}}},un=dn,mn=(n("9c85"),Object(v["a"])(un,he,pe,!1,null,"383db9de",null)),hn=mn.exports,pn=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()},gn=[];const fn=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 kn=fn,bn={name:"ThemeSelector",props:{themes:Object,confTheme:String,userThemes:Array},watch:{selectedTheme(e){this.updateTheme(e)}},data(){return{selectedTheme:this.getInitialTheme(),themeHelper:new kn,loading:!0,builtInThemes:this.userThemes.concat(u["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!==u["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||u["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")}}},wn=bn,vn=(n("4ade"),Object(v["a"])(wn,pn,gn,!1,null,null,null)),yn=vn.exports,Cn=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)])},Sn=[],In=n("c715"),xn=n.n(In),On=n("570d"),Tn=n.n(On),En=n("f9d7"),Ln=n.n(En),An={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:xn.a,IconHorizontal:Tn.a,IconVertical:Ln.a},methods:{updateDisplayLayout(e){this.$emit("layoutUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Nn=An,jn=(n("7dc7"),Object(v["a"])(Nn,Cn,Sn,!1,null,"c819d738",null)),zn=jn.exports,Mn=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)])},Pn=[],Bn=n("d8e8"),Hn=n.n(Bn),Dn=n("7075"),$n=n.n(Dn),Vn=n("922c"),Un=n.n(Vn),Rn={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:Hn.a,IconMedium:$n.a,IconLarge:Un.a},methods:{updateIconSize(e){this.$emit("iconSizeUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Fn=Rn,Kn=(n("47d9"),Object(v["a"])(Fn,Mn,Pn,!1,null,"58966274",null)),qn=Kn.exports,Wn=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)])},Jn=[],Gn=n("0123"),Yn=n.n(Gn),Xn={name:"AppButtons",components:{IconLogout:Yn.a},methods:{logout(){Ue(),this.$toasted.show("Logged Out"),setTimeout(()=>{location.reload(!0)},500)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Zn=Xn,Qn=(n("0e1b"),Object(v["a"])(Zn,Wn,Jn,!1,null,"d69dca9c",null)),ea=Qn.exports,ta=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 🥳 ")])])])},na=[],aa={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))}},ia=aa,oa=(n("9517"),Object(v["a"])(ia,ta,na,!1,null,"c5f17d9a",null)),sa=oa.exports,ra=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)])},la=[],ca={name:"AppInfoModal",data(){return{modalName:u["modalNames"].ABOUT_APP,appVersion:"1.3.6",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.6",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}}}},_a=ca,da=(n("6c13"),Object(v["a"])(_a,ra,la,!1,null,"40e473c3",null)),ua=da.exports,ma=n("5703"),ha=n.n(ma),pa=n("5f32"),ga=n.n(pa),fa={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,availableThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:me,ConfigLauncher:hn,ThemeSelector:yn,LayoutSelector:zn,ItemSizeSelector:qn,AppButtons:ea,KeyboardShortcutInfo:sa,AppInfoModal:ua,IconOpen:ha.a,IconClose:ga.a},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(){Ue(),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]||u["visibleComponents"].settings)}},data(){return{searchVisible:u["visibleComponents"].searchBar,settingsVisible:this.getSettingsVisibility()}}},ka=fa,ba=(n("383d"),Object(v["a"])(ka,oe,se,!1,null,"76869370",null)),wa=ba.exports,va=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)},ya=[],Ca=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)},Sa=[],Ia=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)},xa=[],Oa=n("9635"),Ta=n.n(Oa),Ea=n("e0a2"),La=n.n(Ea),Aa=n("492d"),Na={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:Ta.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 La.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(Aa[e])return Aa[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,W(`The path to '${this.icon}' could not be resolved`)}}},ja=Na,za=(n("de40"),Object(v["a"])(ja,Ia,xa,!1,null,null,null)),Ma=za.exports,Pa=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)},Ba=[],Ha=n("237e"),Da=n.n(Ha),$a=n("2352"),Va=n.n($a),Ua=n("1946"),Ra=n.n(Ua),Fa=n("3b49"),Ka=n.n(Fa),qa={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:Da.a,SameTabOpenIcon:Va.a,IframeOpenIcon:Ra.a,WorkspaceOpenIcon:Ka.a}},Wa=qa,Ja=(n("48f9"),Object(v["a"])(Wa,Pa,Ba,!1,null,"bd61f3bc",null)),Ga=Ja.exports,Ya=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)])])},Xa=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("span",[n("span")])}],Za={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)}},Qa=Za,ei=(n("e697"),n("45d4"),Object(v["a"])(Qa,Ya,Xa,!1,null,"46972ad8",null)),ti=ei.exports,ni=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()])},ai=[],ii={name:"ContextMenu",inject:["config"],components:{SameTabOpenIcon:Va.a,NewTabOpenIcon:Da.a,IframeOpenIcon:Ra.a,WorkspaceOpenIcon:Ka.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}}},oi=ii,si=(n("6850"),Object(v["a"])(oi,ni,ai,!1,null,null,null)),ri=si.exports,li={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:Ma,ItemOpenMethodIcon:Ga,StatusIndicator:ti,ContextMenu:ri},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.6",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=this.statusCheckUrl||this.url,n=this.statusCheckHeaders||{},a=`${e}/ping?url=${t}`;Ke.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":To.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)}},ci=li,_i=(n("826e"),n("f719"),Object(v["a"])(ci,Ca,Sa,!1,null,null,null)),di=_i.exports,ui=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)])])},mi=[],hi={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:Ma},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)}}},pi=hi,gi=(n("eb58"),Object(v["a"])(pi,ui,mi,!1,null,"ac1beaa4",null)),fi=gi.exports,ki=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")])])},bi=[],wi={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)}}},vi=wi,yi=(n("eda6"),Object(v["a"])(vi,ki,bi,!1,null,null,null)),Ci=yi.exports,Si={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:fi,Item:di,IframeModal:Ci},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}}},Ii=Si,xi=(n("c8df"),Object(v["a"])(Ii,va,ya,!1,null,"57f8b54c",null)),Oi=xi.exports,Ti={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:wa,ItemGroup:Oi},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{layoutOrientation:{get(){return this.appConfig.layout||u["layout"]},set:function(e){localStorage.setItem(u["localStorageKeys"].LAYOUT_ORIENTATION,e),this.layout=e}},iconSize:{get(){return this.appConfig.iconSize||u["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||u["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}},Ei=Ti,Li=(n("846f"),Object(v["a"])(Ei,ae,ie,!1,null,"d247608c",null)),Ai=Li.exports,Ni=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)])},ji=[],zi={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:dt,Input:Rt},methods:{submitLogin(){const e=this.timeout.time||0,t=$e(this.username,this.password,this.appConfig.auth||[]);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(Ve(this.username,this.password,e),setTimeout(()=>{To.push({path:"/"})},250))},setTheme(){const e=localStorage[u["localStorageKeys"].THEME]||u["theme"];document.getElementsByTagName("html")[0].setAttribute("data-theme",e)}},created(){this.setTheme()}},Mi=zi,Pi=(n("206d6"),Object(v["a"])(Mi,Ni,ji,!1,null,null,null)),Bi=Pi.exports,Hi=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)},Di=[],$i=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)},Vi=[],Ui=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)},Ri=[],Fi={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:Ma},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}}}}},Ki=Fi,qi=(n("5e61"),Object(v["a"])(Ki,Ui,Ri,!1,null,"d979f4fe",null)),Wi=qi.exports,Ji=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)},Gi=[],Yi={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:Wi},methods:{launchApp(e){this.$emit("launch-app",e)}}},Xi=Yi,Zi=(n("cf1c"),Object(v["a"])(Xi,Ji,Gi,!1,null,"56ddb963",null)),Qi=Zi.exports,eo={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:Wi,SideBarSection:Qi},methods:{openSection(e){this.isOpen=this.isOpen.map((t,n)=>n===e&&!t)},launchApp(e){this.$emit("launch-app",e)}}},to=eo,no=(n("85e1"),Object(v["a"])(to,$i,Vi,!1,null,"31476576",null)),ao=no.exports,io=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"web-content"},[n("iframe",{attrs:{src:e.url}})])},oo=[],so={name:"WebContent",props:{url:String}},ro=so,lo=(n("44e9"),Object(v["a"])(ro,io,oo,!1,null,"a2564c04",null)),co=lo.exports,_o={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:""}),components:{SideBar:ao,WebContent:co},methods:{launchApp(e){this.url=e},setTheme(){const e=localStorage[u["localStorageKeys"].THEME]||this.confTheme||u["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||u["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()}},uo=_o,mo=(n("9445"),Object(v["a"])(uo,Hi,Di,!1,null,"0969b753",null)),ho=mo.exports,po=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)))])])},go=[],fo={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:Le}}},ko=fo,bo=(n("6cd5"),Object(v["a"])(ko,po,go,!1,null,"33cd2d90",null)),wo=bo.exports;a["a"].use(ne["a"]);const vo=new Y,yo={appConfig:vo.appConfig(),pageInfo:vo.pageInfo(),sections:vo.sections()},Co=e=>"string"!==typeof e?"":e.charAt(0).toUpperCase()+e.slice(1),So=()=>{const e=yo.appConfig.additionalConfigFiles||[],t=[];return e.forEach(e=>{const n=new Y(e),a=e.split(".")[0];t.push({path:"/home/"+a,name:"home-"+a,component:Ai,props:{appConfig:n.appConfig(),pageInfo:n.pageInfo(),sections:n.sections()},meta:{title:Co(a)||"Home Page",metaTags:u["metaTagData"]}})}),t},Io=()=>{const e=yo.appConfig.auth;return!e||De(e)},xo=new ne["a"]({routes:[{path:"/",name:"home",alias:"/home",component:Ai,props:yo,meta:{title:yo.pageInfo.title||"Home Page",metaTags:u["metaTagData"]}},{path:"/workspace",name:"workspace",component:ho,props:yo,meta:{title:yo.pageInfo.title||"Dashy Workspace",metaTags:u["metaTagData"]}},{path:"/login",name:"login",component:Bi,props:{appConfig:yo.appConfig},beforeEnter:(e,t,n)=>{Io()&&xo.push({path:"/"}),n()}},{path:"/about",name:"about",component:()=>n.e("about").then(n.bind(null,"f820"))},{path:"/download",name:"download",component:wo,props:yo,meta:{title:yo.pageInfo.title||"Download Dashy Config",metaTags:u["metaTagData"]}},...So()]});xo.beforeEach((e,t,n)=>{"login"===e.name||Io()?n():n({name:"login"})});const Oo="Dashy";xo.afterEach(e=>{a["a"].nextTick(()=>{document.title=e.meta.title||Oo})});var To=xo,Eo=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)}},Ao=()=>{let e=!0;return G.a&&G.a.appConfig&&G.a.appConfig.disableServiceWorker&&(e=!1,Lo({disabledByUser:!0})),e},No=()=>{Ao()&&Object(Eo["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 jo=No;const zo=[];function Mo(e,t,n){const{target:a}=e;t===a||t.contains(a)||n(e)}var Po={bind(e,t){const n=e;n.dataset.outsideClickIndex=zo.length;const a=t.value,i=e=>{Mo(e,n,a)};document.addEventListener("click",i),document.addEventListener("touchstart",i),zo.push(i)},unbind(e){if(!e.dataset)return;const t=e.dataset.outsideClickIndex,n=zo[t];document.removeEventListener("click",n),zo.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",Po),a["a"].config.productionTip=!1,jo(),new a["a"]({router:To,render:e=>e(te)}).$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){},"5a52":function(e,t,n){},"5c0b":function(e,t,n){"use strict";n("9c0c")},"5cc6":function(e,t){const n=e=>{const t=document.URL.split("/"),n=t[t.length-1];return""!==n?`${n}_${e}`:e};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:n("layoutOrientation"),COLLAPSE_STATE:n("collapseState"),ICON_SIZE:n("iconSize"),THEME:n("theme"),CONF_SECTIONS:n("confSections"),PAGE_INFO:n("pageInfo"),APP_CONFIG:n("appConfig"),BACKUP_ID:n("backupId"),BACKUP_HASH:n("backupHash"),HIDE_SETTINGS:n("hideSettings"),USERNAME:n("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")},"6c6d":function(e,t,n){},"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"},"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"},"showSplashScreen":{"type":"boolean","default":false,"description":"Display a loading screen when the app is launched"},"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"}}}},"additionalConfigFiles":{"type":"array","items":{"type":"string"},"default":[],"description":"Can be used in order to have multiple pages. Store config files in /public/configs/*.conf.yml and reference full file names (without path) here."},"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){},"836d":function(e,t,n){"use strict";n("ba34")},"846f":function(e,t,n){"use strict";n("6c6d")},"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){},"8d80":function(e,t,n){"use strict";n("5a52")},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){},9445:function(e,t,n){"use strict";n("d9b7")},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){},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){},b59f:function(e,t,n){"use strict";n("50dd")},b993:function(e,t,n){},ba34: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"}})]))}}},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")},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"}})]))}}},d9b7:function(e,t,n){},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){}});
-//# sourceMappingURL=dashy.f4ea20c4.js.map
\ No newline at end of file
diff --git a/js/dashy.f4ea20c4.js.map b/js/dashy.f4ea20c4.js.map
deleted file mode 100644
index 8e353476..00000000
--- a/js/dashy.f4ea20c4.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"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/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/components/Settings/SettingsContainer.vue?c153","webpack:///./src/assets/interface-icons/config-backup.svg","webpack:///./src/assets/interface-icons/open-workspace.svg","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/App.vue?edb9","webpack:///./src/components/PageStrcture/Header.vue?3ad5","webpack:///./src/components/PageStrcture/PageTitle.vue?7b5b","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?0e8c","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?8850","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?799f","webpack:///src/components/PageStrcture/LoadingScreen.vue","webpack:///./src/components/PageStrcture/LoadingScreen.vue?96ea","webpack:///./src/components/PageStrcture/LoadingScreen.vue","webpack:///./src/utils/ErrorHandler.js","webpack:///./src/utils/ConfigAccumalator.js","webpack:///src/App.vue","webpack:///./src/App.vue?382d","webpack:///./src/App.vue","webpack:///./src/views/Home.vue?76a5","webpack:///./src/components/Settings/SettingsContainer.vue?f81e","webpack:///./src/components/Settings/SearchBar.vue?48c0","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?bba7","webpack:///./src/components/Configuration/ConfigContainer.vue?3b2f","webpack:///./src/utils/JsonToYaml.js","webpack:///./src/components/Configuration/JsonEditor.vue?a1f2","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?45d4","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?c0c3","webpack:///./src/components/FormElements/Button.vue?5895","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?1fef","webpack:///./src/components/FormElements/Input.vue?6941","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?0585","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?0c17","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?1b9d","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?3684","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?a9ae","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?a9d9","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?301e","webpack:///./src/components/LinkItems/Item.vue?7e35","webpack:///./src/components/LinkItems/ItemIcon.vue?68d4","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?3843","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?39e7","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?6b78","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?294b","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?b6fa","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?303c","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?8434","webpack:///./src/views/Login.vue","webpack:///./src/views/Workspace.vue?f67b","webpack:///./src/components/Workspace/SideBar.vue?2fca","webpack:///./src/components/Workspace/SideBarItem.vue?cd47","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?3478","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?65c4","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?e0f6","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/PageStrcture/Header.vue?23c2","webpack:///./src/views/Home.vue?22a0","webpack:///./src/components/Workspace/SideBar.vue?34c4","webpack:///./public/conf.yml","webpack:///./src/components/Configuration/ConfigContainer.vue?06b3","webpack:///./src/assets/interface-icons/icon-size-large.svg","webpack:///./src/views/Workspace.vue?f133","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/PageStrcture/Nav.vue?2c12","webpack:///./src/components/Configuration/CloudBackupRestore.vue?5526","webpack:///./src/assets/interface-icons/layout-default.svg","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/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"],"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","shouldHidePageComponents","pageInfo","showFooter","getFooterText","staticRenderFns","title","description","getNavLinks","_s","props","String","component","_l","link","index","path","isUrl","links","Array","methods","inject","components","PageTitle","Nav","hiddenComponents","titleVisible","navVisible","pageLinks","appConfig","additionalConfigFiles","forEach","pageLink","split","navLinks","text","domProps","authorUrl","authorName","licenseUrl","license","showCopyright","date","repoUrl","on","$event","ErrorHandler","msg","warn","ConfigAccumulator","constructor","filePath","loadAdditionalConfig","conf","importedConf","require","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","Header","Footer","LoadingScreen","provide","usersCss","textContent","append","showSplashScreen","computed","$route","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","goToEdit","goToCustomCss","openCloudSync","backupId","openRebuildAppModal","resetLocalSettings","openAboutModal","appVersion","copyConfigToClipboard","trimWhitespace","map","x","trimRight","join","throwError","stringify","indentLevel","handlers","null","number","boolean","string","array","output","y","handler","typeOf","inArray","rootNode","keys","k","val","function","options","model","callback","$$v","jsonData","allowWriteToDisk","_q","saveMode","isValid","save","errorMessages","saveSuccess","responseText","generateUserToken","user","sha256","toString","toLowerCase","isLoggedIn","users","validTokens","userAuthenticated","cookie","cookieKey","trim","cookieValue","cookieKeys","AUTH_TOKEN","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","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","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","searchVisible","getSettingsVisibility","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","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","query","decodeURI","Vue","use","Router","capitalize","charAt","toUpperCase","makeRoutesForAdditionalPages","additionalPages","additionalRoutes","additionalConfig","additionalAccumulator","routeName","Home","meta","metaTags","metaTagData","isAuthenticated","router","routes","alias","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","appendRouteId","UrlParts","URL","currentRoute","visibleComponents","pageTitle","navigation","searchBar","settings","footer","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.f4ea20c4.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\":\"1f33f68e\"}[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&\"","\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 ","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=76869370&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-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 ","\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&\"","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(),(!_vm.shouldHidePageComponents())?_c('Header',{attrs:{\"pageInfo\":_vm.pageInfo}}):_vm._e(),_c('router-view'),(_vm.showFooter && !_vm.shouldHidePageComponents())?_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.getNavLinks()}}):_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 {{ title }}
\n {{ description }}\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!./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\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=1bdf8329&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=1bdf8329&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 \"1bdf8329\",\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!./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=b3beddd2&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=b3beddd2&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 \"b3beddd2\",\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\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
Dashy
\n
\n
Loading
\n
\n \n \n \n \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!./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","/* 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, error = 'No stack trace provided') {\n console.warn(msg, error);\n};\n\nexport default ErrorHandler;\n","/**\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 */\nimport {\n localStorageKeys,\n appConfig as defaultAppConfig,\n layout as defaultLayout,\n iconSize as defaultIconSize,\n pageInfo as defaultPageInfo,\n} from '@/utils/defaults';\nimport ErrorHandler from '@/utils/ErrorHandler';\nimport conf from '../../public/conf.yml';\n\nexport default class ConfigAccumulator {\n constructor(filePath) {\n if (filePath) { // Custom config path passed in\n this.loadAdditionalConfig(filePath);\n } else { // We are using the default config\n this.conf = conf;\n }\n }\n\n /**\n * If we're loading the config for any page other than the default (conf.yml)\n * then this function handles the importing and checking of additional configs.\n * This feature is only used when the user has multiple pages and config files.\n */\n loadAdditionalConfig(filePath) {\n try {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const importedConf = require(`../../public/configs/${filePath}`);\n // Ensure user isn't trying to import anything funky\n if (typeof importedConf === 'object') {\n this.conf = importedConf;\n } else {\n this.conf = conf;\n }\n } catch (e) { // Unable to read input config, fallback to the main conf.yml file\n this.conf = conf;\n ErrorHandler(`Unable to read this pages config file using ${filePath}`, e);\n }\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\n/**\n * Returns the complete configuration, as JSON\n */\nexport const config = (() => {\n const Accumulator = new ConfigAccumulator();\n return Accumulator.config();\n})();\n","\n \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!./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=597b17e7&\"\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\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($event){return _vm.goToEdit()}}},[_c('EditIcon',{staticClass:\"button-icon\"}),_vm._v(\" Edit Config \")],1),_c('button',{staticClass:\"config-button center\",on:{\"click\":function($event){return _vm.goToCustomCss()}}},[_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. 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
\n
Save Location:\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n - \n {{error.msg}}\n
\n - \n Config is Valid\n
\n
\n \n \n
\n {{saveSuccess ? 'Task Complete' : 'Task Failed'}}\n
\n
{{ responseText }}
\n
\n The app should rebuild automatically.\n You will need to refresh the page for changes to take effect.\n
\n
\n It is recommend to backup your existing confiruration before making any changes.\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!./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=2ec9c242&\"\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 Note: You will need to refresh the page for your changes to take effect.\n Styles overides are only stored locally, so it is reccomended to make a copy of your CSS.\n To remove all custom styles, delete the contents and hit Save Changes\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!./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\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
Rebuild Application
\n
\n A rebuild is required for changes written to the conf.yml file to take effect.\n This should happen automatically, but if it hasn't, you can manually trigger it here.
\n This is not required for modifications stored locally.\n
\n
\n
\n
You do no have permission to trigger this action
\n
\n \n
\n
\n
This may take a few minutes...
\n
\n \n
\n
✅ Build completed succesfully
\n
❌ Build operation failed
\n
{{ output || error }}
\n
{{ message }}
\n
\n A page reload is now required for changes to take effect\n
\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!./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
Configuration Options
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n You are using a very small screen, and some screens in this menu may not be optimal\n
\n
Dashy version {{ appVersion }}
\n
\n \n It is recommend to make a backup of your conf.yml file before making changes.\n \n
\n
\n \n \n \n \n {{yaml}}
\n \n \n \n \n \n \n \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!./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=3cfec9e9&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=3cfec9e9&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 \"3cfec9e9\",\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\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
Cloud Backup & Restore
\n
\n Cloud backup and restore is an optional feature, that enables you to upload your\n config to the internet, and then restore it on any other device or instance of Dashy.\n
\n All data is fully end-to-end encrypted with AES, using your password as the key.\n
\n For more info, please see the\n docs\n
\n
\n
\n
Update Backup
\n
Make a Backup
\n
\n
\n
\n
Your Backup ID: \n
{{ backupId }}
\n
\n This is used to restore from backups later.\n So keep it, along with your password somewhere safe.\n \n
\n
\n
\n
Restore a Backup
\n \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
Config\n
\n \n \n
\n\n \n
\n \n \n\n \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!./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 Theme\n \n
\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--11-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemeSelector.vue?vue&type=template&id=83c03cd0&\"\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
Layout\n
\n \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!./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
Icon Size\n
\n \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!./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\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
There are keyboard shortcuts! ⌨️🙌
\n
x
\n
\n Just start typing to filter. Then use the tab key to cycle through results,\n and press enter to launch the selected item, or alt + enter to open in a modal.\n You can hit Esc at anytime to clear the search. Easy 🥳\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!./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 Dashy V{{ appVersion }}
\n \n
Service Worker Status
\n
{{ serviceWorkerInfo }}
\n
\n
Config Validation Status
\n
{{getIsConfigValidStatus()}}
\n
\n
Help & Support
\n
\n
Please include the following info in your bug report:
\n
{{ showInfo ? 'Hide' : 'Show'}} system info\n
\n
System Info
\n Dashy Version: V {{appVersion}}
\n Browser: {{systemInfo.browser}}
\n Is Mobile? {{systemInfo.isMobile ? 'Yes' : 'No'}}
\n OS: {{systemInfo.os}}
\n \n
About
\n
\n Documentation and Source Code available on\n GitHub\n
\n
License
\n
Licensed under MIT X11. Copyright © 2021
\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!./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\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=76869370&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=76869370&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 \"76869370\",\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 }","\n \n
\n
{{getEmoji(iconPath)}}\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!./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 \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!./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\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\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\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
\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!./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 }","\n \n Close
\n x\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!./IframeModal.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!./IframeModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./IframeModal.vue?vue&type=template&id=08cda45c&\"\nimport script from \"./IframeModal.vue?vue&type=script&lang=js&\"\nexport * from \"./IframeModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IframeModal.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 No Items to Show Yet\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!./ItemGroup.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!./ItemGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ItemGroup.vue?vue&type=template&id=57f8b54c&scoped=true&\"\nimport script from \"./ItemGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./ItemGroup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ItemGroup.vue?vue&type=style&index=0&id=57f8b54c&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 \"57f8b54c\",\n null\n \n)\n\nexport default component.exports","\n \n \n
\n \n
\n \n
\n \n
\n {{searchValue ? 'No Search Results' : 'No Data Configured'}}\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!./Home.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!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=d247608c&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=d247608c&lang=scss&scoped=true&\"\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 \"d247608c\",\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:\"login-page\"},[_c('form',{staticClass:\"login-form\"},[_c('h2',{staticClass:\"login-title\"},[_vm._v(\"Dashy\")]),_c('Input',{staticClass:\"login-field username\",attrs:{\"label\":\"Username\",\"type\":\"text\"},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('Input',{staticClass:\"login-field password\",attrs:{\"label\":\"Password\",\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('label',[_vm._v(\"Remember me for\")]),_c('v-select',{staticClass:\"login-time-dropdown\",attrs:{\"options\":_vm.dropDownMenu,\"label\":\"label\",\"selectOnTab\":true},model:{value:(_vm.timeout),callback:function ($$v) {_vm.timeout=$$v},expression:\"timeout\"}}),_c('Button',{staticClass:\"login-button\",attrs:{\"click\":_vm.submitLogin}},[_vm._v(\"Login\")]),_c('transition',{attrs:{\"name\":\"bounce\"}},[_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],class:(\"login-error-message \" + _vm.status)},[_vm._v(_vm._s(_vm.message))])])],1)])}\nvar staticRenderFns = []\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!./Login.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!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=067e89b6&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.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:\"work-space\"},[_c('SideBar',{attrs:{\"sections\":_vm.sections},on:{\"launch-app\":_vm.launchApp}}),_c('WebContent',{attrs:{\"url\":_vm.url}})],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('nav',{staticClass:\"side-bar\"},_vm._l((_vm.sections),function(section,index){return _c('div',{key:index},[_c('div',{staticClass:\"side-bar-item-container\",on:{\"click\":function($event){return _vm.openSection(index)}}},[_c('SideBarItem',{staticClass:\"item\",attrs:{\"icon\":section.icon,\"title\":section.name}})],1),_c('transition',{attrs:{\"name\":\"slide\"}},[(_vm.isOpen[index])?_c('SideBarSection',{attrs:{\"items\":section.items},on:{\"launch-app\":_vm.launchApp}}):_vm._e()],1)],1)}),0)}\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',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],class:(\"side-bar-item \" + (_vm.icon ? 'w-icon' : 'text-only')),on:{\"click\":function($event){return _vm.itemClicked()}}},[(_vm.icon)?_c('Icon',{attrs:{\"icon\":_vm.icon,\"size\":\"small\",\"url\":_vm.url}}):_c('p',{staticClass:\"small-title\"},[_vm._v(_vm._s(_vm.title))])],1)}\nvar staticRenderFns = []\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!./SideBarItem.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!./SideBarItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBarItem.vue?vue&type=template&id=d979f4fe&scoped=true&\"\nimport script from \"./SideBarItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBarItem.vue?vue&type=style&index=0&id=d979f4fe&lang=scss&scoped=true&\"\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 \"d979f4fe\",\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:\"sub-side-bar\"},_vm._l((_vm.items),function(item,index){return _c('div',{key:index},[_c('SideBarItem',{staticClass:\"item\",attrs:{\"icon\":item.icon,\"title\":item.title,\"url\":item.url},on:{\"launch-app\":_vm.launchApp}})],1)}),0)}\nvar staticRenderFns = []\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!./SideBarSection.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!./SideBarSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBarSection.vue?vue&type=template&id=56ddb963&scoped=true&\"\nimport script from \"./SideBarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBarSection.vue?vue&type=style&index=0&id=56ddb963&lang=scss&scoped=true&\"\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 \"56ddb963\",\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!./SideBar.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!./SideBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SideBar.vue?vue&type=template&id=31476576&scoped=true&\"\nimport script from \"./SideBar.vue?vue&type=script&lang=js&\"\nexport * from \"./SideBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SideBar.vue?vue&type=style&index=0&id=31476576&lang=scss&scoped=true&\"\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 \"31476576\",\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:\"web-content\"},[_c('iframe',{attrs:{\"src\":_vm.url}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./WebContent.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!./WebContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WebContent.vue?vue&type=template&id=a2564c04&scoped=true&\"\nimport script from \"./WebContent.vue?vue&type=script&lang=js&\"\nexport * from \"./WebContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WebContent.vue?vue&type=style&index=0&id=a2564c04&lang=scss&scoped=true&\"\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 \"a2564c04\",\n null\n \n)\n\nexport default component.exports","\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!./Workspace.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!./Workspace.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Workspace.vue?vue&type=template&id=0969b753&scoped=true&\"\nimport script from \"./Workspace.vue?vue&type=script&lang=js&\"\nexport * from \"./Workspace.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Workspace.vue?vue&type=style&index=0&id=0969b753&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 \"0969b753\",\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('pre',[_c('code',[_vm._v(_vm._s(_vm.jsonParser(_vm.config)))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n {{ jsonParser(config) }}
\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!./DownloadConfig.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!./DownloadConfig.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DownloadConfig.vue?vue&type=template&id=33cd2d90&scoped=true&\"\nimport script from \"./DownloadConfig.vue?vue&type=script&lang=js&\"\nexport * from \"./DownloadConfig.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DownloadConfig.vue?vue&type=style&index=0&id=33cd2d90&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 \"33cd2d90\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Router from 'vue-router';\n\nimport Home from '@/views/Home.vue';\nimport Login from '@/views/Login.vue';\nimport Workspace from '@/views/Workspace.vue';\nimport DownloadConfig from '@/views/DownloadConfig.vue';\nimport { isLoggedIn } from '@/utils/Auth';\nimport ConfigAccumulator from '@/utils/ConfigAccumalator';\nimport { metaTagData } from '@/utils/defaults';\n\nVue.use(Router);\n\nconst Accumulator = new ConfigAccumulator();\nconst config = {\n appConfig: Accumulator.appConfig(),\n pageInfo: Accumulator.pageInfo(),\n sections: Accumulator.sections(),\n};\n\nconst capitalize = (s) => {\n if (typeof s !== 'string') return '';\n return s.charAt(0).toUpperCase() + s.slice(1);\n};\n\n/* Create routes for any additional config files */\nconst makeRoutesForAdditionalPages = () => {\n const additionalPages = config.appConfig.additionalConfigFiles || [];\n const additionalRoutes = [];\n // For each additional page, create a route\n additionalPages.forEach((additionalConfig) => {\n const additionalAccumulator = new ConfigAccumulator(additionalConfig);\n const routeName = additionalConfig.split('.')[0];\n additionalRoutes.push({\n path: `/home/${routeName}`,\n name: `home-${routeName}`,\n component: Home,\n props: {\n appConfig: additionalAccumulator.appConfig(),\n pageInfo: additionalAccumulator.pageInfo(),\n sections: additionalAccumulator.sections(),\n },\n meta: {\n title: capitalize(routeName) || 'Home Page',\n metaTags: metaTagData,\n },\n });\n });\n return additionalRoutes;\n};\n\nconst isAuthenticated = () => {\n const users = config.appConfig.auth;\n return (!users || isLoggedIn(users));\n};\n\nconst router = new Router({\n routes: [\n {\n path: '/',\n name: 'home',\n alias: '/home',\n component: Home,\n props: config,\n meta: {\n title: config.pageInfo.title || 'Home Page',\n metaTags: metaTagData,\n },\n },\n {\n path: '/workspace',\n name: 'workspace',\n component: Workspace,\n props: config,\n meta: {\n title: config.pageInfo.title || 'Dashy Workspace',\n metaTags: metaTagData,\n },\n },\n {\n path: '/login',\n name: 'login',\n component: Login,\n props: {\n appConfig: config.appConfig,\n },\n beforeEnter: (to, from, next) => {\n if (isAuthenticated()) router.push({ path: '/' });\n next();\n },\n },\n {\n path: '/about',\n name: 'about',\n component: () => import(/* webpackChunkName: \"about\" */ './views/About.vue'),\n },\n {\n path: '/download',\n name: 'download',\n component: DownloadConfig,\n props: config,\n meta: {\n title: config.pageInfo.title || 'Download Dashy Config',\n metaTags: metaTagData,\n },\n },\n ...makeRoutesForAdditionalPages(),\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n if (to.name !== 'login' && !isAuthenticated()) next({ name: 'login' });\n else next();\n});\n\nconst defaultTitle = 'Dashy';\nrouter.afterEach((to) => {\n Vue.nextTick(() => {\n document.title = to.meta.title || defaultTitle;\n });\n});\n\nexport default router;\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker';\nimport { sessionStorageKeys } from './utils/defaults';\nimport conf from '../public/conf.yml';\n\n/* Sets a local storage item with the state from the SW lifecycle */\nconst setSwStatus = (swStateToSet) => {\n const initialSwState = {\n ready: false,\n registered: false,\n cached: false,\n updateFound: false,\n updated: false,\n offline: false,\n error: false,\n devMode: false,\n disabledByUser: false,\n };\n const sessionData = sessionStorage[sessionStorageKeys.SW_STATUS];\n const currentSwState = sessionData ? JSON.parse(sessionData) : initialSwState;\n try {\n const newSwState = { ...currentSwState, ...swStateToSet };\n sessionStorage.setItem(sessionStorageKeys.SW_STATUS, JSON.stringify(newSwState));\n } catch (e) {\n console.warn('Error setting SW data', e);\n }\n};\n\n/**\n * Checks if service workers should be enabled\n * Disable if not running in production\n * Or disable if user specified to disable\n */\nconst shouldEnableServiceWorker = () => {\n let shouldEnable = true;\n if (conf && conf.appConfig) { // Check if app Config available\n if (conf.appConfig.disableServiceWorker) { // Disable if user requested\n shouldEnable = false;\n setSwStatus({ disabledByUser: true });\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n shouldEnable = false; // Disable if not in production\n setSwStatus({ devMode: true });\n }\n return shouldEnable;\n};\n\nconst registerServiceWorker = () => {\n if (shouldEnableServiceWorker()) {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n setSwStatus({ ready: true });\n console.log(\n 'App is being served from cache by a service worker.\\n'\n + 'For more details, visit https://goo.gl/AFskqB',\n );\n },\n registered() {\n setSwStatus({ registered: true });\n console.log('Service worker has been registered.');\n },\n cached() {\n setSwStatus({ cached: true });\n console.log('Content has been cached for offline use.');\n },\n updatefound() {\n setSwStatus({ updateFound: true });\n console.log('New content is downloading.');\n },\n updated() {\n setSwStatus({ updated: true });\n console.log('New content is available; please refresh.');\n },\n offline() {\n setSwStatus({ offline: true });\n console.log('No internet connection found. App is running in offline mode.');\n },\n error(error) {\n setSwStatus({ error: true });\n console.error('Error during service worker registration:', error);\n },\n });\n }\n};\n\nexport default registerServiceWorker;\n","/**\n * A simple Vue directive to trigger an event when the user\n * clicks anywhere other than the specified element.\n * Used to close context menu's popup menus and tips.\n */\n\nconst instances = [];\n\nfunction onDocumentClick(e, el, fn) {\n const { target } = e;\n if (el !== target && !el.contains(target)) {\n fn(e);\n }\n}\n\nexport default {\n bind(element, binding) {\n const el = element;\n el.dataset.outsideClickIndex = instances.length;\n\n const fn = binding.value;\n const click = (e) => {\n onDocumentClick(e, el, fn);\n };\n\n document.addEventListener('click', click);\n document.addEventListener('touchstart', click);\n instances.push(click);\n },\n unbind(el) {\n if (!el.dataset) return;\n const index = el.dataset.outsideClickIndex;\n const handler = instances[index];\n document.removeEventListener('click', handler);\n instances.splice(index, 1);\n },\n};\n","import Vue from 'vue';\n\n/* Import component Vue plugins, used throughout the app */\nimport VTooltip from 'v-tooltip'; // A Vue directive for Popper.js, tooltip component\nimport VModal from 'vue-js-modal'; // Modal component\nimport VSelect from 'vue-select'; // Select dropdown component\nimport VTabs from 'vue-material-tabs'; // Tab view component, used on the config page\nimport Toasted from 'vue-toasted'; // Toast component, used to show confirmation notifications\n\nimport { toastedOptions } from '@/utils/defaults';\nimport Dashy from '@/App.vue';\nimport router from '@/router';\nimport registerServiceWorker from '@/registerServiceWorker';\nimport clickOutside from '@/utils/ClickOutside';\n\nVue.use(VTooltip);\nVue.use(VModal);\nVue.use(VTabs);\nVue.use(Toasted, toastedOptions);\nVue.component('v-select', VSelect);\nVue.directive('clickOutside', clickOutside);\n\nVue.config.productionTip = false;\n\n// Register Service Worker\nregisterServiceWorker();\n\nnew Vue({\n router,\n render: (awesome) => awesome(Dashy),\n}).$mount('#app');\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-sliders-h fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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-th-list fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./App.vue?vue&type=style&index=0&lang=scss&\"","/**\n * If the user has multiple dashboards within Dashy,\n * then the Local storage keys need to be appended with an ID for each page\n * This function just checks if we're not on the default homepage,\n * and then appends the ID from the URL to the key\n */\nconst appendRouteId = (key) => {\n const UrlParts = document.URL.split('/');\n const currentRoute = UrlParts[UrlParts.length - 1];\n return currentRoute !== '' ? `${currentRoute}_${key}` : key;\n};\n\nmodule.exports = {\n pageInfo: {\n title: 'Dashy',\n description: '',\n navLinks: [\n { title: 'Home', path: '/' },\n { title: 'Source', path: 'https://github.com/Lissy93/dashy' },\n ],\n footerText: '',\n },\n appConfig: {},\n iconSize: 'medium',\n layout: 'auto',\n theme: 'default',\n fontAwesomeKey: '0821c65656',\n faviconApi: 'faviconkit',\n builtInThemes: [\n 'callisto',\n 'thebe',\n 'dracula',\n 'material',\n 'material-dark',\n 'colorful',\n 'nord',\n 'nord-frost',\n 'minimal-dark',\n 'minimal-light',\n 'matrix',\n 'matrix-red',\n 'hacker-girl',\n 'raspberry-jam',\n 'bee',\n 'tiger',\n 'blue-purple',\n 'material-original',\n 'material-dark-original',\n 'cyberpunk',\n 'vaporware',\n 'high-contrast-dark',\n 'high-contrast-light',\n ],\n visibleComponents: {\n pageTitle: true,\n navigation: true,\n searchBar: true,\n settings: true,\n footer: true,\n },\n localStorageKeys: {\n HIDE_WELCOME_BANNER: 'hideWelcomeHelpers',\n LAYOUT_ORIENTATION: appendRouteId('layoutOrientation'),\n COLLAPSE_STATE: appendRouteId('collapseState'),\n ICON_SIZE: appendRouteId('iconSize'),\n THEME: appendRouteId('theme'),\n CONF_SECTIONS: appendRouteId('confSections'),\n PAGE_INFO: appendRouteId('pageInfo'),\n APP_CONFIG: appendRouteId('appConfig'),\n BACKUP_ID: appendRouteId('backupId'),\n BACKUP_HASH: appendRouteId('backupHash'),\n HIDE_SETTINGS: appendRouteId('hideSettings'),\n USERNAME: appendRouteId('username'),\n },\n cookieKeys: {\n AUTH_TOKEN: 'authenticationToken',\n },\n sessionStorageKeys: {\n SW_STATUS: 'serviceWorkerStatus',\n },\n modalNames: {\n CONF_EDITOR: 'CONF_EDITOR',\n CLOUD_BACKUP: 'CLOUD_BACKUP',\n REBUILD_APP: 'REBUILD_APP',\n ABOUT_APP: 'ABOUT_APP',\n },\n topLevelConfKeys: {\n PAGE_INFO: 'pageInfo',\n APP_CONFIG: 'appConfig',\n SECTIONS: 'sections',\n },\n toastedOptions: {\n position: 'bottom-center',\n duration: 2500,\n keepOnHover: true,\n className: 'toast-message',\n iconPack: 'fontawesome',\n },\n backupEndpoint: 'https://dashy-sync-service.as93.net',\n splashScreenTime: 1900,\n metaTagData: [\n { name: 'description', content: 'A simple static homepage for you\\'re server' },\n ],\n faviconApiEndpoints: {\n mcapi: 'https://eu.mc-api.net/v3/server/favicon/$URL',\n clearbit: 'https://logo.clearbit.com/$URL',\n faviconkit: 'https://api.faviconkit.com/$URL/64',\n // favicongrabber: 'https://favicongrabber.com//api/grab/$URL',\n google: 'https://www.google.com/s2/favicons?sz=128&domain_url=$URL',\n allesedv: 'https://f1.allesedv.com/128/$URL',\n webmasterapi: 'https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL',\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!./SideBarItem.vue?vue&type=style&index=0&id=d979f4fe&lang=scss&scoped=true&\"","\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-times-circle fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"100\",\"height\":\"100\",\"preserveAspectRatio\":\"xMidYMid\"}, attrs),\n ...rest,\n },\n children.concat([_c('defs',[_c('clipPath',{attrs:{\"id\":\"a\"}},[_c('path',{attrs:{\"d\":\"M20 0h60v100H20z\"}})])]),_c('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\"}},[_c('animateTransform',{attrs:{\"attributeName\":\"transform\",\"type\":\"translate\",\"repeatCount\":\"indefinite\",\"dur\":\"1.4925373134328357s\",\"values\":\"-20 0;7 0\",\"keyTimes\":\"0;1\"}}),_c('animate',{attrs:{\"attributeName\":\"stroke-dasharray\",\"repeatCount\":\"indefinite\",\"dur\":\"1.4925373134328357s\",\"values\":\"0 72 125 232;0 197 125 233\",\"keyTimes\":\"0;1\"}})])])\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-cloud-upload-alt fa-w-20\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./ContextMenu.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!./AppInfoModal.vue?vue&type=style&index=0&id=40e473c3&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!./DownloadConfig.vue?vue&type=style&index=0&id=33cd2d90&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-expand fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"expand\",\"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\":\"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\"}})])\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-css3-alt fa-w-12\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./LayoutSelector.vue?vue&type=style&index=0&id=c819d738&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!./JsonEditor.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!./Item.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!./Header.vue?vue&type=style&index=0&id=b3beddd2&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!./Home.vue?vue&type=style&index=0&id=d247608c&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!./SideBar.vue?vue&type=style&index=0&id=31476576&lang=scss&scoped=true&\"","module.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\"}]}]}","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=3cfec9e9&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-expand-arrows-alt fa-w-14\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./Workspace.vue?vue&type=style&index=0&id=0969b753&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!./KeyboardShortcutInfo.vue?vue&type=style&index=0&id=c5f17d9a&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: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 512 512\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z\"}}),_c('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\"}}),_c('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\"}}),_c('path',{attrs:{\"d\":\"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z\"}})])\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!./ConfigLauncher.vue?vue&type=style&index=0&id=383db9de&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!./CustomCss.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!./RebuildApp.vue?vue&type=style&index=0&id=4d488482&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!./Nav.vue?vue&type=style&index=0&id=1bdf8329&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!./CloudBackupRestore.vue?vue&type=style&index=0&id=763657f4&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-table fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"table\",\"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.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\"}})])\n )\n }\n }\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemGroup.vue?vue&type=style&index=0&id=57f8b54c&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-file-download fa-w-12\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./SideBarSection.vue?vue&type=style&index=0&id=56ddb963&lang=scss&scoped=true&\"","\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-compress-arrows-alt fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n 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\"}, attrs),\n ...rest,\n },\n children.concat([_c('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\"}})])\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!./ItemIcon.vue?vue&type=style&index=0&lang=scss&\"","module.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])/;\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!./SearchBar.vue?vue&type=style&index=0&id=08ec96b4&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!./StatusIndicator.vue?vue&type=style&index=0&id=46972ad8&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-download fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fal\",\"data-icon\":\"download\",\"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-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\"}})])\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-edit fa-w-18\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"far\",\"data-icon\":\"edit\",\"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\":\"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\"}})])\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!./Collapsable.vue?vue&type=style&index=0&id=ac1beaa4&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!./Footer.vue?vue&type=style&index=0&id=64591bd5&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!./IframeModal.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!./Item.vue?vue&type=style&index=1&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-columns fa-w-16\",classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"data-prefix\":\"fas\",\"data-icon\":\"columns\",\"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.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\"}})])\n )\n }\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/precache-manifest.e0f8ec5ec2e00f7ab6874861a60997fb.js b/precache-manifest.8fb941c032feda0c20202da7c957972c.js
similarity index 98%
rename from precache-manifest.e0f8ec5ec2e00f7ab6874861a60997fb.js
rename to precache-manifest.8fb941c032feda0c20202da7c957972c.js
index a194b495..29475ade 100644
--- a/precache-manifest.e0f8ec5ec2e00f7ab6874861a60997fb.js
+++ b/precache-manifest.8fb941c032feda0c20202da7c957972c.js
@@ -20,8 +20,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/css/chunk-vendors.64811416.css"
},
{
- "revision": "6c14a6f5f2a4316fd126",
- "url": "/css/dashy.903bcc9e.css"
+ "revision": "5dafbab49c265df73645",
+ "url": "/css/dashy.df1fe209.css"
},
{
"revision": "e24265f6c4bd4450fdafdf37cd825bfc",
@@ -72,7 +72,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/fonts/VT323-Regular.ttf"
},
{
- "revision": "e5a797ca469f29fcd7d2b2ad14ebcf94",
+ "revision": "3aeef076d31c2eb30be413dd595e4123",
"url": "/index.html"
},
{
@@ -88,8 +88,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([
"url": "/js/chunk-vendors.1f3c2327.js"
},
{
- "revision": "6c14a6f5f2a4316fd126",
- "url": "/js/dashy.f4ea20c4.js"
+ "revision": "5dafbab49c265df73645",
+ "url": "/js/dashy.19956cbe.js"
},
{
"revision": "e3bf86400a2b80531902e65f51d52be0",
diff --git a/service-worker.js b/service-worker.js
index 3337466f..aadf1248 100644
--- a/service-worker.js
+++ b/service-worker.js
@@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
- "/precache-manifest.e0f8ec5ec2e00f7ab6874861a60997fb.js"
+ "/precache-manifest.8fb941c032feda0c20202da7c957972c.js"
);
workbox.core.setCacheNameDetails({prefix: "Dashy"});