@gamelearn/arcade-components 2.27.0 → 2.29.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.
Files changed (206) hide show
  1. package/dist/components/animation-component/components/AnimationComponent.js +10 -28
  2. package/dist/components/animation-component/index.js +0 -3
  3. package/dist/components/animation-component/mocks/mockForStory.js +0 -3
  4. package/dist/components/auto-evaluation-component/components/AutoEvaluation.js +30 -71
  5. package/dist/components/auto-evaluation-component/components/EndScreen.js +1 -9
  6. package/dist/components/auto-evaluation-component/components/StartScreen.js +2 -6
  7. package/dist/components/auto-evaluation-component/index.js +0 -3
  8. package/dist/components/auto-evaluation-component/mocks/mockForStory.js +0 -2
  9. package/dist/components/cards-selector-puzzle-component/components/Board/index.js +23 -55
  10. package/dist/components/cards-selector-puzzle-component/components/Card/index.js +4 -23
  11. package/dist/components/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +41 -92
  12. package/dist/components/cards-selector-puzzle-component/index.js +0 -3
  13. package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +4 -10
  14. package/dist/components/cartel-component/components/CartelComponent.js +16 -42
  15. package/dist/components/cartel-component/index.js +0 -3
  16. package/dist/components/chained-image-click-puzzle-component/components/ChainedImageClickPuzzleComponent.js +20 -38
  17. package/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js +25 -64
  18. package/dist/components/chained-image-click-puzzle-component/index.js +0 -3
  19. package/dist/components/chained-image-click-puzzle-component/mocks/mockForStory.js +1 -2
  20. package/dist/components/comic-component/components/ComicComponent.js +37 -81
  21. package/dist/components/comic-component/components/Slide.js +2 -7
  22. package/dist/components/comic-component/components/Vignette.js +7 -23
  23. package/dist/components/comic-component/index.js +0 -3
  24. package/dist/components/comic-component/mocks/mockForStory.js +1 -2
  25. package/dist/components/conversational-component/components/ConversationalComponent.js +15 -39
  26. package/dist/components/conversational-component/index.js +0 -3
  27. package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +54 -137
  28. package/dist/components/conversational-pro-component/components/Message.js +1 -9
  29. package/dist/components/conversational-pro-component/components/Slot.js +3 -20
  30. package/dist/components/conversational-pro-component/components/SlotList.js +16 -40
  31. package/dist/components/conversational-pro-component/components/scene/Panel.js +12 -54
  32. package/dist/components/conversational-pro-component/components/scene/Panels.js +10 -17
  33. package/dist/components/conversational-pro-component/components/scene/index.js +11 -30
  34. package/dist/components/conversational-pro-component/index.js +0 -3
  35. package/dist/components/conversational-pro-component/mocks/mockForStory.js +1 -2
  36. package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +35 -89
  37. package/dist/components/cracker-puzzle-component/components/DrawGrid/index.js +3 -7
  38. package/dist/components/cracker-puzzle-component/components/DrawItem/index.js +4 -9
  39. package/dist/components/cracker-puzzle-component/components/DrawRow/index.js +4 -9
  40. package/dist/components/cracker-puzzle-component/components/helpers.js +15 -55
  41. package/dist/components/cracker-puzzle-component/index.js +0 -3
  42. package/dist/components/cracker-puzzle-component/mocks/mockForStory.js +0 -2
  43. package/dist/components/decision-component/components/DecisionBody.js +26 -48
  44. package/dist/components/decision-component/components/DecisionComponent.js +22 -70
  45. package/dist/components/decision-component/components/Feedback.js +2 -11
  46. package/dist/components/decision-component/components/Options.js +12 -31
  47. package/dist/components/decision-component/index.js +0 -3
  48. package/dist/components/decision-component/mocks/mockForStory.js +0 -2
  49. package/dist/components/dialog-component/components/BubbleWrapper.js +1 -7
  50. package/dist/components/dialog-component/components/DialogComponent.js +118 -338
  51. package/dist/components/dialog-component/components/DialogDecision.js +3 -13
  52. package/dist/components/dialog-component/components/SpeechBubbleComponent.js +6 -24
  53. package/dist/components/dialog-component/index.js +0 -3
  54. package/dist/components/dialog-component/mocks/mockForStory.js +1 -5
  55. package/dist/components/drag-item-puzzle-component/components/DragItemPuzzleComponent.js +34 -90
  56. package/dist/components/drag-item-puzzle-component/components/Messages.js +0 -4
  57. package/dist/components/drag-item-puzzle-component/index.js +0 -3
  58. package/dist/components/drag-item-puzzle-component/mocks/mockForStory.js +1 -2
  59. package/dist/components/feedback-component/components/FeedbackComponent.js +34 -52
  60. package/dist/components/feedback-component/index.js +0 -3
  61. package/dist/components/feedback-component/mocks/mockForStory.js +1 -2
  62. package/dist/components/frame-click-puzzle-component/components/Counter/index.js +3 -8
  63. package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +36 -68
  64. package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +33 -68
  65. package/dist/components/frame-click-puzzle-component/components/Tooltip/index.js +0 -6
  66. package/dist/components/frame-click-puzzle-component/index.js +0 -3
  67. package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +1 -2
  68. package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +29 -69
  69. package/dist/components/hacker-puzzle-component/index.js +0 -3
  70. package/dist/components/hacker-puzzle-component/mocks/mockForStory.js +0 -2
  71. package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +48 -123
  72. package/dist/components/hanged-puzzle-component/index.js +0 -3
  73. package/dist/components/hanged-puzzle-component/mocks/mockForStory.js +0 -3
  74. package/dist/components/hanged-puzzle-component/utils.js +0 -20
  75. package/dist/components/image-click-puzzle-component/components/ImageClickPuzzleComponent.js +1 -8
  76. package/dist/components/image-click-puzzle-component/index.js +0 -3
  77. package/dist/components/image-click-puzzle-component/mocks/mockForStory.js +0 -2
  78. package/dist/components/image-click-wrapper-component/components/CountDown/index.js +0 -4
  79. package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +67 -134
  80. package/dist/components/image-click-wrapper-component/components/TimerDialog/index.js +2 -6
  81. package/dist/components/image-click-wrapper-component/index.js +0 -3
  82. package/dist/components/image-click-wrapper-component/mocks/mockForStory.js +0 -2
  83. package/dist/components/image-component/components/ImageComponent.js +14 -33
  84. package/dist/components/image-component/index.js +0 -3
  85. package/dist/components/image-component/mocks/mockForStory.js +0 -2
  86. package/dist/components/index.js +0 -39
  87. package/dist/components/inventory-item/components/InventoryItem.js +9 -35
  88. package/dist/components/inventory-item/index.js +0 -3
  89. package/dist/components/inventory-item/mocks/mockForStory.js +0 -3
  90. package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +33 -75
  91. package/dist/components/keyboard-puzzle-component/index.js +0 -3
  92. package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +0 -2
  93. package/dist/components/konva-components/Area/index.js +15 -44
  94. package/dist/components/konva-components/KonvaMapper.js +19 -42
  95. package/dist/components/lectures-component/components/LectureButtons.js +12 -13
  96. package/dist/components/lectures-component/components/LecturesComponent.js +29 -55
  97. package/dist/components/lectures-component/index.js +0 -3
  98. package/dist/components/lectures-component/mocks/mockForStory.js +6 -9
  99. package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +38 -80
  100. package/dist/components/login-puzzle-component/index.js +0 -3
  101. package/dist/components/login-puzzle-component/mocks/mockForStory.js +0 -2
  102. package/dist/components/notice-component/components/NoticeComponent.js +8 -21
  103. package/dist/components/notice-component/index.js +0 -3
  104. package/dist/components/notice-component/mocks/mockForStory.js +0 -2
  105. package/dist/components/pattern-component/components/PatternComponent.js +8 -24
  106. package/dist/components/pattern-component/index.js +0 -3
  107. package/dist/components/pattern-component/mocks/mockForStory.js +0 -2
  108. package/dist/components/pdf-component/components/PdfComponent.js +23 -55
  109. package/dist/components/pdf-component/components/PdfVisor.js +22 -58
  110. package/dist/components/pdf-component/index.js +0 -3
  111. package/dist/components/pdf-component/mocks/mockForProps.js +1 -2
  112. package/dist/components/referral-component/components/EmailPill.js +2 -6
  113. package/dist/components/referral-component/components/ReferralComponent.js +30 -59
  114. package/dist/components/referral-component/components/StepOne.js +14 -48
  115. package/dist/components/referral-component/components/StepTwo.js +8 -23
  116. package/dist/components/referral-component/index.js +0 -3
  117. package/dist/components/referral-component/mocks/mockForStory.js +0 -2
  118. package/dist/components/survey-component/components/ApplicableBox.js +8 -15
  119. package/dist/components/survey-component/components/OpinionBox.js +8 -15
  120. package/dist/components/survey-component/components/SurveyComponent.js +13 -40
  121. package/dist/components/survey-component/components/TextBox.js +7 -13
  122. package/dist/components/survey-component/index.js +0 -3
  123. package/dist/components/survey-component/mocks/mockForStory.js +0 -2
  124. package/dist/components/terminal-puzzle-component/components/FilesGroup/Item.js +1 -6
  125. package/dist/components/terminal-puzzle-component/components/FilesGroup/index.js +4 -10
  126. package/dist/components/terminal-puzzle-component/components/Image/index.js +2 -6
  127. package/dist/components/terminal-puzzle-component/components/TerminalPuzzleComponent.js +26 -65
  128. package/dist/components/terminal-puzzle-component/components/Visor/index.js +15 -35
  129. package/dist/components/terminal-puzzle-component/components/utils/index.js +0 -3
  130. package/dist/components/terminal-puzzle-component/index.js +0 -3
  131. package/dist/components/terminal-puzzle-component/mocks/mockForStory.js +1 -2
  132. package/dist/components/test-component/components/Container.js +26 -60
  133. package/dist/components/test-component/components/Feedbacks.js +3 -13
  134. package/dist/components/test-component/components/Questions.js +11 -45
  135. package/dist/components/test-component/components/Results.js +28 -52
  136. package/dist/components/test-component/components/TestComponent.js +59 -110
  137. package/dist/components/test-component/index.js +0 -3
  138. package/dist/components/test-component/mocks/mockForStory.js +4 -8
  139. package/dist/components/text-click-puzzle-component/components/TextClickPuzzleComponent.js +58 -95
  140. package/dist/components/text-click-puzzle-component/index.js +0 -3
  141. package/dist/components/text-click-puzzle-component/mocks/mockForStory.js +1 -2
  142. package/dist/components/text-click-puzzle-component/utils/index.js +6 -31
  143. package/dist/components/url-component/components/UrlComponent.js +16 -34
  144. package/dist/components/url-component/index.js +0 -3
  145. package/dist/components/url-component/mocks/mockForProps.js +0 -2
  146. package/dist/components/video-component/components/VideoComponent.js +11 -25
  147. package/dist/components/video-component/index.js +0 -3
  148. package/dist/components/video-component/mocks/mockForStory.js +0 -2
  149. package/dist/components/video-visor/components/VideoControllers/BufferBar.js +10 -37
  150. package/dist/components/video-visor/components/VideoControllers/ControlButtons.js +2 -6
  151. package/dist/components/video-visor/components/VideoControllers/FinishedVideoButtons.js +1 -5
  152. package/dist/components/video-visor/components/VideoControllers/PlayInitButton.js +2 -8
  153. package/dist/components/video-visor/components/VideoControllers/SkipButton.js +5 -9
  154. package/dist/components/video-visor/components/VideoControllers/Timer.js +0 -5
  155. package/dist/components/video-visor/components/VideoControllers/VolumeBar.js +4 -20
  156. package/dist/components/video-visor/components/VideoControllers/index.js +17 -29
  157. package/dist/components/video-visor/components/VideoVisor.js +38 -92
  158. package/dist/components/video-visor/index.js +0 -3
  159. package/dist/components/video-visor/mocks/mockForStory.js +1 -2
  160. package/dist/components/web-builder-puzzle-component/Popups/PopupColorComponent/index.js +11 -28
  161. package/dist/components/web-builder-puzzle-component/Popups/PopupImageComponent/index.js +10 -27
  162. package/dist/components/web-builder-puzzle-component/Popups/PopupTextComponent/index.js +13 -36
  163. package/dist/components/web-builder-puzzle-component/Popups/index.js +0 -4
  164. package/dist/components/web-builder-puzzle-component/Templates/Facebook.js +0 -2
  165. package/dist/components/web-builder-puzzle-component/components/EditButton/index.js +1 -5
  166. package/dist/components/web-builder-puzzle-component/components/Feedback/index.js +3 -7
  167. package/dist/components/web-builder-puzzle-component/components/PublishButton/index.js +1 -5
  168. package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/BankBody.js +5 -12
  169. package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/FacebookBody.js +5 -11
  170. package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/index.js +0 -7
  171. package/dist/components/web-builder-puzzle-component/components/WebBuilderFront/index.js +5 -14
  172. package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/BankHeader.js +5 -13
  173. package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/FacebookHeader.js +3 -8
  174. package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/index.js +3 -10
  175. package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js +47 -112
  176. package/dist/components/web-builder-puzzle-component/components/WebBuilderTopBar/index.js +3 -9
  177. package/dist/components/web-builder-puzzle-component/index.js +0 -3
  178. package/dist/components/web-builder-puzzle-component/mocks/mockForStory.js +0 -3
  179. package/dist/components/writer-puzzle-component/components/ElectionComponent.js +13 -30
  180. package/dist/components/writer-puzzle-component/components/FeedbackComponent.js +14 -30
  181. package/dist/components/writer-puzzle-component/components/FeedbackElement.js +2 -6
  182. package/dist/components/writer-puzzle-component/components/FinishedTextComponent.js +1 -6
  183. package/dist/components/writer-puzzle-component/components/FixedComponent.js +17 -52
  184. package/dist/components/writer-puzzle-component/components/SingleElection.js +13 -41
  185. package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +63 -145
  186. package/dist/components/writer-puzzle-component/index.js +0 -3
  187. package/dist/components/writer-puzzle-component/mocks/mockForStory.js +10 -7
  188. package/dist/components/zoom-test/components/ZoomTest.js +7 -25
  189. package/dist/components/zoom-test/index.js +0 -3
  190. package/dist/components/zoom-test/mocks/mockForStory.js +0 -4
  191. package/dist/helpers/LangIsRtl.js +0 -4
  192. package/dist/helpers/LightSet.js +0 -4
  193. package/dist/helpers/LodController.js +1 -10
  194. package/dist/helpers/deviceDetection.js +2 -5
  195. package/dist/helpers/drawLOD.js +11 -53
  196. package/dist/helpers/index.js +73 -102
  197. package/dist/helpers/lodStats.js +2 -10
  198. package/dist/helpers/mocker.js +1 -20
  199. package/dist/helpers/useEkho.js +64 -91
  200. package/dist/helpers/useGLB.js +5 -13
  201. package/dist/helpers/useStateMachine.js +257 -0
  202. package/dist/helpers/useTimeout.js +0 -6
  203. package/dist/helpers/useWindowSize.js +8 -22
  204. package/dist/index.js +0 -2
  205. package/dist/test/testSceneWrapper.js +0 -8
  206. package/package.json +3 -2
