@hanifhan1f/vidstack 1.12.19 → 1.12.24

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 (107) hide show
  1. package/cdn/chunks/vidstack-BF7lZRtq.js +3 -0
  2. package/cdn/chunks/vidstack-BYpysj84.js +1 -0
  3. package/cdn/chunks/vidstack-C1FlyyzK.js +1 -0
  4. package/cdn/chunks/vidstack-Cj0I-Rec.js +1 -0
  5. package/cdn/chunks/vidstack-D84Fzc__.js +16 -0
  6. package/cdn/chunks/vidstack-DQvyz7Mm.js +1 -0
  7. package/cdn/chunks/vidstack-Dd9fqVv6.js +1 -0
  8. package/cdn/chunks/vidstack-uMxrPflF.js +1 -0
  9. package/cdn/chunks/vidstack-zemsqC5d.js +1 -0
  10. package/cdn/providers/vidstack-audio-BOGYlExy.js +1 -0
  11. package/cdn/providers/vidstack-dash-D4ZARr66.js +1 -0
  12. package/cdn/providers/vidstack-hls-8-552IuX.js +1 -0
  13. package/cdn/providers/vidstack-html-BvVaN2VT.js +1 -0
  14. package/cdn/providers/vidstack-video-BnwQZKER.js +1 -0
  15. package/cdn/providers/vidstack-vimeo-gJmBqtLK.js +1 -0
  16. package/cdn/providers/vidstack-youtube-Chl_dTAz.js +1 -0
  17. package/cdn/vidstack.js +1 -1
  18. package/cdn/with-layouts/chunks/vidstack-4liSokT6.js +1 -0
  19. package/cdn/with-layouts/chunks/vidstack-B97B8XDc.js +3 -0
  20. package/cdn/with-layouts/chunks/vidstack-BbFHhcVG.js +1 -0
  21. package/cdn/with-layouts/chunks/vidstack-CXEcXyBI.js +1 -0
  22. package/cdn/with-layouts/chunks/vidstack-Ciq-n5rg.js +1 -0
  23. package/cdn/with-layouts/chunks/vidstack-CmuGllcj.js +1 -0
  24. package/cdn/with-layouts/chunks/vidstack-CyNByJUW.js +912 -0
  25. package/cdn/with-layouts/chunks/vidstack-DhNpv7SU.js +1 -0
  26. package/cdn/with-layouts/providers/vidstack-audio-CwoQJvl2.js +1 -0
  27. package/cdn/with-layouts/providers/vidstack-dash-CJsKJfLI.js +1 -0
  28. package/cdn/with-layouts/providers/vidstack-hls-ji26kFdQ.js +1 -0
  29. package/cdn/with-layouts/providers/vidstack-html-BvHMxtoe.js +1 -0
  30. package/cdn/with-layouts/providers/vidstack-video-1Uj5cNP2.js +1 -0
  31. package/cdn/with-layouts/providers/vidstack-vimeo-DACTbJaQ.js +1 -0
  32. package/cdn/with-layouts/providers/vidstack-youtube-RoLp-I6u.js +1 -0
  33. package/cdn/with-layouts/vidstack.js +1 -1
  34. package/dev/chunks/vidstack-0XhA3AD_.js +5181 -0
  35. package/dev/chunks/vidstack-5oWWZmVl.js +58 -0
  36. package/dev/chunks/vidstack-BnBLcaA5.js +115 -0
  37. package/dev/chunks/vidstack-Bo8BNFJ2.js +2986 -0
  38. package/dev/chunks/vidstack-C3N4zIuV.js +254 -0
  39. package/dev/chunks/vidstack-CAL4iu_K.js +1482 -0
  40. package/dev/chunks/vidstack-CGyAjz8G.js +58 -0
  41. package/dev/chunks/vidstack-CJCnHmKE.js +104 -0
  42. package/dev/chunks/vidstack-CzCQJ29U.js +107 -0
  43. package/dev/chunks/vidstack-DD_3HszA.js +1520 -0
  44. package/dev/chunks/vidstack-DV4g4XvL.js +33 -0
  45. package/dev/chunks/vidstack-D_LvMxPr.js +204 -0
  46. package/dev/chunks/vidstack-DdTXMZro.js +66 -0
  47. package/dev/chunks/vidstack-DrczgsqN.js +297 -0
  48. package/dev/chunks/vidstack-gF_qqvCK.js +109 -0
  49. package/dev/define/plyr-layout.js +7 -7
  50. package/dev/define/templates/plyr-layout.js +2 -2
  51. package/dev/define/templates/vidstack-audio-layout.js +3 -3
  52. package/dev/define/templates/vidstack-video-layout.js +7 -9
  53. package/dev/define/vidstack-player-default-layout.js +3 -3
  54. package/dev/define/vidstack-player-layouts.js +3 -3
  55. package/dev/define/vidstack-player-ui.js +9 -9
  56. package/dev/define/vidstack-player.js +5 -5
  57. package/dev/global/plyr.js +9 -9
  58. package/dev/global/vidstack-player.js +6 -6
  59. package/dev/providers/vidstack-audio.js +2 -2
  60. package/dev/providers/vidstack-dash.js +4 -4
  61. package/dev/providers/vidstack-hls.js +4 -4
  62. package/dev/providers/vidstack-html.js +1 -1
  63. package/dev/providers/vidstack-video.js +4 -4
  64. package/dev/providers/vidstack-vimeo.js +4 -4
  65. package/dev/providers/vidstack-youtube.js +3 -3
  66. package/dev/vidstack-elements.js +12 -12
  67. package/dev/vidstack.js +9 -9
  68. package/package.json +1 -1
  69. package/player/styles/default/layouts/video.css +113 -79
  70. package/prod/chunks/vidstack-BAqdCFIm.js +4771 -0
  71. package/prod/chunks/vidstack-BRnfTkxi.js +297 -0
  72. package/prod/chunks/vidstack-BexQYZop.js +2976 -0
  73. package/prod/chunks/vidstack-Bf1Q6kqO.js +109 -0
  74. package/prod/chunks/vidstack-Bn9yLryd.js +58 -0
  75. package/prod/chunks/vidstack-C4PTiuot.js +107 -0
  76. package/prod/chunks/vidstack-DMDDSV3t.js +104 -0
  77. package/prod/chunks/vidstack-Dg71uhRc.js +58 -0
  78. package/prod/chunks/vidstack-DlLwMLBL.js +33 -0
  79. package/prod/chunks/vidstack-KShKSmYu.js +66 -0
  80. package/prod/chunks/vidstack-ShUhyBfI.js +201 -0
  81. package/prod/chunks/vidstack-V9U6gsde.js +1482 -0
  82. package/prod/chunks/vidstack-kdaDngIm.js +1520 -0
  83. package/prod/chunks/vidstack-oNEzlviH.js +246 -0
  84. package/prod/chunks/vidstack-wTTCvdqe.js +115 -0
  85. package/prod/define/plyr-layout.js +7 -7
  86. package/prod/define/templates/plyr-layout.js +2 -2
  87. package/prod/define/templates/vidstack-audio-layout.js +3 -3
  88. package/prod/define/templates/vidstack-video-layout.js +7 -9
  89. package/prod/define/vidstack-player-default-layout.js +3 -3
  90. package/prod/define/vidstack-player-layouts.js +3 -3
  91. package/prod/define/vidstack-player-ui.js +9 -9
  92. package/prod/define/vidstack-player.js +5 -5
  93. package/prod/global/plyr.js +9 -9
  94. package/prod/global/vidstack-player.js +6 -6
  95. package/prod/providers/vidstack-audio.js +2 -2
  96. package/prod/providers/vidstack-dash.js +4 -4
  97. package/prod/providers/vidstack-hls.js +4 -4
  98. package/prod/providers/vidstack-html.js +1 -1
  99. package/prod/providers/vidstack-video.js +4 -4
  100. package/prod/providers/vidstack-vimeo.js +4 -4
  101. package/prod/providers/vidstack-youtube.js +3 -3
  102. package/prod/vidstack-elements.js +12 -12
  103. package/prod/vidstack.js +9 -9
  104. package/server/chunks/vidstack-B2Bc9g7_.js +2000 -0
  105. package/server/define/vidstack-player-default-layout.js +1 -1
  106. package/server/define/vidstack-player-layouts.js +1 -1
  107. package/server/vidstack-elements.js +1 -1
