@gamelearn/arcade-components 1.16.0 → 1.16.2

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.
@@ -15,6 +15,8 @@ var _useEkho = _interopRequireDefault(require("../../../helpers/useEkho"));
15
15
 
16
16
  var _Slide = _interopRequireDefault(require("./Slide"));
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); }
@@ -116,8 +118,9 @@ var ComicComponent = function ComicComponent(_ref) {
116
118
  });
117
119
  (0, _react.useEffect)(function () {
118
120
  var slide = slides === null || slides === void 0 ? void 0 : slides[slideCount];
121
+ var audio = Object.keys(slide.audio || {}).length;
119
122
 
120
- if (automatic && ((slide === null || slide === void 0 ? void 0 : slide.audioType) === 'none' || !(slide !== null && slide !== void 0 && slide.audioType))) {
123
+ if (automatic && ((slide === null || slide === void 0 ? void 0 : slide.audioType) === 'none' || (slide === null || slide === void 0 ? void 0 : slide.audioType) === 'file' && !audio)) {
121
124
  var _slide$vignettes$, _slide$vignettes$$tex;
122
125
 
123
126
  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);
@@ -130,6 +133,7 @@ var ComicComponent = function ComicComponent(_ref) {
130
133
  }, [automatic, goToNextSlide, slideCount, slides, start, stop]);
131
134
  if (!(slides !== null && slides !== void 0 && slides.length)) return null;
132
135
  return /*#__PURE__*/_react.default.createElement("div", {
136
+ dir: (0, _LangIsRtl.default)() ? 'rtl' : 'auto',
133
137
  className: "comic component growIn-animation"
134
138
  }, /*#__PURE__*/_react.default.createElement("div", {
135
139
  className: "comic--slider"
@@ -145,14 +149,14 @@ var ComicComponent = function ComicComponent(_ref) {
145
149
  onClick: handleManualBack,
146
150
  "data-testid": "btn-bck"
147
151
  }, /*#__PURE__*/_react.default.createElement("span", {
148
- className: "icon-back"
152
+ className: (0, _LangIsRtl.default)() ? 'icon-next' : 'icon-back'
149
153
  })), slideCount + 1 < slides.length && /*#__PURE__*/_react.default.createElement("button", {
150
154
  type: "button",
151
155
  className: "comic-control comic-control--right gat--btn__round",
152
156
  "data-testid": "btn-nxt",
153
157
  onClick: handleManualNext
154
158
  }, /*#__PURE__*/_react.default.createElement("span", {
155
- className: "icon-next"
159
+ className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
156
160
  })), slideCount + 1 >= slides.length && /*#__PURE__*/_react.default.createElement("div", {
157
161
  className: "position--absolute top right"
158
162
  }, /*#__PURE__*/_react.default.createElement("button", {
@@ -19,6 +19,8 @@ var _useEkho = _interopRequireDefault(require("../../../helpers/useEkho"));
19
19
 
20
20
  var _useTimeout2 = _interopRequireDefault(require("../../../helpers/useTimeout"));
21
21
 
22
+ var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
23
+
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
25
 
24
26
  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); }
@@ -278,6 +280,7 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
278
280
  };
279
281
 
280
282
  var autoplayCond = automatic && !isDecision;
283
+ var audio = Object.keys(currentLine.audio || {}).length;
281
284
  (0, _useEkho.default)({
282
285
  audioType: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType,
283
286
  voice: currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.voice,
@@ -293,7 +296,7 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
293
296
  }); // Autoplay logic
294
297
 
295
298
  (0, _react.useEffect)(function () {
296
- if (autoplayCond && (currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none') {
299
+ if (autoplayCond && ((currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'none' || (currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType) === 'file' && !audio)) {
297
300
  var _currentMessage$text;
298
301
 
299
302
  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);
@@ -303,7 +306,7 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
303
306
  return function () {
304
307
  stop();
305
308
  };
306
- }, [currentMessage, start, stop, handleClickNext, currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType, autoplayCond]);
309
+ }, [currentMessage, start, stop, handleClickNext, currentLineData === null || currentLineData === void 0 ? void 0 : currentLineData.audioType, autoplayCond, audio]);
307
310
 
308
311
  var decisionPayload = _objectSpread(_objectSpread({}, currentLineData.payload), {}, {
309
312
  required: !isBranched,
@@ -331,7 +334,8 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
331
334
  backgroundImage: "url(\"".concat(backgroundImage, "\")")
332
335
  } : null
333
336
  }, /*#__PURE__*/_react.default.createElement(_SlotList.default, listProps), /*#__PURE__*/_react.default.createElement("div", {
334
- className: "conversation--body"
337
+ className: "conversation--body",
338
+ dir: "auto"
335
339
  }, currentMessage ? /*#__PURE__*/_react.default.createElement(_Message.default, {
336
340
  current: currentMessage,
337
341
  translate: translate
@@ -343,13 +347,13 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
343
347
  type: "button",
344
348
  onClick: manualClickBack
345
349
  }, /*#__PURE__*/_react.default.createElement("span", {
346
- className: "icon-back"
350
+ className: (0, _LangIsRtl.default)() ? 'icon-next' : 'icon-back'
347
351
  })), /*#__PURE__*/_react.default.createElement("button", {
348
352
  className: "gat--btn__round",
349
353
  type: "button",
350
354
  onClick: manualClickNext
351
355
  }, /*#__PURE__*/_react.default.createElement("span", {
352
- className: "icon-next"
356
+ className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
353
357
  }))))));
354
358
  };
355
359
 
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _Options = _interopRequireDefault(require("./Options"));
13
13
 
14
+ var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
 
16
18
  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); }
