@anypal/plugin-git 0.0.0-stage → 0.1.1

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.
@@ -0,0 +1,664 @@
1
+ :root {
2
+ color-scheme: light dark;
3
+ --review-page: var(--mu-page, #fff);
4
+ --review-card: var(--mu-card, #f8f9fb);
5
+ --review-ink: var(--mu-ink, #242831);
6
+ --review-muted: var(--mu-muted, #747b87);
7
+ --review-line: var(--mu-line, #e3e6eb);
8
+ --review-soft: var(--mu-soft, #f0f3f7);
9
+ --review-accent: var(--mu-accent, #6d64cd);
10
+ font:
11
+ 12px/1.5 -apple-system,
12
+ BlinkMacSystemFont,
13
+ "Segoe UI",
14
+ "Microsoft YaHei UI",
15
+ sans-serif;
16
+ color: var(--review-ink);
17
+ background: var(--review-page);
18
+ }
19
+ * {
20
+ box-sizing: border-box;
21
+ }
22
+ html,
23
+ body,
24
+ #root {
25
+ margin: 0;
26
+ height: 100%;
27
+ overflow: hidden;
28
+ }
29
+ button,
30
+ input {
31
+ font: inherit;
32
+ color: inherit;
33
+ }
34
+ button {
35
+ border: 0;
36
+ background: transparent;
37
+ cursor: pointer;
38
+ border-radius: 6px;
39
+ }
40
+ button:disabled {
41
+ opacity: 0.4;
42
+ cursor: default;
43
+ }
44
+ button:hover:not(:disabled),
45
+ button[aria-pressed="true"] {
46
+ background: var(--review-soft);
47
+ }
48
+ button:focus-visible,
49
+ input:focus-visible {
50
+ outline: 2px solid var(--review-accent);
51
+ outline-offset: 1px;
52
+ }
53
+ svg {
54
+ width: 15px;
55
+ height: 15px;
56
+ flex: none;
57
+ }
58
+ button svg {
59
+ vertical-align: middle;
60
+ }
61
+ .review-app {
62
+ height: 100%;
63
+ display: flex;
64
+ flex-direction: column;
65
+ }
66
+ .review-toolbar {
67
+ min-height: 44px;
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: space-between;
71
+ gap: 8px;
72
+ padding: 8px 12px;
73
+ border-bottom: 1px solid var(--review-line);
74
+ flex-wrap: wrap;
75
+ }
76
+ .review-heading,
77
+ .review-tools,
78
+ .review-total {
79
+ display: flex;
80
+ align-items: center;
81
+ gap: 8px;
82
+ }
83
+ .review-heading strong {
84
+ font-weight: 600;
85
+ }
86
+ .review-heading small {
87
+ color: var(--review-muted);
88
+ }
89
+ .added {
90
+ color: #248354;
91
+ }
92
+ .removed {
93
+ color: #c34e54;
94
+ }
95
+ [data-theme="dark"] .added {
96
+ color: #6bc798;
97
+ }
98
+ [data-theme="dark"] .removed {
99
+ color: #ec8990;
100
+ }
101
+ .review-total {
102
+ gap: 4px;
103
+ font:
104
+ 13px ui-monospace,
105
+ Consolas,
106
+ monospace;
107
+ white-space: nowrap;
108
+ }
109
+ .review-layout {
110
+ flex: 1;
111
+ min-height: 0;
112
+ display: grid;
113
+ grid-template-columns: minmax(0, 1fr);
114
+ }
115
+ .review-layout.with-tree {
116
+ grid-template-columns: minmax(0, 1fr) min(
117
+ var(--review-navigation-width, 240px),
118
+ 50%
119
+ );
120
+ }
121
+ .review-main {
122
+ overflow: auto;
123
+ min-width: 0;
124
+ min-height: 0;
125
+ display: flex;
126
+ flex-direction: column;
127
+ }
128
+ .review-section {
129
+ flex: none;
130
+ min-width: 0;
131
+ border-bottom: 1px solid var(--review-line);
132
+ }
133
+ .review-section .review-diff {
134
+ min-height: 90px;
135
+ }
136
+ .review-path-directory {
137
+ color: var(--review-muted);
138
+ }
139
+ .review-branch-row {
140
+ display: flex;
141
+ align-items: center;
142
+ gap: 12px;
143
+ padding: 8px 12px;
144
+ border-bottom: 1px solid var(--review-line);
145
+ }
146
+ .review-preview {
147
+ width: 100%;
148
+ height: 420px;
149
+ border: 0;
150
+ background: white;
151
+ }
152
+ .review-rendered {
153
+ display: grid;
154
+ grid-template-columns: minmax(0, 1fr);
155
+ }
156
+ .review-rendered.split {
157
+ grid-template-columns: repeat(2, minmax(0, 1fr));
158
+ }
159
+ .review-rendered > :nth-child(2) {
160
+ border-left: 1px solid var(--review-line);
161
+ }
162
+ .review-markdown {
163
+ padding: 16px 20px;
164
+ overflow: auto;
165
+ min-width: 0;
166
+ overflow-wrap: anywhere;
167
+ font-size: 13px;
168
+ line-height: 1.65;
169
+ background: var(--review-page);
170
+ color: var(--review-ink);
171
+ }
172
+ .review-markdown > :first-child {
173
+ margin-top: 0;
174
+ }
175
+ .review-markdown h1,
176
+ .review-markdown h2 {
177
+ border-bottom: 1px solid var(--review-line);
178
+ padding-bottom: 6px;
179
+ }
180
+ .review-markdown pre {
181
+ padding: 12px;
182
+ border-radius: 8px;
183
+ background: var(--review-soft);
184
+ overflow: auto;
185
+ }
186
+ .review-markdown code {
187
+ font-family: ui-monospace, Consolas, monospace;
188
+ }
189
+ .review-markdown :not(pre) > code {
190
+ background: var(--review-soft);
191
+ padding: 2px 4px;
192
+ border-radius: 4px;
193
+ }
194
+ .review-markdown table {
195
+ border-collapse: collapse;
196
+ display: block;
197
+ overflow: auto;
198
+ }
199
+ .review-markdown th,
200
+ .review-markdown td {
201
+ border: 1px solid var(--review-line);
202
+ padding: 6px 10px;
203
+ }
204
+ .review-markdown blockquote {
205
+ border-left: 3px solid var(--review-line);
206
+ padding-left: 12px;
207
+ color: var(--review-muted);
208
+ margin-left: 0;
209
+ }
210
+ .review-preview-link {
211
+ color: var(--review-accent);
212
+ }
213
+ .review-markdown img {
214
+ max-width: 100%;
215
+ height: auto;
216
+ }
217
+ .review-file-heading {
218
+ display: flex;
219
+ align-items: center;
220
+ gap: 7px;
221
+ min-height: 39px;
222
+ padding: 8px 12px;
223
+ border-bottom: 1px solid var(--review-line);
224
+ }
225
+ .review-file-heading > span:first-of-type {
226
+ flex: 0 1 auto;
227
+ overflow: hidden;
228
+ text-overflow: ellipsis;
229
+ white-space: nowrap;
230
+ }
231
+ .review-file-heading > .review-total {
232
+ margin-inline-start: auto;
233
+ }
234
+ .review-file-heading button {
235
+ padding: 4px;
236
+ }
237
+ .review-status {
238
+ font-size: 10px;
239
+ color: var(--review-muted);
240
+ white-space: nowrap;
241
+ }
242
+ .review-columns {
243
+ display: flex;
244
+ background: var(--review-card);
245
+ border-bottom: 1px solid var(--review-line);
246
+ color: var(--review-muted);
247
+ font-size: 11px;
248
+ }
249
+ .review-columns span {
250
+ flex: 1;
251
+ padding: 5px 12px;
252
+ }
253
+ .review-columns span + span {
254
+ border-left: 1px solid var(--review-line);
255
+ }
256
+ .review-diff {
257
+ flex: 1;
258
+ min-height: 0;
259
+ overflow: auto;
260
+ }
261
+ .review-pagination {
262
+ display: flex;
263
+ align-items: center;
264
+ justify-content: space-between;
265
+ padding: 7px 10px;
266
+ border-top: 1px solid var(--review-line);
267
+ color: var(--review-muted);
268
+ font-size: 11px;
269
+ }
270
+ .review-pagination button {
271
+ display: flex;
272
+ align-items: center;
273
+ gap: 4px;
274
+ padding: 4px 6px;
275
+ }
276
+ .review-files {
277
+ min-width: 0;
278
+ overflow: auto;
279
+ border-left: 1px solid var(--review-line);
280
+ padding: 8px 4px;
281
+ }
282
+ .review-search {
283
+ display: flex;
284
+ align-items: center;
285
+ gap: 6px;
286
+ margin: 0 4px 8px;
287
+ height: 30px;
288
+ padding: 0 7px;
289
+ border: 1px solid var(--review-line);
290
+ border-radius: 7px;
291
+ color: var(--review-muted);
292
+ }
293
+ .review-search input {
294
+ width: 100%;
295
+ min-width: 0;
296
+ background: transparent;
297
+ border: 0;
298
+ outline: none;
299
+ }
300
+ .code-icon {
301
+ color: #8b78c9;
302
+ }
303
+ .json-icon,
304
+ .package-icon {
305
+ color: #b58b4a;
306
+ }
307
+ .text-icon {
308
+ color: #5a9bcb;
309
+ }
310
+ .folder-icon {
311
+ color: var(--review-muted);
312
+ }
313
+ .review-empty {
314
+ margin: auto;
315
+ padding: 24px;
316
+ text-align: center;
317
+ color: var(--review-muted);
318
+ }
319
+ .review-empty > svg {
320
+ width: 28px;
321
+ height: 28px;
322
+ opacity: 0.5;
323
+ }
324
+ .review-notice {
325
+ padding: 8px 12px;
326
+ margin: 0;
327
+ color: var(--review-muted);
328
+ border-bottom: 1px solid var(--review-line);
329
+ overflow-wrap: anywhere;
330
+ }
331
+ .spin {
332
+ animation: spin 1s linear infinite;
333
+ }
334
+ @keyframes spin {
335
+ to {
336
+ transform: rotate(360deg);
337
+ }
338
+ }
339
+ @media (max-width: 480px) {
340
+ .review-layout.with-tree {
341
+ grid-template-columns: minmax(0, 1fr) 160px;
342
+ }
343
+ .review-heading small,
344
+ .review-status {
345
+ display: none;
346
+ }
347
+ }
348
+
349
+ .review-image-preview {
350
+ display: grid;
351
+ min-height: 180px;
352
+ }
353
+ .review-image-preview.split {
354
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
355
+ }
356
+ .review-image-preview > div {
357
+ min-width: 0;
358
+ display: grid;
359
+ place-items: center;
360
+ padding: 24px;
361
+ overflow: auto;
362
+ }
363
+ .review-image-preview > div + div {
364
+ border-left: 1px solid var(--review-line);
365
+ }
366
+ .review-image-preview img {
367
+ max-width: 100%;
368
+ max-height: 520px;
369
+ object-fit: contain;
370
+ }
371
+
372
+ /* A continuous overview scroll; only the selected-file mode owns a code viewport. */
373
+ .review-overview .review-section .review-diff {
374
+ max-height: none;
375
+ overflow: visible;
376
+ }
377
+ .review-single .review-main {
378
+ overflow: auto;
379
+ }
380
+ .review-single .review-section {
381
+ display: flex;
382
+ flex-direction: column;
383
+ flex: 1;
384
+ min-height: 0;
385
+ }
386
+ .review-single .review-section .review-diff {
387
+ max-height: none;
388
+ min-height: 0;
389
+ }
390
+ .review-toolbar {
391
+ padding: 7px 12px;
392
+ }
393
+ .review-columns {
394
+ color: var(--review-muted);
395
+ font-size: 11px;
396
+ }
397
+
398
+ .review-files {
399
+ position: relative;
400
+ }
401
+ .review-navigation-resize {
402
+ position: absolute;
403
+ inset: 0 auto 0 -4px;
404
+ width: 8px;
405
+ z-index: 2;
406
+ cursor: col-resize;
407
+ touch-action: none;
408
+ }
409
+ .review-navigation-resize:hover,
410
+ .review-navigation-resize:focus-visible {
411
+ background: color-mix(in srgb, var(--review-accent) 35%, transparent);
412
+ outline: none;
413
+ }
414
+
415
+ /* Two compact control islands, leaving the document as the main surface. */
416
+ .review-toolbar {
417
+ min-height: 54px;
418
+ padding: 8px 10px;
419
+ background: var(--review-page);
420
+ }
421
+ .review-heading {
422
+ min-height: 34px;
423
+ padding: 3px 8px;
424
+ border: 1px solid var(--review-line);
425
+ border-radius: 999px;
426
+ background: var(--review-page);
427
+ box-shadow: 0 2px 8px #00000005;
428
+ }
429
+ .review-heading {
430
+ gap: 8px;
431
+ font-size: 12px;
432
+ }
433
+ .review-heading strong {
434
+ font-weight: 400;
435
+ }
436
+ .review-file-heading {
437
+ min-height: 36px;
438
+ padding: 6px 4px 6px 12px;
439
+ }
440
+
441
+ .review-tool-divider {
442
+ width: 1px;
443
+ height: 16px;
444
+ margin: 0 3px;
445
+ background: var(--review-line);
446
+ }
447
+
448
+ /* Review-only sizing: do not change the shared file navigation component. */
449
+ .review-app {
450
+ font-size: 13px;
451
+ }
452
+ .review-heading {
453
+ font-size: 13px;
454
+ }
455
+ .review-toolbar {
456
+ height: 48px;
457
+ min-height: 48px;
458
+ flex: 0 0 48px;
459
+ padding: 6px 8px;
460
+ flex-wrap: nowrap;
461
+ }
462
+ .review-heading {
463
+ height: 32px;
464
+ min-height: 32px;
465
+ padding-block: 2px;
466
+ box-shadow: none;
467
+ }
468
+ .review-heading {
469
+ gap: 6px;
470
+ /* Match the 2px vertical inset; the hover radius stays concentric with the shell. */
471
+ padding-inline: 2px 8px;
472
+ }
473
+ .review-app svg {
474
+ width: 16px;
475
+ height: 16px;
476
+ }
477
+ .review-file-heading {
478
+ gap: 8px;
479
+ min-height: 36px;
480
+ font-size: 13px;
481
+ }
482
+ .review-file-collapse {
483
+ opacity: 0;
484
+ width: 24px;
485
+ height: 24px;
486
+ }
487
+ .review-file-heading:hover .review-file-collapse,
488
+ .review-file-heading .review-file-collapse:focus-visible {
489
+ opacity: 1;
490
+ }
491
+ .review-files {
492
+ padding: 6px;
493
+ }
494
+
495
+ /* Icon buttons own their alignment instead of relying on the inline SVG baseline. */
496
+ .review-file-heading > svg {
497
+ display: block;
498
+ }
499
+ .review-file-heading > button {
500
+ width: 24px;
501
+ height: 24px;
502
+ }
503
+ .review-file-heading > span {
504
+ line-height: 20px;
505
+ }
506
+ .review-file-heading button svg,
507
+ .review-tools svg {
508
+ display: block;
509
+ }
510
+
511
+ /* Whole-file additions/deletions share one continuous gutter and code surface. */
512
+ .review-app {
513
+ --review-inserted: #e6f4e8;
514
+ --review-deleted: #ffebe9;
515
+ }
516
+ .review-app[data-theme="dark"] {
517
+ --review-inserted: #183526;
518
+ --review-deleted: #432525;
519
+ }
520
+
521
+ /* Shared Menu owns popup rows, checks, submenus and dismissal. Only triggers are local. */
522
+ .review-scope-menu > .mu-menu-trigger,
523
+ .review-branch-menu > .mu-menu-trigger {
524
+ position: static;
525
+ opacity: 1;
526
+ transform: none;
527
+ display: inline-flex;
528
+ align-items: center;
529
+ gap: 4px;
530
+ flex: none;
531
+ min-width: 0;
532
+ width: auto;
533
+ height: 26px;
534
+ padding: 0 8px;
535
+ border-radius: 999px;
536
+ }
537
+ .review-scope-menu,
538
+ .review-branch-menu {
539
+ flex: none;
540
+ }
541
+ .review-scope-menu > .mu-menu-trigger:hover,
542
+ .review-scope-menu > .mu-menu-trigger[aria-expanded="true"] {
543
+ background: var(--review-soft);
544
+ }
545
+ .review-branch-menu > .mu-menu-trigger {
546
+ width: auto;
547
+ min-height: 28px;
548
+ padding: 0 8px;
549
+ }
550
+ .review-branch-search {
551
+ width: 100%;
552
+ padding: 6px 8px;
553
+ border: 1px solid var(--review-line);
554
+ border-radius: 7px;
555
+ background: transparent;
556
+ }
557
+ .review-app[data-theme="light"] {
558
+ color-scheme: light;
559
+ }
560
+ .review-app[data-theme="dark"] {
561
+ color-scheme: dark;
562
+ }
563
+
564
+ .review-file-heading.collapsible {
565
+ cursor: pointer;
566
+ }
567
+ .review-file-heading .review-file-collapse:hover,
568
+ .review-file-heading .review-file-collapse:active {
569
+ background: transparent;
570
+ }
571
+
572
+ /* Diffs owns code layout, gutters, highlights and hunk expansion inside its ShadowRoot. */
573
+ .review-diff > diffs-container {
574
+ display: block;
575
+ min-width: 0;
576
+ }
577
+ .review-files {
578
+ display: flex;
579
+ flex-direction: column;
580
+ overflow: hidden;
581
+ }
582
+ .review-files .review-search {
583
+ flex: none;
584
+ }
585
+ .review-files .mu-pierre-file-tree {
586
+ flex: 1;
587
+ min-height: 0;
588
+ }
589
+ .review-source-fallback {
590
+ display: grid;
591
+ min-width: 0;
592
+ }
593
+ .review-source-fallback.split {
594
+ grid-template-columns: repeat(2, minmax(0, 1fr));
595
+ }
596
+ .review-source-fallback > * {
597
+ min-width: 0;
598
+ }
599
+
600
+ .review-main-content {
601
+ min-width: 0;
602
+ }
603
+
604
+ .review-viewports {
605
+ flex: 1;
606
+ min-width: 0;
607
+ min-height: 0;
608
+ position: relative;
609
+ }
610
+ .review-retained {
611
+ position: absolute;
612
+ inset: 0;
613
+ }
614
+ .review-retained > .review-layout {
615
+ height: 100%;
616
+ }
617
+
618
+ .review-hover-preview {
619
+ max-height: min(400px, calc(100vh - 32px));
620
+ display: flex;
621
+ flex-direction: column;
622
+ min-width: 0;
623
+ color: var(--mu-ink);
624
+ background: var(--mu-page);
625
+ }
626
+ .review-hover-preview > header {
627
+ display: flex;
628
+ align-items: center;
629
+ gap: 12px;
630
+ padding: 7px 12px;
631
+ border-bottom: 1px solid var(--review-line);
632
+ background: var(--review-card);
633
+ font-size: 13px;
634
+ }
635
+ .review-hover-path {
636
+ flex: 1;
637
+ min-width: 0;
638
+ overflow-wrap: anywhere;
639
+ }
640
+ .review-hover-counts {
641
+ display: flex;
642
+ flex: none;
643
+ gap: 4px;
644
+ font:
645
+ 12px ui-monospace,
646
+ Consolas,
647
+ monospace;
648
+ }
649
+ .review-hover-added {
650
+ color: light-dark(#248354, #6bc798);
651
+ }
652
+ .review-hover-removed {
653
+ color: light-dark(#c34e54, #ec8990);
654
+ }
655
+ .review-hover-body {
656
+ flex: 1;
657
+ min-height: 0;
658
+ max-height: min(360px, calc(100vh - 76px));
659
+ overflow: auto;
660
+ }
661
+ .review-hover-body > p {
662
+ padding: 12px;
663
+ color: var(--review-muted);
664
+ }