@24i/bigscreen-sdk 1.0.5-4.alpha-2832 → 1.0.5-alpha.2129

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 (397) hide show
  1. package/README.md +3 -2
  2. package/package.json +34 -54
  3. package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +9 -9
  4. package/packages/async-image/src/AsyncImage.tsx +10 -15
  5. package/packages/create-package/dist/createPackage.js +66 -0
  6. package/packages/create-package/dist/createPackage.js.map +1 -0
  7. package/packages/create-package/dist/index.js +5 -0
  8. package/packages/create-package/dist/index.js.map +1 -0
  9. package/packages/create-package/dist/questionnaire/questions.js +35 -0
  10. package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
  11. package/packages/create-package/dist/settings/Settings.js +10 -0
  12. package/packages/create-package/dist/settings/Settings.js.map +1 -0
  13. package/packages/create-package/dist/types.js +3 -0
  14. package/packages/create-package/dist/types.js.map +1 -0
  15. package/packages/developer-tools/PlayerDebugWindow/README.md +1 -1
  16. package/packages/developer-tools/src/DeveloperConsole/DeveloperConsole.tsx +0 -1
  17. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +0 -11
  18. package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +5 -5
  19. package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +0 -15
  20. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfo.tsx +0 -2
  21. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +1 -2
  22. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +5 -57
  23. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +0 -12
  24. package/packages/developer-tools/src/TechnicalInfo/translations.ts +0 -8
  25. package/packages/device/src/getKeyDigit.ts +2 -2
  26. package/packages/device/src/resolver/resolver.ts +0 -19
  27. package/packages/digital-clock/src/DigitalClock.tsx +4 -15
  28. package/packages/driver-base/src/DeviceBase.ts +2 -73
  29. package/packages/driver-base/src/KeyMap/Key.ts +1 -8
  30. package/packages/driver-base/src/KeyMap/KeyMap.ts +0 -4
  31. package/packages/driver-base/src/KeyMap/interface.ts +0 -1
  32. package/packages/driver-base/src/KeyMap/overrideValues.ts +1 -2
  33. package/packages/driver-base/src/__mocks__/DeviceBase.ts +0 -24
  34. package/packages/driver-base/src/__mocks__/keyMap.ts +0 -1
  35. package/packages/driver-base/src/index.ts +0 -3
  36. package/packages/driver-base/src/types/DeviceEvent.ts +0 -2
  37. package/packages/driver-base/src/types/KeycodeKeyMap.ts +0 -1
  38. package/packages/driver-browser/src/DeviceBrowser.ts +0 -26
  39. package/packages/driver-browser/src/keymap.ts +0 -8
  40. package/packages/driver-entone/src/DeviceEntone.ts +1 -31
  41. package/packages/driver-entone/src/keymap.ts +0 -1
  42. package/packages/driver-hbbtv/src/DeviceHbbTV.ts +0 -26
  43. package/packages/driver-kreatv/src/DeviceKreaTV.ts +0 -26
  44. package/packages/driver-saphi/src/DeviceSaphi.ts +0 -26
  45. package/packages/driver-tizen/src/DeviceTizen.ts +7 -121
  46. package/packages/driver-tizen/src/ITizen.ts +202 -15116
  47. package/packages/driver-tizen/src/IWebapis.ts +87 -8643
  48. package/packages/driver-tizen/src/TizenKeys.ts +2 -4
  49. package/packages/driver-tizen/src/__mocks__/tizen.ts +8 -7
  50. package/packages/driver-tizen/src/constants.ts +195 -1
  51. package/packages/driver-tizen/src/types.ts +14 -0
  52. package/packages/driver-vidaa/src/DeviceVidaa.ts +2 -29
  53. package/packages/driver-vidaa/src/__mocks__/vidaa.ts +1 -1
  54. package/packages/driver-vidaa/src/keymap.ts +0 -2
  55. package/packages/driver-webos/src/DeviceWebos.ts +0 -55
  56. package/packages/driver-webos/src/__mocks__/webos.ts +0 -33
  57. package/packages/driver-webos/src/constants.ts +0 -1
  58. package/packages/driver-webos/src/keymap.ts +1 -2
  59. package/packages/driver-webos/src/types.ts +0 -30
  60. package/packages/driver-xbox/src/DeviceXbox.ts +1 -30
  61. package/packages/driver-xbox/src/keymap.ts +1 -1
  62. package/packages/epg/README.md +1 -3
  63. package/packages/epg/src/v2/Cell.tsx +2 -16
  64. package/packages/epg/src/v2/DataManager.ts +41 -112
  65. package/packages/epg/src/v2/DatePicker.tsx +3 -9
  66. package/packages/epg/src/v2/DateToast/DateToast.tsx +9 -12
  67. package/packages/epg/src/v2/Day.tsx +3 -6
  68. package/packages/epg/src/v2/Epg.tsx +5 -5
  69. package/packages/epg/src/v2/MockGenerator/generator.ts +2 -3
  70. package/packages/epg/src/v2/ProgramInfo/utils.ts +3 -4
  71. package/packages/epg/src/v2/Row.tsx +1 -3
  72. package/packages/epg/src/v2/TimelineSection.tsx +1 -4
  73. package/packages/epg/src/v2/basic/CellsManager.tsx +2 -7
  74. package/packages/epg/src/v2/basic/RowsManager.tsx +1 -3
  75. package/packages/epg/src/v2/interface.ts +0 -13
  76. package/packages/events-manager/src/EventsManager.ts +56 -1
  77. package/packages/focus/README.md +0 -33
  78. package/packages/focus/src/IFocusable.ts +0 -1
  79. package/packages/focus/src/Layout/Base.tsx +6 -41
  80. package/packages/focus/src/Layout/Matrix.tsx +19 -51
  81. package/packages/focus/src/Layout/__test__/Base.spec.ts +180 -0
  82. package/packages/focus/src/Layout/__test__/Horizontal.spec.ts +94 -0
  83. package/packages/focus/src/Layout/__test__/Matrix.spec.ts +261 -0
  84. package/packages/focus/src/Layout/__test__/Vertical.spec.ts +46 -0
  85. package/packages/focus/src/Layout/__test__/isRtl.spec.ts +23 -0
  86. package/packages/focus/src/Layout/__test__/shared.ts +19 -0
  87. package/packages/focus/src/focusFirstExisting.ts +1 -7
  88. package/packages/focus/src/index.ts +1 -2
  89. package/packages/gallup/src/Gallup.ts +3 -3
  90. package/packages/grid/src/Base/Base.tsx +10 -15
  91. package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +2 -4
  92. package/packages/grid/src/UnifiedGridController/UnifiedGridController.ts +6 -6
  93. package/packages/icon/src/Icon.tsx +5 -27
  94. package/packages/input/README.md +1 -1
  95. package/packages/input/src/Input.tsx +10 -10
  96. package/packages/interactable/README.md +1 -2
  97. package/packages/interactable/src/Interactable.tsx +3 -9
  98. package/packages/interactable/src/interface.ts +0 -1
  99. package/packages/jsx/src/index.ts +1 -1
  100. package/packages/jsx/src/test-utils/index.ts +0 -1
  101. package/packages/keyboard/src/Backdrop/Backdrop.scss +0 -2
  102. package/packages/keyboard/src/KeyboardBase.tsx +4 -16
  103. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +0 -4
  104. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +20 -28
  105. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +0 -1
  106. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +0 -1
  107. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +0 -12
  108. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +0 -1
  109. package/packages/keyboard/src/utils/caret.ts +8 -5
  110. package/packages/keyboard/src/utils/input.ts +6 -5
  111. package/packages/l10n/README.md +0 -18
  112. package/packages/l10n/src/date/common.ts +6 -18
  113. package/packages/l10n/src/date/cs.ts +8 -2
  114. package/packages/l10n/src/date/en-001.ts +3 -3
  115. package/packages/l10n/src/date/en-common.ts +4 -5
  116. package/packages/l10n/src/date/en-us.ts +3 -3
  117. package/packages/l10n/src/date/iso.ts +13 -12
  118. package/packages/l10n/src/date/types.ts +0 -9
  119. package/packages/l10n/src/l10n.ts +3 -61
  120. package/packages/list/src/Base/Base.tsx +9 -19
  121. package/packages/list/src/Base/interface.ts +2 -2
  122. package/packages/list/src/BasicList/BasicList.tsx +7 -7
  123. package/packages/list/src/CenteredList/CenteredList.tsx +2 -2
  124. package/packages/list/src/CenteredList/controller.ts +1 -0
  125. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +10 -10
  126. package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +2 -2
  127. package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +2 -2
  128. package/packages/list/src/FixedToEndList/FixedToEndList.tsx +2 -2
  129. package/packages/list/src/UnifiedListController/UnifiedListController.ts +2 -6
  130. package/packages/list/src/interface.ts +2 -2
  131. package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +1 -7
  132. package/packages/logger/src/loggers/SentryLogger/Sentry.ts +0 -1
  133. package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +3 -5
  134. package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +3 -31
  135. package/packages/menu/src/MenuAndContentContainer/interface.ts +0 -8
  136. package/packages/modal-service/README.md +1 -4
  137. package/packages/modal-service/src/ModalService.tsx +5 -29
  138. package/packages/perf-utils/README.md +120 -1
  139. package/packages/perf-utils/src/array/filter.ts +54 -1
  140. package/packages/perf-utils/src/array/find.ts +43 -1
  141. package/packages/perf-utils/src/array/findIndex.ts +43 -1
  142. package/packages/perf-utils/src/array/forEach.ts +48 -1
  143. package/packages/perf-utils/src/array/includes.ts +41 -1
  144. package/packages/perf-utils/src/array/includesNaN.ts +32 -1
  145. package/packages/perf-utils/src/array/index.ts +7 -1
  146. package/packages/perf-utils/src/array/map.ts +52 -1
  147. package/packages/player-ui/README.md +1 -1
  148. package/packages/player-ui/src/CurrentTime.tsx +2 -2
  149. package/packages/player-ui/src/Duration.tsx +2 -2
  150. package/packages/player-ui/src/PauseButton.tsx +0 -8
  151. package/packages/player-ui/src/PlayerInteractable.tsx +0 -1
  152. package/packages/player-ui/src/PlayerTime.tsx +1 -3
  153. package/packages/player-ui/src/PlayerUI.tsx +35 -68
  154. package/packages/player-ui/src/RemainingTime.tsx +2 -2
  155. package/packages/player-ui/src/Seekbar.tsx +18 -110
  156. package/packages/player-ui/src/Seeking.ts +16 -57
  157. package/packages/player-ui/src/Subtitles.tsx +2 -2
  158. package/packages/player-ui/src/index.ts +0 -1
  159. package/packages/player-ui/src/mocks.ts +8 -32
  160. package/packages/player-ui/src/timeUtils.ts +3 -3
  161. package/packages/player-ui/src/types.ts +3 -9
  162. package/packages/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
  163. package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
  164. package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
  165. package/packages/rnv-build-engine/dist/src/engine.js +94 -0
  166. package/packages/rnv-build-engine/dist/src/index.js +26 -0
  167. package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
  168. package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
  169. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
  170. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
  171. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
  172. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
  173. package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
  174. package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
  175. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
  176. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
  177. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
  178. package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
  179. package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
  180. package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
  181. package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
  182. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
  183. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
  184. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
  185. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
  186. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
  187. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
  188. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
  189. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
  190. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
  191. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
  192. package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
  193. package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
  194. package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
  195. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +65 -0
  196. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +85 -0
  197. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
  198. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
  199. package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
  200. package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
  201. package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
  202. package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
  203. package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
  204. package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
  205. package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
  206. package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
  207. package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
  208. package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
  209. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
  210. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +168 -0
  211. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
  212. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
  213. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
  214. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +37 -0
  215. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
  216. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +76 -0
  217. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
  218. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
  219. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
  220. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
  221. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +80 -0
  222. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
  223. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +6 -0
  224. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
  225. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +221 -0
  226. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
  227. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
  228. package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
  229. package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +24 -0
  230. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +91 -0
  231. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +42 -0
  232. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +30 -0
  233. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
  234. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +70 -0
  235. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +18 -0
  236. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.platform.configure.js +37 -0
  237. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
  238. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +73 -0
  239. package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
  240. package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
  241. package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
  242. package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
  243. package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
  244. package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
  245. package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +65 -0
  246. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
  247. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
  248. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
  249. package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
  250. package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +87 -0
  251. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
  252. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
  253. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +234 -0
  254. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.dev.js +6 -0
  255. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.prod.js +6 -0
  256. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.extend.js +8 -0
  257. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackConfigAdapter.js +100 -0
  258. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackPlatformProps.js +8 -0
  259. package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpackPlatformProps.js +24 -0
  260. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.project +24 -0
  261. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
  262. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -0
  263. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/.project +35 -0
  264. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -0
  265. package/packages/rnv-build-engine/dist/templates/platforms/webos/webpackPlatformProps.js +8 -0
  266. package/packages/router/README.md +0 -1
  267. package/packages/router/src/Route.tsx +27 -61
  268. package/packages/router/src/Router.tsx +14 -63
  269. package/packages/router/src/history.ts +1 -8
  270. package/packages/router/src/index.ts +1 -1
  271. package/packages/router/src/utils.ts +4 -9
  272. package/packages/sass-utils/src/linear-gradient.scss +4 -9
  273. package/packages/sass-utils/src/scale.1080.scss +1 -3
  274. package/packages/sass-utils/src/scale.720.scss +1 -1
  275. package/packages/time/README.md +1 -4
  276. package/packages/time/src/Time.ts +13 -35
  277. package/packages/time/src/constants.ts +0 -1
  278. package/packages/toast/src/ToastService.scss +0 -1
  279. package/packages/toast/src/ToastService.tsx +5 -16
  280. package/packages/types-bigscreen-jsx/README.md +4 -5
  281. package/packages/types-bigscreen-jsx/index.d.ts +67 -72
  282. package/packages/utils/README.md +0 -27
  283. package/packages/utils/src/elementUtils.ts +0 -25
  284. package/packages/utils/src/index.ts +0 -8
  285. package/packages/utils/src/scaledImage.ts +3 -6
  286. package/packages/utils/src/textUtils.ts +14 -46
  287. package/packages/utils/src/wait.ts +1 -3
  288. package/packages/utils/src/xhr/xhrSend.ts +1 -3
  289. package/packages/utils/src/xhr/xhrSendRetry.ts +1 -3
  290. package/packages/zapping/src/ChannelZapping.ts +0 -9
  291. package/packages/zapping/src/Zapping.tsx +0 -10
  292. package/ci/is_ci_job_skippable.sh +0 -153
  293. package/packages/analytics/README.md +0 -8
  294. package/packages/analytics/src/A.ts +0 -1
  295. package/packages/analytics/src/Analytics.ts +0 -1
  296. package/packages/analytics/src/analyticsOnScroll.ts +0 -1
  297. package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +0 -1
  298. package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +0 -1
  299. package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +0 -196
  300. package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +0 -126
  301. package/packages/analytics/src/clients/GoogleAnalytics/getUrl.ts +0 -17
  302. package/packages/analytics/src/clients/GoogleAnalytics/index.ts +0 -2
  303. package/packages/analytics/src/clients/GoogleAnalytics/interface.ts +0 -82
  304. package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +0 -51
  305. package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +0 -14
  306. package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +0 -181
  307. package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +0 -106
  308. package/packages/analytics/src/clients/TealiumAnalytics/findForLanguage.ts +0 -9
  309. package/packages/analytics/src/clients/TealiumAnalytics/index.ts +0 -4
  310. package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +0 -35
  311. package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +0 -72
  312. package/packages/analytics/src/clients/TealiumAnalytics/mappers/helper.ts +0 -36
  313. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppError.ts +0 -13
  314. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppOpen.ts +0 -13
  315. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteAdd.ts +0 -11
  316. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteRemove.ts +0 -11
  317. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerClose.ts +0 -15
  318. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerOpen.ts +0 -15
  319. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSceneView.ts +0 -18
  320. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearch.ts +0 -18
  321. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchFailed.ts +0 -8
  322. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchSuccess.ts +0 -8
  323. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoPause.ts +0 -15
  324. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoProgress.ts +0 -18
  325. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoResume.ts +0 -15
  326. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStart.ts +0 -15
  327. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStop.ts +0 -15
  328. package/packages/analytics/src/clients/TealiumAnalytics/types.ts +0 -161
  329. package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +0 -107
  330. package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +0 -111
  331. package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +0 -34
  332. package/packages/analytics/src/clients/TwentyFourIQ/index.ts +0 -2
  333. package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +0 -34
  334. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdEvent.ts +0 -20
  335. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +0 -24
  336. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +0 -15
  337. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +0 -25
  338. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +0 -17
  339. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +0 -15
  340. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +0 -17
  341. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +0 -22
  342. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +0 -25
  343. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +0 -25
  344. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +0 -34
  345. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +0 -32
  346. package/packages/analytics/src/clients/TwentyFourIQ/types.ts +0 -132
  347. package/packages/analytics/src/constants.ts +0 -1
  348. package/packages/analytics/src/index.ts +0 -3
  349. package/packages/analytics/src/interface.ts +0 -1
  350. package/packages/analytics/src/utils/generateSessionId.ts +0 -8
  351. package/packages/device/src/driver/index.android.tv.ts +0 -1
  352. package/packages/device/src/driver/index.firetv.ts +0 -1
  353. package/packages/device/src/driver/index.smartcast.tv.ts +0 -1
  354. package/packages/driver-androidtv/src/DeviceAndroidTV.ts +0 -262
  355. package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +0 -45
  356. package/packages/driver-androidtv/src/formatUserAgent.ts +0 -11
  357. package/packages/driver-androidtv/src/index.ts +0 -2
  358. package/packages/driver-androidtv/src/keymap.ts +0 -27
  359. package/packages/driver-androidtv/src/types.ts +0 -155
  360. package/packages/driver-base/src/types/AdInfo.ts +0 -5
  361. package/packages/driver-base/src/types/InAppPurchase.ts +0 -20
  362. package/packages/driver-firetv/src/DeviceFireTV.ts +0 -86
  363. package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +0 -45
  364. package/packages/driver-firetv/src/index.ts +0 -1
  365. package/packages/driver-firetv/src/types.ts +0 -1
  366. package/packages/driver-smartcast/src/DeviceSmartCast.ts +0 -380
  367. package/packages/driver-smartcast/src/__mocks__/api.ts +0 -69
  368. package/packages/driver-smartcast/src/index.ts +0 -1
  369. package/packages/driver-smartcast/src/keymap.ts +0 -9
  370. package/packages/driver-smartcast/src/types.ts +0 -102
  371. package/packages/focus/src/hasFocus.ts +0 -36
  372. package/packages/jsx/src/test-utils/keyup.ts +0 -27
  373. package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +0 -27
  374. package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +0 -27
  375. package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +0 -28
  376. package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +0 -26
  377. package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +0 -27
  378. package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +0 -27
  379. package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +0 -27
  380. package/packages/keyboard/src/WhitelabelKeyboard/layouts/spanish.ts +0 -26
  381. package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +0 -26
  382. package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +0 -26
  383. package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +0 -27
  384. package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +0 -26
  385. package/packages/keyboard/src/utils/setInputSelectionRange.ts +0 -10
  386. package/packages/l10n/src/date/de.ts +0 -97
  387. package/packages/l10n/src/date/es.ts +0 -71
  388. package/packages/l10n/src/date/fr.ts +0 -94
  389. package/packages/l10n/src/date/he.ts +0 -101
  390. package/packages/time/src/adapters/24iMediaTimeApi.ts +0 -47
  391. package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +0 -43
  392. package/packages/time/src/services/24iMediaTimeApi/index.ts +0 -6
  393. package/packages/utils/src/forceReflow.ts +0 -14
  394. package/packages/utils/src/keyPress/index.ts +0 -6
  395. package/packages/utils/src/keyPress/keyPressSimulator.ts +0 -74
  396. package/packages/utils/src/keyPress/simulateKeyPress.ts +0 -25
  397. package/utils/release/release.ts +0 -156