@@ -775,18 +775,20 @@
775
775
  .vds-video-layout .vds-episodes-panel {
776
776
  position: absolute;
777
777
  top: 50%;
778
- right: 20px;
779
- width: min(36vw, 430px);
780
- max-height: min(74vh, 620px);
781
- overflow: auto;
778
+ right: max(16px, 1.5vw);
779
+ width: min(34vw, 400px);
780
+ max-height: min(78vh, 640px);
781
+ display: flex;
782
+ flex-direction: column;
783
+ overflow: hidden;
782
784
  padding: 0;
783
- background: linear-gradient(180deg, rgb(10 10 10 / 94%) 0%, rgb(4 4 4 / 92%) 100%);
784
- border: 1px solid rgb(255 255 255 / 20%);
785
- border-radius: 18px;
786
- backdrop-filter: blur(14px);
785
+ background: linear-gradient(180deg, rgb(12 12 12 / 96%) 0%, rgb(6 6 6 / 94%) 100%);
786
+ border: 1px solid rgb(255 255 255 / 14%);
787
+ border-radius: 14px;
788
+ backdrop-filter: blur(16px) saturate(1.2);
787
789
  box-shadow:
788
- 0 26px 56px rgb(0 0 0 / 58%),
789
- inset 0 1px 0 rgb(255 255 255 / 8%);
790
+ 0 24px 48px rgb(0 0 0 / 55%),
791
+ inset 0 1px 0 rgb(255 255 255 / 6%);
790
792
  z-index: 20;
791
793
  opacity: 0;
792
794
  transform: translate3d(16px, -50%, 0);
@@ -808,16 +810,18 @@
808
810
  }
