@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.
Files changed (142) hide show
  1. package/package.json +5 -5
  2. package/packages/animations/README.md +13 -2
  3. package/packages/animations/src/AnimationUtils.ts +12 -6
  4. package/packages/animations/src/JSAnimations.ts +7 -5
  5. package/packages/create-package/dist/createPackage.js +66 -0
  6. package/packages/create-package/dist/createPackage.js.map +1 -0
  7. package/packages/create-package/dist/index.js +5 -0
  8. package/packages/create-package/dist/index.js.map +1 -0
  9. package/packages/create-package/dist/questionnaire/questions.js +35 -0
  10. package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
  11. package/packages/create-package/dist/settings/Settings.js +10 -0
  12. package/packages/create-package/dist/settings/Settings.js.map +1 -0
  13. package/packages/create-package/dist/types.js +3 -0
  14. package/packages/create-package/dist/types.js.map +1 -0
  15. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentList.tsx +7 -12
  16. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentListItem.tsx +28 -15
  17. package/packages/developer-tools/src/EnvironmentSelection/sizes.1080.ts +3 -7
  18. package/packages/developer-tools/src/EnvironmentSelection/sizes.ts +3 -7
  19. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.scss +28 -4
  20. package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.1080.scss +2 -1
  21. package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.scss +3 -2
  22. package/packages/driver-base/src/loadObject.ts +1 -1
  23. package/packages/focus/src/Layout/Base.tsx +0 -1
  24. package/packages/focus/src/Layout/Horizontal.ts +3 -13
  25. package/packages/focus/src/Layout/Matrix.tsx +24 -3
  26. package/packages/focus/src/Layout/__test__/isRtl.spec.ts +23 -0
  27. package/packages/focus/src/Layout/isRtl.ts +12 -0
  28. package/packages/focus/src/Layout/types.ts +1 -0
  29. package/packages/jsx/src/forwardRef.ts +2 -2
  30. package/packages/keyboard/src/AndroidKeyboard/Keyboard.tsx +7 -0
  31. package/packages/keyboard/src/DefaultKeyboard/Keyboard.tsx +1 -0
  32. package/packages/keyboard/src/KeyboardBase.tsx +1 -0
  33. package/packages/keyboard/src/MobiKeyboard/Keyboard.tsx +11 -0
  34. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +9 -0
  35. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.tsx +3 -0
  36. package/packages/mouse-navigation/src/ArrowNavigation/index.tsx +1 -1
  37. package/packages/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
  38. package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
  39. package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
  40. package/packages/rnv-build-engine/dist/src/engine.js +94 -0
  41. package/packages/rnv-build-engine/dist/src/index.js +26 -0
  42. package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
  43. package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
  44. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
  45. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
  46. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
  47. package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
  48. package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
  49. package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
  50. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
  51. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
  52. package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
  53. package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
  54. package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
  55. package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
  56. package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
  57. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
  58. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
  59. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
  60. package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
  61. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
  62. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
  63. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
  64. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
  65. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
  66. package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
  67. package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
  68. package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
  69. package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
  70. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +65 -0
  71. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +85 -0
  72. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
  73. package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
  74. package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
  75. package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
  76. package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
  77. package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
  78. package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
  79. package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
  80. package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
  81. package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
  82. package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
  83. package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
  84. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
  85. package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +168 -0
  86. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
  87. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
  88. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
  89. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +37 -0
  90. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
  91. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +76 -0
  92. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
  93. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
  94. package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
  95. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
  96. package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +80 -0
  97. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
  98. package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +6 -0
  99. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
  100. package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +221 -0
  101. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
  102. package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
  103. package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
  104. package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +24 -0
  105. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +91 -0
  106. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +42 -0
  107. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +30 -0
  108. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
  109. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +70 -0
  110. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +18 -0
  111. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.platform.configure.js +37 -0
  112. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
  113. package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +73 -0
  114. package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
  115. package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
  116. package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
  117. package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
  118. package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
  119. package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
  120. package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +65 -0
  121. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
  122. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
  123. package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
  124. package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
  125. package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +87 -0
  126. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
  127. package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
  128. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +234 -0
  129. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.dev.js +6 -0
  130. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.prod.js +6 -0
  131. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.extend.js +8 -0
  132. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackConfigAdapter.js +100 -0
  133. package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackPlatformProps.js +8 -0
  134. package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpackPlatformProps.js +24 -0
  135. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.project +24 -0
  136. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
  137. package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -0
  138. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/.project +35 -0
  139. package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -0
  140. package/packages/rnv-build-engine/dist/templates/platforms/webos/webpackPlatformProps.js +8 -0
  141. package/packages/types-bigscreen-jsx/index.d.ts +1 -1
  142. package/packages/utils/src/textUtils.ts +4 -4
