@24i/bigscreen-sdk 1.0.33-alpha.2549 → 1.0.33

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 (1055) hide show
  1. package/README.md +47 -47
  2. package/__mocks__/@24i/bigscreen-sdk/animations.ts +2 -2
  3. package/package.json +8 -8
  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/hebrew.ts +28 -28
  621. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +8 -8
  622. package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +26 -26
  623. package/packages/keyboard/src/WhitelabelKeyboard/layouts/latin.ts +26 -26
  624. package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +27 -27
  625. package/packages/keyboard/src/WhitelabelKeyboard/layouts/special.ts +28 -28
  626. package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +26 -26
  627. package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +26 -26
  628. package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +26 -26
  629. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +28 -28
  630. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.scss +105 -105
  631. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.1080.scss +2 -2
  632. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.scss +2 -2
  633. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.tsx +161 -161
  634. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
  635. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.scss +7 -7
  636. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/index.ts +1 -1
  637. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.scss +62 -62
  638. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
  639. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
  640. package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.1080.scss +29 -29
  641. package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.scss +29 -29
  642. package/packages/keyboard/src/WhitelabelNumericKeyboard/icons/key_backspace.svg +9 -9
  643. package/packages/keyboard/src/WhitelabelNumericKeyboard/index.ts +2 -2
  644. package/packages/keyboard/src/WhitelabelNumericKeyboard/layout.ts +14 -14
  645. package/packages/keyboard/src/hwKeyboardEventToChar.ts +11 -11
  646. package/packages/keyboard/src/types/index.ts +11 -11
  647. package/packages/keyboard/src/utils/caret.ts +48 -48
  648. package/packages/keyboard/src/utils/generateFocusMatrixFromStringMatrix.ts +12 -12
  649. package/packages/keyboard/src/utils/input.ts +40 -40
  650. package/packages/l10n/README.md +120 -120
  651. package/packages/l10n/interface.ts +1 -1
  652. package/packages/l10n/locales/cs.ts +4 -4
  653. package/packages/l10n/locales/en-001.ts +4 -4
  654. package/packages/l10n/locales/en-us.ts +4 -4
  655. package/packages/l10n/src/Locale.tsx +44 -44
  656. package/packages/l10n/src/date/common.ts +165 -165
  657. package/packages/l10n/src/date/cs.ts +89 -89
  658. package/packages/l10n/src/date/de.ts +97 -97
  659. package/packages/l10n/src/date/en-001.ts +76 -76
  660. package/packages/l10n/src/date/en-common.ts +55 -55
  661. package/packages/l10n/src/date/en-us.ts +83 -83
  662. package/packages/l10n/src/date/es.ts +71 -71
  663. package/packages/l10n/src/date/fr.ts +94 -94
  664. package/packages/l10n/src/date/he.ts +101 -101
  665. package/packages/l10n/src/date/iso.ts +63 -63
  666. package/packages/l10n/src/date/types.ts +56 -56
  667. package/packages/l10n/src/index.ts +2 -2
  668. package/packages/l10n/src/l10n.ts +112 -112
  669. package/packages/l10n/src/types.ts +22 -22
  670. package/packages/list/AttachDetachItem/README.md +128 -128
  671. package/packages/list/AttachDetachItem/index.ts +3 -3
  672. package/packages/list/BasicList/README.md +71 -71
  673. package/packages/list/BasicList/index.ts +1 -1
  674. package/packages/list/CenteredList/README.md +42 -42
  675. package/packages/list/CenteredList/index.ts +1 -1
  676. package/packages/list/EdgeOffsetList/README.md +58 -58
  677. package/packages/list/EdgeOffsetList/index.ts +1 -1
  678. package/packages/list/FirstOnlyList/README.md +39 -39
  679. package/packages/list/FirstOnlyList/index.ts +1 -1
  680. package/packages/list/FirstOnlyVariedList/README.md +105 -105
  681. package/packages/list/FirstOnlyVariedList/index.ts +1 -1
  682. package/packages/list/FixedToEndList/README.md +42 -42
  683. package/packages/list/FixedToEndList/index.ts +1 -1
  684. package/packages/list/Item/index.ts +1 -1
  685. package/packages/list/README.md +193 -193
  686. package/packages/list/src/AttachDetachItem/AttachDetachItem.tsx +96 -96
  687. package/packages/list/src/AttachDetachItem/prepareAttachDetachItemData.ts +13 -13
  688. package/packages/list/src/Base/Base.tsx +392 -392
  689. package/packages/list/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
  690. package/packages/list/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
  691. package/packages/list/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
  692. package/packages/list/src/Base/MouseNavigation/index.ts +1 -1
  693. package/packages/list/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
  694. package/packages/list/src/Base/MouseNavigation/index.webtv.ts +1 -1
  695. package/packages/list/src/Base/index.ts +1 -1
  696. package/packages/list/src/Base/interface.ts +39 -39
  697. package/packages/list/src/BasicList/BasicList.tsx +178 -178
  698. package/packages/list/src/BasicList/config.ts +13 -13
  699. package/packages/list/src/CenteredList/CenteredList.tsx +116 -116
  700. package/packages/list/src/CenteredList/config.ts +13 -13
  701. package/packages/list/src/CenteredList/controller.ts +46 -46
  702. package/packages/list/src/CenteredList/interface.ts +10 -10
  703. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +173 -173
  704. package/packages/list/src/EdgeOffsetList/config.ts +13 -13
  705. package/packages/list/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
  706. package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +122 -122
  707. package/packages/list/src/FirstOnlyList/config.ts +13 -13
  708. package/packages/list/src/FirstOnlyList/controller.ts +11 -11
  709. package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +132 -132
  710. package/packages/list/src/FirstOnlyVariedList/config.ts +13 -13
  711. package/packages/list/src/FixedToEndList/FixedToEndList.tsx +125 -125
  712. package/packages/list/src/FixedToEndList/config.ts +13 -13
  713. package/packages/list/src/FixedToEndList/controller.ts +44 -44
  714. package/packages/list/src/UnifiedListController/UnifiedListController.ts +258 -258
  715. package/packages/list/src/UnifiedListController/UnifiedListControllerBase.ts +241 -241
  716. package/packages/list/src/UnifiedListController/UnifiedVariedListController.ts +241 -241
  717. package/packages/list/src/UnifiedListController/interface.ts +81 -81
  718. package/packages/list/src/__test__/utils.spec.ts +59 -59
  719. package/packages/list/src/animate.animated.ts +1 -1
  720. package/packages/list/src/animate.ts +1 -1
  721. package/packages/list/src/index.ts +1 -1
  722. package/packages/list/src/interface.ts +48 -48
  723. package/packages/list/src/mocks/index.tsx +55 -55
  724. package/packages/list/src/types.ts +132 -132
  725. package/packages/list/src/utils.ts +142 -142
  726. package/packages/list/utils/index.ts +1 -1
  727. package/packages/logger/README.md +117 -117
  728. package/packages/logger/src/LoggerManager.ts +60 -60
  729. package/packages/logger/src/LoggerService.ts +43 -43
  730. package/packages/logger/src/__mocks__/LoggerBase.ts +13 -13
  731. package/packages/logger/src/index.ts +3 -3
  732. package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +51 -51
  733. package/packages/logger/src/loggers/ConsoleLogger/README.md +39 -39
  734. package/packages/logger/src/loggers/ConsoleLogger/index.ts +1 -1
  735. package/packages/logger/src/loggers/LoggerBase/LoggerBase.ts +67 -67
  736. package/packages/logger/src/loggers/LoggerBase/README.md +69 -69
  737. package/packages/logger/src/loggers/LoggerBase/index.ts +1 -1
  738. package/packages/logger/src/loggers/SentryLogger/README.md +98 -98
  739. package/packages/logger/src/loggers/SentryLogger/Sentry.ts +2 -2
  740. package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +179 -179
  741. package/packages/logger/src/loggers/SentryLogger/index.ts +2 -2
  742. package/packages/logger/src/loggers/SentryLogger/mock.ts +6 -6
  743. package/packages/logger/src/loggers/index.ts +2 -2
  744. package/packages/logger/src/types.ts +46 -46
  745. package/packages/logger/src/utils/deviceInfo.ts +25 -25
  746. package/packages/logger/src/utils/index.ts +1 -1
  747. package/packages/lottie-animations/README.md +217 -217
  748. package/packages/lottie-animations/src/LottieAnimation.tsx +125 -125
  749. package/packages/lottie-animations/src/index.ts +7 -7
  750. package/packages/menu/README.md +90 -90
  751. package/packages/menu/WhitelabelMenu/index.ts +1 -1
  752. package/packages/menu/WhitelabelMenu/interface.ts +2 -2
  753. package/packages/menu/WhitelabelMenu/styles.ts +2 -2
  754. package/packages/menu/interface.ts +3 -3
  755. package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +211 -211
  756. package/packages/menu/src/MenuAndContentContainer/index.ts +1 -1
  757. package/packages/menu/src/MenuAndContentContainer/interface.ts +164 -164
  758. package/packages/menu/src/MenuAndContentContainer/service.ts +5 -5
  759. package/packages/menu/src/WhitelabelMenu/SideMenu.scss +41 -41
  760. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.1080.scss +2 -2
  761. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.1080.scss +3 -3
  762. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.scss +3 -3
  763. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.scss +2 -2
  764. package/packages/menu/src/WhitelabelMenu/SideMenu.tsx +248 -248
  765. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.scss +56 -56
  766. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.1080.scss +2 -2
  767. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.1080.scss +3 -3
  768. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.scss +3 -3
  769. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.scss +2 -2
  770. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.tsx +78 -78
  771. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_animated.scss +12 -12
  772. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.1080.scss +17 -17
  773. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.scss +17 -17
  774. package/packages/menu/src/WhitelabelMenu/SideMenuItem/index.ts +1 -1
  775. package/packages/menu/src/WhitelabelMenu/SideMenuItem/interface.ts +49 -49
  776. package/packages/menu/src/WhitelabelMenu/SideMenuItem/rtl.scss +12 -12
  777. package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.1080.ts +2 -2
  778. package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.ts +2 -2
  779. package/packages/menu/src/WhitelabelMenu/SideMenuItem/styles.ts +1 -1
  780. package/packages/menu/src/WhitelabelMenu/VisualController.animated.ts +48 -48
  781. package/packages/menu/src/WhitelabelMenu/VisualController.ts +20 -20
  782. package/packages/menu/src/WhitelabelMenu/VisualControllerBase.ts +71 -71
  783. package/packages/menu/src/WhitelabelMenu/_animated.scss +39 -39
  784. package/packages/menu/src/WhitelabelMenu/_sizes.1080.scss +14 -14
  785. package/packages/menu/src/WhitelabelMenu/_sizes.scss +14 -14
  786. package/packages/menu/src/WhitelabelMenu/constants.animated.ts +1 -1
  787. package/packages/menu/src/WhitelabelMenu/constants.ts +1 -1
  788. package/packages/menu/src/WhitelabelMenu/index.ts +1 -1
  789. package/packages/menu/src/WhitelabelMenu/interface.ts +14 -14
  790. package/packages/menu/src/WhitelabelMenu/rtl.scss +22 -22
  791. package/packages/menu/src/WhitelabelMenu/sizes.1080.ts +1 -1
  792. package/packages/menu/src/WhitelabelMenu/sizes.ts +1 -1
  793. package/packages/menu/src/WhitelabelMenu/styles.ts +1 -1
  794. package/packages/menu/src/WhitelabelMenu/utils.ts +34 -34
  795. package/packages/menu/src/index.ts +2 -2
  796. package/packages/modal-service/README.md +50 -50
  797. package/packages/modal-service/src/IModal.ts +3 -3
  798. package/packages/modal-service/src/ModalService.scss +7 -7
  799. package/packages/modal-service/src/ModalService.styles.1080.scss +2 -2
  800. package/packages/modal-service/src/ModalService.styles.scss +2 -2
  801. package/packages/modal-service/src/ModalService.tsx +102 -102
  802. package/packages/modal-service/src/_sizes.1080.scss +2 -2
  803. package/packages/modal-service/src/_sizes.scss +2 -2
  804. package/packages/modal-service/src/index.ts +2 -2
  805. package/packages/mouse-navigation/README.md +105 -105
  806. package/packages/mouse-navigation/src/ArrowNavigation/Arrow.tsx +58 -58
  807. package/packages/mouse-navigation/src/ArrowNavigation/ArrowNavigation.tsx +95 -95
  808. package/packages/mouse-navigation/src/ArrowNavigation/__test__/Arrow.spec.tsx +35 -35
  809. package/packages/mouse-navigation/src/ArrowNavigation/__test__/ArrowNavigation.spec.tsx +45 -45
  810. package/packages/mouse-navigation/src/ArrowNavigation/index.tsx +1 -1
  811. package/packages/mouse-navigation/src/MouseElementWrapper.tsx +70 -70
  812. package/packages/mouse-navigation/src/MouseNavigation.tsx +157 -157
  813. package/packages/mouse-navigation/src/MouseNavigationInterface.ts +8 -8
  814. package/packages/mouse-navigation/src/index.ts +3 -3
  815. package/packages/numeric-zapper/README.md +153 -153
  816. package/packages/numeric-zapper/src/NumericZapper.scss +20 -20
  817. package/packages/numeric-zapper/src/NumericZapper.styles.1080.scss +2 -2
  818. package/packages/numeric-zapper/src/NumericZapper.styles.scss +2 -2
  819. package/packages/numeric-zapper/src/NumericZapper.tsx +257 -257
  820. package/packages/numeric-zapper/src/ZapperAllower.ts +15 -15
  821. package/packages/numeric-zapper/src/ZapperService.tsx +8 -8
  822. package/packages/numeric-zapper/src/_sizes.1080.scss +7 -7
  823. package/packages/numeric-zapper/src/_sizes.scss +7 -7
  824. package/packages/numeric-zapper/src/index.ts +4 -4
  825. package/packages/numeric-zapper/src/interface.ts +1 -1
  826. package/packages/numeric-zapper/src/styles.ts +1 -1
  827. package/packages/perf-utils/README.md +7 -7
  828. package/packages/perf-utils/src/array/filter.ts +1 -1
  829. package/packages/perf-utils/src/array/find.ts +1 -1
  830. package/packages/perf-utils/src/array/findIndex.ts +1 -1
  831. package/packages/perf-utils/src/array/forEach.ts +1 -1
  832. package/packages/perf-utils/src/array/includes.ts +1 -1
  833. package/packages/perf-utils/src/array/includesNaN.ts +1 -1
  834. package/packages/perf-utils/src/array/index.ts +1 -1
  835. package/packages/perf-utils/src/array/map.ts +1 -1
  836. package/packages/picker/README.md +70 -70
  837. package/packages/picker/src/DatePicker.tsx +55 -55
  838. package/packages/picker/src/ModalPicker/Checkbox.tsx +38 -38
  839. package/packages/picker/src/ModalPicker/PickerItem.tsx +86 -86
  840. package/packages/picker/src/ModalPicker/PickerModal.tsx +98 -98
  841. package/packages/picker/src/ModalPicker/index.ts +1 -1
  842. package/packages/picker/src/ModalPicker/modalPicker.tsx +48 -48
  843. package/packages/picker/src/Picker.tsx +127 -127
  844. package/packages/picker/src/index.ts +3 -3
  845. package/packages/picker/src/types.ts +25 -25
  846. package/packages/pin-input/README.md +55 -55
  847. package/packages/pin-input/src/PinInput.scss +5 -5
  848. package/packages/pin-input/src/PinInput.tsx +169 -169
  849. package/packages/pin-input/src/index.ts +1 -1
  850. package/packages/player-ui/README.md +207 -207
  851. package/packages/player-ui/src/BackwardButton.tsx +41 -41
  852. package/packages/player-ui/src/CurrentTime.tsx +56 -56
  853. package/packages/player-ui/src/Duration.tsx +60 -60
  854. package/packages/player-ui/src/ForwardButton.tsx +41 -41
  855. package/packages/player-ui/src/PauseButton.tsx +57 -57
  856. package/packages/player-ui/src/PlayButton.tsx +57 -57
  857. package/packages/player-ui/src/PlayPauseButton.tsx +63 -63
  858. package/packages/player-ui/src/PlayerInteractable.tsx +67 -67
  859. package/packages/player-ui/src/PlayerTime.tsx +57 -57
  860. package/packages/player-ui/src/PlayerUI.tsx +267 -267
  861. package/packages/player-ui/src/RemainingTime.tsx +74 -74
  862. package/packages/player-ui/src/Seekbar.tsx +274 -274
  863. package/packages/player-ui/src/Seeking.ts +163 -163
  864. package/packages/player-ui/src/StopButton.tsx +35 -35
  865. package/packages/player-ui/src/Subtitles.tsx +151 -151
  866. package/packages/player-ui/src/index.ts +15 -15
  867. package/packages/player-ui/src/mocks.ts +65 -65
  868. package/packages/player-ui/src/timeUtils.ts +142 -142
  869. package/packages/player-ui/src/types.ts +48 -48
  870. package/packages/progress-bar/README.md +31 -31
  871. package/packages/progress-bar/src/ProgressBar.tsx +41 -41
  872. package/packages/progress-bar/src/index.ts +1 -1
  873. package/packages/progress-bar/src/interface.ts +14 -14
  874. package/packages/qr-code/README.md +79 -79
  875. package/packages/qr-code/src/QRCode.tsx +39 -39
  876. package/packages/qr-code/src/index.ts +2 -2
  877. package/packages/qr-code/src/qrGenerator/__external__/constants.ts +23 -23
  878. package/packages/qr-code/src/qrGenerator/__external__/qrcode.d.ts +31 -31
  879. package/packages/qr-code/src/qrGenerator/__external__/qrcode.js +618 -618
  880. package/packages/qr-code/src/qrGenerator/generateQr.ts +7 -7
  881. package/packages/qr-code/src/qrGenerator/index.ts +3 -3
  882. package/packages/router/README.md +163 -163
  883. package/packages/router/src/Route.tsx +166 -166
  884. package/packages/router/src/Router.tsx +220 -220
  885. package/packages/router/src/focusActiveRoute.ts +5 -5
  886. package/packages/router/src/history.ts +31 -31
  887. package/packages/router/src/index.ts +6 -6
  888. package/packages/router/src/types.ts +13 -13
  889. package/packages/router/src/utils.ts +35 -35
  890. package/packages/runtime-config/README.md +37 -37
  891. package/packages/runtime-config/src/Config.ts +44 -44
  892. package/packages/runtime-config/src/index.ts +1 -1
  893. package/packages/sass-utils/README.md +197 -197
  894. package/packages/sass-utils/src/box-shadow.scss +5 -5
  895. package/packages/sass-utils/src/ellipsis.scss +15 -15
  896. package/packages/sass-utils/src/linear-gradient.scss +43 -43
  897. package/packages/sass-utils/src/prefix-property.scss +7 -7
  898. package/packages/sass-utils/src/prefix-value.scss +6 -6
  899. package/packages/sass-utils/src/prefix.scss +6 -6
  900. package/packages/sass-utils/src/scale.1080.scss +3 -3
  901. package/packages/sass-utils/src/scale.720.scss +5 -5
  902. package/packages/sass-utils/src/transform.scss +5 -5
  903. package/packages/sass-utils/src/transition.scss +6 -6
  904. package/packages/scheduler/README.md +55 -55
  905. package/packages/scheduler/src/Scheduler.ts +43 -43
  906. package/packages/scheduler/src/Task.ts +72 -72
  907. package/packages/scheduler/src/index.ts +4 -4
  908. package/packages/scheduler/src/timeProvider.ts +3 -3
  909. package/packages/scroll-text/README.md +77 -77
  910. package/packages/scroll-text/src/Base.tsx +146 -146
  911. package/packages/scroll-text/src/ScrollText.animated.tsx +80 -80
  912. package/packages/scroll-text/src/ScrollText.tsx +53 -53
  913. package/packages/scroll-text/src/ScrollTextBaseClass.tsx +86 -86
  914. package/packages/scroll-text/src/index.ts +1 -1
  915. package/packages/scroller/README.md +77 -77
  916. package/packages/scroller/src/Scroller.tsx +51 -51
  917. package/packages/scroller/src/index.ts +1 -1
  918. package/packages/splash/AnimatedSplash.ts +1 -1
  919. package/packages/splash/AnimatedSplashAnimated.ts +1 -1
  920. package/packages/splash/AnimatedSplashBasic.ts +1 -1
  921. package/packages/splash/AutomaticSplashAnimated.ts +1 -1
  922. package/packages/splash/AutomaticSplashBasic.ts +1 -1
  923. package/packages/splash/README.md +93 -93
  924. package/packages/splash/StaticSplash.ts +1 -1
  925. package/packages/splash/StaticSplashAnimated.ts +1 -1
  926. package/packages/splash/StaticSplashBasic.ts +1 -1
  927. package/packages/splash/src/AnimatedSplash.animated.tsx +78 -78
  928. package/packages/splash/src/AnimatedSplash.basic.tsx +37 -37
  929. package/packages/splash/src/AutomaticSplash.animated.tsx +20 -20
  930. package/packages/splash/src/AutomaticSplash.basic.tsx +20 -20
  931. package/packages/splash/src/Splash.scss +8 -8
  932. package/packages/splash/src/StaticSplash.animated.tsx +48 -48
  933. package/packages/splash/src/StaticSplash.basic.tsx +26 -26
  934. package/packages/splash/src/index.animated.ts +1 -1
  935. package/packages/splash/src/index.ts +1 -1
  936. package/packages/splash/src/styles.ts +1 -1
  937. package/packages/splash/src/types.ts +20 -20
  938. package/packages/storage/README.md +61 -61
  939. package/packages/storage/src/CookieStorage/CookieStorage.ts +57 -57
  940. package/packages/storage/src/CookieStorage/index.ts +1 -1
  941. package/packages/storage/src/LocalStorage/LocalStorage.ts +58 -58
  942. package/packages/storage/src/LocalStorage/index.ts +1 -1
  943. package/packages/storage/src/index.ts +2 -2
  944. package/packages/storage/src/shared.ts +41 -41
  945. package/packages/storage/src/types.ts +33 -33
  946. package/packages/throbber/README.md +53 -53
  947. package/packages/throbber/src/Throbber.scss +52 -52
  948. package/packages/throbber/src/Throbber.tsx +19 -19
  949. package/packages/throbber/src/ThrobberService.tsx +55 -55
  950. package/packages/throbber/src/controlsHandling.ts +14 -14
  951. package/packages/throbber/src/index.ts +2 -2
  952. package/packages/time/README.md +116 -116
  953. package/packages/time/src/Time.ts +257 -257
  954. package/packages/time/src/adapters/24iMediaTimeApi.ts +47 -47
  955. package/packages/time/src/adapters/worldTimeApi.ts +74 -74
  956. package/packages/time/src/constants.ts +14 -14
  957. package/packages/time/src/index.ts +1 -1
  958. package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +43 -43
  959. package/packages/time/src/services/24iMediaTimeApi/index.ts +6 -6
  960. package/packages/time/src/services/worldTimeApi/index.ts +7 -7
  961. package/packages/time/src/services/worldTimeApi/types.ts +75 -75
  962. package/packages/time/src/services/worldTimeApi/worldTimeApi.ts +77 -77
  963. package/packages/time/src/types.ts +39 -39
  964. package/packages/time/src/utils.ts +79 -79
  965. package/packages/toast/README.md +116 -116
  966. package/packages/toast/src/Toast/IVisualController.ts +7 -7
  967. package/packages/toast/src/Toast/Toast.scss +22 -22
  968. package/packages/toast/src/Toast/Toast.styles.1080.scss +2 -2
  969. package/packages/toast/src/Toast/Toast.styles.scss +2 -2
  970. package/packages/toast/src/Toast/Toast.tsx +83 -83
  971. package/packages/toast/src/Toast/VisualController.animated.ts +20 -20
  972. package/packages/toast/src/Toast/VisualController.ts +9 -9
  973. package/packages/toast/src/Toast/_sizes.1080.scss +8 -8
  974. package/packages/toast/src/Toast/_sizes.scss +8 -8
  975. package/packages/toast/src/Toast/index.ts +2 -2
  976. package/packages/toast/src/Toast/styles.ts +1 -1
  977. package/packages/toast/src/ToastService.scss +8 -8
  978. package/packages/toast/src/ToastService.styles.1080.scss +2 -2
  979. package/packages/toast/src/ToastService.styles.scss +2 -2
  980. package/packages/toast/src/ToastService.tsx +59 -59
  981. package/packages/toast/src/_sizes.1080.scss +2 -2
  982. package/packages/toast/src/_sizes.scss +2 -2
  983. package/packages/toast/src/index.ts +4 -4
  984. package/packages/toast/src/types.ts +4 -4
  985. package/packages/types-bigscreen-jsx/README.md +12 -12
  986. package/packages/types-bigscreen-jsx/global.d.ts +0 -0
  987. package/packages/types-bigscreen-jsx/index.d.ts +32 -32
  988. package/packages/types-bigscreen-jsx/src/copyTypes.js +14 -14
  989. package/packages/utils/README.md +363 -363
  990. package/packages/utils/src/addClass.ts +9 -9
  991. package/packages/utils/src/counter.ts +49 -49
  992. package/packages/utils/src/debounce.ts +54 -54
  993. package/packages/utils/src/displayToggler.scss +3 -3
  994. package/packages/utils/src/displayToggler.ts +38 -38
  995. package/packages/utils/src/elementUtils.ts +105 -105
  996. package/packages/utils/src/forceReflow.ts +14 -14
  997. package/packages/utils/src/generateUuid.ts +19 -19
  998. package/packages/utils/src/index.ts +43 -43
  999. package/packages/utils/src/keyPress/index.ts +6 -6
  1000. package/packages/utils/src/keyPress/keyPressSimulator.ts +74 -74
  1001. package/packages/utils/src/keyPress/simulateKeyPress.ts +25 -25
  1002. package/packages/utils/src/memoryInfo.ts +21 -21
  1003. package/packages/utils/src/nTimes.ts +9 -9
  1004. package/packages/utils/src/noop.ts +1 -1
  1005. package/packages/utils/src/offsetPosition.ts +56 -56
  1006. package/packages/utils/src/removeClass.ts +9 -9
  1007. package/packages/utils/src/scaledImage.ts +24 -24
  1008. package/packages/utils/src/sizes.1080.ts +1 -1
  1009. package/packages/utils/src/sizes.ts +1 -1
  1010. package/packages/utils/src/stopEvent.ts +10 -10
  1011. package/packages/utils/src/textUtils.ts +57 -57
  1012. package/packages/utils/src/timeConstants.ts +11 -11
  1013. package/packages/utils/src/timers/createInterval.ts +19 -19
  1014. package/packages/utils/src/timers/createTimeout.ts +22 -22
  1015. package/packages/utils/src/timers/index.ts +4 -4
  1016. package/packages/utils/src/timers/runAsync.ts +3 -3
  1017. package/packages/utils/src/timers/types.ts +9 -9
  1018. package/packages/utils/src/wait.ts +3 -3
  1019. package/packages/utils/src/xhr/__mocks__/xhr.ts +29 -29
  1020. package/packages/utils/src/xhr/index.ts +11 -11
  1021. package/packages/utils/src/xhr/xhrSend.ts +141 -141
  1022. package/packages/utils/src/xhr/xhrSendRetry.ts +79 -79
  1023. package/packages/volume-control/README.md +79 -79
  1024. package/packages/volume-control/src/IVolumeControlUI.ts +26 -26
  1025. package/packages/volume-control/src/VolumeControlService.tsx +110 -110
  1026. package/packages/volume-control/src/VolumeControlUI/VisualController.animated.ts +28 -28
  1027. package/packages/volume-control/src/VolumeControlUI/VisualController.ts +3 -3
  1028. package/packages/volume-control/src/VolumeControlUI/VisualControllerBase.ts +26 -26
  1029. package/packages/volume-control/src/VolumeControlUI/VolumeControl.scss +18 -18
  1030. package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.animated.scss +2 -2
  1031. package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.scss +1 -1
  1032. package/packages/volume-control/src/VolumeControlUI/VolumeControlUI.tsx +80 -80
  1033. package/packages/volume-control/src/VolumeControlUI/_animated.scss +8 -8
  1034. package/packages/volume-control/src/VolumeControlUI/index.ts +1 -1
  1035. package/packages/volume-control/src/__mocks__/VolumeControlUIMock.tsx +22 -22
  1036. package/packages/volume-control/src/index.ts +2 -2
  1037. package/packages/zapping/README.md +87 -87
  1038. package/packages/zapping/src/ChannelZapping.ts +143 -143
  1039. package/packages/zapping/src/Zapping.tsx +115 -115
  1040. package/packages/zapping/src/index.ts +1 -1
  1041. package/packages/zapping/src/interface.ts +1 -1
  1042. package/utils/create-export-maps/index.ts +3 -3
  1043. package/utils/create-export-maps/src/__tests__/createExportMaps.spec.ts +50 -50
  1044. package/utils/create-export-maps/src/createExportMaps.ts +61 -61
  1045. package/utils/create-package/README.md +39 -39
  1046. package/utils/create-package/src/createPackage.ts +72 -72
  1047. package/utils/create-package/src/index.ts +3 -3
  1048. package/utils/create-package/src/questionnaire/questions.ts +19 -19
  1049. package/utils/create-package/src/settings/Settings.ts +5 -5
  1050. package/utils/create-package/src/types.ts +4 -4
  1051. package/utils/create-package/templates/typescript/README.md +8 -8
  1052. package/utils/create-package/templates/typescript/exports.json +6 -6
  1053. package/utils/run-scripts/index.ts +3 -3
  1054. package/utils/run-scripts/src/__tests__/runScripts.spec.ts +45 -45
  1055. package/utils/run-scripts/src/runScripts.ts +20 -20