@@ -1,48 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _reactTypist = _interopRequireDefault(require("react-typist"));
13
-
14
10
  var _helpers = require("./helpers");
15
-
16
11
  var _DrawGrid = _interopRequireDefault(require("./DrawGrid"));
17
-
18
12
  var _colors = require("./colors");
19
-
20
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
14
  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); }
23
-
24
15
  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; }
25
-
26
16
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
27
-
28
17
  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."); }
29
-
30
18
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
31
-
32
19
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
33
-
34
20
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
-
36
21
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
-
38
22
  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); }
39
-
40
- 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; }
41
-
42
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
43
-
44
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
-
23
+ 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; }
24
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
25
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /* eslint-disable react-hooks/exhaustive-deps */ // TODO Refactor this component
46
26
  var VELOCITY_MAP = {
47
27
  slow: 2,
48
28
  fast: 5,
@@ -65,71 +45,58 @@ var DIFFICULTY_MAP = {
65
45
  totalRows: 80
66
46
  }
67
47
  };
68
-
69
48
  var CrackerPuzzleComponent = function CrackerPuzzleComponent(_ref) {
70
49
  var emitEvent = _ref.emitEvent,
71
- soundActions = _ref.soundActions,
72
- info = _ref.info,
73
- velocity = _ref.velocity,
74
- password = _ref.password,
75
- disableExit = _ref.disableExit,
76
- difficulty = _ref.difficulty,
77
- setResolveAction = _ref.setResolveAction;
78
-
50
+ soundActions = _ref.soundActions,
51
+ info = _ref.info,
52
+ velocity = _ref.velocity,
53
+ password = _ref.password,
54
+ disableExit = _ref.disableExit,
55
+ difficulty = _ref.difficulty,
56
+ setResolveAction = _ref.setResolveAction;
79
57
  var _soundActions = _slicedToArray(soundActions, 1),
80
- playSound = _soundActions[0];
81
-
58
+ playSound = _soundActions[0];
82
59
  var translate = function translate(id) {
83
60
  return emitEvent({
84
61
  type: 'translate',
85
62
  payload: id
86
63
  });
87
64
  };
88
-
89
65
  var requestRef = _react.default.useRef();
66
+ var previousTimeRef = _react.default.useRef();
90
67
 
91
- var previousTimeRef = _react.default.useRef(); // Common PuzzleComponent
92
-
93
-
68
+ // Common PuzzleComponent
94
69
  var solution = info.solution;
95
-
96
70
  var _useState = (0, _react.useState)(password.toLowerCase()),
97
- _useState2 = _slicedToArray(_useState, 2),
98
- remainingPassword = _useState2[0],
99
- setRemainingPassword = _useState2[1];
100
-
71
+ _useState2 = _slicedToArray(_useState, 2),
72
+ remainingPassword = _useState2[0],
73
+ setRemainingPassword = _useState2[1];
101
74
  var _useState3 = (0, _react.useState)(),
102
- _useState4 = _slicedToArray(_useState3, 2),
103
- passwordPosition = _useState4[0],
104
- setPasswordPosition = _useState4[1];
105
-
75
+ _useState4 = _slicedToArray(_useState3, 2),
76
+ passwordPosition = _useState4[0],
77
+ setPasswordPosition = _useState4[1];
106
78
  var _useState5 = (0, _react.useState)(Array(password.toLowerCase().length).fill('')),
107
- _useState6 = _slicedToArray(_useState5, 2),
108
- paintSolution = _useState6[0],
109
- setPaintSolution = _useState6[1];
110
-
79
+ _useState6 = _slicedToArray(_useState5, 2),
80
+ paintSolution = _useState6[0],
81
+ setPaintSolution = _useState6[1];
111
82
  var _useState7 = (0, _react.useState)(false),
112
- _useState8 = _slicedToArray(_useState7, 2),
113
- finished = _useState8[0],
114
- setFinished = _useState8[1];
115
-
83
+ _useState8 = _slicedToArray(_useState7, 2),
84
+ finished = _useState8[0],
85
+ setFinished = _useState8[1];
116
86
  var _useState9 = (0, _react.useState)([0, 0]),
117
- _useState10 = _slicedToArray(_useState9, 2),
118
- cursorPosition = _useState10[0],
119
- setCursorPosition = _useState10[1];
120
-
87
+ _useState10 = _slicedToArray(_useState9, 2),
88
+ cursorPosition = _useState10[0],
89
+ setCursorPosition = _useState10[1];
121
90
  var crackedPasswordMsg = translate('puzzle.cracker.crackedPassword');
122
91
  var feedbackMessage = info.solution.right.desc && info.solution.right.desc !== '' ? info.solution.right.desc : '';
123
92
  var congratulationsMsg = translate('puzzle.cracker.congratulations');
124
-
125
93
  var _useState11 = (0, _react.useState)([[]]),
126
- _useState12 = _slicedToArray(_useState11, 2),
127
- grid = _useState12[0],
128
- setGrid = _useState12[1];
129
-
94
+ _useState12 = _slicedToArray(_useState11, 2),
95
+ grid = _useState12[0],
96
+ setGrid = _useState12[1];
130
97
  var _DIFFICULTY_MAP$diffi = DIFFICULTY_MAP[difficulty],
131
- visibleRows = _DIFFICULTY_MAP$diffi.visibleRows,
132
- numberOfColumns = _DIFFICULTY_MAP$diffi.visibleColumns;
98
+ visibleRows = _DIFFICULTY_MAP$diffi.visibleRows,
99
+ numberOfColumns = _DIFFICULTY_MAP$diffi.visibleColumns;
133
100
  var numberOfRows = visibleRows === 'auto' ? Math.ceil(window.innerHeight * 0.025) : visibleRows;
134
101
  numberOfRows = numberOfRows >= 20 ? numberOfRows : 20;
135
102
  (0, _react.useEffect)(function () {
@@ -150,7 +117,6 @@ var CrackerPuzzleComponent = function CrackerPuzzleComponent(_ref) {
150
117
  }, 0);
151
118
  });
