@24i/bigscreen-sdk 1.0.40-alpha.2687 → 1.0.41-alpha.2695

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 (1095) hide show
  1. package/.vscode/settings.json +6 -0
  2. package/README.md +47 -47
  3. package/__mocks__/@24i/bigscreen-sdk/animations.ts +2 -2
  4. package/package.json +1 -1
  5. package/packages/adobe-heartbeat/README.md +46 -46
  6. package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +244 -244
  7. package/packages/adobe-heartbeat/src/__external__/Adobe/Adobe.d.ts +24 -24
  8. package/packages/adobe-heartbeat/src/__external__/Adobe/MediaSDK.min.d.ts +126 -126
  9. package/packages/adobe-heartbeat/src/__external__/Adobe/MediaSDK.min.js +76 -76
  10. package/packages/adobe-heartbeat/src/index.ts +5 -5
  11. package/packages/adobe-heartbeat/src/types.ts +67 -67
  12. package/packages/analytics/README.md +7 -7
  13. package/packages/analytics/src/A.ts +1 -1
  14. package/packages/analytics/src/Analytics.ts +1 -1
  15. package/packages/analytics/src/analyticsOnScroll.ts +1 -1
  16. package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +1 -1
  17. package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +1 -1
  18. package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +200 -200
  19. package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +118 -118
  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/TealiumAnalytics/TealiumAnalytics.ts +178 -169
  26. package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +102 -102
  27. package/packages/analytics/src/clients/TealiumAnalytics/findIdForLanguage.ts +9 -9
  28. package/packages/analytics/src/clients/TealiumAnalytics/index.ts +4 -4
  29. package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +33 -33
  30. package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +70 -70
  31. package/packages/analytics/src/clients/TealiumAnalytics/mappers/helper.ts +36 -36
  32. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppError.ts +13 -13
  33. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteAdd.ts +11 -11
  34. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteRemove.ts +11 -11
  35. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerClose.ts +15 -15
  36. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerOpen.ts +15 -15
  37. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSceneView.ts +18 -18
  38. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearch.ts +18 -18
  39. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchFailed.ts +8 -8
  40. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchSuccess.ts +8 -8
  41. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoPause.ts +15 -15
  42. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoProgress.ts +18 -18
  43. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoResume.ts +15 -15
  44. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStart.ts +15 -15
  45. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStop.ts +15 -15
  46. package/packages/analytics/src/clients/TealiumAnalytics/types.ts +156 -156
  47. package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +116 -116
  48. package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +99 -99
  49. package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +34 -34
  50. package/packages/analytics/src/clients/TwentyFourIQ/index.ts +2 -2
  51. package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +31 -31
  52. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdLoaded.ts +13 -13
  53. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdSkipped.ts +16 -16
  54. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +21 -21
  55. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +15 -15
  56. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +24 -24
  57. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +18 -18
  58. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +15 -15
  59. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +17 -17
  60. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +21 -21
  61. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +24 -24
  62. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +24 -24
  63. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +34 -34
  64. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +32 -32
  65. package/packages/analytics/src/clients/TwentyFourIQ/types.ts +115 -115
  66. package/packages/analytics/src/constants.ts +1 -1
  67. package/packages/analytics/src/index.ts +3 -3
  68. package/packages/analytics/src/interface.ts +1 -1
  69. package/packages/analytics/src/utils/generateSessionId.ts +8 -8
  70. package/packages/animations/README.md +85 -85
  71. package/packages/animations/src/AnimationUtils.ts +238 -238
  72. package/packages/animations/src/JSAnimations.ts +144 -144
  73. package/packages/animations/src/__mocks__/JSAnimations.ts +30 -30
  74. package/packages/animations/src/index.ts +3 -3
  75. package/packages/announcement-banner/README.md +49 -49
  76. package/packages/announcement-banner/src/AnnouncementBanner.scss +8 -8
  77. package/packages/announcement-banner/src/AnnouncementBanner.tsx +136 -136
  78. package/packages/announcement-banner/src/index.ts +1 -1
  79. package/packages/async-image/README.md +47 -47
  80. package/packages/async-image/src/AsyncImage.tsx +101 -101
  81. package/packages/async-image/src/index.ts +2 -2
  82. package/packages/conviva/README.md +47 -47
  83. package/packages/conviva/src/ConvivaSDK.ts +38 -38
  84. package/packages/conviva/src/__mocks__/ConvivaMock.ts +36 -36
  85. package/packages/conviva/src/index.ts +1 -1
  86. package/packages/conviva/src/theoPlugin/ConvivaConviguration.ts +19 -19
  87. package/packages/conviva/src/theoPlugin/__external__/Conviva_4.0.15.js +698 -698
  88. package/packages/conviva/src/theoPlugin/__external__/convivaTheoPlugin.d.ts +7 -7
  89. package/packages/conviva/src/theoPlugin/__external__/convivaTheoPlugin.js +635 -635
  90. package/packages/conviva/src/theoPlugin/convivaTheoPluginWrapper.ts +61 -61
  91. package/packages/conviva/src/theoPlugin/index.ts +2 -2
  92. package/packages/create-package/dist/createPackage.js +66 -0
  93. package/packages/create-package/dist/createPackage.js.map +1 -0
  94. package/packages/create-package/dist/index.js +5 -0
  95. package/packages/create-package/dist/index.js.map +1 -0
  96. package/packages/create-package/dist/questionnaire/questions.js +35 -0
  97. package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
  98. package/packages/create-package/dist/settings/Settings.js +10 -0
  99. package/packages/create-package/dist/settings/Settings.js.map +1 -0
  100. package/packages/create-package/dist/types.js +3 -0
  101. package/packages/create-package/dist/types.js.map +1 -0
  102. package/packages/developer-tools/DeveloperConsole/README.md +114 -114
  103. package/packages/developer-tools/DeveloperConsole/index.ts +3 -3
  104. package/packages/developer-tools/DeveloperConsole/unstyled.ts +1 -1
  105. package/packages/developer-tools/DeveloperToolsService/README.md +54 -54
  106. package/packages/developer-tools/DeveloperToolsService/index.ts +3 -3
  107. package/packages/developer-tools/DeveloperToolsService/unstyled.ts +1 -1
  108. package/packages/developer-tools/EnvironmentSelection/README.md +77 -77
  109. package/packages/developer-tools/EnvironmentSelection/index.ts +3 -3
  110. package/packages/developer-tools/EnvironmentSelection/unstyled.ts +1 -1
  111. package/packages/developer-tools/PlayerDebugWindow/README.md +65 -65
  112. package/packages/developer-tools/PlayerDebugWindow/index.ts +3 -3
  113. package/packages/developer-tools/PlayerDebugWindow/unstyled.ts +1 -1
  114. package/packages/developer-tools/README.md +24 -24
  115. package/packages/developer-tools/TechnicalInfo/README.md +90 -90
  116. package/packages/developer-tools/TechnicalInfo/index.ts +9 -9
  117. package/packages/developer-tools/TechnicalInfo/unstyled.ts +6 -6
  118. package/packages/developer-tools/src/DeveloperConsole/ControlButton.tsx +16 -16
  119. package/packages/developer-tools/src/DeveloperConsole/DeveloperConsole.tsx +389 -389
  120. package/packages/developer-tools/src/DeveloperConsole/Panel.tsx +108 -108
  121. package/packages/developer-tools/src/DeveloperConsole/PanelMessage.tsx +33 -33
  122. package/packages/developer-tools/src/DeveloperConsole/helpers/Queue.ts +38 -38
  123. package/packages/developer-tools/src/DeveloperConsole/helpers/index.ts +2 -2
  124. package/packages/developer-tools/src/DeveloperConsole/helpers/instrumentHandler.ts +165 -165
  125. package/packages/developer-tools/src/DeveloperConsole/index.ts +2 -2
  126. package/packages/developer-tools/src/DeveloperConsole/initDeveloperConsole.tsx +8 -8
  127. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.scss +91 -91
  128. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.styles.1080.scss +2 -2
  129. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.styles.scss +2 -2
  130. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/_sizes.1080.scss +16 -16
  131. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/_sizes.scss +16 -16
  132. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.scss +87 -87
  133. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.styles.1080.scss +2 -2
  134. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.styles.scss +2 -2
  135. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/_sizes.1080.scss +9 -9
  136. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/_sizes.scss +9 -9
  137. package/packages/developer-tools/src/DeveloperConsole/styles.ts +2 -2
  138. package/packages/developer-tools/src/DeveloperConsole/types.ts +49 -49
  139. package/packages/developer-tools/src/DeveloperConsole/utils/formatTime.ts +13 -13
  140. package/packages/developer-tools/src/DeveloperConsole/utils/index.ts +3 -3
  141. package/packages/developer-tools/src/DeveloperConsole/utils/stringify.ts +10 -10
  142. package/packages/developer-tools/src/DeveloperConsole/utils/styles.ts +24 -24
  143. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolItem.tsx +21 -21
  144. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +125 -125
  145. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsService.tsx +122 -122
  146. package/packages/developer-tools/src/DeveloperToolsService/index.ts +1 -1
  147. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.scss +64 -64
  148. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.1080.scss +2 -2
  149. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.animated.1080.scss +3 -3
  150. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.animated.scss +4 -4
  151. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.scss +2 -2
  152. package/packages/developer-tools/src/DeveloperToolsService/styles/_animated.scss +5 -5
  153. package/packages/developer-tools/src/DeveloperToolsService/styles/_sizes.1080.scss +16 -16
  154. package/packages/developer-tools/src/DeveloperToolsService/styles/_sizes.scss +16 -16
  155. package/packages/developer-tools/src/DeveloperToolsService/styles.ts +1 -1
  156. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentList.tsx +90 -90
  157. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentListItem.tsx +106 -106
  158. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentSelection.tsx +102 -102
  159. package/packages/developer-tools/src/EnvironmentSelection/assets/checkmark.svg +18 -18
  160. package/packages/developer-tools/src/EnvironmentSelection/config.ts +43 -43
  161. package/packages/developer-tools/src/EnvironmentSelection/constants.ts +1 -1
  162. package/packages/developer-tools/src/EnvironmentSelection/index.ts +2 -2
  163. package/packages/developer-tools/src/EnvironmentSelection/sizes.1080.ts +5 -5
  164. package/packages/developer-tools/src/EnvironmentSelection/sizes.ts +5 -5
  165. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.scss +141 -141
  166. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.1080.scss +2 -2
  167. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.animated.1080.scss +3 -3
  168. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.animated.scss +3 -3
  169. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.scss +2 -2
  170. package/packages/developer-tools/src/EnvironmentSelection/styles/_animated.scss +9 -9
  171. package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.1080.scss +26 -26
  172. package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.scss +26 -26
  173. package/packages/developer-tools/src/EnvironmentSelection/styles.ts +1 -1
  174. package/packages/developer-tools/src/EnvironmentSelection/types.ts +10 -10
  175. package/packages/developer-tools/src/EnvironmentSelection/utils/format.ts +4 -4
  176. package/packages/developer-tools/src/IDeveloperTool.ts +14 -14
  177. package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +115 -115
  178. package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +128 -128
  179. package/packages/developer-tools/src/PlayerDebugWindow/index.ts +1 -1
  180. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.scss +29 -29
  181. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.styles.1080.scss +2 -2
  182. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.styles.scss +2 -2
  183. package/packages/developer-tools/src/PlayerDebugWindow/styles/_sizes.1080.scss +11 -11
  184. package/packages/developer-tools/src/PlayerDebugWindow/styles/_sizes.scss +11 -11
  185. package/packages/developer-tools/src/PlayerDebugWindow/styles.ts +1 -1
  186. package/packages/developer-tools/src/TechnicalInfo/ITechnicalInfoProvider.ts +5 -5
  187. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfo.tsx +125 -125
  188. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +77 -77
  189. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +349 -349
  190. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +55 -55
  191. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Player.ts +7 -7
  192. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Storage.ts +9 -9
  193. package/packages/developer-tools/src/TechnicalInfo/icons/arrow-down.svg +18 -18
  194. package/packages/developer-tools/src/TechnicalInfo/icons/arrow-up.svg +18 -18
  195. package/packages/developer-tools/src/TechnicalInfo/index.ts +5 -5
  196. package/packages/developer-tools/src/TechnicalInfo/sizes.1080.ts +1 -1
  197. package/packages/developer-tools/src/TechnicalInfo/sizes.ts +1 -1
  198. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.scss +187 -187
  199. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.1080.scss +2 -2
  200. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.animated.1080.scss +3 -3
  201. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.animated.scss +3 -3
  202. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.scss +2 -2
  203. package/packages/developer-tools/src/TechnicalInfo/styles/_animated.scss +16 -16
  204. package/packages/developer-tools/src/TechnicalInfo/styles/_sizes.1080.scss +50 -50
  205. package/packages/developer-tools/src/TechnicalInfo/styles/_sizes.scss +50 -50
  206. package/packages/developer-tools/src/TechnicalInfo/styles.ts +1 -1
  207. package/packages/developer-tools/src/TechnicalInfo/translations.ts +79 -79
  208. package/packages/developer-tools/src/TechnicalInfo/utils/eme01bSupport.ts +58 -58
  209. package/packages/developer-tools/src/TechnicalInfo/utils/emeSupport.ts +84 -84
  210. package/packages/developer-tools/src/TechnicalInfo/utils/formatTimezone.ts +15 -15
  211. package/packages/developer-tools/src/TechnicalInfo/utils/mseSupport.ts +14 -14
  212. package/packages/developer-tools/src/utils/reload.ts +6 -6
  213. package/packages/device/README.md +219 -219
  214. package/packages/device/keymap.ts +1 -1
  215. package/packages/device/resolver/index.ts +2 -2
  216. package/packages/device/resolver/keymap.ts +1 -1
  217. package/packages/device/src/DeviceEventMap.ts +1 -1
  218. package/packages/device/src/device.ts +6 -6
  219. package/packages/device/src/driver/index.android.tv.ts +1 -1
  220. package/packages/device/src/driver/index.entone.ts +1 -1
  221. package/packages/device/src/driver/index.firetv.ts +1 -1
  222. package/packages/device/src/driver/index.hbbtv.tv.ts +1 -1
  223. package/packages/device/src/driver/index.kreatv.ts +1 -1
  224. package/packages/device/src/driver/index.saphi.tv.ts +1 -1
  225. package/packages/device/src/driver/index.smartcast.tv.ts +1 -1
  226. package/packages/device/src/driver/index.tizen.tv.ts +1 -1
  227. package/packages/device/src/driver/index.ts +1 -1
  228. package/packages/device/src/driver/index.vidaa.tv.ts +1 -1
  229. package/packages/device/src/driver/index.webos.tv.ts +1 -1
  230. package/packages/device/src/getKeyDigit.ts +35 -35
  231. package/packages/device/src/getKeyMap.ts +4 -4
  232. package/packages/device/src/index.ts +8 -8
  233. package/packages/device/src/isClickOrEnter.ts +3 -3
  234. package/packages/device/src/resolver/index.ts +2 -2
  235. package/packages/device/src/resolver/resolver.ts +84 -84
  236. package/packages/digital-clock/README.md +26 -26
  237. package/packages/digital-clock/src/DigitalClock.tsx +78 -78
  238. package/packages/digital-clock/src/index.ts +1 -1
  239. package/packages/driver-androidtv/src/DeviceAndroidTV.ts +224 -224
  240. package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +36 -36
  241. package/packages/driver-androidtv/src/formatUserAgent.ts +11 -11
  242. package/packages/driver-androidtv/src/index.ts +1 -1
  243. package/packages/driver-androidtv/src/keymap.ts +27 -27
  244. package/packages/driver-androidtv/src/types.ts +113 -113
  245. package/packages/driver-base/DeviceBase.md +139 -139
  246. package/packages/driver-base/README.md +44 -44
  247. package/packages/driver-base/src/ConnectionType.ts +1 -1
  248. package/packages/driver-base/src/DeviceBase.ts +279 -279
  249. package/packages/driver-base/src/KeyMap/Key.ts +48 -48
  250. package/packages/driver-base/src/KeyMap/KeyMap.ts +390 -390
  251. package/packages/driver-base/src/KeyMap/generateKeyCodeKeyMap.ts +11 -11
  252. package/packages/driver-base/src/KeyMap/index.ts +5 -5
  253. package/packages/driver-base/src/KeyMap/interface.ts +8 -8
  254. package/packages/driver-base/src/KeyMap/overrideValues.ts +17 -17
  255. package/packages/driver-base/src/KeyMap/switchByKey.ts +18 -18
  256. package/packages/driver-base/src/ScreenSize.ts +1 -1
  257. package/packages/driver-base/src/VolumeRange.ts +5 -5
  258. package/packages/driver-base/src/__mocks__/DeviceBase.ts +100 -100
  259. package/packages/driver-base/src/__mocks__/keyMap.ts +42 -42
  260. package/packages/driver-base/src/bindPreventDefaultEvent.ts +5 -5
  261. package/packages/driver-base/src/errors.ts +32 -32
  262. package/packages/driver-base/src/index.ts +10 -10
  263. package/packages/driver-base/src/loadObject.ts +30 -30
  264. package/packages/driver-base/src/types/DeviceEvent.ts +11 -11
  265. package/packages/driver-base/src/types/ExitOptions.ts +1 -1
  266. package/packages/driver-base/src/types/KeycodeKeyMap.ts +86 -86
  267. package/packages/driver-base/src/types/ScreenSaverStatus.ts +3 -3
  268. package/packages/driver-base/src/utils.ts +10 -10
  269. package/packages/driver-browser/src/DeviceBrowser.ts +170 -170
  270. package/packages/driver-browser/src/getBrowser.ts +51 -51
  271. package/packages/driver-browser/src/getOsName.ts +30 -30
  272. package/packages/driver-browser/src/index.ts +1 -1
  273. package/packages/driver-browser/src/keymap.ts +22 -22
  274. package/packages/driver-browser/src/patchSuitestKeys.ts +27 -27
  275. package/packages/driver-entone/README.md +9 -9
  276. package/packages/driver-entone/src/DeviceEntone.ts +232 -232
  277. package/packages/driver-entone/src/IEntone.ts +460 -460
  278. package/packages/driver-entone/src/__mocks__/entone.ts +177 -177
  279. package/packages/driver-entone/src/constants.ts +73 -73
  280. package/packages/driver-entone/src/index.ts +1 -1
  281. package/packages/driver-entone/src/keymap.ts +57 -57
  282. package/packages/driver-firetv/src/DeviceFireTV.ts +18 -18
  283. package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +36 -36
  284. package/packages/driver-firetv/src/index.ts +1 -1
  285. package/packages/driver-hbbtv/src/DeviceHbbTV.ts +313 -313
  286. package/packages/driver-hbbtv/src/__mocks__/hbbtv.ts +17 -17
  287. package/packages/driver-hbbtv/src/constants.ts +28 -28
  288. package/packages/driver-hbbtv/src/deviceInfo.ts +23 -23
  289. package/packages/driver-hbbtv/src/getVersion.ts +16 -16
  290. package/packages/driver-hbbtv/src/index.ts +1 -1
  291. package/packages/driver-hbbtv/src/keymap.ts +45 -45
  292. package/packages/driver-hbbtv/src/types.ts +366 -366
  293. package/packages/driver-kreatv/src/DeviceKreaTV.ts +271 -271
  294. package/packages/driver-kreatv/src/IToi.ts +379 -379
  295. package/packages/driver-kreatv/src/__mocks__/toi2.ts +76 -76
  296. package/packages/driver-kreatv/src/__mocks__/toi3.ts +43 -43
  297. package/packages/driver-kreatv/src/index.ts +1 -1
  298. package/packages/driver-kreatv/src/keymap.ts +31 -31
  299. package/packages/driver-kreatv/src/toi2.ts +107 -107
  300. package/packages/driver-kreatv/src/toi3.ts +102 -102
  301. package/packages/driver-kreatv/src/types.ts +35 -35
  302. package/packages/driver-saphi/src/DeviceSaphi.ts +144 -144
  303. package/packages/driver-saphi/src/__mocks__/SmartTvA_API.ts +11 -11
  304. package/packages/driver-saphi/src/__mocks__/userAgent.ts +4 -4
  305. package/packages/driver-saphi/src/constants.ts +1 -1
  306. package/packages/driver-saphi/src/formatUserAgent.ts +19 -19
  307. package/packages/driver-saphi/src/index.ts +1 -1
  308. package/packages/driver-saphi/src/keymap.ts +64 -64
  309. package/packages/driver-saphi/src/types.ts +75 -75
  310. package/packages/driver-smartcast/src/DeviceSmartCast.ts +317 -317
  311. package/packages/driver-smartcast/src/__mocks__/api.ts +49 -49
  312. package/packages/driver-smartcast/src/index.ts +1 -1
  313. package/packages/driver-smartcast/src/keymap.ts +9 -9
  314. package/packages/driver-smartcast/src/types.ts +65 -65
  315. package/packages/driver-tizen/src/DeviceTizen.ts +298 -298
  316. package/packages/driver-tizen/src/ITizen.ts +212 -212
  317. package/packages/driver-tizen/src/IWebapis.ts +95 -95
  318. package/packages/driver-tizen/src/TizenKeys.ts +96 -96
  319. package/packages/driver-tizen/src/__mocks__/tizen.ts +35 -35
  320. package/packages/driver-tizen/src/constants.ts +197 -197
  321. package/packages/driver-tizen/src/index.ts +1 -1
  322. package/packages/driver-tizen/src/types.ts +14 -14
  323. package/packages/driver-vidaa/src/DeviceVidaa.ts +141 -141
  324. package/packages/driver-vidaa/src/__mocks__/vidaa.ts +21 -21
  325. package/packages/driver-vidaa/src/constants.ts +8 -8
  326. package/packages/driver-vidaa/src/formatUserAgent.ts +16 -16
  327. package/packages/driver-vidaa/src/index.ts +1 -1
  328. package/packages/driver-vidaa/src/keymap.ts +56 -56
  329. package/packages/driver-vidaa/src/types.ts +90 -90
  330. package/packages/driver-webos/src/DeviceWebos.ts +313 -313
  331. package/packages/driver-webos/src/__mocks__/webos.ts +172 -172
  332. package/packages/driver-webos/src/constants.ts +20 -20
  333. package/packages/driver-webos/src/index.ts +1 -1
  334. package/packages/driver-webos/src/keymap.ts +10 -10
  335. package/packages/driver-webos/src/types.ts +344 -344
  336. package/packages/driver-webos/src/utils.ts +60 -60
  337. package/packages/driver-webos/src/webOSTVjs/webOSTVjs.js +12 -12
  338. package/packages/driver-xbox/__external__/winjs/directionalnavigation-1.0.0.0.js +1015 -1015
  339. package/packages/driver-xbox/src/DeviceXbox.ts +231 -231
  340. package/packages/driver-xbox/src/__mocks__/Windows.ts +94 -94
  341. package/packages/driver-xbox/src/index.ts +1 -1
  342. package/packages/driver-xbox/src/interfaces.ts +138 -138
  343. package/packages/driver-xbox/src/keymap.ts +96 -96
  344. package/packages/driver-xbox/src/utils.ts +23 -23
  345. package/packages/epg/IMPLEMENTATION.md +228 -228
  346. package/packages/epg/MockGenerator.md +102 -102
  347. package/packages/epg/README.md +585 -585
  348. package/packages/epg/src/v2/Cell.tsx +222 -222
  349. package/packages/epg/src/v2/CellsManager.ts +1 -1
  350. package/packages/epg/src/v2/DataManager.ts +372 -372
  351. package/packages/epg/src/v2/DatePicker.tsx +110 -110
  352. package/packages/epg/src/v2/DateToast/DateToast.scss +28 -28
  353. package/packages/epg/src/v2/DateToast/DateToast.styles.1080.scss +2 -2
  354. package/packages/epg/src/v2/DateToast/DateToast.styles.scss +2 -2
  355. package/packages/epg/src/v2/DateToast/DateToast.tsx +90 -90
  356. package/packages/epg/src/v2/DateToast/_sizes.1080.scss +7 -7
  357. package/packages/epg/src/v2/DateToast/_sizes.scss +7 -7
  358. package/packages/epg/src/v2/DateToast/index.tsx +1 -1
  359. package/packages/epg/src/v2/DateToast/styles.ts +1 -1
  360. package/packages/epg/src/v2/Day.tsx +33 -33
  361. package/packages/epg/src/v2/Epg.tsx +462 -462
  362. package/packages/epg/src/v2/Header.tsx +41 -41
  363. package/packages/epg/src/v2/IdleController.ts +25 -25
  364. package/packages/epg/src/v2/InputEvents.ts +301 -301
  365. package/packages/epg/src/v2/MockGenerator/config.1080.ts +2 -2
  366. package/packages/epg/src/v2/MockGenerator/config.ts +2 -2
  367. package/packages/epg/src/v2/MockGenerator/generator.ts +174 -174
  368. package/packages/epg/src/v2/MockGenerator/index.ts +2 -2
  369. package/packages/epg/src/v2/MockGenerator/mocks/data.ts +102 -102
  370. package/packages/epg/src/v2/MockGenerator/types.ts +25 -25
  371. package/packages/epg/src/v2/MockGenerator/utils.ts +28 -28
  372. package/packages/epg/src/v2/MouseNavigation/MouseNavigation.tsx +88 -88
  373. package/packages/epg/src/v2/MouseNavigation/MouseNavigationFallback.ts +4 -4
  374. package/packages/epg/src/v2/MouseNavigation/index.tizen.tv.ts +1 -1
  375. package/packages/epg/src/v2/MouseNavigation/index.ts +1 -1
  376. package/packages/epg/src/v2/MouseNavigation/index.web.ts +1 -1
  377. package/packages/epg/src/v2/MouseNavigation/index.webos.tv.ts +1 -1
  378. package/packages/epg/src/v2/NowLine.tsx +66 -66
  379. package/packages/epg/src/v2/Program.tsx +58 -58
  380. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.scss +67 -67
  381. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.1080.scss +3 -3
  382. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.animated.1080.scss +2 -2
  383. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.animated.scss +2 -2
  384. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.scss +3 -3
  385. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.tsx +149 -149
  386. package/packages/epg/src/v2/ProgramInfo/_animated.scss +8 -8
  387. package/packages/epg/src/v2/ProgramInfo/_mixins.scss +5 -5
  388. package/packages/epg/src/v2/ProgramInfo/_sizes.1080.scss +21 -21
  389. package/packages/epg/src/v2/ProgramInfo/_sizes.scss +21 -21
  390. package/packages/epg/src/v2/ProgramInfo/index.ts +1 -1
  391. package/packages/epg/src/v2/ProgramInfo/rtl.scss +7 -7
  392. package/packages/epg/src/v2/ProgramInfo/sizes.1080.ts +3 -3
  393. package/packages/epg/src/v2/ProgramInfo/sizes.ts +3 -3
  394. package/packages/epg/src/v2/ProgramInfo/styles.ts +1 -1
  395. package/packages/epg/src/v2/ProgramInfo/utils.ts +28 -28
  396. package/packages/epg/src/v2/Row.tsx +134 -134
  397. package/packages/epg/src/v2/RowsManager.ts +1 -1
  398. package/packages/epg/src/v2/TimeManager.ts +58 -58
  399. package/packages/epg/src/v2/Timeline.ts +1 -1
  400. package/packages/epg/src/v2/TimelineSection.tsx +50 -50
  401. package/packages/epg/src/v2/basic/CellsManager.tsx +300 -300
  402. package/packages/epg/src/v2/basic/RowsManager.tsx +503 -503
  403. package/packages/epg/src/v2/basic/Timeline.tsx +88 -88
  404. package/packages/epg/src/v2/index.ts +1 -1
  405. package/packages/epg/src/v2/interface.ts +1519 -1519
  406. package/packages/epg/src/v2/sizes.1080.ts +2 -2
  407. package/packages/epg/src/v2/sizes.ts +2 -2
  408. package/packages/epg/src/v2/styles/Basic/Basic.scss +116 -116
  409. package/packages/epg/src/v2/styles/Basic/index.ts +1 -1
  410. package/packages/epg/src/v2/styles/Whitelabel/index.ts +1 -1
  411. package/packages/epg/src/v2/utils.ts +40 -40
  412. package/packages/events-manager/src/EventsManager.ts +1 -1
  413. package/packages/events-manager/src/index.ts +2 -2
  414. package/packages/floating-focus/README.md +64 -64
  415. package/packages/floating-focus/src/FloatingFocus.ts +106 -106
  416. package/packages/floating-focus/src/Horizontal.tsx +20 -20
  417. package/packages/floating-focus/src/Vertical.tsx +20 -20
  418. package/packages/floating-focus/src/index.ts +4 -4
  419. package/packages/floating-focus/src/types.ts +20 -20
  420. package/packages/floating-focus/src/utils.ts +43 -43
  421. package/packages/focus/README.md +348 -348
  422. package/packages/focus/src/IFocusable.ts +5 -5
  423. package/packages/focus/src/Layout/Base.tsx +166 -166
  424. package/packages/focus/src/Layout/Horizontal.ts +15 -15
  425. package/packages/focus/src/Layout/Matrix.tsx +357 -357
  426. package/packages/focus/src/Layout/Vertical.ts +12 -12
  427. package/packages/focus/src/Layout/constants.ts +10 -10
  428. package/packages/focus/src/Layout/isRtl.ts +12 -12
  429. package/packages/focus/src/Layout/types.ts +7 -7
  430. package/packages/focus/src/candidate.ts +106 -106
  431. package/packages/focus/src/focusFirstExisting.ts +19 -19
  432. package/packages/focus/src/hasFocus.ts +36 -36
  433. package/packages/focus/src/index.ts +16 -16
  434. package/packages/focus/src/refocusAfterHashChange.ts +19 -19
  435. package/packages/focus/src/safeFocus.ts +15 -15
  436. package/packages/gallup/README.md +27 -27
  437. package/packages/gallup/src/Gallup.ts +80 -80
  438. package/packages/gallup/src/GallupMock.ts +7 -7
  439. package/packages/gallup/src/__external__/SpringStreams.d.ts +39 -39
  440. package/packages/gallup/src/__mocks__/SpringStreams.js +18 -18
  441. package/packages/gallup/src/index.ts +1 -1
  442. package/packages/grid/BasicGrid/README.md +78 -78
  443. package/packages/grid/BasicGrid/index.ts +1 -1
  444. package/packages/grid/FirstOnlyGrid/README.md +43 -43
  445. package/packages/grid/FirstOnlyGrid/index.ts +1 -1
  446. package/packages/grid/FixedToEndGrid/README.md +45 -45
  447. package/packages/grid/FixedToEndGrid/index.ts +1 -1
  448. package/packages/grid/Item/index.ts +1 -1
  449. package/packages/grid/README.md +169 -169
  450. package/packages/grid/src/Base/Base.tsx +492 -492
  451. package/packages/grid/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
  452. package/packages/grid/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
  453. package/packages/grid/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
  454. package/packages/grid/src/Base/MouseNavigation/index.ts +1 -1
  455. package/packages/grid/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
  456. package/packages/grid/src/Base/MouseNavigation/index.webtv.ts +1 -1
  457. package/packages/grid/src/Base/index.ts +1 -1
  458. package/packages/grid/src/Base/interface.ts +47 -47
  459. package/packages/grid/src/BasicGrid/BasicGrid.tsx +137 -137
  460. package/packages/grid/src/BasicGrid/config.ts +13 -13
  461. package/packages/grid/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
  462. package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +112 -112
  463. package/packages/grid/src/FirstOnlyGrid/config.ts +13 -13
  464. package/packages/grid/src/FirstOnlyGrid/controller.ts +10 -10
  465. package/packages/grid/src/FixedToEndGrid/FixedToEndGrid.tsx +112 -112
  466. package/packages/grid/src/FixedToEndGrid/config.ts +13 -13
  467. package/packages/grid/src/FixedToEndGrid/controller.ts +36 -36
  468. package/packages/grid/src/UnifiedGridController/UnifiedGridController.ts +555 -555
  469. package/packages/grid/src/UnifiedGridController/index.ts +2 -2
  470. package/packages/grid/src/UnifiedGridController/interface.ts +92 -92
  471. package/packages/grid/src/animate.animated.ts +1 -1
  472. package/packages/grid/src/animate.ts +1 -1
  473. package/packages/grid/src/interface.ts +30 -30
  474. package/packages/grid/src/mocks/index.tsx +41 -41
  475. package/packages/grid/src/types.ts +69 -69
  476. package/packages/grid/src/utils.ts +69 -69
  477. package/packages/i18n/README.md +460 -460
  478. package/packages/i18n/src/I18n.ts +246 -246
  479. package/packages/i18n/src/Translation.tsx +36 -36
  480. package/packages/i18n/src/addResourceBundle.ts +73 -73
  481. package/packages/i18n/src/direction.ts +33 -33
  482. package/packages/i18n/src/index.ts +4 -4
  483. package/packages/i18n/src/isRtl.ts +3 -3
  484. package/packages/i18n/src/middlewares/i18next/Context/Context.ts +25 -25
  485. package/packages/i18n/src/middlewares/i18next/Context/index.ts +1 -1
  486. package/packages/i18n/src/middlewares/i18next/Interpolation/Interpolation.ts +95 -95
  487. package/packages/i18n/src/middlewares/i18next/Interpolation/index.ts +1 -1
  488. package/packages/i18n/src/middlewares/i18next/Nesting/Nesting.ts +38 -38
  489. package/packages/i18n/src/middlewares/i18next/Nesting/index.ts +1 -1
  490. package/packages/i18n/src/middlewares/i18next/Plurals/Plurals.ts +123 -123
  491. package/packages/i18n/src/middlewares/i18next/Plurals/Resolvers.ts +124 -124
  492. package/packages/i18n/src/middlewares/i18next/Plurals/index.ts +1 -1
  493. package/packages/i18n/src/middlewares/i18next/Plurals/types.ts +6 -6
  494. package/packages/i18n/src/middlewares/icu/DateInterpolation/DateInterpolation.ts +64 -64
  495. package/packages/i18n/src/middlewares/icu/DateInterpolation/index.ts +1 -1
  496. package/packages/i18n/src/middlewares/icu/Interpolation/Interpolation.ts +39 -39
  497. package/packages/i18n/src/middlewares/icu/Interpolation/index.ts +1 -1
  498. package/packages/i18n/src/middlewares/icu/NumberInterpolation/NumberInterpolation.ts +41 -41
  499. package/packages/i18n/src/middlewares/icu/NumberInterpolation/index.ts +1 -1
  500. package/packages/i18n/src/middlewares/icu/Plurals/Plurals.ts +65 -65
  501. package/packages/i18n/src/middlewares/icu/Plurals/Resolvers.ts +130 -130
  502. package/packages/i18n/src/middlewares/icu/Plurals/index.ts +1 -1
  503. package/packages/i18n/src/middlewares/icu/Plurals/types.ts +15 -15
  504. package/packages/i18n/src/middlewares/icu/Select/Select.ts +36 -36
  505. package/packages/i18n/src/middlewares/icu/Select/index.ts +1 -1
  506. package/packages/i18n/src/middlewares/icu/TimeInterpolation/TimeInterpolation.ts +65 -65
  507. package/packages/i18n/src/middlewares/icu/TimeInterpolation/index.ts +1 -1
  508. package/packages/i18n/src/middlewares/icu/shared/hasVariable.ts +5 -5
  509. package/packages/i18n/src/middlewares/icu/shared/matchSwitchCase.ts +80 -80
  510. package/packages/i18n/src/middlewares/icu/shared/unwrap.ts +1 -1
  511. package/packages/i18n/src/pluralsCommon/PluralsHelper.ts +54 -54
  512. package/packages/i18n/src/pluralsCommon/ResolverByLanguage.ts +129 -129
  513. package/packages/i18n/src/t.tsx +6 -6
  514. package/packages/i18n/src/typedTranslate.ts +31 -31
  515. package/packages/i18n/src/types.ts +66 -66
  516. package/packages/i18n/src/utils.ts +76 -76
  517. package/packages/icon/README.md +107 -107
  518. package/packages/icon/src/Icon.tsx +71 -71
  519. package/packages/icon/src/index.ts +1 -1
  520. package/packages/ime/README.md +72 -72
  521. package/packages/ime/src/IKeyboard.ts +6 -6
  522. package/packages/ime/src/IKeyboardEvent.ts +7 -7
  523. package/packages/ime/src/ImeManager.ts +33 -33
  524. package/packages/ime/src/SystemKeyboard/SystemKeyboard.ts +33 -33
  525. package/packages/ime/src/SystemKeyboard/SystemKeyboardBase.ts +98 -98
  526. package/packages/ime/src/SystemKeyboard/TizenSystemKeyboard.ts +66 -66
  527. package/packages/ime/src/SystemKeyboard/WebosSystemKeyboard.ts +74 -74
  528. package/packages/ime/src/SystemKeyboard/index.tizen.tv.ts +1 -1
  529. package/packages/ime/src/SystemKeyboard/index.ts +1 -1
  530. package/packages/ime/src/SystemKeyboard/index.webos.tv.ts +1 -1
  531. package/packages/ime/src/index.ts +3 -3
  532. package/packages/input/README.md +65 -65
  533. package/packages/input/__mocks__/MockKeyboard.ts +40 -40
  534. package/packages/input/src/Input.scss +9 -9
  535. package/packages/input/src/Input.tsx +267 -267
  536. package/packages/input/src/index.ts +1 -1
  537. package/packages/input/src/utils.ts +71 -71
  538. package/packages/interactable/README.md +38 -38
  539. package/packages/interactable/src/Interactable.tsx +33 -33
  540. package/packages/interactable/src/index.ts +1 -1
  541. package/packages/interactable/src/interface.ts +7 -7
  542. package/packages/ipify/README.md +30 -30
  543. package/packages/ipify/src/index.ts +1 -1
  544. package/packages/ipify/src/ipify.ts +41 -41
  545. package/packages/jsx/README.md +388 -388
  546. package/packages/jsx/src/Component.ts +68 -68
  547. package/packages/jsx/src/createRef.ts +5 -5
  548. package/packages/jsx/src/forwardRef.ts +8 -8
  549. package/packages/jsx/src/index.ts +31 -31
  550. package/packages/jsx/src/jsx-runtime.ts +5 -5
  551. package/packages/jsx/src/manipulation/attachNode.ts +30 -30
  552. package/packages/jsx/src/manipulation/attachNodeBefore.ts +44 -44
  553. package/packages/jsx/src/manipulation/clearNode.ts +14 -14
  554. package/packages/jsx/src/manipulation/detachNode.ts +26 -26
  555. package/packages/jsx/src/manipulation/index.ts +7 -7
  556. package/packages/jsx/src/manipulation/removeNode.ts +18 -18
  557. package/packages/jsx/src/manipulation/replaceNode.ts +42 -42
  558. package/packages/jsx/src/manipulation/swapNodes.ts +53 -53
  559. package/packages/jsx/src/mount/guards.ts +26 -26
  560. package/packages/jsx/src/mount/handleLifecycle.ts +71 -71
  561. package/packages/jsx/src/mount/index.ts +1 -1
  562. package/packages/jsx/src/mount/lifecycle.ts +38 -38
  563. package/packages/jsx/src/mount/lifecycleHelpers.ts +29 -29
  564. package/packages/jsx/src/mount/mount.ts +141 -141
  565. package/packages/jsx/src/mount/namespaces.ts +7 -7
  566. package/packages/jsx/src/mount/props.ts +121 -121
  567. package/packages/jsx/src/nodeUtils.ts +69 -69
  568. package/packages/jsx/src/setText.ts +15 -15
  569. package/packages/jsx/src/test-utils/MountedComponent.ts +50 -50
  570. package/packages/jsx/src/test-utils/README.md +72 -72
  571. package/packages/jsx/src/test-utils/click.ts +7 -7
  572. package/packages/jsx/src/test-utils/enter.ts +4 -4
  573. package/packages/jsx/src/test-utils/index.ts +6 -6
  574. package/packages/jsx/src/test-utils/keydown.ts +27 -27
  575. package/packages/jsx/src/test-utils/keyup.ts +27 -27
  576. package/packages/jsx/src/test-utils/shallow.ts +33 -33
  577. package/packages/jsx/src/test-utils/spec-utils.ts +6 -6
  578. package/packages/jsx/src/textNode.ts +9 -9
  579. package/packages/jsx/src/types.ts +128 -128
  580. package/packages/jsx/src/utils.ts +35 -35
  581. package/packages/jsx/src/virtualDOM.ts +121 -121
  582. package/packages/key-sequence/README.md +44 -44
  583. package/packages/key-sequence/src/KeySequence.ts +56 -56
  584. package/packages/key-sequence/src/arrayEndsWithKeyCombo.ts +22 -22
  585. package/packages/key-sequence/src/index.ts +1 -1
  586. package/packages/key-sequence/src/types.ts +13 -13
  587. package/packages/keyboard/README.md +237 -237
  588. package/packages/keyboard/src/AndroidKeyboard/Keyboard.scss +140 -140
  589. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.1080.scss +2 -2
  590. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.animated.1080.scss +3 -3
  591. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.animated.scss +3 -3
  592. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.scss +2 -2
  593. package/packages/keyboard/src/AndroidKeyboard/Keyboard.tsx +235 -235
  594. package/packages/keyboard/src/AndroidKeyboard/_animated.scss +7 -7
  595. package/packages/keyboard/src/AndroidKeyboard/_sizes.1080.scss +15 -15
  596. package/packages/keyboard/src/AndroidKeyboard/_sizes.scss +15 -15
  597. package/packages/keyboard/src/AndroidKeyboard/icons/arrow_left.svg +6 -6
  598. package/packages/keyboard/src/AndroidKeyboard/icons/arrow_right.svg +6 -6
  599. package/packages/keyboard/src/AndroidKeyboard/icons/key_backspace.svg +12 -12
  600. package/packages/keyboard/src/AndroidKeyboard/index.ts +1 -1
  601. package/packages/keyboard/src/AndroidKeyboard/makeLayout.ts +19 -19
  602. package/packages/keyboard/src/Backdrop/Backdrop.scss +17 -17
  603. package/packages/keyboard/src/Backdrop/Backdrop.styles.1080.scss +2 -2
  604. package/packages/keyboard/src/Backdrop/Backdrop.styles.scss +2 -2
  605. package/packages/keyboard/src/Backdrop/Backdrop.tsx +31 -31
  606. package/packages/keyboard/src/Backdrop/_sizes.1080.scss +2 -2
  607. package/packages/keyboard/src/Backdrop/_sizes.scss +2 -2
  608. package/packages/keyboard/src/DefaultKeyboard/Keyboard.scss +73 -73
  609. package/packages/keyboard/src/DefaultKeyboard/Keyboard.styles.1080.scss +2 -2
  610. package/packages/keyboard/src/DefaultKeyboard/Keyboard.styles.scss +2 -2
  611. package/packages/keyboard/src/DefaultKeyboard/Keyboard.tsx +155 -155
  612. package/packages/keyboard/src/DefaultKeyboard/_sizes.1080.scss +12 -12
  613. package/packages/keyboard/src/DefaultKeyboard/_sizes.scss +12 -12
  614. package/packages/keyboard/src/DefaultKeyboard/index.ts +1 -1
  615. package/packages/keyboard/src/KeyboardBase.tsx +344 -344
  616. package/packages/keyboard/src/MobiKeyboard/Keyboard.scss +180 -180
  617. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.1080.scss +2 -2
  618. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.animated.1080.scss +3 -3
  619. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.animated.scss +3 -3
  620. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.scss +2 -2
  621. package/packages/keyboard/src/MobiKeyboard/Keyboard.tsx +278 -278
  622. package/packages/keyboard/src/MobiKeyboard/_animated.scss +7 -7
  623. package/packages/keyboard/src/MobiKeyboard/_sizes.1080.scss +10 -10
  624. package/packages/keyboard/src/MobiKeyboard/_sizes.scss +10 -10
  625. package/packages/keyboard/src/MobiKeyboard/icons/arrow_left.svg +6 -6
  626. package/packages/keyboard/src/MobiKeyboard/icons/arrow_right.svg +6 -6
  627. package/packages/keyboard/src/MobiKeyboard/icons/key_backspace.svg +12 -12
  628. package/packages/keyboard/src/MobiKeyboard/icons/key_space.svg +6 -6
  629. package/packages/keyboard/src/MobiKeyboard/index.ts +1 -1
  630. package/packages/keyboard/src/MobiKeyboard/utils.ts +19 -19
  631. package/packages/keyboard/src/QwertyKeyboardBase/QwertyKeyboardBase.tsx +54 -54
  632. package/packages/keyboard/src/ShiftMode.ts +25 -25
  633. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +168 -168
  634. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.styles.1080.scss +2 -2
  635. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.styles.scss +2 -2
  636. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +353 -353
  637. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
  638. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/_sizes.scss +7 -7
  639. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/index.ts +1 -1
  640. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.scss +81 -81
  641. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
  642. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
  643. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +32 -32
  644. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +32 -32
  645. package/packages/keyboard/src/WhitelabelKeyboard/icons/arrow_left.svg +9 -9
  646. package/packages/keyboard/src/WhitelabelKeyboard/icons/arrow_right.svg +9 -9
  647. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_backspace.svg +9 -9
  648. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_language.svg +20 -20
  649. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_shift.svg +9 -9
  650. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_shift_active.svg +9 -9
  651. package/packages/keyboard/src/WhitelabelKeyboard/index.ts +2 -2
  652. package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +27 -27
  653. package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +27 -27
  654. package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +28 -28
  655. package/packages/keyboard/src/WhitelabelKeyboard/layouts/hebrew.ts +28 -28
  656. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +15 -15
  657. package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +26 -26
  658. package/packages/keyboard/src/WhitelabelKeyboard/layouts/latin.ts +26 -26
  659. package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +27 -27
  660. package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +27 -27
  661. package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +27 -27
  662. package/packages/keyboard/src/WhitelabelKeyboard/layouts/spanish.ts +26 -26
  663. package/packages/keyboard/src/WhitelabelKeyboard/layouts/special.ts +28 -28
  664. package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +26 -26
  665. package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +26 -26
  666. package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +27 -27
  667. package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +26 -26
  668. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +28 -28
  669. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.scss +105 -105
  670. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.1080.scss +2 -2
  671. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.scss +2 -2
  672. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.tsx +161 -161
  673. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
  674. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.scss +7 -7
  675. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/index.ts +1 -1
  676. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.scss +62 -62
  677. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
  678. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
  679. package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.1080.scss +29 -29
  680. package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.scss +29 -29
  681. package/packages/keyboard/src/WhitelabelNumericKeyboard/icons/key_backspace.svg +9 -9
  682. package/packages/keyboard/src/WhitelabelNumericKeyboard/index.ts +2 -2
  683. package/packages/keyboard/src/WhitelabelNumericKeyboard/layout.ts +14 -14
  684. package/packages/keyboard/src/hwKeyboardEventToChar.ts +11 -11
  685. package/packages/keyboard/src/types/index.ts +11 -11
  686. package/packages/keyboard/src/utils/caret.ts +48 -48
  687. package/packages/keyboard/src/utils/generateFocusMatrixFromStringMatrix.ts +12 -12
  688. package/packages/keyboard/src/utils/input.ts +40 -40
  689. package/packages/l10n/README.md +120 -120
  690. package/packages/l10n/interface.ts +1 -1
  691. package/packages/l10n/locales/cs.ts +4 -4
  692. package/packages/l10n/locales/en-001.ts +4 -4
  693. package/packages/l10n/locales/en-us.ts +4 -4
  694. package/packages/l10n/src/Locale.tsx +44 -44
  695. package/packages/l10n/src/date/common.ts +165 -165
  696. package/packages/l10n/src/date/cs.ts +89 -89
  697. package/packages/l10n/src/date/de.ts +97 -97
  698. package/packages/l10n/src/date/en-001.ts +76 -76
  699. package/packages/l10n/src/date/en-common.ts +55 -55
  700. package/packages/l10n/src/date/en-us.ts +83 -83
  701. package/packages/l10n/src/date/es.ts +71 -71
  702. package/packages/l10n/src/date/fr.ts +94 -94
  703. package/packages/l10n/src/date/he.ts +101 -101
  704. package/packages/l10n/src/date/iso.ts +63 -63
  705. package/packages/l10n/src/date/types.ts +56 -56
  706. package/packages/l10n/src/index.ts +2 -2
  707. package/packages/l10n/src/l10n.ts +112 -112
  708. package/packages/l10n/src/types.ts +22 -22
  709. package/packages/list/AttachDetachItem/README.md +128 -128
  710. package/packages/list/AttachDetachItem/index.ts +3 -3
  711. package/packages/list/BasicList/README.md +71 -71
  712. package/packages/list/BasicList/index.ts +1 -1
  713. package/packages/list/CenteredList/README.md +42 -42
  714. package/packages/list/CenteredList/index.ts +1 -1
  715. package/packages/list/EdgeOffsetList/README.md +58 -58
  716. package/packages/list/EdgeOffsetList/index.ts +1 -1
  717. package/packages/list/FirstOnlyList/README.md +39 -39
  718. package/packages/list/FirstOnlyList/index.ts +1 -1
  719. package/packages/list/FirstOnlyVariedList/README.md +105 -105
  720. package/packages/list/FirstOnlyVariedList/index.ts +1 -1
  721. package/packages/list/FixedToEndList/README.md +42 -42
  722. package/packages/list/FixedToEndList/index.ts +1 -1
  723. package/packages/list/Item/index.ts +1 -1
  724. package/packages/list/README.md +193 -193
  725. package/packages/list/src/AttachDetachItem/AttachDetachItem.tsx +96 -96
  726. package/packages/list/src/AttachDetachItem/prepareAttachDetachItemData.ts +13 -13
  727. package/packages/list/src/Base/Base.tsx +392 -392
  728. package/packages/list/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
  729. package/packages/list/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
  730. package/packages/list/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
  731. package/packages/list/src/Base/MouseNavigation/index.ts +1 -1
  732. package/packages/list/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
  733. package/packages/list/src/Base/MouseNavigation/index.webtv.ts +1 -1
  734. package/packages/list/src/Base/index.ts +1 -1
  735. package/packages/list/src/Base/interface.ts +39 -39
  736. package/packages/list/src/BasicList/BasicList.tsx +178 -178
  737. package/packages/list/src/BasicList/config.ts +13 -13
  738. package/packages/list/src/CenteredList/CenteredList.tsx +116 -116
  739. package/packages/list/src/CenteredList/config.ts +13 -13
  740. package/packages/list/src/CenteredList/controller.ts +46 -46
  741. package/packages/list/src/CenteredList/interface.ts +10 -10
  742. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +173 -173
  743. package/packages/list/src/EdgeOffsetList/config.ts +13 -13
  744. package/packages/list/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
  745. package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +122 -122
  746. package/packages/list/src/FirstOnlyList/config.ts +13 -13
  747. package/packages/list/src/FirstOnlyList/controller.ts +11 -11
  748. package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +132 -132
  749. package/packages/list/src/FirstOnlyVariedList/config.ts +13 -13
  750. package/packages/list/src/FixedToEndList/FixedToEndList.tsx +125 -125
  751. package/packages/list/src/FixedToEndList/config.ts +13 -13
  752. package/packages/list/src/FixedToEndList/controller.ts +44 -44
  753. package/packages/list/src/UnifiedListController/UnifiedListController.ts +258 -258
  754. package/packages/list/src/UnifiedListController/UnifiedListControllerBase.ts +241 -241
  755. package/packages/list/src/UnifiedListController/UnifiedVariedListController.ts +241 -241
  756. package/packages/list/src/UnifiedListController/interface.ts +81 -81
  757. package/packages/list/src/__test__/utils.spec.ts +59 -59
  758. package/packages/list/src/animate.animated.ts +1 -1
  759. package/packages/list/src/animate.ts +1 -1
  760. package/packages/list/src/index.ts +1 -1
  761. package/packages/list/src/interface.ts +48 -48
  762. package/packages/list/src/mocks/index.tsx +55 -55
  763. package/packages/list/src/types.ts +132 -132
  764. package/packages/list/src/utils.ts +142 -142
  765. package/packages/list/utils/index.ts +1 -1
  766. package/packages/logger/README.md +117 -117
  767. package/packages/logger/src/LoggerManager.ts +60 -60
  768. package/packages/logger/src/LoggerService.ts +43 -43
  769. package/packages/logger/src/__mocks__/LoggerBase.ts +13 -13
  770. package/packages/logger/src/index.ts +3 -3
  771. package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +51 -51
  772. package/packages/logger/src/loggers/ConsoleLogger/README.md +39 -39
  773. package/packages/logger/src/loggers/ConsoleLogger/index.ts +1 -1
  774. package/packages/logger/src/loggers/LoggerBase/LoggerBase.ts +67 -67
  775. package/packages/logger/src/loggers/LoggerBase/README.md +69 -69
  776. package/packages/logger/src/loggers/LoggerBase/index.ts +1 -1
  777. package/packages/logger/src/loggers/SentryLogger/README.md +98 -98
  778. package/packages/logger/src/loggers/SentryLogger/Sentry.ts +2 -2
  779. package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +179 -179
  780. package/packages/logger/src/loggers/SentryLogger/index.ts +2 -2
  781. package/packages/logger/src/loggers/SentryLogger/mock.ts +6 -6
  782. package/packages/logger/src/loggers/index.ts +2 -2
  783. package/packages/logger/src/types.ts +46 -46
  784. package/packages/logger/src/utils/deviceInfo.ts +25 -25
  785. package/packages/logger/src/utils/index.ts +1 -1
  786. package/packages/lottie-animations/README.md +217 -217
  787. package/packages/lottie-animations/src/LottieAnimation.tsx +125 -125
  788. package/packages/lottie-animations/src/index.ts +7 -7
  789. package/packages/menu/README.md +90 -90
  790. package/packages/menu/WhitelabelMenu/index.ts +1 -1
  791. package/packages/menu/WhitelabelMenu/interface.ts +2 -2
  792. package/packages/menu/WhitelabelMenu/styles.ts +2 -2
  793. package/packages/menu/interface.ts +3 -3
  794. package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +211 -211
  795. package/packages/menu/src/MenuAndContentContainer/index.ts +1 -1
  796. package/packages/menu/src/MenuAndContentContainer/interface.ts +164 -164
  797. package/packages/menu/src/MenuAndContentContainer/service.ts +5 -5
  798. package/packages/menu/src/WhitelabelMenu/SideMenu.scss +41 -41
  799. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.1080.scss +2 -2
  800. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.1080.scss +3 -3
  801. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.scss +3 -3
  802. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.scss +2 -2
  803. package/packages/menu/src/WhitelabelMenu/SideMenu.tsx +248 -248
  804. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.scss +56 -56
  805. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.1080.scss +2 -2
  806. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.1080.scss +3 -3
  807. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.scss +3 -3
  808. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.scss +2 -2
  809. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.tsx +78 -78
  810. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_animated.scss +12 -12
  811. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.1080.scss +17 -17
  812. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.scss +17 -17
  813. package/packages/menu/src/WhitelabelMenu/SideMenuItem/index.ts +1 -1
  814. package/packages/menu/src/WhitelabelMenu/SideMenuItem/interface.ts +49 -49
  815. package/packages/menu/src/WhitelabelMenu/SideMenuItem/rtl.scss +12 -12
  816. package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.1080.ts +2 -2
  817. package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.ts +2 -2
  818. package/packages/menu/src/WhitelabelMenu/SideMenuItem/styles.ts +1 -1
  819. package/packages/menu/src/WhitelabelMenu/VisualController.animated.ts +48 -48
  820. package/packages/menu/src/WhitelabelMenu/VisualController.ts +20 -20
  821. package/packages/menu/src/WhitelabelMenu/VisualControllerBase.ts +71 -71
  822. package/packages/menu/src/WhitelabelMenu/_animated.scss +39 -39
  823. package/packages/menu/src/WhitelabelMenu/_sizes.1080.scss +14 -14
  824. package/packages/menu/src/WhitelabelMenu/_sizes.scss +14 -14
  825. package/packages/menu/src/WhitelabelMenu/constants.animated.ts +1 -1
  826. package/packages/menu/src/WhitelabelMenu/constants.ts +1 -1
  827. package/packages/menu/src/WhitelabelMenu/index.ts +1 -1
  828. package/packages/menu/src/WhitelabelMenu/interface.ts +14 -14
  829. package/packages/menu/src/WhitelabelMenu/rtl.scss +22 -22
  830. package/packages/menu/src/WhitelabelMenu/sizes.1080.ts +1 -1
  831. package/packages/menu/src/WhitelabelMenu/sizes.ts +1 -1
  832. package/packages/menu/src/WhitelabelMenu/styles.ts +1 -1
  833. package/packages/menu/src/WhitelabelMenu/utils.ts +34 -34
  834. package/packages/menu/src/index.ts +2 -2
  835. package/packages/modal-service/README.md +50 -50
  836. package/packages/modal-service/src/IModal.ts +3 -3
  837. package/packages/modal-service/src/ModalService.scss +7 -7
  838. package/packages/modal-service/src/ModalService.styles.1080.scss +2 -2
  839. package/packages/modal-service/src/ModalService.styles.scss +2 -2
  840. package/packages/modal-service/src/ModalService.tsx +102 -102
  841. package/packages/modal-service/src/_sizes.1080.scss +2 -2
  842. package/packages/modal-service/src/_sizes.scss +2 -2
  843. package/packages/modal-service/src/index.ts +2 -2
  844. package/packages/mouse-navigation/README.md +105 -105
  845. package/packages/mouse-navigation/src/ArrowNavigation/Arrow.tsx +58 -58
  846. package/packages/mouse-navigation/src/ArrowNavigation/ArrowNavigation.tsx +95 -95
  847. package/packages/mouse-navigation/src/ArrowNavigation/__test__/Arrow.spec.tsx +35 -35
  848. package/packages/mouse-navigation/src/ArrowNavigation/__test__/ArrowNavigation.spec.tsx +45 -45
  849. package/packages/mouse-navigation/src/ArrowNavigation/index.tsx +1 -1
  850. package/packages/mouse-navigation/src/MouseElementWrapper.tsx +70 -70
  851. package/packages/mouse-navigation/src/MouseNavigation.tsx +157 -157
  852. package/packages/mouse-navigation/src/MouseNavigationInterface.ts +8 -8
  853. package/packages/mouse-navigation/src/index.ts +3 -3
  854. package/packages/numeric-zapper/README.md +153 -153
  855. package/packages/numeric-zapper/src/NumericZapper.scss +20 -20
  856. package/packages/numeric-zapper/src/NumericZapper.styles.1080.scss +2 -2
  857. package/packages/numeric-zapper/src/NumericZapper.styles.scss +2 -2
  858. package/packages/numeric-zapper/src/NumericZapper.tsx +257 -257
  859. package/packages/numeric-zapper/src/ZapperAllower.ts +15 -15
  860. package/packages/numeric-zapper/src/ZapperService.tsx +8 -8
  861. package/packages/numeric-zapper/src/_sizes.1080.scss +7 -7
  862. package/packages/numeric-zapper/src/_sizes.scss +7 -7
  863. package/packages/numeric-zapper/src/index.ts +4 -4
  864. package/packages/numeric-zapper/src/interface.ts +1 -1
  865. package/packages/numeric-zapper/src/styles.ts +1 -1
  866. package/packages/perf-utils/README.md +7 -7
  867. package/packages/perf-utils/src/array/filter.ts +1 -1
  868. package/packages/perf-utils/src/array/find.ts +1 -1
  869. package/packages/perf-utils/src/array/findIndex.ts +1 -1
  870. package/packages/perf-utils/src/array/forEach.ts +1 -1
  871. package/packages/perf-utils/src/array/includes.ts +1 -1
  872. package/packages/perf-utils/src/array/includesNaN.ts +1 -1
  873. package/packages/perf-utils/src/array/index.ts +1 -1
  874. package/packages/perf-utils/src/array/map.ts +1 -1
  875. package/packages/picker/README.md +70 -70
  876. package/packages/picker/src/DatePicker.tsx +55 -55
  877. package/packages/picker/src/ModalPicker/Checkbox.tsx +38 -38
  878. package/packages/picker/src/ModalPicker/PickerItem.tsx +86 -86
  879. package/packages/picker/src/ModalPicker/PickerModal.tsx +98 -98
  880. package/packages/picker/src/ModalPicker/index.ts +1 -1
  881. package/packages/picker/src/ModalPicker/modalPicker.tsx +48 -48
  882. package/packages/picker/src/Picker.tsx +127 -127
  883. package/packages/picker/src/index.ts +3 -3
  884. package/packages/picker/src/types.ts +25 -25
  885. package/packages/pin-input/README.md +55 -55
  886. package/packages/pin-input/src/PinInput.scss +5 -5
  887. package/packages/pin-input/src/PinInput.tsx +169 -169
  888. package/packages/pin-input/src/index.ts +1 -1
  889. package/packages/player-ui/README.md +207 -207
  890. package/packages/player-ui/src/BackwardButton.tsx +41 -41
  891. package/packages/player-ui/src/CurrentTime.tsx +56 -56
  892. package/packages/player-ui/src/Duration.tsx +60 -60
  893. package/packages/player-ui/src/ForwardButton.tsx +41 -41
  894. package/packages/player-ui/src/PauseButton.tsx +65 -65
  895. package/packages/player-ui/src/PlayButton.tsx +57 -57
  896. package/packages/player-ui/src/PlayPauseButton.tsx +63 -63
  897. package/packages/player-ui/src/PlayerInteractable.tsx +67 -67
  898. package/packages/player-ui/src/PlayerTime.tsx +57 -57
  899. package/packages/player-ui/src/PlayerUI.tsx +267 -267
  900. package/packages/player-ui/src/RemainingTime.tsx +74 -74
  901. package/packages/player-ui/src/Seekbar.tsx +276 -276
  902. package/packages/player-ui/src/Seeking.ts +163 -163
  903. package/packages/player-ui/src/StopButton.tsx +35 -35
  904. package/packages/player-ui/src/Subtitles.tsx +151 -151
  905. package/packages/player-ui/src/index.ts +15 -15
  906. package/packages/player-ui/src/mocks.ts +65 -65
  907. package/packages/player-ui/src/timeUtils.ts +142 -142
  908. package/packages/player-ui/src/types.ts +48 -48
  909. package/packages/progress-bar/README.md +31 -31
  910. package/packages/progress-bar/src/ProgressBar.tsx +41 -41
  911. package/packages/progress-bar/src/index.ts +1 -1
  912. package/packages/progress-bar/src/interface.ts +14 -14
  913. package/packages/qr-code/README.md +79 -79
  914. package/packages/qr-code/src/QRCode.tsx +39 -39
  915. package/packages/qr-code/src/index.ts +2 -2
  916. package/packages/qr-code/src/qrGenerator/__external__/constants.ts +23 -23
  917. package/packages/qr-code/src/qrGenerator/__external__/qrcode.d.ts +31 -31
  918. package/packages/qr-code/src/qrGenerator/__external__/qrcode.js +618 -618
  919. package/packages/qr-code/src/qrGenerator/generateQr.ts +7 -7
  920. package/packages/qr-code/src/qrGenerator/index.ts +3 -3
  921. package/packages/router/README.md +163 -163
  922. package/packages/router/src/Route.tsx +166 -166
  923. package/packages/router/src/Router.tsx +220 -220
  924. package/packages/router/src/focusActiveRoute.ts +5 -5
  925. package/packages/router/src/history.ts +31 -31
  926. package/packages/router/src/index.ts +6 -6
  927. package/packages/router/src/types.ts +13 -13
  928. package/packages/router/src/utils.ts +37 -37
  929. package/packages/runtime-config/README.md +37 -37
  930. package/packages/runtime-config/src/Config.ts +44 -44
  931. package/packages/runtime-config/src/index.ts +1 -1
  932. package/packages/sass-utils/README.md +197 -197
  933. package/packages/sass-utils/src/box-shadow.scss +5 -5
  934. package/packages/sass-utils/src/ellipsis.scss +15 -15
  935. package/packages/sass-utils/src/linear-gradient.scss +48 -48
  936. package/packages/sass-utils/src/prefix-property.scss +7 -7
  937. package/packages/sass-utils/src/prefix-value.scss +6 -6
  938. package/packages/sass-utils/src/prefix.scss +6 -6
  939. package/packages/sass-utils/src/scale.1080.scss +5 -5
  940. package/packages/sass-utils/src/scale.720.scss +5 -5
  941. package/packages/sass-utils/src/transform.scss +5 -5
  942. package/packages/sass-utils/src/transition.scss +6 -6
  943. package/packages/scheduler/README.md +55 -55
  944. package/packages/scheduler/src/Scheduler.ts +43 -43
  945. package/packages/scheduler/src/Task.ts +72 -72
  946. package/packages/scheduler/src/index.ts +4 -4
  947. package/packages/scheduler/src/timeProvider.ts +3 -3
  948. package/packages/scroll-text/README.md +77 -77
  949. package/packages/scroll-text/src/Base.tsx +146 -146
  950. package/packages/scroll-text/src/ScrollText.animated.tsx +80 -80
  951. package/packages/scroll-text/src/ScrollText.tsx +53 -53
  952. package/packages/scroll-text/src/ScrollTextBaseClass.tsx +86 -86
  953. package/packages/scroll-text/src/index.ts +1 -1
  954. package/packages/scroller/README.md +77 -77
  955. package/packages/scroller/src/Scroller.tsx +51 -51
  956. package/packages/scroller/src/index.ts +1 -1
  957. package/packages/splash/AnimatedSplash.ts +1 -1
  958. package/packages/splash/AnimatedSplashAnimated.ts +1 -1
  959. package/packages/splash/AnimatedSplashBasic.ts +1 -1
  960. package/packages/splash/AutomaticSplashAnimated.ts +1 -1
  961. package/packages/splash/AutomaticSplashBasic.ts +1 -1
  962. package/packages/splash/README.md +93 -93
  963. package/packages/splash/StaticSplash.ts +1 -1
  964. package/packages/splash/StaticSplashAnimated.ts +1 -1
  965. package/packages/splash/StaticSplashBasic.ts +1 -1
  966. package/packages/splash/src/AnimatedSplash.animated.tsx +78 -78
  967. package/packages/splash/src/AnimatedSplash.basic.tsx +37 -37
  968. package/packages/splash/src/AutomaticSplash.animated.tsx +20 -20
  969. package/packages/splash/src/AutomaticSplash.basic.tsx +20 -20
  970. package/packages/splash/src/Splash.scss +8 -8
  971. package/packages/splash/src/StaticSplash.animated.tsx +48 -48
  972. package/packages/splash/src/StaticSplash.basic.tsx +26 -26
  973. package/packages/splash/src/index.animated.ts +1 -1
  974. package/packages/splash/src/index.ts +1 -1
  975. package/packages/splash/src/styles.ts +1 -1
  976. package/packages/splash/src/types.ts +20 -20
  977. package/packages/storage/README.md +61 -61
  978. package/packages/storage/src/CookieStorage/CookieStorage.ts +57 -57
  979. package/packages/storage/src/CookieStorage/index.ts +1 -1
  980. package/packages/storage/src/LocalStorage/LocalStorage.ts +58 -58
  981. package/packages/storage/src/LocalStorage/index.ts +1 -1
  982. package/packages/storage/src/index.ts +2 -2
  983. package/packages/storage/src/shared.ts +41 -41
  984. package/packages/storage/src/types.ts +33 -33
  985. package/packages/throbber/README.md +53 -53
  986. package/packages/throbber/src/Throbber.scss +52 -52
  987. package/packages/throbber/src/Throbber.tsx +19 -19
  988. package/packages/throbber/src/ThrobberService.tsx +55 -55
  989. package/packages/throbber/src/controlsHandling.ts +14 -14
  990. package/packages/throbber/src/index.ts +2 -2
  991. package/packages/time/README.md +116 -116
  992. package/packages/time/src/Time.ts +267 -267
  993. package/packages/time/src/adapters/24iMediaTimeApi.ts +47 -47
  994. package/packages/time/src/adapters/worldTimeApi.ts +74 -74
  995. package/packages/time/src/constants.ts +14 -14
  996. package/packages/time/src/index.ts +1 -1
  997. package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +43 -43
  998. package/packages/time/src/services/24iMediaTimeApi/index.ts +6 -6
  999. package/packages/time/src/services/worldTimeApi/index.ts +7 -7
  1000. package/packages/time/src/services/worldTimeApi/types.ts +75 -75
  1001. package/packages/time/src/services/worldTimeApi/worldTimeApi.ts +77 -77
  1002. package/packages/time/src/types.ts +39 -39
  1003. package/packages/time/src/utils.ts +79 -79
  1004. package/packages/toast/README.md +116 -116
  1005. package/packages/toast/src/Toast/IVisualController.ts +7 -7
  1006. package/packages/toast/src/Toast/Toast.scss +22 -22
  1007. package/packages/toast/src/Toast/Toast.styles.1080.scss +2 -2
  1008. package/packages/toast/src/Toast/Toast.styles.scss +2 -2
  1009. package/packages/toast/src/Toast/Toast.tsx +83 -83
  1010. package/packages/toast/src/Toast/VisualController.animated.ts +20 -20
  1011. package/packages/toast/src/Toast/VisualController.ts +9 -9
  1012. package/packages/toast/src/Toast/_sizes.1080.scss +8 -8
  1013. package/packages/toast/src/Toast/_sizes.scss +8 -8
  1014. package/packages/toast/src/Toast/index.ts +2 -2
  1015. package/packages/toast/src/Toast/styles.ts +1 -1
  1016. package/packages/toast/src/ToastService.scss +8 -8
  1017. package/packages/toast/src/ToastService.styles.1080.scss +2 -2
  1018. package/packages/toast/src/ToastService.styles.scss +2 -2
  1019. package/packages/toast/src/ToastService.tsx +59 -59
  1020. package/packages/toast/src/_sizes.1080.scss +2 -2
  1021. package/packages/toast/src/_sizes.scss +2 -2
  1022. package/packages/toast/src/index.ts +4 -4
  1023. package/packages/toast/src/types.ts +4 -4
  1024. package/packages/types-bigscreen-jsx/README.md +12 -12
  1025. package/packages/types-bigscreen-jsx/global.d.ts +0 -0
  1026. package/packages/types-bigscreen-jsx/index.d.ts +32 -32
  1027. package/packages/types-bigscreen-jsx/src/copyTypes.js +14 -14
  1028. package/packages/utils/README.md +363 -363
  1029. package/packages/utils/src/addClass.ts +9 -9
  1030. package/packages/utils/src/counter.ts +49 -49
  1031. package/packages/utils/src/debounce.ts +54 -54
  1032. package/packages/utils/src/displayToggler.scss +3 -3
  1033. package/packages/utils/src/displayToggler.ts +38 -38
  1034. package/packages/utils/src/elementUtils.ts +105 -105
  1035. package/packages/utils/src/forceReflow.ts +14 -14
  1036. package/packages/utils/src/generateUuid.ts +19 -19
  1037. package/packages/utils/src/index.ts +43 -43
  1038. package/packages/utils/src/keyPress/index.ts +6 -6
  1039. package/packages/utils/src/keyPress/keyPressSimulator.ts +74 -74
  1040. package/packages/utils/src/keyPress/simulateKeyPress.ts +25 -25
  1041. package/packages/utils/src/memoryInfo.ts +21 -21
  1042. package/packages/utils/src/nTimes.ts +9 -9
  1043. package/packages/utils/src/noop.ts +1 -1
  1044. package/packages/utils/src/offsetPosition.ts +56 -56
  1045. package/packages/utils/src/removeClass.ts +9 -9
  1046. package/packages/utils/src/scaledImage.ts +24 -24
  1047. package/packages/utils/src/sizes.1080.ts +1 -1
  1048. package/packages/utils/src/sizes.ts +1 -1
  1049. package/packages/utils/src/stopEvent.ts +10 -10
  1050. package/packages/utils/src/textUtils.ts +57 -57
  1051. package/packages/utils/src/timeConstants.ts +11 -11
  1052. package/packages/utils/src/timers/createInterval.ts +19 -19
  1053. package/packages/utils/src/timers/createTimeout.ts +22 -22
  1054. package/packages/utils/src/timers/index.ts +4 -4
  1055. package/packages/utils/src/timers/runAsync.ts +3 -3
  1056. package/packages/utils/src/timers/types.ts +9 -9
  1057. package/packages/utils/src/wait.ts +3 -3
  1058. package/packages/utils/src/xhr/__mocks__/xhr.ts +29 -29
  1059. package/packages/utils/src/xhr/index.ts +11 -11
  1060. package/packages/utils/src/xhr/xhrSend.ts +141 -141
  1061. package/packages/utils/src/xhr/xhrSendRetry.ts +79 -79
  1062. package/packages/volume-control/README.md +79 -79
  1063. package/packages/volume-control/src/IVolumeControlUI.ts +26 -26
  1064. package/packages/volume-control/src/VolumeControlService.tsx +110 -110
  1065. package/packages/volume-control/src/VolumeControlUI/VisualController.animated.ts +28 -28
  1066. package/packages/volume-control/src/VolumeControlUI/VisualController.ts +3 -3
  1067. package/packages/volume-control/src/VolumeControlUI/VisualControllerBase.ts +26 -26
  1068. package/packages/volume-control/src/VolumeControlUI/VolumeControl.scss +18 -18
  1069. package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.animated.scss +2 -2
  1070. package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.scss +1 -1
  1071. package/packages/volume-control/src/VolumeControlUI/VolumeControlUI.tsx +80 -80
  1072. package/packages/volume-control/src/VolumeControlUI/_animated.scss +8 -8
  1073. package/packages/volume-control/src/VolumeControlUI/index.ts +1 -1
  1074. package/packages/volume-control/src/__mocks__/VolumeControlUIMock.tsx +22 -22
  1075. package/packages/volume-control/src/index.ts +2 -2
  1076. package/packages/zapping/README.md +87 -87
  1077. package/packages/zapping/src/ChannelZapping.ts +143 -143
  1078. package/packages/zapping/src/Zapping.tsx +115 -115
  1079. package/packages/zapping/src/index.ts +1 -1
  1080. package/packages/zapping/src/interface.ts +1 -1
  1081. package/utils/create-export-maps/index.ts +3 -3
  1082. package/utils/create-export-maps/src/__tests__/createExportMaps.spec.ts +50 -50
  1083. package/utils/create-export-maps/src/createExportMaps.ts +61 -61
  1084. package/utils/create-package/README.md +39 -39
  1085. package/utils/create-package/src/createPackage.ts +72 -72
  1086. package/utils/create-package/src/index.ts +3 -3
  1087. package/utils/create-package/src/questionnaire/questions.ts +19 -19
  1088. package/utils/create-package/src/settings/Settings.ts +5 -5
  1089. package/utils/create-package/src/types.ts +4 -4
  1090. package/utils/create-package/templates/typescript/README.md +8 -8
  1091. package/utils/create-package/templates/typescript/exports.json +6 -6
  1092. package/utils/release/release.ts +156 -156
  1093. package/utils/run-scripts/index.ts +3 -3
  1094. package/utils/run-scripts/src/__tests__/runScripts.spec.ts +45 -45
  1095. 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.