34 Commits

Author SHA1 Message Date
Som Meaden
353e19e746 revert dist (brain fart earlier .. deleted instead of reverting) 2020-04-05 12:32:17 +10:00
Som Meaden
c23b4576df remove dist 2020-04-04 14:21:59 +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
Sam Potts
09598f07bf Merge branch 'develop' of github.com:sampotts/plyr into develop
# Conflicts:
#	package.json
#	yarn.lock
2020-03-29 12:02:59 +11:00
Sam Potts
3509995756 Build 2020-03-27 23:50:40 +11: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
442427ebd5 v3.5.9
-   Fix for regression with volume control width
-   Ensure poster image is not downloaded again for HTML5 videos
2020-02-14 16:54:22 +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
fefcca7805 Prepare for 3.5.7 release 2020-01-30 11:34:07 +00:00
Sam Potts
4f263ebb1a Added local server, package upgrades 2020-01-13 15:49:29 +00:00
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
c4b3e0672e Clean up 2019-06-21 00:10:57 +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
2e40b91ec1 Styling tweaks for demo 2019-06-20 23:50:46 +10:00
Sam Potts
0249772f01 Clean up 2019-06-01 19:50:29 +10:00
Sam Potts
c9055f391b Linting changes 2019-06-01 18:45:07 +10:00
Sam Potts
0694e58650 v3.5.4 2019-04-25 12:14:48 +10:00
Sam Potts
2bd08cdc28 3.5.3 2019-04-12 18:44:05 +10:00
Sam Potts
5b7a025d26 Housekeeping 2019-03-16 11:57:15 +11: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
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
54110f8358 Update build process 2019-02-19 01:05:59 +11:00
Sam Potts
153b8dc6bb Added RangeTouch, updated Shr lib in demo 2019-02-19 00:19:25 +11:00
Sam Potts
0189e90fce Fix deployment 2019-02-12 13:55:45 +11:00
Sam Potts
dbd2136bac Fix for cue points missing 2019-02-07 23:45:19 +11:00
Sam Potts
eb628c8e4f Ads bug fixes 2019-02-01 00:24:48 +11:00
Sam Potts
fa4868a26d Fix listeners for preview thumbs when changing source 2019-01-29 21:33:16 +11:00
Sam Potts
c125c1a2c0 Added ES builds 2019-01-27 01:08:39 +11:00