@vintasoftware/pr-review-canvas 0.2.0 → 0.3.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.
- package/README.md +9 -3
- package/docs/reference.md +99 -99
- package/package.json +12 -3
- package/pr-review.config.example.yml +4 -4
- package/skills/pr-review-canvas/SKILL.md +8 -1
- package/src/acpx/acpx.ts +21 -4
- package/src/acpx/events.ts +5 -1
- package/src/acpx/ndjson.ts +3 -1
- package/src/acpx/preflight.ts +5 -1
- package/src/canvas/export.ts +11 -2
- package/src/canvas/zip.ts +4 -1
- package/src/chat/chat-manager.ts +16 -3
- package/src/chat/context.ts +10 -3
- package/src/chat/seed.ts +3 -1
- package/src/cli.ts +12 -2
- package/src/commands.ts +41 -9
- package/src/config.ts +15 -3
- package/src/contract/comments.ts +3 -1
- package/src/contract/generation-context.ts +3 -1
- package/src/contract/review-artifact.ts +14 -8
- package/src/contract/state.ts +3 -1
- package/src/git/diff-collector.ts +2 -1
- package/src/git/git.ts +9 -4
- package/src/github/capabilities.ts +5 -1
- package/src/github/comments.ts +6 -3
- package/src/github/gh.ts +18 -3
- package/src/github/post-comment.ts +4 -1
- package/src/github/pr.ts +4 -1
- package/src/github/threads.ts +5 -1
- package/src/project-config.ts +12 -9
- package/src/prompt-files.ts +4 -3
- package/src/review/doctor.ts +9 -2
- package/src/review/normalize.ts +3 -1
- package/src/review/prepare.ts +24 -8
- package/src/review/prompt.ts +8 -2
- package/src/review/publish.ts +15 -3
- package/src/review/trim-caps.ts +10 -6
- package/src/review/validate.ts +65 -13
- package/src/server/app.ts +12 -4
- package/src/server/bundle.ts +17 -4
- package/src/server/context.ts +14 -2
- package/src/server/errors.ts +26 -2
- package/src/server/html.ts +2 -2
- package/src/server/node-server.ts +4 -2
- package/src/server/routes/api.ts +29 -5
- package/src/server/routes/chat-routes.ts +30 -9
- package/src/server/routes/pages.ts +3 -1
- package/src/server/routes/review-routes.ts +19 -4
- package/src/server/sse.ts +3 -1
- package/src/store/atomic-json.ts +5 -1
- package/src/store/canvas-store.ts +20 -6
- package/src/store/derived-store.ts +5 -1
- package/src/store/pr-store.ts +2 -1
- package/src/store/state-store.ts +2 -1
- package/static/brand.svg +19 -0
- package/static/js/api.js +15 -3
- package/static/js/app.js +8 -2
- package/static/js/chat-panel.js +93 -0
- package/static/js/chat.js +38 -15
- package/static/js/composer.js +6 -3
- package/static/js/diagram.js +2 -1
- package/static/js/diff-decorations.js +5 -3
- package/static/js/diff-renderer.js +6 -1
- package/static/js/dom.js +5 -7
- package/static/js/empty-state.js +3 -1
- package/static/js/header.js +1 -1
- package/static/js/interactions.js +55 -15
- package/static/js/keyboard.js +7 -2
- package/static/js/layers.js +23 -11
- package/static/js/links.js +8 -2
- package/static/js/nav.js +5 -2
- package/static/js/overview.js +32 -4
- package/static/js/points.js +3 -2
- package/static/js/progress.js +2 -1
- package/static/js/proposed-comment.js +4 -1
- package/static/js/quick-questions.js +2 -1
- package/static/js/regenerate.js +4 -1
- package/static/js/signoff.js +6 -2
- package/static/styles/base.css +16 -6
- package/static/styles/chat-panel.css +81 -0
- package/static/styles/chat-tools.css +28 -0
- package/static/styles/chat.css +1 -1
- package/static/styles/commands.css +4 -4
- package/static/styles/diff.css +1 -1
- package/static/styles/header.css +18 -4
- package/static/styles/layout.css +4 -4
- package/static/styles/responsive.css +1 -15
- package/static/styles/review.css +24 -3
- package/static/styles/skin-github.css +93 -100
- package/static/styles.css +13 -12
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
line-height: inherit;
|
|
15
15
|
}
|
|
16
16
|
.cmd::before {
|
|
17
|
-
content:
|
|
17
|
+
content: '[ ';
|
|
18
18
|
}
|
|
19
19
|
.cmd::after {
|
|
20
|
-
content:
|
|
20
|
+
content: ' ]';
|
|
21
21
|
}
|
|
22
22
|
.cmd:hover {
|
|
23
23
|
text-decoration: underline;
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
text-decoration-thickness: 2px;
|
|
26
26
|
}
|
|
27
27
|
.cmd:disabled,
|
|
28
|
-
.cmd[aria-disabled=
|
|
28
|
+
.cmd[aria-disabled='true'] {
|
|
29
29
|
color: var(--fg-dim);
|
|
30
30
|
cursor: not-allowed;
|
|
31
31
|
text-decoration: none;
|
|
32
32
|
}
|
|
33
|
-
.cmd[aria-busy=
|
|
33
|
+
.cmd[aria-busy='true'] {
|
|
34
34
|
color: var(--fg-muted);
|
|
35
35
|
cursor: progress;
|
|
36
36
|
}
|
package/static/styles/diff.css
CHANGED
package/static/styles/header.css
CHANGED
|
@@ -20,12 +20,26 @@
|
|
|
20
20
|
text-transform: uppercase;
|
|
21
21
|
font-size: 12px;
|
|
22
22
|
}
|
|
23
|
-
.brand
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
.brand-wordmark {
|
|
24
|
+
position: relative;
|
|
25
|
+
display: inline-flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
min-height: 32px;
|
|
28
|
+
padding-left: 40px;
|
|
29
|
+
white-space: nowrap;
|
|
27
30
|
color: var(--fg);
|
|
28
31
|
}
|
|
32
|
+
.brand-icon {
|
|
33
|
+
position: absolute;
|
|
34
|
+
left: 0;
|
|
35
|
+
top: 50%;
|
|
36
|
+
transform: translateY(-50%);
|
|
37
|
+
width: 32px;
|
|
38
|
+
height: 32px;
|
|
39
|
+
}
|
|
40
|
+
.brand {
|
|
41
|
+
flex-wrap: wrap;
|
|
42
|
+
}
|
|
29
43
|
.hdr-actions {
|
|
30
44
|
display: flex;
|
|
31
45
|
flex-wrap: wrap;
|
package/static/styles/layout.css
CHANGED
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
display: grid;
|
|
32
32
|
grid-template-columns: auto auto minmax(0, 1fr);
|
|
33
33
|
grid-template-areas:
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
'd n t'
|
|
35
|
+
'd n m';
|
|
36
36
|
column-gap: 8px;
|
|
37
37
|
padding: 6px 14px 6px 12px;
|
|
38
38
|
color: var(--fg);
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
.tree a:not(:has(.dot)) {
|
|
45
45
|
grid-template-columns: minmax(0, 1fr);
|
|
46
46
|
grid-template-areas:
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
't'
|
|
48
|
+
'm';
|
|
49
49
|
}
|
|
50
50
|
.tree a:hover {
|
|
51
51
|
background: var(--panel-2);
|
|
@@ -4,25 +4,11 @@
|
|
|
4
4
|
grid-template-columns: var(--rail-w) minmax(0, 1fr);
|
|
5
5
|
background: linear-gradient(var(--ink), var(--ink)) calc(var(--rail-w) - 1px) 0 / 1px 100% no-repeat;
|
|
6
6
|
}
|
|
7
|
-
.chat {
|
|
8
|
-
grid-column: 2;
|
|
9
|
-
position: static;
|
|
10
|
-
align-self: auto;
|
|
11
|
-
height: auto;
|
|
12
|
-
border-top: 2px solid var(--ink);
|
|
13
|
-
padding: 0;
|
|
14
|
-
}
|
|
15
|
-
.transcript {
|
|
16
|
-
max-height: 50vh;
|
|
17
|
-
}
|
|
18
7
|
.handle {
|
|
19
8
|
display: none;
|
|
20
9
|
}
|
|
21
10
|
}
|
|
22
11
|
@media (max-width: 1000px) {
|
|
23
|
-
.chat {
|
|
24
|
-
grid-column: 1 / -1;
|
|
25
|
-
}
|
|
26
12
|
.layout,
|
|
27
13
|
.layout.no-chat {
|
|
28
14
|
grid-template-columns: minmax(0, 1fr);
|
|
@@ -53,7 +39,7 @@
|
|
|
53
39
|
}
|
|
54
40
|
.tree a,
|
|
55
41
|
.tree a:not(:has(.dot)) {
|
|
56
|
-
grid-template-areas:
|
|
42
|
+
grid-template-areas: 'd n t';
|
|
57
43
|
grid-template-columns: auto auto minmax(0, 1fr);
|
|
58
44
|
align-items: center;
|
|
59
45
|
border: 1px solid var(--ink);
|
package/static/styles/review.css
CHANGED
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
cursor: pointer;
|
|
53
53
|
transition: transform 0.12s ease-out;
|
|
54
54
|
}
|
|
55
|
-
.chev[aria-expanded=
|
|
55
|
+
.chev[aria-expanded='true'] {
|
|
56
56
|
transform: rotate(90deg);
|
|
57
57
|
}
|
|
58
58
|
.body {
|
|
@@ -323,6 +323,21 @@
|
|
|
323
323
|
.pr-desc {
|
|
324
324
|
border-top: 1px solid var(--ink);
|
|
325
325
|
}
|
|
326
|
+
.review-history {
|
|
327
|
+
border-top: 1px solid var(--line);
|
|
328
|
+
}
|
|
329
|
+
.review-entry > .pill {
|
|
330
|
+
margin-bottom: 10px;
|
|
331
|
+
}
|
|
332
|
+
.review-entry .cmt {
|
|
333
|
+
row-gap: 8px;
|
|
334
|
+
}
|
|
335
|
+
.review-entry .who {
|
|
336
|
+
display: flex;
|
|
337
|
+
flex-wrap: wrap;
|
|
338
|
+
align-items: baseline;
|
|
339
|
+
gap: 4px 10px;
|
|
340
|
+
}
|
|
326
341
|
/* A <details> summary reads like a card header: the chevron before the title is its toggle. The row
|
|
327
342
|
itself keeps the default cursor and no hover background; the native <details> handles the click. */
|
|
328
343
|
summary {
|
|
@@ -469,5 +484,11 @@ details[open] > summary .chev {
|
|
|
469
484
|
margin: 0;
|
|
470
485
|
}
|
|
471
486
|
|
|
472
|
-
.prose img {
|
|
473
|
-
|
|
487
|
+
.prose img {
|
|
488
|
+
max-width: 100%;
|
|
489
|
+
height: auto;
|
|
490
|
+
}
|
|
491
|
+
img.av {
|
|
492
|
+
object-fit: cover;
|
|
493
|
+
border-radius: 50%;
|
|
494
|
+
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
Dark is GitHub's "dark dimmed": a softer grey-blue ground rather than the near-black one. */
|
|
11
11
|
|
|
12
|
-
:root[data-skin=
|
|
12
|
+
:root[data-skin='github'] {
|
|
13
13
|
--r: 6px;
|
|
14
14
|
--gap: 16px;
|
|
15
15
|
--main-pad: 16px 16px 40px;
|
|
@@ -70,45 +70,38 @@
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
/* ---- Header ---- */
|
|
73
|
-
[data-skin=
|
|
73
|
+
[data-skin='github'] .hdr-bar {
|
|
74
74
|
background: light-dark(#ffffff, #151b23);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
[data-skin=
|
|
77
|
+
[data-skin='github'] .brand {
|
|
78
78
|
text-transform: none;
|
|
79
79
|
letter-spacing: normal;
|
|
80
80
|
font-size: 14px;
|
|
81
|
-
align-items: center;
|
|
82
|
-
}
|
|
83
|
-
[data-skin="github"] .brand .box {
|
|
84
|
-
border-width: 1px;
|
|
85
|
-
border-radius: var(--r);
|
|
86
|
-
background: var(--panel-2);
|
|
87
|
-
padding: 3px 8px;
|
|
88
81
|
}
|
|
89
82
|
/* The rainbow bar becomes the hairline that runs under GitHub's page header. */
|
|
90
|
-
[data-skin=
|
|
83
|
+
[data-skin='github'] .stripe {
|
|
91
84
|
height: 1px;
|
|
92
85
|
background: var(--ink);
|
|
93
86
|
}
|
|
94
|
-
[data-skin=
|
|
87
|
+
[data-skin='github'] .hdr-actions {
|
|
95
88
|
gap: 8px;
|
|
96
89
|
align-items: center;
|
|
97
90
|
}
|
|
98
|
-
[data-skin=
|
|
91
|
+
[data-skin='github'] .hdr-title {
|
|
99
92
|
padding-bottom: 16px;
|
|
100
93
|
}
|
|
101
94
|
|
|
102
95
|
/* ---- Commands ---- */
|
|
103
|
-
[data-skin=
|
|
104
|
-
[data-skin=
|
|
96
|
+
[data-skin='github'] .cmd::before,
|
|
97
|
+
[data-skin='github'] .cmd::after {
|
|
105
98
|
content: none;
|
|
106
99
|
}
|
|
107
|
-
[data-skin=
|
|
100
|
+
[data-skin='github'] .cmd {
|
|
108
101
|
font-weight: 500;
|
|
109
102
|
}
|
|
110
103
|
/* The header's commands read as GitHub's toolbar buttons; commands inside the page stay links. */
|
|
111
|
-
[data-skin=
|
|
104
|
+
[data-skin='github'] .hdr-actions .cmd {
|
|
112
105
|
padding: 3px 12px;
|
|
113
106
|
border: 1px solid var(--line);
|
|
114
107
|
border-radius: var(--r);
|
|
@@ -117,16 +110,16 @@
|
|
|
117
110
|
font-size: 12px;
|
|
118
111
|
line-height: 20px;
|
|
119
112
|
}
|
|
120
|
-
[data-skin=
|
|
113
|
+
[data-skin='github'] .hdr-actions .cmd:hover {
|
|
121
114
|
background: var(--btn-bg-hover);
|
|
122
115
|
text-decoration: none;
|
|
123
116
|
}
|
|
124
|
-
[data-skin=
|
|
125
|
-
[data-skin=
|
|
117
|
+
[data-skin='github'] .hdr-actions .cmd:disabled,
|
|
118
|
+
[data-skin='github'] .hdr-actions .cmd[aria-disabled='true'] {
|
|
126
119
|
color: var(--fg-dim);
|
|
127
120
|
}
|
|
128
|
-
[data-skin=
|
|
129
|
-
[data-skin=
|
|
121
|
+
[data-skin='github'] .cmd.fill,
|
|
122
|
+
[data-skin='github'] .cmd.big {
|
|
130
123
|
border: 1px solid transparent;
|
|
131
124
|
border-radius: var(--r);
|
|
132
125
|
background: var(--btn-primary);
|
|
@@ -134,56 +127,56 @@
|
|
|
134
127
|
box-shadow: none;
|
|
135
128
|
padding: 5px 16px;
|
|
136
129
|
}
|
|
137
|
-
[data-skin=
|
|
130
|
+
[data-skin='github'] .cmd.big {
|
|
138
131
|
padding: 8px 20px;
|
|
139
132
|
font-size: 14px;
|
|
140
133
|
}
|
|
141
|
-
[data-skin=
|
|
142
|
-
[data-skin=
|
|
143
|
-
[data-skin=
|
|
134
|
+
[data-skin='github'] .cmd.fill:hover,
|
|
135
|
+
[data-skin='github'] .cmd.big:hover,
|
|
136
|
+
[data-skin='github'] .cmd.fill:active {
|
|
144
137
|
background: var(--btn-primary-hover);
|
|
145
138
|
transform: none;
|
|
146
139
|
box-shadow: none;
|
|
147
140
|
}
|
|
148
|
-
[data-skin=
|
|
141
|
+
[data-skin='github'] .chat-composer .cmd.fill {
|
|
149
142
|
box-shadow: none;
|
|
150
143
|
}
|
|
151
144
|
|
|
152
145
|
/* ---- Pills: GitHub's rounded labels, with the state ones filled ---- */
|
|
153
|
-
[data-skin=
|
|
146
|
+
[data-skin='github'] .pill {
|
|
154
147
|
border-radius: 2em;
|
|
155
148
|
padding: 0 8px;
|
|
156
149
|
font-size: 12px;
|
|
157
150
|
line-height: 20px;
|
|
158
151
|
border-color: var(--line);
|
|
159
152
|
}
|
|
160
|
-
[data-skin=
|
|
161
|
-
[data-skin=
|
|
162
|
-
[data-skin=
|
|
163
|
-
[data-skin=
|
|
153
|
+
[data-skin='github'] .pill.open,
|
|
154
|
+
[data-skin='github'] .pill.merged,
|
|
155
|
+
[data-skin='github'] .pill.closed,
|
|
156
|
+
[data-skin='github'] .pill.draft {
|
|
164
157
|
border-color: transparent;
|
|
165
158
|
color: #ffffff;
|
|
166
159
|
}
|
|
167
|
-
[data-skin=
|
|
160
|
+
[data-skin='github'] .pill.open {
|
|
168
161
|
background: light-dark(#1f883d, #347d39);
|
|
169
162
|
}
|
|
170
|
-
[data-skin=
|
|
163
|
+
[data-skin='github'] .pill.merged {
|
|
171
164
|
background: light-dark(#8250df, #8256d0);
|
|
172
165
|
}
|
|
173
|
-
[data-skin=
|
|
166
|
+
[data-skin='github'] .pill.closed {
|
|
174
167
|
background: light-dark(#cf222e, #c93c37);
|
|
175
168
|
}
|
|
176
|
-
[data-skin=
|
|
169
|
+
[data-skin='github'] .pill.draft {
|
|
177
170
|
background: light-dark(#6e7781, #636e7b);
|
|
178
171
|
}
|
|
179
|
-
[data-skin=
|
|
180
|
-
[data-skin=
|
|
181
|
-
[data-skin=
|
|
172
|
+
[data-skin='github'] .pill.risk,
|
|
173
|
+
[data-skin='github'] .pill.kind,
|
|
174
|
+
[data-skin='github'] .pill.agent {
|
|
182
175
|
background: var(--panel-2);
|
|
183
176
|
color: var(--fg-muted);
|
|
184
177
|
font-weight: 500;
|
|
185
178
|
}
|
|
186
|
-
[data-skin=
|
|
179
|
+
[data-skin='github'] .pill.test-tag {
|
|
187
180
|
background: var(--accent-bg);
|
|
188
181
|
color: var(--accent);
|
|
189
182
|
border-color: transparent;
|
|
@@ -193,164 +186,164 @@
|
|
|
193
186
|
}
|
|
194
187
|
|
|
195
188
|
/* ---- Cards ---- */
|
|
196
|
-
[data-skin=
|
|
197
|
-
[data-skin=
|
|
198
|
-
[data-skin=
|
|
189
|
+
[data-skin='github'] .panel,
|
|
190
|
+
[data-skin='github'] .layer,
|
|
191
|
+
[data-skin='github'] .diagram {
|
|
199
192
|
border-radius: var(--r);
|
|
200
193
|
}
|
|
201
|
-
[data-skin=
|
|
202
|
-
[data-skin=
|
|
203
|
-
[data-skin=
|
|
194
|
+
[data-skin='github'] .panel-h,
|
|
195
|
+
[data-skin='github'] .layer-h,
|
|
196
|
+
[data-skin='github'] .diagram-h {
|
|
204
197
|
border-radius: calc(var(--r) - 1px) calc(var(--r) - 1px) 0 0;
|
|
205
198
|
}
|
|
206
|
-
[data-skin=
|
|
199
|
+
[data-skin='github'] .chev {
|
|
207
200
|
color: var(--fg-muted);
|
|
208
201
|
}
|
|
209
|
-
[data-skin=
|
|
210
|
-
[data-skin=
|
|
211
|
-
[data-skin=
|
|
212
|
-
[data-skin=
|
|
202
|
+
[data-skin='github'] .summary h3,
|
|
203
|
+
[data-skin='github'] .judgment .lbl,
|
|
204
|
+
[data-skin='github'] .role,
|
|
205
|
+
[data-skin='github'] .diff th {
|
|
213
206
|
text-transform: none;
|
|
214
207
|
letter-spacing: normal;
|
|
215
208
|
}
|
|
216
|
-
[data-skin=
|
|
209
|
+
[data-skin='github'] .summary h3 {
|
|
217
210
|
font-size: 14px;
|
|
218
211
|
color: var(--fg);
|
|
219
212
|
}
|
|
220
|
-
[data-skin=
|
|
213
|
+
[data-skin='github'] .prose ul {
|
|
221
214
|
list-style: disc;
|
|
222
215
|
}
|
|
223
|
-
[data-skin=
|
|
216
|
+
[data-skin='github'] .sq {
|
|
224
217
|
border-radius: 2px;
|
|
225
218
|
}
|
|
226
|
-
[data-skin=
|
|
219
|
+
[data-skin='github'] .sevsum > .legend {
|
|
227
220
|
border-radius: var(--r);
|
|
228
221
|
box-shadow: var(--drop-shadow);
|
|
229
222
|
}
|
|
230
223
|
/* GitHub draws progress as a filled track rather than a hairline. */
|
|
231
|
-
[data-skin=
|
|
224
|
+
[data-skin='github'] .pline {
|
|
232
225
|
background: var(--line);
|
|
233
226
|
border-radius: var(--r);
|
|
234
227
|
}
|
|
235
|
-
[data-skin=
|
|
228
|
+
[data-skin='github'] .pline span {
|
|
236
229
|
border-radius: var(--r);
|
|
237
230
|
}
|
|
238
231
|
|
|
239
232
|
/* ---- Rail ---- */
|
|
240
|
-
[data-skin=
|
|
233
|
+
[data-skin='github'] .tree a {
|
|
241
234
|
margin: 0 8px;
|
|
242
235
|
padding: 6px 8px;
|
|
243
236
|
border-radius: var(--r);
|
|
244
237
|
}
|
|
245
|
-
[data-skin=
|
|
238
|
+
[data-skin='github'] .tree .layers a {
|
|
246
239
|
padding-left: 20px;
|
|
247
240
|
}
|
|
248
|
-
[data-skin=
|
|
241
|
+
[data-skin='github'] .tree a[aria-current] {
|
|
249
242
|
background: var(--accent-bg);
|
|
250
243
|
box-shadow: inset 3px 0 0 var(--accent);
|
|
251
244
|
}
|
|
252
245
|
|
|
253
246
|
/* ---- Diff ---- */
|
|
254
|
-
[data-skin=
|
|
247
|
+
[data-skin='github'] .plus {
|
|
255
248
|
border: 0;
|
|
256
249
|
border-radius: var(--r);
|
|
257
250
|
background: var(--accent);
|
|
258
251
|
color: #ffffff;
|
|
259
252
|
}
|
|
260
|
-
[data-skin=
|
|
253
|
+
[data-skin='github'] .av {
|
|
261
254
|
border-radius: 50%;
|
|
262
255
|
border-color: var(--line);
|
|
263
256
|
background: var(--panel-2);
|
|
264
257
|
}
|
|
265
|
-
[data-skin=
|
|
258
|
+
[data-skin='github'] tr.hunk td {
|
|
266
259
|
color: light-dark(#0550ae, #9198a1);
|
|
267
260
|
}
|
|
268
261
|
|
|
269
|
-
[data-skin=
|
|
262
|
+
[data-skin='github'] .diff .ln {
|
|
270
263
|
border-right-color: light-dark(#d1d9e0, transparent);
|
|
271
264
|
}
|
|
272
|
-
[data-skin=
|
|
265
|
+
[data-skin='github'] tr.add .ln {
|
|
273
266
|
background: light-dark(#e6ffec, #31503d);
|
|
274
267
|
color: light-dark(#818b98, #d1d7e0);
|
|
275
268
|
}
|
|
276
|
-
[data-skin=
|
|
269
|
+
[data-skin='github'] tr.del .ln {
|
|
277
270
|
background: light-dark(#ffebe9, rgba(229, 83, 75, 0.3));
|
|
278
271
|
color: light-dark(#818b98, #d1d7e0);
|
|
279
272
|
}
|
|
280
273
|
|
|
281
274
|
/* ---- Boxes, menus, and overlays ---- */
|
|
282
|
-
[data-skin=
|
|
283
|
-
[data-skin=
|
|
284
|
-
[data-skin=
|
|
285
|
-
[data-skin=
|
|
286
|
-
[data-skin=
|
|
287
|
-
[data-skin=
|
|
288
|
-
[data-skin=
|
|
289
|
-
[data-skin=
|
|
290
|
-
[data-skin=
|
|
291
|
-
[data-skin=
|
|
292
|
-
[data-skin=
|
|
293
|
-
[data-skin=
|
|
294
|
-
[data-skin=
|
|
275
|
+
[data-skin='github'] code,
|
|
276
|
+
[data-skin='github'] .snip,
|
|
277
|
+
[data-skin='github'] .ctx-chip,
|
|
278
|
+
[data-skin='github'] .diagram-src,
|
|
279
|
+
[data-skin='github'] .cmdbox code,
|
|
280
|
+
[data-skin='github'] .notice,
|
|
281
|
+
[data-skin='github'] .callout,
|
|
282
|
+
[data-skin='github'] .stale-bar,
|
|
283
|
+
[data-skin='github'] .proposed,
|
|
284
|
+
[data-skin='github'] .proposed-invalid,
|
|
285
|
+
[data-skin='github'] .drop,
|
|
286
|
+
[data-skin='github'] .prose pre,
|
|
287
|
+
[data-skin='github'] dialog.settings .panel-ro {
|
|
295
288
|
border-radius: var(--r);
|
|
296
289
|
}
|
|
297
|
-
[data-skin=
|
|
290
|
+
[data-skin='github'] code {
|
|
298
291
|
border: 0;
|
|
299
292
|
background: light-dark(rgba(129, 139, 152, 0.2), rgba(99, 110, 123, 0.4));
|
|
300
293
|
padding: 0.2em 0.4em;
|
|
301
294
|
}
|
|
302
|
-
[data-skin=
|
|
303
|
-
[data-skin=
|
|
295
|
+
[data-skin='github'] .cmdbox code,
|
|
296
|
+
[data-skin='github'] .diagram-src {
|
|
304
297
|
background: var(--panel-2);
|
|
305
298
|
border: 1px solid var(--line);
|
|
306
299
|
}
|
|
307
|
-
[data-skin=
|
|
300
|
+
[data-skin='github'] .drop {
|
|
308
301
|
border-width: 1px;
|
|
309
302
|
background: var(--panel-2);
|
|
310
303
|
}
|
|
311
|
-
[data-skin=
|
|
312
|
-
[data-skin=
|
|
304
|
+
[data-skin='github'] .drop:hover,
|
|
305
|
+
[data-skin='github'] .drop.over {
|
|
313
306
|
transform: none;
|
|
314
307
|
background: var(--accent-bg);
|
|
315
308
|
}
|
|
316
|
-
[data-skin=
|
|
317
|
-
[data-skin=
|
|
318
|
-
[data-skin=
|
|
309
|
+
[data-skin='github'] .proposed,
|
|
310
|
+
[data-skin='github'] .cmd.unseen,
|
|
311
|
+
[data-skin='github'] .qq-menu {
|
|
319
312
|
border-width: 1px;
|
|
320
313
|
}
|
|
321
|
-
[data-skin=
|
|
322
|
-
[data-skin=
|
|
323
|
-
[data-skin=
|
|
314
|
+
[data-skin='github'] .cmd.unseen,
|
|
315
|
+
[data-skin='github'] .qq-menu,
|
|
316
|
+
[data-skin='github'] .toast {
|
|
324
317
|
border-radius: var(--r);
|
|
325
318
|
box-shadow: var(--drop-shadow);
|
|
326
319
|
}
|
|
327
|
-
[data-skin=
|
|
328
|
-
[data-skin=
|
|
329
|
-
[data-skin=
|
|
330
|
-
[data-skin=
|
|
331
|
-
[data-skin=
|
|
320
|
+
[data-skin='github'] select,
|
|
321
|
+
[data-skin='github'] input,
|
|
322
|
+
[data-skin='github'] textarea,
|
|
323
|
+
[data-skin='github'] .composer-box textarea,
|
|
324
|
+
[data-skin='github'] dialog.signoff-dialog textarea {
|
|
332
325
|
border-width: 1px;
|
|
333
326
|
border-color: var(--line);
|
|
334
327
|
border-radius: var(--r);
|
|
335
328
|
padding: 5px 12px;
|
|
336
329
|
}
|
|
337
|
-
[data-skin=
|
|
330
|
+
[data-skin='github'] dialog {
|
|
338
331
|
border-width: 1px;
|
|
339
332
|
border-color: var(--line);
|
|
340
333
|
border-radius: 12px;
|
|
341
334
|
box-shadow: var(--drop-shadow);
|
|
342
335
|
}
|
|
343
|
-
[data-skin=
|
|
336
|
+
[data-skin='github'] dialog::backdrop {
|
|
344
337
|
background: rgba(28, 33, 40, 0.6);
|
|
345
338
|
}
|
|
346
339
|
|
|
347
340
|
@media (max-width: 1000px) {
|
|
348
341
|
/* The rail is a strip of chips at this width; the current one is underlined, not filled. */
|
|
349
|
-
[data-skin=
|
|
342
|
+
[data-skin='github'] .tree a {
|
|
350
343
|
margin: 0;
|
|
351
344
|
border-radius: var(--r);
|
|
352
345
|
}
|
|
353
|
-
[data-skin=
|
|
346
|
+
[data-skin='github'] .tree a[aria-current] {
|
|
354
347
|
box-shadow: inset 0 -3px 0 var(--accent);
|
|
355
348
|
}
|
|
356
349
|
}
|
package/static/styles.css
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
/* Keep this order: shared styles, components, responsive rules, interaction controls, and the
|
|
2
2
|
github skin last, because it repaints the rules above it. */
|
|
3
|
-
@import
|
|
4
|
-
@import
|
|
5
|
-
@import
|
|
6
|
-
@import
|
|
7
|
-
@import
|
|
8
|
-
@import
|
|
9
|
-
@import
|
|
10
|
-
@import
|
|
11
|
-
@import
|
|
12
|
-
@import
|
|
13
|
-
@import
|
|
14
|
-
@import
|
|
3
|
+
@import './styles/base.css';
|
|
4
|
+
@import './styles/commands.css';
|
|
5
|
+
@import './styles/header.css';
|
|
6
|
+
@import './styles/layout.css';
|
|
7
|
+
@import './styles/review.css';
|
|
8
|
+
@import './styles/diff.css';
|
|
9
|
+
@import './styles/chat.css';
|
|
10
|
+
@import './styles/panels.css';
|
|
11
|
+
@import './styles/responsive.css';
|
|
12
|
+
@import './styles/review-actions.css';
|
|
13
|
+
@import './styles/chat-tools.css';
|
|
14
|
+
@import './styles/skin-github.css';
|
|
15
|
+
@import './styles/chat-panel.css';
|