@gamelearn/arcade-components 0.6.2 → 0.7.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.
Files changed (32) hide show
  1. package/README.md +32 -0
  2. package/dist/components/arcade-render/element/index.js +16 -8
  3. package/dist/components/arcade-render/scene/index.js +1 -0
  4. package/dist/components/cards-selector-puzzle-component/components/Board/index.js +195 -0
  5. package/dist/components/cards-selector-puzzle-component/components/Card/index.js +134 -0
  6. package/dist/components/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +155 -0
  7. package/dist/components/cards-selector-puzzle-component/index.js +13 -0
  8. package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +159 -0
  9. package/dist/components/comic-component/components/ComicComponent.js +5 -2
  10. package/dist/components/comic-component/components/Slide.js +9 -11
  11. package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +13 -25
  12. package/dist/components/decision-component/components/DecisionBody.js +2 -2
  13. package/dist/components/{image-click-wrapper-component/components/Feedback/index.js → feedback-component/components/FeedbackComponent.js} +22 -14
  14. package/dist/components/feedback-component/index.js +13 -0
  15. package/dist/components/feedback-component/mocks/mockForStory.js +20 -0
  16. package/dist/components/frame-click-puzzle-component/components/Counter/index.js +29 -0
  17. package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +121 -0
  18. package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +174 -0
  19. package/dist/components/frame-click-puzzle-component/components/PlayButton/index.js +76 -0
  20. package/dist/components/frame-click-puzzle-component/components/Tooltip/index.js +28 -0
  21. package/dist/components/frame-click-puzzle-component/index.js +13 -0
  22. package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +164 -0
  23. package/dist/components/image-click-puzzle-component/mocks/mockForStory.js +7 -0
  24. package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +14 -63
  25. package/dist/components/image-click-wrapper-component/mocks/mockForStory.js +3 -0
  26. package/dist/components/index.js +8 -0
  27. package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +31 -6
  28. package/dist/components/terminal-puzzle-component/components/Visor/index.js +10 -4
  29. package/dist/helpers/drawLOD.js +28 -12
  30. package/dist/helpers/useGLB.js +2 -2
  31. package/package.json +4 -5
  32. package/dist/components/keyboard-puzzle-component/components/FeedbackMessage.js +0 -30
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mockProps2 = exports.mockProps = void 0;
7
+
8
+ var emitEvent = function emitEvent() {
9
+ console.log('Emit event called');
10
+ };
11
+
12
+ var mockProps = {
13
+ emitEvent: emitEvent,
14
+ disableExit: function disableExit() {},
15
+ setResolveAction: function setResolveAction() {},
16
+ cards: [{
17
+ text: 'Corellian',
18
+ imgName: 'puerta.png',
19
+ imgId: '5df20e1ad3c6ce0015c2933b',
20
+ correct: true,
21
+ img: {
22
+ order: 1,
23
+ url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/6092b996901f3e00124638fb/star_wars_correllian_scout_ship_by_jonnygray_dbtiwhh-fullview-removebg-preview.png',
24
+ imgName: 'corelian.png',
25
+ resourceId: '6007f80eac41ad001120f135'
26
+ }
27
+ }, {
28
+ text: 'Cruiser',
29
+ imgName: 'cruiser.png',
30
+ imgId: '5df20e1ad3c6ce0015c2933b',
31
+ correct: false,
32
+ img: {
33
+ url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/6092b941901f3e00124638f0/c7409fc0de568a410e83ac35737b4859-removebg-preview.png',
34
+ imgName: 'cruiser.png',
35
+ resourceId: '6007f80eac41ad001120f135'
36
+ }
37
+ }, {
38
+ text: 'Transport',
39
+ imgName: 'Transport.png',
40
+ imgId: '5df20e1ad3c6ce0015c2933b',
41
+ correct: true,
42
+ img: {
43
+ order: 2,
44
+ url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/6092c1d4901f3e00124647b5/Zeta-class_shuttle_ROUVG-removebg-preview.png',
45
+ imgName: 'transport.png',
46
+ resourceId: '6007f80eac41ad001120f135'
47
+ }
48
+ }],
49
+ info: {
50
+ hint: {
51
+ active: true,
52
+ desc: 'asdfas'
53
+ },
54
+ instructions: 'Instructions for doing this Puzzle',
55
+ description: 'This is a puzzle about select cards',
56
+ solution: {
57
+ right: {
58
+ desc: 'correctSolution',
59
+ rewards: [{
60
+ id: 'k2koxnkq',
61
+ name: 'Power',
62
+ points: 22,
63
+ type: 'score'
64
+ }]
65
+ },
66
+ wrong: {
67
+ desc: 'wrongSolution',
68
+ rewards: [{
69
+ id: 'k2koxnkq',
70
+ name: 'Power',
71
+ points: -33,
72
+ type: 'score'
73
+ }]
74
+ }
75
+ },
76
+ resolve: {
77
+ rewards: [{
78
+ id: 'k2koxnkq',
79
+ name: 'Power',
80
+ points: -103,
81
+ type: 'score'
82
+ }]
83
+ }
84
+ }
85
+ };
86
+ exports.mockProps = mockProps;
87
+ var mockProps2 = {
88
+ emitEvent: emitEvent,
89
+ disableExit: function disableExit() {},
90
+ setResolveAction: function setResolveAction() {},
91
+ cards: [{
92
+ text: 'Corellian',
93
+ imgName: 'puerta.png',
94
+ imgId: '5df20e1ad3c6ce0015c2933b',
95
+ correct: true,
96
+ img: {
97
+ url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/6092b996901f3e00124638fb/star_wars_correllian_scout_ship_by_jonnygray_dbtiwhh-fullview-removebg-preview.png',
98
+ imgName: 'corelian.png',
99
+ resourceId: '6007f80eac41ad001120f135'
100
+ }
101
+ }, {
102
+ text: 'Cruiser',
103
+ imgName: 'cruiser.png',
104
+ imgId: '5df20e1ad3c6ce0015c2933b',
105
+ correct: false,
106
+ img: {
107
+ url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/6092b941901f3e00124638f0/c7409fc0de568a410e83ac35737b4859-removebg-preview.png',
108
+ imgName: 'cruiser.png',
109
+ resourceId: '6007f80eac41ad001120f135'
110
+ }
111
+ }, {
112
+ text: 'Transport',
113
+ imgName: 'Transport.png',
114
+ imgId: '5df20e1ad3c6ce0015c2933b',
115
+ correct: true,
116
+ img: {
117
+ url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/6092c1d4901f3e00124647b5/Zeta-class_shuttle_ROUVG-removebg-preview.png',
118
+ imgName: 'transport.png',
119
+ resourceId: '6007f80eac41ad001120f135'
120
+ }
121
+ }],
122
+ info: {
123
+ hint: {
124
+ active: true,
125
+ desc: 'asdfas'
126
+ },
127
+ instructions: 'Instructions for doing this Puzzle',
128
+ description: 'This is a puzzle about select cards',
129
+ solution: {
130
+ right: {
131
+ desc: 'correctSolution',
132
+ rewards: [{
133
+ id: 'k2koxnkq',
134
+ name: 'Power',
135
+ points: 22,
136
+ type: 'score'
137
+ }]
138
+ },
139
+ wrong: {
140
+ desc: 'wrongSolution',
141
+ rewards: [{
142
+ id: 'k2koxnkq',
143
+ name: 'Power',
144
+ points: -33,
145
+ type: 'score'
146
+ }]
147
+ }
148
+ },
149
+ resolve: {
150
+ rewards: [{
151
+ id: 'k2koxnkq',
152
+ name: 'Power',
153
+ points: -103,
154
+ type: 'score'
155
+ }]
156
+ }
157
+ }
158
+ };
159
+ exports.mockProps2 = mockProps2;
@@ -31,7 +31,9 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31
31
 
