From 8cb80fb07855c5d80643bd71c1ce21049ace19e5 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Sat, 3 Jan 2026 16:01:43 +0000 Subject: [PATCH 1/2] Misc bug fixes (#2883) * fix(pkg): fix import path for ESM (fixes #2882) * fix(vimeo): hide default vimeo captions (fixes #877) --- package.json | 2 +- src/js/captions.js | 4 +++- src/sass/components/captions.scss | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4b207ff7e..e7d128db2 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "exports": { ".": { "types": "./src/js/plyr.d.ts", - "import": "./src/js/plyr.js", + "import": "./dist/plyr.mjs", "require": "./dist/plyr.js", "browser": "./dist/plyr.min.js", "default": "./dist/plyr.js" diff --git a/src/js/captions.js b/src/js/captions.js index c984b7b88..69cbdaa1a 100644 --- a/src/js/captions.js +++ b/src/js/captions.js @@ -269,7 +269,9 @@ const captions = { // Handle Vimeo captions if (this.isVimeo) { - this.embed.enableTextTrack(language); + // Enable text track but don't render captions within the player + // Since we handle that ourselves + this.embed.enableTextTrack(language, null, false); } // Trigger event diff --git a/src/sass/components/captions.scss b/src/sass/components/captions.scss index 2acab086a..13c10014f 100644 --- a/src/sass/components/captions.scss +++ b/src/sass/components/captions.scss @@ -44,7 +44,7 @@ .plyr__caption { background: $plyr-captions-background; - border-radius: 2px; + border-radius: 4px; box-decoration-break: clone; color: $plyr-captions-text-color; line-height: 185%; From 797c9abe60236b2bcd3af7d190f9ca9c5cc9827d Mon Sep 17 00:00:00 2001 From: terminalchai <213856599+terminalchai@users.noreply.github.com> Date: Sat, 7 Mar 2026 01:23:08 +0530 Subject: [PATCH 2/2] fix(menu): add max-height and overflow-y to allow scrolling with many items When a player has many quality options or caption tracks (e.g. 30 languages), the settings menu panel grows beyond the viewport with no way to scroll, clipping the excess items. Add a \\-menu-max-height\ SCSS variable (backed by the \--plyr-menu-max-height\ CSS custom property, defaulting to 240px) and apply it to the \[role='menu']\ container along with \overflow-y: auto\. This caps the panel height at 240px and lets it scroll, without touching any ARIA roles or JS logic. Fixes #1420 --- src/sass/components/menus.scss | 2 ++ src/sass/settings/menus.scss | 1 + 2 files changed, 3 insertions(+) diff --git a/src/sass/components/menus.scss b/src/sass/components/menus.scss index 448f44b0f..c079f1870 100644 --- a/src/sass/components/menus.scss +++ b/src/sass/components/menus.scss @@ -58,6 +58,8 @@ } [role='menu'] { + max-height: $plyr-menu-max-height; + overflow-y: auto; padding: $plyr-control-padding; } diff --git a/src/sass/settings/menus.scss b/src/sass/settings/menus.scss index 667b112e9..976cc2f1d 100644 --- a/src/sass/settings/menus.scss +++ b/src/sass/settings/menus.scss @@ -11,3 +11,4 @@ $plyr-menu-item-arrow-size: var(--plyr-menu-item-arrow-size, 4px) !default; $plyr-menu-item-arrow-color: var(--plyr-menu-arrow-color, $plyr-color-gray-500) !default; $plyr-menu-back-border-color: var(--plyr-menu-back-border-color, $plyr-color-gray-100) !default; $plyr-menu-back-border-shadow-color: var(--plyr-menu-back-border-shadow-color, #fff) !default; +$plyr-menu-max-height: var(--plyr-menu-max-height, 240px) !default;