@gamelearn/arcade-components 1.12.1 → 1.14.0
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/comic-component/components/ComicComponent.js +16 -15
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +9 -3
- package/dist/components/cracker-puzzle-component/components/helpers.js +8 -3
- package/dist/components/dialog-component/components/DialogComponent.js +10 -4
- package/dist/components/feedback-component/components/FeedbackComponent.js +3 -1
- package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +3 -0
- package/dist/components/hanged-puzzle-component/utils.js +5 -1
- package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +15 -0
- package/dist/components/writer-puzzle-component/components/FeedbackElement.js +3 -1
- package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +5 -1
- package/dist/helpers/LangIsRtl.js +20 -0
- package/dist/helpers/useEkho.js +12 -17
- package/package.json +2 -2
|
@@ -11,7 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _useTimeout2 = _interopRequireDefault(require("../../../helpers/useTimeout"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _useEkho = _interopRequireDefault(require("../../../helpers/useEkho"));
|
|
15
15
|
|
|
16
16
|
var _Slide = _interopRequireDefault(require("./Slide"));
|
|
17
17
|
|
|
@@ -99,40 +99,41 @@ var ComicComponent = function ComicComponent(_ref) {
|
|
|
99
99
|
goToPreviousSlide();
|
|
100
100
|
};
|
|
101
101
|
|
|
102
|
-
|
|
102
|
+
(0, _useEkho.default)({
|
|
103
103
|
audioType: slides === null || slides === void 0 ? void 0 : (_slides$slideCount = slides[slideCount]) === null || _slides$slideCount === void 0 ? void 0 : _slides$slideCount.audioType,
|
|
104
104
|
voice: slides === null || slides === void 0 ? void 0 : (_slides$slideCount2 = slides[slideCount]) === null || _slides$slideCount2 === void 0 ? void 0 : _slides$slideCount2.voice,
|
|
105
105
|
text: slides === null || slides === void 0 ? void 0 : (_slides$slideCount3 = slides[slideCount]) === null || _slides$slideCount3 === void 0 ? void 0 : (_slides$slideCount3$v = _slides$slideCount3.vignettes[0].textData) === null || _slides$slideCount3$v === void 0 ? void 0 : _slides$slideCount3$v.text,
|
|
106
106
|
audio: slides === null || slides === void 0 ? void 0 : (_slides$slideCount4 = slides[slideCount]) === null || _slides$slideCount4 === void 0 ? void 0 : _slides$slideCount4.audio,
|
|
107
107
|
soundActions: soundActions,
|
|
108
|
-
emitEvent: emitEvent
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
emitEvent: emitEvent,
|
|
109
|
+
onFinish: function onFinish() {
|
|
110
|
+
var _slides$slideCount5;
|
|
111
111
|
|
|
112
|
+
if (automatic && (slides === null || slides === void 0 ? void 0 : (_slides$slideCount5 = slides[slideCount]) === null || _slides$slideCount5 === void 0 ? void 0 : _slides$slideCount5.audioType) !== 'none') {
|
|
113
|
+
goToNextSlide();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
});
|
|
112
117
|
(0, _react.useEffect)(function () {
|
|
113
118
|
var slide = slides === null || slides === void 0 ? void 0 : slides[slideCount];
|
|
114
119
|
|
|
115
|
-
if (automatic) {
|
|
116
|
-
|
|
117
|
-
var _slide$vignettes$, _slide$vignettes$$tex;
|
|
120
|
+
if (automatic && ((slide === null || slide === void 0 ? void 0 : slide.audioType) === 'none' || !(slide !== null && slide !== void 0 && slide.audioType))) {
|
|
121
|
+
var _slide$vignettes$, _slide$vignettes$$tex;
|
|
118
122
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
} else {
|
|
122
|
-
onFinish(goToNextSlide);
|
|
123
|
-
}
|
|
123
|
+
var time = characterMs * ((slide === null || slide === void 0 ? void 0 : (_slide$vignettes$ = slide.vignettes[0]) === null || _slide$vignettes$ === void 0 ? void 0 : (_slide$vignettes$$tex = _slide$vignettes$.textData) === null || _slide$vignettes$$tex === void 0 ? void 0 : _slide$vignettes$$tex.text.length) || 0);
|
|
124
|
+
start(goToNextSlide, time < 1400 ? 1400 : time);
|
|
124
125
|
}
|
|
125
126
|
|
|
126
127
|
return function () {
|
|
127
128
|
stop();
|
|
128
129
|
};
|
|
129
|
-
}, [automatic, goToNextSlide,
|
|
130
|
+
}, [automatic, goToNextSlide, slideCount, slides, start, stop]);
|
|
130
131
|
if (!(slides !== null && slides !== void 0 && slides.length)) return null;
|
|
131
132
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
132
133
|
className: "comic component growIn-animation"
|
|
133
134
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
134
135
|
className: "comic--slider"
|
|
135
|
-
}, /*#__PURE__*/_react.default.createElement(_Slide.default, {
|
|
136
|
+
}, slides[slideCount] && /*#__PURE__*/_react.default.createElement(_Slide.default, {
|
|
136
137
|
key: "comic page ".concat(slides[slideCount].slideOrder),
|
|
137
138
|
slide: slides[slideCount],
|
|
138
139
|
transition: slideTransition,
|
package/dist/components/conversational-pro-component/components/ConversationalProComponent.js
CHANGED
|
@@ -277,17 +277,23 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
277
277
|
handleClickBack();
|
|
278
278
|
};
|
|
279
279
|
|
|
280
|
+
var autoplayCond = automatic && !isDecision;
|
|
280
281
|
(0, _useEkho.default)({
|
|
281
282
|
audioType: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType,
|
|
282
283
|
voice: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.voice,
|
|
283
284
|
text: currentMessage === null || currentMessage === void 0 ? void 0 : currentMessage.text,
|
|
284
285
|
audio: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audio,
|
|
285
286
|
soundActions: soundActions,
|
|
286
|
-
emitEvent: emitEvent
|
|
287
|
+
emitEvent: emitEvent,
|
|
288
|
+
onFinish: function onFinish() {
|
|
289
|
+
if (autoplayCond && (currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) !== 'none') {
|
|
290
|
+
handleClickNext();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
287
293
|
}); // Autoplay logic
|
|
288
294
|
|
|
289
295
|
(0, _react.useEffect)(function () {
|
|
290
|
-
if (
|
|
296
|
+
if (autoplayCond && (currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none') {
|
|
291
297
|
var _currentMessage$text;
|
|
292
298
|
|
|
293
299
|
var time = characterMs * ((currentMessage === null || currentMessage === void 0 ? void 0 : (_currentMessage$text = currentMessage.text) === null || _currentMessage$text === void 0 ? void 0 : _currentMessage$text.length) || 0);
|
|
@@ -297,7 +303,7 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
297
303
|
return function () {
|
|
298
304
|
stop();
|
|
299
305
|
};
|
|
300
|
-
}, [currentMessage,
|
|
306
|
+
}, [currentMessage, start, stop, handleClickNext, currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType, autoplayCond]);
|
|
301
307
|
|
|
302
308
|
var decisionPayload = _objectSpread(_objectSpread({}, currentLineData.payload), {}, {
|
|
303
309
|
required: !isBranched,
|
|
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.repaintGridPassword = exports.makeSomeNoise = void 0;
|
|
7
7
|
|
|
8
|
+
var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
|
|
9
|
+
|
|
8
10
|
var _colors = require("./colors");
|
|
9
11
|
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
10
14
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
15
|
|
|
12
16
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -120,8 +124,8 @@ var repaintGridPassword = function repaintGridPassword(actualGrid, newPassword,
|
|
|
120
124
|
|
|
121
125
|
exports.repaintGridPassword = repaintGridPassword;
|
|
122
126
|
|
|
123
|
-
var prepareAcceptedChars = function prepareAcceptedChars(password) {
|
|
124
|
-
return
|
|
127
|
+
var prepareAcceptedChars = function prepareAcceptedChars(password, charactersString) {
|
|
128
|
+
return charactersString.split('').filter(function (character) {
|
|
125
129
|
return !password.includes(character);
|
|
126
130
|
}).join('');
|
|
127
131
|
};
|
|
@@ -152,7 +156,8 @@ var makeSomeNoise = function makeSomeNoise(_ref) {
|
|
|
152
156
|
var numberOfColumns = _ref.numberOfColumns,
|
|
153
157
|
numberOfRows = _ref.numberOfRows,
|
|
154
158
|
password = _ref.password;
|
|
155
|
-
var
|
|
159
|
+
var charactersForLang = (0, _LangIsRtl.default)() ? '٠١٢٣٤٥٦٧٨٩شزذيثبلاهتنمورخحضقسفعدصطغظ' : '0123456789abcdefghijklmnopqrstuvwxyz';
|
|
160
|
+
var acceptedChars = prepareAcceptedChars(password, charactersForLang);
|
|
156
161
|
var grid = generateBasicGrid(numberOfRows, numberOfColumns, acceptedChars);
|
|
157
162
|
|
|
158
163
|
var _generatePasswordPosi3 = generatePasswordPositions(grid, password, numberOfRows, numberOfColumns),
|
|
@@ -437,7 +437,8 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
437
437
|
});
|
|
438
438
|
}
|
|
439
439
|
}
|
|
440
|
-
}, [actors, camera, currentLine, zoomInActor, getCurrentVisible, translate, getAvatarURL, loadEmotion, resetCameraView, isDecision, isVoiceOver]);
|
|
440
|
+
}, [actors, camera, currentLine, zoomInActor, getCurrentVisible, translate, getAvatarURL, loadEmotion, resetCameraView, isDecision, isVoiceOver]);
|
|
441
|
+
var autoPlayCond = automatic && currentMessage.show && !currentLine.decision; // Sound logic
|
|
441
442
|
|
|
442
443
|
(0, _useEkho.default)({
|
|
443
444
|
audioType: currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType,
|
|
@@ -445,11 +446,16 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
445
446
|
text: currentMessage === null || currentMessage === void 0 ? void 0 : currentMessage.text,
|
|
446
447
|
audio: currentLine === null || currentLine === void 0 ? void 0 : currentLine.audio,
|
|
447
448
|
soundActions: soundActions,
|
|
448
|
-
emitEvent: emitEvent
|
|
449
|
+
emitEvent: emitEvent,
|
|
450
|
+
onFinish: function onFinish() {
|
|
451
|
+
if (autoPlayCond && (currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) !== 'none') {
|
|
452
|
+
nextLine();
|
|
453
|
+
}
|
|
454
|
+
}
|
|
449
455
|
}); // Autoplay logic
|
|
450
456
|
|
|
451
457
|
(0, _react.useEffect)(function () {
|
|
452
|
-
if (
|
|
458
|
+
if (autoPlayCond && (currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) === 'none') {
|
|
453
459
|
var _currentMessage$text;
|
|
454
460
|
|
|
455
461
|
var time = characterMs * ((currentMessage === null || currentMessage === void 0 ? void 0 : (_currentMessage$text = currentMessage.text) === null || _currentMessage$text === void 0 ? void 0 : _currentMessage$text.length) || 0);
|
|
@@ -459,7 +465,7 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
459
465
|
return function () {
|
|
460
466
|
stop();
|
|
461
467
|
};
|
|
462
|
-
}, [currentMessage, nextLine,
|
|
468
|
+
}, [currentMessage, nextLine, start, stop, currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType, autoPlayCond]); // Positioning logic
|
|
463
469
|
|
|
464
470
|
var checkBubblePosition = (0, _react.useCallback)(function () {
|
|
465
471
|
if (bubbleRef.current && currentLine.slots) {
|
|
@@ -126,7 +126,9 @@ var FeedbackComponent = function FeedbackComponent(_ref) {
|
|
|
126
126
|
className: "feedback-layer__explainwrap"
|
|
127
127
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
128
128
|
className: "feedback-layer__explain"
|
|
129
|
-
}, /*#__PURE__*/_react.default.createElement("div",
|
|
129
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
130
|
+
dir: "auto"
|
|
131
|
+
}, text)))));
|
|
130
132
|
};
|
|
131
133
|
|
|
132
134
|
FeedbackComponent.defaultProps = {
|
|
@@ -67,6 +67,7 @@ var AnswerPanel = function AnswerPanel(_ref) {
|
|
|
67
67
|
});
|
|
68
68
|
return words.map(function (word, index) {
|
|
69
69
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
70
|
+
dir: "auto",
|
|
70
71
|
key: "".concat(word + index),
|
|
71
72
|
className: "puzzle--hanged__word",
|
|
72
73
|
"data-testid": "result-".concat(index)
|
|
@@ -436,8 +437,10 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
436
437
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
437
438
|
className: "puzzle--hanged__controls"
|
|
438
439
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
440
|
+
dir: "auto",
|
|
439
441
|
className: "puzzle--hanged__header"
|
|
440
442
|
}, question), /*#__PURE__*/_react.default.createElement("div", {
|
|
443
|
+
dir: "auto",
|
|
441
444
|
className: "puzzle--hanged__solution ".concat(resolvedClass),
|
|
442
445
|
"data-testid": "".concat(resolvedClass)
|
|
443
446
|
}, showCorrectSolution ? /*#__PURE__*/_react.default.createElement(AnswerPanel, {
|
|
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.sortChar = exports.restrictCharacters = exports.makeChar = void 0;
|
|
7
7
|
|
|
8
|
+
var _LangIsRtl = _interopRequireDefault(require("../../helpers/LangIsRtl"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
8
12
|
var restrictCharacters = function restrictCharacters(char, operator) {
|
|
9
13
|
var restrictedChar = false;
|
|
10
14
|
|
|
@@ -36,7 +40,7 @@ var sortChar = function sortChar(a, b) {
|
|
|
36
40
|
exports.sortChar = sortChar;
|
|
37
41
|
|
|
38
42
|
var makeChar = function makeChar() {
|
|
39
|
-
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
43
|
+
var characters = (0, _LangIsRtl.default)() ? 'شزذيثبلاهتنمورخحضثقسفعدصطغظ' : 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
40
44
|
var charactersLength = characters.length;
|
|
41
45
|
return characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
42
46
|
};
|
|
@@ -9,6 +9,10 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
+
var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
12
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
17
|
|
|
14
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -54,6 +58,8 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
54
58
|
});
|
|
55
59
|
};
|
|
56
60
|
|
|
61
|
+
var isRtl = (0, _LangIsRtl.default)();
|
|
62
|
+
|
|
57
63
|
var _useState = (0, _react.useState)(''),
|
|
58
64
|
_useState2 = _slicedToArray(_useState, 2),
|
|
59
65
|
inputUser = _useState2[0],
|
|
@@ -187,10 +193,13 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
187
193
|
}, " "), !finished && /*#__PURE__*/_react.default.createElement("span", {
|
|
188
194
|
className: "puzzle--login__title"
|
|
189
195
|
}, translate('puzzle.initSession')), /*#__PURE__*/_react.default.createElement("div", null, login && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
196
|
+
dir: "auto",
|
|
190
197
|
className: "puzzle--login__label"
|
|
191
198
|
}, translate('puzzle.user')), /*#__PURE__*/_react.default.createElement("div", {
|
|
199
|
+
dir: "auto",
|
|
192
200
|
className: "puzzle--login__group"
|
|
193
201
|
}, showCorrectSolution ? /*#__PURE__*/_react.default.createElement("input", {
|
|
202
|
+
dir: isRtl ? 'rtl' : 'auto',
|
|
194
203
|
disabled: finished,
|
|
195
204
|
"data-testid": "username",
|
|
196
205
|
className: "puzzle--login__input ".concat(successClass),
|
|
@@ -198,6 +207,7 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
198
207
|
placeholder: user,
|
|
199
208
|
value: user
|
|
200
209
|
}) : /*#__PURE__*/_react.default.createElement("input", {
|
|
210
|
+
dir: isRtl ? 'rtl' : 'auto',
|
|
201
211
|
disabled: finished,
|
|
202
212
|
"data-testid": "username",
|
|
203
213
|
className: "puzzle--login__input ".concat(successClass),
|
|
@@ -211,10 +221,13 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
211
221
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
212
222
|
className: "icon-circle-check"
|
|
213
223
|
}, " "))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
224
|
+
dir: "auto",
|
|
214
225
|
className: "puzzle--login__label"
|
|
215
226
|
}, /*#__PURE__*/_react.default.createElement("span", null, translate('puzzle.password'))), /*#__PURE__*/_react.default.createElement("div", {
|
|
227
|
+
dir: "auto",
|
|
216
228
|
className: "puzzle--login__group"
|
|
217
229
|
}, showCorrectSolution ? /*#__PURE__*/_react.default.createElement("input", {
|
|
230
|
+
dir: isRtl ? 'rtl' : 'auto',
|
|
218
231
|
disabled: true,
|
|
219
232
|
"data-testid": "password",
|
|
220
233
|
className: "puzzle--login__input puzzle--login__input--fakepassword success",
|
|
@@ -222,6 +235,7 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
222
235
|
placeholder: password,
|
|
223
236
|
value: password
|
|
224
237
|
}) : /*#__PURE__*/_react.default.createElement("input", {
|
|
238
|
+
dir: isRtl ? 'rtl' : 'auto',
|
|
225
239
|
disabled: finished,
|
|
226
240
|
"data-testid": "password",
|
|
227
241
|
className: "puzzle--login__input puzzle--login__input--fakepassword ".concat(successClass),
|
|
@@ -240,6 +254,7 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
240
254
|
setErrorMessage(false);
|
|
241
255
|
}
|
|
242
256
|
}), !showCorrectSolution ? /*#__PURE__*/_react.default.createElement("div", {
|
|
257
|
+
dir: isRtl ? 'rtl' : 'auto',
|
|
243
258
|
className: "login-fakepassword".concat(inputPasswordFocus ? ' login-fakepassword--focus' : '').concat(fakeHashes.length ? ' login-fakepassword--fill' : '', " ").concat(successClass || '')
|
|
244
259
|
}, inputPassword ? fakeHashes : translate('puzzle.password')) : null, /*#__PURE__*/_react.default.createElement("span", {
|
|
245
260
|
className: "icon-circle-check"
|
|
@@ -17,8 +17,10 @@ var FeedbackElement = function FeedbackElement(_ref) {
|
|
|
17
17
|
return /*#__PURE__*/_react.default.createElement("div", null, body !== '' && /*#__PURE__*/_react.default.createElement("div", {
|
|
18
18
|
className: "writer-feedback-decision-item"
|
|
19
19
|
}, title && /*#__PURE__*/_react.default.createElement("div", {
|
|
20
|
+
dir: "auto",
|
|
20
21
|
className: "writer-feedback-decision-item__title"
|
|
21
|
-
}, title,
|
|
22
|
+
}, title, ' '), body && /*#__PURE__*/_react.default.createElement("div", {
|
|
23
|
+
dir: "auto",
|
|
22
24
|
className: "writer-feedback-decision-item__message"
|
|
23
25
|
}, decision.correct ? /*#__PURE__*/_react.default.createElement("span", {
|
|
24
26
|
className: "icon-check-circle-black color--success"
|
|
@@ -17,6 +17,8 @@ var _FeedbackComponent = _interopRequireDefault(require("./FeedbackComponent"));
|
|
|
17
17
|
|
|
18
18
|
var _FinishedTextComponent = _interopRequireDefault(require("./FinishedTextComponent"));
|
|
19
19
|
|
|
20
|
+
var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
|
|
21
|
+
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
23
|
|
|
22
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -465,9 +467,11 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
|
|
|
465
467
|
}), !showFeedback && /*#__PURE__*/_react.default.createElement("div", {
|
|
466
468
|
className: "writer-puzzle__container"
|
|
467
469
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
470
|
+
dir: "auto",
|
|
468
471
|
className: "writer-puzzle__title"
|
|
469
472
|
}, documentTitle !== '' && documentTitle), /*#__PURE__*/_react.default.createElement("div", {
|
|
470
|
-
className: "writer-puzzle__body"
|
|
473
|
+
className: "writer-puzzle__body",
|
|
474
|
+
dir: (0, _LangIsRtl.default)() ? 'rtl' : 'auto'
|
|
471
475
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
472
476
|
className: "writer-puzzle__scroll",
|
|
473
477
|
ref: automaticScroll
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var LangIsRtl = function LangIsRtl() {
|
|
9
|
+
var langsRtl = ['ar', 'fa', 'he', 'ku', 'ur'];
|
|
10
|
+
var currentLang = document.querySelector('html').getAttribute('lang');
|
|
11
|
+
|
|
12
|
+
if (langsRtl.includes(currentLang)) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return false;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
var _default = LangIsRtl;
|
|
20
|
+
exports.default = _default;
|
package/dist/helpers/useEkho.js
CHANGED
|
@@ -23,7 +23,10 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
23
23
|
|
|
24
24
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
25
|
|
|
26
|
+
var noop = function noop() {};
|
|
26
27
|
/** Custom hook for use TTS and audio in the components */
|
|
28
|
+
|
|
29
|
+
|
|
27
30
|
var useEkho = function useEkho(_ref) {
|
|
28
31
|
var voice = _ref.voice,
|
|
29
32
|
text = _ref.text,
|
|
@@ -32,7 +35,11 @@ var useEkho = function useEkho(_ref) {
|
|
|
32
35
|
loop = _ref$loop === void 0 ? false : _ref$loop,
|
|
33
36
|
audio = _ref.audio,
|
|
34
37
|
soundActions = _ref.soundActions,
|
|
35
|
-
emitEvent = _ref.emitEvent
|
|
38
|
+
emitEvent = _ref.emitEvent,
|
|
39
|
+
_ref$onFinish = _ref.onFinish,
|
|
40
|
+
onFinish = _ref$onFinish === void 0 ? noop : _ref$onFinish,
|
|
41
|
+
_ref$onStart = _ref.onStart,
|
|
42
|
+
onStart = _ref$onStart === void 0 ? noop : _ref$onStart;
|
|
36
43
|
|
|
37
44
|
var _soundActions = _slicedToArray(soundActions, 2),
|
|
38
45
|
playSound = _soundActions[0],
|
|
@@ -54,15 +61,7 @@ var useEkho = function useEkho(_ref) {
|
|
|
54
61
|
type: 'translate',
|
|
55
62
|
payload: id
|
|
56
63
|
});
|
|
57
|
-
}, [emitEvent]);
|
|
58
|
-
var finishCallback = (0, _react.useRef)(function () {});
|
|
59
|
-
var startCallback = (0, _react.useRef)(function () {});
|
|
60
|
-
var onStartAudio = (0, _react.useCallback)(function (fn) {
|
|
61
|
-
startCallback.current = fn;
|
|
62
|
-
}, []);
|
|
63
|
-
var onFinishAudio = (0, _react.useCallback)(function (fn) {
|
|
64
|
-
finishCallback.current = fn;
|
|
65
|
-
}, []); // Setted when is mounted
|
|
64
|
+
}, [emitEvent]); // Setted when is mounted
|
|
66
65
|
|
|
67
66
|
(0, _react.useEffect)(function () {
|
|
68
67
|
setIsMounted(true);
|
|
@@ -101,12 +100,12 @@ var useEkho = function useEkho(_ref) {
|
|
|
101
100
|
url: url,
|
|
102
101
|
cc: cc
|
|
103
102
|
};
|
|
104
|
-
|
|
103
|
+
onStart({
|
|
105
104
|
url: url,
|
|
106
105
|
cc: cc
|
|
107
106
|
});
|
|
108
|
-
playSound(url, cc, loop, 0.5,
|
|
109
|
-
}, [playSound, loop]);
|
|
107
|
+
playSound(url, cc, loop, 0.5, onFinish);
|
|
108
|
+
}, [onStart, playSound, loop, onFinish]);
|
|
110
109
|
var playSpeech = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
111
110
|
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(payload) {
|
|
112
111
|
var url;
|
|
@@ -159,10 +158,6 @@ var useEkho = function useEkho(_ref) {
|
|
|
159
158
|
}
|
|
160
159
|
}
|
|
161
160
|
}, [getVoice, playSpeech, isMounted, voice, text, audioType, audio === null || audio === void 0 ? void 0 : audio.url, audio, setCurrentPlaying]);
|
|
162
|
-
return {
|
|
163
|
-
onStart: onStartAudio,
|
|
164
|
-
onFinish: onFinishAudio
|
|
165
|
-
};
|
|
166
161
|
};
|
|
167
162
|
|
|
168
163
|
var _default = useEkho;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@gamelearn/arcade-components",
|
|
3
3
|
"author": "Gamelearn",
|
|
4
4
|
"license": "unlicense",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.14.0",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"url": "https://github.com/gamelearn/arcade-components"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@gamelearn/arcade-styles": "0.
|
|
16
|
+
"@gamelearn/arcade-styles": "0.11.1",
|
|
17
17
|
"@gamelearn/arcade-three-core": "1.1.15",
|
|
18
18
|
"@react-three/drei": "8.8.1",
|
|
19
19
|
"@react-three/fiber": "7.0.25",
|