@gamelearn/arcade-components 1.35.7-hotfix → 2.0.1
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/README.md +107 -107
- package/dist/components/auto-evaluation-component/components/AutoEvaluation.js +4 -2
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +14 -23
- package/dist/components/dialog-component/components/DialogComponent.js +18 -29
- package/dist/components/survey-component/components/SurveyComponent.js +4 -2
- package/dist/components/test-component/components/TestComponent.js +4 -2
- package/package.json +114 -114
package/README.md
CHANGED
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
# Arcade Components
|
|
2
|
-
> librería de componentes para Arcade (aka engine 2.0)
|
|
3
|
-
|
|
4
|
-
[](https://www.npmjs.com/package/arcade-components) [](https://standardjs.com)
|
|
5
|
-
|
|
6
|
-
## Install
|
|
7
|
-
|
|
8
|
-
```bash
|
|
9
|
-
yarn add @gamelearn/arcade-components
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
##
|
|
14
|
-
|
|
15
|
-
```jsx
|
|
16
|
-
import React, { Component } from 'react';
|
|
17
|
-
|
|
18
|
-
import { Button } from 'arcade-components';
|
|
19
|
-
|
|
20
|
-
export default class App extends Component {
|
|
21
|
-
render() {
|
|
22
|
-
return (
|
|
23
|
-
<div>
|
|
24
|
-
<Button>Enjoy</Button>
|
|
25
|
-
</div>
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Generar version hotfix para arcade/master-stg
|
|
33
|
-
|
|
34
|
-
Para generar una version hotfix nos vamos al commit que desplego la version que utiliza actualmente arcade/master-stg y creamos una rama sobre ella.
|
|
35
|
-
|
|
36
|
-
Generamos los cambios o hacemos cherrypick de ellos si ya estan creados y una vez terminemos con los cambios tendremos que cambiar la version del package.json a una tal que asi :
|
|
37
|
-
|
|
38
|
-
`"version": "1.3.5-fix-1",`
|
|
39
|
-
|
|
40
|
-
Habiendo cambiado ya la version para publicarla ejecutamos:
|
|
41
|
-
* `npm run publish-hotfix`
|
|
42
|
-
|
|
43
|
-
Una vez publicada en npm ir a la versión master de arcade y sustituir la versión de arcade-components.
|
|
44
|
-
|
|
45
|
-
## Available Scripts
|
|
46
|
-
|
|
47
|
-
Para ver Storybook en local
|
|
48
|
-
|
|
49
|
-
### `yarn start`
|
|
50
|
-
|
|
51
|
-
Para compilar la librería a dist
|
|
52
|
-
|
|
53
|
-
### `yarn compile`
|
|
54
|
-
|
|
55
|
-
Para dejar a babel observando cambios y ejecuntando auto-compilación puedes pasarle --watch
|
|
56
|
-
|
|
57
|
-
`yarn compile --watch`
|
|
58
|
-
|
|
59
|
-
### `yarn generate <componentName>`
|
|
60
|
-
|
|
61
|
-
Para añadir un componente nuevo se recomienda usar el generador automático que hara el scaffolding básico de dicho componente, coge el nombre como primer parámetro y si lo llamas sin parámetro te lo preguntará por el prompt.
|
|
62
|
-
|
|
63
|
-
`yarn generate`
|
|
64
|
-
|
|
65
|
-
## How to link arcade-components in other repos (WIP)
|
|
66
|
-
|
|
67
|
-
Para trabajar con arcade-components en local si necesidad de subir a git ni a npm no podemos trabajar con `yarn link` ya que da un error con los hooks de react.
|
|
68
|
-
|
|
69
|
-
Cómo solución alternativa podemos instalar `yalc` que permite publicar el paquete en local e importarlo desde `arcade`.
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
yarn global add yalc
|
|
73
|
-
```
|
|
74
|
-
Si teneis problemas instalándolo en global :
|
|
75
|
-
yarn global add yalc --prefix /usr/local
|
|
76
|
-
|
|
77
|
-
Para generar el paquete en el store local:
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
yarn
|
|
81
|
-
yarn compile
|
|
82
|
-
yalc publish o yarn yalc publish
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Si queremos escuchar los cambios y que se vayan publicando en el store de yalc se puede hacer directamente con:
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
yarn watch
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Después, en el repositorio de `arcade` tendremos que linkar el paquete generado de la siguiente forma:
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
yalc link @gamelearn/arcade-components
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Y voilá, ya podremos trabajar con arcade y arcade-components en local sin publicar nada.
|
|
98
|
-
|
|
99
|
-
Una vez terminemos de trabajar con el paquete linkado en `arcade`, no nos olvidemos de borrar el link:
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
yalc remove --all
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## License
|
|
106
|
-
|
|
107
|
-
UNLICENSED © [gamelearn](https://github.com/gamelearn)
|
|
1
|
+
# Arcade Components
|
|
2
|
+
> librería de componentes para Arcade (aka engine 2.0)
|
|
3
|
+
|
|
4
|
+
[](https://www.npmjs.com/package/arcade-components) [](https://standardjs.com)
|
|
5
|
+
|
|
6
|
+
## Install
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
yarn add @gamelearn/arcade-components
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
##
|
|
14
|
+
|
|
15
|
+
```jsx
|
|
16
|
+
import React, { Component } from 'react';
|
|
17
|
+
|
|
18
|
+
import { Button } from 'arcade-components';
|
|
19
|
+
|
|
20
|
+
export default class App extends Component {
|
|
21
|
+
render() {
|
|
22
|
+
return (
|
|
23
|
+
<div>
|
|
24
|
+
<Button>Enjoy</Button>
|
|
25
|
+
</div>
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Generar version hotfix para arcade/master-stg
|
|
33
|
+
|
|
34
|
+
Para generar una version hotfix nos vamos al commit que desplego la version que utiliza actualmente arcade/master-stg y creamos una rama sobre ella.
|
|
35
|
+
|
|
36
|
+
Generamos los cambios o hacemos cherrypick de ellos si ya estan creados y una vez terminemos con los cambios tendremos que cambiar la version del package.json a una tal que asi :
|
|
37
|
+
|
|
38
|
+
`"version": "1.3.5-fix-1",`
|
|
39
|
+
|
|
40
|
+
Habiendo cambiado ya la version para publicarla ejecutamos:
|
|
41
|
+
* `npm run publish-hotfix`
|
|
42
|
+
|
|
43
|
+
Una vez publicada en npm ir a la versión master de arcade y sustituir la versión de arcade-components.
|
|
44
|
+
|
|
45
|
+
## Available Scripts
|
|
46
|
+
|
|
47
|
+
Para ver Storybook en local
|
|
48
|
+
|
|
49
|
+
### `yarn start`
|
|
50
|
+
|
|
51
|
+
Para compilar la librería a dist
|
|
52
|
+
|
|
53
|
+
### `yarn compile`
|
|
54
|
+
|
|
55
|
+
Para dejar a babel observando cambios y ejecuntando auto-compilación puedes pasarle --watch
|
|
56
|
+
|
|
57
|
+
`yarn compile --watch`
|
|
58
|
+
|
|
59
|
+
### `yarn generate <componentName>`
|
|
60
|
+
|
|
61
|
+
Para añadir un componente nuevo se recomienda usar el generador automático que hara el scaffolding básico de dicho componente, coge el nombre como primer parámetro y si lo llamas sin parámetro te lo preguntará por el prompt.
|
|
62
|
+
|
|
63
|
+
`yarn generate`
|
|
64
|
+
|
|
65
|
+
## How to link arcade-components in other repos (WIP)
|
|
66
|
+
|
|
67
|
+
Para trabajar con arcade-components en local si necesidad de subir a git ni a npm no podemos trabajar con `yarn link` ya que da un error con los hooks de react.
|
|
68
|
+
|
|
69
|
+
Cómo solución alternativa podemos instalar `yalc` que permite publicar el paquete en local e importarlo desde `arcade`.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
yarn global add yalc
|
|
73
|
+
```
|
|
74
|
+
Si teneis problemas instalándolo en global :
|
|
75
|
+
yarn global add yalc --prefix /usr/local
|
|
76
|
+
|
|
77
|
+
Para generar el paquete en el store local:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
yarn
|
|
81
|
+
yarn compile
|
|
82
|
+
yalc publish o yarn yalc publish
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Si queremos escuchar los cambios y que se vayan publicando en el store de yalc se puede hacer directamente con:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
yarn watch
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Después, en el repositorio de `arcade` tendremos que linkar el paquete generado de la siguiente forma:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
yalc link @gamelearn/arcade-components
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Y voilá, ya podremos trabajar con arcade y arcade-components en local sin publicar nada.
|
|
98
|
+
|
|
99
|
+
Una vez terminemos de trabajar con el paquete linkado en `arcade`, no nos olvidemos de borrar el link:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
yalc remove --all
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## License
|
|
106
|
+
|
|
107
|
+
UNLICENSED © [gamelearn](https://github.com/gamelearn)
|
|
@@ -106,7 +106,9 @@ var AutoEvaluation = function AutoEvaluation(_ref) {
|
|
|
106
106
|
}
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
109
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
110
|
+
className: "test--container__overlay"
|
|
111
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
110
112
|
className: "test--container",
|
|
111
113
|
dir: "auto"
|
|
112
114
|
}, phase === 'start' && /*#__PURE__*/_react.default.createElement(_StartScreen.default, {
|
|
@@ -157,7 +159,7 @@ var AutoEvaluation = function AutoEvaluation(_ref) {
|
|
|
157
159
|
})))), phase === 'end' && /*#__PURE__*/_react.default.createElement(_EndScreen.default, {
|
|
158
160
|
onFinish: close,
|
|
159
161
|
translate: translate
|
|
160
|
-
}));
|
|
162
|
+
})));
|
|
161
163
|
};
|
|
162
164
|
|
|
163
165
|
var _default = AutoEvaluation;
|
package/dist/components/conversational-pro-component/components/ConversationalProComponent.js
CHANGED
|
@@ -59,7 +59,7 @@ var characterMs = 75;
|
|
|
59
59
|
var minMs = 1400;
|
|
60
60
|
|
|
61
61
|
var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
62
|
-
var _background$img, _currentLineData$
|
|
62
|
+
var _background$img, _currentLineData$slot;
|
|
63
63
|
|
|
64
64
|
var emitEvent = _ref.emitEvent,
|
|
65
65
|
lines = _ref.lines,
|
|
@@ -110,12 +110,12 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
110
110
|
|
|
111
111
|
var backgroundImage = (background === null || background === void 0 ? void 0 : (_background$img = background.img) === null || _background$img === void 0 ? void 0 : _background$img.url) || null;
|
|
112
112
|
var currentLineData = lines[currentLine];
|
|
113
|
-
var voiceOver = currentLineData.voiceOver,
|
|
114
|
-
decision = currentLineData.decision;
|
|
115
113
|
var voiceOverSlots = [];
|
|
116
114
|
var isBranched = !!edges;
|
|
117
115
|
var isVoiceOver = voiceOver || currentLineData.type === 'conversationalNarration';
|
|
118
116
|
var isDecision = decision || currentLineData.type === 'conversationalDecision';
|
|
117
|
+
var voiceOver = currentLineData.voiceOver,
|
|
118
|
+
decision = currentLineData.decision;
|
|
119
119
|
var isFlex = currentLineData.flex;
|
|
120
120
|
|
|
121
121
|
var _useState13 = (0, _react.useState)([]),
|
|
@@ -154,13 +154,11 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
154
154
|
});
|
|
155
155
|
}, [emitEvent]);
|
|
156
156
|
var getCurrentMessage = (0, _react.useCallback)(function () {
|
|
157
|
-
var _currentLineData$slot, _currentLineData$slot2;
|
|
158
|
-
|
|
159
157
|
if (isVoiceOver) {
|
|
160
158
|
return currentLineData;
|
|
161
159
|
}
|
|
162
160
|
|
|
163
|
-
var currentMessage = currentLineData
|
|
161
|
+
var currentMessage = currentLineData.slots.find(function (slot) {
|
|
164
162
|
return slot.uid && slot.talking;
|
|
165
163
|
});
|
|
166
164
|
|
|
@@ -169,7 +167,7 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
169
167
|
} // Old conversational schema
|
|
170
168
|
|
|
171
169
|
|
|
172
|
-
return currentLineData
|
|
170
|
+
return currentLineData.slots.find(function (slot) {
|
|
173
171
|
return slot.uid && slot.text;
|
|
174
172
|
});
|
|
175
173
|
}, [currentLineData, isVoiceOver]);
|
|
@@ -188,10 +186,9 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
188
186
|
var leftWithSlots = lines.slice(0, currentLine + 1).reverse().find(function (line) {
|
|
189
187
|
return line.slots;
|
|
190
188
|
});
|
|
191
|
-
var hasCharacters = !isDecision && ((_currentLineData$
|
|
189
|
+
var hasCharacters = !isDecision && ((_currentLineData$slot = currentLineData.slots) === null || _currentLineData$slot === void 0 ? void 0 : _currentLineData$slot.filter(function (slot) {
|
|
192
190
|
return slot.uid;
|
|
193
191
|
}).length);
|
|
194
|
-
var autoPlayTime = characterMs * ((currentMessage === null || currentMessage === void 0 ? void 0 : (_currentMessage$text = currentMessage.text) === null || _currentMessage$text === void 0 ? void 0 : _currentMessage$text.length) || 0);
|
|
195
192
|
var currentSlots = [];
|
|
196
193
|
|
|
197
194
|
if (currentLineData.slots) {
|
|
@@ -413,32 +410,26 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
|
|
|
413
410
|
(0, _react.useEffect)(function () {
|
|
414
411
|
var _currentMessage$emoti2;
|
|
415
412
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
if (((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' || audioFailed) && !(currentMessage !== null && currentMessage !== void 0 && (_currentMessage$emoti2 = currentMessage.emotion) !== null && _currentMessage$emoti2 !== void 0 && _currentMessage$emoti2.includes('think'))) {
|
|
413
|
+
if ((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' && !(currentMessage !== null && currentMessage !== void 0 && (_currentMessage$emoti2 = currentMessage.emotion) !== null && _currentMessage$emoti2 !== void 0 && _currentMessage$emoti2.includes('think'))) {
|
|
419
414
|
setTTsStart(true);
|
|
420
|
-
timeout = setTimeout(function () {
|
|
421
|
-
setTTsStart(false);
|
|
422
|
-
}, autoPlayTime < minMs ? minMs : autoPlayTime);
|
|
423
415
|
}
|
|
424
|
-
|
|
425
|
-
return function () {
|
|
426
|
-
if (timeout) clearTimeout(timeout);
|
|
427
|
-
};
|
|
428
|
-
}, [audioFailed, currentLineData, currentMessage === null || currentMessage === void 0 ? void 0 : currentMessage.emotion, autoPlayTime]); // Autoplay logic
|
|
416
|
+
}, [currentLineData, currentMessage === null || currentMessage === void 0 ? void 0 : currentMessage.emotion]); // Autoplay logic
|
|
429
417
|
|
|
430
418
|
(0, _react.useEffect)(function () {
|
|
431
419
|
if (autoplayCond && ((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' || audioFailed)) {
|
|
432
|
-
|
|
420
|
+
var _currentMessage$text;
|
|
421
|
+
|
|
422
|
+
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); // if it's not last node
|
|
423
|
+
|
|
433
424
|
if (!isEndNode()) {
|
|
434
|
-
start(handleClickNext,
|
|
425
|
+
start(handleClickNext, time < minMs ? minMs : time);
|
|
435
426
|
}
|
|
436
427
|
}
|
|
437
428
|
|
|
438
429
|
return function () {
|
|
439
430
|
stop();
|
|
440
431
|
};
|
|
441
|
-
}, [currentMessage, start, stop, handleClickNext, currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType, autoplayCond, audioFailed, lines, isEndNode
|
|
432
|
+
}, [currentMessage, start, stop, handleClickNext, currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType, autoplayCond, audioFailed, lines, isEndNode]); // Calculate start node
|
|
442
433
|
|
|
443
434
|
(0, _react.useEffect)(function () {
|
|
444
435
|
if (isBranched && !mounted) {
|
|
@@ -212,22 +212,23 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
212
212
|
var lastEdge = edges.find(function (edge) {
|
|
213
213
|
return edge.fromId === lastNodeId;
|
|
214
214
|
});
|
|
215
|
-
var
|
|
216
|
-
return
|
|
215
|
+
var lastLine = lines.find(function (line) {
|
|
216
|
+
return line.id === lastEdge.fromId;
|
|
217
217
|
});
|
|
218
|
-
return
|
|
218
|
+
return lastLine;
|
|
219
219
|
}, [edges, lines, lastNodeId]);
|
|
220
220
|
var previousLineWasDecision = (0, _react.useCallback)(function () {
|
|
221
221
|
if (isBranched) {
|
|
222
222
|
// if we have edges, we need to check if the previous line was a decision
|
|
223
|
-
var
|
|
224
|
-
|
|
225
|
-
return _lastL === null || _lastL === void 0 ? void 0 : _lastL.decision;
|
|
226
|
-
} // if there is no branching, the previous line is the previous one
|
|
223
|
+
var _lastLine = findLastLineBranched();
|
|
227
224
|
|
|
225
|
+
return _lastLine === null || _lastLine === void 0 ? void 0 : _lastLine.decision;
|
|
226
|
+
} else {
|
|
227
|
+
// if there is no branching, the previous line is the previous one
|
|
228
|
+
var _lastLine2 = lines[currentLineData - 1] ? lines[currentLineData - 1] : {};
|
|
228
229
|
|
|
229
|
-
|
|
230
|
-
|
|
230
|
+
return currentLineData > 0 && (_lastLine2 === null || _lastLine2 === void 0 ? void 0 : _lastLine2.decision);
|
|
231
|
+
}
|
|
231
232
|
}, [currentLineData, isBranched, lines, lastNodeId, edges]);
|
|
232
233
|
var getCurrentVisible = (0, _react.useCallback)(function (uid) {
|
|
233
234
|
if (!uid) return null;
|
|
@@ -303,12 +304,7 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
303
304
|
|
|
304
305
|
var restTalkingAnimation = function restTalkingAnimation() {
|
|
305
306
|
var element = getCurrentVisible(talkingCharacter === null || talkingCharacter === void 0 ? void 0 : talkingCharacter.uid);
|
|
306
|
-
|
|
307
|
-
if (!element) {
|
|
308
|
-
startTalking(false);
|
|
309
|
-
return;
|
|
310
|
-
}
|
|
311
|
-
|
|
307
|
+
if (!element) return;
|
|
312
308
|
var _element$userData = element.userData,
|
|
313
309
|
mixer = _element$userData.mixer,
|
|
314
310
|
defaultAnim = _element$userData.defaultAnim,
|
|
@@ -579,6 +575,10 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
579
575
|
element.userData.defaultAnim = action.getClip();
|
|
580
576
|
}
|
|
581
577
|
|
|
578
|
+
if ((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' && talkingCharacter.emotion !== 'thinkful') {
|
|
579
|
+
startTalking(true);
|
|
580
|
+
}
|
|
581
|
+
|
|
582
582
|
if (talkingCharacter.uid === element.uid) {
|
|
583
583
|
var showArrowTop = talkingCharacter.text.length > maxCharacterToSwitch;
|
|
584
584
|
moveBubble(element, showArrowTop);
|
|
@@ -661,24 +661,13 @@ var DialogComponent = function DialogComponent(_ref) {
|
|
|
661
661
|
return function () {
|
|
662
662
|
stopEkho();
|
|
663
663
|
};
|
|
664
|
-
}, [line, stopEkho]);
|
|
665
|
-
(0, _react.useEffect)(function () {
|
|
666
|
-
if (((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' || audioFailed) && currentMessage !== null && currentMessage !== void 0 && currentMessage.show && (talkingCharacter === null || talkingCharacter === void 0 ? void 0 : talkingCharacter.emotion) !== 'thinkful') {
|
|
667
|
-
var _currentMessage$text;
|
|
668
|
-
|
|
669
|
-
startTalking(true);
|
|
670
|
-
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);
|
|
671
|
-
setTimeout(function () {
|
|
672
|
-
startTalking(false);
|
|
673
|
-
}, time < minMs ? minMs : time);
|
|
674
|
-
}
|
|
675
|
-
}, [audioFailed, currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType, talkingCharacter === null || talkingCharacter === void 0 ? void 0 : talkingCharacter.emotion, currentMessage]); // Autoplay logic
|
|
664
|
+
}, [line, stopEkho]); // Autoplay logic
|
|
676
665
|
|
|
677
666
|
(0, _react.useEffect)(function () {
|
|
678
667
|
if (autoPlayCond && currentMessage.show && ((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' || audioFailed)) {
|
|
679
|
-
var _currentMessage$
|
|
668
|
+
var _currentMessage$text;
|
|
680
669
|
|
|
681
|
-
var time = characterMs * ((currentMessage === null || currentMessage === void 0 ? void 0 : (_currentMessage$
|
|
670
|
+
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); // if it's not last node
|
|
682
671
|
|
|
683
672
|
if (!isEndNode()) {
|
|
684
673
|
start(nextLine, time < minMs ? minMs : time);
|
|
@@ -107,7 +107,9 @@ var SurveyComponent = function SurveyComponent(_ref) {
|
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
var View = PAGES[page].component;
|
|
110
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
111
|
+
className: "survey--container__overlay"
|
|
112
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
111
113
|
className: "survey--container",
|
|
112
114
|
dir: "auto"
|
|
113
115
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -153,7 +155,7 @@ var SurveyComponent = function SurveyComponent(_ref) {
|
|
|
153
155
|
});
|
|
154
156
|
},
|
|
155
157
|
className: "gat--btn gat--btn__primary ".concat(disabled ? 'disabled' : '', " not-transition")
|
|
156
|
-
}, translate('survey.finish')))));
|
|
158
|
+
}, translate('survey.finish'))))));
|
|
157
159
|
};
|
|
158
160
|
|
|
159
161
|
var _default = SurveyComponent;
|
|
@@ -242,7 +242,9 @@ var TestComponent = function TestComponent(_ref) {
|
|
|
242
242
|
});
|
|
243
243
|
};
|
|
244
244
|
|
|
245
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
245
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
246
|
+
className: "test--container__overlay"
|
|
247
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
246
248
|
className: "test--container",
|
|
247
249
|
dir: "auto"
|
|
248
250
|
}, view !== 'results' ? /*#__PURE__*/_react.default.createElement(_Container.default, {
|
|
@@ -280,7 +282,7 @@ var TestComponent = function TestComponent(_ref) {
|
|
|
280
282
|
timeOverText: countdown.text,
|
|
281
283
|
emitEvent: emitEvent,
|
|
282
284
|
soundActions: soundActions
|
|
283
|
-
}));
|
|
285
|
+
})));
|
|
284
286
|
};
|
|
285
287
|
|
|
286
288
|
var _default = TestComponent;
|
package/package.json
CHANGED
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@gamelearn/arcade-components",
|
|
3
|
-
"author": "Gamelearn",
|
|
4
|
-
"license": "unlicense",
|
|
5
|
-
"version": "
|
|
6
|
-
"main": "dist/index.js",
|
|
7
|
-
"files": [
|
|
8
|
-
"dist",
|
|
9
|
-
"README.md"
|
|
10
|
-
],
|
|
11
|
-
"repository": {
|
|
12
|
-
"type": "git",
|
|
13
|
-
"url": "https://github.com/gamelearn/arcade-components"
|
|
14
|
-
},
|
|
15
|
-
"dependencies": {
|
|
16
|
-
"@babel/runtime": "^7.18.6",
|
|
17
|
-
"@gamelearn/arcade-styles": "0.
|
|
18
|
-
"@gamelearn/arcade-three-core": "1.17.1",
|
|
19
|
-
"@react-three/drei": "9.4.3",
|
|
20
|
-
"@react-three/fiber": "8.0.17",
|
|
21
|
-
"@testing-library/jest-dom": "^5.16.4",
|
|
22
|
-
"@testing-library/react": "^13.1.1",
|
|
23
|
-
"@testing-library/user-event": "13.5.0",
|
|
24
|
-
"global": "^4.4.0",
|
|
25
|
-
"gsap": "^3.10.1",
|
|
26
|
-
"hls.js": "0.12.4",
|
|
27
|
-
"html-react-parser": "^1.4.0",
|
|
28
|
-
"interactjs": "^1.10.11",
|
|
29
|
-
"konva": "^7.2.5",
|
|
30
|
-
"prop-types": "15.7.2",
|
|
31
|
-
"react-konva": "^18.1.0",
|
|
32
|
-
"react-konva-utils": "^0.3.0",
|
|
33
|
-
"react-pdf": "5.2.0",
|
|
34
|
-
"react-promise-suspense": "0.3.3",
|
|
35
|
-
"react-typist": "^2.0.5",
|
|
36
|
-
"three": "0.139.2",
|
|
37
|
-
"web-vitals": "0.2.4"
|
|
38
|
-
},
|
|
39
|
-
"scripts": {
|
|
40
|
-
"start": "npm run storybook",
|
|
41
|
-
"clean": "rimraf dist",
|
|
42
|
-
"watch": "npx nodemon -e js --ignore dist --exec \"yarn compile && yalc push --changed\"",
|
|
43
|
-
"compile": "npm run clean && cross-env NODE_ENV=production babel src -d dist --ignore src/**/*.stories.js,src/**/*.test.js,src/setupTests.js",
|
|
44
|
-
"test": "react-scripts test --watchAll=false",
|
|
45
|
-
"test:watch": "react-scripts test",
|
|
46
|
-
"eject": "react-scripts eject",
|
|
47
|
-
"storybook": "start-storybook -p 6006 -s public",
|
|
48
|
-
"build-storybook": "build-storybook -o build",
|
|
49
|
-
"generate": "plop",
|
|
50
|
-
"lint": "npx eslint src --ext js,json",
|
|
51
|
-
"lint:fix": "npx eslint src --ext js,json --fix",
|
|
52
|
-
"lint:quiet": "npx eslint src --ext js,json --quiet",
|
|
53
|
-
"publish-hotfix": "yarn compile && npm publish && npm run version-tag",
|
|
54
|
-
"version-tag": "P_VER=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]') && git tag v$P_VER && git push origin v$P_VER"
|
|
55
|
-
},
|
|
56
|
-
"browserslist": {
|
|
57
|
-
"production": [
|
|
58
|
-
">0.2%",
|
|
59
|
-
"not dead",
|
|
60
|
-
"not op_mini all"
|
|
61
|
-
],
|
|
62
|
-
"development": [
|
|
63
|
-
"last 1 chrome version",
|
|
64
|
-
"last 1 firefox version",
|
|
65
|
-
"last 1 safari version"
|
|
66
|
-
]
|
|
67
|
-
},
|
|
68
|
-
"devDependencies": {
|
|
69
|
-
"@babel/cli": "7.12.10",
|
|
70
|
-
"@babel/eslint-parser": "^7.15.8",
|
|
71
|
-
"@babel/preset-env": "7.12.11",
|
|
72
|
-
"@babel/preset-react": "7.12.10",
|
|
73
|
-
"@gamelearn/version": "^1.3.1",
|
|
74
|
-
"@react-three/test-renderer": "6.0.6",
|
|
75
|
-
"@storybook/addon-actions": "6.1.11",
|
|
76
|
-
"@storybook/addon-essentials": "6.1.11",
|
|
77
|
-
"@storybook/addon-links": "6.1.11",
|
|
78
|
-
"@storybook/addons": "^6.3.8",
|
|
79
|
-
"@storybook/node-logger": "6.1.11",
|
|
80
|
-
"@storybook/preset-create-react-app": "3.1.5",
|
|
81
|
-
"@storybook/react": "6.1.11",
|
|
82
|
-
"@storybook/theming": "^6.3.8",
|
|
83
|
-
"babel-loader": "8.1.0",
|
|
84
|
-
"cross-env": "7.0.3",
|
|
85
|
-
"eslint-config-airbnb": "^18.2.1",
|
|
86
|
-
"eslint-config-prettier": "^8.3.0",
|
|
87
|
-
"eslint-plugin-json-format": "^2.0.1",
|
|
88
|
-
"eslint-plugin-prettier": "^4.0.0",
|
|
89
|
-
"husky": "4.3.0",
|
|
90
|
-
"nodemon": "^2.0.13",
|
|
91
|
-
"plop": "^2.7.4",
|
|
92
|
-
"prettier": "^2.5.0",
|
|
93
|
-
"react": "18.0.0",
|
|
94
|
-
"react-dom": "18.0.0",
|
|
95
|
-
"react-scripts": "4.0.1",
|
|
96
|
-
"rimraf": "3.0.2"
|
|
97
|
-
},
|
|
98
|
-
"jest": {
|
|
99
|
-
"transformIgnorePatterns": [
|
|
100
|
-
"node_modules/(?!(three)/)"
|
|
101
|
-
],
|
|
102
|
-
"moduleNameMapper": {
|
|
103
|
-
"^react-pdf$": "react-pdf/dist/umd/entry.jest",
|
|
104
|
-
"^react-konva-utils$": "react-pdf/dist/umd/entry.jest"
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
"husky": {
|
|
108
|
-
"hooks": {
|
|
109
|
-
"prepare-commit-msg": "bash node_modules/@gamelearn/version/scripts/update_version.sh -p hooks.config ${HUSKY_GIT_PARAMS}",
|
|
110
|
-
"post-commit": "bash node_modules/@gamelearn/version/scripts/after_version_update.sh -p hooks.config",
|
|
111
|
-
"post-merge": "bash node_modules/@gamelearn/version/scripts/after_version_update.sh -p hooks.config"
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@gamelearn/arcade-components",
|
|
3
|
+
"author": "Gamelearn",
|
|
4
|
+
"license": "unlicense",
|
|
5
|
+
"version": "2.0.1",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"README.md"
|
|
10
|
+
],
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/gamelearn/arcade-components"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@babel/runtime": "^7.18.6",
|
|
17
|
+
"@gamelearn/arcade-styles": "2.0.2",
|
|
18
|
+
"@gamelearn/arcade-three-core": "1.17.1",
|
|
19
|
+
"@react-three/drei": "9.4.3",
|
|
20
|
+
"@react-three/fiber": "8.0.17",
|
|
21
|
+
"@testing-library/jest-dom": "^5.16.4",
|
|
22
|
+
"@testing-library/react": "^13.1.1",
|
|
23
|
+
"@testing-library/user-event": "13.5.0",
|
|
24
|
+
"global": "^4.4.0",
|
|
25
|
+
"gsap": "^3.10.1",
|
|
26
|
+
"hls.js": "0.12.4",
|
|
27
|
+
"html-react-parser": "^1.4.0",
|
|
28
|
+
"interactjs": "^1.10.11",
|
|
29
|
+
"konva": "^7.2.5",
|
|
30
|
+
"prop-types": "15.7.2",
|
|
31
|
+
"react-konva": "^18.1.0",
|
|
32
|
+
"react-konva-utils": "^0.3.0",
|
|
33
|
+
"react-pdf": "5.2.0",
|
|
34
|
+
"react-promise-suspense": "0.3.3",
|
|
35
|
+
"react-typist": "^2.0.5",
|
|
36
|
+
"three": "0.139.2",
|
|
37
|
+
"web-vitals": "0.2.4"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"start": "npm run storybook",
|
|
41
|
+
"clean": "rimraf dist",
|
|
42
|
+
"watch": "npx nodemon -e js --ignore dist --exec \"yarn compile && yalc push --changed\"",
|
|
43
|
+
"compile": "npm run clean && cross-env NODE_ENV=production babel src -d dist --ignore src/**/*.stories.js,src/**/*.test.js,src/setupTests.js",
|
|
44
|
+
"test": "react-scripts test --watchAll=false",
|
|
45
|
+
"test:watch": "react-scripts test",
|
|
46
|
+
"eject": "react-scripts eject",
|
|
47
|
+
"storybook": "start-storybook -p 6006 -s public",
|
|
48
|
+
"build-storybook": "build-storybook -o build",
|
|
49
|
+
"generate": "plop",
|
|
50
|
+
"lint": "npx eslint src --ext js,json",
|
|
51
|
+
"lint:fix": "npx eslint src --ext js,json --fix",
|
|
52
|
+
"lint:quiet": "npx eslint src --ext js,json --quiet",
|
|
53
|
+
"publish-hotfix": "yarn compile && npm publish && npm run version-tag",
|
|
54
|
+
"version-tag": "P_VER=$(cat package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[\",]//g' | tr -d '[[:space:]]') && git tag v$P_VER && git push origin v$P_VER"
|
|
55
|
+
},
|
|
56
|
+
"browserslist": {
|
|
57
|
+
"production": [
|
|
58
|
+
">0.2%",
|
|
59
|
+
"not dead",
|
|
60
|
+
"not op_mini all"
|
|
61
|
+
],
|
|
62
|
+
"development": [
|
|
63
|
+
"last 1 chrome version",
|
|
64
|
+
"last 1 firefox version",
|
|
65
|
+
"last 1 safari version"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"@babel/cli": "7.12.10",
|
|
70
|
+
"@babel/eslint-parser": "^7.15.8",
|
|
71
|
+
"@babel/preset-env": "7.12.11",
|
|
72
|
+
"@babel/preset-react": "7.12.10",
|
|
73
|
+
"@gamelearn/version": "^1.3.1",
|
|
74
|
+
"@react-three/test-renderer": "6.0.6",
|
|
75
|
+
"@storybook/addon-actions": "6.1.11",
|
|
76
|
+
"@storybook/addon-essentials": "6.1.11",
|
|
77
|
+
"@storybook/addon-links": "6.1.11",
|
|
78
|
+
"@storybook/addons": "^6.3.8",
|
|
79
|
+
"@storybook/node-logger": "6.1.11",
|
|
80
|
+
"@storybook/preset-create-react-app": "3.1.5",
|
|
81
|
+
"@storybook/react": "6.1.11",
|
|
82
|
+
"@storybook/theming": "^6.3.8",
|
|
83
|
+
"babel-loader": "8.1.0",
|
|
84
|
+
"cross-env": "7.0.3",
|
|
85
|
+
"eslint-config-airbnb": "^18.2.1",
|
|
86
|
+
"eslint-config-prettier": "^8.3.0",
|
|
87
|
+
"eslint-plugin-json-format": "^2.0.1",
|
|
88
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
89
|
+
"husky": "4.3.0",
|
|
90
|
+
"nodemon": "^2.0.13",
|
|
91
|
+
"plop": "^2.7.4",
|
|
92
|
+
"prettier": "^2.5.0",
|
|
93
|
+
"react": "18.0.0",
|
|
94
|
+
"react-dom": "18.0.0",
|
|
95
|
+
"react-scripts": "4.0.1",
|
|
96
|
+
"rimraf": "3.0.2"
|
|
97
|
+
},
|
|
98
|
+
"jest": {
|
|
99
|
+
"transformIgnorePatterns": [
|
|
100
|
+
"node_modules/(?!(three)/)"
|
|
101
|
+
],
|
|
102
|
+
"moduleNameMapper": {
|
|
103
|
+
"^react-pdf$": "react-pdf/dist/umd/entry.jest",
|
|
104
|
+
"^react-konva-utils$": "react-pdf/dist/umd/entry.jest"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"husky": {
|
|
108
|
+
"hooks": {
|
|
109
|
+
"prepare-commit-msg": "bash node_modules/@gamelearn/version/scripts/update_version.sh -p hooks.config ${HUSKY_GIT_PARAMS}",
|
|
110
|
+
"post-commit": "bash node_modules/@gamelearn/version/scripts/after_version_update.sh -p hooks.config",
|
|
111
|
+
"post-merge": "bash node_modules/@gamelearn/version/scripts/after_version_update.sh -p hooks.config"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|