@gamelearn/arcade-components 2.41.1 → 3.0.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 (212) hide show
  1. package/README.md +9 -6
  2. package/dist/arcade-components.cjs +274 -0
  3. package/dist/arcade-components.js +57929 -0
  4. package/package.json +74 -73
  5. package/dist/components/animation-component/components/AnimationComponent.js +0 -98
  6. package/dist/components/animation-component/index.js +0 -10
  7. package/dist/components/animation-component/mocks/mockForStory.js +0 -26
  8. package/dist/components/auto-evaluation-component/components/AutoEvaluation.js +0 -215
  9. package/dist/components/auto-evaluation-component/components/EndScreen.js +0 -43
  10. package/dist/components/auto-evaluation-component/components/StartScreen.js +0 -32
  11. package/dist/components/auto-evaluation-component/index.js +0 -10
  12. package/dist/components/auto-evaluation-component/mocks/mockForStory.js +0 -38
  13. package/dist/components/cards-selector-puzzle-component/components/Board/index.js +0 -159
  14. package/dist/components/cards-selector-puzzle-component/components/Card/index.js +0 -115
  15. package/dist/components/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +0 -289
  16. package/dist/components/cards-selector-puzzle-component/index.js +0 -10
  17. package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +0 -446
  18. package/dist/components/cartel-component/components/CartelComponent.js +0 -124
  19. package/dist/components/cartel-component/index.js +0 -10
  20. package/dist/components/chained-image-click-puzzle-component/components/ChainedImageClickPuzzleComponent.js +0 -80
  21. package/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js +0 -182
  22. package/dist/components/chained-image-click-puzzle-component/index.js +0 -10
  23. package/dist/components/chained-image-click-puzzle-component/mocks/mockForStory.js +0 -413
  24. package/dist/components/comic-component/components/ComicComponent.js +0 -201
  25. package/dist/components/comic-component/components/Slide.js +0 -31
  26. package/dist/components/comic-component/components/Vignette.js +0 -70
  27. package/dist/components/comic-component/index.js +0 -10
  28. package/dist/components/comic-component/mocks/mockForStory.js +0 -314
  29. package/dist/components/conversational-component/components/ConversationalComponent.js +0 -101
  30. package/dist/components/conversational-component/index.js +0 -10
  31. package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +0 -543
  32. package/dist/components/conversational-pro-component/components/Message.js +0 -37
  33. package/dist/components/conversational-pro-component/components/Slot.js +0 -92
  34. package/dist/components/conversational-pro-component/components/SlotList.js +0 -162
  35. package/dist/components/conversational-pro-component/components/scene/Panel.js +0 -179
  36. package/dist/components/conversational-pro-component/components/scene/Panels.js +0 -46
  37. package/dist/components/conversational-pro-component/components/scene/index.js +0 -77
  38. package/dist/components/conversational-pro-component/index.js +0 -10
  39. package/dist/components/conversational-pro-component/mocks/mockForStory.js +0 -1529
  40. package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +0 -261
  41. package/dist/components/cracker-puzzle-component/components/DrawGrid/index.js +0 -33
  42. package/dist/components/cracker-puzzle-component/components/DrawItem/index.js +0 -48
  43. package/dist/components/cracker-puzzle-component/components/DrawRow/index.js +0 -43
  44. package/dist/components/cracker-puzzle-component/components/colors.js +0 -12
  45. package/dist/components/cracker-puzzle-component/components/helpers.js +0 -133
  46. package/dist/components/cracker-puzzle-component/index.js +0 -10
  47. package/dist/components/cracker-puzzle-component/mocks/mockForStory.js +0 -277
  48. package/dist/components/decision-component/components/DecisionBody.js +0 -116
  49. package/dist/components/decision-component/components/DecisionComponent.js +0 -248
  50. package/dist/components/decision-component/components/Feedback.js +0 -40
  51. package/dist/components/decision-component/components/Options.js +0 -74
  52. package/dist/components/decision-component/index.js +0 -10
  53. package/dist/components/decision-component/mocks/mockForStory.js +0 -166
  54. package/dist/components/dialog-component/components/BubbleWrapper.js +0 -39
  55. package/dist/components/dialog-component/components/DialogComponent.js +0 -779
  56. package/dist/components/dialog-component/components/DialogDecision.js +0 -44
  57. package/dist/components/dialog-component/components/SpeechBubbleComponent.js +0 -66
  58. package/dist/components/dialog-component/index.js +0 -10
  59. package/dist/components/dialog-component/mocks/mockForStory.js +0 -550
  60. package/dist/components/drag-item-puzzle-component/components/DragItemPuzzleComponent.js +0 -361
  61. package/dist/components/drag-item-puzzle-component/index.js +0 -10
  62. package/dist/components/drag-item-puzzle-component/mocks/mockForStory.js +0 -74
  63. package/dist/components/feedback-component/components/FeedbackComponent.js +0 -126
  64. package/dist/components/feedback-component/index.js +0 -10
  65. package/dist/components/feedback-component/mocks/mockForStory.js +0 -52
  66. package/dist/components/frame-click-puzzle-component/components/Counter/index.js +0 -24
  67. package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +0 -196
  68. package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +0 -178
  69. package/dist/components/frame-click-puzzle-component/components/Tooltip/index.js +0 -23
  70. package/dist/components/frame-click-puzzle-component/index.js +0 -10
  71. package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +0 -717
  72. package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +0 -255
  73. package/dist/components/hacker-puzzle-component/components/languages.js +0 -13
  74. package/dist/components/hacker-puzzle-component/index.js +0 -10
  75. package/dist/components/hacker-puzzle-component/mocks/mockForStory.js +0 -103
  76. package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +0 -488
  77. package/dist/components/hanged-puzzle-component/index.js +0 -10
  78. package/dist/components/hanged-puzzle-component/mocks/mockForStory.js +0 -61
  79. package/dist/components/hanged-puzzle-component/utils.js +0 -64
  80. package/dist/components/image-click-puzzle-component/components/ImageClickPuzzleComponent.js +0 -40
  81. package/dist/components/image-click-puzzle-component/index.js +0 -10
  82. package/dist/components/image-click-puzzle-component/mocks/mockForStory.js +0 -427
  83. package/dist/components/image-click-wrapper-component/components/CountDown/index.js +0 -18
  84. package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +0 -472
  85. package/dist/components/image-click-wrapper-component/components/TimerDialog/index.js +0 -26
  86. package/dist/components/image-click-wrapper-component/index.js +0 -10
  87. package/dist/components/image-click-wrapper-component/mocks/mockForStory.js +0 -432
  88. package/dist/components/image-component/components/ImageComponent.js +0 -83
  89. package/dist/components/image-component/index.js +0 -10
  90. package/dist/components/image-component/mocks/mockForStory.js +0 -52
  91. package/dist/components/index.js +0 -260
  92. package/dist/components/inventory-item/components/InventoryItem.js +0 -120
  93. package/dist/components/inventory-item/index.js +0 -10
  94. package/dist/components/inventory-item/mocks/mockForStory.js +0 -29
  95. package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +0 -275
  96. package/dist/components/keyboard-puzzle-component/index.js +0 -10
  97. package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +0 -40
  98. package/dist/components/konva-components/Area/index.js +0 -170
  99. package/dist/components/konva-components/KonvaMapper.js +0 -185
  100. package/dist/components/lectures-component/components/LectureButtons.js +0 -40
  101. package/dist/components/lectures-component/components/LecturesComponent.js +0 -157
  102. package/dist/components/lectures-component/index.js +0 -10
  103. package/dist/components/lectures-component/mocks/mockForStory.js +0 -39
  104. package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +0 -243
  105. package/dist/components/login-puzzle-component/index.js +0 -10
  106. package/dist/components/login-puzzle-component/mocks/mockForStory.js +0 -38
  107. package/dist/components/notice-component/components/NoticeComponent.js +0 -96
  108. package/dist/components/notice-component/index.js +0 -10
  109. package/dist/components/notice-component/mocks/mockForStory.js +0 -20
  110. package/dist/components/pattern-component/components/PatternComponent.js +0 -78
  111. package/dist/components/pattern-component/index.js +0 -10
  112. package/dist/components/pattern-component/mocks/mockForStory.js +0 -35
  113. package/dist/components/pdf-component/components/PdfComponent.js +0 -122
  114. package/dist/components/pdf-component/components/PdfVisor.js +0 -187
  115. package/dist/components/pdf-component/index.js +0 -20
  116. package/dist/components/pdf-component/mocks/mockForProps.js +0 -38
  117. package/dist/components/referral-component/components/EmailPill.js +0 -26
  118. package/dist/components/referral-component/components/ReferralComponent.js +0 -115
  119. package/dist/components/referral-component/components/StepOne.js +0 -170
  120. package/dist/components/referral-component/components/StepTwo.js +0 -57
  121. package/dist/components/referral-component/index.js +0 -10
  122. package/dist/components/referral-component/mocks/mockForStory.js +0 -40
  123. package/dist/components/survey-component/components/ApplicableBox.js +0 -49
  124. package/dist/components/survey-component/components/OpinionBox.js +0 -45
  125. package/dist/components/survey-component/components/SurveyComponent.js +0 -150
  126. package/dist/components/survey-component/components/TextBox.js +0 -40
  127. package/dist/components/survey-component/index.js +0 -10
  128. package/dist/components/survey-component/mocks/mockForStory.js +0 -14
  129. package/dist/components/terminal-puzzle-component/components/FilesGroup/Item.js +0 -28
  130. package/dist/components/terminal-puzzle-component/components/FilesGroup/index.js +0 -76
  131. package/dist/components/terminal-puzzle-component/components/Image/index.js +0 -22
  132. package/dist/components/terminal-puzzle-component/components/TerminalPuzzleComponent.js +0 -216
  133. package/dist/components/terminal-puzzle-component/components/Visor/index.js +0 -129
  134. package/dist/components/terminal-puzzle-component/components/utils/index.js +0 -26
  135. package/dist/components/terminal-puzzle-component/index.js +0 -10
  136. package/dist/components/terminal-puzzle-component/mocks/mockForStory.js +0 -188
  137. package/dist/components/test-component/components/Container.js +0 -211
  138. package/dist/components/test-component/components/Feedbacks.js +0 -48
  139. package/dist/components/test-component/components/Questions.js +0 -145
  140. package/dist/components/test-component/components/Results.js +0 -208
  141. package/dist/components/test-component/components/TestComponent.js +0 -302
  142. package/dist/components/test-component/index.js +0 -10
  143. package/dist/components/test-component/mocks/mockForStory.js +0 -113
  144. package/dist/components/text-click-puzzle-component/components/TextClickPuzzleComponent.js +0 -387
  145. package/dist/components/text-click-puzzle-component/index.js +0 -10
  146. package/dist/components/text-click-puzzle-component/mocks/mockForStory.js +0 -485
  147. package/dist/components/text-click-puzzle-component/utils/index.js +0 -76
  148. package/dist/components/url-component/components/UrlComponent.js +0 -88
  149. package/dist/components/url-component/index.js +0 -10
  150. package/dist/components/url-component/mocks/mockForProps.js +0 -20
  151. package/dist/components/video-component/components/VideoComponent.js +0 -73
  152. package/dist/components/video-component/index.js +0 -10
  153. package/dist/components/video-component/mocks/mockForStory.js +0 -94
  154. package/dist/components/video-visor/components/VideoControllers/BufferBar.js +0 -108
  155. package/dist/components/video-visor/components/VideoControllers/ControlButtons.js +0 -31
  156. package/dist/components/video-visor/components/VideoControllers/FinishedVideoButtons.js +0 -32
  157. package/dist/components/video-visor/components/VideoControllers/PlayInitButton.js +0 -37
  158. package/dist/components/video-visor/components/VideoControllers/SkipButton.js +0 -37
  159. package/dist/components/video-visor/components/VideoControllers/Timer.js +0 -37
  160. package/dist/components/video-visor/components/VideoControllers/VolumeBar.js +0 -92
  161. package/dist/components/video-visor/components/VideoControllers/index.js +0 -122
  162. package/dist/components/video-visor/components/VideoVisor.js +0 -271
  163. package/dist/components/video-visor/index.js +0 -10
  164. package/dist/components/video-visor/mocks/mockForStory.js +0 -42
  165. package/dist/components/web-builder-puzzle-component/Popups/PopupColorComponent/index.js +0 -87
  166. package/dist/components/web-builder-puzzle-component/Popups/PopupImageComponent/index.js +0 -94
  167. package/dist/components/web-builder-puzzle-component/Popups/PopupTextComponent/index.js +0 -114
  168. package/dist/components/web-builder-puzzle-component/Popups/index.js +0 -27
  169. package/dist/components/web-builder-puzzle-component/Templates/Bank.js +0 -98
  170. package/dist/components/web-builder-puzzle-component/Templates/Facebook.js +0 -37
  171. package/dist/components/web-builder-puzzle-component/Templates/resourcePath.js +0 -9
  172. package/dist/components/web-builder-puzzle-component/components/EditButton/index.js +0 -28
  173. package/dist/components/web-builder-puzzle-component/components/Feedback/index.js +0 -41
  174. package/dist/components/web-builder-puzzle-component/components/PublishButton/index.js +0 -29
  175. package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/BankBody.js +0 -118
  176. package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/FacebookBody.js +0 -149
  177. package/dist/components/web-builder-puzzle-component/components/WebBuilderBody/index.js +0 -25
  178. package/dist/components/web-builder-puzzle-component/components/WebBuilderFront/index.js +0 -89
  179. package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/BankHeader.js +0 -84
  180. package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/FacebookHeader.js +0 -38
  181. package/dist/components/web-builder-puzzle-component/components/WebBuilderHeader/index.js +0 -40
  182. package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js +0 -302
  183. package/dist/components/web-builder-puzzle-component/components/WebBuilderTopBar/index.js +0 -30
  184. package/dist/components/web-builder-puzzle-component/index.js +0 -10
  185. package/dist/components/web-builder-puzzle-component/mocks/mockForStory.js +0 -27
  186. package/dist/components/writer-puzzle-component/components/ElectionComponent.js +0 -69
  187. package/dist/components/writer-puzzle-component/components/FeedbackComponent.js +0 -97
  188. package/dist/components/writer-puzzle-component/components/FeedbackElement.js +0 -32
  189. package/dist/components/writer-puzzle-component/components/FinishedTextComponent.js +0 -25
  190. package/dist/components/writer-puzzle-component/components/FixedComponent.js +0 -120
  191. package/dist/components/writer-puzzle-component/components/SingleElection.js +0 -85
  192. package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +0 -450
  193. package/dist/components/writer-puzzle-component/index.js +0 -10
  194. package/dist/components/writer-puzzle-component/mocks/mockForStory.js +0 -1194
  195. package/dist/components/zoom-test/components/ZoomTest.js +0 -73
  196. package/dist/components/zoom-test/index.js +0 -10
  197. package/dist/components/zoom-test/mocks/mockForStory.js +0 -21
  198. package/dist/helpers/LangIsRtl.js +0 -16
  199. package/dist/helpers/LightSet.js +0 -35
  200. package/dist/helpers/LodController.js +0 -28
  201. package/dist/helpers/deviceDetection.js +0 -21
  202. package/dist/helpers/drawLOD.js +0 -310
  203. package/dist/helpers/index.js +0 -268
  204. package/dist/helpers/lodStats.js +0 -55
  205. package/dist/helpers/mocker.js +0 -116
  206. package/dist/helpers/useEkho.js +0 -172
  207. package/dist/helpers/useGLB.js +0 -57
  208. package/dist/helpers/useStateMachine.js +0 -277
  209. package/dist/helpers/useTimeout.js +0 -32
  210. package/dist/helpers/useWindowSize.js +0 -44
  211. package/dist/index.js +0 -16
  212. package/dist/test/testSceneWrapper.js +0 -31
