@24i/bigscreen-sdk 1.0.3-alpha.2091 → 1.0.3-alpha.2097

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 (123) hide show
  1. package/package.json +2 -2
  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/epg/src/v2/DataManager.ts +1 -1
  13. package/packages/focus/README.md +24 -3
  14. package/packages/focus/src/IFocusable.ts +2 -1
  15. package/packages/focus/src/Layout/Base.tsx +5 -1
  16. package/packages/focus/src/Layout/Horizontal.ts +19 -6
  17. package/packages/focus/src/Layout/__test__/Base.spec.ts +19 -1
  18. package/packages/focus/src/Layout/__test__/Horizontal.spec.ts +49 -1
  19. package/packages/focus/src/Layout/__test__/shared.ts +4 -0
  20. package/packages/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
  21. package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
  22. package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
  23. package/packages/rnv-build-engine/dist/src/engine.js +94 -0
  24. package/packages/rnv-build-engine/dist/src/index.js +26 -0
  25. package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
  26. package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
  27. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
  28. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
  29. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
  30. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
  31. package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
  32. package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
  33. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
  34. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
  35. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
  36. package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
  37. package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
  38. package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
  39. package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
  40. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
  41. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
  42. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
  43. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
  44. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
  45. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
  46. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
  47. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
  48. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
  49. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
  50. package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
  51. package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
  52. package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
  53. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +65 -0
  54. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +85 -0
  55. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
  56. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
  57. package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
  58. package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
  59. package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
  60. package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
  61. package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
  62. package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
  63. package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
  64. package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
  65. package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
  66. package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
  67. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
  68. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +168 -0
  69. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
  70. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
  71. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
  72. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +37 -0
  73. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
  74. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +76 -0
  75. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
  76. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
  77. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
  78. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
  79. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +80 -0
  80. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
  81. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +6 -0
  82. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
  83. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +221 -0
  84. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
  85. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
  86. package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
  87. package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +24 -0
  88. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +91 -0
  89. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +42 -0
  90. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +30 -0
  91. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
  92. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +70 -0
  93. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +18 -0
  94. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.platform.configure.js +37 -0
  95. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
  96. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +73 -0
  97. package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
  98. package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
  99. package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
  100. package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
  101. package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
  102. package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
  103. package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +65 -0
  104. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
  105. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
  106. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
  107. package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
  108. package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +87 -0
  109. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
  110. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
  111. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +234 -0
  112. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.dev.js +6 -0
  113. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.prod.js +6 -0
  114. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.extend.js +8 -0
  115. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackConfigAdapter.js +100 -0
  116. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackPlatformProps.js +8 -0
  117. package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpackPlatformProps.js +24 -0
  118. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.project +24 -0
  119. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
  120. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -0
  121. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/.project +35 -0
  122. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -0
  123. package/packages/rnv-build-engine/dist/templates/platforms/webos/webpackPlatformProps.js +8 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/bigscreen-sdk",
3
- "version": "1.0.3-alpha.2091",
3
+ "version": "1.0.3-alpha.2097",
4
4
  "description": "SmartApps BIGscreen SDK monorepo",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -38,7 +38,7 @@
38
38
  "homepage": "https://github.com/24i/smartapps-bigscreen-sdk#readme",
39
39
  "dependencies": {
40
40
  "@24i/player-base": "6.10.0",
41
- "@24i/smartapps-datalayer": "2.3.3",
41
+ "@24i/smartapps-datalayer": "2.3.4-beta.2",
42
42
  "@sentry/browser": "^7.8.0",
43
43
  "@types/prop-types": "^15.7.5",
44
44
  "@types/scheduler": "^0.16.1",
@@ -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":""}
@@ -267,7 +267,7 @@ export class DataManager implements IDataManager {
267
267
  endTime,
268
268
  },
269
269
  name: i18n.t('epg.noData.title'),
270
- programId: `no-data-${startTime}-${endTime}`,
270
+ id: `no-data-${startTime}-${endTime}`,
271
271
  } as unknown as Asset;
272
272
  }
273
273
 
@@ -8,6 +8,18 @@ sidebar_label: Focus
8
8
  # Focus
9
9
  This package takes care of focus in SmartApps BIGscreen apps. It contains layout components and modules for handling focus candidates and focus limiting.
10
10
 