152
119
  }, [setResolveAction, playSound]);
153
-
154
120
  var handleFinish = function handleFinish() {
155
121
  playSound('click-ui');
156
122
  var rewards = solution.right.rewards;
@@ -164,7 +130,6 @@ var CrackerPuzzleComponent = function CrackerPuzzleComponent(_ref) {
164
130
  type: 'passPuzzle'
165
131
  });
166
132
  };
167
-
168
133
  var generatePasswordPositions = function generatePasswordPositions() {
169
134
  var tempArray = password.toLowerCase().split('');
170
135
  return tempArray.map(function (char, index) {
@@ -175,7 +140,6 @@ var CrackerPuzzleComponent = function CrackerPuzzleComponent(_ref) {
175
140
  };
176
141
  });
177
142
  };
178
-
179
143
  var getRemainingPassword = function getRemainingPassword(positions) {
180
144
  return positions.filter(function (obj) {
181
145
  return obj.used === false;
@@ -183,35 +147,27 @@ var CrackerPuzzleComponent = function CrackerPuzzleComponent(_ref) {
183
147
  return word.char;
184
148
  }).join('');
185
149
  };
186
-
187
150
  var handleSetGrid = function handleSetGrid(prevGrid) {
188
151
  if (prevGrid[0].length > 0 && !finished) {
189
152
  var shiftedGrid = _toConsumableArray(prevGrid);
190
-
191
153
  shiftedGrid.push(shiftedGrid.shift());
192
154
  return shiftedGrid;
193
155
  }
194
-
195
156
  return prevGrid;
196
157
  };
197
-
198
158
  var ms = 0;
199
-
200
159
  var loop = function loop(time) {
201
160
  if (previousTimeRef.current !== undefined) {
202
161
  var deltaTime = time - previousTimeRef.current;
203
162
  ms += deltaTime;
204
-
205
163
  if (ms > 1000 / VELOCITY_MAP[velocity]) {
206
164
  setGrid(handleSetGrid);
207
165
  ms = 0;
208
166
  }
209
167
  }
210
-
211
168
  previousTimeRef.current = time;
212
169
  requestRef.current = requestAnimationFrame(loop);
213
170
  };
214
-
215
171
  (0, _react.useEffect)(function () {
216
172
  setRemainingPassword(password.toLowerCase());
217
173
  var generatedGrid = (0, _helpers.makeSomeNoise)({
@@ -226,30 +182,23 @@ var CrackerPuzzleComponent = function CrackerPuzzleComponent(_ref) {
226
182
  return cancelAnimationFrame(requestRef.current);
227
183
  };
228
184
  }, []);
229
-
230
185
  var handleMouseOver = function handleMouseOver() {
231
186
  if (grid.length <= 1) return;
232
-
233
187
  var _cursorPosition = _slicedToArray(cursorPosition, 2),
234
- gridX = _cursorPosition[0],
235
- gridY = _cursorPosition[1];
236
-
188
+ gridX = _cursorPosition[0],
189
+ gridY = _cursorPosition[1];
237
190
  var currentElement = grid[gridX][gridY];
238
-
239
191
  if (currentElement.hiddenColor === _colors.GREEN) {
240
192
  var char = passwordPosition.filter(function (obj) {
241
193
  return obj.char === currentElement.value.toLowerCase() && obj.used === false;
242
194
  })[0];
243
-
244
195
  if (char) {
245
196
  var index = char.index;
246
197
  playSound('score');
247
198
  var newPasswordPosition = passwordPosition;
248
199
  newPasswordPosition[index].used = true;
249
200
  setPasswordPosition(newPasswordPosition);
250
-
251
201
  var currentPaintSolution = _toConsumableArray(paintSolution);
252
-
253
202
  currentPaintSolution[index] = currentElement.value;
254
203
  var newRemainPswd = getRemainingPassword(newPasswordPosition);
255
204
  setRemainingPassword(newRemainPswd);
@@ -258,13 +207,11 @@ var CrackerPuzzleComponent = function CrackerPuzzleComponent(_ref) {
258
207
  setPaintSolution(currentPaintSolution);
259
208
  }
260
209
  }
261
-
262
210
  if (remainingPassword <= 0) {
263
211
  playSound('score');
264
212
  setFinished(true);
265
213
  }
266
214
  };
267
-
268
215
  (0, _react.useEffect)(function () {
269
216
  if (!finished) handleMouseOver();
270
217
  }, [cursorPosition]);
@@ -304,7 +251,6 @@ var CrackerPuzzleComponent = function CrackerPuzzleComponent(_ref) {
304
251
  onClick: handleFinish
305
252
  }, translate('screens.continue')))));
