@24i/bigscreen-sdk 0.9.9-alpha.2154 → 1.0.0-alpha.2054

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/package.json +3 -1
  2. package/packages/create-package/dist/createPackage.js +66 -0
  3. package/packages/create-package/dist/createPackage.js.map +1 -0
  4. package/packages/create-package/dist/index.js +5 -0
  5. package/packages/create-package/dist/index.js.map +1 -0
  6. package/packages/create-package/dist/questionnaire/questions.js +35 -0
  7. package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
  8. package/packages/create-package/dist/settings/Settings.js +10 -0
  9. package/packages/create-package/dist/settings/Settings.js.map +1 -0
  10. package/packages/create-package/dist/types.js +3 -0
  11. package/packages/create-package/dist/types.js.map +1 -0
  12. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentList.tsx +3 -1
  13. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentListItem.tsx +23 -3
  14. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentSelection.tsx +2 -0
  15. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.scss +10 -0
  16. package/packages/device/src/driver/index.vidaa.tv.ts +1 -0
  17. package/packages/device/src/resolver/resolver.ts +5 -0
  18. package/packages/driver-vidaa/src/DeviceVidaa.ts +134 -0
  19. package/packages/driver-vidaa/src/__mocks__/vidaa.ts +20 -0
  20. package/packages/driver-vidaa/src/formatUserAgent.ts +16 -0
  21. package/packages/driver-vidaa/src/index.ts +1 -0
  22. package/packages/driver-vidaa/src/keymap.ts +54 -0
  23. package/packages/driver-vidaa/src/types.ts +82 -0
  24. package/packages/input/src/Input.tsx +2 -2
  25. package/packages/list/src/BasicList/BasicList.tsx +4 -1
  26. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +4 -3
  27. package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +2 -2
  28. package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +2 -2
  29. package/packages/list/src/FixedToEndList/FixedToEndList.tsx +2 -2
  30. package/packages/logger/README.md +1 -1
  31. package/packages/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
  32. package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
  33. package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
  34. package/packages/rnv-build-engine/dist/src/engine.js +94 -0
  35. package/packages/rnv-build-engine/dist/src/index.js +26 -0
  36. package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
  37. package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
  38. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
  39. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
  40. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
  41. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
  42. package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
  43. package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
  44. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
  45. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
  46. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
  47. package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
  48. package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
  49. package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
  50. package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
  51. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
  52. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
  53. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
  54. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
  55. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
  56. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
  57. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
  58. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
  59. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
  60. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
  61. package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
  62. package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
  63. package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
  64. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +65 -0
  65. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +85 -0
  66. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
  67. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
  68. package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
  69. package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
  70. package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
  71. package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
  72. package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
  73. package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
  74. package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
  75. package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
  76. package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
  77. package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
  78. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
  79. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +168 -0
  80. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
  81. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
  82. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
  83. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +37 -0
  84. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
  85. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +76 -0
  86. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
  87. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
  88. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
  89. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
  90. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +80 -0
  91. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
  92. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +6 -0
  93. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
  94. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +221 -0
  95. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
  96. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
  97. package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
  98. package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +24 -0
  99. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +91 -0
  100. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +42 -0
  101. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +30 -0
  102. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
  103. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +70 -0
  104. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +18 -0
  105. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.platform.configure.js +37 -0
  106. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
  107. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +73 -0
  108. package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
  109. package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
  110. package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
  111. package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
  112. package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
  113. package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
  114. package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +65 -0
  115. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
  116. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
  117. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
  118. package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
  119. package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +87 -0
  120. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
  121. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
  122. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +234 -0
  123. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.dev.js +6 -0
  124. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.prod.js +6 -0
  125. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.extend.js +8 -0
  126. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackConfigAdapter.js +100 -0
  127. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackPlatformProps.js +8 -0
  128. package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpackPlatformProps.js +24 -0
  129. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.project +24 -0
  130. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
  131. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -0
  132. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/.project +35 -0
  133. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -0
  134. package/packages/rnv-build-engine/dist/templates/platforms/webos/webpackPlatformProps.js +8 -0
  135. package/packages/scroll-text/src/Base.tsx +5 -0
  136. package/packages/utils/src/textUtils.ts +25 -0
  137. package/packages/focus/src/__test__/candidate.spec.tsx +0 -245
  138. package/packages/focus/src/__test__/focusFirstExisting.spec.tsx +0 -21
  139. package/packages/focus/src/__test__/refocusAfterHashChange.spec.tsx +0 -41
  140. package/packages/focus/src/__test__/safeFocus.spec.tsx +0 -41
  141. package/packages/mouse-navigation/src/__test__/MouseElementWrapper.spec.tsx +0 -61
  142. package/packages/mouse-navigation/src/__test__/MouseNavigation.spec.tsx +0 -107
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/bigscreen-sdk",
3
- "version": "0.9.9-alpha.2154",
3
+ "version": "1.0.0-alpha.2054",
4
4
  "description": "SmartApps BIGscreen SDK monorepo",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -111,6 +111,7 @@
