Requirements
The core player has no runtime dependencies — it works with a plain <script> tag or any bundler.
The optional framework/library integrations require the matching library as a peer dependency, only if you import that subpath:
@javaabu/dhivehigpt-player/reactrequires React 17+ andreact-dom.@javaabu/dhivehigpt-player/vuerequires Vue 3+.@javaabu/dhivehigpt-player/svelterequires Svelte 3+ (works unmodified on Svelte 5 too — see Svelte).@javaabu/dhivehigpt-player/jqueryrequires jQuery 3+.
None of these are required (or installed) if you only use the core @javaabu/dhivehigpt-player entry point.
Browser support
Built for modern evergreen browsers — Safari 10.1+, Chrome 58+, Firefox 52+, Edge 15+ (roughly 2017 onward), which covers the overwhelming majority of real-world traffic. Internet Explorer isn't supported.
This is a deliberate target, not an oversight: it lets the player use CSS custom properties, flexbox, MutationObserver, and Pointer Events directly — all broadly supported in that range — rather than working around their absence, which would mean a meaningfully heavier, more complex library for browsers with negligible remaining usage. Published builds are compiled down to that target (es2017) so consumers don't need to transpile node_modules themselves to support it.
A few specific compatibility notes:
- Flexbox
gapisn't used (Safari < 14.1 lacks it) — spacing is done with margins instead. - Auto dark mode falls back from
MediaQueryList.addEventListenerto the legacyaddListener/removeListenerpair on browsers that only support the older API (older Safari). -webkit-user-selectis included alongside the unprefixeduser-selectfor older Safari.- The responsive layout's container-query behavior (Safari 16+, Chrome 105+, Firefox 110+ — newer than this library's general baseline) is a progressive enhancement: browsers without it still get the same reflow, keyed to the viewport width via a
@mediafallback instead of the bar's own width.