@jaak.ai/stamps 2.0.0-dev.24 → 2.0.0-dev.26

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.
Files changed (36) hide show
  1. package/README.md +50 -12
  2. package/dist/cjs/{index-DGM9-FNg.js → index-BfhtOB0D.js} +5 -2
  3. package/dist/cjs/index-BfhtOB0D.js.map +1 -0
  4. package/dist/cjs/jaak-stamps-webcomponent.cjs.js +2 -2
  5. package/dist/cjs/jaak-stamps.cjs.entry.js +385 -25
  6. package/dist/cjs/jaak-stamps.cjs.entry.js.map +1 -1
  7. package/dist/cjs/jaak-stamps.entry.cjs.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/collection/components/my-component/my-component.css +227 -0
  10. package/dist/collection/components/my-component/my-component.js +467 -24
  11. package/dist/collection/components/my-component/my-component.js.map +1 -1
  12. package/dist/components/index.js +3 -0
  13. package/dist/components/index.js.map +1 -1
  14. package/dist/components/jaak-stamps.js +393 -25
  15. package/dist/components/jaak-stamps.js.map +1 -1
  16. package/dist/esm/{index-DqoVMnc7.js → index-BP1Q4KOg.js} +5 -2
  17. package/dist/esm/index-BP1Q4KOg.js.map +1 -0
  18. package/dist/esm/jaak-stamps-webcomponent.js +3 -3
  19. package/dist/esm/jaak-stamps.entry.js +385 -25
  20. package/dist/esm/jaak-stamps.entry.js.map +1 -1
  21. package/dist/esm/loader.js +3 -3
  22. package/dist/jaak-stamps-webcomponent/jaak-stamps-webcomponent.esm.js +1 -1
  23. package/dist/jaak-stamps-webcomponent/jaak-stamps.entry.esm.js.map +1 -1
  24. package/dist/jaak-stamps-webcomponent/p-14eb13d8.entry.js +2 -0
  25. package/dist/jaak-stamps-webcomponent/p-14eb13d8.entry.js.map +1 -0
  26. package/dist/jaak-stamps-webcomponent/p-BP1Q4KOg.js +3 -0
  27. package/dist/jaak-stamps-webcomponent/p-BP1Q4KOg.js.map +1 -0
  28. package/dist/types/components/my-component/my-component.d.ts +37 -0
  29. package/dist/types/components.d.ts +18 -0
  30. package/package.json +1 -1
  31. package/dist/cjs/index-DGM9-FNg.js.map +0 -1
  32. package/dist/esm/index-DqoVMnc7.js.map +0 -1
  33. package/dist/jaak-stamps-webcomponent/p-0521d8f5.entry.js +0 -2
  34. package/dist/jaak-stamps-webcomponent/p-0521d8f5.entry.js.map +0 -1
  35. package/dist/jaak-stamps-webcomponent/p-DqoVMnc7.js +0 -3
  36. package/dist/jaak-stamps-webcomponent/p-DqoVMnc7.js.map +0 -1
@@ -470,6 +470,233 @@ video {
470
470
  transform: translateX(-50%) translateY(0);
471
471
  }
472
472
 
