unified-video-framework 1.4.110 → 1.4.112

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.110",
3
+ "version": "1.4.112",
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",
@@ -122,9 +122,6 @@ export declare class WebPlayer extends BasePlayer {
122
122
  private scheduleHideControls;
123
123
  private isFullscreen;
124
124
  private setupFullscreenListeners;
125
- private updateTimeTooltip;
126
- private hideTimeTooltip;
127
- private updateProgressTooltip;
128
125
  private showShortcutIndicator;
129
126
  setSettingsScrollbarStyle(mode: 'default' | 'compact' | 'overlay'): void;
130
127
  setSettingsScrollbarConfig(options: {
@@ -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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"}
@@ -1768,150 +1768,7 @@ export class WebPlayer extends BasePlayer {
1768
1768
  box-shadow: 0 0 20px rgba(255, 87, 34, 0.5);
1769
1769
  }
1770
1770
 
1771
- .uvf-progress-handle {
1772
- position: absolute;
1773
- width: 12px;
1774
- height: 12px;
1775
- background: radial-gradient(circle,
1776
- rgba(255, 255, 255, 0.95) 0%,
1777
- rgba(255, 255, 255, 0.9) 70%,
1778
- rgba(255, 255, 255, 0.85) 100%
1779
- );
1780
- border: 2px solid rgba(255, 87, 34, 0.8);
1781
- border-radius: 50%;
1782
- top: 50%;
1783
- left: 0%;
1784
- transform: translate(-50%, -50%) scale(0);
1785
- opacity: 0;
1786
- transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
1787
- box-shadow:
1788
- 0 0 0 0 rgba(255, 87, 34, 0.4),
1789
- 0 4px 12px rgba(0, 0, 0, 0.25),
1790
- inset 0 1px 0 rgba(255, 255, 255, 0.4);
1791
- cursor: grab;
1792
- z-index: 3;
1793
- pointer-events: all;
1794
- backdrop-filter: blur(8px);
1795
- }
1796
1771
 
1797
- .uvf-progress-bar-wrapper:hover .uvf-progress-handle {
1798
- opacity: 1;
1799
- transform: translate(-50%, -50%) scale(1);
1800
- box-shadow:
1801
- 0 0 0 4px rgba(255, 87, 34, 0.2),
1802
- 0 6px 20px rgba(0, 0, 0, 0.3),
1803
- inset 0 1px 0 rgba(255, 255, 255, 0.6);
1804
- }
1805
-
1806
- .uvf-progress-handle:hover {
1807
- transform: translate(-50%, -50%) scale(1.25);
1808
- background: radial-gradient(circle,
1809
- rgba(255, 255, 255, 1) 0%,
1810
- rgba(255, 255, 255, 0.95) 70%,
1811
- rgba(255, 255, 255, 0.9) 100%
1812
- );
1813
- border-color: rgba(255, 87, 34, 1);
1814
- box-shadow:
1815
- 0 0 0 6px rgba(255, 87, 34, 0.3),
1816
- 0 8px 25px rgba(255, 87, 34, 0.4),
1817
- inset 0 1px 0 rgba(255, 255, 255, 0.8);
1818
- }
1819
-
1820
- .uvf-progress-handle:active,
1821
- .uvf-progress-handle.dragging {
1822
- cursor: grabbing;
1823
- transform: translate(-50%, -50%) scale(1.4);
1824
- background: radial-gradient(circle,
1825
- rgba(255, 255, 255, 1) 0%,
1826
- rgba(255, 255, 255, 0.98) 50%,
1827
- rgba(255, 255, 255, 0.95) 100%
1828
- );
1829
- border-color: #ff4500;
1830
- box-shadow:
1831
- 0 0 0 8px rgba(255, 87, 34, 0.4),
1832
- 0 12px 35px rgba(255, 69, 0, 0.5),
1833
- inset 0 2px 0 rgba(255, 255, 255, 0.9);
1834
- transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
1835
- }
1836
-
1837
- .uvf-time-tooltip {
1838
- position: absolute;
1839
- bottom: 32px;
1840
- left: 0;
1841
- transform: translateX(-50%) translateY(8px) scale(0.9);
1842
- background: linear-gradient(135deg,
1843
- rgba(0, 0, 0, 0.95) 0%,
1844
- rgba(20, 20, 20, 0.92) 50%,
1845
- rgba(0, 0, 0, 0.98) 100%
1846
- );
1847
- color: #ffffff;
1848
- padding: 10px 16px;
1849
- border-radius: 12px;
1850
- font-size: 13px;
1851
- font-weight: 600;
1852
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
1853
- letter-spacing: 0.5px;
1854
- white-space: nowrap;
1855
- opacity: 0;
1856
- transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
1857
- pointer-events: none;
1858
- z-index: 4;
1859
- box-shadow:
1860
- 0 0 0 1px rgba(255, 255, 255, 0.05),
1861
- 0 8px 32px rgba(0, 0, 0, 0.6),
1862
- 0 2px 8px rgba(0, 0, 0, 0.3),
1863
- inset 0 1px 0 rgba(255, 255, 255, 0.1);
1864
- backdrop-filter: blur(20px) saturate(1.5);
1865
- border: 1px solid rgba(255, 255, 255, 0.08);
1866
- min-width: 52px;
1867
- text-align: center;
1868
- }
1869
-
1870
- /* Glass morphism tooltip arrow with multiple layers */
1871
- .uvf-time-tooltip::after {
1872
- content: '';
1873
- position: absolute;
1874
- bottom: -10px;
1875
- left: 50%;
1876
- transform: translateX(-50%);
1877
- width: 0;
1878
- height: 0;
1879
- border-left: 10px solid transparent;
1880
- border-right: 10px solid transparent;
1881
- border-top: 10px solid rgba(0, 0, 0, 0.95);
1882
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
1883
- }
1884
-
1885
- .uvf-time-tooltip::before {
1886
- content: '';
1887
- position: absolute;
1888
- bottom: -11px;
1889
- left: 50%;
1890
- transform: translateX(-50%);
1891
- width: 0;
1892
- height: 0;
1893
- border-left: 11px solid transparent;
1894
- border-right: 11px solid transparent;
1895
- border-top: 11px solid rgba(255, 255, 255, 0.08);
1896
- z-index: -1;
1897
- }
1898
-
1899
- /* Enhanced tooltip animations - Only show via JavaScript, not CSS hover */
1900
- .uvf-time-tooltip.show {
1901
- opacity: 1 !important;
1902
- transform: translateX(-50%) translateY(-2px) scale(1) !important;
1903
- }
1904
-
1905
- /* Tooltip pulse animation on first hover */
1906
- @keyframes tooltipPulse {
1907
- 0% { transform: translateX(-50%) translateY(-2px) scale(1); }
1908
- 50% { transform: translateX(-50%) translateY(-4px) scale(1.05); }
1909
- 100% { transform: translateX(-50%) translateY(-2px) scale(1); }
1910
- }
1911
-
1912
- .uvf-time-tooltip.pulse {
1913
- animation: tooltipPulse 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) once;
1914
- }
1915
1772
 
1916
1773
  /* Mobile responsive design with enhanced touch targets */
1917
1774
  @media (max-width: 768px) {
@@ -1927,51 +1784,8 @@ export class WebPlayer extends BasePlayer {
1927
1784
  height: 5px;
1928
1785
  }
1929
1786
 
1930
- .uvf-progress-handle {
1931
- width: 18px;
1932
- height: 18px;
1933
- opacity: 0.8; /* More visible on mobile for discoverability */
1934
- border-width: 3px;
1935
- box-shadow:
1936
- 0 0 0 2px rgba(255, 87, 34, 0.3),
1937
- 0 6px 16px rgba(0, 0, 0, 0.3),
1938
- inset 0 1px 0 rgba(255, 255, 255, 0.5);
1939
- }
1940
-
1941
- .uvf-progress-bar-wrapper:hover .uvf-progress-handle,
1942
- .uvf-progress-handle:active {
1943
- opacity: 1;
1944
- transform: translate(-50%, -50%) scale(1);
1945
- }
1946
-
1947
- .uvf-progress-handle:hover {
1948
- transform: translate(-50%, -50%) scale(1.15);
1949
- box-shadow:
1950
- 0 0 0 4px rgba(255, 87, 34, 0.4),
1951
- 0 8px 20px rgba(255, 87, 34, 0.35),
1952
- inset 0 2px 0 rgba(255, 255, 255, 0.7);
1953
- }
1954
-
1955
- .uvf-progress-handle:active,
1956
- .uvf-progress-handle.dragging {
1957
- transform: translate(-50%, -50%) scale(1.3);
1958
- box-shadow:
1959
- 0 0 0 6px rgba(255, 87, 34, 0.5),
1960
- 0 10px 25px rgba(255, 69, 0, 0.4),
1961
- inset 0 2px 0 rgba(255, 255, 255, 0.8);
1962
- }
1963
1787
  }
1964
1788
 
1965
- /* High DPI displays optimization */
1966
- @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
1967
- .uvf-progress-handle {
1968
- background: radial-gradient(circle,
1969
- rgba(255, 255, 255, 0.98) 0%,
1970
- rgba(255, 255, 255, 0.92) 70%,
1971
- rgba(255, 255, 255, 0.88) 100%
1972
- );
1973
- }
1974
- }
1975
1789
  /* Controls Row */
1976
1790
  .uvf-controls-row {
1977
1791
  display: flex;
@@ -3853,15 +3667,7 @@ export class WebPlayer extends BasePlayer {
3853
3667
  <div class="uvf-progress-bar">
3854
3668
  <div class="uvf-progress-buffered" id="uvf-progress-buffered"></div>
3855
3669
  <div class="uvf-progress-filled" id="uvf-progress-filled"></div>
3856
- <div class="uvf-progress-handle" id="uvf-progress-handle"
3857
- role="slider"
3858
- tabindex="0"
3859
- aria-label="Seek"
3860
- aria-valuemin="0"
3861
- aria-valuemax="100"
3862
- aria-valuenow="0"></div>
3863
3670
  </div>
3864
- <div class="uvf-time-tooltip" id="uvf-time-tooltip">00:00</div>
3865
3671
  `;
3866
3672
  progressSection.appendChild(progressBar);
3867
3673
  const controlsRow = document.createElement('div');
@@ -4075,69 +3881,19 @@ export class WebPlayer extends BasePlayer {
4075
3881
  e.stopPropagation();
4076
3882
  this.handleVolumeChange(e);
4077
3883
  });
4078
- const progressHandle = document.getElementById('uvf-progress-handle');
4079
- const timeTooltip = document.getElementById('uvf-time-tooltip');
4080
3884
  progressBar?.addEventListener('click', (e) => {
4081
- if (!this.isDragging) {
4082
- this.handleProgressChange(e);
4083
- }
4084
- });
4085
- progressHandle?.addEventListener('mousedown', (e) => {
4086
- e.stopPropagation();
4087
- this.isDragging = true;
4088
- progressHandle.classList.add('dragging');
4089
- });
4090
- progressHandle?.addEventListener('keydown', (e) => {
4091
- if (!this.video)
4092
- return;
4093
- const step = 5;
4094
- let handled = false;
4095
- switch (e.key) {
4096
- case 'ArrowLeft':
4097
- case 'ArrowDown':
4098
- this.seek(Math.max(0, this.video.currentTime - step));
4099
- handled = true;
4100
- break;
4101
- case 'ArrowRight':
4102
- case 'ArrowUp':
4103
- this.seek(Math.min(this.video.duration, this.video.currentTime + step));
4104
- handled = true;
4105
- break;
4106
- }
4107
- if (handled) {
4108
- e.preventDefault();
4109
- e.stopPropagation();
4110
- }
3885
+ this.handleProgressChange(e);
4111
3886
  });
4112
3887
  progressBar?.addEventListener('mousedown', (e) => {
4113
- if (e.target === progressHandle)
4114
- return;
4115
3888
  this.isDragging = true;
4116
3889
  this.handleProgressChange(e);
4117
3890
  });
4118
- progressBar?.addEventListener('mouseenter', () => {
4119
- const timeTooltip = document.getElementById('uvf-time-tooltip');
4120
- if (timeTooltip) {
4121
- timeTooltip.classList.add('show');
4122
- }
4123
- });
4124
- progressBar?.addEventListener('mouseleave', () => {
4125
- if (!this.isDragging) {
4126
- this.hideTimeTooltip();
4127
- }
4128
- });
4129
- progressBar?.addEventListener('mousemove', (e) => {
4130
- if (!this.isDragging) {
4131
- this.updateTimeTooltip(e);
4132
- }
4133
- });
4134
3891
  document.addEventListener('mousemove', (e) => {
4135
3892
  if (this.isVolumeSliding) {
4136
3893
  this.handleVolumeChange(e);
4137
3894
  }
4138
3895
  if (this.isDragging && progressBar) {
4139
3896
  this.handleProgressChange(e);
4140
- this.updateProgressTooltip(e);
4141
3897
  }
4142
3898
  });
4143
3899
  document.addEventListener('mouseup', () => {
@@ -4151,18 +3907,13 @@ export class WebPlayer extends BasePlayer {
4151
3907
  }
4152
3908
  if (this.isDragging) {
4153
3909
  this.isDragging = false;
4154
- progressHandle?.classList.remove('dragging');
4155
- this.hideTimeTooltip();
4156
3910
  }
4157
3911
  });
4158
3912
  this.video.addEventListener('timeupdate', () => {
4159
3913
  const progressFilled = document.getElementById('uvf-progress-filled');
4160
- const progressHandle = document.getElementById('uvf-progress-handle');
4161
- if (this.video && progressFilled && progressHandle) {
3914
+ if (this.video && progressFilled) {
4162
3915
  const percent = (this.video.currentTime / this.video.duration) * 100;
4163
3916
  progressFilled.style.width = percent + '%';
4164
- progressHandle.style.left = percent + '%';
4165
- progressHandle.setAttribute('aria-valuenow', percent.toString());
4166
3917
  }
4167
3918
  this.updateTimeDisplay();
4168
3919
  });
@@ -4791,50 +4542,6 @@ export class WebPlayer extends BasePlayer {
4791
4542
  this.playerWrapper.addEventListener('touchmove', handleTouchMovement, { passive: true });
4792
4543
  }
4793
4544
  }
4794
- updateTimeTooltip(e) {
4795
- const progressBar = document.getElementById('uvf-progress-bar');
4796
- const timeTooltip = document.getElementById('uvf-time-tooltip');
4797
- if (!progressBar || !timeTooltip || !this.video)
4798
- return;
4799
- const rect = progressBar.getBoundingClientRect();
4800
- const x = Math.max(0, Math.min(e.clientX - rect.left, rect.width));
4801
- const percent = (x / rect.width) * 100;
4802
- const time = (percent / 100) * this.video.duration;
4803
- timeTooltip.textContent = this.formatTime(time);
4804
- timeTooltip.style.left = percent + '%';
4805
- timeTooltip.classList.add('show');
4806
- if (!timeTooltip.classList.contains('pulse') && timeTooltip.classList.contains('show')) {
4807
- timeTooltip.classList.add('pulse');
4808
- setTimeout(() => {
4809
- timeTooltip.classList.remove('pulse');
4810
- }, 600);
4811
- }
4812
- }
4813
- hideTimeTooltip() {
4814
- const timeTooltip = document.getElementById('uvf-time-tooltip');
4815
- if (timeTooltip) {
4816
- timeTooltip.classList.remove('show');
4817
- timeTooltip.style.removeProperty('opacity');
4818
- }
4819
- }
4820
- updateProgressTooltip(e) {
4821
- const progressBar = document.getElementById('uvf-progress-bar');
4822
- const timeTooltip = document.getElementById('uvf-time-tooltip');
4823
- const progressHandle = document.getElementById('uvf-progress-handle');
4824
- if (!progressBar || !timeTooltip || !this.video)
4825
- return;
4826
- const rect = progressBar.getBoundingClientRect();
4827
- const position = Math.max(0, Math.min(e.clientX - rect.left, rect.width));
4828
- const percent = (position / rect.width) * 100;
4829
- const time = (percent / 100) * this.video.duration;
4830
- timeTooltip.textContent = this.formatTime(time);
4831
- timeTooltip.style.left = percent + '%';
4832
- timeTooltip.classList.add('show');
4833
- if (progressHandle && this.isDragging) {
4834
- progressHandle.style.transform = 'translate(-50%, -50%) scale(1.4)';
4835
- progressHandle.classList.add('dragging');
4836
- }
4837
- }
4838
4545
  showShortcutIndicator(text) {
4839
4546
  const el = document.getElementById('uvf-shortcut-indicator');
4840
4547
  this.debugLog('showShortcutIndicator called with:', text, 'element found:', !!el);