@jjlmoya/utils-audiovisual 1.5.0 → 1.7.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.
- package/package.json +58 -58
- package/src/category/i18n/fr.ts +1 -1
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/chromaticLens/component.astro +38 -38
- package/src/tool/chromaticLens/i18n/en.ts +1 -1
- package/src/tool/chromaticLens/i18n/es.ts +1 -1
- package/src/tool/chromaticLens/i18n/fr.ts +1 -1
- package/src/tool/collageMaker/component.astro +47 -47
- package/src/tool/collageMaker/i18n/en.ts +1 -1
- package/src/tool/collageMaker/i18n/es.ts +1 -1
- package/src/tool/collageMaker/i18n/fr.ts +1 -1
- package/src/tool/exifCleaner/component.astro +49 -48
- package/src/tool/exifCleaner/i18n/en.ts +2 -2
- package/src/tool/exifCleaner/i18n/es.ts +2 -2
- package/src/tool/exifCleaner/i18n/fr.ts +3 -3
- package/src/tool/imageCompressor/component.astro +144 -106
- package/src/tool/imageCompressor/i18n/en.ts +12 -2
- package/src/tool/imageCompressor/i18n/es.ts +13 -3
- package/src/tool/imageCompressor/i18n/fr.ts +12 -2
- package/src/tool/imageCompressor/index.ts +10 -0
- package/src/tool/printQualityCalculator/component.astro +129 -104
- package/src/tool/printQualityCalculator/i18n/en.ts +17 -3
- package/src/tool/printQualityCalculator/i18n/es.ts +19 -5
- package/src/tool/printQualityCalculator/i18n/fr.ts +18 -4
- package/src/tool/printQualityCalculator/index.ts +14 -0
- package/src/tool/privacyBlur/component.astro +35 -35
- package/src/tool/privacyBlur/i18n/en.ts +1 -1
- package/src/tool/privacyBlur/i18n/es.ts +1 -1
- package/src/tool/privacyBlur/i18n/fr.ts +1 -1
- package/src/tool/subtitleSync/component.astro +42 -42
- package/src/tool/subtitleSync/i18n/en.ts +1 -1
- package/src/tool/subtitleSync/i18n/es.ts +1 -1
- package/src/tool/subtitleSync/i18n/fr.ts +3 -3
- package/src/tool/timelapseCalculator/component.astro +41 -42
- package/src/tool/tvDistance/component.astro +55 -55
- package/src/tool/tvDistance/i18n/en.ts +1 -1
- package/src/tool/tvDistance/i18n/es.ts +1 -1
- package/src/tool/tvDistance/i18n/fr.ts +1 -1
- package/src/tool/videoFrameExtractor/component.astro +54 -54
- package/src/tool/videoFrameExtractor/i18n/en.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/es.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/fr.ts +1 -1
|
@@ -186,7 +186,7 @@ const { ui } = Astro.props;
|
|
|
186
186
|
</script>
|
|
187
187
|
|
|
188
188
|
<style>
|
|
189
|
-
.ss-root {
|
|
189
|
+
:global(.ss-root) {
|
|
190
190
|
--ss-bg: #fff;
|
|
191
191
|
--ss-bg-elevated: #f8fafc;
|
|
192
192
|
--ss-border: #e2e8f0;
|
|
@@ -202,7 +202,7 @@ const { ui } = Astro.props;
|
|
|
202
202
|
margin: 0 auto;
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
:global(.theme-dark
|
|
205
|
+
:global(.theme-dark .ss-root) {
|
|
206
206
|
--ss-bg: #18181b;
|
|
207
207
|
--ss-bg-elevated: #27272a;
|
|
208
208
|
--ss-border: #3f3f46;
|
|
@@ -214,7 +214,7 @@ const { ui } = Astro.props;
|
|
|
214
214
|
--ss-shadow: rgba(0, 0, 0, 0.3);
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
.ss-card {
|
|
217
|
+
:global(.ss-card) {
|
|
218
218
|
background: var(--ss-bg);
|
|
219
219
|
border: 1px solid var(--ss-border);
|
|
220
220
|
border-radius: 2.5rem;
|
|
@@ -225,7 +225,7 @@ const { ui } = Astro.props;
|
|
|
225
225
|
gap: 3rem;
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
-
.ss-drop {
|
|
228
|
+
:global(.ss-drop) {
|
|
229
229
|
border: 3px dashed var(--ss-border);
|
|
230
230
|
padding: 3.5rem 2.5rem;
|
|
231
231
|
border-radius: 2.25rem;
|
|
@@ -239,13 +239,13 @@ const { ui } = Astro.props;
|
|
|
239
239
|
text-align: center;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
-
.ss-drop:hover,
|
|
243
|
-
.ss-drop-active {
|
|
242
|
+
:global(.ss-drop:hover),
|
|
243
|
+
:global(.ss-drop-active) {
|
|
244
244
|
border-color: var(--ss-accent);
|
|
245
245
|
background: var(--ss-accent-alpha);
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
.ss-drop-icon {
|
|
248
|
+
:global(.ss-drop-icon) {
|
|
249
249
|
width: 4.5rem;
|
|
250
250
|
height: 4.5rem;
|
|
251
251
|
background: var(--ss-accent-alpha);
|
|
@@ -256,19 +256,19 @@ const { ui } = Astro.props;
|
|
|
256
256
|
color: var(--ss-accent);
|
|
257
257
|
}
|
|
258
258
|
|
|
259
|
-
.ss-drop-icon svg {
|
|
259
|
+
:global(.ss-drop-icon svg) {
|
|
260
260
|
width: 2.25rem;
|
|
261
261
|
height: 2.25rem;
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
-
.ss-drop-title {
|
|
264
|
+
:global(.ss-drop-title) {
|
|
265
265
|
font-size: 1.75rem;
|
|
266
266
|
font-weight: 950;
|
|
267
267
|
color: var(--ss-text);
|
|
268
268
|
margin: 0;
|
|
269
269
|
}
|
|
270
270
|
|
|
271
|
-
.ss-drop-sub {
|
|
271
|
+
:global(.ss-drop-sub) {
|
|
272
272
|
font-size: 1rem;
|
|
273
273
|
color: var(--ss-text-muted);
|
|
274
274
|
max-width: 320px;
|
|
@@ -276,7 +276,7 @@ const { ui } = Astro.props;
|
|
|
276
276
|
font-weight: 700;
|
|
277
277
|
}
|
|
278
278
|
|
|
279
|
-
.ss-controls {
|
|
279
|
+
:global(.ss-controls) {
|
|
280
280
|
display: grid;
|
|
281
281
|
grid-template-columns: 1fr 1fr;
|
|
282
282
|
gap: 3rem;
|
|
@@ -284,18 +284,18 @@ const { ui } = Astro.props;
|
|
|
284
284
|
}
|
|
285
285
|
|
|
286
286
|
@media (max-width: 800px) {
|
|
287
|
-
.ss-controls {
|
|
287
|
+
:global(.ss-controls) {
|
|
288
288
|
grid-template-columns: 1fr;
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
-
.ss-control-group {
|
|
292
|
+
:global(.ss-control-group) {
|
|
293
293
|
display: flex;
|
|
294
294
|
flex-direction: column;
|
|
295
295
|
gap: 1.5rem;
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
-
.ss-control-label {
|
|
298
|
+
:global(.ss-control-label) {
|
|
299
299
|
font-size: 0.8rem;
|
|
300
300
|
font-weight: 900;
|
|
301
301
|
text-transform: uppercase;
|
|
@@ -303,7 +303,7 @@ const { ui } = Astro.props;
|
|
|
303
303
|
letter-spacing: 0.1em;
|
|
304
304
|
}
|
|
305
305
|
|
|
306
|
-
.ss-offset-wrap {
|
|
306
|
+
:global(.ss-offset-wrap) {
|
|
307
307
|
display: flex;
|
|
308
308
|
align-items: center;
|
|
309
309
|
gap: 1rem;
|
|
@@ -313,7 +313,7 @@ const { ui } = Astro.props;
|
|
|
313
313
|
padding: 0.75rem 1.25rem;
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
.ss-offset-btn {
|
|
316
|
+
:global(.ss-offset-btn) {
|
|
317
317
|
width: 2.5rem;
|
|
318
318
|
height: 2.5rem;
|
|
319
319
|
background: none;
|
|
@@ -327,16 +327,16 @@ const { ui } = Astro.props;
|
|
|
327
327
|
flex-shrink: 0;
|
|
328
328
|
}
|
|
329
329
|
|
|
330
|
-
.ss-offset-btn:hover {
|
|
330
|
+
:global(.ss-offset-btn:hover) {
|
|
331
331
|
color: var(--ss-accent);
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
-
.ss-offset-btn svg {
|
|
334
|
+
:global(.ss-offset-btn svg) {
|
|
335
335
|
width: 1.5rem;
|
|
336
336
|
height: 1.5rem;
|
|
337
337
|
}
|
|
338
338
|
|
|
339
|
-
.ss-offset-input {
|
|
339
|
+
:global(.ss-offset-input) {
|
|
340
340
|
flex: 1;
|
|
341
341
|
background: transparent;
|
|
342
342
|
border: none;
|
|
@@ -348,28 +348,28 @@ const { ui } = Astro.props;
|
|
|
348
348
|
text-align: center;
|
|
349
349
|
}
|
|
350
350
|
|
|
351
|
-
.ss-stats {
|
|
351
|
+
:global(.ss-stats) {
|
|
352
352
|
display: flex;
|
|
353
353
|
gap: 2rem;
|
|
354
354
|
justify-content: center;
|
|
355
355
|
margin-top: 1rem;
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
-
.ss-stat {
|
|
358
|
+
:global(.ss-stat) {
|
|
359
359
|
display: flex;
|
|
360
360
|
flex-direction: column;
|
|
361
361
|
align-items: center;
|
|
362
362
|
gap: 0.25rem;
|
|
363
363
|
}
|
|
364
364
|
|
|
365
|
-
.ss-stat-value {
|
|
365
|
+
:global(.ss-stat-value) {
|
|
366
366
|
display: block;
|
|
367
367
|
font-weight: 900;
|
|
368
368
|
color: var(--ss-accent);
|
|
369
369
|
font-size: 1.25rem;
|
|
370
370
|
}
|
|
371
371
|
|
|
372
|
-
.ss-stat-label {
|
|
372
|
+
:global(.ss-stat-label) {
|
|
373
373
|
font-size: 0.7rem;
|
|
374
374
|
font-weight: 800;
|
|
375
375
|
text-transform: uppercase;
|
|
@@ -377,33 +377,33 @@ const { ui } = Astro.props;
|
|
|
377
377
|
letter-spacing: 0.05em;
|
|
378
378
|
}
|
|
379
379
|
|
|
380
|
-
.ss-status-card {
|
|
380
|
+
:global(.ss-status-card) {
|
|
381
381
|
display: flex;
|
|
382
382
|
flex-direction: column;
|
|
383
383
|
gap: 1.5rem;
|
|
384
384
|
}
|
|
385
385
|
|
|
386
|
-
.ss-file-row {
|
|
386
|
+
:global(.ss-file-row) {
|
|
387
387
|
display: flex;
|
|
388
388
|
align-items: center;
|
|
389
389
|
gap: 1.5rem;
|
|
390
390
|
}
|
|
391
391
|
|
|
392
|
-
.ss-file-icon {
|
|
392
|
+
:global(.ss-file-icon) {
|
|
393
393
|
width: 3rem;
|
|
394
394
|
height: 3rem;
|
|
395
395
|
color: var(--ss-accent);
|
|
396
396
|
flex-shrink: 0;
|
|
397
397
|
}
|
|
398
398
|
|
|
399
|
-
.ss-file-info {
|
|
399
|
+
:global(.ss-file-info) {
|
|
400
400
|
display: flex;
|
|
401
401
|
flex-direction: column;
|
|
402
402
|
gap: 0.25rem;
|
|
403
403
|
min-width: 0;
|
|
404
404
|
}
|
|
405
405
|
|
|
406
|
-
.ss-file-name {
|
|
406
|
+
:global(.ss-file-name) {
|
|
407
407
|
font-weight: 950;
|
|
408
408
|
color: var(--ss-text);
|
|
409
409
|
font-size: 0.95rem;
|
|
@@ -412,13 +412,13 @@ const { ui } = Astro.props;
|
|
|
412
412
|
text-overflow: ellipsis;
|
|
413
413
|
}
|
|
414
414
|
|
|
415
|
-
.ss-file-times {
|
|
415
|
+
:global(.ss-file-times) {
|
|
416
416
|
font-size: 0.8rem;
|
|
417
417
|
font-weight: 700;
|
|
418
418
|
color: var(--ss-text-muted);
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
-
.ss-btn-primary {
|
|
421
|
+
:global(.ss-btn-primary) {
|
|
422
422
|
width: 100%;
|
|
423
423
|
padding: 1.25rem;
|
|
424
424
|
background: var(--ss-accent);
|
|
@@ -435,17 +435,17 @@ const { ui } = Astro.props;
|
|
|
435
435
|
transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s;
|
|
436
436
|
}
|
|
437
437
|
|
|
438
|
-
.ss-btn-primary:hover {
|
|
438
|
+
:global(.ss-btn-primary:hover) {
|
|
439
439
|
transform: translateY(-4px) scale(1.02);
|
|
440
440
|
box-shadow: 0 15px 35px -10px var(--ss-accent);
|
|
441
441
|
}
|
|
442
442
|
|
|
443
|
-
.ss-btn-primary svg {
|
|
443
|
+
:global(.ss-btn-primary svg) {
|
|
444
444
|
width: 1.25rem;
|
|
445
445
|
height: 1.25rem;
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
-
.ss-previews {
|
|
448
|
+
:global(.ss-previews) {
|
|
449
449
|
grid-column: 1 / -1;
|
|
450
450
|
display: grid;
|
|
451
451
|
grid-template-columns: 1fr 1fr;
|
|
@@ -453,13 +453,13 @@ const { ui } = Astro.props;
|
|
|
453
453
|
}
|
|
454
454
|
|
|
455
455
|
@media (max-width: 800px) {
|
|
456
|
-
.ss-previews {
|
|
456
|
+
:global(.ss-previews) {
|
|
457
457
|
grid-column: auto;
|
|
458
458
|
grid-template-columns: 1fr;
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
461
|
|
|
462
|
-
.ss-preview-box {
|
|
462
|
+
:global(.ss-preview-box) {
|
|
463
463
|
background: var(--ss-bg-elevated);
|
|
464
464
|
padding: 1.5rem;
|
|
465
465
|
border-radius: 1.75rem;
|
|
@@ -469,7 +469,7 @@ const { ui } = Astro.props;
|
|
|
469
469
|
gap: 1rem;
|
|
470
470
|
}
|
|
471
471
|
|
|
472
|
-
.ss-preview-label {
|
|
472
|
+
:global(.ss-preview-label) {
|
|
473
473
|
font-size: 0.75rem;
|
|
474
474
|
font-weight: 950;
|
|
475
475
|
text-transform: uppercase;
|
|
@@ -478,11 +478,11 @@ const { ui } = Astro.props;
|
|
|
478
478
|
letter-spacing: 0.05em;
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
.ss-preview-label-modified {
|
|
481
|
+
:global(.ss-preview-label-modified) {
|
|
482
482
|
color: var(--ss-accent);
|
|
483
483
|
}
|
|
484
484
|
|
|
485
|
-
.ss-preview-scroll {
|
|
485
|
+
:global(.ss-preview-scroll) {
|
|
486
486
|
max-height: 250px;
|
|
487
487
|
overflow-y: auto;
|
|
488
488
|
display: flex;
|
|
@@ -490,25 +490,25 @@ const { ui } = Astro.props;
|
|
|
490
490
|
gap: 1rem;
|
|
491
491
|
}
|
|
492
492
|
|
|
493
|
-
.ss-preview-item {
|
|
493
|
+
:global(.ss-preview-item) {
|
|
494
494
|
font-size: 0.85rem;
|
|
495
495
|
line-height: 1.5;
|
|
496
496
|
}
|
|
497
497
|
|
|
498
|
-
.ss-preview-time {
|
|
498
|
+
:global(.ss-preview-time) {
|
|
499
499
|
font-weight: 950;
|
|
500
500
|
color: var(--ss-accent);
|
|
501
501
|
font-size: 0.75rem;
|
|
502
502
|
margin: 0 0 0.25rem;
|
|
503
503
|
}
|
|
504
504
|
|
|
505
|
-
.ss-preview-text {
|
|
505
|
+
:global(.ss-preview-text) {
|
|
506
506
|
font-weight: 700;
|
|
507
507
|
color: var(--ss-text);
|
|
508
508
|
margin: 0;
|
|
509
509
|
}
|
|
510
510
|
|
|
511
|
-
.ss-hidden {
|
|
511
|
+
:global(.ss-hidden) {
|
|
512
512
|
display: none;
|
|
513
513
|
}
|
|
514
514
|
</style>
|
|
@@ -2,7 +2,7 @@ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dt
|
|
|
2
2
|
import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
|
|
3
3
|
|
|
4
4
|
const slug = 'synchronize-srt-subtitles-online-adjust-timing-free';
|
|
5
|
-
const title = 'Synchronize SRT Subtitles Online
|
|
5
|
+
const title = 'Synchronize SRT Subtitles Online: Adjust Timing for Free';
|
|
6
6
|
const description = 'Online tool to advance or delay SRT subtitles. Correct timing offset easily and download the synchronized file instantly.';
|
|
7
7
|
|
|
8
8
|
const ui: SubtitleSyncUI = {
|
|
@@ -2,7 +2,7 @@ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dt
|
|
|
2
2
|
import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
|
|
3
3
|
|
|
4
4
|
const slug = 'sincronizar-subtitulos';
|
|
5
|
-
const title = 'Sincronizar Subtítulos SRT Online
|
|
5
|
+
const title = 'Sincronizar Subtítulos SRT Online: Ajusta el Tiempo Gratis';
|
|
6
6
|
const description = 'Herramienta online para adelantar o retrasar subtítulos SRT. Corrige el desfase de tiempo de forma sencilla y descarga el archivo sincronizado al instante.';
|
|
7
7
|
|
|
8
8
|
const ui: SubtitleSyncUI = {
|
|
@@ -2,7 +2,7 @@ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dt
|
|
|
2
2
|
import type { SubtitleSyncUI, SubtitleSyncLocaleContent } from '../index';
|
|
3
3
|
|
|
4
4
|
const slug = 'synchroniser-sous-titres-srt-en-ligne-ajuster-temps-gratuit';
|
|
5
|
-
const title = '
|
|
5
|
+
const title = 'Synchronisation SRT en Ligne: Ajustez le Temps Gratuitement';
|
|
6
6
|
const description = 'Outil en ligne pour avancer ou retarder les sous-titres SRT. Corrigez le décalage de temps simplement et téléchargez le fichier synchronisé instantanément.';
|
|
7
7
|
|
|
8
8
|
const ui: SubtitleSyncUI = {
|
|
@@ -73,7 +73,7 @@ const bibliography: SubtitleSyncLocaleContent['bibliography'] = [
|
|
|
73
73
|
const seo: SubtitleSyncLocaleContent['seo'] = [
|
|
74
74
|
{
|
|
75
75
|
type: 'summary',
|
|
76
|
-
title: 'Synchronisation
|
|
76
|
+
title: 'Synchronisation SRT Professionnelle',
|
|
77
77
|
items: [
|
|
78
78
|
'Correction instantanée des décalages audio-sous-titres',
|
|
79
79
|
'Supporte les fichiers SRT (SubRip) standards',
|
|
@@ -103,7 +103,7 @@ const seo: SubtitleSyncLocaleContent['seo'] = [
|
|
|
103
103
|
{ type: 'title', text: 'Cas d\'Utilisation Courants', level: 3 },
|
|
104
104
|
{ type: 'comparative', items: [
|
|
105
105
|
{
|
|
106
|
-
title: 'Traducteurs et
|
|
106
|
+
title: 'Traducteurs et Professionnels SRT',
|
|
107
107
|
description: 'Synchroniser des traductions après avoir travaillé avec plusieurs versions vidéo',
|
|
108
108
|
icon: 'mdi:translate',
|
|
109
109
|
points: [
|
|
@@ -132,7 +132,6 @@ const { ui } = Astro.props;
|
|
|
132
132
|
els.shutter.innerText = formatShutter(r.shutterSpeed);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
// eslint-disable-next-line complexity
|
|
136
135
|
function recalculate() {
|
|
137
136
|
const h = +(els.hours?.value || 0), m = +(els.minutes?.value || 0), s = +(els.seconds?.value || 0), f = +(els.fps?.value || 24);
|
|
138
137
|
updateResultDisplay(calculateTimelapse(h * 3600 + m * 60, s, f));
|
|
@@ -147,13 +146,13 @@ const { ui } = Astro.props;
|
|
|
147
146
|
</script>
|
|
148
147
|
|
|
149
148
|
<style>
|
|
150
|
-
.tlc-root {
|
|
149
|
+
:global(.tlc-root) {
|
|
151
150
|
width: 100%;
|
|
152
151
|
max-width: 64rem;
|
|
153
152
|
margin: 0 auto;
|
|
154
153
|
}
|
|
155
154
|
|
|
156
|
-
.tlc-grid {
|
|
155
|
+
:global(.tlc-grid) {
|
|
157
156
|
display: grid;
|
|
158
157
|
grid-template-columns: 1fr 1fr;
|
|
159
158
|
border-radius: 1.5rem;
|
|
@@ -162,7 +161,7 @@ const { ui } = Astro.props;
|
|
|
162
161
|
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
|
|
163
162
|
}
|
|
164
163
|
|
|
165
|
-
:global(.theme-dark
|
|
164
|
+
:global(.theme-dark .tlc-grid) {
|
|
166
165
|
border-color: #334155;
|
|
167
166
|
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
|
|
168
167
|
}
|
|
@@ -173,7 +172,7 @@ const { ui } = Astro.props;
|
|
|
173
172
|
}
|
|
174
173
|
}
|
|
175
174
|
|
|
176
|
-
.tlc-inputs-panel {
|
|
175
|
+
:global(.tlc-inputs-panel) {
|
|
177
176
|
padding: 2rem 3rem;
|
|
178
177
|
background: #f8fafc;
|
|
179
178
|
display: flex;
|
|
@@ -181,17 +180,17 @@ const { ui } = Astro.props;
|
|
|
181
180
|
gap: 2rem;
|
|
182
181
|
}
|
|
183
182
|
|
|
184
|
-
:global(.theme-dark
|
|
183
|
+
:global(.theme-dark .tlc-inputs-panel) {
|
|
185
184
|
background: rgba(15, 23, 42, 0.5);
|
|
186
185
|
}
|
|
187
186
|
|
|
188
187
|
@media (max-width: 768px) {
|
|
189
|
-
.tlc-inputs-panel {
|
|
188
|
+
:global(.tlc-inputs-panel) {
|
|
190
189
|
padding: 2rem;
|
|
191
190
|
}
|
|
192
191
|
}
|
|
193
192
|
|
|
194
|
-
.tlc-panel-title {
|
|
193
|
+
:global(.tlc-panel-title) {
|
|
195
194
|
display: flex;
|
|
196
195
|
align-items: center;
|
|
197
196
|
gap: 0.5rem;
|
|
@@ -201,29 +200,29 @@ const { ui } = Astro.props;
|
|
|
201
200
|
margin: 0;
|
|
202
201
|
}
|
|
203
202
|
|
|
204
|
-
:global(.theme-dark
|
|
203
|
+
:global(.theme-dark .tlc-panel-title) {
|
|
205
204
|
color: #f8fafc;
|
|
206
205
|
}
|
|
207
206
|
|
|
208
|
-
.tlc-panel-icon {
|
|
207
|
+
:global(.tlc-panel-icon) {
|
|
209
208
|
width: 1.25rem;
|
|
210
209
|
height: 1.25rem;
|
|
211
210
|
color: #6366f1;
|
|
212
211
|
}
|
|
213
212
|
|
|
214
|
-
.tlc-fields {
|
|
213
|
+
:global(.tlc-fields) {
|
|
215
214
|
display: flex;
|
|
216
215
|
flex-direction: column;
|
|
217
216
|
gap: 1.5rem;
|
|
218
217
|
}
|
|
219
218
|
|
|
220
|
-
.tlc-field-group {
|
|
219
|
+
:global(.tlc-field-group) {
|
|
221
220
|
display: flex;
|
|
222
221
|
flex-direction: column;
|
|
223
222
|
gap: 0.75rem;
|
|
224
223
|
}
|
|
225
224
|
|
|
226
|
-
.tlc-group-label {
|
|
225
|
+
:global(.tlc-group-label) {
|
|
227
226
|
font-size: 0.7rem;
|
|
228
227
|
font-weight: 700;
|
|
229
228
|
text-transform: uppercase;
|
|
@@ -231,25 +230,25 @@ const { ui } = Astro.props;
|
|
|
231
230
|
color: #64748b;
|
|
232
231
|
}
|
|
233
232
|
|
|
234
|
-
.tlc-row {
|
|
233
|
+
:global(.tlc-row) {
|
|
235
234
|
display: flex;
|
|
236
235
|
gap: 1rem;
|
|
237
236
|
}
|
|
238
237
|
|
|
239
|
-
.tlc-field {
|
|
238
|
+
:global(.tlc-field) {
|
|
240
239
|
flex: 1;
|
|
241
240
|
display: flex;
|
|
242
241
|
flex-direction: column;
|
|
243
242
|
gap: 0.25rem;
|
|
244
243
|
}
|
|
245
244
|
|
|
246
|
-
.tlc-sub-label {
|
|
245
|
+
:global(.tlc-sub-label) {
|
|
247
246
|
font-size: 0.7rem;
|
|
248
247
|
color: #94a3b8;
|
|
249
248
|
margin-left: 0.25rem;
|
|
250
249
|
}
|
|
251
250
|
|
|
252
|
-
.tlc-input {
|
|
251
|
+
:global(.tlc-input) {
|
|
253
252
|
width: 100%;
|
|
254
253
|
background: #fff;
|
|
255
254
|
border: 2px solid #e2e8f0;
|
|
@@ -263,41 +262,41 @@ const { ui } = Astro.props;
|
|
|
263
262
|
box-sizing: border-box;
|
|
264
263
|
}
|
|
265
264
|
|
|
266
|
-
:global(.theme-dark
|
|
265
|
+
:global(.theme-dark .tlc-input) {
|
|
267
266
|
background: #1e293b;
|
|
268
267
|
border-color: #334155;
|
|
269
268
|
color: #f8fafc;
|
|
270
269
|
}
|
|
271
270
|
|
|
272
|
-
.tlc-input-indigo:focus {
|
|
271
|
+
:global(.tlc-input-indigo:focus) {
|
|
273
272
|
border-color: #6366f1;
|
|
274
273
|
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
|
|
275
274
|
}
|
|
276
275
|
|
|
277
|
-
:global(.theme-dark
|
|
276
|
+
:global(.theme-dark .tlc-input-indigo:focus) {
|
|
278
277
|
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25);
|
|
279
278
|
}
|
|
280
279
|
|
|
281
|
-
.tlc-input-pink:focus {
|
|
280
|
+
:global(.tlc-input-pink:focus) {
|
|
282
281
|
border-color: #ec4899;
|
|
283
282
|
box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.15);
|
|
284
283
|
}
|
|
285
284
|
|
|
286
|
-
:global(.theme-dark
|
|
285
|
+
:global(.theme-dark .tlc-input-pink:focus) {
|
|
287
286
|
box-shadow: 0 0 0 3px rgba(236, 72, 153, 0.25);
|
|
288
287
|
}
|
|
289
288
|
|
|
290
|
-
.tlc-select-wrapper {
|
|
289
|
+
:global(.tlc-select-wrapper) {
|
|
291
290
|
position: relative;
|
|
292
291
|
}
|
|
293
292
|
|
|
294
|
-
.tlc-select {
|
|
293
|
+
:global(.tlc-select) {
|
|
295
294
|
appearance: none;
|
|
296
295
|
cursor: pointer;
|
|
297
296
|
width: 100%;
|
|
298
297
|
}
|
|
299
298
|
|
|
300
|
-
.tlc-select-arrow {
|
|
299
|
+
:global(.tlc-select-arrow) {
|
|
301
300
|
position: absolute;
|
|
302
301
|
right: 1rem;
|
|
303
302
|
top: 50%;
|
|
@@ -308,7 +307,7 @@ const { ui } = Astro.props;
|
|
|
308
307
|
pointer-events: none;
|
|
309
308
|
}
|
|
310
309
|
|
|
311
|
-
.tlc-results-panel {
|
|
310
|
+
:global(.tlc-results-panel) {
|
|
312
311
|
padding: 2rem 3rem;
|
|
313
312
|
background: linear-gradient(135deg, #4f46e5, #7c3aed);
|
|
314
313
|
color: #fff;
|
|
@@ -319,12 +318,12 @@ const { ui } = Astro.props;
|
|
|
319
318
|
}
|
|
320
319
|
|
|
321
320
|
@media (max-width: 768px) {
|
|
322
|
-
.tlc-results-panel {
|
|
321
|
+
:global(.tlc-results-panel) {
|
|
323
322
|
padding: 2rem;
|
|
324
323
|
}
|
|
325
324
|
}
|
|
326
325
|
|
|
327
|
-
.tlc-results-title {
|
|
326
|
+
:global(.tlc-results-title) {
|
|
328
327
|
display: flex;
|
|
329
328
|
align-items: center;
|
|
330
329
|
gap: 0.5rem;
|
|
@@ -334,19 +333,19 @@ const { ui } = Astro.props;
|
|
|
334
333
|
margin: 0;
|
|
335
334
|
}
|
|
336
335
|
|
|
337
|
-
.tlc-results-icon {
|
|
336
|
+
:global(.tlc-results-icon) {
|
|
338
337
|
width: 1.25rem;
|
|
339
338
|
height: 1.25rem;
|
|
340
339
|
color: #a5b4fc;
|
|
341
340
|
}
|
|
342
341
|
|
|
343
|
-
.tlc-interval-section {
|
|
342
|
+
:global(.tlc-interval-section) {
|
|
344
343
|
display: flex;
|
|
345
344
|
flex-direction: column;
|
|
346
345
|
gap: 0.5rem;
|
|
347
346
|
}
|
|
348
347
|
|
|
349
|
-
.tlc-interval-label {
|
|
348
|
+
:global(.tlc-interval-label) {
|
|
350
349
|
font-size: 0.7rem;
|
|
351
350
|
font-weight: 700;
|
|
352
351
|
text-transform: uppercase;
|
|
@@ -355,38 +354,38 @@ const { ui } = Astro.props;
|
|
|
355
354
|
margin: 0;
|
|
356
355
|
}
|
|
357
356
|
|
|
358
|
-
.tlc-interval-value {
|
|
357
|
+
:global(.tlc-interval-value) {
|
|
359
358
|
display: flex;
|
|
360
359
|
align-items: baseline;
|
|
361
360
|
gap: 0.5rem;
|
|
362
361
|
}
|
|
363
362
|
|
|
364
|
-
.tlc-big-number {
|
|
363
|
+
:global(.tlc-big-number) {
|
|
365
364
|
font-size: clamp(3.5rem, 8vw, 5rem);
|
|
366
365
|
font-weight: 900;
|
|
367
366
|
letter-spacing: -0.03em;
|
|
368
367
|
line-height: 1;
|
|
369
368
|
}
|
|
370
369
|
|
|
371
|
-
.tlc-big-unit {
|
|
370
|
+
:global(.tlc-big-unit) {
|
|
372
371
|
font-size: 1.5rem;
|
|
373
372
|
font-weight: 700;
|
|
374
373
|
color: #a5b4fc;
|
|
375
374
|
}
|
|
376
375
|
|
|
377
|
-
.tlc-stats-grid {
|
|
376
|
+
:global(.tlc-stats-grid) {
|
|
378
377
|
display: grid;
|
|
379
378
|
grid-template-columns: 1fr 1fr;
|
|
380
379
|
gap: 1.5rem 2rem;
|
|
381
380
|
}
|
|
382
381
|
|
|
383
|
-
.tlc-stat {
|
|
382
|
+
:global(.tlc-stat) {
|
|
384
383
|
display: flex;
|
|
385
384
|
flex-direction: column;
|
|
386
385
|
gap: 0.25rem;
|
|
387
386
|
}
|
|
388
387
|
|
|
389
|
-
.tlc-stat-label {
|
|
388
|
+
:global(.tlc-stat-label) {
|
|
390
389
|
font-size: 0.65rem;
|
|
391
390
|
font-weight: 700;
|
|
392
391
|
text-transform: uppercase;
|
|
@@ -395,7 +394,7 @@ const { ui } = Astro.props;
|
|
|
395
394
|
margin: 0;
|
|
396
395
|
}
|
|
397
396
|
|
|
398
|
-
.tlc-stat-value {
|
|
397
|
+
:global(.tlc-stat-value) {
|
|
399
398
|
font-size: 1.875rem;
|
|
400
399
|
font-weight: 700;
|
|
401
400
|
font-variant-numeric: tabular-nums;
|
|
@@ -403,12 +402,12 @@ const { ui } = Astro.props;
|
|
|
403
402
|
line-height: 1.1;
|
|
404
403
|
}
|
|
405
404
|
|
|
406
|
-
.tlc-stat-value-sm {
|
|
405
|
+
:global(.tlc-stat-value-sm) {
|
|
407
406
|
font-size: 1.25rem;
|
|
408
407
|
color: #e0e7ff;
|
|
409
408
|
}
|
|
410
409
|
|
|
411
|
-
.tlc-rule-info {
|
|
410
|
+
:global(.tlc-rule-info) {
|
|
412
411
|
display: flex;
|
|
413
412
|
align-items: flex-start;
|
|
414
413
|
gap: 1rem;
|
|
@@ -416,7 +415,7 @@ const { ui } = Astro.props;
|
|
|
416
415
|
border-top: 1px solid rgba(165, 180, 252, 0.3);
|
|
417
416
|
}
|
|
418
417
|
|
|
419
|
-
.tlc-info-icon {
|
|
418
|
+
:global(.tlc-info-icon) {
|
|
420
419
|
width: 1.5rem;
|
|
421
420
|
height: 1.5rem;
|
|
422
421
|
color: #a5b4fc;
|
|
@@ -424,7 +423,7 @@ const { ui } = Astro.props;
|
|
|
424
423
|
margin-top: 0.1rem;
|
|
425
424
|
}
|
|
426
425
|
|
|
427
|
-
.tlc-info-text {
|
|
426
|
+
:global(.tlc-info-text) {
|
|
428
427
|
font-size: 0.8rem;
|
|
429
428
|
line-height: 1.5;
|
|
430
429
|
color: #c7d2fe;
|