@@ -1,8 +1,10 @@
1
1
  import { Component, Reference, createRef, DeclareProps } from '@24i/bigscreen-sdk/jsx';
2
2
  import { device } from '@24i/bigscreen-sdk/device';
3
+ import { LEFT, RIGHT } from '@24i/bigscreen-sdk/device/keymap';
3
4
  import { noop } from '@24i/bigscreen-sdk/utils/noop';
4
5
  import { stopEvent } from '@24i/bigscreen-sdk/utils/stopEvent';
5
6
  import { IFocusable } from '../IFocusable';
7
+ import { isRtl } from './isRtl';
6
8
  import { Errors, hasValidDomRef } from './constants';
7
9
  import { SharedProps } from './types';
8
10
 
@@ -34,7 +36,8 @@ export class Matrix extends Component<Props> implements IFocusable {
34
36
  onFocusChanged: noop,
35
37
  onBeforeFocusChange: noop,
36
38
  circular: CircularDirection.NONE,
37
- };
39
+ dir: 'auto',
40
+ } as const;
38
41
 
39
42
  declare props: DeclareProps<Props, typeof Matrix.defaultProps>;
40
43
 
@@ -56,9 +59,9 @@ export class Matrix extends Component<Props> implements IFocusable {
56
59
 
57
60
  onKeyDown = (e: KeyboardEvent) => {
58
61
  let newIndex: Index2D | null = null;
59
- if (device.isDirectionLeft(e)) {
62
+ if (this.isDirectionLeft(e)) {
60
63
  newIndex = this.moveHorizontaly('left');
61
- } else if (device.isDirectionRight(e)) {
64
+ } else if (this.isDirectionRight(e)) {
62
65
  newIndex = this.moveHorizontaly('right');
63
66
  } else if (device.isDirectionUp(e)) {
64
67
  newIndex = this.moveVerticaly('up');
@@ -109,6 +112,24 @@ export class Matrix extends Component<Props> implements IFocusable {
109
112
  return false;
110
113
  }
111
114
 
115
+ isDirectionLeft(event: KeyboardEvent) {
116
+ const { dir } = this.props;
117
+ const rtl = isRtl(dir);
118
+ return (
119
+ (!rtl && LEFT.is(event))
120
+ || (rtl && RIGHT.is(event))
121
+ );
122
+ }
123
+
124
+ isDirectionRight(event: KeyboardEvent) {
125
+ const { dir } = this.props;
126
+ const rtl = isRtl(dir);
127
+ return (
128
+ (!rtl && RIGHT.is(event))
129
+ || (rtl && LEFT.is(event))
130
+ );
131
+ }
132
+
112
133
  moveForwards = (isCircular: boolean) => (x: number, length: number) => {
113
134
  if (x === length - 1) {
114
135
  return isCircular ? 0 : length - 1;
@@ -0,0 +1,23 @@
1
+ import * as i18n from '@24i/bigscreen-sdk/i18n';
2
+ import { isRtl } from '../isRtl';
3
+ import { SharedProps } from '../types';
4
+
5
+ describe('isRtl', () => {
6
+ const mockIsRtl = jest.spyOn(i18n, 'isRtl');
7
+
8
+ it.each([
9
+ { focusDir: 'ltr', langDir: 'ltr', expectedIsRtl: false },
10
+ { focusDir: 'rtl', langDir: 'ltr', expectedIsRtl: true },
11
+ { focusDir: 'auto', langDir: 'ltr', expectedIsRtl: false },
12
+ { focusDir: undefined, langDir: 'ltr', expectedIsRtl: false },
13
+ { focusDir: 'ltr', langDir: 'rtl', expectedIsRtl: false },
14
+ { focusDir: 'rtl', langDir: 'rtl', expectedIsRtl: true },
15
+ { focusDir: 'auto', langDir: 'rtl', expectedIsRtl: true },
16
+ { focusDir: undefined, langDir: 'rtl', expectedIsRtl: true },
17
+ ])('should for $focusDir focus and $langDir language return $expectedIsRtl', ({
18
+ focusDir, langDir, expectedIsRtl,
19
+ }) => {
20
+ mockIsRtl.mockReturnValue(langDir === 'rtl');
21
+ expect(isRtl(focusDir as SharedProps['dir'])).toBe(expectedIsRtl);
22
+ });
23
+ });
@@ -0,0 +1,12 @@
1
+ import { isRtl as isLangRtl } from '@24i/bigscreen-sdk/i18n';
2
+ import { SharedProps } from './types';
3
+
4
+ export const isRtl = (dir: SharedProps['dir']) => {
5
+ switch (dir) {
6
+ case 'rtl': return true;
7
+ case 'ltr': return false;
8
+ case 'auto':
9
+ default:
10
+ return isLangRtl();
11
+ }
12
+ };
@@ -3,4 +3,5 @@ import { Reference, Children } from '@24i/bigscreen-sdk/jsx';
3
3
  export type SharedProps = {
4
4
  domRef: Reference<HTMLElement>,
5
5
  children?: Children,
6
+ dir?: 'auto' | 'ltr' | 'rtl',
6
7
  };
@@ -1,6 +1,6 @@
1
- import { ForwardedRefComponent, FunctionComponentWithRef } from './types';
1
+ import { ForwardedRefComponent, FunctionComponentWithRef, Props } from './types';
2
2
 
3
- export const forwardRef = <T>(
3
+ export const forwardRef = <T extends Props>(
4
4
  reffedComponent: FunctionComponentWithRef<T>,
5
5
  ): ForwardedRefComponent<T> => {
6
6
  (reffedComponent as ForwardedRefComponent<T>).isForwardedRef = true;
@@ -71,6 +71,7 @@ export class Keyboard extends QwertyKeyboardBase {
71
71
  ref={this.matrix}
72
72
  domRef={this.keyboardWrapper}
73
73
  matrix={this.focusMatrices.normal}
74
+ dir="ltr"
74
75
  >
75
76
  <div className={`${KEYBOARD_ROW} row-numbers`}>
76
77
  {map(NORMAL[0], this.generateKey)}
@@ -96,6 +97,7 @@ export class Keyboard extends QwertyKeyboardBase {
96
97
  ref={this.keyRefs.special}
97
98
  className="key key-special"
98
99
  onPress={this.onSpecial}
100
+ dir="auto"
99
101
  >
100
102
  {texts.toSpecialLayout}
101
103
  </Interactable>
@@ -103,6 +105,7 @@ export class Keyboard extends QwertyKeyboardBase {
103
105
  ref={this.keyRefs.shift}
104
106
  className="key key-shift"
105
107
  onPress={() => this.onShift()}
108
+ dir="auto"
106
109
  >
107
110
  {texts.shift}
108
111
  </Interactable>
@@ -131,6 +134,7 @@ export class Keyboard extends QwertyKeyboardBase {
131
134
  ref={this.keyRefs.done}
132
135
  className="key key-done"
133
136
  onPress={() => this.onDone()}
137
+ dir="auto"
134
138
  >
135
139
  {texts.done}
136
140
  </Interactable>
@@ -158,6 +162,7 @@ export class Keyboard extends QwertyKeyboardBase {
158
162
  ref={this.matrix}
159
163
  domRef={this.keyboardWrapper}
160
164
  matrix={this.focusMatrices.special}
165
+ dir="ltr"
161
166
  >
162
167
  <div className={`${KEYBOARD_ROW} row-numbers`}>
163
168
  {map(SPECIAL[0], this.generateKey)}
@@ -186,6 +191,7 @@ export class Keyboard extends QwertyKeyboardBase {
186
191
  ref={this.keyRefs.special}
187
192
  className="key key-special"
188
193
  onPress={this.onQWERTY}
194
+ dir="auto"
189
195
  >
190
196
  {texts.toNormalLayout}
191
197
  </Interactable>
@@ -215,6 +221,7 @@ export class Keyboard extends QwertyKeyboardBase {
215
221
  ref={this.keyRefs.done}
216
222
  className="key key-done"
217
223
  onPress={() => this.onDone()}
224
+ dir="auto"
218
225
  >
219
226
  {texts.done}
220
227
  </Interactable>
@@ -69,6 +69,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
69
69
  ref={this.matrix}
70
70
  domRef={this.keyboardWrapper}
71
71
  matrix={this.focusMatrices.normal}
72
+ dir="ltr"
72
73
  >
73
74
  <div className={`${KEYBOARD_ROW} row-numbers`}>
74
75
  {map(NUMBERS, this.generateKey)}
@@ -319,6 +319,7 @@ export abstract class KeyboardBase<
319
319
  }
320
320
  tabIndex={0}
321
321
  onKeyDown={(event) => this.onKeyDown(event)}
322
+ dir="ltr"
322
323
  />
323
324
  );
324
325
  }
@@ -80,12 +80,14 @@ export class Keyboard extends QwertyKeyboardBase {
80
80
  ref={this.matrix}
81
81
  domRef={this.keyboardWrapper}
82
82
  matrix={this.focusMatrices.normal}
83
+ dir="ltr"
83
84
  >
84
85
  <div className={`${KEYBOARD_ROW} row-numbers`}>
85
86
  <Interactable
86
87
  ref={this.keyRefs.special}
87
88
  className="key key-special"
88
89
  onPress={this.onSpecial}
90
+ dir="auto"
89
91
  >
90
92
  {texts.toSpecialLayout}
91
93
  </Interactable>
@@ -101,6 +103,7 @@ export class Keyboard extends QwertyKeyboardBase {
101
103
  ref={this.keyRefs.clear}
102
104
  className="key key-clear"
103
105
  onPress={() => this.onClear()}
106
+ dir="auto"
104
107
  >
105
108
  {texts.clear}
106
109
  </Interactable>
@@ -115,6 +118,7 @@ export class Keyboard extends QwertyKeyboardBase {
115
118
  ref={this.keyRefs.done}
116
119
  className="key key-done"
117
120
  onPress={() => this.onDone()}
121
+ dir="auto"
118
122
  >
119
123
  {texts.done}
120
124
  </Interactable>
@@ -142,6 +146,7 @@ export class Keyboard extends QwertyKeyboardBase {
142
146
  ref={this.keyRefs.shift}
143
147
  className="key key-shift"
144
148
  onPress={() => this.onShift()}
149
+ dir="auto"
145
150
  >
146
151
  {texts.shift}
147
152
  </Interactable>
@@ -156,6 +161,7 @@ export class Keyboard extends QwertyKeyboardBase {
156
161
  ref={this.keyRefs.cancel}
157
162
  className="key key-cancel"
158
163
  onPress={() => this.onCancel()}
164
+ dir="auto"
159
165
  >
160
166
  {texts.cancel}
161
167
  </Interactable>
@@ -183,12 +189,14 @@ export class Keyboard extends QwertyKeyboardBase {
183
189
  ref={this.matrix}
184
190
  domRef={this.keyboardWrapper}
185
191
  matrix={this.focusMatrices.special}
192
+ dir="ltr"
186
193
  >
187
194
  <div className={`${KEYBOARD_ROW} row-numbers`}>
188
195
  <Interactable
189
196
  ref={this.keyRefs.special}
190
197
  className="key key-special"
191
198
  onPress={this.onQWERTY}
199
+ dir="auto"
192
200
  >
193
201
  {texts.toNormalLayout}
194
202
  </Interactable>
@@ -204,6 +212,7 @@ export class Keyboard extends QwertyKeyboardBase {
204
212
  ref={this.keyRefs.clear}
205
213
  className="key key-clear"
206
214
  onPress={() => this.onClear()}
215
+ dir="auto"
207
216
  >
208
217
  {texts.clear}
209
218
  </Interactable>
@@ -218,6 +227,7 @@ export class Keyboard extends QwertyKeyboardBase {
218
227
  ref={this.keyRefs.done}
219
228
  className="key key-done"
220
229
  onPress={() => this.onDone()}
230
+ dir="auto"
221
231
  >
222
232
  {texts.done}
223
233
  </Interactable>
@@ -254,6 +264,7 @@ export class Keyboard extends QwertyKeyboardBase {
254
264
  ref={this.keyRefs.cancel}
255
265
  className="key key-cancel"
256
266
  onPress={() => this.onCancel()}
267
+ dir="auto"
257
268
  >
258
269
  {texts.cancel}
259
270
  </Interactable>
@@ -113,6 +113,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
113
113
  domRef={this.keyboardWrapper}
114
114
  matrix={this.focusMatrices.normal}
115
115
  circular={circular}
116
+ dir="ltr"
116
117
  >
117
118
  {this.renderKeyboard([
118
119
  <>
@@ -148,6 +149,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
148
149
  onPress={() => {
149
150
  this.onKey(' ');
150
151
  }}
152
+ dir="auto"
151
153
  >
152
154
  <div className="key-background">
153
155
  {texts.space}
@@ -161,6 +163,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
161
163
  this.keyRefs.domain.current!.firstChild!.textContent!,
162
164
  );
163
165
  }}
166
+ dir="auto"
164
167
  >
165
168
  <div className="key-background">
166
169
  {texts.domain}
@@ -183,6 +186,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
183
186
  domRef={this.keyboardWrapper}
184
187
  matrix={this.focusMatrices.special}
185
188
  circular={circular}
189
+ dir="ltr"
186
190
  >
187
191
  {this.renderKeyboard([
188
192
  <>
@@ -213,6 +217,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
213
217
  onPress={() => {
214
218
  this.onKey(' ');
215
219
  }}
220
+ dir="auto"
216
221
  >
217
222
  <div className="key-background">
218
223
  {texts.space}
@@ -254,6 +259,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
254
259
  `key key-wide key-abc ${isNormalLayout ? 'active' : ''}`
255
260
  }
256
261
  onPress={this.onAbc}
262
+ dir="auto"
257
263
  >
258
264
  <div className="key-background">
259
265
  {texts.toNormalLayout}
@@ -269,6 +275,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
269
275
  }`
270
276
  }
271
277
  onPress={this.onSpecial}
278
+ dir="auto"
272
279
  >
273
280
  <div className="key-background">
274
281
  {texts.toSpecialLayout}
@@ -305,6 +312,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
305
312
  ref={this.keyRefs.clear}
306
313
  className="key key-wide key-clear"
307
314
  onPress={() => this.onClear()}
315
+ dir="auto"
308
316
  >
309
317
  <div className="key-background">
310
318
  {texts.clear}
@@ -343,6 +351,7 @@ export class Keyboard extends KeyboardBase<Layouts, Props> {
343
351
  ref={this.keyRefs.continue}
344
352
  className="key key-wide key-continue"
345
353
  onPress={() => this.onDone()}
354
+ dir="auto"
346
355
  >
347
356
  <div className="key-background">
348
357
  {texts.continue}
@@ -76,6 +76,7 @@ export class NumericKeyboard extends KeyboardBase<Layouts, Props> {
76
76
  domRef={this.keyboardWrapper}
77
77
  matrix={this.focusMatrices.normal}
78
78
  circular={circular}
79
+ dir="ltr"
79
80
  >
80
81
  <div className="numeric-keyboard-wrapper">
81
82
  <div className="keys-container key-layout">
@@ -117,6 +118,7 @@ export class NumericKeyboard extends KeyboardBase<Layouts, Props> {
117
118
  ref={this.keyRefs.clear}
118
119
  className="key key-wide key-clear"
119
120
  onPress={() => this.onClear()}
121
+ dir="auto"
120
122
  >
121
123
  {texts.clear}
122
124
  </Interactable>
@@ -134,6 +136,7 @@ export class NumericKeyboard extends KeyboardBase<Layouts, Props> {
134
136
  ref={this.keyRefs.continue}
135
137
  className="key key-wide key-continue"
136
138
  onPress={() => this.onDone()}
139
+ dir="auto"
137
140
  >
138
141
  <div className="key-background">
139
142
  {texts.continue}
@@ -1 +1 @@
1
- export { ArrowNavigation } from './ArrowNavigation';
1
+ export { ArrowNavigation, ArrowType } from './ArrowNavigation';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuildSchemes = void 0;
4
+ const BuildSchemes = {
5
+ DEBUG: 'debug',
6
+ DEV: 'dev',
7
+ DEV_LATEST: 'dev:latest',
8
+ RC: 'rc',
9
+ RC_LATEST: 'rc:latest',
10
+ RELEASE: 'release',
11
+ RELEASE_LATEST: 'release:latest',
12
+ RELEASE_DIST: 'release:dist',
13
+ };
14
+ exports.BuildSchemes = BuildSchemes;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Platforms = exports.BuildSchemes = void 0;
4
+ var buildSchemes_1 = require("./buildSchemes");
5
+ Object.defineProperty(exports, "BuildSchemes", { enumerable: true, get: function () { return buildSchemes_1.BuildSchemes; } });
6
+ var platforms_1 = require("./platforms");
7
+ Object.defineProperty(exports, "Platforms", { enumerable: true, get: function () { return platforms_1.Platforms; } });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Platforms = void 0;
4
+ const Platforms = {
5
+ ENTONE: 'entone',
6
+ HBBTV: 'hbbtv',
7
+ KREATV: 'kreatv',
8
+ SAPHI: 'saphi',
9
+ TIZEN: 'tizen',
10
+ WEBOS: 'webos',
11
+ WEBTV: 'webtv',
12
+ XBOX: 'xbox',
13
+ };
14
+ exports.Platforms = Platforms;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Resolvers = exports.Constants = void 0;
23
+ const rnv_1 = require("rnv");
24
+ const Constants = __importStar(require("./constants"));
25
+ exports.Constants = Constants;
26
+ const Resolvers = __importStar(require("./resolvers"));
27
+ exports.Resolvers = Resolvers;
28
+ const CNF = __importStar(require("../../renative.engine.json"));
29
+ const constants_1 = require("./constants");
30
+ const engineTasks_1 = require("./tasks/engineTasks");
31
+ const generateEngineExtensions = (platformExtensions) => {
32
+ const fileExtensions = ['js', 'jsx', 'ts', 'tsx', 'json'];
33
+ const output = [];
34
+ fileExtensions.forEach((fileExtension) => {
35
+ platformExtensions.forEach((platformExtension) => {
36
+ output.push(`${platformExtension}.${fileExtension}`);
37
+ });
38
+ output.push(fileExtension);
39
+ });
40
+ return output;
41
+ };
42
+ exports.default = {
43
+ initializeRuntimeConfig: (c) => {
44
+ rnv_1.FileUtils.configureFilesystem(rnv_1.Common.getConfigProp, rnv_1.Resolver.doResolve, rnv_1.Utils.isSystemWin);
45
+ return rnv_1.Config.initializeConfig(c);
46
+ },
47
+ tasks: rnv_1.EngineManager.generateEngineTasks(engineTasks_1.engineTaskList),
48
+ config: CNF,
49
+ projectDirName: 'project',
50
+ serverDirName: 'server',
51
+ ejectPlatform: null,
52
+ platforms: {
53
+ [constants_1.Platforms.ENTONE]: {
54
+ extensions: generateEngineExtensions(['entone']),
55
+ defaultPort: 8094,
56
+ isWebHosted: true,
57
+ },
58
+ [constants_1.Platforms.HBBTV]: {
59
+ extensions: generateEngineExtensions(['hbbtv.tv']),
60
+ defaultPort: 8095,
61
+ isWebHosted: true,
62
+ },
63
+ [constants_1.Platforms.KREATV]: {
64
+ extensions: generateEngineExtensions(['kreatv']),
65
+ defaultPort: 8096,
66
+ isWebHosted: true,
67
+ },
68
+ [constants_1.Platforms.SAPHI]: {
69
+ extensions: generateEngineExtensions(['saphi.tv']),
70
+ defaultPort: 8097,
71
+ isWebHosted: true,
72
+ },
73
+ [constants_1.Platforms.TIZEN]: {
74
+ extensions: generateEngineExtensions(['tizen.tv']),
75
+ defaultPort: 8087,
76
+ isWebHosted: true,
77
+ },
78
+ [constants_1.Platforms.WEBOS]: {
79
+ extensions: generateEngineExtensions(['webos.tv']),
80
+ defaultPort: 8088,
81
+ isWebHosted: true,
82
+ },
83
+ [constants_1.Platforms.WEBTV]: {
84
+ extensions: generateEngineExtensions(['webtv']),
85
+ defaultPort: 8080,
86
+ isWebHosted: true,
87
+ },
88
+ [constants_1.Platforms.XBOX]: {
89
+ extensions: generateEngineExtensions(['xbox']),
90
+ defaultPort: 8098,
91
+ isWebHosted: true,
92
+ },
93
+ },
94
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Resolvers = exports.Constants = void 0;
23
+ const engine_1 = __importStar(require("./engine"));
24
+ Object.defineProperty(exports, "Constants", { enumerable: true, get: function () { return engine_1.Constants; } });
25
+ Object.defineProperty(exports, "Resolvers", { enumerable: true, get: function () { return engine_1.Resolvers; } });
26
+ exports.default = engine_1.default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveZippedPlatformBuildsRelativeFilePath = exports.resolveBuildFileExtension = exports.resolveUsedFlavours = exports.resolveSupportedPlatforms = exports.getBaseConfig = exports.resolveBuildFileName = exports.resolveHbbtvDeployConfig = exports.resolveHbbtvDeployUrl = exports.resolveHbbtvRemoteBuildDirRelativePath = exports.resolveDeployLocations = exports.resolveBuildVersionOffset = exports.resolveBuildVersion = exports.resolveBaseUrl = void 0;
4
+ var resolveBaseUrl_1 = require("./resolveBaseUrl");
5
+ Object.defineProperty(exports, "resolveBaseUrl", { enumerable: true, get: function () { return resolveBaseUrl_1.resolveBaseUrl; } });
6
+ var resolveBuildVersion_1 = require("./resolveBuildVersion");
7
+ Object.defineProperty(exports, "resolveBuildVersion", { enumerable: true, get: function () { return resolveBuildVersion_1.resolveBuildVersion; } });
8
+ var resolveBuildVersionOffset_1 = require("./resolveBuildVersionOffset");
9
+ Object.defineProperty(exports, "resolveBuildVersionOffset", { enumerable: true, get: function () { return resolveBuildVersionOffset_1.resolveBuildVersionOffset; } });
10
+ var resolveDeployLocations_1 = require("./resolveDeployLocations");
11
+ Object.defineProperty(exports, "resolveDeployLocations", { enumerable: true, get: function () { return resolveDeployLocations_1.resolveDeployLocations; } });
12
+ var resolveHbbtvRemoteBuildDirRelativePath_1 = require("./resolveHbbtvRemoteBuildDirRelativePath");
13
+ Object.defineProperty(exports, "resolveHbbtvRemoteBuildDirRelativePath", { enumerable: true, get: function () { return resolveHbbtvRemoteBuildDirRelativePath_1.resolveHbbtvRemoteBuildDirRelativePath; } });
14
+ var resolveHbbtvDeployUrl_1 = require("./resolveHbbtvDeployUrl");
15
+ Object.defineProperty(exports, "resolveHbbtvDeployUrl", { enumerable: true, get: function () { return resolveHbbtvDeployUrl_1.resolveHbbtvDeployUrl; } });
16
+ var resolveHbbtvDeployConfig_1 = require("./resolveHbbtvDeployConfig");
17
+ Object.defineProperty(exports, "resolveHbbtvDeployConfig", { enumerable: true, get: function () { return resolveHbbtvDeployConfig_1.resolveHbbtvDeployConfig; } });
18
+ var resolveBuildFileName_1 = require("./resolveBuildFileName");
19
+ Object.defineProperty(exports, "resolveBuildFileName", { enumerable: true, get: function () { return resolveBuildFileName_1.resolveBuildFileName; } });
20
+ var resolveGenericRnvConfig_1 = require("./resolveGenericRnvConfig");
21
+ Object.defineProperty(exports, "getBaseConfig", { enumerable: true, get: function () { return resolveGenericRnvConfig_1.getBaseConfig; } });
22
+ var resolveSupportedPlatforms_1 = require("./resolveSupportedPlatforms");
23
+ Object.defineProperty(exports, "resolveSupportedPlatforms", { enumerable: true, get: function () { return resolveSupportedPlatforms_1.resolveSupportedPlatforms; } });
24
+ var resolveUsedFlavours_1 = require("./resolveUsedFlavours");
25
+ Object.defineProperty(exports, "resolveUsedFlavours", { enumerable: true, get: function () { return resolveUsedFlavours_1.resolveUsedFlavours; } });
26
+ var resolveBuildFileExtension_1 = require("./resolveBuildFileExtension");
27
+ Object.defineProperty(exports, "resolveBuildFileExtension", { enumerable: true, get: function () { return resolveBuildFileExtension_1.resolveBuildFileExtension; } });
28
+ var resolveZippedPlatformBuildsRelativeFilePath_1 = require("./resolveZippedPlatformBuildsRelativeFilePath");
29
+ Object.defineProperty(exports, "resolveZippedPlatformBuildsRelativeFilePath", { enumerable: true, get: function () { return resolveZippedPlatformBuildsRelativeFilePath_1.resolveZippedPlatformBuildsRelativeFilePath; } });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveBaseUrl = void 0;
4
+ const resolveGenericRnvConfig_1 = require("./resolveGenericRnvConfig");
5
+ const constants_1 = require("../constants");
6
+ const resolveBaseUrl = ({ platform, scheme, flavour }) => {
7
+ const c = (0, resolveGenericRnvConfig_1.getBaseConfig)();
8
+ c.platform = platform;
9
+ c.runtime.scheme = scheme;
10
+ c.runtime.appId = flavour;
11
+ const { packageVersion, deploy } = c.buildConfig?.common;
12
+ const bucketName = deploy?.aws3?.bucketName || '';
13
+ if (!packageVersion || !bucketName) {
14
+ return '';
15
+ }
16
+ const bucketUrl = `http://${bucketName}.s3.amazonaws.com`;
17
+ const appFolderUrl = `${bucketUrl}/builds/${platform}/${flavour}`;
18
+ switch (scheme) {
19
+ case constants_1.BuildSchemes.DEV_LATEST:
20
+ return `${appFolderUrl}/latest/dev`;
21
+ case constants_1.BuildSchemes.RC_LATEST:
22
+ return `${appFolderUrl}/latest/rc`;
23
+ case constants_1.BuildSchemes.RELEASE_LATEST:
24
+ return `${appFolderUrl}/latest/release`;
25
+ case constants_1.BuildSchemes.RELEASE_DIST:
26
+ return `${appFolderUrl}/dist/v${packageVersion}`;
27
+ default:
28
+ return '';
29
+ }
30
+ };
31
+ exports.resolveBaseUrl = resolveBaseUrl;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveBuildFileExtension = void 0;
4
+ const constants_1 = require("../constants");
5
+ const resolveBuildFileExtension = (platform) => {
6
+ switch (platform) {
7
+ case constants_1.Platforms.TIZEN: return 'wgt';
8
+ case constants_1.Platforms.WEBOS: return 'ipk';
9
+ default: return 'zip';
10
+ }
11
+ };
12
+ exports.resolveBuildFileExtension = resolveBuildFileExtension;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveBuildFileName = void 0;
4
+ const resolveBuildVersion_1 = require("./resolveBuildVersion");
5
+ const constants_1 = require("../constants");
6
+ const resolveBuildFileExtension_1 = require("./resolveBuildFileExtension");
7
+ const getBuildVersionForFileName = (c) => {
8
+ const { platform, runtime } = c;
9
+ const { scheme, appId } = runtime;
10
+ switch (c.runtime.scheme) {
11
+ case constants_1.BuildSchemes.DEV_LATEST:
12
+ return 'latest.dev';
13
+ case constants_1.BuildSchemes.RC_LATEST:
14
+ return 'latest.rc';
15
+ case constants_1.BuildSchemes.RELEASE_LATEST:
16
+ return 'latest.release';
17
+ default:
18
+ return (0, resolveBuildVersion_1.resolveBuildVersion)({
19
+ platform,
20
+ scheme,
21
+ flavour: appId,
22
+ });
23
+ }
24
+ };
25
+ const resolveBuildFileName = (c) => {
26
+ const platformName = c.platform;
27
+ const { appNameInFileName } = c.buildConfig.common;
28
+ if (!appNameInFileName) {
29
+ throw new Error('Missing value for "c.buildConfig.common.appNameInFileName"!');
30
+ }
31
+ const appConfigId = c.runtime.appId;
32
+ const buildVersion = getBuildVersionForFileName(c);
33
+ const extension = (0, resolveBuildFileExtension_1.resolveBuildFileExtension)(platformName);
34
+ return `${appNameInFileName}_${platformName}_${buildVersion}_${appConfigId}.${extension}`;
35
+ };
36
+ exports.resolveBuildFileName = resolveBuildFileName;