@@ -82,7 +84,8 @@ var DecisionBody = function DecisionBody(_ref) {
82
84
  }, question)) : /*#__PURE__*/_react.default.createElement("span", {
83
85
  className: "popup--info__title"
84
86
  }, question)), /*#__PURE__*/_react.default.createElement("div", {
85
- className: "popup__questions"
87
+ className: "popup__questions",
88
+ dir: "auto"
86
89
  }, /*#__PURE__*/_react.default.createElement(_Options.default, optionsProps)), /*#__PURE__*/_react.default.createElement("div", {
87
90
  className: "popup--buttons"
88
91
  }, required ? /*#__PURE__*/_react.default.createElement("button", {
@@ -102,6 +105,7 @@ var DecisionBody = function DecisionBody(_ref) {
102
105
 
103
106
  var ComplexDecision = function ComplexDecision() {
104
107
  return /*#__PURE__*/_react.default.createElement("div", {
108
+ dir: "auto",
105
109
  className: "conversation--body ".concat(inScene ? 'conversation--body--inScene' : '')
106
110
  }, /*#__PURE__*/_react.default.createElement("div", {
107
111
  className: "conversation--message"
@@ -113,7 +117,7 @@ var DecisionBody = function DecisionBody(_ref) {
113
117
  className: "gat--btn__round disabled",
114
118
  type: "button"
115
119
  }, /*#__PURE__*/_react.default.createElement("span", {
116
- className: "icon-back"
120
+ className: (0, _LangIsRtl.default)() ? 'icon-next' : 'icon-back'
117
121
  })), /*#__PURE__*/_react.default.createElement("button", {
118
122
  className: "gat--btn__round ".concat(canNext ? '' : 'disabled'),
119
123
  type: "button",
@@ -121,7 +125,7 @@ var DecisionBody = function DecisionBody(_ref) {
121
125
  return canNext && onNext(selectedChoice);
122
126
  }
123
127
  }, /*#__PURE__*/_react.default.createElement("span", {
124
- className: "icon-next"
128
+ className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
125
129
  }))));
126
130
  };
127
131
 
@@ -35,7 +35,8 @@ var FeedBack = function FeedBack(_ref) {
35
35
  return /*#__PURE__*/_react.default.createElement(Wrapper, null, choice.feedback ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
36
36
  className: "conversation--feedback__title"
37
37
  }, "Feedback"), /*#__PURE__*/_react.default.createElement("div", {
38
- className: "conversation--feedback__text"
38
+ className: "conversation--feedback__text",
39
+ dir: "auto"
39
40
  }, choice.right ? /*#__PURE__*/_react.default.createElement("span", {
40
41
  className: "icon-check-circle-black color--success"
41
42
  }) : /*#__PURE__*/_react.default.createElement("span", {
@@ -29,6 +29,8 @@ var _useTimeout2 = _interopRequireDefault(require("../../../helpers/useTimeout")
29
29
 
30
30
  var _useEkho = _interopRequireDefault(require("../../../helpers/useEkho"));
31
31
 
32
+ var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
33
+
32
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
35
 
34
36
  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); }
@@ -220,6 +222,7 @@ var DialogComponent = function DialogComponent(_ref) {
220
222
  setCurrentMessage({});
221
223
  resetCameraView();
222
224
  setTimeout(function () {
225
+ changeLine(0);
223
226
  emitEvent({
224
227
  type: 'success'
225
228
  });
@@ -438,7 +441,8 @@ var DialogComponent = function DialogComponent(_ref) {
438
441
  }
439
442
  }
440
443
  }, [actors, camera, currentLine, zoomInActor, getCurrentVisible, translate, getAvatarURL, loadEmotion, resetCameraView, isDecision, isVoiceOver]);
441
- var autoPlayCond = automatic && currentMessage.show && !currentLine.decision; // Sound logic
444
+ var autoPlayCond = automatic && !currentLine.decision;
445
+ var audio = Object.keys(currentLine.audio || {}).length; // Sound logic
442
446
 
443
447
  (0, _useEkho.default)({
444
448
  audioType: currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType,
@@ -448,14 +452,14 @@ var DialogComponent = function DialogComponent(_ref) {
448
452
  soundActions: soundActions,
449
453
  emitEvent: emitEvent,
450
454
  onFinish: function onFinish() {
451
- if (autoPlayCond && (currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) !== 'none') {
455
+ if (autoPlayCond) {
452
456
  nextLine();
453
457
  }
454
458
  }
455
459
  }); // Autoplay logic
456
460
 
457
461
  (0, _react.useEffect)(function () {
458
- if (autoPlayCond && (currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) === 'none') {
462
+ if (autoPlayCond && currentMessage.show && ((currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) === 'none' || (currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType) === 'file' && !audio)) {
459
463
  var _currentMessage$text;
460
464
 
461
465
  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);
@@ -465,7 +469,7 @@ var DialogComponent = function DialogComponent(_ref) {
465
469
  return function () {
466
470
  stop();
467
471
  };
468
- }, [currentMessage, nextLine, start, stop, currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType, autoPlayCond]); // Positioning logic
472
+ }, [currentMessage, nextLine, start, stop, currentLine === null || currentLine === void 0 ? void 0 : currentLine.audioType, autoPlayCond, audio]); // Positioning logic
469
473
 
470
474
  var checkBubblePosition = (0, _react.useCallback)(function () {
471
475
  if (bubbleRef.current && currentLine.slots) {
@@ -620,6 +624,7 @@ var DialogComponent = function DialogComponent(_ref) {
620
624
  return [0, 0];
621
625
  }
622
626
  }, /*#__PURE__*/_react.default.createElement("div", {
627
+ dir: (0, _LangIsRtl.default)() ? 'rtl' : 'ltr',
623
628
  className: "dialog-component-controls"
624
629
  }, /*#__PURE__*/_react.default.createElement("button", {
625
630
  disabled: line <= 0 || (lastLine === null || lastLine === void 0 ? void 0 : lastLine.decision) || isBranched,
@@ -627,13 +632,13 @@ var DialogComponent = function DialogComponent(_ref) {
627
632
  onClick: manualBackLine,
628
633
  className: "gat--btn__round ".concat(line <= 0 || lastLine !== null && lastLine !== void 0 && lastLine.decision || isBranched ? 'disabled' : '')
629
634
  }, /*#__PURE__*/_react.default.createElement("span", {
630
- className: "icon-back"
635
+ className: (0, _LangIsRtl.default)() ? 'icon-next' : 'icon-back'
631
636
  })), /*#__PURE__*/_react.default.createElement("button", {
632
637
  className: "gat--btn__round",
633
638
  type: "button",
634
639
  onClick: manualNextLine
635
640
  }, /*#__PURE__*/_react.default.createElement("span", {
636
- className: "icon-next"
641
+ className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
637
642
  })))) : null);
638
643
  };
639
644
 
@@ -28,6 +28,7 @@ var SpeechBubbleComponent = /*#__PURE__*/_react.default.forwardRef(function (_re
28
28
  };
29
29
 
30
30
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
31
+ dir: "auto",
31
32
  ref: ref,
32
33
  className: "\n speech-bubble\n ".concat(message.left && message.inScene ? 'speech-bubble--arrow-left' : '', "\n ").concat(!message.left && message.inScene ? 'speech-bubble--arrow-right' : '', "\n ").concat(message.top && message.inScene ? 'arrow-top' : '', "\n ").concat(message.thinkful || message.voiceOver ? 'speech-bubble--italic' : '', "\n ")
33
34
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -20,6 +20,7 @@ var Tooltip = function Tooltip(_ref) {
20
20
  };
21
21
 
22
22
  return /*#__PURE__*/_react.default.createElement("div", {
23
+ dir: "auto",
23
24
  className: "puzzle-frame__info--tooltip"
24
25
  }, translate('puzzles.counterTooltip'));
25
26
  };
@@ -70,7 +70,8 @@ var InventoryItem = function InventoryItem(_ref) {
70
70
  };
71
71
 
72
72
  return /*#__PURE__*/_react.default.createElement("div", {
73
- className: "inventory--layer__info"
73
+ className: "inventory--layer__info",
74
+ dir: "auto"
74
75
  }, /*#__PURE__*/_react.default.createElement("div", {
75
76
  className: "inventory--layer__info--popup fadeIn--animation"
76
77
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -124,7 +124,8 @@ var LecturesComponent = function LecturesComponent(_ref) {
124
124
  }, /*#__PURE__*/_react.default.createElement("div", {
125
125
  className: "readings--title"
126
126
  }, name), /*#__PURE__*/_react.default.createElement("div", {
127
- className: "readings--text"
127
+ className: "readings--text",
128
+ dir: "auto"
128
129
  }, currentLecture ? (0, _htmlReactParser.default)(currentLecture) : null), !viewed ? /*#__PURE__*/_react.default.createElement(_LectureButtons.default, {
129
130
  goToLecture: goToLecture,
130
131
  close: close,
@@ -13,6 +13,10 @@ var _reactPdf = require("react-pdf");
13
13
 
14
14
  var _deviceDetection = require("../../../helpers/deviceDetection");
15
15
 
16
+ var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
16
20
  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); }
17
21
 
18
22
  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; }
@@ -161,7 +165,8 @@ var PdfVisor = function PdfVisor(_ref) {
161
165
  };
162
166
 
163
167
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
164
- className: "pdf-box"
168
+ className: "pdf-box",
169
+ dir: (0, _LangIsRtl.default)() ? 'rtl' : 'auto'
165
170
  }, /*#__PURE__*/_react.default.createElement("div", {
166
171
  className: "pdf-box__scrollwrap"
167
172
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -184,7 +189,7 @@ var PdfVisor = function PdfVisor(_ref) {
184
189
  return turnPage(-1);
185
190
  }
186
191
  }, /*#__PURE__*/_react.default.createElement("span", {
187
- className: "icon-back"
192
+ className: (0, _LangIsRtl.default)() ? 'icon-next' : 'icon-back'
188
193
  })), /*#__PURE__*/_react.default.createElement("button", {
189
194
  className: "pdf-box__arrow pdf-box__arrow--right gat--btn__round ".concat(currentPage === pages ? 'pdf-box__arrow--hidden' : ''),
190
195
  type: "button",
@@ -193,7 +198,7 @@ var PdfVisor = function PdfVisor(_ref) {
193
198
  return turnPage(1);
194
199
  }
195
200
  }, /*#__PURE__*/_react.default.createElement("span", {
196
- className: "icon-next"
201
+ className: (0, _LangIsRtl.default)() ? 'icon-back' : 'icon-next'
197
202
  })))));
198
203
  };
199
204
 
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.16.0",
5
+ "version": "1.16.2",
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.4",
16
+ "@gamelearn/arcade-styles": "0.11.7",
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",