@gamelearn/arcade-components 1.13.0 → 1.15.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/dialog-component/components/DialogComponent.js +10 -4
- package/dist/components/text-click-puzzle-component/components/TextClickPuzzleComponent.js +4 -1
- package/dist/components/text-click-puzzle-component/utils/index.js +3 -0
- package/dist/components/web-builder-puzzle-component/Popups/PopupTextComponent/index.js +4 -1
- package/dist/components/web-builder-puzzle-component/components/Feedback/index.js +1 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/BankBody.js +1 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/FacebookBody.js +2 -1
- package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js +5 -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,
|
|
@@ -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) {
|
|
@@ -15,6 +15,8 @@ var _feedbackComponent = _interopRequireDefault(require("../../feedback-componen
|
|
|
15
15
|
|
|
16
16
|
var _utils = require("../utils");
|
|
17
17
|
|
|
18
|
+
var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
|
|
19
|
+
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
20
22
|
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); }
|
|
@@ -416,7 +418,8 @@ var TextClickPuzzleComponent = function TextClickPuzzleComponent(_ref) {
|
|
|
416
418
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
417
419
|
className: "text-click__body"
|
|
418
420
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
419
|
-
className: "text-click__scroll"
|
|
421
|
+
className: "text-click__scroll",
|
|
422
|
+
dir: (0, _LangIsRtl.default)() ? 'rtl' : 'auto'
|
|
420
423
|
}, parsedText.current)))), showFrames && /*#__PURE__*/_react.default.createElement("div", {
|
|
421
424
|
className: "text-click__paginator"
|
|
422
425
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -46,6 +46,8 @@ var getRecursiveJSX = function getRecursiveJSX(jsx) {
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
if (jsx.props['data-text-id']) {
|
|
49
|
+
props.dir = 'auto';
|
|
50
|
+
|
|
49
51
|
props.onClick = function (e) {
|
|
50
52
|
return onClick(e, props['data-text-id'] || -1);
|
|
51
53
|
};
|
|
@@ -85,6 +87,7 @@ var getRecursiveJSX = function getRecursiveJSX(jsx) {
|
|
|
85
87
|
return word !== '';
|
|
86
88
|
}).map(function (word) {
|
|
87
89
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
90
|
+
dir: "auto",
|
|
88
91
|
key: word
|
|
89
92
|
}, word);
|
|
90
93
|
});
|
|
@@ -75,7 +75,10 @@ var PopupTextComponent = function PopupTextComponent(_ref) {
|
|
|
75
75
|
className: "puzzle--webBuilder__select"
|
|
76
76
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
77
77
|
className: "puzzle--webBuilder__select--label"
|
|
78
|
-
}, /*#__PURE__*/_react.default.createElement("
|
|
78
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
79
|
+
dir: "auto"
|
|
80
|
+
}, translate('webbuilder.textSelect.title'))), /*#__PURE__*/_react.default.createElement("div", {
|
|
81
|
+
dir: "auto",
|
|
79
82
|
className: classDropDown,
|
|
80
83
|
onClick: function onClick() {
|
|
81
84
|
return toggleDropdown();
|
|
@@ -17,6 +17,7 @@ var FeedbackResult = function FeedbackResult(_ref) {
|
|
|
17
17
|
var title = success ? translate('webbuilder.feedback.successTitle') : translate('webbuilder.feedback.failTitle');
|
|
18
18
|
var desc = success ? translate('webbuilder.feedback.success') : translate('webbuilder.feedback.fail');
|
|
19
19
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
20
|
+
dir: "auto",
|
|
20
21
|
className: "puzzle--webBuilder__feedback bottom ".concat(success ? 'success' : 'failed'),
|
|
21
22
|
style: success ? {
|
|
22
23
|
zIndex: '11'
|
package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/FacebookBody.js
CHANGED
|
@@ -25,7 +25,8 @@ var FacebookBody = function FacebookBody(_ref) {
|
|
|
25
25
|
var home = showingReference ? usingTemplate.body.home : body.home;
|
|
26
26
|
var mail = showingReference ? usingTemplate.body.mail : body.mail;
|
|
27
27
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("ul", {
|
|
28
|
-
className: "facebook--sidebar"
|
|
28
|
+
className: "facebook--sidebar",
|
|
29
|
+
dir: "auto"
|
|
29
30
|
}, /*#__PURE__*/_react.default.createElement("li", {
|
|
30
31
|
className: "facebook--sidebar__item ".concat(work || showingReference ? 'selected' : '')
|
|
31
32
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js
CHANGED
|
@@ -221,6 +221,11 @@ var WebBuilderPuzzleComponent = function WebBuilderPuzzleComponent(_ref) {
|
|
|
221
221
|
exist = _checkCorrect.exist,
|
|
222
222
|
equal = _checkCorrect.equal;
|
|
223
223
|
|
|
224
|
+
emitEvent({
|
|
225
|
+
type: 'hidePuzzleButtons',
|
|
226
|
+
payload: true
|
|
227
|
+
});
|
|
228
|
+
|
|
224
229
|
if (exist && !equal) {
|
|
225
230
|
if (showPublish) {
|
|
226
231
|
setShowPublish(false);
|
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.15.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.11.
|
|
16
|
+
"@gamelearn/arcade-styles": "0.11.3",
|
|
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",
|