@gamelearn/arcade-components 1.11.9 → 1.12.1

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 (24) hide show
  1. package/dist/components/comic-component/components/ComicComponent.js +26 -6
  2. package/dist/components/comic-component/components/Slide.js +1 -15
  3. package/dist/components/index.js +0 -56
  4. package/dist/helpers/useEkho.js +21 -3
  5. package/package.json +1 -1
  6. package/dist/components/arcade-render/background/index.js +0 -24
  7. package/dist/components/arcade-render/background/scene-elements/customGeometry/index.js +0 -46
  8. package/dist/components/arcade-render/background/scene-elements/index.js +0 -106
  9. package/dist/components/arcade-render/element/AnimateElement.js +0 -136
  10. package/dist/components/arcade-render/element/BoundingBox.js +0 -65
  11. package/dist/components/arcade-render/element/Projection.js +0 -38
  12. package/dist/components/arcade-render/element/index.js +0 -163
  13. package/dist/components/arcade-render/elements-list/ClickableArea.js +0 -94
  14. package/dist/components/arcade-render/elements-list/Poster.js +0 -92
  15. package/dist/components/arcade-render/elements-list/index.js +0 -166
  16. package/dist/components/arcade-render/light/index.js +0 -35
  17. package/dist/components/arcade-render/light/useLight.js +0 -62
  18. package/dist/components/arcade-render/loading/Loading.js +0 -54
  19. package/dist/components/arcade-render/loading/LoadingLogic.js +0 -56
  20. package/dist/components/arcade-render/loading/index.js +0 -13
  21. package/dist/components/arcade-render/mocks/index.js +0 -32
  22. package/dist/components/arcade-render/scene/ConfigController.js +0 -68
  23. package/dist/components/arcade-render/scene/index.js +0 -129
  24. package/dist/components/arcade-render/scene/useCameraPan.js +0 -115
@@ -11,6 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _useTimeout2 = _interopRequireDefault(require("../../../helpers/useTimeout"));
13
13
 
14
+ var _useEkho2 = _interopRequireDefault(require("../../../helpers/useEkho"));
15
+
14
16
  var _Slide = _interopRequireDefault(require("./Slide"));
15
17
 
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -31,9 +33,11 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
31
33
 
32
34
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
35
 
34
- var characterMs = 250;
36
+ var characterMs = 75;
35
37
 
36
38
  var ComicComponent = function ComicComponent(_ref) {
39
+ var _slides$slideCount, _slides$slideCount2, _slides$slideCount3, _slides$slideCount3$v, _slides$slideCount4;
40
+
37
41
  var slides = _ref.slides,
38
42
  emitEvent = _ref.emitEvent,
39
43
  _ref$soundActions = _ref.soundActions,
@@ -95,18 +99,34 @@ var ComicComponent = function ComicComponent(_ref) {
95
99
  goToPreviousSlide();
96
100
  };
97
101
 
102
+ var _useEkho = (0, _useEkho2.default)({
103
+ audioType: slides === null || slides === void 0 ? void 0 : (_slides$slideCount = slides[slideCount]) === null || _slides$slideCount === void 0 ? void 0 : _slides$slideCount.audioType,
104
+ voice: slides === null || slides === void 0 ? void 0 : (_slides$slideCount2 = slides[slideCount]) === null || _slides$slideCount2 === void 0 ? void 0 : _slides$slideCount2.voice,
105
+ text: slides === null || slides === void 0 ? void 0 : (_slides$slideCount3 = slides[slideCount]) === null || _slides$slideCount3 === void 0 ? void 0 : (_slides$slideCount3$v = _slides$slideCount3.vignettes[0].textData) === null || _slides$slideCount3$v === void 0 ? void 0 : _slides$slideCount3$v.text,
106
+ audio: slides === null || slides === void 0 ? void 0 : (_slides$slideCount4 = slides[slideCount]) === null || _slides$slideCount4 === void 0 ? void 0 : _slides$slideCount4.audio,
107
+ soundActions: soundActions,
108
+ emitEvent: emitEvent
109
+ }),
110
+ onFinish = _useEkho.onFinish;
111
+
98
112
  (0, _react.useEffect)(function () {
99
- if (automatic) {
100
- var _slides$slideCount, _slides$slideCount$vi, _slides$slideCount$vi2;
113
+ var slide = slides === null || slides === void 0 ? void 0 : slides[slideCount];
101
114
 
102
- var time = characterMs * (((_slides$slideCount = slides[slideCount]) === null || _slides$slideCount === void 0 ? void 0 : (_slides$slideCount$vi = _slides$slideCount.vignettes[0]) === null || _slides$slideCount$vi === void 0 ? void 0 : (_slides$slideCount$vi2 = _slides$slideCount$vi.textData) === null || _slides$slideCount$vi2 === void 0 ? void 0 : _slides$slideCount$vi2.text.length) || 0);
103
- start(goToNextSlide, time);
115
+ if (automatic) {
116
+ if (!Object.keys(slide.voice || {}).length) {
117
+ var _slide$vignettes$, _slide$vignettes$$tex;
118
+
119
+ var time = characterMs * ((slide === null || slide === void 0 ? void 0 : (_slide$vignettes$ = slide.vignettes[0]) === null || _slide$vignettes$ === void 0 ? void 0 : (_slide$vignettes$$tex = _slide$vignettes$.textData) === null || _slide$vignettes$$tex === void 0 ? void 0 : _slide$vignettes$$tex.text.length) || 0);
120
+ start(goToNextSlide, time < 1400 ? 1400 : time);
121
+ } else {
122
+ onFinish(goToNextSlide);
123
+ }
104
124
  }
105
125
 
106
126
  return function () {
107
127
  stop();
108
128
  };
109
- }, [automatic, goToNextSlide, slideCount, slides, start, stop]);
129
+ }, [automatic, goToNextSlide, onFinish, slideCount, slides, start, stop]);
110
130
  if (!(slides !== null && slides !== void 0 && slides.length)) return null;