@@ -1,488 +0,0 @@
1
- "use strict";
2
-
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
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _feedbackComponent = _interopRequireDefault(require("../../feedback-component"));
10
- var _utils = require("../utils");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- 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); }
13
- 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; }
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
19
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
- 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."); }
21
- 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; } }
22
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
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
- 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); }
26
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
27
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
28
- 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; }
29
- var MAX_POOL_LETTERS = 26;
30
- var MAX_EXTRA_LETTERS = 8;
31
- var AnswerPanel = function AnswerPanel(_ref) {
32
- var answer = _ref.answer,
33
- flickerPosition = _ref.flickerPosition,
34
- _ref$show = _ref.show,
35
- show = _ref$show === void 0 ? false : _ref$show,
36
- showCorrectSolution = _ref.showCorrectSolution;
37
- var words = [];
38
- var wordIndex = 0;
39
- answer.forEach(function (a) {
40
- if (!words[wordIndex]) {
41
- words[wordIndex] = [];
42
- }
43
- words[wordIndex] = [].concat(_toConsumableArray(words[wordIndex]), [a]);
44
- if (a.char === ' ') {
45
- wordIndex += 1;
46
- }
47
- if (!showCorrectSolution) {
48
- a.positionInitial = a.index;
49
- }
50
- });
51
- return words.map(function (word, index) {
52
- return /*#__PURE__*/_react.default.createElement("div", {
53
- dir: "auto",
54
- key: "".concat(word + index),
55
- className: "puzzle--hanged__word",
56
- "data-testid": "result-".concat(index)
57
- }, show ? word.map(function (char, i) {
58
- return /*#__PURE__*/_react.default.createElement("span", {
59
- key: "".concat(char + i),
60
- className: "puzzle--hanged__letter active"
61
- }, char);
62
- }) : word.filter(function (_ref2) {
63
- var char = _ref2.char;
64
- return char !== ' ';
65
- }).map(function (_ref3, i) {
66
- var char = _ref3.char,
67
- fixed = _ref3.fixed;
68
- return /*#__PURE__*/_react.default.createElement("span", {
69
- key: "".concat(char + i),
70
- className: "puzzle--hanged__letter ".concat(!fixed ? 'active' : '', " ").concat(word[i].positionInitial === flickerPosition ? 'fakeFocus' : '')
71
- }, char);
72
- }));
73
- });
74
- };
75
- var defaultImage = 'https://min.gamelearn.io/css-resources/gamelearn/resources/partenon.jpg';
76
- var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
77
- var _image$img;
78
- var soundActions = _ref4.soundActions,
79
- emitEvent = _ref4.emitEvent,
80
- disableExit = _ref4.disableExit,
81
- question = _ref4.question,
82
- image = _ref4.image,
83
- info = _ref4.info,
84
- answer = _ref4.answer,
85
- hintUsed = _ref4.hintUsed,
86
- setResolveAction = _ref4.setResolveAction,
87
- setHintAction = _ref4.setHintAction,
88
- keyboardControl = _ref4.keyboardControl;
89
- var _soundActions = _slicedToArray(soundActions, 1),
90
- playSound = _soundActions[0];
91
- var imgURL = ((_image$img = image.img) === null || _image$img === void 0 ? void 0 : _image$img.url) || defaultImage;
92
- var _useState = (0, _react.useState)(0),
93
- _useState2 = _slicedToArray(_useState, 2),
94
- flickerPosition = _useState2[0],
95
- setFlickerPosition = _useState2[1];
96
- var _useState3 = (0, _react.useState)(false),
97
- _useState4 = _slicedToArray(_useState3, 2),
98
- playerHasFailAtLeastOneTime = _useState4[0],
99
- setPlayerHasFailAtLeastOneTime = _useState4[1];
100
- var _useState5 = (0, _react.useState)([]),
101
- _useState6 = _slicedToArray(_useState5, 2),
102
- poolLetters = _useState6[0],
103
- setPoolLetters = _useState6[1];
104
- var _useState7 = (0, _react.useState)(false),
105
- _useState8 = _slicedToArray(_useState7, 2),
106
- mounted = _useState8[0],
107
- setMounted = _useState8[1];
108
- var _useState9 = (0, _react.useState)([]),
109
- _useState10 = _slicedToArray(_useState9, 2),
110
- resolvedAnswer = _useState10[0],
111
- setAnswer = _useState10[1];
112
- var _useState11 = (0, _react.useState)(''),
113
- _useState12 = _slicedToArray(_useState11, 2),
114
- resolvedClass = _useState12[0],
115
- setResolveClass = _useState12[1];
116
- var _useState13 = (0, _react.useState)(false),
117
- _useState14 = _slicedToArray(_useState13, 2),
118
- disabled = _useState14[0],
119
- setDisable = _useState14[1];
120
- var _useState15 = (0, _react.useState)([]),
121
- _useState16 = _slicedToArray(_useState15, 2),
122
- accRewards = _useState16[0],
123
- setRewards = _useState16[1];
124
- var _useState17 = (0, _react.useState)(false),
125
- _useState18 = _slicedToArray(_useState17, 2),
126
- showCorrectSolution = _useState18[0],
127
- setCorrectSolution = _useState18[1];
128
- var translatedAnswer = answer.toUpperCase().split('');
129
- var answerPanel = translatedAnswer.filter(function (char) {
130
- return (0, _utils.restrictCharacters)(char, 'and');
131
- });
132
- var translate = function translate(id) {
133
- return emitEvent({
134
- type: 'translate',
135
- payload: id
136
- });
137
- };
138
- var resetPool = (0, _react.useCallback)(function () {
139
- var newPool = answerPanel.map(function (char) {
140
- return {
141
- char: char
142
- };
143
- });
144
- var extraPool = [];
145
- var analysis = (0, _utils.analyzeChars)(answerPanel);
146
- while (extraPool.length < MAX_EXTRA_LETTERS) {
147
- var char = (0, _utils.makeChar)(analysis);
148
- extraPool = [].concat(_toConsumableArray(extraPool), [{
149
- char: char
150
- }]);
151
- }
152
- return [].concat(_toConsumableArray(newPool), _toConsumableArray(extraPool));
153
- }, [answerPanel]);
154
- var hiddenAnswer = answer.toUpperCase().split('').map(function (char, index) {
155
- if ((0, _utils.restrictCharacters)(char, 'or')) {
156
- return {
157
- index: index,
158
- letter: char,
159
- char: char,
160
- fixed: true
161
- };
162
- }
163
- return {
164
- index: index,
165
- letter: char,
166
- char: ''
167
- };
168
- });
169
- var setHiddenAnswer = (0, _react.useCallback)(function () {
170
- var newPool = resetPool();
171
- var _loop = function _loop() {
172
- var positionChar = Math.trunc(Math.random() * (newPool.length - 1)) + 1;
173
- var poolLetter = newPool[positionChar];
174
- var foundLetter = hiddenAnswer.find(function (char, index) {
175
- return poolLetter.char === char.letter && !hiddenAnswer[index].fixed;
176
- });
177
- if (foundLetter) {
178
- newPool.splice(positionChar, 1);
179
- hiddenAnswer[foundLetter.index] = _objectSpread(_objectSpread({}, foundLetter), {}, {
180
- char: foundLetter.letter,
181
- fixed: true
182
- });
183
- }
184
- };
185
- while (newPool.length > MAX_POOL_LETTERS) {
186
- _loop();
187
- }
188
- if (hintUsed) {
189
- newPool = [];
190
- hiddenAnswer.forEach(function (_ref5) {
191
- var letter = _ref5.letter;
192
- if (letter !== ' ') newPool.push({
193
- char: letter
194
- });
195
- });
196
- }
197
- setAnswer(hiddenAnswer);
198
- setPoolLetters(newPool);
199
- }, [hiddenAnswer, hintUsed, resetPool]);
200
- var removedPool = function removedPool(character, ind) {
201
- var newPool = poolLetters.map(function (letter, index) {
202
- if (index === ind) {
203
- return _objectSpread(_objectSpread({}, letter), {}, {
204
- deleted: true
205
- });
206
- }
207
- return _objectSpread({}, letter);
208
- });
209
- return newPool;
210
- };
211
- var restore = function restore(newAnswer, newPool, restoredCharacters) {
212
- var restoredPool = newPool.map(function (letter, index) {
213
- var foundCharacter = restoredCharacters.find(function (restoredLetter) {
214
- return restoredLetter.poolIndex === index;
215
- });
216
- if (foundCharacter) {
217
- return {
218
- char: letter.char
219
- };
220
- }
221
- return letter;
222
- });
223
- setPoolLetters(restoredPool);
224
- setAnswer(newAnswer);
225
- var newCursorPosition = newAnswer.find(function (el) {
226
- return el.char === '';
227
- });
228
- setFlickerPosition(newCursorPosition.index);
229
- };
230
- var addCharacter = function addCharacter(character, index) {
231
- playSound('click-ui');
232
- var setted = false;
233
- var newAnswer = resolvedAnswer.map(function (letter) {
234
- if (!letter.char && !setted) {
235
- setted = true;
236
- return _objectSpread(_objectSpread({}, letter), {}, {
237
- char: character,
238
- poolIndex: index
239
- });
240
- }
241
- return letter;
242
- });
243
- var newPool = removedPool(character, index);
244
- var responsedChar = newAnswer.filter(function (letter) {
245
- return letter.char;
246
- }).length;
247
- setPoolLetters(newPool);
248
- setAnswer(newAnswer);
249
- getCursorPosition();
250
- if (responsedChar === resolvedAnswer.length) {
251
- resolvePuzzle(newAnswer, newPool);
252
- }
253
- };
254
- var getCursorPosition = function getCursorPosition() {
255
- if (!playerHasFailAtLeastOneTime) {
256
- var _resolvedAnswer;
257
- var cursorPosition = resolvedAnswer.find(function (el) {
258
- return el.char === '';
259
- });
260
- setFlickerPosition(cursorPosition.index + 1);
261
- if (((_resolvedAnswer = resolvedAnswer[cursorPosition.index + 1]) === null || _resolvedAnswer === void 0 ? void 0 : _resolvedAnswer.letter) === ' ') {
262
- setFlickerPosition(cursorPosition.index + 2);
263
- }
264
- } else {
265
- var _cursorPosition = resolvedAnswer.find(function (el) {
266
- return el.index !== flickerPosition && el.letter !== ' ' && el.char === '' && el.poolIndex === false;
267
- });
268
- if (_cursorPosition) {
269
- setFlickerPosition(_cursorPosition.index);
270
- }
271
- }
272
- };
273
- var removeCharacter = function removeCharacter() {
274
- playSound('click-ui');
275
- var newCharacter = resolvedAnswer.map(function (letter, index) {
276
- return resolvedAnswer[resolvedAnswer.length - 1 - index];
277
- }).find(function (letter) {
278
- return letter.char && !letter.fixed;
279
- });
280
- if (newCharacter) {
281
- var newAnswer = resolvedAnswer.map(function (letter) {
282
- if (letter.index === newCharacter.index) {
283
- return _objectSpread(_objectSpread({}, newCharacter), {}, {
284
- char: ''
285
- });
286
- }
287
- return letter;
288
- });
289
- var found = false;
290
- var newPool = poolLetters.map(function (letter, index) {
291
- if (index === newCharacter.poolIndex && (letter.deleted || !found)) {
292
- found = true;
293
- return {
294
- char: letter.char
295
- };
296
- }
297
- return letter;
298
- });
299
- setPoolLetters(newPool);
300
- setAnswer(newAnswer);
301
- setFlickerPosition(newCharacter.index);
302
- }
303
- };
304
- var handleClose = function handleClose() {
305
- disableExit(true);
306
- setResolveClass('');
307
- var rewardsData = [].concat(_toConsumableArray(accRewards), _toConsumableArray(info.solution.right.rewards));
308
- playSound('score');
309
- emitEvent({
310
- type: 'hidePuzzleButtons',
311
- payload: false
312
- });
313
- emitEvent({
314
- type: 'addPoints',
315
- complex: true,
316
- finish: true,
317
- payload: rewardsData
318
- });
319
- emitEvent({
320
- type: 'passPuzzle'
321
- });
322
- };
323
- var handleFail = function handleFail() {
324
- playSound('fail');
325
- emitEvent({
326
- type: 'hidePuzzleButtons',
327
- payload: false
328
- });
329
- setRewards([].concat(_toConsumableArray(accRewards), _toConsumableArray(info.solution.wrong.rewards)));
330
- setResolveClass('');
331
- setDisable(false);
332
- emitEvent({
333
- type: 'failPuzzle'
334
- });
335
- setPlayerHasFailAtLeastOneTime(true);
336
- };
337
- var resolvePuzzle = function resolvePuzzle(newAnswer, newPool) {
338
- var restoredCharacters = [];
339
- setDisable(true);
340
- var evaluatedAnswer = newAnswer.map(function (letter, index) {
341
- if (translatedAnswer[index] === letter.char) {
342
- return _objectSpread(_objectSpread({}, letter), {}, {
343
- fixed: true
344
- });
345
- }
346
- restoredCharacters = [].concat(_toConsumableArray(restoredCharacters), [letter]);
347
- return _objectSpread(_objectSpread({}, letter), {}, {
348
- poolIndex: false,
349
- char: ''
350
- });
351
- });
352
- var correctLetters = evaluatedAnswer.filter(function (letter) {
353
- return letter.fixed;
354
- }).length;
355
- emitEvent({
356
- type: 'hidePuzzleButtons',
357
- payload: true
358
- });
359
- if (correctLetters === translatedAnswer.length) {
360
- setResolveClass('success');
361
- if (info.solution.right.desc === '') {
362
- setTimeout(function () {
363
- handleClose();
364
- }, 2000);
365
- }
366
- } else {
367
- setResolveClass('failed');
368
- restore(evaluatedAnswer, newPool, restoredCharacters);
369
- if (info.solution.wrong.desc === '') {
370
- setTimeout(function () {
371
- handleFail();
372
- }, 2000);
373
- }
374
- }
375
- };
376
- var handleFeedbackFuncionOnClose = function handleFeedbackFuncionOnClose() {
377
- if (resolvedClass === 'success') {
378
- handleClose();
379
- } else {
380
- handleFail();
381
- var cursorPosition = resolvedAnswer.find(function (el) {
382
- return el.char === '';
383
- });
384
- setFlickerPosition(cursorPosition.index);
385
- }
386
- };
387
- (0, _react.useEffect)(function () {
388
- if (!mounted) {
389
- setMounted(true);
390
- setHiddenAnswer();
391
- }
392
- setResolveAction(function (callback) {
393
- setCorrectSolution(true);
394
- setTimeout(function () {
395
- emitEvent({
396
- type: 'hidePuzzleButtons',
397
- payload: false
398
- });
399
- callback();
400
- }, 2000);
401
- });
402
- setHintAction(function (callback) {
403
- var newPool = [];
404
- hiddenAnswer.forEach(function (_ref6) {
405
- var letter = _ref6.letter;
406
- if (letter !== ' ') newPool.push({
407
- char: letter
408
- });
409
- });
410
- setPoolLetters(newPool);
411
- callback();
412
- });
413
- }, [setHiddenAnswer, mounted, answer, setResolveAction, emitEvent, accRewards, info.resolve.rewards, hiddenAnswer, setHintAction]);
414
- return /*#__PURE__*/_react.default.createElement("div", {
415
- className: "puzzle--hanged",
416
- style: {
417
- backgroundImage: "url(\"".concat(imgURL, "\")")
418
- }
419
- }, resolvedClass ? /*#__PURE__*/_react.default.createElement(_feedbackComponent.default, {
420
- playSound: playSound,
421
- text: info.solution[resolvedClass === 'success' ? 'right' : 'wrong'].desc,
422
- success: resolvedClass === 'success',
423
- translate: translate,
424
- functionOnClose: handleFeedbackFuncionOnClose,
425
- keyboardControl: keyboardControl
426
- }) : null, /*#__PURE__*/_react.default.createElement("div", {
427
- className: "puzzle--hanged__content"
428
- }, /*#__PURE__*/_react.default.createElement("div", {
429
- className: "puzzle--hanged__controls"
430
- }, /*#__PURE__*/_react.default.createElement("div", {
431
- dir: "auto",
432
- className: "puzzle--hanged__header"
433
- }, question), /*#__PURE__*/_react.default.createElement("div", {
434
- dir: "auto",
435
- className: "puzzle--hanged__solution ".concat(resolvedClass),
436
- "data-testid": "".concat(resolvedClass)
437
- }, showCorrectSolution ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(AnswerPanel, {
438
- showCorrectSolution: showCorrectSolution,
439
- answer: answer.split(''),
440
- show: true
441
- })) : /*#__PURE__*/_react.default.createElement(AnswerPanel, {
442
- showCorrectSolution: showCorrectSolution,
443
- flickerPosition: flickerPosition,
444
- answer: resolvedAnswer
445
- })), /*#__PURE__*/_react.default.createElement("div", {
446
- className: "puzzle--hanged__keyboard"
447
- }, poolLetters.sort(function (letter1, letter2) {
448
- return (0, _utils.sortChar)(letter1, letter2);
449
- }).map(function (letter, index) {
450
- return /*#__PURE__*/_react.default.createElement("button", {
451
- key: "".concat(letter + index),
452
- "data-testid": "key-".concat(letter.char),
453
- type: "button",
454
- onClick: function onClick() {
455
- if (!letter.deleted && !resolvedClass && !disabled) {
456
- addCharacter(letter.char, index);
457
- playSound('click-ui');
458
- }
459
- },
460
- className: "puzzle--hanged__keyboard--item ".concat(letter.deleted || disabled ? 'disabled' : '')
461
- }, letter.char);
462
- }), /*#__PURE__*/_react.default.createElement("button", {
463
- onClick: disabled ? null : function () {
464
- return removeCharacter();
465
- },
466
- type: "button",
467
- disabled: disabled ? 'disabled' : null,
468
- "aria-label": translate('puzzles.hanged-puzzle.deleteButton'),
469
- className: "puzzle--hanged__keyboard--item delete ".concat(disabled ? 'disabled' : '')
470
- }, /*#__PURE__*/_react.default.createElement("span", {
471
- className: "icon-delete-keyboard"
472
- }))))));
473
- };
474
- HangedPuzzleComponent.defaultProps = {
475
- question: '',
476
- answer: '',
477
- image: {},
478
- hintBought: false,
479
- info: {
480
- description: '',
481
- instructions: '',
482
- resolve: {},
483
- solution: {},
484
- hintBought: {}
485
- }
486
- };
487
- var _default = HangedPuzzleComponent;
488
- exports.default = _default;
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _HangedPuzzleComponent = _interopRequireDefault(require("./components/HangedPuzzleComponent"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- var _default = _HangedPuzzleComponent.default;
10
- exports.default = _default;
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.mockProps = exports.default = void 0;
7
- var _mocker = require("helpers/mocker");
8
- var disableExit = function disableExit(attr) {
9
- return attr;
10
- };
11
- var mockProps = {
12
- emitEvent: _mocker.emitEvent,
13
- soundActions: _mocker.soundActions,
14
- keyboardControl: _mocker.keyboardControl,
15
- disableExit: disableExit,
16
- setResolveAction: function setResolveAction() {},
17
- setHintAction: function setHintAction() {},
18
- image: {
19
- img: {
20
- // eslint-disable-next-line max-len
21
- url: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/60508f84901f3e00123a0796/holamundo.jpg'
22
- }
23
- },
24
- question: 'Hola amigos, ¿como están?',
25
- answer: 'muy bien',
26
- info: {
27
- hint: {
28
- active: true,
29
- desc: 'hint',
30
- rewards: []
31
- },
32
- resolve: {
33
- rewards: []
34
- },
35
- solution: {
36
- right: {
37
- desc: 'correctSolution',
38
- rewards: [{
39
- id: 'hangmocko',
40
- name: 'Power',
41
- points: 1000,
42
- type: 'score'
43
- }]
44
- },
45
- wrong: {
46
- desc: 'wrongSolution',
47
- rewards: [{
48
- id: 'hangmocko',
49
- name: 'Power',
50
- points: -1000,
51
- type: 'score'
52
- }]
53
- }
54
- },
55
- instructions: 'cghgfdhgch',
56
- description: 'description'
57
- }
58
- };
59
- exports.mockProps = mockProps;
60
- var _default = mockProps;
61
- exports.default = _default;
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.sortChar = exports.restrictCharacters = exports.makeChar = exports.analyzeChars = void 0;
7
- var ARABIC = /[\u0600-\u06FF]/;
8
- var restrictCharacters = function restrictCharacters(char, operator) {
9
- var restrictedChar = false;
10
- if (operator === 'or') {
11
- restrictedChar = char === '' || char === ' ' || char === ',' || char === '.' || char === '/';
12
- }
13
- if (operator === 'and') {
14
- restrictedChar = char && char !== ' ' && char !== ',' && char !== '.' && char !== '' && char !== '/';
15
- }
16
- return restrictedChar;
17
- };
18
- exports.restrictCharacters = restrictCharacters;
19
- var sortChar = function sortChar(a, b) {
20
- if (a.char > b.char) {
21
- return 1;
22
- }
23
- if (a.char < b.char) {
24
- return -1;
25
- }
26
- return 0;
27
- };
28
- exports.sortChar = sortChar;
29
- var analyzeChars = function analyzeChars(letters) {
30
- var result = {
31
- anyArabic: false,
32
- anyNumber: false,
33
- anyWestern: false
34
- };
35
- for (var i = 0; i < letters.length; i += 1) {
36
- var ascii = letters[i].charCodeAt(0);
37
- if (ascii >= 65 && ascii <= 90) {
38
- result.anyWestern = true;
39
- } else if (ascii >= 48 && ascii <= 57) {
40
- result.anyNumber = true;
41
- } else if (ARABIC.test(letters[i])) {
42
- result.anyArabic = true;
43
- }
44
- }
45
- return result;
46
- };
47
- exports.analyzeChars = analyzeChars;
48
- var makeChar = function makeChar(analysis) {
49
- var arabic = 'شزذيثبلاهتنمورخحضثقسفعدصطغظ';
50
- var western = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
51
- var numbers = '0123456789';
52
- var characters = '';
53
- if (analysis.anyWestern) {
54
- characters += western;
55
- }
56
- if (analysis.anyNumber) {
57
- characters += numbers;
58
- }
59
- if (analysis.anyArabic) {
60
- characters += arabic;
61
- }
62
- return characters.charAt(Math.floor(Math.random() * characters.length));
63
- };
64
- exports.makeChar = makeChar;
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _imageClickWrapperComponent = _interopRequireDefault(require("../../image-click-wrapper-component"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
11
- var ImageClickPuzzleComponent = function ImageClickPuzzleComponent(props) {
12
- var finish = function finish(rw, success) {
13
- if (success) {
14
- props.emitEvent({
15
- type: 'addPoints',
16
- complex: true,
17
- finish: true,
18
- payload: rw
19
- });
20
- props.emitEvent({
21
- type: 'passPuzzle'
22
- });
23
- } else {
24
- props.emitEvent({
25
- type: 'addPoints',
26
- payload: rw,
27
- finish: false
28
- });
29
- props.emitEvent({
30
- type: 'failPuzzle'
31
- });
32
- }
33
- };
34
- return /*#__PURE__*/_react.default.createElement(_imageClickWrapperComponent.default, _extends({}, props, {
35
- emitFinish: finish,
36
- name: "image-click-puzzle"
37
- }));
38
- };
39
- var _default = ImageClickPuzzleComponent;
40
- exports.default = _default;
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _ImageClickPuzzleComponent = _interopRequireDefault(require("./components/ImageClickPuzzleComponent"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- var _default = _ImageClickPuzzleComponent.default;
10
- exports.default = _default;