809
811
 
810
812
  .vds-video-layout .vds-episodes-panel-header {
813
+ flex-shrink: 0;
811
814
  display: flex;
812
815
  align-items: center;
813
816
  justify-content: space-between;
814
- padding: 14px 16px 12px;
815
- border-bottom: 1px solid rgb(255 255 255 / 12%);
817
+ gap: 12px;
818
+ padding: 14px 16px 13px;
819
+ border-bottom: 1px solid rgb(255 255 255 / 10%);
816
820
  position: sticky;
817
821
  top: 0;
818
822
  z-index: 1;
819
- background: linear-gradient(180deg, rgb(10 10 10 / 95%), rgb(10 10 10 / 74%));
820
- backdrop-filter: blur(8px);
823
+ background: linear-gradient(180deg, rgb(12 12 12 / 98%), rgb(10 10 10 / 88%));
824
+ backdrop-filter: blur(10px);
821
825
  }
822
826
 
823
827
  .vds-video-layout .vds-episodes-close-btn {
@@ -839,23 +843,36 @@
839
843
  }
840
844
 
841
845
  .vds-video-layout .vds-episodes-panel-title {
842
- font-size: 15px;
846
+ font-size: 14px;
843
847
  font-weight: 600;
844
- letter-spacing: 0.01em;
848
+ letter-spacing: 0.02em;
849
+ line-height: 1.3;
845
850
  white-space: nowrap;
846
851
  overflow: hidden;
847
852
  text-overflow: ellipsis;
853
+ min-width: 0;
848
854
  }
849
855
 
850
856
  .vds-video-layout .vds-episodes-list {
857
+ flex: 1 1 auto;
858
+ min-height: 0;
851
859
  margin: 0;
852
- padding: 10px;
853
- display: grid;
854
- gap: 0;
860
+ padding: 10px 10px 14px;
861
+ overflow-y: auto;
862
+ overflow-x: hidden;
863
+ display: flex;
864
+ flex-direction: column;
865
+ align-items: stretch;
866
+ gap: 8px;
855
867
  scrollbar-width: thin;
856
868
  scrollbar-color: rgb(255 255 255 / 28%) transparent;
857
869
  }
858
870
 