11
+ ## IFocusable
12
+ IFocusable is an interface that should be implemented by anything that can be focused.
13
+ ```ts
14
+ interface IFocusable {
15
+ focus(options?: FocusOptions): void,
16
+ hasDom?(element: HTMLElement): boolean,
17
+ }
18
+ ```
19
+ - focus is the main function that is called when focusing component/element.
20
+ - hasDom is optional optimization for components to help Layout components locate the currently
21
+ focused child.
22
+
11
23
  ## Layout components
12
24
  - Vertical: Use it to create focus between elements vertically (up/down)
13
25
  - Horizontal: Use it to create focus between elements horizontally (left/right)
@@ -20,9 +32,18 @@ Both of these components share the same props;
20
32
  ### Props
21
33
  - children: Children will be rendered as is.
22
34
  - focusableChildren: Array of references between which the focus moves.
23
- - domRef: Reference to a dom element that corresponds to closest dom wrapper. It will listen onKeyDown on this element.
24
- - onFocusChanged: Optional callback after focus has changed. It receives reference to focused element and its index. Ideal place to change other elements (e.g. header changing with focused movie)
25
- - onBeforeFocusChange: Optional callback just before focus change. It receives reference to focused element and its index. Ideal place for preparing for the change (e.g. moving the container to fit new element in the screen)
35
+ - domRef: Reference to a dom element that corresponds to closest dom wrapper.
36
+ It will listen onKeyDown on this element.
37
+ - onFocusChanged: Optional callback after focus has changed. It receives a reference
38
+ to the focused element and its index. Ideal place to change other elements
39
+ (e.g. header changing with focused movie)
40
+ - onBeforeFocusChange: Optional callback just before focus change. It receives a reference
41
+ to the focused element and its index. Ideal place for preparing for the change
42
+ (e.g. moving the container to fit new element in the screen)
43
+ - dir: Optional forceful setting of the component direction. Defaults to `'auto'` which follows
44
+ the direction of the app.
45
+ `'ltr'` always forces left-to-right layout,
46
+ `'rtl'` always forces right-to-left.
26
47
 
27
48
  ### Usage
