1
0
mirror of https://github.com/videojs/video.js.git synced 2024-12-21 01:39:04 +02:00
Commit Graph

4097 Commits

Author SHA1 Message Date
Dzianis Dashkevich
fc1f7a6f82 8.15.0 2024-06-06 19:04:03 -04:00
Dzianis Dashkevich
8cfd6c4ca0
feat: update xhr (#8757)
update xhr to 2.7.0

Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2024-06-06 19:03:30 -04:00
mister-ben
a10d25861d
fix: removes duplicate id in text track settings (#8755)
## Description
Prevents a duplicate id in text track settings.
Fixes #8754

## Specific Changes proposed
The text edge settings were erroneously duplicating the id generated for
the background colour. Changes to a unique name.
Adds a general test for duplicate ids.

## Requirements Checklist
- [x] Feature implemented / Bug fixed
- [ ] If necessary, more likely in a feature request than a bug fix
- [x] Change has been verified in an actual browser (Chrome, Firefox,
IE)
  - [x] Unit Tests updated or fixed
  - [ ] Docs/guides updated
- [ ] Example created ([starter template on
JSBin](https://codepen.io/gkatsev/pen/GwZegv?editors=1000#0))
- [x] Has no DOM changes which impact accessiblilty or trigger warnings
(e.g. Chrome issues tab)
  - [x] Has no changes to JSDoc which cause `npm run docs:api` to error
- [ ] Reviewed by Two Core Contributors
2024-06-01 23:11:52 +02:00
Adam Waldron
8729e31d60 8.14.1 2024-05-30 12:50:12 -07:00
Adam Waldron
38198f661e
fix: lockfile for vhs v3.13.0 (#8751) 2024-05-30 12:46:17 -07:00
Pat O'Neill
91e5e2dc8d
add browser.IS_CHROMECAST_RECEIVER and class name for CSS targeting on a Chromecast receiver where Video.js is used (#8703) 2024-05-30 12:16:43 -07:00
Mohammad Mansour
ad357b5f61
fix(lang): Arabic translation grammar, spelling and vocabulary errors (#8724)
* Fix Arabic translation grammar and vocabulary errors

* Added missing Arabic translation "Playing in Picture-in-Picture"
2024-05-30 12:15:54 -07:00
Mohammad Mansour
85b47ceee6
Added missing Arabic translation, but forgot to remove that from this file (#8725) 2024-05-30 12:15:33 -07:00
mister-ben
084af2ffb5
fix: Remove Firefox warnings about deprecated event props (#8736) 2024-05-30 12:15:09 -07:00
mister-ben
42e167c4d2
chore: Update karma dependenciess (#8743) 2024-05-30 12:14:52 -07:00
mister-ben
c5f548be09
chore: Update PR template (#8750)
Adds reminders to check impact of JSDoc and DOM changes.
2024-05-28 19:44:56 +02:00
mister-ben
4de09e4335
fix(docs): Add workaround for ErrorMetadata typedef (#8737) 2024-05-23 19:04:25 +02:00
mister-ben
35de64ceb0
refactor: Replace keycode dependency with event.key (#8735)
refactor: Replace keycode dependency with event.key
2024-05-23 18:50:23 +02:00
Adam Waldron
978731eddf
chore: update VHS to v3.13.0 (#8742) 2024-05-21 16:19:42 -07:00
mister-ben
f05769d116
Update typescript and jsdoc, use @import (#8723) 2024-05-15 15:02:01 +02:00
Adam Waldron
7b0aede1c3 8.14.0 2024-05-06 10:13:17 -07:00
Emil Broll
b5357588de
Updated translations for nb (#8650)
Co-authored-by: mister-ben <git@misterben.me>
2024-05-06 10:04:41 -07:00
mister-ben
ad3be357d5
fix: Ensure aria-labelledby values in track settings are valid (#8711) 2024-05-06 09:58:47 -07:00
Christian Ebert
3df0e9b7f4
chore(css): fix typo in postcss-config browserslist and update list (#8578)
- s/last 3 major version/last 3 major versions/
- sync with current browserslistrc, babelrc, rollup_config
2024-05-06 09:58:15 -07:00
Adam Waldron
4dfea6193a
feat: refactor error consts (#8719)
* feat: refactor error consts

* fix: add failed
2024-05-06 09:36:05 -07:00
weiz18
9946a197eb
fix(dom): handle slotted parent transform position (#8158)
* fix(dom): handle slotted parent transform position

* fix(test): add test to cover getPointerPosition

* run all tests

---------

Co-authored-by: mister-ben <git@misterben.me>
2024-05-03 14:23:30 +02:00
André M
8050466bcc
fix(player): adapt player height to control bar height in audioOnly mode (#8579)
Adapts the `player.height` to the `controlBar.currentHeight` when the
`audioOnlyMode` is `enabled`. This ensures that the player height and control
bar height are always in sync when the player is resized.

- add `updatePlayerHeightOnAudioOnlyMode_` function that will update the player
height according to the control bar height when the player is resized
- modify `enableAudioOnlyUI_`
  - add a `controlBarHeight` to `audioOnlyCache_` to keep track of the control
  bar height changes when the player is resized
  - add a `playerresize` listener
- modify `disableAudioOnlyUI_` to remove the `playerresize` listener
2024-05-03 14:15:01 +02:00
Josep Boix
31b037891b
fix: prevent error for root shadow elements when restorEl is enabled (#8679)
Addresses an issue where activating the `restoreEl` option for an element at the root of a shadow DOM threw a "TypeError: el.parentNode.hasAttribute is not a function". The bug was due to the `parentNode` being a shadow root, which does not have the `hasAttribute` method.

The fix implemented checks for the existence of the `hasAttribute` method on `parentNode`.
2024-05-03 14:11:03 +02:00
mister-ben
992af3b3ee
refactor: use URL API (#8716)
* refactor: use URL API

* add relative test

* remove old jsdoc comment

* Corrected test description
2024-05-03 14:06:05 +02:00
Grzegorz Blaszczyk
3e697e942f
fix: progress bar sometimes is not filled on 100% (#8633)
* fix: the seek bar shouldn't throttle the update function on the ended event.

* test: add unit test
2024-05-03 13:57:32 +02:00
mister-ben
cb76a24bd5
fix: Support MacOS trackpad with tap-to-click (#8700) 2024-04-25 18:38:05 +02:00
Walter Seymour
466fa9761c
chore: remove plugin errors from error const (#8706) 2024-04-23 16:47:06 -05:00
Dzianis Dashkevich
c2c7f96030 8.13.0 2024-04-22 15:40:52 -04:00
Dzianis Dashkevich
8699deb58d
fix: update vhs version (#8704)
Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2024-04-22 15:39:24 -04:00
Carlos Javier Villaseñor Castillo
ec69d5e620
feat(player): Make 'searchForTrackSelect_' private & use 'el' as parameter in function 'getIsFocusable' (#8697) 2024-04-18 12:57:27 -06:00
Borut Zizmond
21b4a5225b
feat: implement spatial navigation (#8570)
* feat(player): add spatialNavigation feature

Adds spatialNavigation feature to enhance user experience

- Implemented spatial navigation in slider component
- Enhanced player functionality for improved navigation

* feat(player): add spatialNavigation class
Adds spatialNavigation class to manage spatial-navigation-polyfill
- Set class SpatialNavigation on its own file
- Imported SpatialNavigation class on component class

* feat(player): update spatialNavigation class
Adds 3 methods to spatialNavigation class to manage spatial-navigation-polyfill
- Added start() to: Start listen of keydown events
- Added stop() to: Stop listen key down events
- Added getComponents() to: Get current focusable components

* feat(player): modify spatialNavigation class & modify component class
Modify spatialNavigation class:
-Remove unrequired version of function ‘getComponents’
Modify component class:
-Add function ‘getIsFocusable’

* Added methods getPositions, handleFocus and handleBLur for spatial navigation needs

* feat(player): modify Component class, BigPlayButton class & ClickableComponent class
Modify Component class:
-Add method getIsAvailableToBeFocused
-Modify method getIsFocusable to only focus on finding focusable candidates
Modify spatialNavigation class:
-Remove unrequired method ‘getIsFocusable’
Modify component class:
-Remove unrequired method ‘getIsFocusable’

* Added import in player.js, Created base methods inside spatial-navigation.js

* feat(player): modify Component class & SpatialNavigation class
Modify Component class:
-Modify method getIsAvailableToBeFocused to be more strict on candidates
Modify spatialNavigation class:
-Modify method getComponents to get all focusable components

* feat(player): modify Component class
Modify Component class:
-Add documentation to ‘isVisible’ function

* added keydown event logic for spatial-navigation

* feat(player): modify SpatialNavigation class
Modify SpatialNavigation class:
-Modify documentation of functions

* feat(player): modify SpatialNavigation class
Modify SpatialNavigation class:
-Add ‘clear’ & ‘remove’ methods

* feat(player): modify SpatialNavigation class
Modify SpatialNavigation class:
-Add documentation of functions

* feat(player): modify SpatialNavigation class
Modify SpatialNavigation class:
-Add function ‘getCurretComponent’‘’

* feat(player): modify SpatialNavigation class
Modify SpatialNavigation class:
-Add documentation for ‘findBestCandidate’ method

* Added logic for moving focus to the best candidate

* Implemented move, findBestCandidate, isInDirection, and calculateDistance methods for spatial navigation logic

* Added a new player option enableKeydownListener, Added gap: 1px to control-bar for spatial-navigation-polyfill needs

* feat(player): modify SpatialNavigation class  & Component class
Modify SpatialNavigation class:
-Add function ‘handlePlayerBlur’
-Add function ‘handlePlayerFocus’
Modify Component class:
-Modify ‘handleBlur’
-Modify ‘handleFocus’

* Removed enableKeydownListener flag, as user should start the SpatialNavigation manually

* Added functionality to track changes in the focusableComponents list (custom event focusableComponentsChanged)

* feat(player): modify SpatialNavigation class, ModalDialog  & Component class
Modify SpatialNavigation class:
-Add ‘lastFocusedComponent’
-Add function ‘refocusComponent’
Modify ModalDialog class:
-Add condition on ‘close’ function
Modify Component class:
-Modify ‘handleBlur’ to store blurred component

* feat(player): modify ModalDialog
Modify ModalDialog:
-Add condition to close Modal on Backspace

* Refactor SpatialNavigation to use player.spatialNavigation

* Added a new custom event endOfFocusableComponents

* Added new styles for focused elements in case spatial navigation is enabled

* feat(player): modify SpatialNavigation class:
-Add condition so getComponents can get as candidates the UI elements from the playlist-ui

* Changed to window.SpatialNabigation to this.player_.spatialNavigation

* feat(player): modify text-track-settings, created test-track-settings-colors.js, text-track-settings-font.js,text-track-fieldset.js & text-track-select.js:
Modify text-track-settings class:
- Add changes so newly created components can work as content of the modal.
- Create new components as a refactor of  the contents of text-track-settings

* changed handleKeyDown inside component.js, getComponents method is now iterating player.children

* feat(player): create TrackSettingsControls Component & Modify TextTrackSettings
Create TrackSettingsControls Component:
-Create Component to show buttons reset & done as components.
Modify TextTrackSettings:
-Add Component TrackSettingsControls in TextTrackSettings

* feat(player): Modify ModalDialog
Modify ModalDialog:
-Add condition for stop propagation of event inside of ModalDialog when spatialNavigation is enabled

* getIsFocusable and getIsAvailableToBeFocused methods are now accepting el as a parameter, added a new methods findSuitableDOMChild and focus for spatialNavigation class

* feat(player): Modify TextTrackSettings:
Modify TextTrackSettings:
-Remove unrequired methods to create DOM elements since now those are created by Components.

* feat(player): Modify CaptionSettingsMenuItem:
Modify CaptionSettingsMenuItem:
-Add condition to focus component of TextTrackSelect when modal is open

* feat(player): Modify TextTrackSelect & TextTrackFieldset:
Modify TextTrackSelect :
Modify TextTrackFieldset:
-Add comments to certain functions to explain the code

* feat(player): Modify TrackSettingsControls:
Modify TrackSettingsControls:
-Remove unrequired comments & add comments to certain functions to explain the code

* feat(player): Modify SpatialNavigation, Component & ModalDialog:
Modify SpatialNavigation:
Modify Component:
Modify ModalDialog:
-Add & update comments of documentation.

* Handle ENTER keydown in Modals when spatial navigation is enabled

* feat(player): Modify ModalDialog, spatialNavigation, TrackSettingsControls, TextTrackFieldset, TextTrackSelect, TrackSettingsColors, TrackSettingsFont:
Modify ModalDialog:
Modify spatialNavigation:
Modify TrackSettingsControls:
Modify TextTrackFieldset:
Modify TextTrackSelect:
Modify TrackSettingsColors:
Modify TrackSettingsFont:
-Add & update comments of documentation.

* Implement additional RCU controls

* feat(player): Modify Component class:
Modify Component :
-Remove unrequired condition inside of handleFocus method.

* feat(player): Modify ModalDialog & CaptionSettingsMenuItem
Modify ModalDialog:
Modify CaptionSettingsMenuItem:
-Modify spatialNavigation condition to be more specific regarding spatialNavigation implementation.

* feat(player): Modify SpatialNavigation class:
Modify SpatialNavigation :
-Fix bug where ‘enter’ press was not working properly on select component inside of the ‘vjs-text-track-settings’ modal.

* feat(player): Modify SpatialNavigation class:
Modify SpatialNavigation :
-Minor improvements on the loops of certain functions to stop when they have found the element they are looking for.
-Implement minor spacing formatting on switch statement.

* Update src/js/component.js

More understandable documentation.

Co-authored-by: Dzianis Dashkevich <98566601+dzianis-dashkevich@users.noreply.github.com>

* Update src/js/component.js

More understandable documentation.

Co-authored-by: Dzianis Dashkevich <98566601+dzianis-dashkevich@users.noreply.github.com>

* feat(player): Modify SpatialNavigation & Component class:
Modify Component class :
Modify SpatialNavigation class :
-Modify ‘getIsFocusable’ function to use ‘this.el_’ instead of ‘el’ parameter

* feat(player): Modify SpatialNavigation class:
Modify SpatialNavigation class :
-Refactor onKeyDown function to use static data & return when pause is true.

* feat(player): Modify SpatialNavigation class:
Modify SpatialNavigation class :
-Refactor to use ‘.el()’ instead of ‘.el_’

* Update src/js/spatial-navigation.js

Co-authored-by: Walter Seymour <walterseymour15@gmail.com>

* feat(player): Modify ModalDialog class & MenuItem class:
Modify ModalDialog class :
Modify MenuItem class :
-Correct typo of ‘isSpatialNavlistening’ to  ‘isSpatialNavListening’.

* removed unused property, remove this.focus, which was added for testing purposes

* Changed parameters to private, removed redundant code, removed initialFocusedComponent parameter, change STEP_SECONDS to static

* feat(player): solve remaining  conflict:
Modify Spatial Navigation class :
- Solve conflict

* feat(player): Rename TrackSettingsColors & TrackSettingsFont

* feat(player): Remove unrequired functions calls from components TextTrackSettingsColors & TextTrackSettingsFont.

* feat(player):  Update spatial-navigation.js's keypress return keyword.

* bind focus and blur just if spatial navigation is enabled, add 1px gap if spatial navigation is enabled

* feat(player): Modify calls on 'isListening' & 'isPaused' for ModalDialog & TextTrackMenuItem

* feat(player): remove unrequired object on component 'TrackSettingsControls'

* Removed 1px gap

* feat(player): Rename function ‘getComponents’ to ‘updateFocusableComponents’

* Changed SpatialNavigation class to extend EventTarget, removed redundant methods for events

* fix(player): fix call of 'getIsAvailableToBeFocused' that was throwing an error.

* removed Static maps for key presses and extended keycode with the missing keys

* refactor(player): Modify functions of 'getIsDisabled', 'getIsExpresslyInert' & 'getIsFocusable' to be more in pair when stablished code of the player.

* Conditional assignment for keycode.codes.back based on platform, changed Backspace to Back key for Modal closing

* Extend the  object for reverse lookup, prenet Up/down keys to open a menu if spatial navigation is anabled

* refactor(player): Refactor 'SpatialNavKeycodes' file to not patch 'keycode' dependency

* fix(pllayer): fix issue related to 'back' not  being used properly in function 'isEventKey'

* feat(player): Rename imports  of 'spatial-navigation-keycode' to have their extension

* feat(player): Add example of use of 'Client app uses a global spatial-navigation solution'

* feat(player): rename 'spatial-navigation-keycode.js' filename

* Fix on src chnage issue, ESC button closing modal, expand vjs-modal-dialog

* change file name and object name

* fix: Update ids of labels to use 'guid' so unit test works properly

* fix: update localized text in text-track-settings-font & text-track-settings

* Mark some methods as private

* fix: modify content of modal 'text-track-settings' to change language properly

* fix: add missing '.' in jsdoc of text-track components

* feature: add unit test for 'text-track-select' component

* Add test for Spatial Navigation

* test(player): Add minor test related to 'handleBlur' & 'handleFocus'

* feat(player): Remove unrequired files from 'react-video-nav-app'

* test(player): Add small test to check if 'getPositions' returns required properties

* test(player): add test to verify 'getPositions()' properties are not empty

* Add missing tests for performMediaAction_ and move

* test(player): add test to for 'component.js' related to 'handleBlur'

* test(player): add minor test in component related to test keypress propagation event

* test(player): add test for component related to 'getIsAvailableToBeFocused' function

* test(player): add test for Modal Dialog related to call function of spatial navigation

* test(player): add tests  for 'spatial-navigation-key-codes'

* test(player): add tests for keycodes related to 'should return event name if keyCode is not available'

* test(player): add minor test for case when not required parametters are passed

* test(player): add test for 'caption-settings-menu-item'

* feat(player): remove 'react-video-nav-app'

* Move handleFocus and handleBlur from components.js to spatial-navigation.js

* refactor(player): refactor 'searchForTrackSelect' to be handled in the spatial navigation

* remove unrequired code in function 'searchForTrackSelect'

* update documentation comment to be in pair to its current use

* remove spatial navigation keydown from modal dialog and move it to spatial navigation class, modify the modal-dialog test accordingly

* remove useless tests

* Remove caption-settings-menu-item.test.js

* Add minor test to 'searchForTrackSelect' in spatial-navigation.test.js

* Add unit test for back key and listening to events

---------

Co-authored-by: CarlosVillasenor <carlosdeveloper9@gmail.com>
Co-authored-by: Dzianis Dashkevich <98566601+dzianis-dashkevich@users.noreply.github.com>
Co-authored-by: Walter Seymour <walterseymour15@gmail.com>
Co-authored-by: Carlos Villasenor Castillo <cvillasenor@Carloss-MacBook-Pro.local>
2024-04-17 19:34:52 -06:00
Adam Waldron
582c35f96b 8.12.0 2024-04-16 09:00:40 -07:00
Adam Waldron
12310ed997
chore: update VHS to v3.12.1 (#8687) 2024-04-16 08:55:26 -07:00
Gary Katsevman
d715e0fe03
feat(emulated-tracks): add class to force cues to be center aligned (#8625)
https://github.com/videojs/http-streaming/pull/1408 updated 608 captions to default to be left aligned. This may be unwanted by some folks and we should provide an easier way to force them to be centered.
This PR adds a player level class that will override the text alignment to be `center`. It also overrides the `width` to `80%` because otherwise the cue box isn't set up correctly to be 10% from the right of the display area (a side effect of hardcoding a width value and using inset in the generation of the cues).
2024-04-12 20:45:50 +02:00
mister-ben
3f32de30ca
fix(build): Use quoted dbl quotes to support Windows (#8681) 2024-04-12 18:54:17 +02:00
mister-ben
af06f50d09
chore: update GitHub Actions version and remove xvfb (#8682)
* uncovered change to a file

* update codecov action

* revert temp test change

* bump other action versions

* remove xvfb action
2024-04-12 18:06:35 +02:00
Si
ee07382f91
feat(lang): added arabic seek button translations (#8616)
* feat(lang): added arabic seek button translations

* added localization support to skipButtons controlText
2024-04-12 02:39:44 -04:00
SImonAllen
4ccedc1527
chore: Remove unused type.js file (#8658) 2024-04-12 02:19:38 -04:00
Fabio Bonelli
4a17426484
fix(i18n): better Italian translation for "captions" (#8513)
"Didascalie" is the better translation for "captions" in Italian

See also: https://www.w3.org/Translations/WCAG22-it/#h-note-76
2024-04-12 02:10:54 -04:00
Rajnikant Phadake
80429fae71
feat(lang): Add support for Marathi Language (#8596)
* Support for Marathi Language added

Support for indian lanuage marathi is added for multilingual support

* Comments Resolved for suggestions

---------

Co-authored-by: Rajnikant Phadake <bzwizapp@gmail.com>
2024-04-12 01:55:17 -04:00
Pat O'Neill
8e5870f984
feat: add browser.IS_SMART_TV and class names for CSS targeting devices (#8676) 2024-04-10 10:07:31 -04:00
Harisha Rajam Swaminathan
50f14bd66d
fix: time tooltip truncated (#8527) 2024-04-10 18:51:39 +05:30
Adam Waldron
caf6d30c36
fix: add additional and remove unused error const (#8656) 2024-03-25 11:15:33 -07:00
wseymour15
2f1cc6c2b3 8.11.8 2024-03-12 14:32:18 -05:00
Walter Seymour
66b74ebd57
chore: update VHS to v3.12.0 (#8637) 2024-03-12 14:29:29 -05:00
Adam Waldron
42fe1e61ba
chore: add contrib-eme errors (#8634) 2024-03-12 12:10:34 -07:00
Dzianis Dashkevich
9977a937c6 8.11.7 2024-03-06 15:13:44 -05:00
Dzianis Dashkevich
d113ce5328
chore(package): update quality-levels version (#8630)
Co-authored-by: Dzianis Dashkevich <ddashkevich@brightcove.com>
2024-03-06 15:04:39 -05:00
Walter Seymour
b59a89b1ce
fix: typo in error const (#8628) 2024-03-04 16:17:25 -06:00
wseymour15
26265d7d17 8.11.6 2024-03-04 13:36:38 -06:00