├── .gitignore ├── README.md ├── css ├── main.css └── main.css.js ├── favicon.png ├── index.html ├── js ├── lib │ └── qp.js └── main.js ├── notifications.html ├── search.html ├── thumb.png └── vendor └── beaker-app-stdlib ├── .gitignore ├── css ├── buttons.css ├── buttons.css.js ├── buttons2.css ├── buttons2.css.js ├── colors.css ├── colors.css.js ├── com │ ├── dropdown.css │ ├── dropdown.css.js │ ├── popups.css │ ├── popups.css.js │ ├── post-composer.css.js │ ├── record-feed.css.js │ ├── record-thread.css.js │ ├── record.css.js │ ├── sites-list.css.js │ ├── spinner.css │ ├── spinner.css.js │ ├── toast.css │ └── toast.css.js ├── common.css ├── common.css.js ├── fontawesome.css ├── fontawesome.css.js ├── inputs.css ├── inputs.css.js ├── markdown.css.js ├── reset.css ├── reset.css.js ├── tooltip.css ├── tooltip.css.js ├── typography.css └── typography.css.js ├── data └── emoji-list.js ├── img ├── default-user-thumb.jpg └── spinner.gif ├── js ├── clipboard.js ├── com │ ├── context-menu.js │ ├── hover-card.js │ ├── hoverable.js │ ├── img-fallbacks.js │ ├── popups │ │ ├── base.js │ │ ├── edit-bookmark.js │ │ ├── edit-cover-photo.js │ │ ├── edit-profile.js │ │ ├── edit-thumb.js │ │ ├── new-page.js │ │ ├── new-post.js │ │ ├── sites-list.js │ │ └── view-thread.js │ ├── post-composer.js │ ├── record-feed.js │ ├── record-thread.js │ ├── record.js │ ├── sites-list.js │ ├── tags-menu.js │ └── toast.js ├── const.js ├── dom.js ├── emoji.js ├── fs.js ├── functions.js ├── is-ext-binary.js ├── query-params.js ├── quill.js ├── records.js ├── strings.js ├── time.js └── vs │ ├── base │ ├── browser │ │ └── ui │ │ │ └── codiconLabel │ │ │ └── codicon │ │ │ └── codicon.ttf │ └── worker │ │ └── workerMain.js │ ├── basic-languages │ ├── abap │ │ └── abap.js │ ├── apex │ │ └── apex.js │ ├── azcli │ │ └── azcli.js │ ├── bat │ │ └── bat.js │ ├── cameligo │ │ └── cameligo.js │ ├── clojure │ │ └── clojure.js │ ├── coffee │ │ └── coffee.js │ ├── cpp │ │ └── cpp.js │ ├── csharp │ │ └── csharp.js │ ├── csp │ │ └── csp.js │ ├── css │ │ └── css.js │ ├── dockerfile │ │ └── dockerfile.js │ ├── fsharp │ │ └── fsharp.js │ ├── go │ │ └── go.js │ ├── graphql │ │ └── graphql.js │ ├── handlebars │ │ └── handlebars.js │ ├── html │ │ └── html.js │ ├── ini │ │ └── ini.js │ ├── java │ │ └── java.js │ ├── javascript │ │ └── javascript.js │ ├── kotlin │ │ └── kotlin.js │ ├── less │ │ └── less.js │ ├── lua │ │ └── lua.js │ ├── markdown │ │ └── markdown.js │ ├── mips │ │ └── mips.js │ ├── msdax │ │ └── msdax.js │ ├── mysql │ │ └── mysql.js │ ├── objective-c │ │ └── objective-c.js │ ├── pascal │ │ └── pascal.js │ ├── pascaligo │ │ └── pascaligo.js │ ├── perl │ │ └── perl.js │ ├── pgsql │ │ └── pgsql.js │ ├── php │ │ └── php.js │ ├── postiats │ │ └── postiats.js │ ├── powerquery │ │ └── powerquery.js │ ├── powershell │ │ └── powershell.js │ ├── pug │ │ └── pug.js │ ├── python │ │ └── python.js │ ├── r │ │ └── r.js │ ├── razor │ │ └── razor.js │ ├── redis │ │ └── redis.js │ ├── redshift │ │ └── redshift.js │ ├── restructuredtext │ │ └── restructuredtext.js │ ├── ruby │ │ └── ruby.js │ ├── rust │ │ └── rust.js │ ├── sb │ │ └── sb.js │ ├── scheme │ │ └── scheme.js │ ├── scss │ │ └── scss.js │ ├── shell │ │ └── shell.js │ ├── solidity │ │ └── solidity.js │ ├── sophia │ │ └── sophia.js │ ├── sql │ │ └── sql.js │ ├── st │ │ └── st.js │ ├── swift │ │ └── swift.js │ ├── tcl │ │ └── tcl.js │ ├── twig │ │ └── twig.js │ ├── typescript │ │ └── typescript.js │ ├── vb │ │ └── vb.js │ ├── xml │ │ └── xml.js │ └── yaml │ │ └── yaml.js │ ├── editor │ ├── editor.main.css │ ├── editor.main.js │ ├── editor.main.nls.de.js │ ├── editor.main.nls.es.js │ ├── editor.main.nls.fr.js │ ├── editor.main.nls.it.js │ ├── editor.main.nls.ja.js │ ├── editor.main.nls.js │ ├── editor.main.nls.ko.js │ ├── editor.main.nls.ru.js │ ├── editor.main.nls.zh-cn.js │ └── editor.main.nls.zh-tw.js │ ├── language │ ├── css │ │ ├── cssMode.js │ │ └── cssWorker.js │ ├── html │ │ ├── htmlMode.js │ │ └── htmlWorker.js │ ├── json │ │ ├── jsonMode.js │ │ └── jsonWorker.js │ └── typescript │ │ ├── tsMode.js │ │ └── tsWorker.js │ ├── loader.js │ └── suggestions.js ├── readme.md ├── scripts ├── css-watcher.js ├── emoji-data.txt ├── generate-css-js.js └── generate-emoji-list.js ├── vendor ├── bytes │ ├── .editorconfig │ ├── .eslintignore │ ├── .eslintrc.yml │ ├── .gitignore │ ├── .travis.yml │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ └── index.js ├── emoji-skin-tone │ ├── README.md │ └── index.js ├── lit-element-router │ ├── README.md │ ├── index.js │ ├── package.json │ └── utility │ │ └── router-utility.js ├── lit-element │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── css-tag.js │ │ ├── css-tag.js.map │ │ ├── decorators.js │ │ ├── decorators.js.map │ │ ├── updating-element.js │ │ └── updating-element.js.map │ ├── lit-element.js │ ├── lit-element.js.map │ └── lit-html │ │ ├── CHANGELOG.md │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── directives │ │ ├── async-append.js │ │ ├── async-append.js.map │ │ ├── async-replace.js │ │ ├── async-replace.js.map │ │ ├── cache.js │ │ ├── cache.js.map │ │ ├── class-map.js │ │ ├── class-map.js.map │ │ ├── guard.js │ │ ├── guard.js.map │ │ ├── if-defined.js │ │ ├── if-defined.js.map │ │ ├── repeat.js │ │ ├── repeat.js.map │ │ ├── style-map.js │ │ ├── style-map.js.map │ │ ├── unsafe-html.js │ │ ├── unsafe-html.js.map │ │ ├── until.js │ │ └── until.js.map │ │ ├── lib │ │ ├── default-template-processor.js │ │ ├── default-template-processor.js.map │ │ ├── directive.js │ │ ├── directive.js.map │ │ ├── dom.js │ │ ├── dom.js.map │ │ ├── modify-template.js │ │ ├── modify-template.js.map │ │ ├── part.js │ │ ├── part.js.map │ │ ├── parts.js │ │ ├── parts.js.map │ │ ├── render-options.js │ │ ├── render-options.js.map │ │ ├── render.js │ │ ├── render.js.map │ │ ├── shady-render.js │ │ ├── shady-render.js.map │ │ ├── template-factory.js │ │ ├── template-factory.js.map │ │ ├── template-instance.js │ │ ├── template-instance.js.map │ │ ├── template-processor.js │ │ ├── template-processor.js.map │ │ ├── template-result.js │ │ ├── template-result.js.map │ │ ├── template.js │ │ └── template.js.map │ │ ├── lit-html.js │ │ ├── lit-html.js.map │ │ └── polyfills │ │ ├── template_polyfill.js │ │ └── template_polyfill.js.map ├── lodash.debounce.js ├── markdown-it.js ├── markdown-it.min.js ├── moment.js ├── quill-mention │ ├── quill.mention.css │ └── quill.mention.js ├── quill │ ├── editor-style-fixes.css │ ├── quill.bubble.css │ ├── quill.js │ └── quill.snow.css └── remove-markdown.js └── webfonts ├── fa-brands-400.eot ├── fa-brands-400.svg ├── fa-brands-400.ttf ├── fa-brands-400.woff ├── fa-brands-400.woff2 ├── fa-regular-400.eot ├── fa-regular-400.svg ├── fa-regular-400.ttf ├── fa-regular-400.woff ├── fa-regular-400.woff2 ├── fa-solid-900.eot ├── fa-solid-900.svg ├── fa-solid-900.ttf ├── fa-solid-900.woff └── fa-solid-900.woff2 /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Beaker Timeline 2 | 3 | ![thumb.png](thumb.png) 4 | 5 | Peer-to-peer social media. A [Beaker](https://github.com/beakerbrowser/beaker) application. 6 | 7 | ## License 8 | 9 | MIT License 10 | 11 | Copyright (c) 2020 Blue Link Labs 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy 14 | of this software and associated documentation files (the "Software"), to deal 15 | in the Software without restriction, including without limitation the rights 16 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom the Software is 18 | furnished to do so, subject to the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be included in all 21 | copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 27 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 28 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 29 | SOFTWARE. 30 | -------------------------------------------------------------------------------- /css/main.css: -------------------------------------------------------------------------------- 1 | @import "/vendor/beaker-app-stdlib/css/common.css"; 2 | @import "/vendor/beaker-app-stdlib/css/fontawesome.css"; 3 | 4 | body { 5 | --border-color--focused: #7599ff; 6 | --text-color--nav--highlight: #445; 7 | --bg-color--nav-count: #E91E63; 8 | 9 | font-size: 13px; 10 | background: var(--bg-color--default); 11 | color: var(--text-color--default); 12 | } 13 | 14 | @media (prefers-color-scheme: dark) { 15 | body { 16 | --border-color--focused: #7599ff; 17 | --text-color--nav--highlight: #bbc; 18 | --bg-color--nav-count: #E91E63; 19 | } 20 | } -------------------------------------------------------------------------------- /favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beakerbrowser/social/c91d8f31cb1bc1c1455bedccdbf3d3e2e51ba8a8/favicon.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Timeline 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /js/lib/qp.js: -------------------------------------------------------------------------------- 1 | export function setParams (kv, clear = false, replaceState = false) { 2 | var url = (new URL(window.location)) 3 | if (clear) url.search = '' 4 | for (var k in kv) { 5 | if (kv[k]) { 6 | url.searchParams.set(k, kv[k]) 7 | } else { 8 | url.searchParams.delete(k) 9 | } 10 | } 11 | if (replaceState) { 12 | window.history.replaceState({}, null, url) 13 | } else { 14 | window.history.pushState({}, null, url) 15 | } 16 | } 17 | 18 | export function getParam (k, fallback) { 19 | return (new URL(window.location)).searchParams.get(k) || fallback 20 | } -------------------------------------------------------------------------------- /notifications.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Notifications / Timeline 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /search.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Search / Timeline 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beakerbrowser/social/c91d8f31cb1bc1c1455bedccdbf3d3e2e51ba8a8/thumb.png -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/.gitignore: -------------------------------------------------------------------------------- 1 | dat.json 2 | .datignore 3 | .DS_STORE 4 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/colors.css: -------------------------------------------------------------------------------- 1 | body { 2 | --blue: #2864dc; /* this is a leftover that ought to get replaced */ 3 | --border-color--default: #bbc; 4 | --border-color--light: #ccd; 5 | --border-color--dark: #99a; 6 | --border-color--semi-light: #dde; 7 | --border-color--very-light: #eef; 8 | --border-color--private-light: #b7c7b0; 9 | --border-color--unread: #9497f5; 10 | --text-color--default: #333; 11 | --text-color--lightish: #555; 12 | --text-color--light: #667; 13 | --text-color--pretty-light: #889; 14 | --text-color--very-light: #bbc; 15 | --text-color--link: #4040e7; 16 | --text-color--result-link: blue; 17 | --text-color--markdown-link: #4040e7; 18 | --text-color--private-default: #518680; 19 | --text-color--private-link: #02796d; 20 | --bg-color--default: #fff; 21 | --bg-color--secondary: #fafafd; 22 | --bg-color--light: #fafafd; 23 | --bg-color--semi-light: #f0f0f6; 24 | --bg-color--private-light: #f5faf7; 25 | --bg-color--private-semi-light: #edf6f1; 26 | --bg-color--light-highlight: #f7faff; 27 | --bg-color--selected: var(--text-color--link); 28 | --bg-color--unread: #f2f3ff; 29 | } 30 | 31 | @media (prefers-color-scheme: dark) { 32 | body { 33 | --border-color--default: #669; 34 | --border-color--light: #558; 35 | --border-color--dark: #88a; 36 | --border-color--semi-light: #447; 37 | --border-color--very-light: #334; 38 | --border-color--private-light: #3a5a4c; 39 | --border-color--unread: #9497f5; 40 | --text-color--default: #ccd; 41 | --text-color--lightish: #bbc; 42 | --text-color--light: #aab; 43 | --text-color--pretty-light: #99a; 44 | --text-color--very-light: #557; 45 | --text-color--link: #5d80ff; 46 | --text-color--result-link: #587bfb; 47 | --text-color--markdown-link: #5d80ff; 48 | --text-color--private-default: #69a59e; 49 | --text-color--private-link: #04a294; 50 | --bg-color--default: #223; 51 | --bg-color--secondary: #1b1b2b; 52 | --bg-color--light: #334; 53 | --bg-color--semi-light: #445; 54 | --bg-color--private-light: #202f2f; 55 | --bg-color--private-semi-light: #354a48; 56 | --bg-color--light-highlight: #3e3e5a; 57 | --bg-color--selected: var(--text-color--link); 58 | --bg-color--unread: #333658; 59 | } 60 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/colors.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../vendor/lit-element/lit-element.js' 2 | 3 | const cssStr = css` 4 | body { 5 | --blue: #2864dc; /* this is a leftover that ought to get replaced */ 6 | --border-color--default: #bbc; 7 | --border-color--light: #ccd; 8 | --border-color--dark: #99a; 9 | --border-color--semi-light: #dde; 10 | --border-color--very-light: #eef; 11 | --border-color--private-light: #b7c7b0; 12 | --border-color--unread: #9497f5; 13 | --text-color--default: #333; 14 | --text-color--lightish: #555; 15 | --text-color--light: #667; 16 | --text-color--pretty-light: #889; 17 | --text-color--very-light: #bbc; 18 | --text-color--link: #4040e7; 19 | --text-color--result-link: blue; 20 | --text-color--markdown-link: #4040e7; 21 | --text-color--private-default: #518680; 22 | --text-color--private-link: #02796d; 23 | --bg-color--default: #fff; 24 | --bg-color--secondary: #fafafd; 25 | --bg-color--light: #fafafd; 26 | --bg-color--semi-light: #f0f0f6; 27 | --bg-color--private-light: #f5faf7; 28 | --bg-color--private-semi-light: #edf6f1; 29 | --bg-color--light-highlight: #f7faff; 30 | --bg-color--unread: #f2f3ff; 31 | } 32 | 33 | @media (prefers-color-scheme: dark) { 34 | body { 35 | --border-color--default: #669; 36 | --border-color--light: #558; 37 | --border-color--dark: #88a; 38 | --border-color--semi-light: #447; 39 | --border-color--very-light: #334; 40 | --border-color--private-light: #3a5a4c; 41 | --border-color--unread: #9497f5; 42 | --text-color--default: #ccd; 43 | --text-color--lightish: #bbc; 44 | --text-color--light: #aab; 45 | --text-color--pretty-light: #99a; 46 | --text-color--very-light: #557; 47 | --text-color--link: #5d80ff; 48 | --text-color--result-link: #587bfb; 49 | --text-color--markdown-link: #5d80ff; 50 | --text-color--private-default: #69a59e; 51 | --text-color--private-link: #04a294; 52 | --bg-color--default: #223; 53 | --bg-color--secondary: #1b1b2b; 54 | --bg-color--light: #334; 55 | --bg-color--semi-light: #445; 56 | --bg-color--private-light: #202f2f; 57 | --bg-color--private-semi-light: #354a48; 58 | --bg-color--light-highlight: #3e3e5a; 59 | --bg-color--unread: #333658; 60 | } 61 | } 62 | ` 63 | export default cssStr 64 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/com/popups.css: -------------------------------------------------------------------------------- 1 | @import "../buttons.css"; 2 | @import "../inputs.css"; 3 | 4 | .popup-wrapper { 5 | position: fixed; 6 | left: 0; 7 | top: 0; 8 | width: 100%; 9 | height: 100%; 10 | z-index: 6000; 11 | background: rgba(0, 0, 0, 0.45); 12 | font-style: normal; 13 | overflow-y: auto; 14 | } 15 | 16 | .popup-inner { 17 | background: #fff; 18 | box-shadow: 0 2px 25px rgba(0, 0, 0, 0.3); 19 | border: 1px solid rgba(0, 0, 0, 0.55); 20 | border-radius: 4px; 21 | width: 450px; 22 | margin: 80px auto; 23 | overflow: hidden; 24 | } 25 | 26 | .popup-inner .error { 27 | color: #d80b00 !important; 28 | margin: 10px 0 !important; 29 | font-style: italic; 30 | } 31 | 32 | .popup-inner .head { 33 | position: relative; 34 | background: var(--bg-color--semi-light); 35 | padding: 7px 12px; 36 | width: 100%; 37 | border-bottom: 1px solid var(--border-color--light); 38 | border-radius: 4px 4px 0 0; 39 | } 40 | 41 | .popup-inner .head .title { 42 | font-size: 0.95rem; 43 | font-weight: 500; 44 | } 45 | 46 | .popup-inner .head .close-btn { 47 | position: absolute; 48 | top: 8px; 49 | right: 12px; 50 | cursor: pointer; 51 | } 52 | 53 | .popup-inner .body { 54 | padding: 12px; 55 | } 56 | 57 | .popup-inner .body > div:not(:first-child) { 58 | margin-top: 20px; 59 | } 60 | 61 | .popup-inner p:first-child { 62 | margin-top: 0; 63 | } 64 | 65 | .popup-inner p:last-child { 66 | margin-bottom: 0; 67 | } 68 | 69 | .popup-inner select { 70 | height: 28px; 71 | } 72 | 73 | .popup-inner textarea, 74 | .popup-inner label:not(.checkbox-container), 75 | .popup-inner select, 76 | .popup-inner input { 77 | display: block; 78 | width: 100%; 79 | } 80 | 81 | .popup-inner label.toggle { 82 | display: flex; 83 | justify-content: flex-start; 84 | } 85 | 86 | .popup-inner label.toggle .text { 87 | margin-right: 10px; 88 | } 89 | 90 | .popup-inner label.toggle input { 91 | display: none; 92 | } 93 | 94 | .popup-inner label { 95 | margin-bottom: 3px; 96 | color: rgba(51, 51, 51, 0.9); 97 | } 98 | 99 | .popup-inner textarea, 100 | .popup-inner input { 101 | margin-bottom: 10px; 102 | } 103 | 104 | .popup-inner textarea { 105 | height: 60px; 106 | resize: vertical; 107 | } 108 | 109 | .popup-inner .actions { 110 | display: flex; 111 | justify-content: flex-end; 112 | align-items: center; 113 | margin-top: 15px; 114 | padding-top: 10px; 115 | border-top: 1px solid #eee; 116 | } 117 | 118 | .popup-inner .actions .left, 119 | .popup-inner .actions .link { 120 | margin-right: auto; 121 | } 122 | 123 | .popup-inner .actions .btn, 124 | .popup-inner .actions .success, 125 | .popup-inner .actions .primary { 126 | margin-left: 5px; 127 | } 128 | 129 | .popup-inner .actions .spinner { 130 | width: 10px; 131 | height: 10px; 132 | border-width: 1.2px; 133 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/com/popups.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../../vendor/lit-element/lit-element.js' 2 | import buttonscss from '../buttons.css.js' 3 | import inputscss from '../inputs.css.js' 4 | const cssStr = css` 5 | ${buttonscss} 6 | ${inputscss} 7 | 8 | .popup-wrapper { 9 | position: fixed; 10 | left: 0; 11 | top: 0; 12 | width: 100%; 13 | height: 100%; 14 | z-index: 6000; 15 | background: rgba(0, 0, 0, 0.45); 16 | font-style: normal; 17 | overflow-y: auto; 18 | } 19 | 20 | .popup-inner { 21 | background: #fff; 22 | box-shadow: 0 2px 25px rgba(0, 0, 0, 0.3); 23 | border: 1px solid rgba(0, 0, 0, 0.55); 24 | border-radius: 4px; 25 | width: 450px; 26 | margin: 80px auto; 27 | overflow: hidden; 28 | } 29 | 30 | .popup-inner .error { 31 | color: #d80b00 !important; 32 | margin: 10px 0 !important; 33 | font-style: italic; 34 | } 35 | 36 | .popup-inner .head { 37 | position: relative; 38 | background: var(--bg-color--semi-light); 39 | padding: 7px 12px; 40 | width: 100%; 41 | border-bottom: 1px solid var(--border-color--light); 42 | border-radius: 4px 4px 0 0; 43 | } 44 | 45 | .popup-inner .head .title { 46 | font-size: 0.95rem; 47 | font-weight: 500; 48 | } 49 | 50 | .popup-inner .head .close-btn { 51 | position: absolute; 52 | top: 8px; 53 | right: 12px; 54 | cursor: pointer; 55 | } 56 | 57 | .popup-inner .body { 58 | padding: 12px; 59 | } 60 | 61 | .popup-inner .body > div:not(:first-child) { 62 | margin-top: 20px; 63 | } 64 | 65 | .popup-inner p:first-child { 66 | margin-top: 0; 67 | } 68 | 69 | .popup-inner p:last-child { 70 | margin-bottom: 0; 71 | } 72 | 73 | .popup-inner select { 74 | height: 28px; 75 | } 76 | 77 | .popup-inner textarea, 78 | .popup-inner label:not(.checkbox-container), 79 | .popup-inner select, 80 | .popup-inner input { 81 | display: block; 82 | width: 100%; 83 | } 84 | 85 | .popup-inner label.toggle { 86 | display: flex; 87 | justify-content: flex-start; 88 | } 89 | 90 | .popup-inner label.toggle .text { 91 | margin-right: 10px; 92 | } 93 | 94 | .popup-inner label.toggle input { 95 | display: none; 96 | } 97 | 98 | .popup-inner label { 99 | margin-bottom: 3px; 100 | color: rgba(51, 51, 51, 0.9); 101 | } 102 | 103 | .popup-inner textarea, 104 | .popup-inner input { 105 | margin-bottom: 10px; 106 | } 107 | 108 | .popup-inner textarea { 109 | height: 60px; 110 | resize: vertical; 111 | } 112 | 113 | .popup-inner .actions { 114 | display: flex; 115 | justify-content: flex-end; 116 | align-items: center; 117 | margin-top: 15px; 118 | padding-top: 10px; 119 | border-top: 1px solid #eee; 120 | } 121 | 122 | .popup-inner .actions .left, 123 | .popup-inner .actions .link { 124 | margin-right: auto; 125 | } 126 | 127 | .popup-inner .actions .btn, 128 | .popup-inner .actions .success, 129 | .popup-inner .actions .primary { 130 | margin-left: 5px; 131 | } 132 | 133 | .popup-inner .actions .spinner { 134 | width: 10px; 135 | height: 10px; 136 | border-width: 1.2px; 137 | } 138 | ` 139 | export default cssStr 140 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/com/post-composer.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../../vendor/lit-element/lit-element.js' 2 | import buttonsCSS from '../buttons2.css.js' 3 | import tooltipCSS from '../tooltip.css.js' 4 | import markdownCSS from '../markdown.css.js' 5 | 6 | const cssStr = css` 7 | ${buttonsCSS} 8 | ${tooltipCSS} 9 | ${markdownCSS} 10 | 11 | nav { 12 | display: flex; 13 | border-top-left-radius: 3px; 14 | border-top-right-radius: 3px; 15 | } 16 | 17 | nav a { 18 | border: 1px solid transparent; 19 | padding: 5px 14px; 20 | } 21 | 22 | nav a.current { 23 | position: relative; 24 | background: var(--bg-color--default); 25 | border: 1px solid var(--border-color--light); 26 | border-bottom: 1px solid transparent; 27 | border-top-left-radius: 4px; 28 | border-top-right-radius: 4px; 29 | } 30 | 31 | nav a.current:after { 32 | content: ''; 33 | background: var(--bg-color--default); 34 | position: absolute; 35 | left: 0; 36 | right: 0; 37 | bottom: -2px; 38 | height: 2px; 39 | z-index: 1; 40 | } 41 | 42 | nav a:hover:not(.current) { 43 | text-decoration: none; 44 | cursor: pointer; 45 | background: var(--bg-color--light); 46 | } 47 | 48 | .view { 49 | position: relative; 50 | background: var(--bg-color--default); 51 | border: 1px solid var(--border-color--light); 52 | border-radius: 4px; 53 | border-top-left-radius: 0; 54 | padding: 14px 0 2px; 55 | margin-bottom: 6px; 56 | } 57 | 58 | .placeholder { 59 | position: absolute; 60 | top: 15px; 61 | left: 13px; 62 | color: var(--text-color--pretty-light); 63 | z-index: 1; 64 | pointer-events: none; 65 | } 66 | 67 | .editor { 68 | height: 150px; 69 | position: relative; 70 | } 71 | 72 | .editor.hidden { 73 | display: none; 74 | } 75 | 76 | textarea.hidden { 77 | display: none; 78 | } 79 | 80 | .preview { 81 | font-size: 14px; 82 | background: var(--bg-color--default); 83 | color: var(--text-color--default); 84 | padding: 0px 14px 14px; 85 | } 86 | .preview > :first-child { 87 | margin-top: 0; 88 | } 89 | .preview > :last-child { 90 | margin-bottom: 0; 91 | } 92 | 93 | .tags { 94 | display: flex; 95 | align-items: center; 96 | background: var(--bg-color--default); 97 | border: 1px solid var(--border-color--light); 98 | border-radius: 4px; 99 | padding: 6px 12px; 100 | margin-bottom: 6px; 101 | } 102 | 103 | .tags .fas { 104 | margin-right: 6px; 105 | font-size: 12px; 106 | -webkit-text-stroke: 1px var(--text-color--default); 107 | color: transparent; 108 | } 109 | 110 | .tags input { 111 | flex: 1; 112 | border: 0; 113 | outline: 0; 114 | } 115 | 116 | .actions { 117 | display: flex; 118 | align-items: center; 119 | justify-content: space-between; 120 | } 121 | 122 | .visibility { 123 | display: inline-block; 124 | background: var(--bg-color--semi-light); 125 | border-radius: 4px; 126 | padding: 5px; 127 | font-size: 11px; 128 | font-weight: 500; 129 | cursor: pointer; 130 | } 131 | 132 | .visibility.disabled { 133 | cursor: default; 134 | } 135 | 136 | input[type="file"] { 137 | display: none; 138 | } 139 | ` 140 | export default cssStr 141 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/com/spinner.css: -------------------------------------------------------------------------------- 1 | .spinner { 2 | display: inline-block; 3 | height: 14px; 4 | width: 14px; 5 | animation: rotate 1s infinite linear; 6 | color: #aaa; 7 | border: 2px solid; 8 | border-right-color: transparent; 9 | border-radius: 50%; 10 | transition: color 0.25s; 11 | } 12 | 13 | .spinner.reverse { 14 | animation: rotate 2s infinite linear reverse; 15 | } 16 | 17 | @keyframes rotate { 18 | 0% { transform: rotate(0deg); } 19 | 100% { transform: rotate(360deg); } 20 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/com/spinner.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../../vendor/lit-element/lit-element.js' 2 | 3 | const cssStr = css` 4 | .spinner { 5 | display: inline-block; 6 | height: 14px; 7 | width: 14px; 8 | animation: rotate 1s infinite linear; 9 | color: #aaa; 10 | border: 2px solid; 11 | border-right-color: transparent; 12 | border-radius: 50%; 13 | transition: color 0.25s; 14 | } 15 | 16 | .spinner.reverse { 17 | animation: rotate 2s infinite linear reverse; 18 | } 19 | 20 | @keyframes rotate { 21 | 0% { transform: rotate(0deg); } 22 | 100% { transform: rotate(360deg); } 23 | } 24 | ` 25 | export default cssStr 26 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/com/toast.css: -------------------------------------------------------------------------------- 1 | .toast-wrapper { 2 | position: fixed; 3 | top: 20px; 4 | right: 20px; 5 | z-index: 20000; 6 | transition: opacity 0.1s ease; 7 | } 8 | .toast-wrapper.hidden { 9 | opacity: 0; 10 | } 11 | .toast { 12 | position: relative; 13 | min-width: 350px; 14 | max-width: 450px; 15 | background: #ddd; 16 | margin: 0; 17 | padding: 10px 15px; 18 | border-radius: 4px; 19 | font-size: 16px; 20 | color: #fff; 21 | background: rgba(0, 0, 0, 0.75); 22 | -webkit-font-smoothing: antialiased; 23 | font-weight: 600; 24 | } 25 | .toast.error { 26 | padding-left: 38px; 27 | } 28 | .toast.success { 29 | padding-left: 48px; 30 | } 31 | .toast.success:before, 32 | .toast.error:before { 33 | position: absolute; 34 | left: 18px; 35 | top: 5px; 36 | display: block; 37 | font-family: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Ubuntu, Cantarell, "Oxygen Sans", "Helvetica Neue", sans-serif; 38 | font-size: 22px; 39 | font-weight: bold; 40 | } 41 | .toast.primary { 42 | background: var(--color-blue); 43 | } 44 | .toast.success { 45 | background: #26b33e; 46 | } 47 | .toast.success:before { 48 | content: '✓'; 49 | } 50 | .toast.error { 51 | background: #c72e25; 52 | } 53 | .toast.error:before { 54 | content: '!'; 55 | } 56 | .toast .toast-btn { 57 | position: absolute; 58 | right: 15px; 59 | color: inherit; 60 | text-decoration: underline; 61 | cursor: pointer; 62 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/com/toast.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../../vendor/lit-element/lit-element.js' 2 | 3 | const cssStr = css` 4 | :host { 5 | --toast-min-width: 350px; 6 | --toast-padding: 10px 15px; 7 | --toast-font-size: 16px; 8 | } 9 | 10 | .toast-wrapper { 11 | position: fixed; 12 | top: 20px; 13 | right: 20px; 14 | z-index: 20000; 15 | transition: opacity 0.1s ease; 16 | } 17 | .toast-wrapper.hidden { 18 | opacity: 0; 19 | } 20 | .toast { 21 | position: relative; 22 | min-width: var(--toast-min-width); 23 | max-width: 450px; 24 | background: #ddd; 25 | margin: 0; 26 | padding: var(--toast-padding); 27 | border-radius: 4px; 28 | font-size: var(--toast-font-size); 29 | color: #fff; 30 | background: rgba(0, 0, 0, 0.75); 31 | -webkit-font-smoothing: antialiased; 32 | font-weight: 600; 33 | } 34 | .toast.error { 35 | padding-left: 38px; 36 | } 37 | .toast.success { 38 | padding-left: 48px; 39 | } 40 | .toast.success:before, 41 | .toast.error:before { 42 | position: absolute; 43 | left: 18px; 44 | top: 5px; 45 | display: block; 46 | font-family: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Ubuntu, Cantarell, "Oxygen Sans", "Helvetica Neue", sans-serif; 47 | font-size: 22px; 48 | font-weight: bold; 49 | } 50 | .toast.primary { 51 | background: var(--color-blue); 52 | } 53 | .toast.success { 54 | background: #26b33e; 55 | } 56 | .toast.success:before { 57 | content: '✓'; 58 | } 59 | .toast.error { 60 | background: #c72e25; 61 | } 62 | .toast.error:before { 63 | content: '!'; 64 | } 65 | .toast .toast-btn { 66 | position: absolute; 67 | right: 15px; 68 | color: inherit; 69 | text-decoration: underline; 70 | cursor: pointer; 71 | } 72 | ` 73 | export default cssStr 74 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/common.css: -------------------------------------------------------------------------------- 1 | @import "./reset.css"; 2 | @import "./colors.css"; 3 | @import "./typography.css"; 4 | @import "./buttons.css"; 5 | @import "./inputs.css"; 6 | 7 | body { 8 | background: var(--bg-color--default); 9 | color: var(--text-color--default); 10 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/common.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../vendor/lit-element/lit-element.js' 2 | import resetcss from './reset.css.js' 3 | import typographycss from './typography.css.js' 4 | import buttonscss from './buttons.css.js' 5 | import inputscss from './inputs.css.js' 6 | const cssStr = css` 7 | ${resetcss} 8 | ${typographycss} 9 | ${buttonscss} 10 | ${inputscss} 11 | 12 | body { 13 | background: #f5f5f7; 14 | color: #333; 15 | } 16 | ` 17 | export default cssStr 18 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/markdown.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../vendor/lit-element/lit-element.js' 2 | 3 | const cssStr = css` 4 | .markdown :-webkit-any(h1, h2, h3, h4, h5) { 5 | font-family: arial; 6 | } 7 | .markdown pre { font-size: 13px; } 8 | .markdown :-webkit-any(video, audio, img) { max-width: 100%; } 9 | .markdown a { color: var(--text-color--markdown-link); } 10 | .markdown hr { border: 0; border-bottom: 1px solid var(--border-color--semi-light); } 11 | .markdown blockquote { 12 | border-left: 10px solid var(--bg-color--semi-light); 13 | margin: 0 0 0.6em; 14 | padding: 1px 0px 1px 16px; 15 | color: var(--text-color--light); 16 | } 17 | .subject-content .markdown blockquote + blockquote { 18 | margin-top: -14px; 19 | } 20 | .subject-content .markdown blockquote p { 21 | margin: 0; 22 | } 23 | ` 24 | export default cssStr 25 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/reset.css: -------------------------------------------------------------------------------- 1 | *, 2 | *:before, 3 | *:after { 4 | box-sizing: border-box; 5 | } 6 | 7 | body { 8 | margin: 0; 9 | } 10 | 11 | a { 12 | text-decoration: none; 13 | color: inherit; 14 | } 15 | 16 | button { 17 | background: none; 18 | outline-color: transparent; 19 | border: none; 20 | } 21 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/reset.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../vendor/lit-element/lit-element.js' 2 | 3 | const cssStr = css` 4 | *, 5 | *:before, 6 | *:after { 7 | box-sizing: border-box; 8 | } 9 | 10 | body { 11 | margin: 0; 12 | } 13 | 14 | a { 15 | text-decoration: none; 16 | color: inherit; 17 | } 18 | 19 | button { 20 | background: none; 21 | outline-color: transparent; 22 | border: none; 23 | } 24 | 25 | ` 26 | export default cssStr 27 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/tooltip.css: -------------------------------------------------------------------------------- 1 | *[data-tooltip] { 2 | position: relative; 3 | } 4 | 5 | *[data-tooltip]:hover:before, 6 | *[data-tooltip]:hover:after { 7 | display: block; 8 | z-index: 1000; 9 | transition: opacity 0.01s ease; 10 | transition-delay: 0.2s; 11 | } 12 | 13 | *[data-tooltip]:hover:after { 14 | opacity: 1; 15 | } 16 | 17 | *[data-tooltip]:hover:before { 18 | transform: translate(-50%, 0); 19 | opacity: 1; 20 | } 21 | 22 | *[data-tooltip]:before { 23 | opacity: 0; 24 | transform: translate(-50%, 0); 25 | position: absolute; 26 | top: 33px; 27 | left: 50%; 28 | z-index: 3000; 29 | content: attr(data-tooltip); 30 | background: rgba(17, 17, 17, 0.95); 31 | font-size: 0.7rem; 32 | border: 0; 33 | border-radius: 4px; 34 | padding: 7px 10px; 35 | color: rgba(255, 255, 255, 0.925); 36 | text-transform: none; 37 | text-align: center; 38 | font-weight: 500; 39 | white-space: pre; 40 | line-height: 1; 41 | pointer-events: none; 42 | } 43 | 44 | *[data-tooltip]:after { 45 | opacity: 0; 46 | position: absolute; 47 | left: calc(50% - 6px); 48 | top: 28px; 49 | content: ''; 50 | width: 0; 51 | height: 0; 52 | border-left: 6px solid transparent; 53 | border-right: 6px solid transparent; 54 | border-bottom: 6px solid rgba(17, 17, 17, 0.95); 55 | pointer-events: none; 56 | } 57 | 58 | .tooltip-nodelay[data-tooltip]:hover:before, 59 | .tooltip-nodelay[data-tooltip]:hover:after { 60 | transition-delay: initial; 61 | } 62 | 63 | .tooltip-right[data-tooltip]:before { 64 | top: 50%; 65 | left: calc(100% + 6px); 66 | transform: translate(0, -50%); 67 | line-height: 0.9; 68 | } 69 | 70 | .tooltip-right[data-tooltip]:after { 71 | top: 50%; 72 | left: calc(100% + 0px); 73 | transform: translate(0, -50%); 74 | border: 0; 75 | border-top: 6px solid transparent; 76 | border-bottom: 6px solid transparent; 77 | border-right: 6px solid rgba(17, 17, 17, 0.95); 78 | } 79 | 80 | .tooltip-left[data-tooltip]:before { 81 | top: 50%; 82 | left: auto; 83 | right: calc(100% + 6px); 84 | transform: translate(0, -50%); 85 | line-height: 0.9; 86 | } 87 | 88 | .tooltip-left[data-tooltip]:after { 89 | top: 50%; 90 | left: auto; 91 | right: calc(100% + 0px); 92 | transform: translate(0, -50%); 93 | border: 0; 94 | border-top: 6px solid transparent; 95 | border-bottom: 6px solid transparent; 96 | border-left: 6px solid rgba(17, 17, 17, 0.95); 97 | } 98 | 99 | .tooltip-top[data-tooltip]:before { 100 | top: unset; 101 | bottom: 33px; 102 | } 103 | 104 | .tooltip-top[data-tooltip]:after { 105 | top: unset; 106 | bottom: 28px; 107 | border: 0; 108 | border-left: 6px solid transparent; 109 | border-right: 6px solid transparent; 110 | border-top: 6px solid rgba(17, 17, 17, 0.95); 111 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/tooltip.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../vendor/lit-element/lit-element.js' 2 | 3 | const cssStr = css` 4 | *[data-tooltip] { 5 | position: relative; 6 | } 7 | 8 | *[data-tooltip]:hover:before, 9 | *[data-tooltip]:hover:after { 10 | display: block; 11 | z-index: 1000; 12 | transition: opacity 0.01s ease; 13 | transition-delay: 0.2s; 14 | } 15 | 16 | *[data-tooltip]:hover:after { 17 | opacity: 1; 18 | } 19 | 20 | *[data-tooltip]:hover:before { 21 | transform: translate(-50%, 0); 22 | opacity: 1; 23 | } 24 | 25 | *[data-tooltip]:before { 26 | opacity: 0; 27 | transform: translate(-50%, 0); 28 | position: absolute; 29 | top: 33px; 30 | left: 50%; 31 | z-index: 3000; 32 | content: attr(data-tooltip); 33 | background: rgba(17, 17, 17, 0.95); 34 | font-size: 0.7rem; 35 | border: 0; 36 | border-radius: 4px; 37 | padding: 7px 10px; 38 | color: rgba(255, 255, 255, 0.925); 39 | text-transform: none; 40 | text-align: center; 41 | font-weight: 500; 42 | white-space: pre; 43 | line-height: 1; 44 | pointer-events: none; 45 | } 46 | 47 | *[data-tooltip]:after { 48 | opacity: 0; 49 | position: absolute; 50 | left: calc(50% - 6px); 51 | top: 28px; 52 | content: ''; 53 | width: 0; 54 | height: 0; 55 | border-left: 6px solid transparent; 56 | border-right: 6px solid transparent; 57 | border-bottom: 6px solid rgba(17, 17, 17, 0.95); 58 | pointer-events: none; 59 | } 60 | 61 | .tooltip-nodelay[data-tooltip]:hover:before, 62 | .tooltip-nodelay[data-tooltip]:hover:after { 63 | transition-delay: initial; 64 | } 65 | 66 | .tooltip-right[data-tooltip]:before { 67 | top: 50%; 68 | left: calc(100% + 6px); 69 | transform: translate(0, -50%); 70 | line-height: 0.9; 71 | } 72 | 73 | .tooltip-right[data-tooltip]:after { 74 | top: 50%; 75 | left: calc(100% + 0px); 76 | transform: translate(0, -50%); 77 | border: 0; 78 | border-top: 6px solid transparent; 79 | border-bottom: 6px solid transparent; 80 | border-right: 6px solid rgba(17, 17, 17, 0.95); 81 | } 82 | 83 | .tooltip-left[data-tooltip]:before { 84 | top: 50%; 85 | left: auto; 86 | right: calc(100% + 6px); 87 | transform: translate(0, -50%); 88 | line-height: 0.9; 89 | } 90 | 91 | .tooltip-left[data-tooltip]:after { 92 | top: 50%; 93 | left: auto; 94 | right: calc(100% + 0px); 95 | transform: translate(0, -50%); 96 | border: 0; 97 | border-top: 6px solid transparent; 98 | border-bottom: 6px solid transparent; 99 | border-left: 6px solid rgba(17, 17, 17, 0.95); 100 | } 101 | 102 | .tooltip-top[data-tooltip]:before { 103 | top: unset; 104 | bottom: 33px; 105 | } 106 | 107 | .tooltip-top[data-tooltip]:after { 108 | top: unset; 109 | bottom: 28px; 110 | border: 0; 111 | border-left: 6px solid transparent; 112 | border-right: 6px solid transparent; 113 | border-top: 6px solid rgba(17, 17, 17, 0.95); 114 | } 115 | ` 116 | export default cssStr 117 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/typography.css: -------------------------------------------------------------------------------- 1 | body { 2 | --system-font: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Ubuntu, Cantarell, "Oxygen Sans", "Helvetica Neue", sans-serif; 3 | --code-font: Consolas, 'Lucida Console', Monaco, monospace; 4 | } 5 | 6 | body { 7 | font-family: var(--system-font); 8 | } 9 | 10 | code { 11 | font-family: var(--code-font); 12 | font-style: normal; 13 | } 14 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/css/typography.css.js: -------------------------------------------------------------------------------- 1 | import {css} from '../vendor/lit-element/lit-element.js' 2 | 3 | const cssStr = css` 4 | body { 5 | --system-font: -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Ubuntu, Cantarell, "Oxygen Sans", "Helvetica Neue", sans-serif; 6 | --code-font: Consolas, 'Lucida Console', Monaco, monospace; 7 | } 8 | 9 | body { 10 | font-family: var(--system-font); 11 | } 12 | 13 | code { 14 | font-family: var(--code-font); 15 | font-style: normal; 16 | } 17 | 18 | ` 19 | export default cssStr 20 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/img/default-user-thumb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beakerbrowser/social/c91d8f31cb1bc1c1455bedccdbf3d3e2e51ba8a8/vendor/beaker-app-stdlib/img/default-user-thumb.jpg -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/img/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beakerbrowser/social/c91d8f31cb1bc1c1455bedccdbf3d3e2e51ba8a8/vendor/beaker-app-stdlib/img/spinner.gif -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/clipboard.js: -------------------------------------------------------------------------------- 1 | export function writeToClipboard (str) { 2 | var textarea = document.createElement('textarea') 3 | textarea.textContent = str 4 | document.body.appendChild(textarea) 5 | textarea.select() 6 | document.execCommand('copy') 7 | document.body.removeChild(textarea) 8 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/hover-card.js: -------------------------------------------------------------------------------- 1 | import {LitElement, html, css} from '../../vendor/lit-element/lit-element.js' 2 | 3 | /* 4 | Usage: 5 | 6 | 7 | 8 |
Discovery Key: ${toHex(core.discoveryKey)}
9 |
10 | */ 11 | 12 | export class Hoverable extends LitElement { 13 | static get properties () { 14 | return { 15 | isHovered: {type: Boolean} 16 | } 17 | } 18 | 19 | static get styles () { 20 | return css` 21 | :host { 22 | position: relative; 23 | } 24 | 25 | .hovercard { 26 | position: absolute; 27 | top: 100%; 28 | left: 50%; 29 | transform: translateX(-50%); 30 | border: 1px solid var(--border-color--default); 31 | background: var(--bg-color--default); 32 | border-radius: 4px; 33 | padding: 8px 10px; 34 | } 35 | ` 36 | } 37 | 38 | constructor () { 39 | super() 40 | this.isHovered = false 41 | this.addEventListener('mouseenter', this.onMouseenter.bind(this)) 42 | this.addEventListener('mouseleave', this.onMouseleave.bind(this)) 43 | } 44 | 45 | render () { 46 | if (this.isHovered) { 47 | return html` 48 | 49 |
50 | 51 |
52 | ` 53 | } 54 | return html`` 55 | } 56 | 57 | onMouseenter () { 58 | this.isHovered = true 59 | } 60 | 61 | onMouseleave () { 62 | this.isHovered = false 63 | } 64 | } 65 | 66 | customElements.define('beaker-hover-card', Hoverable) -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/hoverable.js: -------------------------------------------------------------------------------- 1 | import {LitElement, html} from '../../vendor/lit-element/lit-element.js' 2 | 3 | /* 4 | Usage: 5 | 6 | 7 | 8 | 9 | 10 | */ 11 | 12 | export class Hoverable extends LitElement { 13 | static get properties () { 14 | return { 15 | isHovered: {type: Boolean} 16 | } 17 | } 18 | 19 | constructor () { 20 | super() 21 | this.isHovered = false 22 | } 23 | 24 | render () { 25 | if (this.isHovered) { 26 | return html`` 27 | } 28 | return html`` 29 | } 30 | 31 | onMouseenter () { 32 | this.isHovered = true 33 | 34 | // HACK 35 | // sometimes, if the mouse cursor leaves too quickly, 'mouseleave' doesn't get fired 36 | // after a few ms, double check that it's still hovered 37 | // -prf 38 | setTimeout(() => { 39 | if (!this.querySelector(':hover')) { 40 | this.isHovered = false 41 | } 42 | }, 50) 43 | } 44 | 45 | onMouseleave () { 46 | this.isHovered = false 47 | } 48 | } 49 | 50 | customElements.define('beaker-hoverable', Hoverable) -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/img-fallbacks.js: -------------------------------------------------------------------------------- 1 | import {LitElement, html} from '../../vendor/lit-element/lit-element.js' 2 | 3 | /* 4 | Usage: 5 | 6 | 7 | 8 | 9 | 10 | 11 | */ 12 | 13 | export class ImgFallbacks extends LitElement { 14 | static get properties () { 15 | return { 16 | currentImage: {type: Number} 17 | } 18 | } 19 | 20 | constructor () { 21 | super() 22 | this.currentImage = 1 23 | } 24 | 25 | render () { 26 | return html`` 27 | } 28 | 29 | onSlotChange (e) { 30 | var img = this.shadowRoot.querySelector('slot').assignedElements()[0] 31 | if (img) img.addEventListener('error', this.onError.bind(this)) 32 | } 33 | 34 | onError (e) { 35 | this.currentImage = this.currentImage + 1 36 | } 37 | } 38 | 39 | customElements.define('beaker-img-fallbacks', ImgFallbacks) 40 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/popups/base.js: -------------------------------------------------------------------------------- 1 | import {LitElement, html} from '../../../vendor/lit-element/lit-element.js' 2 | import popupsCSS from '../../../css/com/popups.css.js' 3 | 4 | // exported api 5 | // = 6 | 7 | export class BasePopup extends LitElement { 8 | constructor () { 9 | super() 10 | 11 | const onGlobalKeyUp = e => { 12 | // listen for the escape key 13 | if (this.shouldCloseOnEscape && e.keyCode === 27) { 14 | this.onReject() 15 | } 16 | } 17 | document.addEventListener('keyup', onGlobalKeyUp) 18 | 19 | // cleanup function called on cancel 20 | this.cleanup = () => { 21 | document.removeEventListener('keyup', onGlobalKeyUp) 22 | } 23 | } 24 | 25 | get shouldShowHead () { 26 | return true 27 | } 28 | 29 | get shouldCloseOnOuterClick () { 30 | return true 31 | } 32 | 33 | get shouldCloseOnEscape () { 34 | return true 35 | } 36 | 37 | // management 38 | // 39 | 40 | static async coreCreate (parentEl, Class, ...args) { 41 | var popupEl = new Class(...args) 42 | parentEl.appendChild(popupEl) 43 | 44 | const cleanup = () => { 45 | popupEl.cleanup() 46 | popupEl.remove() 47 | } 48 | 49 | // return a promise that resolves with resolve/reject events 50 | return new Promise((resolve, reject) => { 51 | popupEl.addEventListener('resolve', e => { 52 | resolve(e.detail) 53 | cleanup() 54 | }) 55 | 56 | popupEl.addEventListener('reject', e => { 57 | reject() 58 | cleanup() 59 | }) 60 | }) 61 | } 62 | 63 | static async create (Class, ...args) { 64 | return BasePopup.coreCreate(document.body, Class, ...args) 65 | } 66 | 67 | static destroy (tagName) { 68 | var popup = document.querySelector(tagName) 69 | if (popup) popup.onReject() 70 | } 71 | 72 | // rendering 73 | // = 74 | 75 | render () { 76 | return html` 77 | 90 | ` 91 | } 92 | 93 | renderTitle () { 94 | // should be overridden by subclasses 95 | } 96 | 97 | renderBody () { 98 | // should be overridden by subclasses 99 | } 100 | 101 | // events 102 | // = 103 | 104 | onClickWrapper (e) { 105 | if (e.target.classList.contains('popup-wrapper') && this.shouldCloseOnOuterClick) { 106 | this.onReject() 107 | } 108 | } 109 | 110 | onReject (e) { 111 | if (e) e.preventDefault() 112 | this.dispatchEvent(new CustomEvent('reject')) 113 | } 114 | } 115 | 116 | BasePopup.styles = [popupsCSS] -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/popups/edit-profile.js: -------------------------------------------------------------------------------- 1 | import { html, css } from '../../../vendor/lit-element/lit-element.js' 2 | import { BasePopup } from './base.js' 3 | import popupsCSS from '../../../css/com/popups.css.js' 4 | 5 | // exported api 6 | // = 7 | 8 | export class BeakerEditProfile extends BasePopup { 9 | constructor (profile) { 10 | super() 11 | this.profile = profile 12 | this.isCreate = !profile.title && !profile.description 13 | } 14 | 15 | // management 16 | // 17 | 18 | static async create (profile) { 19 | return BasePopup.create(BeakerEditProfile, profile) 20 | } 21 | 22 | static async runFlow (profiles) { 23 | var profile = await profiles.me() 24 | var newValues = await BeakerEditProfile.create(profile) 25 | await beaker.hyperdrive.drive(profile.url).configure(newValues) 26 | return profiles.me() 27 | } 28 | 29 | static destroy () { 30 | return BasePopup.destroy('beaker-edit-profile') 31 | } 32 | 33 | // rendering 34 | // = 35 | 36 | renderTitle () { 37 | return `${this.isCreate ? 'Create' : 'Edit'} your profile` 38 | } 39 | 40 | renderBody () { 41 | return html` 42 |
43 |
44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 | 53 |
54 | 55 | 56 |
57 |
58 | ` 59 | } 60 | 61 | // events 62 | // = 63 | 64 | onSubmit (e) { 65 | e.preventDefault() 66 | e.stopPropagation() 67 | this.dispatchEvent(new CustomEvent('resolve', { 68 | detail: { 69 | title: e.target.title.value, 70 | description: e.target.description.value 71 | } 72 | })) 73 | } 74 | } 75 | BeakerEditProfile.styles = [popupsCSS, css` 76 | img { 77 | display: block; 78 | margin: 10px auto; 79 | border-radius: 50%; 80 | height: 130px; 81 | width: 130px; 82 | object-fit: cover; 83 | } 84 | 85 | .controls { 86 | max-width: 460px; 87 | margin: 20px auto 40px; 88 | } 89 | 90 | .popup-inner { 91 | width: 560px; 92 | } 93 | 94 | .popup-inner textarea, 95 | .popup-inner input { 96 | margin-bottom: 20px; 97 | } 98 | 99 | .popup-inner .actions { 100 | justify-content: space-between; 101 | } 102 | 103 | .hidden { 104 | visibility: hidden; 105 | } 106 | `] 107 | 108 | customElements.define('beaker-edit-profile', BeakerEditProfile) -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/popups/new-post.js: -------------------------------------------------------------------------------- 1 | /* globals beaker */ 2 | import { html, css } from '../../../vendor/lit-element/lit-element.js' 3 | import { BasePopup } from './base.js' 4 | import popupsCSS from '../../../css/com/popups.css.js' 5 | import '../post-composer.js' 6 | 7 | // exported api 8 | // = 9 | 10 | export class NewPostPopup extends BasePopup { 11 | constructor (opts) { 12 | super() 13 | this.driveUrl = opts?.driveUrl 14 | } 15 | 16 | static get properties () { 17 | return { 18 | } 19 | } 20 | 21 | static get styles () { 22 | return [popupsCSS, css` 23 | .popup-inner { 24 | width: 640px; 25 | border-radius: 8px; 26 | } 27 | .popup-inner .body { 28 | padding: 14px 14px 10px 12px; 29 | } 30 | `] 31 | } 32 | 33 | get shouldShowHead () { 34 | return false 35 | } 36 | 37 | get shouldCloseOnOuterClick () { 38 | return false 39 | } 40 | 41 | get shouldCloseOnEscape () { 42 | return false 43 | } 44 | 45 | // management 46 | // 47 | 48 | static async create (opts) { 49 | return BasePopup.create(NewPostPopup, opts) 50 | } 51 | 52 | static destroy () { 53 | return BasePopup.destroy('new-post-popup') 54 | } 55 | 56 | // rendering 57 | // = 58 | 59 | renderTitle () { 60 | return `New post` 61 | } 62 | 63 | renderBody () { 64 | return html` 65 | 70 | ` 71 | } 72 | 73 | // events 74 | // = 75 | 76 | async onPublish (e) { 77 | this.dispatchEvent(new CustomEvent('resolve')) 78 | } 79 | 80 | async onCancel (e) { 81 | this.dispatchEvent(new CustomEvent('reject')) 82 | } 83 | } 84 | 85 | customElements.define('new-post-popup', NewPostPopup) -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/popups/sites-list.js: -------------------------------------------------------------------------------- 1 | /* globals beaker */ 2 | import { html, css } from '../../../vendor/lit-element/lit-element.js' 3 | import { repeat } from '../../../vendor/lit-element/lit-html/directives/repeat.js' 4 | import { BasePopup } from './base.js' 5 | import buttonsCSS from '../../../css/buttons2.css.js' 6 | import spinnerCSS from '../../../css/com/spinner.css.js' 7 | import popupsCSS from '../../../css/com/popups.css.js' 8 | import '../img-fallbacks.js' 9 | 10 | // exported api 11 | // = 12 | 13 | export class SitesListPopup extends BasePopup { 14 | static get properties () { 15 | return {isLoading: {type: Boolean}} 16 | } 17 | 18 | static get styles () { 19 | return [buttonsCSS, spinnerCSS, popupsCSS, css` 20 | .loading { 21 | padding: 10px 10px 0; 22 | } 23 | .sites { 24 | margin: -5px 0 0 !important; 25 | } 26 | .site { 27 | display: flex; 28 | align-items: center; 29 | padding: 8px 4px; 30 | font-size: 14px; 31 | } 32 | .site:hover { 33 | background: var(--bg-color--light); 34 | } 35 | .site .thumb { 36 | display: block; 37 | width: 24px; 38 | height: 24px; 39 | object-fit: cover; 40 | border-radius: 50%; 41 | margin-right: 10px; 42 | } 43 | .site .title { 44 | font-weight: 500; 45 | } 46 | .site .url { 47 | color: var(--text-color--light); 48 | } 49 | `] 50 | } 51 | 52 | constructor ({title, sites}) { 53 | super() 54 | this.title = title 55 | if (sites instanceof Promise) { 56 | this.isLoading = true 57 | this.sites = undefined 58 | sites.then(s => { 59 | this.isLoading = false 60 | this.sites = s 61 | }) 62 | } else { 63 | this.isLoading = false 64 | this.sites = sites 65 | } 66 | } 67 | 68 | // management 69 | // 70 | 71 | static async create (title, sites) { 72 | return BasePopup.create(SitesListPopup, {title, sites}) 73 | } 74 | 75 | static destroy () { 76 | return BasePopup.destroy('sites-list-popup') 77 | } 78 | 79 | // rendering 80 | // = 81 | 82 | renderTitle () { 83 | return this.title || 'Sites' 84 | } 85 | 86 | renderBody () { 87 | return html` 88 | 89 |
90 | ${this.isLoading ? html` 91 |
92 | ` : html` 93 | ${repeat(this.sites, site => this.renderSite(site))} 94 | `} 95 |
96 | ` 97 | } 98 | 99 | renderSite (site) { 100 | const title = site.title || 'Untitled' 101 | return html` 102 | 103 | 104 | 105 | 106 | 107 | 108 | ${title} 109 | 110 | 111 | ` 112 | } 113 | } 114 | customElements.define('sites-list-popup', SitesListPopup) 115 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/popups/view-thread.js: -------------------------------------------------------------------------------- 1 | /* globals beaker */ 2 | import { html, css } from '../../../vendor/lit-element/lit-element.js' 3 | import { BasePopup } from './base.js' 4 | import popupsCSS from '../../../css/com/popups.css.js' 5 | import '../record-thread.js' 6 | 7 | // exported api 8 | // = 9 | 10 | export class ViewThreadPopup extends BasePopup { 11 | constructor (opts) { 12 | super() 13 | this.recordUrl = opts.recordUrl 14 | this.profileUrl = opts.profileUrl 15 | this.onViewTag = opts.onViewTag 16 | } 17 | 18 | static get properties () { 19 | return { 20 | recordUrl: {type: String} 21 | } 22 | } 23 | 24 | static get styles () { 25 | return [popupsCSS, css` 26 | .popup-inner { 27 | width: 100%; 28 | max-width: 900px; 29 | border-radius: 6px; 30 | overflow: visible; 31 | } 32 | .popup-inner .body { 33 | background: var(--bg-color--default); 34 | padding: 8px 10px 10px; 35 | } 36 | `] 37 | } 38 | 39 | // management 40 | // 41 | 42 | static async create (opts) { 43 | return BasePopup.create(ViewThreadPopup, opts) 44 | } 45 | 46 | static destroy () { 47 | return BasePopup.destroy('view-thread-popup') 48 | } 49 | 50 | // rendering 51 | // = 52 | 53 | renderTitle () { 54 | return `Thread` 55 | } 56 | 57 | renderBody () { 58 | return html` 59 | 66 | ` 67 | } 68 | 69 | // events 70 | // = 71 | 72 | onLoadThread () { 73 | this.shadowRoot.querySelector('beaker-record-thread').scrollHighlightedPostIntoView() 74 | } 75 | 76 | onViewThread (e) { 77 | this.recordUrl = e.detail.record.url 78 | } 79 | } 80 | 81 | customElements.define('view-thread-popup', ViewThreadPopup) -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/com/toast.js: -------------------------------------------------------------------------------- 1 | import {LitElement, html} from '../../vendor/lit-element/lit-element.js' 2 | import toastCSS from '../../css/com/toast.css.js' 3 | 4 | // exported api 5 | // = 6 | 7 | export function create (message, type = '', time = 5000, button = null) { 8 | // destroy existing 9 | destroy() 10 | 11 | // render toast 12 | document.body.appendChild(new BeakerToast({message, type, button})) 13 | setTimeout(destroy, time) 14 | } 15 | 16 | export function destroy () { 17 | var toast = document.querySelector('beaker-toast') 18 | 19 | if (toast) { 20 | // fadeout before removing element 21 | toast.shadowRoot.querySelector('.toast-wrapper').classList.add('hidden') 22 | setTimeout(() => toast.remove(), 500) 23 | } 24 | } 25 | 26 | // internal 27 | // = 28 | 29 | class BeakerToast extends LitElement { 30 | constructor ({message, type, button}) { 31 | super() 32 | this.message = message 33 | this.type = type 34 | this.button = button 35 | } 36 | 37 | render () { 38 | const onButtonClick = this.button ? (e) => { destroy(); this.button.click(e) } : undefined 39 | return html` 40 |
41 |

${this.message} ${this.button ? html`${this.button.label}` : ''}

42 |
43 | ` 44 | } 45 | } 46 | BeakerToast.styles = toastCSS 47 | 48 | customElements.define('beaker-toast', BeakerToast) 49 | -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/const.js: -------------------------------------------------------------------------------- 1 | import { html } from '../vendor/lit-element/lit-element.js' 2 | 3 | export const HELP = { 4 | files: () => html`

Files drives are shareable folders.

`, 5 | websites: () => html`

Websites contain web pages and applications.

`, 6 | groups: () => html`

User Groups host other users who can share content together.

`, 7 | modules: () => html`

Modules contain code. They can be imported by other drives to provide reusable components.

`, 8 | frontends: () => html`

Frontends are swappable user-interfaces for drives.

` 9 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/dom.js: -------------------------------------------------------------------------------- 1 | export function findParent (node, test) { 2 | if (typeof test === 'string') { 3 | // classname default 4 | var cls = test 5 | test = el => el.classList && el.classList.contains(cls) 6 | } 7 | 8 | while (node) { 9 | if (test(node)) { 10 | return node 11 | } 12 | node = node.parentNode 13 | } 14 | } 15 | 16 | export function on (el, event, fn, opts) { 17 | el.addEventListener(event, fn, opts) 18 | } 19 | 20 | export function once (el, event, fn, opts) { 21 | opts = opts || {} 22 | opts.once = true 23 | el.addEventListener(event, fn, opts) 24 | } 25 | 26 | export function emit (el, evt, opts = {}) { 27 | opts.bubbles = ('bubbles' in opts) ? opts.bubbles : true 28 | opts.composed = ('composed' in opts) ? opts.composed : true 29 | el.dispatchEvent(new CustomEvent(evt, opts)) 30 | } 31 | 32 | /*! 33 | * Dynamically changing favicons with JavaScript 34 | * Works in all A-grade browsers except Safari and Internet Explorer 35 | * Demo: http://mathiasbynens.be/demo/dynamic-favicons 36 | */ 37 | 38 | var _head = document.head || document.getElementsByTagName('head')[0] // https://stackoverflow.com/a/2995536 39 | export function changeFavicon (src) { 40 | var link = document.createElement('link') 41 | var oldLink = document.getElementById('dynamic-favicon') 42 | link.id = 'dynamic-favicon' 43 | link.rel = 'shortcut icon' 44 | link.href = src 45 | if (oldLink) { 46 | _head.removeChild(oldLink) 47 | } 48 | _head.appendChild(link) 49 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/emoji.js: -------------------------------------------------------------------------------- 1 | import { FULL_LIST } from '../data/emoji-list.js' 2 | import * as skinTone from '../vendor/emoji-skin-tone/index.js' 3 | 4 | const EMOJI_VARIANT = `\uFE0F` // this codepoint forces emoji rendering rather than symbolic 5 | 6 | export function setSkinTone (emoji, tone) { 7 | return skinTone.set(emoji, tone) 8 | } 9 | 10 | export function render (emoji, tone = false) { 11 | emoji = emoji.replace('\uFE0F', '').replace('\uFE0E', '') 12 | return (tone === false ? emoji : skinTone.set(emoji, tone)) + EMOJI_VARIANT 13 | } 14 | 15 | export function renderSafe (emoji, tone = false) { 16 | // if (!isSupported(emoji)) return '' TODO needed? 17 | return render(emoji, tone) 18 | } 19 | 20 | export function isSupported (emoji) { 21 | if (!emoji || typeof emoji !== 'string') return false 22 | emoji = emoji.replace('\uFE0F', '').replace('\uFE0E', '') 23 | return FULL_LIST.indexOf(skinTone.set(emoji, skinTone.NONE)) !== -1 24 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/functions.js: -------------------------------------------------------------------------------- 1 | 2 | export function debouncer (ms, fallback) { 3 | let stack = [] 4 | let running = false 5 | 6 | async function pop () { 7 | if (!stack.length) { 8 | running = false 9 | return 10 | } 11 | running = true 12 | const startTime = Date.now() 13 | const { run, cancel } = stack.pop() 14 | for (let i = 0; i < stack.length; i++) { 15 | stack.pop().cancel() 16 | } 17 | try { 18 | await run() 19 | } finally { 20 | const diff = ms - (Date.now() - startTime) 21 | if (diff < 0) return pop() 22 | else setTimeout(pop, diff) 23 | } 24 | } 25 | 26 | return async function push (task) { 27 | return new Promise((resolve, reject) => { 28 | stack.push({ 29 | run: () => task().then(resolve, reject), 30 | // Resolve with empty search results if cancelled. 31 | cancel: () => resolve(fallback) 32 | }) 33 | if (!running) pop() 34 | }) 35 | } 36 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/query-params.js: -------------------------------------------------------------------------------- 1 | export function setParams (kv, clear = false, replaceState = false) { 2 | var url = (new URL(window.location)) 3 | if (clear) url.search = '' 4 | for (var k in kv) { 5 | if (kv[k]) { 6 | url.searchParams.set(k, kv[k]) 7 | } else { 8 | url.searchParams.delete(k) 9 | } 10 | } 11 | if (replaceState) { 12 | window.history.replaceState({}, null, url) 13 | } else { 14 | window.history.pushState({}, null, url) 15 | } 16 | } 17 | 18 | export function getParam (k, fallback = '') { 19 | return (new URL(window.location)).searchParams.get(k) || fallback 20 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/records.js: -------------------------------------------------------------------------------- 1 | export function typeToQuery (type) { 2 | let query = ({ 3 | 'blogpost': '/blog/*.md', 4 | 'bookmark': '/bookmarks/*.goto', 5 | 'comment': '/comments/*.md', 6 | 'microblogpost': '/microblog/*.md', 7 | 'page': '/pages/*.md', 8 | 'subscription': '/subscriptions/*.goto', 9 | 'tag': '/tags/*.goto', 10 | 'vote': '/votes/*.goto' 11 | })[type] 12 | if (!query) throw new Error('Invalid type: ' + type) 13 | return query 14 | } 15 | 16 | const RECORD_TYPE_RES = { 17 | blogpost: /^\/blog\/([^\/])+\.md$/i, 18 | bookmark: /^\/bookmarks\/([^\/])+\.goto$/i, 19 | comment: /^\/comments\/([^\/])+\.md$/i, 20 | microblogpost: /^\/microblog\/([^\/])+\.md$/i, 21 | page: /^\/pages\/([^\/])+\.md$/i, 22 | subscription: /^\/subscriptions\/([^\/])+\.goto$/i, 23 | tag: /^\/tags\/([^\/])+\.goto$/i, 24 | vote: /^\/votes\/([^\/])+\.goto$/i 25 | } 26 | 27 | export function getRecordType (record) { 28 | for (let type in RECORD_TYPE_RES) { 29 | if (RECORD_TYPE_RES[type].test(record?.path)) { 30 | return type 31 | } 32 | } 33 | return 'unknown' 34 | } 35 | 36 | export function getPreferredRenderMode (record) { 37 | let type = getRecordType(record) 38 | if (['comment', 'microblogpost'].includes(type)) { 39 | return 'card' 40 | } 41 | if (['subscription', 'tag', 'vote'].includes(type)) { 42 | return 'action' 43 | } 44 | return 'link' 45 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/time.js: -------------------------------------------------------------------------------- 1 | import {pluralize} from './strings.js' 2 | 3 | const shortFormatter = new Intl.DateTimeFormat('en-US', { 4 | month: 'short', 5 | day: 'numeric' 6 | }) 7 | const longFormatter = new Intl.DateTimeFormat('en-US', { 8 | month: 'short', 9 | year: 'numeric', 10 | day: 'numeric' 11 | }) 12 | const yearFormatter = new Intl.DateTimeFormat('en-US', {year: 'numeric'}) 13 | const CURRENT_YEAR = yearFormatter.format(new Date()) 14 | 15 | export function shortDate (ts) { 16 | ts = new Date(ts) 17 | var year = yearFormatter.format(ts) 18 | var formatter = (year === CURRENT_YEAR) ? shortFormatter : longFormatter 19 | return formatter.format(ts) 20 | } 21 | 22 | // simple timediff fn 23 | // replace this with Intl.RelativeTimeFormat when it lands in Beaker 24 | // https://stackoverflow.com/questions/6108819/javascript-timestamp-to-relative-time-eg-2-seconds-ago-one-week-ago-etc-best 25 | const msPerMinute = 60 * 1000 26 | const msPerHour = msPerMinute * 60 27 | const msPerDay = msPerHour * 24 28 | const msPerMonth = msPerDay * 30 29 | const msPerYear = msPerDay * 365 30 | const now = Date.now() 31 | export function timeDifference (ts, short = false, postfix = 'ago') { 32 | ts = Number(new Date(ts)) 33 | var elapsed = now - ts 34 | if (elapsed < 1) elapsed = 1 // let's avoid 0 and negative values 35 | if (elapsed < msPerMinute) { 36 | let n = Math.round(elapsed/1000) 37 | return `${n}${short ? 's' : pluralize(n, ' second')} ${postfix}` 38 | } else if (elapsed < msPerHour) { 39 | let n = Math.round(elapsed/msPerMinute) 40 | return `${n}${short ? 'm' : pluralize(n, ' minute')} ${postfix}` 41 | } else if (elapsed < msPerDay) { 42 | let n = Math.round(elapsed/msPerHour) 43 | return `${n}${short ? 'h' : pluralize(n, ' hour')} ${postfix}` 44 | } else if (elapsed < msPerMonth) { 45 | let n = Math.round(elapsed/msPerDay) 46 | return `${n}${short ? 'd' : pluralize(n, ' day')} ${postfix}` 47 | } else if (elapsed < msPerYear) { 48 | let n = Math.round(elapsed/msPerMonth) 49 | return `${n}${short ? 'mo' : pluralize(n, ' month')} ${postfix}` 50 | } else { 51 | let n = Math.round(elapsed/msPerYear) 52 | return `${n}${short ? 'yr' : pluralize(n, ' year')} ${postfix}` 53 | } 54 | } -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beakerbrowser/social/c91d8f31cb1bc1c1455bedccdbf3d3e2e51ba8a8/vendor/beaker-app-stdlib/js/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/azcli/azcli.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/azcli/azcli",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"#"}},t.language={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/bat/bat.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/bat/bat",["require","exports"],(function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.conf={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=>"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}]},t.language={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","begin","Bytes","Crypto","Current","else","end","failwith","false","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","Set","set","sender","source","String","then","true","type","with"],typeKeywords:["int","unit","string","tz"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/csp/csp.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/csp/csp",["require","exports"],(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.conf={brackets:[],autoClosingPairs:[],surroundingPairs:[]},e.language={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/go/go.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/go/go",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/graphql/graphql.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/graphql/graphql",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},n.language={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/ini/ini.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/ini/ini",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/java/java.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/java/java",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},t.language={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/kotlin/kotlin.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/kotlin/kotlin",["require","exports"],(function(e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},i.language={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc","@push"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/lua/lua.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/lua/lua",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},t.language={defaultToken:"",ignoreCase:!1,tokenPostfix:".mips",regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:[".data",".text","syscall","trap","add","addu","addi","addiu","and","andi","div","divu","mult","multu","nor","or","ori","sll","slv","sra","srav","srl","srlv","sub","subu","xor","xori","lhi","lho","lhi","llo","slt","slti","sltu","sltiu","beq","bgtz","blez","bne","j","jal","jalr","jr","lb","lbu","lh","lhu","lw","li","la","sb","sh","sw","mfhi","mflo","mthi","mtlo","move"],symbols:/[\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\$[a-zA-Z_]\w*/,"variable.predefined"],[/[.a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/objective-c/objective-c.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/objective-c/objective-c",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".objective-c",keywords:["#import","#include","#define","#else","#endif","#if","#ifdef","#ifndef","#ident","#undef","@class","@defs","@dynamic","@encode","@end","@implementation","@interface","@package","@private","@protected","@property","@protocol","@public","@selector","@synthesize","__declspec","assign","auto","BOOL","break","bycopy","byref","case","char","Class","const","copy","continue","default","do","double","else","enum","extern","FALSE","false","float","for","goto","if","in","int","id","inout","IMP","long","nil","nonatomic","NULL","oneway","out","private","public","protected","readwrite","readonly","register","return","SEL","self","short","signed","sizeof","static","struct","super","switch","typedef","TRUE","true","union","unsigned","volatile","void","while"],decpart:/\d(_?\d)*/,decimal:/0|@decpart/,tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()<>]/,"@brackets"],[/[a-zA-Z@#]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[<>=\\+\\-\\*\\/\\^\\|\\~,]|and\\b|or\\b|not\\b]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[[/0[xX][0-9a-fA-F]*(_?[0-9a-fA-F])*/,"number.hex"],[/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)[fF]*/,{cases:{"(\\d)*":"number",$0:"number.float"}}]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/pascal/pascal.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/pascal/pascal",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["{","}"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\{\\$REGION(\\s\\'.*\\')?\\}"),end:new RegExp("^\\s*\\{\\$ENDREGION\\}")}}},t.language={defaultToken:"",tokenPostfix:".pascal",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["absolute","abstract","all","and_then","array","as","asm","attribute","begin","bindable","case","class","const","contains","default","div","else","end","except","exports","external","far","file","finalization","finally","forward","generic","goto","if","implements","import","in","index","inherited","initialization","interrupt","is","label","library","mod","module","name","near","not","object","of","on","only","operator","or_else","otherwise","override","package","packed","pow","private","program","protected","public","published","interface","implementation","qualified","read","record","resident","requires","resourcestring","restricted","segment","set","shl","shr","specialize","stored","then","threadvar","to","try","type","unit","uses","var","view","virtual","dynamic","overload","reintroduce","with","write","xor","true","false","procedure","function","constructor","destructor","property","break","continue","exit","abort","while","do","for","raise","repeat","until"],typeKeywords:["boolean","double","byte","integer","shortint","char","longint","float","string"],operators:["=",">","<","<=",">=","<>",":",":=","and","or","+","-","*","/","@","&","^","%"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\*\}]+/,"comment"],[/\}/,"comment","@pop"],[/[\{]/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\{/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/pascaligo/pascaligo.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/pascaligo/pascaligo",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}]},o.language={defaultToken:"",tokenPostfix:".pascaligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["begin","block","case","const","else","end","fail","for","from","function","if","is","nil","of","remove","return","skip","then","type","var","while","with","option","None","transaction"],typeKeywords:["bool","int","list","map","nat","record","string","unit","address","map","mtz","xtz"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/powershell/powershell.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/powershell/powershell",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"#",blockComment:["<#","#>"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".ps1",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["begin","break","catch","class","continue","data","define","do","dynamicparam","else","elseif","end","exit","filter","finally","for","foreach","from","function","if","in","param","process","return","switch","throw","trap","try","until","using","var","while","workflow","parallel","sequence","inlinescript","configuration"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=>/,"comment","@pop"],[/(\.)(@helpKeywords)(?!\w)/,{token:"comment.keyword.$2"}],[/[\.#]/,"comment"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/python/python.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/python/python",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t="undefined"==typeof monaco?self.monaco:monaco;n.conf={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$"),action:{indentAction:t.languages.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n.language={defaultToken:"",tokenPostfix:".python",keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","print","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z]\w*/,"tag"],[/[a-zA-Z]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/r/r.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/r/r",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},o.language={defaultToken:"",tokenPostfix:".r",roxygen:["@param","@return","@name","@rdname","@examples","@include","@docType","@S3method","@TODO","@aliases","@alias","@assignee","@author","@callGraphDepth","@callGraph","@callGraphPrimitives","@concept","@exportClass","@exportMethod","@exportPattern","@export","@formals","@format","@importClassesFrom","@importFrom","@importMethodsFrom","@import","@keywords","@method","@nord","@note","@references","@seealso","@setClass","@slot","@source","@title","@usage"],constants:["NULL","FALSE","TRUE","NA","Inf","NaN ","NA_integer_","NA_real_","NA_complex_","NA_character_ ","T","F","LETTERS","letters","month.abb","month.name","pi","R.version.string"],keywords:["break","next","return","if","else","for","in","repeat","while","array","category","character","complex","double","function","integer","list","logical","matrix","numeric","vector","data.frame","factor","library","require","attach","detach","source"],special:["\\n","\\r","\\t","\\b","\\a","\\f","\\v","\\'",'\\"',"\\\\"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@numbers"},{include:"@strings"},[/[{}\[\]()]/,"@brackets"],{include:"@operators"},[/#'/,"comment.doc","@roxygen"],[/(^#.*$)/,"comment"],[/\s+/,"white"],[/[,:;]/,"delimiter"],[/@[a-zA-Z]\w*/,"tag"],[/[a-zA-Z]\w*/,{cases:{"@keywords":"keyword","@constants":"constant","@default":"identifier"}}]],roxygen:[[/@\w+/,{cases:{"@roxygen":"tag","@eos":{token:"comment.doc",next:"@pop"},"@default":"comment.doc"}}],[/\s+/,{cases:{"@eos":{token:"comment.doc",next:"@pop"},"@default":"comment.doc"}}],[/.*/,{token:"comment.doc",next:"@pop"}]],numbers:[[/0[xX][0-9a-fA-F]+/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?/,"number"]],operators:[[/<{1,2}-/,"operator"],[/->{1,2}/,"operator"],[/%[^%\s]+%/,"operator"],[/\*\*/,"operator"],[/%%/,"operator"],[/&&/,"operator"],[/\|\|/,"operator"],[/<>/,"operator"],[/[-+=&|!<>^~*/:$]/,"operator"]],strings:[[/'/,"string.escape","@stringBody"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/\\./,{cases:{"@special":"string","@default":"error-token"}}],[/'/,"string.escape","@popall"],[/./,"string"]],dblStringBody:[[/\\./,{cases:{"@special":"string","@default":"error-token"}}],[/"/,"string.escape","@popall"],[/./,"string"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/sb/sb.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/sb/sb",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.conf={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]},o.language={defaultToken:"",tokenPostfix:".sb",ignoreCase:!0,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/scheme/scheme.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/scheme/scheme",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.conf={comments:{lineComment:";",blockComment:["#|","|#"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},o.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".scheme",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["case","do","let","loop","if","else","when","cons","car","cdr","cond","lambda","lambda*","syntax-rules","format","set!","quote","eval","append","list","list?","member?","load"],constants:["#t","#f"],operators:["eq?","eqv?","equal?","and","or","not","null?"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],{include:"@whitespace"},{include:"@strings"},[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}]],comment:[[/[^\|#]+/,"comment"],[/#\|/,"comment","@push"],[/\|#/,"comment","@pop"],[/[\|#]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#\|/,"comment","@comment"],[/;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string.escape"],[/"/,"string","@popall"],[/\\$/,"string"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/shell/shell.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/shell/shell",["require","exports"],(function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},r.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".shell",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],builtins:["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"],symbols:/[=>"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},t.language={defaultToken:"",tokenPostfix:".aes",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["contract","library","entrypoint","function","stateful","state","hash","signature","tuple","list","address","string","bool","int","record","datatype","type","option","oracle","oracle_query","Call","Bits","Bytes","Oracle","String","Crypto","Address","Auth","Chain","None","Some","bits","bytes","event","let","map","private","public","true","false","var","if","else","throw"],operators:["=",">","<","!","~","?","::",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}})); -------------------------------------------------------------------------------- /vendor/beaker-app-stdlib/js/vs/basic-languages/xml/xml.js: -------------------------------------------------------------------------------- 1 | /*!----------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * monaco-languages version: 1.10.0(1b4729c63bdb0d1e06d4e637e5c3977ddeb714dd) 4 | * Released under the MIT license 5 | * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md 6 | *-----------------------------------------------------------------------------*/ 7 | define("vs/basic-languages/xml/xml",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["<",">"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},t.language={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[/