111
111
  "./driver-kreatv": "./packages/driver-kreatv/src/index.ts",
112
112
  "./driver-saphi": "./packages/driver-saphi/src/index.ts",
113
113
  "./driver-tizen": "./packages/driver-tizen/src/index.ts",
114
+ "./driver-vidaa": "./packages/driver-vidaa/src/index.ts",
114
115
  "./driver-webos/scripts/template": "./packages/driver-webos/scripts/template.ts",
115
116
  "./driver-webos/scripts/exportWebOSTVjs": "./packages/driver-webos/scripts/exportWebOSTVjs.ts",
116
117
  "./driver-webos": "./packages/driver-webos/src/index.ts",
@@ -259,6 +260,7 @@
259
260
  "./utils/removeClass": "./packages/utils/src/removeClass.ts",
260
261
  "./utils/scaledImage": "./packages/utils/src/scaledImage.ts",
261
262
  "./utils/stopEvent": "./packages/utils/src/stopEvent.ts",
263
+ "./utils/textUtils": "./packages/utils/src/textUtils.ts",
262
264
  "./utils/timeConstants": "./packages/utils/src/timeConstants.ts",
263
265
  "./utils/timers": "./packages/utils/src/timers/index.ts",
264
266
  "./utils/wait": "./packages/utils/src/wait.ts",
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.main = void 0;
5
+ const path = require("path");
6
+ const fs = require("fs");
7
+ const fse = require("fs-extra");
8
+ const chalk = require("chalk");
9
+ const minimist = require("minimist");
10
+ const questions_1 = require("./questionnaire/questions");
11
+ const Settings_1 = require("./settings/Settings");
12
+ async function isDirectoryEmpty(dirPath) {
13
+ const files = await fs.promises.readdir(dirPath);
14
+ return !files.length;
15
+ }
16
+ async function copyTemplateFiles(templateDir, targetDir) {
17
+ return fse.copy(templateDir, targetDir);
18
+ }
19
+ function updatePackageJsonFile(filePath, options) {
20
+ let data = fs.readFileSync(filePath, 'utf8');
21
+ const keywords = options.keywords.map((word) => `"${word}"`).join(', ');
22
+ data = data.replace(/("name": ")(.*)(")/, `$1${options.name}$3`);
23
+ data = data.replace(/("version": ")(.*)(")/, `$1${options.version}$3`);
24
+ data = data.replace(/("description": ")(.*)(")/, `$1${options.description}$3`);
25
+ data = data.replace(/("keywords": \[)(.*)(\])/, `$1${keywords}$3`);
26
+ data = data.replace(/("author": ")(.*)(")/, `$1${options.author}$3`);
27
+ fs.writeFileSync(filePath, data);
28
+ }
29
+ function parseArguments(rawArgv) {
30
+ const argv = minimist(rawArgv.slice(2));
31
+ const dirName = argv._[0];
32
+ if (!dirName) {
33
+ console.error('Error: Missing package name');
34
+ process.exit(1);
35
+ }
36
+ return {
37
+ dirName,
38
+ };
39
+ }
40
+ async function main() {
41
+ const { dirName: destDirName } = parseArguments(process.argv);
42
+ const destDir = path.join(process.cwd(), 'packages/', destDirName);
43
+ if (fs.existsSync(destDir)) {
44
+ console.error(`Error: Target directory "${destDir}" already exists`);
45
+ process.exit(1);
46
+ }
47
+ fs.mkdirSync(destDir, { recursive: true });
48
+ const isDirEmpty = await isDirectoryEmpty(destDir);
49
+ if (!isDirEmpty) {
50
+ console.error(`Error: Target directory "${destDir}" is not empty.`);
51
+ process.exit(1);
52
+ }
53
+ const settings = Object.assign({}, Settings_1.Settings);
54
+ settings.name = `${Settings_1.Settings.name}${destDirName}`.toLowerCase();
55
+ const details = await (0, questions_1.promptPackageDetails)(settings);
56
+ const templateDir = path.join(__dirname, '..', 'templates/typescript');
57
+ await copyTemplateFiles(templateDir, destDir);
58
+ const packageJsonFile = path.join(destDir, 'package.json');
59
+ updatePackageJsonFile(packageJsonFile, details);
60
+ const docsSymlinkTarget = path.join('../../../packages/', destDirName, '/README.md');
61
+ const docsSymlinkPath = path.join(process.cwd(), 'docs/packages/', destDirName, '/README.md');
62
+ await fse.ensureSymlink(docsSymlinkTarget, docsSymlinkPath);
63
+ console.log(`${chalk.green('Success')}, package has been initialized!`);
64
+ }
65
+ exports.main = main;
66
+ //# sourceMappingURL=createPackage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPackage.js","sourceRoot":"","sources":["../src/createPackage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const createPackage_1 = require("./createPackage");
4
+ (0, createPackage_1.main)();
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,mDAAuC;AAEvC,IAAA,oBAAI,GAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.promptPackageDetails = void 0;
4
+ const inquirer = require("inquirer");
5
+ async function promptPackageDetails(defaultValues) {
6
+ return inquirer.prompt([
7
+ {
8
+ type: 'input',
9
+ name: 'name',
10
+ message: 'Package name:',
11
+ default: defaultValues.name,
12
+ }, {
13
+ type: 'input',
14
+ name: 'version',
15
+ message: 'Version:',
16
+ default: defaultValues.version,
17
+ }, {
18
+ type: 'input',
19
+ name: 'description',
20
+ message: 'Description:',
21
+ }, {
22
+ type: 'input',
23
+ name: 'keywords',
24
+ message: 'Keywords:',
25
+ filter: (ans) => ans.split(/[\s,]+/),
26
+ }, {
27
+ type: 'input',
28
+ name: 'author',
29
+ message: 'Author:',
30
+ default: defaultValues.author,
31
+ },
32
+ ]);
33
+ }
34
+ exports.promptPackageDetails = promptPackageDetails;
35
+ //# sourceMappingURL=questions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/questionnaire/questions.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAWrC,KAAK,UAAU,oBAAoB,CAAC,aAA4C;IAC5E,OAAO,QAAQ,CAAC,MAAM,CAAC;QACnB;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,aAAa,CAAC,IAAI;SAC9B,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,aAAa,CAAC,OAAO;SACjC,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,cAAc;SAC1B,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;YACpB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;SACvC,EAAE;YACC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,aAAa,CAAC,MAAM;SAChC;KACJ,CAAC,CAAC;AACP,CAAC;AAEQ,oDAAoB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Settings = void 0;
4
+ const Settings = {
5
+ name: '@24i/smartapps-bigscreen-',
6
+ version: '0.0.1',
7
+ author: '24i',
8
+ };
9
+ exports.Settings = Settings;
10
+ //# sourceMappingURL=Settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/settings/Settings.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG;IACb,IAAI,EAAE,2BAA2B;IACjC,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,KAAK;CAChB,CAAC;AAEO,4BAAQ"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -12,6 +12,7 @@ import * as sizes from './sizes';
12
12
  type Props = {
13
13
  data: ItemData[],
14
14
  onClose: () => void,
15
+ leadingEllipses?: boolean;
15
16
  };
