├── .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 | 
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 |
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 |
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"],[/[-+=&|!<>^~*/:$]/,"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"}],[/