@24i/bigscreen-sdk 1.0.33 → 1.0.34-alpha.2562

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 (1061) hide show
  1. package/README.md +47 -47
  2. package/__mocks__/@24i/bigscreen-sdk/animations.ts +2 -2
  3. package/package.json +1 -1
  4. package/packages/adobe-heartbeat/README.md +46 -46
  5. package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +244 -244
  6. package/packages/adobe-heartbeat/src/__external__/Adobe/Adobe.d.ts +24 -24
  7. package/packages/adobe-heartbeat/src/__external__/Adobe/MediaSDK.min.d.ts +126 -126
  8. package/packages/adobe-heartbeat/src/__external__/Adobe/MediaSDK.min.js +76 -76
  9. package/packages/adobe-heartbeat/src/index.ts +5 -5
  10. package/packages/adobe-heartbeat/src/types.ts +67 -67
  11. package/packages/analytics/README.md +7 -7
  12. package/packages/analytics/src/A.ts +1 -1
  13. package/packages/analytics/src/Analytics.ts +1 -1
  14. package/packages/analytics/src/analyticsOnScroll.ts +1 -1
  15. package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +1 -1
  16. package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +1 -1
  17. package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +200 -200
  18. package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +118 -118
  19. package/packages/analytics/src/clients/GoogleAnalytics/generateSessionId.ts +8 -8
  20. package/packages/analytics/src/clients/GoogleAnalytics/getUrl.ts +17 -17
  21. package/packages/analytics/src/clients/GoogleAnalytics/index.ts +2 -2
  22. package/packages/analytics/src/clients/GoogleAnalytics/interface.ts +77 -77
  23. package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +50 -50
  24. package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +14 -14
  25. package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +116 -116
  26. package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +99 -99
  27. package/packages/analytics/src/clients/TwentyFourIQ/generateSessionId.ts +8 -8
  28. package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +34 -34
  29. package/packages/analytics/src/clients/TwentyFourIQ/index.ts +2 -2
  30. package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +31 -31
  31. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdLoaded.ts +13 -13
  32. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdSkipped.ts +16 -16
  33. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +21 -21
  34. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +15 -15
  35. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +24 -24
  36. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +18 -18
  37. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +15 -15
  38. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +17 -17
  39. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +21 -21
  40. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +24 -24
  41. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +24 -24
  42. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +34 -34
  43. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +32 -32
  44. package/packages/analytics/src/clients/TwentyFourIQ/types.ts +115 -115
  45. package/packages/analytics/src/constants.ts +1 -1
  46. package/packages/analytics/src/index.ts +3 -3
  47. package/packages/analytics/src/interface.ts +1 -1
  48. package/packages/animations/README.md +85 -85
  49. package/packages/animations/src/AnimationUtils.ts +238 -238
  50. package/packages/animations/src/JSAnimations.ts +144 -144
  51. package/packages/animations/src/__mocks__/JSAnimations.ts +30 -30
  52. package/packages/animations/src/index.ts +3 -3
  53. package/packages/announcement-banner/README.md +49 -49
  54. package/packages/announcement-banner/src/AnnouncementBanner.scss +8 -8
  55. package/packages/announcement-banner/src/AnnouncementBanner.tsx +136 -136
  56. package/packages/announcement-banner/src/index.ts +1 -1
  57. package/packages/async-image/README.md +47 -47
  58. package/packages/async-image/src/AsyncImage.tsx +101 -101
  59. package/packages/async-image/src/index.ts +2 -2
  60. package/packages/conviva/README.md +47 -47
  61. package/packages/conviva/src/ConvivaSDK.ts +38 -38
  62. package/packages/conviva/src/__mocks__/ConvivaMock.ts +36 -36
  63. package/packages/conviva/src/index.ts +1 -1
  64. package/packages/conviva/src/theoPlugin/ConvivaConviguration.ts +19 -19
  65. package/packages/conviva/src/theoPlugin/__external__/Conviva_4.0.15.js +698 -698
  66. package/packages/conviva/src/theoPlugin/__external__/convivaTheoPlugin.d.ts +7 -7
  67. package/packages/conviva/src/theoPlugin/__external__/convivaTheoPlugin.js +635 -635
  68. package/packages/conviva/src/theoPlugin/convivaTheoPluginWrapper.ts +61 -61
  69. package/packages/conviva/src/theoPlugin/index.ts +2 -2
  70. package/packages/developer-tools/DeveloperConsole/README.md +114 -114
  71. package/packages/developer-tools/DeveloperConsole/index.ts +3 -3
  72. package/packages/developer-tools/DeveloperConsole/unstyled.ts +1 -1
  73. package/packages/developer-tools/DeveloperToolsService/README.md +54 -54
  74. package/packages/developer-tools/DeveloperToolsService/index.ts +3 -3
  75. package/packages/developer-tools/DeveloperToolsService/unstyled.ts +1 -1
  76. package/packages/developer-tools/EnvironmentSelection/README.md +77 -77
  77. package/packages/developer-tools/EnvironmentSelection/index.ts +3 -3
  78. package/packages/developer-tools/EnvironmentSelection/unstyled.ts +1 -1
  79. package/packages/developer-tools/PlayerDebugWindow/README.md +65 -65
  80. package/packages/developer-tools/PlayerDebugWindow/index.ts +3 -3
  81. package/packages/developer-tools/PlayerDebugWindow/unstyled.ts +1 -1
  82. package/packages/developer-tools/README.md +24 -24
  83. package/packages/developer-tools/TechnicalInfo/README.md +90 -90
  84. package/packages/developer-tools/TechnicalInfo/index.ts +9 -9
  85. package/packages/developer-tools/TechnicalInfo/unstyled.ts +6 -6
  86. package/packages/developer-tools/src/DeveloperConsole/ControlButton.tsx +16 -16
  87. package/packages/developer-tools/src/DeveloperConsole/DeveloperConsole.tsx +389 -389
  88. package/packages/developer-tools/src/DeveloperConsole/Panel.tsx +108 -108
  89. package/packages/developer-tools/src/DeveloperConsole/PanelMessage.tsx +33 -33
  90. package/packages/developer-tools/src/DeveloperConsole/helpers/Queue.ts +38 -38
  91. package/packages/developer-tools/src/DeveloperConsole/helpers/index.ts +2 -2
  92. package/packages/developer-tools/src/DeveloperConsole/helpers/instrumentHandler.ts +165 -165
  93. package/packages/developer-tools/src/DeveloperConsole/index.ts +2 -2
  94. package/packages/developer-tools/src/DeveloperConsole/initDeveloperConsole.tsx +8 -8
  95. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.scss +91 -91
  96. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.styles.1080.scss +2 -2
  97. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.styles.scss +2 -2
  98. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/_sizes.1080.scss +16 -16
  99. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/_sizes.scss +16 -16
  100. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.scss +87 -87
  101. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.styles.1080.scss +2 -2
  102. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.styles.scss +2 -2
  103. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/_sizes.1080.scss +9 -9
  104. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/_sizes.scss +9 -9
  105. package/packages/developer-tools/src/DeveloperConsole/styles.ts +2 -2
  106. package/packages/developer-tools/src/DeveloperConsole/types.ts +49 -49
  107. package/packages/developer-tools/src/DeveloperConsole/utils/formatTime.ts +13 -13
  108. package/packages/developer-tools/src/DeveloperConsole/utils/index.ts +3 -3
  109. package/packages/developer-tools/src/DeveloperConsole/utils/stringify.ts +10 -10
  110. package/packages/developer-tools/src/DeveloperConsole/utils/styles.ts +24 -24
  111. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolItem.tsx +21 -21
  112. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +125 -125
  113. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsService.tsx +122 -122
  114. package/packages/developer-tools/src/DeveloperToolsService/index.ts +1 -1
  115. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.scss +64 -64
  116. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.1080.scss +2 -2
  117. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.animated.1080.scss +3 -3
  118. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.animated.scss +4 -4
  119. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.scss +2 -2
  120. package/packages/developer-tools/src/DeveloperToolsService/styles/_animated.scss +5 -5
  121. package/packages/developer-tools/src/DeveloperToolsService/styles/_sizes.1080.scss +16 -16
  122. package/packages/developer-tools/src/DeveloperToolsService/styles/_sizes.scss +16 -16
  123. package/packages/developer-tools/src/DeveloperToolsService/styles.ts +1 -1
  124. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentList.tsx +90 -90
  125. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentListItem.tsx +106 -106
  126. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentSelection.tsx +102 -102
  127. package/packages/developer-tools/src/EnvironmentSelection/assets/checkmark.svg +18 -18
  128. package/packages/developer-tools/src/EnvironmentSelection/config.ts +43 -43
  129. package/packages/developer-tools/src/EnvironmentSelection/constants.ts +1 -1
  130. package/packages/developer-tools/src/EnvironmentSelection/index.ts +2 -2
  131. package/packages/developer-tools/src/EnvironmentSelection/sizes.1080.ts +5 -5
  132. package/packages/developer-tools/src/EnvironmentSelection/sizes.ts +5 -5
  133. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.scss +141 -141
  134. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.1080.scss +2 -2
  135. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.animated.1080.scss +3 -3
  136. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.animated.scss +3 -3
  137. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.scss +2 -2
  138. package/packages/developer-tools/src/EnvironmentSelection/styles/_animated.scss +9 -9
  139. package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.1080.scss +26 -26
  140. package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.scss +26 -26
  141. package/packages/developer-tools/src/EnvironmentSelection/styles.ts +1 -1
  142. package/packages/developer-tools/src/EnvironmentSelection/types.ts +10 -10
  143. package/packages/developer-tools/src/EnvironmentSelection/utils/format.ts +4 -4
  144. package/packages/developer-tools/src/IDeveloperTool.ts +14 -14
  145. package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +115 -115
  146. package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +128 -128
  147. package/packages/developer-tools/src/PlayerDebugWindow/index.ts +1 -1
  148. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.scss +29 -29
  149. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.styles.1080.scss +2 -2
  150. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.styles.scss +2 -2
  151. package/packages/developer-tools/src/PlayerDebugWindow/styles/_sizes.1080.scss +11 -11
  152. package/packages/developer-tools/src/PlayerDebugWindow/styles/_sizes.scss +11 -11
  153. package/packages/developer-tools/src/PlayerDebugWindow/styles.ts +1 -1
  154. package/packages/developer-tools/src/TechnicalInfo/ITechnicalInfoProvider.ts +5 -5
  155. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfo.tsx +125 -125
  156. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +77 -77
  157. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +349 -349
  158. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +55 -55
  159. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Player.ts +7 -7
  160. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Storage.ts +9 -9
  161. package/packages/developer-tools/src/TechnicalInfo/icons/arrow-down.svg +18 -18
  162. package/packages/developer-tools/src/TechnicalInfo/icons/arrow-up.svg +18 -18
  163. package/packages/developer-tools/src/TechnicalInfo/index.ts +5 -5
  164. package/packages/developer-tools/src/TechnicalInfo/sizes.1080.ts +1 -1
  165. package/packages/developer-tools/src/TechnicalInfo/sizes.ts +1 -1
  166. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.scss +187 -187
  167. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.1080.scss +2 -2
  168. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.animated.1080.scss +3 -3
  169. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.animated.scss +3 -3
  170. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.scss +2 -2
  171. package/packages/developer-tools/src/TechnicalInfo/styles/_animated.scss +16 -16
  172. package/packages/developer-tools/src/TechnicalInfo/styles/_sizes.1080.scss +50 -50
  173. package/packages/developer-tools/src/TechnicalInfo/styles/_sizes.scss +50 -50
  174. package/packages/developer-tools/src/TechnicalInfo/styles.ts +1 -1
  175. package/packages/developer-tools/src/TechnicalInfo/translations.ts +79 -79
  176. package/packages/developer-tools/src/TechnicalInfo/utils/eme01bSupport.ts +58 -58
  177. package/packages/developer-tools/src/TechnicalInfo/utils/emeSupport.ts +84 -84
  178. package/packages/developer-tools/src/TechnicalInfo/utils/formatTimezone.ts +15 -15
  179. package/packages/developer-tools/src/TechnicalInfo/utils/mseSupport.ts +14 -14
  180. package/packages/developer-tools/src/utils/reload.ts +6 -6
  181. package/packages/device/README.md +219 -219
  182. package/packages/device/keymap.ts +1 -1
  183. package/packages/device/resolver/index.ts +2 -2
  184. package/packages/device/resolver/keymap.ts +1 -1
  185. package/packages/device/src/DeviceEventMap.ts +1 -1
  186. package/packages/device/src/device.ts +6 -6
  187. package/packages/device/src/driver/index.android.tv.ts +1 -1
  188. package/packages/device/src/driver/index.entone.ts +1 -1
  189. package/packages/device/src/driver/index.firetv.ts +1 -1
  190. package/packages/device/src/driver/index.hbbtv.tv.ts +1 -1
  191. package/packages/device/src/driver/index.kreatv.ts +1 -1
  192. package/packages/device/src/driver/index.saphi.tv.ts +1 -1
  193. package/packages/device/src/driver/index.smartcast.tv.ts +1 -1
  194. package/packages/device/src/driver/index.tizen.tv.ts +1 -1
  195. package/packages/device/src/driver/index.ts +1 -1
  196. package/packages/device/src/driver/index.vidaa.tv.ts +1 -1
  197. package/packages/device/src/driver/index.webos.tv.ts +1 -1
  198. package/packages/device/src/getKeyDigit.ts +35 -35
  199. package/packages/device/src/getKeyMap.ts +4 -4
  200. package/packages/device/src/index.ts +8 -8
  201. package/packages/device/src/isClickOrEnter.ts +3 -3
  202. package/packages/device/src/resolver/index.ts +2 -2
  203. package/packages/device/src/resolver/resolver.ts +84 -84
  204. package/packages/digital-clock/README.md +26 -26
  205. package/packages/digital-clock/src/DigitalClock.tsx +78 -78
  206. package/packages/digital-clock/src/index.ts +1 -1
  207. package/packages/driver-androidtv/src/DeviceAndroidTV.ts +224 -224
  208. package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +36 -36
  209. package/packages/driver-androidtv/src/formatUserAgent.ts +11 -11
  210. package/packages/driver-androidtv/src/index.ts +1 -1
  211. package/packages/driver-androidtv/src/keymap.ts +27 -27
  212. package/packages/driver-androidtv/src/types.ts +113 -113
  213. package/packages/driver-base/DeviceBase.md +139 -139
  214. package/packages/driver-base/README.md +44 -44
  215. package/packages/driver-base/src/ConnectionType.ts +1 -1
  216. package/packages/driver-base/src/DeviceBase.ts +224 -224
  217. package/packages/driver-base/src/KeyMap/Key.ts +48 -48
  218. package/packages/driver-base/src/KeyMap/KeyMap.ts +390 -390
  219. package/packages/driver-base/src/KeyMap/generateKeyCodeKeyMap.ts +11 -11
  220. package/packages/driver-base/src/KeyMap/index.ts +5 -5
  221. package/packages/driver-base/src/KeyMap/interface.ts +8 -8
  222. package/packages/driver-base/src/KeyMap/overrideValues.ts +17 -17
  223. package/packages/driver-base/src/KeyMap/switchByKey.ts +18 -18
  224. package/packages/driver-base/src/ScreenSize.ts +1 -1
  225. package/packages/driver-base/src/VolumeRange.ts +5 -5
  226. package/packages/driver-base/src/__mocks__/DeviceBase.ts +100 -100
  227. package/packages/driver-base/src/__mocks__/keyMap.ts +42 -42
  228. package/packages/driver-base/src/bindPreventDefaultEvent.ts +5 -5
  229. package/packages/driver-base/src/errors.ts +32 -32
  230. package/packages/driver-base/src/index.ts +10 -10
  231. package/packages/driver-base/src/loadObject.ts +30 -30
  232. package/packages/driver-base/src/types/DeviceEvent.ts +11 -11
  233. package/packages/driver-base/src/types/ExitOptions.ts +1 -1
  234. package/packages/driver-base/src/types/KeycodeKeyMap.ts +86 -86
  235. package/packages/driver-base/src/types/ScreenSaverStatus.ts +3 -3
  236. package/packages/driver-base/src/utils.ts +10 -10
  237. package/packages/driver-browser/src/DeviceBrowser.ts +170 -170
  238. package/packages/driver-browser/src/getBrowser.ts +51 -51
  239. package/packages/driver-browser/src/getOsName.ts +30 -30
  240. package/packages/driver-browser/src/index.ts +1 -1
  241. package/packages/driver-browser/src/keymap.ts +22 -22
  242. package/packages/driver-browser/src/patchSuitestKeys.ts +27 -27
  243. package/packages/driver-entone/README.md +9 -9
  244. package/packages/driver-entone/src/DeviceEntone.ts +232 -232
  245. package/packages/driver-entone/src/IEntone.ts +460 -460
  246. package/packages/driver-entone/src/__mocks__/entone.ts +177 -177
  247. package/packages/driver-entone/src/constants.ts +73 -73
  248. package/packages/driver-entone/src/index.ts +1 -1
  249. package/packages/driver-entone/src/keymap.ts +57 -57
  250. package/packages/driver-firetv/src/DeviceFireTV.ts +18 -18
  251. package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +36 -36
  252. package/packages/driver-firetv/src/index.ts +1 -1
  253. package/packages/driver-hbbtv/src/DeviceHbbTV.ts +313 -313
  254. package/packages/driver-hbbtv/src/__mocks__/hbbtv.ts +17 -17
  255. package/packages/driver-hbbtv/src/constants.ts +28 -28
  256. package/packages/driver-hbbtv/src/deviceInfo.ts +23 -23
  257. package/packages/driver-hbbtv/src/getVersion.ts +16 -16
  258. package/packages/driver-hbbtv/src/index.ts +1 -1
  259. package/packages/driver-hbbtv/src/keymap.ts +45 -45
  260. package/packages/driver-hbbtv/src/types.ts +366 -366
  261. package/packages/driver-kreatv/src/DeviceKreaTV.ts +271 -271
  262. package/packages/driver-kreatv/src/IToi.ts +379 -379
  263. package/packages/driver-kreatv/src/__mocks__/toi2.ts +76 -76
  264. package/packages/driver-kreatv/src/__mocks__/toi3.ts +43 -43
  265. package/packages/driver-kreatv/src/index.ts +1 -1
  266. package/packages/driver-kreatv/src/keymap.ts +31 -31
  267. package/packages/driver-kreatv/src/toi2.ts +107 -107
  268. package/packages/driver-kreatv/src/toi3.ts +102 -102
  269. package/packages/driver-kreatv/src/types.ts +35 -35
  270. package/packages/driver-saphi/src/DeviceSaphi.ts +144 -144
  271. package/packages/driver-saphi/src/__mocks__/SmartTvA_API.ts +11 -11
  272. package/packages/driver-saphi/src/__mocks__/userAgent.ts +4 -4
  273. package/packages/driver-saphi/src/constants.ts +1 -1
  274. package/packages/driver-saphi/src/formatUserAgent.ts +19 -19
  275. package/packages/driver-saphi/src/index.ts +1 -1
  276. package/packages/driver-saphi/src/keymap.ts +64 -64
  277. package/packages/driver-saphi/src/types.ts +75 -75
  278. package/packages/driver-smartcast/src/DeviceSmartCast.ts +310 -310
  279. package/packages/driver-smartcast/src/__mocks__/api.ts +49 -49
  280. package/packages/driver-smartcast/src/index.ts +1 -1
  281. package/packages/driver-smartcast/src/keymap.ts +9 -9
  282. package/packages/driver-smartcast/src/types.ts +65 -65
  283. package/packages/driver-tizen/src/DeviceTizen.ts +298 -298
  284. package/packages/driver-tizen/src/ITizen.ts +212 -212
  285. package/packages/driver-tizen/src/IWebapis.ts +95 -95
  286. package/packages/driver-tizen/src/TizenKeys.ts +96 -96
  287. package/packages/driver-tizen/src/__mocks__/tizen.ts +35 -35
  288. package/packages/driver-tizen/src/constants.ts +197 -197
  289. package/packages/driver-tizen/src/index.ts +1 -1
  290. package/packages/driver-tizen/src/types.ts +14 -14
  291. package/packages/driver-vidaa/src/DeviceVidaa.ts +141 -141
  292. package/packages/driver-vidaa/src/__mocks__/vidaa.ts +21 -21
  293. package/packages/driver-vidaa/src/constants.ts +8 -8
  294. package/packages/driver-vidaa/src/formatUserAgent.ts +16 -16
  295. package/packages/driver-vidaa/src/index.ts +1 -1
  296. package/packages/driver-vidaa/src/keymap.ts +56 -56
  297. package/packages/driver-vidaa/src/types.ts +90 -90
  298. package/packages/driver-webos/src/DeviceWebos.ts +313 -313
  299. package/packages/driver-webos/src/__mocks__/webos.ts +172 -172
  300. package/packages/driver-webos/src/constants.ts +20 -20
  301. package/packages/driver-webos/src/index.ts +1 -1
  302. package/packages/driver-webos/src/keymap.ts +10 -10
  303. package/packages/driver-webos/src/types.ts +344 -344
  304. package/packages/driver-webos/src/utils.ts +60 -60
  305. package/packages/driver-webos/src/webOSTVjs/webOSTVjs.js +12 -12
  306. package/packages/driver-xbox/__external__/winjs/directionalnavigation-1.0.0.0.js +1015 -1015
  307. package/packages/driver-xbox/src/DeviceXbox.ts +231 -231
  308. package/packages/driver-xbox/src/__mocks__/Windows.ts +94 -94
  309. package/packages/driver-xbox/src/index.ts +1 -1
  310. package/packages/driver-xbox/src/interfaces.ts +138 -138
  311. package/packages/driver-xbox/src/keymap.ts +96 -96
  312. package/packages/driver-xbox/src/utils.ts +23 -23
  313. package/packages/epg/IMPLEMENTATION.md +228 -228
  314. package/packages/epg/MockGenerator.md +102 -102
  315. package/packages/epg/README.md +585 -585
  316. package/packages/epg/src/v2/Cell.tsx +222 -222
  317. package/packages/epg/src/v2/CellsManager.ts +1 -1
  318. package/packages/epg/src/v2/DataManager.ts +372 -372
  319. package/packages/epg/src/v2/DatePicker.tsx +110 -110
  320. package/packages/epg/src/v2/DateToast/DateToast.scss +28 -28
  321. package/packages/epg/src/v2/DateToast/DateToast.styles.1080.scss +2 -2
  322. package/packages/epg/src/v2/DateToast/DateToast.styles.scss +2 -2
  323. package/packages/epg/src/v2/DateToast/DateToast.tsx +90 -90
  324. package/packages/epg/src/v2/DateToast/_sizes.1080.scss +7 -7
  325. package/packages/epg/src/v2/DateToast/_sizes.scss +7 -7
  326. package/packages/epg/src/v2/DateToast/index.tsx +1 -1
  327. package/packages/epg/src/v2/DateToast/styles.ts +1 -1
  328. package/packages/epg/src/v2/Day.tsx +33 -33
  329. package/packages/epg/src/v2/Epg.tsx +462 -462
  330. package/packages/epg/src/v2/Header.tsx +41 -41
  331. package/packages/epg/src/v2/IdleController.ts +25 -25
  332. package/packages/epg/src/v2/InputEvents.ts +301 -301
  333. package/packages/epg/src/v2/MockGenerator/config.1080.ts +2 -2
  334. package/packages/epg/src/v2/MockGenerator/config.ts +2 -2
  335. package/packages/epg/src/v2/MockGenerator/generator.ts +174 -174
  336. package/packages/epg/src/v2/MockGenerator/index.ts +2 -2
  337. package/packages/epg/src/v2/MockGenerator/mocks/data.ts +102 -102
  338. package/packages/epg/src/v2/MockGenerator/types.ts +25 -25
  339. package/packages/epg/src/v2/MockGenerator/utils.ts +28 -28
  340. package/packages/epg/src/v2/MouseNavigation/MouseNavigation.tsx +88 -88
  341. package/packages/epg/src/v2/MouseNavigation/MouseNavigationFallback.ts +4 -4
  342. package/packages/epg/src/v2/MouseNavigation/index.tizen.tv.ts +1 -1
  343. package/packages/epg/src/v2/MouseNavigation/index.ts +1 -1
  344. package/packages/epg/src/v2/MouseNavigation/index.web.ts +1 -1
  345. package/packages/epg/src/v2/MouseNavigation/index.webos.tv.ts +1 -1
  346. package/packages/epg/src/v2/NowLine.tsx +66 -66
  347. package/packages/epg/src/v2/Program.tsx +58 -58
  348. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.scss +67 -67
  349. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.1080.scss +3 -3
  350. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.animated.1080.scss +2 -2
  351. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.animated.scss +2 -2
  352. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.scss +3 -3
  353. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.tsx +149 -149
  354. package/packages/epg/src/v2/ProgramInfo/_animated.scss +8 -8
  355. package/packages/epg/src/v2/ProgramInfo/_mixins.scss +5 -5
  356. package/packages/epg/src/v2/ProgramInfo/_sizes.1080.scss +21 -21
  357. package/packages/epg/src/v2/ProgramInfo/_sizes.scss +21 -21
  358. package/packages/epg/src/v2/ProgramInfo/index.ts +1 -1
  359. package/packages/epg/src/v2/ProgramInfo/rtl.scss +7 -7
  360. package/packages/epg/src/v2/ProgramInfo/sizes.1080.ts +3 -3
  361. package/packages/epg/src/v2/ProgramInfo/sizes.ts +3 -3
  362. package/packages/epg/src/v2/ProgramInfo/styles.ts +1 -1
  363. package/packages/epg/src/v2/ProgramInfo/utils.ts +28 -28
  364. package/packages/epg/src/v2/Row.tsx +134 -134
  365. package/packages/epg/src/v2/RowsManager.ts +1 -1
  366. package/packages/epg/src/v2/TimeManager.ts +58 -58
  367. package/packages/epg/src/v2/Timeline.ts +1 -1
  368. package/packages/epg/src/v2/TimelineSection.tsx +50 -50
  369. package/packages/epg/src/v2/basic/CellsManager.tsx +300 -300
  370. package/packages/epg/src/v2/basic/RowsManager.tsx +503 -503
  371. package/packages/epg/src/v2/basic/Timeline.tsx +88 -88
  372. package/packages/epg/src/v2/index.ts +1 -1
  373. package/packages/epg/src/v2/interface.ts +1519 -1519
  374. package/packages/epg/src/v2/sizes.1080.ts +2 -2
  375. package/packages/epg/src/v2/sizes.ts +2 -2
  376. package/packages/epg/src/v2/styles/Basic/Basic.scss +116 -116
  377. package/packages/epg/src/v2/styles/Basic/index.ts +1 -1
  378. package/packages/epg/src/v2/styles/Whitelabel/index.ts +1 -1
  379. package/packages/epg/src/v2/utils.ts +40 -40
  380. package/packages/events-manager/src/EventsManager.ts +1 -1
  381. package/packages/events-manager/src/index.ts +2 -2
  382. package/packages/floating-focus/README.md +64 -64
  383. package/packages/floating-focus/src/FloatingFocus.ts +106 -106
  384. package/packages/floating-focus/src/Horizontal.tsx +20 -20
  385. package/packages/floating-focus/src/Vertical.tsx +20 -20
  386. package/packages/floating-focus/src/index.ts +4 -4
  387. package/packages/floating-focus/src/types.ts +20 -20
  388. package/packages/floating-focus/src/utils.ts +43 -43
  389. package/packages/focus/README.md +348 -348
  390. package/packages/focus/src/IFocusable.ts +5 -5
  391. package/packages/focus/src/Layout/Base.tsx +166 -166
  392. package/packages/focus/src/Layout/Horizontal.ts +15 -15
  393. package/packages/focus/src/Layout/Matrix.tsx +357 -357
  394. package/packages/focus/src/Layout/Vertical.ts +12 -12
  395. package/packages/focus/src/Layout/constants.ts +10 -10
  396. package/packages/focus/src/Layout/isRtl.ts +12 -12
  397. package/packages/focus/src/Layout/types.ts +7 -7
  398. package/packages/focus/src/candidate.ts +106 -106
  399. package/packages/focus/src/focusFirstExisting.ts +19 -19
  400. package/packages/focus/src/hasFocus.ts +36 -36
  401. package/packages/focus/src/index.ts +16 -16
  402. package/packages/focus/src/refocusAfterHashChange.ts +19 -19
  403. package/packages/focus/src/safeFocus.ts +15 -15
  404. package/packages/gallup/README.md +27 -27
  405. package/packages/gallup/src/Gallup.ts +80 -80
  406. package/packages/gallup/src/GallupMock.ts +7 -7
  407. package/packages/gallup/src/__external__/SpringStreams.d.ts +39 -39
  408. package/packages/gallup/src/__mocks__/SpringStreams.js +18 -18
  409. package/packages/gallup/src/index.ts +1 -1
  410. package/packages/grid/BasicGrid/README.md +78 -78
  411. package/packages/grid/BasicGrid/index.ts +1 -1
  412. package/packages/grid/FirstOnlyGrid/README.md +43 -43
  413. package/packages/grid/FirstOnlyGrid/index.ts +1 -1
  414. package/packages/grid/FixedToEndGrid/README.md +45 -45
  415. package/packages/grid/FixedToEndGrid/index.ts +1 -1
  416. package/packages/grid/Item/index.ts +1 -1
  417. package/packages/grid/README.md +169 -169
  418. package/packages/grid/src/Base/Base.tsx +492 -492
  419. package/packages/grid/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
  420. package/packages/grid/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
  421. package/packages/grid/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
  422. package/packages/grid/src/Base/MouseNavigation/index.ts +1 -1
  423. package/packages/grid/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
  424. package/packages/grid/src/Base/MouseNavigation/index.webtv.ts +1 -1
  425. package/packages/grid/src/Base/index.ts +1 -1
  426. package/packages/grid/src/Base/interface.ts +47 -47
  427. package/packages/grid/src/BasicGrid/BasicGrid.tsx +137 -137
  428. package/packages/grid/src/BasicGrid/config.ts +13 -13
  429. package/packages/grid/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
  430. package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +112 -112
  431. package/packages/grid/src/FirstOnlyGrid/config.ts +13 -13
  432. package/packages/grid/src/FirstOnlyGrid/controller.ts +10 -10
  433. package/packages/grid/src/FixedToEndGrid/FixedToEndGrid.tsx +112 -112
  434. package/packages/grid/src/FixedToEndGrid/config.ts +13 -13
  435. package/packages/grid/src/FixedToEndGrid/controller.ts +36 -36
  436. package/packages/grid/src/UnifiedGridController/UnifiedGridController.ts +555 -555
  437. package/packages/grid/src/UnifiedGridController/index.ts +2 -2
  438. package/packages/grid/src/UnifiedGridController/interface.ts +92 -92
  439. package/packages/grid/src/animate.animated.ts +1 -1
  440. package/packages/grid/src/animate.ts +1 -1
  441. package/packages/grid/src/interface.ts +30 -30
  442. package/packages/grid/src/mocks/index.tsx +41 -41
  443. package/packages/grid/src/types.ts +69 -69
  444. package/packages/grid/src/utils.ts +69 -69
  445. package/packages/i18n/README.md +460 -460
  446. package/packages/i18n/src/I18n.ts +246 -246
  447. package/packages/i18n/src/Translation.tsx +36 -36
  448. package/packages/i18n/src/addResourceBundle.ts +73 -73
  449. package/packages/i18n/src/direction.ts +33 -33
  450. package/packages/i18n/src/index.ts +4 -4
  451. package/packages/i18n/src/isRtl.ts +3 -3
  452. package/packages/i18n/src/middlewares/i18next/Context/Context.ts +25 -25
  453. package/packages/i18n/src/middlewares/i18next/Context/index.ts +1 -1
  454. package/packages/i18n/src/middlewares/i18next/Interpolation/Interpolation.ts +95 -95
  455. package/packages/i18n/src/middlewares/i18next/Interpolation/index.ts +1 -1
  456. package/packages/i18n/src/middlewares/i18next/Nesting/Nesting.ts +38 -38
  457. package/packages/i18n/src/middlewares/i18next/Nesting/index.ts +1 -1
  458. package/packages/i18n/src/middlewares/i18next/Plurals/Plurals.ts +123 -123
  459. package/packages/i18n/src/middlewares/i18next/Plurals/Resolvers.ts +124 -124
  460. package/packages/i18n/src/middlewares/i18next/Plurals/index.ts +1 -1
  461. package/packages/i18n/src/middlewares/i18next/Plurals/types.ts +6 -6
  462. package/packages/i18n/src/middlewares/icu/DateInterpolation/DateInterpolation.ts +64 -64
  463. package/packages/i18n/src/middlewares/icu/DateInterpolation/index.ts +1 -1
  464. package/packages/i18n/src/middlewares/icu/Interpolation/Interpolation.ts +39 -39
  465. package/packages/i18n/src/middlewares/icu/Interpolation/index.ts +1 -1
  466. package/packages/i18n/src/middlewares/icu/NumberInterpolation/NumberInterpolation.ts +41 -41
  467. package/packages/i18n/src/middlewares/icu/NumberInterpolation/index.ts +1 -1
  468. package/packages/i18n/src/middlewares/icu/Plurals/Plurals.ts +65 -65
  469. package/packages/i18n/src/middlewares/icu/Plurals/Resolvers.ts +130 -130
  470. package/packages/i18n/src/middlewares/icu/Plurals/index.ts +1 -1
  471. package/packages/i18n/src/middlewares/icu/Plurals/types.ts +15 -15
  472. package/packages/i18n/src/middlewares/icu/Select/Select.ts +36 -36
  473. package/packages/i18n/src/middlewares/icu/Select/index.ts +1 -1
  474. package/packages/i18n/src/middlewares/icu/TimeInterpolation/TimeInterpolation.ts +65 -65
  475. package/packages/i18n/src/middlewares/icu/TimeInterpolation/index.ts +1 -1
  476. package/packages/i18n/src/middlewares/icu/shared/hasVariable.ts +5 -5
  477. package/packages/i18n/src/middlewares/icu/shared/matchSwitchCase.ts +80 -80
  478. package/packages/i18n/src/middlewares/icu/shared/unwrap.ts +1 -1
  479. package/packages/i18n/src/pluralsCommon/PluralsHelper.ts +54 -54
  480. package/packages/i18n/src/pluralsCommon/ResolverByLanguage.ts +129 -129
  481. package/packages/i18n/src/t.tsx +6 -6
  482. package/packages/i18n/src/typedTranslate.ts +31 -31
  483. package/packages/i18n/src/types.ts +66 -66
  484. package/packages/i18n/src/utils.ts +76 -76
  485. package/packages/icon/README.md +107 -107
  486. package/packages/icon/src/Icon.tsx +71 -71
  487. package/packages/icon/src/index.ts +1 -1
  488. package/packages/ime/README.md +72 -72
  489. package/packages/ime/src/IKeyboard.ts +6 -6
  490. package/packages/ime/src/IKeyboardEvent.ts +7 -7
  491. package/packages/ime/src/ImeManager.ts +33 -33
  492. package/packages/ime/src/SystemKeyboard/SystemKeyboard.ts +33 -33
  493. package/packages/ime/src/SystemKeyboard/SystemKeyboardBase.ts +98 -98
  494. package/packages/ime/src/SystemKeyboard/TizenSystemKeyboard.ts +66 -66
  495. package/packages/ime/src/SystemKeyboard/WebosSystemKeyboard.ts +74 -74
  496. package/packages/ime/src/SystemKeyboard/index.tizen.tv.ts +1 -1
  497. package/packages/ime/src/SystemKeyboard/index.ts +1 -1
  498. package/packages/ime/src/SystemKeyboard/index.webos.tv.ts +1 -1
  499. package/packages/ime/src/index.ts +3 -3
  500. package/packages/input/README.md +65 -65
  501. package/packages/input/__mocks__/MockKeyboard.ts +40 -40
  502. package/packages/input/src/Input.scss +9 -9
  503. package/packages/input/src/Input.tsx +267 -267
  504. package/packages/input/src/index.ts +1 -1
  505. package/packages/input/src/utils.ts +71 -71
  506. package/packages/interactable/README.md +38 -38
  507. package/packages/interactable/src/Interactable.tsx +33 -33
  508. package/packages/interactable/src/index.ts +1 -1
  509. package/packages/interactable/src/interface.ts +7 -7
  510. package/packages/ipify/README.md +30 -30
  511. package/packages/ipify/src/index.ts +1 -1
  512. package/packages/ipify/src/ipify.ts +41 -41
  513. package/packages/jsx/README.md +388 -388
  514. package/packages/jsx/src/Component.ts +68 -68
  515. package/packages/jsx/src/createRef.ts +5 -5
  516. package/packages/jsx/src/forwardRef.ts +8 -8
  517. package/packages/jsx/src/index.ts +31 -31
  518. package/packages/jsx/src/jsx-runtime.ts +5 -5
  519. package/packages/jsx/src/manipulation/attachNode.ts +30 -30
  520. package/packages/jsx/src/manipulation/attachNodeBefore.ts +44 -44
  521. package/packages/jsx/src/manipulation/clearNode.ts +14 -14
  522. package/packages/jsx/src/manipulation/detachNode.ts +26 -26
  523. package/packages/jsx/src/manipulation/index.ts +7 -7
  524. package/packages/jsx/src/manipulation/removeNode.ts +18 -18
  525. package/packages/jsx/src/manipulation/replaceNode.ts +42 -42
  526. package/packages/jsx/src/manipulation/swapNodes.ts +53 -53
  527. package/packages/jsx/src/mount/guards.ts +26 -26
  528. package/packages/jsx/src/mount/handleLifecycle.ts +71 -71
  529. package/packages/jsx/src/mount/index.ts +1 -1
  530. package/packages/jsx/src/mount/lifecycle.ts +38 -38
  531. package/packages/jsx/src/mount/lifecycleHelpers.ts +29 -29
  532. package/packages/jsx/src/mount/mount.ts +141 -141
  533. package/packages/jsx/src/mount/namespaces.ts +7 -7
  534. package/packages/jsx/src/mount/props.ts +121 -121
  535. package/packages/jsx/src/nodeUtils.ts +69 -69
  536. package/packages/jsx/src/setText.ts +15 -15
  537. package/packages/jsx/src/test-utils/MountedComponent.ts +50 -50
  538. package/packages/jsx/src/test-utils/README.md +72 -72
  539. package/packages/jsx/src/test-utils/click.ts +7 -7
  540. package/packages/jsx/src/test-utils/enter.ts +4 -4
  541. package/packages/jsx/src/test-utils/index.ts +6 -6
  542. package/packages/jsx/src/test-utils/keydown.ts +27 -27
  543. package/packages/jsx/src/test-utils/keyup.ts +27 -27
  544. package/packages/jsx/src/test-utils/shallow.ts +33 -33
  545. package/packages/jsx/src/test-utils/spec-utils.ts +6 -6
  546. package/packages/jsx/src/textNode.ts +9 -9
  547. package/packages/jsx/src/types.ts +128 -128
  548. package/packages/jsx/src/utils.ts +35 -35
  549. package/packages/jsx/src/virtualDOM.ts +121 -121
  550. package/packages/key-sequence/README.md +44 -44
  551. package/packages/key-sequence/src/KeySequence.ts +56 -56
  552. package/packages/key-sequence/src/arrayEndsWithKeyCombo.ts +22 -22
  553. package/packages/key-sequence/src/index.ts +1 -1
  554. package/packages/key-sequence/src/types.ts +13 -13
  555. package/packages/keyboard/README.md +237 -237
  556. package/packages/keyboard/src/AndroidKeyboard/Keyboard.scss +140 -140
  557. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.1080.scss +2 -2
  558. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.animated.1080.scss +3 -3
  559. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.animated.scss +3 -3
  560. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.scss +2 -2
  561. package/packages/keyboard/src/AndroidKeyboard/Keyboard.tsx +235 -235
  562. package/packages/keyboard/src/AndroidKeyboard/_animated.scss +7 -7
  563. package/packages/keyboard/src/AndroidKeyboard/_sizes.1080.scss +15 -15
  564. package/packages/keyboard/src/AndroidKeyboard/_sizes.scss +15 -15
  565. package/packages/keyboard/src/AndroidKeyboard/icons/arrow_left.svg +6 -6
  566. package/packages/keyboard/src/AndroidKeyboard/icons/arrow_right.svg +6 -6
  567. package/packages/keyboard/src/AndroidKeyboard/icons/key_backspace.svg +12 -12
  568. package/packages/keyboard/src/AndroidKeyboard/index.ts +1 -1
  569. package/packages/keyboard/src/AndroidKeyboard/makeLayout.ts +19 -19
  570. package/packages/keyboard/src/Backdrop/Backdrop.scss +17 -17
  571. package/packages/keyboard/src/Backdrop/Backdrop.styles.1080.scss +2 -2
  572. package/packages/keyboard/src/Backdrop/Backdrop.styles.scss +2 -2
  573. package/packages/keyboard/src/Backdrop/Backdrop.tsx +31 -31
  574. package/packages/keyboard/src/Backdrop/_sizes.1080.scss +2 -2
  575. package/packages/keyboard/src/Backdrop/_sizes.scss +2 -2
  576. package/packages/keyboard/src/DefaultKeyboard/Keyboard.scss +73 -73
  577. package/packages/keyboard/src/DefaultKeyboard/Keyboard.styles.1080.scss +2 -2
  578. package/packages/keyboard/src/DefaultKeyboard/Keyboard.styles.scss +2 -2
  579. package/packages/keyboard/src/DefaultKeyboard/Keyboard.tsx +155 -155
  580. package/packages/keyboard/src/DefaultKeyboard/_sizes.1080.scss +12 -12
  581. package/packages/keyboard/src/DefaultKeyboard/_sizes.scss +12 -12
  582. package/packages/keyboard/src/DefaultKeyboard/index.ts +1 -1
  583. package/packages/keyboard/src/KeyboardBase.tsx +344 -344
  584. package/packages/keyboard/src/MobiKeyboard/Keyboard.scss +180 -180
  585. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.1080.scss +2 -2
  586. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.animated.1080.scss +3 -3
  587. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.animated.scss +3 -3
  588. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.scss +2 -2
  589. package/packages/keyboard/src/MobiKeyboard/Keyboard.tsx +278 -278
  590. package/packages/keyboard/src/MobiKeyboard/_animated.scss +7 -7
  591. package/packages/keyboard/src/MobiKeyboard/_sizes.1080.scss +10 -10
  592. package/packages/keyboard/src/MobiKeyboard/_sizes.scss +10 -10
  593. package/packages/keyboard/src/MobiKeyboard/icons/arrow_left.svg +6 -6
  594. package/packages/keyboard/src/MobiKeyboard/icons/arrow_right.svg +6 -6
  595. package/packages/keyboard/src/MobiKeyboard/icons/key_backspace.svg +12 -12
  596. package/packages/keyboard/src/MobiKeyboard/icons/key_space.svg +6 -6
  597. package/packages/keyboard/src/MobiKeyboard/index.ts +1 -1
  598. package/packages/keyboard/src/MobiKeyboard/utils.ts +19 -19
  599. package/packages/keyboard/src/QwertyKeyboardBase/QwertyKeyboardBase.tsx +54 -54
  600. package/packages/keyboard/src/ShiftMode.ts +25 -25
  601. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +168 -168
  602. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.styles.1080.scss +2 -2
  603. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.styles.scss +2 -2
  604. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +353 -353
  605. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
  606. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/_sizes.scss +7 -7
  607. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/index.ts +1 -1
  608. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.scss +81 -81
  609. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
  610. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
  611. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +32 -32
  612. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +32 -32
  613. package/packages/keyboard/src/WhitelabelKeyboard/icons/arrow_left.svg +9 -9
  614. package/packages/keyboard/src/WhitelabelKeyboard/icons/arrow_right.svg +9 -9
  615. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_backspace.svg +9 -9
  616. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_language.svg +20 -20
  617. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_shift.svg +9 -9
  618. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_shift_active.svg +9 -9
  619. package/packages/keyboard/src/WhitelabelKeyboard/index.ts +2 -2
  620. package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +27 -0
  621. package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +27 -0
  622. package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +28 -0
  623. package/packages/keyboard/src/WhitelabelKeyboard/layouts/hebrew.ts +28 -28
  624. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +14 -8
  625. package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +26 -26
  626. package/packages/keyboard/src/WhitelabelKeyboard/layouts/latin.ts +26 -26
  627. package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +27 -0
  628. package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +27 -0
  629. package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +27 -27
  630. package/packages/keyboard/src/WhitelabelKeyboard/layouts/special.ts +28 -28
  631. package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +26 -26
  632. package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +26 -26
  633. package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +27 -0
  634. package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +26 -26
  635. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +28 -28
  636. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.scss +105 -105
  637. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.1080.scss +2 -2
  638. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.scss +2 -2
  639. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.tsx +161 -161
  640. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
  641. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.scss +7 -7
  642. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/index.ts +1 -1
  643. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.scss +62 -62
  644. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
  645. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
  646. package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.1080.scss +29 -29
  647. package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.scss +29 -29
  648. package/packages/keyboard/src/WhitelabelNumericKeyboard/icons/key_backspace.svg +9 -9
  649. package/packages/keyboard/src/WhitelabelNumericKeyboard/index.ts +2 -2
  650. package/packages/keyboard/src/WhitelabelNumericKeyboard/layout.ts +14 -14
  651. package/packages/keyboard/src/hwKeyboardEventToChar.ts +11 -11
  652. package/packages/keyboard/src/types/index.ts +11 -11
  653. package/packages/keyboard/src/utils/caret.ts +48 -48
  654. package/packages/keyboard/src/utils/generateFocusMatrixFromStringMatrix.ts +12 -12
  655. package/packages/keyboard/src/utils/input.ts +40 -40
  656. package/packages/l10n/README.md +120 -120
  657. package/packages/l10n/interface.ts +1 -1
  658. package/packages/l10n/locales/cs.ts +4 -4
  659. package/packages/l10n/locales/en-001.ts +4 -4
  660. package/packages/l10n/locales/en-us.ts +4 -4
  661. package/packages/l10n/src/Locale.tsx +44 -44
  662. package/packages/l10n/src/date/common.ts +165 -165
  663. package/packages/l10n/src/date/cs.ts +89 -89
  664. package/packages/l10n/src/date/de.ts +97 -97
  665. package/packages/l10n/src/date/en-001.ts +76 -76
  666. package/packages/l10n/src/date/en-common.ts +55 -55
  667. package/packages/l10n/src/date/en-us.ts +83 -83
  668. package/packages/l10n/src/date/es.ts +71 -71
  669. package/packages/l10n/src/date/fr.ts +94 -94
  670. package/packages/l10n/src/date/he.ts +101 -101
  671. package/packages/l10n/src/date/iso.ts +63 -63
  672. package/packages/l10n/src/date/types.ts +56 -56
  673. package/packages/l10n/src/index.ts +2 -2
  674. package/packages/l10n/src/l10n.ts +112 -112
  675. package/packages/l10n/src/types.ts +22 -22
  676. package/packages/list/AttachDetachItem/README.md +128 -128
  677. package/packages/list/AttachDetachItem/index.ts +3 -3
  678. package/packages/list/BasicList/README.md +71 -71
  679. package/packages/list/BasicList/index.ts +1 -1
  680. package/packages/list/CenteredList/README.md +42 -42
  681. package/packages/list/CenteredList/index.ts +1 -1
  682. package/packages/list/EdgeOffsetList/README.md +58 -58
  683. package/packages/list/EdgeOffsetList/index.ts +1 -1
  684. package/packages/list/FirstOnlyList/README.md +39 -39
  685. package/packages/list/FirstOnlyList/index.ts +1 -1
  686. package/packages/list/FirstOnlyVariedList/README.md +105 -105
  687. package/packages/list/FirstOnlyVariedList/index.ts +1 -1
  688. package/packages/list/FixedToEndList/README.md +42 -42
  689. package/packages/list/FixedToEndList/index.ts +1 -1
  690. package/packages/list/Item/index.ts +1 -1
  691. package/packages/list/README.md +193 -193
  692. package/packages/list/src/AttachDetachItem/AttachDetachItem.tsx +96 -96
  693. package/packages/list/src/AttachDetachItem/prepareAttachDetachItemData.ts +13 -13
  694. package/packages/list/src/Base/Base.tsx +392 -392
  695. package/packages/list/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
  696. package/packages/list/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
  697. package/packages/list/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
  698. package/packages/list/src/Base/MouseNavigation/index.ts +1 -1
  699. package/packages/list/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
  700. package/packages/list/src/Base/MouseNavigation/index.webtv.ts +1 -1
  701. package/packages/list/src/Base/index.ts +1 -1
  702. package/packages/list/src/Base/interface.ts +39 -39
  703. package/packages/list/src/BasicList/BasicList.tsx +178 -178
  704. package/packages/list/src/BasicList/config.ts +13 -13
  705. package/packages/list/src/CenteredList/CenteredList.tsx +116 -116
  706. package/packages/list/src/CenteredList/config.ts +13 -13
  707. package/packages/list/src/CenteredList/controller.ts +46 -46
  708. package/packages/list/src/CenteredList/interface.ts +10 -10
  709. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +173 -173
  710. package/packages/list/src/EdgeOffsetList/config.ts +13 -13
  711. package/packages/list/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
  712. package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +122 -122
  713. package/packages/list/src/FirstOnlyList/config.ts +13 -13
  714. package/packages/list/src/FirstOnlyList/controller.ts +11 -11
  715. package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +132 -132
  716. package/packages/list/src/FirstOnlyVariedList/config.ts +13 -13
  717. package/packages/list/src/FixedToEndList/FixedToEndList.tsx +125 -125
  718. package/packages/list/src/FixedToEndList/config.ts +13 -13
  719. package/packages/list/src/FixedToEndList/controller.ts +44 -44
  720. package/packages/list/src/UnifiedListController/UnifiedListController.ts +258 -258
  721. package/packages/list/src/UnifiedListController/UnifiedListControllerBase.ts +241 -241
  722. package/packages/list/src/UnifiedListController/UnifiedVariedListController.ts +241 -241
  723. package/packages/list/src/UnifiedListController/interface.ts +81 -81
  724. package/packages/list/src/__test__/utils.spec.ts +59 -59
  725. package/packages/list/src/animate.animated.ts +1 -1
  726. package/packages/list/src/animate.ts +1 -1
  727. package/packages/list/src/index.ts +1 -1
  728. package/packages/list/src/interface.ts +48 -48
  729. package/packages/list/src/mocks/index.tsx +55 -55
  730. package/packages/list/src/types.ts +132 -132
  731. package/packages/list/src/utils.ts +142 -142
  732. package/packages/list/utils/index.ts +1 -1
  733. package/packages/logger/README.md +117 -117
  734. package/packages/logger/src/LoggerManager.ts +60 -60
  735. package/packages/logger/src/LoggerService.ts +43 -43
  736. package/packages/logger/src/__mocks__/LoggerBase.ts +13 -13
  737. package/packages/logger/src/index.ts +3 -3
  738. package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +51 -51
  739. package/packages/logger/src/loggers/ConsoleLogger/README.md +39 -39
  740. package/packages/logger/src/loggers/ConsoleLogger/index.ts +1 -1
  741. package/packages/logger/src/loggers/LoggerBase/LoggerBase.ts +67 -67
  742. package/packages/logger/src/loggers/LoggerBase/README.md +69 -69
  743. package/packages/logger/src/loggers/LoggerBase/index.ts +1 -1
  744. package/packages/logger/src/loggers/SentryLogger/README.md +98 -98
  745. package/packages/logger/src/loggers/SentryLogger/Sentry.ts +2 -2
  746. package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +179 -179
  747. package/packages/logger/src/loggers/SentryLogger/index.ts +2 -2
  748. package/packages/logger/src/loggers/SentryLogger/mock.ts +6 -6
  749. package/packages/logger/src/loggers/index.ts +2 -2
  750. package/packages/logger/src/types.ts +46 -46
  751. package/packages/logger/src/utils/deviceInfo.ts +25 -25
  752. package/packages/logger/src/utils/index.ts +1 -1
  753. package/packages/lottie-animations/README.md +217 -217
  754. package/packages/lottie-animations/src/LottieAnimation.tsx +125 -125
  755. package/packages/lottie-animations/src/index.ts +7 -7
  756. package/packages/menu/README.md +90 -90
  757. package/packages/menu/WhitelabelMenu/index.ts +1 -1
  758. package/packages/menu/WhitelabelMenu/interface.ts +2 -2
  759. package/packages/menu/WhitelabelMenu/styles.ts +2 -2
  760. package/packages/menu/interface.ts +3 -3
  761. package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +211 -211
  762. package/packages/menu/src/MenuAndContentContainer/index.ts +1 -1
  763. package/packages/menu/src/MenuAndContentContainer/interface.ts +164 -164
  764. package/packages/menu/src/MenuAndContentContainer/service.ts +5 -5
  765. package/packages/menu/src/WhitelabelMenu/SideMenu.scss +41 -41
  766. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.1080.scss +2 -2
  767. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.1080.scss +3 -3
  768. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.scss +3 -3
  769. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.scss +2 -2
  770. package/packages/menu/src/WhitelabelMenu/SideMenu.tsx +248 -248
  771. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.scss +56 -56
  772. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.1080.scss +2 -2
  773. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.1080.scss +3 -3
  774. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.scss +3 -3
  775. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.scss +2 -2
  776. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.tsx +78 -78
  777. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_animated.scss +12 -12
  778. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.1080.scss +17 -17
  779. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.scss +17 -17
  780. package/packages/menu/src/WhitelabelMenu/SideMenuItem/index.ts +1 -1
  781. package/packages/menu/src/WhitelabelMenu/SideMenuItem/interface.ts +49 -49
  782. package/packages/menu/src/WhitelabelMenu/SideMenuItem/rtl.scss +12 -12
  783. package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.1080.ts +2 -2
  784. package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.ts +2 -2
  785. package/packages/menu/src/WhitelabelMenu/SideMenuItem/styles.ts +1 -1
  786. package/packages/menu/src/WhitelabelMenu/VisualController.animated.ts +48 -48
  787. package/packages/menu/src/WhitelabelMenu/VisualController.ts +20 -20
  788. package/packages/menu/src/WhitelabelMenu/VisualControllerBase.ts +71 -71
  789. package/packages/menu/src/WhitelabelMenu/_animated.scss +39 -39
  790. package/packages/menu/src/WhitelabelMenu/_sizes.1080.scss +14 -14
  791. package/packages/menu/src/WhitelabelMenu/_sizes.scss +14 -14
  792. package/packages/menu/src/WhitelabelMenu/constants.animated.ts +1 -1
  793. package/packages/menu/src/WhitelabelMenu/constants.ts +1 -1
  794. package/packages/menu/src/WhitelabelMenu/index.ts +1 -1
  795. package/packages/menu/src/WhitelabelMenu/interface.ts +14 -14
  796. package/packages/menu/src/WhitelabelMenu/rtl.scss +22 -22
  797. package/packages/menu/src/WhitelabelMenu/sizes.1080.ts +1 -1
  798. package/packages/menu/src/WhitelabelMenu/sizes.ts +1 -1
  799. package/packages/menu/src/WhitelabelMenu/styles.ts +1 -1
  800. package/packages/menu/src/WhitelabelMenu/utils.ts +34 -34
  801. package/packages/menu/src/index.ts +2 -2
  802. package/packages/modal-service/README.md +50 -50
  803. package/packages/modal-service/src/IModal.ts +3 -3
  804. package/packages/modal-service/src/ModalService.scss +7 -7
  805. package/packages/modal-service/src/ModalService.styles.1080.scss +2 -2
  806. package/packages/modal-service/src/ModalService.styles.scss +2 -2
  807. package/packages/modal-service/src/ModalService.tsx +102 -102
  808. package/packages/modal-service/src/_sizes.1080.scss +2 -2
  809. package/packages/modal-service/src/_sizes.scss +2 -2
  810. package/packages/modal-service/src/index.ts +2 -2
  811. package/packages/mouse-navigation/README.md +105 -105
  812. package/packages/mouse-navigation/src/ArrowNavigation/Arrow.tsx +58 -58
  813. package/packages/mouse-navigation/src/ArrowNavigation/ArrowNavigation.tsx +95 -95
  814. package/packages/mouse-navigation/src/ArrowNavigation/__test__/Arrow.spec.tsx +35 -35
  815. package/packages/mouse-navigation/src/ArrowNavigation/__test__/ArrowNavigation.spec.tsx +45 -45
  816. package/packages/mouse-navigation/src/ArrowNavigation/index.tsx +1 -1
  817. package/packages/mouse-navigation/src/MouseElementWrapper.tsx +70 -70
  818. package/packages/mouse-navigation/src/MouseNavigation.tsx +157 -157
  819. package/packages/mouse-navigation/src/MouseNavigationInterface.ts +8 -8
  820. package/packages/mouse-navigation/src/index.ts +3 -3
  821. package/packages/numeric-zapper/README.md +153 -153
  822. package/packages/numeric-zapper/src/NumericZapper.scss +20 -20
  823. package/packages/numeric-zapper/src/NumericZapper.styles.1080.scss +2 -2
  824. package/packages/numeric-zapper/src/NumericZapper.styles.scss +2 -2
  825. package/packages/numeric-zapper/src/NumericZapper.tsx +257 -257
  826. package/packages/numeric-zapper/src/ZapperAllower.ts +15 -15
  827. package/packages/numeric-zapper/src/ZapperService.tsx +8 -8
  828. package/packages/numeric-zapper/src/_sizes.1080.scss +7 -7
  829. package/packages/numeric-zapper/src/_sizes.scss +7 -7
  830. package/packages/numeric-zapper/src/index.ts +4 -4
  831. package/packages/numeric-zapper/src/interface.ts +1 -1
  832. package/packages/numeric-zapper/src/styles.ts +1 -1
  833. package/packages/perf-utils/README.md +7 -7
  834. package/packages/perf-utils/src/array/filter.ts +1 -1
  835. package/packages/perf-utils/src/array/find.ts +1 -1
  836. package/packages/perf-utils/src/array/findIndex.ts +1 -1
  837. package/packages/perf-utils/src/array/forEach.ts +1 -1
  838. package/packages/perf-utils/src/array/includes.ts +1 -1
  839. package/packages/perf-utils/src/array/includesNaN.ts +1 -1
  840. package/packages/perf-utils/src/array/index.ts +1 -1
  841. package/packages/perf-utils/src/array/map.ts +1 -1
  842. package/packages/picker/README.md +70 -70
  843. package/packages/picker/src/DatePicker.tsx +55 -55
  844. package/packages/picker/src/ModalPicker/Checkbox.tsx +38 -38
  845. package/packages/picker/src/ModalPicker/PickerItem.tsx +86 -86
  846. package/packages/picker/src/ModalPicker/PickerModal.tsx +98 -98
  847. package/packages/picker/src/ModalPicker/index.ts +1 -1
  848. package/packages/picker/src/ModalPicker/modalPicker.tsx +48 -48
  849. package/packages/picker/src/Picker.tsx +127 -127
  850. package/packages/picker/src/index.ts +3 -3
  851. package/packages/picker/src/types.ts +25 -25
  852. package/packages/pin-input/README.md +55 -55
  853. package/packages/pin-input/src/PinInput.scss +5 -5
  854. package/packages/pin-input/src/PinInput.tsx +169 -169
  855. package/packages/pin-input/src/index.ts +1 -1
  856. package/packages/player-ui/README.md +207 -207
  857. package/packages/player-ui/src/BackwardButton.tsx +41 -41
  858. package/packages/player-ui/src/CurrentTime.tsx +56 -56
  859. package/packages/player-ui/src/Duration.tsx +60 -60
  860. package/packages/player-ui/src/ForwardButton.tsx +41 -41
  861. package/packages/player-ui/src/PauseButton.tsx +57 -57
  862. package/packages/player-ui/src/PlayButton.tsx +57 -57
  863. package/packages/player-ui/src/PlayPauseButton.tsx +63 -63
  864. package/packages/player-ui/src/PlayerInteractable.tsx +67 -67
  865. package/packages/player-ui/src/PlayerTime.tsx +57 -57
  866. package/packages/player-ui/src/PlayerUI.tsx +267 -267
  867. package/packages/player-ui/src/RemainingTime.tsx +74 -74
  868. package/packages/player-ui/src/Seekbar.tsx +274 -274
  869. package/packages/player-ui/src/Seeking.ts +163 -163
  870. package/packages/player-ui/src/StopButton.tsx +35 -35
  871. package/packages/player-ui/src/Subtitles.tsx +151 -151
  872. package/packages/player-ui/src/index.ts +15 -15
  873. package/packages/player-ui/src/mocks.ts +65 -65
  874. package/packages/player-ui/src/timeUtils.ts +142 -142
  875. package/packages/player-ui/src/types.ts +48 -48
  876. package/packages/progress-bar/README.md +31 -31
  877. package/packages/progress-bar/src/ProgressBar.tsx +41 -41
  878. package/packages/progress-bar/src/index.ts +1 -1
  879. package/packages/progress-bar/src/interface.ts +14 -14
  880. package/packages/qr-code/README.md +79 -79
  881. package/packages/qr-code/src/QRCode.tsx +39 -39
  882. package/packages/qr-code/src/index.ts +2 -2
  883. package/packages/qr-code/src/qrGenerator/__external__/constants.ts +23 -23
  884. package/packages/qr-code/src/qrGenerator/__external__/qrcode.d.ts +31 -31
  885. package/packages/qr-code/src/qrGenerator/__external__/qrcode.js +618 -618
  886. package/packages/qr-code/src/qrGenerator/generateQr.ts +7 -7
  887. package/packages/qr-code/src/qrGenerator/index.ts +3 -3
  888. package/packages/router/README.md +163 -163
  889. package/packages/router/src/Route.tsx +166 -166
  890. package/packages/router/src/Router.tsx +220 -220
  891. package/packages/router/src/focusActiveRoute.ts +5 -5
  892. package/packages/router/src/history.ts +31 -31
  893. package/packages/router/src/index.ts +6 -6
  894. package/packages/router/src/types.ts +13 -13
  895. package/packages/router/src/utils.ts +35 -35
  896. package/packages/runtime-config/README.md +37 -37
  897. package/packages/runtime-config/src/Config.ts +44 -44
  898. package/packages/runtime-config/src/index.ts +1 -1
  899. package/packages/sass-utils/README.md +197 -197
  900. package/packages/sass-utils/src/box-shadow.scss +5 -5
  901. package/packages/sass-utils/src/ellipsis.scss +15 -15
  902. package/packages/sass-utils/src/linear-gradient.scss +43 -43
  903. package/packages/sass-utils/src/prefix-property.scss +7 -7
  904. package/packages/sass-utils/src/prefix-value.scss +6 -6
  905. package/packages/sass-utils/src/prefix.scss +6 -6
  906. package/packages/sass-utils/src/scale.1080.scss +3 -3
  907. package/packages/sass-utils/src/scale.720.scss +5 -5
  908. package/packages/sass-utils/src/transform.scss +5 -5
  909. package/packages/sass-utils/src/transition.scss +6 -6
  910. package/packages/scheduler/README.md +55 -55
  911. package/packages/scheduler/src/Scheduler.ts +43 -43
  912. package/packages/scheduler/src/Task.ts +72 -72
  913. package/packages/scheduler/src/index.ts +4 -4
  914. package/packages/scheduler/src/timeProvider.ts +3 -3
  915. package/packages/scroll-text/README.md +77 -77
  916. package/packages/scroll-text/src/Base.tsx +146 -146
  917. package/packages/scroll-text/src/ScrollText.animated.tsx +80 -80
  918. package/packages/scroll-text/src/ScrollText.tsx +53 -53
  919. package/packages/scroll-text/src/ScrollTextBaseClass.tsx +86 -86
  920. package/packages/scroll-text/src/index.ts +1 -1
  921. package/packages/scroller/README.md +77 -77
  922. package/packages/scroller/src/Scroller.tsx +51 -51
  923. package/packages/scroller/src/index.ts +1 -1
  924. package/packages/splash/AnimatedSplash.ts +1 -1
  925. package/packages/splash/AnimatedSplashAnimated.ts +1 -1
  926. package/packages/splash/AnimatedSplashBasic.ts +1 -1
  927. package/packages/splash/AutomaticSplashAnimated.ts +1 -1
  928. package/packages/splash/AutomaticSplashBasic.ts +1 -1
  929. package/packages/splash/README.md +93 -93
  930. package/packages/splash/StaticSplash.ts +1 -1
  931. package/packages/splash/StaticSplashAnimated.ts +1 -1
  932. package/packages/splash/StaticSplashBasic.ts +1 -1
  933. package/packages/splash/src/AnimatedSplash.animated.tsx +78 -78
  934. package/packages/splash/src/AnimatedSplash.basic.tsx +37 -37
  935. package/packages/splash/src/AutomaticSplash.animated.tsx +20 -20
  936. package/packages/splash/src/AutomaticSplash.basic.tsx +20 -20
  937. package/packages/splash/src/Splash.scss +8 -8
  938. package/packages/splash/src/StaticSplash.animated.tsx +48 -48
  939. package/packages/splash/src/StaticSplash.basic.tsx +26 -26
  940. package/packages/splash/src/index.animated.ts +1 -1
  941. package/packages/splash/src/index.ts +1 -1
  942. package/packages/splash/src/styles.ts +1 -1
  943. package/packages/splash/src/types.ts +20 -20
  944. package/packages/storage/README.md +61 -61
  945. package/packages/storage/src/CookieStorage/CookieStorage.ts +57 -57
  946. package/packages/storage/src/CookieStorage/index.ts +1 -1
  947. package/packages/storage/src/LocalStorage/LocalStorage.ts +58 -58
  948. package/packages/storage/src/LocalStorage/index.ts +1 -1
  949. package/packages/storage/src/index.ts +2 -2
  950. package/packages/storage/src/shared.ts +41 -41
  951. package/packages/storage/src/types.ts +33 -33
  952. package/packages/throbber/README.md +53 -53
  953. package/packages/throbber/src/Throbber.scss +52 -52
  954. package/packages/throbber/src/Throbber.tsx +19 -19
  955. package/packages/throbber/src/ThrobberService.tsx +55 -55
  956. package/packages/throbber/src/controlsHandling.ts +14 -14
  957. package/packages/throbber/src/index.ts +2 -2
  958. package/packages/time/README.md +116 -116
  959. package/packages/time/src/Time.ts +257 -257
  960. package/packages/time/src/adapters/24iMediaTimeApi.ts +47 -47
  961. package/packages/time/src/adapters/worldTimeApi.ts +74 -74
  962. package/packages/time/src/constants.ts +14 -14
  963. package/packages/time/src/index.ts +1 -1
  964. package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +43 -43
  965. package/packages/time/src/services/24iMediaTimeApi/index.ts +6 -6
  966. package/packages/time/src/services/worldTimeApi/index.ts +7 -7
  967. package/packages/time/src/services/worldTimeApi/types.ts +75 -75
  968. package/packages/time/src/services/worldTimeApi/worldTimeApi.ts +77 -77
  969. package/packages/time/src/types.ts +39 -39
  970. package/packages/time/src/utils.ts +79 -79
  971. package/packages/toast/README.md +116 -116
  972. package/packages/toast/src/Toast/IVisualController.ts +7 -7
  973. package/packages/toast/src/Toast/Toast.scss +22 -22
  974. package/packages/toast/src/Toast/Toast.styles.1080.scss +2 -2
  975. package/packages/toast/src/Toast/Toast.styles.scss +2 -2
  976. package/packages/toast/src/Toast/Toast.tsx +83 -83
  977. package/packages/toast/src/Toast/VisualController.animated.ts +20 -20
  978. package/packages/toast/src/Toast/VisualController.ts +9 -9
  979. package/packages/toast/src/Toast/_sizes.1080.scss +8 -8
  980. package/packages/toast/src/Toast/_sizes.scss +8 -8
  981. package/packages/toast/src/Toast/index.ts +2 -2
  982. package/packages/toast/src/Toast/styles.ts +1 -1
  983. package/packages/toast/src/ToastService.scss +8 -8
  984. package/packages/toast/src/ToastService.styles.1080.scss +2 -2
  985. package/packages/toast/src/ToastService.styles.scss +2 -2
  986. package/packages/toast/src/ToastService.tsx +59 -59
  987. package/packages/toast/src/_sizes.1080.scss +2 -2
  988. package/packages/toast/src/_sizes.scss +2 -2
  989. package/packages/toast/src/index.ts +4 -4
  990. package/packages/toast/src/types.ts +4 -4
  991. package/packages/types-bigscreen-jsx/README.md +12 -12
  992. package/packages/types-bigscreen-jsx/global.d.ts +0 -0
  993. package/packages/types-bigscreen-jsx/index.d.ts +32 -32
  994. package/packages/types-bigscreen-jsx/src/copyTypes.js +14 -14
  995. package/packages/utils/README.md +363 -363
  996. package/packages/utils/src/addClass.ts +9 -9
  997. package/packages/utils/src/counter.ts +49 -49
  998. package/packages/utils/src/debounce.ts +54 -54
  999. package/packages/utils/src/displayToggler.scss +3 -3
  1000. package/packages/utils/src/displayToggler.ts +38 -38
  1001. package/packages/utils/src/elementUtils.ts +105 -105
  1002. package/packages/utils/src/forceReflow.ts +14 -14
  1003. package/packages/utils/src/generateUuid.ts +19 -19
  1004. package/packages/utils/src/index.ts +43 -43
  1005. package/packages/utils/src/keyPress/index.ts +6 -6
  1006. package/packages/utils/src/keyPress/keyPressSimulator.ts +74 -74
  1007. package/packages/utils/src/keyPress/simulateKeyPress.ts +25 -25
  1008. package/packages/utils/src/memoryInfo.ts +21 -21
  1009. package/packages/utils/src/nTimes.ts +9 -9
  1010. package/packages/utils/src/noop.ts +1 -1
  1011. package/packages/utils/src/offsetPosition.ts +56 -56
  1012. package/packages/utils/src/removeClass.ts +9 -9
  1013. package/packages/utils/src/scaledImage.ts +24 -24
  1014. package/packages/utils/src/sizes.1080.ts +1 -1
  1015. package/packages/utils/src/sizes.ts +1 -1
  1016. package/packages/utils/src/stopEvent.ts +10 -10
  1017. package/packages/utils/src/textUtils.ts +57 -57
  1018. package/packages/utils/src/timeConstants.ts +11 -11
  1019. package/packages/utils/src/timers/createInterval.ts +19 -19
  1020. package/packages/utils/src/timers/createTimeout.ts +22 -22
  1021. package/packages/utils/src/timers/index.ts +4 -4
  1022. package/packages/utils/src/timers/runAsync.ts +3 -3
  1023. package/packages/utils/src/timers/types.ts +9 -9
  1024. package/packages/utils/src/wait.ts +3 -3
  1025. package/packages/utils/src/xhr/__mocks__/xhr.ts +29 -29
  1026. package/packages/utils/src/xhr/index.ts +11 -11
  1027. package/packages/utils/src/xhr/xhrSend.ts +141 -141
  1028. package/packages/utils/src/xhr/xhrSendRetry.ts +79 -79
  1029. package/packages/volume-control/README.md +79 -79
  1030. package/packages/volume-control/src/IVolumeControlUI.ts +26 -26
  1031. package/packages/volume-control/src/VolumeControlService.tsx +110 -110
  1032. package/packages/volume-control/src/VolumeControlUI/VisualController.animated.ts +28 -28
  1033. package/packages/volume-control/src/VolumeControlUI/VisualController.ts +3 -3
  1034. package/packages/volume-control/src/VolumeControlUI/VisualControllerBase.ts +26 -26
  1035. package/packages/volume-control/src/VolumeControlUI/VolumeControl.scss +18 -18
  1036. package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.animated.scss +2 -2
  1037. package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.scss +1 -1
  1038. package/packages/volume-control/src/VolumeControlUI/VolumeControlUI.tsx +80 -80
  1039. package/packages/volume-control/src/VolumeControlUI/_animated.scss +8 -8
  1040. package/packages/volume-control/src/VolumeControlUI/index.ts +1 -1
  1041. package/packages/volume-control/src/__mocks__/VolumeControlUIMock.tsx +22 -22
  1042. package/packages/volume-control/src/index.ts +2 -2
  1043. package/packages/zapping/README.md +87 -87
  1044. package/packages/zapping/src/ChannelZapping.ts +143 -143
  1045. package/packages/zapping/src/Zapping.tsx +115 -115
  1046. package/packages/zapping/src/index.ts +1 -1
  1047. package/packages/zapping/src/interface.ts +1 -1
  1048. package/utils/create-export-maps/index.ts +3 -3
  1049. package/utils/create-export-maps/src/__tests__/createExportMaps.spec.ts +50 -50
  1050. package/utils/create-export-maps/src/createExportMaps.ts +61 -61
  1051. package/utils/create-package/README.md +39 -39
  1052. package/utils/create-package/src/createPackage.ts +72 -72
  1053. package/utils/create-package/src/index.ts +3 -3
  1054. package/utils/create-package/src/questionnaire/questions.ts +19 -19
  1055. package/utils/create-package/src/settings/Settings.ts +5 -5
  1056. package/utils/create-package/src/types.ts +4 -4
  1057. package/utils/create-package/templates/typescript/README.md +8 -8
  1058. package/utils/create-package/templates/typescript/exports.json +6 -6
  1059. package/utils/run-scripts/index.ts +3 -3
  1060. package/utils/run-scripts/src/__tests__/runScripts.spec.ts +45 -45
  1061. package/utils/run-scripts/src/runScripts.ts +20 -20
