From e0cbdbd5de968d904d0f7fa263d636d5d926e791 Mon Sep 17 00:00:00 2001 From: blurymind Date: Tue, 10 Sep 2024 20:34:32 +0100 Subject: [PATCH] Updates --- css/0.css | 2 +- index.html | 4 +- ...124d4f.js => main.7e82f422284b75a8bed0.js} | 2 +- ...d4f.js => runtime.7e82f422284b75a8bed0.js} | 0 ...4d4f.js => vendor.7e82f422284b75a8bed0.js} | 0 public/plugins/jsoneditor/size-overrides.css | 2 +- public/plugins/resources-editor.js | 2 +- public/version.json | 2 +- public/web-components.js | 75 ++++++++++++++++--- sw.js | 2 +- 10 files changed, 71 insertions(+), 20 deletions(-) rename js/{main.615fc0e22fcc5e124d4f.js => main.7e82f422284b75a8bed0.js} (84%) rename js/{runtime.615fc0e22fcc5e124d4f.js => runtime.7e82f422284b75a8bed0.js} (100%) rename js/{vendor.615fc0e22fcc5e124d4f.js => vendor.7e82f422284b75a8bed0.js} (100%) diff --git a/css/0.css b/css/0.css index 9163df27b..faf1a9f40 100644 --- a/css/0.css +++ b/css/0.css @@ -15,4 +15,4 @@ * Date: 2018-10-02T14:29:27.829Z */@-webkit-keyframes cm-spin{0%{-webkit-transform:translateY(-50%) rotate(0deg);transform:translateY(-50%) rotate(0deg)}to{-webkit-transform:translateY(-50%) rotate(359deg);transform:translateY(-50%) rotate(359deg)}}@-o-keyframes cm-spin{0%{-webkit-transform:translateY(-50%) rotate(0deg);-o-transform:translateY(-50%) rotate(0deg);transform:translateY(-50%) rotate(0deg)}to{-webkit-transform:translateY(-50%) rotate(359deg);-o-transform:translateY(-50%) rotate(359deg);transform:translateY(-50%) rotate(359deg)}}@keyframes cm-spin{0%{-webkit-transform:translateY(-50%) rotate(0deg);-o-transform:translateY(-50%) rotate(0deg);transform:translateY(-50%) rotate(0deg)}to{-webkit-transform:translateY(-50%) rotate(359deg);-o-transform:translateY(-50%) rotate(359deg);transform:translateY(-50%) rotate(359deg)}}@font-face{font-family:context-menu-icons;font-style:normal;font-weight:400;src:url(../fonts/context-menu-icons.eot);src:url(../fonts/context-menu-icons.eot#iefix) format("embedded-opentype"),url(../fonts/context-menu-icons.woff2) format("woff2"),url(../fonts/context-menu-icons.woff) format("woff"),url(../fonts/context-menu-icons.ttf) format("truetype")}.context-menu-icon-add:before{content:"\EA01"}.context-menu-icon-copy:before{content:"\EA02"}.context-menu-icon-cut:before{content:"\EA03"}.context-menu-icon-delete:before{content:"\EA04"}.context-menu-icon-edit:before{content:"\EA05"}.context-menu-icon-loading:before{content:"\EA06"}.context-menu-icon-paste:before{content:"\EA07"}.context-menu-icon-quit:before{content:"\EA08"}.context-menu-icon:before{position:absolute;top:50%;left:0;width:2em;font-family:context-menu-icons;font-size:1em;font-style:normal;font-weight:400;line-height:1;color:#2980b9;text-align:center;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.context-menu-icon.context-menu-hover:before{color:#fff}.context-menu-icon.context-menu-disabled:before{color:#bbb}.context-menu-icon.context-menu-icon-loading:before{-webkit-animation:cm-spin 2s infinite;-o-animation:cm-spin 2s infinite;animation:cm-spin 2s infinite}.context-menu-icon.context-menu-icon--fa{display:list-item;font-family:inherit;line-height:inherit}.context-menu-icon.context-menu-icon--fa:before{position:absolute;top:50%;left:0;width:2em;font-family:FontAwesome;font-size:1em;font-style:normal;font-weight:400;line-height:1;color:#2980b9;text-align:center;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.context-menu-icon.context-menu-icon--fa.context-menu-hover:before{color:#fff}.context-menu-icon.context-menu-icon--fa.context-menu-disabled:before{color:#bbb}.context-menu-icon.context-menu-icon--fa5{display:list-item;font-family:inherit;line-height:inherit}.context-menu-icon.context-menu-icon--fa5 i,.context-menu-icon.context-menu-icon--fa5 svg{position:absolute;top:.3em;left:.5em;color:#2980b9}.context-menu-icon.context-menu-icon--fa5.context-menu-hover>i,.context-menu-icon.context-menu-icon--fa5.context-menu-hover>svg{color:#fff}.context-menu-icon.context-menu-icon--fa5.context-menu-disabled i,.context-menu-icon.context-menu-icon--fa5.context-menu-disabled svg{color:#bbb}.context-menu-list{position:absolute;display:inline-block;min-width:13em;max-width:26em;padding:.25em 0;margin:.3em;font-family:inherit;font-size:inherit;list-style-type:none;background:#fff;border:1px solid #bebebe;border-radius:.2em;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.5);box-shadow:0 2px 5px rgba(0,0,0,.5)}.context-menu-item{position:relative;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;padding:.2em 2em;color:#2f2f2f;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff}.context-menu-separator{padding:0;margin:.35em 0;border-bottom:1px solid #e6e6e6}.context-menu-item>label>input,.context-menu-item>label>textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.context-menu-item.context-menu-hover{color:#fff;cursor:pointer;background-color:#2980b9}.context-menu-item.context-menu-disabled{color:#bbb;cursor:default;background-color:#fff}.context-menu-input.context-menu-hover{color:#2f2f2f;cursor:default}.context-menu-submenu:after{position:absolute;top:50%;right:.5em;z-index:1;width:0;height:0;content:"";border-color:transparent transparent transparent #2f2f2f;border-style:solid;border-width:.25em 0 .25em .25em;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.context-menu-item.context-menu-input{padding:.3em .6em}.context-menu-input>label>*{vertical-align:top}.context-menu-input>label>input[type=checkbox],.context-menu-input>label>input[type=radio]{position:relative;top:.12em;margin-right:.4em}.context-menu-input>label{margin:0}.context-menu-input>label,.context-menu-input>label>input[type=text],.context-menu-input>label>select,.context-menu-input>label>textarea{display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.context-menu-input>label>textarea{height:7em}.context-menu-item>.context-menu-list{top:.3em;right:-.3em;display:none}.context-menu-item.context-menu-visible>.context-menu-list{display:block}.context-menu-accesskey{text-decoration:underline} -/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.sp-container{position:absolute;top:0;left:0;display:inline-block;*display:inline;*zoom:1;z-index:9999994;overflow:hidden}.sp-container.sp-flat{position:relative}.sp-container,.sp-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sp-top{position:relative;width:100%;display:inline-block}.sp-top-inner{right:0}.sp-color,.sp-top-inner{position:absolute;top:0;left:0;bottom:0}.sp-color{right:20%}.sp-hue{position:absolute;top:0;right:0;bottom:0;left:84%;height:100%}.sp-clear-enabled .sp-hue{top:33px;height:77.5%}.sp-fill{padding-top:80%}.sp-sat,.sp-val{position:absolute;top:0;left:0;right:0;bottom:0}.sp-alpha-enabled .sp-top{margin-bottom:18px}.sp-alpha-enabled .sp-alpha{display:block}.sp-alpha-handle{position:absolute;top:-4px;bottom:-4px;width:6px;left:50%;cursor:pointer;border:1px solid #000;background:#fff;opacity:.8}.sp-alpha{display:none;position:absolute;bottom:-14px;right:0;left:0;height:8px}.sp-alpha-inner{border:1px solid #333}.sp-clear{display:none}.sp-clear.sp-clear-display{background-position:50%}.sp-clear-enabled .sp-clear{display:block;position:absolute;top:0;right:0;bottom:0;left:84%;height:28px}.sp-alpha,.sp-alpha-handle,.sp-clear,.sp-container,.sp-container.sp-dragging .sp-input,.sp-container button,.sp-dragger,.sp-preview,.sp-replacer,.sp-slider{-webkit-user-select:none;-moz-user-select:-moz-none;-o-user-select:none;user-select:none}.sp-container.sp-buttons-disabled .sp-button-container,.sp-container.sp-input-disabled .sp-input-container,.sp-container.sp-palette-buttons-disabled .sp-palette-button-container,.sp-initial-disabled .sp-initial,.sp-palette-disabled .sp-palette-container,.sp-palette-only .sp-picker-container{display:none}.sp-sat{background-image:-webkit-gradient(linear,0 0,100% 0,from(#fff),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-moz-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-o-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-ms-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:linear-gradient(90deg,#fff,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType = 1,startColorstr="#FFFFFFFF",endColorstr="#00CC9A81")}.sp-val{background-image:-webkit-gradient(linear,0 100%,0 0,from(#000),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-moz-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-o-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-ms-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:linear-gradient(0deg,#000,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00CC9A81",endColorstr="#FF000000")}.sp-hue{background:-moz-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-ms-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-o-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(.17,#ff0),color-stop(.33,#0f0),color-stop(.5,#0ff),color-stop(.67,#00f),color-stop(.83,#f0f),to(red));background:-webkit-linear-gradient(top,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.sp-1{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000",endColorstr="#ffff00")}.sp-2{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffff00",endColorstr="#00ff00")}.sp-3{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ff00",endColorstr="#00ffff")}.sp-4{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffff",endColorstr="#0000ff")}.sp-5{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#0000ff",endColorstr="#ff00ff")}.sp-6{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff00ff",endColorstr="#ff0000")}.sp-hidden{display:none!important}.sp-cf:after,.sp-cf:before{content:"";display:table}.sp-cf:after{clear:both}.sp-cf{*zoom:1}@media (max-device-width:480px){.sp-color{right:40%}.sp-hue{left:63%}.sp-fill{padding-top:60%}}.sp-dragger{border-radius:5px;height:5px;width:5px;border:1px solid #fff;background:#000;left:0}.sp-dragger,.sp-slider{cursor:pointer;position:absolute;top:0}.sp-slider{height:3px;left:-1px;right:-1px;border:1px solid #000;background:#fff;opacity:.8}.sp-container{border-radius:0;background-color:#ececec;border:1px solid #f0c49b;padding:0}.sp-clear,.sp-color,.sp-container,.sp-container button,.sp-container input,.sp-hue{font:normal 12px Lucida Grande,Lucida Sans Unicode,Lucida Sans,Geneva,Verdana,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.sp-top{margin-bottom:3px}.sp-clear,.sp-color,.sp-hue{border:1px solid #666}.sp-input-container{float:right;width:100px;margin-bottom:4px}.sp-initial-disabled .sp-input-container,.sp-input{width:100%}.sp-input{font-size:12px!important;border:1px inset;padding:4px 5px;margin:0;background:transparent;border-radius:3px;color:#222}.sp-input:focus{border:1px solid orange}.sp-input.sp-validation-error{border:1px solid red;background:#fdd}.sp-palette-container,.sp-picker-container{float:left;position:relative;padding:10px 10px 300px;margin-bottom:-290px}.sp-picker-container{width:172px;border-left:1px solid #fff}.sp-palette-container{border-right:1px solid #ccc}.sp-palette-only .sp-palette-container{border:0}.sp-palette .sp-thumb-el{display:block;position:relative;float:left;width:24px;height:15px;margin:3px;cursor:pointer;border:2px solid transparent}.sp-palette .sp-thumb-el.sp-thumb-active,.sp-palette .sp-thumb-el:hover{border-color:orange}.sp-thumb-el{position:relative}.sp-initial{float:left;border:1px solid #333}.sp-initial span{width:30px;height:25px;border:none;display:block;float:left;margin:0}.sp-initial .sp-clear-display{background-position:50%}.sp-button-container,.sp-palette-button-container{float:right}.sp-replacer{margin:0;overflow:hidden;cursor:pointer;padding:4px;display:inline-block;*zoom:1;*display:inline;border:1px solid #91765d;background:#eee;color:#333;vertical-align:middle}.sp-replacer.sp-active,.sp-replacer:hover{border-color:#f0c49b;color:#111}.sp-replacer.sp-disabled{cursor:default;border-color:silver;color:silver}.sp-dd{padding:2px 0;height:16px;line-height:16px;float:left;font-size:10px}.sp-preview{position:relative;width:25px;height:20px;border:1px solid #222;margin-right:5px;float:left;z-index:0}.sp-palette{*width:220px;max-width:220px}.sp-palette .sp-thumb-el{width:16px;height:16px;margin:2px 1px;border:1px solid #d0d0d0}.sp-container{padding-bottom:0}.sp-container button{background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#ccc);background-image:-moz-linear-gradient(top,#eee,#ccc);background-image:-ms-linear-gradient(top,#eee,#ccc);background-image:-o-linear-gradient(top,#eee,#ccc);background-image:linear-gradient(180deg,#eee,#ccc);border:1px solid;border-color:#ccc #ccc #bbb;border-radius:3px;color:#333;font-size:14px;line-height:1;padding:5px 4px;text-align:center;text-shadow:0 1px 0 #eee;vertical-align:middle}.sp-container button:hover{background-color:#ddd;background-image:-webkit-linear-gradient(top,#ddd,#bbb);background-image:-moz-linear-gradient(top,#ddd,#bbb);background-image:-ms-linear-gradient(top,#ddd,#bbb);background-image:-o-linear-gradient(top,#ddd,#bbb);background-image:linear-gradient(180deg,#ddd,#bbb);border:1px solid;border-color:#bbb #bbb #999;cursor:pointer;text-shadow:0 1px 0 #ddd}.sp-container button:active{border:1px solid;border-color:#aaa #aaa #888;-webkit-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-moz-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-ms-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-o-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee}.sp-cancel{font-size:11px;color:#d93f3f!important;padding:2px;margin:0 5px 0 0;vertical-align:middle;text-decoration:none}.sp-cancel:hover{color:#d93f3f!important;text-decoration:underline}.sp-palette span.sp-thumb-active,.sp-palette span:hover{border-color:#000}.sp-alpha,.sp-preview,.sp-thumb-el{position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.sp-alpha-inner,.sp-preview-inner,.sp-thumb-inner{display:block;position:absolute;top:0;left:0;bottom:0;right:0}.sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)}.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)}.sp-clear-display{background-repeat:no-repeat;background-position:50%;background-image:url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==)}@font-face{font-family:yarnFont;src:url(../fonts/droid-sans-mono.ttf)}:root{--menu-dropdown-max-height:700px}body{overflow:hidden;-webkit-user-select:none;line-height:1.6em}h1,h2,h3,h4,h5,h6{margin:0;padding:0}.editor,button,input,select,textarea{outline:none}input[type=checkbox]{width:20px;height:20px;padding:0;line-height:0;vertical-align:bottom;margin:0 0 6px}::-webkit-scrollbar{background:-webkit-linear-gradient(top,#eee,#f4f4f4 50%,#eee);border-radius:12px;border-bottom:1px solid #e8e8e8;border-top:1px solid #e8e8e8;border-color:#ccc #e8e8e8;border-style:solid;border-width:1px;cursor:pointer}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{background:#ccc;border-radius:12px;border:1px solid #ccc;cursor:pointer}::-webkit-scrollbar-thumb:hover{background:#289aa5;border:1px solid #148691}.hidden,.templates{display:none!important}#app-bg{position:fixed;top:0;left:0;bottom:0;right:0;transform-style:preserve-3d;z-index:-1}#app{position:absolute;top:0;left:0;width:100%;height:100%;cursor:default;display:none}.app-zoom{bottom:5px;right:5px}.app-zoom-alt{left:5px;right:unset}.app-sort{bottom:60px;right:5px}.app-sort-alt{left:5px;right:unset}.app-undo-redo{bottom:115px;right:5px}.app-undo-redo-alt{left:82px;right:unset}.app-add-node{position:absolute;bottom:115px;right:98px;width:60px;height:38px;background:#fff;color:grey;border-radius:5px;padding:5px;line-height:40px;z-index:10000;cursor:pointer;text-align:center;transition:opacity .2s}.app-add-node-alt{left:5px;right:unset}.app-add-node:hover{color:#000}.app-add-node span{margin:auto;width:22px;height:22px}.app-add-node:active{opacity:0}.app-button{position:absolute;background:#fff;border-radius:5px;padding:5px;z-index:10000}.app-button span{width:22px;height:22px;margin:8px;float:left;cursor:pointer;text-align:center;transition:opacity .25s;color:grey}.app-button span:hover{color:#000}.app-button span:active{opacity:0}.arrows{width:100%;height:100%}.arrows,.grid-canvas{position:absolute;top:0;bottom:0;left:0;right:0}.nodes{overflow:hidden;width:100%;height:100%}.node,.nodes,.nodes-holder{position:absolute}.node{content-visibility:auto;width:200px;height:200px;background:#fff;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.5);cursor:pointer;transition:border .25s;outline-width:1px;outline-style:solid;outline-color:transparent;outline-offset:50px}.node .title{padding:0 10px;height:40px;line-height:40px;font-size:.9em;font-weight:700;transition:color .25s,background .25s}.node .body,.node .title{box-sizing:border-box;width:100%;overflow:hidden}.node .body{position:absolute;top:40px;height:calc(100% - 48px);padding:8px;font-size:.8em;font-family:yarnFont;color:#666;line-height:1.3em}.node .body p{display:inline;margin:0;padding:0}.node .body-expanded,.node:hover .body{overflow:auto}.node .tags{position:absolute;box-sizing:border-box;width:100%;padding:2px 4px;bottom:0;border-top:1px solid #ddd;background:#ebebeb;overflow:hidden}.node .tags span{padding:4px 8px;margin:4px 4px 0 0;font-size:.8em;border-radius:4px;background-color:#e0d6c5;color:#8d8374}.node .colorDown,.node .colorUp,.node .delete,.node .edit{position:absolute;top:6px;bottom:164px;line-height:30px;opacity:0;transition:opacity .125s;background:#fff;border-radius:5px;text-align:center;height:30px;width:28px}.node .delete{right:6px}.node .colorUp{right:39px;border-top-left-radius:0;border-bottom-left-radius:0}.node .colorDown{right:67px;border-top-right-radius:0;border-bottom-right-radius:0}.node:hover .colorDown,.node:hover .colorUp,.node:hover .delete,.node:hover .edit{opacity:.5}.node .colorDown:hover,.node .colorUp:hover,.node .delete:hover,.node .edit:hover{opacity:1;transition:opacity .2s}.node .resize{position:absolute;right:0;bottom:0;width:20px;height:20px;background-color:#ddd}.inactive,.inactive:hover{border:1px solid #fff;cursor:default}.inactive .delete,.inactive .edit,.inactive:hover .delete,.inactive:hover .edit{opacity:0}.playtestLink:hover,.title-container.active>div,.title-container.active>div:hover{text-decoration:underline;text-decoration-color:#ff0062}.body.active,.body.active:hover,.tags.active{border:1px solid #ff0062!important}.settings-dialog{position:absolute;width:100%;height:100%;z-index:10004;background:rgba(0,0,0,.5);color:grey}.settings-form{position:absolute;box-sizing:border-box;left:15%;top:10%;width:70%;height:80%;padding:15px;background:#fff;border-radius:4px;box-shadow:0 1px 1px #000;overflow-y:auto;text-align:center}.settings-form h3{margin-bottom:10px}.settings-row{display:flex}.settings-column{flex:50%}.settings-item{width:auto;padding:10px;margin-bottom:5px;margin-right:5px;display:flex;flex-wrap:wrap;justify-content:space-between;text-align:left}.settings-icon{color:grey}.settings-label{padding-right:2px}.settings-value{flex:1}.settings-value>input{width:-webkit-fill-available;margin-right:2px}.markup{flex:50%;display:flex}.markup #theme,select{flex:60%}.markup button{margin-left:2px;flex:40%}.slider{-webkit-appearance:none;width:100%;height:5px;border-radius:5px;background:#d3d3d3;outline:none;opacity:.7;-webkit-transition:.2s;transition:opacity .2s}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#2470f7;cursor:pointer}.slider::-moz-range-thumb{width:25px;height:25px;border-radius:50%;background:#2470f7;cursor:pointer}.icon{display:inline-block;height:1em;width:1em;stroke-width:0;stroke:currentColor;fill:currentColor;vertical-align:-.125em;overflow:visible}.icon-lg{font-size:1.333em;line-height:.75em;vertical-align:-.225em}.icon-fw{width:1.25em;text-align:center}.icon-flip{transform:scaleX(-1)}.node-editor{background:none;pointer-events:none;z-index:10004}#node-editor-background,.node-editor{position:absolute;width:100%;height:100%}#node-editor-background{z-index:10002;background:rgba(0,0,0,.5);z-index:10004}.node-editor .form{position:absolute;box-sizing:border-box;left:5%;top:5%;width:90%;height:90%;padding:15px 15px 5px;background:#fff;border-radius:4px;box-shadow:0 1px 1px #000;display:flex;flex-flow:column;overflow:hidden;z-index:10002;pointer-events:all}.node-editor .form .close{position:absolute;right:4px;top:4px;background-position:-64px 0}.node-editor .form input[type=text]{box-sizing:border-box;width:100%;font-size:1.2em;color:#666;padding:10px 0;margin-bottom:5px;border:none;border-bottom:2px solid #eee;font-family:Lucida Console,Monaco,monospace}input#editorTitle{width:calc(100% - 230px);padding-right:10px}.node-editor .form .bbcode-toolbar{display:flex;flex-wrap:wrap;float:left;width:100%;font-size:.8em}.node-editor .form .toggle-toolbar{padding-top:5px;float:left;width:100%;font-size:.8em}.bbcode-button{cursor:pointer;text-align:center;border-radius:12px;background-color:#fff;overflow:hidden;color:#000;border:2px solid #e7e7e7;-webkit-transition-duration:.4s;transition-duration:.4s;text-decoration:none;display:inline-block;min-width:20px;max-width:120px;white-space:nowrap;text-overflow:ellipsis}.bbcode-button.rotated{transform:rotate(90deg)}.bbcode-button:hover{background-color:#e7e7e7}.bbcode-button.active{background-color:#78c9be}.split-editor{position:relative!important;top:30px!important;left:0!important;height:calc(100% - 30px)!important;float:left;border-radius:0!important;box-shadow:none!important;min-width:710px;max-width:calc(100% - 190px)}.split-editor-right{right:0!important;float:right!important}.split-editor-unfocused{opacity:.6!important}.bbcode-button-separator{color:grey;opacity:.2;line-height:22px}.float-right{float:right!important}.bbcode-button-right{float:right}.bbcode-button-separator-float-right{float:right;line-height:22px;margin:0 2px}#edit-node-in-vscode{float:right;font-size:125%}.title-error{color:red}.title-warning{color:#ff8c00}.title-error,.title-warning{word-break:break-all;white-space:normal}.menu:hover .title{width:100%}#editor-resize-handle{height:calc(100% - 30px);width:10px;position:relative;flex:0 0 auto;right:0;float:left;top:30px;background:#e7e7e7;cursor:ew-resize;pointer-events:all}#editor-resize-handle span{display:flex;justify-content:center;text-align:center;align-items:center;height:calc(100% - 30px)}.styled-checkbox input{-webkit-transition-duration:.4s;transition-duration:.4s;outline:none;opacity:0;display:none}.styled-checkbox label{padding:2px 6px;color:grey;border-radius:12px;border:2px solid #e7e7e7}.styled-checkbox input:checked+label{padding:2px 6px;color:#000;background-color:#daeff1;border:2px solid #b0d9cd}.styled-checkbox input:checked+label.transcribe-button{padding:2px 6px;color:#000;background-color:#efc7c7;border:2px solid #dc8484}.node-editor .form .editor-counter{right:20px;width:100%;float:left;font-size:.8em}.node-editor .form .editor{white-space:pre;box-sizing:border-box;min-height:100%;padding:0;margin:0;line-height:1.5em;font-size:.9em;color:#666;font-family:yarnFont}.editor-container{margin-top:2px;width:100%;height:100%;float:left;overflow:hidden;position:relative}.editor-container .editor-play,.editor-container .editor-preview{display:none;max-height:100%;width:100%;overflow-y:auto;white-space:pre;box-sizing:border-box;font-size:.9em;line-height:1.5em;color:#666;font-family:yarnFont;cursor:pointer;height:100%;position:absolute}#editor-preview{display:flex!important;flex-direction:column!important}.editor-take-half{left:0;width:50%}.editor-play,.editor-take-half{display:flex;position:absolute;top:0}.editor-play{left:50%;overflow-y:hidden!important;-webkit-tap-highlight-color:transparent}#commandDebugLabel{overflow-y:auto;overflow-x:hidden;width:50%;resize:none;font:normal arial,calibri}.editor-play.inYarnMode{left:0}#commandDebugLabel.inYarnMode{width:100%}.story-playtest-answer,.story-playtest-bubble{color:#000;width:90%;border-radius:17px;padding:2px 8px;margin:4px;background:#7df1c1;font:large arial,calibri;white-space:break-spaces}.story-playtest-answer{background:#dedede!important;opacity:.7}.answer-post{margin-right:0;margin-left:10%;width:80%}.story-animated-dots{display:flex}.story-animated-dots p{animation-name:jumping-dots;animation-duration:.7s;animation-iteration-count:infinite;animation-timing-function:linear}.story-animated-dots p:nth-child(2){animation-delay:.2s}.story-animated-dots p:nth-child(3){animation-delay:.4s}@keyframes jumping-dots{20%{transform:translateY(0)}40%{transform:translateY(2px)}60%{transform:translateY(3px)}80%{transform:translateY(2px)}}#NVrichTextLabel{position:absolute;bottom:10px;padding:10px}.editor p,.node .body p{display:inline;margin:0;padding:0}.linkname{color:#3ecfe9}.linkbounds{color:#0ec0e0}.condition{color:#e93ecf}.conditionbounds{color:#e00ec0}.comment{color:#44fe66}.node-delete{position:absolute;width:100%;height:100%;z-index:10004;background:rgba(0,0,0,.5)}.node-delete .form{margin-left:auto;margin-right:auto;margin-top:100px;padding:20px;width:200px;height:120px;background:#fff;border-radius:4px;box-shadow:0 1px 1px #000}.node-delete .form .close{display:block;margin-left:auto;margin-right:auto;margin-top:50px;background-position:-64px 0}#marquee{z-index:10000;display:none;position:absolute;pointer-events:none;border:1px solid #49eff1;background-color:rgba(29,94,95,.2)}.title{box-sizing:border-box;padding:5px;width:100%;line-height:20px;font-weight:700;float:left}.app-menu{z-index:10003}.file-tabs{position:absolute;bottom:60px;left:27px;min-width:27px;opacity:.3;z-index:10002;transform:rotate(270deg);transform-origin:left;display:flex;gap:3px}.file-tabs .bbcode-button{max-width:200px}.file-tabs:hover{opacity:.9}.file-tabs-buttons{display:flex;gap:3px;max-width:61vh;overflow:hidden;transition:max-width .15s ease-in}.file-tabs-buttons.collapsed{max-width:0}.app-search{z-index:10004}.app-search-field{position:relative}#nodeSearchClear{position:absolute;right:1px;border-radius:50%;opacity:.7}#nodeSearchInput{border-radius:3px}#nodeSearchInput:not(:focus)+#nodeSearchClear:not(:active){visibility:hidden}.menu:hover .dropdown,input:focus+span+.dropdown{max-height:var(--menu-dropdown-max-height)}input:focus+span+.dropdown{overflow-y:auto}.menu .dropdown{clear:left;overflow:auto;max-height:0;min-width:200px;max-width:350px;transition:max-height .5s;-ms-overflow-style:none;scrollbar-width:none;border-radius:3px}.menu .dropdown::-webkit-scrollbar{display:none}.absolute{position:absolute}.menu .dropdown .item{display:block;box-sizing:border-box;padding:7px}.menu .dropdown .search-field{box-sizing:border-box;float:left;display:block;width:100%;padding:10px;text-align:center;border-radius:3px}.item img{width:24px}.add-link{position:absolute;top:15px;right:15px;height:40px;font-family:sans-serif;line-height:1.6em;font-size:.9em;cursor:default;box-shadow:0 0 1px 1px #e8e8e8;z-index:10000;background-color:#fff;max-width:40%}.add-link:hover{background:#e8e8e8}#linkHelperMenuFilter{border-right:2px solid #e8e8e8;border-left:2px solid #e8e8e8;border-bottom:0}#add-link-title{line-height:40px;text-align:center;padding:0;width:100%}.tooltip{opacity:.7;position:absolute;text-align:center;z-index:99!important}.button-bubble{width:20px;height:20px;position:absolute;overflow-wrap:break-word}.button-bubble:after{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;background:#444;border-radius:8px;color:#fff;content:attr(title);margin:-62px -110px 0;font-size:16px;padding:13px;width:220px;z-index:99!important}.button-bubble:before{border:solid;border-color:#444 transparent;border-width:12px 6px 0;content:"";left:45%;bottom:30px;position:absolute}.disabled{opacity:.65;pointer-events:none;cursor:not-allowed}.storyPreviewChoiceButton{color:#290018;font-size:1.2em;margin:3px}.app-info{position:absolute;left:20px;bottom:20px;font-size:.8em;text-transform:uppercase;line-height:1.2em;opacity:.5}#addPwa{position:absolute;left:15px;bottom:60px;color:#6b3877}.app-info span{display:block}.app-title{font-weight:700}.app-version:before{content:"Version "}.menu-icon{color:#000}.ace-content{cursor:text}.editor-preview img,.story-playtest-bubble>img{max-height:200px;border-radius:7px}.editor-preview img:hover,.story-playtest-bubble>img:hover{max-height:unset;max-width:90%}@media screen and (max-width:900px){.settings-row{flex-direction:column}}@media only screen and (min-width:600px){.show-when-narrow{display:none}}.row-when-narrow{flex-direction:column}@media only screen and (min-width:600px){.row-when-narrow{flex-direction:row}}.flex-when-narrow{flex:1}@media only screen and (min-width:600px){.flex-when-narrow{flex:none}}@media only screen and (max-width:600px){.hide-when-narrow{display:none!important}.show-when-narrow{display:inline!important}.node-editor .form{top:8%;height:92%;padding:2px 2px 5px;line-height:0;border-radius:4px;display:flex!important;flex-flow:column!important}.node-editor .form .toggle-toolbar,.toggle-toolbar{padding:0;font-size:.6em!important}.editor-counter{white-space:nowrap}.node-editor .form input[type=text]{font-size:1em!important;padding:0!important;margin-top:0!important;margin-bottom:0!important;border-bottom:0!important}input#editorTitle{width:calc(60% - 25px)}.settings-form{left:5%!important;top:5%!important;width:90%!important;height:90%!important}button.bbcode-button{border:1px solid #e7e7e7!important;font-size:.8em;padding:1px 2px 0!important}.bbcode-toolbar .styled-checkbox label{font-size:.8em;padding:4px 0 3px!important}.context-menu-visible>.context-menu-list{left:0!important;top:40px!important}.menu:hover .dropdown.shrink-when-narrow{max-height:45vh!important}.app-search,.menu{opacity:.85}#linkHelperMenuFilter{min-height:35px}.emojipicker-container,.tooltip{top:15%!important;left:15%!important}.app-undo-redo span{display:inline}.app-sort{display:none}.app-undo-redo{bottom:60px}.app-add-node{bottom:60px;opacity:.5}.app-button{opacity:.5}.settings-form,.settings-item{padding:1px}.ace_gutter{width:26px!important}.ace_gutter-cell{padding-left:0!important;right:unset;font-size:small}.ace_mobile-button{display:none}.ace_scroller{left:23px!important}.add-link{top:0;right:20px;height:20px;border-radius:4px}#add-link-title{line-height:20px}}.twitter-tweet-rendered{position:relative!important;height:0!important;padding-bottom:56.25%!important}.twitter-tweet-rendered>iframe{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important}.editor-preview font>iframe{display:flex}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:searchfield-cancel-button}@keyframes opacityPulse{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.opacity-pulse{animation:opacityPulse 3s ease-out;animation-iteration-count:infinite;opacity:0}.centered{transform:translate(50%,50%);position:absolute;display:flex;flex:1;align-items:center}@keyframes fadeIn{to{opacity:1}}.fade-in{animation:fadeIn .5s ease-in 1 forwards;opacity:0}.is-paused{animation-play-state:paused}.flex-wrap{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.syntax-mode-banner{position:absolute;bottom:0;filter:blur(1px);opacity:.15;max-width:50vw;z-index:-9999}.button-group-rounded{border-radius:2rem;gap:0;display:flex;flex-wrap:wrap;overflow:hidden}.button-group-rounded>:not(.active){opacity:.5}.button-group-rounded>button{border-radius:0}.button,button,input{outline:none;border:0}@media only screen and (max-width:600px){.swal2-popup{padding:2px!important}.swal2-actions{margin:1px!important}}.swal2-title{width:100%}.swal2-content{max-height:80vh;overflow:auto}.table{width:100%}.table-editable{width:100%;position:relative}.table-header{top:0}.table-footer,.table-header{position:sticky;background-color:#007;color:#0ff}.table-footer{bottom:0;display:flex;justify-content:space-between}.table-editable .glyphicon{font-size:20px}.table-remove{color:#700;cursor:pointer;text-align:center}.cell{width:180px;max-width:180px;text-align:left;padding-left:3px;padding-right:3px}.table-remove:hover{color:red}.table-down:hover,.table-up:hover{color:#00f}.table-add{width:120px;color:#070;cursor:pointer;text-align:center}.table-add:hover{color:#0b0}.hide{display:none} \ No newline at end of file +/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.sp-container{position:absolute;top:0;left:0;display:inline-block;*display:inline;*zoom:1;z-index:9999994;overflow:hidden}.sp-container.sp-flat{position:relative}.sp-container,.sp-container *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.sp-top{position:relative;width:100%;display:inline-block}.sp-top-inner{right:0}.sp-color,.sp-top-inner{position:absolute;top:0;left:0;bottom:0}.sp-color{right:20%}.sp-hue{position:absolute;top:0;right:0;bottom:0;left:84%;height:100%}.sp-clear-enabled .sp-hue{top:33px;height:77.5%}.sp-fill{padding-top:80%}.sp-sat,.sp-val{position:absolute;top:0;left:0;right:0;bottom:0}.sp-alpha-enabled .sp-top{margin-bottom:18px}.sp-alpha-enabled .sp-alpha{display:block}.sp-alpha-handle{position:absolute;top:-4px;bottom:-4px;width:6px;left:50%;cursor:pointer;border:1px solid #000;background:#fff;opacity:.8}.sp-alpha{display:none;position:absolute;bottom:-14px;right:0;left:0;height:8px}.sp-alpha-inner{border:1px solid #333}.sp-clear{display:none}.sp-clear.sp-clear-display{background-position:50%}.sp-clear-enabled .sp-clear{display:block;position:absolute;top:0;right:0;bottom:0;left:84%;height:28px}.sp-alpha,.sp-alpha-handle,.sp-clear,.sp-container,.sp-container.sp-dragging .sp-input,.sp-container button,.sp-dragger,.sp-preview,.sp-replacer,.sp-slider{-webkit-user-select:none;-moz-user-select:-moz-none;-o-user-select:none;user-select:none}.sp-container.sp-buttons-disabled .sp-button-container,.sp-container.sp-input-disabled .sp-input-container,.sp-container.sp-palette-buttons-disabled .sp-palette-button-container,.sp-initial-disabled .sp-initial,.sp-palette-disabled .sp-palette-container,.sp-palette-only .sp-picker-container{display:none}.sp-sat{background-image:-webkit-gradient(linear,0 0,100% 0,from(#fff),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-moz-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-o-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:-ms-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:linear-gradient(90deg,#fff,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType = 1,startColorstr="#FFFFFFFF",endColorstr="#00CC9A81")}.sp-val{background-image:-webkit-gradient(linear,0 100%,0 0,from(#000),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-moz-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-o-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:-ms-linear-gradient(bottom,#000,rgba(204,154,129,0));background-image:linear-gradient(0deg,#000,rgba(204,154,129,0));-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00CC9A81",endColorstr="#FF000000")}.sp-hue{background:-moz-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-ms-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-o-linear-gradient(top,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(.17,#ff0),color-stop(.33,#0f0),color-stop(.5,#0ff),color-stop(.67,#00f),color-stop(.83,#f0f),to(red));background:-webkit-linear-gradient(top,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.sp-1{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000",endColorstr="#ffff00")}.sp-2{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffff00",endColorstr="#00ff00")}.sp-3{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ff00",endColorstr="#00ffff")}.sp-4{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffff",endColorstr="#0000ff")}.sp-5{height:16%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#0000ff",endColorstr="#ff00ff")}.sp-6{height:17%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff00ff",endColorstr="#ff0000")}.sp-hidden{display:none!important}.sp-cf:after,.sp-cf:before{content:"";display:table}.sp-cf:after{clear:both}.sp-cf{*zoom:1}@media (max-device-width:480px){.sp-color{right:40%}.sp-hue{left:63%}.sp-fill{padding-top:60%}}.sp-dragger{border-radius:5px;height:5px;width:5px;border:1px solid #fff;background:#000;left:0}.sp-dragger,.sp-slider{cursor:pointer;position:absolute;top:0}.sp-slider{height:3px;left:-1px;right:-1px;border:1px solid #000;background:#fff;opacity:.8}.sp-container{border-radius:0;background-color:#ececec;border:1px solid #f0c49b;padding:0}.sp-clear,.sp-color,.sp-container,.sp-container button,.sp-container input,.sp-hue{font:normal 12px Lucida Grande,Lucida Sans Unicode,Lucida Sans,Geneva,Verdana,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box}.sp-top{margin-bottom:3px}.sp-clear,.sp-color,.sp-hue{border:1px solid #666}.sp-input-container{float:right;width:100px;margin-bottom:4px}.sp-initial-disabled .sp-input-container,.sp-input{width:100%}.sp-input{font-size:12px!important;border:1px inset;padding:4px 5px;margin:0;background:transparent;border-radius:3px;color:#222}.sp-input:focus{border:1px solid orange}.sp-input.sp-validation-error{border:1px solid red;background:#fdd}.sp-palette-container,.sp-picker-container{float:left;position:relative;padding:10px 10px 300px;margin-bottom:-290px}.sp-picker-container{width:172px;border-left:1px solid #fff}.sp-palette-container{border-right:1px solid #ccc}.sp-palette-only .sp-palette-container{border:0}.sp-palette .sp-thumb-el{display:block;position:relative;float:left;width:24px;height:15px;margin:3px;cursor:pointer;border:2px solid transparent}.sp-palette .sp-thumb-el.sp-thumb-active,.sp-palette .sp-thumb-el:hover{border-color:orange}.sp-thumb-el{position:relative}.sp-initial{float:left;border:1px solid #333}.sp-initial span{width:30px;height:25px;border:none;display:block;float:left;margin:0}.sp-initial .sp-clear-display{background-position:50%}.sp-button-container,.sp-palette-button-container{float:right}.sp-replacer{margin:0;overflow:hidden;cursor:pointer;padding:4px;display:inline-block;*zoom:1;*display:inline;border:1px solid #91765d;background:#eee;color:#333;vertical-align:middle}.sp-replacer.sp-active,.sp-replacer:hover{border-color:#f0c49b;color:#111}.sp-replacer.sp-disabled{cursor:default;border-color:silver;color:silver}.sp-dd{padding:2px 0;height:16px;line-height:16px;float:left;font-size:10px}.sp-preview{position:relative;width:25px;height:20px;border:1px solid #222;margin-right:5px;float:left;z-index:0}.sp-palette{*width:220px;max-width:220px}.sp-palette .sp-thumb-el{width:16px;height:16px;margin:2px 1px;border:1px solid #d0d0d0}.sp-container{padding-bottom:0}.sp-container button{background-color:#eee;background-image:-webkit-linear-gradient(top,#eee,#ccc);background-image:-moz-linear-gradient(top,#eee,#ccc);background-image:-ms-linear-gradient(top,#eee,#ccc);background-image:-o-linear-gradient(top,#eee,#ccc);background-image:linear-gradient(180deg,#eee,#ccc);border:1px solid;border-color:#ccc #ccc #bbb;border-radius:3px;color:#333;font-size:14px;line-height:1;padding:5px 4px;text-align:center;text-shadow:0 1px 0 #eee;vertical-align:middle}.sp-container button:hover{background-color:#ddd;background-image:-webkit-linear-gradient(top,#ddd,#bbb);background-image:-moz-linear-gradient(top,#ddd,#bbb);background-image:-ms-linear-gradient(top,#ddd,#bbb);background-image:-o-linear-gradient(top,#ddd,#bbb);background-image:linear-gradient(180deg,#ddd,#bbb);border:1px solid;border-color:#bbb #bbb #999;cursor:pointer;text-shadow:0 1px 0 #ddd}.sp-container button:active{border:1px solid;border-color:#aaa #aaa #888;-webkit-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-moz-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-ms-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-o-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee}.sp-cancel{font-size:11px;color:#d93f3f!important;padding:2px;margin:0 5px 0 0;vertical-align:middle;text-decoration:none}.sp-cancel:hover{color:#d93f3f!important;text-decoration:underline}.sp-palette span.sp-thumb-active,.sp-palette span:hover{border-color:#000}.sp-alpha,.sp-preview,.sp-thumb-el{position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.sp-alpha-inner,.sp-preview-inner,.sp-thumb-inner{display:block;position:absolute;top:0;left:0;bottom:0;right:0}.sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)}.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)}.sp-clear-display{background-repeat:no-repeat;background-position:50%;background-image:url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==)}@font-face{font-family:yarnFont;src:url(../fonts/droid-sans-mono.ttf)}:root{--menu-dropdown-max-height:700px}body{overflow:hidden;-webkit-user-select:none;line-height:1.6em}h1,h2,h3,h4,h5,h6{margin:0;padding:0}.editor,button,input,select,textarea{outline:none}input[type=checkbox]{width:20px;height:20px;padding:0;line-height:0;vertical-align:bottom;margin:0 0 6px}::-webkit-scrollbar{background:-webkit-linear-gradient(top,#eee,#f4f4f4 50%,#eee);border-radius:12px;border-bottom:1px solid #e8e8e8;border-top:1px solid #e8e8e8;border-color:#ccc #e8e8e8;border-style:solid;border-width:1px;cursor:pointer}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{background:#ccc;border-radius:12px;border:1px solid #ccc;cursor:pointer}::-webkit-scrollbar-thumb:hover{background:#289aa5;border:1px solid #148691}.hidden,.templates{display:none!important}#app-bg{position:fixed;top:0;left:0;bottom:0;right:0;transform-style:preserve-3d;z-index:-1}#app{position:absolute;top:0;left:0;width:100%;height:100%;cursor:default;display:none}.app-zoom{bottom:5px;right:5px}.app-zoom-alt{left:5px;right:unset}.app-sort{bottom:60px;right:5px}.app-sort-alt{left:5px;right:unset}.app-undo-redo{bottom:115px;right:5px}.app-undo-redo-alt{left:82px;right:unset}.app-add-node{position:absolute;bottom:115px;right:98px;width:60px;height:38px;background:#fff;color:grey;border-radius:5px;padding:5px;line-height:40px;z-index:10000;cursor:pointer;text-align:center;transition:opacity .2s}.app-add-node-alt{left:5px;right:unset}.app-add-node:hover{color:#000}.app-add-node span{margin:auto;width:22px;height:22px}.app-add-node:active{opacity:0}.app-button{position:absolute;background:#fff;border-radius:5px;padding:5px;z-index:10000}.app-button span{width:22px;height:22px;margin:8px;float:left;cursor:pointer;text-align:center;transition:opacity .25s;color:grey}.app-button span:hover{color:#000}.app-button span:active{opacity:0}.arrows{width:100%;height:100%}.arrows,.grid-canvas{position:absolute;top:0;bottom:0;left:0;right:0}.nodes{overflow:hidden;width:100%;height:100%}.node,.nodes,.nodes-holder{position:absolute}.node{content-visibility:auto;width:200px;height:200px;background:#fff;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.5);cursor:pointer;transition:border .25s;outline-width:1px;outline-style:solid;outline-color:transparent;outline-offset:50px}.node .title{padding:0 10px;height:40px;line-height:40px;font-size:.9em;font-weight:700;transition:color .25s,background .25s}.node .body,.node .title{box-sizing:border-box;width:100%;overflow:hidden}.node .body{position:absolute;top:40px;height:calc(100% - 48px);padding:8px;font-size:.8em;font-family:yarnFont;color:#666;line-height:1.3em}.node .body p{display:inline;margin:0;padding:0}.node .body-expanded,.node:hover .body{overflow:auto}.node .tags{position:absolute;box-sizing:border-box;width:100%;padding:2px 4px;bottom:0;border-top:1px solid #ddd;background:#ebebeb;overflow:hidden}.node .tags span{padding:4px 8px;margin:4px 4px 0 0;font-size:.8em;border-radius:4px;background-color:#e0d6c5;color:#8d8374}.node .colorDown,.node .colorUp,.node .delete,.node .edit{position:absolute;top:6px;bottom:164px;line-height:30px;opacity:0;transition:opacity .125s;background:#fff;border-radius:5px;text-align:center;height:30px;width:28px}.node .delete{right:6px}.node .colorUp{right:39px;border-top-left-radius:0;border-bottom-left-radius:0}.node .colorDown{right:67px;border-top-right-radius:0;border-bottom-right-radius:0}.node:hover .colorDown,.node:hover .colorUp,.node:hover .delete,.node:hover .edit{opacity:.5}.node .colorDown:hover,.node .colorUp:hover,.node .delete:hover,.node .edit:hover{opacity:1;transition:opacity .2s}.node .resize{position:absolute;right:0;bottom:0;width:20px;height:20px;background-color:#ddd}.inactive,.inactive:hover{border:1px solid #fff;cursor:default}.inactive .delete,.inactive .edit,.inactive:hover .delete,.inactive:hover .edit{opacity:0}.playtestLink:hover,.title-container.active>div,.title-container.active>div:hover{text-decoration:underline;text-decoration-color:#ff0062}.body.active,.body.active:hover,.tags.active{border:1px solid #ff0062!important}.settings-dialog{position:absolute;width:100%;height:100%;z-index:10004;background:rgba(0,0,0,.5);color:grey}.settings-form{position:absolute;box-sizing:border-box;left:15%;top:10%;width:70%;height:80%;padding:15px;background:#fff;border-radius:4px;box-shadow:0 1px 1px #000;overflow-y:auto;text-align:center}.settings-form h3{margin-bottom:10px}.settings-row{display:flex}.settings-column{flex:50%}.settings-item{width:auto;padding:10px;margin-bottom:5px;margin-right:5px;display:flex;flex-wrap:wrap;justify-content:space-between;text-align:left}.settings-icon{color:grey}.settings-label{padding-right:2px}.settings-value{flex:1}.settings-value>input{width:-webkit-fill-available;margin-right:2px}.markup{flex:50%;display:flex}.markup #theme,select{flex:60%}.markup button{margin-left:2px;flex:40%}.slider{-webkit-appearance:none;width:100%;height:5px;border-radius:5px;background:#d3d3d3;outline:none;opacity:.7;-webkit-transition:.2s;transition:opacity .2s}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#2470f7;cursor:pointer}.slider::-moz-range-thumb{width:25px;height:25px;border-radius:50%;background:#2470f7;cursor:pointer}.icon{display:inline-block;height:1em;width:1em;stroke-width:0;stroke:currentColor;fill:currentColor;vertical-align:-.125em;overflow:visible}.icon-lg{font-size:1.333em;line-height:.75em;vertical-align:-.225em}.icon-fw{width:1.25em;text-align:center}.icon-flip{transform:scaleX(-1)}.node-editor{background:none;pointer-events:none;z-index:10004}#node-editor-background,.node-editor{position:absolute;width:100%;height:100%}#node-editor-background{z-index:10002;background:rgba(0,0,0,.5);z-index:10004}.node-editor .form{position:absolute;box-sizing:border-box;left:5%;top:5%;width:90%;height:90%;padding:15px 15px 5px;background:#fff;border-radius:4px;box-shadow:0 1px 1px #000;display:flex;flex-flow:column;overflow:hidden;z-index:10002;pointer-events:all}.node-editor .form .close{position:absolute;right:4px;top:4px;background-position:-64px 0}.node-editor .form input[type=text]{box-sizing:border-box;width:100%;font-size:1.2em;color:#666;padding:10px 0;margin-bottom:5px;border:none;border-bottom:2px solid #eee;font-family:Lucida Console,Monaco,monospace}input#editorTitle{width:calc(100% - 230px);padding-right:10px}.node-editor .form .bbcode-toolbar{display:flex;flex-wrap:wrap;float:left;width:100%;font-size:.8em}.node-editor .form .toggle-toolbar{padding-top:5px;float:left;width:100%;font-size:.8em}.bbcode-button{cursor:pointer;text-align:center;border-radius:12px;background-color:#fff;overflow:hidden;color:#000;border:2px solid #e7e7e7;-webkit-transition-duration:.4s;transition-duration:.4s;text-decoration:none;display:inline-block;min-width:20px;max-width:120px;white-space:nowrap;text-overflow:ellipsis}.bbcode-button.rotated{transform:rotate(90deg)}.bbcode-button:hover{background-color:#e7e7e7}.bbcode-button.active{background-color:#78c9be}.split-editor{position:relative!important;top:30px!important;left:0!important;height:calc(100% - 30px)!important;float:left;border-radius:0!important;box-shadow:none!important;min-width:710px;max-width:calc(100% - 190px)}.split-editor-right{right:0!important;float:right!important}.split-editor-unfocused{opacity:.6!important}.bbcode-button-separator{color:grey;opacity:.2;line-height:22px}.float-right{float:right!important}.bbcode-button-right{float:right}.bbcode-button-separator-float-right{float:right;line-height:22px;margin:0 2px}#edit-node-in-vscode{float:right;font-size:125%}.title-error{color:red}.title-warning{color:#ff8c00}.title-error,.title-warning{word-break:break-all;white-space:normal}.menu:hover .title{width:100%}#editor-resize-handle{height:calc(100% - 30px);width:10px;position:relative;flex:0 0 auto;right:0;float:left;top:30px;background:#e7e7e7;cursor:ew-resize;pointer-events:all}#editor-resize-handle span{display:flex;justify-content:center;text-align:center;align-items:center;height:calc(100% - 30px)}.styled-checkbox input{-webkit-transition-duration:.4s;transition-duration:.4s;outline:none;opacity:0;display:none}.styled-checkbox label{padding:2px 6px;color:grey;border-radius:12px;border:2px solid #e7e7e7}.styled-checkbox input:checked+label{padding:2px 6px;color:#000;background-color:#daeff1;border:2px solid #b0d9cd}.styled-checkbox input:checked+label.transcribe-button{padding:2px 6px;color:#000;background-color:#efc7c7;border:2px solid #dc8484}.node-editor .form .editor-counter{right:20px;width:100%;float:left;font-size:.8em}.node-editor .form .editor{white-space:pre;box-sizing:border-box;min-height:100%;padding:0;margin:0;line-height:1.5em;font-size:.9em;color:#666;font-family:yarnFont}.editor-container{margin-top:2px;width:100%;height:100%;float:left;overflow:hidden;position:relative}.editor-container .editor-play,.editor-container .editor-preview{display:none;max-height:100%;width:100%;overflow-y:auto;white-space:pre;box-sizing:border-box;font-size:.9em;line-height:1.5em;color:#666;font-family:yarnFont;cursor:pointer;height:100%;position:absolute}#editor-preview{display:flex!important;flex-direction:column!important}.editor-take-half{left:0;width:50%}.editor-play,.editor-take-half{display:flex;position:absolute;top:0}.editor-play{left:50%;overflow-y:hidden!important;-webkit-tap-highlight-color:transparent}#commandDebugLabel{overflow-y:auto;overflow-x:hidden;width:50%;resize:none;font:normal arial,calibri}.editor-play.inYarnMode{left:0}#commandDebugLabel.inYarnMode{width:100%}.story-playtest-answer,.story-playtest-bubble{color:#000;width:90%;border-radius:17px;padding:2px 8px;margin:4px;background:#7df1c1;font:large arial,calibri;white-space:break-spaces}.story-playtest-answer{background:#dedede!important;opacity:.7}.answer-post{margin-right:0;margin-left:10%;width:80%}.story-animated-dots{display:flex}.story-animated-dots p{animation-name:jumping-dots;animation-duration:.7s;animation-iteration-count:infinite;animation-timing-function:linear}.story-animated-dots p:nth-child(2){animation-delay:.2s}.story-animated-dots p:nth-child(3){animation-delay:.4s}@keyframes jumping-dots{20%{transform:translateY(0)}40%{transform:translateY(2px)}60%{transform:translateY(3px)}80%{transform:translateY(2px)}}#NVrichTextLabel{position:absolute;bottom:10px;padding:10px}.editor p,.node .body p{display:inline;margin:0;padding:0}.linkname{color:#3ecfe9}.linkbounds{color:#0ec0e0}.condition{color:#e93ecf}.conditionbounds{color:#e00ec0}.comment{color:#44fe66}.node-delete{position:absolute;width:100%;height:100%;z-index:10004;background:rgba(0,0,0,.5)}.node-delete .form{margin-left:auto;margin-right:auto;margin-top:100px;padding:20px;width:200px;height:120px;background:#fff;border-radius:4px;box-shadow:0 1px 1px #000}.node-delete .form .close{display:block;margin-left:auto;margin-right:auto;margin-top:50px;background-position:-64px 0}#marquee{z-index:10000;display:none;position:absolute;pointer-events:none;border:1px solid #49eff1;background-color:rgba(29,94,95,.2)}.title{box-sizing:border-box;padding:5px;width:100%;line-height:20px;font-weight:700;float:left}.app-menu{z-index:10003}.file-tabs{position:absolute;bottom:60px;left:27px;min-width:27px;opacity:.3;z-index:10002;transform:rotate(270deg);transform-origin:left;display:flex;gap:3px}.file-tabs .bbcode-button{max-width:200px}.file-tabs:hover{opacity:.9}.file-tabs-buttons{display:flex;gap:3px;max-width:61vh;overflow:hidden;transition:max-width .15s ease-in}.file-tabs-buttons.collapsed{max-width:0}.app-search{z-index:10004}.app-search-field{position:relative}#nodeSearchClear{position:absolute;right:1px;border-radius:50%;opacity:.7}#nodeSearchInput{border-radius:3px}#nodeSearchInput:not(:focus)+#nodeSearchClear:not(:active){visibility:hidden}.menu:hover .dropdown,input:focus+span+.dropdown{max-height:var(--menu-dropdown-max-height)}input:focus+span+.dropdown{overflow-y:auto}.menu .dropdown{clear:left;overflow:auto;max-height:0;min-width:200px;max-width:350px;transition:max-height .5s;-ms-overflow-style:none;scrollbar-width:none;border-radius:3px}.menu .dropdown::-webkit-scrollbar{display:none}.absolute{position:absolute}.menu .dropdown .item{display:block;box-sizing:border-box;padding:7px}.menu .dropdown .search-field{box-sizing:border-box;float:left;display:block;width:100%;padding:10px;text-align:center;border-radius:3px}.item img{width:24px}.add-link{position:absolute;top:15px;right:15px;height:40px;font-family:sans-serif;line-height:1.6em;font-size:.9em;cursor:default;box-shadow:0 0 1px 1px #e8e8e8;z-index:10000;background-color:#fff;max-width:40%}.add-link:hover{background:#e8e8e8}#linkHelperMenuFilter{border-right:2px solid #e8e8e8;border-left:2px solid #e8e8e8;border-bottom:0}#add-link-title{line-height:40px;text-align:center;padding:0;width:100%}.tooltip{opacity:.7;position:absolute;text-align:center;z-index:99!important}.button-bubble{width:20px;height:20px;position:absolute;overflow-wrap:break-word}.button-bubble:after{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;background:#444;border-radius:8px;color:#fff;content:attr(title);margin:-62px -110px 0;font-size:16px;padding:13px;width:220px;z-index:99!important}.button-bubble:before{border:solid;border-color:#444 transparent;border-width:12px 6px 0;content:"";left:45%;bottom:30px;position:absolute}.disabled{opacity:.65;pointer-events:none;cursor:not-allowed}.storyPreviewChoiceButton{color:#290018;font-size:1.2em;margin:3px}.app-info{position:absolute;left:20px;bottom:20px;font-size:.8em;text-transform:uppercase;line-height:1.2em;opacity:.5}#addPwa{position:absolute;left:15px;bottom:60px;color:#6b3877}.app-info span{display:block}.app-title{font-weight:700}.app-version:before{content:"Version "}.menu-icon{color:#000}.ace-content{cursor:text}.editor-preview img,.story-playtest-bubble>img{max-height:200px;border-radius:7px}.editor-preview img:hover,.story-playtest-bubble>img:hover{max-height:unset;max-width:90%}@media screen and (max-width:900px){.settings-row{flex-direction:column}}@media only screen and (min-width:600px){.show-when-narrow{display:none}}.row-when-narrow{flex-direction:column}@media only screen and (min-width:600px){.row-when-narrow{flex-direction:row}}.flex-when-narrow{flex:1}@media only screen and (min-width:600px){.flex-when-narrow{flex:none}}@media only screen and (max-width:600px){.hide-when-narrow{display:none!important}.show-when-narrow{display:inline!important}.node-editor .form{top:8%;height:92%;padding:2px 2px 5px;line-height:0;border-radius:4px;display:flex!important;flex-flow:column!important}.node-editor .form .toggle-toolbar,.toggle-toolbar{padding:0;font-size:.6em!important}.editor-counter{white-space:nowrap}.node-editor .form input[type=text]{font-size:1em!important;padding:0!important;margin-top:0!important;margin-bottom:0!important;border-bottom:0!important}input#editorTitle{width:calc(60% - 25px)}.settings-form{left:5%!important;top:5%!important;width:90%!important;height:90%!important}button.bbcode-button{border:1px solid #e7e7e7!important;font-size:.8em;padding:1px 2px 0!important}.bbcode-toolbar .styled-checkbox label{font-size:.8em;padding:4px 0 3px!important}.context-menu-visible>.context-menu-list{left:0!important;top:40px!important}.menu:hover .dropdown.shrink-when-narrow{max-height:45vh!important}.app-search,.menu{opacity:.85}#linkHelperMenuFilter{min-height:35px}.emojipicker-container,.tooltip{top:15%!important;left:15%!important}.app-undo-redo span{display:inline}.app-sort{display:none}.app-undo-redo{bottom:60px}.app-add-node{bottom:60px;opacity:.5}.app-button{opacity:.5}.settings-form,.settings-item{padding:1px}.ace_gutter{width:26px!important}.ace_gutter-cell{padding-left:0!important;right:unset;font-size:small}.ace_mobile-button{display:none}.ace_scroller{left:23px!important}.add-link{top:0;right:20px;height:20px;border-radius:4px}#add-link-title{line-height:20px}}.twitter-tweet-rendered{position:relative!important;height:0!important;padding-bottom:56.25%!important}.twitter-tweet-rendered>iframe{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important}.editor-preview font>iframe{display:flex}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:searchfield-cancel-button}@keyframes opacityPulse{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.opacity-pulse{animation:opacityPulse 3s ease-out;animation-iteration-count:infinite;opacity:0}.centered{transform:translate(50%,50%);position:absolute;display:flex;flex:1;align-items:center}@keyframes fadeIn{to{opacity:1}}.fade-in{animation:fadeIn .5s ease-in 1 forwards;opacity:0}.is-paused{animation-play-state:paused}.flex-wrap{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.syntax-mode-banner{position:absolute;bottom:0;filter:blur(1px);opacity:.15;max-width:50vw;z-index:-9999}.button-group-rounded{border-radius:2rem;gap:0;display:flex;flex-wrap:wrap;overflow:hidden}.button-group-rounded>:not(.active){opacity:.5}.button-group-rounded>button{border-radius:0}.button,button,input{outline:none;border:0}@media only screen and (max-width:600px){.swal2-popup{padding:2px!important}.swal2-actions{margin:1px!important}}.swal2-title{width:100%}.swal2-content{max-height:90vh;overflow:auto}.table{width:100%}.table-editable{width:100%;position:relative}.table-header{top:0}.table-footer,.table-header{position:sticky;background-color:#007;color:#0ff}.table-footer{bottom:0;display:flex;justify-content:space-between}.table-editable .glyphicon{font-size:20px}.table-remove{color:#700;cursor:pointer;text-align:center}.cell{width:180px;max-width:180px;text-align:left;padding-left:3px;padding-right:3px}.table-remove:hover{color:red}.table-down:hover,.table-up:hover{color:#00f}.table-add{width:120px;color:#070;cursor:pointer;text-align:center}.table-add:hover{color:#0b0}.hide{display:none} \ No newline at end of file diff --git a/index.html b/index.html index 1d1618c50..625450706 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -Yarn
 
\n

\n + add\n
\n
\n\n ';var n=e("#table"),o=e("#save-btn");this.table=n,this.rows=n.find("tr:not(:hidden)"),e("#save-btn").addClass("hide"),e(".table-add").on("click",this.tableAdd),e(".table-remove").on("click",(function(){console.log({removeThis:this}),e(this).parents("tr").detach()})),i.fn.pop=[].pop,i.fn.shift=[].shift,o.on("click",this.getValue)},this.init(),this.setValue=(e=[])=>{e.forEach(this.tableAdd)}}}.call(this,n("EVdn"),n("EVdn"))},LaP9:function(e,t){function n(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id="LaP9"},P0sH:function(e,t,n){"use strict";(function(e,i){n.d(t,"a",(function(){return h}));var o=n("owJe"),s=n("W2Rx"),r=n("5dEm"),a=n("INAQ"),l=n("pYPP"),d=n("fkuv"),c=n("2Qx2"),u=n("oj90"),p=n("l8+o"),h=(n("+NoZ"),function(t,h){const g=this;this.utils=u.Utils,this.setTheme=function(t,n){let i=n?n.target.value:t;setTimeout(g.initGrid,50),setTimeout(g.workspace.updateArrows,50),e("#theme-stylesheet").attr("href",u.Utils.getPublicPath(`themes/${i}.css`))},this.setLanguage=function(e,t){const n=t?t.target.value:e;Object(o.load_dictionary)(g.settings.language().split("-")[0]);const i=new CustomEvent("yarnSetLanguage");i.language=n,window.dispatchEvent(i),window.parent.dispatchEvent(i)},this.log=function(e){g.settings.developmentModeEnabled()&&console.log(e)},this.setDocumentType=function(e,t){const n=t?t.target.value:e;g.settings.documentType(n),g.log("Set doc type",e,app.data.inkCompiler),"ink"===n?(null===app.data.inkCompiler&&(app.data.inkCompiler=new app.data.InkCompiler),c.a.addGlobalScopeToInkDoc(),app.setMarkupLanguage("html")):app.data.inkCompiler=null,app.updateNodeLinks();const i=new CustomEvent("yarnSetDocumentType");i.language=n,window.dispatchEvent(i),window.parent.dispatchEvent(i)},this.setMarkupLanguage=function(e,t){const n=t?t.target.value:e;app.settings.markupLanguage(n),g.richTextFormatter=new p.a(g),g.mustRefreshNodes.notifySubscribers()},this.setGistPluginsFile=function(e,t){const n=t?t.target.value:e;app.settings.gistPluginsFile(n)},this.setFiletypeVersion=function(e,t){const n=t?t.target.value:e;g.filetypeVersion=n},this.setGistCredentials=function(e,t){const{token:n,file:i}=e;c.a.storage.setCredentials(n,i)},this.input=new a.a(g),this.settings=new l.a(g),this.workspace=new r.a(g),this.ui=new d.a(g),this.richTextFormatter=new p.a(g),this.data=c.a,this.name=i.observable(t),this.version=i.observable(h),this.editing=i.observable(null),this.nodes=i.observableArray([]),this.tags=i.observableArray([]),this.mustRefreshNodes=i.observable(),this.mustUpdateTags=!0,this.nodeHistory=[],this.nodeFuture=[],this.editingHistory=[],this.editingSaveHistoryTimeout=null,this.focusedNodeIdx=-1,this.isElectron=!1,this.editor=null,this.nodeVisitHistory=[],this.plugins={pluginStorage:{}},this.clipboard="",this.nodeClipboard=[],this.speachInstance=null,this.editingPath=i.observable(null),this.$searchField=e(".search-field"),this.isEditorInPreviewMode=!1,this.isEditorInPlayMode=i.observable(!1),this.isEditorSplit=!1,this.isEditorFocused=!1,this.editorResizeHandleOptions={handleSelector:"#editor-resize-handle",resizeHeight:!1,resizeWidthFrom:"right",onDragStart:function(){g.isSplitEditorInFocus=!0,e("#node-editor").removeClass("split-editor-out-of-focus")},onDragEnd:function(){g.editor.resize(),g.settings.editorSplitSize(e("#editor-form").width())}},this.inEditor=()=>(g.editing()||g.isEditorSplit&&g.isEditorFocused)&&!g.ui.isDialogOpen(),this.inWorkspace=()=>(!g.editing()||g.isEditorSplit&&!1===g.isEditorFocused)&&!g.ui.isDialogOpen(),this.run=function(){var t="Unknown OS";-1!=navigator.platform.indexOf("Win")&&(t="Windows"),-1!=navigator.platform.indexOf("Mac")&&(t="MacOS"),-1!=navigator.platform.indexOf("X11")&&(t="UNIX"),-1!=navigator.platform.indexOf("Linux")&&(t="Linux"),-1!=navigator.platform.indexOf("Linux")&&(t="Linux"),g.isElectron=navigator.userAgent.toLowerCase().includes("electron");var n=navigator.userAgent||navigator.vendor||window.opera;let o;/android|iPad|iPhone|iPod/.test(n.toLowerCase())&&!window.MSStream&&(t="mobile"),"Windows"==t&&(g.workspace.zoomSpeed=.1),window.addEventListener("beforeunload",e=>(this.data.saveAppStateToLocalStorage(),null)),window.addEventListener("DOMContentLoaded",e=>{if(g.electron){const e=g.electron.remote.process.argv.length>1?g.electron.remote.process.argv[1]:null;if(e&&app.fs.existsSync(e))return void this.data.openFileFromFilePath(e)}this.data.loadAppStateFromLocalStorage();const t=new URL(window.location),n=t.searchParams.get("text")||t.searchParams.get("url");null!==n&&g.insertTextAtCursor(n+"\n",!0)});const s=e("#addPwa")[0];s.style.display="none",window.addEventListener("beforeinstallprompt",e=>{e.preventDefault(),o=e,s.style.display="block",s.addEventListener("click",e=>{s.style.display="none",o.prompt(),o.userChoice.then(e=>{"accepted"===e.outcome?(g.log("User accepted the A2HS prompt"),s.style.display="none"):g.log("User dismissed the A2HS prompt"),o=null})})}),e("#app").show(),i.applyBindings(g,e("#app")[0]),g.editingVisualStudioCodeFile()||g.newNode().title("Start"),g.settings.apply(),e(".search-title input").click(g.updateSearch),e(".search-body input").click(g.updateSearch),e(".search-tags input").click(g.updateSearch),g.$searchField.on("input",g.updateSearch),g.$searchField.on("keyup",(function(e){27==e.keyCode?g.clearSearch():g.searchWarp()})),"mobile"===t&&g.workspace.setZoom(3),e(window).on("resize",(function(){g.ui.isScreenNarrow()&&g.editing()&&g.isEditorSplit&&g.toggleEditorView(),g.workspace.updateArrows(),g.initGrid()})),setTimeout(g.initGrid,50),this.guessPopUpHelper=function(){/color=#([a-zA-Z0-9]{3,6})$/.test(g.getTagBeforeCursor())&&g.insertColorCode()},this.insertEmoji=function(){this.emPicker.toggle(),g.togglePreviewMode(!0),e("#emojiPicker-container").css({left:g.input.mouse.x-200,top:g.input.mouse.y-125}),e("#emojiPicker-container").show()},this.insertColorCode=function(){e("#colorPicker-container").is(":visible")||(e("#colorPicker").spectrum("set",g.editor.getSelectedText()),e("#colorPicker").spectrum("toggle"),e("#colorPicker-container").css({left:g.input.mouse.x-70,top:g.input.mouse.y-50}),e("#colorPicker-container").show(),g.togglePreviewMode(!0),setTimeout(()=>{const t=e("#colorPicker").spectrum("get");g.applyPickerColorEditor(t)},100))},this.applyPickerColorEditor=function(e){const t=JSON.parse(JSON.stringify(g.editor.selection.getRange()));g.editor.selection.setRange(t);const n=e.toHexString().replace("#","");g.editor.session.replace(t,n),g.editor.selection.setRange({start:g.editor.getCursorPosition(),end:{row:g.editor.getCursorPosition().row,column:g.editor.getCursorPosition().column-n.length}}),g.togglePreviewMode(!0)},document.addEventListener("contextmenu",(function(e){g.editing()&&e.preventDefault()}),!1),document.ondragover=document.ondrop=e=>{e.preventDefault()},document.body.ondrop=e=>{e.preventDefault();for(var t=0;t{const t=e.data;switch(t.type){case"UpdateNode":g.nodes().forEach(e=>{e.title().trim()===t.payload.originalNodeTitle.trim()&&(e.title(t.payload.title),e.tags(t.payload.tags),e.body(t.payload.body),g.setYarnDocumentIsDirty())})}});var r=new CustomEvent("yarnReady");r.document=document,r.data=c.a,r.app=this,window.dispatchEvent(r),window.parent.dispatchEvent(r);const a=new URLSearchParams(window.location.href.split("?")[1]),l=a.get("gist"),d=a.get("fileName");l&&d&&fetch("https://api.github.com/gists/"+l).then(e=>e.json()).then(e=>{const t=e.files[d].content;c.a.openGist(t,d)})},this.limitNodesUpdate=function(e){g.nodes.extend({rateLimit:{method:"notifyWhenChangesStop",timeout:250}}),e(),g.nodes.limit(e=>()=>e())},this.getNodesConnectedTo=function(e){var t=[],n=g.nodes();for(var i in n)if(n[i]!=e&&n[i].isConnectedTo(e,!0)){var o=!1;for(var s in t)if(t[s]==n[i]){o=!0;break}o||t.push(n[i])}return t},this.matchConnectedColorID=function(e){var t=g.getNodesConnectedTo(e);for(var n in t)t[n].colorID(e.colorID())},this.quit=function(){g.isElectron},this.canEditNodeMeta=function(e){return"ink"!==app.settings.documentType()||e.trim()!==c.a.InkGlobalScopeNodeName},this.sanitiseNodeTitle=function(){"ink"===app.settings.documentType()&&(app.editing().title().startsWith("function ")||app.editing().title(app.editing().title().replace(/[ ]/g,"_")))},this.validateTitle=function(){var t=document.getElementById("editorTitle").value,n=e("#editorTitle");g.getOtherNodeTitles().includes(t)||g.titleExistsTwice(t)?(n.attr("class","title title-error"),n.attr("title","Another node has the same title")):"yarn"!==app.settings.documentType()||RegExp("^[a-z0-9]+$","i").test(t)?(n.removeAttr("title"),n.removeClass("title-error")):(n.attr("class","title title-error"),n.attr("title","Only upper or lower case letters and numbers are allowed in a node title."))},this.refreshWindowTitle=function(){let e="";"LOCAL"===app.settings.lastStorageHost()?e="Yarn - "+(c.a.editingPath()||c.a.editingName())+" "+(c.a.isDocumentDirty()?"*":""):"GIST"===app.settings.lastStorageHost()&&(e="Gist - "+(c.a.editingPath()||c.a.editingName())+" "+(c.a.isDocumentDirty()?"*":"")),g.electron?g.electron.remote.getCurrentWindow().setTitle(e):document.title=e},this.usingVisualStudioCodeExtension=function(){return!!window.vsCodeApi},this.editingVisualStudioCodeFile=function(){return!0===window.editingVsCodeFile},this.setYarnDocumentIsDirty=function(){g.usingVisualStudioCodeExtension()&&g.editingVisualStudioCodeFile()&&c.a.getSaveData(c.a.editingType()).then(e=>{window.vsCodeApi.postMessage({type:"DocumentEdit",payload:e})})},this.recordNodeAction=function(e,t){if(g.nodeFuture.length>0){for(var n=0;n=0&&g.nodes.splice(t,1),g.updateNodeLinks()}var n=null;if(n="undo"==e?g.nodeHistory.pop():g.nodeFuture.pop()){var i=n.action,o=n.node;"undo"==e?("created"==i?(n.lastX=o.x(),n.lastY=o.y(),t(o)):"removed"==i&&g.recreateNode(o,n.lastX,n.lastY),g.nodeFuture.push(n),g.setYarnDocumentIsDirty()):("created"==i?g.recreateNode(o,n.lastX,n.lastY):"removed"==i&&t(o),g.nodeHistory.push(n),g.setYarnDocumentIsDirty())}},this.recreateNode=function(e,t,n){g.nodes.push(e),e.moveTo(t,n),g.updateNodeLinks()},this.setSelectedColors=function(e){var t=g.workspace.getSelectedNodes();for(var n in t.splice(t.indexOf(e),1),t)t[n].colorID(e.colorID())},this.pasteNodes=function(){g.nodeClipboard.length&&(g.workspace.deselectAll(),g.nodeClipboard.forEach((function(e){var t=new s.a({title:g.getUniqueTitle(e.title()),body:e.body(),tags:e.tags(),colorID:e.colorID(),x:e.createX,y:e.createY});g.nodes.push(t),g.workspace.selectNodes(t),g.recordNodeAction("created",t)})),g.updateNodeLinks())},this.confirmDeleteNodes=function(e){const t=Array.isArray(e)?void 0:e,n=Array.isArray(e)?[...e]:t&&t.selected?[...g.workspace.getSelectedNodes()]:[e];n.length&&Swal.fire({title:"Are you sure?",text:`${n.length} ${1===n.length?"node":"nodes"} will be deleted.`,icon:"warning",showCancelButton:!0,confirmButtonText:"Yes, delete!",cancelButtonText:"No, cancel!",reverseButtons:!0}).then(e=>{e.value&&g.deleteNodes(n)})},this.deleteNodes=function(e){const t=Array.isArray(e)?e:[e],n=[];for(let e=t.length-1;e>=0;--e)n.push(t[e].remove());Promise.all(n).then(()=>{g.limitNodesUpdate(()=>{for(let e=t.length-1;e>=0;--e)g.inEditor()&&g.editing()===t[e]&&g.closeEditor(),g.deleteNode(t[e]);g.updateNodeLinks(),g.workspace.deselectNodes(t),g.workspace.updateArrows()})})},this.deleteNode=function(e){const t=g.nodes.indexOf(e);t>=0&&(g.recordNodeAction("removed",e),g.nodes.splice(t,1)),g.setYarnDocumentIsDirty()},this.cloneNodeArray=function(e){return e.map((function(e){return new s.a({title:e.title(),body:e.body(),tags:e.tags(),colorID:e.colorID(),x:e.x()+10,y:e.y()+10})}))},this.newNode=function(e=!0){var t=new s.a;return g.nodes.push(t),e&&g.updateNodeLinks(),g.recordNodeAction("created",t),t},this.newNodeAt=function(e,t){var n=new s.a({x:e-100,y:t-100});return g.nodes.push(n),g.updateNodeLinks(),g.recordNodeAction("created",n),n},this.searchTextInEditor=function(e=!0){e?g.editor.execCommand("find"):g.editor.searchBox&&g.editor.searchBox.hide()},this.showRandomQuote=function(){e.ajax({url:"https://api.forismatic.com/api/1.0/?",dataType:"jsonp",data:"method=getQuote&format=jsonp&lang=en&jsonp=?",success:function(e){Swal.fire({text:e.quoteText+"\n\n-"+e.quoteAuthor})}})},this.editNode=function(t,n=!0){if(!n&&!t.active())return;if(g.settings.alwaysOpenNodesInVisualStudioCodeEditor())return void g.editNodeInVisualStudioCodeEditor(t);g.editing()&&g.editing()!==t&&g.saveNode(!1),g.isEditorInPlayMode()&&g.togglePlayMode(!1),g.isEditorInPreviewMode&&g.togglePreviewMode(!1),t.oldTitle=t.title(),g.editing(t),g.mustUpdateTags=!0,e("#node-editor-background").css({opacity:0}).transition({opacity:1},250),e("#node-editor").css({y:"-100",opacity:0}).transition({y:"0",opacity:1},250),g.editor=ace.edit("editor"),g.editor.setOptions({scrollPastEnd:.5}),g.editor.focus(),g.editor.navigateFileEnd(),e("#colorPicker").spectrum({flat:!0,showButtons:!1,showInput:!0,showPalette:!0,preferredFormat:"hex",palette:[["#000","#444","#666","#999","#ccc","#eee","#f3f3f3","#fff"],["#f00","#f90","#ff0","#0f0","#0ff","#00f","#90f","#f0f"],["#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#cfe2f3","#d9d2e9","#ead1dc"]],move:function(e){g.applyPickerColorEditor(e)},clickoutFiresChange:!0});const i=ace.require("ace/ext/language_tools"),s=u.Utils.createAutocompleter("ink"===app.settings.documentType()?["divert.target"]:["string.llink","string.rlink"],app.getOtherNodeTitles().map(e=>{const n=g.getNodeByTitle(e);return{word:e,title:e,about:`${n.tags().length>0?`tags: ${n.tags()}
`:""}Preview:
${n.clippedBody()}`,titleStyle:t.titleStyles[n.colorID()]}}),"Node Link");i.setCompleters([s,i.keyWordCompleter,i.textCompleter,i.snippetCompleter]);let r=void 0;g.editor.getSession().on("change",(function(e){const t=g.settings.autoCloseTags();if("insert"===e.action&&t){if(g.richTextFormatter.justInsertedAutoComplete)return void(g.richTextFormatter.justInsertedAutoComplete=!1);r&&clearTimeout(r),r=setTimeout(()=>{r=void 0,g.richTextFormatter.completableTags.forEach(e=>{if(g.getTagBeforeCursor()===e.Start){g.richTextFormatter.justInsertedAutoComplete=!0;let t=e.Completion,n=e.Offset;g.settings.autoCloseBrackets()&&e.BehaviorCompletion&&(t=e.BehaviorCompletion,n+=1),e.Completion&&g.insertTextAtCursor(t),e.Offset&&g.moveEditCursor(n),e.Func&&e.Func()}})},200)}})),this.emPicker=new EmojiPicker(document.getElementById("emojiPickerDom"),e=>{g.insertTextAtCursor(e.char),this.emPicker.toggle(),g.togglePreviewMode(!1)}),Object(o.enable_spellcheck)(),g.toggleInvertColors(),g.toggleShowCounter(),g.toggleSpellCheck(),g.validateTitle(),g.updateEditorStats(),g.updateEditorOptions(),g.$searchField.val().length>0&&e(".search-body input").is(":checked")&&g.editor.findAll(g.$searchField.val()),g.settings.editorSplit()&&(g.splitEditor(),g.workspace.warpToNodeByIdx(t.index()-1)),"right"===g.settings.editorSplitDirection()?(e("#editor-form").addClass("split-editor-right"),e("#editor-resize-handle").addClass("float-right")):(e("#editor-form").removeClass("split-editor-right"),e("#editor-resize-handle").removeClass("float-right")),e(".node-editor").on("pointerdown","> *",(function(e){g.isEditorSplit&&(g.focusEditor(!0),e.stopPropagation())})),e(".app-info").hide(),g.editor.resize(),null!=t.undoManager&&g.editor.session.setUndoManager(t.undoManager);var a=new CustomEvent("yarnEditorOpen");a.document=document,a.data=c.a,a.app=app,window.dispatchEvent(a),window.parent.dispatchEvent(a)},this.splitEditor=function(){g.isEditorSplit=!0,g.focusEditor(!0),g.settings.editorSplit(!0),g.editorResizeHandleOptions.resizeWidthFrom="right"===g.settings.editorSplitDirection()?"left":"right",e("#editor-form").width(g.settings.editorSplitSize()).addClass("split-editor").toggleClass("split-editor-right","right"===g.settings.editorSplitDirection()).resizable(g.editorResizeHandleOptions),e("#node-editor-background").addClass("hidden"),e("#node-editor").css({"z-index":10002}),e("#editor-resize-handle").removeClass("hidden").toggleClass("float-right","right"===g.settings.editorSplitDirection()),e("#split-editor-button").addClass("hidden"),e("#snap-editor-button").removeClass("hidden"),e("#exit-editor").removeClass("hidden"),e("#full-size-editor-button").removeClass("hidden"),e("#split-button-separator").removeClass("hidden"),g.ui.checkAndMoveAppButtons()},this.toggleEditorView=function(){g.settings.editorSplit(!g.settings.editorSplit()),g.reopenEditor()},this.reopenEditor=function(){g.saveNode();let e=g.editing();g.closeEditor(),setTimeout(()=>{g.editNode(e)},250)},this.editorSnapToggle=function(){g.settings.editorSplitDirection("right"===g.settings.editorSplitDirection()?"left":"right"),g.reopenEditor()},this.focusEditor=function(t){!0===t?(e("#node-editor").removeClass("split-editor-unfocused"),g.isEditorFocused=!0):(e("#node-editor").addClass("split-editor-unfocused"),g.isEditorFocused=!1)},this.getSplitEditorXOffset=function(){let t=0;return g.inEditor()&&g.settings.editorSplit()&&(t=e("#editor-form").width()/2,"right"===g.settings.editorSplitDirection()&&(t*=-1)),t},this.editNodeInVisualStudioCodeEditor=function(e){g.usingVisualStudioCodeExtension()?(g.setYarnDocumentIsDirty(),window.vsCodeApi.postMessage({type:"OpenNode",payload:{title:e.title().trim(),tags:e.tags().trim(),body:g.trimBodyLinks(e.body().trim())}})):console.error("Tried to open node in Visual Studio Code text editor but we're not in the Visual Studio Code extension")},this.chooseRelativePathImage=function(e){g.insertTextAtCursor(e)},this.getNodeByTitle=function(e){return g.nodes().find(t=>t.title().trim().toLowerCase()===e.trim().toLowerCase())},this.openNodeByTitle=function(e,t=""){g.isEditorInPlayMode()&&g.togglePlayMode(),g.makeNodeWithName(e);const n=g.nodes().find(t=>t.title().trim().toLowerCase()===e.trim().toLowerCase());n&&(g.editNode(n,!0),t&&setTimeout(()=>g.editor.find(t),200))},this.openLastEditedNode=function(){if(0===g.nodeVisitHistory.length)g.saveNode(),g.closeEditor();else{const e=g.nodeVisitHistory.pop();g.propagateUpdateFromNode(g.editing()),g.openNodeByTitle(e)}},this.getSpellCheckSuggestionItems=function(){var e=Object(o.suggest_word_for_misspelled)(g.editor.getSelectedText());if(e){var t={};return e.forEach(e=>{t[e]={name:e,icon:"edit",callback:e=>{g.insertTextAtCursor(e)}}}),t}return!1},this.getThesaurusItems=function(){var e=n("GLdW")(g.editor.getSelectedText());if(!e)return!1;var t=[];if(Object.keys(e).forEach((function(n){e[n].forEach((function(e){t.includes(e)||e===n||t.push(e)}))})),t.length>0){var i={};return t.forEach(e=>{i[e]={name:e,icon:"edit",callback:e=>{g.insertTextAtCursor(e)}}}),i}return!1},this.toggleSpellCheck=function(){setTimeout((function(){g.settings.spellcheckEnabled()?Object(o.enable_spellcheck)():Object(o.disable_spellcheck)()}),50)},this.toggleInvertColors=function(){const t=g.settings.invertColorsEnabled()?{filter:"invert(100%)"}:{filter:"invert(0%)"};e("#app").css(t),e("#app-bg").css(t),e(".tooltip").css(t),e(".node .body").css(t),e(".editor-container .editor-preview").css(t)},this.initGrid=function(){if(g.settings.snapGridEnabled()){var t=e(window).width(),n=e(window).height();e("#grid-canvas").attr("width",t),e("#grid-canvas").attr("height",n),e("#gridSize").attr("disabled",!1),g.workspace.gridContext.strokeStyle=g.workspace.gridContext.fillStyle=e(".grid-canvas").css("color")}else e("#gridSize").attr("disabled",!0);app.workspace.updateGrid()},this.toggleShowCounter=function(){g.settings.editorStatsEnabled()?e(".node-editor .form .editor-counter").css({display:"initial"}):e(".node-editor .form .editor-counter").css({display:"none"})},this.toggleAutocompleteSuggestions=function(){g.settings.autocompleteSuggestionsEnabled(!g.settings.autocompleteSuggestionsEnabled()),g.updateEditorOptions()},this.toggleAutoCloseBrackets=function(){g.settings.autoCloseBrackets(!g.settings.autoCloseBrackets()),g.updateEditorOptions()},this.updateEditorOptions=function(){g.editor.setOptions({enableBasicAutocompletion:app.settings.autocompleteSuggestionsEnabled(),enableLiveAutocompletion:app.settings.autocompleteSuggestionsEnabled(),behavioursEnabled:app.settings.autoCloseBrackets()})},this.togglePreviewMode=function(t){const n=e(".editor")[0],i=e("#editor-preview")[0];g.isEditorInPreviewMode=t,app.ui.dispatchEvent("yarnInPreviewMode"),t?(e(".bbcode-toolbar").addClass("hidden"),n.style.display="none",i.style.display="block",i.innerHTML=g.richTextFormatter.richTextToHtml(g.editing().body(),!0),i.scrollTop=g.editor.renderer.scrollTop):(e(".bbcode-toolbar").removeClass("hidden"),g.editor.session.setScrollTop(i.scrollTop),i.innerHTML="",i.style.display="none",n.style.display="flex",g.editor.focus(),g.editor.resize(),e("#colorPicker-container").is(":visible")&&e("#colorPicker-container").hide(),e("#emojiPicker-container").is(":visible")&&e("#emojiPicker-container").hide())},this.appendText=function(e){g.editing().body(g.editing().body()+e);const t=g.editor.session.getLength()-1,n=g.editor.session.getLine(t).length;g.editor.gotoLine(t+1,n)},this.moveEditCursor=function(e){const t=g.editor.getCursorPosition();g.editor.gotoLine(t.row+1,t.column+e),g.editor.focus()},this.insertTextAtCursor=function(e,t=!1){if(!g.editing())return;g.editor.session.replace(g.editor.selection.getRange(),"");const n=g.editor.getCursorPosition();if(g.editor.session.insert(n,e),t){const e=g.editor.getCursorPosition();editor.scrollToLine(e.row,!0,!0,(function(){})),g.editor.focus()}g.updateEditorStats(),g.editor.focus()},this.getTagBeforeCursor=function(){const e=g.editor.getSelectionRange(),t=e.start.row,n=g.editor.session.getLine(t).substring(e.start.column-2,e.start.column+2);if(!n)return"";if("ink"===app.settings.documentType()){if(["->"].includes(n.trim()))return n.trim()}else if(["[[","<<"].includes(n.trim())||n.includes("|"))return n.trim();return g.richTextFormatter.identifyTag(n)},this.saveNode=function(){const t=g.editing();if(t){const n=e("#editorTitle")[0],i=g.getFutureEditedNodeTitle();n.value=i,t.title(i),t.body(g.trimBodyLinks(t.body().trim())),g.makeNewNodesFromLinks(),g.propagateUpdateFromNode(t),g.workspace.updateArrows(),setTimeout(g.updateSearch,600),g.setYarnDocumentIsDirty(),app.ui.dispatchEvent("yarnSavedNode")}},this.closeEditor=function(){g.editing().undoManager=g.editor.session.getUndoManager(),e("#node-editor-background").transition({opacity:0},250),e("#node-editor").transition({y:"-100",opacity:0},250,(function(e){g.editing(null),g.editor.destroy(),g.editor=null,this.emPicker=null})),g.isEditorSplit=!1,g.isEditorFocused=!1,e(".app-info").show(),app.ui.resetAppButtonsLocation(),g.isEditorInPlayMode()&&g.togglePlayMode(!1),g.isEditorInPreviewMode&&g.togglePreviewMode(!1)},this.convertMarkup=function(){g.nodes().forEach(e=>{e.body(g.richTextFormatter.convert(e.body()))})},this.updateSearch=u.Utils.debounce((function(){const t=app.$searchField.val().toLowerCase();for(var n=0;n{n.includes(e)||t.push(e)}),e.linkedFrom().forEach(e=>{n.includes(e)||t.push(e)}))},this.updateTagsRepository=u.Utils.debounce((function(){if(!app.mustUpdateTags)return;app.mustUpdateTags=!1;g.tags().forEach(e=>e.count=0),g.nodes().forEach(e=>{u.Utils.uniqueSplit(e.tags()," ").forEach(e=>{const t=g.tags().find(t=>t.text==e);if(t)++t.count;else{const t=(()=>{const e=g.tags().map(e=>e.id);for(let t=1;;++t)if(!e.includes(t))return t})();g.tags.push({id:t,style:"tag-style-"+t,text:e,count:1})}})});let e=g.tags().length;for(;e--;)0===g.tags()[e].count&&g.tags().splice(e,1)}),500),this.makeNewNodesFromLinks=function(){if(!g.settings.createNodesEnabled())return console.info("Autocreate new nodes disabled");var e=g.editing().getLinksInNode();if(null!=e)for(var t=0;t0&&!n.includes(e)&&e!=g.editing().title()&&g.newNodeAt(g.editing().x()+t,g.editing().y()-120).title(e)},this.titleExistsTwice=function(e){return g.nodes().filter(t=>t.title().trim()===e.trim()).length>1},this.getFutureEditedNodeTitle=function(){const t=e("#editorTitle")[0];return g.getUniqueTitle(t.value.trim())},this.getOtherNodeTitles=function(){const e=[];return g.nodes().forEach(t=>{if(!g.editing()||t.title()!==g.editing().title()){if("ink"===app.settings.documentType()&&t.title().trim()===c.a.InkGlobalScopeNodeName)return;e.push(t.title().trim())}}),e},this.getHighlightedText=function(t){t=(t=(t=(t=(t=(t=(t=(t=t.replace(/\/g,">")).replace(/\<\<(.*?)\>\>/g,'

<<

$1

>>

')).replace(/\[\[([^\|]*?)\]\]/g,'

[[

$1

]]

')).replace(/\[\[([^\[\]]*?)\|([^\[\]]*?)\]\]/g,'

[[

$1

|

$2

]]

')).replace(/[^:]\/\/(.*)?($|\n)/g,'//$1\n')).replace(/\/\*((.|[\r\n])*)?\*\//gm,'/*$1*/')).replace(/\/\%((.|[\r\n])*)?\%\//gm,'/%$1%/');var n=e("
");return n[0].innerHTML=t,n.find(".comment").each((function(){e(this).find("p").each((function(){e(this).removeClass()}))})),n.find(".linkname").each((function(){var t=e(this).text(),n=!1;for(var i in g.nodes())if(g.nodes()[i].title().toLowerCase()==t.toLowerCase()){n=!0;break}n||e(this).removeClass("linkname")})),t=n[0].innerHTML},this.updateLineNumbers=function(t){for(var n=t.split("\n"),i="",o=0;o0)&&(i+=o+1+"
");e(".editor-container .lines").html(i)},this.moveNodes=function(e,t){for(var n in g.nodes()){var i=g.nodes()[n];i.moveTo(i.x()+e,i.y()+t)}},this.getFirstFoundNode=function(e){return g.nodes().find(t=>t.title().toLowerCase().trim()===e)},this.searchWarp=function(){var e=g.$searchField.val().toLowerCase().trim();if(""===e)g.workspace.warpToNodeByIdx(0);else{const t=g.getFirstFoundNode(e);g.workspace.warpToNodeByIdx(g.nodes.indexOf(t))}},this.clearSearch=function(){g.$searchField.val(""),g.updateSearch()},this.updateEditorStats=function(){var t=g.editor.getSession().getValue(),n=g.editor.getCursorPosition(),i=t.split("\n");e(".editor-counter .character-count").html(t.length),e(".editor-counter .line-count").html(i.length),e(".editor-counter .row-index").html(n.row),e(".editor-counter .column-index").html(n.column),c.a.saveAppStateToLocalStorage()},this.getUniqueTitle=function(e){var t=g.getOtherNodeTitles();if(e&&!t.includes(e))return e;var n=e||"Node",i=2;const o=n.match(/^(.*)(_([0-9]+))$/);if(o&&4===o.length&&(n=o[1],i=Number(o[3])),!t.includes(n))return n;for(;;++i){var s=n+"_"+i;if(!t.includes(s))return s}},this.navigateToNodeDuringPlayTest=function(e,t=""){g.openNodeByTitle(e,t),g.togglePlayMode(!0),app.workspace.warpToNode(app.getFirstFoundNode(e))}})}).call(this,n("EVdn"),n("Z1dp"))},"P85/":function(e,t,n){},VgQK:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var i=function({app:e,createButton:t,onLoad:n,setPluginStore:i,getGistFileUrl:o,getSelectedResourceUrl:s,updateUrlParams:r}){const a=this;this.name="ResourcesEditor",this.selectedResourcesJson="resources.res.json",this.resourcesFileUrl="",this.resourcesFileContent="";const l=e.data.db;this.getVloatileResource=(e="")=>l.getDbValue("volatileResources-"+(e||this.selectedResourcesJson)),this.setVolatileResource=(e,t="")=>l.save("volatileResources-"+(t||this.selectedResourcesJson),e),this.deleteVolatileResource=(e="")=>l.save("volatileResources-"+(e||this.selectedResourcesJson),void 0),this.getVolatileResourcesList=()=>l.getDbValue("volatileResources"),this.setVolatileResourcesList=(e,t=!0)=>this.getVolatileResourcesList().then(n=>(n||(n=new Set([])),t?n.add(e):n.delete(e),l.save("volatileResources",n))),this.getNewresourceFileContent=()=>"{}",this.createOrEditGistFile=(t,n)=>{e.data.storage.getGistFiles(n).then(({filesInGist:n})=>{const i=Object.values(n).find(e=>e.filename===this.selectedResourcesJson);if(i)return this.resourcesFileUrl=i.raw_url,e.data.storage.getContentOrRaw(i.content,i.raw_url).then(e=>{const n={...i,content:e};this.setVolatileResource(n),t(n)});e.data.storage.editGistFile(this.selectedResourcesJson,this.getNewresourceFileContent()).then(({file:e,response:n})=>{if(n.ok)ToastWc.show({type:"success",content:`Created a ${this.selectedResourcesJson} file..`,time:3e3}),this.resourcesFileUrl=e.raw_url,this.setVolatileResource(e),t(e);else{const e={filename:this.selectedResourcesJson,content:""};this.setVolatileResource(e),t(e)}})})},this.getFromGist=()=>new Promise((e,t)=>this.createOrEditGistFile(e,t)),this.initResourcesFile=(e=!1)=>new Promise((t,n)=>{const i=()=>this.getVloatileResource().then(i=>{if(i&&i.content)return console.log({volatile:i}),this.onUpdateResourcesList(),void t(i);if(e){const e={filename:this.selectedResourcesJson,content:this.getNewresourceFileContent()};return this.setVolatileResource(e),void t(e)}return this.createOrEditGistFile(t,n)});this.getVolatileResourcesList().then(e=>(console.log({volatileResourcesList:e}),e||this.setVolatileResourcesList(this.selectedResourcesJson).then(()=>i()),i()))}),this.onCommitResourceFiles=t=>{this.isBusy("Uploading changes to gist..."),document.querySelector("resources-component").setIsLocked(!0),e.data.storage.editGistFile(this.selectedResourcesJson,t).then(({ok:e,gistId:t,file:n})=>{t?e?(ToastWc.show({type:"info",content:"Saved resources on gist",time:1e3}),this.resourcesFileUrl=n.raw_url,document.querySelector("resources-component").setIsNew(!1),document.querySelector("resources-component").updateRawUrl(n.raw_url)):ToastWc.show({type:"error",content:`Could not save changes to Gist id: ${t}!`,time:3e3}):ToastWc.show({type:"error",content:"No Gist id provided to save to. Configure it in the settings dialog.",time:3e3}),document.querySelector("resources-component").setIsLocked(!1),this.isBusy("")})},this.onGetFromGist=()=>{this.getVolatileResourcesList().then(t=>{e.data.storage.getGistFiles().then(({filesInGist:n})=>{const i=[],o=[];Object.values(n).forEach(n=>{n.filename.endsWith(".res.json")&&!t.has(n.filename)&&(i.push(n),o.push(e.data.storage.getContentOrRaw(n.content,n.raw_url,console.error)))}),Promise.all(o).then(e=>{e.forEach((t,n)=>{const o={...i[n],content:t},s=o.filename;console.log({file:o,newFileName:s,filesFromGist:i}),s&&this.setVolatileResource(o,s).then(()=>{n===e.length-1&&this.setVolatileResourcesList(s).then(()=>{this.onUpdateResourcesList(s),this.onSetEditingFile(s),ToastWc.show({type:"success",content:`Added ${e.length} files..\n${i.map(e=>e.filename).join("\n")}`,time:3e3})})})})})})})},this.onUpdateResourcesList=()=>{this.getVolatileResourcesList().then(e=>{document.getElementById("edited-resources").innerHTML=Array.from(e).map(e=>``).join("")})},this.onSetEditingFile=(e="")=>{const t=e||document.getElementById("edited-resources").value;this.selectedResourcesJson=t,this.getVloatileResource(t).then(e=>{console.log("Set",{fileName:t,file:e}),document.querySelector("resources-component").updateResourcesList(e.content),document.getElementById("edited-resources").value=this.selectedResourcesJson,document.querySelector("resources-component").updateRawUrl(e.raw_url)})},this.onAddNewFile=()=>{let e=prompt("Create a new resource file?\nAllowed formats: .res.json\nReserved names: resources.res.json","images.res.json");e&&(e=e.replace(/\s+/g,"").replace(/\//g,"").trim(),e=e.endsWith(".res.json")?e:e+".res.json",this.getVolatileResourcesList().then(t=>{if(t.has(e))return void alert(e+" already exists.\nPlease choose another name..");const n={content:this.getNewresourceFileContent(),filename:e};this.setVolatileResource(n,e).then(()=>{this.setVolatileResourcesList(e).then(()=>{this.onUpdateResourcesList(e),this.onSetEditingFile(e)})})}))},this.onRemoveSelectedFile=()=>{const e=document.getElementById("edited-resources").value;"resources.res.json"!==e?confirm(`Are you sure you want to delete this resources file:\n${e}?`)&&this.getVolatileResourcesList().then(t=>{const n=Array.from(t);let i=n.indexOf(e)-1;i<0&&(i=0),this.setVolatileResourcesList(e,!1).then(()=>{this.onUpdateResourcesList(),this.deleteVolatileResource(e),this.onSetEditingFile(n[i]),confirm(`Would you also like to delete this resource file from the Gist?\n${e}?`)&&alert("TODO")})}):alert("Not allowed to delete resources.res.json placeholder")},this.onOpenResourcesEditor=async()=>{const t="app.plugins."+a.name,{value:n}=await Swal.fire({showCloseButton:!1,showCancelButton:!1,title:"",html:`\n
\n \n \n
\n \n
\n \n \n \n
\n \n
\n
\n
\n `,showConfirmButton:!1,focusConfirm:!1,customClass:"swal-wide",width:window.innerWidth-20+"px",onBeforeOpen:()=>{},onAfterClose:()=>{r("selectedResource","")},onOpen:()=>{this.isBusy=e=>{document.querySelector("spinner-component").isBusy(e)},this.isBusy("Loading files from gist..."),document.querySelector("resources-component").addEventListener("isBusy",e=>{this.isBusy(e.detail.message)}),document.querySelector("resources-component").addEventListener("commitNewContent",e=>{const t=e.detail;this.setVolatileResource({filename:this.selectedResourcesJson,content:t})}),document.querySelector("resources-component").addEventListener("headerButtonClicked",({detail:e})=>{"pull"===e&&(this.isBusy("Downloading changes to gist..."),this.getFromGist().then(e=>{document.querySelector("resources-component").updateResourcesList(e.content),ToastWc.show({type:"success",content:`Re-Downloaded ${this.selectedResourcesJson} file`,time:3e3}),this.isBusy(""),document.querySelector("resources-component").setFileContent(e),this.setVolatileResource(e)}).catch(e=>{ToastWc.show({type:"error",content:`Could not Load changed from Gist file!\n${e}..`,time:3e3}),this.isBusy("")})),"push"===e&&this.getVloatileResource().then(e=>this.onCommitResourceFiles(e.content))}),this.initResourcesComponent=t=>{r("selectedResource","none"),document.querySelector("resources-component").init({file:t,gistId:this.gistId,darkMode:"dracula"===e.settings.theme(),headerButtons:[{title:"Pull from gist",action:"pull"},{title:"Commit to gist",action:"push"}]})},this.initResourcesFile().then(e=>{this.resourcesFileUrl=e.raw_url,ToastWc.show({type:"success",content:`Editing ${this.selectedResourcesJson} at\n${e.raw_url||"---"}`,time:2e3,onClick:()=>window.open(e.raw_url,"_blank")}),this.initResourcesComponent(e)}).catch(e=>{ToastWc.show({type:"error",content:e,time:2e3}).then(()=>{ToastWc.show({type:"info",content:"Yarn will store resources in cache for now",time:2e3})}),this.isBusy(""),this.initResourcesFile(!0).then(this.initResourcesComponent)})},preConfirm:()=>(i(a.name,"resourcesEditorOpen",!1),"")})},n(()=>{this.gistId=o(),o()&&s()&&this.onOpenResourcesEditor(this.resourcesFileContent),t(a.name,{name:"Resources",attachTo:e.settings.developmentModeEnabled()?"appHeader":"fileMenuDropdown",onClick:"onOpenResourcesEditor()",className:"item",id:"resourcesEditorButton",iconName:"image",...e.settings.developmentModeEnabled()?{className:"bbcode-button",style:"padding: 0 10px; margin-top: 3px; font-size: small",as:"span"}:{}})})}},W2Rx:function(e,t,n){"use strict";(function(e,i){n.d(t,"a",(function(){return r}));var o=n("oj90");let s=0;let r=function(t={}){const n=this;this.titleStyles=["title-style-1","title-style-2","title-style-3","title-style-4","title-style-5","title-style-6","title-style-7","title-style-8","title-style-9"],this.index=e.observable(s++),this.title=e.observable(t.title||app.getUniqueTitle()),this.tags=e.observable(t.tags||""),this.body=e.observable(t.body||""),this.active=e.observable(t.active||!0),this.width=200,this.height=200,this.tempOpacity=null,this.style=null,this.colorID=e.observable(t.colorID||0),this.checked=!1,this.selected=!1,this.createX=t.x||null,this.createY=t.y||null,this.undoManager=null,this.clippedTags=e.computed((function(){return app.updateTagsRepository(),o.Utils.uniqueSplit(n.tags()," ").map(e=>app.tags().find(t=>t.text===e)).filter(e=>e)}),this),this.clippedBody=e.computed((function(){if(app.ui.isScreenNarrow()&&app.editing())return;app.mustRefreshNodes();let e=app.getHighlightedText(this.body());return e=app.richTextFormatter.richTextToHtml(e),e=e.substr(0,225),e}),this),this.linkedTo=e.observableArray(),this.linkedFrom=e.observableArray(),this.element=null,this.canDoubleClick=!0,this.create=function(){if(n.style=window.getComputedStyle(i(n.element).get(0)),n.createX&&n.createY)n.x(n.createX),n.y(n.createY);else{let e=i(n.element).parent();n.x((-e.offset().left+i(window).width()/2-100)/app.workspace.scale),n.y((-e.offset().top+i(window).height()/2-100)/app.workspace.scale)}app.workspace.bringToFront(n.element),app.workspace.startUpdatingArrows(),i(n.element).css({opacity:0,scale:.8,y:"-=80px",rotate:"45deg"}).transition({opacity:1,scale:1,y:"+=80px",rotate:"0deg"},250,"easeInQuad",(function(){app.workspace.stopUpdatingArrows(),app.workspace.updateArrows()})),n.drag(),i(n.element).on("dblclick",(function(){n.canDoubleClick&&app.editNode(n)})),o.Utils.addDoubleTapDetector(n.element,(function(){n.canDoubleClick&&app.editNode(n)})),i(n.element).on("click",(function(e){e.ctrlKey&&(n.selected?app.workspace.deselectNodes(n):app.workspace.selectNodes(n))}))},this.setSelected=function(e){n.selected=e,n.selected?i(n.element).addClass("selected"):i(n.element).removeClass("selected")},this.toggleSelected=function(){n.setSelected(!n.selected)},this.x=function(e){if(null!=e&&i(n.element).css({x:Math.floor(e)}),n.style)return Math.floor(new WebKitCSSMatrix(n.style.webkitTransform).m41)},this.y=function(e){if(null!=e&&i(n.element).css({y:Math.floor(e)}),n.style)return Math.floor(new WebKitCSSMatrix(n.style.webkitTransform).m42)},this.resetDoubleClick=function(){n.canDoubleClick=!0},this.cycleColorDown=function(){n.doCycleColorDown(),setTimeout(n.resetDoubleClick,500),n.canDoubleClick=!1,app.input.isShiftDown&&app.matchConnectedColorID(n),n.selected&&app.setSelectedColors(n),app.setYarnDocumentIsDirty()},this.cycleColorUp=function(){n.doCycleColorUp(),setTimeout(n.resetDoubleClick,500),n.canDoubleClick=!1,app.input.isShiftDown&&app.matchConnectedColorID(n),n.selected&&app.setSelectedColors(n),app.setYarnDocumentIsDirty()},this.doCycleColorDown=function(){n.colorID(n.colorID()-1),n.colorID()<0&&n.colorID(8)},this.doCycleColorUp=function(){n.colorID(n.colorID()+1),n.colorID()>8&&n.colorID(0)},this.remove=async function(){return new Promise((e,t)=>{i(n.element).transition({opacity:0,scale:.8,y:"-=80px",rotate:"-45deg"},250,"easeInQuad",e)})},this.drag=function(){const e={x:0,y:0};let t=!1,o=!1;i(document.body).on("mousemove touchmove",(function(i){if(t){const t=app.input.isScreenTouched&&i.changedTouches?i.changedTouches[0].pageX:i.pageX,s=app.input.isScreenTouched&&i.changedTouches?i.changedTouches[0].pageY:i.pageY;let{x:r,y:a}=app.workspace.toWorkspaceCoordinates(t,s);r-=e.x,a-=e.y;let l=r-n.x(),d=a-n.y();const c=app.workspace.getSelectedNodes();if(("mousemove"===i.originalEvent.type||c.includes(n)&&"touchmove"===i.originalEvent.type)&&(n.x(r),n.y(a)),o&&(n.selected?c.splice(c.indexOf(n),1):c=app.getNodesConnectedTo(n),c.length>0))for(let e in c)c[e].active()&&(c[e].x(c[e].x()+l),c[e].y(c[e].y()+d));app.workspace.updateArrows()}})),i(n.element).on("pointerdown",(function(i){if(!t&&n.active()&&0===i.button){t=!0,(app.input.isShiftDown||n.selected)&&(o=!0);const{x:s,y:r}=app.workspace.toWorkspaceCoordinates(i.pageX,i.pageY);e.x=app.settings.snapGridEnabled()?app.workspace.stepify(s-n.x(),app.settings.gridSize()):s-n.x(),e.y=app.settings.snapGridEnabled()?app.workspace.stepify(r-n.y(),app.settings.gridSize()):r-n.y()}})),i(n.element).on("touchend",(function(e){app.workspace.selectNodes(n)})),i(document).on("pointerup touchend",(function(){(t||o)&&(t=!1,o=!1,app.setYarnDocumentIsDirty())}))},this.moveTo=function(e,t){app.workspace.startUpdatingArrows(),i(n.element).clearQueue(),i(n.element).transition({x:e,y:t},app.stopUpdatingArrows,500)},this.isConnectedTo=function(e,t){if(t&&e.isConnectedTo(n,!1))return!0;let i=n.linkedTo();for(let t in i){if(i[t]==e)return!0;if(i[t].isConnectedTo(e,!1))return!0;if(e.isConnectedTo(i[t],!1))return!0}return!1},this.getLinksInNode=function(e){const t="yarn"===app.settings.documentType();let i=(e||n).body().match(t?/\[\[(.*?)\]\]/g:/\-\>(.*)/g);if(null!=i){let e={};for(let n=i.length-1;n>=0;n--)t?(i[n]=i[n].substr(2,i[n].length-4).trim(),i[n].indexOf("|")>=0&&(i[n]=i[n].split("|")[1]),null!=e[i[n]]&&i.splice(n,1),e[i[n]]=!0):i[n]=i[n].substr(2,i[n].length).trim();return i}},this.updateLinks=function(){n.resetDoubleClick(),n.updateLinksFromParents(),n.updateLinksToChildren()},this.updateLinksFromParents=function(){n.oldTitle&&n.oldTitle!==n.title()&&(n.linkedFrom.removeAll(),app.nodes().forEach(e=>{const t=n.getLinksInNode(e);if(t)if(t.includes(n.oldTitle)){const t=RegExp("\\|\\s*"+n.oldTitle+"\\s*\\]\\]","g"),i=RegExp("\\[\\[\\s*"+n.oldTitle+"\\s*\\]\\]","g");let o=e.body().replace(t,"|"+n.title()+"]]");o=o.replace(i,"[["+n.title()+"]]"),e.body(o),n.linkedFrom.push(e)}else t.includes(n.title())&&n.linkedFrom.push(e)}),n.oldTitle=void 0)},this.updateLinksToChildren=function(){n.linkedTo.removeAll();let e=n.getLinksInNode();if(e)for(let t in app.nodes()){let i=app.nodes()[t];for(let t=0;tfetch(e))).then(e=>Promise.all(e.map(e=>e.text()))).then(e=>{l.ink=e[0],l.yarn=e[1]});var d=function(t){const n=this,o=e=>(n.pluginStorage||(n.pluginStorage={}),n.pluginStorage[e]||(n.pluginStorage={...n.pluginStorage,[e]:{}}),this.pluginStorage[e]);window.addEventListener("yarnLoadedData",e=>{if(null!==t.data.documentHeader()){const e=t.data.documentHeader();"pluginStorage"in e&&(n.pluginStorage=e.pluginStorage)}}),window.addEventListener("newYarnFileStarted",e=>{n.pluginStorage={}});const s=t.data.db,r=()=>s.getDbValue("volatilePlugins"),d=e=>s.save("volatilePlugins",e),c=new URL(window.location.href),u=c.searchParams;console.log({urlParams:u,url:c});const p=()=>u.get("gistPlugins")||t.settings.gistPluginsFile();this.rawUrls={};const h=()=>new Promise(e=>{t.data.storage.getGist(p()).then(({filesInGist:n})=>{const i=Object.values(n).filter(e=>"JavaScript"===e.language||e.filename.endsWith(".js")||e.filename.endsWith(".json")||e.filename.endsWith(".txt")).map(e=>(this.rawUrls[e.filename]=e.raw_url,t.data.storage.getContentOrRaw(e.content,e.raw_url).then(t=>({...e,content:t}))));e(Promise.all(i))})}),g=(e=!1)=>new Promise(t=>r().then(n=>e?(console.log("---- fetching from gist files ----"),h().then(e=>{const i={};e.forEach(e=>{i[e.filename]=e}),t({...i,...n})}).catch(()=>t(n))):t(n))),f=e=>{try{const t=new Function("parameters","return "+e);if("function"==typeof t){const n=t();if(n){const t=e.indexOf("script:"),i=n()||{},o=e.substring(0,t).split("\n").length;return[{console:!1,...i,scriptStartLn:o},e]}}}catch(t){return console.log({e:t,fileContents:e}),[null,e,t]}return[null,e]},m={app:t,createButton:(e,{name:t,iconName:n,onClick:i,attachTo:o,className:s="item bbcode-button",title:r,onPointerDown:a,onDoubleClick:l,id:d,as:c="span",style:u=""})=>{const p=d||t||r||n;if(null!==document.getElementById(p))return void console.error(`Plugin button creation: Button with the id ${p} already exists. Skip creating it.`);const h=document.createElement(c);return h.id=p,h.innerHTML=`\n \n \n ${t||""}\n \n `,document.getElementById(o).appendChild(h),h},createToggle:(e,{id:t,attachTo:n,className:i,title:o,tooltipId:s,toggleValueKey:r,onToggle:a,enableKey:l,iconName:d,name:c})=>{const u=t||c||o||d;if(null!==document.getElementById(u))return void console.error(`Plugin button creation: Button with the id ${u} already exists. Skip creating it.`);const p=document.createElement("span");return p.id=u,p.className="styled-checkbox",p.innerHTML=`\n \n \n `,document.getElementById(n).appendChild(p),p},getPluginStore:o,setPluginStore:(e,t,i)=>{const s={...o(e),[t]:i};n.pluginStorage={...n.pluginStorage,[e]:s}},addSettingsItem:({title:n,valueKey:i,defaultValue:o,optionsKey:s,options:r,setterKey:a,settingsColumn:l})=>{t.settings[i]=e.observable(t.settings.storage.getItem(i)||o).extend({persist:i}),t.ui[s]=r,t[a]=function(e,n){const o=n?n.target.value:e;t.settings[i](o)},window.addEventListener("settingsOpened",()=>{const e=t.ui[s].map(e=>``).join(""),o=`\n \n
\n \n
\n `,r=document.createElement("div");r.className="settings-item",r.innerHTML=o,document.getElementById("settingsColumn"+(l||"A")).appendChild(r),document.getElementById("mySelect").addEventListener("change",e=>{t[a](!1,e)})})},onYarnLoadedData:e=>{window.addEventListener("yarnLoadedData",t=>{e(t)})},onYarnEditorOpen:e=>{window.addEventListener("yarnEditorOpen",t=>{e(t)})},onYarnInPreviewMode:e=>{window.addEventListener("yarnSavedNode",t=>{e(t)})},onYarnSavedNode:e=>{window.addEventListener("yarnInPreviewMode",t=>{e(t)})},onYarnSetLanguage:e=>{window.addEventListener("yarnSetLanguage",t=>{e(t)})},onYarnLoadedStateFromLocalStorage:e=>{window.addEventListener("yarnLoadedStateFromLocalStorage",t=>{e(t)})},onYarnSavedStateToLocalStorage:e=>{window.addEventListener("yarnSavedStateToLocalStorage",t=>{e(t)})},onYarnSetDocumentType:e=>{window.addEventListener("yarnSetDocumentType",t=>{e(t)})},onKeyUp:e=>{i(document).on("keyup",t=>{e(t)})},onKeyDown:e=>{i(document).on("keydown",t=>{e(t)})},onLoad:e=>{window.addEventListener("DOMContentLoaded",t=>{e(t)})},getVloatilePlugins:r,setVloatilePlugin:(e,t)=>r().then(n=>(n=n||{},s.save("volatilePlugins",{...n,[e]:{...n[e],...t}}))),setVloatilePlugins:d,getGistPluginFiles:h,getGistPluginFile:e=>{if(!p())return Promise.resolve(`// ${e}:\n// No gist id specified - to look for the file`);console.log({rawUrls:this.rawUrls});const n=this.rawUrls[e];return n?t.data.storage.getGistFileFromRawUrl(n):Promise.resolve(`// ${e}:\n// Not found at ${p()}\n// Check if it was deleted or renamed before comitting\n// Commiting changes will create the file at that gist.`)},saveGistPlugin:(e,n)=>(console.log({gistId:t.settings.gistPluginsFile(),fileName:e,contents:n}),t.data.storage.editGist(t.settings.gistPluginsFile(),e,n).then(t=>(this.rawUrls[e]=t.file.raw_url,t))),isGistTokenInvalid:()=>t.data.storage.getIsTokenInvalid(),urlParams:u,updateUrlParams:(e,t)=>{console.log("updateUrlParams",{key:e,value:t}),t?c.searchParams.set(e,t):c.searchParams.delete(e),window.history.replaceState(null,null,c)},getGistPluginsFileUrl:()=>u.get("pluginFile"),getGistPluginsId:p,pluginModeUrl:()=>u.get("mode"),getPluginsList:g,deleteGistPlugin:e=>t.data.storage.deleteGistFile(p(),e),deleteVolatilePlugin:e=>r().then(t=>(e in t&&delete t[e],s.save("volatilePlugins",{...t}))),getExtensionScriptData:f,getPreviewHtml:(e,t,n={})=>{const i=(e.modules||[]).filter(e=>!e.includes("/")&&e in t&&t[e].content).map(e=>{try{const[n,i]=f(t[e].content);if(console.log(e,"----\x3e",{includeData:n}),n&&"script"in n){const t=n.script.toString();return{id:e,body:t.startsWith("function ")?""+t:((e=(()=>{}))=>{const t=e.toString();return e.toString().slice(t.indexOf("{")+1,t.lastIndexOf("}"))})(n.script)}}if(i)return{id:e,body:i}}catch(e){return!1}}).filter(Boolean),o=(e.modules||[]).filter(e=>e.includes("/"));return console.log({data:e,otherFiles:t,localModules:i,remoteModules:o}),`\n \n \n \n \n