32
32
  var ComicComponent = function ComicComponent(_ref) {
33
33
  var slides = _ref.slides,
34
- emitEvent = _ref.emitEvent;
34
+ emitEvent = _ref.emitEvent,
35
+ _ref$soundActions = _ref.soundActions,
36
+ soundActions = _ref$soundActions === void 0 ? [function () {}, function () {}] : _ref$soundActions;
35
37
 
36
38
  var _useState = (0, _react.useState)(0),
37
39
  _useState2 = _slicedToArray(_useState, 2),
@@ -73,7 +75,8 @@ var ComicComponent = function ComicComponent(_ref) {
73
75
  }, /*#__PURE__*/_react.default.createElement(_Slide.default, {
74
76
  key: "comic page ".concat(slides[slideCount].slideOrder),
75
77
  slide: slides[slideCount],
76
- transition: slideTransition
78
+ transition: slideTransition,
79
+ soundActions: soundActions
77
80
  }), /*#__PURE__*/_react.default.createElement("div", {
78
81
  className: classControls
79
82
  }, slideCount > 0 && /*#__PURE__*/_react.default.createElement("button", {
@@ -11,8 +11,6 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _Vignette = _interopRequireDefault(require("./Vignette"));
13
13
 
14
- var _useSound3 = _interopRequireDefault(require("use-sound"));
15
-
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
15
 
18
16
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
@@ -32,16 +30,14 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
32
30
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
31
 
34
32
  var Slide = function Slide(_ref) {
35
- var _slide$audio;
36
-
37
33
  var slide = _ref.slide,
38
- transition = _ref.transition;
34
+ transition = _ref.transition,
35
+ soundActions = _ref.soundActions;
39
36
  var slideTransition = slide.transitionEffects || transition;
40
37
 
41
- var _useSound = (0, _useSound3.default)(slide === null || slide === void 0 ? void 0 : (_slide$audio = slide.audio) === null || _slide$audio === void 0 ? void 0 : _slide$audio.url),
42
- _useSound2 = _slicedToArray(_useSound, 2),
43
- play = _useSound2[0],
44
- stop = _useSound2[1].stop;
38
+ var _soundActions = _slicedToArray(soundActions, 2),
39
+ playSound = _soundActions[0],
40
+ stop = _soundActions[1];
45
41
 
46
42
  var _useState = (0, _react.useState)(false),
47
43
  _useState2 = _slicedToArray(_useState, 2),
@@ -55,11 +51,13 @@ var Slide = function Slide(_ref) {
55
51
  };
56
52
  }, []);
57
53
  (0, _react.useEffect)(function () {
58
- isMounted && play();
54
+ var _slide$audio;
55
+
56
+ isMounted && playSound(slide === null || slide === void 0 ? void 0 : (_slide$audio = slide.audio) === null || _slide$audio === void 0 ? void 0 : _slide$audio.url);
59
57
  return function () {
60
58
  stop();
61
59
  };
62
- }, [play, stop, isMounted]);
60
+ }, [playSound, stop, slide, isMounted]);
63
61
  return /*#__PURE__*/_react.default.createElement("div", {
64
62
  className: "comic--slide__item ".concat(slideTransition)
65
63
  }, slide.vignettes.map(function (vignette) {
@@ -9,10 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
- var _useSound3 = _interopRequireDefault(require("use-sound"));
15
-
16
12
  var _SlotList = _interopRequireDefault(require("./SlotList"));
17
13
 
18
14
  var _Message = _interopRequireDefault(require("./Message"));
@@ -46,22 +42,22 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
46
42
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
47
43
 
48
44
  var ConversationProViewer = function ConversationProViewer(_ref) {
49
- var _lines$currentLine, _lines$currentLine$au, _background$img;
45
+ var _background$img;
50
46
 
51
47
  var emitEvent = _ref.emitEvent,
52
48
  lines = _ref.lines,
53
49
  characters = _ref.characters,
54
- background = _ref.background;
50
+ background = _ref.background,
51
+ soundActions = _ref.soundActions;
55
52
 
56
53
  var _useState = (0, _react.useState)(0),
57
54
  _useState2 = _slicedToArray(_useState, 2),
58
55
  currentLine = _useState2[0],
59
56
  setCurrentLine = _useState2[1];
60
57
 
61
- var _useSound = (0, _useSound3.default)((_lines$currentLine = lines[currentLine]) === null || _lines$currentLine === void 0 ? void 0 : (_lines$currentLine$au = _lines$currentLine.audio) === null || _lines$currentLine$au === void 0 ? void 0 : _lines$currentLine$au.url),
62
- _useSound2 = _slicedToArray(_useSound, 2),
63
- play = _useSound2[0],
64
- stop = _useSound2[1].stop;
58
+ var _soundActions = _slicedToArray(soundActions, 2),
59
+ playSound = _soundActions[0],
60
+ stop = _soundActions[1];
65
61
 
66
62
  var backgroundImage = (background === null || background === void 0 ? void 0 : (_background$img = background.img) === null || _background$img === void 0 ? void 0 : _background$img.url) || null;
67
63
  var currentLineData = lines[currentLine];
@@ -155,11 +151,13 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
155
151
  };
156
152
 
157
153
  (0, _react.useEffect)(function () {
158
- play();
154
+ var _lines$currentLine, _lines$currentLine$au;
155
+
156
+ playSound((_lines$currentLine = lines[currentLine]) === null || _lines$currentLine === void 0 ? void 0 : (_lines$currentLine$au = _lines$currentLine.audio) === null || _lines$currentLine$au === void 0 ? void 0 : _lines$currentLine$au.url);
159
157
  return function () {
160
158
  stop();
161
159
  };
162
- }, [currentLine, play, stop]);
160
+ }, [currentLine, lines, playSound, stop]);
163
161
 
164
162
  var decisionPayload = _objectSpread(_objectSpread({}, currentLineData.payload), {}, {
165
163
  onFinish: handleClickNext,
@@ -191,7 +189,7 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
191
189
  current: currentMessage,
192
190
  voiceOver: voiceOver
193
191
  }) : /*#__PURE__*/_react.default.createElement("div", null), /*#__PURE__*/_react.default.createElement("div", {
194
- className: "conversation--controls"
192
+ className: "conversation--controls arcade-conversation--controls"
195
193
  }, /*#__PURE__*/_react.default.createElement("button", {
196
194
  className: "gat--btn__round ".concat(currentLine > 0 && !lastLine.decision ? '' : 'visibility--hidden'),
197
195
  type: "button",
@@ -207,20 +205,10 @@ var ConversationProViewer = function ConversationProViewer(_ref) {
207
205
  }))))));
