react-native-theoplayer 2.7.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (593) hide show
  1. package/CHANGELOG.md +76 -13
  2. package/README.md +16 -2
  3. package/android/build.gradle +1 -1
  4. package/android/local/com/theoplayer/android-connector/mediasession/5.2.0-local/mediasession-5.2.0-local.aar +0 -0
  5. package/android/local/com/theoplayer/android-connector/mediasession/{4.12.0-local/mediasession-4.12.0-local.pom → 5.2.0-local/mediasession-5.2.0-local.pom} +1 -1
  6. package/android/local/com/theoplayer/android-connector/mediasession/maven-metadata-local.xml +4 -4
  7. package/android/src/main/AndroidManifest.xml +2 -2
  8. package/android/src/main/java/com/theoplayer/PlayerEventEmitter.kt +1 -1
  9. package/android/src/main/java/com/theoplayer/ReactTHEOplayerContext.kt +36 -20
  10. package/android/src/main/java/com/theoplayer/media/CustomMediaButtonReceiver.kt +25 -0
  11. package/android/src/main/java/com/theoplayer/{audio → media}/MediaNotificationBuilder.kt +6 -1
  12. package/android/src/main/java/com/theoplayer/{audio → media}/MediaPlaybackService.kt +39 -11
  13. package/android/src/main/java/com/theoplayer/source/SourceAdapter.kt +12 -0
  14. package/android/src/main/java/com/theoplayer/track/TrackListAdapter.kt +17 -13
  15. package/ios/contentprotection/THEOplayerRCTProxyContentProtectionIntegration.swift +19 -29
  16. package/lib/commonjs/api/cast/Chromecast.js.map +1 -1
  17. package/lib/commonjs/api/source/dash/DashPlaybackConfiguration.js.map +1 -1
  18. package/lib/commonjs/api/track/TextTrack.js.map +1 -1
  19. package/lib/commonjs/index.js +0 -12
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js +17 -0
  22. package/lib/commonjs/internal/adapter/THEOplayerAdapter.js.map +1 -1
  23. package/lib/commonjs/internal/adapter/web/FullscreenAPI.js +41 -0
  24. package/lib/commonjs/internal/adapter/web/FullscreenAPI.js.map +1 -0
  25. package/lib/commonjs/internal/adapter/web/WebPresentationModeManager.js +45 -39
  26. package/lib/commonjs/internal/adapter/web/WebPresentationModeManager.js.map +1 -1
  27. package/lib/commonjs/internal/utils/CommonUtils.js +10 -0
  28. package/lib/commonjs/internal/utils/CommonUtils.js.map +1 -0
  29. package/lib/module/api/cast/Chromecast.js.map +1 -1
  30. package/lib/module/api/source/dash/DashPlaybackConfiguration.js.map +1 -1
  31. package/lib/module/api/track/TextTrack.js.map +1 -1
  32. package/lib/module/index.js +0 -1
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/internal/adapter/THEOplayerAdapter.js +18 -1
  35. package/lib/module/internal/adapter/THEOplayerAdapter.js.map +1 -1
  36. package/lib/module/internal/adapter/web/FullscreenAPI.js +34 -0
  37. package/lib/module/internal/adapter/web/FullscreenAPI.js.map +1 -0
  38. package/lib/module/internal/adapter/web/WebPresentationModeManager.js +45 -39
  39. package/lib/module/internal/adapter/web/WebPresentationModeManager.js.map +1 -1
  40. package/lib/module/internal/utils/CommonUtils.js +4 -0
  41. package/lib/module/internal/utils/CommonUtils.js.map +1 -0
  42. package/lib/typescript/api/cast/Chromecast.d.ts +1 -1
  43. package/lib/typescript/api/source/dash/DashPlaybackConfiguration.d.ts +52 -0
  44. package/lib/typescript/api/track/TextTrack.d.ts +2 -2
  45. package/lib/typescript/index.d.ts +0 -1
  46. package/lib/typescript/internal/adapter/THEOplayerAdapter.d.ts +1 -0
  47. package/lib/typescript/internal/adapter/web/FullscreenAPI.d.ts +9 -0
  48. package/lib/typescript/internal/utils/CommonUtils.d.ts +1 -0
  49. package/package.json +2 -8
  50. package/react-native-theoplayer.podspec +1 -1
  51. package/src/api/cast/Chromecast.ts +1 -1
  52. package/src/api/source/dash/DashPlaybackConfiguration.ts +56 -0
  53. package/src/api/track/TextTrack.ts +2 -2
  54. package/src/index.tsx +0 -1
  55. package/src/internal/adapter/THEOplayerAdapter.ts +19 -0
  56. package/src/internal/adapter/web/FullscreenAPI.ts +59 -0
  57. package/src/internal/adapter/web/WebPresentationModeManager.ts +29 -22
  58. package/src/internal/utils/CommonUtils.ts +3 -0
  59. package/android/local/com/theoplayer/android-connector/mediasession/4.12.0-local/mediasession-4.12.0-local.aar +0 -0
  60. package/lib/commonjs/ui/THEOplayerDefaultUi.js +0 -82
  61. package/lib/commonjs/ui/THEOplayerDefaultUi.js.map +0 -1
  62. package/lib/commonjs/ui/THEOplayerTheme.js +0 -48
  63. package/lib/commonjs/ui/THEOplayerTheme.js.map +0 -1
  64. package/lib/commonjs/ui/barrel.js +0 -39
  65. package/lib/commonjs/ui/barrel.js.map +0 -1
  66. package/lib/commonjs/ui/components/activityindicator/CenteredDelayedActivityIndicator.js +0 -99
  67. package/lib/commonjs/ui/components/activityindicator/CenteredDelayedActivityIndicator.js.map +0 -1
  68. package/lib/commonjs/ui/components/activityindicator/DelayedActivityIndicator.js +0 -35
  69. package/lib/commonjs/ui/components/activityindicator/DelayedActivityIndicator.js.map +0 -1
  70. package/lib/commonjs/ui/components/activityindicator/barrel.js +0 -28
  71. package/lib/commonjs/ui/components/activityindicator/barrel.js.map +0 -1
  72. package/lib/commonjs/ui/components/barrel.js +0 -105
  73. package/lib/commonjs/ui/components/barrel.js.map +0 -1
  74. package/lib/commonjs/ui/components/button/AirplayButton.js +0 -81
  75. package/lib/commonjs/ui/components/button/AirplayButton.js.map +0 -1
  76. package/lib/commonjs/ui/components/button/ChromecastButton.js +0 -66
  77. package/lib/commonjs/ui/components/button/ChromecastButton.js.map +0 -1
  78. package/lib/commonjs/ui/components/button/ChromecastButton.web.js +0 -82
  79. package/lib/commonjs/ui/components/button/ChromecastButton.web.js.map +0 -1
  80. package/lib/commonjs/ui/components/button/FullscreenButton.js +0 -72
  81. package/lib/commonjs/ui/components/button/FullscreenButton.js.map +0 -1
  82. package/lib/commonjs/ui/components/button/MuteButton.js +0 -66
  83. package/lib/commonjs/ui/components/button/MuteButton.js.map +0 -1
  84. package/lib/commonjs/ui/components/button/PipButton.js +0 -72
  85. package/lib/commonjs/ui/components/button/PipButton.js.map +0 -1
  86. package/lib/commonjs/ui/components/button/PlayButton.js +0 -113
  87. package/lib/commonjs/ui/components/button/PlayButton.js.map +0 -1
  88. package/lib/commonjs/ui/components/button/SkipButton.js +0 -122
  89. package/lib/commonjs/ui/components/button/SkipButton.js.map +0 -1
  90. package/lib/commonjs/ui/components/button/actionbutton/ActionButton.js +0 -82
  91. package/lib/commonjs/ui/components/button/actionbutton/ActionButton.js.map +0 -1
  92. package/lib/commonjs/ui/components/button/barrel.js +0 -105
  93. package/lib/commonjs/ui/components/button/barrel.js.map +0 -1
  94. package/lib/commonjs/ui/components/button/svg/AirplaySvg.js +0 -22
  95. package/lib/commonjs/ui/components/button/svg/AirplaySvg.js.map +0 -1
  96. package/lib/commonjs/ui/components/button/svg/ArrowForwardSvg.js +0 -22
  97. package/lib/commonjs/ui/components/button/svg/ArrowForwardSvg.js.map +0 -1
  98. package/lib/commonjs/ui/components/button/svg/BackSvg.js +0 -22
  99. package/lib/commonjs/ui/components/button/svg/BackSvg.js.map +0 -1
  100. package/lib/commonjs/ui/components/button/svg/BackwardSvg.js +0 -22
  101. package/lib/commonjs/ui/components/button/svg/BackwardSvg.js.map +0 -1
  102. package/lib/commonjs/ui/components/button/svg/ChromecastSvg.js +0 -22
  103. package/lib/commonjs/ui/components/button/svg/ChromecastSvg.js.map +0 -1
  104. package/lib/commonjs/ui/components/button/svg/ErrorSvg.js +0 -22
  105. package/lib/commonjs/ui/components/button/svg/ErrorSvg.js.map +0 -1
  106. package/lib/commonjs/ui/components/button/svg/ForwardSvg.js +0 -22
  107. package/lib/commonjs/ui/components/button/svg/ForwardSvg.js.map +0 -1
  108. package/lib/commonjs/ui/components/button/svg/FullscreenEnterSvg.js +0 -22
  109. package/lib/commonjs/ui/components/button/svg/FullscreenEnterSvg.js.map +0 -1
  110. package/lib/commonjs/ui/components/button/svg/FullscreenExitSvg.js +0 -22
  111. package/lib/commonjs/ui/components/button/svg/FullscreenExitSvg.js.map +0 -1
  112. package/lib/commonjs/ui/components/button/svg/LanguageSvg.js +0 -22
  113. package/lib/commonjs/ui/components/button/svg/LanguageSvg.js.map +0 -1
  114. package/lib/commonjs/ui/components/button/svg/ListSvg.js +0 -22
  115. package/lib/commonjs/ui/components/button/svg/ListSvg.js.map +0 -1
  116. package/lib/commonjs/ui/components/button/svg/PauseSvg.js +0 -22
  117. package/lib/commonjs/ui/components/button/svg/PauseSvg.js.map +0 -1
  118. package/lib/commonjs/ui/components/button/svg/PipEnterSvg.js +0 -22
  119. package/lib/commonjs/ui/components/button/svg/PipEnterSvg.js.map +0 -1
  120. package/lib/commonjs/ui/components/button/svg/PipExitSvg.js +0 -22
  121. package/lib/commonjs/ui/components/button/svg/PipExitSvg.js.map +0 -1
  122. package/lib/commonjs/ui/components/button/svg/PlaySvg.js +0 -22
  123. package/lib/commonjs/ui/components/button/svg/PlaySvg.js.map +0 -1
  124. package/lib/commonjs/ui/components/button/svg/ReplaySvg.js +0 -22
  125. package/lib/commonjs/ui/components/button/svg/ReplaySvg.js.map +0 -1
  126. package/lib/commonjs/ui/components/button/svg/SettingsSvg.js +0 -22
  127. package/lib/commonjs/ui/components/button/svg/SettingsSvg.js.map +0 -1
  128. package/lib/commonjs/ui/components/button/svg/SvgUtils.js +0 -13
  129. package/lib/commonjs/ui/components/button/svg/SvgUtils.js.map +0 -1
  130. package/lib/commonjs/ui/components/button/svg/VolumeOffSvg.js +0 -22
  131. package/lib/commonjs/ui/components/button/svg/VolumeOffSvg.js.map +0 -1
  132. package/lib/commonjs/ui/components/button/svg/VolumeUpSvg.js +0 -22
  133. package/lib/commonjs/ui/components/button/svg/VolumeUpSvg.js.map +0 -1
  134. package/lib/commonjs/ui/components/button/svg/barrel.js +0 -226
  135. package/lib/commonjs/ui/components/button/svg/barrel.js.map +0 -1
  136. package/lib/commonjs/ui/components/button/svg/res/AirPlayButton.html +0 -6
  137. package/lib/commonjs/ui/components/button/svg/res/Airplay.svg +0 -1
  138. package/lib/commonjs/ui/components/button/svg/res/ChromecastButton.html +0 -25
  139. package/lib/commonjs/ui/components/button/svg/res/arrow_forward.svg +0 -1
  140. package/lib/commonjs/ui/components/button/svg/res/back.svg +0 -1
  141. package/lib/commonjs/ui/components/button/svg/res/backward.svg +0 -1
  142. package/lib/commonjs/ui/components/button/svg/res/chromecast-48px.svg +0 -1
  143. package/lib/commonjs/ui/components/button/svg/res/close.svg +0 -1
  144. package/lib/commonjs/ui/components/button/svg/res/error.svg +0 -1
  145. package/lib/commonjs/ui/components/button/svg/res/forward.svg +0 -1
  146. package/lib/commonjs/ui/components/button/svg/res/fullscreen-enter.svg +0 -1
  147. package/lib/commonjs/ui/components/button/svg/res/fullscreen-exit.svg +0 -1
  148. package/lib/commonjs/ui/components/button/svg/res/language.svg +0 -1
  149. package/lib/commonjs/ui/components/button/svg/res/list.svg +0 -1
  150. package/lib/commonjs/ui/components/button/svg/res/live.svg +0 -1
  151. package/lib/commonjs/ui/components/button/svg/res/pause.svg +0 -1
  152. package/lib/commonjs/ui/components/button/svg/res/pip_enter.svg +0 -1
  153. package/lib/commonjs/ui/components/button/svg/res/pip_exit.svg +0 -1
  154. package/lib/commonjs/ui/components/button/svg/res/play.svg +0 -1
  155. package/lib/commonjs/ui/components/button/svg/res/replay.svg +0 -1
  156. package/lib/commonjs/ui/components/button/svg/res/settings.svg +0 -1
  157. package/lib/commonjs/ui/components/button/svg/res/skip-next.svg +0 -1
  158. package/lib/commonjs/ui/components/button/svg/res/volume-high.svg +0 -1
  159. package/lib/commonjs/ui/components/button/svg/res/volume-low.svg +0 -1
  160. package/lib/commonjs/ui/components/button/svg/res/volume-off.svg +0 -1
  161. package/lib/commonjs/ui/components/controlbar/ControlBar.js +0 -61
  162. package/lib/commonjs/ui/components/controlbar/ControlBar.js.map +0 -1
  163. package/lib/commonjs/ui/components/controlbar/Spacer.js +0 -21
  164. package/lib/commonjs/ui/components/controlbar/Spacer.js.map +0 -1
  165. package/lib/commonjs/ui/components/controlbar/barrel.js +0 -28
  166. package/lib/commonjs/ui/components/controlbar/barrel.js.map +0 -1
  167. package/lib/commonjs/ui/components/menu/LanguageMenuButton.js +0 -175
  168. package/lib/commonjs/ui/components/menu/LanguageMenuButton.js.map +0 -1
  169. package/lib/commonjs/ui/components/menu/PlaybackRateSubMenu.js +0 -91
  170. package/lib/commonjs/ui/components/menu/PlaybackRateSubMenu.js.map +0 -1
  171. package/lib/commonjs/ui/components/menu/QualitySubMenu.js +0 -145
  172. package/lib/commonjs/ui/components/menu/QualitySubMenu.js.map +0 -1
  173. package/lib/commonjs/ui/components/menu/SettingsMenuButton.js +0 -36
  174. package/lib/commonjs/ui/components/menu/SettingsMenuButton.js.map +0 -1
  175. package/lib/commonjs/ui/components/menu/barrel.js +0 -61
  176. package/lib/commonjs/ui/components/menu/barrel.js.map +0 -1
  177. package/lib/commonjs/ui/components/menu/common/MenuButton.js +0 -34
  178. package/lib/commonjs/ui/components/menu/common/MenuButton.js.map +0 -1
  179. package/lib/commonjs/ui/components/menu/common/MenuRadioButton.js +0 -47
  180. package/lib/commonjs/ui/components/menu/common/MenuRadioButton.js.map +0 -1
  181. package/lib/commonjs/ui/components/menu/common/MenuTitle.js +0 -38
  182. package/lib/commonjs/ui/components/menu/common/MenuTitle.js.map +0 -1
  183. package/lib/commonjs/ui/components/menu/common/MenuView.js +0 -75
  184. package/lib/commonjs/ui/components/menu/common/MenuView.js.map +0 -1
  185. package/lib/commonjs/ui/components/menu/common/ScrollableMenu.js +0 -45
  186. package/lib/commonjs/ui/components/menu/common/ScrollableMenu.js.map +0 -1
  187. package/lib/commonjs/ui/components/menu/common/SubMenuWithButton.js +0 -65
  188. package/lib/commonjs/ui/components/menu/common/SubMenuWithButton.js.map +0 -1
  189. package/lib/commonjs/ui/components/menu/common/barrel.js +0 -72
  190. package/lib/commonjs/ui/components/menu/common/barrel.js.map +0 -1
  191. package/lib/commonjs/ui/components/message/CastMessage.js +0 -79
  192. package/lib/commonjs/ui/components/message/CastMessage.js.map +0 -1
  193. package/lib/commonjs/ui/components/message/ErrorDisplay.js +0 -53
  194. package/lib/commonjs/ui/components/message/ErrorDisplay.js.map +0 -1
  195. package/lib/commonjs/ui/components/message/barrel.js +0 -28
  196. package/lib/commonjs/ui/components/message/barrel.js.map +0 -1
  197. package/lib/commonjs/ui/components/seekbar/SeekBar.js +0 -194
  198. package/lib/commonjs/ui/components/seekbar/SeekBar.js.map +0 -1
  199. package/lib/commonjs/ui/components/seekbar/barrel.js +0 -28
  200. package/lib/commonjs/ui/components/seekbar/barrel.js.map +0 -1
  201. package/lib/commonjs/ui/components/seekbar/thumbnail/SingleThumbnailView.js +0 -45
  202. package/lib/commonjs/ui/components/seekbar/thumbnail/SingleThumbnailView.js.map +0 -1
  203. package/lib/commonjs/ui/components/seekbar/thumbnail/Thumbnail.js +0 -18
  204. package/lib/commonjs/ui/components/seekbar/thumbnail/Thumbnail.js.map +0 -1
  205. package/lib/commonjs/ui/components/seekbar/thumbnail/ThumbnailView.js +0 -256
  206. package/lib/commonjs/ui/components/seekbar/thumbnail/ThumbnailView.js.map +0 -1
  207. package/lib/commonjs/ui/components/seekbar/thumbnail/Urlpolyfill.js +0 -17
  208. package/lib/commonjs/ui/components/seekbar/thumbnail/Urlpolyfill.js.map +0 -1
  209. package/lib/commonjs/ui/components/seekbar/thumbnail/Urlpolyfill.web.js +0 -17
  210. package/lib/commonjs/ui/components/seekbar/thumbnail/Urlpolyfill.web.js.map +0 -1
  211. package/lib/commonjs/ui/components/seekbar/thumbnail/barrel.js +0 -28
  212. package/lib/commonjs/ui/components/seekbar/thumbnail/barrel.js.map +0 -1
  213. package/lib/commonjs/ui/components/timelabel/StaticTimeLabel.js +0 -55
  214. package/lib/commonjs/ui/components/timelabel/StaticTimeLabel.js.map +0 -1
  215. package/lib/commonjs/ui/components/timelabel/TimeLabel.js +0 -88
  216. package/lib/commonjs/ui/components/timelabel/TimeLabel.js.map +0 -1
  217. package/lib/commonjs/ui/components/timelabel/barrel.js +0 -28
  218. package/lib/commonjs/ui/components/timelabel/barrel.js.map +0 -1
  219. package/lib/commonjs/ui/components/uicontroller/UiContainer.js +0 -350
  220. package/lib/commonjs/ui/components/uicontroller/UiContainer.js.map +0 -1
  221. package/lib/commonjs/ui/components/uicontroller/UiControls.js +0 -6
  222. package/lib/commonjs/ui/components/uicontroller/UiControls.js.map +0 -1
  223. package/lib/commonjs/ui/components/uicontroller/barrel.js +0 -28
  224. package/lib/commonjs/ui/components/uicontroller/barrel.js.map +0 -1
  225. package/lib/commonjs/ui/components/util/PlayerContext.js +0 -19
  226. package/lib/commonjs/ui/components/util/PlayerContext.js.map +0 -1
  227. package/lib/commonjs/ui/components/util/TrackUtils.js +0 -69
  228. package/lib/commonjs/ui/components/util/TrackUtils.js.map +0 -1
  229. package/lib/commonjs/ui/components/util/barrel.js +0 -17
  230. package/lib/commonjs/ui/components/util/barrel.js.map +0 -1
  231. package/lib/commonjs/ui/utils/ArrayUtils.js +0 -19
  232. package/lib/commonjs/ui/utils/ArrayUtils.js.map +0 -1
  233. package/lib/commonjs/ui/utils/language/Language.js +0 -38
  234. package/lib/commonjs/ui/utils/language/Language.js.map +0 -1
  235. package/lib/commonjs/ui/utils/language/languages.json +0 -1658
  236. package/lib/commonjs/web/platform/BrowserDetection.js +0 -34
  237. package/lib/commonjs/web/platform/BrowserDetection.js.map +0 -1
  238. package/lib/module/ui/THEOplayerDefaultUi.js +0 -74
  239. package/lib/module/ui/THEOplayerDefaultUi.js.map +0 -1
  240. package/lib/module/ui/THEOplayerTheme.js +0 -41
  241. package/lib/module/ui/THEOplayerTheme.js.map +0 -1
  242. package/lib/module/ui/barrel.js +0 -4
  243. package/lib/module/ui/barrel.js.map +0 -1
  244. package/lib/module/ui/components/activityindicator/CenteredDelayedActivityIndicator.js +0 -90
  245. package/lib/module/ui/components/activityindicator/CenteredDelayedActivityIndicator.js.map +0 -1
  246. package/lib/module/ui/components/activityindicator/DelayedActivityIndicator.js +0 -26
  247. package/lib/module/ui/components/activityindicator/DelayedActivityIndicator.js.map +0 -1
  248. package/lib/module/ui/components/activityindicator/barrel.js +0 -3
  249. package/lib/module/ui/components/activityindicator/barrel.js.map +0 -1
  250. package/lib/module/ui/components/barrel.js +0 -10
  251. package/lib/module/ui/components/barrel.js.map +0 -1
  252. package/lib/module/ui/components/button/AirplayButton.js +0 -72
  253. package/lib/module/ui/components/button/AirplayButton.js.map +0 -1
  254. package/lib/module/ui/components/button/ChromecastButton.js +0 -56
  255. package/lib/module/ui/components/button/ChromecastButton.js.map +0 -1
  256. package/lib/module/ui/components/button/ChromecastButton.web.js +0 -72
  257. package/lib/module/ui/components/button/ChromecastButton.web.js.map +0 -1
  258. package/lib/module/ui/components/button/FullscreenButton.js +0 -63
  259. package/lib/module/ui/components/button/FullscreenButton.js.map +0 -1
  260. package/lib/module/ui/components/button/MuteButton.js +0 -57
  261. package/lib/module/ui/components/button/MuteButton.js.map +0 -1
  262. package/lib/module/ui/components/button/PipButton.js +0 -63
  263. package/lib/module/ui/components/button/PipButton.js.map +0 -1
  264. package/lib/module/ui/components/button/PlayButton.js +0 -104
  265. package/lib/module/ui/components/button/PlayButton.js.map +0 -1
  266. package/lib/module/ui/components/button/SkipButton.js +0 -113
  267. package/lib/module/ui/components/button/SkipButton.js.map +0 -1
  268. package/lib/module/ui/components/button/actionbutton/ActionButton.js +0 -72
  269. package/lib/module/ui/components/button/actionbutton/ActionButton.js.map +0 -1
  270. package/lib/module/ui/components/button/barrel.js +0 -10
  271. package/lib/module/ui/components/button/barrel.js.map +0 -1
  272. package/lib/module/ui/components/button/svg/AirplaySvg.js +0 -12
  273. package/lib/module/ui/components/button/svg/AirplaySvg.js.map +0 -1
  274. package/lib/module/ui/components/button/svg/ArrowForwardSvg.js +0 -12
  275. package/lib/module/ui/components/button/svg/ArrowForwardSvg.js.map +0 -1
  276. package/lib/module/ui/components/button/svg/BackSvg.js +0 -12
  277. package/lib/module/ui/components/button/svg/BackSvg.js.map +0 -1
  278. package/lib/module/ui/components/button/svg/BackwardSvg.js +0 -12
  279. package/lib/module/ui/components/button/svg/BackwardSvg.js.map +0 -1
  280. package/lib/module/ui/components/button/svg/ChromecastSvg.js +0 -12
  281. package/lib/module/ui/components/button/svg/ChromecastSvg.js.map +0 -1
  282. package/lib/module/ui/components/button/svg/ErrorSvg.js +0 -12
  283. package/lib/module/ui/components/button/svg/ErrorSvg.js.map +0 -1
  284. package/lib/module/ui/components/button/svg/ForwardSvg.js +0 -12
  285. package/lib/module/ui/components/button/svg/ForwardSvg.js.map +0 -1
  286. package/lib/module/ui/components/button/svg/FullscreenEnterSvg.js +0 -12
  287. package/lib/module/ui/components/button/svg/FullscreenEnterSvg.js.map +0 -1
  288. package/lib/module/ui/components/button/svg/FullscreenExitSvg.js +0 -12
  289. package/lib/module/ui/components/button/svg/FullscreenExitSvg.js.map +0 -1
  290. package/lib/module/ui/components/button/svg/LanguageSvg.js +0 -12
  291. package/lib/module/ui/components/button/svg/LanguageSvg.js.map +0 -1
  292. package/lib/module/ui/components/button/svg/ListSvg.js +0 -12
  293. package/lib/module/ui/components/button/svg/ListSvg.js.map +0 -1
  294. package/lib/module/ui/components/button/svg/PauseSvg.js +0 -12
  295. package/lib/module/ui/components/button/svg/PauseSvg.js.map +0 -1
  296. package/lib/module/ui/components/button/svg/PipEnterSvg.js +0 -12
  297. package/lib/module/ui/components/button/svg/PipEnterSvg.js.map +0 -1
  298. package/lib/module/ui/components/button/svg/PipExitSvg.js +0 -12
  299. package/lib/module/ui/components/button/svg/PipExitSvg.js.map +0 -1
  300. package/lib/module/ui/components/button/svg/PlaySvg.js +0 -12
  301. package/lib/module/ui/components/button/svg/PlaySvg.js.map +0 -1
  302. package/lib/module/ui/components/button/svg/ReplaySvg.js +0 -12
  303. package/lib/module/ui/components/button/svg/ReplaySvg.js.map +0 -1
  304. package/lib/module/ui/components/button/svg/SettingsSvg.js +0 -12
  305. package/lib/module/ui/components/button/svg/SettingsSvg.js.map +0 -1
  306. package/lib/module/ui/components/button/svg/SvgUtils.js +0 -5
  307. package/lib/module/ui/components/button/svg/SvgUtils.js.map +0 -1
  308. package/lib/module/ui/components/button/svg/VolumeOffSvg.js +0 -12
  309. package/lib/module/ui/components/button/svg/VolumeOffSvg.js.map +0 -1
  310. package/lib/module/ui/components/button/svg/VolumeUpSvg.js +0 -12
  311. package/lib/module/ui/components/button/svg/VolumeUpSvg.js.map +0 -1
  312. package/lib/module/ui/components/button/svg/barrel.js +0 -21
  313. package/lib/module/ui/components/button/svg/barrel.js.map +0 -1
  314. package/lib/module/ui/components/button/svg/res/AirPlayButton.html +0 -6
  315. package/lib/module/ui/components/button/svg/res/Airplay.svg +0 -1
  316. package/lib/module/ui/components/button/svg/res/ChromecastButton.html +0 -25
  317. package/lib/module/ui/components/button/svg/res/arrow_forward.svg +0 -1
  318. package/lib/module/ui/components/button/svg/res/back.svg +0 -1
  319. package/lib/module/ui/components/button/svg/res/backward.svg +0 -1
  320. package/lib/module/ui/components/button/svg/res/chromecast-48px.svg +0 -1
  321. package/lib/module/ui/components/button/svg/res/close.svg +0 -1
  322. package/lib/module/ui/components/button/svg/res/error.svg +0 -1
  323. package/lib/module/ui/components/button/svg/res/forward.svg +0 -1
  324. package/lib/module/ui/components/button/svg/res/fullscreen-enter.svg +0 -1
  325. package/lib/module/ui/components/button/svg/res/fullscreen-exit.svg +0 -1
  326. package/lib/module/ui/components/button/svg/res/language.svg +0 -1
  327. package/lib/module/ui/components/button/svg/res/list.svg +0 -1
  328. package/lib/module/ui/components/button/svg/res/live.svg +0 -1
  329. package/lib/module/ui/components/button/svg/res/pause.svg +0 -1
  330. package/lib/module/ui/components/button/svg/res/pip_enter.svg +0 -1
  331. package/lib/module/ui/components/button/svg/res/pip_exit.svg +0 -1
  332. package/lib/module/ui/components/button/svg/res/play.svg +0 -1
  333. package/lib/module/ui/components/button/svg/res/replay.svg +0 -1
  334. package/lib/module/ui/components/button/svg/res/settings.svg +0 -1
  335. package/lib/module/ui/components/button/svg/res/skip-next.svg +0 -1
  336. package/lib/module/ui/components/button/svg/res/volume-high.svg +0 -1
  337. package/lib/module/ui/components/button/svg/res/volume-low.svg +0 -1
  338. package/lib/module/ui/components/button/svg/res/volume-off.svg +0 -1
  339. package/lib/module/ui/components/controlbar/ControlBar.js +0 -52
  340. package/lib/module/ui/components/controlbar/ControlBar.js.map +0 -1
  341. package/lib/module/ui/components/controlbar/Spacer.js +0 -14
  342. package/lib/module/ui/components/controlbar/Spacer.js.map +0 -1
  343. package/lib/module/ui/components/controlbar/barrel.js +0 -3
  344. package/lib/module/ui/components/controlbar/barrel.js.map +0 -1
  345. package/lib/module/ui/components/menu/LanguageMenuButton.js +0 -165
  346. package/lib/module/ui/components/menu/LanguageMenuButton.js.map +0 -1
  347. package/lib/module/ui/components/menu/PlaybackRateSubMenu.js +0 -80
  348. package/lib/module/ui/components/menu/PlaybackRateSubMenu.js.map +0 -1
  349. package/lib/module/ui/components/menu/QualitySubMenu.js +0 -135
  350. package/lib/module/ui/components/menu/QualitySubMenu.js.map +0 -1
  351. package/lib/module/ui/components/menu/SettingsMenuButton.js +0 -28
  352. package/lib/module/ui/components/menu/SettingsMenuButton.js.map +0 -1
  353. package/lib/module/ui/components/menu/barrel.js +0 -6
  354. package/lib/module/ui/components/menu/barrel.js.map +0 -1
  355. package/lib/module/ui/components/menu/common/MenuButton.js +0 -26
  356. package/lib/module/ui/components/menu/common/MenuButton.js.map +0 -1
  357. package/lib/module/ui/components/menu/common/MenuRadioButton.js +0 -38
  358. package/lib/module/ui/components/menu/common/MenuRadioButton.js.map +0 -1
  359. package/lib/module/ui/components/menu/common/MenuTitle.js +0 -29
  360. package/lib/module/ui/components/menu/common/MenuTitle.js.map +0 -1
  361. package/lib/module/ui/components/menu/common/MenuView.js +0 -65
  362. package/lib/module/ui/components/menu/common/MenuView.js.map +0 -1
  363. package/lib/module/ui/components/menu/common/ScrollableMenu.js +0 -36
  364. package/lib/module/ui/components/menu/common/ScrollableMenu.js.map +0 -1
  365. package/lib/module/ui/components/menu/common/SubMenuWithButton.js +0 -56
  366. package/lib/module/ui/components/menu/common/SubMenuWithButton.js.map +0 -1
  367. package/lib/module/ui/components/menu/common/barrel.js +0 -7
  368. package/lib/module/ui/components/menu/common/barrel.js.map +0 -1
  369. package/lib/module/ui/components/message/CastMessage.js +0 -70
  370. package/lib/module/ui/components/message/CastMessage.js.map +0 -1
  371. package/lib/module/ui/components/message/ErrorDisplay.js +0 -46
  372. package/lib/module/ui/components/message/ErrorDisplay.js.map +0 -1
  373. package/lib/module/ui/components/message/barrel.js +0 -3
  374. package/lib/module/ui/components/message/barrel.js.map +0 -1
  375. package/lib/module/ui/components/seekbar/SeekBar.js +0 -184
  376. package/lib/module/ui/components/seekbar/SeekBar.js.map +0 -1
  377. package/lib/module/ui/components/seekbar/barrel.js +0 -3
  378. package/lib/module/ui/components/seekbar/barrel.js.map +0 -1
  379. package/lib/module/ui/components/seekbar/thumbnail/SingleThumbnailView.js +0 -37
  380. package/lib/module/ui/components/seekbar/thumbnail/SingleThumbnailView.js.map +0 -1
  381. package/lib/module/ui/components/seekbar/thumbnail/Thumbnail.js +0 -11
  382. package/lib/module/ui/components/seekbar/thumbnail/Thumbnail.js.map +0 -1
  383. package/lib/module/ui/components/seekbar/thumbnail/ThumbnailView.js +0 -246
  384. package/lib/module/ui/components/seekbar/thumbnail/ThumbnailView.js.map +0 -1
  385. package/lib/module/ui/components/seekbar/thumbnail/Urlpolyfill.js +0 -2
  386. package/lib/module/ui/components/seekbar/thumbnail/Urlpolyfill.js.map +0 -1
  387. package/lib/module/ui/components/seekbar/thumbnail/Urlpolyfill.web.js +0 -3
  388. package/lib/module/ui/components/seekbar/thumbnail/Urlpolyfill.web.js.map +0 -1
  389. package/lib/module/ui/components/seekbar/thumbnail/barrel.js +0 -3
  390. package/lib/module/ui/components/seekbar/thumbnail/barrel.js.map +0 -1
  391. package/lib/module/ui/components/timelabel/StaticTimeLabel.js +0 -48
  392. package/lib/module/ui/components/timelabel/StaticTimeLabel.js.map +0 -1
  393. package/lib/module/ui/components/timelabel/TimeLabel.js +0 -78
  394. package/lib/module/ui/components/timelabel/TimeLabel.js.map +0 -1
  395. package/lib/module/ui/components/timelabel/barrel.js +0 -3
  396. package/lib/module/ui/components/timelabel/barrel.js.map +0 -1
  397. package/lib/module/ui/components/uicontroller/UiContainer.js +0 -336
  398. package/lib/module/ui/components/uicontroller/UiContainer.js.map +0 -1
  399. package/lib/module/ui/components/uicontroller/UiControls.js +0 -2
  400. package/lib/module/ui/components/uicontroller/UiControls.js.map +0 -1
  401. package/lib/module/ui/components/uicontroller/barrel.js +0 -3
  402. package/lib/module/ui/components/uicontroller/barrel.js.map +0 -1
  403. package/lib/module/ui/components/util/PlayerContext.js +0 -11
  404. package/lib/module/ui/components/util/PlayerContext.js.map +0 -1
  405. package/lib/module/ui/components/util/TrackUtils.js +0 -60
  406. package/lib/module/ui/components/util/TrackUtils.js.map +0 -1
  407. package/lib/module/ui/components/util/barrel.js +0 -2
  408. package/lib/module/ui/components/util/barrel.js.map +0 -1
  409. package/lib/module/ui/utils/ArrayUtils.js +0 -12
  410. package/lib/module/ui/utils/ArrayUtils.js.map +0 -1
  411. package/lib/module/ui/utils/language/Language.js +0 -27
  412. package/lib/module/ui/utils/language/Language.js.map +0 -1
  413. package/lib/module/ui/utils/language/languages.json +0 -1658
  414. package/lib/module/web/platform/BrowserDetection.js +0 -27
  415. package/lib/module/web/platform/BrowserDetection.js.map +0 -1
  416. package/lib/typescript/ui/THEOplayerDefaultUi.d.ts +0 -35
  417. package/lib/typescript/ui/THEOplayerTheme.d.ts +0 -84
  418. package/lib/typescript/ui/barrel.d.ts +0 -3
  419. package/lib/typescript/ui/components/activityindicator/CenteredDelayedActivityIndicator.d.ts +0 -25
  420. package/lib/typescript/ui/components/activityindicator/DelayedActivityIndicator.d.ts +0 -9
  421. package/lib/typescript/ui/components/activityindicator/barrel.d.ts +0 -2
  422. package/lib/typescript/ui/components/barrel.d.ts +0 -9
  423. package/lib/typescript/ui/components/button/AirplayButton.d.ts +0 -18
  424. package/lib/typescript/ui/components/button/ChromecastButton.d.ts +0 -19
  425. package/lib/typescript/ui/components/button/ChromecastButton.web.d.ts +0 -19
  426. package/lib/typescript/ui/components/button/FullscreenButton.d.ts +0 -17
  427. package/lib/typescript/ui/components/button/MuteButton.d.ts +0 -16
  428. package/lib/typescript/ui/components/button/PipButton.d.ts +0 -17
  429. package/lib/typescript/ui/components/button/PlayButton.d.ts +0 -28
  430. package/lib/typescript/ui/components/button/SkipButton.d.ts +0 -33
  431. package/lib/typescript/ui/components/button/actionbutton/ActionButton.d.ts +0 -41
  432. package/lib/typescript/ui/components/button/barrel.d.ts +0 -9
  433. package/lib/typescript/ui/components/button/svg/AirplaySvg.d.ts +0 -3
  434. package/lib/typescript/ui/components/button/svg/ArrowForwardSvg.d.ts +0 -3
  435. package/lib/typescript/ui/components/button/svg/BackSvg.d.ts +0 -3
  436. package/lib/typescript/ui/components/button/svg/BackwardSvg.d.ts +0 -3
  437. package/lib/typescript/ui/components/button/svg/ChromecastSvg.d.ts +0 -3
  438. package/lib/typescript/ui/components/button/svg/ErrorSvg.d.ts +0 -3
  439. package/lib/typescript/ui/components/button/svg/ForwardSvg.d.ts +0 -3
  440. package/lib/typescript/ui/components/button/svg/FullscreenEnterSvg.d.ts +0 -3
  441. package/lib/typescript/ui/components/button/svg/FullscreenExitSvg.d.ts +0 -3
  442. package/lib/typescript/ui/components/button/svg/LanguageSvg.d.ts +0 -3
  443. package/lib/typescript/ui/components/button/svg/ListSvg.d.ts +0 -3
  444. package/lib/typescript/ui/components/button/svg/PauseSvg.d.ts +0 -3
  445. package/lib/typescript/ui/components/button/svg/PipEnterSvg.d.ts +0 -3
  446. package/lib/typescript/ui/components/button/svg/PipExitSvg.d.ts +0 -3
  447. package/lib/typescript/ui/components/button/svg/PlaySvg.d.ts +0 -3
  448. package/lib/typescript/ui/components/button/svg/ReplaySvg.d.ts +0 -3
  449. package/lib/typescript/ui/components/button/svg/SettingsSvg.d.ts +0 -3
  450. package/lib/typescript/ui/components/button/svg/SvgUtils.d.ts +0 -3
  451. package/lib/typescript/ui/components/button/svg/VolumeOffSvg.d.ts +0 -3
  452. package/lib/typescript/ui/components/button/svg/VolumeUpSvg.d.ts +0 -3
  453. package/lib/typescript/ui/components/button/svg/barrel.d.ts +0 -20
  454. package/lib/typescript/ui/components/controlbar/ControlBar.d.ts +0 -39
  455. package/lib/typescript/ui/components/controlbar/Spacer.d.ts +0 -5
  456. package/lib/typescript/ui/components/controlbar/barrel.d.ts +0 -2
  457. package/lib/typescript/ui/components/menu/LanguageMenuButton.d.ts +0 -40
  458. package/lib/typescript/ui/components/menu/PlaybackRateSubMenu.d.ts +0 -36
  459. package/lib/typescript/ui/components/menu/QualitySubMenu.d.ts +0 -29
  460. package/lib/typescript/ui/components/menu/SettingsMenuButton.d.ts +0 -12
  461. package/lib/typescript/ui/components/menu/barrel.d.ts +0 -5
  462. package/lib/typescript/ui/components/menu/common/MenuButton.d.ts +0 -25
  463. package/lib/typescript/ui/components/menu/common/MenuRadioButton.d.ts +0 -33
  464. package/lib/typescript/ui/components/menu/common/MenuTitle.d.ts +0 -20
  465. package/lib/typescript/ui/components/menu/common/MenuView.d.ts +0 -21
  466. package/lib/typescript/ui/components/menu/common/ScrollableMenu.d.ts +0 -23
  467. package/lib/typescript/ui/components/menu/common/SubMenuWithButton.d.ts +0 -29
  468. package/lib/typescript/ui/components/menu/common/barrel.d.ts +0 -6
  469. package/lib/typescript/ui/components/message/CastMessage.d.ts +0 -16
  470. package/lib/typescript/ui/components/message/ErrorDisplay.d.ts +0 -12
  471. package/lib/typescript/ui/components/message/barrel.d.ts +0 -2
  472. package/lib/typescript/ui/components/seekbar/SeekBar.d.ts +0 -41
  473. package/lib/typescript/ui/components/seekbar/barrel.d.ts +0 -2
  474. package/lib/typescript/ui/components/seekbar/thumbnail/SingleThumbnailView.d.ts +0 -8
  475. package/lib/typescript/ui/components/seekbar/thumbnail/Thumbnail.d.ts +0 -56
  476. package/lib/typescript/ui/components/seekbar/thumbnail/ThumbnailView.d.ts +0 -60
  477. package/lib/typescript/ui/components/seekbar/thumbnail/Urlpolyfill.d.ts +0 -1
  478. package/lib/typescript/ui/components/seekbar/thumbnail/Urlpolyfill.web.d.ts +0 -1
  479. package/lib/typescript/ui/components/seekbar/thumbnail/barrel.d.ts +0 -2
  480. package/lib/typescript/ui/components/timelabel/StaticTimeLabel.d.ts +0 -24
  481. package/lib/typescript/ui/components/timelabel/TimeLabel.d.ts +0 -32
  482. package/lib/typescript/ui/components/timelabel/barrel.d.ts +0 -2
  483. package/lib/typescript/ui/components/uicontroller/UiContainer.d.ts +0 -115
  484. package/lib/typescript/ui/components/uicontroller/UiControls.d.ts +0 -14
  485. package/lib/typescript/ui/components/uicontroller/barrel.d.ts +0 -2
  486. package/lib/typescript/ui/components/util/PlayerContext.d.ts +0 -22
  487. package/lib/typescript/ui/components/util/TrackUtils.d.ts +0 -10
  488. package/lib/typescript/ui/components/util/barrel.d.ts +0 -1
  489. package/lib/typescript/ui/utils/ArrayUtils.d.ts +0 -2
  490. package/lib/typescript/ui/utils/language/Language.d.ts +0 -19
  491. package/lib/typescript/web/platform/BrowserDetection.d.ts +0 -23
  492. package/src/ui/THEOplayerDefaultUi.tsx +0 -108
  493. package/src/ui/THEOplayerTheme.ts +0 -112
  494. package/src/ui/barrel.ts +0 -3
  495. package/src/ui/components/activityindicator/CenteredDelayedActivityIndicator.tsx +0 -96
  496. package/src/ui/components/activityindicator/DelayedActivityIndicator.tsx +0 -32
  497. package/src/ui/components/activityindicator/barrel.ts +0 -2
  498. package/src/ui/components/barrel.ts +0 -9
  499. package/src/ui/components/button/AirplayButton.tsx +0 -64
  500. package/src/ui/components/button/ChromecastButton.tsx +0 -60
  501. package/src/ui/components/button/ChromecastButton.web.tsx +0 -66
  502. package/src/ui/components/button/FullscreenButton.tsx +0 -60
  503. package/src/ui/components/button/MuteButton.tsx +0 -52
  504. package/src/ui/components/button/PipButton.tsx +0 -61
  505. package/src/ui/components/button/PlayButton.tsx +0 -107
  506. package/src/ui/components/button/SkipButton.tsx +0 -112
  507. package/src/ui/components/button/actionbutton/ActionButton.tsx +0 -105
  508. package/src/ui/components/button/barrel.ts +0 -9
  509. package/src/ui/components/button/svg/AirplaySvg.tsx +0 -18
  510. package/src/ui/components/button/svg/ArrowForwardSvg.tsx +0 -18
  511. package/src/ui/components/button/svg/BackSvg.tsx +0 -18
  512. package/src/ui/components/button/svg/BackwardSvg.tsx +0 -18
  513. package/src/ui/components/button/svg/ChromecastSvg.tsx +0 -18
  514. package/src/ui/components/button/svg/ErrorSvg.tsx +0 -18
  515. package/src/ui/components/button/svg/ForwardSvg.tsx +0 -18
  516. package/src/ui/components/button/svg/FullscreenEnterSvg.tsx +0 -18
  517. package/src/ui/components/button/svg/FullscreenExitSvg.tsx +0 -18
  518. package/src/ui/components/button/svg/LanguageSvg.tsx +0 -18
  519. package/src/ui/components/button/svg/ListSvg.tsx +0 -18
  520. package/src/ui/components/button/svg/PauseSvg.tsx +0 -18
  521. package/src/ui/components/button/svg/PipEnterSvg.tsx +0 -18
  522. package/src/ui/components/button/svg/PipExitSvg.tsx +0 -18
  523. package/src/ui/components/button/svg/PlaySvg.tsx +0 -18
  524. package/src/ui/components/button/svg/ReplaySvg.tsx +0 -18
  525. package/src/ui/components/button/svg/SettingsSvg.tsx +0 -18
  526. package/src/ui/components/button/svg/SvgUtils.ts +0 -4
  527. package/src/ui/components/button/svg/VolumeOffSvg.tsx +0 -18
  528. package/src/ui/components/button/svg/VolumeUpSvg.tsx +0 -18
  529. package/src/ui/components/button/svg/barrel.ts +0 -20
  530. package/src/ui/components/button/svg/res/AirPlayButton.html +0 -6
  531. package/src/ui/components/button/svg/res/Airplay.svg +0 -1
  532. package/src/ui/components/button/svg/res/ChromecastButton.html +0 -25
  533. package/src/ui/components/button/svg/res/arrow_forward.svg +0 -1
  534. package/src/ui/components/button/svg/res/back.svg +0 -1
  535. package/src/ui/components/button/svg/res/backward.svg +0 -1
  536. package/src/ui/components/button/svg/res/chromecast-48px.svg +0 -1
  537. package/src/ui/components/button/svg/res/close.svg +0 -1
  538. package/src/ui/components/button/svg/res/error.svg +0 -1
  539. package/src/ui/components/button/svg/res/forward.svg +0 -1
  540. package/src/ui/components/button/svg/res/fullscreen-enter.svg +0 -1
  541. package/src/ui/components/button/svg/res/fullscreen-exit.svg +0 -1
  542. package/src/ui/components/button/svg/res/language.svg +0 -1
  543. package/src/ui/components/button/svg/res/list.svg +0 -1
  544. package/src/ui/components/button/svg/res/live.svg +0 -1
  545. package/src/ui/components/button/svg/res/pause.svg +0 -1
  546. package/src/ui/components/button/svg/res/pip_enter.svg +0 -1
  547. package/src/ui/components/button/svg/res/pip_exit.svg +0 -1
  548. package/src/ui/components/button/svg/res/play.svg +0 -1
  549. package/src/ui/components/button/svg/res/replay.svg +0 -1
  550. package/src/ui/components/button/svg/res/settings.svg +0 -1
  551. package/src/ui/components/button/svg/res/skip-next.svg +0 -1
  552. package/src/ui/components/button/svg/res/volume-high.svg +0 -1
  553. package/src/ui/components/button/svg/res/volume-low.svg +0 -1
  554. package/src/ui/components/button/svg/res/volume-off.svg +0 -1
  555. package/src/ui/components/controlbar/ControlBar.tsx +0 -69
  556. package/src/ui/components/controlbar/Spacer.tsx +0 -9
  557. package/src/ui/components/controlbar/barrel.ts +0 -2
  558. package/src/ui/components/menu/LanguageMenuButton.tsx +0 -192
  559. package/src/ui/components/menu/PlaybackRateSubMenu.tsx +0 -93
  560. package/src/ui/components/menu/QualitySubMenu.tsx +0 -148
  561. package/src/ui/components/menu/SettingsMenuButton.tsx +0 -25
  562. package/src/ui/components/menu/barrel.ts +0 -5
  563. package/src/ui/components/menu/common/MenuButton.tsx +0 -49
  564. package/src/ui/components/menu/common/MenuRadioButton.tsx +0 -65
  565. package/src/ui/components/menu/common/MenuTitle.tsx +0 -37
  566. package/src/ui/components/menu/common/MenuView.tsx +0 -62
  567. package/src/ui/components/menu/common/ScrollableMenu.tsx +0 -43
  568. package/src/ui/components/menu/common/SubMenuWithButton.tsx +0 -58
  569. package/src/ui/components/menu/common/barrel.ts +0 -6
  570. package/src/ui/components/message/CastMessage.tsx +0 -74
  571. package/src/ui/components/message/ErrorDisplay.tsx +0 -43
  572. package/src/ui/components/message/barrel.ts +0 -2
  573. package/src/ui/components/seekbar/SeekBar.tsx +0 -178
  574. package/src/ui/components/seekbar/barrel.ts +0 -2
  575. package/src/ui/components/seekbar/thumbnail/SingleThumbnailView.tsx +0 -38
  576. package/src/ui/components/seekbar/thumbnail/Thumbnail.ts +0 -72
  577. package/src/ui/components/seekbar/thumbnail/ThumbnailView.tsx +0 -266
  578. package/src/ui/components/seekbar/thumbnail/Urlpolyfill.ts +0 -1
  579. package/src/ui/components/seekbar/thumbnail/Urlpolyfill.web.ts +0 -2
  580. package/src/ui/components/seekbar/thumbnail/barrel.ts +0 -2
  581. package/src/ui/components/timelabel/StaticTimeLabel.tsx +0 -63
  582. package/src/ui/components/timelabel/TimeLabel.tsx +0 -79
  583. package/src/ui/components/timelabel/barrel.ts +0 -2
  584. package/src/ui/components/uicontroller/UiContainer.tsx +0 -355
  585. package/src/ui/components/uicontroller/UiControls.ts +0 -31
  586. package/src/ui/components/uicontroller/barrel.ts +0 -2
  587. package/src/ui/components/util/PlayerContext.ts +0 -29
  588. package/src/ui/components/util/TrackUtils.ts +0 -62
  589. package/src/ui/components/util/barrel.ts +0 -1
  590. package/src/ui/utils/ArrayUtils.ts +0 -12
  591. package/src/ui/utils/language/Language.ts +0 -38
  592. package/src/ui/utils/language/languages.json +0 -1658
  593. package/src/web/platform/BrowserDetection.ts +0 -38