package/README.md CHANGED
@@ -6,8 +6,9 @@ sidebar_label: README
6
6
  ---
7
7
 
8
8
  # SmartApps BIGscreen SDK
9
- [![Build Status](https://github.com/24i/smartapps-bigscreen-sdk/actions/workflows/pull-request.yml/badge.svg)](https://github.com/24i/smartapps-bigscreen-sdk/actions/workflows/pull-request.yml)
10
- [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=24i_smartapps-bigscreen-sdk&metric=coverage&token=3d35c42d12a876ed9fde3dd5adba282b14656069)](https://sonarcloud.io/summary/new_code?id=24i_smartapps-bigscreen-sdk)
9
+
10
+ [![Build Status](https://travis-ci.com/24i/smartapps-bigscreen-sdk.svg?token=TvpGGSB2Z1L12QwPagEp&branch=development)](https://travis-ci.com/24i/smartapps-bigscreen-sdk)
11
+ [![Coverage Status](https://coveralls.io/repos/github/24i/smartapps-bigscreen-sdk/badge.svg?branch=development&t=dGc701&kill_cache=1)](https://coveralls.io/github/24i/smartapps-bigscreen-sdk?branch=development)
11
12
 
12
13
  * [GitHub](https://github.com/24i/smartapps-bigscreen-sdk)
13
14
  * [Confluence](https://24imedia.atlassian.net/wiki/spaces/PRDNGBIGSCR/overview)
package/package.json CHANGED
@@ -1,16 +1,15 @@
1
1
  {
2
2
  "name": "@24i/bigscreen-sdk",
3
- "version": "1.0.54.alpha-2832",
3
+ "version": "1.0.5-alpha.2129",
4
4
  "description": "SmartApps BIGscreen SDK monorepo",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "prepare": "husky && npm run patch-types && npm run scripts:prepare",
7
+ "prepare": "husky install && npm run patch-types && npm run scripts:prepare",
8
8
  "prepublishOnly": "npm run scripts:prepare",
9
9
  "scripts:prepare": "ts-node ./utils/run-scripts/index.ts \"prepare:.+\"",
10
10
  "scripts:prepare:create-export-maps": "ts-node ./utils/create-export-maps/index.ts --project ./tsconfig.utils.json",
11
11
  "scripts:prepare:webos": "cd packages/driver-webos && ts-node ./scripts/exportWebOSTVjs.ts --project ../../tsconfig.utils.json",
12
12
  "scripts:create-package": "ts-node ./utils/create-package/src/index.ts --project ./tsconfig.utils.json",
13
- "release": "ts-node --project ./tsconfig.utils.json ./utils/release/release.ts",
14
13
  "jest": "cross-env NODE_ICU_DATA=node_modules/full-icu jest",
15
14
  "eslint": "eslint \"./packages/**/src/**/*.{ts,tsx}\"",
16
15
  "stylelint": "stylelint \"./packages/**/src/**/*.scss\"",
@@ -18,9 +17,9 @@
18
17
  "lintcheck:cached": "npm run eslint -- --cache && npm run stylelint -- --cache",
19
18
  "typecheck": "tsc --noEmit",
20
19
  "typecheck:cached": "npm run typecheck -- --incremental",
21
- "test": "npm run jest -- --no-cache",
22
- "test:cached": "npm run jest",
23
- "coverage": "npm run jest -- --runInBand --coverage",
20
+ "test": "npm run jest -- --no-cache && npm run lintcheck",
21
+ "test:cached": "npm run jest && npm run lintcheck:cached",
22
+ "coverage": "npm run jest -- --runInBand --coverage && coveralls < coverage/lcov.info",
24
23
  "branchlint": "branchlint",
25
24
  "generate-changelog": "smartapps-bigscreen-changelog-generator",
26
25
  "deploy-docs": "cd website && npm run build && vercel ./build/prd-nxg-bigscreen --token=$VERCEL_TOKEN_24I --local-config=./vercel.json --scope=24i -f -c --prod",
@@ -38,62 +37,49 @@
38
37
  },
39
38
  "homepage": "https://github.com/24i/smartapps-bigscreen-sdk#readme",
40
39
  "dependencies": {
41
- "@24i/appstage-shared-analytics": "1.0.24",
42
- "@24i/appstage-shared-events-manager": "1.0.11",
43
- "@24i/appstage-shared-perf-utils": "1.0.11",
44
- "@24i/bigscreen-players-engine-base": "4.1.0",
45
- "@24i/smartapps-datalayer": "3.0.24",
46
- "@sentry/browser": "7.35.0",
47
- "@sentry/types": "7.35.0",
48
- "csstype": "^3.1.3",
49
- "date-fns": "2.29.3",
50
- "lottie-web": "5.12.2",
40
+ "@24i/player-base": "6.10.0",
41
+ "@24i/smartapps-datalayer": "3.0.2",
42
+ "@sentry/browser": "^7.12.1",
43
+ "@types/prop-types": "^15.7.5",
44
+ "@types/scheduler": "^0.16.2",
45
+ "csstype": "^3.1.1",
46
+ "lottie-web": "5.9.6",
51
47
  "prop-types": "^15.8.1"
52
48
  },
53
49
  "devDependencies": {
54
50
  "@24i/bigscreen-sdk": "file:.",
55
51
  "@24i/eslint-config-smartapps-bigscreen-linters": "file:./libs/linters",
56
52
  "@24i/smartapps-bigscreen-changelog-generator": "0.17.0",
57
- "@babel/core": "^7.24.6",
58
- "@babel/preset-env": "^7.24.6",
59
- "@types/fs-extra": "^11.0.4",
60
- "@types/gtag.js": "^0.0.19",
61
- "@types/inquirer": "^9.0.7",
62
- "@types/jest": "^29.5.12",
63
- "@types/minimist": "^1.2.5",
64
- "@types/node": "^20.13.0",
65
- "@types/prop-types": "^15.7.12",
66
- "@types/react": "18.0.33",
67
- "@types/scheduler": "^0.23.0",
68
- "babel-jest": "^29.7.0",
69
- "chalk": "^5.3.0",
53
+ "@babel/core": "^7.19.0",
54
+ "@babel/preset-env": "^7.19.0",
55
+ "@types/fs-extra": "^9.0.13",
56
+ "@types/inquirer": "^9.0.1",
57
+ "@types/jest": "^29.0.2",
58
+ "@types/minimist": "^1.2.2",
59
+ "@types/node": "^18.7.18",
60
+ "@types/react": "^18.0.20",
61
+ "babel-jest": "^29.0.3",
62
+ "chalk": "^5.0.1",
70
63
  "coveralls": "^3.1.1",
71
64
  "cross-env": "^7.0.3",
72
- "fs-extra": "^11.2.0",
65
+ "fs-extra": "^10.1.0",
73
66
  "full-icu": "^1.5.0",
74
67
  "identity-obj-proxy": "^3.0.0",
75
- "inquirer": "^9.2.23",
76
- "jest": "^29.7.0",
77
- "jest-canvas-mock": "^2.5.2",
78
- "jest-environment-jsdom": "^29.7.0",
79
- "jest-sonar": "^0.2.15",
80
- "minimist": "^1.2.8",
81
- "patch-package": "^8.0.0",
82
- "sass": "^1.77.4",
83
- "sass-true": "^8.0.0",
84
- "ts-jest": "^29.1.4",
85
- "ts-node": "^10.9.2",
68
+ "inquirer": "^9.1.1",
69
+ "jest": "^29.0.3",
70
+ "jest-canvas-mock": "^2.4.0",
71
+ "jest-environment-jsdom": "^29.0.3",
72
+ "minimist": "^1.2.6",
73
+ "patch-package": "^6.4.7",
74
+ "sass": "^1.54.9",
75
+ "sass-true": "^6.1.0",
76
+ "ts-jest": "^29.0.1",
77
+ "ts-node": "^10.9.1",
86
78
  "tsconfig-paths-jest": "0.0.1",
87
- "typescript": "^5.4.5"
79
+ "typescript": "^4.8.3"
88
80
  },
89
81
  "exports": {
90
82
  "./adobe-heartbeat": "./packages/adobe-heartbeat/src/index.ts",
91
- "./analytics/interface": "./packages/analytics/src/interface.ts",
92
- "./analytics/ConsoleAnalytics": "./packages/analytics/src/clients/ConsoleAnalytics/index.ts",
93
- "./analytics/GoogleAnalytics": "./packages/analytics/src/clients/GoogleAnalytics/index.ts",
94
- "./analytics/TealiumAnalytics": "./packages/analytics/src/clients/TealiumAnalytics/index.ts",
95
- "./analytics/TwentyFourIQ": "./packages/analytics/src/clients/TwentyFourIQ/index.ts",
96
- "./analytics": "./packages/analytics/src/index.ts",
97
83
  "./animations/mock": "./packages/animations/src/__mocks__/JSAnimations.ts",
98
84
  "./animations": "./packages/animations/src/index.ts",
99
85
  "./announcement-banner": "./packages/announcement-banner/src/index.ts",
@@ -117,16 +103,13 @@
117
103
  "./device/resolver/keymap": "./packages/device/resolver/keymap.ts",
118
104
  "./device": "./packages/device/src/index.ts",
119
105
  "./digital-clock": "./packages/digital-clock/src/index.ts",
120
- "./driver-androidtv": "./packages/driver-androidtv/src/index.ts",
121
106
  "./driver-base/keymap": "./packages/driver-base/src/KeyMap/index.ts",
122
107
  "./driver-base": "./packages/driver-base/src/index.ts",
123
108
  "./driver-browser": "./packages/driver-browser/src/index.ts",
124
109
  "./driver-entone": "./packages/driver-entone/src/index.ts",
125
- "./driver-firetv": "./packages/driver-firetv/src/index.ts",
126
110
  "./driver-hbbtv": "./packages/driver-hbbtv/src/index.ts",
127
111
  "./driver-kreatv": "./packages/driver-kreatv/src/index.ts",
128
112
  "./driver-saphi": "./packages/driver-saphi/src/index.ts",
129
- "./driver-smartcast": "./packages/driver-smartcast/src/index.ts",
130
113
  "./driver-tizen": "./packages/driver-tizen/src/index.ts",
131
114
  "./driver-vidaa": "./packages/driver-vidaa/src/index.ts",
132
115
  "./driver-webos/scripts/template": "./packages/driver-webos/scripts/template.ts",
@@ -261,7 +244,6 @@
261
244
  "./storage": "./packages/storage/src/index.ts",
262
245
  "./throbber": "./packages/throbber/src/index.ts",
263
246
  "./time/adapters/worldTimeApi": "./packages/time/src/adapters/worldTimeApi.ts",
264
- "./time/adapters/24iMediaTimeApi": "./packages/time/src/adapters/24iMediaTimeApi.ts",
265
247
  "./time": "./packages/time/src/index.ts",
266
248
  "./toast/styles": "./packages/toast/src/Toast/styles.ts",
267
249
  "./toast": "./packages/toast/src/index.ts",
@@ -271,7 +253,6 @@
271
253
  "./utils/debounce": "./packages/utils/src/debounce.ts",
272
254
  "./utils/displayToggler": "./packages/utils/src/displayToggler.ts",
273
255
  "./utils/elementUtils": "./packages/utils/src/elementUtils.ts",
274
- "./utils/forceReflow": "./packages/utils/src/forceReflow.ts",
275
256
  "./utils/generateUuid": "./packages/utils/src/generateUuid.ts",
276
257
  "./utils/memoryInfo": "./packages/utils/src/memoryInfo.ts",
277
258
  "./utils/nTimes": "./packages/utils/src/nTimes.ts",
@@ -285,7 +266,6 @@
285
266
  "./utils/timers": "./packages/utils/src/timers/index.ts",
286
267
  "./utils/wait": "./packages/utils/src/wait.ts",
287
268
  "./utils/xhr": "./packages/utils/src/xhr/index.ts",
288
- "./utils/keyPress": "./packages/utils/src/keyPress/index.ts",
289
269
  "./utils": "./packages/utils/src/index.ts",
290
270
  "./volume-control/interface": "./packages/volume-control/src/IVolumeControlUI.ts",
291
271
  "./volume-control": "./packages/volume-control/src/index.ts",
@@ -1,5 +1,5 @@
1
1
  /// <reference path='./__external__/Adobe/Adobe.d.ts' />
2
- import { IErrorEvent, PlayerBase } from '@24i/bigscreen-players-engine-base';
2
+ import { IErrorEvent, PlayerBase } from '@24i/player-base';
3
3
  import { time } from '@24i/bigscreen-sdk/time';
4
4
  import { SECOND_IN_MS } from '@24i/bigscreen-sdk/utils';
5
5
  import { va as Adobe } from './__external__/Adobe/MediaSDK.min';
@@ -15,7 +15,7 @@ import {
15
15
  export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = void> {
16
16
  static StreamType = Adobe.MediaHeartbeat.StreamType;
17
17
 
18
- private player?: PlayerBase;
18
+ private player?: PlayerBase<any>;
19
19
 
20
20
  /**
21
21
  * Heartbeat configuration object
@@ -32,7 +32,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
32
32
  * @param config - Heartbeat configuration object
33
33
  * @param player - 24i universal player instance
34
34
  */
35
- constructor(config: HeartbeatConfig, player?: PlayerBase) {
35
+ constructor(config: HeartbeatConfig, player?: PlayerBase<any>) {
36
36
  if (!window.s || !AppMeasurement) throw new Error('Missing Adobe Launch library!');
37
37
  this.config = config;
38
38
  this.player = player;
@@ -67,10 +67,10 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
67
67
  return {
68
68
  getCurrentPlaybackTime: () => {
69
69
  if (!this.player) return 0;
70
- const { currentTime } = this.player.mediaInfo || {};
70
+ const { currentTime } = this.player.getMediaInfo() || {};
71
71
  if (this.player.live) {
72
72
  try {
73
- const { programEnd = NaN } = this.player.metadata;
73
+ const { programEnd = NaN } = this.player.getMetadata();
74
74
  return Math.floor((programEnd - currentTime) / SECOND_IN_MS)
75
75
  || time.getCurrentUnixTime();
76
76
  } catch (e) {
@@ -81,7 +81,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
81
81
  },
82
82
  getQoSObject: () => {
83
83
  if (!this.player) return Adobe.MediaHeartbeat.createQoSObject();
84
- const { bitrate, droppedVideoFrames } = this.player.mediaInfo || {};
84
+ const { bitrate, droppedVideoFrames } = this.player.getMediaInfo() || {};
85
85
  return Adobe.MediaHeartbeat.createQoSObject(
86
86
  bitrate, undefined, undefined, droppedVideoFrames,
87
87
  );
@@ -89,7 +89,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
89
89
  };
90
90
  }
91
91
 
92
- private attachPlayerListeners(player: PlayerBase) {
92
+ private attachPlayerListeners(player: PlayerBase<any>) {
93
93
  player.addEventListener('play', this.onPlay);
94
94
  player.addEventListener('pause', this.onPause);
95
95
  player.addEventListener('ended', this.onEnded);
@@ -98,7 +98,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
98
98
  player.addEventListener('error', this.onError);
99
99
  }
100
100
 
101
- private dettachPlayerListeners(player: PlayerBase) {
101
+ private dettachPlayerListeners(player: PlayerBase<any>) {
102
102
  player.removeEventListener('play', this.onPlay);
103
103
  player.removeEventListener('pause', this.onPause);
104
104
  player.removeEventListener('ended', this.onEnded);
@@ -143,7 +143,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
143
143
  * this will replace the old one.
144
144
  * @param player - 24i universal player instance
145
145
  */
146
- attachPlayer(player: PlayerBase) {
146
+ attachPlayer(player: PlayerBase<any>) {
147
147
  if (this.player) this.dettachPlayerListeners(this.player);
148
148
  this.player = player;
149
149
  if (this.player) this.attachPlayerListeners(this.player);
@@ -1,7 +1,7 @@
1
1
  import { createRef, Component, DeclareProps } from '@24i/bigscreen-sdk/jsx';
2
2
 
3
3
  export type Props = {
4
- src?: string;
4
+ src: string;
5
5
  clearBeforeLoading?: boolean;
6
6
  onImageLoad?: (src: string) => void;
7
7
  onImageError?: (src: string) => void;
@@ -17,7 +17,6 @@ export class AsyncImage extends Component<Props> {
17
17
  isCleared = true;
18
18
 
19
19
  static defaultProps = {
20
- src: undefined,
21
20
  clearBeforeLoading: true,
22
21
  };
23
22
 
@@ -31,7 +30,7 @@ export class AsyncImage extends Component<Props> {
31
30
 
32
31
  componentDidMount() {
33
32
  const { src } = this.props;
34
- this.updateImage(src!);
33
+ this.updateImage(src);
35
34
  }
36
35
 
37
36
  private readonly onLoad = () => {
@@ -48,31 +47,27 @@ export class AsyncImage extends Component<Props> {
48
47
  private readonly onError = () => {
49
48
  if (this.isMounted) {
50
49
  const { onImageError } = this.props;
51
- this.clearBackground();
50
+ this.clearImage();
52
51
  if (typeof onImageError === 'function') {
53
52
  onImageError(this.src);
54
53
  }
55
54
  }
56
55
  };
57
56
 
58
- private clearBackground() {
57
+ private clearImage() {
59
58
  if (!this.isCleared) {
60
59
  this.domRef.current!.style.backgroundImage = '';
61
60
  this.isCleared = true;
62
61
  }
63
62
  }
64
63
 
65
- clearImage() {
66
- this.src = '';
67
- this.clearBackground();
68
- }
69
-
70
64
  updateImage(src: string) {
71
- if (typeof src !== 'string') return;
72
- if (src === '') {
65
+ if (src === this.src) return;
66
+ if (!src) {
73
67
  this.src = '';
74
- this.onError();
75
- } else if (src !== this.src) {
68
+ this.image.src = '';
69
+ this.clearImage();
70
+ } else {
76
71
  this.src = src;
77
72
  this.loadImage(src);
78
73
  }
@@ -82,7 +77,7 @@ export class AsyncImage extends Component<Props> {
82
77
  const { props: { clearBeforeLoading }, image } = this;
83
78
  image.src = src;
84
79
  if (clearBeforeLoading === true && !image.complete) {
85
- this.clearBackground();
80
+ this.clearImage();
86
81
  }
87
82
  }
88
83
 
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.main = void 0;
5
+ const path = require("path");
6
+ const fs = require("fs");
7
+ const fse = require("fs-extra");
8
+ const chalk = require("chalk");
9
+ const minimist = require("minimist");
10
+ const questions_1 = require("./questionnaire/questions");
11
+ const Settings_1 = require("./settings/Settings");
12
+ async function isDirectoryEmpty(dirPath) {
13
+ const files = await fs.promises.readdir(dirPath);
14
+ return !files.length;
15
+ }
16
+ async function copyTemplateFiles(templateDir, targetDir) {
17
+ return fse.copy(templateDir, targetDir);
18
+ }
19
+ function updatePackageJsonFile(filePath, options) {
20
+ let data = fs.readFileSync(filePath, 'utf8');
21
+ const keywords = options.keywords.map((word) => `"${word}"`).join(', ');
22
+ data = data.replace(/("name": ")(.*)(")/, `$1${options.name}$3`);
23
+ data = data.replace(/("version": ")(.*)(")/, `$1${options.version}$3`);
24
+ data = data.replace(/("description": ")(.*)(")/, `$1${options.description}$3`);
25
+ data = data.replace(/("keywords": \[)(.*)(\])/, `$1${keywords}$3`);
26
+ data = data.replace(/("author": ")(.*)(")/, `$1${options.author}$3`);
27
+ fs.writeFileSync(filePath, data);
28
+ }
29
+ function parseArguments(rawArgv) {
30
+ const argv = minimist(rawArgv.slice(2));
31
+ const dirName = argv._[0];
32
+ if (!dirName) {
33
+ console.error('Error: Missing package name');
34
+ process.exit(1);
35
+ }
36
+ return {
37
+ dirName,
38
+ };
39
+ }
40
+ async function main() {
41
+ const { dirName: destDirName } = parseArguments(process.argv);
42
+ const destDir = path.join(process.cwd(), 'packages/', destDirName);
43
+ if (fs.existsSync(destDir)) {
44
+ console.error(`Error: Target directory "${destDir}" already exists`);
45
+ process.exit(1);
46
+ }
47
+ fs.mkdirSync(destDir, { recursive: true });
48
+ const isDirEmpty = await isDirectoryEmpty(destDir);
49
+ if (!isDirEmpty) {
50
+ console.error(`Error: Target directory "${destDir}" is not empty.`);
51
+ process.exit(1);
52
+ }
53
+ const settings = Object.assign({}, Settings_1.Settings);
54
+ settings.name = `${Settings_1.Settings.name}${destDirName}`.toLowerCase();
55
+ const details = await (0, questions_1.promptPackageDetails)(settings);
56
+ const templateDir = path.join(__dirname, '..', 'templates/typescript');
57
+ await copyTemplateFiles(templateDir, destDir);
58
+ const packageJsonFile = path.join(destDir, 'package.json');
59
+ updatePackageJsonFile(packageJsonFile, details);
60
+ const docsSymlinkTarget = path.join('../../../packages/', destDirName, '/README.md');
61
+ const docsSymlinkPath = path.join(process.cwd(), 'docs/packages/', destDirName, '/README.md');
62
+ await fse.ensureSymlink(docsSymlinkTarget, docsSymlinkPath);
63
+ console.log(`${chalk.green('Success')}, package has been initialized!`);
64
+ }
65
+ exports.main = main;
66
+ //# sourceMappingURL=createPackage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPackage.js","sourceRoot":"","sources":["../src/createPackage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const createPackage_1 = require("./createPackage");
4
+ (0, createPackage_1.main)();
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,mDAAuC;AAEvC,IAAA,oBAAI,GAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.promptPackageDetails = void 0;
4
+ const inquirer = require("inquirer");
5
+ async function promptPackageDetails(defaultValues) {
6
+ return inquirer.prompt([
7
+ {
8
+ type: 'input',
9
+ name: 'name',
10
+ message: 'Package name:',
11
+ default: defaultValues.name,
12
+ }, {
13
+ type: 'input',
14
+ name: 'version',
15
+ message: 'Version:',
16
+ default: defaultValues.version,
17
+ }, {
18
+ type: 'input',
19
+ name: 'description',
20
+ message: 'Description:',
21
+ }, {
22
+ type: 'input',
23
+ name: 'keywords',
24
+ message: 'Keywords:',
25
+ filter: (ans) => ans.split(/[\s,]+/),
26
+ }, {
27
+ type: 'input',
28
+ name: 'author',
29
+ message: 'Author:',
30
+ default: defaultValues.author,
31
+ },
32
+ ]);
33
+ }
34
+ exports.promptPackageDetails = promptPackageDetails;
35
+ //# sourceMappingURL=questions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/questionnaire/questions.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAWrC,KAAK,UAAU,oBAAoB,CAAC,aAA4C;IAC5E,OAAO,QAAQ,CAAC,MAAM,CAAC;QACnB;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,aAAa,CAAC,IAAI;SAC9B,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,aAAa,CAAC,OAAO;SACjC,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,cAAc;SAC1B,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;SACvC,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,aAAa,CAAC,MAAM;SAChC;KACJ,CAAC,CAAC;AACP,CAAC;AAEQ,oDAAoB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Settings = void 0;
4
+ const Settings = {
5
+ name: '@24i/smartapps-bigscreen-',
6
+ version: '0.0.1',
7
+ author: '24i',
8
+ };
9
+ exports.Settings = Settings;
10
+ //# sourceMappingURL=Settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/settings/Settings.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG;IACb,IAAI,EAAE,2BAA2B;IACjC,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,KAAK;CAChB,CAAC;AAEO,4BAAQ"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -45,7 +45,7 @@ playerDebugWindowRef.current?.setPlayerInstance(playerInstance);
45
45
 
46
46
  ```ts
47
47
  type Props = {
48
- playerInstance?: PlayerBase;
48
+ playerInstance?: PlayerBase<any>;
49
49
  updateInterval?: number;
50
50
  onClose?: () => void;
51
51
  };
@@ -351,7 +351,6 @@ export class DeveloperConsole extends Component<Props> implements IDeveloperTool
351
351
  ref={this.developerConsoleRef}
352
352
  onKeyDown={this.onKeyDown}
353
353
  tabIndex={0}
354
- dir="ltr"
355
354
  >
356
355
  <div className="developer-console-panel" ref={this.developerConsolePanelRef} />
357
356
  <div className="developer-console-controls">
@@ -7,7 +7,6 @@ import {
7
7
  import { BACK } from '@24i/bigscreen-sdk/device/keymap';
8
8
  import { DISPLAY_NONE, getDisplayToggler, stopEvent } from '@24i/bigscreen-sdk/utils';
9
9
  import { map } from '@24i/bigscreen-sdk/perf-utils/array';
10
- import { Storage } from '@24i/bigscreen-sdk/storage';
11
10
  import { IDeveloperTool, DeveloperToolProps } from '../IDeveloperTool';
12
11
  import { DeveloperToolItem } from './DeveloperToolItem';
13
12
  import { reloadApp } from '../utils/reload';
@@ -40,11 +39,6 @@ export class DeveloperToolsList extends Component<Props> {
40
39
  reloadApp();
41
40
  };
42
41
 
43
- async onClearDataToolPress() {
44
- await Storage.clear();
45
- reloadApp();
46
- }
47
-
48
42
  onKeyDown = (event: KeyboardEvent) => {
49
43
  if (BACK.is(event)) {
50
44
  const { onBack } = this.props;
@@ -96,11 +90,6 @@ export class DeveloperToolsList extends Component<Props> {
96
90
  />
97
91
  );
98
92
  })}
99
- <DeveloperToolItem
100
- ref={this.getNavigationRef()}
101
- label="Clear data"
102
- onPress={this.onClearDataToolPress}
103
- />
104
93
  <DeveloperToolItem
105
94
  ref={this.getNavigationRef()}
106
95
  label="Restart app"
@@ -1,12 +1,12 @@
1
1
  import { Component, createRef, DeclareProps } from '@24i/bigscreen-sdk/jsx';
2
2
  import { DISPLAY_NONE, getDisplayToggler } from '@24i/bigscreen-sdk/utils';
3
3
  import { createInterval } from '@24i/bigscreen-sdk/utils/timers';
4
- import { IMediaInfo, PlayerBase } from '@24i/bigscreen-players-engine-base';
4
+ import { IMediaInfo, PlayerBase } from '@24i/player-base';
5
5
  import { IDeveloperTool } from '../IDeveloperTool';
6
6
  import { MEDIA_INFO_DESCRIPTION, MediaInfo } from './constants';
7
7
 
8
8
  export type Props = {
9
- playerInstance?: PlayerBase;
9
+ playerInstance?: PlayerBase<any>;
10
10
  updateInterval?: number;
11
11
  onClose?: () => void;
12
12
  };
@@ -16,7 +16,7 @@ export class PlayerDebugWindow extends Component<Props> implements IDeveloperToo
16
16
 
17
17
  div = createRef<HTMLDivElement>();
18
18
 
19
- playerInstance: PlayerBase | null = null;
19
+ playerInstance: PlayerBase<any> | null = null;
20
20
 
21
21
  interval = createInterval();
22
22
 
@@ -34,12 +34,12 @@ export class PlayerDebugWindow extends Component<Props> implements IDeveloperToo
34
34
  if (playerInstance) this.setPlayerInstance(playerInstance);
35
35
  }
36
36
 
37
- setPlayerInstance(playerInstance: PlayerBase) {
37
+ setPlayerInstance(playerInstance: PlayerBase<any>) {
38
38
  this.playerInstance = playerInstance;
39
39
  }
40
40
 
41
41
  getMediaInfo() {
42
- return this.playerInstance?.mediaInfo || {};
42
+ return this.playerInstance?.getMediaInfo() || {};
43
43
  }
44
44
 
45
45
  getFormattedValue(item: MediaInfo, value: any) {
@@ -49,21 +49,6 @@ export const MEDIA_INFO_DESCRIPTION: Record<string, MediaInfo> = {
49
49
  audioCodec: {
50
50
  title: 'Audio codec',
51
51
  },
52
- audioBitrate: {
53
- title: 'Audio bitrate',
54
- },
55
- audioSamplingRate: {
56
- title: 'Audio sampling rate',
57
- },
58
- audioLanguage: {
59
- title: 'Audio language',
60
- },
61
- subtitlesAvailable: {
62
- title: 'Subtitles available',
63
- },
64
- availableSubtitlesListString: {
65
- title: 'List of available subtitles',
66
- },
67
52
  drmProtection: {
68
53
  title: 'DRM protection',
69
54
  },
@@ -88,7 +88,6 @@ export class TechnicalInfo extends Component<Props> implements IDeveloperTool<Pr
88
88
  ref={this.horizontalNavigation}
89
89
  domRef={this.rootRef}
90
90
  focusableChildren={[this.technicalInfoRef, this.closeButtonRef]}
91
- dir="ltr"
92
91
  >
93
92
  <div className="content">
94
93
  <TechnicalInfoDetail
@@ -118,7 +117,6 @@ export class TechnicalInfo extends Component<Props> implements IDeveloperTool<Pr
118
117
  ref={this.rootRef}
119
118
  className={`technical-info ${DISPLAY_NONE}`}
120
119
  onKeyDown={this.onKeyDown}
121
- dir="ltr"
122
120
  />
123
121
  );
124
122
  }
@@ -1,5 +1,4 @@
1
1
  import { createRef, Component } from '@24i/bigscreen-sdk/jsx';
2
- import { hasFocus } from '@24i/bigscreen-sdk/focus';
3
2
  import { ScrollText } from '@24i/bigscreen-sdk/scroll-text';
4
3
  import { map } from '@24i/bigscreen-sdk/perf-utils/array';
5
4
  import { ITechnicalInfoProvider, TechnicalInfoData } from './ITechnicalInfoProvider';
@@ -39,7 +38,7 @@ class TechnicalInfoDetail extends Component<Props> {
39
38
  }
40
39
 
41
40
  hasFocus() {
42
- return hasFocus(this.wrapRef);
41
+ return this.wrapRef.current!.contains(document.activeElement);
43
42
  }
44
43
 
45
44
  renderInfoData(data: TechnicalInfoData) {