mockaton 8.16.2 → 8.16.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/package.json +1 -1
- package/src/Dashboard.css +90 -78
- package/src/Dashboard.js +31 -28
package/package.json
CHANGED
package/src/Dashboard.css
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--boxShadow1: 0
|
|
2
|
+
--boxShadow1: 0 3px 1px -1px rgba(0, 0, 0, 0.04), 0 1px 1px 0 rgba(0, 0, 0, 0.1), 0 1px 3px 0 rgba(0, 0, 0, 0.1);
|
|
3
3
|
--radius: 4px;
|
|
4
|
-
--radiusSmall: 4px;
|
|
5
4
|
}
|
|
6
5
|
|
|
7
6
|
@media (prefers-color-scheme: light) {
|
|
@@ -12,9 +11,10 @@
|
|
|
12
11
|
--colorBackground: #fff;
|
|
13
12
|
--colorComboBoxHeaderBackground: #fff;
|
|
14
13
|
--colorComboBoxBackground: #eee;
|
|
15
|
-
--colorHeaderBackground: #
|
|
16
|
-
--colorSecondaryButtonBackground: #
|
|
17
|
-
--
|
|
14
|
+
--colorHeaderBackground: #f0f0f0;
|
|
15
|
+
--colorSecondaryButtonBackground: #fcfcfc;
|
|
16
|
+
--colorSecondaryActionBorder: #ddd;
|
|
17
|
+
--colorSecondaryAction: #666;
|
|
18
18
|
--colorDisabledMockSelector: #444;
|
|
19
19
|
--colorHover: #dfefff;
|
|
20
20
|
--colorLabel: #444;
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
--colorHeaderBackground: #111;
|
|
32
32
|
--colorComboBoxBackground: #2a2a2a;
|
|
33
33
|
--colorSecondaryButtonBackground: #2a2a2a;
|
|
34
|
+
--colorSecondaryActionBorder: #333;
|
|
34
35
|
--colorSecondaryAction: #999;
|
|
35
36
|
--colorComboBoxHeaderBackground: #222;
|
|
36
37
|
--colorDisabledMockSelector: #b9b9b9;
|
|
@@ -42,15 +43,22 @@
|
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
html,
|
|
46
|
+
html,
|
|
47
|
+
body {
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
height: 100%;
|
|
50
|
+
padding: 0;
|
|
46
51
|
margin: 0;
|
|
52
|
+
background: var(--colorHeaderBackground);
|
|
47
53
|
font-size: 12px;
|
|
48
54
|
}
|
|
49
55
|
body {
|
|
50
|
-
|
|
56
|
+
display: grid;
|
|
57
|
+
grid-template-rows: auto 1fr;
|
|
51
58
|
background: var(--colorBackground);
|
|
52
59
|
color: var(--colorText);
|
|
53
60
|
}
|
|
61
|
+
|
|
54
62
|
* {
|
|
55
63
|
box-sizing: border-box;
|
|
56
64
|
padding: 0;
|
|
@@ -59,6 +67,7 @@ body {
|
|
|
59
67
|
font-family: system-ui, sans-serif;
|
|
60
68
|
font-size: 100%;
|
|
61
69
|
outline: 0;
|
|
70
|
+
scrollbar-width: thin;
|
|
62
71
|
}
|
|
63
72
|
|
|
64
73
|
select, a, input, button, summary {
|
|
@@ -79,6 +88,7 @@ input[type=checkbox] ~ svg {
|
|
|
79
88
|
}
|
|
80
89
|
|
|
81
90
|
select {
|
|
91
|
+
border: 1px solid transparent;
|
|
82
92
|
font-size: 100%;
|
|
83
93
|
color: var(--colorText);
|
|
84
94
|
cursor: pointer;
|
|
@@ -86,16 +96,17 @@ select {
|
|
|
86
96
|
border-radius: var(--radius);
|
|
87
97
|
appearance: none;
|
|
88
98
|
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;
|
|
89
|
-
background-color: var(--colorComboBoxBackground);
|
|
90
99
|
background-size: 16px;
|
|
91
100
|
background-position: 100% center;
|
|
92
101
|
|
|
93
102
|
&:enabled {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
103
|
+
border-color: var(--colorSecondaryActionBorder);
|
|
104
|
+
background-color: var(--colorSecondaryButtonBackground);
|
|
105
|
+
&:hover {
|
|
106
|
+
border-color: var(--colorHover);
|
|
107
|
+
cursor: pointer;
|
|
108
|
+
background-color: var(--colorHover);
|
|
109
|
+
}
|
|
99
110
|
}
|
|
100
111
|
&:disabled {
|
|
101
112
|
cursor: not-allowed;
|
|
@@ -106,18 +117,19 @@ select {
|
|
|
106
117
|
color: var(--colorRed);
|
|
107
118
|
}
|
|
108
119
|
|
|
109
|
-
|
|
110
|
-
position: fixed;
|
|
111
|
-
z-index: 100;
|
|
112
|
-
top: 0;
|
|
113
|
-
left: 0;
|
|
120
|
+
header {
|
|
114
121
|
display: flex;
|
|
115
122
|
width: 100%;
|
|
116
|
-
align-items: flex-end;
|
|
117
123
|
padding: 16px;
|
|
118
124
|
background: var(--colorHeaderBackground);
|
|
119
125
|
box-shadow: var(--boxShadow1);
|
|
120
|
-
|
|
126
|
+
|
|
127
|
+
> div {
|
|
128
|
+
display: flex;
|
|
129
|
+
flex-wrap: wrap;
|
|
130
|
+
align-items: flex-end;
|
|
131
|
+
gap: 10px;
|
|
132
|
+
}
|
|
121
133
|
|
|
122
134
|
img {
|
|
123
135
|
width: 130px;
|
|
@@ -151,11 +163,11 @@ select {
|
|
|
151
163
|
width: 100%;
|
|
152
164
|
height: 28px;
|
|
153
165
|
padding: 4px 8px;
|
|
166
|
+
border: 0;
|
|
154
167
|
border-right: 3px solid transparent;
|
|
155
168
|
margin-top: 4px;
|
|
156
169
|
color: var(--colorText);
|
|
157
170
|
font-size: 11px;
|
|
158
|
-
box-shadow: var(--boxShadow1);
|
|
159
171
|
background-color: var(--colorComboBoxHeaderBackground);
|
|
160
172
|
border-radius: var(--radius);
|
|
161
173
|
}
|
|
@@ -219,56 +231,61 @@ select {
|
|
|
219
231
|
&:hover {
|
|
220
232
|
background: var(--colorRed);
|
|
221
233
|
color: white;
|
|
222
|
-
box-shadow: var(--boxShadow1);
|
|
223
234
|
}
|
|
224
235
|
}
|
|
225
236
|
}
|
|
226
237
|
|
|
227
238
|
|
|
228
|
-
|
|
229
|
-
display:
|
|
239
|
+
main {
|
|
240
|
+
display: grid;
|
|
241
|
+
min-height: 0;
|
|
242
|
+
grid-template-columns: 50% 50%;
|
|
243
|
+
|
|
244
|
+
@media (max-width: 960px) {
|
|
245
|
+
grid-template-columns: 100%;
|
|
246
|
+
grid-template-rows: 50% 50%;
|
|
247
|
+
gap: 32px;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.leftSide {
|
|
251
|
+
padding: 16px;
|
|
252
|
+
padding-bottom: 0;
|
|
253
|
+
overflow-y: auto;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
.rightSide {
|
|
257
|
+
padding-top: 16px;
|
|
258
|
+
padding-left: 16px;
|
|
259
|
+
overflow-y: auto;
|
|
260
|
+
}
|
|
230
261
|
}
|
|
231
262
|
|
|
232
263
|
table {
|
|
233
264
|
border-collapse: collapse;
|
|
234
265
|
|
|
235
266
|
th {
|
|
236
|
-
padding-top: 20px;
|
|
237
267
|
padding-bottom: 2px;
|
|
238
|
-
padding-left:
|
|
268
|
+
padding-left: 110px;
|
|
239
269
|
text-align: left;
|
|
240
270
|
}
|
|
241
271
|
|
|
242
|
-
|
|
243
|
-
border-
|
|
272
|
+
tbody {
|
|
273
|
+
border-bottom: 20px solid transparent;
|
|
244
274
|
}
|
|
245
275
|
}
|
|
246
276
|
|
|
247
|
-
.
|
|
248
|
-
|
|
249
|
-
align-items: flex-start;
|
|
250
|
-
margin-top: 64px;
|
|
251
|
-
|
|
252
|
-
&.empty {
|
|
253
|
-
margin-top: 80px;
|
|
254
|
-
}
|
|
277
|
+
.empty {
|
|
278
|
+
margin-top: 80px;
|
|
255
279
|
}
|
|
256
280
|
|
|
257
281
|
|
|
258
282
|
.PayloadViewer {
|
|
259
|
-
|
|
260
|
-
top:
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
h2 {
|
|
266
|
-
padding-top: 20px;
|
|
267
|
-
}
|
|
268
|
-
|
|
283
|
+
/*h2 {*/
|
|
284
|
+
/* top: 0;*/
|
|
285
|
+
/* position: sticky;*/
|
|
286
|
+
/* background: var(--colorBackground);*/
|
|
287
|
+
/*}*/
|
|
269
288
|
pre {
|
|
270
|
-
overflow: auto;
|
|
271
|
-
max-height: calc(100vh - 72px);
|
|
272
289
|
padding-top: 12px;
|
|
273
290
|
|
|
274
291
|
code {
|
|
@@ -285,20 +302,16 @@ table {
|
|
|
285
302
|
|
|
286
303
|
.PreviewLink {
|
|
287
304
|
position: relative;
|
|
288
|
-
left: -
|
|
305
|
+
left: -8px;
|
|
289
306
|
display: inline-block;
|
|
290
|
-
width:
|
|
291
|
-
padding: 8px
|
|
307
|
+
width: 240px;
|
|
308
|
+
padding: 8px;
|
|
309
|
+
margin-left: 4px;
|
|
292
310
|
border-radius: var(--radius);
|
|
293
311
|
color: var(--colorAccent);
|
|
294
312
|
text-decoration: none;
|
|
295
313
|
word-break: break-word;
|
|
296
314
|
|
|
297
|
-
span {
|
|
298
|
-
opacity: 0.6;
|
|
299
|
-
filter: saturate(0);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
315
|
&:hover {
|
|
303
316
|
background: var(--colorHover);
|
|
304
317
|
}
|
|
@@ -309,11 +322,10 @@ table {
|
|
|
309
322
|
}
|
|
310
323
|
|
|
311
324
|
.MockSelector {
|
|
312
|
-
width:
|
|
313
|
-
height:
|
|
325
|
+
width: 100%;
|
|
326
|
+
height: 26px;
|
|
314
327
|
padding-right: 5px;
|
|
315
328
|
padding-left: 16px;
|
|
316
|
-
border: 0;
|
|
317
329
|
text-align: right;
|
|
318
330
|
direction: rtl;
|
|
319
331
|
text-overflow: ellipsis;
|
|
@@ -329,6 +341,7 @@ table {
|
|
|
329
341
|
}
|
|
330
342
|
&:disabled {
|
|
331
343
|
padding-right: 4px;
|
|
344
|
+
border-color: transparent;
|
|
332
345
|
appearance: none;
|
|
333
346
|
background: transparent;
|
|
334
347
|
cursor: default;
|
|
@@ -363,33 +376,32 @@ table {
|
|
|
363
376
|
margin-left: 8px;
|
|
364
377
|
> input {
|
|
365
378
|
&:checked ~ svg {
|
|
379
|
+
border-color: var(--colorAccent);
|
|
366
380
|
fill: var(--colorAccent);
|
|
367
381
|
background: var(--colorAccent);
|
|
368
382
|
stroke: var(--colorBackground);
|
|
369
383
|
}
|
|
370
384
|
|
|
371
385
|
&:enabled:hover:not(:checked) ~ svg {
|
|
372
|
-
border-color: var(--
|
|
386
|
+
border-color: var(--colorHover);
|
|
373
387
|
background: var(--colorHover);
|
|
374
388
|
stroke: var(--colorText);
|
|
375
389
|
}
|
|
376
390
|
}
|
|
377
391
|
|
|
378
392
|
> svg {
|
|
379
|
-
width:
|
|
380
|
-
height:
|
|
393
|
+
width: 22px;
|
|
394
|
+
height: 22px;
|
|
395
|
+
border: 1px solid var(--colorSecondaryActionBorder);
|
|
381
396
|
stroke-width: 2.5px;
|
|
382
397
|
border-radius: 50%;
|
|
383
|
-
background: var(--colorSecondaryButtonBackground);
|
|
384
|
-
box-shadow: var(--boxShadow1);
|
|
385
398
|
}
|
|
386
399
|
}
|
|
387
400
|
|
|
388
401
|
.ProxyToggler {
|
|
389
402
|
padding: 1px 3px;
|
|
390
|
-
|
|
391
|
-
border-radius: var(--
|
|
392
|
-
box-shadow: var(--boxShadow1);
|
|
403
|
+
border: 1px solid var(--colorSecondaryActionBorder);
|
|
404
|
+
border-radius: var(--radius);
|
|
393
405
|
|
|
394
406
|
&:has(input:checked),
|
|
395
407
|
&:has(input:disabled) {
|
|
@@ -414,7 +426,7 @@ table {
|
|
|
414
426
|
}
|
|
415
427
|
|
|
416
428
|
&:disabled ~ svg {
|
|
417
|
-
stroke-opacity: 0.
|
|
429
|
+
stroke-opacity: 0.4;
|
|
418
430
|
cursor: not-allowed;
|
|
419
431
|
box-shadow: none;
|
|
420
432
|
fill: transparent;
|
|
@@ -430,7 +442,7 @@ table {
|
|
|
430
442
|
width: 18px;
|
|
431
443
|
height: 18px;
|
|
432
444
|
stroke-width: 2px;
|
|
433
|
-
border-radius: var(--
|
|
445
|
+
border-radius: var(--radius);
|
|
434
446
|
}
|
|
435
447
|
}
|
|
436
448
|
|
|
@@ -452,6 +464,7 @@ table {
|
|
|
452
464
|
}
|
|
453
465
|
|
|
454
466
|
&:checked ~ span {
|
|
467
|
+
border-color: var(--colorRed);
|
|
455
468
|
color: white;
|
|
456
469
|
background: var(--colorRed);
|
|
457
470
|
}
|
|
@@ -459,14 +472,14 @@ table {
|
|
|
459
472
|
|
|
460
473
|
> span {
|
|
461
474
|
padding: 4px;
|
|
475
|
+
border: 1px solid var(--colorSecondaryActionBorder);
|
|
462
476
|
font-size: 10px;
|
|
463
477
|
font-weight: bold;
|
|
464
478
|
color: var(--colorSecondaryAction);
|
|
465
|
-
border-radius: var(--
|
|
466
|
-
background: var(--colorSecondaryButtonBackground);
|
|
467
|
-
box-shadow: var(--boxShadow1);
|
|
479
|
+
border-radius: var(--radius);
|
|
468
480
|
|
|
469
481
|
&:hover {
|
|
482
|
+
border-color: var(--colorLightRed);
|
|
470
483
|
background: var(--colorLightRed);
|
|
471
484
|
color: var(--colorRed);
|
|
472
485
|
}
|
|
@@ -501,7 +514,6 @@ table {
|
|
|
501
514
|
|
|
502
515
|
|
|
503
516
|
.StaticFilesList {
|
|
504
|
-
margin-top: 8px;
|
|
505
517
|
|
|
506
518
|
a {
|
|
507
519
|
display: inline-block;
|
|
@@ -513,14 +525,14 @@ table {
|
|
|
513
525
|
&:hover {
|
|
514
526
|
text-decoration: underline;
|
|
515
527
|
}
|
|
516
|
-
|
|
517
|
-
span {
|
|
518
|
-
opacity: 0.6;
|
|
519
|
-
filter: saturate(0);
|
|
520
|
-
}
|
|
521
528
|
}
|
|
522
529
|
}
|
|
523
530
|
|
|
531
|
+
.dittoDir {
|
|
532
|
+
opacity: 0.9;
|
|
533
|
+
filter: saturate(0);
|
|
534
|
+
}
|
|
535
|
+
|
|
524
536
|
|
|
525
537
|
/*
|
|
526
538
|
* Prism
|
package/src/Dashboard.js
CHANGED
|
@@ -24,15 +24,16 @@ const Strings = {
|
|
|
24
24
|
fallback_server_placeholder: 'Type Server Address',
|
|
25
25
|
got: 'Got',
|
|
26
26
|
internal_server_error: 'Internal Server Error',
|
|
27
|
-
mock: 'Mock',
|
|
28
27
|
no_mocks_found: 'No mocks found',
|
|
29
28
|
not_found: 'Not Found',
|
|
30
29
|
pick_comment: 'Pick Comment…',
|
|
30
|
+
preview: 'Preview',
|
|
31
31
|
proxied: 'Proxied',
|
|
32
32
|
proxy_toggler: 'Proxy Toggler',
|
|
33
33
|
reset: 'Reset',
|
|
34
34
|
save_proxied: 'Save Mocks',
|
|
35
|
-
static_get: 'Static GET'
|
|
35
|
+
static_get: 'Static GET',
|
|
36
|
+
title: 'Mockaton'
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
const CSS = {
|
|
@@ -41,9 +42,9 @@ const CSS = {
|
|
|
41
42
|
FallbackBackend: 'FallbackBackend',
|
|
42
43
|
Field: 'Field',
|
|
43
44
|
GlobalDelayField: 'GlobalDelayField',
|
|
44
|
-
Header: 'Header',
|
|
45
45
|
InternalServerErrorToggler: 'InternalServerErrorToggler',
|
|
46
|
-
|
|
46
|
+
MainLeftSide: 'leftSide',
|
|
47
|
+
MainRightSide: 'rightSide',
|
|
47
48
|
MockList: 'MockList',
|
|
48
49
|
MockSelector: 'MockSelector',
|
|
49
50
|
NotFoundToggler: 'NotFoundToggler',
|
|
@@ -57,11 +58,12 @@ const CSS = {
|
|
|
57
58
|
SpinnerClockMinuteHand: 'MinuteHand',
|
|
58
59
|
StaticFilesList: 'StaticFilesList',
|
|
59
60
|
|
|
60
|
-
red: 'red',
|
|
61
|
-
empty: 'empty',
|
|
62
61
|
chosen: 'chosen',
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
dittoDir: 'dittoDir',
|
|
63
|
+
empty: 'empty',
|
|
64
|
+
nonDefault: 'nonDefault',
|
|
65
|
+
red: 'red',
|
|
66
|
+
status4xx: 'status4xx'
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
const r = createElement
|
|
@@ -83,20 +85,20 @@ function init() {
|
|
|
83
85
|
mockaton.getProxyFallback(),
|
|
84
86
|
mockaton.listStaticFiles()
|
|
85
87
|
].map(api => api.then(response => response.ok && response.json())))
|
|
86
|
-
.then(data => document.body.replaceChildren(App(data)))
|
|
88
|
+
.then(data => document.body.replaceChildren(...App(data)))
|
|
87
89
|
.catch(onError)
|
|
88
90
|
}
|
|
89
91
|
|
|
90
92
|
function App([brokersByMethod, cookies, comments, delay, collectProxied, fallbackAddress, staticBrokers]) {
|
|
91
93
|
globalDelay = delay
|
|
92
|
-
return
|
|
93
|
-
r(
|
|
94
|
-
|
|
95
|
-
r('
|
|
96
|
-
r(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
r(PayloadViewer)))
|
|
94
|
+
return [
|
|
95
|
+
r(Header, { cookies, comments, delay, fallbackAddress, collectProxied }),
|
|
96
|
+
r('main', null,
|
|
97
|
+
r('div', { className: CSS.MainLeftSide },
|
|
98
|
+
r(MockList, { brokersByMethod, canProxy: Boolean(fallbackAddress) }),
|
|
99
|
+
r(StaticFilesList, { brokers: staticBrokers })),
|
|
100
|
+
r('div', { className: CSS.MainRightSide },
|
|
101
|
+
r(PayloadViewer)))]
|
|
100
102
|
}
|
|
101
103
|
|
|
102
104
|
|
|
@@ -104,13 +106,14 @@ function App([brokersByMethod, cookies, comments, delay, collectProxied, fallbac
|
|
|
104
106
|
|
|
105
107
|
function Header({ cookies, comments, delay, fallbackAddress, collectProxied }) {
|
|
106
108
|
return (
|
|
107
|
-
r('
|
|
109
|
+
r('header', null,
|
|
108
110
|
r(Logo),
|
|
109
|
-
r(
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
r('div', null,
|
|
112
|
+
r(CookieSelector, { cookies }),
|
|
113
|
+
r(BulkSelector, { comments }),
|
|
114
|
+
r(GlobalDelayField, { delay }),
|
|
115
|
+
r(ProxyFallbackField, { fallbackAddress, collectProxied }),
|
|
116
|
+
r(ResetButton))))
|
|
114
117
|
}
|
|
115
118
|
|
|
116
119
|
function Logo() {
|
|
@@ -249,10 +252,10 @@ function MockList({ brokersByMethod, canProxy }) {
|
|
|
249
252
|
const hasMocks = Object.keys(brokersByMethod).length
|
|
250
253
|
if (!hasMocks)
|
|
251
254
|
return (
|
|
252
|
-
r('div', { className:
|
|
255
|
+
r('div', { className: CSS.empty },
|
|
253
256
|
Strings.no_mocks_found))
|
|
254
257
|
return (
|
|
255
|
-
r('div',
|
|
258
|
+
r('div', null,
|
|
256
259
|
r('table', null, Object.entries(brokersByMethod).map(([method, brokers]) =>
|
|
257
260
|
r(SectionByMethod, { method, brokers, canProxy })))))
|
|
258
261
|
}
|
|
@@ -296,7 +299,7 @@ function PreviewLink({ method, urlMask, urlMaskDittoed }) {
|
|
|
296
299
|
href: urlMask,
|
|
297
300
|
onClick
|
|
298
301
|
}, ditto
|
|
299
|
-
? [r('span',
|
|
302
|
+
? [r('span', { className: CSS.dittoDir }, ditto), tail]
|
|
300
303
|
: tail))
|
|
301
304
|
}
|
|
302
305
|
|
|
@@ -414,7 +417,7 @@ function StaticFilesList({ brokers }) {
|
|
|
414
417
|
if (!Object.keys(brokers).length)
|
|
415
418
|
return null
|
|
416
419
|
const dp = dittoSplitPaths(Object.keys(brokers)).map(([ditto, tail]) => ditto
|
|
417
|
-
? [r('span',
|
|
420
|
+
? [r('span', { className: CSS.dittoDir }, ditto), tail]
|
|
418
421
|
: tail)
|
|
419
422
|
return (
|
|
420
423
|
r('table', { className: CSS.StaticFilesList },
|
|
@@ -493,7 +496,7 @@ const payloadViewerRef = useRef()
|
|
|
493
496
|
function PayloadViewer() {
|
|
494
497
|
return (
|
|
495
498
|
r('div', { className: CSS.PayloadViewer },
|
|
496
|
-
r('h2', { ref: payloadViewerTitleRef }, Strings.
|
|
499
|
+
r('h2', { ref: payloadViewerTitleRef }, Strings.preview),
|
|
497
500
|
r('pre', null,
|
|
498
501
|
r('code', { ref: payloadViewerRef }, Strings.click_link_to_preview))))
|
|
499
502
|
}
|