871
+ /* Each row must keep its full height — min-height:0 on items was collapsing rows and stacking text. */
872
+ .vds-video-layout .vds-episodes-list > .vds-episode-item {
873
+ flex: 0 0 auto;
874
+ }
875
+
859
876
  .vds-video-layout .vds-episodes-empty {
860
877
  padding: 12px;
861
878
  font-size: 12px;
@@ -936,34 +953,33 @@
936
953
 
937
954
  .vds-video-layout .vds-episode-item {
938
955
  display: grid !important;
939
- grid-template-columns: 152px minmax(0, 1fr) !important;
956
+ grid-template-columns: 148px minmax(0, 1fr) !important;
957
+ grid-template-rows: auto;
940
958
  align-items: start;
959
+ align-content: start;
941
960
  width: 100%;
942
- min-height: 108px;
961
+ min-height: min-content;
962
+ box-sizing: border-box;
943
963
  gap: 12px;
944
- padding: 11px 2px;
945
- border-radius: 0;
946
- border: 0;
947
- border-bottom: 1px solid rgb(255 255 255 / 10%);
948
- background: transparent;
964
+ padding: 10px 10px 10px 8px;
965
+ border-radius: 10px;
966
+ border: 1px solid rgb(255 255 255 / 6%);
967
+ background: rgb(255 255 255 / 3%);
949
968
  transition:
950
- transform 0.18s ease,
951
- opacity 0.18s ease;
969
+ background 0.18s ease,
970
+ border-color 0.18s ease,
971
+ transform 0.18s ease;
952
972
  }
953
973
 
954
974
  .vds-video-layout .vds-episode-item:hover {
955
- transform: translateX(2px);
956
- opacity: 0.98;
975
+ background: rgb(255 255 255 / 6%);
976
+ border-color: rgb(255 255 255 / 10%);
957
977
  }
958
978
 
959
979
  .vds-video-layout .vds-episode-item[data-active='true'] {
960
- position: relative;
961
980
  cursor: default;
962
- background: linear-gradient(90deg, rgb(229 9 20 / 12%) 0%, rgb(255 255 255 / 4%) 42%);
963
- border-radius: 12px;
964
- padding-inline: 8px;
965
- margin-inline: -6px;
966
- outline: 1px solid rgb(229 9 20 / 35%);
981
+ background: linear-gradient(135deg, rgb(229 9 20 / 14%) 0%, rgb(255 255 255 / 5%) 100%);
982
+ border-color: rgb(229 9 20 / 45%);
967
983
  box-shadow: inset 3px 0 0 #e50914;
968
984
  }
969
985
 
@@ -972,42 +988,44 @@
972
988
  }
973
989
 
974
990
  .vds-video-layout .vds-episode-item[data-active='true'] .vds-episode-thumb {
975
- filter: brightness(0.78);
991
+ filter: brightness(0.88);
976
992
  }
977
993
 
978
994
  .vds-video-layout .vds-episode-item[data-active='true'] .vds-episode-label {
979
- color: #ff6b6b;
995
+ color: #ffb4b4;
980
996
  }
981
997
 
982
998
  .vds-video-layout .vds-episode-item:focus-visible {
983
- outline: 2px solid rgb(255 255 255 / 55%);
984
- outline-offset: 2px;
999
+ outline: 2px solid rgb(255 255 255 / 45%);
1000
+ outline-offset: 1px;
985
1001
  }
986
1002
 
987
1003
  .vds-video-layout .vds-episode-item[data-active='true']:focus-visible {
988
- outline-color: rgb(229 9 20 / 70%);
1004
+ outline-color: rgb(229 9 20 / 55%);
989
1005
  }
990
1006
 
