@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
@@ -9,7 +9,7 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _FeedbackMessage = _interopRequireDefault(require("./FeedbackMessage"));
12
+ var _FeedbackComponent = _interopRequireDefault(require("../../feedback-component/components/FeedbackComponent"));
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
@@ -62,14 +62,33 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
62
62
  inputPassword = _useState8[0],
63
63
  setInputPassword = _useState8[1];
64
64
 
65
+ var _useState9 = (0, _react.useState)(false),
66
+ _useState10 = _slicedToArray(_useState9, 2),
67
+ feedbackResult = _useState10[0],
68
+ setFeedbackResult = _useState10[1];
69
+
70
+ var _useState11 = (0, _react.useState)(''),
71
+ _useState12 = _slicedToArray(_useState11, 2),
72
+ feedBackText = _useState12[0],
73
+ setFeedBackText = _useState12[1];
74
+
75
+ var _useState13 = (0, _react.useState)(false),
76
+ _useState14 = _slicedToArray(_useState13, 2),
77
+ feedbackIsShown = _useState14[0],
78
+ setFeedbackIsShown = _useState14[1];
79
+
65
80
  var imageURL = ((_image$img = image.img) === null || _image$img === void 0 ? void 0 : _image$img.url) || defaultImage;
66
81
 
67
82
  var checkPass = function checkPass(current) {
68
83
  if (current === password) {
69
84
  disableExit(false);
70
85
  setPassClass('success');
86
+ setFeedbackResult(true);
87
+ setFeedBackText(info.solution.right.desc);
88
+ setFeedbackIsShown(true);
71
89
  setFinished(true);
72
90
  setTimeout(function () {
91
+ setFeedbackIsShown(false);
73
92
  emitEvent({
74
93
  type: 'addPoints',
75
94
  payload: failed ? info.solution.wrong.rewards : info.solution.right.rewards
@@ -77,8 +96,12 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
77
96
  }, 4000);
78
97
  } else {
79
98
  setFailed(true);
99
+ setFeedbackIsShown(true);
80
100
  setPassClass('failed');
101
+ setFeedbackResult(false);
102
+ setFeedBackText(info.solution.wrong.desc);
81
103
  setTimeout(function () {
104
+ setFeedbackIsShown(false);
82
105
  setPassClass('');
83
106
  setInputPassword('');
84
107
  }, 2000);
@@ -89,12 +112,14 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
89
112
  setResolveAction(function (resolve) {
90
113
  disableExit(false);
91
114
  setPassClass('success');
115
+ setFeedbackResult(true);
116
+ setFeedBackText(info.solution.right.desc);
92
117
  setFinished(true);
93
118
  setTimeout(function () {
94
119
  resolve();
95
120
  }, 4000);
96
121
  });
97
- }, [setResolveAction, disableExit]);
122
+ }, [setResolveAction, disableExit, info.solution.right.desc]);
98
123
 
99
124
  var handleNumbClick = function handleNumbClick(row, col) {
100
125
  var char = keyboard[row][col];
@@ -149,10 +174,10 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
149
174
  key: col
150
175
  }, col);
151
176
  }));
152
- })), /*#__PURE__*/_react.default.createElement(_FeedbackMessage.default, {
153
- info: info,
154
- passClass: passClass,
155
- finished: finished
177
+ })), feedbackIsShown && /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
178
+ text: feedBackText,
179
+ success: feedbackResult,
180
+ additionalStyle: "bottom"
156
181
  }));
157
182
  };
158
183
 
@@ -13,6 +13,8 @@ var _pdfComponent = require("../../../pdf-component");
13
13
 
14
14
  var _Image = _interopRequireDefault(require("../Image"));
15
15
 
16
+ var _FeedbackComponent = _interopRequireDefault(require("../../../feedback-component/components/FeedbackComponent"));
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
18
20
  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; }
