@24i/bigscreen-sdk 1.0.34 → 1.0.35-alpha.2578
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.
- package/README.md +47 -47
- package/__mocks__/@24i/bigscreen-sdk/animations.ts +2 -2
- package/package.json +1 -1
- package/packages/adobe-heartbeat/README.md +46 -46
- package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +244 -244
- package/packages/adobe-heartbeat/src/__external__/Adobe/Adobe.d.ts +24 -24
- package/packages/adobe-heartbeat/src/__external__/Adobe/MediaSDK.min.d.ts +126 -126
- package/packages/adobe-heartbeat/src/__external__/Adobe/MediaSDK.min.js +76 -76
- package/packages/adobe-heartbeat/src/index.ts +5 -5
- package/packages/adobe-heartbeat/src/types.ts +67 -67
- package/packages/analytics/README.md +7 -7
- package/packages/analytics/src/A.ts +1 -1
- package/packages/analytics/src/Analytics.ts +1 -1
- package/packages/analytics/src/analyticsOnScroll.ts +1 -1
- package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +1 -1
- package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +1 -1
- package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +200 -200
- package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +118 -118
- package/packages/analytics/src/clients/GoogleAnalytics/getUrl.ts +17 -17
- package/packages/analytics/src/clients/GoogleAnalytics/index.ts +2 -2
- package/packages/analytics/src/clients/GoogleAnalytics/interface.ts +77 -77
- package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +50 -50
- package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +14 -14
- package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +161 -161
- package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +102 -102
- package/packages/analytics/src/clients/TealiumAnalytics/index.ts +3 -3
- package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +33 -33
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +40 -40
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/helper.ts +21 -21
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppError.ts +14 -14
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteAdd.ts +11 -11
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteRemove.ts +11 -11
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerClose.ts +15 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerOpen.ts +15 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSceneView.ts +15 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearch.ts +18 -18
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchFailed.ts +8 -8
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchSuccess.ts +8 -8
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoPause.ts +15 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoProgress.ts +18 -18
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoResume.ts +15 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStart.ts +15 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStop.ts +15 -15
- package/packages/analytics/src/clients/TealiumAnalytics/types.ts +139 -139
- package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +116 -116
- package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +99 -99
- package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +34 -34
- package/packages/analytics/src/clients/TwentyFourIQ/index.ts +2 -2
- package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +31 -31
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdLoaded.ts +13 -13
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdSkipped.ts +16 -16
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +21 -21
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +15 -15
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +24 -24
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +18 -18
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +15 -15
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +17 -17
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +21 -21
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +24 -24
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +24 -24
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +34 -34
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +32 -32
- package/packages/analytics/src/clients/TwentyFourIQ/types.ts +115 -115
- package/packages/analytics/src/constants.ts +1 -1
- package/packages/analytics/src/index.ts +3 -3
- package/packages/analytics/src/interface.ts +1 -1
- package/packages/analytics/src/utils/generateSessionId.ts +8 -8
- package/packages/animations/README.md +85 -85
- package/packages/animations/src/AnimationUtils.ts +238 -238
- package/packages/animations/src/JSAnimations.ts +144 -144
- package/packages/animations/src/__mocks__/JSAnimations.ts +30 -30
- package/packages/animations/src/index.ts +3 -3
- package/packages/announcement-banner/README.md +49 -49
- package/packages/announcement-banner/src/AnnouncementBanner.scss +8 -8
- package/packages/announcement-banner/src/AnnouncementBanner.tsx +136 -136
- package/packages/announcement-banner/src/index.ts +1 -1
- package/packages/async-image/README.md +47 -47
- package/packages/async-image/src/AsyncImage.tsx +101 -101
- package/packages/async-image/src/index.ts +2 -2
- package/packages/conviva/README.md +47 -47
- package/packages/conviva/src/ConvivaSDK.ts +38 -38
- package/packages/conviva/src/__mocks__/ConvivaMock.ts +36 -36
- package/packages/conviva/src/index.ts +1 -1
- package/packages/conviva/src/theoPlugin/ConvivaConviguration.ts +19 -19
- package/packages/conviva/src/theoPlugin/__external__/Conviva_4.0.15.js +698 -698
- package/packages/conviva/src/theoPlugin/__external__/convivaTheoPlugin.d.ts +7 -7
- package/packages/conviva/src/theoPlugin/__external__/convivaTheoPlugin.js +635 -635
- package/packages/conviva/src/theoPlugin/convivaTheoPluginWrapper.ts +61 -61
- package/packages/conviva/src/theoPlugin/index.ts +2 -2
- package/packages/developer-tools/DeveloperConsole/README.md +114 -114
- package/packages/developer-tools/DeveloperConsole/index.ts +3 -3
- package/packages/developer-tools/DeveloperConsole/unstyled.ts +1 -1
- package/packages/developer-tools/DeveloperToolsService/README.md +54 -54
- package/packages/developer-tools/DeveloperToolsService/index.ts +3 -3
- package/packages/developer-tools/DeveloperToolsService/unstyled.ts +1 -1
- package/packages/developer-tools/EnvironmentSelection/README.md +77 -77
- package/packages/developer-tools/EnvironmentSelection/index.ts +3 -3
- package/packages/developer-tools/EnvironmentSelection/unstyled.ts +1 -1
- package/packages/developer-tools/PlayerDebugWindow/README.md +65 -65
- package/packages/developer-tools/PlayerDebugWindow/index.ts +3 -3
- package/packages/developer-tools/PlayerDebugWindow/unstyled.ts +1 -1
- package/packages/developer-tools/README.md +24 -24
- package/packages/developer-tools/TechnicalInfo/README.md +90 -90
- package/packages/developer-tools/TechnicalInfo/index.ts +9 -9
- package/packages/developer-tools/TechnicalInfo/unstyled.ts +6 -6
- package/packages/developer-tools/src/DeveloperConsole/ControlButton.tsx +16 -16
- package/packages/developer-tools/src/DeveloperConsole/DeveloperConsole.tsx +389 -389
- package/packages/developer-tools/src/DeveloperConsole/Panel.tsx +108 -108
- package/packages/developer-tools/src/DeveloperConsole/PanelMessage.tsx +33 -33
- package/packages/developer-tools/src/DeveloperConsole/helpers/Queue.ts +38 -38
- package/packages/developer-tools/src/DeveloperConsole/helpers/index.ts +2 -2
- package/packages/developer-tools/src/DeveloperConsole/helpers/instrumentHandler.ts +165 -165
- package/packages/developer-tools/src/DeveloperConsole/index.ts +2 -2
- package/packages/developer-tools/src/DeveloperConsole/initDeveloperConsole.tsx +8 -8
- package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.scss +91 -91
- package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.styles.1080.scss +2 -2
- package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.styles.scss +2 -2
- package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/_sizes.1080.scss +16 -16
- package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/_sizes.scss +16 -16
- package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.scss +87 -87
- package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.styles.1080.scss +2 -2
- package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.styles.scss +2 -2
- package/packages/developer-tools/src/DeveloperConsole/styles/Panel/_sizes.1080.scss +9 -9
- package/packages/developer-tools/src/DeveloperConsole/styles/Panel/_sizes.scss +9 -9
- package/packages/developer-tools/src/DeveloperConsole/styles.ts +2 -2
- package/packages/developer-tools/src/DeveloperConsole/types.ts +49 -49
- package/packages/developer-tools/src/DeveloperConsole/utils/formatTime.ts +13 -13
- package/packages/developer-tools/src/DeveloperConsole/utils/index.ts +3 -3
- package/packages/developer-tools/src/DeveloperConsole/utils/stringify.ts +10 -10
- package/packages/developer-tools/src/DeveloperConsole/utils/styles.ts +24 -24
- package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolItem.tsx +21 -21
- package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +125 -125
- package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsService.tsx +122 -122
- package/packages/developer-tools/src/DeveloperToolsService/index.ts +1 -1
- package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.scss +64 -64
- package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.1080.scss +2 -2
- package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.animated.1080.scss +3 -3
- package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.animated.scss +4 -4
- package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.scss +2 -2
- package/packages/developer-tools/src/DeveloperToolsService/styles/_animated.scss +5 -5
- package/packages/developer-tools/src/DeveloperToolsService/styles/_sizes.1080.scss +16 -16
- package/packages/developer-tools/src/DeveloperToolsService/styles/_sizes.scss +16 -16
- package/packages/developer-tools/src/DeveloperToolsService/styles.ts +1 -1
- package/packages/developer-tools/src/EnvironmentSelection/EnvironmentList.tsx +90 -90
- package/packages/developer-tools/src/EnvironmentSelection/EnvironmentListItem.tsx +106 -106
- package/packages/developer-tools/src/EnvironmentSelection/EnvironmentSelection.tsx +102 -102
- package/packages/developer-tools/src/EnvironmentSelection/assets/checkmark.svg +18 -18
- package/packages/developer-tools/src/EnvironmentSelection/config.ts +43 -43
- package/packages/developer-tools/src/EnvironmentSelection/constants.ts +1 -1
- package/packages/developer-tools/src/EnvironmentSelection/index.ts +2 -2
- package/packages/developer-tools/src/EnvironmentSelection/sizes.1080.ts +5 -5
- package/packages/developer-tools/src/EnvironmentSelection/sizes.ts +5 -5
- package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.scss +141 -141
- package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.1080.scss +2 -2
- package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.animated.1080.scss +3 -3
- package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.animated.scss +3 -3
- package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.scss +2 -2
- package/packages/developer-tools/src/EnvironmentSelection/styles/_animated.scss +9 -9
- package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.1080.scss +26 -26
- package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.scss +26 -26
- package/packages/developer-tools/src/EnvironmentSelection/styles.ts +1 -1
- package/packages/developer-tools/src/EnvironmentSelection/types.ts +10 -10
- package/packages/developer-tools/src/EnvironmentSelection/utils/format.ts +4 -4
- package/packages/developer-tools/src/IDeveloperTool.ts +14 -14
- package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +115 -115
- package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +128 -128
- package/packages/developer-tools/src/PlayerDebugWindow/index.ts +1 -1
- package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.scss +29 -29
- package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.styles.1080.scss +2 -2
- package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.styles.scss +2 -2
- package/packages/developer-tools/src/PlayerDebugWindow/styles/_sizes.1080.scss +11 -11
- package/packages/developer-tools/src/PlayerDebugWindow/styles/_sizes.scss +11 -11
- package/packages/developer-tools/src/PlayerDebugWindow/styles.ts +1 -1
- package/packages/developer-tools/src/TechnicalInfo/ITechnicalInfoProvider.ts +5 -5
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfo.tsx +125 -125
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +77 -77
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +349 -349
- package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +55 -55
- package/packages/developer-tools/src/TechnicalInfo/__mocks__/Player.ts +7 -7
- package/packages/developer-tools/src/TechnicalInfo/__mocks__/Storage.ts +9 -9
- package/packages/developer-tools/src/TechnicalInfo/icons/arrow-down.svg +18 -18
- package/packages/developer-tools/src/TechnicalInfo/icons/arrow-up.svg +18 -18
- package/packages/developer-tools/src/TechnicalInfo/index.ts +5 -5
- package/packages/developer-tools/src/TechnicalInfo/sizes.1080.ts +1 -1
- package/packages/developer-tools/src/TechnicalInfo/sizes.ts +1 -1
- package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.scss +187 -187
- package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.1080.scss +2 -2
- package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.animated.1080.scss +3 -3
- package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.animated.scss +3 -3
- package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.scss +2 -2
- package/packages/developer-tools/src/TechnicalInfo/styles/_animated.scss +16 -16
- package/packages/developer-tools/src/TechnicalInfo/styles/_sizes.1080.scss +50 -50
- package/packages/developer-tools/src/TechnicalInfo/styles/_sizes.scss +50 -50
- package/packages/developer-tools/src/TechnicalInfo/styles.ts +1 -1
- package/packages/developer-tools/src/TechnicalInfo/translations.ts +79 -79
- package/packages/developer-tools/src/TechnicalInfo/utils/eme01bSupport.ts +58 -58
- package/packages/developer-tools/src/TechnicalInfo/utils/emeSupport.ts +84 -84
- package/packages/developer-tools/src/TechnicalInfo/utils/formatTimezone.ts +15 -15
- package/packages/developer-tools/src/TechnicalInfo/utils/mseSupport.ts +14 -14
- package/packages/developer-tools/src/utils/reload.ts +6 -6
- package/packages/device/README.md +219 -219
- package/packages/device/keymap.ts +1 -1
- package/packages/device/resolver/index.ts +2 -2
- package/packages/device/resolver/keymap.ts +1 -1
- package/packages/device/src/DeviceEventMap.ts +1 -1
- package/packages/device/src/device.ts +6 -6
- package/packages/device/src/driver/index.android.tv.ts +1 -1
- package/packages/device/src/driver/index.entone.ts +1 -1
- package/packages/device/src/driver/index.firetv.ts +1 -1
- package/packages/device/src/driver/index.hbbtv.tv.ts +1 -1
- package/packages/device/src/driver/index.kreatv.ts +1 -1
- package/packages/device/src/driver/index.saphi.tv.ts +1 -1
- package/packages/device/src/driver/index.smartcast.tv.ts +1 -1
- package/packages/device/src/driver/index.tizen.tv.ts +1 -1
- package/packages/device/src/driver/index.ts +1 -1
- package/packages/device/src/driver/index.vidaa.tv.ts +1 -1
- package/packages/device/src/driver/index.webos.tv.ts +1 -1
- package/packages/device/src/getKeyDigit.ts +35 -35
- package/packages/device/src/getKeyMap.ts +4 -4
- package/packages/device/src/index.ts +8 -8
- package/packages/device/src/isClickOrEnter.ts +3 -3
- package/packages/device/src/resolver/index.ts +2 -2
- package/packages/device/src/resolver/resolver.ts +84 -84
- package/packages/digital-clock/README.md +26 -26
- package/packages/digital-clock/src/DigitalClock.tsx +78 -78
- package/packages/digital-clock/src/index.ts +1 -1
- package/packages/driver-androidtv/src/DeviceAndroidTV.ts +224 -224
- package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +36 -36
- package/packages/driver-androidtv/src/formatUserAgent.ts +11 -11
- package/packages/driver-androidtv/src/index.ts +1 -1
- package/packages/driver-androidtv/src/keymap.ts +27 -27
- package/packages/driver-androidtv/src/types.ts +113 -113
- package/packages/driver-base/DeviceBase.md +139 -139
- package/packages/driver-base/README.md +44 -44
- package/packages/driver-base/src/ConnectionType.ts +1 -1
- package/packages/driver-base/src/DeviceBase.ts +279 -279
- package/packages/driver-base/src/KeyMap/Key.ts +48 -48
- package/packages/driver-base/src/KeyMap/KeyMap.ts +390 -390
- package/packages/driver-base/src/KeyMap/generateKeyCodeKeyMap.ts +11 -11
- package/packages/driver-base/src/KeyMap/index.ts +5 -5
- package/packages/driver-base/src/KeyMap/interface.ts +8 -8
- package/packages/driver-base/src/KeyMap/overrideValues.ts +17 -17
- package/packages/driver-base/src/KeyMap/switchByKey.ts +18 -18
- package/packages/driver-base/src/ScreenSize.ts +1 -1
- package/packages/driver-base/src/VolumeRange.ts +5 -5
- package/packages/driver-base/src/__mocks__/DeviceBase.ts +100 -100
- package/packages/driver-base/src/__mocks__/keyMap.ts +42 -42
- package/packages/driver-base/src/bindPreventDefaultEvent.ts +5 -5
- package/packages/driver-base/src/errors.ts +32 -32
- package/packages/driver-base/src/index.ts +10 -10
- package/packages/driver-base/src/loadObject.ts +30 -30
- package/packages/driver-base/src/types/DeviceEvent.ts +11 -11
- package/packages/driver-base/src/types/ExitOptions.ts +1 -1
- package/packages/driver-base/src/types/KeycodeKeyMap.ts +86 -86
- package/packages/driver-base/src/types/ScreenSaverStatus.ts +3 -3
- package/packages/driver-base/src/utils.ts +10 -10
- package/packages/driver-browser/src/DeviceBrowser.ts +170 -170
- package/packages/driver-browser/src/getBrowser.ts +51 -51
- package/packages/driver-browser/src/getOsName.ts +30 -30
- package/packages/driver-browser/src/index.ts +1 -1
- package/packages/driver-browser/src/keymap.ts +22 -22
- package/packages/driver-browser/src/patchSuitestKeys.ts +27 -27
- package/packages/driver-entone/README.md +9 -9
- package/packages/driver-entone/src/DeviceEntone.ts +232 -232
- package/packages/driver-entone/src/IEntone.ts +460 -460
- package/packages/driver-entone/src/__mocks__/entone.ts +177 -177
- package/packages/driver-entone/src/constants.ts +73 -73
- package/packages/driver-entone/src/index.ts +1 -1
- package/packages/driver-entone/src/keymap.ts +57 -57
- package/packages/driver-firetv/src/DeviceFireTV.ts +18 -18
- package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +36 -36
- package/packages/driver-firetv/src/index.ts +1 -1
- package/packages/driver-hbbtv/src/DeviceHbbTV.ts +313 -313
- package/packages/driver-hbbtv/src/__mocks__/hbbtv.ts +17 -17
- package/packages/driver-hbbtv/src/constants.ts +28 -28
- package/packages/driver-hbbtv/src/deviceInfo.ts +23 -23
- package/packages/driver-hbbtv/src/getVersion.ts +16 -16
- package/packages/driver-hbbtv/src/index.ts +1 -1
- package/packages/driver-hbbtv/src/keymap.ts +45 -45
- package/packages/driver-hbbtv/src/types.ts +366 -366
- package/packages/driver-kreatv/src/DeviceKreaTV.ts +271 -271
- package/packages/driver-kreatv/src/IToi.ts +379 -379
- package/packages/driver-kreatv/src/__mocks__/toi2.ts +76 -76
- package/packages/driver-kreatv/src/__mocks__/toi3.ts +43 -43
- package/packages/driver-kreatv/src/index.ts +1 -1
- package/packages/driver-kreatv/src/keymap.ts +31 -31
- package/packages/driver-kreatv/src/toi2.ts +107 -107
- package/packages/driver-kreatv/src/toi3.ts +102 -102
- package/packages/driver-kreatv/src/types.ts +35 -35
- package/packages/driver-saphi/src/DeviceSaphi.ts +144 -144
- package/packages/driver-saphi/src/__mocks__/SmartTvA_API.ts +11 -11
- package/packages/driver-saphi/src/__mocks__/userAgent.ts +4 -4
- package/packages/driver-saphi/src/constants.ts +1 -1
- package/packages/driver-saphi/src/formatUserAgent.ts +19 -19
- package/packages/driver-saphi/src/index.ts +1 -1
- package/packages/driver-saphi/src/keymap.ts +64 -64
- package/packages/driver-saphi/src/types.ts +75 -75
- package/packages/driver-smartcast/src/DeviceSmartCast.ts +316 -310
- package/packages/driver-smartcast/src/__mocks__/api.ts +49 -49
- package/packages/driver-smartcast/src/index.ts +1 -1
- package/packages/driver-smartcast/src/keymap.ts +9 -9
- package/packages/driver-smartcast/src/types.ts +65 -65
- package/packages/driver-tizen/src/DeviceTizen.ts +298 -298
- package/packages/driver-tizen/src/ITizen.ts +212 -212
- package/packages/driver-tizen/src/IWebapis.ts +95 -95
- package/packages/driver-tizen/src/TizenKeys.ts +96 -96
- package/packages/driver-tizen/src/__mocks__/tizen.ts +35 -35
- package/packages/driver-tizen/src/constants.ts +197 -197
- package/packages/driver-tizen/src/index.ts +1 -1
- package/packages/driver-tizen/src/types.ts +14 -14
- package/packages/driver-vidaa/src/DeviceVidaa.ts +141 -141
- package/packages/driver-vidaa/src/__mocks__/vidaa.ts +21 -21
- package/packages/driver-vidaa/src/constants.ts +8 -8
- package/packages/driver-vidaa/src/formatUserAgent.ts +16 -16
- package/packages/driver-vidaa/src/index.ts +1 -1
- package/packages/driver-vidaa/src/keymap.ts +56 -56
- package/packages/driver-vidaa/src/types.ts +90 -90
- package/packages/driver-webos/src/DeviceWebos.ts +313 -313
- package/packages/driver-webos/src/__mocks__/webos.ts +172 -172
- package/packages/driver-webos/src/constants.ts +20 -20
- package/packages/driver-webos/src/index.ts +1 -1
- package/packages/driver-webos/src/keymap.ts +10 -10
- package/packages/driver-webos/src/types.ts +344 -344
- package/packages/driver-webos/src/utils.ts +60 -60
- package/packages/driver-webos/src/webOSTVjs/webOSTVjs.js +12 -12
- package/packages/driver-xbox/__external__/winjs/directionalnavigation-1.0.0.0.js +1015 -1015
- package/packages/driver-xbox/src/DeviceXbox.ts +231 -231
- package/packages/driver-xbox/src/__mocks__/Windows.ts +94 -94
- package/packages/driver-xbox/src/index.ts +1 -1
- package/packages/driver-xbox/src/interfaces.ts +138 -138
- package/packages/driver-xbox/src/keymap.ts +96 -96
- package/packages/driver-xbox/src/utils.ts +23 -23
- package/packages/epg/IMPLEMENTATION.md +228 -228
- package/packages/epg/MockGenerator.md +102 -102
- package/packages/epg/README.md +585 -585
- package/packages/epg/src/v2/Cell.tsx +222 -222
- package/packages/epg/src/v2/CellsManager.ts +1 -1
- package/packages/epg/src/v2/DataManager.ts +372 -372
- package/packages/epg/src/v2/DatePicker.tsx +110 -110
- package/packages/epg/src/v2/DateToast/DateToast.scss +28 -28
- package/packages/epg/src/v2/DateToast/DateToast.styles.1080.scss +2 -2
- package/packages/epg/src/v2/DateToast/DateToast.styles.scss +2 -2
- package/packages/epg/src/v2/DateToast/DateToast.tsx +90 -90
- package/packages/epg/src/v2/DateToast/_sizes.1080.scss +7 -7
- package/packages/epg/src/v2/DateToast/_sizes.scss +7 -7
- package/packages/epg/src/v2/DateToast/index.tsx +1 -1
- package/packages/epg/src/v2/DateToast/styles.ts +1 -1
- package/packages/epg/src/v2/Day.tsx +33 -33
- package/packages/epg/src/v2/Epg.tsx +462 -462
- package/packages/epg/src/v2/Header.tsx +41 -41
- package/packages/epg/src/v2/IdleController.ts +25 -25
- package/packages/epg/src/v2/InputEvents.ts +301 -301
- package/packages/epg/src/v2/MockGenerator/config.1080.ts +2 -2
- package/packages/epg/src/v2/MockGenerator/config.ts +2 -2
- package/packages/epg/src/v2/MockGenerator/generator.ts +174 -174
- package/packages/epg/src/v2/MockGenerator/index.ts +2 -2
- package/packages/epg/src/v2/MockGenerator/mocks/data.ts +102 -102
- package/packages/epg/src/v2/MockGenerator/types.ts +25 -25
- package/packages/epg/src/v2/MockGenerator/utils.ts +28 -28
- package/packages/epg/src/v2/MouseNavigation/MouseNavigation.tsx +88 -88
- package/packages/epg/src/v2/MouseNavigation/MouseNavigationFallback.ts +4 -4
- package/packages/epg/src/v2/MouseNavigation/index.tizen.tv.ts +1 -1
- package/packages/epg/src/v2/MouseNavigation/index.ts +1 -1
- package/packages/epg/src/v2/MouseNavigation/index.web.ts +1 -1
- package/packages/epg/src/v2/MouseNavigation/index.webos.tv.ts +1 -1
- package/packages/epg/src/v2/NowLine.tsx +66 -66
- package/packages/epg/src/v2/Program.tsx +58 -58
- package/packages/epg/src/v2/ProgramInfo/ProgramInfo.scss +67 -67
- package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.1080.scss +3 -3
- package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.animated.1080.scss +2 -2
- package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.animated.scss +2 -2
- package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.scss +3 -3
- package/packages/epg/src/v2/ProgramInfo/ProgramInfo.tsx +149 -149
- package/packages/epg/src/v2/ProgramInfo/_animated.scss +8 -8
- package/packages/epg/src/v2/ProgramInfo/_mixins.scss +5 -5
- package/packages/epg/src/v2/ProgramInfo/_sizes.1080.scss +21 -21
- package/packages/epg/src/v2/ProgramInfo/_sizes.scss +21 -21
- package/packages/epg/src/v2/ProgramInfo/index.ts +1 -1
- package/packages/epg/src/v2/ProgramInfo/rtl.scss +7 -7
- package/packages/epg/src/v2/ProgramInfo/sizes.1080.ts +3 -3
- package/packages/epg/src/v2/ProgramInfo/sizes.ts +3 -3
- package/packages/epg/src/v2/ProgramInfo/styles.ts +1 -1
- package/packages/epg/src/v2/ProgramInfo/utils.ts +28 -28
- package/packages/epg/src/v2/Row.tsx +134 -134
- package/packages/epg/src/v2/RowsManager.ts +1 -1
- package/packages/epg/src/v2/TimeManager.ts +58 -58
- package/packages/epg/src/v2/Timeline.ts +1 -1
- package/packages/epg/src/v2/TimelineSection.tsx +50 -50
- package/packages/epg/src/v2/basic/CellsManager.tsx +300 -300
- package/packages/epg/src/v2/basic/RowsManager.tsx +503 -503
- package/packages/epg/src/v2/basic/Timeline.tsx +88 -88
- package/packages/epg/src/v2/index.ts +1 -1
- package/packages/epg/src/v2/interface.ts +1519 -1519
- package/packages/epg/src/v2/sizes.1080.ts +2 -2
- package/packages/epg/src/v2/sizes.ts +2 -2
- package/packages/epg/src/v2/styles/Basic/Basic.scss +116 -116
- package/packages/epg/src/v2/styles/Basic/index.ts +1 -1
- package/packages/epg/src/v2/styles/Whitelabel/index.ts +1 -1
- package/packages/epg/src/v2/utils.ts +40 -40
- package/packages/events-manager/src/EventsManager.ts +1 -1
- package/packages/events-manager/src/index.ts +2 -2
- package/packages/floating-focus/README.md +64 -64
- package/packages/floating-focus/src/FloatingFocus.ts +106 -106
- package/packages/floating-focus/src/Horizontal.tsx +20 -20
- package/packages/floating-focus/src/Vertical.tsx +20 -20
- package/packages/floating-focus/src/index.ts +4 -4
- package/packages/floating-focus/src/types.ts +20 -20
- package/packages/floating-focus/src/utils.ts +43 -43
- package/packages/focus/README.md +348 -348
- package/packages/focus/src/IFocusable.ts +5 -5
- package/packages/focus/src/Layout/Base.tsx +166 -166
- package/packages/focus/src/Layout/Horizontal.ts +15 -15
- package/packages/focus/src/Layout/Matrix.tsx +357 -357
- package/packages/focus/src/Layout/Vertical.ts +12 -12
- package/packages/focus/src/Layout/constants.ts +10 -10
- package/packages/focus/src/Layout/isRtl.ts +12 -12
- package/packages/focus/src/Layout/types.ts +7 -7
- package/packages/focus/src/candidate.ts +106 -106
- package/packages/focus/src/focusFirstExisting.ts +19 -19
- package/packages/focus/src/hasFocus.ts +36 -36
- package/packages/focus/src/index.ts +16 -16
- package/packages/focus/src/refocusAfterHashChange.ts +19 -19
- package/packages/focus/src/safeFocus.ts +15 -15
- package/packages/gallup/README.md +27 -27
- package/packages/gallup/src/Gallup.ts +80 -80
- package/packages/gallup/src/GallupMock.ts +7 -7
- package/packages/gallup/src/__external__/SpringStreams.d.ts +39 -39
- package/packages/gallup/src/__mocks__/SpringStreams.js +18 -18
- package/packages/gallup/src/index.ts +1 -1
- package/packages/grid/BasicGrid/README.md +78 -78
- package/packages/grid/BasicGrid/index.ts +1 -1
- package/packages/grid/FirstOnlyGrid/README.md +43 -43
- package/packages/grid/FirstOnlyGrid/index.ts +1 -1
- package/packages/grid/FixedToEndGrid/README.md +45 -45
- package/packages/grid/FixedToEndGrid/index.ts +1 -1
- package/packages/grid/Item/index.ts +1 -1
- package/packages/grid/README.md +169 -169
- package/packages/grid/src/Base/Base.tsx +492 -492
- package/packages/grid/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
- package/packages/grid/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
- package/packages/grid/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
- package/packages/grid/src/Base/MouseNavigation/index.ts +1 -1
- package/packages/grid/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
- package/packages/grid/src/Base/MouseNavigation/index.webtv.ts +1 -1
- package/packages/grid/src/Base/index.ts +1 -1
- package/packages/grid/src/Base/interface.ts +47 -47
- package/packages/grid/src/BasicGrid/BasicGrid.tsx +137 -137
- package/packages/grid/src/BasicGrid/config.ts +13 -13
- package/packages/grid/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
- package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +112 -112
- package/packages/grid/src/FirstOnlyGrid/config.ts +13 -13
- package/packages/grid/src/FirstOnlyGrid/controller.ts +10 -10
- package/packages/grid/src/FixedToEndGrid/FixedToEndGrid.tsx +112 -112
- package/packages/grid/src/FixedToEndGrid/config.ts +13 -13
- package/packages/grid/src/FixedToEndGrid/controller.ts +36 -36
- package/packages/grid/src/UnifiedGridController/UnifiedGridController.ts +555 -555
- package/packages/grid/src/UnifiedGridController/index.ts +2 -2
- package/packages/grid/src/UnifiedGridController/interface.ts +92 -92
- package/packages/grid/src/animate.animated.ts +1 -1
- package/packages/grid/src/animate.ts +1 -1
- package/packages/grid/src/interface.ts +30 -30
- package/packages/grid/src/mocks/index.tsx +41 -41
- package/packages/grid/src/types.ts +69 -69
- package/packages/grid/src/utils.ts +69 -69
- package/packages/i18n/README.md +460 -460
- package/packages/i18n/src/I18n.ts +246 -246
- package/packages/i18n/src/Translation.tsx +36 -36
- package/packages/i18n/src/addResourceBundle.ts +73 -73
- package/packages/i18n/src/direction.ts +33 -33
- package/packages/i18n/src/index.ts +4 -4
- package/packages/i18n/src/isRtl.ts +3 -3
- package/packages/i18n/src/middlewares/i18next/Context/Context.ts +25 -25
- package/packages/i18n/src/middlewares/i18next/Context/index.ts +1 -1
- package/packages/i18n/src/middlewares/i18next/Interpolation/Interpolation.ts +95 -95
- package/packages/i18n/src/middlewares/i18next/Interpolation/index.ts +1 -1
- package/packages/i18n/src/middlewares/i18next/Nesting/Nesting.ts +38 -38
- package/packages/i18n/src/middlewares/i18next/Nesting/index.ts +1 -1
- package/packages/i18n/src/middlewares/i18next/Plurals/Plurals.ts +123 -123
- package/packages/i18n/src/middlewares/i18next/Plurals/Resolvers.ts +124 -124
- package/packages/i18n/src/middlewares/i18next/Plurals/index.ts +1 -1
- package/packages/i18n/src/middlewares/i18next/Plurals/types.ts +6 -6
- package/packages/i18n/src/middlewares/icu/DateInterpolation/DateInterpolation.ts +64 -64
- package/packages/i18n/src/middlewares/icu/DateInterpolation/index.ts +1 -1
- package/packages/i18n/src/middlewares/icu/Interpolation/Interpolation.ts +39 -39
- package/packages/i18n/src/middlewares/icu/Interpolation/index.ts +1 -1
- package/packages/i18n/src/middlewares/icu/NumberInterpolation/NumberInterpolation.ts +41 -41
- package/packages/i18n/src/middlewares/icu/NumberInterpolation/index.ts +1 -1
- package/packages/i18n/src/middlewares/icu/Plurals/Plurals.ts +65 -65
- package/packages/i18n/src/middlewares/icu/Plurals/Resolvers.ts +130 -130
- package/packages/i18n/src/middlewares/icu/Plurals/index.ts +1 -1
- package/packages/i18n/src/middlewares/icu/Plurals/types.ts +15 -15
- package/packages/i18n/src/middlewares/icu/Select/Select.ts +36 -36
- package/packages/i18n/src/middlewares/icu/Select/index.ts +1 -1
- package/packages/i18n/src/middlewares/icu/TimeInterpolation/TimeInterpolation.ts +65 -65
- package/packages/i18n/src/middlewares/icu/TimeInterpolation/index.ts +1 -1
- package/packages/i18n/src/middlewares/icu/shared/hasVariable.ts +5 -5
- package/packages/i18n/src/middlewares/icu/shared/matchSwitchCase.ts +80 -80
- package/packages/i18n/src/middlewares/icu/shared/unwrap.ts +1 -1
- package/packages/i18n/src/pluralsCommon/PluralsHelper.ts +54 -54
- package/packages/i18n/src/pluralsCommon/ResolverByLanguage.ts +129 -129
- package/packages/i18n/src/t.tsx +6 -6
- package/packages/i18n/src/typedTranslate.ts +31 -31
- package/packages/i18n/src/types.ts +66 -66
- package/packages/i18n/src/utils.ts +76 -76
- package/packages/icon/README.md +107 -107
- package/packages/icon/src/Icon.tsx +71 -71
- package/packages/icon/src/index.ts +1 -1
- package/packages/ime/README.md +72 -72
- package/packages/ime/src/IKeyboard.ts +6 -6
- package/packages/ime/src/IKeyboardEvent.ts +7 -7
- package/packages/ime/src/ImeManager.ts +33 -33
- package/packages/ime/src/SystemKeyboard/SystemKeyboard.ts +33 -33
- package/packages/ime/src/SystemKeyboard/SystemKeyboardBase.ts +98 -98
- package/packages/ime/src/SystemKeyboard/TizenSystemKeyboard.ts +66 -66
- package/packages/ime/src/SystemKeyboard/WebosSystemKeyboard.ts +74 -74
- package/packages/ime/src/SystemKeyboard/index.tizen.tv.ts +1 -1
- package/packages/ime/src/SystemKeyboard/index.ts +1 -1
- package/packages/ime/src/SystemKeyboard/index.webos.tv.ts +1 -1
- package/packages/ime/src/index.ts +3 -3
- package/packages/input/README.md +65 -65
- package/packages/input/__mocks__/MockKeyboard.ts +40 -40
- package/packages/input/src/Input.scss +9 -9
- package/packages/input/src/Input.tsx +267 -267
- package/packages/input/src/index.ts +1 -1
- package/packages/input/src/utils.ts +71 -71
- package/packages/interactable/README.md +38 -38
- package/packages/interactable/src/Interactable.tsx +33 -33
- package/packages/interactable/src/index.ts +1 -1
- package/packages/interactable/src/interface.ts +7 -7
- package/packages/ipify/README.md +30 -30
- package/packages/ipify/src/index.ts +1 -1
- package/packages/ipify/src/ipify.ts +41 -41
- package/packages/jsx/README.md +388 -388
- package/packages/jsx/src/Component.ts +68 -68
- package/packages/jsx/src/createRef.ts +5 -5
- package/packages/jsx/src/forwardRef.ts +8 -8
- package/packages/jsx/src/index.ts +31 -31
- package/packages/jsx/src/jsx-runtime.ts +5 -5
- package/packages/jsx/src/manipulation/attachNode.ts +30 -30
- package/packages/jsx/src/manipulation/attachNodeBefore.ts +44 -44
- package/packages/jsx/src/manipulation/clearNode.ts +14 -14
- package/packages/jsx/src/manipulation/detachNode.ts +26 -26
- package/packages/jsx/src/manipulation/index.ts +7 -7
- package/packages/jsx/src/manipulation/removeNode.ts +18 -18
- package/packages/jsx/src/manipulation/replaceNode.ts +42 -42
- package/packages/jsx/src/manipulation/swapNodes.ts +53 -53
- package/packages/jsx/src/mount/guards.ts +26 -26
- package/packages/jsx/src/mount/handleLifecycle.ts +71 -71
- package/packages/jsx/src/mount/index.ts +1 -1
- package/packages/jsx/src/mount/lifecycle.ts +38 -38
- package/packages/jsx/src/mount/lifecycleHelpers.ts +29 -29
- package/packages/jsx/src/mount/mount.ts +141 -141
- package/packages/jsx/src/mount/namespaces.ts +7 -7
- package/packages/jsx/src/mount/props.ts +121 -121
- package/packages/jsx/src/nodeUtils.ts +69 -69
- package/packages/jsx/src/setText.ts +15 -15
- package/packages/jsx/src/test-utils/MountedComponent.ts +50 -50
- package/packages/jsx/src/test-utils/README.md +72 -72
- package/packages/jsx/src/test-utils/click.ts +7 -7
- package/packages/jsx/src/test-utils/enter.ts +4 -4
- package/packages/jsx/src/test-utils/index.ts +6 -6
- package/packages/jsx/src/test-utils/keydown.ts +27 -27
- package/packages/jsx/src/test-utils/keyup.ts +27 -27
- package/packages/jsx/src/test-utils/shallow.ts +33 -33
- package/packages/jsx/src/test-utils/spec-utils.ts +6 -6
- package/packages/jsx/src/textNode.ts +9 -9
- package/packages/jsx/src/types.ts +128 -128
- package/packages/jsx/src/utils.ts +35 -35
- package/packages/jsx/src/virtualDOM.ts +121 -121
- package/packages/key-sequence/README.md +44 -44
- package/packages/key-sequence/src/KeySequence.ts +56 -56
- package/packages/key-sequence/src/arrayEndsWithKeyCombo.ts +22 -22
- package/packages/key-sequence/src/index.ts +1 -1
- package/packages/key-sequence/src/types.ts +13 -13
- package/packages/keyboard/README.md +237 -237
- package/packages/keyboard/src/AndroidKeyboard/Keyboard.scss +140 -140
- package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.1080.scss +2 -2
- package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.animated.1080.scss +3 -3
- package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.animated.scss +3 -3
- package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.scss +2 -2
- package/packages/keyboard/src/AndroidKeyboard/Keyboard.tsx +235 -235
- package/packages/keyboard/src/AndroidKeyboard/_animated.scss +7 -7
- package/packages/keyboard/src/AndroidKeyboard/_sizes.1080.scss +15 -15
- package/packages/keyboard/src/AndroidKeyboard/_sizes.scss +15 -15
- package/packages/keyboard/src/AndroidKeyboard/icons/arrow_left.svg +6 -6
- package/packages/keyboard/src/AndroidKeyboard/icons/arrow_right.svg +6 -6
- package/packages/keyboard/src/AndroidKeyboard/icons/key_backspace.svg +12 -12
- package/packages/keyboard/src/AndroidKeyboard/index.ts +1 -1
- package/packages/keyboard/src/AndroidKeyboard/makeLayout.ts +19 -19
- package/packages/keyboard/src/Backdrop/Backdrop.scss +17 -17
- package/packages/keyboard/src/Backdrop/Backdrop.styles.1080.scss +2 -2
- package/packages/keyboard/src/Backdrop/Backdrop.styles.scss +2 -2
- package/packages/keyboard/src/Backdrop/Backdrop.tsx +31 -31
- package/packages/keyboard/src/Backdrop/_sizes.1080.scss +2 -2
- package/packages/keyboard/src/Backdrop/_sizes.scss +2 -2
- package/packages/keyboard/src/DefaultKeyboard/Keyboard.scss +73 -73
- package/packages/keyboard/src/DefaultKeyboard/Keyboard.styles.1080.scss +2 -2
- package/packages/keyboard/src/DefaultKeyboard/Keyboard.styles.scss +2 -2
- package/packages/keyboard/src/DefaultKeyboard/Keyboard.tsx +155 -155
- package/packages/keyboard/src/DefaultKeyboard/_sizes.1080.scss +12 -12
- package/packages/keyboard/src/DefaultKeyboard/_sizes.scss +12 -12
- package/packages/keyboard/src/DefaultKeyboard/index.ts +1 -1
- package/packages/keyboard/src/KeyboardBase.tsx +344 -344
- package/packages/keyboard/src/MobiKeyboard/Keyboard.scss +180 -180
- package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.1080.scss +2 -2
- package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.animated.1080.scss +3 -3
- package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.animated.scss +3 -3
- package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.scss +2 -2
- package/packages/keyboard/src/MobiKeyboard/Keyboard.tsx +278 -278
- package/packages/keyboard/src/MobiKeyboard/_animated.scss +7 -7
- package/packages/keyboard/src/MobiKeyboard/_sizes.1080.scss +10 -10
- package/packages/keyboard/src/MobiKeyboard/_sizes.scss +10 -10
- package/packages/keyboard/src/MobiKeyboard/icons/arrow_left.svg +6 -6
- package/packages/keyboard/src/MobiKeyboard/icons/arrow_right.svg +6 -6
- package/packages/keyboard/src/MobiKeyboard/icons/key_backspace.svg +12 -12
- package/packages/keyboard/src/MobiKeyboard/icons/key_space.svg +6 -6
- package/packages/keyboard/src/MobiKeyboard/index.ts +1 -1
- package/packages/keyboard/src/MobiKeyboard/utils.ts +19 -19
- package/packages/keyboard/src/QwertyKeyboardBase/QwertyKeyboardBase.tsx +54 -54
- package/packages/keyboard/src/ShiftMode.ts +25 -25
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +168 -168
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.styles.1080.scss +2 -2
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.styles.scss +2 -2
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +353 -353
- package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
- package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/_sizes.scss +7 -7
- package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/index.ts +1 -1
- package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.scss +81 -81
- package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
- package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
- package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +32 -32
- package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +32 -32
- package/packages/keyboard/src/WhitelabelKeyboard/icons/arrow_left.svg +9 -9
- package/packages/keyboard/src/WhitelabelKeyboard/icons/arrow_right.svg +9 -9
- package/packages/keyboard/src/WhitelabelKeyboard/icons/key_backspace.svg +9 -9
- package/packages/keyboard/src/WhitelabelKeyboard/icons/key_language.svg +20 -20
- package/packages/keyboard/src/WhitelabelKeyboard/icons/key_shift.svg +9 -9
- package/packages/keyboard/src/WhitelabelKeyboard/icons/key_shift_active.svg +9 -9
- package/packages/keyboard/src/WhitelabelKeyboard/index.ts +2 -2
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +27 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +27 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +28 -28
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/hebrew.ts +28 -28
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +14 -14
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +26 -26
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/latin.ts +26 -26
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +27 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +27 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +27 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/special.ts +28 -28
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +26 -26
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +26 -26
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +27 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +26 -26
- package/packages/keyboard/src/WhitelabelKeyboard/types.ts +28 -28
- package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.scss +105 -105
- package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.1080.scss +2 -2
- package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.scss +2 -2
- package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.tsx +161 -161
- package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
- package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.scss +7 -7
- package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/index.ts +1 -1
- package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.scss +62 -62
- package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
- package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
- package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.1080.scss +29 -29
- package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.scss +29 -29
- package/packages/keyboard/src/WhitelabelNumericKeyboard/icons/key_backspace.svg +9 -9
- package/packages/keyboard/src/WhitelabelNumericKeyboard/index.ts +2 -2
- package/packages/keyboard/src/WhitelabelNumericKeyboard/layout.ts +14 -14
- package/packages/keyboard/src/hwKeyboardEventToChar.ts +11 -11
- package/packages/keyboard/src/types/index.ts +11 -11
- package/packages/keyboard/src/utils/caret.ts +48 -48
- package/packages/keyboard/src/utils/generateFocusMatrixFromStringMatrix.ts +12 -12
- package/packages/keyboard/src/utils/input.ts +40 -40
- package/packages/l10n/README.md +120 -120
- package/packages/l10n/interface.ts +1 -1
- package/packages/l10n/locales/cs.ts +4 -4
- package/packages/l10n/locales/en-001.ts +4 -4
- package/packages/l10n/locales/en-us.ts +4 -4
- package/packages/l10n/src/Locale.tsx +44 -44
- package/packages/l10n/src/date/common.ts +165 -165
- package/packages/l10n/src/date/cs.ts +89 -89
- package/packages/l10n/src/date/de.ts +97 -97
- package/packages/l10n/src/date/en-001.ts +76 -76
- package/packages/l10n/src/date/en-common.ts +55 -55
- package/packages/l10n/src/date/en-us.ts +83 -83
- package/packages/l10n/src/date/es.ts +71 -71
- package/packages/l10n/src/date/fr.ts +94 -94
- package/packages/l10n/src/date/he.ts +101 -101
- package/packages/l10n/src/date/iso.ts +63 -63
- package/packages/l10n/src/date/types.ts +56 -56
- package/packages/l10n/src/index.ts +2 -2
- package/packages/l10n/src/l10n.ts +112 -112
- package/packages/l10n/src/types.ts +22 -22
- package/packages/list/AttachDetachItem/README.md +128 -128
- package/packages/list/AttachDetachItem/index.ts +3 -3
- package/packages/list/BasicList/README.md +71 -71
- package/packages/list/BasicList/index.ts +1 -1
- package/packages/list/CenteredList/README.md +42 -42
- package/packages/list/CenteredList/index.ts +1 -1
- package/packages/list/EdgeOffsetList/README.md +58 -58
- package/packages/list/EdgeOffsetList/index.ts +1 -1
- package/packages/list/FirstOnlyList/README.md +39 -39
- package/packages/list/FirstOnlyList/index.ts +1 -1
- package/packages/list/FirstOnlyVariedList/README.md +105 -105
- package/packages/list/FirstOnlyVariedList/index.ts +1 -1
- package/packages/list/FixedToEndList/README.md +42 -42
- package/packages/list/FixedToEndList/index.ts +1 -1
- package/packages/list/Item/index.ts +1 -1
- package/packages/list/README.md +193 -193
- package/packages/list/src/AttachDetachItem/AttachDetachItem.tsx +96 -96
- package/packages/list/src/AttachDetachItem/prepareAttachDetachItemData.ts +13 -13
- package/packages/list/src/Base/Base.tsx +392 -392
- package/packages/list/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
- package/packages/list/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
- package/packages/list/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
- package/packages/list/src/Base/MouseNavigation/index.ts +1 -1
- package/packages/list/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
- package/packages/list/src/Base/MouseNavigation/index.webtv.ts +1 -1
- package/packages/list/src/Base/index.ts +1 -1
- package/packages/list/src/Base/interface.ts +39 -39
- package/packages/list/src/BasicList/BasicList.tsx +178 -178
- package/packages/list/src/BasicList/config.ts +13 -13
- package/packages/list/src/CenteredList/CenteredList.tsx +116 -116
- package/packages/list/src/CenteredList/config.ts +13 -13
- package/packages/list/src/CenteredList/controller.ts +46 -46
- package/packages/list/src/CenteredList/interface.ts +10 -10
- package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +173 -173
- package/packages/list/src/EdgeOffsetList/config.ts +13 -13
- package/packages/list/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
- package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +122 -122
- package/packages/list/src/FirstOnlyList/config.ts +13 -13
- package/packages/list/src/FirstOnlyList/controller.ts +11 -11
- package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +132 -132
- package/packages/list/src/FirstOnlyVariedList/config.ts +13 -13
- package/packages/list/src/FixedToEndList/FixedToEndList.tsx +125 -125
- package/packages/list/src/FixedToEndList/config.ts +13 -13
- package/packages/list/src/FixedToEndList/controller.ts +44 -44
- package/packages/list/src/UnifiedListController/UnifiedListController.ts +258 -258
- package/packages/list/src/UnifiedListController/UnifiedListControllerBase.ts +241 -241
- package/packages/list/src/UnifiedListController/UnifiedVariedListController.ts +241 -241
- package/packages/list/src/UnifiedListController/interface.ts +81 -81
- package/packages/list/src/__test__/utils.spec.ts +59 -59
- package/packages/list/src/animate.animated.ts +1 -1
- package/packages/list/src/animate.ts +1 -1
- package/packages/list/src/index.ts +1 -1
- package/packages/list/src/interface.ts +48 -48
- package/packages/list/src/mocks/index.tsx +55 -55
- package/packages/list/src/types.ts +132 -132
- package/packages/list/src/utils.ts +142 -142
- package/packages/list/utils/index.ts +1 -1
- package/packages/logger/README.md +117 -117
- package/packages/logger/src/LoggerManager.ts +60 -60
- package/packages/logger/src/LoggerService.ts +43 -43
- package/packages/logger/src/__mocks__/LoggerBase.ts +13 -13
- package/packages/logger/src/index.ts +3 -3
- package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +51 -51
- package/packages/logger/src/loggers/ConsoleLogger/README.md +39 -39
- package/packages/logger/src/loggers/ConsoleLogger/index.ts +1 -1
- package/packages/logger/src/loggers/LoggerBase/LoggerBase.ts +67 -67
- package/packages/logger/src/loggers/LoggerBase/README.md +69 -69
- package/packages/logger/src/loggers/LoggerBase/index.ts +1 -1
- package/packages/logger/src/loggers/SentryLogger/README.md +98 -98
- package/packages/logger/src/loggers/SentryLogger/Sentry.ts +2 -2
- package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +179 -179
- package/packages/logger/src/loggers/SentryLogger/index.ts +2 -2
- package/packages/logger/src/loggers/SentryLogger/mock.ts +6 -6
- package/packages/logger/src/loggers/index.ts +2 -2
- package/packages/logger/src/types.ts +46 -46
- package/packages/logger/src/utils/deviceInfo.ts +25 -25
- package/packages/logger/src/utils/index.ts +1 -1
- package/packages/lottie-animations/README.md +217 -217
- package/packages/lottie-animations/src/LottieAnimation.tsx +125 -125
- package/packages/lottie-animations/src/index.ts +7 -7
- package/packages/menu/README.md +90 -90
- package/packages/menu/WhitelabelMenu/index.ts +1 -1
- package/packages/menu/WhitelabelMenu/interface.ts +2 -2
- package/packages/menu/WhitelabelMenu/styles.ts +2 -2
- package/packages/menu/interface.ts +3 -3
- package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +211 -211
- package/packages/menu/src/MenuAndContentContainer/index.ts +1 -1
- package/packages/menu/src/MenuAndContentContainer/interface.ts +164 -164
- package/packages/menu/src/MenuAndContentContainer/service.ts +5 -5
- package/packages/menu/src/WhitelabelMenu/SideMenu.scss +41 -41
- package/packages/menu/src/WhitelabelMenu/SideMenu.styles.1080.scss +2 -2
- package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.1080.scss +3 -3
- package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.scss +3 -3
- package/packages/menu/src/WhitelabelMenu/SideMenu.styles.scss +2 -2
- package/packages/menu/src/WhitelabelMenu/SideMenu.tsx +248 -248
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.scss +56 -56
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.1080.scss +2 -2
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.1080.scss +3 -3
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.scss +3 -3
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.scss +2 -2
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.tsx +78 -78
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/_animated.scss +12 -12
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.1080.scss +17 -17
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.scss +17 -17
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/index.ts +1 -1
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/interface.ts +49 -49
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/rtl.scss +12 -12
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.1080.ts +2 -2
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.ts +2 -2
- package/packages/menu/src/WhitelabelMenu/SideMenuItem/styles.ts +1 -1
- package/packages/menu/src/WhitelabelMenu/VisualController.animated.ts +48 -48
- package/packages/menu/src/WhitelabelMenu/VisualController.ts +20 -20
- package/packages/menu/src/WhitelabelMenu/VisualControllerBase.ts +71 -71
- package/packages/menu/src/WhitelabelMenu/_animated.scss +39 -39
- package/packages/menu/src/WhitelabelMenu/_sizes.1080.scss +14 -14
- package/packages/menu/src/WhitelabelMenu/_sizes.scss +14 -14
- package/packages/menu/src/WhitelabelMenu/constants.animated.ts +1 -1
- package/packages/menu/src/WhitelabelMenu/constants.ts +1 -1
- package/packages/menu/src/WhitelabelMenu/index.ts +1 -1
- package/packages/menu/src/WhitelabelMenu/interface.ts +14 -14
- package/packages/menu/src/WhitelabelMenu/rtl.scss +22 -22
- package/packages/menu/src/WhitelabelMenu/sizes.1080.ts +1 -1
- package/packages/menu/src/WhitelabelMenu/sizes.ts +1 -1
- package/packages/menu/src/WhitelabelMenu/styles.ts +1 -1
- package/packages/menu/src/WhitelabelMenu/utils.ts +34 -34
- package/packages/menu/src/index.ts +2 -2
- package/packages/modal-service/README.md +50 -50
- package/packages/modal-service/src/IModal.ts +3 -3
- package/packages/modal-service/src/ModalService.scss +7 -7
- package/packages/modal-service/src/ModalService.styles.1080.scss +2 -2
- package/packages/modal-service/src/ModalService.styles.scss +2 -2
- package/packages/modal-service/src/ModalService.tsx +102 -102
- package/packages/modal-service/src/_sizes.1080.scss +2 -2
- package/packages/modal-service/src/_sizes.scss +2 -2
- package/packages/modal-service/src/index.ts +2 -2
- package/packages/mouse-navigation/README.md +105 -105
- package/packages/mouse-navigation/src/ArrowNavigation/Arrow.tsx +58 -58
- package/packages/mouse-navigation/src/ArrowNavigation/ArrowNavigation.tsx +95 -95
- package/packages/mouse-navigation/src/ArrowNavigation/__test__/Arrow.spec.tsx +35 -35
- package/packages/mouse-navigation/src/ArrowNavigation/__test__/ArrowNavigation.spec.tsx +45 -45
- package/packages/mouse-navigation/src/ArrowNavigation/index.tsx +1 -1
- package/packages/mouse-navigation/src/MouseElementWrapper.tsx +70 -70
- package/packages/mouse-navigation/src/MouseNavigation.tsx +157 -157
- package/packages/mouse-navigation/src/MouseNavigationInterface.ts +8 -8
- package/packages/mouse-navigation/src/index.ts +3 -3
- package/packages/numeric-zapper/README.md +153 -153
- package/packages/numeric-zapper/src/NumericZapper.scss +20 -20
- package/packages/numeric-zapper/src/NumericZapper.styles.1080.scss +2 -2
- package/packages/numeric-zapper/src/NumericZapper.styles.scss +2 -2
- package/packages/numeric-zapper/src/NumericZapper.tsx +257 -257
- package/packages/numeric-zapper/src/ZapperAllower.ts +15 -15
- package/packages/numeric-zapper/src/ZapperService.tsx +8 -8
- package/packages/numeric-zapper/src/_sizes.1080.scss +7 -7
- package/packages/numeric-zapper/src/_sizes.scss +7 -7
- package/packages/numeric-zapper/src/index.ts +4 -4
- package/packages/numeric-zapper/src/interface.ts +1 -1
- package/packages/numeric-zapper/src/styles.ts +1 -1
- package/packages/perf-utils/README.md +7 -7
- package/packages/perf-utils/src/array/filter.ts +1 -1
- package/packages/perf-utils/src/array/find.ts +1 -1
- package/packages/perf-utils/src/array/findIndex.ts +1 -1
- package/packages/perf-utils/src/array/forEach.ts +1 -1
- package/packages/perf-utils/src/array/includes.ts +1 -1
- package/packages/perf-utils/src/array/includesNaN.ts +1 -1
- package/packages/perf-utils/src/array/index.ts +1 -1
- package/packages/perf-utils/src/array/map.ts +1 -1
- package/packages/picker/README.md +70 -70
- package/packages/picker/src/DatePicker.tsx +55 -55
- package/packages/picker/src/ModalPicker/Checkbox.tsx +38 -38
- package/packages/picker/src/ModalPicker/PickerItem.tsx +86 -86
- package/packages/picker/src/ModalPicker/PickerModal.tsx +98 -98
- package/packages/picker/src/ModalPicker/index.ts +1 -1
- package/packages/picker/src/ModalPicker/modalPicker.tsx +48 -48
- package/packages/picker/src/Picker.tsx +127 -127
- package/packages/picker/src/index.ts +3 -3
- package/packages/picker/src/types.ts +25 -25
- package/packages/pin-input/README.md +55 -55
- package/packages/pin-input/src/PinInput.scss +5 -5
- package/packages/pin-input/src/PinInput.tsx +169 -169
- package/packages/pin-input/src/index.ts +1 -1
- package/packages/player-ui/README.md +207 -207
- package/packages/player-ui/src/BackwardButton.tsx +41 -41
- package/packages/player-ui/src/CurrentTime.tsx +56 -56
- package/packages/player-ui/src/Duration.tsx +60 -60
- package/packages/player-ui/src/ForwardButton.tsx +41 -41
- package/packages/player-ui/src/PauseButton.tsx +65 -65
- package/packages/player-ui/src/PlayButton.tsx +57 -57
- package/packages/player-ui/src/PlayPauseButton.tsx +63 -63
- package/packages/player-ui/src/PlayerInteractable.tsx +67 -67
- package/packages/player-ui/src/PlayerTime.tsx +57 -57
- package/packages/player-ui/src/PlayerUI.tsx +267 -267
- package/packages/player-ui/src/RemainingTime.tsx +74 -74
- package/packages/player-ui/src/Seekbar.tsx +274 -274
- package/packages/player-ui/src/Seeking.ts +163 -163
- package/packages/player-ui/src/StopButton.tsx +35 -35
- package/packages/player-ui/src/Subtitles.tsx +151 -151
- package/packages/player-ui/src/index.ts +15 -15
- package/packages/player-ui/src/mocks.ts +65 -65
- package/packages/player-ui/src/timeUtils.ts +142 -142
- package/packages/player-ui/src/types.ts +48 -48
- package/packages/progress-bar/README.md +31 -31
- package/packages/progress-bar/src/ProgressBar.tsx +41 -41
- package/packages/progress-bar/src/index.ts +1 -1
- package/packages/progress-bar/src/interface.ts +14 -14
- package/packages/qr-code/README.md +79 -79
- package/packages/qr-code/src/QRCode.tsx +39 -39
- package/packages/qr-code/src/index.ts +2 -2
- package/packages/qr-code/src/qrGenerator/__external__/constants.ts +23 -23
- package/packages/qr-code/src/qrGenerator/__external__/qrcode.d.ts +31 -31
- package/packages/qr-code/src/qrGenerator/__external__/qrcode.js +618 -618
- package/packages/qr-code/src/qrGenerator/generateQr.ts +7 -7
- package/packages/qr-code/src/qrGenerator/index.ts +3 -3
- package/packages/router/README.md +163 -163
- package/packages/router/src/Route.tsx +166 -166
- package/packages/router/src/Router.tsx +220 -220
- package/packages/router/src/focusActiveRoute.ts +5 -5
- package/packages/router/src/history.ts +31 -31
- package/packages/router/src/index.ts +6 -6
- package/packages/router/src/types.ts +13 -13
- package/packages/router/src/utils.ts +37 -35
- package/packages/runtime-config/README.md +37 -37
- package/packages/runtime-config/src/Config.ts +44 -44
- package/packages/runtime-config/src/index.ts +1 -1
- package/packages/sass-utils/README.md +197 -197
- package/packages/sass-utils/src/box-shadow.scss +5 -5
- package/packages/sass-utils/src/ellipsis.scss +15 -15
- package/packages/sass-utils/src/linear-gradient.scss +43 -43
- package/packages/sass-utils/src/prefix-property.scss +7 -7
- package/packages/sass-utils/src/prefix-value.scss +6 -6
- package/packages/sass-utils/src/prefix.scss +6 -6
- package/packages/sass-utils/src/scale.1080.scss +3 -3
- package/packages/sass-utils/src/scale.720.scss +5 -5
- package/packages/sass-utils/src/transform.scss +5 -5
- package/packages/sass-utils/src/transition.scss +6 -6
- package/packages/scheduler/README.md +55 -55
- package/packages/scheduler/src/Scheduler.ts +43 -43
- package/packages/scheduler/src/Task.ts +72 -72
- package/packages/scheduler/src/index.ts +4 -4
- package/packages/scheduler/src/timeProvider.ts +3 -3
- package/packages/scroll-text/README.md +77 -77
- package/packages/scroll-text/src/Base.tsx +146 -146
- package/packages/scroll-text/src/ScrollText.animated.tsx +80 -80
- package/packages/scroll-text/src/ScrollText.tsx +53 -53
- package/packages/scroll-text/src/ScrollTextBaseClass.tsx +86 -86
- package/packages/scroll-text/src/index.ts +1 -1
- package/packages/scroller/README.md +77 -77
- package/packages/scroller/src/Scroller.tsx +51 -51
- package/packages/scroller/src/index.ts +1 -1
- package/packages/splash/AnimatedSplash.ts +1 -1
- package/packages/splash/AnimatedSplashAnimated.ts +1 -1
- package/packages/splash/AnimatedSplashBasic.ts +1 -1
- package/packages/splash/AutomaticSplashAnimated.ts +1 -1
- package/packages/splash/AutomaticSplashBasic.ts +1 -1
- package/packages/splash/README.md +93 -93
- package/packages/splash/StaticSplash.ts +1 -1
- package/packages/splash/StaticSplashAnimated.ts +1 -1
- package/packages/splash/StaticSplashBasic.ts +1 -1
- package/packages/splash/src/AnimatedSplash.animated.tsx +78 -78
- package/packages/splash/src/AnimatedSplash.basic.tsx +37 -37
- package/packages/splash/src/AutomaticSplash.animated.tsx +20 -20
- package/packages/splash/src/AutomaticSplash.basic.tsx +20 -20
- package/packages/splash/src/Splash.scss +8 -8
- package/packages/splash/src/StaticSplash.animated.tsx +48 -48
- package/packages/splash/src/StaticSplash.basic.tsx +26 -26
- package/packages/splash/src/index.animated.ts +1 -1
- package/packages/splash/src/index.ts +1 -1
- package/packages/splash/src/styles.ts +1 -1
- package/packages/splash/src/types.ts +20 -20
- package/packages/storage/README.md +61 -61
- package/packages/storage/src/CookieStorage/CookieStorage.ts +57 -57
- package/packages/storage/src/CookieStorage/index.ts +1 -1
- package/packages/storage/src/LocalStorage/LocalStorage.ts +58 -58
- package/packages/storage/src/LocalStorage/index.ts +1 -1
- package/packages/storage/src/index.ts +2 -2
- package/packages/storage/src/shared.ts +41 -41
- package/packages/storage/src/types.ts +33 -33
- package/packages/throbber/README.md +53 -53
- package/packages/throbber/src/Throbber.scss +52 -52
- package/packages/throbber/src/Throbber.tsx +19 -19
- package/packages/throbber/src/ThrobberService.tsx +55 -55
- package/packages/throbber/src/controlsHandling.ts +14 -14
- package/packages/throbber/src/index.ts +2 -2
- package/packages/time/README.md +116 -116
- package/packages/time/src/Time.ts +257 -257
- package/packages/time/src/adapters/24iMediaTimeApi.ts +47 -47
- package/packages/time/src/adapters/worldTimeApi.ts +74 -74
- package/packages/time/src/constants.ts +14 -14
- package/packages/time/src/index.ts +1 -1
- package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +43 -43
- package/packages/time/src/services/24iMediaTimeApi/index.ts +6 -6
- package/packages/time/src/services/worldTimeApi/index.ts +7 -7
- package/packages/time/src/services/worldTimeApi/types.ts +75 -75
- package/packages/time/src/services/worldTimeApi/worldTimeApi.ts +77 -77
- package/packages/time/src/types.ts +39 -39
- package/packages/time/src/utils.ts +79 -79
- package/packages/toast/README.md +116 -116
- package/packages/toast/src/Toast/IVisualController.ts +7 -7
- package/packages/toast/src/Toast/Toast.scss +22 -22
- package/packages/toast/src/Toast/Toast.styles.1080.scss +2 -2
- package/packages/toast/src/Toast/Toast.styles.scss +2 -2
- package/packages/toast/src/Toast/Toast.tsx +83 -83
- package/packages/toast/src/Toast/VisualController.animated.ts +20 -20
- package/packages/toast/src/Toast/VisualController.ts +9 -9
- package/packages/toast/src/Toast/_sizes.1080.scss +8 -8
- package/packages/toast/src/Toast/_sizes.scss +8 -8
- package/packages/toast/src/Toast/index.ts +2 -2
- package/packages/toast/src/Toast/styles.ts +1 -1
- package/packages/toast/src/ToastService.scss +8 -8
- package/packages/toast/src/ToastService.styles.1080.scss +2 -2
- package/packages/toast/src/ToastService.styles.scss +2 -2
- package/packages/toast/src/ToastService.tsx +59 -59
- package/packages/toast/src/_sizes.1080.scss +2 -2
- package/packages/toast/src/_sizes.scss +2 -2
- package/packages/toast/src/index.ts +4 -4
- package/packages/toast/src/types.ts +4 -4
- package/packages/types-bigscreen-jsx/README.md +12 -12
- package/packages/types-bigscreen-jsx/global.d.ts +0 -0
- package/packages/types-bigscreen-jsx/index.d.ts +32 -32
- package/packages/types-bigscreen-jsx/src/copyTypes.js +14 -14
- package/packages/utils/README.md +363 -363
- package/packages/utils/src/addClass.ts +9 -9
- package/packages/utils/src/counter.ts +49 -49
- package/packages/utils/src/debounce.ts +54 -54
- package/packages/utils/src/displayToggler.scss +3 -3
- package/packages/utils/src/displayToggler.ts +38 -38
- package/packages/utils/src/elementUtils.ts +105 -105
- package/packages/utils/src/forceReflow.ts +14 -14
- package/packages/utils/src/generateUuid.ts +19 -19
- package/packages/utils/src/index.ts +43 -43
- package/packages/utils/src/keyPress/index.ts +6 -6
- package/packages/utils/src/keyPress/keyPressSimulator.ts +74 -74
- package/packages/utils/src/keyPress/simulateKeyPress.ts +25 -25
- package/packages/utils/src/memoryInfo.ts +21 -21
- package/packages/utils/src/nTimes.ts +9 -9
- package/packages/utils/src/noop.ts +1 -1
- package/packages/utils/src/offsetPosition.ts +56 -56
- package/packages/utils/src/removeClass.ts +9 -9
- package/packages/utils/src/scaledImage.ts +24 -24
- package/packages/utils/src/sizes.1080.ts +1 -1
- package/packages/utils/src/sizes.ts +1 -1
- package/packages/utils/src/stopEvent.ts +10 -10
- package/packages/utils/src/textUtils.ts +57 -57
- package/packages/utils/src/timeConstants.ts +11 -11
- package/packages/utils/src/timers/createInterval.ts +19 -19
- package/packages/utils/src/timers/createTimeout.ts +22 -22
- package/packages/utils/src/timers/index.ts +4 -4
- package/packages/utils/src/timers/runAsync.ts +3 -3
- package/packages/utils/src/timers/types.ts +9 -9
- package/packages/utils/src/wait.ts +3 -3
- package/packages/utils/src/xhr/__mocks__/xhr.ts +29 -29
- package/packages/utils/src/xhr/index.ts +11 -11
- package/packages/utils/src/xhr/xhrSend.ts +141 -141
- package/packages/utils/src/xhr/xhrSendRetry.ts +79 -79
- package/packages/volume-control/README.md +79 -79
- package/packages/volume-control/src/IVolumeControlUI.ts +26 -26
- package/packages/volume-control/src/VolumeControlService.tsx +110 -110
- package/packages/volume-control/src/VolumeControlUI/VisualController.animated.ts +28 -28
- package/packages/volume-control/src/VolumeControlUI/VisualController.ts +3 -3
- package/packages/volume-control/src/VolumeControlUI/VisualControllerBase.ts +26 -26
- package/packages/volume-control/src/VolumeControlUI/VolumeControl.scss +18 -18
- package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.animated.scss +2 -2
- package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.scss +1 -1
- package/packages/volume-control/src/VolumeControlUI/VolumeControlUI.tsx +80 -80
- package/packages/volume-control/src/VolumeControlUI/_animated.scss +8 -8
- package/packages/volume-control/src/VolumeControlUI/index.ts +1 -1
- package/packages/volume-control/src/__mocks__/VolumeControlUIMock.tsx +22 -22
- package/packages/volume-control/src/index.ts +2 -2
- package/packages/zapping/README.md +87 -87
- package/packages/zapping/src/ChannelZapping.ts +143 -143
- package/packages/zapping/src/Zapping.tsx +115 -115
- package/packages/zapping/src/index.ts +1 -1
- package/packages/zapping/src/interface.ts +1 -1
- package/utils/create-export-maps/index.ts +3 -3
- package/utils/create-export-maps/src/__tests__/createExportMaps.spec.ts +50 -50
- package/utils/create-export-maps/src/createExportMaps.ts +61 -61
- package/utils/create-package/README.md +39 -39
- package/utils/create-package/src/createPackage.ts +72 -72
- package/utils/create-package/src/index.ts +3 -3
- package/utils/create-package/src/questionnaire/questions.ts +19 -19
- package/utils/create-package/src/settings/Settings.ts +5 -5
- package/utils/create-package/src/types.ts +4 -4
- package/utils/create-package/templates/typescript/README.md +8 -8
- package/utils/create-package/templates/typescript/exports.json +6 -6
- package/utils/run-scripts/index.ts +3 -3
- package/utils/run-scripts/src/__tests__/runScripts.spec.ts +45 -45
- package/utils/run-scripts/src/runScripts.ts +20 -20
package/packages/utils/README.md
CHANGED
|
@@ -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.
|