Replies: 4 comments 3 replies
-
Awesome work! Been hanging out for this so very keen to give it a run. Thank you for this great library 🚀 |
Beta Was this translation helpful? Give feedback.
-
Great work guys! Seems awesome 🔥 |
Beta Was this translation helpful? Give feedback.
-
Thank you for your work. Now it's starting to get really interesting. I was waiting for that community skin |
Beta Was this translation helpful? Give feedback.
-
Please I'm using the community skin but on the mobile view, user can't scroll when they touch the video player, to scroll down or up, user has to use other part of the screen which isn't best for user experience Please how do I fix this pointer event issue? |
Beta Was this translation helpful? Give feedback.
-
👋
You know what time it is! But first a word from our breaking changes...
Breaking Changes
@vidstack/react/icons
. See the icons setup. Do note, you don't need this package for the Community Skin.--media-current-time
,--media-buffered
, and--media-duration
. You can set them yourself if needed by subscribing to the media store. Themedia-buffered-percent
CSS variable is now available on the time slider.--slider-fill-value
,--slider-fill-rate
,--slider-pointer-value
, and--slider-pointer-rate
. These variables were redundant and can be added back directly in CSS if you need it usingcalc
.48px
to40px
.Community Skin 🎉
CLICK HERE TO PREVIEW SKIN
We're so excited to finally release the Community Skin which we shared all the way back at the end of last year in November! It was harder to build than originally expected. We had all the components or lego pieces but there was still challenges around different media types (audio/video), mobile/desktop, and different browsers (looking at you iOS Safari!).
We wanted to make sure we didn't just provide a simple responsive design, but a clean and seamless user experience that adapted to player conditions. On mobile, we reorganized controls, added tap highlights, popup menus, swipe gesture for scrubbing from anywhere on the screen, tap to toggle controls, seek gestures that don't force controls to show, chapters in fullscreen landscape, and more. Interestingly, we found audio to be harder than video because of the limited space, but we still worked through and included chapter titles, chapters in the slider, and even captions!
I'm incredibly proud of what we've built for the community and I can't wait for you try it out and give us feedback. Don't fear if there's any issues or bugs - it's expected some things will go wrong. Reach out on Discord so we can try and resolve it :)
👉 See the updated installation guide on how to get started with the Community Skin!
Player Data Attributes (NEW)
Some new data attributes are set on the player:
data-bp-x="sm"
: Horizontal breakpoint that updates based on the player container width.sm
(small): x < 600pxmd
(medium): 600px <= x < 980pxlg
(large): x >= 980pxdata-bp-y="sm"
: Vertical breakpoint that updates based on the player container height.sm
(small): x < 380pxmd
(medium): 380px <= x < 600pxlg
(large): x >= 980pxdata-preview
: Set on the player when the time slider is being interacted with.data-iphone
: Set on the player when the current device is an iphone.data-touch
: Set on the player when the current device input is touch.data-orientation="landscape"
: Updated on the player to reflect the current screen orientation,values can be portrait or landscape.
Idle Gesture (NEW)
A new gesture action is available for toggling the user idle state. This is generally used on mobile to toggle showing controls when the player is touched.
What's Improved?
[data-media-button]
to style all buttons and sliders since they have different tag names. We've scoped all such selectors to the player to improve performance.data-bp-x
anddata-bp-y
attribtues..cjs
exports and mademedia-icons
optional which reduced install size from 4.3MB to 2.2MB.What's Fixed?
aria-hidden='true'
set and is hidden when it can't be updated (e.g., mobile).fullscreenOrientation
property now works as expected on mobile to rotate the screen when entering fullscreen.hint
text will not be overriden if there's no value so you can manually provide a value.captions
orsubtitles
when checking if it should be disabled.Next Steps
Join our Discord if you run into any issues and we're happy to try and resolve them quickly. There's generally a small period between GitHub releases and our official announcements where we take time to resolve issues. Your feedback would be appreciated!
We're not done with Community Skin as we have additional animations and enhancements planned but we're taking a moment in
0.7
to work on React. We'll be completely revamping our React components with improved performance, cleaner APIs, support for Next.jsapp/
directory (i.e., Server Components), and more! It's going to be a lot of work, but we want to put time into make sure our React integration is of the highest quality. It'll most likely mean splitting away from Web Components for React but TBD. I'll add more notes in Discord as we explore, stay tuned!Until next time friends 🍎
Beta Was this translation helpful? Give feedback.
All reactions