12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- """React-Player component."""
- from __future__ import annotations
- from typing import Optional
- from pynecone.components.component import Component
- from pynecone.utils import imports
- from pynecone.vars import Var
- class ReactPlayerComponent(Component):
- """Using react-player and not implement all props and callback yet.
- reference: https://github.com/cookpete/react-player.
- """
- library = "react-player"
- tag = "ReactPlayer"
- # The url of a video or song to play
- url: Var[str]
- # Set to true or false to pause or play the media
- playing: Var[str]
- # Set to true or false to loop the media
- loop: Var[bool]
- # Set to true or false to display native player controls.
- controls: Var[bool] = True # type: ignore
- # Set to true to show just the video thumbnail, which loads the full player on click
- light: Var[bool]
- # Set the volume of the player, between 0 and 1
- volume: Var[float]
- # Mutes the player
- muted: Var[bool]
- # Set the width of the player: ex:640px
- width: Var[str]
- # Set the height of the player: ex:640px
- height: Var[str]
- def _get_imports(self) -> Optional[imports.ImportDict]:
- return {}
- def _get_custom_code(self) -> Optional[str]:
- return """
- import dynamic from "next/dynamic";
- const ReactPlayer = dynamic(() => import("react-player/lazy"), { ssr: false });
- """
|