@rstest/browser 0.11.3 → 0.11.5

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.
@@ -1,3053 +0,0 @@
1
- (()=>{
2
- "use strict";
3
- var e, t, s, l, r, o, a = {
4
- 1086 (e, t, s) {
5
- var l = s(9793);
6
- let r = "__rstest_dispatch_response__";
7
- var o = s(9901), a = s(632), i = s(2969), n = s(405), c = s(7541);
8
- let d = (e)=>{
9
- let { message: t } = e;
10
- return (0, l.jsx)("div", {
11
- className: "absolute inset-0 z-10 flex items-center justify-center bg-black/[0.02]",
12
- children: (0, l.jsx)("span", {
13
- className: "text-sm text-(--muted-foreground)",
14
- children: t
15
- })
16
- });
17
- };
18
- var u = s(6554), p = s(2035), h = s(393), f = s(3936), x = s(836);
19
- let m = (e, t)=>{
20
- if (!t) return e;
21
- let s = t.endsWith("/") ? t.slice(0, -1) : t;
22
- if (e.startsWith(s)) {
23
- let t = e.slice(s.length);
24
- return t.startsWith("/") ? t.slice(1) : t;
25
- }
26
- return e;
27
- }, g = (e)=>{
28
- window.parent?.postMessage({
29
- type: "open-in-editor",
30
- payload: {
31
- file: e
32
- }
33
- }, "*"), fetch(`/__open-in-editor?file=${encodeURIComponent(e)}`).catch(()=>{});
34
- };
35
- var j = s(9310), v = s(3414), y = s(4280), _ = s(8060), C = s(5759);
36
- let w = {
37
- idle: {
38
- label: "Idle",
39
- color: "var(--accents-5)",
40
- icon: (0, l.jsx)(j.A, {
41
- size: 14,
42
- strokeWidth: 2.5
43
- })
44
- },
45
- running: {
46
- label: "Running",
47
- color: "var(--ds-amber-700)",
48
- icon: (0, l.jsx)(v.A, {
49
- size: 14,
50
- className: "animate-spin",
51
- strokeWidth: 2.5
52
- })
53
- },
54
- pass: {
55
- label: "Pass",
56
- color: "var(--ds-green-700)",
57
- icon: (0, l.jsx)(y.A, {
58
- size: 14,
59
- strokeWidth: 2.5
60
- })
61
- },
62
- fail: {
63
- label: "Fail",
64
- color: "var(--ds-red-800)",
65
- icon: (0, l.jsx)(_.A, {
66
- size: 14,
67
- strokeWidth: 2.5
68
- })
69
- }
70
- }, b = {
71
- ...w,
72
- skip: {
73
- label: "Skip",
74
- color: "var(--accents-4)",
75
- icon: (0, l.jsx)(C.A, {
76
- size: 14,
77
- strokeWidth: 2.5
78
- })
79
- }
80
- };
81
- var k = s(3965), S = s(9419), F = s(136), N = s(9237), A = s(8042), P = s(623), M = s(1614), z = s(8996);
82
- let R = {
83
- iPhoneSE: {
84
- width: 375,
85
- height: 667
86
- },
87
- iPhoneXR: {
88
- width: 414,
89
- height: 896
90
- },
91
- iPhone12Pro: {
92
- width: 390,
93
- height: 844
94
- },
95
- iPhone14ProMax: {
96
- width: 430,
97
- height: 932
98
- },
99
- Pixel7: {
100
- width: 412,
101
- height: 915
102
- },
103
- SamsungGalaxyS8Plus: {
104
- width: 360,
105
- height: 740
106
- },
107
- SamsungGalaxyS20Ultra: {
108
- width: 412,
109
- height: 915
110
- },
111
- iPadMini: {
112
- width: 768,
113
- height: 1024
114
- },
115
- iPadAir: {
116
- width: 820,
117
- height: 1180
118
- },
119
- iPadPro: {
120
- width: 1024,
121
- height: 1366
122
- },
123
- SurfacePro7: {
124
- width: 912,
125
- height: 1368
126
- },
127
- SurfaceDuo: {
128
- width: 540,
129
- height: 720
130
- },
131
- GalaxyZFold5: {
132
- width: 344,
133
- height: 882
134
- },
135
- AsusZenbookFold: {
136
- width: 853,
137
- height: 1280
138
- },
139
- SamsungGalaxyA51A71: {
140
- width: 412,
141
- height: 914
142
- },
143
- NestHub: {
144
- width: 1024,
145
- height: 600
146
- },
147
- NestHubMax: {
148
- width: 1280,
149
- height: 800
150
- }
151
- }, O = {
152
- iPhoneSE: "iPhone SE",
153
- iPhoneXR: "iPhone XR",
154
- iPhone12Pro: "iPhone 12 Pro",
155
- iPhone14ProMax: "iPhone 14 Pro Max",
156
- Pixel7: "Pixel 7",
157
- SamsungGalaxyS8Plus: "Samsung Galaxy S8+",
158
- SamsungGalaxyS20Ultra: "Samsung Galaxy S20 Ultra",
159
- iPadMini: "iPad Mini",
160
- iPadAir: "iPad Air",
161
- iPadPro: "iPad Pro",
162
- SurfacePro7: "Surface Pro 7",
163
- SurfaceDuo: "Surface Duo",
164
- GalaxyZFold5: "Galaxy Z Fold 5",
165
- AsusZenbookFold: "Asus Zenbook Fold",
166
- SamsungGalaxyA51A71: "Samsung Galaxy A51/71",
167
- NestHub: "Nest Hub",
168
- NestHubMax: "Nest Hub Max"
169
- }, U = [
170
- "iPhoneSE",
171
- "iPhoneXR",
172
- "iPhone12Pro",
173
- "iPhone14ProMax",
174
- "Pixel7",
175
- "SamsungGalaxyS8Plus",
176
- "SamsungGalaxyS20Ultra",
177
- "iPadMini",
178
- "iPadAir",
179
- "iPadPro",
180
- "SurfacePro7",
181
- "SurfaceDuo",
182
- "GalaxyZFold5",
183
- "AsusZenbookFold",
184
- "SamsungGalaxyA51A71",
185
- "NestHub",
186
- "NestHubMax"
187
- ].map((e)=>{
188
- let t = R[e];
189
- return {
190
- id: e,
191
- label: O[e],
192
- width: t.width,
193
- height: t.height
194
- };
195
- }), E = new Set(U.map((e)=>e.id)), T = (e)=>"string" == typeof e && E.has(e), $ = (e)=>{
196
- let t = U.find((t)=>t.id === e);
197
- if (!t) throw Error(`Unknown device preset: ${e}`);
198
- return t;
199
- }, I = (e, t, s)=>Math.min(s, Math.max(t, e)), B = (e)=>{
200
- let { token: t, value: s, onChange: r } = e, [o, a] = (0, n.useState)(!1), i = (0, n.useRef)({
201
- width: 800,
202
- height: 600
203
- });
204
- "responsive" === s.mode && (i.current = {
205
- width: s.width,
206
- height: s.height
207
- });
208
- let c = "full" === s.mode ? "full" : "responsive" === s.mode ? "responsive" : s.preset, d = (0, n.useMemo)(()=>[
209
- {
210
- value: "full",
211
- label: "Full"
212
- },
213
- {
214
- value: "responsive",
215
- label: "Responsive"
216
- },
217
- ...U.map((e)=>{
218
- let t;
219
- return {
220
- value: e.id,
221
- label: (t = $(e.id), `${t.label} (${t.width} x ${t.height})`)
222
- };
223
- })
224
- ], []), h = (0, l.jsxs)("div", {
225
- className: "w-[280px]",
226
- "data-testid": "viewport-popover",
227
- children: [
228
- (0, l.jsxs)("div", {
229
- className: "flex items-center gap-2",
230
- children: [
231
- (0, l.jsx)(k.A, {
232
- value: c,
233
- options: d,
234
- listHeight: 280,
235
- dropdownStyle: {
236
- maxHeight: 280,
237
- overflowY: "auto"
238
- },
239
- onChange: (e)=>{
240
- if ("full" === e) {
241
- r({
242
- mode: "full"
243
- }), a(!1);
244
- return;
245
- }
246
- "responsive" === e ? r({
247
- mode: "responsive",
248
- ..."responsive" === s.mode ? {
249
- width: s.width,
250
- height: s.height
251
- } : i.current
252
- }) : (r({
253
- mode: "preset",
254
- preset: e,
255
- orientation: "preset" === s.mode && s.preset === e ? s.orientation : "portrait"
256
- }), a(!1));
257
- },
258
- size: "small",
259
- className: "flex-1",
260
- popupMatchSelectWidth: !1,
261
- "data-testid": "viewport-preset-select"
262
- }),
263
- (0, l.jsx)(u.A, {
264
- title: "Rotate",
265
- mouseLeaveDelay: 0,
266
- children: (0, l.jsx)(p.Ay, {
267
- type: "text",
268
- size: "small",
269
- disabled: "full" === s.mode,
270
- className: "flex h-7 w-7 items-center justify-center rounded-md p-0 text-(--accents-4) hover:text-foreground hover:bg-(--accents-1) transition-all",
271
- "data-testid": "viewport-rotate",
272
- "aria-label": "Rotate viewport",
273
- icon: (0, l.jsx)(z.A, {
274
- size: 14,
275
- strokeWidth: 2.2
276
- }),
277
- onClick: ()=>{
278
- if ("full" !== s.mode) {
279
- if ("responsive" === s.mode) {
280
- let e = {
281
- mode: "responsive",
282
- width: s.height,
283
- height: s.width
284
- };
285
- i.current = {
286
- width: e.width,
287
- height: e.height
288
- }, r(e);
289
- return;
290
- }
291
- r({
292
- mode: "preset",
293
- preset: s.preset,
294
- orientation: "portrait" === s.orientation ? "landscape" : "portrait"
295
- });
296
- }
297
- }
298
- })
299
- })
300
- ]
301
- }),
302
- "responsive" === s.mode && (0, l.jsxs)("div", {
303
- className: "mt-3 flex items-center gap-2",
304
- "data-testid": "viewport-inputs",
305
- children: [
306
- (0, l.jsx)(S.A, {
307
- min: 1,
308
- max: 1e4,
309
- step: 1,
310
- controls: !1,
311
- value: s.width,
312
- onChange: (e)=>{
313
- let t = I(Number(e ?? s.width), 1, 1e4);
314
- i.current = {
315
- width: t,
316
- height: s.height
317
- }, r({
318
- mode: "responsive",
319
- width: t,
320
- height: s.height
321
- });
322
- },
323
- size: "small",
324
- className: "w-[120px]",
325
- "data-testid": "viewport-width-input",
326
- "aria-label": "Viewport width"
327
- }),
328
- (0, l.jsx)("span", {
329
- className: "text-(--accents-4) select-none",
330
- children: "x"
331
- }),
332
- (0, l.jsx)(S.A, {
333
- min: 1,
334
- max: 1e4,
335
- step: 1,
336
- controls: !1,
337
- value: s.height,
338
- onChange: (e)=>{
339
- let t = I(Number(e ?? s.height), 1, 1e4);
340
- i.current = {
341
- width: s.width,
342
- height: t
343
- }, r({
344
- mode: "responsive",
345
- width: s.width,
346
- height: t
347
- });
348
- },
349
- size: "small",
350
- className: "w-[120px]",
351
- "data-testid": "viewport-height-input",
352
- "aria-label": "Viewport height"
353
- })
354
- ]
355
- })
356
- ]
357
- });
358
- return (0, l.jsx)(F.A, {
359
- content: h,
360
- trigger: "click",
361
- open: o,
362
- onOpenChange: a,
363
- placement: "bottomRight",
364
- children: (0, l.jsxs)(p.Ay, {
365
- type: "text",
366
- size: "small",
367
- className: "flex h-7 items-center gap-2 rounded-md px-2 text-(--accents-6) hover:text-foreground hover:bg-(--accents-1) transition-all",
368
- "data-testid": "viewport-button",
369
- "aria-label": "Viewport",
370
- children: [
371
- (0, l.jsx)("span", {
372
- className: "flex h-4 w-4 items-center justify-center text-(--accents-5)",
373
- children: ((e)=>{
374
- if ("full" === e.mode) return (0, l.jsx)(N.A, {
375
- size: 14,
376
- strokeWidth: 2.2
377
- });
378
- if ("responsive" === e.mode) return (0, l.jsx)(A.A, {
379
- size: 14,
380
- strokeWidth: 2.2
381
- });
382
- let t = $(e.preset).label;
383
- return t.startsWith("iPad") || t.startsWith("Surface") || t.startsWith("Nest Hub") || t.includes("Fold") ? (0, l.jsx)(P.A, {
384
- size: 14,
385
- strokeWidth: 2.2
386
- }) : (0, l.jsx)(M.A, {
387
- size: 14,
388
- strokeWidth: 2.2
389
- });
390
- })(s)
391
- }),
392
- (0, l.jsx)("span", {
393
- className: "text-[12px] font-mono tracking-tight leading-none",
394
- style: {
395
- color: t.colorTextSecondary
396
- },
397
- children: "full" === s.mode ? "Full" : "responsive" === s.mode ? `${s.width} x ${s.height}` : $(s.preset).label
398
- })
399
- ]
400
- })
401
- });
402
- }, W = (e)=>{
403
- let { token: t, activeFile: s, rootPath: r, status: o, viewport: a, onViewportChange: n } = e, { message: c } = i.A.useApp(), d = o ? w[o] : void 0, j = s ? m(s, r) : "", v = j.split("/"), y = v.pop(), _ = v.join("/"), C = async ()=>{
404
- j && (await navigator.clipboard.writeText(j), c.success("relative path copied"));
405
- }, b = "pass" === o ? "green" : "fail" === o ? "red" : "running" === o ? "amber" : null;
406
- return (0, l.jsxs)("div", {
407
- className: "flex h-[48px] items-center justify-between px-4",
408
- "data-testid": "preview-header",
409
- style: {
410
- background: t.colorBgContainer,
411
- borderBottom: `1px solid ${t.colorBorder}`
412
- },
413
- children: [
414
- (0, l.jsxs)("div", {
415
- className: "flex items-center gap-2 overflow-hidden",
416
- children: [
417
- (0, l.jsx)(h.A, {
418
- size: 16,
419
- strokeWidth: 2,
420
- className: "shrink-0 text-(--accents-7)"
421
- }),
422
- (0, l.jsxs)("div", {
423
- className: "flex items-center gap-1.5 overflow-hidden",
424
- children: [
425
- _ && (0, l.jsxs)(l.Fragment, {
426
- children: [
427
- (0, l.jsx)("span", {
428
- className: "text-[12px] font-mono tracking-tight text-(--accents-5) truncate max-w-[400px] hover:text-(--accents-6) transition-colors cursor-default",
429
- title: _,
430
- children: _
431
- }),
432
- (0, l.jsx)("span", {
433
- className: "text-(--accents-3) font-light select-none shrink-0",
434
- children: "/"
435
- })
436
- ]
437
- }),
438
- y ? (0, l.jsxs)("div", {
439
- className: "flex items-center gap-1.5 shrink-0",
440
- children: [
441
- (0, l.jsx)("span", {
442
- className: "text-[12px] font-mono font-semibold tracking-tight text-foreground",
443
- children: y
444
- }),
445
- s && (0, l.jsxs)("div", {
446
- className: "flex items-center",
447
- children: [
448
- (0, l.jsx)(u.A, {
449
- title: "Copy relative path",
450
- mouseLeaveDelay: 0,
451
- children: (0, l.jsx)(p.Ay, {
452
- type: "text",
453
- size: "small",
454
- className: "flex ml-1 h-5 w-5 items-center justify-center rounded-md p-0 text-(--accents-4) hover:text-foreground hover:bg-(--accents-1) transition-all",
455
- style: {
456
- color: t.colorTextDescription
457
- },
458
- "data-testid": "preview-copy-path",
459
- icon: (0, l.jsx)(f.A, {
460
- size: 12,
461
- strokeWidth: 2.5
462
- }),
463
- onClick: C
464
- })
465
- }),
466
- (0, l.jsx)(u.A, {
467
- title: "Open in Editor",
468
- mouseLeaveDelay: 0,
469
- children: (0, l.jsx)(p.Ay, {
470
- type: "text",
471
- size: "small",
472
- className: "flex h-5 w-5 items-center justify-center rounded-md p-0 text-(--accents-4) hover:text-foreground hover:bg-(--accents-1) transition-all",
473
- "data-testid": "preview-open-editor",
474
- icon: (0, l.jsx)(x.A, {
475
- size: 12,
476
- strokeWidth: 2.5
477
- }),
478
- onClick: ()=>g(s),
479
- style: {
480
- color: t.colorTextDescription
481
- }
482
- })
483
- })
484
- ]
485
- })
486
- ]
487
- }) : (0, l.jsx)("span", {
488
- className: "text-[13px] tracking-tight text-(--accents-4) shrink-0",
489
- children: "Select a test file"
490
- })
491
- ]
492
- })
493
- ]
494
- }),
495
- (0, l.jsxs)("div", {
496
- className: "flex items-center gap-3 shrink-0",
497
- children: [
498
- a && n && (0, l.jsx)(B, {
499
- token: t,
500
- value: a,
501
- onChange: n
502
- }),
503
- d && b && (0, l.jsx)("div", {
504
- className: "flex items-center rounded-md px-2 py-0.5 text-[10px] font-semibold tracking-wider transition-colors shrink-0",
505
- style: {
506
- backgroundColor: `var(--ds-${b}-100)`,
507
- color: `var(--ds-${b}-900)`,
508
- border: `1px solid var(--ds-${b}-300)`
509
- },
510
- children: d.label.toUpperCase()
511
- })
512
- ]
513
- })
514
- ]
515
- });
516
- };
517
- var D = s(6704);
518
- let G = (e)=>{
519
- let { className: t, style: s, direction: r = "horizontal", children: o, autoSaveId: a, ...i } = e, c = n.Children.toArray(o).filter((e)=>n.isValidElement(e) && e.type === Z), d = n.useCallback(()=>{
520
- if (!a) return null;
521
- try {
522
- let e = localStorage.getItem(a);
523
- if (e) {
524
- let t = JSON.parse(e);
525
- if (Array.isArray(t) && t.length === c.length) return t;
526
- }
527
- } catch {}
528
- return null;
529
- }, [
530
- a,
531
- c.length
532
- ])(), u = c.map((e, t)=>{
533
- let { defaultSize: s, minSize: l, maxSize: r, children: o } = e.props, a = d?.[t] ?? s;
534
- return {
535
- defaultSize: a ? `${a}%` : void 0,
536
- min: l ? `${l}%` : void 0,
537
- max: r ? `${r}%` : void 0,
538
- children: o
539
- };
540
- }), p = n.useCallback((e)=>{
541
- if (a) try {
542
- localStorage.setItem(a, JSON.stringify(e));
543
- } catch {}
544
- }, [
545
- a
546
- ]);
547
- return (0, l.jsx)(D.A, {
548
- layout: "horizontal" === r ? "horizontal" : "vertical",
549
- className: t,
550
- style: {
551
- height: "100%",
552
- width: "100%",
553
- padding: 0,
554
- margin: 0,
555
- ...s
556
- },
557
- onResizeEnd: p,
558
- ...i,
559
- children: u.map((e)=>(0, l.jsx)(D.A.Panel, {
560
- ...e,
561
- children: e.children
562
- }, `panel-${e.defaultSize}-${e.min}-${e.max}`))
563
- });
564
- }, Z = (e)=>{
565
- let { children: t } = e;
566
- return (0, l.jsx)(l.Fragment, {
567
- children: t
568
- });
569
- };
570
- var L = s(5931), q = s(3103), H = s(2320), J = (e)=>(0, l.jsxs)("svg", {
571
- xmlns: "http://www.w3.org/2000/svg",
572
- fill: "none",
573
- viewBox: "0 0 217 200",
574
- ...e,
575
- children: [
576
- (0, l.jsx)("mask", {
577
- id: "rstest-logo_svg__a",
578
- width: 217,
579
- height: 200,
580
- x: 0,
581
- y: 0,
582
- maskUnits: "userSpaceOnUse",
583
- style: {
584
- maskType: "luminance"
585
- },
586
- children: (0, l.jsx)("path", {
587
- fill: "#fff",
588
- d: "M216.88 0H.88v200h216z"
589
- })
590
- }),
591
- (0, l.jsxs)("g", {
592
- mask: "url(#rstest-logo_svg__a)",
593
- children: [
594
- (0, l.jsx)("path", {
595
- fill: "#83EAD0",
596
- d: "M73.92 73.24a32.96 32.96 0 1 0-29.45-5.31l8.27-10.89a19.3 19.3 0 1 1 17.24 3.12z"
597
- }),
598
- (0, l.jsx)("path", {
599
- fill: "#008564",
600
- d: "M73.95 73.23a32.96 32.96 0 1 0-29.54-5.35l3.49-4.56a27.22 27.22 0 1 1 24.39 4.42l1.66 5.5Z"
601
- }),
602
- (0, l.jsx)("path", {
603
- fill: "#FFD95F",
604
- d: "M72.76.86A42.07 42.07 0 0 0 32.25 14.8l4.42 3.76a36.25 36.25 0 0 1 34.92-12zm19.41 9.72a42.1 42.1 0 0 1 10.77 14.92l-5.34 2.3A36.25 36.25 0 0 0 74.42 7.25l1.63-5.58a42.1 42.1 0 0 1 16.12 8.9Zm12.03 18.23-5.52 1.83a36.24 36.24 0 0 1 .18 22.28l5.55 1.74a42.06 42.06 0 0 0-.2-25.85ZM92.83 72.95a41.9 41.9 0 0 0 10.42-15.05l-5.39-2.19c-2 4.93-5.07 9.36-8.97 12.97zM22.25 40.2a42.07 42.07 0 0 1 8.59-23.66l4.62 3.53a36.25 36.25 0 0 0-1.84 41.34l-4.92 3.1a42.07 42.07 0 0 1-6.45-24.31"
605
- }),
606
- (0, l.jsx)("path", {
607
- fill: "#83EAD0",
608
- d: "M52.22 68.02a6.24 6.24 0 0 1 7.25-6.04l2.13.35a6.24 6.24 0 0 1 4.95 8.01L63 81.8l-6.83 7.06-4.2-8.87.25-11.96Z"
609
- }),
610
- (0, l.jsx)("path", {
611
- fill: "#008564",
612
- d: "M55.4 69.45a3.93 3.93 0 1 1 7.67 1.27l-2.38 7.46-3.57 4.13-1.87-5.02z"
613
- }),
614
- (0, l.jsx)("path", {
615
- fill: "url(#rstest-logo_svg__b)",
616
- d: "M59.03 71.8c1.17.2 2.28-.62 2.48-1.8.2-1.2-.6-2.32-1.78-2.51a2.17 2.17 0 0 0-2.48 1.8c-.2 1.2.6 2.32 1.78 2.51"
617
- }),
618
- (0, l.jsx)("path", {
619
- fill: "url(#rstest-logo_svg__c)",
620
- d: "M76.7 42.14c0 6.5-5.36 11.78-11.98 11.78a11.89 11.89 0 0 1-11.99-11.78c0-6.51 5.37-11.8 11.99-11.8s11.99 5.29 11.99 11.8Z"
621
- }),
622
- (0, l.jsx)("path", {
623
- fill: "#564341",
624
- fillRule: "evenodd",
625
- d: "M75.08 71.02a31.21 31.21 0 1 0-30.91-5.58l6.16-8.12a21.04 21.04 0 1 1 21.8 3.94zm.5 1.67a32.96 32.96 0 1 0-31.11-4.77l8.27-10.88a19.3 19.3 0 1 1 17.24 3.12l3.94 13.08c.56-.17 1.12-.35 1.66-.55",
626
- clipRule: "evenodd"
627
- }),
628
- (0, l.jsx)("path", {
629
- fill: "#564341",
630
- fillRule: "evenodd",
631
- d: "M75.1 71a31.21 31.21 0 1 0-30.93-5.56l1.36-1.8a28.97 28.97 0 1 1 28.92 5.21l.65 2.16Zm.5 1.68a32.96 32.96 0 1 0-31.2-4.8c.12.04.13.1.07.04l3.48-4.57a27.22 27.22 0 1 1 24.32 4.4l1.66 5.49c.56-.17 1.13-.36 1.67-.56",
632
- clipRule: "evenodd"
633
- }),
634
- (0, l.jsx)("path", {
635
- fill: "#564341",
636
- fillRule: "evenodd",
637
- d: "M104.2 28.83v-.02l-5.52 1.83a36.25 36.25 0 0 1 .18 22.28l5.55 1.74c.17-.55.34-1.11.49-1.68l.01-.05a42.07 42.07 0 0 0-.18-22.4l-.02-.05c-.15-.55-.32-1.1-.5-1.65Zm-.74 3.97a40.3 40.3 0 0 1-.27 19.6l-2.1-.67a38.05 38.05 0 0 0-.17-19.93l2.1-.7c.16.57.3 1.13.44 1.7m-.21 25.1a41.7 41.7 0 0 1-10.42 15.05l-3.94-4.27a36.25 36.25 0 0 0 8.97-12.97zm-2.32.95-2.15-.88a38 38 0 0 1-7.45 10.78l1.57 1.7a40.3 40.3 0 0 0 8.03-11.6m-.32-34.25A40.32 40.32 0 0 0 77.22 3.88l-.64 2.23a38 38 0 0 1 21.9 19.4zm1.61-.69c.25.53.5 1.06.72 1.6l-5.34 2.28A36.25 36.25 0 0 0 74.42 7.26l1.63-5.58a42.12 42.12 0 0 1 26.17 22.23M70.68 2.26a40.32 40.32 0 0 0-35.94 12.36l1.77 1.5A38 38 0 0 1 70.2 4.54l.47-2.27Zm.36-1.71a42.07 42.07 0 0 0-38.8 14.24l4.43 3.77a36.25 36.25 0 0 1 34.91-12l1.18-5.7a42 42 0 0 0-1.72-.31M31.2 19.02a40.32 40.32 0 0 0-1.92 43.07l1.96-1.24a38 38 0 0 1 1.8-40.43zm-1.4-1.07a42.06 42.06 0 0 0-1.1 46.57l4.92-3.1v-.01a36.25 36.25 0 0 1 1.84-41.34l-4.62-3.53c-.36.47-.7.94-1.04 1.41m34.52 64.62-8.58 8.88-5.28-11.15.25-12.31a7.74 7.74 0 0 1 9-7.49l2.13.35a7.74 7.74 0 0 1 6.14 9.94zm-12.35-2.59.24-11.96a6.24 6.24 0 0 1 7.25-6.04l2.13.35a6.24 6.24 0 0 1 4.95 8.01L63 81.8l-6.82 7.06-4.2-8.87Z",
638
- clipRule: "evenodd"
639
- }),
640
- (0, l.jsx)("path", {
641
- fill: "#564341",
642
- fillRule: "evenodd",
643
- d: "m62.04 78.97-5.44 6.3-2.86-7.69.15-8.15a5.44 5.44 0 1 1 10.63 1.76zm-6.8-1.64.15-7.87a3.94 3.94 0 1 1 7.7 1.28l-2.39 7.48-3.58 4.15zm9.48-24.9a10.4 10.4 0 0 0 10.49-10.3 10.4 10.4 0 0 0-10.5-10.28 10.39 10.39 0 0 0-10.48 10.29c0 5.66 4.67 10.29 10.49 10.29m0 1.5c6.62 0 11.98-5.28 11.98-11.8 0-6.5-5.36-11.78-11.98-11.78a11.89 11.89 0 0 0-11.99 11.79 11.9 11.9 0 0 0 11.99 11.78Z",
644
- clipRule: "evenodd"
645
- }),
646
- (0, l.jsx)("path", {
647
- fill: "url(#rstest-logo_svg__d)",
648
- d: "M64.64 35.65c.76.78 1.03 2.63-.88 4.55-1.39 1.4-4.08 3-5.92.98-1.34-1.48.05-3.77 1.37-4.94 1.02-.9 3.9-2.18 5.43-.6Z"
649
- }),
650
- (0, l.jsx)("path", {
651
- fill: "url(#rstest-logo_svg__e)",
652
- d: "M68.36 39.73c.38.38.51 1.3-.43 2.25-.69.69-2.02 1.49-2.94.48-.66-.73.03-1.86.68-2.44.5-.45 1.93-1.08 2.7-.3Z"
653
- }),
654
- (0, l.jsx)("path", {
655
- fill: "url(#rstest-logo_svg__f)",
656
- fillOpacity: .3,
657
- d: "M69.53 51.24c-10.4.76-15.02-10.8-10.61-17.77 0 0-1.55 1-1.73 1.24-2.08 2.64-3.21 4.86-2.87 8.43a10.3 10.3 0 0 0 2.25 5.4c2.7 3.24 6.57 4.56 10.92 3.5.67-.18 2.04-.8 2.04-.8"
658
- }),
659
- (0, l.jsx)("path", {
660
- fill: "#83EAD0",
661
- d: "M28.9 154.31a374 374 0 0 0-15.29 7.14l-3.06 3.47c-1.15 3.18-.95 8.15-1.44 11.51l1.42 3.06 1.82-.68s.74-2.83 5.46-7.57l4.3-3.69s15.43-9.16 17.61-10.2c-3.1-.86-7.73-2.14-10.82-3.04"
662
- }),
663
- (0, l.jsx)("path", {
664
- fill: "#008564",
665
- d: "M39.61 157c-6.49 5.47-15.16 8.34-21.26 14.32l-1.5 2.2c10.54-6.52 21.34 4.03 30.92 6.9 2.3.69.22-.59 0-2.16-.1-.65.33-1.75 1.27-3.33l.04-2.39-6.59-1.7 1.15-5.96 3.34-2.4c.66-1.13 3.9-2.84 4.67-3.92l-7.07-1.67-4.97.1Zm133.17-11.3c3.63 5.72 9.33 13.35 25.06 20.1l1.5 2.2c-10.55-6.52-25.58 7.75-35.16 10.62-2.3.68-.22-.6 0-2.17.1-.64-.33-1.75-1.27-3.33l-.04-2.38 6.59-1.7-1.15-5.97-3.34-2.4c-.66-1.13-3.9-2.83-4.67-3.91l7.07-1.68z"
666
- }),
667
- (0, l.jsx)("path", {
668
- fill: "url(#rstest-logo_svg__g)",
669
- d: "M172.71 156.16v-7.77l-.34-6.04-1.44-5.73-1.37-3.87-2.09-3.49-1.67-3.07-1.57 3.85-2.85 4.73-2.2 2.8-2.87 2.3-5.33 2.92h-5.06l-4.84-2.3-4.29-2.39-3.07-3.94-.94-3-1.72-10.17-.73 2.1-2.64 4.94-3.1 4.42-4.26 3.8-3.44 1.86-4.64 1.26-3.43-.14-9.46-4.23-4.67-5.74-1.55-3.07-3.81 7.7-4.37 5.48-6.8 7.18-6.7 4.28-5.83 4.38c.26 2.55 1.05 4.36 2.38 5.43 3.42 2.7 5.62 7.4 8.79 9.74 4.04 2.99 7.79 4.42 11.44 6.7 3.44 2.17 4.25 6.16 7.26 7.83 11.29 6.27 21.75 7.05 24.44 6.63 3.2.63 7.57-.12 10.79-.08 2.24-.51 7.57-1 10.35-2.18 4.4-1.86 11.46-4.35 15.7-7.1 5-3.27 8.24-8.14 9.47-9.58 1.22-1.45 2.42-4.26 3.31-5.85 1.02-1.99 1.53-4 2.23-6.12l.92-4.48Z"
670
- }),
671
- (0, l.jsx)("path", {
672
- fill: "#564341",
673
- fillRule: "evenodd",
674
- d: "m172.7 148.22.14-.25c3.45 5.12 8.84 11.38 20.65 17.15-4.17-.08-8.55 1.58-12.62 3.6a142 142 0 0 0-7.03 3.83l-2.19 1.24a54 54 0 0 1-6.36 3.18l.07-.35c.1-.63-.08-1.3-.32-1.91a9 9 0 0 0-.15-.38 52 52 0 0 1-2.1 2.53l-.06.1-.24.4-.05.06-.22.35c-.06.1-.22.35-.27.65a1.3 1.3 0 0 0 .8 1.48c.4.15.8.09.96.06.23-.04.5-.1.81-.2 2.54-.76 5.38-2.25 8.3-3.89l2.25-1.28c2.24-1.28 4.54-2.59 6.86-3.74 6.28-3.11 12.11-4.73 16.78-1.84a1.2 1.2 0 0 0 1.61-1.69l-1.5-2.2a1.2 1.2 0 0 0-.52-.41c-15.46-6.64-20.99-14.1-24.51-19.65a1.2 1.2 0 0 0-1.3-.52zm-5.24 22.56 2.3-.6c.6-.15.98-.75.87-1.37l-.6-3.06a15 15 0 0 1-.47 1c-.27.48-.56 1.07-.88 1.7-.38.76-.8 1.58-1.22 2.33m-3.23 8.27v-.01z",
675
- clipRule: "evenodd"
676
- }),
677
- (0, l.jsx)("path", {
678
- fill: "#000",
679
- fillOpacity: .31,
680
- d: "M68.84 159.92c1.1 4.42 16.48 18.44 42.35 20.63-19.46-2.44-37.89-28.6-37.89-28.6s-.95.6-4.45 2.55v5.42Z"
681
- }),
682
- (0, l.jsx)("path", {
683
- fill: "#017356",
684
- d: "M112.13 162.39a2.05 2.05 0 0 1 1.54-2.05l12.23-3.1c.48-.12.97-.06 1.41.15l10.27 5.06c.8.39 1.25 1.25 1.12 2.13l-2.2 14.93c-.09.6-.44 1.14-.97 1.46l-10.08 6.07c-.73.44-1.67.38-2.34-.16l-9.78-7.94a2.04 2.04 0 0 1-.75-1.53z"
685
- }),
686
- (0, l.jsx)("path", {
687
- fill: "#05B78B",
688
- fillRule: "evenodd",
689
- d: "M68.91 163.03a80.3 80.3 0 0 0 15.4 11.36c8.83 4.99 19.82 7.3 38.78 8.73 22.78-.36 39.46-5.38 39.46-5.38 5.82-7.8 8.1-12.17 9.92-22.27 0 0-17.7 8.2-45.75 6.02-18.44-.73-36.02-5.44-45.74-8.51a49.8 49.8 0 0 1-12.07 10.05",
690
- clipRule: "evenodd"
691
- }),
692
- (0, l.jsx)("path", {
693
- fill: "#000",
694
- fillOpacity: .31,
695
- d: "M70 160.9c1.1 4.4 16.43 18.39 42.22 20.57-19.4-2.43-37.78-28.5-37.78-28.5s-.95.59-4.44 2.53z"
696
- }),
697
- (0, l.jsx)("path", {
698
- fill: "#017356",
699
- d: "M111.2 161.53a2.2 2.2 0 0 1 1.65-2.2l13.12-3.32a2.2 2.2 0 0 1 1.51.16l11.02 5.43a2.2 2.2 0 0 1 1.2 2.29l-2.35 16.02a2.2 2.2 0 0 1-1.04 1.56l-10.82 6.51c-.79.48-1.8.4-2.52-.17l-10.49-8.52c-.5-.4-.79-1-.8-1.64l-.49-16.12Z"
700
- }),
701
- (0, l.jsx)("path", {
702
- fill: "url(#rstest-logo_svg__h)",
703
- d: "M123.97 179.83c-3.87-5.88-6.1-6.5-7.52-6.81 3.55-2.78 5.63-2.29 7.52 2.24l.87-1.7c2.12-4 4.02-6.24 8.4-8.67-.87 2.56-.73 4.9.83 6.57-2.66 1-5.8 2.5-10.1 8.37"
704
- }),
705
- (0, l.jsx)("path", {
706
- fill: "#F28773",
707
- d: "M80.32 147.5c5.96 8.9 28.07 3.65 28.07-7.49 0 0-6.29-1.38-9-4.02l-6.08-7.28c-3.35 6.5-13 13.93-13.99 17.15 0 0 .64 1.02 1 1.65Zm70.66-4.02c-.4 9.02 13.88 13.23 20.73 9.03.4-8.47-.68-17.47-5.89-24.28-1.68 1.88-1.85 5.97-6.2 9.87a29.7 29.7 0 0 1-8.63 5.38z"
708
- }),
709
- (0, l.jsx)("path", {
710
- fill: "#564341",
711
- d: "M122.38 139.37c1.36 4.7 8.53 5.9 13.61 6.75-4.3 1.43-9.18.74-13.13-1.36-2.21-.95-4.15-4.61-.48-5.4Z"
712
- }),
713
- (0, l.jsx)("path", {
714
- fill: "url(#rstest-logo_svg__i)",
715
- d: "M65.22 157.8c-1-1.64-15.16 1.05-21.64 8.88-3.15 3.32 1.24 5.06 4.44 4.6 9.46-2.4 8.16-8.1 22.07-6.55.17.03-2.44-2.94-4.87-6.93"
716
- }),
717
- (0, l.jsx)("path", {
718
- fill: "url(#rstest-logo_svg__j)",
719
- d: "M71.6 166.28c-6.53-2.48-16.61.15-21.74 6.93-1.81 2.4-4.61 9.48-1.47 8.78 7.9-1.75 13.61-1.72 14.62-2.66 3.7-3.4 6.31-5.86 15.83-6.2-1.14-1.54-4.8-5.94-7.23-6.86Z"
720
- }),
721
- (0, l.jsx)("path", {
722
- fill: "url(#rstest-logo_svg__k)",
723
- d: "M84.08 174.67a18.79 18.79 0 0 0-19.58 3.82c-11.97 10.84-10.34 17.5-10.34 17.5l1.26 2.13c3.27 1.28 17.39-2.76 21.3-3.88 7.43-2.13 15.4-2.9 22.78-5.25 0 0-13.12-12.67-15.42-14.32"
724
- }),
725
- (0, l.jsx)("path", {
726
- fill: "url(#rstest-logo_svg__l)",
727
- d: "M143.67 189.78c9.48.74 18.7 3.75 27.55 7.08l2.2.74 1.79-.33c2.46-3.95-1.45-8.02-3.94-10.9-2.33-2.43-6.21-3.52-9.44-4.15-6.76-.62-12.4 4.73-18.16 7.56"
728
- }),
729
- (0, l.jsx)("path", {
730
- fill: "url(#rstest-logo_svg__m)",
731
- d: "M157.31 182.83c5.7-1.7 12 .25 16.17 4.93 0 0 3.25 2 4.18 1.41.88-.56-.16-4.49-.65-5.4-2.9-5.55-5.22-8.96-10.95-10.58-2.84 3.17-5.58 6.72-8.75 9.64"
732
- }),
733
- (0, l.jsx)("path", {
734
- fill: "url(#rstest-logo_svg__n)",
735
- d: "M167.27 172.82c7.98 2.53 5.79 5.38 13.07 7.08.45.1.5-1.96.5-2.42 0-2.23-6.15-7.43-9.5-9.6-1.35-.88-4.69 4.74-4.07 4.94"
736
- }),
737
- (0, l.jsx)("path", {
738
- fill: "url(#rstest-logo_svg__o)",
739
- d: "M136.67 81.29c.4 2.66-.42 10.31-.42 10.31 22.45-5.9 53.1-39.19 7.76-32.78 4.78-6.94 14.54-10.69 18.2-18.66l-.2-.97c-20.3.97-40.66 11.47-53.22 27.59l-1 2.95 1.36 3.4c9.24 2.84 19.3 2.02 28.91 2.79 0 0-1.65 4.58-1.39 5.37"
740
- }),
741
- (0, l.jsx)("path", {
742
- fill: "url(#rstest-logo_svg__p)",
743
- d: "M132.1 117.6c-3.97 13.3 10.74 16.22 20.74 11.36 22.45-17.85 16.44-59.46-17.15-34.69-1.9 3.05-1.41 11.17-1.5 11.57-.54 2.93-1.9 11.12-2.08 11.75h-.01Z"
744
- }),
745
- (0, l.jsx)("path", {
746
- fill: "url(#rstest-logo_svg__q)",
747
- d: "M94.39 120.3c.85 6.23 12.8 7.5 19.02 4.75 14.57-4.88 18.95-33.25 13.14-41.7-.52-.77-7.78-1.82-10.73-2.1-8.25-.8-18.04 6.9-22.28 17.79-1.12 2.87.42 6.53.72 9.49.4 4.12-.28 8.78.13 11.78Z"
748
- }),
749
- (0, l.jsx)("path", {
750
- fill: "#fff",
751
- d: "M94.08 122.94s22.15 15.38 33.05-13.76c2.78-7.44 1.53-18.55 1.62-23.51 9.65 4.67 2.38 31.26 1.7 34.45-2.42 11.23-13.44 20.01-22.66 17.57-13.87-3.66-13.71-14.75-13.71-14.75m38.04 5.27 1.92.71c6.02 4.51 14.67 2.92 20.55-1.04 8.55-6.94 9.33-16.27 12.6-25.86l.6.65c1.32 9.91-1.07 20.07-4.59 29.32-7.78 15.6-28.37 14.27-31.08-3.78"
752
- }),
753
- (0, l.jsx)("path", {
754
- fill: "#fff",
755
- d: "M136.56 105.93c-1.47 3.5-2 7.9-.96 11.57 2.46 5.7 9.27 6.2 13.2 1.7 11.32-12.12-2.26-32.58-12.24-13.28zm-19.58-.1c2.13-24.86-23.86-11.33-17.29 6.6 5.64 9.03 15.3.88 17.29-6.6"
756
- }),
757
- (0, l.jsx)("path", {
758
- fill: "url(#rstest-logo_svg__r)",
759
- d: "M170.79 171.1a8.5 8.5 0 0 0 1.33 3.15l-2.38-1.65-1.63-.79 2.1-3.47.86.43s-.48 1.03-.28 2.33"
760
- }),
761
- (0, l.jsx)("path", {
762
- fill: "url(#rstest-logo_svg__s)",
763
- d: "M165.81 179.54c.67 1.59 2.86 3.45 2.86 3.45l-5.51-1.66-2.74-.26 4.77-5.32s-.08 2.15.62 3.8Z"
764
- }),
765
- (0, l.jsx)("path", {
766
- fill: "url(#rstest-logo_svg__t)",
767
- d: "M62.32 196.64s15.4-4.6 21.6-10.78c4.23-4.24.76-9.57 1.43-9.28 4.19 1.88 5.47 4.67 7.96 7.7 1.14 1.39 6.08 4.64 6.08 4.64s-8.24 1.14-11.63 2.2c-6.07 1.86-25.43 5.52-25.43 5.52z"
768
- }),
769
- (0, l.jsx)("path", {
770
- fill: "url(#rstest-logo_svg__u)",
771
- d: "M157.51 185.55c.66 3.49 1.5 4.44 8.02 7.74.22.12-3.84-1.25-10.14-2.83-2.13-.52-8.48-1.56-8.48-1.56s4.6-1.82 5.77-2.59a49 49 0 0 1 5.24-2.56s-.47 1.46-.4 1.79Z"
772
- }),
773
- (0, l.jsx)("path", {
774
- fill: "url(#rstest-logo_svg__v)",
775
- d: "M62.23 178.48c-.77.23-3.5.51-6.15 1.33-1.2.37-3.07.9-4.42 1.26-.62.18-2.34.37-2.9-.08-.17-.14-.5-.8-.3-.85 7.4-1.58 11.91-3.6 15.2-5.59 5.65-3.4 6.66-6.08 7.13-8.07.2-.85 2.25 1.08 2.96 1.82l3.72 3.87s-5.35 1.02-6.99 1.49c-3.65 1.05-7.2 4.5-8.25 4.82"
776
- }),
777
- (0, l.jsx)("path", {
778
- fill: "url(#rstest-logo_svg__w)",
779
- d: "M42.94 170.3c6.86-2.72 13.67-5.07 20.98-12.38.49-.49 1.9.68 2.11 1.16.98 2.33 2.78 4.9 1.6 4.78-7.23-.79-11.68 2.23-14.9 4.7-2.31 1.77-10.43 1.98-9.79 1.73Z"
780
- }),
781
- (0, l.jsx)("path", {
782
- fill: "url(#rstest-logo_svg__x)",
783
- d: "M171.8 139.07c.38 2.12.38 8.08 1.17 8.53 13.73 7.8 33.88 7.11 37.62-10.34l2.04-.3 1.84-2.07a100 100 0 0 0 1.38-10.05l-1.1-4.87-2.13-4.35-5.48-6.24-6.09-3.52-6.46-1.92-7.76-.73-6.04.48-6.93 1.7c-1.1.63-4.25 2.42-5.14 3.34-.36 2-1.19 6.04-1.67 8-.21 1.36-.21 4.22-.87 5.68l-.16 2.94.84 3.49c1.87 3.68 4.04 6.05 4.93 10.23Z"
784
- }),
785
- (0, l.jsx)("path", {
786
- fill: "url(#rstest-logo_svg__y)",
787
- d: "M177.88 150.2c-9.5-21.46 1.4-42.72 25.92-42.38-5.68-3.69-10.39-4.22-16.98-4.6l-3.34.52-2.4-.2c-4.06 1.13-9.34 2.3-12.4 5.39-.14 1.89-1.17 6.13-1.67 8-.5 1.38-2.08 5.47-2.04 6.93l2.43 5.66c1.73 3.31 2.61 4.63 3.43 8.33l1.53 5.7.76 4.04 4.76 2.62Z"
788
- }),
789
- (0, l.jsx)("path", {
790
- fill: "url(#rstest-logo_svg__z)",
791
- d: "M185.74 122.34c.48-.85.13-2.78-1.28-3.66-1.62-1-3.9-.85-4.86 1.2-.75 1.58.33 3.17 1.88 4 1.56.8 3.4-.03 4.26-1.54"
792
- }),
793
- (0, l.jsx)("path", {
794
- fill: "url(#rstest-logo_svg__A)",
795
- d: "M205.68 121.56c-1.3 2.16-5.12 3.8-9.8 2.34-5.42-1.71-11.24-7.04-6.8-13.03 1.94-2.64 7.38-2.56 11.22-.65 2.8 1.39 8.44 6.23 5.38 11.34"
796
- }),
797
- (0, l.jsx)("path", {
798
- fill: "#ED8870",
799
- d: "M172.8 126.74c2.45 4.42 3.92 7.1 11.59 7.1 2.56 0 3.1 3.94 8.12 8.06 2.45 2.03 7.27 1.97 10.1.26 1.7-1 2.31-.6 2.83-.31 1.19.68 1.41.43 2.97.32 0 0 1.85-2.58 1.13-4.38-2.25-1.46-4.17-2.64-6.95-2.57l-1.63 1.53-1.23 1.92-1.49.94-2.2-.2a29.8 29.8 0 0 1-5.54-6.32c-3.32-3.36-6.72-2.61-10.94-2.07-2.02-1.26-4.62-3.2-6.75-4.28Z"
800
- }),
801
- (0, l.jsx)("path", {
802
- fill: "url(#rstest-logo_svg__B)",
803
- d: "M56.58 166.4c20.17-5.73 33.65-22.9 37.67-43.13l.04-4.02.76-3.06c-.44-2.86-.2-7.17-.43-10.04l2.34-.98 2-.42 1.65-1.14c.96-2.51.83-2.34.64-4.98-16.16-32.32-68.31-39.41-88.72-7.79-21.22 29.92-2.34 81.94 38.41 77.08z"
804
- }),
805
- (0, l.jsx)("path", {
806
- fill: "#F28773",
807
- d: "M40.15 150.48c1.25-6.58 35.5-10.73 38.95-21.92 1.5-11.25 5.6-12.5 15.35-13.51l.05-5.67-1.53-1.37a80 80 0 0 1-11.37 2.42c-2.29.08-5.82.12-8.04.67l-.8 3.3c1.1 2.29 2.23 10.52 2.23 10.52a40 40 0 0 1-.75 4.58c-10.42 8.07-24.77 8.63-36.23 14.88l-.66 1.97z"
808
- }),
809
- (0, l.jsx)("path", {
810
- fill: "url(#rstest-logo_svg__C)",
811
- d: "M65.09 165.25c-41.14 3.63-60.45-49.7-43.02-82.9 0 0-6.12 4.77-6.86 5.91-8.19 12.56-12.58 21.96-11.24 39l2.3 11.83c1.33 2.84 3.9 8 3.9 8 6.49 16.45 26.66 26.93 43.9 21.87l4.18-.8 6.84-2.9Z"
812
- }),
813
- (0, l.jsx)("path", {
814
- fill: "url(#rstest-logo_svg__D)",
815
- d: "M58.43 113.47c2.7 3.22 1.26 7.31-1.91 11.23-3.56 4.4-9.84 4.83-13.15 1.7-2.51-2.37-3.24-7.49 2.47-12.35 4.83-4.1 10.31-3.31 12.59-.58"
816
- }),
817
- (0, l.jsx)("path", {
818
- fill: "url(#rstest-logo_svg__E)",
819
- d: "M48.7 90.14c3.45 3.56 4.68 11.95-4 20.65-6.3 6.3-18.49 13.63-26.85 4.43-6.09-6.7.22-17.1 6.22-22.4 4.63-4.1 17.65-9.9 24.63-2.68"
820
- }),
821
- (0, l.jsx)("path", {
822
- fill: "#564341",
823
- fillRule: "evenodd",
824
- d: "M102.93 86.73c.45-1.04.9-2.32 1.24-4.04a17.1 17.1 0 0 1 6.46-2.74c10.83-1.93 19.96 1.8 23.65 9.32.29-1.72.56-3.82.78-5.98l.03-.24.02-.24.03-.24.05-.53c.13-1.4.13-2.7-.05-4.1-.03-.15-.16-.35-.4-.6l-.87-.07h-.09c-.35-.04-.73-.07-1.39-.1h-.23c-7.73-.32-11.73-.56-15.15-1l-.25-.04-.12-.01-.26-.04-.6-.08c-5.17-.79-8.17-2.05-9.12-4.46-.8-2.05-.03-4.4 1.8-7.06a36.2 36.2 0 0 1 4.48-5.15c3.01-3 8.52-7.28 14.25-10.94 7.28-4.64 14.41-8 20.65-9.4 8.06-1.82 14.65-2.17 15.9.36.74 1.46-.11 3.02-2.09 5.23a64 64 0 0 1-5.85 5.56c-1.75 1.52-3.53 3-5.35 4.46l-1.21 1-.09.06-.08.07-.04.03-.23.17-1 .83-.03.02.23-.02c2.44-.3 4.9-.44 7.35-.41h.32c3.36.11 6.19.66 8.44 1.81a8.72 8.72 0 0 1 4.94 6.9c.8 5.91-6.2 14.08-15.9 20.05 3.4.08 6.73.98 9.06 2.81 2.95 2.3 5.19 5.4 6.44 8.92.99 2.8 1.5 5.77 1.48 8.74 9.8-5.22 22.9-5.04 32.88.24 11.4 6.03 16.22 17.12 11.28 30.06a3.6 3.6 0 0 1-3.06 2.47c.03.13.04.27.05.41a6.8 6.8 0 0 1-.96 3.47 26.3 26.3 0 0 1-4.2 5.5c-6.46 6.84-18.4 8.3-27.44 3.85l-.85-.42-.12-.06-.06-.03-.08-.03-.07-.04-.9-.43c-.8-.4-1.5-.75-2.13-1.1.06 5.22-.9 10.4-2.8 15.28l-.13.32-.09.25-.2.57c1.47.65 2.89 1.4 4.24 2.26a17.94 17.94 0 0 1 6.67 7.76c.8 1.87.97 3.45-.02 4.65-.88 1.07-2.3 1.25-4.03.9a24 24 0 0 1 1.83 4.23c.63 2.11.46 3.81-.98 4.88-.53.4-1.3.48-2.18.35 1.5 3.29 1.4 6.51-1.03 7.72-1.32.65-2.88.44-5.37-.43-.46-.15-1.66-.62-2.97-1.13l-.15-.05-.26-.1-.5-.19-.06-.02-.15-.06-3.06-1.18a59.4 59.4 0 0 0-7.96-2.34l-1.55-.34-1.77-.36a55 55 0 0 0-7.72-1.06c-1.63-.1-3.13-.07-4.48.08-.2.03-.4.01-.58-.04a70 70 0 0 1-18 1.68c-6.3-.22-9.7-.47-13.28-1.15-.99-.18-1.98-.4-2.95-.66-3.19-.7-11.59.42-16.93 2.1-1.43.45-2.88.84-4.34 1.17l-6.1 1.33-.34.08-.1.02-.48.1-.2.05-.2.04c-2.14.47-4.2.94-5.3 1.2l-2.68.7-1.15.32-1.27.34c-1.05.28-2.1.52-3.17.74-3.86.77-6.6.76-8.36-.55-1.42-1.06-1.93-2.76-1.72-4.9.17-1.65.77-3.63 1.77-5.98.76-1.77 2.42-4.14 4.3-6.31l.07-.1-.08.02c-.95.25-1.9.52-2.83.8l-.28.09-.11.02-2.02.58-.03.02h-.02l-.14.03-.04.02-.15.03-.3.09-.17.03-.25.06c-1.65.4-2.78.5-3.86.17a3.6 3.6 0 0 1-2.43-2.55 12 12 0 0 1-1.15-.34c-3.32-1.13-6.37-2.77-11.22-5.8-1.29-.83-5.44-2.05-7.04-2.25-3.1-.37-8.67 1.13-11.04 2.75-.66.87-1.24 1.8-1.74 2.77l-.06.12-.24.48-.07.14-.07.15c-.28.58-.55 1.13-.64 1.27-.38.64-.88 1.03-1.58 1.06-.74.03-1.28-.4-1.66-1.07a7.2 7.2 0 0 1-.66-1.76 25 25 0 0 1-.62-4.96c-.16-4.37.44-8.29 1.87-10.14a16.6 16.6 0 0 1 5.49-4.37c.56.53 1.14 1.05 1.73 1.56-2.52 1.28-4.28 2.6-5.49 4.15-1.02 1.31-1.56 4.84-1.41 8.71.06 1.75.26 3.36.55 4.53l.17.57.02.06.02-.05.4-.85.06-.12.49-.94a23.4 23.4 0 0 1 3.4-4.66c1.99-2.14 5.08-4.51 8.69-6.8.77.39 1.55.75 2.36 1.1a60 60 0 0 0-7.18 5.05c2.58-.75 5.43-1.16 7.48-.91 1.87.22 6.32 1.54 7.94 2.55 4.71 2.96 7.65 4.53 10.76 5.6l.27.1c.31-1.76 1.53-4.28 2.76-6.18l-.86.19c-3.1.6-5.4.33-6.59-1.47a3.5 3.5 0 0 1-.59-1.9c.96.05 1.93.06 2.93.05 0 .1.04.19.09.26.29.45 1.6.6 3.62.2a26 26 0 0 0 4.18-1.17l.6-.22.54-.48a69.6 69.6 0 0 0 11.36-4.43 28 28 0 0 1 3.9 0 10.4 10.4 0 0 1-1.04-1.5c.84-.45 1.67-.93 2.5-1.43.51.88 1.2 1.65 2.06 2.24.88.6 1.71 1.27 2.5 1.99l.75.71s1.13 1.12 1.68 1.7l.07.07.06.06.06.06.05.06.39.4a78 78 0 0 0 8.08 5.27c6.58 3.71 14.43 5.93 26.3 7.4a4.7 4.7 0 0 1-1.34-3.14l-.45-15.02c-.01-.47.05-.92.16-1.36A203 203 0 0 1 80 154.06c.66-.7 1.3-1.44 1.9-2.19a200 200 0 0 0 29.32 6.8 4.7 4.7 0 0 1 1.8-.9l12.23-3.1a4.7 4.7 0 0 1 3.24.34l10.27 5.05c.25.12.48.26.7.42 8.19-.23 15.07-1.3 20.36-2.48a81 81 0 0 0 9-2.54c1.03-.36 1.81-.66 2.33-.87l.11-.05a38.95 38.95 0 0 0-5.33-25.05 32.9 32.9 0 0 1-4.67 7.84c-3.6 4.38-8 7.04-13.2 7.23-4.63.17-11.15-3.08-14.16-7.6-1.88-2.8-2.77-5.36-3.6-10.26a29.6 29.6 0 0 1-6.93 8.96l-.14.13-.14.12c-5.32 4.74-12.54 5.78-19.12 3.26l-.2-.08a18.97 18.97 0 0 1-10.27-9.32c2.24-7.16 3.26-13.43 4.39-20.41l.79-4.82s.98-.38 1.75-.94c-1.37 6.08 1.22 10.67 5.23 11.45 3.76.74 8.22-3.04 9.75-9.46 1.47-6.09-.45-11.27-4.4-12.29-3.58-.91-7.27 1.6-9.45 6.77-.06-.98-.21-2.1-.37-3.21a35 35 0 0 1-.4-3.96c.25-.06.4-.12.53-.2l-.02.03.08-.06c2.06-1.32 2.5-3.28 1.55-5.94m60 92.26v.02zm-.04.04.03-.01h.01l.42-.13.27-.35 1.05-1.43c.77-.9 1.5-1.81 2.17-2.77l.05-.09a19.45 19.45 0 0 1 6.17 4.68 16.5 16.5 0 0 1 2.21 3.35c.77 1.35 1.4 2.77 1.9 4.24l.02.1c.22.76.24 1.22.16 1.45v.01a5.4 5.4 0 0 1-1.1-.32 12.2 12.2 0 0 1-3.06-1.83 16 16 0 0 0-1.69-1.4c-3.62-2.6-7.1-3.78-10.42-3.8.62-.55 1.22-1.11 1.8-1.7Zm7.16-18.56a39 39 0 0 1-1.22 3.55l-.01.05-.01.03a33 33 0 0 1-7.78 12.69l-1.76.45c-1.9.47-4.67 1.1-8.15 1.75-3.43.63-7.55 1.28-12.2 1.79.1-.28.17-.58.22-.88l2.2-14.93c.1-.65.05-1.29-.1-1.9 7.63-.32 14.1-1.34 19.16-2.48a84 84 0 0 0 10.3-2.98 62 62 0 0 1-.66 2.86Zm-13.4 20.11a42.6 42.6 0 0 1-6.66 4.02c-8.31 4.05-18.5 5.95-28.73 5.61-6.16-.22-9.43-.47-12.83-1.1a28.1 28.1 0 0 1-10.94-4.34 15.5 15.5 0 0 1-3.87-3.78c-.5-.64-.92-1.16-1.29-1.6 6.06 2.04 13.3 3.38 22.7 4.35l6.4 5.2a4.7 4.7 0 0 0 5.4.38l9.26-5.58a173 173 0 0 0 20.56-3.16m-85.12-13.45q1.08.9 2.34 1.89l.34.34.1.12.1.09.04.06.77.79c.69.71 1.2 1.22 1.7 1.7-1.89.15-3.91.42-5.42.8-2.26.55-5.94 2.53-8.44 4.5l-.6.5c-1.09.11-2.54.43-4.37.9-.97.26-1.93.53-2.9.81l-.21.06-.1.03-.1.03-.1.02-.2.06-.1.03-1.72.5-.34.09-.67.17c-1.17.28-1.9.34-2.34.2-.35-.1-.55-.4-.64-1.3-.05-.52.54-1.98 1.28-3.43l.06-.1.06-.12.03-.06.13-.25a18.6 18.6 0 0 1 3.76-4.94 16.9 16.9 0 0 1 4.62-3c3.08-1.39 9.34-1.57 12.92-.49m5.26 7.9-.13.02h-.07l-.15.02h-.08l-.15.03-.38.04-.3.03c-1.12.13-2.23.31-3.33.56-1.82.45-5.15 2.24-7.35 3.98-2.84 2.22-6.68 6.83-7.81 9.48-1.76 4.12-2.01 6.66-.98 7.42.85.63 3 .64 6.05.03 1.43-.29 2.85-.63 4.26-1.04l1.14-.31c2.64-.72 5.3-1.36 7.99-1.9l.34-.1.33-.06.17-.04.34-.07.72-.16.17-.04 4.42-.97h.02l1-.22c1.7-.4 3.04-.75 4.12-1.1a59 59 0 0 1 10.8-2.18 26 26 0 0 1-3.47-2.34q-1.74-1.485-3.12-3.33a30 30 0 0 0-2.55-2.98l-.07-.07-.08-.07c-.29-.28-.58-.55-.9-.8a30.5 30.5 0 0 0-6.41-3.99h.01c-.36-.1-2.36-.05-4.55.17Zm83.78 8.6a12.2 12.2 0 0 0-5.27 1.48q-.195.09-.42.12c-1.08.66-2.2 1.26-3.33 1.83l-.3.14q-1.74.855-3.6 1.59c2.25.3 4.47.69 6.67 1.19l.64.13.17.04.74.15c2.78.6 5.44 1.4 8.34 2.46 1.08.4 2.17.82 3.25 1.24l.47.18.2.09.13.04.6.23h.01c1.12.44 2.08.81 2.46.93 1.76.62 2.76.75 3.13.57.44-.22.6-1.37.01-3.1a12.5 12.5 0 0 0-3.14-4.79l.01.02-.03-.03-.1-.09c-.43-.42-.9-.8-1.4-1.16-3.32-2.4-6.38-3.36-9.24-3.25Zm9.58-15.06-.05.12a36 36 0 0 1-1.61 3.1c1.79.86 3.55 2.1 5.1 3.55.73.67 1.34 1.3 1.88 1.93l.08.07a10 10 0 0 0 2.32 1.07c.54.18 1.1.28 1.67.3.18 0 .33-.02.41-.05h-.03v-.21l-.01-.05a4.8 4.8 0 0 0-.41-1.35c-.4-.92-1.03-1.95-1.63-2.76a17.2 17.2 0 0 0-4.01-3.74 30 30 0 0 0-3.7-1.98Zm.18-60.6-.24.14a80 80 0 0 1-2.96 17.93l.12.15a41.9 41.9 0 0 1 7.12 20.66c.92.6 1.96 1.16 3.18 1.75l1 .48.18.1.92.44c8.23 4.05 19.12 2.7 24.89-3.39a24.6 24.6 0 0 0 3.85-5.03c1-1.9.95-2.96-.17-3.5a10 10 0 0 1-.87-.48l-.44-.3-.06-.03-.38-.24a5.35 5.35 0 0 0-2.46-1c-.5-.02-.94.15-1.36.58-.39.38-.73.8-1.04 1.26l-.04.07-.21.33-.1.15-.32.49a3.6 3.6 0 0 1-2.3 1.67 5.03 5.03 0 0 1-4.51-1.13c-.97-.78-1.73-1.7-2.95-3.44l-.8-1.11c-1.06-1.49-1.78-2.25-2.47-2.55-2.55-1.12-3.7-1.2-5.42-.81l-.14.03-.15.04-.3.06c-2.46.5-4.59-.41-9.2-4.42a1.09 1.09 0 0 1 1.42-1.65c2.33 2.02 3.97 3.17 5.16 3.69a3.1 3.1 0 0 0 2.18.24l.4-.08.14-.04c2.15-.5 3.8-.37 6.79.94 1.17.5 2.09 1.48 3.37 3.27l.4.56.37.51.01.05h.02c2.2 3.14 3.43 4.13 5.17 3.72.45-.1.66-.28 1-.78l.02-.01v-.01l.17-.26a10.8 10.8 0 0 1 1.78-2.33 3.9 3.9 0 0 1 3-1.22c1.13.04 2.17.48 3.53 1.32l.89.58c.31.21.64.4.98.55 1.33.54 2.34.3 2.76-.81 2.35-6.16 2.34-11.78.24-16.62-1.93-4.44-5.6-8.14-10.5-10.74-9.66-5.1-22.46-5.12-31.67.22m-3.12-3.18v.04a52.5 52.5 0 0 1-2.84 11.97c-1.87 5.16-6.5 11.3-12.1 14.09a24.8 24.8 0 0 1-8.9 2.1c-3.68.16-6.9-.66-9.33-2.65a16.5 16.5 0 0 0 2.27 5.02c2.45 3.66 8 6.45 11.65 6.31 4.25-.17 7.95-2.38 11.04-6.17a29.6 29.6 0 0 0 4.96-9c2.06-6.31 3.43-15.48 3.26-21.37zm-37.27-16.87.03.17c1.2 7.08.73 15.05-2.53 24.07-1.87 5.17-6.49 11.31-12.09 14.1-2.12 1.06-6.51 2.14-10.3 2.18-4.11.03-7.56-1.06-9.94-3.47l-.08.21c.93 4.98 4.67 9.19 9.8 11.22 5.7 2.25 11.94 1.36 16.48-2.78l.02-.03c4.51-3.88 7.45-9.1 9.24-15.83 1.4-5.25 2.02-10.5 2.53-19.41.25-4.21-.93-7.76-3.16-10.43m16.1 1.32-.71.3-.34.15c-4.34 1.9-8.19 4.25-8.9 5.85v.05l-.1.2q.09 1.305 0 2.73a130 130 0 0 1-.3 4.56c2.83-5.27 7.36-7.93 12.03-6.74 5.76 1.48 8.29 8.32 6.5 15.78l-.06.23c-1.91 7.65-7.65 12.45-13.06 11.4-3.49-.69-6.15-3.27-7.31-6.91a57 57 0 0 1-1.15 4.15c-.09.83.12 1.92.56 3.11.27.73.6 1.44 1 2.12 1.86 2.87 5 4.05 9.05 3.88 2.9-.12 6.12-1 7.74-1.8 4.83-2.41 9.01-7.97 10.65-12.5 2.87-7.94 3.44-15.11 2.55-21.52a16.9 16.9 0 0 0-3.77-4.08c-3.35-2.62-9.86-2.84-14.39-.96zm-34.9-6.44a14.9 14.9 0 0 0-6.1 2.82c.78 2.05.96 3.95.42 5.58a8.83 8.83 0 0 1 6.27-.7c5.76 1.48 8.28 8.32 6.5 15.77l-.05.23c-1.92 7.66-7.66 12.45-13.07 11.4a9.34 9.34 0 0 1-6.47-4.92 58 58 0 0 1-2.34 8.88c1.76 2.56 4.76 3.71 8.72 3.68 3.35-.03 7.3-1.01 9.04-1.87 4.84-2.41 9.02-7.96 10.66-12.49 3.16-8.78 3.53-16.46 2.29-23.22l-.35-1.69-.03-.1-.23-.98-.03-.3c-3.9-2.33-9.21-3.16-15.23-2.09m25.4 26.13c-1.63 6.33.99 11.16 5.11 11.96 3.75.74 8.22-3.04 9.76-9.45 1.45-6.1-.46-11.28-4.4-12.3-4.23-1.07-8.6 2.61-10.47 9.79m20.78-68.43c-2.98.2-5.94.64-8.85 1.31-5.85 1.32-12.7 4.55-19.73 9.02-5.56 3.56-10.9 7.71-13.76 10.55-3.97 3.94-6.32 7.34-5.62 9.1.42 1.06 2.69 2.01 6.85 2.64 3.6.55 7.51.8 16.06 1.14 4.87.2 7.23.3 9.36.42l.33.02.41.01.2.02h.12l.2.02h.22l1.22.08c.26.02.43.04.6.09.14.04.26.09.4.18.39.25.68.65.68 1.25 0 .55-.25.9-.6 1.15-.1.09-.21.15-.33.2-.34.12-.69.2-1.05.23l-1.31.17-.09.01-.1.01-.32.05-1.25.17c-.88.12-1.75.29-2.62.5-.22 3.62-.69 7.84-1.2 10.93l-.02.08h.03c.75-.31 1.68-.71 2.74-1.2l.19-.08c1.07-.5 2.13-1 3.2-1.52l.27-.12c1.78-.88 3.55-1.77 4.83-2.45 10.44-5.5 18.46-14.08 17.8-19.05-.54-4.1-4.24-5.98-10.6-6.17-2.33-.08-4.74.08-7.6.42l-1.38.17-.12.02h-.06l-.12.02c-.8.1-1.62.19-2.44.25-.2.01-.4-.01-.58-.06a1.49 1.49 0 0 1-1.2-1.4c-.01-.44.1-.71.32-1.02l.29-.34.69-.65c.45-.4 1.05-.9 1.94-1.63l.25-.2 1.44-1.18.16-.13.04-.03.09-.07 1.33-1.08c1.77-1.45 3.53-2.91 5.27-4.4a63 63 0 0 0 5.6-5.3c.55-.6 1.03-1.24 1.44-1.94l.02-.03h-.05l-.34-.09h-.1c-1.04-.14-2.1-.17-3.14-.1h-.01Zm-45.01 121c-.13.28-.19.58-.18.89l.45 15.02c.02.6.3 1.16.75 1.53l2.76 2.23 3.71 3.02 3.31 2.69c.67.54 1.61.6 2.35.16l10.08-6.07c.52-.32.88-.85.97-1.46l2.2-14.93a2.05 2.05 0 0 0-1.12-2.13l-10.28-5.06a2.05 2.05 0 0 0-1.4-.14l-8.67 2.19-3.56.9c-.63.16-1.13.6-1.38 1.17Zm3.23 10.35a1.48 1.48 0 0 0 .6 2.62c.58.13 1.27.3 2.25 1.05 1.04.79 2.45 2.26 4.34 5.13a1.48 1.48 0 0 0 2.44.06 26.3 26.3 0 0 1 5.35-5.7c1.5-1.13 2.8-1.69 4.07-2.16a1.48 1.48 0 0 0 .56-2.4c-1.04-1.11-1.28-2.8-.5-5.08a1.48 1.48 0 0 0-2.13-1.78 21.5 21.5 0 0 0-5.41 4.02 21.6 21.6 0 0 0-3.16 4.47 5.08 5.08 0 0 0-2.71-2.1c-1.96-.57-3.9.46-5.7 1.87m8.43 3.41.86-1.69.01-.01c1.8-3.4 3.44-5.53 6.57-7.57a27 27 0 0 1 1.83-1.1c-.24.68-.4 1.35-.48 2a5.94 5.94 0 0 0 .45 3.3c.21.46.5.88.86 1.27-.47.17-.95.36-1.45.59-2.14.97-4.6 2.6-7.7 6.53-.31.4-.63.81-.95 1.25-.3-.46-.6-.9-.89-1.3-2.13-3-3.72-4.3-4.92-4.92a6.6 6.6 0 0 0-1.7-.6c.56-.44 1.1-.8 1.59-1.07 2.17-1.2 3.73-.74 5.1 1.64.28.48.55 1.04.82 1.68",
825
- clipRule: "evenodd"
826
- }),
827
- (0, l.jsx)("path", {
828
- fill: "#564341",
829
- fillRule: "evenodd",
830
- d: "M101.67 87.4a41 41 0 0 0-2.8 3.44l-1.68-1.08c.4-.64 1.87-2.46 3-3.7a18.4 18.4 0 0 1 4.08-3.5l1.01 1.74a16.4 16.4 0 0 0-3.6 3.1Z",
831
- clipRule: "evenodd"
832
- }),
833
- (0, l.jsx)("path", {
834
- fill: "#83EAD0",
835
- d: "m45.38 139.9 9.99-3.3-7.77 56.87c-.33 2.43-1.73 4.7-4.12 5.27-1 .24-2.11.35-3.15.16a7.8 7.8 0 0 1-2.59-1.15c-2.26-1.44-3.03-4.27-2.5-6.9z"
836
- }),
837
- (0, l.jsx)("path", {
838
- fill: "#62AF9C",
839
- d: "m45.38 139.9 4-1.26-10.18 53.43c-.68 4 1.13 5.68 4.28 6.67-1 .24-2.11.35-3.15.16a7.8 7.8 0 0 1-2.59-1.15c-2.26-1.44-3.03-4.27-2.5-6.9z"
840
- }),
841
- (0, l.jsx)("path", {
842
- fill: "#564341",
843
- fillRule: "evenodd",
844
- d: "M101.13 93.08C87.24 77.86 64.5 63.3 36.59 71.6l-.06.02-.06.03C22.24 77.68 13.17 85.7 7.79 94.53s-7.01 18.38-6.53 27.4c.48 9 3.07 17.5 6.18 24.27 3.09 6.74 6.75 11.93 9.47 14.23 7.25 6.12 14.48 9.42 21.47 10.62l-4.12 19.6c-.58 2.91.24 6.22 2.95 7.95a8.8 8.8 0 0 0 2.94 1.28 8.5 8.5 0 0 0 3.57-.17c2.94-.7 4.52-3.45 4.88-6.1l3.3-22.75a46.9 46.9 0 0 0 16.17-6.73 68.4 68.4 0 0 0 17.27-16.26c4.33-5.76 7.24-11.5 8.14-15.66 3.37-10.5 2.75-18.82 2.18-24.54l.8-.16h.01l.4-.07c.72-.15 1.47-.3 2.18-.53a6.67 6.67 0 0 0 3.85-2.81c.7-1.09.85-2.37.79-3.55-.07-1.2-.37-2.4-.72-3.45a23 23 0 0 0-1.64-3.72l-.02-.04-.01-.03-.01-.01v-.01l-.07-.12-.1-.1Zm-64.9 97.97 4.14-19.71h.02l.68-3.35 5.48-26c1.71-.56 3.57-1.13 5.5-1.72l2.4-.74-3.96 27.21h.01l-.8 5.46-3.09 21.14c-.3 2.2-1.52 3.99-3.35 4.42-.93.22-1.89.31-2.74.15a6.8 6.8 0 0 1-2.23-1c-1.81-1.16-2.53-3.5-2.06-5.86m30.54-28.95a44.9 44.9 0 0 1-14.5 6.22l4.28-29.44.09-.03a102 102 0 0 0 11.91-4.38c1.69-.79 3.2-1.63 4.38-2.53a7.03 7.03 0 0 0 2.53-3.13c.54-1.45.43-3.14.14-4.73a46 46 0 0 0-1.04-4.18l-.2-.75a20.5 20.5 0 0 1-.87-4.17c-.06-1.15.2-1.65.55-1.9.1-.08.36-.22.85-.4.46-.18 1.05-.36 1.75-.56 1.4-.4 3.2-.84 5.2-1.3l4.28-.95c2.43-.54 4.93-1.09 7.18-1.63.55 5.6 1.04 13.43-2.13 23.3l-.01.05-.02.06c-.78 3.68-3.47 9.12-7.73 14.78a66 66 0 0 1-16.64 15.67m.76-29.8a94 94 0 0 1-10.6 3.93l.01-.07-4.04 1.33-1.5.46c-2.68.83-5.28 1.62-7.5 2.38-1.75.6-3.3 1.18-4.56 1.76a8.85 8.85 0 0 0-2.94 1.93 3.42 3.42 0 0 0-.87 2.87c.16.91.67 1.69 1.18 2.28.51.61 1.12 1.14 1.6 1.56l.14.11.06.06a24 24 0 0 1 .77.7 1.2 1.2 0 0 0 1.88-1.5c-.17-.22-.4-.44-.6-.61l-.5-.44-.08-.07-.1-.08c-.48-.41-.96-.84-1.34-1.29a2.55 2.55 0 0 1-.63-1.13c-.04-.22-.02-.5.32-.9.27-.3.93-.75 2.12-1.3 1.06-.5 2.41-1.01 3.98-1.55l-5.46 25.96c-6.55-1.1-13.42-4.21-20.4-10.1-2.34-1.97-5.82-6.79-8.84-13.39a65.7 65.7 0 0 1-5.97-23.4c-.46-8.63 1.1-17.68 6.18-26.02 5.07-8.31 13.69-16.02 27.5-21.89 26.55-7.86 48.32 5.86 61.92 20.7l.07.15a20 20 0 0 1 1.35 3.12c.32.94.55 1.93.6 2.83s-.09 1.6-.4 2.1a4.28 4.28 0 0 1-2.56 1.83c-.57.18-1.2.31-1.92.45l-.15.03-.23.05c-.6.12-1.27.24-1.95.41l-1.02.25v.01c-2.3.56-4.87 1.13-7.4 1.69l-4.35.97c-2 .46-3.85.9-5.32 1.32-.73.21-1.4.42-1.94.63a6.3 6.3 0 0 0-1.4.69c-1.37.97-1.63 2.55-1.56 3.99.08 1.44.51 3.1.95 4.69l.22.78c.39 1.36.76 2.68.98 3.92.27 1.5.28 2.66-.03 3.48v.02l-.02.02c-.18.56-.7 1.24-1.72 2a21 21 0 0 1-3.93 2.27Z",
845
- clipRule: "evenodd"
846
- })
847
- ]
848
- }),
849
- (0, l.jsxs)("defs", {
850
- children: [
851
- (0, l.jsxs)("linearGradient", {
852
- id: "rstest-logo_svg__b",
853
- x1: 61.5,
854
- x2: 57.23,
855
- y1: 70.04,
856
- y2: 69.44,
857
- gradientUnits: "userSpaceOnUse",
858
- children: [
859
- (0, l.jsx)("stop", {
860
- stopColor: "#FFE768"
861
- }),
862
- (0, l.jsx)("stop", {
863
- offset: .4,
864
- stopColor: "#FFE768"
865
- }),
866
- (0, l.jsx)("stop", {
867
- offset: .7,
868
- stopColor: "#FFBD4A"
869
- }),
870
- (0, l.jsx)("stop", {
871
- offset: 1,
872
- stopColor: "#FFBD4A"
873
- })
874
- ]
875
- }),
876
- (0, l.jsxs)("linearGradient", {
877
- id: "rstest-logo_svg__c",
878
- x1: 62.17,
879
- x2: 70.66,
880
- y1: 31.68,
881
- y2: 52.47,
882
- gradientUnits: "userSpaceOnUse",
883
- children: [
884
- (0, l.jsx)("stop", {
885
- stopColor: "#FFBD4A"
886
- }),
887
- (0, l.jsx)("stop", {
888
- offset: .3,
889
- stopColor: "#FFBD4A"
890
- }),
891
- (0, l.jsx)("stop", {
892
- offset: .66,
893
- stopColor: "#FFE768"
894
- }),
895
- (0, l.jsx)("stop", {
896
- offset: 1,
897
- stopColor: "#FFE768"
898
- })
899
- ]
900
- }),
901
- (0, l.jsxs)("linearGradient", {
902
- id: "rstest-logo_svg__d",
903
- x1: 61.13,
904
- x2: 61.38,
905
- y1: 34.95,
906
- y2: 42.09,
907
- gradientUnits: "userSpaceOnUse",
908
- children: [
909
- (0, l.jsx)("stop", {
910
- stopColor: "#FFF9CE"
911
- }),
912
- (0, l.jsx)("stop", {
913
- offset: 1,
914
- stopColor: "#fff"
915
- })
916
- ]
917
- }),
918
- (0, l.jsxs)("linearGradient", {
919
- id: "rstest-logo_svg__e",
920
- x1: 66.63,
921
- x2: 66.75,
922
- y1: 39.38,
923
- y2: 42.91,
924
- gradientUnits: "userSpaceOnUse",
925
- children: [
926
- (0, l.jsx)("stop", {
927
- stopColor: "#FFF9CE"
928
- }),
929
- (0, l.jsx)("stop", {
930
- offset: 1,
931
- stopColor: "#fff"
932
- })
933
- ]
934
- }),
935
- (0, l.jsxs)("linearGradient", {
936
- id: "rstest-logo_svg__f",
937
- x1: 56.26,
938
- x2: 61.89,
939
- y1: 34.8,
940
- y2: 52.4,
941
- gradientUnits: "userSpaceOnUse",
942
- children: [
943
- (0, l.jsx)("stop", {
944
- stopOpacity: 0
945
- }),
946
- (0, l.jsx)("stop", {
947
- offset: 1
948
- })
949
- ]
950
- }),
951
- (0, l.jsxs)("linearGradient", {
952
- id: "rstest-logo_svg__g",
953
- x1: 79.06,
954
- x2: 124.89,
955
- y1: 129.48,
956
- y2: 200.88,
957
- gradientUnits: "userSpaceOnUse",
958
- children: [
959
- (0, l.jsx)("stop", {
960
- stopColor: "#FFBC9C"
961
- }),
962
- (0, l.jsx)("stop", {
963
- offset: .7,
964
- stopColor: "#FFBC9C"
965
- }),
966
- (0, l.jsx)("stop", {
967
- offset: 1,
968
- stopColor: "#FFA67A"
969
- })
970
- ]
971
- }),
972
- (0, l.jsxs)("linearGradient", {
973
- id: "rstest-logo_svg__h",
974
- x1: 124.07,
975
- x2: 124.07,
976
- y1: 164.1,
977
- y2: 177.93,
978
- gradientUnits: "userSpaceOnUse",
979
- children: [
980
- (0, l.jsx)("stop", {
981
- stopColor: "#FFE768"
982
- }),
983
- (0, l.jsx)("stop", {
984
- offset: .4,
985
- stopColor: "#FFE768"
986
- }),
987
- (0, l.jsx)("stop", {
988
- offset: .7,
989
- stopColor: "#FFBD4A"
990
- }),
991
- (0, l.jsx)("stop", {
992
- offset: 1,
993
- stopColor: "#FFBD4A"
994
- })
995
- ]
996
- }),
997
- (0, l.jsxs)("linearGradient", {
998
- id: "rstest-logo_svg__i",
999
- x1: 56.29,
1000
- x2: 52.14,
1001
- y1: 157.34,
1002
- y2: 174.04,
1003
- gradientUnits: "userSpaceOnUse",
1004
- children: [
1005
- (0, l.jsx)("stop", {
1006
- stopColor: "#F28773"
1007
- }),
1008
- (0, l.jsx)("stop", {
1009
- offset: .3,
1010
- stopColor: "#F28773"
1011
- }),
1012
- (0, l.jsx)("stop", {
1013
- offset: 1,
1014
- stopColor: "#F6A66A"
1015
- })
1016
- ]
1017
- }),
1018
- (0, l.jsxs)("linearGradient", {
1019
- id: "rstest-logo_svg__j",
1020
- x1: 62.9,
1021
- x2: 57.83,
1022
- y1: 165.36,
1023
- y2: 185.18,
1024
- gradientUnits: "userSpaceOnUse",
1025
- children: [
1026
- (0, l.jsx)("stop", {
1027
- stopColor: "#F28773"
1028
- }),
1029
- (0, l.jsx)("stop", {
1030
- offset: .3,
1031
- stopColor: "#F28773"
1032
- }),
1033
- (0, l.jsx)("stop", {
1034
- offset: 1,
1035
- stopColor: "#F6A66A"
1036
- })
1037
- ]
1038
- }),
1039
- (0, l.jsxs)("linearGradient", {
1040
- id: "rstest-logo_svg__k",
1041
- x1: 76.8,
1042
- x2: 68.87,
1043
- y1: 173.42,
1044
- y2: 202.88,
1045
- gradientUnits: "userSpaceOnUse",
1046
- children: [
1047
- (0, l.jsx)("stop", {
1048
- stopColor: "#F28773"
1049
- }),
1050
- (0, l.jsx)("stop", {
1051
- offset: .3,
1052
- stopColor: "#F28773"
1053
- }),
1054
- (0, l.jsx)("stop", {
1055
- offset: 1,
1056
- stopColor: "#F6A66A"
1057
- })
1058
- ]
1059
- }),
1060
- (0, l.jsxs)("linearGradient", {
1061
- id: "rstest-logo_svg__l",
1062
- x1: 159.83,
1063
- x2: 164.5,
1064
- y1: 185.06,
1065
- y2: 200.97,
1066
- gradientUnits: "userSpaceOnUse",
1067
- children: [
1068
- (0, l.jsx)("stop", {
1069
- stopColor: "#F57A55"
1070
- }),
1071
- (0, l.jsx)("stop", {
1072
- offset: .4,
1073
- stopColor: "#F28773"
1074
- }),
1075
- (0, l.jsx)("stop", {
1076
- offset: 1,
1077
- stopColor: "#FA9F6E"
1078
- })
1079
- ]
1080
- }),
1081
- (0, l.jsxs)("linearGradient", {
1082
- id: "rstest-logo_svg__m",
1083
- x1: 167.66,
1084
- x2: 174.68,
1085
- y1: 176.2,
1086
- y2: 190.87,
1087
- gradientUnits: "userSpaceOnUse",
1088
- children: [
1089
- (0, l.jsx)("stop", {
1090
- stopColor: "#F57A55"
1091
- }),
1092
- (0, l.jsx)("stop", {
1093
- offset: .4,
1094
- stopColor: "#F28773"
1095
- }),
1096
- (0, l.jsx)("stop", {
1097
- offset: 1,
1098
- stopColor: "#FA9F6E"
1099
- })
1100
- ]
1101
- }),
1102
- (0, l.jsxs)("linearGradient", {
1103
- id: "rstest-logo_svg__n",
1104
- x1: 174.02,
1105
- x2: 179.73,
1106
- y1: 170.05,
1107
- y2: 180.5,
1108
- gradientUnits: "userSpaceOnUse",
1109
- children: [
1110
- (0, l.jsx)("stop", {
1111
- stopColor: "#F57A55"
1112
- }),
1113
- (0, l.jsx)("stop", {
1114
- offset: .4,
1115
- stopColor: "#F28773"
1116
- }),
1117
- (0, l.jsx)("stop", {
1118
- offset: 1,
1119
- stopColor: "#FA9F6E"
1120
- })
1121
- ]
1122
- }),
1123
- (0, l.jsxs)("linearGradient", {
1124
- id: "rstest-logo_svg__o",
1125
- x1: 137.6,
1126
- x2: 137.6,
1127
- y1: 39.19,
1128
- y2: 91.6,
1129
- gradientUnits: "userSpaceOnUse",
1130
- children: [
1131
- (0, l.jsx)("stop", {
1132
- stopColor: "#FFE768"
1133
- }),
1134
- (0, l.jsx)("stop", {
1135
- offset: .4,
1136
- stopColor: "#FFE768"
1137
- }),
1138
- (0, l.jsx)("stop", {
1139
- offset: .7,
1140
- stopColor: "#FFBD4A"
1141
- }),
1142
- (0, l.jsx)("stop", {
1143
- offset: 1,
1144
- stopColor: "#FFBD4A"
1145
- })
1146
- ]
1147
- }),
1148
- (0, l.jsxs)("linearGradient", {
1149
- id: "rstest-logo_svg__p",
1150
- x1: 148.81,
1151
- x2: 173.03,
1152
- y1: 86.6,
1153
- y2: 126.45,
1154
- gradientUnits: "userSpaceOnUse",
1155
- children: [
1156
- (0, l.jsx)("stop", {
1157
- stopColor: "#564341"
1158
- }),
1159
- (0, l.jsx)("stop", {
1160
- offset: .5,
1161
- stopColor: "#564341"
1162
- }),
1163
- (0, l.jsx)("stop", {
1164
- offset: 1,
1165
- stopColor: "#845750"
1166
- })
1167
- ]
1168
- }),
1169
- (0, l.jsxs)("linearGradient", {
1170
- id: "rstest-logo_svg__q",
1171
- x1: 111.09,
1172
- x2: 135.47,
1173
- y1: 81.18,
1174
- y2: 122.03,
1175
- gradientUnits: "userSpaceOnUse",
1176
- children: [
1177
- (0, l.jsx)("stop", {
1178
- stopColor: "#564341"
1179
- }),
1180
- (0, l.jsx)("stop", {
1181
- offset: .5,
1182
- stopColor: "#564341"
1183
- }),
1184
- (0, l.jsx)("stop", {
1185
- offset: 1,
1186
- stopColor: "#845750"
1187
- })
1188
- ]
1189
- }),
1190
- (0, l.jsxs)("linearGradient", {
1191
- id: "rstest-logo_svg__r",
1192
- x1: 169.07,
1193
- x2: 171.79,
1194
- y1: 169.58,
1195
- y2: 171.69,
1196
- gradientUnits: "userSpaceOnUse",
1197
- children: [
1198
- (0, l.jsx)("stop", {
1199
- stopColor: "#C35C45"
1200
- }),
1201
- (0, l.jsx)("stop", {
1202
- offset: 1,
1203
- stopColor: "#B76455"
1204
- })
1205
- ]
1206
- }),
1207
- (0, l.jsxs)("linearGradient", {
1208
- id: "rstest-logo_svg__s",
1209
- x1: 162.38,
1210
- x2: 165.71,
1211
- y1: 177.26,
1212
- y2: 181.6,
1213
- gradientUnits: "userSpaceOnUse",
1214
- children: [
1215
- (0, l.jsx)("stop", {
1216
- stopColor: "#C35C45"
1217
- }),
1218
- (0, l.jsx)("stop", {
1219
- offset: 1,
1220
- stopColor: "#B76455"
1221
- })
1222
- ]
1223
- }),
1224
- (0, l.jsxs)("linearGradient", {
1225
- id: "rstest-logo_svg__t",
1226
- x1: 99.39,
1227
- x2: 86.16,
1228
- y1: 182.89,
1229
- y2: 205.25,
1230
- gradientUnits: "userSpaceOnUse",
1231
- children: [
1232
- (0, l.jsx)("stop", {
1233
- stopColor: "#AA6160"
1234
- }),
1235
- (0, l.jsx)("stop", {
1236
- offset: 1,
1237
- stopColor: "#B36F5F"
1238
- })
1239
- ]
1240
- }),
1241
- (0, l.jsxs)("linearGradient", {
1242
- id: "rstest-logo_svg__u",
1243
- x1: 151.35,
1244
- x2: 154.74,
1245
- y1: 185.75,
1246
- y2: 193.31,
1247
- gradientUnits: "userSpaceOnUse",
1248
- children: [
1249
- (0, l.jsx)("stop", {
1250
- stopColor: "#C35C45"
1251
- }),
1252
- (0, l.jsx)("stop", {
1253
- offset: 1,
1254
- stopColor: "#B76455"
1255
- })
1256
- ]
1257
- }),
1258
- (0, l.jsxs)("linearGradient", {
1259
- id: "rstest-logo_svg__v",
1260
- x1: 77.47,
1261
- x2: 67.81,
1262
- y1: 170.99,
1263
- y2: 188.1,
1264
- gradientUnits: "userSpaceOnUse",
1265
- children: [
1266
- (0, l.jsx)("stop", {
1267
- stopColor: "#AA6160"
1268
- }),
1269
- (0, l.jsx)("stop", {
1270
- offset: 1,
1271
- stopColor: "#B36F5F"
1272
- })
1273
- ]
1274
- }),
1275
- (0, l.jsxs)("linearGradient", {
1276
- id: "rstest-logo_svg__w",
1277
- x1: 68.02,
1278
- x2: 60.05,
1279
- y1: 161.75,
1280
- y2: 176.31,
1281
- gradientUnits: "userSpaceOnUse",
1282
- children: [
1283
- (0, l.jsx)("stop", {
1284
- stopColor: "#AA6160"
1285
- }),
1286
- (0, l.jsx)("stop", {
1287
- offset: 1,
1288
- stopColor: "#B36F5F"
1289
- })
1290
- ]
1291
- }),
1292
- (0, l.jsxs)("linearGradient", {
1293
- id: "rstest-logo_svg__x",
1294
- x1: 207.23,
1295
- x2: 174.11,
1296
- y1: 112.02,
1297
- y2: 145.59,
1298
- gradientUnits: "userSpaceOnUse",
1299
- children: [
1300
- (0, l.jsx)("stop", {
1301
- stopColor: "#FFCB87"
1302
- }),
1303
- (0, l.jsx)("stop", {
1304
- offset: .1,
1305
- stopColor: "#FFCB87"
1306
- }),
1307
- (0, l.jsx)("stop", {
1308
- offset: .4,
1309
- stopColor: "#FFBC9C"
1310
- }),
1311
- (0, l.jsx)("stop", {
1312
- offset: 1,
1313
- stopColor: "#FFBC9C"
1314
- })
1315
- ]
1316
- }),
1317
- (0, l.jsxs)("linearGradient", {
1318
- id: "rstest-logo_svg__y",
1319
- x1: 203.79,
1320
- x2: 162.43,
1321
- y1: 103.24,
1322
- y2: 147.79,
1323
- gradientUnits: "userSpaceOnUse",
1324
- children: [
1325
- (0, l.jsx)("stop", {
1326
- stopColor: "#FBC38C"
1327
- }),
1328
- (0, l.jsx)("stop", {
1329
- offset: .3,
1330
- stopColor: "#F19675"
1331
- }),
1332
- (0, l.jsx)("stop", {
1333
- offset: .7,
1334
- stopColor: "#F0876A"
1335
- }),
1336
- (0, l.jsx)("stop", {
1337
- offset: 1,
1338
- stopColor: "#ED8870"
1339
- })
1340
- ]
1341
- }),
1342
- (0, l.jsxs)("linearGradient", {
1343
- id: "rstest-logo_svg__z",
1344
- x1: 182.65,
1345
- x2: 182.65,
1346
- y1: 118.08,
1347
- y2: 124.19,
1348
- gradientUnits: "userSpaceOnUse",
1349
- children: [
1350
- (0, l.jsx)("stop", {
1351
- stopColor: "#FFFFFE"
1352
- }),
1353
- (0, l.jsx)("stop", {
1354
- offset: 1,
1355
- stopColor: "#fff"
1356
- })
1357
- ]
1358
- }),
1359
- (0, l.jsxs)("linearGradient", {
1360
- id: "rstest-logo_svg__A",
1361
- x1: 197.03,
1362
- x2: 197.03,
1363
- y1: 108.83,
1364
- y2: 124.46,
1365
- gradientUnits: "userSpaceOnUse",
1366
- children: [
1367
- (0, l.jsx)("stop", {
1368
- stopColor: "#FFFFFE"
1369
- }),
1370
- (0, l.jsx)("stop", {
1371
- offset: 1,
1372
- stopColor: "#fff"
1373
- })
1374
- ]
1375
- }),
1376
- (0, l.jsxs)("linearGradient", {
1377
- id: "rstest-logo_svg__B",
1378
- x1: 26.14,
1379
- x2: 54.22,
1380
- y1: 71.32,
1381
- y2: 168.06,
1382
- gradientUnits: "userSpaceOnUse",
1383
- children: [
1384
- (0, l.jsx)("stop", {
1385
- stopColor: "#FFCB87"
1386
- }),
1387
- (0, l.jsx)("stop", {
1388
- offset: .2,
1389
- stopColor: "#FFCB87"
1390
- }),
1391
- (0, l.jsx)("stop", {
1392
- offset: .7,
1393
- stopColor: "#FFBC9C"
1394
- }),
1395
- (0, l.jsx)("stop", {
1396
- offset: 1,
1397
- stopColor: "#FFBC9C"
1398
- })
1399
- ]
1400
- }),
1401
- (0, l.jsxs)("linearGradient", {
1402
- id: "rstest-logo_svg__C",
1403
- x1: 3.02,
1404
- x2: 53.59,
1405
- y1: 102.25,
1406
- y2: 152.08,
1407
- gradientUnits: "userSpaceOnUse",
1408
- children: [
1409
- (0, l.jsx)("stop", {
1410
- stopColor: "#FFCB87"
1411
- }),
1412
- (0, l.jsx)("stop", {
1413
- offset: .3,
1414
- stopColor: "#F79E75"
1415
- }),
1416
- (0, l.jsx)("stop", {
1417
- offset: .5,
1418
- stopColor: "#EF876D"
1419
- }),
1420
- (0, l.jsx)("stop", {
1421
- offset: 1,
1422
- stopColor: "#ED8870"
1423
- })
1424
- ]
1425
- }),
1426
- (0, l.jsxs)("linearGradient", {
1427
- id: "rstest-logo_svg__D",
1428
- x1: 50.38,
1429
- x2: 50.97,
1430
- y1: 111.28,
1431
- y2: 128.36,
1432
- gradientUnits: "userSpaceOnUse",
1433
- children: [
1434
- (0, l.jsx)("stop", {
1435
- stopColor: "#FFFFFE"
1436
- }),
1437
- (0, l.jsx)("stop", {
1438
- offset: 1,
1439
- stopColor: "#fff"
1440
- })
1441
- ]
1442
- }),
1443
- (0, l.jsxs)("linearGradient", {
1444
- id: "rstest-logo_svg__E",
1445
- x1: 32.78,
1446
- x2: 33.91,
1447
- y1: 86.96,
1448
- y2: 119.34,
1449
- gradientUnits: "userSpaceOnUse",
1450
- children: [
1451
- (0, l.jsx)("stop", {
1452
- stopColor: "#FFF9CE"
1453
- }),
1454
- (0, l.jsx)("stop", {
1455
- offset: 1,
1456
- stopColor: "#fff"
1457
- })
1458
- ]
1459
- })
1460
- ]
1461
- })
1462
- ]
1463
- });
1464
- let V = (e)=>{
1465
- let { theme: t, onThemeToggle: s, isConnected: r, token: o, counts: a } = e, [i, c] = (0, n.useState)(0), d = (0, n.useRef)(a);
1466
- (0, n.useEffect)(()=>{
1467
- let e = d.current;
1468
- if (e.pass !== a.pass || e.fail !== a.fail || e.running !== a.running) {
1469
- let e = setTimeout(()=>{
1470
- c((e)=>e + 1);
1471
- }, 100);
1472
- return ()=>clearTimeout(e);
1473
- }
1474
- d.current = a;
1475
- }, [
1476
- a
1477
- ]);
1478
- let h = a.idle + a.running + a.pass + a.fail + a.skip, f = (e)=>0 === h ? 0 : e / h * 100, x = f(a.pass), m = f(a.fail), g = f(a.running), j = {
1479
- system: L.A,
1480
- light: q.A,
1481
- dark: H.A
1482
- }[t];
1483
- return (0, l.jsxs)("div", {
1484
- className: "relative flex h-[48px] items-center justify-between px-4",
1485
- "data-testid": "sidebar-header",
1486
- style: {
1487
- background: o.colorBgContainer
1488
- },
1489
- children: [
1490
- (0, l.jsxs)("div", {
1491
- className: "flex items-center gap-2",
1492
- children: [
1493
- (0, l.jsx)(J, {
1494
- className: "h-6 transition-all"
1495
- }),
1496
- (0, l.jsxs)("div", {
1497
- className: "flex flex-col leading-none",
1498
- children: [
1499
- (0, l.jsx)("span", {
1500
- className: "text-[13px] font-bold tracking-tight",
1501
- children: "Rstest"
1502
- }),
1503
- (0, l.jsx)("span", {
1504
- className: "font-mono text-[9px] opacity-40 uppercase tracking-widest",
1505
- children: "Browser"
1506
- })
1507
- ]
1508
- })
1509
- ]
1510
- }),
1511
- (0, l.jsxs)("div", {
1512
- className: "flex items-center gap-3",
1513
- children: [
1514
- (0, l.jsx)(u.A, {
1515
- title: r ? "Connected" : "Connecting...",
1516
- mouseLeaveDelay: 0,
1517
- children: (0, l.jsx)("span", {
1518
- className: "inline-flex h-2 w-2 cursor-default rounded-full",
1519
- style: {
1520
- backgroundColor: r ? "var(--ds-green-700)" : "var(--accents-4)"
1521
- }
1522
- })
1523
- }),
1524
- (0, l.jsx)(u.A, {
1525
- title: {
1526
- system: "Theme: System",
1527
- light: "Theme: Light",
1528
- dark: "Theme: Dark"
1529
- }[t],
1530
- mouseLeaveDelay: 0,
1531
- children: (0, l.jsx)(p.Ay, {
1532
- type: "text",
1533
- size: "small",
1534
- className: "flex h-8 w-8 items-center justify-center rounded-md p-0",
1535
- "data-testid": "theme-toggle",
1536
- icon: (0, l.jsx)(j, {
1537
- size: 15,
1538
- strokeWidth: 2.5
1539
- }),
1540
- onClick: ()=>{
1541
- "system" === t ? s("light") : "light" === t ? s("dark") : s("system");
1542
- },
1543
- style: {
1544
- color: o.colorTextDescription
1545
- }
1546
- })
1547
- })
1548
- ]
1549
- }),
1550
- (0, l.jsxs)("div", {
1551
- className: "absolute inset-x-0 bottom-0 h-[1px] overflow-hidden",
1552
- style: {
1553
- background: "var(--accents-2)"
1554
- },
1555
- children: [
1556
- (0, l.jsx)("div", {
1557
- className: `absolute inset-y-0 left-0 h-full transition-all duration-500 ease-[cubic-bezier(0.4,0,0.2,1)] ${i > 0 ? "progress-flash-active" : ""}`,
1558
- style: {
1559
- width: `${x}%`,
1560
- background: "var(--ds-green-700)",
1561
- zIndex: 3,
1562
- color: "var(--ds-green-700)"
1563
- }
1564
- }, `pass-${i}`),
1565
- (0, l.jsx)("div", {
1566
- className: `absolute inset-y-0 left-0 h-full transition-all duration-500 ease-[cubic-bezier(0.4,0,0.2,1)] ${i > 0 ? "progress-flash-active" : ""}`,
1567
- style: {
1568
- width: `${x + m}%`,
1569
- background: "var(--ds-red-800)",
1570
- zIndex: 2,
1571
- color: "var(--ds-red-800)"
1572
- }
1573
- }, `fail-${i}`),
1574
- (0, l.jsx)("div", {
1575
- className: `absolute inset-y-0 left-0 h-full transition-all duration-500 ease-[cubic-bezier(0.4,0,0.2,1)] ${i > 0 ? "progress-flash-active" : ""}`,
1576
- style: {
1577
- width: `${x + m + g}%`,
1578
- background: "var(--ds-amber-700)",
1579
- zIndex: 1,
1580
- color: "var(--ds-amber-700)"
1581
- }
1582
- }, `run-${i}`)
1583
- ]
1584
- })
1585
- ]
1586
- });
1587
- };
1588
- var X = s(706), K = s(2021), Y = s(9734), Q = s(4669), ee = s(9367), et = s(3346);
1589
- let es = (0, n.memo)((e)=>{
1590
- let { counts: t, isRunning: s } = e, r = s && 0 === t.running;
1591
- return (0, l.jsx)("div", {
1592
- className: "flex h-6 cursor-default select-none items-center",
1593
- children: (0, l.jsx)("div", {
1594
- className: "flex items-center gap-1.5",
1595
- children: [
1596
- {
1597
- key: "pass",
1598
- label: "passed",
1599
- color: "green"
1600
- },
1601
- {
1602
- key: "fail",
1603
- label: "failed",
1604
- color: "red"
1605
- },
1606
- {
1607
- key: "running",
1608
- label: "running",
1609
- color: "amber"
1610
- }
1611
- ].map((e)=>{
1612
- let s = t[e.key] || 0, o = "running" === e.key;
1613
- return (0, l.jsxs)(et.A, {
1614
- className: `m-0 flex items-center gap-1 px-2 py-0 border-0 ${o && r ? "animate-pulse" : ""}`,
1615
- style: {
1616
- display: "flex",
1617
- alignItems: "center",
1618
- backgroundColor: `var(--ds-${e.color}-200)`,
1619
- color: `var(--ds-${e.color}-900)`,
1620
- borderRadius: "100px",
1621
- fontSize: "11px",
1622
- height: "20px",
1623
- lineHeight: "normal",
1624
- fontWeight: 700
1625
- },
1626
- children: [
1627
- (0, l.jsx)("span", {
1628
- className: "font-mono",
1629
- style: {
1630
- fontVariantNumeric: "tabular-nums",
1631
- fontWeight: "inherit"
1632
- },
1633
- children: s
1634
- }),
1635
- (0, l.jsx)("span", {
1636
- className: "text-[10px] uppercase tracking-wider",
1637
- style: {
1638
- fontWeight: "inherit"
1639
- },
1640
- children: e.label
1641
- })
1642
- ]
1643
- }, e.label);
1644
- })
1645
- })
1646
- });
1647
- }), el = (e)=>{
1648
- let { token: t, filterText: s, onFilterChange: r, isAllExpanded: o, onToggleExpandAll: a, onRerun: i, counts: n, isRunning: c } = e;
1649
- return (0, l.jsxs)("div", {
1650
- className: "flex flex-col gap-3 px-4 py-3",
1651
- "data-testid": "test-files-header",
1652
- style: {
1653
- background: t.colorBgContainer
1654
- },
1655
- children: [
1656
- (0, l.jsxs)("div", {
1657
- className: "flex items-center justify-between",
1658
- children: [
1659
- (0, l.jsx)("div", {
1660
- children: (0, l.jsx)(es, {
1661
- counts: n,
1662
- isRunning: c
1663
- })
1664
- }),
1665
- (0, l.jsxs)("div", {
1666
- className: "flex items-center gap-1",
1667
- children: [
1668
- (0, l.jsx)(u.A, {
1669
- title: o ? "Collapse all" : "Expand all",
1670
- mouseLeaveDelay: 0,
1671
- children: (0, l.jsx)(p.Ay, {
1672
- type: "text",
1673
- size: "small",
1674
- icon: o ? (0, l.jsx)(K.A, {
1675
- size: 13,
1676
- strokeWidth: 2.5
1677
- }) : (0, l.jsx)(Y.A, {
1678
- size: 13,
1679
- strokeWidth: 2.5
1680
- }),
1681
- onClick: a,
1682
- className: "flex h-8 w-8 items-center justify-center rounded-md p-0",
1683
- "data-testid": "test-files-toggle-expand",
1684
- style: {
1685
- color: t.colorTextDescription
1686
- }
1687
- })
1688
- }),
1689
- (0, l.jsx)(u.A, {
1690
- title: "Re-run all tests",
1691
- mouseLeaveDelay: 0,
1692
- children: (0, l.jsx)(p.Ay, {
1693
- type: "text",
1694
- size: "small",
1695
- icon: (0, l.jsx)(Q.A, {
1696
- size: 15,
1697
- strokeWidth: 2.5
1698
- }),
1699
- onClick: i,
1700
- disabled: !i,
1701
- className: "flex h-8 w-8 items-center justify-center rounded-md p-0",
1702
- "data-testid": "test-files-rerun-all",
1703
- style: {
1704
- color: t.colorTextDescription
1705
- }
1706
- })
1707
- })
1708
- ]
1709
- })
1710
- ]
1711
- }),
1712
- (0, l.jsx)(X.A, {
1713
- placeholder: "Search tests...",
1714
- prefix: (0, l.jsx)(ee.A, {
1715
- size: 14,
1716
- strokeWidth: 2.5,
1717
- className: "opacity-40"
1718
- }),
1719
- value: s,
1720
- onChange: (e)=>r(e.target.value),
1721
- allowClear: !0,
1722
- className: "rounded-md py-1.5",
1723
- "data-testid": "test-files-search"
1724
- })
1725
- ]
1726
- });
1727
- };
1728
- var er = s(1332), eo = s(2031), ea = s(3357), ei = s(8949), en = s(8061);
1729
- let ec = (e)=>`__project__${e}`, ed = (e, t)=>`${e}::suite::${t.join("::")}`, eu = (e, t)=>{
1730
- let s = e;
1731
- for(let e = 1; e <= t.length; e++)s = ed(s, t.slice(0, e));
1732
- return s;
1733
- }, ep = (e, t)=>`${e}::case::${t}`, eh = [
1734
- "pass",
1735
- "fail",
1736
- "skip"
1737
- ], ef = (e)=>{
1738
- let { icon: t, iconColor: s, status: r, label: o, caseId: a, onRerun: i, buttonTextColor: c } = e, d = (0, n.useRef)(null), [h, f] = (0, n.useState)(0), x = eh.includes(r);
1739
- return (0, n.useEffect)(()=>{
1740
- x && null !== d.current && d.current !== r && f((e)=>e + 1), d.current = r;
1741
- }, [
1742
- r,
1743
- x
1744
- ]), (0, l.jsxs)("div", {
1745
- className: "group grid w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2",
1746
- "data-testid": "test-case-title",
1747
- "data-test-case": a,
1748
- children: [
1749
- t && (0, l.jsx)("span", {
1750
- className: `flex w-[16px] shrink-0 items-center justify-center ${h > 0 ? "status-icon-flash" : ""}`,
1751
- style: {
1752
- color: s
1753
- },
1754
- children: t
1755
- }, h),
1756
- (0, l.jsx)(u.A, {
1757
- title: o,
1758
- mouseLeaveDelay: 0,
1759
- children: (0, l.jsx)("span", {
1760
- className: "truncate text-[13px] tracking-tight opacity-70",
1761
- children: o
1762
- })
1763
- }),
1764
- (0, l.jsx)("div", {
1765
- className: "opacity-0 transition-opacity duration-200 group-hover:opacity-100",
1766
- children: (0, l.jsx)(u.A, {
1767
- title: "Re-run this test",
1768
- mouseLeaveDelay: 0,
1769
- children: (0, l.jsx)(p.Ay, {
1770
- type: "text",
1771
- size: "small",
1772
- icon: (0, l.jsx)(Q.A, {
1773
- size: 14,
1774
- strokeWidth: 2.5
1775
- }),
1776
- disabled: !i,
1777
- onClick: (e)=>{
1778
- e.stopPropagation(), i?.();
1779
- },
1780
- className: "inline-flex h-5 w-5 items-center justify-center p-0",
1781
- "data-testid": "test-case-rerun",
1782
- style: {
1783
- color: c
1784
- }
1785
- })
1786
- })
1787
- })
1788
- ]
1789
- });
1790
- }, ex = [
1791
- "pass",
1792
- "fail"
1793
- ], em = (e)=>{
1794
- let { icon: t, iconColor: s, status: r, relativePath: o, filePath: a, onOpen: i, onRerun: c, textColor: d } = e, h = (0, n.useRef)(null), [f, m] = (0, n.useState)(0), g = ex.includes(r);
1795
- return (0, n.useEffect)(()=>{
1796
- g && null !== h.current && h.current !== r && m((e)=>e + 1), h.current = r;
1797
- }, [
1798
- r,
1799
- g
1800
- ]), (0, l.jsxs)("div", {
1801
- className: "group grid w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2",
1802
- "data-testid": "test-file-title",
1803
- "data-test-file": a,
1804
- children: [
1805
- (0, l.jsx)("span", {
1806
- className: `flex w-[16px] shrink-0 items-center justify-center ${f > 0 ? "status-icon-flash" : ""}`,
1807
- style: {
1808
- color: s
1809
- },
1810
- children: t
1811
- }, f),
1812
- (0, l.jsx)(u.A, {
1813
- title: o,
1814
- styles: {
1815
- container: {
1816
- whiteSpace: "nowrap",
1817
- maxWidth: "none"
1818
- }
1819
- },
1820
- mouseLeaveDelay: 0,
1821
- children: (0, l.jsx)("span", {
1822
- className: "truncate font-mono text-[12px] font-medium tracking-tight opacity-90",
1823
- children: o
1824
- })
1825
- }),
1826
- (0, l.jsxs)("div", {
1827
- className: "flex items-center gap-1 opacity-0 transition-opacity duration-200 group-hover:opacity-100",
1828
- children: [
1829
- (0, l.jsx)(u.A, {
1830
- title: "Open in editor",
1831
- mouseLeaveDelay: 0,
1832
- children: (0, l.jsx)(p.Ay, {
1833
- type: "text",
1834
- size: "small",
1835
- icon: (0, l.jsx)(x.A, {
1836
- size: 14,
1837
- strokeWidth: 2.5
1838
- }),
1839
- onClick: (e)=>{
1840
- e.stopPropagation(), i();
1841
- },
1842
- className: "inline-flex h-5 w-5 items-center justify-center p-0",
1843
- "data-testid": "test-file-open-editor",
1844
- style: {
1845
- color: d
1846
- }
1847
- })
1848
- }),
1849
- (0, l.jsx)(u.A, {
1850
- title: "Re-run this file",
1851
- mouseLeaveDelay: 0,
1852
- children: (0, l.jsx)(p.Ay, {
1853
- type: "text",
1854
- size: "small",
1855
- icon: (0, l.jsx)(Q.A, {
1856
- size: 14,
1857
- strokeWidth: 2.5
1858
- }),
1859
- disabled: !c,
1860
- onClick: (e)=>{
1861
- e.stopPropagation(), c?.();
1862
- },
1863
- className: "inline-flex h-5 w-5 items-center justify-center p-0",
1864
- "data-testid": "test-file-rerun",
1865
- style: {
1866
- color: d
1867
- }
1868
- })
1869
- })
1870
- ]
1871
- })
1872
- ]
1873
- });
1874
- }, eg = [
1875
- "pass",
1876
- "fail",
1877
- "skip"
1878
- ], ej = (e)=>{
1879
- let { icon: t, iconColor: s, status: r, name: o, fullName: a, onRerun: i, buttonTextColor: c } = e, d = (0, n.useRef)(null), [h, f] = (0, n.useState)(0), x = eg.includes(r);
1880
- return (0, n.useEffect)(()=>{
1881
- x && null !== d.current && d.current !== r && f((e)=>e + 1), d.current = r;
1882
- }, [
1883
- r,
1884
- x
1885
- ]), (0, l.jsxs)("div", {
1886
- className: "group grid w-full grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2",
1887
- "data-testid": "test-suite-title",
1888
- "data-test-suite": a,
1889
- children: [
1890
- t && (0, l.jsx)("span", {
1891
- className: `flex w-[16px] shrink-0 items-center justify-center ${h > 0 ? "status-icon-flash" : ""}`,
1892
- style: {
1893
- color: s
1894
- },
1895
- children: t
1896
- }, h),
1897
- (0, l.jsx)(u.A, {
1898
- title: o,
1899
- mouseLeaveDelay: 0,
1900
- children: (0, l.jsx)("span", {
1901
- className: "truncate text-[13px] font-medium tracking-tight opacity-80",
1902
- children: o
1903
- })
1904
- }),
1905
- (0, l.jsx)("div", {
1906
- className: "opacity-0 transition-opacity duration-200 group-hover:opacity-100",
1907
- children: (0, l.jsx)(u.A, {
1908
- title: "Re-run this suite",
1909
- mouseLeaveDelay: 0,
1910
- children: (0, l.jsx)(p.Ay, {
1911
- type: "text",
1912
- size: "small",
1913
- icon: (0, l.jsx)(Q.A, {
1914
- size: 14,
1915
- strokeWidth: 2.5
1916
- }),
1917
- disabled: !i,
1918
- onClick: (e)=>{
1919
- e.stopPropagation(), i?.();
1920
- },
1921
- className: "inline-flex h-5 w-5 items-center justify-center p-0",
1922
- "data-testid": "test-suite-rerun",
1923
- style: {
1924
- color: c
1925
- }
1926
- })
1927
- })
1928
- })
1929
- ]
1930
- });
1931
- }, ev = (e)=>{
1932
- let { testFiles: t, statusMap: s, caseMap: r, rootPath: o, projects: a, loading: i, connected: c, openFiles: d, activeFile: u, token: p, filterText: h, onExpandChange: f, onSelect: x, onRerunFile: j, onRerunTestCase: v } = e, { filteredTestFiles: y, filteredCaseMap: _ } = (0, n.useMemo)(()=>{
1933
- if (!h.trim()) return {
1934
- filteredTestFiles: t,
1935
- filteredCaseMap: r
1936
- };
1937
- let e = h.toLowerCase(), s = [], l = {};
1938
- for (let o of t){
1939
- let t = o.testPath, a = t.toLowerCase().includes(e), i = r[t] ?? {}, n = {};
1940
- for (let [t, s] of Object.entries(i))(s.name.toLowerCase().includes(e) || s.fullName.toLowerCase().includes(e)) && (n[t] = s);
1941
- (a || Object.keys(n).length > 0) && (s.push(o), l[t] = a ? i : n);
1942
- }
1943
- return {
1944
- filteredTestFiles: s,
1945
- filteredCaseMap: l
1946
- };
1947
- }, [
1948
- t,
1949
- r,
1950
- h
1951
- ]), C = (0, n.useCallback)((e, t)=>{
1952
- if (0 === t.length) return [
1953
- {
1954
- key: `${e}::__empty`,
1955
- title: (0, l.jsx)("span", {
1956
- className: "text-xs text-(--muted-foreground)",
1957
- children: "No test cases reported yet"
1958
- }),
1959
- isLeaf: !0,
1960
- selectable: !1
1961
- }
1962
- ];
1963
- let s = {
1964
- name: "",
1965
- fullPath: [],
1966
- children: new Map,
1967
- cases: [],
1968
- status: "idle"
1969
- };
1970
- for (let e of t){
1971
- let t = s, l = e.parentNames;
1972
- for(let e = 0; e < l.length; e++){
1973
- let s = l[e], r = l.slice(0, e + 1);
1974
- t.children.has(s) || t.children.set(s, {
1975
- name: s,
1976
- fullPath: r,
1977
- children: new Map,
1978
- cases: [],
1979
- status: "idle"
1980
- }), t = t.children.get(s);
1981
- }
1982
- t.cases.push(e);
1983
- }
1984
- let r = (e)=>{
1985
- let t = [];
1986
- for (let s of e.children.values())t.push(r(s));
1987
- for (let s of e.cases)t.push(s.status);
1988
- return t.some((e)=>"fail" === e) ? "fail" : t.some((e)=>"running" === e) ? "running" : t.every((e)=>"pass" === e) ? "pass" : t.every((e)=>"skip" === e) ? "skip" : t.some((e)=>"pass" === e) ? "pass" : "idle";
1989
- }, o = (t, s)=>{
1990
- let a = [];
1991
- for (let i of t.children.values()){
1992
- let t = r(i), n = b[t], d = ed(s, i.fullPath), u = i.fullPath.join(" ");
1993
- a.push({
1994
- key: d,
1995
- title: (0, l.jsx)(ej, {
1996
- icon: n.icon,
1997
- iconColor: n.color,
1998
- status: t,
1999
- name: i.name,
2000
- fullName: u,
2001
- onRerun: c ? ()=>{
2002
- v(e, u);
2003
- } : void 0,
2004
- buttonTextColor: p.colorTextSecondary
2005
- }),
2006
- children: o(i, d),
2007
- selectable: !1
2008
- });
2009
- }
2010
- for (let r of t.cases){
2011
- let t = b[r.status];
2012
- a.push({
2013
- key: ep(s, r.id),
2014
- title: (0, l.jsx)(ef, {
2015
- icon: t.icon,
2016
- iconColor: t.color,
2017
- status: r.status,
2018
- label: r.name,
2019
- caseId: r.id,
2020
- onRerun: c ? ()=>{
2021
- v(e, r.fullName);
2022
- } : void 0,
2023
- buttonTextColor: p.colorTextSecondary
2024
- }),
2025
- isLeaf: !0,
2026
- selectable: !1
2027
- });
2028
- }
2029
- return a;
2030
- };
2031
- return o(s, e);
2032
- }, [
2033
- c,
2034
- v,
2035
- p.colorTextSecondary
2036
- ]), k = (0, n.useMemo)(()=>{
2037
- let e = [
2038
- ...new Set(y.map((e)=>e.projectName))
2039
- ], t = new Map;
2040
- for (let e of a)t.set(e.name, e.projectRoot);
2041
- let r = (e, t)=>{
2042
- let r = e.testPath, a = s[r] ?? "idle", i = w[a], n = m(r, t ?? o), d = Object.values(_[r] ?? {});
2043
- return {
2044
- key: r,
2045
- title: (0, l.jsx)(em, {
2046
- icon: i.icon,
2047
- iconColor: i.color,
2048
- status: a,
2049
- relativePath: n,
2050
- filePath: r,
2051
- onOpen: ()=>g(r),
2052
- onRerun: c ? ()=>{
2053
- j(r);
2054
- } : void 0,
2055
- textColor: p.colorTextSecondary
2056
- }),
2057
- children: C(r, d)
2058
- };
2059
- };
2060
- return e.length > 1 ? e.map((e)=>{
2061
- let o = y.filter((t)=>t.projectName === e), a = ec(e), i = t.get(e), n = o.map((e)=>s[e.testPath] ?? "idle"), c = "idle";
2062
- n.some((e)=>"fail" === e) ? c = "fail" : n.some((e)=>"running" === e) ? c = "running" : n.length > 0 && n.every((e)=>"pass" === e) && (c = "pass");
2063
- let d = w[c];
2064
- return {
2065
- key: a,
2066
- title: (0, l.jsxs)("div", {
2067
- className: "flex items-center gap-1.5",
2068
- "data-testid": "test-project-title",
2069
- "data-test-project": e,
2070
- children: [
2071
- (0, l.jsx)(ea.A, {
2072
- size: 14,
2073
- style: {
2074
- color: d.color
2075
- },
2076
- strokeWidth: 2.5,
2077
- className: "shrink-0"
2078
- }),
2079
- (0, l.jsx)("span", {
2080
- className: "truncate text-sm font-medium",
2081
- style: {
2082
- color: p.colorText
2083
- },
2084
- children: e
2085
- })
2086
- ]
2087
- }),
2088
- children: o.map((e)=>r(e, i)),
2089
- selectable: !1
2090
- };
2091
- }) : y.map((e)=>r(e));
2092
- }, [
2093
- C,
2094
- _,
2095
- c,
2096
- j,
2097
- a,
2098
- o,
2099
- s,
2100
- y,
2101
- p
2102
- ]);
2103
- return i ? (0, l.jsx)("div", {
2104
- className: "space-y-2 p-3",
2105
- children: [
2106
- 1,
2107
- 2,
2108
- 3
2109
- ].map((e)=>(0, l.jsxs)("div", {
2110
- className: "flex items-center gap-2",
2111
- children: [
2112
- (0, l.jsx)(er.A.Avatar, {
2113
- active: !0,
2114
- size: "small",
2115
- shape: "circle"
2116
- }),
2117
- (0, l.jsx)(er.A.Input, {
2118
- active: !0,
2119
- size: "small",
2120
- style: {
2121
- width: `${60 + 10 * e}%`
2122
- }
2123
- })
2124
- ]
2125
- }, e))
2126
- }) : c ? 0 === t.length ? (0, l.jsx)("div", {
2127
- className: "flex h-full items-center justify-center",
2128
- children: (0, l.jsx)("span", {
2129
- className: "text-(--muted-foreground)",
2130
- children: "No test files detected"
2131
- })
2132
- }) : 0 === y.length ? (0, l.jsx)("div", {
2133
- className: "flex h-full items-center justify-center",
2134
- children: (0, l.jsx)("span", {
2135
- className: "text-(--muted-foreground)",
2136
- children: "No matching tests found"
2137
- })
2138
- }) : (0, l.jsx)(eo.A, {
2139
- blockNode: !0,
2140
- "data-testid": "test-files-tree",
2141
- showLine: !1,
2142
- switcherIcon: (e)=>e.expanded ? (0, l.jsx)(ei.A, {
2143
- size: 12,
2144
- strokeWidth: 2.5
2145
- }) : (0, l.jsx)(en.A, {
2146
- size: 12,
2147
- strokeWidth: 2.5
2148
- }),
2149
- showIcon: !0,
2150
- expandAction: "click",
2151
- expandedKeys: d,
2152
- selectedKeys: u ? [
2153
- u
2154
- ] : [],
2155
- onExpand: (e)=>f(e.filter((e)=>"string" == typeof e)),
2156
- onSelect: (e, t)=>{
2157
- let s = t.node.key, l = y.map((e)=>e.testPath);
2158
- "string" == typeof s && l.includes(s) && x(s);
2159
- },
2160
- treeData: k,
2161
- className: "bg-transparent",
2162
- style: {
2163
- marginLeft: "16px"
2164
- }
2165
- }) : (0, l.jsx)("div", {
2166
- className: "flex h-full flex-col items-center justify-center gap-2",
2167
- children: (0, l.jsx)("span", {
2168
- className: "text-(--warning)",
2169
- children: "Reconnecting..."
2170
- })
2171
- });
2172
- }, ey = (e, t)=>Number.isFinite(e) && e > 0 && Number.isFinite(t) && t > 0, e_ = (e)=>{
2173
- if (!e) return {
2174
- mode: "full"
2175
- };
2176
- if ("string" == typeof e && T(e)) return {
2177
- mode: "preset",
2178
- preset: e,
2179
- orientation: "portrait"
2180
- };
2181
- if ("object" == typeof e) {
2182
- let t = Number(e.width), s = Number(e.height);
2183
- if (ey(t, s)) return {
2184
- mode: "responsive",
2185
- width: t,
2186
- height: s
2187
- };
2188
- }
2189
- return {
2190
- mode: "full"
2191
- };
2192
- }, eC = (e, t, s)=>Math.min(s, Math.max(t, e)), ew = (e)=>{
2193
- let { token: t, selection: s, active: r, onResponsiveResize: o, children: a, ...i } = e, c = (0, n.useRef)(null), d = ((e)=>{
2194
- if ("full" === e.mode) return null;
2195
- if ("responsive" === e.mode) return {
2196
- width: e.width,
2197
- height: e.height
2198
- };
2199
- let t = $(e.preset);
2200
- return "landscape" === e.orientation ? {
2201
- width: t.height,
2202
- height: t.width
2203
- } : {
2204
- width: t.width,
2205
- height: t.height
2206
- };
2207
- })(s);
2208
- return ((0, n.useLayoutEffect)(()=>{
2209
- if (!r || "responsive" !== s.mode || !o) return;
2210
- let e = c.current;
2211
- if (!e) return;
2212
- let t = !0, l = new ResizeObserver((e)=>{
2213
- let l = e[0]?.contentRect;
2214
- if (!l) return;
2215
- if (t) {
2216
- t = !1;
2217
- return;
2218
- }
2219
- if (l.width <= 0 || l.height <= 0) return;
2220
- let r = eC(Math.round(l.width), 1, 1e4), a = eC(Math.round(l.height), 1, 1e4);
2221
- (r !== s.width || a !== s.height) && o({
2222
- width: r,
2223
- height: a
2224
- });
2225
- });
2226
- return l.observe(e), ()=>l.disconnect();
2227
- }, [
2228
- r,
2229
- s,
2230
- o
2231
- ]), d) ? (0, l.jsx)("div", {
2232
- className: "flex h-full w-full items-start justify-center p-4 overflow-auto",
2233
- children: (0, l.jsx)("div", {
2234
- ref: c,
2235
- className: "shrink-0 relative group",
2236
- style: {
2237
- width: d.width,
2238
- height: d.height,
2239
- boxSizing: "content-box",
2240
- border: `1px solid ${t.colorBorder}`,
2241
- borderRadius: 0,
2242
- background: t.colorBgContainer,
2243
- overflow: "hidden",
2244
- resize: "responsive" === s.mode ? "both" : "none",
2245
- minWidth: "responsive" === s.mode ? 1 : void 0,
2246
- minHeight: "responsive" === s.mode ? 1 : void 0,
2247
- maxWidth: "responsive" === s.mode ? 1e4 : void 0,
2248
- maxHeight: "responsive" === s.mode ? 1e4 : void 0
2249
- },
2250
- ...i,
2251
- children: a
2252
- })
2253
- }) : (0, l.jsx)("div", {
2254
- className: "h-full w-full",
2255
- style: {
2256
- background: t.colorBgContainer
2257
- },
2258
- ...i,
2259
- children: a
2260
- });
2261
- }, eb = (e)=>"object" == typeof e && null !== e, ek = (e, t)=>"string" == typeof e[t], eS = (e)=>{
2262
- let { filePath: t, test: s, status: l, previousCase: r } = e, o = (s.parentNames ?? []).filter(Boolean), a = [
2263
- ...o,
2264
- s.name
2265
- ].join(" ") || s.name;
2266
- return {
2267
- id: s.testId,
2268
- name: s.name,
2269
- parentNames: o,
2270
- fullName: a,
2271
- status: l,
2272
- filePath: s.testPath || r?.filePath || t,
2273
- location: s.location ?? r?.location
2274
- };
2275
- }, eF = (e)=>"object" == typeof e && null !== e && "requestId" in e && "string" == typeof e.requestId ? e.requestId : "unknown-request", eN = async (e, t, s)=>{
2276
- if (null === s || "function" != typeof s.postMessage) return;
2277
- let l = (e)=>{
2278
- s.postMessage({
2279
- type: r,
2280
- payload: e
2281
- }, "*");
2282
- };
2283
- if ("unknown-request" === eF(t)) return void l({
2284
- requestId: eF(t),
2285
- error: "Invalid dispatch request payload: expected an object with string requestId."
2286
- });
2287
- if (!e) return void l({
2288
- requestId: t.requestId,
2289
- error: "Container RPC is not ready for dispatch."
2290
- });
2291
- try {
2292
- l(await e.dispatch(t));
2293
- } catch (e) {
2294
- l({
2295
- requestId: t.requestId,
2296
- error: e instanceof Error ? e.message : String(e)
2297
- });
2298
- }
2299
- }, eA = [
2300
- 1e3,
2301
- 2e3,
2302
- 4e3,
2303
- 8e3,
2304
- 16e3,
2305
- 3e4
2306
- ], eP = (e, t)=>t && e.projectRunnerUrls?.[t] ? e.projectRunnerUrls[t] : e.runnerUrl, eM = function(e, t, s) {
2307
- let l = arguments.length > 3 && void 0 !== arguments[3] && arguments[3], r = arguments.length > 4 ? arguments[4] : void 0, o = new URL("/runner.html", t || window.location.origin);
2308
- return o.searchParams.set("testFile", e), s && o.searchParams.set("testNamePattern", s), r && o.searchParams.set("runId", r), l && o.searchParams.set("t", Date.now().toString()), o.toString();
2309
- };
2310
- var ez = s(5999);
2311
- let eR = function() {
2312
- for(var e = arguments.length, t = Array(e), s = 0; s < e; s++)t[s] = arguments[s];
2313
- window.__RSTEST_BROWSER_OPTIONS__?.debug === !0 && console.log(...t);
2314
- }, eO = (e)=>{
2315
- try {
2316
- return new URL(e.src, window.location.href).searchParams.get("runId") ?? void 0;
2317
- } catch {
2318
- return;
2319
- }
2320
- }, eU = (e)=>Array.from(document.querySelectorAll("iframe[data-test-file]")).find((t)=>t.dataset.testFile === e), eE = (e)=>{
2321
- let { options: t, theme: s, setTheme: a } = e, { token: i } = o.A.useToken(), [c, u] = (0, n.useState)([]), [p, h] = (0, n.useState)(null), [f, x] = (0, n.useState)({}), [m, g] = (0, n.useState)({}), [j, v] = (0, n.useState)([]), [y, _] = (0, n.useState)(""), [C, w] = (0, n.useState)({}), b = (0, n.useCallback)((e)=>{
2322
- let s = 5381;
2323
- for(let e = 0; e < t.rootPath.length; e++)s = 33 * s ^ t.rootPath.charCodeAt(e);
2324
- return `rstest-viewport:${(s >>> 0).toString(16)}:${e}`;
2325
- }, [
2326
- t.rootPath
2327
- ]), k = (0, n.useCallback)((e)=>{
2328
- try {
2329
- let t = localStorage.getItem(b(e));
2330
- if (!t) return null;
2331
- let s = JSON.parse(t);
2332
- if (!s || "object" != typeof s) return null;
2333
- let l = s.mode;
2334
- if ("full" === l) return {
2335
- mode: "full"
2336
- };
2337
- if ("responsive" === l) {
2338
- let e = Number(s.width), t = Number(s.height);
2339
- return ey(e, t) ? {
2340
- mode: "responsive",
2341
- width: e,
2342
- height: t
2343
- } : null;
2344
- }
2345
- if ("preset" === l) {
2346
- let e = s.preset, t = s.orientation;
2347
- if (T(e) && ("portrait" === t || "landscape" === t)) return {
2348
- mode: "preset",
2349
- preset: e,
2350
- orientation: t
2351
- };
2352
- }
2353
- return null;
2354
- } catch {
2355
- return null;
2356
- }
2357
- }, [
2358
- b
2359
- ]), S = (0, n.useCallback)((e, t)=>{
2360
- try {
2361
- localStorage.setItem(b(e), JSON.stringify(t));
2362
- } catch {}
2363
- }, [
2364
- b
2365
- ]), [F, N] = (0, n.useState)(()=>{
2366
- let e = {};
2367
- for (let s of t.projects ?? [])e[s.name] = k(s.name) ?? e_(s.viewport);
2368
- return e;
2369
- });
2370
- (0, n.useEffect)(()=>{
2371
- N((e)=>{
2372
- let s = {
2373
- ...e
2374
- };
2375
- for (let e of t.projects ?? [])s[e.name] || (s[e.name] = k(e.name) ?? e_(e.viewport));
2376
- return s;
2377
- });
2378
- }, [
2379
- t.projects,
2380
- k
2381
- ]);
2382
- let A = (0, n.useCallback)(async (e, s)=>{
2383
- eR("[Container] handleReloadTestFile called:", e, s), h(e);
2384
- let l = document.querySelector(`iframe[data-test-file="${e}"]`);
2385
- if (eR("[Container] Found iframe:", l), !l) throw Error(`Cannot reload test file "${e}": iframe not found`);
2386
- let r = "function" == typeof globalThis.crypto?.randomUUID ? globalThis.crypto.randomUUID() : `run-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
2387
- w((t)=>({
2388
- ...t,
2389
- [e]: r
2390
- })), x((t)=>({
2391
- ...t,
2392
- [e]: "running"
2393
- })), g((t)=>{
2394
- let s = t[e] ?? {}, l = {};
2395
- for (let [e, t] of Object.entries(s))l[e] = {
2396
- ...t,
2397
- status: "running"
2398
- };
2399
- return {
2400
- ...t,
2401
- [e]: l
2402
- };
2403
- });
2404
- let o = eM(e, eP(t, l.getAttribute("data-test-project") ?? void 0), s, !1, r);
2405
- return eR("[Container] Setting iframe.src to:", o), l.src = o, {
2406
- runId: r
2407
- };
2408
- }, [
2409
- t.runnerUrl,
2410
- t.projectRunnerUrls
2411
- ]), { rpc: P, loading: M, connected: z } = ((e, t, s)=>{
2412
- let [l, r] = (0, n.useState)(null), [o, a] = (0, n.useState)(!0), [i, c] = (0, n.useState)(!1), d = (0, n.useRef)(e), u = (0, n.useRef)(s), p = (0, n.useRef)(null);
2413
- return (0, n.useEffect)(()=>{
2414
- d.current = e;
2415
- }, [
2416
- e
2417
- ]), (0, n.useEffect)(()=>{
2418
- u.current = s;
2419
- }, [
2420
- s
2421
- ]), (0, n.useEffect)(()=>{
2422
- if (!t) return void a(!1);
2423
- let e = null, s = null, l = 0, o = null, i = !0, n = ()=>{
2424
- let h;
2425
- if (!i) return;
2426
- p.current = e = new WebSocket((h = "https:" === window.location.protocol ? "wss:" : "ws:", `${h}//${window.location.hostname}:${t}`));
2427
- let f = new WeakMap, x = {
2428
- onTestFileUpdate (e) {
2429
- eR("[Container RPC] onTestFileUpdate called:", e), d.current(e);
2430
- },
2431
- async reloadTestFile (e, t) {
2432
- if (eR("[Container RPC] reloadTestFile called:", e, t), !u.current) throw Error("reloadTestFile handler is not available");
2433
- return u.current(e, t);
2434
- }
2435
- };
2436
- e.onopen = ()=>{
2437
- i && e && (eR("[Container] WebSocket connected"), l = 0, c(!0), r(s = (0, ez.L)(x, {
2438
- timeout: -1,
2439
- post: (t)=>{
2440
- e?.readyState === WebSocket.OPEN && e.send(JSON.stringify(t));
2441
- },
2442
- on: (t)=>{
2443
- if (!e) return;
2444
- let s = (e)=>{
2445
- try {
2446
- let s = JSON.parse(e.data);
2447
- t(s);
2448
- } catch {}
2449
- };
2450
- f.set(t, s), e.addEventListener("message", s);
2451
- },
2452
- off: (t)=>{
2453
- if (!e) return;
2454
- let s = f.get(t);
2455
- s && (e.removeEventListener("message", s), f.delete(t));
2456
- }
2457
- })), s.getTestFiles().then((e)=>{
2458
- i && (d.current(e), a(!1));
2459
- }).catch(()=>{
2460
- i && a(!1);
2461
- }));
2462
- }, e.onclose = ()=>{
2463
- if (p.current !== e || !i) return;
2464
- eR("[Container] WebSocket disconnected"), s?.$close(Error("Container WebSocket disconnected")), r(null), c(!1);
2465
- let t = eA[Math.min(l, eA.length - 1)];
2466
- eR(`[Container] Reconnecting in ${t}ms (attempt ${l + 1})`), l++, o = setTimeout(()=>{
2467
- i && n();
2468
- }, t);
2469
- }, e.onerror = ()=>{
2470
- i && eR("[Container] WebSocket error");
2471
- };
2472
- };
2473
- return n(), ()=>{
2474
- i = !1, o && clearTimeout(o), s?.$close(Error("Container RPC disposed")), e && e.close();
2475
- };
2476
- }, [
2477
- t
2478
- ]), {
2479
- rpc: l,
2480
- loading: o,
2481
- connected: i
2482
- };
2483
- })(u, t?.wsPort, A);
2484
- (0, n.useEffect)(()=>{
2485
- x((e)=>{
2486
- let t = {};
2487
- for (let s of c)t[s.testPath] = e[s.testPath] ?? "idle";
2488
- return t;
2489
- }), g((e)=>{
2490
- let t = {};
2491
- for (let s of c)t[s.testPath] = e[s.testPath] ?? {};
2492
- return t;
2493
- }), w((e)=>{
2494
- let t = {};
2495
- for (let s of c)e[s.testPath] && (t[s.testPath] = e[s.testPath]);
2496
- return t;
2497
- });
2498
- let e = c.map((e)=>e.testPath);
2499
- v((t)=>t.filter((t)=>e.includes(t))), h((t)=>!t && c.length > 0 || t && !e.includes(t) && c.length > 0 ? c[0].testPath : t);
2500
- }, [
2501
- c
2502
- ]), (0, n.useEffect)(()=>{
2503
- P && z && P.onRunnerFramesReady(c.map((e)=>e.testPath)).catch((e)=>{
2504
- eR("[Container RPC] Failed to notify runner frames ready:", e);
2505
- });
2506
- }, [
2507
- P,
2508
- z,
2509
- c
2510
- ]);
2511
- let R = (0, n.useCallback)((e)=>"pass" === e ? "pass" : "fail" === e ? "fail" : "skip" === e || "todo" === e ? "skip" : "running", []), O = (0, n.useCallback)((e)=>{
2512
- h(e);
2513
- }, []), U = (0, n.useCallback)((e, t)=>{
2514
- let s = eS({
2515
- filePath: e,
2516
- test: t,
2517
- status: R(t.status)
2518
- });
2519
- g((l)=>{
2520
- let r = l[e] ?? {};
2521
- return {
2522
- ...l,
2523
- [e]: {
2524
- ...r,
2525
- [t.testId]: s
2526
- }
2527
- };
2528
- });
2529
- }, [
2530
- R
2531
- ]), E = (0, n.useCallback)((e, t)=>{
2532
- g((s)=>{
2533
- let l = s[e] ?? {}, r = ((e)=>{
2534
- let { filePath: t, tests: s, previousCases: l } = e, r = {}, o = (e)=>{
2535
- if ("suite" === e.type) {
2536
- for (let t of e.tests)o(t);
2537
- return;
2538
- }
2539
- let s = l[e.testId];
2540
- r[e.testId] = eS({
2541
- filePath: t,
2542
- test: e,
2543
- status: s?.status ?? "idle",
2544
- previousCase: s
2545
- });
2546
- };
2547
- for (let e of s)o(e);
2548
- return r;
2549
- })({
2550
- filePath: e,
2551
- tests: t.tests,
2552
- previousCases: l
2553
- });
2554
- return {
2555
- ...s,
2556
- [e]: r
2557
- };
2558
- });
2559
- }, []), $ = (0, n.useCallback)((e, t)=>{
2560
- g((s)=>{
2561
- let l = s[e] ?? {};
2562
- return {
2563
- ...s,
2564
- [e]: ((e)=>{
2565
- let { filePath: t, test: s, previousCases: l } = e, r = l[s.testId];
2566
- return {
2567
- ...l,
2568
- [s.testId]: eS({
2569
- filePath: t,
2570
- test: s,
2571
- status: "running",
2572
- previousCase: r
2573
- })
2574
- };
2575
- })({
2576
- filePath: e,
2577
- test: t,
2578
- previousCases: l
2579
- })
2580
- };
2581
- });
2582
- }, []), I = (0, n.useCallback)((e)=>{
2583
- h(e), P && z && P.rerunTest(e);
2584
- }, [
2585
- P,
2586
- z
2587
- ]), B = (0, n.useCallback)((e, t)=>{
2588
- h(e), P && z && P.rerunTest(e, t);
2589
- }, [
2590
- P,
2591
- z
2592
- ]), D = (0, n.useCallback)(()=>{
2593
- if (P && z) for (let e of c)P.rerunTest(e.testPath);
2594
- }, [
2595
- c,
2596
- P,
2597
- z
2598
- ]);
2599
- (0, n.useEffect)(()=>{
2600
- let e = (e)=>{
2601
- let t = e.data?.type !== "__rstest_dispatch__" ? null : e.data.payload;
2602
- if (t) {
2603
- if ("file-start" === t.type) {
2604
- let e = t.payload, s = e.testPath;
2605
- "string" == typeof s && (x((e)=>({
2606
- ...e,
2607
- [s]: "running"
2608
- })), g((e)=>{
2609
- let t = e[s] ?? {}, l = {};
2610
- for (let [e, s] of Object.entries(t))l[e] = {
2611
- ...s,
2612
- status: "running"
2613
- };
2614
- return {
2615
- ...e,
2616
- [s]: l
2617
- };
2618
- }), P?.onTestFileStart({
2619
- testPath: s,
2620
- projectName: e.projectName ?? ""
2621
- }));
2622
- } else if ("case-result" === t.type) {
2623
- let e = t.payload;
2624
- e?.testPath && (U(e.testPath, e), P?.onTestCaseResult(e));
2625
- } else if ("file-complete" === t.type) {
2626
- let s = t.payload, l = s.testPath;
2627
- if ("string" == typeof l) {
2628
- let t = ((e)=>{
2629
- if (e) return Array.from(document.querySelectorAll("iframe[data-test-file]")).find((t)=>t.contentWindow === e);
2630
- })(e.source) ?? eU(l), r = (t ? eO(t) : void 0) ?? C[l], o = "pass" === s.status || "skip" === s.status;
2631
- x((e)=>({
2632
- ...e,
2633
- [l]: o ? "pass" : "fail"
2634
- })), g((e)=>{
2635
- let t = {};
2636
- for (let e of s.results ?? [])e?.testId && (t[e.testId] = eS({
2637
- filePath: l,
2638
- test: e,
2639
- status: R(e.status)
2640
- }));
2641
- return {
2642
- ...e,
2643
- [l]: t
2644
- };
2645
- }), P?.onTestFileComplete({
2646
- ...s,
2647
- runId: r
2648
- });
2649
- }
2650
- } else if ("fatal" === t.type) {
2651
- let e = t.payload;
2652
- p && x((e)=>({
2653
- ...e,
2654
- [p]: "fail"
2655
- })), P?.onFatal(e);
2656
- } else if ("log" === t.type) {
2657
- let e = t.payload;
2658
- P?.onLog(e);
2659
- } else if ("dispatch-rpc-request" === t.type) {
2660
- let s = t.payload;
2661
- if ("runner" === s.namespace && "file-ready" === s.method) {
2662
- let e = s.args;
2663
- "string" == typeof e?.testPath && Array.isArray(e.tests) && E(e.testPath, e);
2664
- }
2665
- if ("runner" === s.namespace && "case-start" === s.method) {
2666
- let e = s.args;
2667
- "string" == typeof e?.testPath && e.testId && $(e.testPath, e);
2668
- }
2669
- let l = ((e)=>{
2670
- if (!eb(e) || "browser" !== e.namespace || "rpc" !== e.method) return null;
2671
- let t = e.args;
2672
- return eb(t) && ek(t, "id") && ek(t, "kind") && ek(t, "method") && ek(t, "testPath") && ek(t, "runId") ? t : null;
2673
- })(s);
2674
- if (l) {
2675
- let t = eU(l.testPath), o = t ? eO(t) : void 0;
2676
- if (!o || l.runId !== o) {
2677
- let t, a;
2678
- null !== (t = e.source) && "function" == typeof t.postMessage && e.source.postMessage({
2679
- type: r,
2680
- payload: (a = s.requestId, {
2681
- requestId: a,
2682
- stale: !0,
2683
- error: `Ignored stale browser RPC request from previous run: ${l.kind}.${l.method} (testPath: ${l.testPath}, runId: ${l.runId}, currentRunId: ${o ?? "none"})`
2684
- })
2685
- }, "*");
2686
- return;
2687
- }
2688
- }
2689
- eN(P, s, e.source);
2690
- }
2691
- }
2692
- };
2693
- return window.addEventListener("message", e), ()=>window.removeEventListener("message", e);
2694
- }, [
2695
- p,
2696
- U,
2697
- R,
2698
- P,
2699
- C,
2700
- E,
2701
- $
2702
- ]);
2703
- let L = (0, n.useMemo)(()=>{
2704
- let e = Object.values(m).flatMap((e)=>Object.values(e));
2705
- return {
2706
- idle: e.filter((e)=>"idle" === e.status).length,
2707
- running: e.filter((e)=>"running" === e.status).length,
2708
- pass: e.filter((e)=>"pass" === e.status).length,
2709
- fail: e.filter((e)=>"fail" === e.status).length,
2710
- skip: e.filter((e)=>"skip" === e.status).length
2711
- };
2712
- }, [
2713
- m
2714
- ]), q = (0, n.useMemo)(()=>Object.values(f).some((e)=>"running" === e), [
2715
- f
2716
- ]), H = (0, n.useMemo)(()=>{
2717
- let e = [], t = [
2718
- ...new Set(c.map((e)=>e.projectName))
2719
- ];
2720
- if (t.length > 1) for (let s of t)e.push(ec(s));
2721
- for (let t of c){
2722
- let s = t.testPath;
2723
- for (let t of (e.push(s), Object.values(m[s] ?? {}))){
2724
- let { parentNames: l } = t;
2725
- for(let t = 1; t <= l.length; t++)e.push(eu(s, l.slice(0, t)));
2726
- }
2727
- }
2728
- return [
2729
- ...new Set(e)
2730
- ];
2731
- }, [
2732
- c,
2733
- m
2734
- ]), J = t.projects?.[0]?.name || t.rootPath.split("/").filter(Boolean).pop() || "default", X = `rstest-split-${J}`, K = (0, n.useMemo)(()=>{
2735
- let e = new Map;
2736
- for (let s of t.projects ?? [])e.set(s.name, s.viewport);
2737
- return e;
2738
- }, [
2739
- t.projects
2740
- ]), Y = (0, n.useMemo)(()=>{
2741
- if (!p) return t.projects?.[0]?.name;
2742
- let e = c.find((e)=>e.testPath === p);
2743
- return e?.projectName ?? t.projects?.[0]?.name;
2744
- }, [
2745
- p,
2746
- c,
2747
- t.projects
2748
- ]), Q = (0, n.useMemo)(()=>Y ? F[Y] ?? e_(K.get(Y)) : {
2749
- mode: "full"
2750
- }, [
2751
- Y,
2752
- F,
2753
- K
2754
- ]), ee = (0, n.useCallback)((e)=>{
2755
- Y && (S(Y, e), N((t)=>({
2756
- ...t,
2757
- [Y]: e
2758
- })));
2759
- }, [
2760
- Y,
2761
- S
2762
- ]), et = (0, n.useCallback)((e, t)=>{
2763
- N((s)=>{
2764
- let l = s[e];
2765
- if (!l || "responsive" !== l.mode || l.width === t.width && l.height === t.height) return s;
2766
- let r = {
2767
- mode: "responsive",
2768
- width: t.width,
2769
- height: t.height
2770
- };
2771
- return S(e, r), {
2772
- ...s,
2773
- [e]: r
2774
- };
2775
- });
2776
- }, [
2777
- S
2778
- ]);
2779
- return (0, l.jsx)("div", {
2780
- className: "m-0 h-screen w-full overflow-hidden p-0",
2781
- style: {
2782
- background: i.colorBgContainer
2783
- },
2784
- children: (0, l.jsxs)(G, {
2785
- direction: "horizontal",
2786
- className: "h-full w-full",
2787
- autoSaveId: X,
2788
- children: [
2789
- (0, l.jsx)(Z, {
2790
- defaultSize: 32,
2791
- minSize: 20,
2792
- maxSize: 50,
2793
- children: (0, l.jsxs)("div", {
2794
- className: "flex h-full flex-col overflow-hidden",
2795
- style: {
2796
- background: i.colorBgContainer
2797
- },
2798
- children: [
2799
- (0, l.jsx)(V, {
2800
- theme: s,
2801
- onThemeToggle: a,
2802
- isConnected: z,
2803
- token: i,
2804
- counts: L
2805
- }),
2806
- (0, l.jsx)(el, {
2807
- token: i,
2808
- filterText: y,
2809
- onFilterChange: _,
2810
- isAllExpanded: H.length > 0 && H.every((e)=>j.includes(e)),
2811
- onToggleExpandAll: ()=>{
2812
- H.length > 0 && H.every((e)=>j.includes(e)) ? v([]) : v(H);
2813
- },
2814
- onRerun: z ? D : void 0,
2815
- counts: L,
2816
- isRunning: q
2817
- }),
2818
- (0, l.jsx)("div", {
2819
- className: "flex-1 overflow-x-hidden overflow-y-auto",
2820
- style: {
2821
- background: i.colorBgContainer
2822
- },
2823
- children: (0, l.jsx)(ev, {
2824
- testFiles: c,
2825
- statusMap: f,
2826
- caseMap: m,
2827
- rootPath: t.rootPath,
2828
- projects: t.projects,
2829
- loading: M,
2830
- connected: z,
2831
- openFiles: j,
2832
- activeFile: p,
2833
- token: i,
2834
- filterText: y,
2835
- onExpandChange: v,
2836
- onSelect: O,
2837
- onRerunFile: I,
2838
- onRerunTestCase: B
2839
- })
2840
- })
2841
- ]
2842
- })
2843
- }),
2844
- (0, l.jsx)(Z, {
2845
- defaultSize: 68,
2846
- minSize: 40,
2847
- children: (0, l.jsxs)("div", {
2848
- className: "flex h-full flex-col overflow-hidden",
2849
- style: {
2850
- background: i.colorBgLayout
2851
- },
2852
- children: [
2853
- (0, l.jsx)(W, {
2854
- token: i,
2855
- activeFile: p ?? void 0,
2856
- rootPath: t.rootPath,
2857
- status: p ? f[p] ?? "idle" : void 0,
2858
- viewport: Y ? Q : void 0,
2859
- onViewportChange: Y ? ee : void 0
2860
- }),
2861
- (0, l.jsxs)("div", {
2862
- className: "relative min-h-0 flex-1 overflow-auto",
2863
- style: {
2864
- background: i.colorBgLayout
2865
- },
2866
- children: [
2867
- !p && (0, l.jsx)(d, {
2868
- message: "Select a test file on the left to view its run output"
2869
- }),
2870
- c.map((e)=>{
2871
- var s;
2872
- let r, o, a, n;
2873
- return r = e.testPath === p, o = C[e.testPath], a = F[e.projectName] ?? e_(K.get(e.projectName)), (0, l.jsx)("div", {
2874
- className: "h-full w-full",
2875
- style: {
2876
- display: r ? "block" : "none"
2877
- },
2878
- children: (0, l.jsx)(ew, {
2879
- token: i,
2880
- selection: a,
2881
- active: r,
2882
- onResponsiveResize: "responsive" === a.mode ? (t)=>et(e.projectName, t) : void 0,
2883
- "data-testid": "responsive" === a.mode ? "viewport-resizer" : void 0,
2884
- "data-test-project": e.projectName,
2885
- "data-test-file": e.testPath,
2886
- children: (0, l.jsx)("iframe", {
2887
- "data-test-file": e.testPath,
2888
- "data-test-project": e.projectName,
2889
- title: `Test runner for ${(n = (s = e.testPath).split("/"))[n.length - 1] || s}`,
2890
- src: o ? eM(e.testPath, eP(t, e.projectName), void 0, !1, o) : "about:blank",
2891
- className: "block h-full w-full border-0",
2892
- style: {
2893
- background: i.colorBgContainer
2894
- },
2895
- onLoad: (s)=>{
2896
- if (!o) return;
2897
- let l = s.currentTarget, r = eO(l) ?? o;
2898
- l.contentWindow && l.contentWindow.postMessage({
2899
- type: "RSTEST_CONFIG",
2900
- payload: {
2901
- ...t,
2902
- testFile: e.testPath,
2903
- runId: r
2904
- }
2905
- }, "*");
2906
- }
2907
- })
2908
- })
2909
- }, e.testPath);
2910
- })
2911
- ]
2912
- })
2913
- ]
2914
- })
2915
- })
2916
- ]
2917
- })
2918
- });
2919
- }, eT = ()=>{
2920
- let e = window.__RSTEST_BROWSER_OPTIONS__, [t, s] = (0, n.useState)("dark"), [r, c] = (0, n.useState)("dark");
2921
- (0, n.useEffect)(()=>{
2922
- let e = window.matchMedia("(prefers-color-scheme: dark)"), t = (e)=>c(e.matches ? "dark" : "light");
2923
- return c(e.matches ? "dark" : "light"), e.addEventListener("change", t), ()=>e.removeEventListener("change", t);
2924
- }, []), (0, n.useEffect)(()=>{
2925
- try {
2926
- let e = window.localStorage.getItem("rstest-theme");
2927
- ("light" === e || "dark" === e || "system" === e) && s(e);
2928
- } catch {}
2929
- }, []);
2930
- let d = "system" === t ? r : t;
2931
- if ((0, n.useEffect)(()=>{
2932
- document.body.dataset.theme = d;
2933
- try {
2934
- window.localStorage.setItem("rstest-theme", t);
2935
- } catch {}
2936
- }, [
2937
- d,
2938
- t
2939
- ]), !e) return (0, l.jsx)("div", {
2940
- className: "flex h-screen w-full items-center justify-center bg-zinc-950 text-white",
2941
- children: "Missing browser options"
2942
- });
2943
- let u = "dark" === d, p = e.projects?.[0]?.name || e.rootPath.split("/").filter(Boolean).pop() || "rstest";
2944
- return (0, n.useEffect)(()=>{
2945
- document.title = `${p} [RSTEST BROWSER]`;
2946
- }, [
2947
- p
2948
- ]), (0, l.jsx)(a.Ay, {
2949
- componentSize: "small",
2950
- theme: {
2951
- algorithm: u ? o.A.darkAlgorithm : o.A.defaultAlgorithm,
2952
- token: {
2953
- fontFamily: '"Inter",system-ui,-apple-system,"Segoe UI",sans-serif',
2954
- fontFamilyCode: '"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
2955
- colorInfo: "#0070f3",
2956
- colorPrimary: "#0070f3",
2957
- colorSuccess: "#45a557",
2958
- colorError: u ? "#d93036" : "#da2f35",
2959
- colorWarning: "#ffb224",
2960
- borderRadius: 6
2961
- }
2962
- },
2963
- children: (0, l.jsx)(i.A, {
2964
- children: (0, l.jsx)(eE, {
2965
- options: e,
2966
- theme: t,
2967
- setTheme: s
2968
- })
2969
- })
2970
- });
2971
- }, e$ = ()=>{
2972
- let e = document.getElementById("root");
2973
- e && c.createRoot(e).render((0, l.jsx)(n.StrictMode, {
2974
- children: (0, l.jsx)(eT, {})
2975
- }));
2976
- };
2977
- "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", e$) : e$();
2978
- }
2979
- }, i = {};
2980
- function n(e) {
2981
- var t = i[e];
2982
- if (void 0 !== t) return t.exports;
2983
- var s = i[e] = {
2984
- exports: {}
2985
- };
2986
- return a[e](s, s.exports, n), s.exports;
2987
- }
2988
- n.m = a, t = Object.getPrototypeOf ? (e)=>Object.getPrototypeOf(e) : (e)=>e.__proto__, n.t = function(s, l) {
2989
- if (1 & l && (s = this(s)), 8 & l || "object" == typeof s && s && (4 & l && s.__esModule || 16 & l && "function" == typeof s.then)) return s;
2990
- var r = Object.create(null);
2991
- n.r(r);
2992
- var o = {};
2993
- e = e || [
2994
- null,
2995
- t({}),
2996
- t([]),
2997
- t(t)
2998
- ];
2999
- for(var a = 2 & l && s; ("object" == typeof a || "function" == typeof a) && !~e.indexOf(a); a = t(a))Object.getOwnPropertyNames(a).forEach((e)=>{
3000
- o[e] = ()=>s[e];
3001
- });
3002
- return o.default = ()=>s, n.d(r, o), r;
3003
- }, n.d = (e, t, s)=>{
3004
- var l = (t, s)=>{
3005
- for(var l in t)n.o(t, l) && !n.o(e, l) && Object.defineProperty(e, l, {
3006
- enumerable: !0,
3007
- [s]: t[l]
3008
- });
3009
- };
3010
- l(t, "get"), l(s, "value");
3011
- }, n.o = (e, t)=>Object.prototype.hasOwnProperty.call(e, t), n.r = (e)=>{
3012
- "u" > typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
3013
- value: "Module"
3014
- }), Object.defineProperty(e, "__esModule", {
3015
- value: !0
3016
- });
3017
- }, s = [], n.O = (e, t, l, r)=>{
3018
- if (t) {
3019
- r = r || 0;
3020
- for(var o = s.length; o > 0 && s[o - 1][2] > r; o--)s[o] = s[o - 1];
3021
- s[o] = [
3022
- t,
3023
- l,
3024
- r
3025
- ];
3026
- return;
3027
- }
3028
- for(var a = 1 / 0, o = 0; o < s.length; o++){
3029
- for(var [t, l, r] = s[o], i = !0, c = 0; c < t.length; c++)(!1 & r || a >= r) && Object.keys(n.O).every((e)=>n.O[e](t[c])) ? t.splice(c--, 1) : (i = !1, r < a && (a = r));
3030
- if (i) {
3031
- s.splice(o--, 1);
3032
- var d = l();
3033
- void 0 !== d && (e = d);
3034
- }
3035
- }
3036
- return e;
3037
- }, l = {
3038
- 410: 0
3039
- }, n.O.j = (e)=>0 === l[e], r = (e, t)=>{
3040
- var s, r, [o, a, i] = t, c = 0;
3041
- if (o.some((e)=>0 !== l[e])) {
3042
- for(s in a)n.o(a, s) && (n.m[s] = a[s]);
3043
- if (i) var d = i(n);
3044
- }
3045
- for(e && e(t); c < o.length; c++)r = o[c], n.o(l, r) && l[r] && l[r][0](), l[r] = 0;
3046
- return n.O(d);
3047
- }, (o = self.rspackChunk_rstest_browser_ui = self.rspackChunk_rstest_browser_ui || []).forEach(r.bind(null, 0)), o.push = r.bind(null, o.push.bind(o));
3048
- var c = n.O(void 0, [
3049
- "783",
3050
- "949"
3051
- ], ()=>n(1086));
3052
- c = n.O(c);
3053
- })();