@24i/bigscreen-sdk 1.0.4 → 1.0.5-alpha.2129

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 (128) hide show
  1. package/package.json +2 -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/keyboard/README.md +2 -0
  13. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +6 -0
  14. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +119 -141
  15. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.scss +4 -0
  16. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_language.svg +20 -0
  17. package/packages/keyboard/src/WhitelabelKeyboard/index.ts +1 -1
  18. package/packages/keyboard/src/WhitelabelKeyboard/layouts/hebrew.ts +28 -0
  19. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +3 -0
  20. package/packages/keyboard/src/WhitelabelKeyboard/layouts/latin.ts +26 -0
  21. package/packages/keyboard/src/WhitelabelKeyboard/layouts/special.ts +28 -0
  22. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +21 -2
  23. package/packages/keyboard/src/types/index.ts +1 -1
  24. package/packages/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
  25. package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
  26. package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
  27. package/packages/rnv-build-engine/dist/src/engine.js +94 -0
  28. package/packages/rnv-build-engine/dist/src/index.js +26 -0
  29. package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
  30. package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
  31. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
  32. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
  33. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
  34. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
  35. package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
  36. package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
  37. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
  38. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
  39. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
  40. package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
  41. package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
  42. package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
  43. package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
  44. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
  45. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
  46. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
  47. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
  48. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
  49. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
  50. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
  51. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
  52. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
  53. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
  54. package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
  55. package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
  56. package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
  57. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +65 -0
  58. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +85 -0
  59. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
  60. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
  61. package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
  62. package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
  63. package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
  64. package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
  65. package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
  66. package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
  67. package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
  68. package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
  69. package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
  70. package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
  71. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
  72. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +168 -0
  73. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
  74. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
  75. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
  76. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +37 -0
  77. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
  78. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +76 -0
  79. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
  80. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
  81. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
  82. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
  83. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +80 -0
  84. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
  85. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +6 -0
  86. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
  87. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +221 -0
  88. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
  89. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
  90. package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
  91. package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +24 -0
  92. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +91 -0
  93. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +42 -0
  94. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +30 -0
  95. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
  96. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +70 -0
  97. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +18 -0
  98. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.platform.configure.js +37 -0
  99. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
  100. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +73 -0
  101. package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
  102. package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
  103. package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
  104. package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
  105. package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
  106. package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
  107. package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +65 -0
  108. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
  109. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
  110. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
  111. package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
  112. package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +87 -0
  113. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
  114. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
  115. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +234 -0
  116. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.dev.js +6 -0
  117. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.prod.js +6 -0
  118. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.extend.js +8 -0
  119. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackConfigAdapter.js +100 -0
  120. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackPlatformProps.js +8 -0
  121. package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpackPlatformProps.js +24 -0
  122. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.project +24 -0
  123. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
  124. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -0
  125. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/.project +35 -0
  126. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -0
  127. package/packages/rnv-build-engine/dist/templates/platforms/webos/webpackPlatformProps.js +8 -0
  128. package/packages/keyboard/src/WhitelabelKeyboard/focusMatrix.ts +0 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@24i/bigscreen-sdk",
3
- "version": "1.0.4",
3
+ "version": "1.0.5-alpha.2129",
4
4
  "description": "SmartApps BIGscreen SDK monorepo",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -165,6 +165,7 @@
165
165
  "./keyboard/Default": "./packages/keyboard/src/DefaultKeyboard/index.ts",
166
166
  "./keyboard/Mobi": "./packages/keyboard/src/MobiKeyboard/index.ts",
167
167
  "./keyboard/Whitelabel": "./packages/keyboard/src/WhitelabelKeyboard/index.ts",
168
+ "./keyboard/Whitelabel/layouts": "./packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts",
168
169
  "./keyboard/Whitelabel/styles": "./packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/index.ts",
169
170
  "./keyboard/WhitelabelNumeric": "./packages/keyboard/src/WhitelabelNumericKeyboard/index.ts",
170
171
  "./keyboard/WhitelabelNumeric/styles": "./packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/index.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":""}