28
49
  ```jsx
@@ -1,3 +1,4 @@
1
1
  export interface IFocusable {
2
- focus: (options?: FocusOptions) => void,
2
+ focus(options?: FocusOptions): void,
3
+ hasDom?(element: HTMLElement): boolean,
3
4
  }
@@ -9,6 +9,7 @@ export type Props = SharedProps & {
9
9
  focusableChildren: Array<Reference>,
10
10
  onFocusChanged?: (focused: Reference, index: number) => any,
11
11
  onBeforeFocusChange?: (focused: Reference, index: number) => any,
12
+ dir?: 'auto' | 'ltr' | 'rtl',
12
13
  };
13
14
 
14
15
  export interface ILayout {
@@ -29,6 +30,7 @@ export const getLayoutBase = (onKeyDown: (event: KeyboardEvent, layout: ILayout)
29
30
  onFocusChanged: noop,
30
31
  onBeforeFocusChange: noop,
31
32
  focusOptions: { preventScroll: true },
33
+ dir: 'auto',
32
34
  };
33
35
 
34
36
  declare props: DeclareProps<Props, typeof Layout.defaultProps>;
@@ -61,7 +63,9 @@ export const getLayoutBase = (onKeyDown: (event: KeyboardEvent, layout: ILayout)
61
63
  ) {
62
64
  return this.index;
63
65
  }
64
- const targetIndex = focusableChildren.findIndex((ref) => ref.current === target);
66
+ const targetIndex = focusableChildren.findIndex(({ current }) => (
67
+ current === target || current?.hasDom?.(target)
68
+ ));
65
69
  return targetIndex !== -1 ? targetIndex : this.index;
66
70
  }
67
71
 
@@ -1,11 +1,24 @@
1
- import { device } from '@24i/bigscreen-sdk/device';
2
- import { getLayoutBase, ILayout } from './Base';
1
+ import { LEFT, RIGHT } from '@24i/bigscreen-sdk/device/keymap';
2
+ import { isRtl } from '@24i/bigscreen-sdk/i18n';
3
+ import { getLayoutBase, ILayout, Props } from './Base';
4
+
5
+ const isHorizontalRtl = (dir: Props['dir']) => {
6
+ switch (dir) {
7
+ case 'rtl': return true;
8
+ case 'ltr': return false;
9
+ case 'auto':
10
+ default:
11
+ return isRtl();
12
+ }
13
+ };
3
14
 
4
15
  const onKeyDown = (e: KeyboardEvent, layout: ILayout) => {
5
- if (device.isDirectionLeft(e)) {
6
- layout.backward(e);
7
- } else if (device.isDirectionRight(e)) {
8
- layout.forward(e);
16
+ if (!isHorizontalRtl(layout.props.dir)) {
17
+ if (LEFT.is(e)) layout.backward(e);
18
+ if (RIGHT.is(e)) layout.forward(e);
19
+ } else {
20
+ if (LEFT.is(e)) layout.forward(e);
21
+ if (RIGHT.is(e)) layout.backward(e);
9
22
  }
10
23
  };
11
24
 
@@ -1,5 +1,6 @@
1
+ import { IFocusable } from '../../IFocusable';
1
2
  import { getLayoutBase } from '../Base';
2
- import { rootRef, refChildA, refChildB, refChildC } from './shared';
3
+ import { rootRef, refChildA, refChildB, refChildC, refChildD } from './shared';
3
4
 
4
5
  const mockKeydown = jest.fn();
5
6
  const mockEvent: any = {
@@ -159,4 +160,21 @@ describe('Focus Layout Base', () => {
159
160
  base.index = 2;
160
161
  expect(() => base.focusCurrentIndex()).toThrow();
161
162
  });
163
+
164
+ it('should take result of hasDom into account of determining current focus position', () => {
165
+ base = new Base({
166
+ domRef: rootRef,
167
+ children: 'children',
168
+ focusableChildren: [refChildA, refChildB, refChildC, refChildD],
169
+ onFocusChanged: jest.fn(),
170
+ onBeforeFocusChange: jest.fn(),
171
+ });
172
+ ((refChildD.current as IFocusable).hasDom as jest.MockedFn<
173
+ Exclude<IFocusable['hasDom'], undefined>
174
+ >).mockReturnValueOnce(true);
175
+ base.backward(mockEvent);
176
+ expect(base.index).toBe(2);
177
+ base.backward(mockEvent);
178
+ expect(base.index).toBe(1);
179
+ });
162
180
  });
@@ -1,6 +1,13 @@
1
+ import { isRtl } from '@24i/bigscreen-sdk/i18n';
1
2
  import { Horizontal } from '../Horizontal';
2
3
  import { rootRef, refChildA, refChildB, refChildC } from './shared';
3
4
 
5
+ jest.mock('@24i/bigscreen-sdk/i18n', () => ({
6
+ ...jest.requireActual('@24i/bigscreen-sdk/i18n'),
7
+ isRtl: jest.fn().mockReturnValue(false),
8
+ }));
9
+ const isRtlMock = isRtl as jest.MockedFn<typeof isRtl>;
10
+
4
11
  const mockEvent = {
5
12
  target: false,
6
13
  preventDefault: jest.fn(),
@@ -38,9 +45,50 @@ describe('Horizontal Focus Layout', () => {
38
45
  expect(horizontal.forward).toHaveBeenCalled();
39
46
  });
40
47
 
41
- it('should call forward on LEFT', () => {
48
+ it('should call backward on LEFT', () => {
49
+ horizontal.setIndex(1);
50
+ horizontal.onKeyDown(mockLEFTEvent);
51
+ expect(horizontal.backward).toHaveBeenCalled();
52
+ });
53
+
54
+ it('should call backward on RIGHT when RTL', () => {
55
+ isRtlMock.mockReturnValueOnce(true);
56
+ horizontal.setIndex(1);
57
+ horizontal.onKeyDown(mockRIGHTEvent);
58
+ expect(horizontal.backward).toHaveBeenCalled();
59
+ });
60
+
61
+ it('should call forward on LEFT when RTL', () => {
62
+ isRtlMock.mockReturnValueOnce(true);
63
+ horizontal.onKeyDown(mockLEFTEvent);
64
+ expect(horizontal.forward).toHaveBeenCalled();
65
+ });
66
+
67
+ it('should call backward on RIGHT when forced RTL', () => {
68
+ horizontal.props.dir = 'rtl';
69
+ horizontal.setIndex(1);
70
+ horizontal.onKeyDown(mockRIGHTEvent);
71
+ expect(horizontal.backward).toHaveBeenCalled();
72
+ });
73
+
74
+ it('should call forward on LEFT when forced RTL', () => {
75
+ horizontal.props.dir = 'rtl';
76
+ horizontal.onKeyDown(mockLEFTEvent);
77
+ expect(horizontal.forward).toHaveBeenCalled();
78
+ });
79
+
80
+ it('should call backward on LEFT when RTL and forced LTR', () => {
81
+ isRtlMock.mockReturnValueOnce(true);
82
+ horizontal.props.dir = 'ltr';
42
83
  horizontal.setIndex(1);
43
84
  horizontal.onKeyDown(mockLEFTEvent);
44
85
  expect(horizontal.backward).toHaveBeenCalled();
45
86
  });
87
+
88
+ it('should call forward on RIGHT when RTL and forced LTR', () => {
89
+ isRtlMock.mockReturnValueOnce(true);
90
+ horizontal.props.dir = 'ltr';
91
+ horizontal.onKeyDown(mockRIGHTEvent);
92
+ expect(horizontal.forward).toHaveBeenCalled();
93
+ });
46
94
  });
@@ -1,4 +1,5 @@
1
1
  import { createRef } from '@24i/bigscreen-sdk/jsx';
2
+ import { IFocusable } from '../../IFocusable';
2
3
 
3
4
  class ChildMock {
4
5
  focus = jest.fn();
@@ -10,6 +11,9 @@ export const rootRef = createRef(root);
10
11
  const childA = new ChildMock();
11
12
  const childB = new ChildMock();
12
13
  const childC = new ChildMock();
14
+ const childD = new ChildMock();
15
+ (childD as IFocusable).hasDom = jest.fn().mockReturnValue(false);
13
16
  export const refChildA = createRef(childA);
14
17
  export const refChildB = createRef(childB);
15
18
  export const refChildC = createRef(childC);
19
+ export const refChildD = createRef(childD);
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuildSchemes = void 0;
4
+ const BuildSchemes = {
5
+ DEBUG: 'debug',
6
+ DEV: 'dev',
7
+ DEV_LATEST: 'dev:latest',
8
+ RC: 'rc',
9
+ RC_LATEST: 'rc:latest',
10
+ RELEASE: 'release',
11
+ RELEASE_LATEST: 'release:latest',
12
+ RELEASE_DIST: 'release:dist',
13
+ };
14
+ exports.BuildSchemes = BuildSchemes;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Platforms = exports.BuildSchemes = void 0;
4
+ var buildSchemes_1 = require("./buildSchemes");
5
+ Object.defineProperty(exports, "BuildSchemes", { enumerable: true, get: function () { return buildSchemes_1.BuildSchemes; } });
6
+ var platforms_1 = require("./platforms");
7
+ Object.defineProperty(exports, "Platforms", { enumerable: true, get: function () { return platforms_1.Platforms; } });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Platforms = void 0;
4
+ const Platforms = {
5
+ ENTONE: 'entone',
6
+ HBBTV: 'hbbtv',
7
+ KREATV: 'kreatv',
8
+ SAPHI: 'saphi',
9
+ TIZEN: 'tizen',
10
+ WEBOS: 'webos',
11
+ WEBTV: 'webtv',
12
+ XBOX: 'xbox',
13
+ };
14
+ exports.Platforms = Platforms;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Resolvers = exports.Constants = void 0;
23
+ const rnv_1 = require("rnv");
24
+ const Constants = __importStar(require("./constants"));
25
+ exports.Constants = Constants;
26
+ const Resolvers = __importStar(require("./resolvers"));
27
+ exports.Resolvers = Resolvers;
28
+ const CNF = __importStar(require("../../renative.engine.json"));
29
+ const constants_1 = require("./constants");
30
+ const engineTasks_1 = require("./tasks/engineTasks");
31
+ const generateEngineExtensions = (platformExtensions) => {
32
+ const fileExtensions = ['js', 'jsx', 'ts', 'tsx', 'json'];
33
+ const output = [];
34
+ fileExtensions.forEach((fileExtension) => {
35
+ platformExtensions.forEach((platformExtension) => {
36
+ output.push(`${platformExtension}.${fileExtension}`);
37
+ });
38
+ output.push(fileExtension);
39
+ });
40
+ return output;
41
+ };
42
+ exports.default = {
43
+ initializeRuntimeConfig: (c) => {
44
+ rnv_1.FileUtils.configureFilesystem(rnv_1.Common.getConfigProp, rnv_1.Resolver.doResolve, rnv_1.Utils.isSystemWin);
45
+ return rnv_1.Config.initializeConfig(c);
46
+ },
47
+ tasks: rnv_1.EngineManager.generateEngineTasks(engineTasks_1.engineTaskList),
48
+ config: CNF,
49
+ projectDirName: 'project',
50
+ serverDirName: 'server',
51
+ ejectPlatform: null,
52
+ platforms: {
53
+ [constants_1.Platforms.ENTONE]: {
54
+ extensions: generateEngineExtensions(['entone']),
55
+ defaultPort: 8094,
56
+ isWebHosted: true,
57
+ },
58
+ [constants_1.Platforms.HBBTV]: {
59
+ extensions: generateEngineExtensions(['hbbtv.tv']),
60
+ defaultPort: 8095,
61
+ isWebHosted: true,
62
+ },
63
+ [constants_1.Platforms.KREATV]: {
64
+ extensions: generateEngineExtensions(['kreatv']),
65
+ defaultPort: 8096,
66
+ isWebHosted: true,
67
+ },
68
+ [constants_1.Platforms.SAPHI]: {
69
+ extensions: generateEngineExtensions(['saphi.tv']),
70
+ defaultPort: 8097,
71
+ isWebHosted: true,
72
+ },
73
+ [constants_1.Platforms.TIZEN]: {
74
+ extensions: generateEngineExtensions(['tizen.tv']),
75
+ defaultPort: 8087,
76
+ isWebHosted: true,
77
+ },
78
+ [constants_1.Platforms.WEBOS]: {
79
+ extensions: generateEngineExtensions(['webos.tv']),
80
+ defaultPort: 8088,
81
+ isWebHosted: true,
82
+ },
83
+ [constants_1.Platforms.WEBTV]: {
84
+ extensions: generateEngineExtensions(['webtv']),
85
+ defaultPort: 8080,
86
+ isWebHosted: true,
87
+ },
88
+ [constants_1.Platforms.XBOX]: {
89
+ extensions: generateEngineExtensions(['xbox']),
90
+ defaultPort: 8098,
91
+ isWebHosted: true,
92
+ },
93
+ },
94
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Resolvers = exports.Constants = void 0;
23
+ const engine_1 = __importStar(require("./engine"));
24
+ Object.defineProperty(exports, "Constants", { enumerable: true, get: function () { return engine_1.Constants; } });
25
+ Object.defineProperty(exports, "Resolvers", { enumerable: true, get: function () { return engine_1.Resolvers; } });
26
+ exports.default = engine_1.default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveZippedPlatformBuildsRelativeFilePath = exports.resolveBuildFileExtension = exports.resolveUsedFlavours = exports.resolveSupportedPlatforms = exports.getBaseConfig = exports.resolveBuildFileName = exports.resolveHbbtvDeployConfig = exports.resolveHbbtvDeployUrl = exports.resolveHbbtvRemoteBuildDirRelativePath = exports.resolveDeployLocations = exports.resolveBuildVersionOffset = exports.resolveBuildVersion = exports.resolveBaseUrl = void 0;
4
+ var resolveBaseUrl_1 = require("./resolveBaseUrl");
5
+ Object.defineProperty(exports, "resolveBaseUrl", { enumerable: true, get: function () { return resolveBaseUrl_1.resolveBaseUrl; } });
6
+ var resolveBuildVersion_1 = require("./resolveBuildVersion");
7
+ Object.defineProperty(exports, "resolveBuildVersion", { enumerable: true, get: function () { return resolveBuildVersion_1.resolveBuildVersion; } });
8
+ var resolveBuildVersionOffset_1 = require("./resolveBuildVersionOffset");
9
+ Object.defineProperty(exports, "resolveBuildVersionOffset", { enumerable: true, get: function () { return resolveBuildVersionOffset_1.resolveBuildVersionOffset; } });
10
+ var resolveDeployLocations_1 = require("./resolveDeployLocations");
11
+ Object.defineProperty(exports, "resolveDeployLocations", { enumerable: true, get: function () { return resolveDeployLocations_1.resolveDeployLocations; } });
12
+ var resolveHbbtvRemoteBuildDirRelativePath_1 = require("./resolveHbbtvRemoteBuildDirRelativePath");
13
+ Object.defineProperty(exports, "resolveHbbtvRemoteBuildDirRelativePath", { enumerable: true, get: function () { return resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath; } });
14
+ var resolveHbbtvDeployUrl_1 = require("./resolveHbbtvDeployUrl");
15
+ Object.defineProperty(exports, "resolveHbbtvDeployUrl", { enumerable: true, get: function () { return resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl; } });
16
+ var resolveHbbtvDeployConfig_1 = require("./resolveHbbtvDeployConfig");
17
+ Object.defineProperty(exports, "resolveHbbtvDeployConfig", { enumerable: true, get: function () { return resolveHbbtvDeployConfig_1.resolveHbbtvDeployConfig; } });
18
+ var resolveBuildFileName_1 = require("./resolveBuildFileName");
19
+ Object.defineProperty(exports, "resolveBuildFileName", { enumerable: true, get: function () { return resolveBuildFileName_1.resolveBuildFileName; } });
20
+ var resolveGenericRnvConfig_1 = require("./resolveGenericRnvConfig");
21
+ Object.defineProperty(exports, "getBaseConfig", { enumerable: true, get: function () { return resolveGenericRnvConfig_1.getBaseConfig; } });
22
+ var resolveSupportedPlatforms_1 = require("./resolveSupportedPlatforms");
23
+ Object.defineProperty(exports, "resolveSupportedPlatforms", { enumerable: true, get: function () { return resolveSupportedPlatforms_1.resolveSupportedPlatforms; } });
24
+ var resolveUsedFlavours_1 = require("./resolveUsedFlavours");
25
+ Object.defineProperty(exports, "resolveUsedFlavours", { enumerable: true, get: function () { return resolveUsedFlavours_1.resolveUsedFlavours; } });
26
+ var resolveBuildFileExtension_1 = require("./resolveBuildFileExtension");
27
+ Object.defineProperty(exports, "resolveBuildFileExtension", { enumerable: true, get: function () { return resolveBuildFileExtension_1.resolveBuildFileExtension; } });
28
+ var resolveZippedPlatformBuildsRelativeFilePath_1 = require("./resolveZippedPlatformBuildsRelativeFilePath");
29
+ Object.defineProperty(exports, "resolveZippedPlatformBuildsRelativeFilePath", { enumerable: true, get: function () { return resolveZippedPlatformBuildsRelativeFilePath_1.resolveZippedPlatformBuildsRelativeFilePath; } });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveBaseUrl = void 0;
4
+ const resolveGenericRnvConfig_1 = require("./resolveGenericRnvConfig");
5
+ const constants_1 = require("../constants");
6
+ const resolveBaseUrl = ({ platform, scheme, flavour }) => {
7
+ const c = (0, resolveGenericRnvConfig_1.getBaseConfig)();
8
+ c.platform = platform;
9
+ c.runtime.scheme = scheme;
10
+ c.runtime.appId = flavour;
11
+ const { packageVersion, deploy } = c.buildConfig?.common;
12
+ const bucketName = deploy?.aws3?.bucketName || '';
13
+ if (!packageVersion || !bucketName) {
14
+ return '';
15
+ }
16
+ const bucketUrl = `http://${bucketName}.s3.amazonaws.com`;
17
+ const appFolderUrl = `${bucketUrl}/builds/${platform}/${flavour}`;
18
+ switch (scheme) {
19
+ case constants_1.BuildSchemes.DEV_LATEST:
20
+ return `${appFolderUrl}/latest/dev`;
21
+ case constants_1.BuildSchemes.RC_LATEST:
22
+ return `${appFolderUrl}/latest/rc`;
23
+ case constants_1.BuildSchemes.RELEASE_LATEST:
24
+ return `${appFolderUrl}/latest/release`;
25
+ case constants_1.BuildSchemes.RELEASE_DIST:
26
+ return `${appFolderUrl}/dist/v${packageVersion}`;
27
+ default:
28
+ return '';
29
+ }
30
+ };
31
+ exports.resolveBaseUrl = resolveBaseUrl;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveBuildFileExtension = void 0;
4
+ const constants_1 = require("../constants");
5
+ const resolveBuildFileExtension = (platform) => {
6
+ switch (platform) {
7
+ case constants_1.Platforms.TIZEN: return 'wgt';
8
+ case constants_1.Platforms.WEBOS: return 'ipk';
9
+ default: return 'zip';
10
+ }
11
+ };
12
+ exports.resolveBuildFileExtension = resolveBuildFileExtension;