@@ -1,363 +1,363 @@
1
- ---
2
- id: README
3
- title: Utils
4
- hide_title: true
5
- sidebar_label: Utils
6
- ---
7
-
8
- # Utils
9
- This package is a set of tools that do not fit to any other package.
10
-
11
- You can either import all utils if you use it like this:
12
- ```ts
13
- import { generateUuid } from '@24i/bigscreen-sdk/utils';
14
- ```
15
- Or you can import single functions like this:
16
- ```ts
17
- import { generateUuid } from '@24i/bigscreen-sdk/utils/generateUuid';
18
- ```
19
-
20
- ## Available utils
21
- - **[addClass](#addClass)** - safely adds class to reference.
22
- - **[debounce](#debounce)** - debounced function is only executed again after a period of not being called, supports leading, trailing (default) and both executions.
23
- - **[displayToggler](#displayToggler)** - exports `getDisplayToggler` that allows you to easily show/hide an element with guard preventing unnecessary DOM calls.
24
- - **[elementUtils](#elementUtils)** - various utils above HTMLElement.
25
- - **[forceReflow](#forceReflow)** - To force a DOM reflow on given DOM element.
26
- - **[generateUuid](#generateUuid)** - function to get UUIDv4 according to RFC 4122.
27
- - **[isMouseUsed](#isMouseUsed)** - **DEPRECATED** moved to `device` package.
28
- - **[memoryInfo](#memoryInfo)** - two functions that returns currently active segment size and total allocated size of JS heap, in bytes.
29
- - **[noop](#noop)** - for all your noop needs, keep only 1 reference.
30
- - **[nTimes](#nTimes)** - for generating n of something (e.g. 4 same elements).
31
- - **[offsetPosition](#offsetPosition)** - safely sets references transform to translate x/y, uses top/left if transform not supported, allows for forcing top/left or transform mode.
32
- - **[removeClass](#removeClass)** - safely removes class from reference.
33
- - **[scaledImage](#scaledImage)** - returns URL for scaledImage.
34
- - **[stopEvent](#stopEvent)** - calls stopPropagation and preventDefault on provided event.
35
- - **[timeConstants](#timeConstants)** - exports frequently used time constants.
36
- - **[timers](#timers)** - functions to simplify work with setTimeout and setInterval.
37
- - **[counter](#counter)** - exports `createCounter` that allows you to add value to counter till callback is triggered at some point.
38
- - **[xhr](#xhr)** - provides wrap over `XMLHttpRequest`, with the possibility to repeat the failing request.
39
- - **[simulateKeyPress](#simulateKeyPress)** - simulate key press in the `keydown` handler.
40
- - **[keyPressSimulator](#keyPressSimulator)** - simulate key press globally for the specific keys.
41
-
42
- ### addClass
43
- Adds a class to the element in the reference.
44
-
45
- It takes two params:
46
- - `element: Reference<HTMLElement>` - ref to element to which to add the class
47
- - `class: string` - class to add
48
-
49
- ### debounce
50
- Debounces the function to prevent too frequent calls.
51
-
52
- It takes 2 mandatory and 1 optional param:
53
- - `func: Function` - function to debounce
54
- - `debounceTime: number` - time of debounce in ms
55
- - `{ leading?, trailing? }?: DebounceConfig = { trailing: true }` - setting whether to call on leading or trailing edge
56
- **Usage**
57
- ```ts
58
- showVertical = debounce((model: Program) => {
59
- // implementation
60
- }, this.props.verticalDebounceTime);
61
-
62
- showHorizontal = debounce((model: Program) => {
63
- // implementation
64
- }, this.props.horizontalDebounceTime);
65
-
66
- show(model: Program) {
67
- const isVertical = // some condition
68
- this.activeDebounce?.cancel();
69
- this.activeDebounce = isVertical ? this.showVertical(model) : this.showHorizontal(model);
70
- }
71
- ```
72
-
73
- ### displayToggler
74
- Unifies showing and hiding an element. Has guard to prevent multiple unnecessary DOM calls.
75
- It is important to correctly set the `initialIsHidden` value and not to change the display class in other ways.
76
- You can keep calling show/hide multiple times in a row. Classlist will be accessed and edited only once.
77
- It imports the needed styles for you so you do not need to take care of that in the project.
78
- ```scss
79
- .display-none {
80
- display: none;
81
- }
82
- ```
83
-
84
- It exports 3 values:
85
- - `DISPLAY_NONE` - string `display-none` (class name)
86
- - `getDisplayToggler` - setup function with element and initial shown/hide value
87
- - `IDisplayToggler` - interface returned by `getDisplayToggler`
88
-
89
- `getDisplayToggler` takes 1 mandatory and 1 optional param:
90
- - `element: Reference<HTMLElement>` - element that will be shown/hidden
91
- - `initialIsHidden?: boolean = false` - initial state of hidden value
92
-
93
- And returns `IDisplayToggler` interface with 4 functions:
94
- - `show: () => void;` - removes `display-none` class
95
- - `hide: () => void;` - adds `display-none` class
96
- - `isVisible: () => boolean;` - returns true if the element is visible, false otherwise
97
- - `isHidden: () => boolean;` - returns true if the element is hidden, false otherwise
98
-
99
- ### elementUtils
100
- Various utils for HTMLElement such as visibility tests or element wrapping tests.
101
-
102
- ### forceReflow
103
- To force a DOM reflow on given DOM element. It can be needed for transitions
104
- or other purposes.
105
-
106
- It takes 1 param:
107
- - `elementOrReference: HTMLElement | Reference<HTMLElement>` - DOM element or
108
- reference to element on which reflow is called.
109
-
110
- ```ts
111
- forceReflow(elementRef);
112
- ```
113
-
114
- ### generateUuid
115
- Returns an UUIDv4 according to RFC 4122, like ex. "123e4567-e89b-12d3-a456-426614174000".
116
-
117
- ### isMouseUsed
118
- **DEPRECATED** moved to `device` package.
119
-
120
- ### memoryInfo
121
- It exports 2 function:
122
- - `getUsedJSHeapSize: () => number;` - The currently active segment of JS heap, in bytes.
123
- - `getTotalJSHeapSize: () => number;` - The total allocated heap size, in bytes.
124
-
125
- ### noop
126
- No operation function for your needs.
127
-
128
- ### nTimes
129
- Maps an array of n empty elements to another array. E.g.:
130
- ```tsx
131
- const MAX_DIGITS = 5;
132
-
133
- <div className="numeri-zapper">
134
- {nTimes(MAX_DIGITS, () => <div className="zapper-number">-</div>)}
135
- </div>
136
- ```
137
-
138
- ### offsetPosition
139
- Function to change the position of the element in x, y fashion.
140
- It automatically uses `transform` if available and if not disabled by the application.
141
- It also takes into account the language direction and
142
- automatically flips the x offset for right-to-left cases.
143
-
144
- It takes 2 mandatory params and 1 optional:
145
- - `element: Reference<HTMLElement>` - element which position will be changed
146
- - `offset: { x?: number | string, y?: number | string }` - position offset
147
- You can pass either number or `${number}px` to offset and you can set only one of x, y or both.
148
- - `rtl: boolean = isRtl()` - boolean flag setting text direction defaulting to used language.
149
-
150
- It also has 3 namespaced functions for your control:
151
- - `offsetPosition.usesTransform() => boolean` - returns true if transform is used
152
- - `offsetPosition.forceTransform() => void` - enforces the use of transform
153
- - `offsetPosition.forceTopLeft() => void` - enforces the use of top/left properties
154
-
155
- ### removeClass
156
- Removes a class from the element in the reference.
157
-
158
- It takes 2 params:
159
- - `element: Reference<HTMLElement>` - ref to element from which to remove the class
160
- - `class: string` - class to remove
161
-
162
- ### scaledImage
163
- Returns the URL for scaled image
164
-
165
- It takes 2 required params and 1 optional:
166
- - `url: string` - the URL of image to scale
167
- - `dimensions: { height: number; width: number, fit?: 'cover' | 'contain' | 'inside' }` -
168
- the dimensions of the resulting image, `fit` defaults to `'cover'`
169
- - `scalingServer` - optional base url of scaling server (defaults to `http://imageresize.24i.com`)
170
-
171
- Fit option:
172
- - `cover` - similar to CSS cover it crops the image to fully cover required area with image data
173
- - `contain` - it fits the image inside the required frame and then adds transparent areas to fill
174
- the required size
175
- - `inside` - it fits the image inside the required frame and returns smaller image. (It does not add
176
- the transparent sides like `contain` does.)
177
-
178
- ### stopEvent
179
- Calls `preventDefault` and `stopPropagation`
180
-
181
- It takes 1 param:
182
- - `event: Event` - event to stop
183
-
184
- If you need to stop event immediately, there is also an export `stopEventImmediately` that calls
185
- `stopImmediatePropagation` as well.
186
-
187
- ### timeConstants
188
- ```ts
189
- export const SECONDS_PER_MINUTE = 60;
190
- export const MINUTES_PER_HALF_HOUR = 30;
191
- export const MINUTES_PER_HOUR = 60;
192
- export const HOURS_PER_DAY = 24;
193
- export const DAYS_PER_WEEK = 7;
194
- export const SECOND_IN_MS = 1000;
195
- export const MINUTE_IN_MS = SECOND_IN_MS * SECONDS_PER_MINUTE;
196
- export const HALF_HOUR_IN_MS = MINUTE_IN_MS * MINUTES_PER_HALF_HOUR;
197
- export const HOUR_IN_MS = MINUTE_IN_MS * MINUTES_PER_HOUR;
198
- export const DAY_IN_MS = HOUR_IN_MS * HOURS_PER_DAY;
199
- ```
200
-
201
- ### timers
202
- Timers exports three functions: `createTimeout`, `createInterval` and `runAsync`.
203
-
204
- #### createTimeout and createInterval
205
- `createTimeout` and `createInterval` differ only in calling either set/clearTimeout or set/clearInterval.
206
- Therefore only one is needed to be described. The idea behind these functions is to remove the need
207
- to handle the work with timeout/interval id in the code by yourself.
208
-
209
- They both return the same interface (also exported):
210
- ```ts
211
- interface TimedFunction {
212
- /**
213
- * Function to set timeout or interval the same way you would setTimeout or setInterval
214
- * @param callbackFn function to call on timeout or every interval
215
- * @param timeMs timeout in ms or interval length in ms
216
- */
217
- set: (callbackFn: () => void, timeMs: number) => void,
218
- /**
219
- * Function to cancel the timeout or interval
220
- */
221
- clear: () => void,
222
- /**
223
- * Function that returns true if the timeout or interval is active.
224
- * Timeout: was not yet run && was not cancel (in other words is pending)
225
- * Interval: waiting for next run (in other words was set and not cleared)
226
- */
227
- isActive: () => boolean,
228
- }
229
- ```
230
-
231
- Usual example how you would do it without these utils:
232
- ```ts
233
- class MyComponent extends Component<Props> {
234
- updateIntervalId: number | null = null;
235
-
236
- componentDidMount() {
237
- this.updateIntervalId = window.setInterval(this.onInterval, UPDATE_INTERVAL_TIME);
238
- }
239
-
240
- componentWillUnmount() {
241
- if (this.updateIntervalId !== null) {
242
- window.clearInterval(this.updateIntervalId);
243
- this.updateIntervalId = null;
244
- }
245
- }
246
- }
247
- ```
248
- now with `createInterval`:
249
- ```ts
250
- class MyComponent extends Component<Props> {
251
- updateInterval = createInterval();
252
-
253
- componentDidMount() {
254
- this.updateInterval.set(this.onInterval, UPDATE_INTERVAL_TIME);
255
- }
256
-
257
- componentWillUnmount() {
258
- this.updateInterval.clear();
259
- }
260
- }
261
- ```
262
- Sometimes you also extend the timeout before it runs little bit like this:
263
- ```ts
264
- if (this.debounceTimeoutId) {
265
- window.clearTimeout(this.debounceTimeoutId);
266
- }
267
- this.debounceTimeoutId = window.setTimeout(this.debouncedFn, DEBOUNCE_TIME);
268
- ```
269
- with `createTimeout` you can shorten this to:
270
- ```ts
271
- this.debounceTimeout.set(this.debouncedFn, DEBOUNCE_TIME);
272
- ```
273
- The clearing of the previous timeout is done for you. The same applies to `createInterval`.
274
-
275
- #### runAsync
276
-
277
- `runAsync` is just a tiny utility to make code more readable. From time to time, we need to run part
278
- of the code to run async from the rest. Usually, we do it like this:
279
- ```ts
280
- window.setTimeout(() => {
281
- // code that runs async
282
- }, 0);
283
- ```
284
- with `runAsync` we can write it like this:
285
- ```ts
286
- runAsync(() => {
287
- // code that runs async
288
- });
289
- ```
290
- The advantage is a clear code that tells you nicely what it does (plus it is slightly shorter).
291
-
292
- ### counter
293
- Unify simple functionality of triggering callback after certain value is on or above limit. For example, you need to
294
- trigger callback after 3 iterations increased by number 1, so you will create counter like this:
295
-
296
- ```ts
297
- const counter = createCounter({
298
- triggerAt: 3,
299
- callback: () => { console.log('All systems nominal') }
300
- });
301
-
302
- counter.add(); // increase counter by default number 1
303
- counter.add();
304
- counter.add();
305
- // All systems nominal
306
-
307
- counter.reset();
308
- counter.add(3); // increase counter by custom number 3
309
- // All systems nominal
310
- ```
311
-
312
- ### xhr
313
- Provides wrap over `XMLHttpRequest`, with the possibility to repeat the failing request.
314
- Exports two methods: `xhrSend` and `xhrSendRetry`.
315
-
316
- #### xhrSend
317
- Wrap over `XMLHttpRequest`, without the possibility to repeat the failing request.
318
-
319
- ```ts
320
- const url = 'http://test.com';
321
- const options = {
322
- method: 'POST',
323
- headers: {
324
- headerA: 'headerValueA',
325
- },
326
- body: 'payload data',
327
- };
328
- const response = await xhrSend(url, options);
329
- ```
330
-
331
- #### xhrSendRetry
332
- Wraps `xhrSend` function to allow retrying the failing request X times.
333
-
334
- ```ts
335
- const url = 'http://test.com';
336
- const xhrSendOptions = {
337
- method: 'POST',
338
- headers: {
339
- headerA: 'headerValueA',
340
- },
341
- body: 'payload data',
342
- };
343
- const retryConfig = {
344
- retry: 2,
345
- retryDelay: 10,
346
- shouldRetry: (data: ShouldRetryParam) => {
347
- const { error, response } = data;
348
- if (error) return true;
349
- if (!response || !response.ok) return true;
350
- return false;
351
- },
352
- };
353
- const options = { ...xhrSendOptions, retryConfig };
354
- const response = await xhrSendRetry(url, options);
355
- ```
356
-
357
- ### keyPressSimulator and simulateKeyPress
358
- Modifies `keydown` event behavior to be similar to `keypress` and causes triggering `keydown` event only once
359
- before the key is released. This is because `keypress` event is deprecated and it is not implemented
360
- with the same behavior on all platforms.
361
-
362
- - Use globally for the specific keys with `keyPressSimulator` util.
363
- - Use locally in the `keydown` handler with `simulateKeyPress` util.
1
+ ---
2
+ id: README
3
+ title: Utils
4
+ hide_title: true
5
+ sidebar_label: Utils
6
+ ---
7
+
8
+ # Utils
9
+ This package is a set of tools that do not fit to any other package.
10
+
11
+ You can either import all utils if you use it like this:
12
+ ```ts
13
+ import { generateUuid } from '@24i/bigscreen-sdk/utils';
14
+ ```
15
+ Or you can import single functions like this:
16
+ ```ts
17
+ import { generateUuid } from '@24i/bigscreen-sdk/utils/generateUuid';
18
+ ```
19
+
20
+ ## Available utils
21
+ - **[addClass](#addClass)** - safely adds class to reference.
22
+ - **[debounce](#debounce)** - debounced function is only executed again after a period of not being called, supports leading, trailing (default) and both executions.
23
+ - **[displayToggler](#displayToggler)** - exports `getDisplayToggler` that allows you to easily show/hide an element with guard preventing unnecessary DOM calls.
24
+ - **[elementUtils](#elementUtils)** - various utils above HTMLElement.
25
+ - **[forceReflow](#forceReflow)** - To force a DOM reflow on given DOM element.
26
+ - **[generateUuid](#generateUuid)** - function to get UUIDv4 according to RFC 4122.
27
+ - **[isMouseUsed](#isMouseUsed)** - **DEPRECATED** moved to `device` package.
28
+ - **[memoryInfo](#memoryInfo)** - two functions that returns currently active segment size and total allocated size of JS heap, in bytes.
29
+ - **[noop](#noop)** - for all your noop needs, keep only 1 reference.
30
+ - **[nTimes](#nTimes)** - for generating n of something (e.g. 4 same elements).
31
+ - **[offsetPosition](#offsetPosition)** - safely sets references transform to translate x/y, uses top/left if transform not supported, allows for forcing top/left or transform mode.
32
+ - **[removeClass](#removeClass)** - safely removes class from reference.
33
+ - **[scaledImage](#scaledImage)** - returns URL for scaledImage.
34
+ - **[stopEvent](#stopEvent)** - calls stopPropagation and preventDefault on provided event.
35
+ - **[timeConstants](#timeConstants)** - exports frequently used time constants.
36
+ - **[timers](#timers)** - functions to simplify work with setTimeout and setInterval.
37
+ - **[counter](#counter)** - exports `createCounter` that allows you to add value to counter till callback is triggered at some point.
38
+ - **[xhr](#xhr)** - provides wrap over `XMLHttpRequest`, with the possibility to repeat the failing request.
39
+ - **[simulateKeyPress](#simulateKeyPress)** - simulate key press in the `keydown` handler.
40
+ - **[keyPressSimulator](#keyPressSimulator)** - simulate key press globally for the specific keys.
41
+
42
+ ### addClass
43
+ Adds a class to the element in the reference.
44
+
45
+ It takes two params:
46
+ - `element: Reference<HTMLElement>` - ref to element to which to add the class
47
+ - `class: string` - class to add
48
+
49
+ ### debounce
50
+ Debounces the function to prevent too frequent calls.
51
+
52
+ It takes 2 mandatory and 1 optional param:
53
+ - `func: Function` - function to debounce
54
+ - `debounceTime: number` - time of debounce in ms
55
+ - `{ leading?, trailing? }?: DebounceConfig = { trailing: true }` - setting whether to call on leading or trailing edge
56
+ **Usage**
57
+ ```ts
58
+ showVertical = debounce((model: Program) => {
59
+ // implementation
60
+ }, this.props.verticalDebounceTime);
61
+
62
+ showHorizontal = debounce((model: Program) => {
63
+ // implementation
64
+ }, this.props.horizontalDebounceTime);
65
+
66
+ show(model: Program) {
67
+ const isVertical = // some condition
68
+ this.activeDebounce?.cancel();
69
+ this.activeDebounce = isVertical ? this.showVertical(model) : this.showHorizontal(model);
70
+ }
71
+ ```
72
+
73
+ ### displayToggler
74
+ Unifies showing and hiding an element. Has guard to prevent multiple unnecessary DOM calls.
75
+ It is important to correctly set the `initialIsHidden` value and not to change the display class in other ways.
76
+ You can keep calling show/hide multiple times in a row. Classlist will be accessed and edited only once.
77
+ It imports the needed styles for you so you do not need to take care of that in the project.
78
+ ```scss
79
+ .display-none {
80
+ display: none;
81
+ }
82
+ ```
83
+
84
+ It exports 3 values:
85
+ - `DISPLAY_NONE` - string `display-none` (class name)
86
+ - `getDisplayToggler` - setup function with element and initial shown/hide value
87
+ - `IDisplayToggler` - interface returned by `getDisplayToggler`
88
+
89
+ `getDisplayToggler` takes 1 mandatory and 1 optional param:
90
+ - `element: Reference<HTMLElement>` - element that will be shown/hidden
91
+ - `initialIsHidden?: boolean = false` - initial state of hidden value
92
+
93
+ And returns `IDisplayToggler` interface with 4 functions:
94
+ - `show: () => void;` - removes `display-none` class
95
+ - `hide: () => void;` - adds `display-none` class
96
+ - `isVisible: () => boolean;` - returns true if the element is visible, false otherwise
97
+ - `isHidden: () => boolean;` - returns true if the element is hidden, false otherwise
98
+
99
+ ### elementUtils
100
+ Various utils for HTMLElement such as visibility tests or element wrapping tests.
101
+
102
+ ### forceReflow
103
+ To force a DOM reflow on given DOM element. It can be needed for transitions
104
+ or other purposes.
105
+
106
+ It takes 1 param:
107
+ - `elementOrReference: HTMLElement | Reference<HTMLElement>` - DOM element or
108
+ reference to element on which reflow is called.
109
+
110
+ ```ts
111
+ forceReflow(elementRef);
112
+ ```
113
+
114
+ ### generateUuid
115
+ Returns an UUIDv4 according to RFC 4122, like ex. "123e4567-e89b-12d3-a456-426614174000".
116
+
117
+ ### isMouseUsed
118
+ **DEPRECATED** moved to `device` package.
119
+
120
+ ### memoryInfo
121
+ It exports 2 function:
122
+ - `getUsedJSHeapSize: () => number;` - The currently active segment of JS heap, in bytes.
123
+ - `getTotalJSHeapSize: () => number;` - The total allocated heap size, in bytes.
124
+
125
+ ### noop
126
+ No operation function for your needs.
127
+
128
+ ### nTimes
129
+ Maps an array of n empty elements to another array. E.g.:
130
+ ```tsx
131
+ const MAX_DIGITS = 5;
132
+
133
+ <div className="numeri-zapper">
134
+ {nTimes(MAX_DIGITS, () => <div className="zapper-number">-</div>)}
135
+ </div>
136
+ ```
137
+
138
+ ### offsetPosition
139
+ Function to change the position of the element in x, y fashion.
140
+ It automatically uses `transform` if available and if not disabled by the application.
141
+ It also takes into account the language direction and
142
+ automatically flips the x offset for right-to-left cases.
143
+
144
+ It takes 2 mandatory params and 1 optional:
145
+ - `element: Reference<HTMLElement>` - element which position will be changed
146
+ - `offset: { x?: number | string, y?: number | string }` - position offset
147
+ You can pass either number or `${number}px` to offset and you can set only one of x, y or both.
148
+ - `rtl: boolean = isRtl()` - boolean flag setting text direction defaulting to used language.
149
+
150
+ It also has 3 namespaced functions for your control:
151
+ - `offsetPosition.usesTransform() => boolean` - returns true if transform is used
152
+ - `offsetPosition.forceTransform() => void` - enforces the use of transform
153
+ - `offsetPosition.forceTopLeft() => void` - enforces the use of top/left properties
154
+
155
+ ### removeClass
156
+ Removes a class from the element in the reference.
157
+
158
+ It takes 2 params:
159
+ - `element: Reference<HTMLElement>` - ref to element from which to remove the class
160
+ - `class: string` - class to remove
161
+
162
+ ### scaledImage
163
+ Returns the URL for scaled image
164
+
165
+ It takes 2 required params and 1 optional:
166
+ - `url: string` - the URL of image to scale
167
+ - `dimensions: { height: number; width: number, fit?: 'cover' | 'contain' | 'inside' }` -
168
+ the dimensions of the resulting image, `fit` defaults to `'cover'`
169
+ - `scalingServer` - optional base url of scaling server (defaults to `http://imageresize.24i.com`)
170
+
171
+ Fit option:
172
+ - `cover` - similar to CSS cover it crops the image to fully cover required area with image data
173
+ - `contain` - it fits the image inside the required frame and then adds transparent areas to fill
174
+ the required size
175
+ - `inside` - it fits the image inside the required frame and returns smaller image. (It does not add
176
+ the transparent sides like `contain` does.)
177
+
178
+ ### stopEvent
179
+ Calls `preventDefault` and `stopPropagation`
180
+
181
+ It takes 1 param:
182
+ - `event: Event` - event to stop
183
+
184
+ If you need to stop event immediately, there is also an export `stopEventImmediately` that calls
185
+ `stopImmediatePropagation` as well.
186
+
187
+ ### timeConstants
188
+ ```ts
189
+ export const SECONDS_PER_MINUTE = 60;
190
+ export const MINUTES_PER_HALF_HOUR = 30;
191
+ export const MINUTES_PER_HOUR = 60;
192
+ export const HOURS_PER_DAY = 24;
193
+ export const DAYS_PER_WEEK = 7;
194
+ export const SECOND_IN_MS = 1000;
195
+ export const MINUTE_IN_MS = SECOND_IN_MS * SECONDS_PER_MINUTE;
196
+ export const HALF_HOUR_IN_MS = MINUTE_IN_MS * MINUTES_PER_HALF_HOUR;
197
+ export const HOUR_IN_MS = MINUTE_IN_MS * MINUTES_PER_HOUR;
198
+ export const DAY_IN_MS = HOUR_IN_MS * HOURS_PER_DAY;
199
+ ```
200
+
201
+ ### timers
202
+ Timers exports three functions: `createTimeout`, `createInterval` and `runAsync`.
203
+
204
+ #### createTimeout and createInterval
205
+ `createTimeout` and `createInterval` differ only in calling either set/clearTimeout or set/clearInterval.
206
+ Therefore only one is needed to be described. The idea behind these functions is to remove the need
207
+ to handle the work with timeout/interval id in the code by yourself.
208
+
209
+ They both return the same interface (also exported):
210
+ ```ts
211
+ interface TimedFunction {
212
+ /**
213
+ * Function to set timeout or interval the same way you would setTimeout or setInterval
214
+ * @param callbackFn function to call on timeout or every interval
215
+ * @param timeMs timeout in ms or interval length in ms
216
+ */
217
+ set: (callbackFn: () => void, timeMs: number) => void,
218
+ /**
219
+ * Function to cancel the timeout or interval
220
+ */
221
+ clear: () => void,
222
+ /**
223
+ * Function that returns true if the timeout or interval is active.
224
+ * Timeout: was not yet run && was not cancel (in other words is pending)
225
+ * Interval: waiting for next run (in other words was set and not cleared)
226
+ */
227
+ isActive: () => boolean,
228
+ }
229
+ ```
230
+
231
+ Usual example how you would do it without these utils:
232
+ ```ts
233
+ class MyComponent extends Component<Props> {
234
+ updateIntervalId: number | null = null;
235
+
236
+ componentDidMount() {
237
+ this.updateIntervalId = window.setInterval(this.onInterval, UPDATE_INTERVAL_TIME);
238
+ }
239
+
240
+ componentWillUnmount() {
241
+ if (this.updateIntervalId !== null) {
242
+ window.clearInterval(this.updateIntervalId);
243
+ this.updateIntervalId = null;
244
+ }
245
+ }
246
+ }
247
+ ```
248
+ now with `createInterval`:
249
+ ```ts
250
+ class MyComponent extends Component<Props> {
251
+ updateInterval = createInterval();
252
+
253
+ componentDidMount() {
254
+ this.updateInterval.set(this.onInterval, UPDATE_INTERVAL_TIME);
255
+ }
256
+
257
+ componentWillUnmount() {
258
+ this.updateInterval.clear();
259
+ }
260
+ }
261
+ ```
262
+ Sometimes you also extend the timeout before it runs little bit like this:
263
+ ```ts
264
+ if (this.debounceTimeoutId) {
265
+ window.clearTimeout(this.debounceTimeoutId);
266
+ }
267
+ this.debounceTimeoutId = window.setTimeout(this.debouncedFn, DEBOUNCE_TIME);
268
+ ```
269
+ with `createTimeout` you can shorten this to:
270
+ ```ts
271
+ this.debounceTimeout.set(this.debouncedFn, DEBOUNCE_TIME);
272
+ ```
273
+ The clearing of the previous timeout is done for you. The same applies to `createInterval`.
274
+
275
+ #### runAsync
276
+
277
+ `runAsync` is just a tiny utility to make code more readable. From time to time, we need to run part
278
+ of the code to run async from the rest. Usually, we do it like this:
279
+ ```ts
280
+ window.setTimeout(() => {
281
+ // code that runs async
282
+ }, 0);
283
+ ```
284
+ with `runAsync` we can write it like this:
285
+ ```ts
286
+ runAsync(() => {
287
+ // code that runs async
288
+ });
289
+ ```
290
+ The advantage is a clear code that tells you nicely what it does (plus it is slightly shorter).
291
+
292
+ ### counter
293
+ Unify simple functionality of triggering callback after certain value is on or above limit. For example, you need to
294
+ trigger callback after 3 iterations increased by number 1, so you will create counter like this:
295
+
296
+ ```ts
297
+ const counter = createCounter({
298
+ triggerAt: 3,
299
+ callback: () => { console.log('All systems nominal') }
300
+ });
301
+
302
+ counter.add(); // increase counter by default number 1
303
+ counter.add();
304
+ counter.add();
305
+ // All systems nominal
306
+
307
+ counter.reset();
308
+ counter.add(3); // increase counter by custom number 3
309
+ // All systems nominal
310
+ ```
311
+
312
+ ### xhr
313
+ Provides wrap over `XMLHttpRequest`, with the possibility to repeat the failing request.
314
+ Exports two methods: `xhrSend` and `xhrSendRetry`.
315
+
316
+ #### xhrSend
317
+ Wrap over `XMLHttpRequest`, without the possibility to repeat the failing request.
318
+
319
+ ```ts
320
+ const url = 'http://test.com';
321
+ const options = {
322
+ method: 'POST',
323
+ headers: {
324
+ headerA: 'headerValueA',
325
+ },
326
+ body: 'payload data',
327
+ };
328
+ const response = await xhrSend(url, options);
329
+ ```
330
+
331
+ #### xhrSendRetry
332
+ Wraps `xhrSend` function to allow retrying the failing request X times.
333
+
334
+ ```ts
335
+ const url = 'http://test.com';
336
+ const xhrSendOptions = {
337
+ method: 'POST',
338
+ headers: {
339
+ headerA: 'headerValueA',
340
+ },
341
+ body: 'payload data',
342
+ };
343
+ const retryConfig = {
344
+ retry: 2,
345
+ retryDelay: 10,
346
+ shouldRetry: (data: ShouldRetryParam) => {
347
+ const { error, response } = data;
348
+ if (error) return true;
349
+ if (!response || !response.ok) return true;
350
+ return false;
351
+ },
352
+ };
353
+ const options = { ...xhrSendOptions, retryConfig };
354
+ const response = await xhrSendRetry(url, options);
355
+ ```
356
+
357
+ ### keyPressSimulator and simulateKeyPress
358
+ Modifies `keydown` event behavior to be similar to `keypress` and causes triggering `keydown` event only once
359
+ before the key is released. This is because `keypress` event is deprecated and it is not implemented
360
+ with the same behavior on all platforms.
361
+
362
+ - Use globally for the specific keys with `keyPressSimulator` util.
363
+ - Use locally in the `keydown` handler with `simulateKeyPress` util.