@24i/bigscreen-sdk 1.0.4-alpha.2098 → 1.0.4-alpha.2109
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 +5 -5
- package/packages/animations/README.md +13 -2
- package/packages/animations/src/AnimationUtils.ts +12 -6
- package/packages/animations/src/JSAnimations.ts +7 -5
- 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/developer-tools/src/EnvironmentSelection/EnvironmentList.tsx +7 -12
- package/packages/developer-tools/src/EnvironmentSelection/EnvironmentListItem.tsx +28 -15
- package/packages/developer-tools/src/EnvironmentSelection/sizes.1080.ts +3 -7
- package/packages/developer-tools/src/EnvironmentSelection/sizes.ts +3 -7
- package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.scss +28 -4
- package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.1080.scss +2 -1
- package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.scss +3 -2
- package/packages/driver-base/src/loadObject.ts +1 -1
- package/packages/focus/src/Layout/Base.tsx +0 -1
- package/packages/focus/src/Layout/Horizontal.ts +3 -13
- package/packages/focus/src/Layout/Matrix.tsx +24 -3
- package/packages/focus/src/Layout/__test__/isRtl.spec.ts +23 -0
- package/packages/focus/src/Layout/isRtl.ts +12 -0
- package/packages/focus/src/Layout/types.ts +1 -0
- package/packages/jsx/src/forwardRef.ts +2 -2
- package/packages/keyboard/src/AndroidKeyboard/Keyboard.tsx +7 -0
- package/packages/keyboard/src/DefaultKeyboard/Keyboard.tsx +1 -0
- package/packages/keyboard/src/KeyboardBase.tsx +1 -0
- package/packages/keyboard/src/MobiKeyboard/Keyboard.tsx +11 -0
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +9 -0
- package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.tsx +3 -0
- package/packages/mouse-navigation/src/ArrowNavigation/index.tsx +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/types-bigscreen-jsx/index.d.ts +1 -1
- package/packages/utils/src/textUtils.ts +4 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@24i/bigscreen-sdk",
|
|
3
|
-
"version": "1.0.4-alpha.
|
|
3
|
+
"version": "1.0.4-alpha.2109",
|
|
4
4
|
"description": "SmartApps BIGscreen SDK monorepo",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@types/jest": "^28.1.6",
|
|
58
58
|
"@types/minimist": "^1.2.2",
|
|
59
59
|
"@types/node": "^18.6.3",
|
|
60
|
-
"@types/react": "^18.0.
|
|
60
|
+
"@types/react": "^18.0.18",
|
|
61
61
|
"babel-jest": "^28.1.2",
|
|
62
62
|
"chalk": "^4.1.2",
|
|
63
63
|
"coveralls": "^3.1.0",
|
|
@@ -71,12 +71,12 @@
|
|
|
71
71
|
"jest-environment-jsdom": "^28.1.2",
|
|
72
72
|
"minimist": "^1.2.6",
|
|
73
73
|
"patch-package": "^6.2.1",
|
|
74
|
-
"sass": "^1.54.
|
|
74
|
+
"sass": "^1.54.8",
|
|
75
75
|
"sass-true": "^6.1.0",
|
|
76
|
-
"ts-jest": "^28.0.
|
|
76
|
+
"ts-jest": "^28.0.8",
|
|
77
77
|
"ts-node": "^10.8.2",
|
|
78
78
|
"tsconfig-paths-jest": "0.0.1",
|
|
79
|
-
"typescript": "^4.
|
|
79
|
+
"typescript": "^4.8.2"
|
|
80
80
|
},
|
|
81
81
|
"exports": {
|
|
82
82
|
"./adobe-heartbeat": "./packages/adobe-heartbeat/src/index.ts",
|
|
@@ -40,7 +40,7 @@ If you use it in combination with *JSAnimations* then you will need only static
|
|
|
40
40
|
|
|
41
41
|
## JSAnimations
|
|
42
42
|
Create your own instance in your component. To start the animation you call start and pass callback;
|
|
43
|
-
```
|
|
43
|
+
```ts
|
|
44
44
|
animations = new JSAnimations();
|
|
45
45
|
...
|
|
46
46
|
animations.start(from, to, timeInMs, AnimationUtils.ease).onFrame(this.onFrame);
|
|
@@ -50,6 +50,17 @@ animations.start(from, to, timeInMs, AnimationUtils.ease).onFrame(this.onFrame);
|
|
|
50
50
|
If you start another animation (with the same instance) before the previous ends.
|
|
51
51
|
Then the from is not what you passed but current position of running animation.
|
|
52
52
|
|
|
53
|
+
## Frame callback
|
|
54
|
+
Frame callback is called each time animation progresses. It has two parameters.
|
|
55
|
+
Parameter `value` is the current value of the animation between `from` and `to`.
|
|
56
|
+
Parameter `percentage` is optional and it is the percentual progress of the animation
|
|
57
|
+
between 0 and 1. The value is not linear, it is based on the ease function used in
|
|
58
|
+
the animation.
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
frameCallback = (value: number, percentage?: number) => void;
|
|
62
|
+
```
|
|
63
|
+
|
|
53
64
|
## Timing Example
|
|
54
65
|
Time | Call | Result
|
|
55
66
|
---|---|---
|
|
@@ -63,7 +74,7 @@ To the root of your package add this file:
|
|
|
63
74
|
__mocks__/@24i/smartapps-bigscreenen-animations.ts
|
|
64
75
|
```
|
|
65
76
|
with this content
|
|
66
|
-
```
|
|
77
|
+
```ts
|
|
67
78
|
export { AnimationUtils } from '@24i/bigscreen-sdk/animations';
|
|
68
79
|
export { JSAnimations } from '@24i/bigscreen-sdk/animations/mock';
|
|
69
80
|
|
|
@@ -162,16 +162,22 @@ export class AnimationUtils {
|
|
|
162
162
|
static easeInOutBack: EasingType = [0.68, -0.55, 0.265, 1.55];
|
|
163
163
|
|
|
164
164
|
/**
|
|
165
|
-
* Returns value at given percentage
|
|
165
|
+
* Returns value at given time percentage with percentage in easing function
|
|
166
166
|
* @param {number} min - minimal value
|
|
167
167
|
* @param {number} max - maximal value
|
|
168
168
|
* @param {number} percentage - percentage of time
|
|
169
169
|
* @param {EasingType} easingFunction - easing function for calculation
|
|
170
|
-
* @returns {
|
|
171
|
-
*/
|
|
172
|
-
xInTime(min: number, max: number, percentage: number, easingFunction: EasingType):
|
|
173
|
-
|
|
174
|
-
|
|
170
|
+
* @returns {Object} calculated value and percentual value in easing
|
|
171
|
+
*/
|
|
172
|
+
xInTime(min: number, max: number, percentage: number, easingFunction: EasingType): {
|
|
173
|
+
value: number,
|
|
174
|
+
percentage: number,
|
|
175
|
+
} {
|
|
176
|
+
const percentageInEasing = this.getPercentageAt(percentage, easingFunction);
|
|
177
|
+
return {
|
|
178
|
+
value: this.linearInterpolation(min, max, percentageInEasing),
|
|
179
|
+
percentage: percentageInEasing,
|
|
180
|
+
};
|
|
175
181
|
}
|
|
176
182
|
|
|
177
183
|
/**
|
|
@@ -71,10 +71,12 @@ export class JSAnimations {
|
|
|
71
71
|
easingFunction: EasingType = AnimationUtils.ease;
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
|
-
* @member {FrameCallback} frameCallback - callback being called on
|
|
74
|
+
* @member {FrameCallback} frameCallback - callback being called on every frame
|
|
75
75
|
* @private
|
|
76
|
+
* @param {number} value - current value of the animation
|
|
77
|
+
* @param {number} [percentage] - current progress of the animation in percents
|
|
76
78
|
*/
|
|
77
|
-
frameCallback?: (value: number) => void;
|
|
79
|
+
frameCallback?: (value: number, percentage?: number) => void;
|
|
78
80
|
|
|
79
81
|
/**
|
|
80
82
|
* Starts animation
|
|
@@ -115,7 +117,7 @@ export class JSAnimations {
|
|
|
115
117
|
this.animationRunning = false;
|
|
116
118
|
}
|
|
117
119
|
const timePercentage = this.currentTime / this.animationTime;
|
|
118
|
-
const value = this.animations.xInTime(
|
|
120
|
+
const { value, percentage } = this.animations.xInTime(
|
|
119
121
|
this.from,
|
|
120
122
|
this.to,
|
|
121
123
|
timePercentage,
|
|
@@ -123,7 +125,7 @@ export class JSAnimations {
|
|
|
123
125
|
);
|
|
124
126
|
this.currentPosition = value;
|
|
125
127
|
if (this.frameCallback) {
|
|
126
|
-
this.frameCallback(value);
|
|
128
|
+
this.frameCallback(value, percentage);
|
|
127
129
|
}
|
|
128
130
|
if (this.animationRunning) {
|
|
129
131
|
this.animationFrameID = window.requestAnimationFrame(this.frame);
|
|
@@ -134,7 +136,7 @@ export class JSAnimations {
|
|
|
134
136
|
* Frame callback handler
|
|
135
137
|
* @param {FrameCallback} callback - callback to run on every animation frame
|
|
136
138
|
*/
|
|
137
|
-
onFrame(callback: (value: number) => void) {
|
|
139
|
+
onFrame(callback: (value: number, percentage?: number) => void) {
|
|
138
140
|
if (typeof callback === 'function') {
|
|
139
141
|
this.frameCallback = callback;
|
|
140
142
|
}
|
|
@@ -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":""}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Component, createRef, Reference } from '@24i/bigscreen-sdk/jsx';
|
|
2
2
|
import { stopEvent } from '@24i/bigscreen-sdk/utils';
|
|
3
3
|
import { BasicList } from '@24i/bigscreen-sdk/list/Basic';
|
|
4
|
-
import { device } from '@24i/bigscreen-sdk/device';
|
|
5
4
|
import { BACK } from '@24i/bigscreen-sdk/device/keymap';
|
|
6
5
|
import { reloadApp } from '../utils/reload';
|
|
7
6
|
import { EnvironmentListItem } from './EnvironmentListItem';
|
|
@@ -25,14 +24,12 @@ export class EnvironmentList extends Component<Props> {
|
|
|
25
24
|
getPaddingTop() {
|
|
26
25
|
const { data } = this.props;
|
|
27
26
|
const {
|
|
28
|
-
|
|
27
|
+
paddingCountThreshold, height, scrollStep, defaultPaddingTop,
|
|
29
28
|
} = sizes;
|
|
30
|
-
if (data.length
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
return defaultPaddingTop;
|
|
29
|
+
if (data.length > paddingCountThreshold) return defaultPaddingTop;
|
|
30
|
+
return Math.round(
|
|
31
|
+
(height - scrollStep * data.length) / 2,
|
|
32
|
+
);
|
|
36
33
|
}
|
|
37
34
|
|
|
38
35
|
onKeyDown = (event: KeyboardEvent) => {
|
|
@@ -40,8 +37,6 @@ export class EnvironmentList extends Component<Props> {
|
|
|
40
37
|
stopEvent(event);
|
|
41
38
|
const { onClose } = this.props;
|
|
42
39
|
onClose();
|
|
43
|
-
} else if (device.isDirectionalArrow(event)) {
|
|
44
|
-
stopEvent(event); // No leaking out. Might result in something focusing below the modal
|
|
45
40
|
}
|
|
46
41
|
};
|
|
47
42
|
|
|
@@ -57,7 +52,7 @@ export class EnvironmentList extends Component<Props> {
|
|
|
57
52
|
|
|
58
53
|
render() {
|
|
59
54
|
const { data, leadingEllipses } = this.props;
|
|
60
|
-
const { visibleItems,
|
|
55
|
+
const { visibleItems, scrollStep } = sizes;
|
|
61
56
|
return (
|
|
62
57
|
<div
|
|
63
58
|
ref={this.div}
|
|
@@ -86,7 +81,7 @@ export class EnvironmentList extends Component<Props> {
|
|
|
86
81
|
);
|
|
87
82
|
}}
|
|
88
83
|
visibleItems={visibleItems}
|
|
89
|
-
firstScrollStep={
|
|
84
|
+
firstScrollStep={scrollStep}
|
|
90
85
|
scrollStep={scrollStep}
|
|
91
86
|
/>
|
|
92
87
|
</div>
|
|
@@ -3,8 +3,12 @@ import { getDisplayToggler } from '@24i/bigscreen-sdk/utils/displayToggler';
|
|
|
3
3
|
import { Item } from '@24i/bigscreen-sdk/list/interface';
|
|
4
4
|
import { Interactable } from '@24i/bigscreen-sdk/interactable';
|
|
5
5
|
import { trimWithLeadingEllipsis } from '@24i/bigscreen-sdk/utils/textUtils';
|
|
6
|
+
import { addClass } from '@24i/bigscreen-sdk/utils/addClass';
|
|
7
|
+
import { removeClass } from '@24i/bigscreen-sdk/utils/removeClass';
|
|
6
8
|
import { ItemData } from './types';
|
|
7
9
|
|
|
10
|
+
const ACTIVE_CLASS = 'active';
|
|
11
|
+
|
|
8
12
|
type Props = {
|
|
9
13
|
onPress: (environment: string) => void,
|
|
10
14
|
leadingEllipses?: boolean;
|
|
@@ -13,7 +17,7 @@ type Props = {
|
|
|
13
17
|
export class EnvironmentListItem extends Component<Props> implements Item<ItemData> {
|
|
14
18
|
itemRef = createRef<HTMLDivElement>();
|
|
15
19
|
|
|
16
|
-
labelRef = createRef<
|
|
20
|
+
labelRef = createRef<HTMLDivElement>();
|
|
17
21
|
|
|
18
22
|
value: string;
|
|
19
23
|
|
|
@@ -49,15 +53,20 @@ export class EnvironmentListItem extends Component<Props> implements Item<ItemDa
|
|
|
49
53
|
trimRows() {
|
|
50
54
|
const { leadingEllipses } = this.props;
|
|
51
55
|
if (leadingEllipses) {
|
|
52
|
-
trimWithLeadingEllipsis(this.labelRef.current
|
|
56
|
+
trimWithLeadingEllipsis(this.labelRef.current!, 2);
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
updateData({ label, value }: ItemData) {
|
|
60
|
+
updateData({ label, value, active }: ItemData) {
|
|
57
61
|
if (value !== this.value) {
|
|
58
62
|
this.value = value;
|
|
59
63
|
setText(this.labelRef, label);
|
|
60
64
|
this.trimRows();
|
|
65
|
+
if (active) {
|
|
66
|
+
addClass(this.itemRef, ACTIVE_CLASS);
|
|
67
|
+
} else {
|
|
68
|
+
removeClass(this.itemRef, ACTIVE_CLASS);
|
|
69
|
+
}
|
|
61
70
|
}
|
|
62
71
|
}
|
|
63
72
|
|
|
@@ -66,27 +75,31 @@ export class EnvironmentListItem extends Component<Props> implements Item<ItemDa
|
|
|
66
75
|
}
|
|
67
76
|
|
|
68
77
|
render() {
|
|
69
|
-
const { active, label, leadingEllipses
|
|
78
|
+
const { active, label, leadingEllipses } = this.props;
|
|
79
|
+
const itemEllipsesClass = `${
|
|
80
|
+
leadingEllipses ? 'leading-ellipses-list-item' : 'normal-ellipses-list-item'
|
|
81
|
+
}`;
|
|
82
|
+
const activeClass = `${active ? ACTIVE_CLASS : ''}`;
|
|
70
83
|
return (
|
|
71
84
|
<Interactable
|
|
72
85
|
ref={this.itemRef}
|
|
73
|
-
className={`environment-list-item
|
|
86
|
+
className={`environment-list-item ${itemEllipsesClass} ${activeClass}`}
|
|
74
87
|
onPress={this.onPress}
|
|
75
88
|
>
|
|
76
|
-
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
<
|
|
84
|
-
className=
|
|
89
|
+
{active && (
|
|
90
|
+
<div
|
|
91
|
+
className={
|
|
92
|
+
`checkmark ${leadingEllipses ? 'leading-ellipses-checkmark' : ''}`
|
|
93
|
+
}
|
|
94
|
+
/>
|
|
95
|
+
)}
|
|
96
|
+
<div
|
|
97
|
+
className="label"
|
|
85
98
|
ref={this.labelRef}
|
|
86
99
|
dir="auto"
|
|
87
100
|
>
|
|
88
101
|
{label}
|
|
89
|
-
</
|
|
102
|
+
</div>
|
|
90
103
|
</Interactable>
|
|
91
104
|
);
|
|
92
105
|
}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
export const height = 1080;
|
|
2
|
-
export const defaultPaddingTop =
|
|
3
|
-
|
|
4
|
-
export const
|
|
5
|
-
export const listItemMargin = 16;
|
|
6
|
-
|
|
7
|
-
export const visibleItems = 11;
|
|
8
|
-
export const firstScrollStep = 112;
|
|
2
|
+
export const defaultPaddingTop = 92;
|
|
3
|
+
export const paddingCountThreshold = 8;
|
|
4
|
+
export const visibleItems = 10;
|
|
9
5
|
export const scrollStep = 112;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
export const height = 720;
|
|
2
|
-
export const defaultPaddingTop =
|
|
3
|
-
|
|
4
|
-
export const
|
|
5
|
-
export const listItemMargin = 11;
|
|
6
|
-
|
|
7
|
-
export const visibleItems = 11;
|
|
8
|
-
export const firstScrollStep = 75;
|
|
2
|
+
export const defaultPaddingTop = 61;
|
|
3
|
+
export const paddingCountThreshold = 8;
|
|
4
|
+
export const visibleItems = 10;
|
|
9
5
|
export const scrollStep = 75;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
@import '@24i/bigscreen-sdk/sass-utils/ellipsis';
|
|
2
|
+
|
|
1
3
|
@mixin mask-svg-icon($icon-url) {
|
|
2
4
|
-webkit-mask-image: url($icon-url);
|
|
3
5
|
-webkit-mask-size: $checkmark-size;
|
|
@@ -41,6 +43,11 @@
|
|
|
41
43
|
padding-right: $environment-config-name-padding-right;
|
|
42
44
|
line-height: $environment-config-name-height;
|
|
43
45
|
height: $environment-config-name-height;
|
|
46
|
+
max-width: $environment-config-name-width;
|
|
47
|
+
text-align: left;
|
|
48
|
+
white-space: nowrap;
|
|
49
|
+
overflow: hidden;
|
|
50
|
+
text-overflow: ellipsis;
|
|
44
51
|
}
|
|
45
52
|
}
|
|
46
53
|
|
|
@@ -83,6 +90,7 @@
|
|
|
83
90
|
background-color: #fff;
|
|
84
91
|
height: $checkmark-size;
|
|
85
92
|
width: $checkmark-size;
|
|
93
|
+
visibility: hidden;
|
|
86
94
|
}
|
|
87
95
|
|
|
88
96
|
.leading-ellipses-checkmark {
|
|
@@ -95,10 +103,6 @@
|
|
|
95
103
|
font-size: $label-font-size;
|
|
96
104
|
font-weight: 400;
|
|
97
105
|
color: #8f8f8f;
|
|
98
|
-
|
|
99
|
-
&.active {
|
|
100
|
-
color: #fff;
|
|
101
|
-
}
|
|
102
106
|
}
|
|
103
107
|
|
|
104
108
|
&:focus {
|
|
@@ -108,10 +112,30 @@
|
|
|
108
112
|
color: #fff;
|
|
109
113
|
}
|
|
110
114
|
}
|
|
115
|
+
|
|
116
|
+
&.active {
|
|
117
|
+
.checkmark {
|
|
118
|
+
visibility: visible;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.label {
|
|
122
|
+
color: #fff;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&.display-none {
|
|
127
|
+
visibility: hidden;
|
|
128
|
+
}
|
|
111
129
|
}
|
|
112
130
|
|
|
113
131
|
.leading-ellipses-list-item {
|
|
114
132
|
height: auto;
|
|
115
133
|
}
|
|
134
|
+
|
|
135
|
+
.normal-ellipses-list-item {
|
|
136
|
+
.label {
|
|
137
|
+
@include ellipsis;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
116
140
|
}
|
|
117
141
|
}
|
|
@@ -9,12 +9,13 @@ $environment-config-name-font-size: 22px;
|
|
|
9
9
|
$environment-config-name-padding-left: 12px;
|
|
10
10
|
$environment-config-name-padding-right: 7px;
|
|
11
11
|
$environment-config-name-height: 33px;
|
|
12
|
+
$environment-config-name-width: 400px;
|
|
12
13
|
|
|
13
14
|
$environment-list-width: 479px;
|
|
14
15
|
|
|
15
16
|
$environment-list-item-border-radius: 40px;
|
|
16
17
|
$environment-list-item-padding: 16px 34px;
|
|
17
|
-
$environment-list-item-margin: 16px 71px;
|
|
18
|
+
$environment-list-item-margin: 16px 0 16px 71px;
|
|
18
19
|
$environment-list-item-line-height: 48px;
|
|
19
20
|
$environment-list-item-height: 80px;
|
|
20
21
|
|
|
@@ -9,14 +9,15 @@ $environment-config-name-font-size: 15px;
|
|
|
9
9
|
$environment-config-name-padding-left: 8px;
|
|
10
10
|
$environment-config-name-padding-right: 5px;
|
|
11
11
|
$environment-config-name-height: 22px;
|
|
12
|
+
$environment-config-name-width: 200px;
|
|
12
13
|
|
|
13
14
|
$environment-list-width: 319px;
|
|
14
15
|
|
|
15
16
|
$environment-list-item-border-radius: 27px;
|
|
16
17
|
$environment-list-item-padding: 11px 23px;
|
|
17
|
-
$environment-list-item-margin: 11px 47px;
|
|
18
|
+
$environment-list-item-margin: 11px 0 11px 47px;
|
|
18
19
|
$environment-list-item-line-height: 32px;
|
|
19
|
-
$environment-list-item-height:
|
|
20
|
+
$environment-list-item-height: 54px;
|
|
20
21
|
|
|
21
22
|
$checkmark-top: 13px;
|
|
22
23
|
$checkmark-left: -48px;
|
|
@@ -19,7 +19,7 @@ export const loadObject = <T extends HTMLObjectElement>(
|
|
|
19
19
|
object.type = type;
|
|
20
20
|
forEach(Object.entries(attributes), ([name, value]) => {
|
|
21
21
|
if (name === 'style') {
|
|
22
|
-
object.style.cssText = value;
|
|
22
|
+
object.style.cssText = value as string;
|
|
23
23
|
} else {
|
|
24
24
|
// @ts-ignore - skipping readonly check
|
|
25
25
|
object[name] = value;
|
|
@@ -9,7 +9,6 @@ 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',
|
|
13
12
|
};
|
|
14
13
|
|
|
15
14
|
export interface ILayout {
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
import { LEFT, RIGHT } from '@24i/bigscreen-sdk/device/keymap';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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
|
-
};
|
|
2
|
+
import { getLayoutBase, ILayout } from './Base';
|
|
3
|
+
import { isRtl } from './isRtl';
|
|
14
4
|
|
|
15
5
|
const onKeyDown = (e: KeyboardEvent, layout: ILayout) => {
|
|
16
|
-
if (!
|
|
6
|
+
if (!isRtl(layout.props.dir)) {
|
|
17
7
|
if (LEFT.is(e)) layout.backward(e);
|
|
18
8
|
if (RIGHT.is(e)) layout.forward(e);
|
|
19
9
|
} else {
|