@jjlmoya/utils-audiovisual 1.14.0 → 1.16.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 +7 -4
- package/scripts/postinstall.mjs +27 -0
- package/src/entries.ts +32 -0
- package/src/tool/chromaticLens/chromatic-lens-color-palette-extraction-online.css +308 -0
- package/src/tool/chromaticLens/component.astro +0 -309
- package/src/tool/chromaticLens/entry.ts +39 -0
- package/src/tool/chromaticLens/index.ts +2 -41
- package/src/tool/collageMaker/component.astro +0 -387
- package/src/tool/collageMaker/entry.ts +48 -0
- package/src/tool/collageMaker/free-online-photo-collage-maker-professional-compositions.css +386 -0
- package/src/tool/collageMaker/index.ts +2 -50
- package/src/tool/exifCleaner/component.astro +0 -290
- package/src/tool/exifCleaner/entry.ts +53 -0
- package/src/tool/exifCleaner/exif-metadata-cleaner-remove-gps-photo-privacy.css +289 -0
- package/src/tool/exifCleaner/index.ts +2 -55
- package/src/tool/imageCompressor/component.astro +0 -498
- package/src/tool/imageCompressor/entry.ts +56 -0
- package/src/tool/imageCompressor/index.ts +2 -58
- package/src/tool/imageCompressor/online-image-compressor-reduce-file-size-no-quality-loss.css +496 -0
- package/src/tool/printQualityCalculator/component.astro +0 -485
- package/src/tool/printQualityCalculator/entry.ts +66 -0
- package/src/tool/printQualityCalculator/index.ts +2 -68
- package/src/tool/printQualityCalculator/print-quality-calculator-pixels-to-cm-dpi.css +483 -0
- package/src/tool/privacyBlur/component.astro +0 -334
- package/src/tool/privacyBlur/entry.ts +45 -0
- package/src/tool/privacyBlur/index.ts +2 -47
- package/src/tool/privacyBlur/online-privacy-editor-pixelate-blur-faces-photos.css +332 -0
- package/src/tool/subtitleSync/component.astro +0 -327
- package/src/tool/subtitleSync/entry.ts +45 -0
- package/src/tool/subtitleSync/index.ts +2 -47
- package/src/tool/subtitleSync/synchronize-srt-subtitles-online-adjust-timing-free.css +325 -0
- package/src/tool/timelapseCalculator/component.astro +0 -285
- package/src/tool/timelapseCalculator/entry.ts +48 -0
- package/src/tool/timelapseCalculator/index.ts +2 -50
- package/src/tool/timelapseCalculator/timelapse-hyperlapse-calculator-perfect-intervals.css +283 -0
- package/src/tool/tvDistance/component.astro +0 -437
- package/src/tool/tvDistance/entry.ts +45 -0
- package/src/tool/tvDistance/index.ts +2 -47
- package/src/tool/tvDistance/tv-viewing-distance-calculator-thx-4k-optimal-screen.css +435 -0
- package/src/tool/videoFrameExtractor/component.astro +0 -428
- package/src/tool/videoFrameExtractor/entry.ts +49 -0
- package/src/tool/videoFrameExtractor/index.ts +2 -51
- package/src/tool/videoFrameExtractor/online-video-frame-extractor-capture-hd-stills.css +426 -0
- package/src/tools.ts +1 -1
|
@@ -228,337 +228,3 @@ const { ui } = Astro.props;
|
|
|
228
228
|
document.addEventListener('astro:page-load', init);
|
|
229
229
|
</script>
|
|
230
230
|
|
|
231
|
-
<style>
|
|
232
|
-
:global(.pb-root) {
|
|
233
|
-
--pb-bg: #fff;
|
|
234
|
-
--pb-bg-muted: #f8fafc;
|
|
235
|
-
--pb-border: #e2e8f0;
|
|
236
|
-
--pb-text: #0f172a;
|
|
237
|
-
--pb-text-muted: #64748b;
|
|
238
|
-
--pb-primary: #6366f1;
|
|
239
|
-
--pb-primary-light: rgba(99,102,241,0.1);
|
|
240
|
-
--pb-shadow: rgba(0,0,0,0.06);
|
|
241
|
-
--pb-toolbar-bg: rgba(255,255,255,0.92);
|
|
242
|
-
--pb-radius: 1.25rem;
|
|
243
|
-
|
|
244
|
-
width: 100%;
|
|
245
|
-
padding: 1rem;
|
|
246
|
-
display: flex;
|
|
247
|
-
flex-direction: column;
|
|
248
|
-
gap: 1rem;
|
|
249
|
-
height: 90vh;
|
|
250
|
-
min-height: 600px;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
:global(.theme-dark .pb-root) {
|
|
254
|
-
--pb-bg: #09090b;
|
|
255
|
-
--pb-bg-muted: #18181b;
|
|
256
|
-
--pb-border: #27272a;
|
|
257
|
-
--pb-text: #fafafa;
|
|
258
|
-
--pb-text-muted: #71717a;
|
|
259
|
-
--pb-primary: #818cf8;
|
|
260
|
-
--pb-primary-light: rgba(129,140,248,0.12);
|
|
261
|
-
--pb-shadow: rgba(0,0,0,0.4);
|
|
262
|
-
--pb-toolbar-bg: rgba(9,9,11,0.92);
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
:global(.pb-toolbar) {
|
|
266
|
-
position: sticky;
|
|
267
|
-
top: 0.5rem;
|
|
268
|
-
z-index: 100;
|
|
269
|
-
max-width: 1200px;
|
|
270
|
-
margin: 0 auto;
|
|
271
|
-
width: 100%;
|
|
272
|
-
background: var(--pb-toolbar-bg);
|
|
273
|
-
backdrop-filter: blur(20px);
|
|
274
|
-
border: 1px solid var(--pb-border);
|
|
275
|
-
border-radius: var(--pb-radius);
|
|
276
|
-
padding: 0.5rem 1rem;
|
|
277
|
-
box-shadow: 0 8px 32px var(--pb-shadow);
|
|
278
|
-
display: flex;
|
|
279
|
-
flex-wrap: wrap;
|
|
280
|
-
align-items: center;
|
|
281
|
-
justify-content: space-between;
|
|
282
|
-
gap: 0.75rem;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
:global(.pb-tool-selector) {
|
|
286
|
-
display: flex;
|
|
287
|
-
gap: 0.25rem;
|
|
288
|
-
background: var(--pb-bg-muted);
|
|
289
|
-
border-radius: 0.75rem;
|
|
290
|
-
padding: 0.25rem;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
:global(.pb-tool-btn) {
|
|
294
|
-
display: flex;
|
|
295
|
-
align-items: center;
|
|
296
|
-
gap: 0.4rem;
|
|
297
|
-
padding: 0.4rem 0.875rem;
|
|
298
|
-
border-radius: 0.625rem;
|
|
299
|
-
font-size: 0.8rem;
|
|
300
|
-
font-weight: 700;
|
|
301
|
-
color: var(--pb-text-muted);
|
|
302
|
-
border: none;
|
|
303
|
-
background: transparent;
|
|
304
|
-
cursor: pointer;
|
|
305
|
-
transition: all 0.15s;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
:global(.pb-tool-btn-active) {
|
|
309
|
-
background: var(--pb-bg);
|
|
310
|
-
color: var(--pb-text);
|
|
311
|
-
box-shadow: 0 2px 8px var(--pb-shadow);
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
:global(.pb-settings-row) {
|
|
315
|
-
display: flex;
|
|
316
|
-
align-items: center;
|
|
317
|
-
gap: 0.875rem;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
:global(.pb-intensity-wrap) {
|
|
321
|
-
display: flex;
|
|
322
|
-
align-items: center;
|
|
323
|
-
gap: 0.5rem;
|
|
324
|
-
color: var(--pb-text-muted);
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
:global(.pb-slider) {
|
|
328
|
-
width: 90px;
|
|
329
|
-
accent-color: var(--pb-primary);
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
:global(.pb-auto-btn) {
|
|
333
|
-
display: flex;
|
|
334
|
-
align-items: center;
|
|
335
|
-
gap: 0.4rem;
|
|
336
|
-
padding: 0.45rem 0.875rem;
|
|
337
|
-
background: var(--pb-primary-light);
|
|
338
|
-
color: var(--pb-primary);
|
|
339
|
-
border: none;
|
|
340
|
-
border-radius: 0.75rem;
|
|
341
|
-
font-size: 0.8rem;
|
|
342
|
-
font-weight: 700;
|
|
343
|
-
cursor: pointer;
|
|
344
|
-
transition: opacity 0.15s;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
:global(.pb-auto-btn:hover) {
|
|
348
|
-
opacity: 0.8;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
:global(.pb-action-group) {
|
|
352
|
-
display: flex;
|
|
353
|
-
align-items: center;
|
|
354
|
-
gap: 0.625rem;
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
:global(.pb-undo-btn) {
|
|
358
|
-
width: 2.5rem;
|
|
359
|
-
height: 2.5rem;
|
|
360
|
-
border-radius: 0.75rem;
|
|
361
|
-
background: var(--pb-bg-muted);
|
|
362
|
-
border: 1px solid var(--pb-border);
|
|
363
|
-
color: var(--pb-text-muted);
|
|
364
|
-
cursor: pointer;
|
|
365
|
-
display: flex;
|
|
366
|
-
align-items: center;
|
|
367
|
-
justify-content: center;
|
|
368
|
-
transition: all 0.15s;
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
:global(.pb-undo-btn:hover:not(:disabled)) {
|
|
372
|
-
border-color: var(--pb-primary);
|
|
373
|
-
color: var(--pb-primary);
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
:global(.pb-undo-btn:disabled) {
|
|
377
|
-
opacity: 0.35;
|
|
378
|
-
cursor: not-allowed;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
:global(.pb-download-btn) {
|
|
382
|
-
display: flex;
|
|
383
|
-
align-items: center;
|
|
384
|
-
gap: 0.5rem;
|
|
385
|
-
padding: 0.55rem 1.25rem;
|
|
386
|
-
background: var(--pb-primary);
|
|
387
|
-
color: #fff;
|
|
388
|
-
border: none;
|
|
389
|
-
border-radius: 0.75rem;
|
|
390
|
-
font-size: 0.875rem;
|
|
391
|
-
font-weight: 700;
|
|
392
|
-
cursor: pointer;
|
|
393
|
-
box-shadow: 0 4px 14px rgba(99,102,241,0.35);
|
|
394
|
-
transition: all 0.2s;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
:global(.pb-download-btn:hover:not(:disabled)) {
|
|
398
|
-
transform: translateY(-1px);
|
|
399
|
-
box-shadow: 0 6px 20px rgba(99,102,241,0.45);
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
:global(.pb-download-btn:disabled) {
|
|
403
|
-
opacity: 0.4;
|
|
404
|
-
cursor: not-allowed;
|
|
405
|
-
box-shadow: none;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
:global(.pb-icon) {
|
|
409
|
-
width: 1.1rem;
|
|
410
|
-
height: 1.1rem;
|
|
411
|
-
flex-shrink: 0;
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
:global(.pb-workspace) {
|
|
415
|
-
flex: 1;
|
|
416
|
-
position: relative;
|
|
417
|
-
background: var(--pb-bg-muted);
|
|
418
|
-
border: 2px dashed var(--pb-border);
|
|
419
|
-
border-radius: var(--pb-radius);
|
|
420
|
-
display: flex;
|
|
421
|
-
flex-direction: column;
|
|
422
|
-
align-items: center;
|
|
423
|
-
justify-content: center;
|
|
424
|
-
overflow: hidden;
|
|
425
|
-
transition: border-color 0.2s;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
:global(.pb-dragging .pb-workspace) {
|
|
429
|
-
border-color: var(--pb-primary);
|
|
430
|
-
background: var(--pb-primary-light);
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
:global(.pb-empty) {
|
|
434
|
-
width: 100%;
|
|
435
|
-
height: 100%;
|
|
436
|
-
display: flex;
|
|
437
|
-
flex-direction: column;
|
|
438
|
-
align-items: center;
|
|
439
|
-
justify-content: center;
|
|
440
|
-
text-align: center;
|
|
441
|
-
cursor: pointer;
|
|
442
|
-
padding: 2rem;
|
|
443
|
-
gap: 0.75rem;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
:global(.pb-upload-icon) {
|
|
447
|
-
width: 5rem;
|
|
448
|
-
height: 5rem;
|
|
449
|
-
background: var(--pb-bg);
|
|
450
|
-
border: 1px solid var(--pb-border);
|
|
451
|
-
border-radius: 1.25rem;
|
|
452
|
-
display: flex;
|
|
453
|
-
align-items: center;
|
|
454
|
-
justify-content: center;
|
|
455
|
-
color: var(--pb-primary);
|
|
456
|
-
box-shadow: 0 8px 24px var(--pb-shadow);
|
|
457
|
-
margin-bottom: 0.5rem;
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
:global(.pb-icon-lg) {
|
|
461
|
-
width: 2.5rem;
|
|
462
|
-
height: 2.5rem;
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
:global(.pb-empty-title) {
|
|
466
|
-
font-size: 1.75rem;
|
|
467
|
-
font-weight: 900;
|
|
468
|
-
color: var(--pb-text);
|
|
469
|
-
margin: 0;
|
|
470
|
-
}
|
|
471
|
-
|
|
472
|
-
:global(.pb-empty-sub) {
|
|
473
|
-
font-size: 1rem;
|
|
474
|
-
color: var(--pb-text-muted);
|
|
475
|
-
margin: 0;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
:global(.pb-badges) {
|
|
479
|
-
display: flex;
|
|
480
|
-
gap: 0.75rem;
|
|
481
|
-
margin-top: 0.5rem;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
:global(.pb-badge) {
|
|
485
|
-
display: flex;
|
|
486
|
-
align-items: center;
|
|
487
|
-
gap: 0.35rem;
|
|
488
|
-
background: var(--pb-bg);
|
|
489
|
-
border: 1px solid var(--pb-border);
|
|
490
|
-
border-radius: 9999px;
|
|
491
|
-
padding: 0.35rem 0.75rem;
|
|
492
|
-
font-size: 0.75rem;
|
|
493
|
-
font-weight: 700;
|
|
494
|
-
color: var(--pb-text-muted);
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
:global(.pb-badge-icon) {
|
|
498
|
-
width: 0.875rem;
|
|
499
|
-
height: 0.875rem;
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
:global(.pb-loader) {
|
|
503
|
-
position: absolute;
|
|
504
|
-
inset: 0;
|
|
505
|
-
background: rgba(0,0,0,0.5);
|
|
506
|
-
display: flex;
|
|
507
|
-
flex-direction: column;
|
|
508
|
-
align-items: center;
|
|
509
|
-
justify-content: center;
|
|
510
|
-
gap: 1rem;
|
|
511
|
-
z-index: 10;
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
:global(.pb-spinner) {
|
|
515
|
-
width: 2.5rem;
|
|
516
|
-
height: 2.5rem;
|
|
517
|
-
border: 3px solid rgba(255,255,255,0.2);
|
|
518
|
-
border-top-color: #fff;
|
|
519
|
-
border-radius: 50%;
|
|
520
|
-
animation: pb-spin 0.7s linear infinite;
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
@keyframes pb-spin {
|
|
524
|
-
to { transform: rotate(360deg); }
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
:global(.pb-loader-text) {
|
|
528
|
-
color: #fff;
|
|
529
|
-
font-weight: 800;
|
|
530
|
-
font-size: 0.9rem;
|
|
531
|
-
margin: 0;
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
:global(.pb-canvas-wrap) {
|
|
535
|
-
position: absolute;
|
|
536
|
-
inset: 0;
|
|
537
|
-
background: #000;
|
|
538
|
-
display: flex;
|
|
539
|
-
align-items: center;
|
|
540
|
-
justify-content: center;
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
:global(.pb-canvas-wrap canvas) {
|
|
544
|
-
width: 100%;
|
|
545
|
-
height: 100%;
|
|
546
|
-
object-fit: contain;
|
|
547
|
-
cursor: crosshair;
|
|
548
|
-
}
|
|
549
|
-
|
|
550
|
-
:global(.pb-hidden) {
|
|
551
|
-
display: none;
|
|
552
|
-
}
|
|
553
|
-
|
|
554
|
-
@media (max-width: 640px) {
|
|
555
|
-
.pb-root {
|
|
556
|
-
padding: 0.5rem;
|
|
557
|
-
height: auto;
|
|
558
|
-
min-height: 500px;
|
|
559
|
-
}
|
|
560
|
-
.pb-empty-title {
|
|
561
|
-
font-size: 1.25rem;
|
|
562
|
-
}
|
|
563
|
-
}
|
|
564
|
-
</style>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AudiovisualToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface PrivacyBlurUI {
|
|
4
|
+
toolPixel: string;
|
|
5
|
+
toolBlur: string;
|
|
6
|
+
toolSolid: string;
|
|
7
|
+
intensityLabel: string;
|
|
8
|
+
undoButton: string;
|
|
9
|
+
downloadButton: string;
|
|
10
|
+
dropTitle: string;
|
|
11
|
+
dropSubtitle: string;
|
|
12
|
+
privacySecureLabel: string;
|
|
13
|
+
offlineLabel: string;
|
|
14
|
+
autoDetectFaces: string;
|
|
15
|
+
loadingModels: string;
|
|
16
|
+
noFacesDetected: string;
|
|
17
|
+
[key: string]: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type PrivacyBlurLocaleContent = ToolLocaleContent<PrivacyBlurUI>;
|
|
21
|
+
|
|
22
|
+
export const privacyBlur: AudiovisualToolEntry<PrivacyBlurUI> = {
|
|
23
|
+
id: 'editor-privacidad',
|
|
24
|
+
icons: {
|
|
25
|
+
bg: 'mdi:eye-off',
|
|
26
|
+
fg: 'mdi:blur',
|
|
27
|
+
},
|
|
28
|
+
i18n: {
|
|
29
|
+
es: async () => (await import('./i18n/es')).content as unknown as PrivacyBlurLocaleContent,
|
|
30
|
+
en: async () => (await import('./i18n/en')).content as unknown as PrivacyBlurLocaleContent,
|
|
31
|
+
fr: async () => (await import('./i18n/fr')).content as unknown as PrivacyBlurLocaleContent,
|
|
32
|
+
de: async () => (await import('./i18n/de')).content as unknown as PrivacyBlurLocaleContent,
|
|
33
|
+
it: async () => (await import('./i18n/it')).content as unknown as PrivacyBlurLocaleContent,
|
|
34
|
+
pt: async () => (await import('./i18n/pt')).content as unknown as PrivacyBlurLocaleContent,
|
|
35
|
+
id: async () => (await import('./i18n/id')).content as unknown as PrivacyBlurLocaleContent,
|
|
36
|
+
ja: async () => (await import('./i18n/ja')).content as unknown as PrivacyBlurLocaleContent,
|
|
37
|
+
ko: async () => (await import('./i18n/ko')).content as unknown as PrivacyBlurLocaleContent,
|
|
38
|
+
nl: async () => (await import('./i18n/nl')).content as unknown as PrivacyBlurLocaleContent,
|
|
39
|
+
pl: async () => (await import('./i18n/pl')).content as unknown as PrivacyBlurLocaleContent,
|
|
40
|
+
ru: async () => (await import('./i18n/ru')).content as unknown as PrivacyBlurLocaleContent,
|
|
41
|
+
sv: async () => (await import('./i18n/sv')).content as unknown as PrivacyBlurLocaleContent,
|
|
42
|
+
tr: async () => (await import('./i18n/tr')).content as unknown as PrivacyBlurLocaleContent,
|
|
43
|
+
zh: async () => (await import('./i18n/zh')).content as unknown as PrivacyBlurLocaleContent,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
@@ -1,50 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export interface PrivacyBlurUI {
|
|
4
|
-
toolPixel: string;
|
|
5
|
-
toolBlur: string;
|
|
6
|
-
toolSolid: string;
|
|
7
|
-
intensityLabel: string;
|
|
8
|
-
undoButton: string;
|
|
9
|
-
downloadButton: string;
|
|
10
|
-
dropTitle: string;
|
|
11
|
-
dropSubtitle: string;
|
|
12
|
-
privacySecureLabel: string;
|
|
13
|
-
offlineLabel: string;
|
|
14
|
-
autoDetectFaces: string;
|
|
15
|
-
loadingModels: string;
|
|
16
|
-
noFacesDetected: string;
|
|
17
|
-
[key: string]: string;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type PrivacyBlurLocaleContent = ToolLocaleContent<PrivacyBlurUI>;
|
|
21
|
-
|
|
22
|
-
export const privacyBlur: AudiovisualToolEntry<PrivacyBlurUI> = {
|
|
23
|
-
id: 'editor-privacidad',
|
|
24
|
-
icons: {
|
|
25
|
-
bg: 'mdi:eye-off',
|
|
26
|
-
fg: 'mdi:blur',
|
|
27
|
-
},
|
|
28
|
-
i18n: {
|
|
29
|
-
es: async () => (await import('./i18n/es')).content as unknown as PrivacyBlurLocaleContent,
|
|
30
|
-
en: async () => (await import('./i18n/en')).content as unknown as PrivacyBlurLocaleContent,
|
|
31
|
-
fr: async () => (await import('./i18n/fr')).content as unknown as PrivacyBlurLocaleContent,
|
|
32
|
-
de: async () => (await import('./i18n/de')).content as unknown as PrivacyBlurLocaleContent,
|
|
33
|
-
it: async () => (await import('./i18n/it')).content as unknown as PrivacyBlurLocaleContent,
|
|
34
|
-
pt: async () => (await import('./i18n/pt')).content as unknown as PrivacyBlurLocaleContent,
|
|
35
|
-
id: async () => (await import('./i18n/id')).content as unknown as PrivacyBlurLocaleContent,
|
|
36
|
-
ja: async () => (await import('./i18n/ja')).content as unknown as PrivacyBlurLocaleContent,
|
|
37
|
-
ko: async () => (await import('./i18n/ko')).content as unknown as PrivacyBlurLocaleContent,
|
|
38
|
-
nl: async () => (await import('./i18n/nl')).content as unknown as PrivacyBlurLocaleContent,
|
|
39
|
-
pl: async () => (await import('./i18n/pl')).content as unknown as PrivacyBlurLocaleContent,
|
|
40
|
-
ru: async () => (await import('./i18n/ru')).content as unknown as PrivacyBlurLocaleContent,
|
|
41
|
-
sv: async () => (await import('./i18n/sv')).content as unknown as PrivacyBlurLocaleContent,
|
|
42
|
-
tr: async () => (await import('./i18n/tr')).content as unknown as PrivacyBlurLocaleContent,
|
|
43
|
-
zh: async () => (await import('./i18n/zh')).content as unknown as PrivacyBlurLocaleContent,
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
|
|
1
|
+
import { privacyBlur } from './entry';
|
|
2
|
+
export * from './entry';
|
|
48
3
|
export const PRIVACY_BLUR_TOOL: ToolDefinition = {
|
|
49
4
|
entry: privacyBlur as unknown as AudiovisualToolEntry,
|
|
50
5
|
Component: () => import('./component.astro'),
|