@@ -1,192 +0,0 @@
1
- import React, { PureComponent } from 'react';
2
- import type { MediaTrack } from 'react-native-theoplayer';
3
- import { PlayerEventType, TextTrack } from 'react-native-theoplayer';
4
- import { PlayerContext, UiContext } from '../util/PlayerContext';
5
- import { LanguageSvg } from '../button/svg/LanguageSvg';
6
- import { ScrollableMenu } from './common/ScrollableMenu';
7
- import { MenuRadioButton } from './common/MenuRadioButton';
8
- import { MenuButton } from './common/MenuButton';
9
- import { filterRenderableTracks, getTrackLabel } from '../util/TrackUtils';
10
- import { MenuView } from './common/MenuView';
11
- import type { StyleProp, ViewStyle } from 'react-native';
12
-
13
- export interface LanguageMenuButtonState {
14
- audioTracks: MediaTrack[];
15
- textTracks: TextTrack[];
16
- }
17
-
18
- export interface LanguageMenuButtonProps {
19
- /**
20
- * The style overrides.
21
- */
22
- menuStyle?: StyleProp<ViewStyle>;
23
- }
24
-
25
- /**
26
- * A button component that opens a language selection menu (audio/text) for the `react-native-theoplayer` UI.
27
- */
28
- export class LanguageMenuButton extends PureComponent<LanguageMenuButtonProps, LanguageMenuButtonState> {
29
- constructor(props: LanguageMenuButtonProps) {
30
- super(props);
31
- this.state = { audioTracks: [], textTracks: [] };
32
- }
33
-
34
- componentDidMount() {
35
- const player = (this.context as UiContext).player;
36
- player.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this._updateTrackLists);
37
- player.addEventListener(PlayerEventType.TEXT_TRACK_LIST, this._updateTrackLists);
38
- this._updateTrackLists();
39
- }
40
-
41
- componentWillUnmount() {
42
- const player = (this.context as UiContext).player;
43
- player.removeEventListener(PlayerEventType.MEDIA_TRACK_LIST, this._updateTrackLists);
44
- player.removeEventListener(PlayerEventType.TEXT_TRACK_LIST, this._updateTrackLists);
45
- }
46
-
47
- private _updateTrackLists = () => {
48
- const player = (this.context as UiContext).player;
49
- this.setState({
50
- audioTracks: player.audioTracks,
51
- textTracks: player.textTracks,
52
- });
53
- };
54
-
55
- render() {
56
- const { audioTracks, textTracks } = this.state;
57
- const { menuStyle } = this.props;
58
-
59
- const selectableTextTracks = filterRenderableTracks(textTracks);
60
-
61
- if (audioTracks.length < 2 && selectableTextTracks.length === 0) {
62
- return <></>;
63
- }
64
-
65
- const createMenu = () => {
66
- return <LanguageMenuView style={menuStyle} />;
67
- };
68
-
69
- return <MenuButton svg={<LanguageSvg />} menuConstructor={createMenu} />;
70
- }
71
- }
72
-
73
- export interface LanguageMenuViewState extends LanguageMenuButtonState {
74
- selectedAudioTrack: number | undefined;
75
- selectedTextTrack: number | undefined;
76
- }
77
-
78
- export interface LanguageMenuViewProps {
79
- style?: StyleProp<ViewStyle>;
80
- }
81
-
82
- export class LanguageMenuView extends PureComponent<LanguageMenuViewProps, LanguageMenuViewState> {
83
- constructor(props: LanguageMenuViewProps) {
84
- super(props);
85
- this.state = {
86
- audioTracks: [],
87
- textTracks: [],
88
- selectedAudioTrack: undefined,
89
- selectedTextTrack: undefined,
90
- };
91
- }
92
-
93
- private _updateTrackLists = () => {
94
- const player = (this.context as UiContext).player;
95
- this.setState({
96
- audioTracks: player.audioTracks,
97
- textTracks: player.textTracks,
98
- selectedAudioTrack: player.selectedAudioTrack,
99
- selectedTextTrack: player.selectedTextTrack,
100
- });
101
- };
102
-
103
- componentDidMount() {
104
- const player = (this.context as UiContext).player;
105
- // The track lists might change while the menu is open, so we need to monitor them.
106
- player.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this._updateTrackLists);
107
- player.addEventListener(PlayerEventType.TEXT_TRACK_LIST, this._updateTrackLists);
108
- this._updateTrackLists();
109
- }
110
-
111
- componentWillUnmount() {
112
- const player = (this.context as UiContext).player;
113
- player.removeEventListener(PlayerEventType.MEDIA_TRACK_LIST, this._updateTrackLists);
114
- player.removeEventListener(PlayerEventType.TEXT_TRACK_LIST, this._updateTrackLists);
115
- }
116
-
117
- private onSelectTextTrack = (uid: number | undefined) => {
118
- const { textTracks } = this.state;
119
- const textTrack = textTracks.find((track) => track.uid === uid);
120
- const context = this.context as UiContext;
121
- context.player.selectedTextTrack = textTrack?.uid;
122
- this.setState({ selectedTextTrack: textTrack?.uid });
123
- };
124
-
125
- private selectAudioTrack = (uid: number | undefined) => {
126
- const { audioTracks } = this.state;
127
- const audioTrack = audioTracks.find((track) => track.uid === uid);
128
- if (audioTrack) {
129
- const context = this.context as UiContext;
130
- context.player.selectedAudioTrack = audioTrack.uid;
131
- this.setState({ selectedAudioTrack: audioTrack.uid });
132
- }
133
- };
134
-
135
- render() {
136
- const { style } = this.props;
137
- const { audioTracks, textTracks, selectedAudioTrack, selectedTextTrack } = this.state;
138
- // The sort is needed because tracks are returned in different order on the native SDKs.
139
- const selectableTextTracks = filterRenderableTracks(textTracks).sort((first, second) => first.uid - second.uid);
140
- const selectableAudioTracks = audioTracks.sort((first, second) => first.uid - second.uid);
141
- return (
142
- <MenuView
143
- style={style}
144
- menu={
145
- <>
146
- {selectableAudioTracks.length > 1 && (
147
- <ScrollableMenu
148
- title={'Audio'}
149
- items={selectableAudioTracks.map((track, id) => (
150
- <MenuRadioButton
151
- key={id}
152
- label={getTrackLabel(track)}
153
- uid={track.uid}
154
- onSelect={this.selectAudioTrack}
155
- selected={track.uid === selectedAudioTrack}></MenuRadioButton>
156
- ))}
157
- />
158
- )}
159
- {selectableTextTracks.length > 0 && (
160
- <ScrollableMenu
161
- title={'Subtitles'}
162
- items={
163
- <>
164
- <MenuRadioButton
165
- key={0}
166
- label={'off'}
167
- uid={undefined}
168
- onSelect={this.onSelectTextTrack}
169
- selected={selectedTextTrack === undefined}
170
- />
171
- {selectableTextTracks.map((track, id) => (
172
- <MenuRadioButton
173
- key={id + 1}
174
- label={getTrackLabel(track)}
175
- uid={track.uid}
176
- onSelect={this.onSelectTextTrack}
177
- selected={track.uid === selectedTextTrack}
178
- />
179
- ))}
180
- </>
181
- }
182
- />
183
- )}
184
- </>
185
- }
186
- />
187
- );
188
- }
189
- }
190
-
191
- LanguageMenuButton.contextType = PlayerContext;
192
- LanguageMenuView.contextType = PlayerContext;
@@ -1,93 +0,0 @@
1
- import React, { useContext, useState } from 'react';
2
- import { PlayerContext } from '../util/PlayerContext';
3
- import { MenuView } from './common/MenuView';
4
- import { ScrollableMenu } from './common/ScrollableMenu';
5
- import { MenuRadioButton } from './common/MenuRadioButton';
6
- import { SubMenuWithButton } from './common/SubMenuWithButton';
7
- import type { StyleProp, ViewStyle } from 'react-native';
8
-
9
- export interface PlaybackRateValue {
10
- /**
11
- * The playbackRate value.
12
- */
13
- readonly value: number;
14
- /**
15
- * The label of the playbackRate value.
16
- */
17
- readonly label: string;
18
- }
19
-
20
- /**
21
- * The default playback rate values for the menu.
22
- */
23
- export const DEFAULT_PLAYBACK_RATE_MENU_VALUES: PlaybackRateValue[] = [
24
- { value: 0.25, label: '0.25x' },
25
- { value: 0.5, label: '0.5x' },
26
- { value: 1, label: 'Normal' },
27
- { value: 1.25, label: '1.25x' },
28
- { value: 1.5, label: '1.5x' },
29
- { value: 2, label: '2x' },
30
- ];
31
-
32
- interface PlaybackRateSubMenuProps {
33
- /**
34
- * Overrides for the default playbackRate values.
35
- */
36
- values?: PlaybackRateValue[];
37
- /**
38
- * Overrides for the style of the menu.
39
- */
40
- menuStyle?: StyleProp<ViewStyle>;
41
- }
42
-
43
- /**
44
- * A button component that opens a playbackRate selection menu for the `react-native-theoplayer` UI.
45
- */
46
- export const PlaybackRateSubMenu = (props: PlaybackRateSubMenuProps) => {
47
- const { values, menuStyle } = props;
48
- const selectedValues: PlaybackRateValue[] = values ?? DEFAULT_PLAYBACK_RATE_MENU_VALUES;
49
- const player = useContext(PlayerContext).player;
50
-
51
- const createMenu = () => {
52
- return <PlaybackSelectionView values={selectedValues} menuStyle={menuStyle} />;
53
- };
54
- const preview = selectedValues.find((value) => value.value === player.playbackRate)?.label ?? player.playbackRate.toString() + 'x';
55
-
56
- return <SubMenuWithButton menuConstructor={createMenu} label={'Speed'} preview={preview} />;
57
- };
58
-
59
- interface PlaybackSelectionViewProps {
60
- menuStyle?: StyleProp<ViewStyle>;
61
- values: PlaybackRateValue[];
62
- }
63
-
64
- export const PlaybackSelectionView = (props: PlaybackSelectionViewProps) => {
65
- const { values, menuStyle } = props;
66
- const player = useContext(PlayerContext).player;
67
- const [selectedPlaybackRate, setSelectedPlaybackRate] = useState(player.playbackRate);
68
- const onChangePlaybackRate = (playbackRate: number | undefined) => {
69
- if (playbackRate) {
70
- player.playbackRate = playbackRate;
71
- setSelectedPlaybackRate(playbackRate);
72
- }
73
- };
74
-
75
- return (
76
- <MenuView
77
- style={menuStyle}
78
- menu={
79
- <ScrollableMenu
80
- title={'Playback Rate'}
81
- items={values.map((playbackRateValue, id) => (
82
- <MenuRadioButton
83
- key={id}
84
- label={playbackRateValue.label}
85
- uid={playbackRateValue.value}
86
- onSelect={onChangePlaybackRate}
87
- selected={selectedPlaybackRate === playbackRateValue.value}></MenuRadioButton>
88
- ))}
89
- />
90
- }
91
- />
92
- );
93
- };
@@ -1,148 +0,0 @@
1
- import type { VideoQuality } from 'react-native-theoplayer';
2
- import { findMediaTrackByUid, MediaTrack, PlayerEventType } from 'react-native-theoplayer';
3
- import React, { PureComponent, useContext } from 'react';
4
- import { Platform, StyleProp, ViewStyle } from 'react-native';
5
- import { PlayerContext, UiContext } from '../util/PlayerContext';
6
- import { getVideoQualityLabel } from '../util/TrackUtils';
7
- import { MenuView } from './common/MenuView';
8
- import { ScrollableMenu } from './common/ScrollableMenu';
9
- import { MenuRadioButton } from './common/MenuRadioButton';
10
- import { SubMenuWithButton } from './common/SubMenuWithButton';
11
-
12
- export interface QualitySubMenuProps {
13
- /**
14
- * Overrides for the style of the menu.
15
- */
16
- menuStyle?: StyleProp<ViewStyle>;
17
- }
18
-
19
- /**
20
- * A button component that opens a playbackRate selection menu for the `react-native-theoplayer` UI.
21
- */
22
- export const QualitySubMenu = (props: QualitySubMenuProps) => {
23
- const { menuStyle } = props;
24
- if (Platform.OS === 'ios') {
25
- return <></>;
26
- }
27
- const createMenu = () => {
28
- return <QualitySelectionView style={menuStyle} />;
29
- };
30
- const player = useContext(PlayerContext).player;
31
-
32
- let selectedQualityLabel = 'auto';
33
- if (player.targetVideoQuality !== undefined) {
34
- let id: number | undefined;
35
- if (typeof player.targetVideoQuality === 'number') {
36
- id = player.targetVideoQuality;
37
- } else {
38
- id = player.targetVideoQuality.length > 0 ? player.targetVideoQuality[0] : undefined;
39
- }
40
- const selectedTrack = player.videoTracks.find((track) => track.uid === player.selectedVideoTrack);
41
- const selectedQuality = selectedTrack !== undefined ? selectedTrack.qualities.find((quality) => quality.uid === id) : undefined;
42
- selectedQualityLabel = getVideoQualityLabel(selectedQuality as VideoQuality, false);
43
- }
44
-
45
- return <SubMenuWithButton menuConstructor={createMenu} label={'Quality'} preview={selectedQualityLabel} />;
46
- };
47
-
48
- export interface QualitySelectionViewState {
49
- videoTracks: MediaTrack[];
50
- selectedVideoTrack: number | undefined;
51
- targetVideoTrackQuality: number | number[] | undefined;
52
- }
53
-
54
- export interface QualitySelectionViewProps {
55
- style?: StyleProp<ViewStyle>;
56
- }
57
-
58
- export class QualitySelectionView extends PureComponent<QualitySelectionViewProps, QualitySelectionViewState> {
59
- constructor(props: QualitySelectionViewProps) {
60
- super(props);
61
- this.state = {
62
- videoTracks: [],
63
- selectedVideoTrack: undefined,
64
- targetVideoTrackQuality: undefined,
65
- };
66
- }
67
-
68
- componentDidMount() {
69
- const player = (this.context as UiContext).player;
70
- player.addEventListener(PlayerEventType.MEDIA_TRACK_LIST, this.onTrackListChanged);
71
- this.setState({
72
- videoTracks: player.videoTracks,
73
- selectedVideoTrack: player.selectedVideoTrack,
74
- targetVideoTrackQuality: player.targetVideoQuality,
75
- });
76
- }
77
-
78
- componentWillUnmount() {
79
- const player = (this.context as UiContext).player;
80
- player.removeEventListener(PlayerEventType.MEDIA_TRACK_LIST, this.onTrackListChanged);
81
- }
82
-
83
- private onTrackListChanged = () => {
84
- const player = (this.context as UiContext).player;
85
- this.setState({
86
- videoTracks: player.videoTracks,
87
- selectedVideoTrack: player.selectedVideoTrack,
88
- targetVideoTrackQuality: player.targetVideoQuality,
89
- });
90
- };
91
-
92
- private selectTargetVideoQuality = (qualityIndex: number | undefined) => {
93
- const { videoTracks, selectedVideoTrack } = this.state;
94
- if (!videoTracks || !selectedVideoTrack) {
95
- return;
96
- }
97
- const videoTrack = videoTracks.find((track) => track.uid === selectedVideoTrack);
98
- const qualities = videoTrack?.qualities;
99
- if (!qualities) {
100
- return;
101
- }
102
- let uid: number | undefined = undefined;
103
- if (qualityIndex !== undefined && qualityIndex > 0) {
104
- // The first quality in the list is "auto". The rest are selectable qualities.
105
- uid = qualities[qualityIndex - 1].uid;
106
- }
107
- const player = (this.context as UiContext).player;
108
- player.targetVideoQuality = uid;
109
- this.setState({ targetVideoTrackQuality: uid });
110
- };
111
-
112
- render() {
113
- const { style } = this.props;
114
- const { videoTracks, selectedVideoTrack, targetVideoTrackQuality } = this.state;
115
- const availableVideoQualities = findMediaTrackByUid(videoTracks, selectedVideoTrack)?.qualities || [];
116
- availableVideoQualities.sort((q1, q2) => q2.bandwidth - q1.bandwidth);
117
-
118
- let selectedTarget: number | undefined;
119
- if (targetVideoTrackQuality === undefined || typeof targetVideoTrackQuality === 'number') {
120
- selectedTarget = targetVideoTrackQuality;
121
- } else {
122
- selectedTarget = targetVideoTrackQuality.length > 0 ? targetVideoTrackQuality[0] : undefined;
123
- }
124
-
125
- return (
126
- <MenuView
127
- style={style}
128
- menu={
129
- <ScrollableMenu
130
- title={'Video quality'}
131
- items={[undefined, ...availableVideoQualities].map((track, id) => (
132
- <MenuRadioButton
133
- key={id}
134
- label={getVideoQualityLabel(track as VideoQuality)}
135
- uid={id}
136
- onSelect={this.selectTargetVideoQuality}
137
- selected={
138
- (track === undefined && selectedTarget === undefined) || (track !== undefined && track.uid === selectedTarget)
139
- }></MenuRadioButton>
140
- ))}
141
- />
142
- }
143
- />
144
- );
145
- }
146
- }
147
-
148
- QualitySelectionView.contextType = PlayerContext;
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
- import { MenuButton } from './common/MenuButton';
3
- import { SettingsSvg } from '../button/svg/SettingsSvg';
4
- import { MenuView } from './common/MenuView';
5
- import { ScrollableMenu } from './common/ScrollableMenu';
6
- import type { StyleProp, ViewStyle } from 'react-native';
7
-
8
- export interface SettingsMenuButtonProps {
9
- /**
10
- * Overrides for the style of the menu.
11
- */
12
- menuStyle?: StyleProp<ViewStyle>;
13
- }
14
-
15
- /**
16
- * A button component that opens a settings menu containing all children for the `react-native-theoplayer` UI.
17
- */
18
- export const SettingsMenuButton = (props: React.PropsWithChildren<SettingsMenuButtonProps>) => {
19
- const { children, menuStyle } = props;
20
- const createMenu = () => {
21
- return <MenuView style={menuStyle} menu={<ScrollableMenu title={'Settings'} items={children} />} />;
22
- };
23
-
24
- return <MenuButton svg={<SettingsSvg />} menuConstructor={createMenu} />;
25
- };
@@ -1,5 +0,0 @@
1
- export * from './common/barrel';
2
- export * from './LanguageMenuButton';
3
- export * from './PlaybackRateSubMenu';
4
- export * from './QualitySubMenu';
5
- export * from './SettingsMenuButton';
@@ -1,49 +0,0 @@
1
- import type { ImageSourcePropType, StyleProp, ViewStyle } from 'react-native';
2
- import React, { ReactNode } from 'react';
3
- import { ActionButton } from '../../button/actionbutton/ActionButton';
4
- import { PlayerContext, UiContext } from '../../util/PlayerContext';
5
- import type { MenuConstructor } from '../../uicontroller/UiControls';
6
-
7
- export interface MenuButtonProps {
8
- /**
9
- * The image that will be used in the button.
10
- */
11
- icon?: ImageSourcePropType;
12
- /**
13
- * The SVG that will be used in the button. Takes priority over images.
14
- */
15
- svg?: ReactNode;
16
- /**
17
- * The style overrides for the menu button.
18
- */
19
- style?: StyleProp<ViewStyle>;
20
- /**
21
- * The menu that will be constructed when the button is pressed.
22
- */
23
- menuConstructor?: MenuConstructor;
24
- }
25
-
26
- /**
27
- * A menu button that opens a fullscreen menu for in the `react-native-theoplayer` UI.
28
- */
29
- export const MenuButton = (props: MenuButtonProps) => {
30
- const { icon, svg, style, menuConstructor } = props;
31
-
32
- return (
33
- <PlayerContext.Consumer>
34
- {(context: UiContext) => (
35
- <ActionButton
36
- svg={svg}
37
- icon={icon}
38
- onPress={() => {
39
- if (menuConstructor) {
40
- context.ui.openMenu_(menuConstructor);
41
- }
42
- }}
43
- style={style}
44
- touchable={true}
45
- />
46
- )}
47
- </PlayerContext.Consumer>
48
- );
49
- };
@@ -1,65 +0,0 @@
1
- import { StyleProp, Text, TextStyle, TouchableOpacity } from 'react-native';
2
- import React from 'react';
3
- import { PlayerContext, UiContext } from '../../util/PlayerContext';
4
-
5
- export interface MenuRadioButtonProps {
6
- /**
7
- * The label for the button.
8
- */
9
- label: string;
10
- /**
11
- * The uid used in the callback when the button is pressed.
12
- */
13
- uid: number | undefined;
14
- /**
15
- * Whether the radio button is selected.
16
- */
17
- selected?: boolean;
18
- /**
19
- * The callback that is called when the button is pressed.
20
- * @param id The uid prop.
21
- */
22
- onSelect: (id: number | undefined) => void;
23
- /**
24
- * The style overrides for the radio button.
25
- */
26
- style?: StyleProp<TextStyle>;
27
- }
28
-
29
- /**
30
- * The default style for the menu button.
31
- */
32
- export const DEFAULT_MENU_BUTTON_STYLE: TextStyle = {
33
- fontSize: 16,
34
- lineHeight: 24,
35
- padding: 10,
36
- textAlign: 'center',
37
- };
38
-
39
- /**
40
- * The default radio button that can be used in menus for the `react-native-theoplayer` UI.
41
- */
42
- export const MenuRadioButton = (props: MenuRadioButtonProps) => {
43
- const { uid, onSelect, label, selected, style } = props;
44
- return (
45
- <TouchableOpacity
46
- onPress={() => {
47
- onSelect(uid);
48
- }}>
49
- <PlayerContext.Consumer>
50
- {(context: UiContext) => (
51
- <Text
52
- style={[
53
- DEFAULT_MENU_BUTTON_STYLE,
54
- selected
55
- ? { color: context.style.colors.textSelected, backgroundColor: context.style.colors.textSelectedBackground }
56
- : { color: context.style.colors.text },
57
- style,
58
- ]}>
59
- {label}
60
- </Text>
61
- )}
62
- </PlayerContext.Consumer>
63
- </TouchableOpacity>
64
- );
65
- };
@@ -1,37 +0,0 @@
1
- import { StyleProp, Text, TextStyle } from 'react-native';
2
- import React from 'react';
3
- import { PlayerContext, UiContext } from '../../util/PlayerContext';
4
-
5
- export interface MenuTitleProps {
6
- /**
7
- * The label of the menu title component.
8
- */
9
- label: string;
10
- /**
11
- * The style overrides.
12
- */
13
- style?: StyleProp<TextStyle>;
14
- }
15
-
16
- /**
17
- * The default style for the menu title.
18
- */
19
- export const DEFAULT_MENU_TITLE_STYLE: TextStyle = {
20
- fontSize: 20,
21
- lineHeight: 24,
22
- padding: 10,
23
- textAlign: 'center',
24
- fontWeight: 'bold',
25
- };
26
-
27
- /**
28
- * The title placed at the top of the fullscreen menu.
29
- */
30
- export const MenuTitle = (props: MenuTitleProps) => {
31
- const { label, style } = props;
32
- return (
33
- <PlayerContext.Consumer>
34
- {(context: UiContext) => <Text style={[DEFAULT_MENU_TITLE_STYLE, { color: context.style.colors.text }, style]}>{label}</Text>}
35
- </PlayerContext.Consumer>
36
- );
37
- };
@@ -1,62 +0,0 @@
1
- import React, { ReactNode, useContext } from 'react';
2
- import { PlayerContext, UiContext } from '../../util/PlayerContext';
3
- import { StyleProp, StyleSheet, Text, TouchableOpacity, View, ViewStyle } from 'react-native';
4
- import { ControlBar } from '../../controlbar/ControlBar';
5
- import { TOP_UI_CONTAINER_STYLE } from '../../uicontroller/UiContainer';
6
- import { BackSvg } from '../../button/svg/BackSvg';
7
- import { ActionButton } from '../../button/actionbutton/ActionButton';
8
-
9
- interface MenuViewProps {
10
- /**
11
- * The menu to render inside the menu view.
12
- */
13
- menu: ReactNode;
14
- /**
15
- * The style overrides for the menu view.
16
- */
17
- style?: StyleProp<ViewStyle>;
18
- }
19
-
20
- /**
21
- * The default style for the menu view.
22
- */
23
- export const DEFAULT_MENU_VIEW_STYLE: ViewStyle = {
24
- flex: 1,
25
- flexDirection: 'row',
26
- left: 0,
27
- right: 0,
28
- top: 0,
29
- bottom: 0,
30
- paddingVertical: 20,
31
- paddingLeft: 50,
32
- paddingRight: 40,
33
- };
34
-
35
- /**
36
- * A component to render a fullscreen menu with a title and back button for the `react-native-theoplayer` UI.
37
- */
38
- export const MenuView = (props: MenuViewProps) => {
39
- const { menu, style } = props;
40
- const context = useContext(PlayerContext);
41
- const onClose = () => {
42
- context.ui.closeCurrentMenu_();
43
- };
44
- return (
45
- <PlayerContext.Consumer>
46
- {(context: UiContext) => (
47
- <View style={StyleSheet.absoluteFill}>
48
- <ControlBar style={TOP_UI_CONTAINER_STYLE}>
49
- <View style={{ flexDirection: 'row' }}>
50
- <TouchableOpacity style={{ flexDirection: 'row' }} onPress={onClose}>
51
- <ActionButton touchable={false} svg={<BackSvg />} />
52
- <Text style={{ color: context.style.colors.text, fontSize: 16, lineHeight: 30 }}>Back</Text>
53
- </TouchableOpacity>
54
- </View>
55
- <View style={{ flexGrow: 1 }} />
56
- </ControlBar>
57
- <View style={[DEFAULT_MENU_VIEW_STYLE, style]}>{menu}</View>
58
- </View>
59
- )}
60
- </PlayerContext.Consumer>
61
- );
62
- };