111
131
  return /*#__PURE__*/_react.default.createElement("div", {
112
132
  className: "comic component growIn-animation"
@@ -9,26 +9,12 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _Vignette = _interopRequireDefault(require("./Vignette"));
11
11
 
12
- var _useEkho = _interopRequireDefault(require("../../../helpers/useEkho"));
13
-
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
 
16
14
  var Slide = function Slide(_ref) {
17
- var _slide$vignettes$0$te;
18
-
19
15
  var slide = _ref.slide,
20
- transition = _ref.transition,
21
- soundActions = _ref.soundActions,
22
- emitEvent = _ref.emitEvent;
16
+ transition = _ref.transition;
23
17
  var slideTransition = slide.transitionEffects || transition;
24
- (0, _useEkho.default)({
25
- audioType: slide === null || slide === void 0 ? void 0 : slide.audioType,
26
- voice: slide === null || slide === void 0 ? void 0 : slide.voice,
27
- text: slide === null || slide === void 0 ? void 0 : (_slide$vignettes$0$te = slide.vignettes[0].textData) === null || _slide$vignettes$0$te === void 0 ? void 0 : _slide$vignettes$0$te.text,
28
- audio: slide === null || slide === void 0 ? void 0 : slide.audio,
29
- soundActions: soundActions,
30
- emitEvent: emitEvent
31
- });
32
18
  return /*#__PURE__*/_react.default.createElement("div", {
33
19
  className: "comic--slide__item ".concat(slideTransition)
34
20
  }, slide.vignettes.map(function (vignette) {
@@ -5,12 +5,6 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- Object.defineProperty(exports, "AnimateElement", {
9
- enumerable: true,
10
- get: function get() {
11
- return _AnimateElement.default;
12
- }
13
- });
14
8
  Object.defineProperty(exports, "AnimationComponent", {
15
9
  enumerable: true,
16
10
  get: function get() {
@@ -23,12 +17,6 @@ Object.defineProperty(exports, "AutoEvaluationComponent", {
23
17
  return _autoEvaluationComponent.default;
24
18
  }
25
19
  });
26
- Object.defineProperty(exports, "Background", {
27
- enumerable: true,
28
- get: function get() {
29
- return _background.default;
30
- }
31
- });
32
20
  Object.defineProperty(exports, "CardsSelectorPuzzleComponent", {
33
21
  enumerable: true,
34
22
  get: function get() {
@@ -47,12 +35,6 @@ Object.defineProperty(exports, "ChainedImageClickPuzzleComponent", {
47
35
  return _chainedImageClickPuzzleComponent.default;
48
36
  }
49
37
  });
50
- Object.defineProperty(exports, "ClickableArea", {
51
- enumerable: true,
52
- get: function get() {
53
- return _ClickableArea.default;
54
- }
55
- });
56
38
  Object.defineProperty(exports, "ComicComponent", {
57
39
  enumerable: true,
58
40
  get: function get() {
@@ -95,18 +77,6 @@ Object.defineProperty(exports, "DragItemPuzzleComponent", {
95
77
  return _dragItemPuzzleComponent.default;
96
78
  }
97
79
  });
98
- Object.defineProperty(exports, "Element", {
99
- enumerable: true,
100
- get: function get() {
101
- return _element.default;
102
- }
103
- });
104
- Object.defineProperty(exports, "ElementList", {
105
- enumerable: true,
106
- get: function get() {
107
- return _elementsList.default;
108
- }
109
- });
110
80
  Object.defineProperty(exports, "FrameImageClickComponent", {
111
81
  enumerable: true,
112
82
  get: function get() {
@@ -191,24 +161,12 @@ Object.defineProperty(exports, "PdfVisor", {
191
161
  return _pdfComponent.PdfVisor;
192
162
  }
193
163
  });
194
- Object.defineProperty(exports, "Poster", {
195
- enumerable: true,
196
- get: function get() {
197
- return _Poster.default;
198
- }
199
- });
200
164
  Object.defineProperty(exports, "ReferralComponent", {
201
165
  enumerable: true,
202
166
  get: function get() {
203
167
  return _referralComponent.default;
204
168
  }
205
169
  });
206
- Object.defineProperty(exports, "Scene", {
207
- enumerable: true,
208
- get: function get() {
209
- return _scene.default;
210
- }
211
- });
212
170
  Object.defineProperty(exports, "SurveyComponent", {
213
171
  enumerable: true,
214
172
  get: function get() {
@@ -270,20 +228,6 @@ Object.defineProperty(exports, "ZoomTest", {
270
228
  }
271
229
  });
272
230
 
273
- var _scene = _interopRequireDefault(require("./arcade-render/scene"));
274
-
275
- var _elementsList = _interopRequireDefault(require("./arcade-render/elements-list"));
276
-
277
- var _ClickableArea = _interopRequireDefault(require("./arcade-render/elements-list/ClickableArea"));
278
-
279
- var _Poster = _interopRequireDefault(require("./arcade-render/elements-list/Poster"));
280
-
281
- var _background = _interopRequireDefault(require("./arcade-render/background"));
282
-
283
- var _element = _interopRequireDefault(require("./arcade-render/element"));
284
-
285
- var _AnimateElement = _interopRequireDefault(require("./arcade-render/element/AnimateElement"));
286
-
287
231
  var _noticeComponent = _interopRequireDefault(require("./notice-component"));
288
232
 
289
233
  var _inventoryItem = _interopRequireDefault(require("./inventory-item"));
@@ -28,6 +28,8 @@ var useEkho = function useEkho(_ref) {
28
28
  var voice = _ref.voice,
29
29
  text = _ref.text,
30
30
  audioType = _ref.audioType,
31
+ _ref$loop = _ref.loop,
32
+ loop = _ref$loop === void 0 ? false : _ref$loop,
31
33
  audio = _ref.audio,
32
34
  soundActions = _ref.soundActions,
33
35
  emitEvent = _ref.emitEvent;
@@ -52,7 +54,15 @@ var useEkho = function useEkho(_ref) {
52
54
  type: 'translate',
53
55
  payload: id
54
56
  });
55
- }, [emitEvent]); // Setted when is mounted
57
+ }, [emitEvent]);
58
+ var finishCallback = (0, _react.useRef)(function () {});
59
+ var startCallback = (0, _react.useRef)(function () {});
60
+ var onStartAudio = (0, _react.useCallback)(function (fn) {
61
+ startCallback.current = fn;
62
+ }, []);
63
+ var onFinishAudio = (0, _react.useCallback)(function (fn) {
64
+ finishCallback.current = fn;
65
+ }, []); // Setted when is mounted
56
66
 
57
67
  (0, _react.useEffect)(function () {
58
68
  setIsMounted(true);
@@ -91,8 +101,12 @@ var useEkho = function useEkho(_ref) {
91
101
  url: url,
92
102
  cc: cc
93
103
  };
94
- playSound(url, cc);
95
- }, [playSound]);
104
+ startCallback.current({
105
+ url: url,
106
+ cc: cc
107
+ });
108
+ playSound(url, cc, loop, 0.5, finishCallback.current);
109
+ }, [playSound, loop]);
96
110
  var playSpeech = (0, _react.useCallback)( /*#__PURE__*/function () {
97
111
  var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(payload) {
98
112
  var url;
@@ -145,6 +159,10 @@ var useEkho = function useEkho(_ref) {
145
159
  }
146
160
  }
147
161
  }, [getVoice, playSpeech, isMounted, voice, text, audioType, audio === null || audio === void 0 ? void 0 : audio.url, audio, setCurrentPlaying]);
162
+ return {
163
+ onStart: onStartAudio,
164
+ onFinish: onFinishAudio
165
+ };
148
166
  };
149
167
 
150
168
  var _default = useEkho;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "author": "Gamelearn",
4
4
  "license": "unlicense",
5
- "version": "1.11.9",
5
+ "version": "1.12.1",
6
6
  "main": "dist/index.js",
7
7
  "files": [
8
8
  "dist",
@@ -1,24 +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
- var _sceneElements = _interopRequireDefault(require("./scene-elements"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- var Background = function Background(_ref) {
15
- var _ref$data = _ref.data,
16
- data = _ref$data === void 0 ? {} : _ref$data;
17
- if (Object.keys(data).length === 0) return null;
18
- return /*#__PURE__*/_react.default.createElement(_sceneElements.default, {
19
- objects: Object.values(data)
20
- });
21
- };
22
-
23
- var _default = Background;
24
- exports.default = _default;
@@ -1,46 +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 CustomGeometry = function CustomGeometry(_ref) {
13
- var type = _ref.type,
14
- args = _ref.args;
15
-
16
- switch (type) {
17
- case 'BoxBuffer':
18
- {
19
- return /*#__PURE__*/_react.default.createElement("boxBufferGeometry", {
20
- args: args
21
- });
22
- }
23
-
24
- case 'SphereBuffer':
25
- {
26
- return /*#__PURE__*/_react.default.createElement("sphereBufferGeometry", {
27
- args: args
28
- });
29
- }
30
-
31
- case 'PlaneBuffer':
32
- {
33
- return /*#__PURE__*/_react.default.createElement("planeBufferGeometry", {
34
- args: args
35
- });
36
- }
37
-
38
- default:
39
- {
40
- return null;
41
- }
42
- }
43
- };
44
-
45
- var _default = CustomGeometry;
46
- exports.default = _default;
@@ -1,106 +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
- var _drei = require("@react-three/drei");
11
-
12
- var _fiber = require("@react-three/fiber");
13
-
14
- var _three = require("three");
15
-
16
- var _element = _interopRequireDefault(require("../../element"));
17
-
18
- var _customGeometry = _interopRequireDefault(require("./customGeometry"));
19
-
20
- var _light = _interopRequireDefault(require("../../light"));
21
-
22
- var _excluded = ["material"];
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
28
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29
-
30
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
31
-
32
- var SceneElements = function SceneElements(_ref) {
33
- var objects = _ref.objects;
34
- var scene = (0, _fiber.useThree)(function (state) {
35
- return state.scene;
36
- });
37
- var fog = objects.find(function (object) {
38
- return object.type === 'FOG';
39
- });
40
-
41
- if (fog) {
42
- scene.fog = new _three.FogExp2(fog.color, fog.density);
43
- }
44
-
45
- return /*#__PURE__*/_react.default.createElement("group", {
46
- name: "BACKGROUND"
47
- }, objects.map(function (_ref2, i) {
48
- var _object$userData, _object$userData2, _object$userData3;
49
-
50
- var material = _ref2.material,
51
- object = _objectWithoutProperties(_ref2, _excluded);
52
-
53
- if ((_object$userData = object.userData) !== null && _object$userData !== void 0 && _object$userData.isPrimitive) {
54
- return /*#__PURE__*/_react.default.createElement("mesh", _extends({
55
- key: object.uid || "".concat(object.name, "_").concat(i)
56
- }, object, {
57
- onBeforeRender: function onBeforeRender() {
58
- _three.DefaultLoadingManager.onStart(1, 0, 1);
59
- },
60
- onAfterRender: function onAfterRender() {
61
- _three.DefaultLoadingManager.onProgress(1, 1, 1);
62
-
63
- _three.DefaultLoadingManager.onLoad();
64
- }
65
- }), /*#__PURE__*/_react.default.createElement(_customGeometry.default, {
66
- type: object.userData.primitiveType,
67
- args: object.userData.props
68
- }), /*#__PURE__*/_react.default.createElement("meshLambertMaterial", material));
69
- }
70
-
71
- if (object.url && object.userData.resourceId) {
72
- return /*#__PURE__*/_react.default.createElement(_element.default, _extends({
73
- key: object.uid || "".concat(object.userData.resourceId, "_").concat(i),
74
- url: object.url,
75
- position: object.position,
76
- rotation: object.rotation,
77
- scale: object.scale,
78
- material: material,
79
- onPointerMove: undefined
80
- }, object));
81
- }
82
-
83
- if ((object === null || object === void 0 ? void 0 : (_object$userData2 = object.userData) === null || _object$userData2 === void 0 ? void 0 : _object$userData2.data) === 'camera') {
84
- return /*#__PURE__*/_react.default.createElement(_drei.PerspectiveCamera, _extends({
85
- makeDefault: object.defaultCamera
86
- }, object, {
87
- key: object.name,
88
- onUpdate: function onUpdate(self) {
89
- self.layers.enableAll();
90
- }
91
- }));
92
- } // lights
93
-
94
-
95
- if ((object === null || object === void 0 ? void 0 : (_object$userData3 = object.userData) === null || _object$userData3 === void 0 ? void 0 : _object$userData3.data) === 'light') {
96
- return /*#__PURE__*/_react.default.createElement(_light.default, _extends({}, object, {
97
- key: object.name
98
- }));
99
- }
100
-
101
- return null;
102
- }));
103
- };
104
-
105
- var _default = SceneElements;
106
- exports.default = _default;
@@ -1,136 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _react = _interopRequireWildcard(require("react"));
11
-
12
- var _drei = require("@react-three/drei");
13
-
14
- var _useGLB2 = _interopRequireDefault(require("../../../helpers/useGLB"));
15
-
16
- var _BoundingBox = _interopRequireDefault(require("./BoundingBox"));
17
-
18
- var _excluded = ["model", "position", "rotation", "animationUrl", "enableBounding", "layers", "pauseAtStart", "onClick", "onPointerOver", "onPointerOut"];
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
- 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
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
-
28
- 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; }
29
-
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
-
32
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
-
34
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
35
-
36
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
37
-
38
- var AnimateElement = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
39
- var model = _ref.model,
40
- position = _ref.position,
41
- rotation = _ref.rotation,
42
- animationUrl = _ref.animationUrl,
43
- enableBounding = _ref.enableBounding,
44
- layers = _ref.layers,
45
- pauseAtStart = _ref.pauseAtStart,
46
- onClick = _ref.onClick,
47
- onPointerOver = _ref.onPointerOver,
48
- onPointerOut = _ref.onPointerOut,
49
- props = _objectWithoutProperties(_ref, _excluded);
50
-
51
- var _useGLB = (0, _useGLB2.default)(animationUrl),
52
- animations = _useGLB.animations;
53
-
54
- var _useAnimations = (0, _drei.useAnimations)(animations),
55
- animationRef = _useAnimations.ref,
56
- mixer = _useAnimations.mixer;
57
-
58
- var mouseEvents = {
59
- onClick: onClick,
60
- onPointerOver: onPointerOver,
61
- onPointerOut: onPointerOut,
62
- onPointerCancel: props.onPointerCancel,
63
- onPointerDown: props.onPointerDown,
64
- onPointerEnter: props.onPointerEnter,
65
- onPointerLeave: props.onPointerLeave,
66
- onPointerMove: props.onPointerMove,
67
- onPointerUp: props.onPointerUp
68
- };
69
-
70
- var currentProps = _objectSpread(_objectSpread({}, enableBounding ? {} : mouseEvents), props);
71
-
72
- var getRef = function getRef(node) {
73
- if (ref) {
74
- if (ref instanceof Function) {
75
- ref(node);
76
- } else {
77
- ref.current = node;
78
- }
79
- }
80
-
81
- animationRef.current = node;
82
- };
83
-
84
- (0, _react.useEffect)(function () {
85
- if (animationRef.current) {
86
- mixer.stopAllAction();
87
- var clip = animations[0];
88
- animationRef.current.userData.defaultAnim = clip;
89
- animationRef.current.userData.mixer = mixer;
90
-
91
- if (clip) {
92
- var action = mixer.clipAction(clip, animationRef.current);
93
- action.play();
94
-
95
- if (animationRef.current.brother) {
96
- animationRef.current.brother.updatePosition();
97
- }
98
-
99
- if (pauseAtStart) {
100
- action.paused = true;
101
- }
102
- }
103
- }
104
- }, [mixer, animations, pauseAtStart, animationRef]);
105
- (0, _react.useEffect)(function () {
106
- if (model.brother) {
107
- model.brother.updatePosition();
108
- }
109
- }, [model, position, rotation, currentProps.scale]);
110
- return /*#__PURE__*/_react.default.createElement("group", {
111
- visible: props.visible
112
- }, enableBounding ? /*#__PURE__*/_react.default.createElement(_BoundingBox.default, _extends({
113
- model: model,
114
- layers: layers
115
- }, mouseEvents)) : null, /*#__PURE__*/_react.default.createElement("primitive", _extends({
116
- ref: getRef,
117
- object: model,
118
- position: position,
119
- rotation: rotation,
120
- raycast: enableBounding ? function () {} : _drei.meshBounds
121
- }, currentProps)));
122
- });
123
-
124
- AnimateElement.defaultProps = {
125
- onClick: function onClick() {},
126
- onPointerOver: function onPointerOver() {},
127
- onPointerOut: function onPointerOut() {},
128
- onPointerCancel: function onPointerCancel() {},
129
- onPointerDown: function onPointerDown() {},
130
- onPointerEnter: function onPointerEnter() {},
131
- onPointerLeave: function onPointerLeave() {},
132
- onPointerMove: function onPointerMove() {},
133
- onPointerUp: function onPointerUp() {}
134
- };
135
- var _default = AnimateElement;
136
- exports.default = _default;
@@ -1,65 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _react = _interopRequireWildcard(require("react"));
11
-
12
- var _three = require("three");
13
-
14
- var _excluded = ["model", "visible"];
15
-
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
-
18
- 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; }
19
-
20
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
-
22
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
-
24
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
-
26
- var BoundingBox = function BoundingBox(_ref) {
27
- var model = _ref.model,
28
- visible = _ref.visible,
29
- props = _objectWithoutProperties(_ref, _excluded);
30
-
31
- var bounding = (0, _react.useRef)();
32
- (0, _react.useEffect)(function () {
33
- if (model && bounding.current) {
34
- var updatePosition = function updatePosition() {
35
- var box = new _three.Box3().setFromObject(model);
36
- var size = box.getSize(new _three.Vector3());
37
- bounding.current.position.copy(model.position);
38
- bounding.current.rotation.copy(model.rotation);
39
- bounding.current.scale.copy(size);
40
- bounding.current.scale.x /= 2;
41
- bounding.current.position.y += size.y / 2;
42
- };
43
-
44
- updatePosition();
45
- bounding.current.updatePosition = updatePosition;
46
- model.brother = bounding.current;
47
- }
48
- }, [model]);
49
- return /*#__PURE__*/_react.default.createElement("mesh", _extends({
50
- ref: bounding
51
- }, props), /*#__PURE__*/_react.default.createElement("boxGeometry", {
52
- args: [1, 1, 1]
53
- }), /*#__PURE__*/_react.default.createElement("meshBasicMaterial", {
54
- color: "grey",
55
- visible: false
56
- }));
57
- };
58
-
59
- BoundingBox.defaultProps = {
60
- rotation: [0, 0, 0],
61
- position: [0, 0, 0],
62
- visible: true
63
- };
64
- var _default = BoundingBox;
65
- exports.default = _default;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _react = require("react");
9
-
10
- var _fiber = require("@react-three/fiber");
11
-
12
- var _helpers = require("../../../helpers");
13
-
14
- var Projection = function Projection(_ref) {
15
- var object = _ref.object,
16
- element = _ref.element;
17
- var domNode = document.getElementById('elements-projection');
18
-
19
- var _useThree = (0, _fiber.useThree)(),
20
- gl = _useThree.gl,
21
- camera = _useThree.camera;
22
-
23
- var pos = (0, _helpers.getObjectPosition)(object, camera, gl.domElement);
24
- (0, _react.useLayoutEffect)(function () {
25
- var existingEl = document.getElementById(element.uid);
26
- var div = existingEl || document.createElement('div');
27
- div.setAttribute('id', element.uid);
28
- div.setAttribute('x', pos.x);
29
- div.setAttribute('y', pos.y);
30
- div.setAttribute('type', element.type);
31
- div.setAttribute('name', element.name);
32
- if (!existingEl) domNode.appendChild(div);
33
- });
34
- return null;
35
- };
36
-
37
- var _default = Projection;
38
- exports.default = _default;