@jjlmoya/utils-streaming 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -216,370 +216,3 @@ const ui = (rawUi ?? {}) as TebasCheckUI;
216
216
  els.retryBtn?.addEventListener('click', runDiagnostic);
217
217
  </script>
218
218
 
219
- <style is:global>
220
- .tebas-container {
221
- --tebas-primary: #f43f5e;
222
- --tebas-secondary: #8b5cf6;
223
- --tebas-success: #10b981;
224
- --tebas-neutral: #64748b;
225
- --tebas-bg: #f8fafc;
226
- --tebas-card: #fff;
227
- --tebas-border: #e2e8f0;
228
- --tebas-text: #0f172a;
229
- --tebas-text-muted: #64748b;
230
- --tebas-console-bg: #0c0c0c;
231
-
232
- width: 100%;
233
- max-width: 42rem;
234
- margin: 0 auto;
235
- padding: 1rem;
236
- }
237
-
238
- .theme-dark .tebas-container {
239
- --tebas-bg: #020617;
240
- --tebas-card: #0f172a;
241
- --tebas-border: #1e293b;
242
- --tebas-text: #f1f5f9;
243
- --tebas-text-muted: #94a3b8;
244
- }
245
-
246
- .tebas-card {
247
- background: var(--tebas-card);
248
- border-radius: 2rem;
249
- border: 1px solid var(--tebas-border);
250
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
251
- position: relative;
252
- overflow: hidden;
253
- }
254
-
255
- .tebas-card-bg-icon {
256
- position: absolute;
257
- top: 0;
258
- right: 0;
259
- padding: 1.5rem;
260
- opacity: 0.05;
261
- pointer-events: none;
262
- }
263
-
264
- .tebas-card-bg-icon [data-icon] {
265
- width: 8rem;
266
- height: 8rem;
267
- }
268
-
269
- .tebas-content {
270
- padding: 2.5rem;
271
- display: flex;
272
- flex-direction: column;
273
- gap: 2rem;
274
- }
275
-
276
- .tebas-status-view {
277
- min-height: 14rem;
278
- display: flex;
279
- align-items: center;
280
- justify-content: center;
281
- text-align: center;
282
- }
283
-
284
- .tebas-loading {
285
- display: flex;
286
- flex-direction: column;
287
- align-items: center;
288
- gap: 1.5rem;
289
- }
290
-
291
- .tebas-spinner-wrapper {
292
- position: relative;
293
- }
294
-
295
- .tebas-spinner {
296
- width: 5rem;
297
- height: 5rem;
298
- background: var(--tebas-card);
299
- border: 3px solid var(--tebas-border);
300
- border-radius: 50%;
301
- display: flex;
302
- align-items: center;
303
- justify-content: center;
304
- z-index: 10;
305
- position: relative;
306
- }
307
-
308
- .tebas-spinner [data-icon] {
309
- width: 2.5rem;
310
- height: 2.5rem;
311
- color: var(--tebas-secondary);
312
- }
313
-
314
- .tebas-ping-ring {
315
- position: absolute;
316
- inset: 0;
317
- background: var(--tebas-secondary);
318
- border-radius: 50%;
319
- opacity: 0.2;
320
- animation: tebas-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
321
- }
322
-
323
- @keyframes tebas-ping {
324
- 75%,
325
- 100% {
326
- transform: scale(2);
327
- opacity: 0;
328
- }
329
- }
330
-
331
- .tebas-title-main {
332
- margin: 0;
333
- font-size: 1.5rem;
334
- font-weight: 900;
335
- color: var(--tebas-text);
336
- text-transform: uppercase;
337
- font-style: italic;
338
- }
339
-
340
- .tebas-subtitle-pulse {
341
- margin: 0.5rem 0 0;
342
- color: var(--tebas-text-muted);
343
- font-weight: 500;
344
- animation: tebas-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
345
- }
346
-
347
- @keyframes tebas-pulse {
348
- 0%, 100% { opacity: 1; }
349
- 50% { opacity: 0.5; }
350
- }
351
-
352
- .tebas-result-box {
353
- width: 100%;
354
- padding: 1.5rem;
355
- border-radius: 1.25rem;
356
- display: flex;
357
- flex-direction: column;
358
- gap: 1.5rem;
359
- align-items: center;
360
- border-width: 2px;
361
- border-style: solid;
362
- animation: tebas-slide-up 0.5s ease-out;
363
- }
364
-
365
- @media (min-width: 640px) {
366
- .tebas-result-box {
367
- flex-direction: row;
368
- text-align: left;
369
- }
370
- }
371
-
372
- @keyframes tebas-slide-up {
373
- from {
374
- opacity: 0;
375
- transform: translateY(20px);
376
- }
377
- to {
378
- opacity: 1;
379
- transform: translateY(0);
380
- }
381
- }
382
-
383
- .tebas-result-box.blocked {
384
- background: rgba(244, 63, 94, 0.05);
385
- border-color: var(--tebas-primary);
386
- box-shadow: 0 0 30px rgba(244, 63, 94, 0.2);
387
- }
388
-
389
- .tebas-result-box.success {
390
- background: rgba(16, 185, 129, 0.05);
391
- border-color: var(--tebas-success);
392
- }
393
-
394
- .tebas-result-box.error {
395
- background: rgba(100, 116, 139, 0.05);
396
- border-color: var(--tebas-neutral);
397
- }
398
-
399
- .tebas-result-icon-badge {
400
- position: relative;
401
- flex-shrink: 0;
402
- }
403
-
404
- .tebas-result-main-icon {
405
- width: 5rem;
406
- height: 5rem;
407
- border-radius: 1rem;
408
- padding: 0.75rem;
409
- background: var(--tebas-card);
410
- border: 1px solid var(--tebas-border);
411
- }
412
-
413
- .blocked .tebas-result-main-icon { color: var(--tebas-primary); }
414
- .success .tebas-result-main-icon { color: var(--tebas-success); }
415
- .error .tebas-result-main-icon { color: var(--tebas-neutral); }
416
-
417
- .tebas-badge-overlay {
418
- position: absolute;
419
- top: -0.5rem;
420
- right: -0.5rem;
421
- background: var(--tebas-primary);
422
- color: white;
423
- padding: 0.25rem;
424
- border-radius: 50%;
425
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
426
- }
427
-
428
- .success .tebas-badge-overlay {
429
- background: var(--tebas-success);
430
- }
431
-
432
- .tebas-result-status {
433
- margin: 0;
434
- font-size: 1.5rem;
435
- font-weight: 900;
436
- text-transform: uppercase;
437
- font-style: italic;
438
- transform: skew(-5deg);
439
- }
440
-
441
- .blocked .tebas-result-status { color: var(--tebas-primary); }
442
- .success .tebas-result-status { color: var(--tebas-success); }
443
-
444
- .tebas-result-details {
445
- margin-top: 0.5rem;
446
- display: flex;
447
- flex-direction: column;
448
- gap: 0.25rem;
449
- }
450
-
451
- .tebas-font-bold {
452
- font-weight: 700;
453
- }
454
-
455
- .tebas-text-sm {
456
- margin: 0;
457
- font-size: 0.875rem;
458
- opacity: 0.8;
459
- }
460
-
461
- .tebas-actions {
462
- display: flex;
463
- justify-content: center;
464
- border-top: 1px solid var(--tebas-border);
465
- padding-top: 1.5rem;
466
- }
467
-
468
- .tebas-btn {
469
- background: var(--tebas-text);
470
- color: var(--tebas-card);
471
- border: none;
472
- padding: 0.75rem 1.5rem;
473
- border-radius: 0.75rem;
474
- font-weight: 700;
475
- display: flex;
476
- align-items: center;
477
- gap: 0.5rem;
478
- cursor: pointer;
479
- transition: transform 0.2s;
480
- }
481
-
482
- .theme-dark .tebas-btn {
483
- background: #fff;
484
- color: #000;
485
- }
486
-
487
- .tebas-btn:hover { transform: scale(1.05); }
488
-
489
- .tebas-note {
490
- background: rgba(245, 158, 11, 0.05);
491
- border: 1px solid rgba(245, 158, 11, 0.2);
492
- border-radius: 1.25rem;
493
- padding: 1.25rem;
494
- display: flex;
495
- gap: 1rem;
496
- align-items: flex-start;
497
- }
498
-
499
- .tebas-note-icon {
500
- width: 1.5rem;
501
- height: 1.5rem;
502
- color: #f59e0b;
503
- flex-shrink: 0;
504
- }
505
-
506
- .tebas-note-label {
507
- display: block;
508
- font-weight: 900;
509
- text-transform: uppercase;
510
- font-size: 0.75rem;
511
- color: #b45309;
512
- margin-bottom: 0.25rem;
513
- }
514
-
515
- .tebas-note-text {
516
- margin: 0;
517
- font-size: 0.8125rem;
518
- line-height: 1.5;
519
- color: var(--tebas-text-muted);
520
- font-weight: 500;
521
- }
522
-
523
- .tebas-console {
524
- background: var(--tebas-console-bg);
525
- padding: 1.25rem;
526
- font-size: 0.75rem;
527
- color: #94a3b8;
528
- }
529
-
530
- .tebas-console-header {
531
- display: flex;
532
- justify-content: space-between;
533
- align-items: center;
534
- margin-bottom: 0.75rem;
535
- opacity: 0.5;
536
- }
537
-
538
- .tebas-console-dots {
539
- display: flex;
540
- gap: 0.4rem;
541
- }
542
-
543
- .tebas-console-dots span {
544
- width: 0.6rem;
545
- height: 0.6rem;
546
- border-radius: 50%;
547
- background: #334155;
548
- }
549
-
550
- .tebas-console-body {
551
- height: 8rem;
552
- overflow-y: auto;
553
- display: flex;
554
- flex-direction: column;
555
- gap: 0.25rem;
556
- }
557
-
558
- .tebas-log-line {
559
- border-left: 2px solid transparent;
560
- padding-left: 0.5rem;
561
- }
562
-
563
- .tebas-log-time {
564
- opacity: 0.3;
565
- margin-right: 0.5rem;
566
- }
567
-
568
- .tebas-log-error {
569
- color: #f87171;
570
- background: rgba(127, 29, 29, 0.2);
571
- border-left-color: #7f1d1d;
572
- }
573
-
574
- .tebas-log-success {
575
- color: #34d399;
576
- background: rgba(6, 78, 59, 0.2);
577
- border-left-color: #064e3b;
578
- }
579
-
580
- .tebas-log-neutral {
581
- color: #94a3b8;
582
- }
583
-
584
- .hidden { display: none; }
585
- </style>
@@ -0,0 +1,365 @@
1
+ .tebas-container {
2
+ --tebas-primary: #f43f5e;
3
+ --tebas-secondary: #8b5cf6;
4
+ --tebas-success: #10b981;
5
+ --tebas-neutral: #64748b;
6
+ --tebas-bg: #f8fafc;
7
+ --tebas-card: #fff;
8
+ --tebas-border: #e2e8f0;
9
+ --tebas-text: #0f172a;
10
+ --tebas-text-muted: #64748b;
11
+ --tebas-console-bg: #0c0c0c;
12
+
13
+ width: 100%;
14
+ max-width: 42rem;
15
+ margin: 0 auto;
16
+ padding: 1rem;
17
+ }
18
+
19
+ .theme-dark .tebas-container {
20
+ --tebas-bg: #020617;
21
+ --tebas-card: #0f172a;
22
+ --tebas-border: #1e293b;
23
+ --tebas-text: #f1f5f9;
24
+ --tebas-text-muted: #94a3b8;
25
+ }
26
+
27
+ .tebas-card {
28
+ background: var(--tebas-card);
29
+ border-radius: 2rem;
30
+ border: 1px solid var(--tebas-border);
31
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
32
+ position: relative;
33
+ overflow: hidden;
34
+ }
35
+
36
+ .tebas-card-bg-icon {
37
+ position: absolute;
38
+ top: 0;
39
+ right: 0;
40
+ padding: 1.5rem;
41
+ opacity: 0.05;
42
+ pointer-events: none;
43
+ }
44
+
45
+ .tebas-card-bg-icon [data-icon] {
46
+ width: 8rem;
47
+ height: 8rem;
48
+ }
49
+
50
+ .tebas-content {
51
+ padding: 2.5rem;
52
+ display: flex;
53
+ flex-direction: column;
54
+ gap: 2rem;
55
+ }
56
+
57
+ .tebas-status-view {
58
+ min-height: 14rem;
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ text-align: center;
63
+ }
64
+
65
+ .tebas-loading {
66
+ display: flex;
67
+ flex-direction: column;
68
+ align-items: center;
69
+ gap: 1.5rem;
70
+ }
71
+
72
+ .tebas-spinner-wrapper {
73
+ position: relative;
74
+ }
75
+
76
+ .tebas-spinner {
77
+ width: 5rem;
78
+ height: 5rem;
79
+ background: var(--tebas-card);
80
+ border: 3px solid var(--tebas-border);
81
+ border-radius: 50%;
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: center;
85
+ z-index: 10;
86
+ position: relative;
87
+ }
88
+
89
+ .tebas-spinner [data-icon] {
90
+ width: 2.5rem;
91
+ height: 2.5rem;
92
+ color: var(--tebas-secondary);
93
+ }
94
+
95
+ .tebas-ping-ring {
96
+ position: absolute;
97
+ inset: 0;
98
+ background: var(--tebas-secondary);
99
+ border-radius: 50%;
100
+ opacity: 0.2;
101
+ animation: tebas-ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
102
+ }
103
+
104
+ @keyframes tebas-ping {
105
+ 75%,
106
+ 100% {
107
+ transform: scale(2);
108
+ opacity: 0;
109
+ }
110
+ }
111
+
112
+ .tebas-title-main {
113
+ margin: 0;
114
+ font-size: 1.5rem;
115
+ font-weight: 900;
116
+ color: var(--tebas-text);
117
+ text-transform: uppercase;
118
+ font-style: italic;
119
+ }
120
+
121
+ .tebas-subtitle-pulse {
122
+ margin: 0.5rem 0 0;
123
+ color: var(--tebas-text-muted);
124
+ font-weight: 500;
125
+ animation: tebas-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
126
+ }
127
+
128
+ @keyframes tebas-pulse {
129
+ 0%, 100% { opacity: 1; }
130
+ 50% { opacity: 0.5; }
131
+ }
132
+
133
+ .tebas-result-box {
134
+ width: 100%;
135
+ padding: 1.5rem;
136
+ border-radius: 1.25rem;
137
+ display: flex;
138
+ flex-direction: column;
139
+ gap: 1.5rem;
140
+ align-items: center;
141
+ border-width: 2px;
142
+ border-style: solid;
143
+ animation: tebas-slide-up 0.5s ease-out;
144
+ }
145
+
146
+ @media (min-width: 640px) {
147
+ .tebas-result-box {
148
+ flex-direction: row;
149
+ text-align: left;
150
+ }
151
+ }
152
+
153
+ @keyframes tebas-slide-up {
154
+ from {
155
+ opacity: 0;
156
+ transform: translateY(20px);
157
+ }
158
+ to {
159
+ opacity: 1;
160
+ transform: translateY(0);
161
+ }
162
+ }
163
+
164
+ .tebas-result-box.blocked {
165
+ background: rgba(244, 63, 94, 0.05);
166
+ border-color: var(--tebas-primary);
167
+ box-shadow: 0 0 30px rgba(244, 63, 94, 0.2);
168
+ }
169
+
170
+ .tebas-result-box.success {
171
+ background: rgba(16, 185, 129, 0.05);
172
+ border-color: var(--tebas-success);
173
+ }
174
+
175
+ .tebas-result-box.error {
176
+ background: rgba(100, 116, 139, 0.05);
177
+ border-color: var(--tebas-neutral);
178
+ }
179
+
180
+ .tebas-result-icon-badge {
181
+ position: relative;
182
+ flex-shrink: 0;
183
+ }
184
+
185
+ .tebas-result-main-icon {
186
+ width: 5rem;
187
+ height: 5rem;
188
+ border-radius: 1rem;
189
+ padding: 0.75rem;
190
+ background: var(--tebas-card);
191
+ border: 1px solid var(--tebas-border);
192
+ }
193
+
194
+ .blocked .tebas-result-main-icon { color: var(--tebas-primary); }
195
+ .success .tebas-result-main-icon { color: var(--tebas-success); }
196
+ .error .tebas-result-main-icon { color: var(--tebas-neutral); }
197
+
198
+ .tebas-badge-overlay {
199
+ position: absolute;
200
+ top: -0.5rem;
201
+ right: -0.5rem;
202
+ background: var(--tebas-primary);
203
+ color: white;
204
+ padding: 0.25rem;
205
+ border-radius: 50%;
206
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
207
+ }
208
+
209
+ .success .tebas-badge-overlay {
210
+ background: var(--tebas-success);
211
+ }
212
+
213
+ .tebas-result-status {
214
+ margin: 0;
215
+ font-size: 1.5rem;
216
+ font-weight: 900;
217
+ text-transform: uppercase;
218
+ font-style: italic;
219
+ transform: skew(-5deg);
220
+ }
221
+
222
+ .blocked .tebas-result-status { color: var(--tebas-primary); }
223
+ .success .tebas-result-status { color: var(--tebas-success); }
224
+
225
+ .tebas-result-details {
226
+ margin-top: 0.5rem;
227
+ display: flex;
228
+ flex-direction: column;
229
+ gap: 0.25rem;
230
+ }
231
+
232
+ .tebas-font-bold {
233
+ font-weight: 700;
234
+ }
235
+
236
+ .tebas-text-sm {
237
+ margin: 0;
238
+ font-size: 0.875rem;
239
+ opacity: 0.8;
240
+ }
241
+
242
+ .tebas-actions {
243
+ display: flex;
244
+ justify-content: center;
245
+ border-top: 1px solid var(--tebas-border);
246
+ padding-top: 1.5rem;
247
+ }
248
+
249
+ .tebas-btn {
250
+ background: var(--tebas-text);
251
+ color: var(--tebas-card);
252
+ border: none;
253
+ padding: 0.75rem 1.5rem;
254
+ border-radius: 0.75rem;
255
+ font-weight: 700;
256
+ display: flex;
257
+ align-items: center;
258
+ gap: 0.5rem;
259
+ cursor: pointer;
260
+ transition: transform 0.2s;
261
+ }
262
+
263
+ .theme-dark .tebas-btn {
264
+ background: #fff;
265
+ color: #000;
266
+ }
267
+
268
+ .tebas-btn:hover { transform: scale(1.05); }
269
+
270
+ .tebas-note {
271
+ background: rgba(245, 158, 11, 0.05);
272
+ border: 1px solid rgba(245, 158, 11, 0.2);
273
+ border-radius: 1.25rem;
274
+ padding: 1.25rem;
275
+ display: flex;
276
+ gap: 1rem;
277
+ align-items: flex-start;
278
+ }
279
+
280
+ .tebas-note-icon {
281
+ width: 1.5rem;
282
+ height: 1.5rem;
283
+ color: #f59e0b;
284
+ flex-shrink: 0;
285
+ }
286
+
287
+ .tebas-note-label {
288
+ display: block;
289
+ font-weight: 900;
290
+ text-transform: uppercase;
291
+ font-size: 0.75rem;
292
+ color: #b45309;
293
+ margin-bottom: 0.25rem;
294
+ }
295
+
296
+ .tebas-note-text {
297
+ margin: 0;
298
+ font-size: 0.8125rem;
299
+ line-height: 1.5;
300
+ color: var(--tebas-text-muted);
301
+ font-weight: 500;
302
+ }
303
+
304
+ .tebas-console {
305
+ background: var(--tebas-console-bg);
306
+ padding: 1.25rem;
307
+ font-size: 0.75rem;
308
+ color: #94a3b8;
309
+ }
310
+
311
+ .tebas-console-header {
312
+ display: flex;
313
+ justify-content: space-between;
314
+ align-items: center;
315
+ margin-bottom: 0.75rem;
316
+ opacity: 0.5;
317
+ }
318
+
319
+ .tebas-console-dots {
320
+ display: flex;
321
+ gap: 0.4rem;
322
+ }
323
+
324
+ .tebas-console-dots span {
325
+ width: 0.6rem;
326
+ height: 0.6rem;
327
+ border-radius: 50%;
328
+ background: #334155;
329
+ }
330
+
331
+ .tebas-console-body {
332
+ height: 8rem;
333
+ overflow-y: auto;
334
+ display: flex;
335
+ flex-direction: column;
336
+ gap: 0.25rem;
337
+ }
338
+
339
+ .tebas-log-line {
340
+ border-left: 2px solid transparent;
341
+ padding-left: 0.5rem;
342
+ }
343
+
344
+ .tebas-log-time {
345
+ opacity: 0.3;
346
+ margin-right: 0.5rem;
347
+ }
348
+
349
+ .tebas-log-error {
350
+ color: #f87171;
351
+ background: rgba(127, 29, 29, 0.2);
352
+ border-left-color: #7f1d1d;
353
+ }
354
+
355
+ .tebas-log-success {
356
+ color: #34d399;
357
+ background: rgba(6, 78, 59, 0.2);
358
+ border-left-color: #064e3b;
359
+ }
360
+
361
+ .tebas-log-neutral {
362
+ color: #94a3b8;
363
+ }
364
+
365
+ .hidden { display: none; }