991
- .vds-video-layout .vds-episode-active-overlay {
992
- position: absolute;
993
- inset: 0;
1007
+ .vds-video-layout .vds-episode-meta-primary {
994
1008
  display: flex;
1009
+ flex-wrap: wrap;
995
1010
  align-items: center;
996
- justify-content: center;
997
- background: linear-gradient(180deg, rgb(0 0 0 / 15%) 0%, rgb(0 0 0 / 45%) 100%);
998
- pointer-events: none;
1011
+ gap: 6px;
1012
+ flex: 1;
1013
+ min-width: 0;
999
1014
  }
1000
1015
 
1001
- .vds-video-layout .vds-episode-playing-badge {
1016
+ .vds-video-layout .vds-episode-now-chip {
1017
+ flex-shrink: 0;
1018
+ display: inline-flex;
1019
+ align-items: center;
1020
+ padding: 2px 7px;
1021
+ border-radius: 4px;
1002
1022
  background: #e50914;
1003
1023
  color: #fff;
1004
- font-size: 10px;
1024
+ font-size: 9px;
1005
1025
  font-weight: 700;
1006
- padding: 4px 8px;
1007
- border-radius: 6px;
1026
+ letter-spacing: 0.07em;
1008
1027
  text-transform: uppercase;
1009
- letter-spacing: 0.06em;
1010
- box-shadow: 0 4px 14px rgb(0 0 0 / 35%);
1028
+ line-height: 1.2;
1011
1029
  }
1012
1030
 
1013
1031
  .vds-video-layout .vds-episode-progress-track {
@@ -1027,19 +1045,22 @@
1027
1045
 
1028
1046
  .vds-video-layout .vds-episode-thumb {
1029
1047
  display: block;
1030
- width: 152px;
1031
- height: 86px;
1048
+ width: 148px;
1049
+ height: 84px;
1032
1050
  object-fit: cover;
1033
- border-radius: 10px;
1051
+ border-radius: 8px;
1034
1052
  background: #151515;
1035
- border: 1px solid rgb(255 255 255 / 12%);
1053
+ border: 1px solid rgb(255 255 255 / 10%);
1036
1054
  }
1037
1055
 
1038
1056
  .vds-video-layout .vds-episode-thumb-wrap {
1039
- width: 152px;
1040
- height: 86px;
1041
- border-radius: 10px;
1057
+ position: relative;
1058
+ width: 148px;
1059
+ height: 84px;
1060
+ border-radius: 8px;
1042
1061
  overflow: hidden;
1062
+ flex-shrink: 0;
1063
+ align-self: start;
1043
1064
  }
1044
1065
 
1045
1066
  .vds-video-layout .vds-episode-thumb-placeholder {
@@ -1048,9 +1069,14 @@
1048
1069
 
1049
1070
  .vds-video-layout .vds-episode-body {
1050
1071
  min-width: 0;
1051
- display: grid;
1052
- align-content: start;
1053
- gap: 3px;
1072
+ width: 100%;
1073
+ max-width: 100%;
1074
+ display: flex;
1075
+ flex-direction: column;
1076
+ align-items: stretch;
1077
+ align-self: start;
1078
+ gap: 5px;
1079
+ padding-top: 1px;
1054
1080
  }
1055
1081
 
1056
1082
  .vds-video-layout .vds-episode-title,
@@ -1063,28 +1089,34 @@
1063
1089
 
1064
1090
  .vds-video-layout .vds-episode-meta-row {
1065
1091
  display: flex;
1066
- align-items: center;
1092
+ align-items: flex-start;
1067
1093
  justify-content: space-between;
1068
- gap: 8px;
1094
+ gap: 10px;
1095
+ }
1096
+
1097
+ .vds-video-layout .vds-episode-meta-row .vds-episode-runtime {
1098
+ flex-shrink: 0;
1099
+ margin-top: 1px;
1069
1100
  }
1070
1101
 
1071
1102
  .vds-video-layout .vds-episode-label {
1072
1103
  font-size: 10px;
1073
1104
  font-weight: 700;
1074
- letter-spacing: 0.08em;
1105
+ letter-spacing: 0.07em;
1075
1106
  text-transform: uppercase;
1076
1107
  color: #e50914;
1077
1108
  }
1078
1109
 
1079
1110
  .vds-video-layout .vds-episode-runtime {
1080
1111
  font-size: 11px;
1081
- color: rgb(255 255 255 / 65%);
1112
+ font-variant-numeric: tabular-nums;
1113
+ color: rgb(255 255 255 / 72%);
1082
1114
  }
1083
1115
 
1084
1116
  .vds-video-layout .vds-episode-title {
1085
- font-size: 14px;
1117
+ font-size: 13px;
1086
1118
  font-weight: 600;
1087
- line-height: 1.2;
1119
+ line-height: 1.28;
1088
1120
  }
1089
1121
 
1090
1122
  .vds-video-layout .vds-episode-subtitle {
@@ -1095,14 +1127,16 @@
1095
1127
 
1096
1128
  .vds-video-layout .vds-episode-desc {
1097
1129
  margin: 0;
1098
- font-size: 12px;
1099
- line-height: 1.35;
1100
- color: rgb(255 255 255 / 78%);
1101
- line-clamp: 2;
1130
+ margin-top: 2px;
1131
+ font-size: 11px;
1132
+ line-height: 1.45;
1133
+ color: rgb(255 255 255 / 68%);
1102
1134
  display: -webkit-box;
1103
- -webkit-line-clamp: 2;
1104
1135
  -webkit-box-orient: vertical;
1136
+ -webkit-line-clamp: 3;
1105
1137
  overflow: hidden;
1138
+ word-break: break-word;
1139
+ min-height: 0;
1106
1140
  }
1107
1141
 
1108
1142
  @media (max-width: 640px) {
@@ -1118,13 +1152,13 @@
1118
1152
  }
1119
1153
 
1120
1154
  .vds-video-layout .vds-episodes-panel {
1121
- left: 10px;
1122
- right: 10px;
1155
+ left: 8px;
1156
+ right: 8px;
1123
1157
  width: auto;
1124
1158
  top: auto;
1125
- bottom: 64px;
1126
- max-height: min(62vh, 480px);
1127
- border-radius: 14px;
1159
+ bottom: 56px;
1160
+ max-height: min(64vh, 520px);
1161
+ border-radius: 12px;
1128
1162
  transform: translate3d(0, 10px, 0);
1129
1163
  }
1130
1164