208
206
  };
209
207
 
210
- ConversationProViewer.propTypes = {
211
- emitEvent: _propTypes.default.func,
212
- background: _propTypes.default.shape({}),
213
- lines: _propTypes.default.arrayOf(_propTypes.default.shape({})).isRequired,
214
- characters: _propTypes.default.arrayOf(_propTypes.default.shape({
215
- character: _propTypes.default.string,
216
- emotion: _propTypes.default.string,
217
- slot: _propTypes.default.number,
218
- text: _propTypes.default.string
219
- })).isRequired
220
- };
221
208
  ConversationProViewer.defaultProps = {
222
209
  background: {},
223
- emitEvent: function emitEvent() {}
210
+ emitEvent: function emitEvent() {},
211
+ soundActions: [function () {}, function () {}]
224
212
  };
225
213
  var _default = ConversationProViewer;
226
214
  exports.default = _default;
@@ -71,7 +71,7 @@ var DecisionBody = function DecisionBody(_ref) {
71
71
  var BasicDecision = function BasicDecision(_ref2) {
72
72
  var defaultChildren = _ref2.children;
73
73
  return /*#__PURE__*/_react.default.createElement("div", {
74
- className: "popup popup__large popup__basicDecision ".concat(showingResults ? 'popup__feedback' : '')
74
+ className: "popup popup__large popup__basicDecision arcade-popup__basicDecision ".concat(showingResults ? 'popup__feedback' : '')
75
75
  }, /*#__PURE__*/_react.default.createElement("div", {
76
76
  className: "popup--info"
77
77
  }, showingResults ? defaultChildren : /*#__PURE__*/_react.default.createElement("span", {
@@ -101,7 +101,7 @@ var DecisionBody = function DecisionBody(_ref) {
101
101
  }, question !== '' && /*#__PURE__*/_react.default.createElement("span", {
102
102
  className: "conversation--main__text"
103
103
  }, question), /*#__PURE__*/_react.default.createElement(_Options.default, optionsProps)), /*#__PURE__*/_react.default.createElement("div", {
104
- className: "conversation--controls conversation--controls--fixedbottom"
104
+ className: "conversation--controls arcade-conversation--controls conversation--controls--fixedbottom"
105
105
  }, /*#__PURE__*/_react.default.createElement("button", {
106
106
  className: "gat--btn__round disabled",
107
107
  type: "button"
@@ -9,18 +9,19 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
12
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
17
13
 
18
14
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
19
15
 
20
- var Feedback = function Feedback(_ref) {
16
+ var FeedbackComponent = function FeedbackComponent(_ref) {
21
17
  var text = _ref.text,
22
18
  success = _ref.success,
23
- playSound = _ref.playSound;
19
+ playSound = _ref.playSound,
20
+ additionalStyle = _ref.additionalStyle,
21
+ functionOnClose = _ref.functionOnClose,
22
+ secondText = _ref.secondText,
23
+ _ref$puzzleHeaderClas = _ref.puzzleHeaderClass,
24
+ puzzleHeaderClass = _ref$puzzleHeaderClas === void 0 ? "puzzle--image__result" : _ref$puzzleHeaderClas;
24
25
  (0, _react.useEffect)(function () {
25
26
  if (text && playSound) {
26
27
  playSound(success ? 'score' : 'fail');
@@ -32,19 +33,26 @@ var Feedback = function Feedback(_ref) {
32
33
  }
33
34
 
34
35
  return /*#__PURE__*/_react.default.createElement("div", {
35
- className: "puzzle--image__result ".concat(success ? 'success' : 'failed')
36
+ className: "".concat(puzzleHeaderClass, " ").concat(additionalStyle, " ").concat(success ? 'success' : 'failed')
37
+ }, secondText && /*#__PURE__*/_react.default.createElement("span", {
38
+ className: "puzzle--terminal__visor--file"
36
39
  }, /*#__PURE__*/_react.default.createElement("span", {
40
+ className: "puzzle--terminal__icon ".concat(additionalStyle)
41
+ }), /*#__PURE__*/_react.default.createElement("span", null, secondText)), /*#__PURE__*/_react.default.createElement("span", {
37
42
  className: "title"
38
- }, text));
43
+ }, text), functionOnClose && /*#__PURE__*/_react.default.createElement("span", {
44
+ onClick: function onClick() {
45
+ return functionOnClose();
46
+ },
47
+ className: "puzzle--terminal__folder--close"
48
+ }, /*#__PURE__*/_react.default.createElement("span", {
49
+ className: "icon-close"
50
+ })));
39
51
  };
40
52
 
41
- Feedback.defaultProps = {
53
+ FeedbackComponent.defaultProps = {
42
54
  text: '',
43
55
  success: false
44
56
  };
45
- Feedback.propTypes = {
46
- text: _propTypes.default.string,
47
- success: _propTypes.default.bool
48
- };
49
- var _default = Feedback;
57
+ var _default = FeedbackComponent;
50
58
  exports.default = _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _FeedbackComponent = _interopRequireDefault(require("./components/FeedbackComponent"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = _FeedbackComponent.default;
13
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mockProps2 = exports.mockProps = void 0;
7
+ var soundActions = [function (sound) {
8
+ console.log('PlaySound called :', sound);
9
+ }, function () {}];
10
+ var mockProps = {
11
+ soundActions: soundActions,
12
+ text: 'Feedback Text Success',
13
+ success: true
14
+ };
15
+ exports.mockProps = mockProps;
16
+ var mockProps2 = {
17
+ soundActions: soundActions,
18
+ text: 'Feedback Text Failed'
19
+ };
20
+ exports.mockProps2 = mockProps2;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Tooltip = _interopRequireDefault(require("../Tooltip"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ var Counter = function Counter(_ref) {
15
+ var current = _ref.current,
16
+ total = _ref.total,
17
+ tooltip = _ref.tooltip,
18
+ emitEvent = _ref.emitEvent;
19
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, tooltip ? /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
20
+ emitEvent: emitEvent
21
+ }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement("div", {
22
+ className: "puzzle-frame__info--frames"
23
+ }, /*#__PURE__*/_react.default.createElement("span", {
24
+ className: "info-circle"
25
+ }), /*#__PURE__*/_react.default.createElement("span", null, current, " / ", total)));
26
+ };
27
+
28
+ var _default = Counter;
29
+ exports.default = _default;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _imageClickWrapperComponent = _interopRequireDefault(require("../../image-click-wrapper-component"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
17
+
18
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
19
+
20
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+
22
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
23
+
24
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
29
+
30
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
31
+
32
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
33
+
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
35
+
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
37
+
38
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
+
40
+ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
41
+ var list = _ref.list,
42
+ index = _ref.index,
43
+ puzzlesCompiledRef = _ref.puzzlesCompiledRef,
44
+ framesCompleted = _ref.framesCompleted,
45
+ handleFinish = _ref.handleFinish,
46
+ setRewards = _ref.setRewards,
47
+ accRewards = _ref.accRewards,
48
+ setIndex = _ref.setIndex,
49
+ setFramesCompleted = _ref.setFramesCompleted,
50
+ handleResolve = _ref.handleResolve,
51
+ loadPuzzleStatus = _ref.loadPuzzleStatus,
52
+ soundActions = _ref.soundActions,
53
+ setResolveAction = _ref.setResolveAction,
54
+ disableExit = _ref.disableExit,
55
+ description = _ref.description;
56
+ var props = list[index];
57
+ var info = props.info;
58
+ info.description = description;
59
+ (0, _react.useEffect)(function () {
60
+ puzzlesCompiledRef.current += 1;
61
+ }, [puzzlesCompiledRef]);
62
+ var onComplete = (0, _react.useCallback)(function (rw) {
63
+ var emit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
64
+
65
+ var updatedCompleted = _objectSpread(_objectSpread({}, framesCompleted), {}, _defineProperty({}, index, true));
66
+
67
+ if (Object.keys(updatedCompleted).length === list.length) {
68
+ handleFinish(rw);
69
+ } else {
70
+ setRewards([].concat(_toConsumableArray(accRewards), _toConsumableArray(rw)));
71
+ setIndex(index + 1 > list.length - 1 ? 0 : index + 1);
72
+ }
73
+
74
+ setFramesCompleted(updatedCompleted);
75
+
76
+ if (emit) {
77
+ handleResolve();
78
+ }
79
+ }, [accRewards, framesCompleted, handleFinish, handleResolve, index, list.length, setFramesCompleted, setIndex, setRewards]);
80
+
81
+ var onResolve = function onResolve(resolve) {
82
+ resolve(false);
83
+ setTimeout(function () {
84
+ onComplete([], false);
85
+ }, 2000);
86
+ };
87
+
88
+ var onError = function onError(rw) {
89
+ return setRewards([].concat(_toConsumableArray(accRewards), _toConsumableArray(rw)));
90
+ };
91
+
92
+ (0, _react.useEffect)(function () {
93
+ if (!!loadPuzzleStatus) {
94
+ setTimeout(function () {
95
+ onComplete([], false);
96
+ }, 2000);
97
+ }
98
+ }, [loadPuzzleStatus, onComplete]);
99
+ return /*#__PURE__*/_react.default.createElement(_imageClickWrapperComponent.default, _extends({
100
+ key: index
101
+ }, _objectSpread({}, props), {
102
+ className: "puzzle-frame__canvas",
103
+ puzzle: {
104
+ name: "frame-click-puzzle_".concat(index),
105
+ component: 'frame-click-puzzle'
106
+ },
107
+ emitFinish: onComplete,
108
+ emitError: onError,
109
+ emitResolve: onResolve,
110
+ hideContinue: true,
111
+ disableInfo: puzzlesCompiledRef.current > 1,
112
+ defaultCompleted: framesCompleted[index] || !!loadPuzzleStatus,
113
+ isLast: Object.values(framesCompleted).length - 1 === list.length - 1,
114
+ soundActions: soundActions,
115
+ setResolveAction: setResolveAction,
116
+ disableExit: disableExit
117
+ }));
118
+ };
119
+
120
+ var _default = CurrentFramePuzzle;
121
+ exports.default = _default;