myetv-player 1.0.6 → 1.0.8

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/README.md CHANGED
@@ -99,6 +99,7 @@ const player = new MYETVvideoplayer('my-video', {
99
99
  | `subtitlesEnabled` | boolean | `false` | Enable/Disable subtitles at player ready |
100
100
  | `chapters` | string | json | Enable/Disable chapters: chapter can be in json format or string format (see below) |
101
101
  | `plugins` | string | json | Add a customized plugin to the player to extend its functionality (see below) |
102
+ | `seekHandleShape` | string | `true` | Edit the shape of the seek controlbar. Shape type: none, circle, square, diamond, arrow, triangle, heart, star |
102
103
  | `showSeekTooltip` | boolean | `true` | Show tooltip during seek |
103
104
  | `volumeSlider` | string | `show` | Volume slider 'show' or 'hide': with "show" the volume slider is always visible and have the automatic fallback to "hide" under 550px of width; with "hide" the volume slider is visible only at mouse over |
104
105
  | `autoplay` | boolean | `false` | Start video automatically |
@@ -250,6 +251,18 @@ player.removeWatermark();
250
251
  //hide with the controlbar or always show the watermark logo
251
252
  player.setWatermarkAutoHide(false);
252
253
  ```
254
+ ### Controlbar seek shape
255
+ ```
256
+ // Change dynamically
257
+ player.setSeekHandleShape('heart');
258
+
259
+ // Get the current shape
260
+ console.log(player.getSeekHandleShape()); // "heart"
261
+
262
+ // Show all available shape
263
+ console.log(player.getAvailableSeekHandleShapes());
264
+ // ["none", "circle", "square", "diamond", "arrow", "triangle", "heart", "star"]
265
+ ```
253
266
  ### Playlist Controls
254
267
  ```
255
268
  player.nextVideo(); // Next Video
@@ -4591,7 +4591,128 @@ video::-webkit-media-text-track-display {
4591
4591
  cursor: pointer !important;
4592
4592
  }
4593
4593
 
4594
- /* CONTROLS - IMPROVED RESPONSIVE DESIGN */
4594
+ .progress-container {
4595
+ position: relative;
4596
+ overflow: visible !important;
4597
+ padding: 0;
4598
+ margin-bottom: 10px;
4599
+ display: flex;
4600
+ align-items: center;
4601
+ cursor: pointer;
4602
+ }
4603
+
4604
+ .progress-bar {
4605
+ position: relative;
4606
+ width: 100%;
4607
+ height: 4px;
4608
+ background: rgba(255, 255, 255, 0.3);
4609
+ border-radius: 2px;
4610
+ overflow: visible !important;
4611
+ cursor: pointer;
4612
+ }
4613
+
4614
+ .progress-buffer {
4615
+ position: absolute;
4616
+ left: 0;
4617
+ top: 0;
4618
+ height: 100%;
4619
+ background: rgba(255, 255, 255, 0.5);
4620
+ border-radius: 2px;
4621
+ pointer-events: none;
4622
+ z-index: 1;
4623
+ }
4624
+
4625
+ .progress-filled {
4626
+ position: absolute;
4627
+ left: 0;
4628
+ top: 0;
4629
+ height: 100%;
4630
+ background: var(--player-accent, #ff0000);
4631
+ border-radius: 2px;
4632
+ pointer-events: none;
4633
+ z-index: 2;
4634
+ }
4635
+
4636
+ .progress-handle {
4637
+ position: absolute;
4638
+ top: 50%;
4639
+ left: 0%;
4640
+ transform: translate(-50%, -50%);
4641
+ width: 14px;
4642
+ height: 14px;
4643
+ background: var(--player-accent, #ff0000);
4644
+ cursor: grab;
4645
+ transition: opacity 0.2s ease;
4646
+ z-index: 10;
4647
+ pointer-events: auto;
4648
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
4649
+ }
4650
+
4651
+ .progress-handle:active {
4652
+ cursor: grabbing;
4653
+ }
4654
+
4655
+ .progress-handle-circle {
4656
+ border-radius: 50%;
4657
+ }
4658
+
4659
+ .progress-handle-square {
4660
+ border-radius: 3px;
4661
+ }
4662
+
4663
+ .progress-handle-diamond {
4664
+ border-radius: 2px;
4665
+ transform: translate(-50%, -50%) rotate(45deg);
4666
+ }
4667
+
4668
+ .progress-handle-arrow {
4669
+ background: transparent;
4670
+ width: 0 !important;
4671
+ height: 0 !important;
4672
+ border-left: 7px solid transparent;
4673
+ border-right: 7px solid transparent;
4674
+ border-bottom: 14px solid var(--player-accent, #ff0000);
4675
+ border-radius: 0;
4676
+ box-shadow: none;
4677
+ }
4678
+
4679
+ .progress-handle-triangle {
4680
+ background: transparent;
4681
+ width: 0 !important;
4682
+ height: 0 !important;
4683
+ border-left: 8px solid transparent;
4684
+ border-right: 8px solid transparent;
4685
+ border-bottom: 14px solid var(--player-accent, #ff0000);
4686
+ border-radius: 0;
4687
+ box-shadow: none;
4688
+ }
4689
+
4690
+ .progress-handle-heart {
4691
+ width: 16px !important;
4692
+ height: 16px !important;
4693
+ clip-path: polygon(50% 15%, 65% 0%, 80% 0%, 95% 15%, 95% 30%, 50% 85%, 5% 30%, 5% 15%, 20% 0%, 35% 0%);
4694
+ }
4695
+
4696
+ .progress-handle-star {
4697
+ width: 16px !important;
4698
+ height: 16px !important;
4699
+ clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
4700
+ }
4701
+
4702
+ .progress-handle-none {
4703
+ opacity: 0 !important;
4704
+ pointer-events: none !important;
4705
+ }
4706
+
4707
+ .progress-handle {
4708
+ opacity: 1 !important;
4709
+ }
4710
+
4711
+ .progress-container .progress-handle {
4712
+ opacity: 1 !important;
4713
+ }
4714
+
4715
+ /* Main controls container */
4595
4716
  .controls {
4596
4717
  position: absolute;
4597
4718
  bottom: 0;
@@ -4607,6 +4728,7 @@ video::-webkit-media-text-track-display {
4607
4728
  box-sizing: border-box;
4608
4729
  }
4609
4730
 
4731
+ /* Controls visible state */
4610
4732
  .controls.show {
4611
4733
  opacity: 1;
4612
4734
  transform: translateY(0);