16
17
 
17
18
  export class EnvironmentList extends Component<Props> {
@@ -55,7 +56,7 @@ export class EnvironmentList extends Component<Props> {
55
56
  }
56
57
 
57
58
  render() {
58
- const { data } = this.props;
59
+ const { data, leadingEllipses } = this.props;
59
60
  const { visibleItems, firstScrollStep, scrollStep } = sizes;
60
61
  return (
61
62
  <div
@@ -80,6 +81,7 @@ export class EnvironmentList extends Component<Props> {
80
81
  label={label}
81
82
  value={value}
82
83
  onPress={this.onPressItem}
84
+ leadingEllipses={leadingEllipses}
83
85
  />
84
86
  );
85
87
  }}
@@ -2,10 +2,12 @@ import { Component, createRef, setText } from '@24i/bigscreen-sdk/jsx';
2
2
  import { getDisplayToggler } from '@24i/bigscreen-sdk/utils/displayToggler';
3
3
  import { Item } from '@24i/bigscreen-sdk/list/interface';
4
4
  import { Interactable } from '@24i/bigscreen-sdk/interactable';
5
+ import { trimWithLeadingEllipsis } from '@24i/bigscreen-sdk/utils/textUtils';
5
6
  import { ItemData } from './types';
6
7
 
7
8
  type Props = {
8
9
  onPress: (environment: string) => void,
10
+ leadingEllipses?: boolean;
9
11
  } & ItemData;
10
12
 
11
13
  export class EnvironmentListItem extends Component<Props> implements Item<ItemData> {
@@ -23,6 +25,10 @@ export class EnvironmentListItem extends Component<Props> implements Item<ItemDa
23
25
  this.value = value;
24
26
  }
25
27
 
28
+ componentDidMount(): void {
29
+ this.trimRows();
30
+ }
31
+
26
32
  onPress = () => {
27
33
  const { onPress } = this.props;
28
34
  onPress(this.value);
@@ -40,10 +46,18 @@ export class EnvironmentListItem extends Component<Props> implements Item<ItemDa
40
46
  this.display.hide();
41
47
  }
42
48
 
49
+ trimRows() {
50
+ const { leadingEllipses } = this.props;
51
+ if (leadingEllipses) {
52
+ trimWithLeadingEllipsis(this.labelRef.current!);
53
+ }
54
+ }
55
+
43
56
  updateData({ label, value }: ItemData) {
44
57
  if (value !== this.value) {
45
58
  this.value = value;
46
59
  setText(this.labelRef, label);
60
+ this.trimRows();
47
61
  }
48
62
  }
49
63
 
@@ -52,14 +66,20 @@ export class EnvironmentListItem extends Component<Props> implements Item<ItemDa
52
66
  }