306
253
  };
307
-
308
254
  CrackerPuzzleComponent.defaultProps = {
309
255
  velocity: 'slow',
310
256
  difficulty: 'easy',
@@ -4,19 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _index = _interopRequireDefault(require("../DrawRow/index"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  /* eslint-disable react/no-array-index-key */
11
+
15
12
  // Draws the characters map
16
13
  var DrawGrid = function DrawGrid(_ref) {
17
14
  var grid = _ref.grid,
18
- cursorPosition = _ref.cursorPosition,
19
- setCursorPosition = _ref.setCursorPosition;
15
+ cursorPosition = _ref.cursorPosition,
16
+ setCursorPosition = _ref.setCursorPosition;
20
17
  return /*#__PURE__*/_react.default.createElement("div", {
21
18
  className: "puzzle--cracker__canvas"
22
19
  }, grid.map(function (row, rowIndex) {
@@ -29,7 +26,6 @@ var DrawGrid = function DrawGrid(_ref) {
29
26
  });
30
27
  }));
31
28
  };
32
-
33
29
  DrawGrid.defaultProps = {
34
30
  setCursorPosition: function setCursorPosition() {}
35
31
  };
@@ -4,20 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  // Draws the square of colors around item
15
11
  var DrawItem = function DrawItem(_ref) {
16
12
  var item = _ref.item,
17
- rowIndex = _ref.rowIndex,
18
- columnIndex = _ref.columnIndex,
19
- setCursorPosition = _ref.setCursorPosition,
20
- cursorPosition = _ref.cursorPosition;
13
+ rowIndex = _ref.rowIndex,
14
+ columnIndex = _ref.columnIndex,
15
+ setCursorPosition = _ref.setCursorPosition,
16
+ cursorPosition = _ref.cursorPosition;
21
17
  var isNear = Math.abs(rowIndex - cursorPosition[0]) < 3 && Math.abs(columnIndex - cursorPosition[1]) < 3;
22
18
  return /*#__PURE__*/_react.default.createElement("span", {
23
19
  className: "puzzle--cracker__item",
@@ -34,7 +30,6 @@ var DrawItem = function DrawItem(_ref) {
34
30
  }
35
31
  }, item.value);
36
32
  };
37
-
38
33
  DrawItem.defaultProps = {
39
34
  setCursorPosition: function setCursorPosition() {}
40
35
  };
@@ -4,22 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _DrawItem = _interopRequireDefault(require("../DrawItem"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  /* eslint-disable react/no-array-index-key */
12
+
17
13
  // Draws the characters map
18
14
  var DrawRow = function DrawRow(_ref) {
19
15
  var row = _ref.row,
20
- rowIndex = _ref.rowIndex,
21
- setCursorPosition = _ref.setCursorPosition,
22
- cursorPosition = _ref.cursorPosition;
16
+ rowIndex = _ref.rowIndex,
17
+ setCursorPosition = _ref.setCursorPosition,
18
+ cursorPosition = _ref.cursorPosition;
23
19
  if (!row.length) return null;
24
20
  return /*#__PURE__*/_react.default.createElement("div", {
25
21
  className: "puzzle--cracker"
@@ -34,7 +30,6 @@ var DrawRow = function DrawRow(_ref) {
34
30
  });
35
31
  }));
36
32
  };
37
-
38
33
  DrawRow.defaultProps = {
39
34
  row: []
40
35
  };
@@ -4,38 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.repaintGridPassword = exports.makeSomeNoise = void 0;
7
-
8
7
  var _LangIsRtl = _interopRequireDefault(require("../../../helpers/LangIsRtl"));
9
-
10
8
  var _colors = require("./colors");
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
-
16
11
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
-
18
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
19
-
12
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
20
13
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
-
22
14
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
23
-
24
15
  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); }
