vidply 1.0.1 → 1.0.3

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.
@@ -77,7 +77,7 @@ const iconPaths = {
77
77
 
78
78
  signLanguage: `<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>`,
79
79
 
80
- signLanguageOn: `<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g><circle cx="19" cy="19" r="3" fill="#3b82f6"/><path d="M17.5 19l1 1 2-2" stroke="white" stroke-width="1.5" fill="none" stroke-linecap="round" stroke-linejoin="round"/>`,
80
+ signLanguageOn: `<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>`,
81
81
 
82
82
  speaker: `<path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02z"/>`,
83
83
 
@@ -121,7 +121,7 @@ export function createPlayOverlay() {
121
121
  svg.setAttribute('aria-hidden', 'true');
122
122
  svg.setAttribute('role', 'presentation');
123
123
  svg.style.cursor = 'pointer';
124
-
124
+
125
125
  // Create filter for drop shadow
126
126
  const defs = document.createElementNS('http://www.w3.org/2000/svg', 'defs');
127
127
  const filterId = `vidply-play-shadow-${Math.random().toString(36).substr(2, 9)}`;
@@ -131,36 +131,36 @@ export function createPlayOverlay() {
131
131
  filter.setAttribute('y', '-50%');
132
132
  filter.setAttribute('width', '200%');
133
133
  filter.setAttribute('height', '200%');
134
-
134
+
135
135
  const feGaussianBlur = document.createElementNS('http://www.w3.org/2000/svg', 'feGaussianBlur');
136
136
  feGaussianBlur.setAttribute('in', 'SourceAlpha');
137
137
  feGaussianBlur.setAttribute('stdDeviation', '3');
138
-
138
+
139
139
  const feOffset = document.createElementNS('http://www.w3.org/2000/svg', 'feOffset');
140
140
  feOffset.setAttribute('dx', '0');
141
141
  feOffset.setAttribute('dy', '2');
142
142
  feOffset.setAttribute('result', 'offsetblur');
143
-
143
+
144
144
  const feComponentTransfer = document.createElementNS('http://www.w3.org/2000/svg', 'feComponentTransfer');
145
145
  const feFuncA = document.createElementNS('http://www.w3.org/2000/svg', 'feFuncA');
146
146
  feFuncA.setAttribute('type', 'linear');
147
147
  feFuncA.setAttribute('slope', '0.3');
148
148
  feComponentTransfer.appendChild(feFuncA);
149
-
149
+
150
150
  const feMerge = document.createElementNS('http://www.w3.org/2000/svg', 'feMerge');
151
151
  const feMergeNode1 = document.createElementNS('http://www.w3.org/2000/svg', 'feMergeNode');
152
152
  const feMergeNode2 = document.createElementNS('http://www.w3.org/2000/svg', 'feMergeNode');
153
153
  feMergeNode2.setAttribute('in', 'SourceGraphic');
154
154
  feMerge.appendChild(feMergeNode1);
155
155
  feMerge.appendChild(feMergeNode2);
156
-
156
+
157
157
  filter.appendChild(feGaussianBlur);
158
158
  filter.appendChild(feOffset);
159
159
  filter.appendChild(feComponentTransfer);
160
160
  filter.appendChild(feMerge);
161
161
  defs.appendChild(filter);
162
162
  svg.appendChild(defs);
163
-
163
+
164
164
  // White circle background
165
165
  const circle = document.createElementNS('http://www.w3.org/2000/svg', 'circle');
166
166
  circle.setAttribute('cx', '40');
@@ -170,14 +170,14 @@ export function createPlayOverlay() {
170
170
  circle.setAttribute('filter', `url(#${filterId})`);
171
171
  circle.setAttribute('class', 'vidply-play-overlay-bg');
172
172
  svg.appendChild(circle);
173
-
173
+
174
174
  // Play icon triangle (centered with optical adjustment)
175
175
  const playTriangle = document.createElementNS('http://www.w3.org/2000/svg', 'polygon');
176
176
  playTriangle.setAttribute('points', '32,28 32,52 54,40');
177
177
  playTriangle.setAttribute('fill', '#0a406e');
178
178
  playTriangle.setAttribute('class', 'vidply-play-overlay-icon');
179
179
  svg.appendChild(playTriangle);
180
-
180
+
181
181
  return svg;
182
182
  }
183
183
 
@@ -145,6 +145,10 @@
145
145
  height: auto;
146
146
  }
147
147
 
148
+ .vidply-player.vidply-audio .vidply-menu {
149
+ max-height: 150px;
150
+ }
151
+
148
152
  /* Video/Audio Element */
149
153
  .vidply-player video,
150
154
  .vidply-player audio {
@@ -185,7 +189,7 @@
185
189
  overflow: hidden;
186
190
  position: relative;
187
191
  width: 100%;
188
- z-index: 10; /* Above track-info and playlist siblings */
192
+ z-index: 1; /* Base video layer */
189
193
  }
190
194
 
191
195
  /* Mobile: Simplify video wrapper */
@@ -216,7 +220,7 @@
216
220
  top: 50%;
217
221
  transform: translate(-50%, -50%);
218
222
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
219
- z-index: 15;
223
+ z-index: 2;
220
224
  }
221
225
 
222
226
  .vidply-play-overlay:hover {
@@ -281,7 +285,7 @@
281
285
  position: relative;
282
286
  right: 0;
283
287
  width: 100%;
284
- z-index: 100;
288
+ z-index: 10;
285
289
  }
286
290
 
287
291
  /* Allow menus to position within controls */
@@ -518,7 +522,7 @@
518
522
  position: fixed;
519
523
  right: 0;
520
524
  top: 0;
521
- z-index: 999;
525
+ z-index: 19;
522
526
  }
