mockaton 10.3.1 → 10.3.3
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 +3 -3
- package/package.json +1 -1
- package/src/Dashboard.css +26 -31
- package/src/Dashboard.js +11 -8
package/README.md
CHANGED
|
@@ -60,9 +60,9 @@ Nonetheless, there’s a programmatic API, which is handy
|
|
|
60
60
|
for setting up tests (see **Commander API** section below).
|
|
61
61
|
|
|
62
62
|
<picture>
|
|
63
|
-
<source media="(prefers-color-scheme: light)" srcset="pixaton-tests/macos/pic-for-readme.
|
|
64
|
-
<source media="(prefers-color-scheme: dark)" srcset="pixaton-tests/macos/pic-for-readme.
|
|
65
|
-
<img alt="Mockaton Dashboard" src="pixaton-tests/macos/pic-for-readme.
|
|
63
|
+
<source media="(prefers-color-scheme: light)" srcset="pixaton-tests/macos/pic-for-readme.vp761x790.light.gold.png">
|
|
64
|
+
<source media="(prefers-color-scheme: dark)" srcset="pixaton-tests/macos/pic-for-readme.vp761x790.dark.gold.png">
|
|
65
|
+
<img alt="Mockaton Dashboard" src="pixaton-tests/macos/pic-for-readme.vp761x790.light.gold.png">
|
|
66
66
|
</picture>
|
|
67
67
|
|
|
68
68
|
|
package/package.json
CHANGED
package/src/Dashboard.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--radius:
|
|
2
|
+
--radius: 16px;
|
|
3
3
|
--boxShadow1: rgba(0, 0, 0, 0.18) 0 2px 1px -1px, rgba(0, 0, 0, 0.12) 0 1px 1px 0, rgba(0, 0, 0, 0.1) 0 1px 3px 0px;
|
|
4
4
|
}
|
|
5
5
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
--colorSecondaryAction: #666;
|
|
17
17
|
--colorDisabledMockSelector: #444;
|
|
18
18
|
--colorHover: #dfefff;
|
|
19
|
-
--colorLabel: #
|
|
19
|
+
--colorLabel: #555;
|
|
20
20
|
--colorLightRed: #ffe4ee;
|
|
21
21
|
--colorRed: #da0f00;
|
|
22
22
|
--colorText: #000;
|
|
@@ -111,7 +111,7 @@ a {
|
|
|
111
111
|
a,
|
|
112
112
|
button,
|
|
113
113
|
input[type=checkbox],
|
|
114
|
-
input[type=checkbox]
|
|
114
|
+
input[type=checkbox] + svg {
|
|
115
115
|
cursor: pointer;
|
|
116
116
|
|
|
117
117
|
&:active {
|
|
@@ -128,7 +128,7 @@ select {
|
|
|
128
128
|
appearance: none;
|
|
129
129
|
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23888888'><path d='M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z'/></svg>") no-repeat;
|
|
130
130
|
background-size: 16px;
|
|
131
|
-
background-position: 100% center;
|
|
131
|
+
background-position: calc(100% - 3px) center;
|
|
132
132
|
|
|
133
133
|
&:enabled {
|
|
134
134
|
border-color: var(--colorSecondaryActionBorder);
|
|
@@ -155,9 +155,9 @@ header {
|
|
|
155
155
|
display: flex;
|
|
156
156
|
flex-wrap: wrap;
|
|
157
157
|
align-items: flex-end;
|
|
158
|
-
gap: 16px
|
|
158
|
+
gap: 16px 8px;
|
|
159
159
|
|
|
160
|
-
@media (max-width:
|
|
160
|
+
@media (max-width: 760px) {
|
|
161
161
|
max-width: 400px;
|
|
162
162
|
}
|
|
163
163
|
}
|
|
@@ -175,18 +175,10 @@ header {
|
|
|
175
175
|
span {
|
|
176
176
|
display: flex;
|
|
177
177
|
align-items: center;
|
|
178
|
+
margin-left: 8px;
|
|
178
179
|
color: var(--colorLabel);
|
|
179
180
|
font-size: 11px;
|
|
180
181
|
gap: 4px;
|
|
181
|
-
|
|
182
|
-
svg {
|
|
183
|
-
width: 14px;
|
|
184
|
-
height: 14px;
|
|
185
|
-
stroke: var(--colorLabel);
|
|
186
|
-
stroke-width: 1.5px;
|
|
187
|
-
fill: none;
|
|
188
|
-
opacity: .7;
|
|
189
|
-
}
|
|
190
182
|
}
|
|
191
183
|
|
|
192
184
|
input[type=url],
|
|
@@ -209,10 +201,10 @@ header {
|
|
|
209
201
|
}
|
|
210
202
|
|
|
211
203
|
&.GlobalDelayField {
|
|
212
|
-
width:
|
|
204
|
+
width: 76px;
|
|
213
205
|
|
|
214
206
|
input[type=number] {
|
|
215
|
-
padding-right:
|
|
207
|
+
padding-right: 6px;
|
|
216
208
|
}
|
|
217
209
|
|
|
218
210
|
svg {
|
|
@@ -243,6 +235,9 @@ header {
|
|
|
243
235
|
font-size: 11px;
|
|
244
236
|
gap: 4px;
|
|
245
237
|
|
|
238
|
+
input + span {
|
|
239
|
+
margin: 0;
|
|
240
|
+
}
|
|
246
241
|
input:disabled + span {
|
|
247
242
|
opacity: 0.8;
|
|
248
243
|
}
|
|
@@ -316,7 +311,7 @@ main {
|
|
|
316
311
|
min-width: 0;
|
|
317
312
|
min-height: 0;
|
|
318
313
|
|
|
319
|
-
@media (max-width:
|
|
314
|
+
@media (max-width: 760px) {
|
|
320
315
|
flex-direction: column;
|
|
321
316
|
|
|
322
317
|
.Resizer {
|
|
@@ -368,7 +363,7 @@ table {
|
|
|
368
363
|
border-collapse: collapse;
|
|
369
364
|
|
|
370
365
|
tr {
|
|
371
|
-
border-top:
|
|
366
|
+
border-top: 3px solid transparent;
|
|
372
367
|
}
|
|
373
368
|
|
|
374
369
|
th {
|
|
@@ -414,7 +409,6 @@ table {
|
|
|
414
409
|
padding-left: 8px;
|
|
415
410
|
text-overflow: ellipsis;
|
|
416
411
|
font-size: 12px;
|
|
417
|
-
background-position: calc(100% - 4px) center;
|
|
418
412
|
|
|
419
413
|
&.nonDefault {
|
|
420
414
|
font-weight: bold;
|
|
@@ -447,7 +441,7 @@ table {
|
|
|
447
441
|
|
|
448
442
|
&:focus {
|
|
449
443
|
outline: 0;
|
|
450
|
-
&
|
|
444
|
+
& + svg {
|
|
451
445
|
outline: 2px solid var(--colorAccent)
|
|
452
446
|
}
|
|
453
447
|
}
|
|
@@ -462,14 +456,14 @@ table {
|
|
|
462
456
|
|
|
463
457
|
.DelayToggler {
|
|
464
458
|
> input {
|
|
465
|
-
&:checked
|
|
459
|
+
&:checked + svg {
|
|
466
460
|
border-color: var(--colorAccent);
|
|
467
461
|
fill: var(--colorAccent);
|
|
468
462
|
background: var(--colorAccent);
|
|
469
463
|
stroke: var(--colorBackground);
|
|
470
464
|
}
|
|
471
465
|
|
|
472
|
-
&:enabled:hover:not(:checked)
|
|
466
|
+
&:enabled:hover:not(:checked) + svg {
|
|
473
467
|
border-color: var(--colorHover);
|
|
474
468
|
background: var(--colorHover);
|
|
475
469
|
stroke: var(--colorText);
|
|
@@ -497,7 +491,7 @@ table {
|
|
|
497
491
|
}
|
|
498
492
|
|
|
499
493
|
> input {
|
|
500
|
-
&:checked
|
|
494
|
+
&:checked + svg {
|
|
501
495
|
fill: var(--colorAccent);
|
|
502
496
|
stroke: var(--colorAccent);
|
|
503
497
|
|
|
@@ -507,12 +501,12 @@ table {
|
|
|
507
501
|
transform: scale(1.1);
|
|
508
502
|
}
|
|
509
503
|
|
|
510
|
-
&:enabled:hover:not(:checked)
|
|
504
|
+
&:enabled:hover:not(:checked) + svg {
|
|
511
505
|
fill: var(--colorHover);
|
|
512
506
|
stroke: var(--colorText);
|
|
513
507
|
}
|
|
514
508
|
|
|
515
|
-
&:disabled
|
|
509
|
+
&:disabled + svg {
|
|
516
510
|
stroke-opacity: 0.4;
|
|
517
511
|
cursor: not-allowed;
|
|
518
512
|
box-shadow: none;
|
|
@@ -526,9 +520,8 @@ table {
|
|
|
526
520
|
}
|
|
527
521
|
|
|
528
522
|
> svg {
|
|
529
|
-
width:
|
|
530
|
-
|
|
531
|
-
padding: 1px 3px;
|
|
523
|
+
width: 26px;
|
|
524
|
+
padding: 1px 4px;
|
|
532
525
|
stroke-width: 2px;
|
|
533
526
|
border-radius: var(--radius);
|
|
534
527
|
}
|
|
@@ -546,12 +539,12 @@ table {
|
|
|
546
539
|
|
|
547
540
|
&:focus {
|
|
548
541
|
outline: 0;
|
|
549
|
-
&
|
|
542
|
+
& + span {
|
|
550
543
|
outline: 2px solid var(--colorAccent)
|
|
551
544
|
}
|
|
552
545
|
}
|
|
553
546
|
|
|
554
|
-
&:checked
|
|
547
|
+
&:checked + span {
|
|
555
548
|
border-color: var(--colorRed);
|
|
556
549
|
color: white;
|
|
557
550
|
background: var(--colorRed);
|
|
@@ -593,6 +586,7 @@ table {
|
|
|
593
586
|
padding-top: 16px;
|
|
594
587
|
|
|
595
588
|
h2 {
|
|
589
|
+
padding-bottom: 4px;
|
|
596
590
|
padding-left: 16px;
|
|
597
591
|
}
|
|
598
592
|
|
|
@@ -600,6 +594,7 @@ table {
|
|
|
600
594
|
overflow: auto;
|
|
601
595
|
height: 100%;
|
|
602
596
|
padding: 16px;
|
|
597
|
+
padding-top: 12px;
|
|
603
598
|
font-family: monospace;
|
|
604
599
|
|
|
605
600
|
code {
|
package/src/Dashboard.js
CHANGED
|
@@ -272,7 +272,7 @@ function GlobalDelayField() {
|
|
|
272
272
|
}
|
|
273
273
|
return (
|
|
274
274
|
r('label', className(CSS.Field, CSS.GlobalDelayField),
|
|
275
|
-
r('span', null,
|
|
275
|
+
r('span', null, Strings.delay_ms),
|
|
276
276
|
r('input', {
|
|
277
277
|
type: 'number',
|
|
278
278
|
min: 0,
|
|
@@ -300,7 +300,7 @@ function ProxyFallbackField() {
|
|
|
300
300
|
return (
|
|
301
301
|
r('div', className(CSS.Field, CSS.FallbackBackend),
|
|
302
302
|
r('label', null,
|
|
303
|
-
r('span', null,
|
|
303
|
+
r('span', null, Strings.fallback_server),
|
|
304
304
|
r('input', {
|
|
305
305
|
type: 'url',
|
|
306
306
|
autocomplete: 'none',
|
|
@@ -708,14 +708,18 @@ function PayloadViewerProgressBar() {
|
|
|
708
708
|
r('div', { style: { animationDuration: state.delay + 'ms' } })))
|
|
709
709
|
}
|
|
710
710
|
|
|
711
|
-
function PayloadViewerTitle({ file,
|
|
712
|
-
const
|
|
711
|
+
function PayloadViewerTitle({ file, statusText }) {
|
|
712
|
+
const tokens = file.split('.')
|
|
713
|
+
const ext = tokens.pop()
|
|
714
|
+
const status = tokens.pop()
|
|
715
|
+
const urlAndMethod = '/' + tokens.join('.') + '.'
|
|
713
716
|
return (
|
|
714
717
|
r('span', null,
|
|
715
|
-
|
|
718
|
+
urlAndMethod,
|
|
716
719
|
r('abbr', { title: statusText }, status),
|
|
717
720
|
'.' + ext))
|
|
718
721
|
}
|
|
722
|
+
|
|
719
723
|
function PayloadViewerTitleWhenProxied({ mime, status, statusText, gatewayIsBad }) {
|
|
720
724
|
return (
|
|
721
725
|
r('span', null,
|
|
@@ -759,7 +763,6 @@ async function updatePayloadViewer(method, urlMask, response) {
|
|
|
759
763
|
}))
|
|
760
764
|
else
|
|
761
765
|
payloadViewerTitleRef.current.replaceChildren(PayloadViewerTitle({
|
|
762
|
-
status: response.status,
|
|
763
766
|
statusText: response.statusText,
|
|
764
767
|
file
|
|
765
768
|
}))
|
|
@@ -980,7 +983,7 @@ function dittoSplitPaths(paths) {
|
|
|
980
983
|
|
|
981
984
|
|
|
982
985
|
function syntaxJSON(json) {
|
|
983
|
-
const MAX_NODES =
|
|
986
|
+
const MAX_NODES = 50_000
|
|
984
987
|
let nNodes = 0
|
|
985
988
|
const frag = document.createDocumentFragment()
|
|
986
989
|
|
|
@@ -1028,7 +1031,7 @@ syntaxJSON.regex = /("(?:\\u[a-fA-F0-9]{4}|\\[^u]|[^\\"])*")(\s*:)?|([{}\[\],:\s
|
|
|
1028
1031
|
|
|
1029
1032
|
|
|
1030
1033
|
function syntaxXML(xml) {
|
|
1031
|
-
const MAX_NODES =
|
|
1034
|
+
const MAX_NODES = 50_000
|
|
1032
1035
|
let nNodes = 0
|
|
1033
1036
|
const frag = document.createDocumentFragment()
|
|
1034
1037
|
|