@@ -155,6 +155,7 @@ If you do not use backstage, you must import default Whitelabel styles.
155
155
  import { ime } from '@24i/bigscreen-sdk/ime';
156
156
  import { CircularDirection } from '@24i/bigscreen-sdk/focus';
157
157
  import { Keyboard } from '@24i/bigscreen-sdk/keyboard/WhitelabelKeyboard';
158
+ import { hebrew } from '@24i/bigscreen-sdk/keyboard/Whitelabel/layouts';
158
159
  import { NumericKeyboard } from '@24i/bigscreen-sdk/keyboard/WhitelabelNumericKeyboard';
159
160
 
160
161
  // default styles import
@@ -196,6 +197,7 @@ class App extends Component {
196
197
  continue: 'Continue',
197
198
  }}
198
199
  initialFocus={{ x: 5, y: 2 }}
200
+ languageLayout={hebrew} // Switchable language layout
199
201
  />
200
202
  <NumericKeyboard
201
203
  ref={this.numericKeyboard}
@@ -109,6 +109,12 @@
109
109
  width: $key-space-width;
110
110
  }
111
111
 
112
+ &.key-language {
113
+ .key-mask-icon {
114
+ @include mask-svg-icon('./icons/key_language.svg');
115
+ }
116
+ }
117
+
112
118
  &.key-shift {
113
119
  .key-mask-icon {
114
120
  @include mask-svg-icon('./icons/key_shift.svg');
@@ -1,46 +1,25 @@
1
- import { clearNode, DeclareProps } from '@24i/bigscreen-sdk/jsx';
1
+ import { clearNode, DeclareProps, Reference } from '@24i/bigscreen-sdk/jsx';
2
2
  import { Matrix } from '@24i/bigscreen-sdk/focus';
3
3
  import { Interactable } from '@24i/bigscreen-sdk/interactable';
4
4
  import { map } from '@24i/bigscreen-sdk/perf-utils/array';
5
+ import { generateFocusMatrixFromStringMatrix } from '../utils/generateFocusMatrixFromStringMatrix';
5
6
  import { Backdrop } from '../Backdrop/Backdrop';
6
- import { BaseProps, KeyboardBase } from '../KeyboardBase';
7
+ import { KeyboardBase } from '../KeyboardBase';
7
8
  import { KeyMatrixCell } from '../types';
8
- import { makeNormalFocusStrings, makeSpecialFocusStrings } from './focusMatrix';
9
- import { KeyTexts } from './types';
9
+ import { latin, special } from './layouts';
10
+ import { Layouts, Props } from './types';
10
11
  import './Keyboard.styles';
11
12
 
12
- type Layouts = 'normal' | 'special';
13
-
14
- export type Props = BaseProps<Layouts> & {
15
- texts?: KeyTexts;
16
- makeFocusStrings?: Record<Layouts, (base: KeyMatrixCell[][]) => KeyMatrixCell[][]>,
17
- };
18
-
19
- const NORMAL_LAYOUT = [
20
- ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
21
- ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'],
22
- ['k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't'],
23
- ['u', 'v', 'w', 'x', 'y', 'z', '.', '@', '-', '_'],
24
- ];
25
-
26
- const SPECIAL_LAYOUT = [
27
- ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
28
- ['{', '}', '[', ']', '^', '%', '*', '#', '+', '='],
29
- ['<', '>', '~', '/', '|', '\\', '(', ')', '&', '“'],
30
- [';', ':', '‘', '!', '?', ',', '.', '@', '-', '_'],
31
- ['$', '€'], ['£', '¥'],
32
- ];
33
-
34
13
  export class Keyboard extends KeyboardBase<Layouts, Props> {
35
14
  static defaultProps = {
36
15
  ...KeyboardBase.defaultProps,
37
16
  layouts: {
38
- normal: NORMAL_LAYOUT,
39
- special: SPECIAL_LAYOUT,
17
+ normal: latin.layout,
18
+ special: special.layout,
40
19
  },
41
20
  makeFocusStrings: {
42
- normal: makeNormalFocusStrings,
43
- special: makeSpecialFocusStrings,
21
+ normal: latin.makeFocusStrings,
22
+ special: special.makeFocusStrings,
44
23
  },
45
24
  texts: {
46
25
  toNormalLayout: 'Abc',
@@ -53,22 +32,38 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
53
32
  initialFocus: { x: 5, y: 2 },
54
33
  };
55
34
 
35
+ languageFocusMatrix: Reference<HTMLDivElement>[][] = [[]];
36
+
56
37
  renderedLayout: Layouts | undefined = undefined;
57
38
 
39
+ isLanguageLayoutActive = false;
40
+
58
41
  declare props: DeclareProps<Props, typeof Keyboard.defaultProps>;
59
42
 
43
+ constructor(props: Props) {
44
+ super(props);
45
+ if (this.props.languageLayout) this.createLanguageFocusMatrix();
46
+ }
47
+
60
48
  createFocusMatrices() {
61
- const { layouts, makeFocusStrings } = this.props;
49
+ const { layouts, makeFocusStrings, languageLayout } = this.props;
62
50
  super.createFocusMatrices({
63
- normal: makeFocusStrings.normal(layouts.normal),
64
- special: makeFocusStrings.special(layouts.special),
51
+ normal: makeFocusStrings.normal(layouts.normal, !!languageLayout),
52
+ special: makeFocusStrings.special(layouts.special, !!languageLayout),
65
53
  });
66
54
  }
67
55
 
56
+ createLanguageFocusMatrix() {
57
+ const { languageLayout } = this.props;
58
+ this.languageFocusMatrix = generateFocusMatrixFromStringMatrix(
59
+ this.keyRefs, languageLayout!.makeFocusStrings(languageLayout!.layout, true)
60
+ );
61
+ }
62
+
68
63
  show() {
69
64
  super.show();
70
65
  this.renderedLayout = 'normal';
71
- this.renderNormal();
66
+ this.renderLayout(this.focusMatrices.normal, this.props.layouts.normal);
72
67
  }
73
68
 
74
69
  hide() {
@@ -77,21 +72,40 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
77
72
  clearNode(this.keyboardWrapper);
78
73
  }
79
74
 
80
- onAbc = () => {
75
+ onAbc() {
81
76
  if (this.renderedLayout === 'normal') return;
82
77
  this.renderedLayout = 'normal';
83
- this.renderNormal();
78
+ const { layouts, languageLayout } = this.props;
79
+ if (this.isLanguageLayoutActive) {
80
+ this.renderLayout(this.languageFocusMatrix, languageLayout!.layout);
81
+ } else {
82
+ this.renderLayout(this.focusMatrices.normal, layouts.normal);
83
+ }
84
84
  this.matrix.current!.setIndex({ x: 0, y: 1 });
85
85
  this.matrix.current!.focus();
86
- };
86
+ }
87
87
 
88
- onSpecial = () => {
88
+ onSpecial() {
89
89
  if (this.renderedLayout === 'special') return;
90
90
  this.renderedLayout = 'special';
91
- this.renderSpecial();
91
+ const { layouts } = this.props;
92
+ this.renderLayout(this.focusMatrices.special, layouts.special);
92
93
  this.matrix.current!.setIndex({ x: 0, y: 2 });
93
94
  this.matrix.current!.focus();
94
- };
95
+ }
96
+
97
+ onLanguage() {
98
+ this.renderedLayout = 'normal';
99
+ const { layouts, languageLayout } = this.props;
100
+ this.isLanguageLayoutActive = !this.isLanguageLayoutActive;
101
+ if (this.isLanguageLayoutActive) {
102
+ this.renderLayout(this.languageFocusMatrix, languageLayout!.layout);
103
+ } else {
104
+ this.renderLayout(this.focusMatrices.normal, layouts.normal);
105
+ }
106
+ this.matrix.current!.setIndex({ x: 0, y: 4 });
107
+ this.matrix.current!.focus();
108
+ }
95
109
 
96
110
  generateKey = (char: string) => (
97
111
  <Interactable
@@ -105,111 +119,48 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
105
119
  </Interactable>
106
120
  );
107
121
 
108
- renderNormal() {
122
+ renderLayout(matrix: Reference<HTMLDivElement>[][], layout: KeyMatrixCell[][]) {
109
123
  const { texts, circular } = this.props;
110
124
  this.clearMount(
111
125
  <Matrix
112
126
  ref={this.matrix}
113
127
  domRef={this.keyboardWrapper}
114
- matrix={this.focusMatrices.normal}
128
+ matrix={matrix}
115
129
  circular={circular}
116
130
  dir="ltr"
117
131
  >
118
132
  {this.renderKeyboard([
119
133
  <>
120
134
  <div className="key-row first-row rounded-border-container">
121
- {map(NORMAL_LAYOUT[0], this.generateKey)}
135
+ {map(layout[0], this.generateKey)}
122
136
  </div>
123
137
  <div className="rounded-border-container">
124
138
  <div className="key-row key-chars">
125
- {map(NORMAL_LAYOUT[1], this.generateKey)}
139
+ {map(layout[1], this.generateKey)}
126
140
  </div>
127
141
  <div className="key-row key-chars">
128
- {map(NORMAL_LAYOUT[2], this.generateKey)}
142
+ {map(layout[2], this.generateKey)}
129
143
  </div>
130
144
  <div className="key-row key-chars">
131
145
  {
132
146
  // eslint-disable-next-line no-magic-numbers
133
- map(NORMAL_LAYOUT[3], this.generateKey)
147
+ map(layout[3], this.generateKey)
134
148
  }
135
149
  </div>
136
- <div className="key-row">
137
- <Interactable
138
- ref={this.keyRefs.shift}
139
- className="key key-wide key-with-icon key-shift"
140
- onPress={() => this.onShift()}
141
- >
142
- <div className="key-background">
143
- <div className="key-mask-icon" />
144
- </div>
145
- </Interactable>
146
- <Interactable
147
- ref={this.keyRefs.space}
148
- className="key key-wide key-space"
149
- onPress={() => {
150
- this.onKey(' ');
151
- }}
152
- dir="auto"
153
- >
154
- <div className="key-background">
155
- {texts.space}
156
- </div>
157
- </Interactable>
158
- <Interactable
159
- ref={this.keyRefs.domain}
160
- className="key key-wide key-domain"
161
- onPress={() => {
162
- this.onKey(
163
- this.keyRefs.domain.current!.firstChild!.textContent!,
164
- );
165
- }}
166
- dir="auto"
167
- >
168
- <div className="key-background">
169
- {texts.domain}
170
- </div>
171
- </Interactable>
172
- </div>
173
- </div>
174
- </>,
175
- ])}
176
- </Matrix>,
177
- this.keyboardWrapper,
178
- );
179
- }
180
-
181
- renderSpecial() {
182
- const { texts, circular } = this.props;
183
- this.clearMount(
184
- <Matrix
185
- ref={this.matrix}
186
- domRef={this.keyboardWrapper}
187
- matrix={this.focusMatrices.special}
188
- circular={circular}
189
- dir="ltr"
190
- >
191
- {this.renderKeyboard([
192
- <>
193
- <div className="key-row first-row rounded-border-container">
194
- {map(SPECIAL_LAYOUT[0], this.generateKey)}
195
- </div>
196
- <div className="rounded-border-container">
197
- <div className="key-row">
198
- {map(SPECIAL_LAYOUT[1], this.generateKey)}
199
- </div>
200
- <div className="key-row">
201
- {map(SPECIAL_LAYOUT[2], this.generateKey)}
202
- </div>
203
150
  <div className="key-row">
204
151
  {
205
152
  // eslint-disable-next-line no-magic-numbers
206
- map(SPECIAL_LAYOUT[3], this.generateKey)
207
- }
208
- </div>
209
- <div className="key-row">
210
- {
211
- // eslint-disable-next-line no-magic-numbers
212
- map(SPECIAL_LAYOUT[4], this.generateKey)
153
+ layout[4] ? map(layout[4], this.generateKey) : (
154
+ <Interactable
155
+ ref={this.keyRefs.shift}
156
+ className="key key-wide key-with-icon key-shift"
157
+ onPress={() => this.onShift()}
158
+ >
159
+ <div className="key-background">
160
+ <div className="key-mask-icon" />
161
+ </div>
162
+ </Interactable>
163
+ )
213
164
  }
214
165
  <Interactable
215
166
  ref={this.keyRefs.space}
@@ -225,7 +176,21 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
225
176
  </Interactable>
226
177
  {
227
178
  // eslint-disable-next-line no-magic-numbers
228
- map(SPECIAL_LAYOUT[5], this.generateKey)
179
+ layout[5] ? map(layout[5], this.generateKey) : (
180
+ <Interactable
181
+ ref={this.keyRefs.domain}
182
+ className="key key-wide key-domain"
183
+ onPress={() => {
184
+ this.onKey(this.keyRefs.domain.current!
185
+ .firstChild!.textContent!);
186
+ }}
187
+ dir="auto"
188
+ >
189
+ <div className="key-background">
190
+ {texts.domain}
191
+ </div>
192
+ </Interactable>
193
+ )
229
194
  }
230
195
  </div>
231
196
  </div>
@@ -237,7 +202,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
237
202
  }
238
203
 
239
204
  renderKeyboard(layout: JSX.Element[]) {
240
- const { texts, shouldHideOnBackdropClick } = this.props;
205
+ const { texts, shouldHideOnBackdropClick, languageLayout } = this.props;
241
206
  const isSpecialLayout = this.renderedLayout === 'special';
242
207
  const isNormalLayout = this.renderedLayout === 'normal';
243
208
  return (
@@ -258,11 +223,12 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
258
223
  className={
259
224
  `key key-wide key-abc ${isNormalLayout ? 'active' : ''}`
260
225
  }
261
- onPress={this.onAbc}
226
+ onPress={() => this.onAbc()}
262
227
  dir="auto"
263
228
  >
264
229
  <div className="key-background">
265
- {texts.toNormalLayout}
230
+ {this.isLanguageLayoutActive
231
+ ? languageLayout?.keyText : texts.toNormalLayout}
266
232
  </div>
267
233
  </Interactable>
268
234
  </div>
@@ -274,7 +240,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
274
240
  isSpecialLayout ? 'active' : ''
275
241
  }`
276
242
  }
277
- onPress={this.onSpecial}
243
+ onPress={() => this.onSpecial()}
278
244
  dir="auto"
279
245
  >
280
246
  <div className="key-background">
@@ -286,9 +252,23 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
286
252
  <div className="key-row">
287
253
  <div className="key key-wide key-empty">&nbsp;</div>
288
254
  </div>
289
- <div className="key-row">
290
- <div className="key key-wide key-empty">&nbsp;</div>
291
- </div>
255
+ {!!languageLayout ?
256
+ <div className="key-row rounded-border-container">
257
+ <Interactable
258
+ ref={this.keyRefs.language}
259
+ className="key key-wide key-with-icon key-language"
260
+ onPress={() => this.onLanguage()}
261
+ >
262
+ <div className="key-background">
263
+ <div className="key-mask-icon" />
264
+ </div>
265
+ </Interactable>
266
+ </div>
267
+ :
268
+ <div className="key-row">
269
+ <div className="key key-wide key-empty">&nbsp;</div>
270
+ </div>
271
+ }
292
272
  </div>
293
273
  <div className="keys-container key-layout">
294
274
  {layout}
@@ -345,19 +325,17 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
345
325
  <div className="key-row">
346
326
  <div className="key key-wide key-empty">&nbsp;</div>
347
327
  </div>
348
- <div className="rounded-border-container">
349
- <div className="key-row">
350
- <Interactable
351
- ref={this.keyRefs.continue}
352
- className="key key-wide key-continue"
353
- onPress={() => this.onDone()}
354
- dir="auto"
355
- >
356
- <div className="key-background">
357
- {texts.continue}
358
- </div>
359
- </Interactable>
360
- </div>
328
+ <div className="key-row rounded-border-container">
329
+ <Interactable
330
+ ref={this.keyRefs.continue}
331
+ className="key key-wide key-continue"
332
+ onPress={() => this.onDone()}
333
+ dir="auto"
334
+ >
335
+ <div className="key-background">
336
+ {texts.continue}
337
+ </div>
338
+ </Interactable>
361
339
  </div>
362
340
  </div>
363
341
  </div>
@@ -31,6 +31,10 @@ $light-background: rgba(97, 98, 100, 0.3);
31
31
  }
32
32
  }
33
33
 
34
+ &.key-language {
35
+ background-color: $light-background;
36
+ }
37
+
34
38
  &.key-space {
35
39
  background-color: $dark-background;
36
40
  }
@@ -0,0 +1,20 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
2
+ <defs>
3
+ <clipPath id="kio1mowqva">
4
+ <path d="M1920 0v1080H0V0h1920z"/>
5
+ </clipPath>
6
+ <clipPath id="b7gbx9lplb">
7
+ <path d="M168 0a8 8 0 0 1 8 8v58a8 8 0 0 1-8 8H8a8 8 0 0 1-8-8V8a8 8 0 0 1 8-8h160z"/>
8
+ </clipPath>
9
+ <clipPath id="jjict19bjc">
10
+ <path d="M16.65 0c9.217 0 16.683 7.467 16.683 16.667 0 9.2-7.466 16.666-16.683 16.666C7.45 33.333 0 25.867 0 16.667S7.45 0 16.65 0zm3.2 23.333h-6.367c.717 2.384 1.8 4.6 3.184 6.6 1.383-2 2.466-4.216 3.183-6.6zm-9.8 0H5.133a13.311 13.311 0 0 0 7.217 5.934c-1-1.85-1.767-3.85-2.3-5.934zm18.15 0h-4.917a26.082 26.082 0 0 1-2.3 5.934 13.383 13.383 0 0 0 7.217-5.934zm-18.8-10H3.767a13.736 13.736 0 0 0-.434 3.334c0 1.15.167 2.266.434 3.333H9.4c-.133-1.1-.233-2.2-.233-3.333 0-1.134.1-2.234.233-3.334zm11.167 0h-7.8c-.15 1.084-.267 2.2-.267 3.334 0 1.133.117 2.233.267 3.333h7.8c.15-1.1.266-2.2.266-3.333 0-1.134-.116-2.25-.266-3.334zm9 0h-5.634c.134 1.1.234 2.2.234 3.334 0 1.133-.1 2.233-.234 3.333h5.634c.266-1.067.433-2.183.433-3.333 0-1.15-.167-2.267-.433-3.334zm-8.584-9.266c1 1.85 1.767 3.85 2.3 5.933H28.2a13.383 13.383 0 0 0-7.217-5.933zm-8.633 0A13.311 13.311 0 0 0 5.133 10h4.917a26.082 26.082 0 0 1 2.3-5.933zm4.317-.667a23.478 23.478 0 0 0-3.184 6.6h6.367c-.717-2.383-1.8-4.6-3.183-6.6z"/>
11
+ </clipPath>
12
+ </defs>
13
+ <g clip-path="url(#kio1mowqva)" transform="translate(-388 -969)">
14
+ <g clip-path="url(#b7gbx9lplb)" transform="translate(320 952)">
15
+ <g clip-path="url(#jjict19bjc)" transform="translate(71.333 20.333)">
16
+ <path fill="#FFF" d="M0 0h33.333v33.333H0V0z"/>
17
+ </g>
18
+ </g>
19
+ </g>
20
+ </svg>
@@ -1,2 +1,2 @@
1
1
  export { Keyboard } from './Keyboard';
2
- export type { Props } from './Keyboard';
2
+ export type { Props } from './types';