unified-video-framework 1.4.103 → 1.4.105

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unified-video-framework",
3
- "version": "1.4.103",
3
+ "version": "1.4.105",
4
4
  "description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
5
5
  "main": "packages/core/dist/index.js",
6
6
  "types": "packages/core/dist/index.d.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
@@ -1656,18 +1656,22 @@ export class WebPlayer extends BasePlayer {
1656
1656
 
1657
1657
  .uvf-progress-bar-wrapper {
1658
1658
  width: 100%;
1659
- height: 4px;
1659
+ height: 2px;
1660
1660
  position: relative;
1661
- background: rgba(255,255,255,0.2);
1662
- border-radius: 2px;
1661
+ background: rgba(255, 255, 255, 0.15);
1662
+ border-radius: 4px;
1663
1663
  cursor: pointer;
1664
- padding: 12px 0;
1664
+ padding: 6px 0;
1665
1665
  overflow: visible;
1666
- transition: height 0.2s ease;
1666
+ transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
1667
+ backdrop-filter: blur(4px);
1667
1668
  }
1668
1669
 
1669
1670
  .uvf-progress-bar-wrapper:hover {
1670
- height: 5px;
1671
+ height: 4px;
1672
+ background: rgba(255, 255, 255, 0.2);
1673
+ border-radius: 6px;
1674
+ transform: scaleY(1.1);
1671
1675
  }
1672
1676
 
1673
1677
  .uvf-progress-buffered {
@@ -1675,11 +1679,56 @@ export class WebPlayer extends BasePlayer {
1675
1679
  top: 0;
1676
1680
  left: 0;
1677
1681
  height: 100%;
1678
- background: rgba(255,255,255,0.4);
1679
- border-radius: 2px;
1682
+ background: linear-gradient(90deg,
1683
+ rgba(255, 255, 255, 0.25) 0%,
1684
+ rgba(255, 255, 255, 0.35) 30%,
1685
+ rgba(255, 255, 255, 0.4) 50%,
1686
+ rgba(255, 255, 255, 0.35) 70%,
1687
+ rgba(255, 255, 255, 0.3) 100%
1688
+ );
1689
+ border-radius: 4px;
1680
1690
  pointer-events: none;
1681
- transition: width 0.2s ease;
1691
+ transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
1682
1692
  z-index: 1;
1693
+ overflow: hidden;
1694
+ }
1695
+
1696
+ /* Buffered progress loading shimmer effect */
1697
+ .uvf-progress-buffered::before {
1698
+ content: '';
1699
+ position: absolute;
1700
+ top: 0;
1701
+ left: -100%;
1702
+ width: 100%;
1703
+ height: 100%;
1704
+ background: linear-gradient(90deg,
1705
+ transparent 0%,
1706
+ rgba(255, 255, 255, 0.15) 50%,
1707
+ transparent 100%
1708
+ );
1709
+ animation: bufferShimmer 2s infinite;
1710
+ border-radius: 6px;
1711
+ }
1712
+
1713
+ @keyframes bufferShimmer {
1714
+ 0% { left: -100%; }
1715
+ 100% { left: 100%; }
1716
+ }
1717
+
1718
+ .uvf-progress-bar-wrapper:hover .uvf-progress-buffered {
1719
+ border-radius: 6px;
1720
+ background: linear-gradient(90deg,
1721
+ rgba(255, 255, 255, 0.3) 0%,
1722
+ rgba(255, 255, 255, 0.4) 30%,
1723
+ rgba(255, 255, 255, 0.5) 50%,
1724
+ rgba(255, 255, 255, 0.4) 70%,
1725
+ rgba(255, 255, 255, 0.35) 100%
1726
+ );
1727
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
1728
+ }
1729
+
1730
+ .uvf-progress-bar-wrapper:hover .uvf-progress-buffered::before {
1731
+ border-radius: 6px;
1683
1732
  }
1684
1733
 
1685
1734
  .uvf-progress-filled {
@@ -1687,121 +1736,232 @@ export class WebPlayer extends BasePlayer {
1687
1736
  top: 0;
1688
1737
  left: 0;
1689
1738
  height: 100%;
1690
- background: linear-gradient(90deg, #ff5722, #ff7043);
1691
- border-radius: 2px;
1739
+ background: linear-gradient(90deg,
1740
+ #ff4500 0%,
1741
+ #ff5722 25%,
1742
+ #ff6b35 50%,
1743
+ #ff7043 75%,
1744
+ #ff8c69 100%
1745
+ );
1746
+ border-radius: 4px;
1692
1747
  pointer-events: none;
1693
- transition: width 0.2s ease;
1748
+ transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
1694
1749
  z-index: 2;
1750
+ box-shadow: 0 0 12px rgba(255, 87, 34, 0.3);
1751
+ }
1752
+
1753
+ .uvf-progress-bar-wrapper:hover .uvf-progress-filled {
1754
+ border-radius: 6px;
1755
+ background: linear-gradient(90deg,
1756
+ #ff4500 0%,
1757
+ #ff5722 20%,
1758
+ #ff6b35 40%,
1759
+ #ff7043 60%,
1760
+ #ff8c69 80%,
1761
+ #ffa500 100%
1762
+ );
1763
+ box-shadow: 0 0 20px rgba(255, 87, 34, 0.5);
1695
1764
  }
1696
1765
 
1697
1766
  .uvf-progress-handle {
1698
1767
  position: absolute;
1699
1768
  width: 12px;
1700
1769
  height: 12px;
1701
- background: #ffffff;
1702
- border: 2px solid #ff5722;
1770
+ background: radial-gradient(circle,
1771
+ rgba(255, 255, 255, 0.95) 0%,
1772
+ rgba(255, 255, 255, 0.9) 70%,
1773
+ rgba(255, 255, 255, 0.85) 100%
1774
+ );
1775
+ border: 2px solid rgba(255, 87, 34, 0.8);
1703
1776
  border-radius: 50%;
1704
1777
  top: 50%;
1705
- transform: translate(-50%, -50%);
1778
+ left: 0%;
1779
+ transform: translate(-50%, -50%) scale(0);
1706
1780
  opacity: 0;
1707
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1708
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
1781
+ transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
1782
+ box-shadow:
1783
+ 0 0 0 0 rgba(255, 87, 34, 0.4),
1784
+ 0 4px 12px rgba(0, 0, 0, 0.25),
1785
+ inset 0 1px 0 rgba(255, 255, 255, 0.4);
1709
1786
  cursor: grab;
1710
1787
  z-index: 3;
1711
1788
  pointer-events: all;
1789
+ backdrop-filter: blur(8px);
1712
1790
  }
1713
1791
 
1714
1792
  .uvf-progress-bar-wrapper:hover .uvf-progress-handle {
1715
1793
  opacity: 1;
1716
1794
  transform: translate(-50%, -50%) scale(1);
1795
+ box-shadow:
1796
+ 0 0 0 4px rgba(255, 87, 34, 0.2),
1797
+ 0 6px 20px rgba(0, 0, 0, 0.3),
1798
+ inset 0 1px 0 rgba(255, 255, 255, 0.6);
1717
1799
  }
1718
1800
 
1719
1801
  .uvf-progress-handle:hover {
1720
- transform: translate(-50%, -50%) scale(1.15);
1721
- box-shadow: 0 3px 12px rgba(255, 87, 34, 0.4);
1802
+ transform: translate(-50%, -50%) scale(1.25);
1803
+ background: radial-gradient(circle,
1804
+ rgba(255, 255, 255, 1) 0%,
1805
+ rgba(255, 255, 255, 0.95) 70%,
1806
+ rgba(255, 255, 255, 0.9) 100%
1807
+ );
1808
+ border-color: rgba(255, 87, 34, 1);
1809
+ box-shadow:
1810
+ 0 0 0 6px rgba(255, 87, 34, 0.3),
1811
+ 0 8px 25px rgba(255, 87, 34, 0.4),
1812
+ inset 0 1px 0 rgba(255, 255, 255, 0.8);
1722
1813
  }
1723
1814
 
1724
1815
  .uvf-progress-handle:active,
1725
1816
  .uvf-progress-handle.dragging {
1726
1817
  cursor: grabbing;
1727
- transform: translate(-50%, -50%) scale(1.3);
1728
- box-shadow: 0 4px 16px rgba(255, 87, 34, 0.6);
1818
+ transform: translate(-50%, -50%) scale(1.4);
1819
+ background: radial-gradient(circle,
1820
+ rgba(255, 255, 255, 1) 0%,
1821
+ rgba(255, 255, 255, 0.98) 50%,
1822
+ rgba(255, 255, 255, 0.95) 100%
1823
+ );
1824
+ border-color: #ff4500;
1825
+ box-shadow:
1826
+ 0 0 0 8px rgba(255, 87, 34, 0.4),
1827
+ 0 12px 35px rgba(255, 69, 0, 0.5),
1828
+ inset 0 2px 0 rgba(255, 255, 255, 0.9);
1829
+ transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
1729
1830
  }
1730
1831
 
1731
1832
  .uvf-time-tooltip {
1732
1833
  position: absolute;
1733
- bottom: 24px;
1834
+ bottom: 32px;
1734
1835
  left: 50%;
1735
- transform: translateX(-50%);
1736
- background: rgba(0, 0, 0, 0.95);
1836
+ transform: translateX(-50%) translateY(8px) scale(0.9);
1837
+ background: linear-gradient(135deg,
1838
+ rgba(0, 0, 0, 0.95) 0%,
1839
+ rgba(20, 20, 20, 0.92) 50%,
1840
+ rgba(0, 0, 0, 0.98) 100%
1841
+ );
1737
1842
  color: #ffffff;
1738
- padding: 8px 14px;
1739
- border-radius: 8px;
1843
+ padding: 10px 16px;
1844
+ border-radius: 12px;
1740
1845
  font-size: 13px;
1741
1846
  font-weight: 600;
1847
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
1848
+ letter-spacing: 0.5px;
1742
1849
  white-space: nowrap;
1743
1850
  opacity: 0;
1744
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
1851
+ transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
1745
1852
  pointer-events: none;
1746
1853
  z-index: 4;
1747
- box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
1748
- backdrop-filter: blur(12px);
1749
- border: 1px solid rgba(255, 255, 255, 0.1);
1854
+ box-shadow:
1855
+ 0 0 0 1px rgba(255, 255, 255, 0.05),
1856
+ 0 8px 32px rgba(0, 0, 0, 0.6),
1857
+ 0 2px 8px rgba(0, 0, 0, 0.3),
1858
+ inset 0 1px 0 rgba(255, 255, 255, 0.1);
1859
+ backdrop-filter: blur(20px) saturate(1.5);
1860
+ border: 1px solid rgba(255, 255, 255, 0.08);
1861
+ min-width: 52px;
1862
+ text-align: center;
1750
1863
  }
1751
1864
 
1865
+ /* Glass morphism tooltip arrow with multiple layers */
1752
1866
  .uvf-time-tooltip::after {
1753
1867
  content: '';
1754
1868
  position: absolute;
1755
- bottom: -8px;
1869
+ bottom: -10px;
1756
1870
  left: 50%;
1757
1871
  transform: translateX(-50%);
1758
1872
  width: 0;
1759
1873
  height: 0;
1760
- border-left: 8px solid transparent;
1761
- border-right: 8px solid transparent;
1762
- border-top: 8px solid rgba(0, 0, 0, 0.95);
1874
+ border-left: 10px solid transparent;
1875
+ border-right: 10px solid transparent;
1876
+ border-top: 10px solid rgba(0, 0, 0, 0.95);
1877
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
1763
1878
  }
1764
1879
 
1765
1880
  .uvf-time-tooltip::before {
1766
1881
  content: '';
1767
1882
  position: absolute;
1768
- bottom: -9px;
1883
+ bottom: -11px;
1769
1884
  left: 50%;
1770
1885
  transform: translateX(-50%);
1771
1886
  width: 0;
1772
1887
  height: 0;
1773
- border-left: 9px solid transparent;
1774
- border-right: 9px solid transparent;
1775
- border-top: 9px solid rgba(255, 255, 255, 0.1);
1888
+ border-left: 11px solid transparent;
1889
+ border-right: 11px solid transparent;
1890
+ border-top: 11px solid rgba(255, 255, 255, 0.08);
1776
1891
  z-index: -1;
1777
1892
  }
1778
1893
 
1894
+ /* Enhanced tooltip animations */
1779
1895
  .uvf-progress-bar-wrapper:hover .uvf-time-tooltip {
1780
1896
  opacity: 1;
1781
- transform: translateX(-50%) translateY(-2px);
1897
+ transform: translateX(-50%) translateY(-2px) scale(1);
1782
1898
  }
1783
1899
 
1784
- /* Mobile responsive handle sizing */
1900
+ /* Tooltip pulse animation on first hover */
1901
+ @keyframes tooltipPulse {
1902
+ 0% { transform: translateX(-50%) translateY(-2px) scale(1); }
1903
+ 50% { transform: translateX(-50%) translateY(-4px) scale(1.05); }
1904
+ 100% { transform: translateX(-50%) translateY(-2px) scale(1); }
1905
+ }
1906
+
1907
+ .uvf-time-tooltip.pulse {
1908
+ animation: tooltipPulse 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) once;
1909
+ }
1910
+
1911
+ /* Mobile responsive design with enhanced touch targets */
1785
1912
  @media (max-width: 768px) {
1913
+ .uvf-progress-bar-wrapper {
1914
+ padding: 20px 0; /* Larger touch area */
1915
+ height: 3px; /* Slightly thicker on mobile */
1916
+ }
1917
+
1918
+ .uvf-progress-bar-wrapper:hover {
1919
+ height: 5px;
1920
+ }
1921
+
1786
1922
  .uvf-progress-handle {
1787
- width: 16px;
1788
- height: 16px;
1789
- margin-left: -8px;
1790
- opacity: 0.7; /* Slightly visible always on mobile */
1923
+ width: 18px;
1924
+ height: 18px;
1925
+ opacity: 0.8; /* More visible on mobile for discoverability */
1926
+ border-width: 3px;
1927
+ box-shadow:
1928
+ 0 0 0 2px rgba(255, 87, 34, 0.3),
1929
+ 0 6px 16px rgba(0, 0, 0, 0.3),
1930
+ inset 0 1px 0 rgba(255, 255, 255, 0.5);
1791
1931
  }
1792
1932
 
1793
1933
  .uvf-progress-bar-wrapper:hover .uvf-progress-handle,
1794
1934
  .uvf-progress-handle:active {
1795
1935
  opacity: 1;
1936
+ transform: translate(-50%, -50%) scale(1);
1796
1937
  }
1797
1938
 
1798
1939
  .uvf-progress-handle:hover {
1799
- transform: translateY(-50%) scale(1.1);
1940
+ transform: translate(-50%, -50%) scale(1.15);
1941
+ box-shadow:
1942
+ 0 0 0 4px rgba(255, 87, 34, 0.4),
1943
+ 0 8px 20px rgba(255, 87, 34, 0.35),
1944
+ inset 0 2px 0 rgba(255, 255, 255, 0.7);
1800
1945
  }
1801
1946
 
1802
1947
  .uvf-progress-handle:active,
1803
1948
  .uvf-progress-handle.dragging {
1804
- transform: translateY(-50%) scale(1.25);
1949
+ transform: translate(-50%, -50%) scale(1.3);
1950
+ box-shadow:
1951
+ 0 0 0 6px rgba(255, 87, 34, 0.5),
1952
+ 0 10px 25px rgba(255, 69, 0, 0.4),
1953
+ inset 0 2px 0 rgba(255, 255, 255, 0.8);
1954
+ }
1955
+ }
1956
+
1957
+ /* High DPI displays optimization */
1958
+ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
1959
+ .uvf-progress-handle {
1960
+ background: radial-gradient(circle,
1961
+ rgba(255, 255, 255, 0.98) 0%,
1962
+ rgba(255, 255, 255, 0.92) 70%,
1963
+ rgba(255, 255, 255, 0.88) 100%
1964
+ );
1805
1965
  }
1806
1966
  }
1807
1967
  /* Controls Row */
@@ -2802,7 +2962,7 @@ export class WebPlayer extends BasePlayer {
2802
2962
 
2803
2963
  /* Enhanced progress bar for touch */
2804
2964
  .uvf-progress-bar-wrapper {
2805
- height: 8px;
2965
+ height: 3px;
2806
2966
  margin-bottom: 12px;
2807
2967
  border-radius: 4px;
2808
2968
  background: rgba(255,255,255,0.15);
@@ -2989,7 +3149,7 @@ export class WebPlayer extends BasePlayer {
2989
3149
 
2990
3150
  /* Compact progress bar for landscape */
2991
3151
  .uvf-progress-bar-wrapper {
2992
- height: 6px;
3152
+ height: 3px;
2993
3153
  margin-bottom: 8px;
2994
3154
  }
2995
3155
 
@@ -3115,7 +3275,7 @@ export class WebPlayer extends BasePlayer {
3115
3275
 
3116
3276
  /* Tablet progress bar */
3117
3277
  .uvf-progress-bar-wrapper {
3118
- height: 7px;
3278
+ height: 3px;
3119
3279
  }
3120
3280
 
3121
3281
  .uvf-progress-handle {
@@ -3454,7 +3614,7 @@ export class WebPlayer extends BasePlayer {
3454
3614
  }
3455
3615
 
3456
3616
  .uvf-progress-bar-wrapper {
3457
- height: 8px;
3617
+ height: 3px;
3458
3618
  cursor: pointer;
3459
3619
  }
3460
3620
 
@@ -4623,6 +4783,12 @@ export class WebPlayer extends BasePlayer {
4623
4783
  timeTooltip.textContent = this.formatTime(time);
4624
4784
  timeTooltip.style.left = percent + '%';
4625
4785
  timeTooltip.style.opacity = '1';
4786
+ if (!timeTooltip.classList.contains('pulse') && timeTooltip.style.opacity === '1') {
4787
+ timeTooltip.classList.add('pulse');
4788
+ setTimeout(() => {
4789
+ timeTooltip.classList.remove('pulse');
4790
+ }, 600);
4791
+ }
4626
4792
  }
4627
4793
  hideTimeTooltip() {
4628
4794
  const timeTooltip = document.getElementById('uvf-time-tooltip');
@@ -4633,6 +4799,7 @@ export class WebPlayer extends BasePlayer {
4633
4799
  updateProgressTooltip(e) {
4634
4800
  const progressBar = document.getElementById('uvf-progress-bar');
4635
4801
  const timeTooltip = document.getElementById('uvf-time-tooltip');
4802
+ const progressHandle = document.getElementById('uvf-progress-handle');
4636
4803
  if (!progressBar || !timeTooltip || !this.video)
4637
4804
  return;
4638
4805
  const rect = progressBar.getBoundingClientRect();
@@ -4642,6 +4809,10 @@ export class WebPlayer extends BasePlayer {
4642
4809
  timeTooltip.textContent = this.formatTime(time);
4643
4810
  timeTooltip.style.left = percent + '%';
4644
4811
  timeTooltip.style.opacity = '1';
4812
+ if (progressHandle && this.isDragging) {
4813
+ progressHandle.style.transform = 'translate(-50%, -50%) scale(1.4)';
4814
+ progressHandle.classList.add('dragging');
4815
+ }
4645
4816
  }
4646
4817
  showShortcutIndicator(text) {
4647
4818
  const el = document.getElementById('uvf-shortcut-indicator');