Commit Graph

648 Commits

Author SHA1 Message Date
2458eaa11b Merge branch 'develop' into css-variables
# Conflicts:
#	src/js/captions.js
#	src/js/config/defaults.js
#	src/js/fullscreen.js
#	src/js/listeners.js
#	src/js/plyr.js
2020-04-24 00:22:17 +10:00
a9c4e77d1b Migrate custom properties from media to parent 2020-04-23 22:06:36 +10:00
145f2ae24f Poster image fix (fixes #1763) 2020-04-19 20:06:58 +10:00
502d5977d7 Converted to 2 space indentation 2020-04-11 16:23:14 +10:00
49ed2cac4e This is a PR to allow for contextual content to be included in fullscreen (or fallback) mode. This means arbitrary elements (extensions to the basic player UI) can be overlaid and remain visible when the player switches to fullscreen.
Example use-cases include:
 - display of video title or other metadata (see the included demo)
 - alternative access to menu items, such as a searchable captions list (in cases where many hundreds of languages are available)
 - custom share dialogs
 - integrated playlists with 'playing next' overlays

This approach / PR is just an example of how this feature could work and aims to keep Plyr complexity to a minimum (while enabling some fairly interesting integrations). It utilises a single config option, and does away with the need for injecting bespoke APIs or elements into the player context on a per-project basis. Or trying to mess with what is a pretty slick, but tightly coupled system.

For the user: A new `fullscreen.container` attribute is used to provide a container selector. The container must be an ancestor of the player, otherwise it's ignored. When toggling fullscreen mode, this container is now used in place of the player. Hovering over any children of the container is the same as hovering over the controls. The exception is where the player and the child share a common ancestor (that's not the fullscreen container) ... sounds complex but it's not. You can also gain pretty fine control this way with pointer events.

Under the hood: it adds a `utils/elements/closest` helper method to find the right ancestor. If found this is returned as the fullscreen target in place of the player container. Fullscreen is instantiated slightly earlier in the setup so this container is available for the `listeners.controls` call. In here we add some more 'mouseenter/mouseleave' listeners to any direct descendants of the container, that aren't also ancestors of the player. And that's it. No extra classes, nothing else. There are some style changes to the demo (top margin on the player) but these would be project specific.