@@ -112,11 +114,15 @@ var Visor = function Visor(_ref) {
112
114
 
113
115
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
114
116
  className: "puzzle--terminal__visor"
115
- }, fileId === solutionId ? /*#__PURE__*/_react.default.createElement(Feedback, {
116
- status: "success",
117
- feedback: info.solution.right.desc
117
+ }, fileId === solutionId ? /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
118
+ success: "success",
119
+ text: info.solution.right.desc,
120
+ functionOnClose: backFile,
121
+ additionalStyle: ICONS[file.type],
122
+ secondText: title,
123
+ puzzleHeaderClass: 'puzzle--terminal__visor--message'
118
124
  }) : /*#__PURE__*/_react.default.createElement(Feedback, {
119
- status: "failed",
125
+ success: "failed",
120
126
  feedback: info.solution.wrong.desc
121
127
  }), /*#__PURE__*/_react.default.createElement("div", {
122
128
  className: "puzzle--terminal__visor--body"
@@ -72,7 +72,7 @@ function makeTextSprite(message, opts) {
72
72
  var fontsize = parameters.fontsize || 120;
73
73
  var canvas = document.createElement('canvas');
74
74
  var context = canvas.getContext('2d');
75
- context.font = fontsize + "px " + fontface; // get size data (height depends only on font size)
75
+ context.font = fontsize + 'px ' + fontface; // get size data (height depends only on font size)
76
76
  // var metrics = context.measureText(message);
77
77
  // var textWidth = metrics.width;
78
78
  // text color
@@ -293,7 +293,18 @@ var getHelpers = function getHelpers(scene) {
293
293
  };
294
294
 
295
295
  var drawLOD = function drawLOD(scene, camera) {
296
- if (!camera.parent) return;
296
+ var currentCamera = camera;
297
+
298
+ if (!currentCamera.parent) {
299
+ scene.traverse(function (node) {
300
+ var _node$userData;
301
+
302
+ if (node.isPerspectiveCamera && (_node$userData = node.userData) !== null && _node$userData !== void 0 && _node$userData.defaultCamera) {
303
+ currentCamera = node;
304
+ }
305
+ });
306
+ }
307
+
297
308
  var params = {};
298
309
  params._texturesFrustum = texturesFrustum;
299
310
  params._texturesDistance = texturesDistance;
@@ -306,27 +317,32 @@ var drawLOD = function drawLOD(scene, camera) {
306
317
 
307
318
  params._scene.add(params._helpers);
308
319
 
309
- params._camera = camera;
320
+ params._camera = currentCamera;
310
321
  params._frustum = null;
311
322
 
312
323
  if (params._texturesFrustum || params._texturesDistance) {
313
- if (showHelpers) {
314
- var helper = new THREE.CameraHelper(params._camera.clone());
315
-
316
- params._helpers.add(helper);
317
-
318
- helper.update();
319
- }
324
+ if (params._camera) {
325
+ params._camera.updateMatrixWorld();
320
326
 
321
- ;
327
+ params._camera.updateProjectionMatrix();
322
328
 
323
- if (params._camera) {
324
329
  params._frustum = new THREE.Frustum();
325
330
 
326
331
  params._frustum.setFromProjectionMatrix(new THREE.Matrix4().multiplyMatrices(params._camera.projectionMatrix, params._camera.matrixWorldInverse));
327
332
  } else {
328
333
  params._texturesFrustum = params._texturesDistance = false;
329
334
  }
335
+
336
+ if (showHelpers) {
337
+ var helper = new THREE.CameraHelper(params._camera.clone());
338
+
339
+ params._helpers.add(helper);
340
+
341
+ helper.update();
342
+ var axesHelper = new THREE.AxesHelper(5);
343
+
344
+ params._helpers.add(axesHelper);
345
+ }
330
346
  }
331
347
 
332
348
  setTexturableElements(params);
@@ -46,8 +46,8 @@ var fetchGlb = function fetchGlb(originalUrl) {
46
46
  var url = isTexturableObject ? originalUrl.replace('.glb', '.geometry.glb') : originalUrl;
47
47
  return new Promise(function (resolve, reject) {
48
48
  gltfLoader.load(url, function (result) {
49
- treatGeometry(result);
50
- result.scene.userData.url = originalUrl;
49
+ treatGeometry(result); // result.scene.userData.url = originalUrl;
50
+
51
51
  resolve(result);
52
52
  }, null, function (error) {
53
53
  return reject(error);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "license": "Gamelearn",
4
- "version": "0.6.2",
4
+ "version": "0.7.0",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "dist",
@@ -12,7 +12,7 @@
12
12
  "url": "https://github.com/gamelearn/arcade-components"
13
13
  },
14
14
  "dependencies": {
15
- "@react-three/drei": "^5.1.6",
15
+ "@react-three/drei": "^5.3.1",
16
16
  "@react-three/fiber": "6.0.16",
17
17
  "@testing-library/jest-dom": "5.11.4",
18
18
  "@testing-library/react": "11.1.0",
@@ -26,8 +26,7 @@
26
26
  "react-pdf": "5.2.0",
27
27
  "react-promise-suspense": "0.3.3",
28
28
  "react-typist": "^2.0.5",
29
- "three": "0.128.0",
30
- "use-sound": "2.0.1",
29
+ "three": "^0.129.0",
31
30
  "web-vitals": "0.2.4"
32
31
  },
33
32
  "scripts": {
@@ -56,7 +55,7 @@
56
55
  "@babel/cli": "7.12.10",
57
56
  "@babel/preset-env": "7.12.11",
58
57
  "@babel/preset-react": "7.12.10",
59
- "@gamelearn/ui-components-core": "5.16.0",
58
+ "@gamelearn/ui-components-core": "5.18.0",
60
59
  "@react-three/test-renderer": "6.0.6",
61
60
  "@storybook/addon-actions": "6.1.11",
62
61
  "@storybook/addon-essentials": "6.1.11",
@@ -1,30 +0,0 @@
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
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- var FeedbackMessage = function FeedbackMessage(_ref) {
13
- var info = _ref.info,
14
- passClass = _ref.passClass,
15
- finished = _ref.finished;
16
- if (!passClass) return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
17
- if (finished) return /*#__PURE__*/_react.default.createElement("div", {
18
- className: "puzzle--image__result bottom ".concat(passClass)
19
- }, /*#__PURE__*/_react.default.createElement("span", {
20
- className: "title"
21
- }, info.solution.right.desc ? /*#__PURE__*/_react.default.createElement("span", null, info.solution.right.desc) : null));
22
- return /*#__PURE__*/_react.default.createElement("div", {
23
- className: "puzzle--keyboard__failed feedback puzzle--image__result bottom ".concat(passClass)
24
- }, /*#__PURE__*/_react.default.createElement("span", {
25
- className: "title"
26
- }, info.solution.wrong.desc ? /*#__PURE__*/_react.default.createElement("span", null, info.solution.wrong.desc) : null));
27
- };
28
-
29
- var _default = FeedbackMessage;
30
- exports.default = _default;