@@ -1,42 +1,42 @@
1
- ---
2
- id: README
3
- title: FixedToEndList
4
- hide_title: true
5
- sidebar_label: FixedToEndList
6
- ---
7
-
8
- # FixedToEndList
9
- Fixed To End List is a type of list that prefers scrolling before moving the focus.
10
- First the focus remains at the same position. Only after the last item is fully visible it starts moving the focus to the end of the list.
11
- Going back it first moves the focus to the first position and then scrolls to the start.
12
-
13
- ## List Specific Props
14
- - `scrollStep` - value to move on scroll
15
-
16
- ## Default Animation Configuration
17
- - normal: 700ms with easeOutQuart
18
-
19
- ## Usage
20
- FixedToEnd list is most often used for portrait Packshots in apps that want to have similar behaviour as Netflix.
21
-
22
- Unlike Netflix's list, it does not scroll until the last item. Rather it starts moving the focus once it reaches the last item.
23
-
24
- ## Examples
25
-
26
- ### Example 1
27
- Probably the most common usage of the FixedToEndList.
28
- Similar to BasicList it also counts with two partially visible items on each end.
29
- Therefore `visibleItems` is equal to fully visible/navigatable items + 2.
30
- `scrollStep` is equal to item width + the space between two items
31
- ```tsx
32
- <FixedToEndList
33
- data={[1, 2, 3, 4, 5, 6, 7]}
34
- renderItem={(item: number, index, ref) => (
35
- <Item title={item} ref={ref} />
36
- )}
37
- visibleItems={6}
38
- scrollStep={139}
39
- horizontal
40
- />
41
- ```
42
- ![Example 1](./examples/example1.gif)
1
+ ---
2
+ id: README
3
+ title: FixedToEndList
4
+ hide_title: true
5
+ sidebar_label: FixedToEndList
6
+ ---
7
+
8
+ # FixedToEndList
9
+ Fixed To End List is a type of list that prefers scrolling before moving the focus.
10
+ First the focus remains at the same position. Only after the last item is fully visible it starts moving the focus to the end of the list.
11
+ Going back it first moves the focus to the first position and then scrolls to the start.
12
+
13
+ ## List Specific Props
14
+ - `scrollStep` - value to move on scroll
15
+
16
+ ## Default Animation Configuration
17
+ - normal: 700ms with easeOutQuart
18
+
19
+ ## Usage
20
+ FixedToEnd list is most often used for portrait Packshots in apps that want to have similar behaviour as Netflix.
21
+
22
+ Unlike Netflix's list, it does not scroll until the last item. Rather it starts moving the focus once it reaches the last item.
23
+
24
+ ## Examples
25
+
26
+ ### Example 1
27
+ Probably the most common usage of the FixedToEndList.
28
+ Similar to BasicList it also counts with two partially visible items on each end.
29
+ Therefore `visibleItems` is equal to fully visible/navigatable items + 2.
30
+ `scrollStep` is equal to item width + the space between two items
31
+ ```tsx
32
+ <FixedToEndList
33
+ data={[1, 2, 3, 4, 5, 6, 7]}
34
+ renderItem={(item: number, index, ref) => (
35
+ <Item title={item} ref={ref} />
36
+ )}
37
+ visibleItems={6}
38
+ scrollStep={139}
39
+ horizontal
40
+ />
41
+ ```
42
+ ![Example 1](./examples/example1.gif)
@@ -1 +1 @@
1
- export { FixedToEndList } from '../src/FixedToEndList/FixedToEndList';
1
+ export { FixedToEndList } from '../src/FixedToEndList/FixedToEndList';
@@ -1 +1 @@
1
- export { Item } from '../src/types';
1
+ export { Item } from '../src/types';
@@ -1,193 +1,193 @@
1
- ---
2
- id: README
3
- title: List
4
- hide_title: true
5
- sidebar_label: List
6
- ---
7
-
8
- # List
9
- This package contains a variety of prepared lists with different focus/scroll
10
- behaviours and configuration. If you cannot find the list with your desired
11
- behaviour, feel free to add it. The interface for adding new behaviours is
12
- rather simple. Check one of the existing implementations for inspiration on
13
- how to do it.
14
-
15
- To programatically scroll to certain index, use:
16
- - `scrollTo(index)` - This method scrolls the list to given index as if the user moved there manually.
17
- So e.g. BasicList if you scroll to index 7 from index 0, it will be at the bottom. If you scroll to
18
- index 7 from index 20, it will be at the top. IMPORTANT: This function does not focus.
19
-
20
- Lists also support updating data with these two methods:
21
- - `appendData` - inserts new data at the end
22
- - `prependData` - inserts new data at the beginning
23
-
24
- ## Importing List
25
- List package does not allow to import just the index file. Instead, please use
26
- the path import of the implementation that you require or the interface.
27
- ```ts
28
- import { BasicList } from '@24i/bigscreen-sdk/list/Basic';
29
- import { FixedToEndList } from '@24i/bigscreen-sdk/list/FixedToEnd';
30
- import { CenteredList } from '@24i/bigscreen-sdk/list/Centered';
31
- import { FirstOnlyList } from '@24i/bigscreen-sdk/list/FirstOnly';
32
- import { FirstOnlyVariedList } from '@24i/bigscreen-sdk/list/FirstOnlyVaried';
33
- import { EdgeOffsetList } from '@24i/bigscreen-sdk/list/EdgeOffset';
34
- import { Props, List, ListComponent, Item, ItemComponent } from '@24i/bigscreen-sdk/list/interface';
35
- ```
36
-
37
- ## Mouse support (MRCU)
38
- This component takes advantage of a MouseNavigation component and is
39
- automatically taking care of Mouse Support. This is enabled for
40
- `web, tizen, and webOS`. For other platform it is disabled.
41
-
42
- ## ListBase
43
- This is an underlying component used by all lists. It is also exported so you
44
- could use it in your project as well.
45
-
46
- **Props**
47
- - `data` - array of data to pass into items during render
48
- - `renderItem` - function that will render one item - (item, index, ref) - ref must be passed onto item
49
- - `visibleItems` - number of maximal visible items (including partially)
50
- - `horizontal` - sets List to horizontal mode (default is vertical)
51
- - `onFocusChanged` - optional callback that receives focused item and its index
52
- - `onScrollChanged` - optional callback that receives item and index of current scroll performed every time list is scrolled.
53
- - `animation` - optional AnimationConfiguration that is deep merged with default configuration of the list
54
- - `className` - optional, class name for wrap element
55
- - `animate` - optional, enables scrolling animation
56
- - `fastScrolling` - optional, enables fast scrolling on list
57
- - `fastFocusingOptimization` - optional, enables fast focusing optimization
58
-
59
- **Props provided by behaviour controlling component (actual list implementations)**
60
- - `limit` - optional limit to the number of rendered items
61
- - `forward` - function that is called when list should move in forward direction. Returns boolean whether it processed the move.
62
- - `backward` - function that is called when list should move in backward direction. Returns boolean whether it processed the move.
63
-
64
- The result in renderItem needs to implement one of these interfaces depending
65
- on your list type:
66
-
67
- ## Item<Model> interface
68
- ```ts
69
- focus: (options?: FocusOptions) => void,
70
- show: () => void,
71
- hide: () => void, // expects the item to still occupy layout, just not be visible (do not use `display: none`)
72
- updateData: (item: Model, index: number) => void, // change item content according to new model
73
- hasDom?: (target: HTMLElement) => boolean, // returns whether passed target is the dom representation of the item
74
- onFastScrolling?: (isFastScrolling: boolean) => void,
75
- ```
76
-
77
- ## List scrolling
78
- All lists consist of a finite number of item elements. In the basic and animated
79
- variant, those elements are moved from the left side of the list to the right
80
- side and vice versa. This creates a scrolling effect. There is an `updateData`
81
- method called on the items, so the content is properly changed during scrolling.
82
- There are situations, however, in which you can't use `updateData` method on the item,
83
- because the content is too complex for being updated, or it is not possible
84
- (for example the item is whole another List component). For these situations,
85
- there is a special wrapper item called `AttachDetachItem`. The item inside is not updated,
86
- but instead, it is rendered only once inside the wrapper item during scrolling.
87
- For more information check [AttachDetachItem](./AttachDetachItem/README.md) docs.
88
-
89
- ## List fast scrolling
90
- List scrolling could be also optimized by reducing elements on items during
91
- scrolling. For this, fast scrolling could be enabled and list will call
92
- `onFastScrolling(true)` on each item when started and `onFastScrolling(false)`
93
- when finished. When enabled, fast scrolling on the animated list is turned on
94
- until the animation is finished.
95
-
96
- ## List fast focusing
97
- List scrolling could be also optimized by preventing focusing items during
98
- scrolling. For this, fast focusing optimization could be enabled by setting
99
- `fastFocusingOptimization: true` in props. When enabled, it will not focus items
100
- during scrolling until the animation is finished or key up is emitted.
101
-
102
- ## onFocusChanged and onScrollChanged
103
- `onFocusChanged` is called every time next item in list is focused, but after
104
- various optimization improvements, items are not focused step by step during scrolling.
105
- Because of this behavior, actions frequently used in onFocusChanged representing
106
- scroll change can't be used. For this purpose there is `onScrollChanged` callback,
107
- which is called every time list is performing scroll operation.
108
-
109
- ## Prevent blur on long press
110
- When the user holds a navigation key, he usually scrolls to the end (or start) of the list
111
- and then releases the key. This operation is very quick and most of the time he releases
112
- the key too late, so the keydown event from the list will propagate to another component
113
- in the layout. This causes for example opening of the menu even though the user is still holding
114
- the key and scrolling the list. For those situations and to have better control above the layout
115
- navigation, there is a prop `preventBlurOnLongPress`. When the user scrolls to the end (or start)
116
- of the list, he needs to release the key and press it again to propagate the event higher
117
- and focus another component.
118
-
119
- ```ts
120
- preventBlurOnLongPress: {
121
- forward?: boolean, // apply when user scroll forward
122
- backward?: boolean, // apply when user scroll backward
123
- }
124
- ```
125
-
126
- ## Prepared lists
127
- - Fixed item size lists
128
- - [BasicList - (slow/animated)](./BasicList/README.md)
129
- - [CenteredList - (slow/animated)](./CenteredList/README.md)
130
- - [EdgeOffsetList - (slow/animated)](./EdgeOffsetList/README.md)
131
- - [FirstOnlyList - (slow/animated)](./FirstOnlyList/README.md)
132
- - [FixedToEndList - (slow/animated)](./FixedToEndList/README.md)
133
- - Variable item size lists
134
- - [FirstOnlyVariedList - (slow/animated)](./FirstOnlyVariedList/README.md)
135
-
136
- ## Usage (with BasicList example)
137
- ```jsx
138
- <BasicList<Packshot, MovieModel>
139
- ref={this.lists[categoryIndex]}
140
- data={movies}
141
- renderItem={(movie, index, ref) => (
142
- <Packshot
143
- ref={ref}
144
- movie={movie}
145
- />
146
- )}
147
- visibleItems={6}
148
- firstScrollStep={150}
149
- scrollStep={240}
150
- horizontal
151
- />
152
- ```
153
-
154
- ## AnimationConfiguration
155
- ```ts
156
- type AnimationConfiguration = {
157
- normal: {
158
- time: number,
159
- easing: EasingType,
160
- },
161
- fastLinear?: {
162
- time: number,
163
- startRatio: number,
164
- endRatio?: number,
165
- }
166
- slowdownRatio?: number,
167
- }
168
- ```
169
-
170
- ### Properties
171
- - normal - main animation type used for scrolling
172
- - fastLinear - optional - linear animation type used during fast scrolling (when user holds a key
173
- and scroll with the list for longer period)
174
- - slowdownRatio - optional - number between 0 > and <= 1, determines how much scroll would be slowed down.
175
- Less the number, slower the scrolling. Undefined or 0 is unlimited scroll speed. Slowing down the scroll
176
- speed could improve overall animation performance in some cases.
177
-
178
- ### fastLinear property
179
- List animation provides possibility of optimizing the animation during slow speeds and smoother
180
- the scrolling effect without easing in `normal` property interfering the movement.
181
- This is achieved by changing the ease of the animation to linear when the scroll is longer
182
- and user is moving the list further.
183
- `fastLinear` property have these settings:
184
- - time - duration of the animation, same as in `normal` property
185
- - startRatio - this number represents the threshold, when should linear animation start.
186
- Under the hood, threshold is one `scrollStep` (or an average item size in case of varied list variant).
187
- This number is basically multiplied by scrollStep number, so the linear animation will start,
188
- when the current scroll size is larger than `threshold * startRatio`. When the number is 1,
189
- threshold is exactly one scrollStep.
190
- - endRatio - optional - this number represents when the scroll animation should switch from fast linear back
191
- to normal. Threshold is the same as in `startRatio`, but animation will switch when scroll length is less
192
- than `threshold * startRatio`. Parameter is optional, so if it is not set, animation will finish in fast linear
193
- mode.
1
+ ---
2
+ id: README
3
+ title: List
4
+ hide_title: true
5
+ sidebar_label: List
6
+ ---
7
+
8
+ # List
9
+ This package contains a variety of prepared lists with different focus/scroll
10
+ behaviours and configuration. If you cannot find the list with your desired
11
+ behaviour, feel free to add it. The interface for adding new behaviours is
12
+ rather simple. Check one of the existing implementations for inspiration on
13
+ how to do it.
14
+
15
+ To programatically scroll to certain index, use:
16
+ - `scrollTo(index)` - This method scrolls the list to given index as if the user moved there manually.
17
+ So e.g. BasicList if you scroll to index 7 from index 0, it will be at the bottom. If you scroll to
18
+ index 7 from index 20, it will be at the top. IMPORTANT: This function does not focus.
19
+
20
+ Lists also support updating data with these two methods:
21
+ - `appendData` - inserts new data at the end
22
+ - `prependData` - inserts new data at the beginning
23
+
24
+ ## Importing List
25
+ List package does not allow to import just the index file. Instead, please use
26
+ the path import of the implementation that you require or the interface.
27
+ ```ts
28
+ import { BasicList } from '@24i/bigscreen-sdk/list/Basic';
29
+ import { FixedToEndList } from '@24i/bigscreen-sdk/list/FixedToEnd';
30
+ import { CenteredList } from '@24i/bigscreen-sdk/list/Centered';
31
+ import { FirstOnlyList } from '@24i/bigscreen-sdk/list/FirstOnly';
32
+ import { FirstOnlyVariedList } from '@24i/bigscreen-sdk/list/FirstOnlyVaried';
33
+ import { EdgeOffsetList } from '@24i/bigscreen-sdk/list/EdgeOffset';
34
+ import { Props, List, ListComponent, Item, ItemComponent } from '@24i/bigscreen-sdk/list/interface';
35
+ ```
36
+
37
+ ## Mouse support (MRCU)
38
+ This component takes advantage of a MouseNavigation component and is
39
+ automatically taking care of Mouse Support. This is enabled for
40
+ `web, tizen, and webOS`. For other platform it is disabled.
41
+
42
+ ## ListBase
43
+ This is an underlying component used by all lists. It is also exported so you
44
+ could use it in your project as well.
45
+
46
+ **Props**
47
+ - `data` - array of data to pass into items during render
48
+ - `renderItem` - function that will render one item - (item, index, ref) - ref must be passed onto item
49
+ - `visibleItems` - number of maximal visible items (including partially)
50
+ - `horizontal` - sets List to horizontal mode (default is vertical)
51
+ - `onFocusChanged` - optional callback that receives focused item and its index
52
+ - `onScrollChanged` - optional callback that receives item and index of current scroll performed every time list is scrolled.
53
+ - `animation` - optional AnimationConfiguration that is deep merged with default configuration of the list
54
+ - `className` - optional, class name for wrap element
55
+ - `animate` - optional, enables scrolling animation
56
+ - `fastScrolling` - optional, enables fast scrolling on list
57
+ - `fastFocusingOptimization` - optional, enables fast focusing optimization
58
+
59
+ **Props provided by behaviour controlling component (actual list implementations)**
60
+ - `limit` - optional limit to the number of rendered items
61
+ - `forward` - function that is called when list should move in forward direction. Returns boolean whether it processed the move.
62
+ - `backward` - function that is called when list should move in backward direction. Returns boolean whether it processed the move.
63
+
64
+ The result in renderItem needs to implement one of these interfaces depending
65
+ on your list type:
66
+
67
+ ## Item<Model> interface
68
+ ```ts
69
+ focus: (options?: FocusOptions) => void,
70
+ show: () => void,
71
+ hide: () => void, // expects the item to still occupy layout, just not be visible (do not use `display: none`)
72
+ updateData: (item: Model, index: number) => void, // change item content according to new model
73
+ hasDom?: (target: HTMLElement) => boolean, // returns whether passed target is the dom representation of the item
74
+ onFastScrolling?: (isFastScrolling: boolean) => void,
75
+ ```
76
+
77
+ ## List scrolling
78
+ All lists consist of a finite number of item elements. In the basic and animated
79
+ variant, those elements are moved from the left side of the list to the right
80
+ side and vice versa. This creates a scrolling effect. There is an `updateData`
81
+ method called on the items, so the content is properly changed during scrolling.
82
+ There are situations, however, in which you can't use `updateData` method on the item,
83
+ because the content is too complex for being updated, or it is not possible
84
+ (for example the item is whole another List component). For these situations,
85
+ there is a special wrapper item called `AttachDetachItem`. The item inside is not updated,
86
+ but instead, it is rendered only once inside the wrapper item during scrolling.
87
+ For more information check [AttachDetachItem](./AttachDetachItem/README.md) docs.
88
+
89
+ ## List fast scrolling
90
+ List scrolling could be also optimized by reducing elements on items during
91
+ scrolling. For this, fast scrolling could be enabled and list will call
92
+ `onFastScrolling(true)` on each item when started and `onFastScrolling(false)`
93
+ when finished. When enabled, fast scrolling on the animated list is turned on
94
+ until the animation is finished.
95
+
96
+ ## List fast focusing
97
+ List scrolling could be also optimized by preventing focusing items during
98
+ scrolling. For this, fast focusing optimization could be enabled by setting
99
+ `fastFocusingOptimization: true` in props. When enabled, it will not focus items
100
+ during scrolling until the animation is finished or key up is emitted.
101
+
102
+ ## onFocusChanged and onScrollChanged
103
+ `onFocusChanged` is called every time next item in list is focused, but after
104
+ various optimization improvements, items are not focused step by step during scrolling.
105
+ Because of this behavior, actions frequently used in onFocusChanged representing
106
+ scroll change can't be used. For this purpose there is `onScrollChanged` callback,
107
+ which is called every time list is performing scroll operation.
108
+
109
+ ## Prevent blur on long press
110
+ When the user holds a navigation key, he usually scrolls to the end (or start) of the list
111
+ and then releases the key. This operation is very quick and most of the time he releases
112
+ the key too late, so the keydown event from the list will propagate to another component
113
+ in the layout. This causes for example opening of the menu even though the user is still holding
114
+ the key and scrolling the list. For those situations and to have better control above the layout
115
+ navigation, there is a prop `preventBlurOnLongPress`. When the user scrolls to the end (or start)
116
+ of the list, he needs to release the key and press it again to propagate the event higher
117
+ and focus another component.
118
+
119
+ ```ts
120
+ preventBlurOnLongPress: {
121
+ forward?: boolean, // apply when user scroll forward
122
+ backward?: boolean, // apply when user scroll backward
123
+ }
124
+ ```
125
+
126
+ ## Prepared lists
127
+ - Fixed item size lists
128
+ - [BasicList - (slow/animated)](./BasicList/README.md)
129
+ - [CenteredList - (slow/animated)](./CenteredList/README.md)
130
+ - [EdgeOffsetList - (slow/animated)](./EdgeOffsetList/README.md)
131
+ - [FirstOnlyList - (slow/animated)](./FirstOnlyList/README.md)
132
+ - [FixedToEndList - (slow/animated)](./FixedToEndList/README.md)
133
+ - Variable item size lists
134
+ - [FirstOnlyVariedList - (slow/animated)](./FirstOnlyVariedList/README.md)
135
+
136
+ ## Usage (with BasicList example)
137
+ ```jsx
138
+ <BasicList<Packshot, MovieModel>
139
+ ref={this.lists[categoryIndex]}
140
+ data={movies}
141
+ renderItem={(movie, index, ref) => (
142
+ <Packshot
143
+ ref={ref}
144
+ movie={movie}
145
+ />
146
+ )}
147
+ visibleItems={6}
148
+ firstScrollStep={150}
149
+ scrollStep={240}
150
+ horizontal
151
+ />
152
+ ```
153
+
154
+ ## AnimationConfiguration
155
+ ```ts
156
+ type AnimationConfiguration = {
157
+ normal: {
158
+ time: number,
159
+ easing: EasingType,
160
+ },
161
+ fastLinear?: {
162
+ time: number,
163
+ startRatio: number,
164
+ endRatio?: number,
165
+ }
166
+ slowdownRatio?: number,
167
+ }
168
+ ```
169
+
170
+ ### Properties
171
+ - normal - main animation type used for scrolling
172
+ - fastLinear - optional - linear animation type used during fast scrolling (when user holds a key
173
+ and scroll with the list for longer period)
174
+ - slowdownRatio - optional - number between 0 > and <= 1, determines how much scroll would be slowed down.
175
+ Less the number, slower the scrolling. Undefined or 0 is unlimited scroll speed. Slowing down the scroll
176
+ speed could improve overall animation performance in some cases.
177
+
178
+ ### fastLinear property
179
+ List animation provides possibility of optimizing the animation during slow speeds and smoother
180
+ the scrolling effect without easing in `normal` property interfering the movement.
181
+ This is achieved by changing the ease of the animation to linear when the scroll is longer
182
+ and user is moving the list further.
183
+ `fastLinear` property have these settings:
184
+ - time - duration of the animation, same as in `normal` property
185
+ - startRatio - this number represents the threshold, when should linear animation start.
186
+ Under the hood, threshold is one `scrollStep` (or an average item size in case of varied list variant).
187
+ This number is basically multiplied by scrollStep number, so the linear animation will start,
188
+ when the current scroll size is larger than `threshold * startRatio`. When the number is 1,
189
+ threshold is exactly one scrollStep.
190
+ - endRatio - optional - this number represents when the scroll animation should switch from fast linear back
191
+ to normal. Threshold is the same as in `startRatio`, but animation will switch when scroll length is less
192
+ than `threshold * startRatio`. Parameter is optional, so if it is not set, animation will finish in fast linear
193
+ mode.