@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.
- package/package.json +2 -1
- package/packages/create-package/dist/createPackage.js +66 -0
- package/packages/create-package/dist/createPackage.js.map +1 -0
- package/packages/create-package/dist/index.js +5 -0
- package/packages/create-package/dist/index.js.map +1 -0
- package/packages/create-package/dist/questionnaire/questions.js +35 -0
- package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
- package/packages/create-package/dist/settings/Settings.js +10 -0
- package/packages/create-package/dist/settings/Settings.js.map +1 -0
- package/packages/create-package/dist/types.js +3 -0
- package/packages/create-package/dist/types.js.map +1 -0
- package/packages/keyboard/README.md +2 -0
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +6 -0
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +119 -141
- package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.scss +4 -0
- package/packages/keyboard/src/WhitelabelKeyboard/icons/key_language.svg +20 -0
- package/packages/keyboard/src/WhitelabelKeyboard/index.ts +1 -1
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/hebrew.ts +28 -0
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +3 -0
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/latin.ts +26 -0
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/special.ts +28 -0
- package/packages/keyboard/src/WhitelabelKeyboard/types.ts +21 -2
- package/packages/keyboard/src/types/index.ts +1 -1
- package/packages/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
- package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
- package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
- package/packages/rnv-build-engine/dist/src/engine.js +94 -0
- package/packages/rnv-build-engine/dist/src/index.js +26 -0
- package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
- package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +65 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +85 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
- package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
- package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +168 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +37 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +76 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +80 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +6 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +221 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
- package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +24 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +91 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +42 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +30 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +70 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +18 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.platform.configure.js +37 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +73 -0
- package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
- package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
- package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
- package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
- package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
- package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
- package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +65 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
- package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +87 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +234 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.dev.js +6 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.prod.js +6 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.extend.js +8 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackConfigAdapter.js +100 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackPlatformProps.js +8 -0
- package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpackPlatformProps.js +24 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.project +24 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/project/.project +35 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/webpackPlatformProps.js +8 -0
- 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.
|
|
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 @@
|
|
|
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 @@
|
|
|
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 {
|
|
7
|
+
import { KeyboardBase } from '../KeyboardBase';
|
|
7
8
|
import { KeyMatrixCell } from '../types';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
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:
|
|
39
|
-
special:
|
|
17
|
+
normal: latin.layout,
|
|
18
|
+
special: special.layout,
|
|
40
19
|
},
|
|
41
20
|
makeFocusStrings: {
|
|
42
|
-
normal:
|
|
43
|
-
special:
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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={
|
|
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(
|
|
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(
|
|
139
|
+
{map(layout[1], this.generateKey)}
|
|
126
140
|
</div>
|
|
127
141
|
<div className="key-row key-chars">
|
|
128
|
-
{map(
|
|
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(
|
|
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(
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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(
|
|
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
|
-
{
|
|
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"> </div>
|
|
288
254
|
</div>
|
|
289
|
-
|
|
290
|
-
<div className="key
|
|
291
|
-
|
|
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"> </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"> </div>
|
|
347
327
|
</div>
|
|
348
|
-
<div className="rounded-border-container">
|
|
349
|
-
<
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
>
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
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>
|
|
@@ -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 './
|
|
2
|
+
export type { Props } from './types';
|