@gamelearn/arcade-components 0.25.19 → 0.25.21
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/dist/components/animation-component/components/AnimationComponent.js +1 -0
- package/dist/components/cartel-component/components/CartelComponent.js +1 -1
- package/dist/components/frame-click-puzzle-component/components/Counter/index.js +1 -1
- package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +43 -43
- package/dist/components/lectures-component/components/LecturesComponent.js +4 -5
- package/dist/components/terminal-puzzle-component/components/Visor/index.js +1 -1
- package/dist/components/test-component/components/Container.js +1 -1
- package/dist/components/web-builder-puzzle-component/components/WebBuilderTopBar/index.js +1 -1
- package/dist/helpers/index.js +10 -6
- package/package.json +2 -2
|
@@ -64,6 +64,7 @@ var AnimationComponent = function AnimationComponent(_ref) {
|
|
|
64
64
|
var currentAction = mixer.clipAction(gltf.animations[0], object);
|
|
65
65
|
var oldAction = mixer.clipAction(defaultAnim, object);
|
|
66
66
|
currentAction.setLoop(_three.LoopRepeat, loopTimes);
|
|
67
|
+
mixer.stopAllAction();
|
|
67
68
|
(0, _helpers.executeCrossFade)(oldAction, currentAction, 0.5);
|
|
68
69
|
|
|
69
70
|
var finishCallback = function finishCallback() {
|
|
@@ -104,7 +104,7 @@ var CartelComponent = function CartelComponent(_ref) {
|
|
|
104
104
|
className: "cartel__textwrap"
|
|
105
105
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
106
106
|
className: "cartel__text"
|
|
107
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, text))) :
|
|
107
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, text))) : null)), /*#__PURE__*/_react.default.createElement("div", {
|
|
108
108
|
className: "position--absolute top right"
|
|
109
109
|
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
110
110
|
type: "button",
|
|
@@ -18,7 +18,7 @@ var Counter = function Counter(_ref) {
|
|
|
18
18
|
emitEvent = _ref.emitEvent;
|
|
19
19
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tooltip ? /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
|
|
20
20
|
emitEvent: emitEvent
|
|
21
|
-
}) :
|
|
21
|
+
}) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
22
22
|
className: "puzzle-frame__info--frames"
|
|
23
23
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
24
24
|
className: "info-circle"
|
|
@@ -130,46 +130,6 @@ var HackerPuzzleComponent = function HackerPuzzleComponent(_ref) {
|
|
|
130
130
|
return end > actual.length ? actual.length : end;
|
|
131
131
|
};
|
|
132
132
|
|
|
133
|
-
var renderProgressBar = function renderProgressBar() {
|
|
134
|
-
var lines = _languages.default[type];
|
|
135
|
-
|
|
136
|
-
if (lines) {
|
|
137
|
-
var totalLength = lines.reduce(function (acc, current) {
|
|
138
|
-
return (acc.length ? acc.length : acc) + current.length;
|
|
139
|
-
});
|
|
140
|
-
var percentage = Math.floor(progress * 100 / totalLength);
|
|
141
|
-
var classProgressLabel = percentage === 100 ? 'puzzle--hacker__percentage percentage--label' : 'puzzle--hacker__percentage';
|
|
142
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
143
|
-
className: "puzzle--hacker__progress"
|
|
144
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
145
|
-
className: "puzzle--hacker__progress--item",
|
|
146
|
-
style: {
|
|
147
|
-
width: "".concat(Math.floor(progress * 100 / totalLength), "%")
|
|
148
|
-
}
|
|
149
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
150
|
-
className: classProgressLabel
|
|
151
|
-
}, percentage, "%")));
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
return null;
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
var renderCode = function renderCode() {
|
|
158
|
-
var text = codeContainer;
|
|
159
|
-
var split = text.split('<br>');
|
|
160
|
-
|
|
161
|
-
if (split.length > 0) {
|
|
162
|
-
return split.map(function (line, ind) {
|
|
163
|
-
var newLine = line.replace(/ /g, "\xA0");
|
|
164
|
-
return /*#__PURE__*/_react.default.createElement("p", {
|
|
165
|
-
key: "line_".concat(ind)
|
|
166
|
-
}, newLine);
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
return /*#__PURE__*/_react.default.createElement("p", null, text);
|
|
171
|
-
};
|
|
172
|
-
|
|
173
133
|
var handleFinish = function handleFinish() {
|
|
174
134
|
playSound('click-ui');
|
|
175
135
|
var rewards = solution.right.rewards;
|
|
@@ -240,6 +200,46 @@ var HackerPuzzleComponent = function HackerPuzzleComponent(_ref) {
|
|
|
240
200
|
writeCode();
|
|
241
201
|
};
|
|
242
202
|
|
|
203
|
+
var ProgressBar = function ProgressBar() {
|
|
204
|
+
var lines = _languages.default[type];
|
|
205
|
+
|
|
206
|
+
if (lines) {
|
|
207
|
+
var totalLength = lines.reduce(function (acc, current) {
|
|
208
|
+
return (acc.length ? acc.length : acc) + current.length;
|
|
209
|
+
});
|
|
210
|
+
var percentage = Math.floor(progress * 100 / totalLength);
|
|
211
|
+
var classProgressLabel = percentage === 100 ? 'puzzle--hacker__percentage percentage--label' : 'puzzle--hacker__percentage';
|
|
212
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
213
|
+
className: "puzzle--hacker__progress"
|
|
214
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
215
|
+
className: "puzzle--hacker__progress--item",
|
|
216
|
+
style: {
|
|
217
|
+
width: "".concat(Math.floor(progress * 100 / totalLength), "%")
|
|
218
|
+
}
|
|
219
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
220
|
+
className: classProgressLabel
|
|
221
|
+
}, percentage, "%")));
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
return null;
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
var Code = function Code() {
|
|
228
|
+
var text = codeContainer;
|
|
229
|
+
var split = text.split('<br>');
|
|
230
|
+
|
|
231
|
+
if (split.length > 0) {
|
|
232
|
+
return split.map(function (line, ind) {
|
|
233
|
+
var newLine = line.replace(/ /g, "\xA0");
|
|
234
|
+
return /*#__PURE__*/_react.default.createElement("p", {
|
|
235
|
+
key: "line_".concat(ind)
|
|
236
|
+
}, newLine);
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return /*#__PURE__*/_react.default.createElement("p", null, text);
|
|
241
|
+
};
|
|
242
|
+
|
|
243
243
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
244
244
|
tabIndex: "0",
|
|
245
245
|
"data-testid": "hacker",
|
|
@@ -256,7 +256,7 @@ var HackerPuzzleComponent = function HackerPuzzleComponent(_ref) {
|
|
|
256
256
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
257
257
|
className: "puzzle--hacker__code",
|
|
258
258
|
ref: code
|
|
259
|
-
},
|
|
259
|
+
}, /*#__PURE__*/_react.default.createElement(Code, null), finished ? /*#__PURE__*/_react.default.createElement(_reactTypist.default, {
|
|
260
260
|
avgTypingDelay: 110,
|
|
261
261
|
onCharacterTyped: function onCharacterTyped() {
|
|
262
262
|
if (code.current) code.current.scrollTop = el.current.scrollHeight;
|
|
@@ -267,13 +267,13 @@ var HackerPuzzleComponent = function HackerPuzzleComponent(_ref) {
|
|
|
267
267
|
className: "puzzle--hacker__result"
|
|
268
268
|
}, /*#__PURE__*/_react.default.createElement(_reactTypist.default.Delay, {
|
|
269
269
|
ms: 300
|
|
270
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, "".concat(hackerPuzzleCompleted)), /*#__PURE__*/_react.default.createElement("br", null), solution.right.desc ? solution.right.desc : ''))
|
|
270
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, "".concat(hackerPuzzleCompleted)), /*#__PURE__*/_react.default.createElement("br", null), solution.right.desc ? solution.right.desc : '') : null), /*#__PURE__*/_react.default.createElement(ProgressBar, null)), finished ? /*#__PURE__*/_react.default.createElement("div", {
|
|
271
271
|
className: "position--absolute bottom center"
|
|
272
272
|
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
273
273
|
type: "button",
|
|
274
274
|
className: "gat--btn gat--btn__primary gat--btn__cracker",
|
|
275
275
|
onClick: handleFinish
|
|
276
|
-
}, translate('screens.continue'))));
|
|
276
|
+
}, translate('screens.continue'))) : null);
|
|
277
277
|
};
|
|
278
278
|
|
|
279
279
|
HackerPuzzleComponent.defaultProps = {
|
|
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _LectureButtons = _interopRequireDefault(require("./LectureButtons"));
|
|
13
13
|
|
|
14
|
+
var _htmlReactParser = _interopRequireDefault(require("html-react-parser"));
|
|
15
|
+
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
17
|
|
|
16
18
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
@@ -122,11 +124,8 @@ var LecturesComponent = function LecturesComponent(_ref) {
|
|
|
122
124
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
123
125
|
className: "readings--title"
|
|
124
126
|
}, name), /*#__PURE__*/_react.default.createElement("div", {
|
|
125
|
-
className: "readings--text"
|
|
126
|
-
|
|
127
|
-
__html: currentLecture
|
|
128
|
-
}
|
|
129
|
-
}), !viewed ? /*#__PURE__*/_react.default.createElement(_LectureButtons.default, {
|
|
127
|
+
className: "readings--text"
|
|
128
|
+
}, currentLecture ? (0, _htmlReactParser.default)(currentLecture) : null), !viewed ? /*#__PURE__*/_react.default.createElement(_LectureButtons.default, {
|
|
130
129
|
goToLecture: goToLecture,
|
|
131
130
|
close: close,
|
|
132
131
|
minutes: minutes,
|
|
@@ -120,7 +120,7 @@ var Visor = function Visor(_ref) {
|
|
|
120
120
|
className: "gat--btn gat--btn__primary green",
|
|
121
121
|
type: "button",
|
|
122
122
|
onClick: resolvePuzzle
|
|
123
|
-
}, translate('screens.continue')) :
|
|
123
|
+
}, translate('screens.continue')) : null)));
|
|
124
124
|
};
|
|
125
125
|
|
|
126
126
|
var _default = Visor;
|
|
@@ -134,7 +134,7 @@ var Container = function Container(_ref) {
|
|
|
134
134
|
className: "test--timer ".concat(time < 10 ? 'test--timer--finalseconds' : '')
|
|
135
135
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
136
136
|
id: "test-time"
|
|
137
|
-
}, minutes < 10 ? "0".concat(minutes) : minutes, " : ", seconds < 10 ? "0".concat(seconds) : seconds)) :
|
|
137
|
+
}, minutes < 10 ? "0".concat(minutes) : minutes, " : ", seconds < 10 ? "0".concat(seconds) : seconds)) : null), /*#__PURE__*/_react.default.createElement(_Questions.default, {
|
|
138
138
|
key: questions[currentQuestionId].id,
|
|
139
139
|
result: result,
|
|
140
140
|
disabled: disabled,
|
|
@@ -27,7 +27,7 @@ var WebBuilderTopBar = function WebBuilderTopBar(_ref) {
|
|
|
27
27
|
|
|
28
28
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
29
29
|
className: "puzzle--webBuilder__topbar"
|
|
30
|
-
}, displayButton ? /*#__PURE__*/_react.default.createElement(CurrentButton, null) :
|
|
30
|
+
}, displayButton ? /*#__PURE__*/_react.default.createElement(CurrentButton, null) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
31
31
|
className: "puzzle--webBuilder__title"
|
|
32
32
|
}, "web builder 3.0"));
|
|
33
33
|
};
|
package/dist/helpers/index.js
CHANGED
|
@@ -87,14 +87,18 @@ var getObjectPosition = function getObjectPosition(object, camera, canvas) {
|
|
|
87
87
|
|
|
88
88
|
exports.getObjectPosition = getObjectPosition;
|
|
89
89
|
|
|
90
|
-
var
|
|
91
|
-
|
|
90
|
+
var setWeight = function setWeight(action, weight) {
|
|
91
|
+
action.enabled = true;
|
|
92
|
+
action.setEffectiveTimeScale(1);
|
|
93
|
+
action.setEffectiveWeight(weight);
|
|
94
|
+
};
|
|
92
95
|
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
var executeCrossFade = function executeCrossFade(startAction, endAction, duration) {
|
|
97
|
+
startAction.play();
|
|
98
|
+
startAction.reset();
|
|
95
99
|
endAction.reset();
|
|
96
|
-
endAction.
|
|
97
|
-
endAction
|
|
100
|
+
endAction.time = 0;
|
|
101
|
+
setWeight(endAction, 1);
|
|
98
102
|
endAction.crossFadeFrom(startAction, duration, true);
|
|
99
103
|
endAction.play();
|
|
100
104
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamelearn/arcade-components",
|
|
3
3
|
"license": "Gamelearn",
|
|
4
|
-
"version": "0.25.
|
|
4
|
+
"version": "0.25.21",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"@testing-library/user-event": "12.1.10",
|
|
21
21
|
"global": "^4.4.0",
|
|
22
22
|
"hls.js": "0.12.4",
|
|
23
|
-
"html-react-parser": "^
|
|
23
|
+
"html-react-parser": "^1.4.0",
|
|
24
24
|
"interactjs": "^1.10.11",
|
|
25
25
|
"konva": "^7.2.5",
|
|
26
26
|
"prop-types": "15.7.2",
|