53
67
 
54
68
  render() {
55
- const { active, label } = this.props;
69
+ const { active, label, leadingEllipses: ellipses } = this.props;
56
70
  return (
57
71
  <Interactable
58
72
  ref={this.itemRef}
59
- className="environment-list-item"
73
+ className={`environment-list-item ${ellipses ? 'leading-ellipses-list-item' : ''}`}
60
74
  onPress={this.onPress}
61
75
  >
62
- {active && <span className="checkmark" />}
76
+ { active
77
+ && (
78
+ <span
79
+ className={`checkmark ${ellipses ? 'leading-ellipses-checkmark' : ''}`}
80
+ />
81
+ )}
82
+
63
83
  <span
64
84
  className={`label ${active ? 'active' : ''}`}
65
85
  ref={this.labelRef}
@@ -9,6 +9,7 @@ import { getEnvironmentConfigNamesList, getActiveEnvironmentConfigName } from '.
9
9
 
10
10
  export type Props = {
11
11
  onClose?: () => void;
12
+ leadingEllipses?: boolean;
12
13
  };
13
14
 
14
15
  export class EnvironmentSelection extends Component<Props> implements IDeveloperTool<Props> {
@@ -75,6 +76,7 @@ export class EnvironmentSelection extends Component<Props> implements IDeveloper
75
76
  ref={this.environmentListRef}
76
77
  data={this.getEnvironments()}
77
78
  onClose={this.closeEnvironmentSelectionList}
79
+ leadingEllipses
78
80
  />,
79
81
  this.div,
80
82
  );
@@ -85,6 +85,12 @@
85
85
  width: $checkmark-size;
86
86
  }
87
87
 
88
+ .leading-ellipses-checkmark {
89
+ position: absolute;
90
+ height: 100%;
91
+ top: 0;
92
+ }
93
+
88
94
  .label {
89
95
  font-size: $label-font-size;
90
96
  font-weight: 400;
@@ -103,5 +109,9 @@
103
109
  }
104
110
  }