523
527
 
524
528
  .vidply-menu-backdrop.visible {
@@ -562,8 +566,8 @@
562
566
  /* iOS momentum scrolling */
563
567
  transform: translateX(50%);
564
568
 
565
- /* Ensure touch events work on iOS */
566
- z-index: 1000;
569
+ /* Ensure menus appear above all player content including overlays */
570
+ z-index: 20;
567
571
  }
568
572
 
569
573
  /* Menu positioned below button */
@@ -830,7 +834,12 @@
830
834
  text-align: center;
831
835
  transform: translateX(-50%);
832
836
  transition: bottom 0.3s ease;
833
- z-index: 5;
837
+ z-index: 4;
838
+ }
839
+
840
+ .vidply-audio .vidply-captions {
841
+ bottom: auto;
842
+ top: -42px;
834
843
  }
835
844
 
836
845
  .vidply-captions:empty {
@@ -864,7 +873,7 @@
864
873
  position: absolute;
865
874
  right: 0;
866
875
  top: 0;
867
- z-index: 2000;
876
+ z-index: 20;
868
877
  }
869
878
 
870
879
  @keyframes vidply-fade-in {
@@ -1176,7 +1185,7 @@
1176
1185
  top: auto;
1177
1186
  transform: translateX(-50%);
1178
1187
  width: auto;
1179
- z-index: 200;
1188
+ z-index: 15;
1180
1189
  }
1181
1190
 
1182
1191
  .vidply-menu::after {
@@ -1374,7 +1383,7 @@
1374
1383
  position: sticky;
1375
1384
  text-transform: uppercase;
1376
1385
  top: 0;
1377
- z-index: 10;
1386
+ z-index: 2;
1378
1387
  }
1379
1388
 
1380
1389
  .vidply-playlist-list {
@@ -1540,7 +1549,7 @@
1540
1549
  position: absolute;
1541
1550
  top: 0;
1542
1551
  width: 400px;
1543
- z-index: 100;
1552
+ z-index: 5;
1544
1553
  }
1545
1554
 
1546
1555
  /* Minimum height for audio player transcript */
@@ -1674,7 +1683,7 @@
1674
1683
  position: absolute;
1675
1684
  transition: opacity 0.3s ease;
1676
1685
  width: 35% !important;
1677
- z-index: 100;
1686
+ z-index: 3;
1678
1687
  }
1679
1688
 
1680
1689
  .vidply-fullscreen .vidply-sign-language-video {
@@ -1683,15 +1692,25 @@
1683
1692
 
1684
1693
  /* Sign Language Video Positions */
1685
1694
  .vidply-sign-position-bottom-right {
1686
- bottom: 80px; /* Above controls */
1695
+ bottom: 16px; /* Above controls */
1687
1696
  right: 16px;
1688
1697
  }
1689
1698
 
1699
+ .vidply-controls-visible + .vidply-sign-position-bottom-right,
1700
+ .vidply-controls-visible + .vidply-captions + .vidply-sign-position-bottom-right {
1701
+ bottom: 95px; /* Above controls */
1702
+ }
1703
+
1690
1704
  .vidply-sign-position-bottom-left {
1691
- bottom: 80px; /* Above controls */
1705
+ bottom: 16px; /* Above controls */
1692
1706
  left: 16px;
1693
1707
  }
1694
1708
 
1709
+ .vidply-controls-visible + .vidply-sign-position-bottom-left,
1710
+ .vidply-controls-visible + .vidply-captions + .vidply-sign-position-bottom-left {
1711
+ bottom: 95px; /* Above controls */
1712
+ }
1713
+
1695
1714
  .vidply-sign-position-top-right {
1696
1715
  right: 16px;
1697
1716
  top: 16px;
@@ -1706,12 +1725,12 @@
1706
1725
  @media (width <= 640px) {
1707
1726
  .vidply-sign-language-video {
1708
1727
  min-width: 120px;
1709
- width: 30%;
1728
+ width: 35%;
1710
1729
  }
1711
1730
 
1712
1731
  .vidply-sign-position-bottom-right,
1713
1732
  .vidply-sign-position-bottom-left {
1714
- bottom: 70px; /* Adjust for smaller controls */
1733
+ bottom: 126px !important; /* Adjust for smaller controls */
1715
1734
  }
1716
1735
  }
1717
1736
 
@@ -1744,7 +1763,7 @@
1744
1763
  order: 3; /* After controls (which are order: 2) */
1745
1764
  position: relative;
1746
1765
  width: 100%;
1747
- z-index: 50;
1766
+ z-index: 5;
1748
1767
  }
1749
1768
 
1750
1769
  .vidply-transcript-header {