wuffle 0.41.5 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ const compression = require('compression');
3
3
  /**
4
4
  * Enables compression for routes
5
5
  *
6
- * @param {import("express").Router} router
6
+ * @param {import('express').Router} router
7
7
  */
8
8
  module.exports = function(router) {
9
9
 
@@ -5,7 +5,7 @@ const {
5
5
  /**
6
6
  * Enables https redirects and strict transport security.
7
7
  *
8
- * @param {import("express").Router} router
8
+ * @param {import('express').Router} router
9
9
  */
10
10
  module.exports = function(router) {
11
11
 
@@ -11,8 +11,10 @@ const {
11
11
  /**
12
12
  * This app allows you to create a search filter from a given term.
13
13
  *
14
- * @param {import("../../types").Logger} logger
15
- * @param {import("../../store")} store
14
+ * @constructor
15
+ *
16
+ * @param {import('../../types').Logger} logger
17
+ * @param {import('../../store')} store
16
18
  */
17
19
  function Search(logger, store) {
18
20
 
@@ -181,13 +183,38 @@ function Search(logger, store) {
181
183
  };
182
184
  },
183
185
 
186
+ commented: function commentedFilter(name) {
187
+
188
+ return function filterCommented(issue) {
189
+
190
+ const {
191
+ comments
192
+ } = issue;
193
+
194
+ // issues do not have comments attached
195
+ if (!Array.isArray(comments)) {
196
+ return false;
197
+ }
198
+
199
+ return (
200
+ comments.some(comment => fuzzyMatches(comment.user.login, name))
201
+ );
202
+ };
203
+ },
204
+
184
205
  involves: function involvesFilter(name) {
185
206
 
207
+ const isAssigned = filters.assignee(name);
208
+ const isAuthor = filters.author(name);
209
+ const isReviewer = filters.reviewer(name);
210
+ const hasCommented = filters.commented(name);
211
+
186
212
  return function filterInvolves(issue) {
187
213
  return (
188
- filters.assignee(name)(issue) ||
189
- filters.author(name)(issue) ||
190
- filters.reviewer(name)(issue)
214
+ isAssigned(issue) ||
215
+ isAuthor(issue) ||
216
+ isReviewer(issue) ||
217
+ hasCommented(issue)
191
218
  );
192
219
  };
193
220
  },
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @constructor
3
+ *
4
+ * @param {import('../github-client/GithubClient')} githubClient
5
+ */
1
6
  function SecurityContext(githubClient) {
2
7
 
3
8
  /**
@@ -8,10 +8,12 @@ const TTL = 1000 * 60 * 60 * 24 * 9;
8
8
  * This component provides the functionality to filter
9
9
  * issues based on user views.
10
10
  *
11
- * @param {import("../../types").Logger} logger
12
- * @param {import("../github-client/GithubClient")} githubClient
13
- * @param {import("../../events")} events
14
- * @param {import("../webhook-events/WebhookEvents")} webhookEvents
11
+ * @constructor
12
+ *
13
+ * @param {import('../../types').Logger} logger
14
+ * @param {import('../github-client/GithubClient')} githubClient
15
+ * @param {import('../../events')} events
16
+ * @param {import('../webhook-events/WebhookEvents')} webhookEvents
15
17
  */
16
18
  function UserAccess(logger, githubClient, events, webhookEvents) {
17
19
 
@@ -1,15 +1,18 @@
1
+ /**
2
+ * @constructor
3
+ *
4
+ * @param {import('../../types').ProbotApp} app
5
+ * @param {import('../github-app/GithubApp')} githubApp
6
+ */
1
7
  function WebhookEvents(app, githubApp) {
2
8
 
3
9
  /**
4
- * Register a event lister for a single
5
- * or a number of webhook events.
6
- *
7
- * @param {String|Array<String>} events
8
- * @param {Function} fn listener
10
+ * @template {Function} T
11
+ * @param {T} fn
9
12
  */
10
- function on(events, fn) {
11
- app.on(events, async context => {
13
+ function ifEnabled(fn) {
12
14
 
15
+ return async (context) => {
13
16
  const {
14
17
  payload
15
18
  } = context;
@@ -27,13 +30,34 @@ function WebhookEvents(app, githubApp) {
27
30
  }
28
31
 
29
32
  return fn(context);
30
- });
33
+ };
34
+ }
35
+
36
+ /**
37
+ * Register a event lister for a single
38
+ * or a number of webhook events.
39
+ *
40
+ * @param {any|any[]} events
41
+ * @param {Function} fn listener
42
+ */
43
+ function on(events, fn) {
44
+ app.on(events, ifEnabled(fn));
45
+ }
46
+
47
+ /**
48
+ * Register an event listener for all
49
+ * webhook events.
50
+ *
51
+ * @param {Function} fn
52
+ */
53
+ function onAny(fn) {
54
+ app.onAny(ifEnabled(fn));
31
55
  }
32
56
 
33
57
  // api /////////////////
34
58
 
35
59
  this.on = on;
36
-
60
+ this.onAny = onAny;
37
61
  }
38
62
 
39
63
  module.exports = WebhookEvents;
package/lib/filters.js CHANGED
@@ -31,7 +31,8 @@ function filterRepository(githubRepository) {
31
31
  node_id,
32
32
  name,
33
33
  'private': isPrivate,
34
- owner
34
+ owner,
35
+ html_url
35
36
  } = githubRepository;
36
37
 
37
38
  return {
@@ -39,7 +40,8 @@ function filterRepository(githubRepository) {
39
40
  node_id,
40
41
  name,
41
42
  'private': isPrivate,
42
- owner: filterUser(owner)
43
+ owner: filterUser(owner),
44
+ html_url
43
45
  };
44
46
  }
45
47
 
@@ -52,14 +54,16 @@ function filterUser(githubUser) {
52
54
  id,
53
55
  node_id,
54
56
  login,
55
- avatar_url
57
+ avatar_url,
58
+ html_url
56
59
  } = githubUser;
57
60
 
58
61
  return {
59
62
  id,
60
63
  node_id,
61
64
  login,
62
- avatar_url
65
+ avatar_url,
66
+ html_url
63
67
  };
64
68
  }
65
69
 
@@ -112,7 +116,8 @@ function filterMilestone(githubMilestone) {
112
116
  node_id,
113
117
  number,
114
118
  title,
115
- state
119
+ state,
120
+ html_url
116
121
  } = githubMilestone;
117
122
 
118
123
  return {
@@ -120,7 +125,8 @@ function filterMilestone(githubMilestone) {
120
125
  node_id,
121
126
  number,
122
127
  title,
123
- state
128
+ state,
129
+ html_url
124
130
  };
125
131
  }
126
132
 
@@ -153,12 +159,11 @@ function filterPull(githubPull, githubRepository) {
153
159
  mergeable,
154
160
  mergeable_state,
155
161
  merged_by,
156
- comments,
157
- review_comments,
158
162
  commits,
159
163
  additions,
160
164
  deletions,
161
- changed_files
165
+ changed_files,
166
+ html_url
162
167
  } = githubPull;
163
168
 
164
169
  // stable ID that is independent from GitHubs internal issue/pr distinction
@@ -192,14 +197,13 @@ function filterPull(githubPull, githubRepository) {
192
197
  mergeable,
193
198
  mergeable_state,
194
199
  merged_by,
195
- comments,
196
- review_comments,
197
200
  commits,
198
201
  additions,
199
202
  deletions,
200
203
  changed_files,
201
204
  pull_request: true,
202
- repository: filterRepository(githubRepository)
205
+ repository: filterRepository(githubRepository),
206
+ html_url
203
207
  };
204
208
  }
205
209
 
@@ -221,8 +225,8 @@ function filterIssue(githubIssue, githubRepository) {
221
225
  assignees,
222
226
  labels,
223
227
  milestone,
224
- comments,
225
- pull_request
228
+ pull_request,
229
+ html_url
226
230
  } = githubIssue;
227
231
 
228
232
  // stable ID that is independent from GitHubs internal issue/pr distinction
@@ -249,9 +253,9 @@ function filterIssue(githubIssue, githubRepository) {
249
253
  assignees: assignees.map(filterUser),
250
254
  labels: labels.map(filterLabel),
251
255
  milestone: milestone ? filterMilestone(milestone) : null,
252
- comments,
253
256
  repository: filterRepository(githubRepository),
254
- pull_request: !!pull_request
257
+ pull_request: !!pull_request,
258
+ html_url
255
259
  };
256
260
 
257
261
  }
package/lib/index.js CHANGED
@@ -15,6 +15,7 @@ const apps = [
15
15
  require('./apps/events-sync'),
16
16
  require('./apps/github-app'),
17
17
  require('./apps/github-issues'),
18
+ require('./apps/github-comments'),
18
19
  require('./apps/github-client'),
19
20
  require('./apps/github-checks'),
20
21
  require('./apps/github-reviews'),
package/lib/types.d.ts CHANGED
@@ -1,10 +1,29 @@
1
- const ExpressSession = import('express-session').Session;
1
+ /* global InstanceType:true */
2
2
 
3
- export type Logger = import('probot').Logger;
3
+ import type { ExpressSession } from 'express-session';
4
4
 
5
- export type Router = import('express').Router;
5
+ import type {
6
+ ProbotOctokit,
7
+ Probot as ProbotApp,
8
+ Logger
9
+ } from 'probot';
6
10
 
7
- export type Injector = import('async-didi').Injector;
11
+ import type {
12
+ Router
13
+ } from 'express';
14
+
15
+ export type Octokit = InstanceType<typeof ProbotOctokit>;
16
+
17
+ import type { Injector } from 'async-didi';
18
+
19
+ export {
20
+ Logger,
21
+ ExpressSession,
22
+ Router,
23
+ Octokit,
24
+ Injector,
25
+ ProbotApp
26
+ };
8
27
 
9
28
  export type DidiModule = {
10
29
  __init__?: Array<String>,
@@ -12,8 +31,6 @@ export type DidiModule = {
12
31
  [propName: string]: any,
13
32
  };
14
33
 
15
- export type ProbotApp = import('probot').Probot;
16
-
17
34
  export type GitHubUser = {
18
35
  last_checked: number,
19
36
  access_token: string,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wuffle",
3
- "version": "0.41.5",
3
+ "version": "0.42.0",
4
4
  "description": "A multi-repository task board for GitHub issues",
5
5
  "author": {
6
6
  "name": "Nico Rehwaldt",
@@ -36,32 +36,37 @@
36
36
  "auto-test": "npm test -- --watch"
37
37
  },
38
38
  "dependencies": {
39
- "@aws-sdk/client-s3": "^3.3.0",
39
+ "@aws-sdk/client-s3": "^3.38.0",
40
40
  "async-didi": "^0.2.1",
41
41
  "body-parser": "^1.19.0",
42
42
  "compression": "^1.7.4",
43
- "express-session": "^1.17.1",
44
- "memorystore": "^1.6.4",
45
- "min-dash": "^3.5.2",
43
+ "express-session": "^1.17.2",
44
+ "fake-tag": "^3.0.0",
45
+ "memorystore": "^1.6.6",
46
+ "min-dash": "^3.8.0",
46
47
  "mkdirp": "^1.0.4",
47
48
  "p-defer": "^3.0.0",
48
49
  "prexit": "0.0.5",
49
- "probot": "^11.1.0",
50
+ "probot": "^11.4.1",
50
51
  "smee-client": "^1.2.2"
51
52
  },
52
53
  "devDependencies": {
53
- "@types/express-session": "^1.17.3",
54
- "@types/node-fetch": "^2.5.8",
55
- "chai": "^4.3.3",
56
- "eslint": "^7.21.0",
54
+ "@octokit/graphql-schema": "^10.73.0",
55
+ "@types/compression": "^1.7.2",
56
+ "@types/express-session": "^1.17.4",
57
+ "@types/mkdirp": "^1.0.2",
58
+ "chai": "^4.3.4",
59
+ "eslint": "^7.32.0",
57
60
  "eslint-plugin-bpmn-io": "^0.12.0",
58
- "mocha": "^8.3.1",
59
- "nock": "^13.0.11",
60
- "nodemon": "^2.0.7",
61
+ "eslint-plugin-graphql": "^4.0.0",
62
+ "graphql": "^15.6.1",
63
+ "mocha": "^9.1.3",
64
+ "nock": "^13.1.4",
65
+ "nodemon": "^2.0.14",
61
66
  "npm-run-all": "^4.1.5",
62
- "sinon": "^9.2.4",
63
- "sinon-chai": "^3.5.0",
64
- "typescript": "^4.1.3"
67
+ "sinon": "^11.1.2",
68
+ "sinon-chai": "^3.7.0",
69
+ "typescript": "^4.4.4"
65
70
  },
66
71
  "engines": {
67
72
  "node": ">= 14.0"
@@ -89,5 +94,5 @@
89
94
  "index.js",
90
95
  "wuffle.config.example.js"
91
96
  ],
92
- "gitHead": "7a9028b1823cad706cf86df89f1b7227d349ef63"
97
+ "gitHead": "4453a6968a6c9eee200a66beec802c320477128e"
93
98
  }
package/public/bundle.css CHANGED
@@ -1 +1 @@
1
- .taskboard.svelte-1t57obw.svelte-1t57obw{height:100vh;display:flex;flex-direction:column}@media all and (max-width: 600px){.board-filter{width:100% !important}.navbar .form-inline.svelte-1t57obw.svelte-1t57obw{flex:1 !important}.navbar .logo.svelte-1t57obw.svelte-1t57obw{width:32px;height:32px}}.taskboard-error.svelte-1t57obw.svelte-1t57obw{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);text-align:center}.taskboard-error.svelte-1t57obw p.svelte-1t57obw{font-size:1.3em;margin-top:1.7rem;margin-bottom:3rem;color:#495057}.taskboard-board.svelte-1t57obw.svelte-1t57obw{display:flex;flex:1;width:100%;padding:3px;padding-top:0;overflow-x:auto}.taskboard-column.svelte-1t57obw.svelte-1t57obw{display:flex;flex-direction:column;min-width:250px;flex:1;border-radius:2px;margin:3px;background:#ebecf0}.taskboard-column.collapsed.svelte-1t57obw.svelte-1t57obw{line-height:2em;min-width:42px;flex:0}.taskboard-column-items.svelte-1t57obw.svelte-1t57obw{flex:1;overflow-y:auto;padding:3px 10px 10px}.taskboard-column-header.svelte-1t57obw.svelte-1t57obw{text-align:center;line-height:2.4em;font-size:1.25em;color:inherit}.taskboard-column-collapse.svelte-1t57obw.svelte-1t57obw{color:#adb5bd;float:left;padding:0 12px;line-height:2.4em;margin-right:-20px;font-size:1.2rem}.taskboard-column-collapse.svelte-1t57obw.svelte-1t57obw:hover{color:#495057}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-collapse.svelte-1t57obw{float:unset;padding:0 12px;margin:0}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-header.svelte-1t57obw{display:flex;flex-direction:column;flex:1}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-name.svelte-1t57obw,.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-issue-count.svelte-1t57obw{transform:rotate(-180deg);writing-mode:vertical-rl}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-name.svelte-1t57obw{order:2}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-issue-count.svelte-1t57obw{padding:.5em 0;order:0}.taskboard-column-name.svelte-1t57obw.svelte-1t57obw{color:#424657}.taskboard-column-issue-count.svelte-1t57obw.svelte-1t57obw{color:#37ACC8;display:inline-block;padding:0 .25em}.taskboard.svelte-1t57obw.svelte-1t57obw{position:relative}.powered-by.svelte-6impii.svelte-6impii.svelte-6impii{position:absolute;bottom:10px;right:10px;padding:7px;border-radius:4px;opacity:.5;transition:opacity .1s, background .1s;color:#333;z-index:10;align-items:center;display:flex}.powered-by.svelte-6impii svg.svelte-6impii.svelte-6impii{vertical-align:bottom}.powered-by.svelte-6impii:not(:hover) .logo.svelte-6impii.svelte-6impii{color:#999}.powered-by.svelte-6impii.svelte-6impii.svelte-6impii:hover{opacity:1;box-shadow:0 1px 3px rgba(0, 0, 0, 0.3);background:white}.powered-by.svelte-6impii:hover .help.svelte-6impii.svelte-6impii{display:block}.powered-by.svelte-6impii .help.svelte-6impii.svelte-6impii{font-size:.9em;display:none}.powered-by.svelte-6impii .logo.svelte-6impii.svelte-6impii{margin-left:.5em}.powered-by.svelte-6impii .help-item.svelte-6impii.svelte-6impii{margin-left:.5em}.powered-by.svelte-6impii .help-item.svelte-6impii+.help-item.svelte-6impii{margin-left:1em}.powered-by.svelte-6impii .help-item.svelte-6impii.svelte-6impii{display:inline-block}.avatar.svelte-9r4rqh.svelte-9r4rqh{position:relative;display:inline-block;overflow:hidden;color:#fff;white-space:nowrap;text-align:center;vertical-align:middle;background:#ccc;width:32px;height:32px;line-height:32px}.avatar-shadow.svelte-9r4rqh.svelte-9r4rqh{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:inset 0 0 2px 0 rgba(0, 0, 0, 0.1)}.avatar-rounded.svelte-9r4rqh.svelte-9r4rqh{border-radius:50%}.avatar-rounded.svelte-9r4rqh .avatar-shadow.svelte-9r4rqh{border-radius:50%}.notifications.svelte-1kbv986{position:fixed;z-index:1010;top:24px;right:24px}.loader.svelte-1i1edqp.svelte-1i1edqp{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);text-align:center;z-index:200;pointer-events:none}.loader.svelte-1i1edqp>.content.svelte-1i1edqp{opacity:0.3;transition:opacity 0.5s}.loader.shown.svelte-1i1edqp>.content.svelte-1i1edqp{opacity:1;animation:svelte-1i1edqp-pulsate 1s infinite;animation-timing-function:ease-in-out}.loader.svelte-1i1edqp:not(.shown)>.content.svelte-1i1edqp{opacity:0}@keyframes svelte-1i1edqp-pulsate{0%{transform:scale(1);opacity:1}50%{transform:scale(0.9);opacity:0.8}100%{transform:scale(1);opacity:1}}.dropdown-parent.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{position:relative}.help-dropdown.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{border-radius:4px;margin:0;margin-top:5px;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;width:100%;min-width:0 !important;max-width:none !important;padding:.6em 0;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0, 0, 0, 0.1);box-shadow:0 0.1rem 1rem rgba(0, 0, 0, 0.075);position:absolute;top:100%;z-index:100;left:0px;right:auto;display:block}.help-dropdown.svelte-1bk05k0 .category.svelte-1bk05k0.svelte-1bk05k0{color:#37ACC8;font-weight:bold;padding:0 .8rem}.help-dropdown.svelte-1bk05k0 .note.svelte-1bk05k0.svelte-1bk05k0{padding:0 .8rem;color:#6c757d;margin:0}.help-dropdown.svelte-1bk05k0 .note em.svelte-1bk05k0.svelte-1bk05k0{font-style:italic}.help-dropdown.svelte-1bk05k0 .note.svelte-1bk05k0+.note.svelte-1bk05k0{margin-top:5px}.board-filter.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{width:300px}.board-filter.expanded.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{width:500px;max-width:100%}.board-filter.svelte-1bk05k0>input.svelte-1bk05k0.svelte-1bk05k0{width:100%}.icon.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{color:#dee2e6}.board-card-container.svelte-1qm4dld.svelte-1qm4dld{width:100%;margin-bottom:10px}.board-card.svelte-1qm4dld.svelte-1qm4dld{background:white;border-radius:4px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);position:relative;z-index:1;padding:4px 8px;cursor:default}.board-card.svelte-1qm4dld .header.svelte-1qm4dld{margin-bottom:7px}.card-link:not(:last-child)>.card-status.svelte-1qm4dld.svelte-1qm4dld{margin-bottom:-2px !important}.board-card-links.svelte-1qm4dld.svelte-1qm4dld{margin-top:2px}.header.svelte-1qm4dld.svelte-1qm4dld{display:flex;align-items:center;user-select:none}.header.svelte-1qm4dld>.svelte-1qm4dld{flex-shrink:0}.header.svelte-1qm4dld>.repository.svelte-1qm4dld{flex:1}.header.svelte-1qm4dld>.collaborator-links.svelte-1qm4dld{display:flex;align-items:center}.issue-type.svelte-1qm4dld.svelte-1qm4dld{margin-right:3px}.issue-type-pull-request.svelte-1qm4dld.svelte-1qm4dld{color:#6cc644}.issue-number.svelte-1qm4dld.svelte-1qm4dld{font-weight:bold;margin-right:6px;display:flex;align-items:center;text-decoration:none}.repository.svelte-1qm4dld.svelte-1qm4dld,.short-title.svelte-1qm4dld.svelte-1qm4dld{color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title.svelte-1qm4dld.svelte-1qm4dld{font-size:1.1em;margin:0 0 9px 0;min-height:30px;line-height:1.2em;color:#495057;overflow:hidden}.footer.svelte-1qm4dld.svelte-1qm4dld{display:flex;flex-direction:row;flex-wrap:wrap}.links.svelte-1qm4dld.svelte-1qm4dld{margin-left:auto}.links.svelte-1qm4dld a.svelte-1qm4dld{color:#adb5bd}.links.svelte-1qm4dld a.svelte-1qm4dld:hover{color:#6c757d}.tag.label,.tag.tag.milestone{margin-right:4px;margin-bottom:4px}.tag.milestone{color:#343a40 !important;border:solid 1px #6c757d}.board-card-links.attached.svelte-1qm4dld.svelte-1qm4dld{background:#F9F9F9;border-radius:0 0 4px 4px;box-shadow:inset 0 3px 5px -2px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);margin-top:-6px;position:relative;padding:7px 8px 4px 8px}.board-card-links.attached.svelte-1qm4dld .card-link:first-child{border-top:none;margin-top:1px}.progress.svelte-1qm4dld.svelte-1qm4dld{display:flex;flex-direction:row;align-items:center;margin-bottom:7px;cursor:pointer}.progress.svelte-1qm4dld:hover svg.svelte-1qm4dld{color:#6c757d}.progress.svelte-1qm4dld svg.svelte-1qm4dld{color:#CCC;transition:color .3s}.progress.svelte-1qm4dld .bar.svelte-1qm4dld{border-radius:3px;height:5px;width:80px;background:#EEE;margin:auto 6px}.progress.svelte-1qm4dld .bar .indicator.svelte-1qm4dld{border-radius:3px;background:#6c757d;height:100%}.progress.svelte-1qm4dld .text.svelte-1qm4dld{margin-left:6px;font-size:0.9rem;color:#6c757d}.notification.svelte-16ri2nq{box-sizing:border-box;margin:0;padding:0;color:#6c757d;font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;width:384px;max-width:calc(100vw - 32px);padding:16px 24px;overflow:hidden;line-height:1.5;background:#fff;border-radius:3px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);border-left:solid 4px #0dcaf0}.notification.error.svelte-16ri2nq{border-left-color:#dc3545}.notification.warning.svelte-16ri2nq{border-left-color:#ffc107}.heading.svelte-16ri2nq{color:#212529;font-weight:normal;font-size:1.2em;margin-bottom:5px}.dropdown-parent.svelte-15toawx{position:relative}.help-dropdown.svelte-15toawx{border-radius:4px;margin:0;margin-top:5px;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;width:100%;min-width:0 !important;max-width:none !important;padding:.6em 0;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0, 0, 0, 0.1);box-shadow:0 0.1rem 1rem rgba(0, 0, 0, 0.075);position:absolute;top:100%;z-index:100;left:0px;right:auto;display:block}.repository-select.svelte-15toawx{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10}.overlay.svelte-15toawx{width:100%;height:100%;background:rgba(30, 30, 30, 0.3)}.issue-creator.svelte-15toawx{position:absolute;z-index:2;width:500px;max-width:100%;background:white;top:30%;left:50%;transform:translate(-50%);line-height:1.5;border-radius:5px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.tag.svelte-tftc6d{list-style:none;display:inline-block;height:auto;margin:0 4px 4px 0;padding:1px 7px;font-size:12px;font-weight:500;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:white;background:#fafafa;border-radius:4px;text-decoration:none}.tag.svelte-tftc6d:not(a){cursor:default}.tag.inverted.svelte-tftc6d{color:#333}.svelte-tftc6d:not(a.tag, .tag.clickable){cursor:default}.icon.svelte-1wc70x{margin-right:2px;color:#1d76db}.pull-request-icon.svelte-8ct04d{margin-right:1px}.pull-request-icon.open.svelte-8ct04d{color:#28a745}.pull-request-icon.closed.svelte-8ct04d{color:#cb2431}.pull-request-icon.merged.svelte-8ct04d{color:#6f42c1}.assignee.svelte-16cej39.svelte-16cej39{box-sizing:border-box;margin:0;font-size:14px;position:relative;display:inline-block;text-align:center;border-radius:2px;margin-left:3px;transition:margin .1s;height:18px}.assignee.svelte-16cej39 img.svelte-16cej39{height:100%;border-radius:2px;vertical-align:unset}.assignee.svelte-16cej39 .icon-shadow.svelte-16cej39{position:absolute;display:none;top:0;left:0;height:100%;width:100%;box-shadow:inset 0 0 2px 0 rgba(20, 20, 20, 0.3);border-radius:2px}.assignee.requested-reviewer.svelte-16cej39.svelte-16cej39:before{content:'';display:block;background:#adb5bd;box-shadow:0 0 0 2px white;width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;left:-2px;z-index:1}.assignee.commented.svelte-16cej39.svelte-16cej39:before{content:'';display:block;background:#0dcaf0;box-shadow:0 0 0 2px white;width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;left:-2px;z-index:1}.assignee.approved.svelte-16cej39.svelte-16cej39:before{content:'';display:block;background:#198754;box-shadow:0 0 0 2px white;width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;left:-2px;z-index:1}.assignee.requested-changes.svelte-16cej39.svelte-16cej39:before{content:'';display:block;background:#dc3545;box-shadow:0 0 0 2px white;width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;left:-2px;z-index:1}.assignee.svelte-16cej39+.assignee.svelte-16cej39{margin-left:-6px;box-shadow:0 0 0 1px white}.hovered>.header .assignee+.assignee.svelte-16cej39.svelte-16cej39{margin-left:3px !important;box-shadow:none}.card-status.svelte-ah4rak.svelte-ah4rak{display:flex;flex-direction:row;align-items:stretch;height:3px;width:auto;margin:3px -8px -4px}.state.svelte-ah4rak.svelte-ah4rak{flex:1;background-color:#adb5bd}.state.svelte-ah4rak>span.svelte-ah4rak{display:none}.state.striped.svelte-ah4rak.svelte-ah4rak{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);animation:svelte-ah4rak-progress-bar-stripes 1s linear infinite;background-size:1rem 1rem}.state.success.svelte-ah4rak.svelte-ah4rak{background-color:#4ede9b;box-shadow:0 1px 2px 0px rgba(36, 124, 83, 0.3)}.state.failure.svelte-ah4rak.svelte-ah4rak{background-color:#ea868f;box-shadow:0 1px 2px 0px rgba(203, 70, 83, 0.3)}.state.action-required.svelte-ah4rak.svelte-ah4rak{background-color:#ffda6a;box-shadow:0 1px 2px 0px rgba(230, 181, 32, 0.3)}.state.svelte-ah4rak+.state.svelte-ah4rak{margin-left:1px}@keyframes svelte-ah4rak-progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.header.svelte-dsl08.svelte-dsl08{display:flex;align-items:center;user-select:none}.header.svelte-dsl08>.svelte-dsl08{flex-shrink:0}.header.svelte-dsl08>.collaborator-links.svelte-dsl08{display:flex;align-items:center}.issue-number.svelte-dsl08.svelte-dsl08{font-weight:bold;margin-right:6px;display:flex;align-items:center;text-decoration:none}.short-title.svelte-dsl08.svelte-dsl08{color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-link.svelte-dsl08.svelte-dsl08{border-top:solid 1px #F0F0F0;margin-top:2px;padding-top:2px}.card-link.svelte-dsl08 .short-title.svelte-dsl08{flex:1}.icon.svelte-1r532dq{margin-right:2px}.icon.issue.open.svelte-1r532dq,.icon.depends-on.closed.svelte-1r532dq{color:#28a745}.icon.issue.closed.svelte-1r532dq,.icon.depends-on.svelte-1r532dq{color:#cb2431}.icon.linked-to.svelte-1r532dq{color:#37ACC8}.icon.svelte-1og232h{vertical-align:initial}ul.svelte-r39x99{list-style:none;margin:0;padding:0}li.svelte-r39x99{padding:0 .8rem;line-height:2em}li.selectable.svelte-r39x99{cursor:pointer}li.selectable.svelte-r39x99:hover,li.selectable.active.svelte-r39x99{background:rgba(55, 172, 200, 0.1)}li.text.svelte-r39x99{color:#6c757d}.matched.svelte-r39x99{background:rgba(55, 172, 200, 0.2);color:#2c8aa0}
1
+ .taskboard.svelte-1t57obw.svelte-1t57obw{height:100vh;display:flex;flex-direction:column}@media all and (max-width: 600px){.board-filter{width:100% !important}.navbar .form-inline.svelte-1t57obw.svelte-1t57obw{flex:1 !important}.navbar .logo.svelte-1t57obw.svelte-1t57obw{width:32px;height:32px}}.taskboard-error.svelte-1t57obw.svelte-1t57obw{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);text-align:center}.taskboard-error.svelte-1t57obw p.svelte-1t57obw{font-size:1.3em;margin-top:1.7rem;margin-bottom:3rem;color:#495057}.taskboard-board.svelte-1t57obw.svelte-1t57obw{display:flex;flex:1;width:100%;padding:3px;padding-top:0;overflow-x:auto}.taskboard-column.svelte-1t57obw.svelte-1t57obw{display:flex;flex-direction:column;min-width:250px;flex:1;border-radius:2px;margin:3px;background:#ebecf0}.taskboard-column.collapsed.svelte-1t57obw.svelte-1t57obw{line-height:2em;min-width:42px;flex:0}.taskboard-column-items.svelte-1t57obw.svelte-1t57obw{flex:1;overflow-y:auto;padding:3px 10px 10px}.taskboard-column-header.svelte-1t57obw.svelte-1t57obw{text-align:center;line-height:2.4em;font-size:1.25em;color:inherit}.taskboard-column-collapse.svelte-1t57obw.svelte-1t57obw{color:#adb5bd;float:left;padding:0 12px;line-height:2.4em;margin-right:-20px;font-size:1.2rem}.taskboard-column-collapse.svelte-1t57obw.svelte-1t57obw:hover{color:#495057}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-collapse.svelte-1t57obw{float:unset;padding:0 12px;margin:0}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-header.svelte-1t57obw{display:flex;flex-direction:column;flex:1}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-name.svelte-1t57obw,.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-issue-count.svelte-1t57obw{transform:rotate(-180deg);writing-mode:vertical-rl}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-name.svelte-1t57obw{order:2}.taskboard-column.collapsed.svelte-1t57obw .taskboard-column-issue-count.svelte-1t57obw{padding:.5em 0;order:0}.taskboard-column-name.svelte-1t57obw.svelte-1t57obw{color:#424657}.taskboard-column-issue-count.svelte-1t57obw.svelte-1t57obw{color:#37ACC8;display:inline-block;padding:0 .25em}.taskboard.svelte-1t57obw.svelte-1t57obw{position:relative}.powered-by.svelte-6impii.svelte-6impii.svelte-6impii{position:absolute;bottom:10px;right:10px;padding:7px;border-radius:4px;opacity:.5;transition:opacity .1s, background .1s;color:#333;z-index:10;align-items:center;display:flex}.powered-by.svelte-6impii svg.svelte-6impii.svelte-6impii{vertical-align:bottom}.powered-by.svelte-6impii:not(:hover) .logo.svelte-6impii.svelte-6impii{color:#999}.powered-by.svelte-6impii.svelte-6impii.svelte-6impii:hover{opacity:1;box-shadow:0 1px 3px rgba(0, 0, 0, 0.3);background:white}.powered-by.svelte-6impii:hover .help.svelte-6impii.svelte-6impii{display:block}.powered-by.svelte-6impii .help.svelte-6impii.svelte-6impii{font-size:.9em;display:none}.powered-by.svelte-6impii .logo.svelte-6impii.svelte-6impii{margin-left:.5em}.powered-by.svelte-6impii .help-item.svelte-6impii.svelte-6impii{margin-left:.5em}.powered-by.svelte-6impii .help-item.svelte-6impii+.help-item.svelte-6impii{margin-left:1em}.powered-by.svelte-6impii .help-item.svelte-6impii.svelte-6impii{display:inline-block}.avatar.svelte-9r4rqh.svelte-9r4rqh{position:relative;display:inline-block;overflow:hidden;color:#fff;white-space:nowrap;text-align:center;vertical-align:middle;background:#ccc;width:32px;height:32px;line-height:32px}.avatar-shadow.svelte-9r4rqh.svelte-9r4rqh{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:inset 0 0 2px 0 rgba(0, 0, 0, 0.1)}.avatar-rounded.svelte-9r4rqh.svelte-9r4rqh{border-radius:50%}.avatar-rounded.svelte-9r4rqh .avatar-shadow.svelte-9r4rqh{border-radius:50%}.notifications.svelte-1kbv986{position:fixed;z-index:1010;top:24px;right:24px}.loader.svelte-1i1edqp.svelte-1i1edqp{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);text-align:center;z-index:200;pointer-events:none}.loader.svelte-1i1edqp>.content.svelte-1i1edqp{opacity:0.3;transition:opacity 0.5s}.loader.shown.svelte-1i1edqp>.content.svelte-1i1edqp{opacity:1;animation:svelte-1i1edqp-pulsate 1s infinite;animation-timing-function:ease-in-out}.loader.svelte-1i1edqp:not(.shown)>.content.svelte-1i1edqp{opacity:0}@keyframes svelte-1i1edqp-pulsate{0%{transform:scale(1);opacity:1}50%{transform:scale(0.9);opacity:0.8}100%{transform:scale(1);opacity:1}}.notification.svelte-16ri2nq{box-sizing:border-box;margin:0;padding:0;color:#6c757d;font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;width:384px;max-width:calc(100vw - 32px);padding:16px 24px;overflow:hidden;line-height:1.5;background:#fff;border-radius:3px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);border-left:solid 4px #0dcaf0}.notification.error.svelte-16ri2nq{border-left-color:#dc3545}.notification.warning.svelte-16ri2nq{border-left-color:#ffc107}.heading.svelte-16ri2nq{color:#212529;font-weight:normal;font-size:1.2em;margin-bottom:5px}.dropdown-parent.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{position:relative}.help-dropdown.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{border-radius:4px;margin:0;margin-top:5px;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;width:100%;min-width:0 !important;max-width:none !important;padding:.6em 0;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0, 0, 0, 0.1);box-shadow:0 0.1rem 1rem rgba(0, 0, 0, 0.075);position:absolute;top:100%;z-index:100;left:0px;right:auto;display:block}.help-dropdown.svelte-1bk05k0 .category.svelte-1bk05k0.svelte-1bk05k0{color:#37ACC8;font-weight:bold;padding:0 .8rem}.help-dropdown.svelte-1bk05k0 .note.svelte-1bk05k0.svelte-1bk05k0{padding:0 .8rem;color:#6c757d;margin:0}.help-dropdown.svelte-1bk05k0 .note em.svelte-1bk05k0.svelte-1bk05k0{font-style:italic}.help-dropdown.svelte-1bk05k0 .note.svelte-1bk05k0+.note.svelte-1bk05k0{margin-top:5px}.board-filter.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{width:300px}.board-filter.expanded.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{width:500px;max-width:100%}.board-filter.svelte-1bk05k0>input.svelte-1bk05k0.svelte-1bk05k0{width:100%}.icon.svelte-1bk05k0.svelte-1bk05k0.svelte-1bk05k0{color:#dee2e6}.board-card-container.svelte-1qm4dld.svelte-1qm4dld{width:100%;margin-bottom:10px}.board-card.svelte-1qm4dld.svelte-1qm4dld{background:white;border-radius:4px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);position:relative;z-index:1;padding:4px 8px;cursor:default}.board-card.svelte-1qm4dld .header.svelte-1qm4dld{margin-bottom:7px}.card-link:not(:last-child)>.card-status.svelte-1qm4dld.svelte-1qm4dld{margin-bottom:-2px !important}.board-card-links.svelte-1qm4dld.svelte-1qm4dld{margin-top:2px}.header.svelte-1qm4dld.svelte-1qm4dld{display:flex;align-items:center;user-select:none}.header.svelte-1qm4dld>.svelte-1qm4dld{flex-shrink:0}.header.svelte-1qm4dld>.repository.svelte-1qm4dld{flex:1}.header.svelte-1qm4dld>.collaborator-links.svelte-1qm4dld{display:flex;align-items:center}.issue-type.svelte-1qm4dld.svelte-1qm4dld{margin-right:3px}.issue-type-pull-request.svelte-1qm4dld.svelte-1qm4dld{color:#6cc644}.issue-number.svelte-1qm4dld.svelte-1qm4dld{font-weight:bold;margin-right:6px;display:flex;align-items:center;text-decoration:none}.repository.svelte-1qm4dld.svelte-1qm4dld,.short-title.svelte-1qm4dld.svelte-1qm4dld{color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title.svelte-1qm4dld.svelte-1qm4dld{font-size:1.1em;margin:0 0 9px 0;min-height:30px;line-height:1.2em;color:#495057;overflow:hidden}.footer.svelte-1qm4dld.svelte-1qm4dld{display:flex;flex-direction:row;flex-wrap:wrap}.links.svelte-1qm4dld.svelte-1qm4dld{margin-left:auto}.links.svelte-1qm4dld a.svelte-1qm4dld{color:#adb5bd}.links.svelte-1qm4dld a.svelte-1qm4dld:hover{color:#6c757d}.tag.label.svelte-1qm4dld.svelte-1qm4dld,.tag.tag.milestone.svelte-1qm4dld.svelte-1qm4dld{margin-right:4px;margin-bottom:4px}.tag.milestone.svelte-1qm4dld.svelte-1qm4dld{color:#343a40 !important;border:solid 1px #6c757d}.board-card-links.attached.svelte-1qm4dld.svelte-1qm4dld{background:#F9F9F9;border-radius:0 0 4px 4px;box-shadow:inset 0 3px 5px -2px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);margin-top:-6px;position:relative;padding:7px 8px 4px 8px}.board-card-links.attached.svelte-1qm4dld .card-link:first-child{border-top:none;margin-top:1px}.progress.svelte-1qm4dld.svelte-1qm4dld{display:flex;flex-direction:row;align-items:center;margin-bottom:7px;cursor:pointer}.progress.svelte-1qm4dld:hover svg.svelte-1qm4dld{color:#6c757d}.progress.svelte-1qm4dld svg.svelte-1qm4dld{color:#CCC;transition:color .3s}.progress.svelte-1qm4dld .bar.svelte-1qm4dld{border-radius:3px;height:5px;width:80px;background:#EEE;margin:auto 6px}.progress.svelte-1qm4dld .bar .indicator.svelte-1qm4dld{border-radius:3px;background:#6c757d;height:100%}.progress.svelte-1qm4dld .text.svelte-1qm4dld{margin-left:6px;font-size:0.9rem;color:#6c757d}.dropdown-parent.svelte-15toawx{position:relative}.help-dropdown.svelte-15toawx{border-radius:4px;margin:0;margin-top:5px;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;width:100%;min-width:0 !important;max-width:none !important;padding:.6em 0;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0, 0, 0, 0.1);box-shadow:0 0.1rem 1rem rgba(0, 0, 0, 0.075);position:absolute;top:100%;z-index:100;left:0px;right:auto;display:block}.repository-select.svelte-15toawx{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10}.overlay.svelte-15toawx{width:100%;height:100%;background:rgba(30, 30, 30, 0.3)}.issue-creator.svelte-15toawx{position:absolute;z-index:2;width:500px;max-width:100%;background:white;top:30%;left:50%;transform:translate(-50%);line-height:1.5;border-radius:5px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15)}.tag.svelte-tftc6d{list-style:none;display:inline-block;height:auto;margin:0 4px 4px 0;padding:1px 7px;font-size:12px;font-weight:500;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:white;background:#fafafa;border-radius:4px;text-decoration:none}.tag.svelte-tftc6d:not(a){cursor:default}.tag.inverted.svelte-tftc6d{color:#333}.svelte-tftc6d:not(a.tag, .tag.clickable){cursor:default}.pull-request-icon.svelte-8ct04d{margin-right:1px}.pull-request-icon.open.svelte-8ct04d{color:#28a745}.pull-request-icon.closed.svelte-8ct04d{color:#cb2431}.pull-request-icon.merged.svelte-8ct04d{color:#6f42c1}.icon.svelte-1wc70x{margin-right:2px;color:#1d76db}.assignee.svelte-12dprfc.svelte-12dprfc{box-sizing:border-box;margin:0;font-size:14px;position:relative;display:inline-block;text-align:center;border-radius:2px;margin-left:3px;transition:margin .1s;height:18px}.assignee.svelte-12dprfc img.svelte-12dprfc{height:100%;border-radius:2px;vertical-align:unset}.assignee.svelte-12dprfc .icon-shadow.svelte-12dprfc{position:absolute;display:none;top:0;left:0;height:100%;width:100%;box-shadow:inset 0 0 2px 0 rgba(20, 20, 20, 0.3);border-radius:2px}.assignee.requested-reviewer.svelte-12dprfc.svelte-12dprfc:before{content:'';display:block;background:#bf8700;box-shadow:0 0 0 2px white;width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;left:-2px;z-index:1}.assignee.commented.svelte-12dprfc.svelte-12dprfc:before{content:'';display:block;background:#0dcaf0;box-shadow:0 0 0 2px white;width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;left:-2px;z-index:1}.assignee.approved.svelte-12dprfc.svelte-12dprfc:before{content:'';display:block;background:#198754;box-shadow:0 0 0 2px white;width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;left:-2px;z-index:1}.assignee.requested-changes.svelte-12dprfc.svelte-12dprfc:before{content:'';display:block;background:#dc3545;box-shadow:0 0 0 2px white;width:6px;height:6px;border-radius:50%;position:absolute;top:-2px;left:-2px;z-index:1}.assignee.svelte-12dprfc+.assignee.svelte-12dprfc{margin-left:-6px;box-shadow:0 0 0 1px white}.hovered>.header .assignee+.assignee.svelte-12dprfc.svelte-12dprfc{margin-left:3px !important;box-shadow:none}.card-status.svelte-ah4rak.svelte-ah4rak{display:flex;flex-direction:row;align-items:stretch;height:3px;width:auto;margin:3px -8px -4px}.state.svelte-ah4rak.svelte-ah4rak{flex:1;background-color:#adb5bd}.state.svelte-ah4rak>span.svelte-ah4rak{display:none}.state.striped.svelte-ah4rak.svelte-ah4rak{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);animation:svelte-ah4rak-progress-bar-stripes 1s linear infinite;background-size:1rem 1rem}.state.success.svelte-ah4rak.svelte-ah4rak{background-color:#4ede9b;box-shadow:0 1px 2px 0px rgba(36, 124, 83, 0.3)}.state.failure.svelte-ah4rak.svelte-ah4rak{background-color:#ea868f;box-shadow:0 1px 2px 0px rgba(203, 70, 83, 0.3)}.state.action-required.svelte-ah4rak.svelte-ah4rak{background-color:#ffda6a;box-shadow:0 1px 2px 0px rgba(230, 181, 32, 0.3)}.state.svelte-ah4rak+.state.svelte-ah4rak{margin-left:1px}@keyframes svelte-ah4rak-progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.header.svelte-dsl08.svelte-dsl08{display:flex;align-items:center;user-select:none}.header.svelte-dsl08>.svelte-dsl08{flex-shrink:0}.header.svelte-dsl08>.collaborator-links.svelte-dsl08{display:flex;align-items:center}.issue-number.svelte-dsl08.svelte-dsl08{font-weight:bold;margin-right:6px;display:flex;align-items:center;text-decoration:none}.short-title.svelte-dsl08.svelte-dsl08{color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-link.svelte-dsl08.svelte-dsl08{border-top:solid 1px #F0F0F0;margin-top:2px;padding-top:2px}.card-link.svelte-dsl08 .short-title.svelte-dsl08{flex:1}.icon.svelte-1r532dq{margin-right:2px}.icon.issue.open.svelte-1r532dq,.icon.depends-on.closed.svelte-1r532dq{color:#28a745}.icon.issue.closed.svelte-1r532dq,.icon.depends-on.svelte-1r532dq{color:#cb2431}.icon.linked-to.svelte-1r532dq{color:#37ACC8}.icon.svelte-1og232h{vertical-align:initial}ul.svelte-r39x99{list-style:none;margin:0;padding:0}li.svelte-r39x99{padding:0 .8rem;line-height:2em}li.selectable.svelte-r39x99{cursor:pointer}li.selectable.svelte-r39x99:hover,li.selectable.active.svelte-r39x99{background:rgba(55, 172, 200, 0.1)}li.text.svelte-r39x99{color:#6c757d}.matched.svelte-r39x99{background:rgba(55, 172, 200, 0.2);color:#2c8aa0}