473
+ /* Camera controls */
474
+ .camera-controls {
475
+ position: absolute;
476
+ top: 16px;
477
+ right: 16px;
478
+ z-index: 25;
479
+ display: flex;
480
+ gap: 8px;
481
+ pointer-events: auto;
482
+ }
483
+
484
+ .flip-camera-button {
485
+ height: 40px;
486
+ padding: 0 16px;
487
+ border: none;
488
+ border-radius: 8px;
489
+ background: rgba(0, 0, 0, 0.6);
490
+ backdrop-filter: blur(12px);
491
+ color: #ffffff;
492
+ font-size: 12px;
493
+ font-weight: 500;
494
+ cursor: pointer;
495
+ transition: all 0.2s ease;
496
+ display: flex;
497
+ align-items: center;
498
+ justify-content: center;
499
+ border: 1px solid rgba(255, 255, 255, 0.1);
500
+ white-space: nowrap;
501
+ min-width: fit-content;
502
+ }
503
+
504
+ .camera-selector-button {
505
+ height: 40px;
506
+ padding: 0 16px;
507
+ border: none;
508
+ border-radius: 8px;
509
+ background: rgba(0, 0, 0, 0.6);
510
+ backdrop-filter: blur(12px);
511
+ color: #ffffff;
512
+ font-size: 12px;
513
+ font-weight: 500;
514
+ cursor: pointer;
515
+ transition: all 0.2s ease;
516
+ display: flex;
517
+ align-items: center;
518
+ justify-content: center;
519
+ border: 1px solid rgba(255, 255, 255, 0.1);
520
+ white-space: nowrap;
521
+ min-width: fit-content;
522
+ }
523
+
524
+ .flip-camera-button:hover,
525
+ .camera-selector-button:hover {
526
+ background: rgba(0, 0, 0, 0.8);
527
+ border-color: rgba(255, 255, 255, 0.2);
528
+ transform: translateY(-1px);
529
+ }
530
+
531
+ .flip-camera-button:active,
532
+ .camera-selector-button:active {
533
+ transform: translateY(0);
534
+ background: rgba(0, 0, 0, 0.9);
535
+ }
536
+
537
+ /* Camera selector dropdown */
538
+ .camera-selector-dropdown {
539
+ position: absolute;
540
+ top: 56px;
541
+ right: 16px;
542
+ z-index: 30;
543
+ background: rgba(0, 0, 0, 0.85);
544
+ backdrop-filter: blur(20px);
545
+ border-radius: 12px;
546
+ min-width: 260px;
547
+ max-width: 300px;
548
+ border: 1px solid rgba(255, 255, 255, 0.1);
549
+ overflow: hidden;
550
+ pointer-events: auto;
551
+ animation: slideInFromTop 0.3s ease-out;
552
+ }
553
+
554
+ @keyframes slideInFromTop {
555
+ 0% {
556
+ opacity: 0;
557
+ transform: translateY(-8px) scale(0.95);
558
+ }
559
+ 100% {
560
+ opacity: 1;
561
+ transform: translateY(0) scale(1);
562
+ }
563
+ }
564
+
565
+ .camera-selector-header {
566
+ display: flex;
567
+ justify-content: space-between;
568
+ align-items: center;
569
+ padding: 12px 16px;
570
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
571
+ }
572
+
573
+ .camera-selector-header span {
574
+ font-weight: 500;
575
+ color: #ffffff;
576
+ font-size: 13px;
577
+ opacity: 0.9;
578
+ }
579
+
580
+ .close-selector {
581
+ width: 20px;
582
+ height: 20px;
583
+ border: none;
584
+ background: none;
585
+ color: rgba(255, 255, 255, 0.7);
586
+ font-size: 16px;
587
+ cursor: pointer;
588
+ display: flex;
589
+ align-items: center;
590
+ justify-content: center;
591
+ border-radius: 4px;
592
+ transition: all 0.2s ease;
593
+ }
594
+
595
+ .close-selector:hover {
596
+ background: rgba(255, 255, 255, 0.1);
597
+ color: #ffffff;
598
+ }
599
+
600
+ .camera-list {
601
+ padding: 4px 0;
602
+ max-height: 240px;
603
+ overflow-y: auto;
604
+ }
605
+
606
+ .camera-option {
607
+ width: 100%;
608
+ padding: 10px 16px;
609
+ border: none;
610
+ background: none;
611
+ text-align: left;
612
+ cursor: pointer;
613
+ transition: all 0.2s ease;
614
+ display: flex;
615
+ justify-content: space-between;
616
+ align-items: center;
617
+ color: rgba(255, 255, 255, 0.9);
618
+ }
619
+
620
+ .camera-option:hover {
621
+ background: rgba(255, 255, 255, 0.08);
622
+ }
623
+
624
+ .camera-option.selected {
625
+ background: rgba(255, 255, 255, 0.12);
626
+ color: #ffffff;
627
+ }
628
+
629
+ .camera-label {
630
+ font-size: 13px;
631
+ flex: 1;
632
+ white-space: nowrap;
633
+ overflow: hidden;
634
+ text-overflow: ellipsis;
635
+ margin-right: 8px;
636
+ font-weight: 400;
637
+ }
638
+
639
+ .selected-indicator {
640
+ font-size: 14px;
641
+ color: #ffffff;
642
+ opacity: 0.9;
643
+ }
644
+
645
+ .device-info {
646
+ padding: 8px 16px;
647
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
648
+ background: rgba(255, 255, 255, 0.05);
649
+ }
650
+
651
+ .device-info small {
652
+ color: rgba(255, 255, 255, 0.6);
653
+ font-size: 11px;
654
+ text-transform: capitalize;
655
+ font-weight: 400;
656
+ }
657
+
658
+ /* Responsive design for camera controls */
659
+ @media (max-width: 480px) {
660
+ .camera-controls {
661
+ top: 12px;
662
+ right: 12px;
663
+ gap: 6px;
664
+ }
665
+
666
+ .flip-camera-button {
667
+ height: 36px;
668
+ padding: 0 12px;
669
+ font-size: 11px;
670
+ border-radius: 6px;
671
+ }
672
+
673
+ .camera-selector-button {
674
+ height: 36px;
675
+ padding: 0 12px;
676
+ font-size: 11px;
677
+ border-radius: 6px;
678
+ }
679
+
680
+ .camera-selector-dropdown {
681
+ right: 12px;
682
+ top: 48px;
683
+ min-width: 240px;
684
+ max-width: calc(100vw - 24px);
685
+ }
686
+
687
+ .camera-selector-header {
688
+ padding: 10px 14px;
689
+ }
690
+
691
+ .camera-option {
692
+ padding: 8px 14px;
693
+ }
694
+
695
+ .device-info {
696
+ padding: 6px 14px;
697
+ }
698
+ }
699
+
473
700
  /* Marca de agua */
474
701
  .watermark {
475
702
  position: absolute;