105
111
  }
112
+
113
+ .leading-ellipses-list-item {
114
+ height: auto;
115
+ }
106
116
  }
107
117
  }
@@ -0,0 +1 @@
1
+ export { DeviceVidaa as Device } from '@24i/bigscreen-sdk/driver-vidaa';
@@ -5,6 +5,7 @@ import { DeviceHbbTV } from '@24i/bigscreen-sdk/driver-hbbtv';
5
5
  import { DeviceKreaTV } from '@24i/bigscreen-sdk/driver-kreatv';
6
6
  import { DeviceSaphi } from '@24i/bigscreen-sdk/driver-saphi';
7
7
  import { DeviceTizen } from '@24i/bigscreen-sdk/driver-tizen';
8
+ import { DeviceVidaa } from '@24i/bigscreen-sdk/driver-vidaa';
8
9
  import { DeviceWebos } from '@24i/bigscreen-sdk/driver-webos';
9
10
  import { DeviceXbox } from '@24i/bigscreen-sdk/driver-xbox';
10
11
 
@@ -30,6 +31,10 @@ const getDevice = () => {
30
31
  info('Saphi');
31
32
  return new DeviceSaphi();
32
33
  }
34
+ if (userAgent.match(/Hisense/)) {
35
+ info('VIDAA');
36
+ return new DeviceVidaa();
37
+ }
33
38
  if (userAgent.match(/Ekioh/)) {
34
39
  info('KreaTV');
35
40
  return new DeviceKreaTV();
@@ -0,0 +1,134 @@
1
+ import {
2
+ DeviceBase,
3
+ ConnectionType,
4
+ ScreenSaverStatus,
5
+ VolumeRange,
6
+ } from '@24i/bigscreen-sdk/driver-base';
7
+ import { getPlatformInfo } from './formatUserAgent';
8
+ import { HisenseVidaaApi } from './types';
9
+ import { getKeyMap } from './keymap';
10
+
11
+ declare global {
12
+ interface Window extends HisenseVidaaApi {}
13
+ }
14
+
15
+ export class DeviceVidaa extends DeviceBase {
16
+ keyMap = getKeyMap();
17
+
18
+ platformInfo = getPlatformInfo(navigator.userAgent);
19
+
20
+ async initDevice(): Promise<void> {
21
+ this.initNetworkChangeListener();
22
+ }
23
+
24
+ initNetworkChangeListener() {
25
+ window.addEventListener('online', () => {
26
+ this.triggerEvent('networkchange', { isConnected: true });
27
+ });
28
+ window.addEventListener('offline', () => {
29
+ this.triggerEvent('networkchange', { isConnected: false });
30
+ });
31
+ }
32
+
33
+ reboot(): void {
34
+ let rootPath = '';
35
+ const splitUrl = window.location.href.split('#');
36
+ if (splitUrl.length > 1) rootPath = splitUrl[0];
37
+ window.location.href = rootPath;
38
+ }
39
+
40
+ exit(): void {
41
+ window.close();
42
+ }
43
+
44
+ async getManufacturerName(): Promise<string> {
45
+ return 'Hisense';
46
+ }
47
+
48
+ async getPlatformName(): Promise<string> {
49
+ return 'VIDAA';
50
+ }
51
+
52
+ async getPlatformVersion(): Promise<string> {
53
+ // platform version of Hisense VIDAA is defined on TV 2020 or later
54
+ return this.platformInfo.platformVersion || '';
55
+ }
56
+
57
+ async getDeviceName(): Promise<string> {
58
+ return `Hisense VIDAA ${await this.getModelName()}`.trim();
59
+ }
60
+
61
+ async getModelName(): Promise<string> {
62
+ return window.Hisense_GetModelName() || '';
63
+ }
64
+
65
+ async getFirmware(): Promise<string> {
66
+ return window.Hisense_GetFirmWareVersion() || '';
67
+ }
68
+
69
+ async is4KSupported(): Promise<boolean> {
70
+ return window.Hisense_Get4KSupportState() || false;
71
+ }
72
+
73
+ async is8KSupported(): Promise<boolean> {
74
+ return false;
75
+ }
76
+
77
+ async getUuid(): Promise<string> {
78
+ return window.Hisense_GetDeviceID() || '';
79
+ }
80
+
81
+ async getVolume(): Promise<number> {
82
+ return VolumeRange.UNSUPPORTED;
83
+ }
84
+
85
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
86
+ async setVolume(volumePercentage: number): Promise<void> {
87
+ // not supported on Hisense VIDAA platform
88
+ }
89
+
90
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
91
+ async mute(mute: boolean): Promise<void> {
92
+ // not supported on Hisense VIDAA platform
93
+ }
94
+
95
+ async isMute(): Promise<boolean> {
96
+ // not supported on Hisense VIDAA platform
97
+ return false;
98
+ }
99
+
100
+ async getScreenSaver(): Promise<ScreenSaverStatus> {
101
+ // not supported on Hisense VIDAA platform
102
+ return { enabled: false };
103
+ }
104
+
105
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
106
+ async setScreenSaver(status: ScreenSaverStatus): Promise<void> {
107
+ // not supported on Hisense VIDAA platform
108
+ }
109
+
110
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
111
+ async setUserAgent(userAgent: string): Promise<boolean> {
112
+ // not supported on Hisense VIDAA platform
113
+ return false;
114
+ }
115
+
116
+ async isNetworkConnected(): Promise<boolean> {
117
+ return window.navigator.onLine;
118
+ }
119
+
120
+ async getConnectionType(): Promise<ConnectionType> {
121
+ // not supported on Hisense VIDAA platform
122
+ return 'unknown';
123
+ }
124
+
125
+ async getLocalIP(): Promise<string> {
126
+ // not supported on Hisense VIDAA platform
127
+ return '';
128
+ }
129
+
130
+ async getMacAddress(): Promise<string> {
131
+ // not supported on Hisense VIDAA platform
132
+ return '';
133
+ }
134
+ }
@@ -0,0 +1,20 @@
1
+ import { HisenseVidaaApi, HisenseVidaaKeys } from '../types';
2
+
3
+ export const mockHisenseVidaaApi: HisenseVidaaApi = {
4
+ Hisense_GetBrand: () => 'hisense',
5
+ Hisense_GetModelName: () => '5U61FQEVS',
6
+ Hisense_GetFirmWareVersion: () => 'V0000.01.00Q.L0301',
7
+ Hisense_Get4KSupportState: () => true,
8
+ Hisense_GetDeviceID: () => '861003009000001000000641123456789012',
9
+ };
10
+
11
+ // Key constants are set to random number values
12
+ export const mockHisenseVidaaKeys = {
13
+ VK_LEFT: 0,
14
+ VK_RIGHT: 1,
15
+ VK_UP: 2,
16
+ VK_DOWN: 3,
17
+ VK_ENTER: 4,
18
+ VK_BACK_SPACE: 5,
19
+ // the rest of key constants is not needed for testing
20
+ } as HisenseVidaaKeys;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Parses platform info of VIDAA from user agent string.
3
+ * NOTE: Platform info of VIDAA is available in user agent of TVs 2020 or later.
4
+ *
5
+ * @param userAgent User agent string
6
+ * @returns object with platform info like platform name and platform version.
7
+ * If values are not not available, values of keys are set to undefined.
8
+ * Ex. for VIDAA platform string like "VIDAA/4.0" in user agent string , it returns
9
+ * object { platformName: "VIDAA", platformVersion: "4.0" }
10
+ */
11
+ export const getPlatformInfo = (userAgent: string) => {
12
+ const [
13
+ , platformName, platformVersion,
14
+ ] = userAgent.match(/(VIDAA)\/([\d.]+)/) || [] as Array<undefined>;
15
+ return { platformName, platformVersion };
16
+ };
@@ -0,0 +1 @@
1
+ export { DeviceVidaa } from './DeviceVidaa';
@@ -0,0 +1,54 @@
1
+ /* eslint-disable no-magic-numbers */
2
+ import { KeyMap } from '@24i/bigscreen-sdk/driver-base';
3
+ import { HisenseVidaaKeys } from './types';
4
+
5
+ declare const window: Window & HisenseVidaaKeys;
6
+
7
+ export const getKeyMap = () => {
8
+ KeyMap.overrideValues({
9
+ LEFT: { keyCode: window.VK_LEFT },
10
+ RIGHT: { keyCode: window.VK_RIGHT },
11
+ UP: { keyCode: window.VK_UP },
12
+ DOWN: { keyCode: window.VK_DOWN },
13
+ ENTER: { keyCode: window.VK_ENTER },
14
+ BACK: { keyCode: window.VK_BACK_SPACE },
15
+
16
+ RED: { keyCode: window.VK_RED },
17
+ GREEN: { keyCode: window.VK_GREEN },
18
+ YELLOW: { keyCode: window.VK_YELLOW },
19
+ BLUE: { keyCode: window.VK_BLUE },
20
+
21
+ PLAY: { keyCode: window.VK_PLAY },
22
+ PAUSE: { keyCode: window.VK_PAUSE },
23
+ PLAYPAUSE: { keyCode: window.VK_PLAY_PAUSE },
24
+ STOP: { keyCode: window.VK_STOP },
25
+ FF: { keyCode: window.VK_FAST_FWD },
26
+ REW: { keyCode: window.VK_REWIND },
27
+
28
+ NUM_0: { keyCode: window.VK_0 },
29
+ NUM_1: { keyCode: window.VK_1 },
30
+ NUM_2: { keyCode: window.VK_2 },
31
+ NUM_3: { keyCode: window.VK_3 },
32
+ NUM_4: { keyCode: window.VK_4 },
33
+ NUM_5: { keyCode: window.VK_5 },
34
+ NUM_6: { keyCode: window.VK_6 },
35
+ NUM_7: { keyCode: window.VK_7 },
36
+ NUM_8: { keyCode: window.VK_8 },
37
+ NUM_9: { keyCode: window.VK_9 },
38
+ KP_0: { keyCode: window.VK_NUMPAD0 },
39
+ KP_1: { keyCode: window.VK_NUMPAD1 },
40
+ KP_2: { keyCode: window.VK_NUMPAD2 },
41
+ KP_3: { keyCode: window.VK_NUMPAD3 },
42
+ KP_4: { keyCode: window.VK_NUMPAD4 },
43
+ KP_5: { keyCode: window.VK_NUMPAD5 },
44
+ KP_6: { keyCode: window.VK_NUMPAD6 },
45
+ KP_7: { keyCode: window.VK_NUMPAD7 },
46
+ KP_8: { keyCode: window.VK_NUMPAD8 },
47
+ KP_9: { keyCode: window.VK_NUMPAD9 },
48
+
49
+ CHANNEL_UP: { keyCode: window.VK_CHANNEL_UP || 427 },
50
+ CHANNEL_DOWN: { keyCode: window.VK_CHANNEL_DOWN || 428 },
51
+ INFO: { keyCode: window.VK_INFO },
52
+ });
53
+ return KeyMap.generateKeyCodeKeyMap();
54
+ };
@@ -0,0 +1,82 @@
1
+ export interface HisenseVidaaApi {
2
+ /**
3
+ * This interface will retrieve Hisense Unique ID for the device.
4
+ * @return a 32bytes string that represents the device id.
5
+ * Example: 861003009000001000000641123456789012
6
+ */
7
+ Hisense_GetDeviceID: () => string,
8
+ /**
9
+ * This interface will retrieve the firmware version for the device.
10
+ * @return a string that represents the firmware version.
11
+ * Example: V00.01.00a.F0116
12
+ */
13
+ Hisense_GetFirmWareVersion: () => string,
14
+ /**
15
+ * This will retrieve the 4K support status for the device.
16
+ * @return true if 4K is supported otherwise returns false.
17
+ */
18
+ Hisense_Get4KSupportState: () => boolean,
19
+ /**
20
+ * This will retrieve the TV brand for the device.
21
+ * @return a brand full name string that represents the TV brand.
22
+ * Example: hisense, sharp
23
+ */
24
+ Hisense_GetBrand: () => string,
25
+ /**
26
+ * This will retrieve the TV model name (hardware version) for the device.
27
+ * @return a string that represents the TV model name.
28
+ */
29
+ Hisense_GetModelName: () => string,
30
+ }
31
+
32
+ export type HisenseVidaaKeys = {
33
+ readonly VK_UP: number,
34
+ readonly VK_RIGHT: number,
35
+ readonly VK_DOWN: number,
36
+ readonly VK_LEFT: number,
37
+ readonly VK_ENTER: number,
38
+ readonly VK_BACK_SPACE: number,
39
+
40
+ readonly VK_BLUE: number,
41
+ readonly VK_RED: number,
42
+ readonly VK_GREEN: number,
43
+ readonly VK_YELLOW: number,
44
+
45
+ readonly VK_MENU: number,
46
+
47
+ readonly VK_0: number,
48
+ readonly VK_1: number,
49
+ readonly VK_2: number,
50
+ readonly VK_3: number,
51
+ readonly VK_4: number,
52
+ readonly VK_5: number,
53
+ readonly VK_6: number,
54
+ readonly VK_7: number,
55
+ readonly VK_8: number,
56
+ readonly VK_9: number,
57
+ // keys VK_NUMPAD{X} are not introduced in Hisense VIDAA spec but exist in global scope
58
+ readonly VK_NUMPAD0: number,
59
+ readonly VK_NUMPAD1: number,
60
+ readonly VK_NUMPAD2: number,
61
+ readonly VK_NUMPAD3: number,
62
+ readonly VK_NUMPAD4: number,
63
+ readonly VK_NUMPAD5: number,
64
+ readonly VK_NUMPAD6: number,
65
+ readonly VK_NUMPAD7: number,
66
+ readonly VK_NUMPAD8: number,
67
+ readonly VK_NUMPAD9: number,
68
+
69
+ readonly VK_PLAY: number,
70
+ readonly VK_PAUSE: number,
71
+ readonly VK_PLAY_PAUSE: number,
72
+ readonly VK_STOP: number,
73
+ readonly VK_TRACK_NEXT: number,
74
+ readonly VK_TRACK_PREV: number,
75
+ readonly VK_FAST_FWD: number,
76
+ readonly VK_REWIND: number,
77
+ readonly VK_SUBTITLE: number,
78
+ readonly VK_INFO: number,
79
+ // VK_CHANNEL_{UP/DOWN} not introduced in Hisense VIDAA spec but exists in global scope
80
+ readonly VK_CHANNEL_UP: number,
81
+ readonly VK_CHANNEL_DOWN: number,
82
+ };
@@ -78,7 +78,7 @@ export class Input extends Component<Props> implements IFocusable {
78
78
  return this.nativeInput.current!.value;
79
79
  }
80
80
 
81
- onKeyDown = (event: KeyboardEvent | MouseEvent) => {
81
+ onPress = (event: KeyboardEvent | MouseEvent) => {
82
82
  if (!this.isInputting && isClickOrEnter(event)) {
83
83
  stopEvent(event);
84
84
  this.processInput();
@@ -186,7 +186,7 @@ export class Input extends Component<Props> implements IFocusable {
186
186
  <Interactable
187
187
  className="input"
188
188
  ref={this.wrap}
189
- onPress={this.onKeyDown}
189
+ onPress={this.onPress}
190
190
  onFocus={onFocus}
191
191
  onBlur={onBlur}
192
192
  >