Thanks for reading.
2020-04-04 13:43:51 +10:00
71928443f3 silence all internal play promises 2020-03-23 22:56:32 +01:00
206e3b57d1 v3.5.10 2020-02-14 17:37:32 +00:00
04d06f2242 v3.5.9 deployed 2020-02-14 17:00:33 +00:00
a6ff0274a9 v3.5.8 deployed 2020-02-10 18:38:54 +00:00
bb7f7d5e2a 3.5.7 2020-02-09 21:59:40 +00:00
818e1efd43 Deployed 3.5.7-beta.0 2020-01-30 14:56:52 +00:00
56c0d7bd4d Fix linting issues 2020-01-13 16:38:12 +00:00
5dd9462bed Merge pull request #1516 from azizhk/toggle_return_promsie
Toggle also returns promise
2020-01-13 16:25:17 +00:00
4f263ebb1a Added local server, package upgrades 2020-01-13 15:49:29 +00:00
d771da9abf Toggle also returns promise 2019-07-30 18:19:10 +05:30
7c442c9357 3.5.6 2019-06-21 12:35:47 +10:00
dfc09b8e04 v3.5.5 deployed 2019-06-21 00:24:28 +10:00
8fc6c2ba52 File rename and clean up 2019-06-21 00:19:37 +10:00
e8e2b8ba39 Merge branch 'master' into develop
# Conflicts:
#	.eslintrc
#	demo/dist/demo.css
#	demo/dist/demo.js
#	demo/dist/demo.min.js
#	demo/dist/demo.min.js.map
#	dist/plyr.css
#	dist/plyr.js
#	dist/plyr.min.js
#	dist/plyr.min.js.map
#	dist/plyr.min.mjs
#	dist/plyr.min.mjs.map
#	dist/plyr.mjs
#	dist/plyr.polyfilled.js
#	dist/plyr.polyfilled.min.js
#	dist/plyr.polyfilled.min.js.map
#	dist/plyr.polyfilled.min.mjs
#	dist/plyr.polyfilled.min.mjs.map
#	dist/plyr.polyfilled.mjs
#	package.json
#	readme.md
#	src/js/listeners.js
#	yarn.lock
2019-06-20 23:56:19 +10:00
c9055f391b Linting changes 2019-06-01 18:45:07 +10:00
80aa6ffe43 Linting changes 2019-04-30 23:44:05 +10:00
0694e58650 v3.5.4 2019-04-25 12:14:48 +10:00
7a4a7dece8 Ratio improvements 2019-04-25 12:02:37 +10:00
b2fff4c33f Increase speed limits 2019-04-15 22:08:09 +10:00
e9367ee85e Fix setting initial speed (fixes #1408) 2019-04-12 20:18:17 +10:00
d9b7928ce6 Merge branch 'master' into develop 2019-04-12 19:00:23 +10:00
cdacae6697 Set download URL via setter 2019-04-12 19:00:17 +10:00
2bd08cdc28 3.5.3 2019-04-12 18:44:05 +10:00
b247093495 Aspect ratio improvements (fixes #1042, fixes #1366) 2019-04-12 12:19:48 +10:00
9ca7b861a9 Autoplay tweak for HTML5 2019-04-12 12:14:12 +10:00
266b70d9d0 fix: Properly clear all timeouts on destroy 2019-04-01 14:42:51 -04:00
4c3bf25b8a Fixed issue where the preview thumbnail was present while scrubbing 2019-02-24 12:10:20 +11:00
215fc3677a v3.5.1 2019-02-23 13:14:01 +11:00
1c29cb890e Merge branch 'master' into develop
# Conflicts:
#	gulpfile.js
2019-02-23 13:08:32 +11:00
438ebe5013 Jsdoc updates 2019-02-23 13:07:35 +11:00
80990c98c8 Deployed v3.5.0 2019-02-19 01:25:39 +11:00
44d3a17870 Fix links 2019-02-19 01:17:08 +11:00
0189e90fce Fix deployment 2019-02-12 13:55:45 +11:00
eb628c8e4f Ads bug fixes 2019-02-01 00:24:48 +11:00
1d51b28701 Tweaks 2019-01-26 22:45:47 +11:00
44739a17d0 Merge branch 'master' into develop
# Conflicts:
#	changelog.md
#	demo/dist/demo.js.map
#	demo/dist/demo.min.js
#	demo/dist/demo.min.js.map
#	demo/index.html
#	dist/plyr.js.map
#	dist/plyr.min.js
#	dist/plyr.min.js.map
#	dist/plyr.polyfilled.js
#	dist/plyr.polyfilled.js.map
#	dist/plyr.polyfilled.min.js
#	dist/plyr.polyfilled.min.js.map
#	package.json
#	readme.md
#	yarn.lock
2019-01-26 16:50:37 +11:00
f927d26ce7 v3.4.8
- Calling customized controls function with proper arguments (thanks @a60814billy)
2019-01-17 11:37:19 +11:00
6782737009 Fullscreen fixes 2019-01-14 00:33:48 +11:00
5fdc0aae66 Merge pull request #1253 from jamesoflol/preview-thumbs
Preview seek/scrubbing thumbnails
2018-12-15 10:43:36 +07:00
8f27611911 Preview seek/scrubbing thumbnails 2018-11-12 15:55:26 +11:00
2c8a337f26 v3.4.7
-   Fix for Vimeo fullscreen with non native aspect ratios (fixes #854)
2018-11-08 23:34:10 +11:00
1a9b860e68 v3.4.6
-   Added picture-in-picture support for Chrome 70+
-   Fixed issue with versioning the SVG sprite in the gulp build script
2018-10-25 09:44:40 +11:00
fe26d383f1 Added support for picture-in-picture in Chrome 2018-10-25 09:17:15 +11:00
df4bc268dc Merge branch 'master' into develop 2018-10-25 00:14:14 +11:00
e49da6c13f v3.4.5 2018-10-24 23:04:18 +11:00