25
-
26
- 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; }
27
-
16
+ 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; } /* eslint-disable no-restricted-syntax */
28
17
  var getDistance = function getDistance(point1, point2) {
29
18
  return Math.max(Math.abs(point1[0] - point2[0]), Math.abs(point1[1] - point2[1]));
30
19
  };
31
-
32
20
  var generatePasswordPositions = function generatePasswordPositions(grid, password, numberOfRows, numberOfColumns) {
33
21
  var passwordPositions = [];
34
22
  var tempGrid = grid;
35
-
36
23
  var _iterator = _createForOfIteratorHelper(password.toLowerCase()),
37
- _step;
38
-
24
+ _step;
39
25
  try {
40
26
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
41
27
  var char = _step.value;
@@ -52,13 +38,10 @@ var generatePasswordPositions = function generatePasswordPositions(grid, passwor
52
38
  } finally {
53
39
  _iterator.f();
54
40
  }
55
-
56
41
  return [tempGrid, passwordPositions];
57
42
  };
58
-
59
43
  var paintedGridPassword = function paintedGridPassword(blackGrid, numberOfRows, numberOfColumns, passwordPositions) {
60
44
  var coloredGrid = blackGrid;
61
-
62
45
  var _loop = function _loop(rowIndex) {
63
46
  var _loop2 = function _loop2(columnIndex) {
64
47
  var distanceToPassword = passwordPositions.reduce(function (acc, cur) {
@@ -66,76 +49,58 @@ var paintedGridPassword = function paintedGridPassword(blackGrid, numberOfRows,
66
49
  var distance = getDistance(cur.position, gridPosition);
67
50
  return distance < acc ? distance : acc;
68
51
  }, 9999);
69
-
70
52
  switch (distanceToPassword) {
71
53
  case 0:
72
54
  coloredGrid[rowIndex][columnIndex].hiddenColor = _colors.GREEN;
73
55
  break;
74
-
75
56
  case 1:
76
57
  coloredGrid[rowIndex][columnIndex].hiddenColor = _colors.ORANGE;
77
58
  break;
78
-
79
59
  case 2:
80
60
  coloredGrid[rowIndex][columnIndex].hiddenColor = _colors.RED;
81
61
  break;
82
-
83
62
  default:
84
63
  break;
85
64
  }
86
65
  };
87
-
88
66
  for (var columnIndex = 0; columnIndex < numberOfColumns; columnIndex += 1) {
89
67
  _loop2(columnIndex);
90
68
  }
91
69
  };
92
-
93
70
  for (var rowIndex = 0; rowIndex < numberOfRows; rowIndex += 1) {
94
71
  _loop(rowIndex);
95
72
  }
96
-
97
73
  return coloredGrid;
98
74
  };
99
-
100
75
  var resetColors = function resetColors(numberOfRows, numberOfColumns, actualGrid) {
101
76
  var cleanGrid = actualGrid;
102
-
103
77
  for (var rowIndex = 0; rowIndex < numberOfRows; rowIndex += 1) {
104
78
  for (var columnIndex = 0; columnIndex < numberOfColumns; columnIndex += 1) {
105
79
  cleanGrid[rowIndex][columnIndex].color = '';
106
80
  cleanGrid[rowIndex][columnIndex].hiddenColor = _colors.RED;
107
81
  }
108
82
  }
109
-
110
83
  return cleanGrid;
111
84
  };
112
-
113
85
  var repaintGridPassword = function repaintGridPassword(actualGrid, newPassword, numberOfRows, numberOfColumns) {
114
86
  var resetedColorsGrid = resetColors(numberOfRows, numberOfColumns, actualGrid);
115
-
116
87
  var _generatePasswordPosi = generatePasswordPositions(resetedColorsGrid, newPassword, numberOfRows, numberOfColumns),
117
- _generatePasswordPosi2 = _slicedToArray(_generatePasswordPosi, 2),
118
- blackGrid = _generatePasswordPosi2[0],
119
- passwordPositions = _generatePasswordPosi2[1];
120
-
88
+ _generatePasswordPosi2 = _slicedToArray(_generatePasswordPosi, 2),
89
+ blackGrid = _generatePasswordPosi2[0],
90
+ passwordPositions = _generatePasswordPosi2[1];
121
91
  var paintedGrid = paintedGridPassword(blackGrid, numberOfRows, numberOfColumns, passwordPositions);
122
92
  return paintedGrid;
123
93
  };
124
-
125
94
  exports.repaintGridPassword = repaintGridPassword;
126
-
127
95
  var prepareAcceptedChars = function prepareAcceptedChars(password, charactersString) {
128
96
  return charactersString.split('').filter(function (character) {
129
97
  return !password.includes(character);
130
98
  }).join('');
131
99
  };
132
-
133
100
  var generateBasicGrid = function generateBasicGrid(numberOfRows, numberOfColumns, acceptedChars) {
134
101
  var basicGrid = [];
135
-
136
102
  for (var rowIndex = 0; rowIndex < numberOfRows; rowIndex += 1) {
137
103
  var row = [];
138
-
139
104
  for (var columnIndex = 0; columnIndex < numberOfColumns; columnIndex += 1) {
140
105
  var cell = {
141
106
  color: '',
@@ -144,30 +109,25 @@ var generateBasicGrid = function generateBasicGrid(numberOfRows, numberOfColumns
144
109
  };
145
110
  row.push(cell);
146
111
  }
147
-
148
112
  basicGrid.push(row);
149
113
  }
150
-
151
114
  return basicGrid;
152
- }; // generates the character map with the password and puts colors attribute
153
-
115
+ };
154
116
 
117
+ // generates the character map with the password and puts colors attribute
155
118
  var makeSomeNoise = function makeSomeNoise(_ref) {
156
119
  var numberOfColumns = _ref.numberOfColumns,
157
- numberOfRows = _ref.numberOfRows,
158
- password = _ref.password;
120
+ numberOfRows = _ref.numberOfRows,
121
+ password = _ref.password;
159
122
  var charactersForLang = (0, _LangIsRtl.default)() ? '٠١٢٣٤٥٦٧٨٩شزذيثبلاهتنمورخحضقسفعدصطغظ' : '0123456789abcdefghijklmnopqrstuvwxyz';
160
123
  var acceptedChars = prepareAcceptedChars(password, charactersForLang);
161
124
  var grid = generateBasicGrid(numberOfRows, numberOfColumns, acceptedChars);
162
-
163
125
  var _generatePasswordPosi3 = generatePasswordPositions(grid, password, numberOfRows, numberOfColumns),
164
- _generatePasswordPosi4 = _slicedToArray(_generatePasswordPosi3, 2),
165
- blackGrid = _generatePasswordPosi4[0],
166
- passwordPositions = _generatePasswordPosi4[1];
167
-
126
+ _generatePasswordPosi4 = _slicedToArray(_generatePasswordPosi3, 2),
127
+ blackGrid = _generatePasswordPosi4[0],
128
+ passwordPositions = _generatePasswordPosi4[1];
168
129
  var paintedGrid = paintedGridPassword(blackGrid, numberOfRows, numberOfColumns, passwordPositions);
169
130
  return paintedGrid;
170
- }; // eslint-disable-next-line import/prefer-default-export
171
-
172
-
131
+ };
132
+ // eslint-disable-next-line import/prefer-default-export
173
133
  exports.makeSomeNoise = makeSomeNoise;
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _CrackerPuzzleComponent = _interopRequireDefault(require("./components/CrackerPuzzleComponent"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  var _default = _CrackerPuzzleComponent.default;
13
10
  exports.default = _default;
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.mockProps5 = exports.mockProps4 = exports.mockProps3 = exports.mockProps2 = exports.mockProps = void 0;
7
-
8
7
  var _mocker = require("helpers/mocker");
9
-
10
8
  var mockProps = {
11
9
  emitEvent: _mocker.emitEvent,
12
10
  soundActions: _mocker.soundActions,