648 Commits

Author SHA1 Message Date
Sam Potts
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
Sam Potts
a9c4e77d1b Migrate custom properties from media to parent 2020-04-23 22:06:36 +10:00
Sam Potts
145f2ae24f Poster image fix (fixes #1763) 2020-04-19 20:06:58 +10:00
Sam Potts
502d5977d7 Converted to 2 space indentation 2020-04-11 16:23:14 +10:00
Som Meaden
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
ydylla
71928443f3 silence all internal play promises 2020-03-23 22:56:32 +01:00
Sam Potts
206e3b57d1 v3.5.10 2020-02-14 17:37:32 +00:00
Sam Potts
04d06f2242 v3.5.9 deployed 2020-02-14 17:00:33 +00:00
Sam Potts
a6ff0274a9 v3.5.8 deployed 2020-02-10 18:38:54 +00:00
Sam Potts
bb7f7d5e2a 3.5.7 2020-02-09 21:59:40 +00:00
Sam Potts
818e1efd43 Deployed 3.5.7-beta.0 2020-01-30 14:56:52 +00:00
Sam Potts
56c0d7bd4d Fix linting issues 2020-01-13 16:38:12 +00:00
Sam Potts
5dd9462bed
Merge pull request #1516 from azizhk/toggle_return_promsie
Toggle also returns promise
2020-01-13 16:25:17 +00:00
Sam Potts
4f263ebb1a Added local server, package upgrades 2020-01-13 15:49:29 +00:00
Aziz Khambati
d771da9abf Toggle also returns promise 2019-07-30 18:19:10 +05:30
Sam Potts
7c442c9357 3.5.6 2019-06-21 12:35:47 +10:00
Sam Potts
dfc09b8e04 v3.5.5 deployed 2019-06-21 00:24:28 +10:00
Sam Potts
8fc6c2ba52 File rename and clean up 2019-06-21 00:19:37 +10:00
Sam Potts
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
Sam Potts
c9055f391b Linting changes 2019-06-01 18:45:07 +10:00
Sam Potts
80aa6ffe43 Linting changes 2019-04-30 23:44:05 +10:00
Sam Potts
0694e58650 v3.5.4 2019-04-25 12:14:48 +10:00
Sam Potts
7a4a7dece8 Ratio improvements 2019-04-25 12:02:37 +10:00
Sam Potts
b2fff4c33f Increase speed limits 2019-04-15 22:08:09 +10:00
Sam Potts
e9367ee85e Fix setting initial speed (fixes #1408) 2019-04-12 20:18:17 +10:00
Sam Potts
d9b7928ce6 Merge branch 'master' into develop 2019-04-12 19:00:23 +10:00
Sam Potts
cdacae6697 Set download URL via setter 2019-04-12 19:00:17 +10:00
Sam Potts
2bd08cdc28 3.5.3 2019-04-12 18:44:05 +10:00
Sam Potts
b247093495 Aspect ratio improvements (fixes #1042, fixes #1366) 2019-04-12 12:19:48 +10:00
Sam Potts
9ca7b861a9 Autoplay tweak for HTML5 2019-04-12 12:14:12 +10:00
Jimmy Jia
266b70d9d0
fix: Properly clear all timeouts on destroy 2019-04-01 14:42:51 -04:00
Sam Potts
4c3bf25b8a Fixed issue where the preview thumbnail was present while scrubbing 2019-02-24 12:10:20 +11:00
Sam Potts
215fc3677a v3.5.1 2019-02-23 13:14:01 +11:00
Sam Potts
1c29cb890e Merge branch 'master' into develop
# Conflicts:
#	gulpfile.js
2019-02-23 13:08:32 +11:00
Sam Potts
438ebe5013 Jsdoc updates 2019-02-23 13:07:35 +11:00
Sam Potts
80990c98c8 Deployed v3.5.0 2019-02-19 01:25:39 +11:00
Sam Potts
44d3a17870 Fix links 2019-02-19 01:17:08 +11:00
Sam Potts
0189e90fce Fix deployment 2019-02-12 13:55:45 +11:00
Sam Potts
eb628c8e4f Ads bug fixes 2019-02-01 00:24:48 +11:00
Sam Potts
1d51b28701 Tweaks 2019-01-26 22:45:47 +11:00
Sam Potts
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
Sam Potts
f927d26ce7 v3.4.8
- Calling customized controls function with proper arguments (thanks @a60814billy)
2019-01-17 11:37:19 +11:00
Sam Potts
6782737009 Fullscreen fixes 2019-01-14 00:33:48 +11:00
Sam Potts
5fdc0aae66
Merge pull request #1253 from jamesoflol/preview-thumbs
Preview seek/scrubbing thumbnails
2018-12-15 10:43:36 +07:00
James
8f27611911 Preview seek/scrubbing thumbnails 2018-11-12 15:55:26 +11:00
Sam Potts
2c8a337f26 v3.4.7
-   Fix for Vimeo fullscreen with non native aspect ratios (fixes #854)
2018-11-08 23:34:10 +11:00
Sam Potts
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
Sam Potts
fe26d383f1 Added support for picture-in-picture in Chrome 2018-10-25 09:17:15 +11:00
Sam Potts
df4bc268dc Merge branch 'master' into develop 2018-10-25 00:14:14 +11:00
Sam Potts
e49da6c13f v3.4.5 2018-10-24 23:04:18 +11:00