@plattar/plattar-ar-adapter 1.123.1 → 1.123.5

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 (35) hide show
  1. package/build/es2015/plattar-ar-adapter.js +1460 -949
  2. package/build/es2015/plattar-ar-adapter.min.js +1 -1
  3. package/build/es2019/plattar-ar-adapter.js +605 -224
  4. package/build/es2019/plattar-ar-adapter.min.js +9 -1
  5. package/dist/ar/launcher-ar.d.ts +8 -1
  6. package/dist/ar/launcher-ar.js +12 -0
  7. package/dist/ar/model-ar.d.ts +0 -5
  8. package/dist/ar/model-ar.js +1 -12
  9. package/dist/ar/product-ar.d.ts +1 -6
  10. package/dist/ar/product-ar.js +3 -14
  11. package/dist/ar/raw-ar.d.ts +0 -5
  12. package/dist/ar/raw-ar.js +0 -12
  13. package/dist/ar/scene-ar.d.ts +21 -1
  14. package/dist/ar/scene-ar.js +148 -5
  15. package/dist/embed/controllers/configurator-controller.d.ts +0 -1
  16. package/dist/embed/controllers/configurator-controller.js +0 -8
  17. package/dist/embed/controllers/plattar-controller.d.ts +1 -1
  18. package/dist/embed/controllers/plattar-controller.js +11 -0
  19. package/dist/embed/controllers/product-controller.d.ts +0 -1
  20. package/dist/embed/controllers/product-controller.js +3 -9
  21. package/dist/embed/controllers/viewer-controller.d.ts +0 -1
  22. package/dist/embed/controllers/viewer-controller.js +3 -9
  23. package/dist/embed/controllers/vto-controller.d.ts +17 -0
  24. package/dist/embed/controllers/vto-controller.js +169 -0
  25. package/dist/embed/plattar-embed.d.ts +6 -0
  26. package/dist/embed/plattar-embed.js +19 -0
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.js +3 -3
  29. package/dist/util/configurator-state.d.ts +26 -0
  30. package/dist/util/configurator-state.js +92 -0
  31. package/dist/version.d.ts +1 -1
  32. package/dist/version.js +1 -1
  33. package/package.json +5 -5
  34. package/dist/ar/configurator-ar.d.ts +0 -9
  35. package/dist/ar/configurator-ar.js +0 -19
@@ -32,12 +32,6 @@ function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _c
32
32
 
33
33
  function _isNativeFunction(fn) { return Function.toString.call(fn).indexOf("[native code]") !== -1; }
34
34
 
35
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
-
37
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
38
-
39
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
40
-
41
35
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
42
36
 
43
37
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
@@ -52,6 +46,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
52
46
 
53
47
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
54
48
 
49
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
50
+
51
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
52
+
53
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
54
+
55
55
  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); }
56
56
 
57
57
  (function (f) {
@@ -115,64 +115,38 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
115
115
  Object.defineProperty(exports, "__esModule", {
116
116
  value: true
117
117
  });
118
- exports.ConfiguratorAR = void 0;
119
-
120
- var launcher_ar_1 = require("./launcher-ar");
121
- /**
122
- * Performs AR related to Plattar Configurator functionalities
123
- */
124
-
125
-
126
- var ConfiguratorAR = /*#__PURE__*/function (_launcher_ar_1$Launch) {
127
- _inherits(ConfiguratorAR, _launcher_ar_1$Launch);
128
-
129
- var _super = _createSuper(ConfiguratorAR);
130
-
131
- function ConfiguratorAR() {
132
- _classCallCheck(this, ConfiguratorAR);
118
+ exports.LauncherAR = void 0;
133
119
 
134
- return _super.apply(this, arguments);
120
+ var LauncherAR = /*#__PURE__*/function () {
121
+ function LauncherAR() {
122
+ _classCallCheck(this, LauncherAR);
135
123
  }
124
+ /**
125
+ * Initialise and launch with a single function call. this is mostly for convenience.
126
+ * Use .init() and .start() separately for fine-grained control
127
+ */
136
128
 
137
- _createClass(ConfiguratorAR, [{
138
- key: "init",
139
- value: function init() {
140
- throw new Error("Method not implemented.");
141
- }
142
- }, {
129
+
130
+ _createClass(LauncherAR, [{
143
131
  key: "launch",
144
132
  value: function launch() {
145
- throw new Error("Method not implemented.");
146
- }
147
- }, {
148
- key: "start",
149
- value: function start() {
150
- throw new Error("Method not implemented.");
133
+ var _this = this;
134
+
135
+ return new Promise(function (accept, reject) {
136
+ _this.init().then(function (value) {
137
+ value.start();
138
+ return accept();
139
+ })["catch"](reject);
140
+ });
151
141
  }
152
142
  }]);
153
143
 
154
- return ConfiguratorAR;
155
- }(launcher_ar_1.LauncherAR);
156
-
157
- exports.ConfiguratorAR = ConfiguratorAR;
158
- }, {
159
- "./launcher-ar": 2
160
- }],
161
- 2: [function (require, module, exports) {
162
- "use strict";
163
-
164
- Object.defineProperty(exports, "__esModule", {
165
- value: true
166
- });
167
- exports.LauncherAR = void 0;
168
-
169
- var LauncherAR = /*#__PURE__*/_createClass(function LauncherAR() {
170
- _classCallCheck(this, LauncherAR);
171
- });
144
+ return LauncherAR;
145
+ }();
172
146
 
173
147
  exports.LauncherAR = LauncherAR;
174
148
  }, {}],
175
- 3: [function (require, module, exports) {
149
+ 2: [function (require, module, exports) {
176
150
  "use strict";
177
151
 
178
152
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -204,29 +178,29 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
204
178
  */
205
179
 
206
180
 
207
- var ModelAR = /*#__PURE__*/function (_launcher_ar_1$Launch2) {
208
- _inherits(ModelAR, _launcher_ar_1$Launch2);
181
+ var ModelAR = /*#__PURE__*/function (_launcher_ar_1$Launch) {
182
+ _inherits(ModelAR, _launcher_ar_1$Launch);
209
183
 
210
- var _super2 = _createSuper(ModelAR);
184
+ var _super = _createSuper(ModelAR);
211
185
 
212
186
  function ModelAR() {
213
- var _this;
187
+ var _this2;
214
188
 
215
189
  var modelID = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
216
190
 
217
191
  _classCallCheck(this, ModelAR);
218
192
 
219
- _this = _super2.call(this); // analytics instance
193
+ _this2 = _super.call(this); // analytics instance
220
194
 
221
- _this._analytics = null;
195
+ _this2._analytics = null;
222
196
 
223
197
  if (!modelID) {
224
198
  throw new Error("ModelAR.constructor(modelID) - modelID must be defined");
225
199
  }
226
200
 
227
- _this._modelID = modelID;
228
- _this._ar = null;
229
- return _this;
201
+ _this2._modelID = modelID;
202
+ _this2._ar = null;
203
+ return _this2;
230
204
  }
231
205
 
232
206
  _createClass(ModelAR, [{
@@ -243,6 +217,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
243
217
  if (project) {
244
218
  analytics = new plattar_analytics_1.Analytics(project.id);
245
219
  analytics.origin = plattar_api_1.Server.location().type;
220
+ analytics.data.push("type", "model-ar");
246
221
  analytics.data.push("applicationId", project.id);
247
222
  analytics.data.push("applicationTitle", project.attributes.title);
248
223
  analytics.data.push("modelId", model.id);
@@ -261,18 +236,18 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
261
236
  }, {
262
237
  key: "init",
263
238
  value: function init() {
264
- var _this2 = this;
239
+ var _this3 = this;
265
240
 
266
241
  return new Promise(function (accept, reject) {
267
242
  if (!util_1.Util.canAugment()) {
268
243
  return reject(new Error("ModelAR.init() - cannot proceed as AR not available in context"));
269
244
  }
270
245
 
271
- var model = new plattar_api_1.FileModel(_this2.modelID);
246
+ var model = new plattar_api_1.FileModel(_this3.modelID);
272
247
  model.include(plattar_api_1.Project);
273
248
  model.get().then(function (model) {
274
249
  // setup the analytics data
275
- _this2._SetupAnalytics(model); // we need to define our AR module here
250
+ _this3._SetupAnalytics(model); // we need to define our AR module here
276
251
  // we are in Safari/Quicklook mode here
277
252
 
278
253
 
@@ -280,16 +255,16 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
280
255
  // model needs to have either USDZ or REALITY files defined
281
256
  // we load REALITY stuff first if available
282
257
  if (model.attributes.reality_filename && util_1.Util.canRealityViewer()) {
283
- _this2._ar = new reality_viewer_1["default"]();
284
- _this2._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.reality_filename;
285
- return accept(_this2);
258
+ _this3._ar = new reality_viewer_1["default"]();
259
+ _this3._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.reality_filename;
260
+ return accept(_this3);
286
261
  } // otherwise, load the USDZ stuff second if available
287
262
 
288
263
 
289
264
  if (model.attributes.usdz_filename && util_1.Util.canQuicklook()) {
290
- _this2._ar = new quicklook_viewer_1["default"]();
291
- _this2._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.usdz_filename;
292
- return accept(_this2);
265
+ _this3._ar = new quicklook_viewer_1["default"]();
266
+ _this3._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.usdz_filename;
267
+ return accept(_this3);
293
268
  }
294
269
 
295
270
  return reject(new Error("ModelAR.init() - cannot proceed as ModelFile does not have a defined .usdz or .reality file"));
@@ -297,9 +272,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
297
272
 
298
273
 
299
274
  if (util_1.Util.canSceneViewer()) {
300
- _this2._ar = new scene_viewer_1["default"]();
301
- _this2._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.original_filename;
302
- return accept(_this2);
275
+ _this3._ar = new scene_viewer_1["default"]();
276
+ _this3._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.original_filename;
277
+ return accept(_this3);
303
278
  } // otherwise, we didn't have AR available - it should never really reach this stage as this should be caught
304
279
  // earlier in the process
305
280
 
@@ -308,23 +283,6 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
308
283
  })["catch"](reject);
309
284
  });
310
285
  }
311
- /**
312
- * Initialise and launch with a single function call. this is mostly for convenience.
313
- * Use .init() and .start() separately for fine-grained control
314
- */
315
-
316
- }, {
317
- key: "launch",
318
- value: function launch() {
319
- var _this3 = this;
320
-
321
- return new Promise(function (accept, reject) {
322
- _this3.init().then(function (value) {
323
- value.start();
324
- return accept();
325
- })["catch"](reject);
326
- });
327
- }
328
286
  /**
329
287
  * Launches the internal AR instance using an appropriate version of AR Viewers
330
288
  */
@@ -371,15 +329,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
371
329
 
372
330
  exports.ModelAR = ModelAR;
373
331
  }, {
374
- "../util/util": 13,
375
- "../viewers/quicklook-viewer": 16,
376
- "../viewers/reality-viewer": 17,
377
- "../viewers/scene-viewer": 18,
378
- "./launcher-ar": 2,
379
- "@plattar/plattar-analytics": 36,
380
- "@plattar/plattar-api": 40
332
+ "../util/util": 14,
333
+ "../viewers/quicklook-viewer": 17,
334
+ "../viewers/reality-viewer": 18,
335
+ "../viewers/scene-viewer": 19,
336
+ "./launcher-ar": 1,
337
+ "@plattar/plattar-analytics": 37,
338
+ "@plattar/plattar-api": 41
381
339
  }],
382
- 4: [function (require, module, exports) {
340
+ 3: [function (require, module, exports) {
383
341
  "use strict";
384
342
 
385
343
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -411,10 +369,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
411
369
  */
412
370
 
413
371
 
414
- var ProductAR = /*#__PURE__*/function (_launcher_ar_1$Launch3) {
415
- _inherits(ProductAR, _launcher_ar_1$Launch3);
372
+ var ProductAR = /*#__PURE__*/function (_launcher_ar_1$Launch2) {
373
+ _inherits(ProductAR, _launcher_ar_1$Launch2);
416
374
 
417
- var _super3 = _createSuper(ProductAR);
375
+ var _super2 = _createSuper(ProductAR);
418
376
 
419
377
  function ProductAR() {
420
378
  var _this4;
@@ -424,7 +382,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
424
382
 
425
383
  _classCallCheck(this, ProductAR);
426
384
 
427
- _this4 = _super3.call(this); // analytics instance
385
+ _this4 = _super2.call(this); // analytics instance
428
386
 
429
387
  _this4._analytics = null;
430
388
 
@@ -449,8 +407,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
449
407
  return this._variationID;
450
408
  }
451
409
  }, {
452
- key: "_setupAnalytics",
453
- value: function _setupAnalytics(product, variation) {
410
+ key: "_SetupAnalytics",
411
+ value: function _SetupAnalytics(product, variation) {
454
412
  var analytics = null;
455
413
  var scene = product.relationships.find(plattar_api_1.Scene); // setup scene stuff (if any)
456
414
 
@@ -458,6 +416,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
458
416
  analytics = new plattar_analytics_1.Analytics(scene.attributes.application_id);
459
417
  analytics.origin = plattar_api_1.Server.location().type;
460
418
  this._analytics = analytics;
419
+ analytics.data.push("type", "product-ar");
461
420
  analytics.data.push("sceneId", scene.id);
462
421
  analytics.data.push("sceneTitle", scene.attributes.title);
463
422
  var application = scene.relationships.find(plattar_api_1.Project); // setup application stuff (if any)
@@ -532,7 +491,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
532
491
  return reject(new Error("ProductAR.init() - cannot proceed as ModelFile for selected variation is corrupt"));
533
492
  }
534
493
 
535
- _this5._setupAnalytics(product, variation); // we need to define our AR module here
494
+ _this5._SetupAnalytics(product, variation); // we need to define our AR module here
536
495
  // we are in Safari/Quicklook mode here
537
496
 
538
497
 
@@ -568,23 +527,6 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
568
527
  })["catch"](reject);
569
528
  });
570
529
  }
571
- /**
572
- * Initialise and launch with a single function call. this is mostly for convenience.
573
- * Use .init() and .start() separately for fine-grained control
574
- */
575
-
576
- }, {
577
- key: "launch",
578
- value: function launch() {
579
- var _this6 = this;
580
-
581
- return new Promise(function (accept, reject) {
582
- _this6.init().then(function (value) {
583
- value.start();
584
- return accept();
585
- })["catch"](reject);
586
- });
587
- }
588
530
  /**
589
531
  * Launches the internal AR instance using an appropriate version of AR Viewers
590
532
  */
@@ -631,15 +573,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
631
573
 
632
574
  exports.ProductAR = ProductAR;
633
575
  }, {
634
- "../util/util": 13,
635
- "../viewers/quicklook-viewer": 16,
636
- "../viewers/reality-viewer": 17,
637
- "../viewers/scene-viewer": 18,
638
- "./launcher-ar": 2,
639
- "@plattar/plattar-analytics": 36,
640
- "@plattar/plattar-api": 40
576
+ "../util/util": 14,
577
+ "../viewers/quicklook-viewer": 17,
578
+ "../viewers/reality-viewer": 18,
579
+ "../viewers/scene-viewer": 19,
580
+ "./launcher-ar": 1,
581
+ "@plattar/plattar-analytics": 37,
582
+ "@plattar/plattar-api": 41
641
583
  }],
642
- 5: [function (require, module, exports) {
584
+ 4: [function (require, module, exports) {
643
585
  "use strict";
644
586
 
645
587
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -667,19 +609,19 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
667
609
  */
668
610
 
669
611
 
670
- var RawAR = /*#__PURE__*/function (_launcher_ar_1$Launch4) {
671
- _inherits(RawAR, _launcher_ar_1$Launch4);
612
+ var RawAR = /*#__PURE__*/function (_launcher_ar_1$Launch3) {
613
+ _inherits(RawAR, _launcher_ar_1$Launch3);
672
614
 
673
- var _super4 = _createSuper(RawAR);
615
+ var _super3 = _createSuper(RawAR);
674
616
 
675
617
  function RawAR() {
676
- var _this7;
618
+ var _this6;
677
619
 
678
620
  var modelLocation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
679
621
 
680
622
  _classCallCheck(this, RawAR);
681
623
 
682
- _this7 = _super4.call(this);
624
+ _this6 = _super3.call(this);
683
625
 
684
626
  if (!modelLocation) {
685
627
  throw new Error("RawAR.constructor(modelLocation) - modelLocation must be defined");
@@ -688,13 +630,13 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
688
630
  var lowerLoc = modelLocation.toLowerCase();
689
631
 
690
632
  if (lowerLoc.endsWith("usdz") || lowerLoc.endsWith("glb") || lowerLoc.endsWith("gltf") || lowerLoc.endsWith("reality")) {
691
- _this7._modelLocation = modelLocation;
692
- _this7._ar = null;
633
+ _this6._modelLocation = modelLocation;
634
+ _this6._ar = null;
693
635
  } else {
694
636
  throw new Error("RawAR.constructor(modelLocation) - modelLocation must be one of gltf, glb, usdz or reality");
695
637
  }
696
638
 
697
- return _this7;
639
+ return _this6;
698
640
  }
699
641
 
700
642
  _createClass(RawAR, [{
@@ -713,30 +655,30 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
713
655
  }, {
714
656
  key: "init",
715
657
  value: function init() {
716
- var _this8 = this;
658
+ var _this7 = this;
717
659
 
718
660
  return new Promise(function (accept, reject) {
719
661
  if (!util_1.Util.canAugment()) {
720
662
  return reject(new Error("RawAR.init() - cannot proceed as AR not available in context"));
721
663
  }
722
664
 
723
- var modelLocation = _this8._modelLocation;
665
+ var modelLocation = _this7._modelLocation;
724
666
  var lowerLoc = modelLocation.toLowerCase(); // we need to define our AR module here
725
667
  // we are in Safari/Quicklook mode here
726
668
 
727
669
  if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
728
670
  // load the reality experience if dealing with reality file
729
671
  if (lowerLoc.endsWith("reality") && util_1.Util.canRealityViewer()) {
730
- _this8._ar = new reality_viewer_1["default"]();
731
- _this8._ar.modelUrl = modelLocation;
732
- return accept(_this8);
672
+ _this7._ar = new reality_viewer_1["default"]();
673
+ _this7._ar.modelUrl = modelLocation;
674
+ return accept(_this7);
733
675
  } // load the usdz experience if dealing with usdz file
734
676
 
735
677
 
736
678
  if (lowerLoc.endsWith("usdz") && util_1.Util.canQuicklook()) {
737
- _this8._ar = new quicklook_viewer_1["default"]();
738
- _this8._ar.modelUrl = modelLocation;
739
- return accept(_this8);
679
+ _this7._ar = new quicklook_viewer_1["default"]();
680
+ _this7._ar.modelUrl = modelLocation;
681
+ return accept(_this7);
740
682
  }
741
683
 
742
684
  return reject(new Error("RawAR.init() - cannot proceed as model is not a .usdz or .reality file"));
@@ -745,9 +687,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
745
687
 
746
688
  if (util_1.Util.canSceneViewer()) {
747
689
  if (lowerLoc.endsWith("glb") || lowerLoc.endsWith("gltf")) {
748
- _this8._ar = new scene_viewer_1["default"]();
749
- _this8._ar.modelUrl = modelLocation;
750
- return accept(_this8);
690
+ _this7._ar = new scene_viewer_1["default"]();
691
+ _this7._ar.modelUrl = modelLocation;
692
+ return accept(_this7);
751
693
  }
752
694
 
753
695
  return reject(new Error("RawAR.init() - cannot proceed as model is not a .glb or .gltf file"));
@@ -758,23 +700,6 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
758
700
  return reject(new Error("RawAR.init() - could not initialise AR correctly, check values"));
759
701
  });
760
702
  }
761
- /**
762
- * Initialise and launch with a single function call. this is mostly for convenience.
763
- * Use .init() and .start() separately for fine-grained control
764
- */
765
-
766
- }, {
767
- key: "launch",
768
- value: function launch() {
769
- var _this9 = this;
770
-
771
- return new Promise(function (accept, reject) {
772
- _this9.init().then(function (value) {
773
- value.start();
774
- return accept();
775
- })["catch"](reject);
776
- });
777
- }
778
703
  /**
779
704
  * Launches the internal AR instance using an appropriate version of AR Viewers
780
705
  */
@@ -811,51 +736,232 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
811
736
 
812
737
  exports.RawAR = RawAR;
813
738
  }, {
814
- "../util/util": 13,
815
- "../viewers/quicklook-viewer": 16,
816
- "../viewers/reality-viewer": 17,
817
- "../viewers/scene-viewer": 18,
818
- "./launcher-ar": 2
739
+ "../util/util": 14,
740
+ "../viewers/quicklook-viewer": 17,
741
+ "../viewers/reality-viewer": 18,
742
+ "../viewers/scene-viewer": 19,
743
+ "./launcher-ar": 1
819
744
  }],
820
- 6: [function (require, module, exports) {
745
+ 5: [function (require, module, exports) {
821
746
  "use strict";
822
747
 
748
+ var __importDefault = this && this.__importDefault || function (mod) {
749
+ return mod && mod.__esModule ? mod : {
750
+ "default": mod
751
+ };
752
+ };
753
+
823
754
  Object.defineProperty(exports, "__esModule", {
824
755
  value: true
825
756
  });
826
757
  exports.SceneAR = void 0;
827
758
 
759
+ var plattar_analytics_1 = require("@plattar/plattar-analytics");
760
+
761
+ var plattar_api_1 = require("@plattar/plattar-api");
762
+
763
+ var plattar_services_1 = require("@plattar/plattar-services");
764
+
765
+ var util_1 = require("../util/util");
766
+
767
+ var quicklook_viewer_1 = __importDefault(require("../viewers/quicklook-viewer"));
768
+
769
+ var reality_viewer_1 = __importDefault(require("../viewers/reality-viewer"));
770
+
771
+ var scene_viewer_1 = __importDefault(require("../viewers/scene-viewer"));
772
+
828
773
  var launcher_ar_1 = require("./launcher-ar");
829
774
  /**
830
775
  * Performs AR functionality related to Plattar Scenes
831
776
  */
832
777
 
833
778
 
834
- var SceneAR = /*#__PURE__*/function (_launcher_ar_1$Launch5) {
835
- _inherits(SceneAR, _launcher_ar_1$Launch5);
779
+ var SceneAR = /*#__PURE__*/function (_launcher_ar_1$Launch4) {
780
+ _inherits(SceneAR, _launcher_ar_1$Launch4);
836
781
 
837
- var _super5 = _createSuper(SceneAR);
782
+ var _super4 = _createSuper(SceneAR);
838
783
 
839
784
  function SceneAR() {
785
+ var _this8;
786
+
787
+ var sceneID = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
788
+
840
789
  _classCallCheck(this, SceneAR);
841
790
 
842
- return _super5.apply(this, arguments);
791
+ _this8 = _super4.call(this); // analytics instance
792
+
793
+ _this8._analytics = null;
794
+
795
+ if (!sceneID) {
796
+ throw new Error("SceneAR.constructor(sceneID) - sceneID must be defined");
797
+ }
798
+
799
+ _this8._sceneID = sceneID;
800
+ _this8._ar = null;
801
+ return _this8;
843
802
  }
844
803
 
845
804
  _createClass(SceneAR, [{
846
- key: "init",
847
- value: function init() {
848
- throw new Error("Method not implemented.");
805
+ key: "sceneID",
806
+ get: function get() {
807
+ return this._sceneID;
849
808
  }
850
809
  }, {
851
- key: "launch",
852
- value: function launch() {
853
- throw new Error("Method not implemented.");
810
+ key: "_SetupAnalytics",
811
+ value: function _SetupAnalytics(scene) {
812
+ var analytics = null; // setup scene stuff (if any)
813
+
814
+ if (scene) {
815
+ analytics = new plattar_analytics_1.Analytics(scene.attributes.application_id);
816
+ analytics.origin = plattar_api_1.Server.location().type;
817
+ this._analytics = analytics;
818
+ analytics.data.push("type", "scene-ar");
819
+ analytics.data.push("sceneId", scene.id);
820
+ analytics.data.push("sceneTitle", scene.attributes.title);
821
+ var application = scene.relationships.find(plattar_api_1.Project); // setup application stuff (if any)
822
+
823
+ if (application) {
824
+ analytics.data.push("applicationId", application.id);
825
+ analytics.data.push("applicationTitle", application.attributes.title);
826
+ }
827
+ }
828
+ }
829
+ /**
830
+ * Composes a Scene into an AR Model (remote operation) that can be used to launch
831
+ * an AR File
832
+ */
833
+
834
+ }, {
835
+ key: "_ComposeScene",
836
+ value: function _ComposeScene(scene, output) {
837
+ return new Promise(function (accept, reject) {
838
+ var sceneProducts = scene.relationships.filter(plattar_api_1.SceneProduct); // nothing to do if no AR components can be found
839
+
840
+ if (sceneProducts.length <= 0) {
841
+ return reject(new Error("SceneAR.ComposeScene() - cannot proceed as scene does not contain AR components"));
842
+ } // define our configurator
843
+
844
+
845
+ var configurator = new plattar_services_1.Configurator();
846
+ configurator.server = plattar_api_1.Server.location().type;
847
+ configurator.output = output; // add out scene models
848
+
849
+ sceneProducts.forEach(function (sceneProduct) {
850
+ var product = sceneProduct.relationships.find(plattar_api_1.Product);
851
+
852
+ if (product && product.attributes.product_variation_id) {
853
+ configurator.addSceneProduct(sceneProduct.id, product.attributes.product_variation_id);
854
+ }
855
+ });
856
+ return configurator.get().then(function (result) {
857
+ accept(result.filename);
858
+ })["catch"](reject);
859
+ });
860
+ }
861
+ /**
862
+ * Initialise the SceneAR instance. This returns a Promise that resolves
863
+ * successfully if initialisation is successful, otherwise it will fail.
864
+ *
865
+ * filure can occur for a number of reasons but it generally means that AR
866
+ * cannot be performed.
867
+ */
868
+
869
+ }, {
870
+ key: "init",
871
+ value: function init() {
872
+ var _this9 = this;
873
+
874
+ return new Promise(function (accept, reject) {
875
+ if (!util_1.Util.canAugment()) {
876
+ return reject(new Error("SceneAR.init() - cannot proceed as AR not available in context"));
877
+ }
878
+
879
+ var scene = new plattar_api_1.Scene(_this9.sceneID);
880
+ scene.include(plattar_api_1.Project);
881
+ scene.include(plattar_api_1.SceneProduct);
882
+ scene.include(plattar_api_1.SceneProduct.include(plattar_api_1.Product));
883
+ scene.get().then(function (scene) {
884
+ _this9._SetupAnalytics(scene);
885
+
886
+ var sceneOpt = scene.attributes.custom_json || {}; // we need to define our AR module here
887
+ // we are in Safari/Quicklook mode here
888
+
889
+ if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
890
+ // we need to launch a VTO experience here
891
+ // VTO requires Reality Support
892
+ if (sceneOpt.anchor === "face") {
893
+ if (util_1.Util.canRealityViewer()) {
894
+ return _this9._ComposeScene(scene, "vto").then(function (modelUrl) {
895
+ _this9._ar = new reality_viewer_1["default"]();
896
+ _this9._ar.modelUrl = modelUrl;
897
+ return accept(_this9);
898
+ })["catch"](reject);
899
+ } else {
900
+ return reject(new Error("SceneAR.init() - cannot proceed as VTO AR requires Reality Viewer support"));
901
+ }
902
+ } // otherwise, load the USDZ stuff second if available
903
+
904
+
905
+ if (util_1.Util.canQuicklook()) {
906
+ return _this9._ComposeScene(scene, "usdz").then(function (modelUrl) {
907
+ _this9._ar = new quicklook_viewer_1["default"]();
908
+ _this9._ar.modelUrl = modelUrl;
909
+ return accept(_this9);
910
+ })["catch"](reject);
911
+ }
912
+
913
+ return reject(new Error("SceneAR.init() - cannot proceed as IOS device does not support AR Mode"));
914
+ } // check android
915
+
916
+
917
+ if (util_1.Util.canSceneViewer()) {
918
+ return _this9._ComposeScene(scene, "glb").then(function (modelUrl) {
919
+ _this9._ar = new scene_viewer_1["default"]();
920
+ _this9._ar.modelUrl = modelUrl;
921
+ return accept(_this9);
922
+ })["catch"](reject);
923
+ } // otherwise, we didn't have AR available - it should never really reach this stage as this should be caught
924
+ // earlier in the process
925
+
926
+
927
+ return reject(new Error("SceneAR.init() - could not initialise AR correctly, check values"));
928
+ })["catch"](reject);
929
+ });
854
930
  }
855
931
  }, {
856
932
  key: "start",
857
933
  value: function start() {
858
- throw new Error("Method not implemented.");
934
+ if (!this._ar) {
935
+ throw new Error("SceneAR.start() - cannot proceed as AR instance is null");
936
+ }
937
+
938
+ var analytics = this._analytics;
939
+
940
+ if (analytics) {
941
+ analytics.data.push("device", this._ar.device);
942
+ analytics.data.push("eventCategory", this._ar.nodeType);
943
+ analytics.data.push("eventAction", "Start Scene Augment");
944
+ analytics.write();
945
+ analytics.startRecordEngagement();
946
+ } // this was initialised via the init() function
947
+
948
+
949
+ this._ar.start();
950
+ }
951
+ }, {
952
+ key: "canQuicklook",
953
+ value: function canQuicklook() {
954
+ return this._ar && this._ar.nodeType === "Quick Look" ? true : false;
955
+ }
956
+ }, {
957
+ key: "canRealityViewer",
958
+ value: function canRealityViewer() {
959
+ return this._ar && this._ar.nodeType === "Reality Viewer" ? true : false;
960
+ }
961
+ }, {
962
+ key: "canSceneViewer",
963
+ value: function canSceneViewer() {
964
+ return this._ar && this._ar.nodeType === "Scene Viewer" ? true : false;
859
965
  }
860
966
  }]);
861
967
 
@@ -864,9 +970,16 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
864
970
 
865
971
  exports.SceneAR = SceneAR;
866
972
  }, {
867
- "./launcher-ar": 2
973
+ "../util/util": 14,
974
+ "../viewers/quicklook-viewer": 17,
975
+ "../viewers/reality-viewer": 18,
976
+ "../viewers/scene-viewer": 19,
977
+ "./launcher-ar": 1,
978
+ "@plattar/plattar-analytics": 37,
979
+ "@plattar/plattar-api": 41,
980
+ "@plattar/plattar-services": 112
868
981
  }],
869
- 7: [function (require, module, exports) {
982
+ 6: [function (require, module, exports) {
870
983
  "use strict";
871
984
 
872
985
  Object.defineProperty(exports, "__esModule", {
@@ -891,14 +1004,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
891
1004
  var ConfiguratorController = /*#__PURE__*/function (_plattar_controller_) {
892
1005
  _inherits(ConfiguratorController, _plattar_controller_);
893
1006
 
894
- var _super6 = _createSuper(ConfiguratorController);
1007
+ var _super5 = _createSuper(ConfiguratorController);
895
1008
 
896
1009
  function ConfiguratorController(parent) {
897
1010
  var _this10;
898
1011
 
899
1012
  _classCallCheck(this, ConfiguratorController);
900
1013
 
901
- _this10 = _super6.call(this, parent);
1014
+ _this10 = _super5.call(this, parent);
902
1015
  _this10._state = plattar_controller_1.ControllerState.None;
903
1016
  _this10._element = null;
904
1017
  _this10._prevQROpt = null;
@@ -1026,22 +1139,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1026
1139
  return reject(new Error("ConfiguratorController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
1027
1140
  });
1028
1141
  }
1029
- }, {
1030
- key: "startAR",
1031
- value: function startAR() {
1032
- var _this13 = this;
1033
-
1034
- return new Promise(function (accept, reject) {
1035
- _this13.initAR().then(function (launcher) {
1036
- launcher.start();
1037
- accept();
1038
- })["catch"](reject);
1039
- });
1040
- }
1041
1142
  }, {
1042
1143
  key: "initAR",
1043
1144
  value: function initAR() {
1044
- var _this14 = this;
1145
+ var _this13 = this;
1045
1146
 
1046
1147
  return new Promise(function (accept, reject) {
1047
1148
  if (!util_1.Util.canAugment()) {
@@ -1050,9 +1151,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1050
1151
  // we can use the real-time configurator state to launch the AR view
1051
1152
 
1052
1153
 
1053
- var viewer = _this14.element;
1154
+ var viewer = _this13.element;
1054
1155
 
1055
- var sceneID = _this14.getAttribute("scene-id");
1156
+ var sceneID = _this13.getAttribute("scene-id");
1056
1157
 
1057
1158
  if (viewer && sceneID) {
1058
1159
  var output = "glb";
@@ -1067,7 +1168,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1067
1168
  })["catch"](reject);
1068
1169
  }
1069
1170
 
1070
- var configState = _this14.getAttribute("config-state"); // otherwise scene ID is available to the viewer is not launched
1171
+ var configState = _this13.getAttribute("config-state"); // otherwise scene ID is available to the viewer is not launched
1071
1172
  // we can use the static configuration state to launch the AR view
1072
1173
 
1073
1174
 
@@ -1095,7 +1196,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1095
1196
  configurator.output = "glb";
1096
1197
  }
1097
1198
 
1098
- var server = _this14.getAttribute("server") || "production";
1199
+ var server = _this13.getAttribute("server") || "production";
1099
1200
  configurator.server = server;
1100
1201
  return configurator.get().then(function (result) {
1101
1202
  var rawAR = new raw_ar_1.RawAR(result.filename);
@@ -1139,13 +1240,13 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1139
1240
 
1140
1241
  exports.ConfiguratorController = ConfiguratorController;
1141
1242
  }, {
1142
- "../../ar/raw-ar": 5,
1143
- "../../util/util": 13,
1144
- "./plattar-controller": 8,
1145
- "@plattar/plattar-api": 40,
1146
- "@plattar/plattar-services": 111
1243
+ "../../ar/raw-ar": 4,
1244
+ "../../util/util": 14,
1245
+ "./plattar-controller": 7,
1246
+ "@plattar/plattar-api": 41,
1247
+ "@plattar/plattar-services": 112
1147
1248
  }],
1148
- 8: [function (require, module, exports) {
1249
+ 7: [function (require, module, exports) {
1149
1250
  "use strict";
1150
1251
 
1151
1252
  Object.defineProperty(exports, "__esModule", {
@@ -1176,12 +1277,28 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1176
1277
 
1177
1278
 
1178
1279
  _createClass(PlattarController, [{
1179
- key: "parent",
1180
- get:
1280
+ key: "startAR",
1281
+ value:
1282
+ /**
1283
+ * Initialise and start AR mode if available
1284
+ */
1285
+ function startAR() {
1286
+ var _this14 = this;
1287
+
1288
+ return new Promise(function (accept, reject) {
1289
+ _this14.initAR().then(function (launcher) {
1290
+ launcher.start();
1291
+ accept();
1292
+ })["catch"](reject);
1293
+ });
1294
+ }
1181
1295
  /**
1182
1296
  * Returns the Parent Instance
1183
1297
  */
1184
- function get() {
1298
+
1299
+ }, {
1300
+ key: "parent",
1301
+ get: function get() {
1185
1302
  return this._parent;
1186
1303
  }
1187
1304
  /**
@@ -1224,7 +1341,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1224
1341
 
1225
1342
  exports.PlattarController = PlattarController;
1226
1343
  }, {}],
1227
- 9: [function (require, module, exports) {
1344
+ 8: [function (require, module, exports) {
1228
1345
  "use strict";
1229
1346
 
1230
1347
  Object.defineProperty(exports, "__esModule", {
@@ -1247,14 +1364,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1247
1364
  var ProductController = /*#__PURE__*/function (_plattar_controller_2) {
1248
1365
  _inherits(ProductController, _plattar_controller_2);
1249
1366
 
1250
- var _super7 = _createSuper(ProductController);
1367
+ var _super6 = _createSuper(ProductController);
1251
1368
 
1252
1369
  function ProductController(parent) {
1253
1370
  var _this15;
1254
1371
 
1255
1372
  _classCallCheck(this, ProductController);
1256
1373
 
1257
- _this15 = _super7.call(this, parent);
1374
+ _this15 = _super6.call(this, parent);
1258
1375
  _this15._state = plattar_controller_1.ControllerState.None;
1259
1376
  _this15._element = null;
1260
1377
  _this15._prevQROpt = null;
@@ -1277,7 +1394,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1277
1394
 
1278
1395
  if (viewer) {
1279
1396
  var variationID = this.getAttribute("variation-id");
1280
- viewer.messenger.selectVariation(variationID);
1397
+
1398
+ if (variationID && viewer.messenger) {
1399
+ viewer.messenger.selectVariation(variationID);
1400
+ }
1281
1401
  }
1282
1402
 
1283
1403
  return;
@@ -1380,41 +1500,261 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1380
1500
  return;
1381
1501
  }
1382
1502
 
1383
- return reject(new Error("ProductController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
1384
- });
1385
- }
1386
- }, {
1387
- key: "startAR",
1388
- value: function startAR() {
1389
- var _this18 = this;
1390
-
1391
- return new Promise(function (accept, reject) {
1392
- _this18.initAR().then(function (launcher) {
1393
- launcher.start();
1394
- accept();
1395
- })["catch"](reject);
1503
+ return reject(new Error("ProductController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
1504
+ });
1505
+ }
1506
+ }, {
1507
+ key: "initAR",
1508
+ value: function initAR() {
1509
+ var _this18 = this;
1510
+
1511
+ return new Promise(function (accept, reject) {
1512
+ if (!util_1.Util.canAugment()) {
1513
+ return reject(new Error("ProductController.initAR() - cannot proceed as AR not available in context"));
1514
+ }
1515
+
1516
+ var productID = _this18.getAttribute("product-id");
1517
+
1518
+ if (productID) {
1519
+ var variationID = _this18.getAttribute("variation-id");
1520
+
1521
+ var product = new product_ar_1.ProductAR(productID, variationID);
1522
+ return product.init().then(accept)["catch"](reject);
1523
+ }
1524
+
1525
+ return reject(new Error("ProductController.initAR() - minimum required attributes not set, use product-id as a minimum"));
1526
+ });
1527
+ }
1528
+ }, {
1529
+ key: "removeRenderer",
1530
+ value: function removeRenderer() {
1531
+ if (this._element) {
1532
+ this._element.remove();
1533
+
1534
+ this._element = null;
1535
+ return true;
1536
+ }
1537
+
1538
+ return false;
1539
+ }
1540
+ }, {
1541
+ key: "element",
1542
+ get: function get() {
1543
+ return this._element;
1544
+ }
1545
+ }]);
1546
+
1547
+ return ProductController;
1548
+ }(plattar_controller_1.PlattarController);
1549
+
1550
+ exports.ProductController = ProductController;
1551
+ }, {
1552
+ "../../ar/product-ar": 3,
1553
+ "../../util/util": 14,
1554
+ "./plattar-controller": 7,
1555
+ "@plattar/plattar-api": 41
1556
+ }],
1557
+ 9: [function (require, module, exports) {
1558
+ "use strict";
1559
+
1560
+ Object.defineProperty(exports, "__esModule", {
1561
+ value: true
1562
+ });
1563
+ exports.ViewerController = void 0;
1564
+
1565
+ var plattar_api_1 = require("@plattar/plattar-api");
1566
+
1567
+ var product_ar_1 = require("../../ar/product-ar");
1568
+
1569
+ var util_1 = require("../../util/util");
1570
+
1571
+ var plattar_controller_1 = require("./plattar-controller");
1572
+ /**
1573
+ * Manages an instance of the <plattar-viewer> HTML Element
1574
+ */
1575
+
1576
+
1577
+ var ViewerController = /*#__PURE__*/function (_plattar_controller_3) {
1578
+ _inherits(ViewerController, _plattar_controller_3);
1579
+
1580
+ var _super7 = _createSuper(ViewerController);
1581
+
1582
+ function ViewerController(parent) {
1583
+ var _this19;
1584
+
1585
+ _classCallCheck(this, ViewerController);
1586
+
1587
+ _this19 = _super7.call(this, parent);
1588
+ _this19._state = plattar_controller_1.ControllerState.None;
1589
+ _this19._element = null;
1590
+ _this19._prevQROpt = null;
1591
+ return _this19;
1592
+ }
1593
+
1594
+ _createClass(ViewerController, [{
1595
+ key: "onAttributesUpdated",
1596
+ value: function onAttributesUpdated() {
1597
+ var state = this._state; // re-render the QR Code when attributes have changed
1598
+
1599
+ if (state === plattar_controller_1.ControllerState.QRCode) {
1600
+ this.startQRCode(this._prevQROpt);
1601
+ return;
1602
+ } // use the messenger function to change variation when attributes have changed
1603
+
1604
+
1605
+ if (state === plattar_controller_1.ControllerState.Renderer) {
1606
+ var viewer = this._element;
1607
+
1608
+ if (viewer) {
1609
+ var productID = this.getAttribute("product-id");
1610
+ var variationID = this.getAttribute("variation-id");
1611
+
1612
+ if (productID && variationID && viewer.messenger) {
1613
+ viewer.messenger.selectVariation(productID, variationID);
1614
+ }
1615
+ }
1616
+
1617
+ return;
1618
+ }
1619
+ }
1620
+ }, {
1621
+ key: "startQRCode",
1622
+ value: function startQRCode(options) {
1623
+ var _this20 = this;
1624
+
1625
+ return new Promise(function (accept, reject) {
1626
+ // remove the old renderer instance if any
1627
+ _this20.removeRenderer();
1628
+
1629
+ var sceneID = _this20.getAttribute("scene-id");
1630
+
1631
+ if (sceneID) {
1632
+ var opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
1633
+ var viewer = document.createElement("plattar-qrcode"); // required attributes with defaults for plattar-viewer node
1634
+
1635
+ var width = _this20.getAttribute("width") || "500px";
1636
+ var height = _this20.getAttribute("height") || "500px";
1637
+ viewer.setAttribute("width", width);
1638
+ viewer.setAttribute("height", height);
1639
+
1640
+ if (opt.color) {
1641
+ viewer.setAttribute("color", opt.color);
1642
+ }
1643
+
1644
+ if (opt.margin) {
1645
+ viewer.setAttribute("margin", "" + opt.margin);
1646
+ }
1647
+
1648
+ if (opt.qrType) {
1649
+ viewer.setAttribute("qr-type", opt.qrType);
1650
+ }
1651
+
1652
+ var dst = plattar_api_1.Server.location().base + "renderer/viewer.html?scene_id=" + sceneID; // optional attributes
1653
+
1654
+ var productID = _this20.getAttribute("product-id");
1655
+
1656
+ var variationID = _this20.getAttribute("variation-id");
1657
+
1658
+ if (productID) {
1659
+ dst += "&productId=" + productID;
1660
+ }
1661
+
1662
+ if (variationID) {
1663
+ dst += "&variationId=" + variationID;
1664
+ }
1665
+
1666
+ viewer.setAttribute("url", opt.url || dst);
1667
+
1668
+ viewer.onload = function () {
1669
+ return accept(viewer);
1670
+ };
1671
+
1672
+ _this20.append(viewer);
1673
+
1674
+ _this20._element = viewer;
1675
+ _this20._state = plattar_controller_1.ControllerState.QRCode;
1676
+ _this20._prevQROpt = opt;
1677
+ return;
1678
+ }
1679
+
1680
+ return reject(new Error("ViewerController.startQRCode() - minimum required attributes not set, use scene-id as a minimum"));
1681
+ });
1682
+ }
1683
+ }, {
1684
+ key: "startRenderer",
1685
+ value: function startRenderer() {
1686
+ var _this21 = this;
1687
+
1688
+ return new Promise(function (accept, reject) {
1689
+ // remove the old renderer instance if any
1690
+ _this21.removeRenderer();
1691
+
1692
+ var sceneID = _this21.getAttribute("scene-id");
1693
+
1694
+ if (sceneID) {
1695
+ // required attributes with defaults for plattar-viewer node
1696
+ var width = _this21.getAttribute("width") || "500px";
1697
+ var height = _this21.getAttribute("height") || "500px";
1698
+ var server = _this21.getAttribute("server") || "production";
1699
+ var viewer = document.createElement("plattar-viewer");
1700
+ viewer.setAttribute("width", width);
1701
+ viewer.setAttribute("height", height);
1702
+ viewer.setAttribute("server", server);
1703
+ viewer.setAttribute("scene-id", sceneID); // optional attributes
1704
+
1705
+ var productID = _this21.getAttribute("product-id");
1706
+
1707
+ var variationID = _this21.getAttribute("variation-id");
1708
+
1709
+ if (productID) {
1710
+ viewer.setAttribute("product-id", productID);
1711
+ }
1712
+
1713
+ if (variationID) {
1714
+ viewer.setAttribute("variation-id", variationID);
1715
+ }
1716
+
1717
+ viewer.onload = function () {
1718
+ return accept(viewer);
1719
+ };
1720
+
1721
+ _this21.append(viewer);
1722
+
1723
+ _this21._element = viewer;
1724
+ _this21._state = plattar_controller_1.ControllerState.Renderer;
1725
+ return;
1726
+ }
1727
+
1728
+ return reject(new Error("ViewerController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
1396
1729
  });
1397
1730
  }
1398
1731
  }, {
1399
1732
  key: "initAR",
1400
1733
  value: function initAR() {
1401
- var _this19 = this;
1734
+ var _this22 = this;
1402
1735
 
1403
1736
  return new Promise(function (accept, reject) {
1404
1737
  if (!util_1.Util.canAugment()) {
1405
- return reject(new Error("ProductController.initAR() - cannot proceed as AR not available in context"));
1738
+ return reject(new Error("ViewerController.initAR() - cannot proceed as AR not available in context"));
1406
1739
  }
1407
1740
 
1408
- var productID = _this19.getAttribute("product-id");
1741
+ var productID = _this22.getAttribute("product-id");
1409
1742
 
1410
1743
  if (productID) {
1411
- var variationID = _this19.getAttribute("variation-id");
1744
+ var variationID = _this22.getAttribute("variation-id");
1412
1745
 
1413
1746
  var product = new product_ar_1.ProductAR(productID, variationID);
1414
1747
  return product.init().then(accept)["catch"](reject);
1415
1748
  }
1416
1749
 
1417
- return reject(new Error("ProductController.initAR() - minimum required attributes not set, use product-id as a minimum"));
1750
+ var sceneID = _this22.getAttribute("scene-id"); // otherwise, scene was set so use SceneAR
1751
+
1752
+
1753
+ if (sceneID) {
1754
+ return reject(new Error("ViewerController.initAR() - AR mode for scene-id not yet supported, use product-id"));
1755
+ }
1756
+
1757
+ return reject(new Error("ViewerController.initAR() - minimum required attributes not set, use scene-id or product-id as a minimum"));
1418
1758
  });
1419
1759
  }
1420
1760
  }, {
@@ -1436,15 +1776,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1436
1776
  }
1437
1777
  }]);
1438
1778
 
1439
- return ProductController;
1779
+ return ViewerController;
1440
1780
  }(plattar_controller_1.PlattarController);
1441
1781
 
1442
- exports.ProductController = ProductController;
1782
+ exports.ViewerController = ViewerController;
1443
1783
  }, {
1444
- "../../ar/product-ar": 4,
1445
- "../../util/util": 13,
1446
- "./plattar-controller": 8,
1447
- "@plattar/plattar-api": 40
1784
+ "../../ar/product-ar": 3,
1785
+ "../../util/util": 14,
1786
+ "./plattar-controller": 7,
1787
+ "@plattar/plattar-api": 41
1448
1788
  }],
1449
1789
  10: [function (require, module, exports) {
1450
1790
  "use strict";
@@ -1452,77 +1792,68 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1452
1792
  Object.defineProperty(exports, "__esModule", {
1453
1793
  value: true
1454
1794
  });
1455
- exports.ViewerController = void 0;
1795
+ exports.VTOController = void 0;
1456
1796
 
1457
1797
  var plattar_api_1 = require("@plattar/plattar-api");
1458
1798
 
1459
- var product_ar_1 = require("../../ar/product-ar");
1799
+ var plattar_services_1 = require("@plattar/plattar-services");
1800
+
1801
+ var __1 = require("../..");
1802
+
1803
+ var raw_ar_1 = require("../../ar/raw-ar");
1460
1804
 
1461
1805
  var util_1 = require("../../util/util");
1462
1806
 
1463
1807
  var plattar_controller_1 = require("./plattar-controller");
1464
1808
  /**
1465
- * Manages an instance of the <plattar-viewer> HTML Element
1809
+ * Manages an instance of the <plattar-configurator> HTML Element
1466
1810
  */
1467
1811
 
1468
1812
 
1469
- var ViewerController = /*#__PURE__*/function (_plattar_controller_3) {
1470
- _inherits(ViewerController, _plattar_controller_3);
1813
+ var VTOController = /*#__PURE__*/function (_plattar_controller_4) {
1814
+ _inherits(VTOController, _plattar_controller_4);
1471
1815
 
1472
- var _super8 = _createSuper(ViewerController);
1816
+ var _super8 = _createSuper(VTOController);
1473
1817
 
1474
- function ViewerController(parent) {
1475
- var _this20;
1818
+ function VTOController(parent) {
1819
+ var _this23;
1476
1820
 
1477
- _classCallCheck(this, ViewerController);
1821
+ _classCallCheck(this, VTOController);
1478
1822
 
1479
- _this20 = _super8.call(this, parent);
1480
- _this20._state = plattar_controller_1.ControllerState.None;
1481
- _this20._element = null;
1482
- _this20._prevQROpt = null;
1483
- return _this20;
1823
+ _this23 = _super8.call(this, parent);
1824
+ _this23._state = plattar_controller_1.ControllerState.None;
1825
+ _this23._element = null;
1826
+ _this23._prevQROpt = null;
1827
+ return _this23;
1484
1828
  }
1485
1829
 
1486
- _createClass(ViewerController, [{
1830
+ _createClass(VTOController, [{
1487
1831
  key: "onAttributesUpdated",
1488
1832
  value: function onAttributesUpdated() {
1489
1833
  var state = this._state; // re-render the QR Code when attributes have changed
1490
1834
 
1491
1835
  if (state === plattar_controller_1.ControllerState.QRCode) {
1492
1836
  this.startQRCode(this._prevQROpt);
1493
- return;
1494
- } // use the messenger function to change variation when attributes have changed
1495
-
1496
-
1497
- if (state === plattar_controller_1.ControllerState.Renderer) {
1498
- var viewer = this._element;
1499
-
1500
- if (viewer) {
1501
- var productID = this.getAttribute("product-id");
1502
- var variationID = this.getAttribute("variation-id");
1503
- viewer.messenger.selectVariation(productID, variationID);
1504
- }
1505
-
1506
1837
  return;
1507
1838
  }
1508
1839
  }
1509
1840
  }, {
1510
1841
  key: "startQRCode",
1511
1842
  value: function startQRCode(options) {
1512
- var _this21 = this;
1843
+ var _this24 = this;
1513
1844
 
1514
1845
  return new Promise(function (accept, reject) {
1515
1846
  // remove the old renderer instance if any
1516
- _this21.removeRenderer();
1847
+ _this24.removeRenderer();
1517
1848
 
1518
- var sceneID = _this21.getAttribute("scene-id");
1849
+ var sceneID = _this24.getAttribute("scene-id");
1519
1850
 
1520
1851
  if (sceneID) {
1521
1852
  var opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
1522
1853
  var viewer = document.createElement("plattar-qrcode"); // required attributes with defaults for plattar-viewer node
1523
1854
 
1524
- var width = _this21.getAttribute("width") || "500px";
1525
- var height = _this21.getAttribute("height") || "500px";
1855
+ var width = _this24.getAttribute("width") || "500px";
1856
+ var height = _this24.getAttribute("height") || "500px";
1526
1857
  viewer.setAttribute("width", width);
1527
1858
  viewer.setAttribute("height", height);
1528
1859
 
@@ -1538,18 +1869,18 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1538
1869
  viewer.setAttribute("qr-type", opt.qrType);
1539
1870
  }
1540
1871
 
1541
- var dst = plattar_api_1.Server.location().base + "renderer/viewer.html?scene_id=" + sceneID; // optional attributes
1872
+ var dst = plattar_api_1.Server.location().base + "renderer/facear.html?scene_id=" + sceneID; // optional attributes
1542
1873
 
1543
- var productID = _this21.getAttribute("product-id");
1874
+ var configState = _this24.getAttribute("config-state");
1544
1875
 
1545
- var variationID = _this21.getAttribute("variation-id");
1876
+ var showAR = _this24.getAttribute("show-ar");
1546
1877
 
1547
- if (productID) {
1548
- dst += "&productId=" + productID;
1878
+ if (configState) {
1879
+ dst += "&config_state=" + configState;
1549
1880
  }
1550
1881
 
1551
- if (variationID) {
1552
- dst += "&variationId=" + variationID;
1882
+ if (showAR) {
1883
+ dst += "&show_ar=" + showAR;
1553
1884
  }
1554
1885
 
1555
1886
  viewer.setAttribute("url", opt.url || dst);
@@ -1558,104 +1889,126 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1558
1889
  return accept(viewer);
1559
1890
  };
1560
1891
 
1561
- _this21.append(viewer);
1892
+ _this24.append(viewer);
1562
1893
 
1563
- _this21._element = viewer;
1564
- _this21._state = plattar_controller_1.ControllerState.QRCode;
1565
- _this21._prevQROpt = opt;
1894
+ _this24._element = viewer;
1895
+ _this24._state = plattar_controller_1.ControllerState.QRCode;
1896
+ _this24._prevQROpt = opt;
1566
1897
  return;
1567
1898
  }
1568
1899
 
1569
- return reject(new Error("ViewerController.startQRCode() - minimum required attributes not set, use scene-id as a minimum"));
1900
+ return reject(new Error("VTOController.startQRCode() - minimum required attributes not set, use scene-id as a minimum"));
1570
1901
  });
1571
1902
  }
1572
1903
  }, {
1573
1904
  key: "startRenderer",
1574
1905
  value: function startRenderer() {
1575
- var _this22 = this;
1906
+ var _this25 = this;
1576
1907
 
1577
1908
  return new Promise(function (accept, reject) {
1578
1909
  // remove the old renderer instance if any
1579
- _this22.removeRenderer();
1910
+ _this25.removeRenderer();
1580
1911
 
1581
- var sceneID = _this22.getAttribute("scene-id");
1912
+ var sceneID = _this25.getAttribute("scene-id");
1582
1913
 
1583
1914
  if (sceneID) {
1584
- // required attributes with defaults for plattar-viewer node
1585
- var width = _this22.getAttribute("width") || "500px";
1586
- var height = _this22.getAttribute("height") || "500px";
1587
- var server = _this22.getAttribute("server") || "production";
1588
- var viewer = document.createElement("plattar-viewer");
1915
+ // required attributes with defaults for plattar-facear node
1916
+ var width = _this25.getAttribute("width") || "500px";
1917
+ var height = _this25.getAttribute("height") || "500px";
1918
+ var server = _this25.getAttribute("server") || "production";
1919
+ var viewer = document.createElement("plattar-facear");
1589
1920
  viewer.setAttribute("width", width);
1590
1921
  viewer.setAttribute("height", height);
1591
1922
  viewer.setAttribute("server", server);
1592
1923
  viewer.setAttribute("scene-id", sceneID); // optional attributes
1593
1924
 
1594
- var productID = _this22.getAttribute("product-id");
1925
+ var configState = _this25.getAttribute("config-state");
1595
1926
 
1596
- var variationID = _this22.getAttribute("variation-id");
1927
+ var showAR = _this25.getAttribute("show-ar");
1597
1928
 
1598
- if (productID) {
1599
- viewer.setAttribute("product-id", productID);
1929
+ if (configState) {
1930
+ viewer.setAttribute("config-state", configState);
1600
1931
  }
1601
1932
 
1602
- if (variationID) {
1603
- viewer.setAttribute("variation-id", variationID);
1933
+ if (showAR) {
1934
+ viewer.setAttribute("show-ar", showAR);
1604
1935
  }
1605
1936
 
1606
1937
  viewer.onload = function () {
1607
1938
  return accept(viewer);
1608
1939
  };
1609
1940
 
1610
- _this22.append(viewer);
1941
+ _this25.append(viewer);
1611
1942
 
1612
- _this22._element = viewer;
1613
- _this22._state = plattar_controller_1.ControllerState.Renderer;
1943
+ _this25._element = viewer;
1944
+ _this25._state = plattar_controller_1.ControllerState.Renderer;
1614
1945
  return;
1615
1946
  }
1616
1947
 
1617
- return reject(new Error("ViewerController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
1618
- });
1619
- }
1620
- }, {
1621
- key: "startAR",
1622
- value: function startAR() {
1623
- var _this23 = this;
1624
-
1625
- return new Promise(function (accept, reject) {
1626
- _this23.initAR().then(function (launcher) {
1627
- launcher.start();
1628
- accept();
1629
- })["catch"](reject);
1948
+ return reject(new Error("VTOController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
1630
1949
  });
1631
1950
  }
1632
1951
  }, {
1633
1952
  key: "initAR",
1634
1953
  value: function initAR() {
1635
- var _this24 = this;
1954
+ var _this26 = this;
1636
1955
 
1637
1956
  return new Promise(function (accept, reject) {
1638
1957
  if (!util_1.Util.canAugment()) {
1639
- return reject(new Error("ViewerController.initAR() - cannot proceed as AR not available in context"));
1958
+ return reject(new Error("VTOController.initAR() - cannot proceed as VTO AR not available in context"));
1640
1959
  }
1641
1960
 
1642
- var productID = _this24.getAttribute("product-id");
1961
+ if (!(util_1.Util.isSafari() || util_1.Util.isChromeOnIOS())) {
1962
+ return reject(new Error("VTOController.initAR() - cannot proceed as VTO AR only available on IOS Mobile devices"));
1963
+ } // if scene ID is available and the state is a configurator viewer
1964
+ // we can use the real-time configurator state to launch the AR view
1965
+
1643
1966
 
1644
- if (productID) {
1645
- var variationID = _this24.getAttribute("variation-id");
1967
+ var viewer = _this26.element;
1646
1968
 
1647
- var product = new product_ar_1.ProductAR(productID, variationID);
1648
- return product.init().then(accept)["catch"](reject);
1969
+ var sceneID = _this26.getAttribute("scene-id");
1970
+
1971
+ if (viewer && sceneID) {
1972
+ return viewer.messenger.getARFile("vto").then(function (result) {
1973
+ var rawAR = new raw_ar_1.RawAR(result.filename);
1974
+ return rawAR.init().then(accept)["catch"](reject);
1975
+ })["catch"](reject);
1649
1976
  }
1650
1977
 
1651
- var sceneID = _this24.getAttribute("scene-id"); // otherwise, scene was set so use SceneAR
1978
+ var configState = _this26.getAttribute("config-state"); // otherwise scene ID is available to the viewer is not launched
1979
+ // we can use the static configuration state to launch the AR view
1980
+
1981
+
1982
+ if (sceneID && configState) {
1983
+ var state = __1.ConfiguratorState.decode(configState);
1984
+
1985
+ if (state.length > 0) {
1986
+ var server = _this26.getAttribute("server") || "production";
1987
+ var configurator = new plattar_services_1.Configurator();
1988
+ configurator.server = server;
1989
+ configurator.output = "vto";
1990
+ state.forEach(function (productState) {
1991
+ if (productState.meta_data.augment === true) {
1992
+ configurator.addSceneProduct(productState.scene_product_id, productState.product_variation_id);
1993
+ }
1994
+ });
1995
+ return configurator.get().then(function (result) {
1996
+ var rawAR = new raw_ar_1.RawAR(result.filename);
1997
+ rawAR.init().then(accept)["catch"](reject);
1998
+ })["catch"](reject);
1999
+ }
2000
+
2001
+ return reject(new Error("VTOController.initAR() - invalid config-state does not have any product states"));
2002
+ } // otherwise no config-state or viewer is active
2003
+ // fallback to using default SceneAR implementation
1652
2004
 
1653
2005
 
1654
2006
  if (sceneID) {
1655
- return reject(new Error("ViewerController.initAR() - AR mode for scene-id not yet supported, use product-id"));
2007
+ var sceneAR = new __1.SceneAR(sceneID);
2008
+ return sceneAR.init().then(accept)["catch"](reject);
1656
2009
  }
1657
2010
 
1658
- return reject(new Error("ViewerController.initAR() - minimum required attributes not set, use scene-id or product-id as a minimum"));
2011
+ return reject(new Error("VTOController.initAR() - minimum required attributes not set, use scene-id as a minimum"));
1659
2012
  });
1660
2013
  }
1661
2014
  }, {
@@ -1677,15 +2030,17 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1677
2030
  }
1678
2031
  }]);
1679
2032
 
1680
- return ViewerController;
2033
+ return VTOController;
1681
2034
  }(plattar_controller_1.PlattarController);
1682
2035
 
1683
- exports.ViewerController = ViewerController;
2036
+ exports.VTOController = VTOController;
1684
2037
  }, {
1685
- "../../ar/product-ar": 4,
1686
- "../../util/util": 13,
1687
- "./plattar-controller": 8,
1688
- "@plattar/plattar-api": 40
2038
+ "../..": 12,
2039
+ "../../ar/raw-ar": 4,
2040
+ "../../util/util": 14,
2041
+ "./plattar-controller": 7,
2042
+ "@plattar/plattar-api": 41,
2043
+ "@plattar/plattar-services": 112
1689
2044
  }],
1690
2045
  11: [function (require, module, exports) {
1691
2046
  "use strict";
@@ -1701,6 +2056,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1701
2056
  var viewer_controller_1 = require("./controllers/viewer-controller");
1702
2057
 
1703
2058
  var configurator_controller_1 = require("./controllers/configurator-controller");
2059
+
2060
+ var vto_controller_1 = require("./controllers/vto-controller");
1704
2061
  /**
1705
2062
  * This tracks the current embed type
1706
2063
  */
@@ -1711,6 +2068,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1711
2068
  (function (EmbedType) {
1712
2069
  EmbedType[EmbedType["Viewer"] = 0] = "Viewer";
1713
2070
  EmbedType[EmbedType["Configurator"] = 1] = "Configurator";
2071
+ EmbedType[EmbedType["VTO"] = 2] = "VTO";
1714
2072
  })(EmbedType || (EmbedType = {}));
1715
2073
  /**
1716
2074
  * This is the primary <plattar-embed /> node that allows easy embedding
@@ -1724,15 +2082,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1724
2082
  var _super9 = _createSuper(PlattarEmbed);
1725
2083
 
1726
2084
  function PlattarEmbed() {
1727
- var _this25;
2085
+ var _this27;
1728
2086
 
1729
2087
  _classCallCheck(this, PlattarEmbed);
1730
2088
 
1731
- _this25 = _super9.call(this); // this is the current embed type, viewer by default
2089
+ _this27 = _super9.call(this); // this is the current embed type, viewer by default
1732
2090
 
1733
- _this25._currentType = EmbedType.Viewer;
1734
- _this25._controller = null;
1735
- return _this25;
2091
+ _this27._currentType = EmbedType.Viewer;
2092
+ _this27._controller = null;
2093
+ return _this27;
1736
2094
  }
1737
2095
 
1738
2096
  _createClass(PlattarEmbed, [{
@@ -1743,7 +2101,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1743
2101
  }, {
1744
2102
  key: "connectedCallback",
1745
2103
  value: function connectedCallback() {
1746
- var _this26 = this;
2104
+ var _this28 = this;
1747
2105
 
1748
2106
  var embedType = this.hasAttribute("embed-type") ? this.getAttribute("embed-type") : "viewer";
1749
2107
 
@@ -1753,6 +2111,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1753
2111
  this._currentType = EmbedType.Viewer;
1754
2112
  break;
1755
2113
 
2114
+ case "vto":
2115
+ this._currentType = EmbedType.VTO;
2116
+ break;
2117
+
1756
2118
  case "configurator":
1757
2119
  this._currentType = EmbedType.Configurator;
1758
2120
  break;
@@ -1765,7 +2127,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1765
2127
  var observer = new MutationObserver(function (mutations) {
1766
2128
  mutations.forEach(function (mutation) {
1767
2129
  if (mutation.type === "attributes") {
1768
- _this26._OnAttributesUpdated();
2130
+ _this28._OnAttributesUpdated();
1769
2131
  }
1770
2132
  });
1771
2133
  });
@@ -1786,6 +2148,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1786
2148
  }
1787
2149
  } else if (this._currentType === EmbedType.Configurator) {
1788
2150
  this._controller = new configurator_controller_1.ConfiguratorController(this);
2151
+ } else if (this._currentType === EmbedType.VTO) {
2152
+ this._controller = new vto_controller_1.VTOController(this);
1789
2153
  }
1790
2154
 
1791
2155
  var init = this.hasAttribute("init") ? this.getAttribute("init") : null;
@@ -1799,68 +2163,83 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1799
2163
  } else if (init === "ar-fallback-qrcode") {
1800
2164
  this.startAR().then(function () {// nothing to do, launched successfully
1801
2165
  })["catch"](function (_err) {
1802
- _this26.startQRCode();
2166
+ _this28.startQRCode();
1803
2167
  });
1804
2168
  } else if (init === "ar-fallback-viewer") {
1805
2169
  this.startAR().then(function () {// nothing to do, launched successfully
1806
2170
  })["catch"](function (_err) {
1807
- _this26.startViewer();
2171
+ _this28.startViewer();
1808
2172
  });
1809
2173
  }
1810
2174
  }
1811
2175
  }, {
1812
2176
  key: "initAR",
1813
2177
  value: function initAR() {
1814
- var _this27 = this;
2178
+ var _this29 = this;
1815
2179
 
1816
2180
  return new Promise(function (accept, reject) {
1817
- if (!_this27._controller) {
2181
+ if (!_this29._controller) {
1818
2182
  return reject(new Error("PlattarEmbed.initAR() - cannot execute as controller has not loaded yet"));
1819
2183
  }
1820
2184
 
1821
- return _this27._controller.initAR().then(accept)["catch"](reject);
2185
+ return _this29._controller.initAR().then(accept)["catch"](reject);
1822
2186
  });
1823
2187
  }
1824
2188
  }, {
1825
2189
  key: "startAR",
1826
2190
  value: function startAR() {
1827
- var _this28 = this;
2191
+ var _this30 = this;
1828
2192
 
1829
2193
  return new Promise(function (accept, reject) {
1830
- if (!_this28._controller) {
2194
+ if (!_this30._controller) {
1831
2195
  return reject(new Error("PlattarEmbed.startAR() - cannot execute as controller has not loaded yet"));
1832
2196
  }
1833
2197
 
1834
- return _this28._controller.startAR().then(accept)["catch"](reject);
2198
+ return _this30._controller.startAR().then(accept)["catch"](reject);
1835
2199
  });
1836
2200
  }
1837
2201
  }, {
1838
2202
  key: "startViewer",
1839
2203
  value: function startViewer() {
1840
- var _this29 = this;
2204
+ var _this31 = this;
1841
2205
 
1842
2206
  return new Promise(function (accept, reject) {
1843
- if (!_this29._controller) {
2207
+ if (!_this31._controller) {
1844
2208
  return reject(new Error("PlattarEmbed.startViewer() - cannot execute as controller has not loaded yet"));
1845
2209
  }
1846
2210
 
1847
- return _this29._controller.startRenderer().then(accept)["catch"](reject);
2211
+ return _this31._controller.startRenderer().then(accept)["catch"](reject);
1848
2212
  });
1849
2213
  }
1850
2214
  }, {
1851
2215
  key: "startQRCode",
1852
2216
  value: function startQRCode() {
1853
- var _this30 = this;
2217
+ var _this32 = this;
1854
2218
 
1855
2219
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1856
2220
  return new Promise(function (accept, reject) {
1857
- if (!_this30._controller) {
2221
+ if (!_this32._controller) {
1858
2222
  return reject(new Error("PlattarEmbed.startQRCode() - cannot execute as controller has not loaded yet"));
1859
2223
  }
1860
2224
 
1861
- return _this30._controller.startQRCode(options).then(accept)["catch"](reject);
2225
+ return _this32._controller.startQRCode(options).then(accept)["catch"](reject);
1862
2226
  });
1863
2227
  }
2228
+ /**
2229
+ * This will remove the currently active Renderer
2230
+ *
2231
+ * @returns - true if removed successfully, false otherwise
2232
+ */
2233
+
2234
+ }, {
2235
+ key: "removeRenderer",
2236
+ value: function removeRenderer() {
2237
+ if (!this._controller) {
2238
+ return false;
2239
+ }
2240
+
2241
+ return this._controller.removeRenderer();
2242
+ }
1864
2243
  /**
1865
2244
  * This is called by the observer if any of the embed attributes have changed
1866
2245
  * based on the state of the embed, we update the internal structure accordingly
@@ -1880,10 +2259,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1880
2259
 
1881
2260
  exports["default"] = PlattarEmbed;
1882
2261
  }, {
1883
- "./controllers/configurator-controller": 7,
1884
- "./controllers/product-controller": 9,
1885
- "./controllers/viewer-controller": 10,
1886
- "@plattar/plattar-api": 40
2262
+ "./controllers/configurator-controller": 6,
2263
+ "./controllers/product-controller": 8,
2264
+ "./controllers/viewer-controller": 9,
2265
+ "./controllers/vto-controller": 10,
2266
+ "@plattar/plattar-api": 41
1887
2267
  }],
1888
2268
  12: [function (require, module, exports) {
1889
2269
  "use strict";
@@ -1931,20 +2311,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1931
2311
  Object.defineProperty(exports, "__esModule", {
1932
2312
  value: true
1933
2313
  });
1934
- exports.Util = exports.RawAR = exports.ModelAR = exports.SceneAR = exports.ProductAR = exports.ConfiguratorAR = exports.version = exports.PlattarQRCode = exports.PlattarWeb = void 0;
2314
+ exports.ConfiguratorState = exports.Util = exports.RawAR = exports.ModelAR = exports.SceneAR = exports.ProductAR = exports.version = exports.PlattarQRCode = exports.PlattarWeb = void 0;
1935
2315
  exports.PlattarWeb = __importStar(require("@plattar/plattar-web"));
1936
2316
  exports.PlattarQRCode = __importStar(require("@plattar/plattar-qrcode"));
1937
2317
  exports.version = __importStar(require("./version"));
1938
2318
 
1939
- var configurator_ar_1 = require("./ar/configurator-ar");
1940
-
1941
- Object.defineProperty(exports, "ConfiguratorAR", {
1942
- enumerable: true,
1943
- get: function get() {
1944
- return configurator_ar_1.ConfiguratorAR;
1945
- }
1946
- });
1947
-
1948
2319
  var product_ar_1 = require("./ar/product-ar");
1949
2320
 
1950
2321
  Object.defineProperty(exports, "ProductAR", {
@@ -1990,6 +2361,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
1990
2361
  }
1991
2362
  });
1992
2363
 
2364
+ var configurator_state_1 = require("./util/configurator-state");
2365
+
2366
+ Object.defineProperty(exports, "ConfiguratorState", {
2367
+ enumerable: true,
2368
+ get: function get() {
2369
+ return configurator_state_1.ConfiguratorState;
2370
+ }
2371
+ });
2372
+
1993
2373
  var plattar_embed_1 = __importDefault(require("./embed/plattar-embed"));
1994
2374
 
1995
2375
  var version_1 = __importDefault(require("./version"));
@@ -2002,20 +2382,145 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2002
2382
 
2003
2383
  console.log("using @plattar/plattar-ar-adapter v" + version_1["default"]);
2004
2384
  }, {
2005
- "./ar/configurator-ar": 1,
2006
- "./ar/model-ar": 3,
2007
- "./ar/product-ar": 4,
2008
- "./ar/raw-ar": 5,
2009
- "./ar/scene-ar": 6,
2385
+ "./ar/model-ar": 2,
2386
+ "./ar/product-ar": 3,
2387
+ "./ar/raw-ar": 4,
2388
+ "./ar/scene-ar": 5,
2010
2389
  "./embed/plattar-embed": 11,
2011
- "./util/util": 13,
2012
- "./version": 14,
2013
- "@plattar/plattar-qrcode": 106,
2014
- "@plattar/plattar-web": 125
2390
+ "./util/configurator-state": 13,
2391
+ "./util/util": 14,
2392
+ "./version": 15,
2393
+ "@plattar/plattar-qrcode": 107,
2394
+ "@plattar/plattar-web": 126
2015
2395
  }],
2016
2396
  13: [function (require, module, exports) {
2017
2397
  "use strict";
2018
2398
 
2399
+ Object.defineProperty(exports, "__esModule", {
2400
+ value: true
2401
+ });
2402
+ exports.ConfiguratorState = void 0;
2403
+
2404
+ var ConfiguratorState = /*#__PURE__*/function () {
2405
+ function ConfiguratorState() {
2406
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2407
+
2408
+ _classCallCheck(this, ConfiguratorState);
2409
+
2410
+ var defaultState = {
2411
+ meta: {
2412
+ scene_product_index: 0,
2413
+ product_variation_index: 1,
2414
+ meta_index: 2
2415
+ },
2416
+ states: []
2417
+ };
2418
+
2419
+ if (state) {
2420
+ try {
2421
+ var decodedb64State = atob(state);
2422
+ var parsedState = JSON.parse(decodedb64State); // set the meta data
2423
+
2424
+ if (parsedState.meta) {
2425
+ defaultState.meta.scene_product_index = parsedState.meta.scene_product_index || 0;
2426
+ defaultState.meta.product_variation_index = parsedState.meta.product_variation_index || 1;
2427
+ defaultState.meta.meta_index = parsedState.meta.meta_index || 2;
2428
+ }
2429
+
2430
+ defaultState.states = parsedState.states || [];
2431
+ } catch (err) {
2432
+ console.error("ConfiguratorState.constructor() - there was an error parsing configurator state");
2433
+ console.error(err);
2434
+ }
2435
+ }
2436
+
2437
+ this._state = defaultState;
2438
+ }
2439
+ /**
2440
+ * Adds a new Scene Product/Variation combo with meta-data into the Configurator State
2441
+ *
2442
+ * @param sceneProductID - The Scene Product ID to be used (as defined in Plattar CMS)
2443
+ * @param productVariationID - The Product Variation ID to be used (as defined in Plattar CMS)
2444
+ * @param metaData - Arbitrary meta-data that can be used against certain operaions
2445
+ */
2446
+
2447
+
2448
+ _createClass(ConfiguratorState, [{
2449
+ key: "addSceneProduct",
2450
+ value: function addSceneProduct(sceneProductID, productVariationID) {
2451
+ var metaData = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
2452
+
2453
+ if (sceneProductID && productVariationID) {
2454
+ var states = this._state.states;
2455
+ var meta = this._state.meta;
2456
+ var newData = [];
2457
+ newData.splice(meta.scene_product_index, 0, sceneProductID);
2458
+ newData.splice(meta.product_variation_index, 0, productVariationID);
2459
+
2460
+ if (metaData) {
2461
+ newData.splice(meta.meta_index, 0, metaData);
2462
+ }
2463
+
2464
+ states.push(newData);
2465
+ }
2466
+ }
2467
+ /**
2468
+ * Iterate over the internal state data
2469
+ */
2470
+
2471
+ }, {
2472
+ key: "forEach",
2473
+ value: function forEach(callback) {
2474
+ var states = this._state.states;
2475
+ var meta = this._state.meta;
2476
+
2477
+ if (states.length > 0) {
2478
+ states.forEach(function (productState) {
2479
+ if (productState.length === 2) {
2480
+ callback({
2481
+ scene_product_id: productState[meta.scene_product_index],
2482
+ product_variation_id: productState[meta.product_variation_index],
2483
+ meta_data: {
2484
+ augment: true
2485
+ }
2486
+ });
2487
+ } else if (productState.length === 3) {
2488
+ callback({
2489
+ scene_product_id: productState[meta.scene_product_index],
2490
+ product_variation_id: productState[meta.product_variation_index],
2491
+ meta_data: {
2492
+ augment: productState[meta.meta_index].augment || true
2493
+ }
2494
+ });
2495
+ }
2496
+ });
2497
+ }
2498
+ }
2499
+ }, {
2500
+ key: "length",
2501
+ get: function get() {
2502
+ return this._state.states.length;
2503
+ }
2504
+ }, {
2505
+ key: "encode",
2506
+ value: function encode() {
2507
+ return btoa(JSON.stringify(this._state));
2508
+ }
2509
+ }], [{
2510
+ key: "decode",
2511
+ value: function decode(state) {
2512
+ return new ConfiguratorState(state);
2513
+ }
2514
+ }]);
2515
+
2516
+ return ConfiguratorState;
2517
+ }();
2518
+
2519
+ exports.ConfiguratorState = ConfiguratorState;
2520
+ }, {}],
2521
+ 14: [function (require, module, exports) {
2522
+ "use strict";
2523
+
2019
2524
  Object.defineProperty(exports, "__esModule", {
2020
2525
  value: true
2021
2526
  });
@@ -2137,15 +2642,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2137
2642
 
2138
2643
  exports.Util = Util;
2139
2644
  }, {}],
2140
- 14: [function (require, module, exports) {
2645
+ 15: [function (require, module, exports) {
2141
2646
  "use strict";
2142
2647
 
2143
2648
  Object.defineProperty(exports, "__esModule", {
2144
2649
  value: true
2145
2650
  });
2146
- exports["default"] = "1.123.1";
2651
+ exports["default"] = "1.123.5";
2147
2652
  }, {}],
2148
- 15: [function (require, module, exports) {
2653
+ 16: [function (require, module, exports) {
2149
2654
  "use strict";
2150
2655
 
2151
2656
  Object.defineProperty(exports, "__esModule", {
@@ -2161,7 +2666,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2161
2666
 
2162
2667
  exports["default"] = ARViewer;
2163
2668
  }, {}],
2164
- 16: [function (require, module, exports) {
2669
+ 17: [function (require, module, exports) {
2165
2670
  "use strict";
2166
2671
 
2167
2672
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -2182,17 +2687,17 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2182
2687
  var _super10 = _createSuper(QuicklookViewer);
2183
2688
 
2184
2689
  function QuicklookViewer() {
2185
- var _this31;
2690
+ var _this33;
2186
2691
 
2187
2692
  _classCallCheck(this, QuicklookViewer);
2188
2693
 
2189
- _this31 = _super10.call(this);
2190
- _this31.araction = null;
2191
- _this31.titleHTML = "&checkoutTitle=" + document.title + "&checkoutSubtitle=" + document.title;
2694
+ _this33 = _super10.call(this);
2695
+ _this33.araction = null;
2696
+ _this33.titleHTML = "&checkoutTitle=" + document.title + "&checkoutSubtitle=" + document.title;
2192
2697
 
2193
- _this31.arcallback = function () {};
2698
+ _this33.arcallback = function () {};
2194
2699
 
2195
- return _this31;
2700
+ return _this33;
2196
2701
  }
2197
2702
 
2198
2703
  _createClass(QuicklookViewer, [{
@@ -2208,7 +2713,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2208
2713
  }, {
2209
2714
  key: "start",
2210
2715
  value: function start() {
2211
- var _this32 = this;
2716
+ var _this34 = this;
2212
2717
 
2213
2718
  if (!this.modelUrl) {
2214
2719
  throw new Error("QuicklookViewer.start() - model url not set, use QuicklookViewer.modelUrl");
@@ -2223,7 +2728,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2223
2728
  if (araction) {
2224
2729
  var handleQuicklook = function handleQuicklook(event) {
2225
2730
  if (event.data === "_apple_ar_quicklook_button_tapped") {
2226
- _this32.arcallback();
2731
+ _this34.arcallback();
2227
2732
  }
2228
2733
 
2229
2734
  document.body.removeChild(anchor);
@@ -2249,9 +2754,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2249
2754
 
2250
2755
  exports["default"] = QuicklookViewer;
2251
2756
  }, {
2252
- "./ar-viewer": 15
2757
+ "./ar-viewer": 16
2253
2758
  }],
2254
- 17: [function (require, module, exports) {
2759
+ 18: [function (require, module, exports) {
2255
2760
  "use strict";
2256
2761
 
2257
2762
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -2307,9 +2812,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2307
2812
 
2308
2813
  exports["default"] = RealityViewer;
2309
2814
  }, {
2310
- "./ar-viewer": 15
2815
+ "./ar-viewer": 16
2311
2816
  }],
2312
- 18: [function (require, module, exports) {
2817
+ 19: [function (require, module, exports) {
2313
2818
  "use strict";
2314
2819
 
2315
2820
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -2330,16 +2835,16 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2330
2835
  var _super12 = _createSuper(SceneViewer);
2331
2836
 
2332
2837
  function SceneViewer() {
2333
- var _this33;
2838
+ var _this35;
2334
2839
 
2335
2840
  _classCallCheck(this, SceneViewer);
2336
2841
 
2337
- _this33 = _super12.call(this);
2338
- _this33.araction = null;
2339
- _this33.isVertical = false;
2340
- _this33.titleHTML = "<b>" + document.title;
2341
- _this33.isVertical = false;
2342
- return _this33;
2842
+ _this35 = _super12.call(this);
2843
+ _this35.araction = null;
2844
+ _this35.isVertical = false;
2845
+ _this35.titleHTML = "<b>" + document.title;
2846
+ _this35.isVertical = false;
2847
+ return _this35;
2343
2848
  }
2344
2849
 
2345
2850
  _createClass(SceneViewer, [{
@@ -2396,9 +2901,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2396
2901
 
2397
2902
  exports["default"] = SceneViewer;
2398
2903
  }, {
2399
- "./ar-viewer": 15
2904
+ "./ar-viewer": 16
2400
2905
  }],
2401
- 19: [function (require, module, exports) {
2906
+ 20: [function (require, module, exports) {
2402
2907
  "use strict";
2403
2908
 
2404
2909
  var Messenger = require("./messenger/messenger.js");
@@ -2434,12 +2939,12 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2434
2939
  version: Version
2435
2940
  };
2436
2941
  }, {
2437
- "./memory/memory.js": 20,
2438
- "./messenger/global-event-handler.js": 27,
2439
- "./messenger/messenger.js": 28,
2440
- "./version": 33
2942
+ "./memory/memory.js": 21,
2943
+ "./messenger/global-event-handler.js": 28,
2944
+ "./messenger/messenger.js": 29,
2945
+ "./version": 34
2441
2946
  }],
2442
- 20: [function (require, module, exports) {
2947
+ 21: [function (require, module, exports) {
2443
2948
  var PermanentMemory = require("./permanent-memory");
2444
2949
 
2445
2950
  var TemporaryMemory = require("./temporary-memory");
@@ -2451,7 +2956,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2451
2956
 
2452
2957
  var Memory = /*#__PURE__*/function () {
2453
2958
  function Memory(messengerInstance) {
2454
- var _this34 = this;
2959
+ var _this36 = this;
2455
2960
 
2456
2961
  _classCallCheck(this, Memory);
2457
2962
 
@@ -2460,11 +2965,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2460
2965
  this._permMemory = new PermanentMemory(messengerInstance);
2461
2966
 
2462
2967
  this._messenger.self.__memory__set_temp_var = function (name, data) {
2463
- _this34._tempMemory[name] = data;
2968
+ _this36._tempMemory[name] = data;
2464
2969
  };
2465
2970
 
2466
2971
  this._messenger.self.__memory__set_perm_var = function (name, data) {
2467
- _this34._permMemory[name] = data;
2972
+ _this36._permMemory[name] = data;
2468
2973
  };
2469
2974
  }
2470
2975
 
@@ -2485,10 +2990,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2485
2990
 
2486
2991
  module.exports = Memory;
2487
2992
  }, {
2488
- "./permanent-memory": 21,
2489
- "./temporary-memory": 22
2993
+ "./permanent-memory": 22,
2994
+ "./temporary-memory": 23
2490
2995
  }],
2491
- 21: [function (require, module, exports) {
2996
+ 22: [function (require, module, exports) {
2492
2997
  var WrappedValue = require("./wrapped-value");
2493
2998
 
2494
2999
  var PermanentMemory = /*#__PURE__*/_createClass(function PermanentMemory(messengerInstance) {
@@ -2586,9 +3091,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2586
3091
 
2587
3092
  module.exports = PermanentMemory;
2588
3093
  }, {
2589
- "./wrapped-value": 23
3094
+ "./wrapped-value": 24
2590
3095
  }],
2591
- 22: [function (require, module, exports) {
3096
+ 23: [function (require, module, exports) {
2592
3097
  var WrappedValue = require("./wrapped-value");
2593
3098
 
2594
3099
  var TemporaryMemory = /*#__PURE__*/_createClass(function TemporaryMemory(messengerInstance) {
@@ -2665,9 +3170,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2665
3170
 
2666
3171
  module.exports = TemporaryMemory;
2667
3172
  }, {
2668
- "./wrapped-value": 23
3173
+ "./wrapped-value": 24
2669
3174
  }],
2670
- 23: [function (require, module, exports) {
3175
+ 24: [function (require, module, exports) {
2671
3176
  /**
2672
3177
  * WrappedValue represents a generic value type with a callback function
2673
3178
  * for when the value has changed
@@ -2785,7 +3290,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2785
3290
 
2786
3291
  module.exports = WrappedValue;
2787
3292
  }, {}],
2788
- 24: [function (require, module, exports) {
3293
+ 25: [function (require, module, exports) {
2789
3294
  /**
2790
3295
  * Broadcaster is used to call functions in multiple contexts at the
2791
3296
  * same time. This can be useful without having to handle complex logic
@@ -2852,7 +3357,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2852
3357
 
2853
3358
  module.exports = Broadcaster;
2854
3359
  }, {}],
2855
- 25: [function (require, module, exports) {
3360
+ 26: [function (require, module, exports) {
2856
3361
  var WrappedFunction = require("./wrapped-local-function");
2857
3362
 
2858
3363
  var CurrentFunctionList = /*#__PURE__*/_createClass(function CurrentFunctionList() {
@@ -2915,9 +3420,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2915
3420
 
2916
3421
  module.exports = CurrentFunctionList;
2917
3422
  }, {
2918
- "./wrapped-local-function": 26
3423
+ "./wrapped-local-function": 27
2919
3424
  }],
2920
- 26: [function (require, module, exports) {
3425
+ 27: [function (require, module, exports) {
2921
3426
  var Util = require("../util/util.js");
2922
3427
  /**
2923
3428
  * WrappedLocalFunction represents a container that holds and maintains a specific function
@@ -2962,20 +3467,20 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
2962
3467
  }, {
2963
3468
  key: "exec",
2964
3469
  value: function exec() {
2965
- var _this35 = this;
3470
+ var _this37 = this;
2966
3471
 
2967
3472
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
2968
3473
  args[_key3] = arguments[_key3];
2969
3474
  }
2970
3475
 
2971
3476
  return new Promise(function (accept, reject) {
2972
- if (!_this35._value) {
2973
- return reject(new Error("WrappedLocalFunction.exec() function with name " + _this35._funcName + "() is not defined"));
3477
+ if (!_this37._value) {
3478
+ return reject(new Error("WrappedLocalFunction.exec() function with name " + _this37._funcName + "() is not defined"));
2974
3479
  }
2975
3480
 
2976
3481
  try {
2977
3482
  // otherwise execute the function
2978
- var rObject = _this35._execute.apply(_this35, args); // we need to check if the returned object is a Promise, if so, handle it
3483
+ var rObject = _this37._execute.apply(_this37, args); // we need to check if the returned object is a Promise, if so, handle it
2979
3484
  // differently. This can happen if the function wants to execute asyn
2980
3485
 
2981
3486
 
@@ -3027,9 +3532,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3027
3532
 
3028
3533
  module.exports = WrappedLocalFunction;
3029
3534
  }, {
3030
- "../util/util.js": 32
3535
+ "../util/util.js": 33
3031
3536
  }],
3032
- 27: [function (require, module, exports) {
3537
+ 28: [function (require, module, exports) {
3033
3538
  var RemoteInterface = require("./remote-interface.js");
3034
3539
  /**
3035
3540
  * This is a singleton class that handles events on a global basis. Allows
@@ -3039,7 +3544,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3039
3544
 
3040
3545
  var GlobalEventHandler = /*#__PURE__*/function () {
3041
3546
  function GlobalEventHandler() {
3042
- var _this36 = this;
3547
+ var _this38 = this;
3043
3548
 
3044
3549
  _classCallCheck(this, GlobalEventHandler);
3045
3550
 
@@ -3061,10 +3566,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3061
3566
 
3062
3567
  if (jsonData && jsonData.event && jsonData.data) {
3063
3568
  // see if there are any listeners for this
3064
- if (_this36._eventListeners[jsonData.event]) {
3569
+ if (_this38._eventListeners[jsonData.event]) {
3065
3570
  var remoteInterface = new RemoteInterface(evt.source, evt.origin); // loop through and call all the event handlers
3066
3571
 
3067
- _this36._eventListeners[jsonData.event].forEach(function (callback) {
3572
+ _this38._eventListeners[jsonData.event].forEach(function (callback) {
3068
3573
  try {
3069
3574
  callback(remoteInterface, jsonData.data);
3070
3575
  } catch (e) {
@@ -3121,9 +3626,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3121
3626
 
3122
3627
  module.exports = GlobalEventHandler;
3123
3628
  }, {
3124
- "./remote-interface.js": 29
3629
+ "./remote-interface.js": 30
3125
3630
  }],
3126
- 28: [function (require, module, exports) {
3631
+ 29: [function (require, module, exports) {
3127
3632
  var CurrentFunctionList = require("./current/current-function-list");
3128
3633
 
3129
3634
  var RemoteInterface = require("./remote-interface");
@@ -3260,40 +3765,40 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3260
3765
  }, {
3261
3766
  key: "_registerListeners",
3262
3767
  value: function _registerListeners() {
3263
- var _this37 = this;
3768
+ var _this39 = this;
3264
3769
 
3265
3770
  GlobalEventHandler.instance().listen("__messenger__child_init", function (src, data) {
3266
3771
  var iframeID = src.id; // check reserved key list
3267
3772
 
3268
3773
  switch (iframeID) {
3269
3774
  case undefined:
3270
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID cannot be undefined");
3775
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID cannot be undefined");
3271
3776
 
3272
3777
  case "self":
3273
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID of \"self\" cannot be used as the keyword is reserved");
3778
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID of \"self\" cannot be used as the keyword is reserved");
3274
3779
 
3275
3780
  case "parent":
3276
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID of \"parent\" cannot be used as the keyword is reserved");
3781
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID of \"parent\" cannot be used as the keyword is reserved");
3277
3782
 
3278
3783
  case "id":
3279
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID of \"id\" cannot be used as the keyword is reserved");
3784
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID of \"id\" cannot be used as the keyword is reserved");
3280
3785
 
3281
3786
  case "onload":
3282
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID of \"onload\" cannot be used as the keyword is reserved");
3787
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID of \"onload\" cannot be used as the keyword is reserved");
3283
3788
 
3284
3789
  default:
3285
3790
  break;
3286
3791
  } // initialise the child iframe as a messenger pipe
3287
3792
 
3288
3793
 
3289
- _this37[iframeID] = new RemoteFunctionList(iframeID);
3794
+ _this39[iframeID] = new RemoteFunctionList(iframeID);
3290
3795
 
3291
- _this37[iframeID].setup(new RemoteInterface(src.source, src.origin)); // add the interface to the broadcaster
3796
+ _this39[iframeID].setup(new RemoteInterface(src.source, src.origin)); // add the interface to the broadcaster
3292
3797
 
3293
3798
 
3294
- _this37._broadcaster._push(iframeID);
3799
+ _this39._broadcaster._push(iframeID);
3295
3800
 
3296
- var callbacks = _this37._callbacks; // we have registered callbacks, begin execution
3801
+ var callbacks = _this39._callbacks; // we have registered callbacks, begin execution
3297
3802
 
3298
3803
  if (callbacks.has(iframeID)) {
3299
3804
  var array = callbacks.get(iframeID);
@@ -3317,33 +3822,33 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3317
3822
 
3318
3823
  switch (iframeID) {
3319
3824
  case undefined:
3320
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID cannot be undefined");
3825
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID cannot be undefined");
3321
3826
 
3322
3827
  case "self":
3323
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID of \"self\" cannot be used as the keyword is reserved");
3828
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID of \"self\" cannot be used as the keyword is reserved");
3324
3829
 
3325
3830
  case "parent":
3326
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID of \"parent\" cannot be used as the keyword is reserved");
3831
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID of \"parent\" cannot be used as the keyword is reserved");
3327
3832
 
3328
3833
  case "id":
3329
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID of \"id\" cannot be used as the keyword is reserved");
3834
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID of \"id\" cannot be used as the keyword is reserved");
3330
3835
 
3331
3836
  case "onload":
3332
- throw new Error("Messenger[" + _this37._id + "].setup() Component ID of \"onload\" cannot be used as the keyword is reserved");
3837
+ throw new Error("Messenger[" + _this39._id + "].setup() Component ID of \"onload\" cannot be used as the keyword is reserved");
3333
3838
 
3334
3839
  default:
3335
3840
  break;
3336
3841
  } // initialise the child iframe as a messenger pipe
3337
3842
 
3338
3843
 
3339
- _this37[iframeID] = new RemoteFunctionList(iframeID);
3844
+ _this39[iframeID] = new RemoteFunctionList(iframeID);
3340
3845
 
3341
- _this37[iframeID].setup(new RemoteInterface(src.source, src.origin)); // add the interface to the broadcaster
3846
+ _this39[iframeID].setup(new RemoteInterface(src.source, src.origin)); // add the interface to the broadcaster
3342
3847
 
3343
3848
 
3344
- _this37._broadcaster._push(iframeID);
3849
+ _this39._broadcaster._push(iframeID);
3345
3850
 
3346
- var callbacks = _this37._callbacks; // we have registered callbacks, begin execution
3851
+ var callbacks = _this39._callbacks; // we have registered callbacks, begin execution
3347
3852
 
3348
3853
  if (callbacks.has(iframeID)) {
3349
3854
  var array = callbacks.get(iframeID);
@@ -3363,11 +3868,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3363
3868
  });
3364
3869
  GlobalEventHandler.instance().listen("__messenger__parent_init", function (src, data) {
3365
3870
  var iframeID = "parent";
3366
- _this37[iframeID] = new RemoteFunctionList(iframeID);
3871
+ _this39[iframeID] = new RemoteFunctionList(iframeID);
3367
3872
 
3368
- _this37[iframeID].setup(new RemoteInterface(src.source, src.origin));
3873
+ _this39[iframeID].setup(new RemoteInterface(src.source, src.origin));
3369
3874
 
3370
- var callbacks = _this37._callbacks; // we have registered callbacks, begin execution
3875
+ var callbacks = _this39._callbacks; // we have registered callbacks, begin execution
3371
3876
 
3372
3877
  if (callbacks.has(iframeID)) {
3373
3878
  var array = callbacks.get(iframeID);
@@ -3392,11 +3897,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3392
3897
 
3393
3898
  GlobalEventHandler.instance().listen("__messenger__parent_init_inv", function (src, data) {
3394
3899
  var iframeID = "parent";
3395
- _this37[iframeID] = new RemoteFunctionList(iframeID);
3900
+ _this39[iframeID] = new RemoteFunctionList(iframeID);
3396
3901
 
3397
- _this37[iframeID].setup(new RemoteInterface(src.source, src.origin));
3902
+ _this39[iframeID].setup(new RemoteInterface(src.source, src.origin));
3398
3903
 
3399
- var callbacks = _this37._callbacks; // we have registered callbacks, begin execution
3904
+ var callbacks = _this39._callbacks; // we have registered callbacks, begin execution
3400
3905
 
3401
3906
  if (callbacks.has(iframeID)) {
3402
3907
  var array = callbacks.get(iframeID);
@@ -3452,14 +3957,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3452
3957
 
3453
3958
  module.exports = Messenger;
3454
3959
  }, {
3455
- "./broadcaster.js": 24,
3456
- "./current/current-function-list": 25,
3457
- "./global-event-handler.js": 27,
3458
- "./remote-interface": 29,
3459
- "./remote/remote-function-list": 30,
3460
- "./util/util.js": 32
3960
+ "./broadcaster.js": 25,
3961
+ "./current/current-function-list": 26,
3962
+ "./global-event-handler.js": 28,
3963
+ "./remote-interface": 30,
3964
+ "./remote/remote-function-list": 31,
3965
+ "./util/util.js": 33
3461
3966
  }],
3462
- 29: [function (require, module, exports) {
3967
+ 30: [function (require, module, exports) {
3463
3968
  /**
3464
3969
  * Provides a single useful interface for performing remote function calls
3465
3970
  */
@@ -3531,7 +4036,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3531
4036
 
3532
4037
  module.exports = RemoteInterface;
3533
4038
  }, {}],
3534
- 30: [function (require, module, exports) {
4039
+ 31: [function (require, module, exports) {
3535
4040
  var WrappedFunction = require("./wrapped-remote-function");
3536
4041
 
3537
4042
  var RemoteFunctionList = /*#__PURE__*/function () {
@@ -3619,9 +4124,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3619
4124
 
3620
4125
  module.exports = RemoteFunctionList;
3621
4126
  }, {
3622
- "./wrapped-remote-function": 31
4127
+ "./wrapped-remote-function": 32
3623
4128
  }],
3624
- 31: [function (require, module, exports) {
4129
+ 32: [function (require, module, exports) {
3625
4130
  var Util = require("../util/util.js");
3626
4131
 
3627
4132
  var GlobalEventHandler = require("../global-event-handler.js");
@@ -3634,7 +4139,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3634
4139
 
3635
4140
  var WrappedRemoteFunction = /*#__PURE__*/function () {
3636
4141
  function WrappedRemoteFunction(funcName, remoteInterface) {
3637
- var _this38 = this;
4142
+ var _this40 = this;
3638
4143
 
3639
4144
  _classCallCheck(this, WrappedRemoteFunction);
3640
4145
 
@@ -3645,19 +4150,19 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3645
4150
  GlobalEventHandler.instance().listen("__messenger__exec_fnc_result", function (src, data) {
3646
4151
  var instanceID = data.instance_id; // the function name must match
3647
4152
 
3648
- if (data.function_name !== _this38._funcName) {
4153
+ if (data.function_name !== _this40._funcName) {
3649
4154
  return;
3650
4155
  } // the instance ID must be found, otherwise this is a rogue execution
3651
4156
  // that can be ignored (should not happen)
3652
4157
 
3653
4158
 
3654
- if (!_this38._callInstances[instanceID]) {
4159
+ if (!_this40._callInstances[instanceID]) {
3655
4160
  return;
3656
4161
  }
3657
4162
 
3658
- var promise = _this38._callInstances[instanceID]; // remove the old instance
4163
+ var promise = _this40._callInstances[instanceID]; // remove the old instance
3659
4164
 
3660
- delete _this38._callInstances[instanceID]; // perform the promise callbacks
4165
+ delete _this40._callInstances[instanceID]; // perform the promise callbacks
3661
4166
 
3662
4167
  if (data.function_status === "success") {
3663
4168
  promise.accept(data.function_args);
@@ -3674,7 +4179,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3674
4179
  _createClass(WrappedRemoteFunction, [{
3675
4180
  key: "exec",
3676
4181
  value: function exec() {
3677
- var _this39 = this;
4182
+ var _this41 = this;
3678
4183
 
3679
4184
  for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
3680
4185
  args[_key4] = arguments[_key4];
@@ -3694,14 +4199,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3694
4199
 
3695
4200
  return new Promise(function (accept, reject) {
3696
4201
  // save this promise to be executed later
3697
- _this39._callInstances[instanceID] = {
4202
+ _this41._callInstances[instanceID] = {
3698
4203
  accept: accept,
3699
4204
  reject: reject
3700
4205
  }; // execute this event in another context
3701
4206
 
3702
- _this39._remoteInterface.send("__messenger__exec_fnc", {
4207
+ _this41._remoteInterface.send("__messenger__exec_fnc", {
3703
4208
  instance_id: instanceID,
3704
- function_name: _this39._funcName,
4209
+ function_name: _this41._funcName,
3705
4210
  function_args: args
3706
4211
  });
3707
4212
  });
@@ -3713,10 +4218,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3713
4218
 
3714
4219
  module.exports = WrappedRemoteFunction;
3715
4220
  }, {
3716
- "../global-event-handler.js": 27,
3717
- "../util/util.js": 32
4221
+ "../global-event-handler.js": 28,
4222
+ "../util/util.js": 33
3718
4223
  }],
3719
- 32: [function (require, module, exports) {
4224
+ 33: [function (require, module, exports) {
3720
4225
  var Util = /*#__PURE__*/function () {
3721
4226
  function Util() {
3722
4227
  _classCallCheck(this, Util);
@@ -3756,10 +4261,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3756
4261
 
3757
4262
  module.exports = Util;
3758
4263
  }, {}],
3759
- 33: [function (require, module, exports) {
4264
+ 34: [function (require, module, exports) {
3760
4265
  module.exports = "1.113.6";
3761
4266
  }, {}],
3762
- 34: [function (require, module, exports) {
4267
+ 35: [function (require, module, exports) {
3763
4268
  "use strict";
3764
4269
 
3765
4270
  Object.defineProperty(exports, "__esModule", {
@@ -3828,9 +4333,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3828
4333
 
3829
4334
  exports.AnalyticsData = AnalyticsData;
3830
4335
  }, {
3831
- "../util/util": 38
4336
+ "../util/util": 39
3832
4337
  }],
3833
- 35: [function (require, module, exports) {
4338
+ 36: [function (require, module, exports) {
3834
4339
  "use strict";
3835
4340
 
3836
4341
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -3850,7 +4355,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3850
4355
 
3851
4356
  var Analytics = /*#__PURE__*/function () {
3852
4357
  function Analytics(applicationID) {
3853
- var _this40 = this;
4358
+ var _this42 = this;
3854
4359
 
3855
4360
  _classCallCheck(this, Analytics);
3856
4361
 
@@ -3867,21 +4372,21 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3867
4372
 
3868
4373
  this._handlePageHide = function () {
3869
4374
  if (document.visibilityState === "hidden") {
3870
- _this40._pageTime = new Date();
3871
- } else if (_this40._pageTime) {
4375
+ _this42._pageTime = new Date();
4376
+ } else if (_this42._pageTime) {
3872
4377
  var time2 = new Date();
3873
4378
 
3874
- var diff = time2.getTime() - _this40._pageTime.getTime();
4379
+ var diff = time2.getTime() - _this42._pageTime.getTime();
3875
4380
 
3876
- var data = _this40.data;
4381
+ var data = _this42.data;
3877
4382
  data.push("eventAction", "View Time");
3878
4383
  data.push("viewTime", diff);
3879
4384
  data.push("eventLabel", diff);
3880
4385
 
3881
- _this40.write();
4386
+ _this42.write();
3882
4387
 
3883
- _this40._pageTime = null;
3884
- document.removeEventListener("visibilitychange", _this40._handlePageHide, false);
4388
+ _this42._pageTime = null;
4389
+ document.removeEventListener("visibilitychange", _this42._handlePageHide, false);
3885
4390
  }
3886
4391
  };
3887
4392
  }
@@ -3889,7 +4394,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3889
4394
  _createClass(Analytics, [{
3890
4395
  key: "query",
3891
4396
  value: function query() {
3892
- var _this41 = this;
4397
+ var _this43 = this;
3893
4398
 
3894
4399
  var _query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
3895
4400
 
@@ -3898,11 +4403,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3898
4403
  return reject(new Error("Analytics.query() - provided query was null"));
3899
4404
  }
3900
4405
 
3901
- var url = _this41.origin === "dev" ? "http://localhost:9000/2015-03-31/functions/function/invocations" : "https://oyywgrj9ki.execute-api.ap-southeast-2.amazonaws.com/main/analytics";
4406
+ var url = _this43.origin === "dev" ? "http://localhost:9000/2015-03-31/functions/function/invocations" : "https://oyywgrj9ki.execute-api.ap-southeast-2.amazonaws.com/main/analytics";
3902
4407
  var data = {
3903
4408
  type: "read",
3904
- application_id: _this41._applicationID,
3905
- event: _this41.event,
4409
+ application_id: _this43._applicationID,
4410
+ event: _this43.event,
3906
4411
  data: _query
3907
4412
  };
3908
4413
  basic_http_1["default"].exec("POST", url, data).then(function (result) {
@@ -3913,21 +4418,21 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3913
4418
  }, {
3914
4419
  key: "write",
3915
4420
  value: function write() {
3916
- var _this42 = this;
4421
+ var _this44 = this;
3917
4422
 
3918
4423
  return new Promise(function (accept, reject) {
3919
- var data = _this42._data;
3920
- var url = _this42.origin === "dev" ? "http://localhost:9000/2015-03-31/functions/function/invocations" : "https://oyywgrj9ki.execute-api.ap-southeast-2.amazonaws.com/main/analytics";
3921
- data.push("applicationId", _this42._applicationID);
4424
+ var data = _this44._data;
4425
+ var url = _this44.origin === "dev" ? "http://localhost:9000/2015-03-31/functions/function/invocations" : "https://oyywgrj9ki.execute-api.ap-southeast-2.amazonaws.com/main/analytics";
4426
+ data.push("applicationId", _this44._applicationID);
3922
4427
  var sendData = {
3923
4428
  type: "write",
3924
- application_id: _this42._applicationID,
3925
- origin: _this42.origin,
3926
- event: _this42.event,
4429
+ application_id: _this44._applicationID,
4430
+ origin: _this44.origin,
4431
+ event: _this44.event,
3927
4432
  data: data.data
3928
4433
  };
3929
4434
 
3930
- if (_this42.isBeacon === false) {
4435
+ if (_this44.isBeacon === false) {
3931
4436
  basic_http_1["default"].exec("POST", url, sendData).then(function (result) {
3932
4437
  accept(result && result.results ? result.results : {});
3933
4438
  })["catch"](reject);
@@ -3955,10 +4460,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
3955
4460
 
3956
4461
  exports.Analytics = Analytics;
3957
4462
  }, {
3958
- "../util/basic-http": 37,
3959
- "./analytics-data": 34
4463
+ "../util/basic-http": 38,
4464
+ "./analytics-data": 35
3960
4465
  }],
3961
- 36: [function (require, module, exports) {
4466
+ 37: [function (require, module, exports) {
3962
4467
  "use strict";
3963
4468
 
3964
4469
  var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
@@ -4020,10 +4525,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4020
4525
 
4021
4526
  console.log("using @plattar/plattar-analytics v" + version_1["default"]);
4022
4527
  }, {
4023
- "./analytics/analytics": 35,
4024
- "./version": 39
4528
+ "./analytics/analytics": 36,
4529
+ "./version": 40
4025
4530
  }],
4026
- 37: [function (require, module, exports) {
4531
+ 38: [function (require, module, exports) {
4027
4532
  "use strict";
4028
4533
 
4029
4534
  Object.defineProperty(exports, "__esModule", {
@@ -4109,7 +4614,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4109
4614
 
4110
4615
  exports["default"] = BasicHTTP;
4111
4616
  }, {}],
4112
- 38: [function (require, module, exports) {
4617
+ 39: [function (require, module, exports) {
4113
4618
  "use strict";
4114
4619
 
4115
4620
  Object.defineProperty(exports, "__esModule", {
@@ -4148,7 +4653,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4148
4653
 
4149
4654
  exports.Util = Util;
4150
4655
  }, {}],
4151
- 39: [function (require, module, exports) {
4656
+ 40: [function (require, module, exports) {
4152
4657
  "use strict";
4153
4658
 
4154
4659
  Object.defineProperty(exports, "__esModule", {
@@ -4156,7 +4661,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4156
4661
  });
4157
4662
  exports["default"] = "1.117.2";
4158
4663
  }, {}],
4159
- 40: [function (require, module, exports) {
4664
+ 41: [function (require, module, exports) {
4160
4665
  "use strict";
4161
4666
 
4162
4667
  var Server = require("./server/plattar-server.js");
@@ -4359,67 +4864,67 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4359
4864
  version: Version
4360
4865
  };
4361
4866
  }, {
4362
- "./server/plattar-server.js": 42,
4363
- "./types/application.js": 43,
4364
- "./types/content-pipeline/brief.js": 44,
4365
- "./types/content-pipeline/comment-brief.js": 45,
4366
- "./types/content-pipeline/comment-quote.js": 46,
4367
- "./types/content-pipeline/comment-solution.js": 47,
4368
- "./types/content-pipeline/folder.js": 48,
4369
- "./types/content-pipeline/pipeline-user.js": 49,
4370
- "./types/content-pipeline/quote.js": 50,
4371
- "./types/content-pipeline/rating.js": 51,
4372
- "./types/content-pipeline/solution.js": 52,
4373
- "./types/file/file-audio.js": 53,
4374
- "./types/file/file-base.js": 54,
4375
- "./types/file/file-image.js": 55,
4376
- "./types/file/file-model.js": 56,
4377
- "./types/file/file-script.js": 57,
4378
- "./types/file/file-video.js": 58,
4379
- "./types/misc/application-build.js": 62,
4380
- "./types/misc/asset-library.js": 63,
4381
- "./types/misc/async-job.js": 64,
4382
- "./types/misc/script-event.js": 65,
4383
- "./types/misc/tag.js": 66,
4384
- "./types/page/card-base.js": 67,
4385
- "./types/page/card-button.js": 68,
4386
- "./types/page/card-html.js": 69,
4387
- "./types/page/card-iframe.js": 70,
4388
- "./types/page/card-image.js": 71,
4389
- "./types/page/card-map.js": 72,
4390
- "./types/page/card-paragraph.js": 73,
4391
- "./types/page/card-row.js": 74,
4392
- "./types/page/card-slider.js": 75,
4393
- "./types/page/card-title.js": 76,
4394
- "./types/page/card-video.js": 77,
4395
- "./types/page/card-youtube.js": 78,
4396
- "./types/page/page.js": 79,
4397
- "./types/product/product-annotation.js": 80,
4398
- "./types/product/product-base.js": 81,
4399
- "./types/product/product-variation.js": 82,
4400
- "./types/product/product.js": 83,
4401
- "./types/scene/scene-annotation.js": 84,
4402
- "./types/scene/scene-audio.js": 85,
4403
- "./types/scene/scene-base.js": 86,
4404
- "./types/scene/scene-button.js": 87,
4405
- "./types/scene/scene-camera.js": 88,
4406
- "./types/scene/scene-carousel.js": 89,
4407
- "./types/scene/scene-image.js": 90,
4408
- "./types/scene/scene-model.js": 91,
4409
- "./types/scene/scene-panorama.js": 92,
4410
- "./types/scene/scene-poller.js": 93,
4411
- "./types/scene/scene-product.js": 94,
4412
- "./types/scene/scene-script.js": 95,
4413
- "./types/scene/scene-shadow.js": 96,
4414
- "./types/scene/scene-video.js": 97,
4415
- "./types/scene/scene-volumetric.js": 98,
4416
- "./types/scene/scene-youtube.js": 99,
4417
- "./types/scene/scene.js": 100,
4418
- "./types/trigger/trigger-image.js": 101,
4419
- "./util/plattar-util.js": 102,
4420
- "./version": 103
4867
+ "./server/plattar-server.js": 43,
4868
+ "./types/application.js": 44,
4869
+ "./types/content-pipeline/brief.js": 45,
4870
+ "./types/content-pipeline/comment-brief.js": 46,
4871
+ "./types/content-pipeline/comment-quote.js": 47,
4872
+ "./types/content-pipeline/comment-solution.js": 48,
4873
+ "./types/content-pipeline/folder.js": 49,
4874
+ "./types/content-pipeline/pipeline-user.js": 50,
4875
+ "./types/content-pipeline/quote.js": 51,
4876
+ "./types/content-pipeline/rating.js": 52,
4877
+ "./types/content-pipeline/solution.js": 53,
4878
+ "./types/file/file-audio.js": 54,
4879
+ "./types/file/file-base.js": 55,
4880
+ "./types/file/file-image.js": 56,
4881
+ "./types/file/file-model.js": 57,
4882
+ "./types/file/file-script.js": 58,
4883
+ "./types/file/file-video.js": 59,
4884
+ "./types/misc/application-build.js": 63,
4885
+ "./types/misc/asset-library.js": 64,
4886
+ "./types/misc/async-job.js": 65,
4887
+ "./types/misc/script-event.js": 66,
4888
+ "./types/misc/tag.js": 67,
4889
+ "./types/page/card-base.js": 68,
4890
+ "./types/page/card-button.js": 69,
4891
+ "./types/page/card-html.js": 70,
4892
+ "./types/page/card-iframe.js": 71,
4893
+ "./types/page/card-image.js": 72,
4894
+ "./types/page/card-map.js": 73,
4895
+ "./types/page/card-paragraph.js": 74,
4896
+ "./types/page/card-row.js": 75,
4897
+ "./types/page/card-slider.js": 76,
4898
+ "./types/page/card-title.js": 77,
4899
+ "./types/page/card-video.js": 78,
4900
+ "./types/page/card-youtube.js": 79,
4901
+ "./types/page/page.js": 80,
4902
+ "./types/product/product-annotation.js": 81,
4903
+ "./types/product/product-base.js": 82,
4904
+ "./types/product/product-variation.js": 83,
4905
+ "./types/product/product.js": 84,
4906
+ "./types/scene/scene-annotation.js": 85,
4907
+ "./types/scene/scene-audio.js": 86,
4908
+ "./types/scene/scene-base.js": 87,
4909
+ "./types/scene/scene-button.js": 88,
4910
+ "./types/scene/scene-camera.js": 89,
4911
+ "./types/scene/scene-carousel.js": 90,
4912
+ "./types/scene/scene-image.js": 91,
4913
+ "./types/scene/scene-model.js": 92,
4914
+ "./types/scene/scene-panorama.js": 93,
4915
+ "./types/scene/scene-poller.js": 94,
4916
+ "./types/scene/scene-product.js": 95,
4917
+ "./types/scene/scene-script.js": 96,
4918
+ "./types/scene/scene-shadow.js": 97,
4919
+ "./types/scene/scene-video.js": 98,
4920
+ "./types/scene/scene-volumetric.js": 99,
4921
+ "./types/scene/scene-youtube.js": 100,
4922
+ "./types/scene/scene.js": 101,
4923
+ "./types/trigger/trigger-image.js": 102,
4924
+ "./util/plattar-util.js": 103,
4925
+ "./version": 104
4421
4926
  }],
4422
- 41: [function (require, module, exports) {
4927
+ 42: [function (require, module, exports) {
4423
4928
  var fetch = require("node-fetch");
4424
4929
 
4425
4930
  var PlattarQuery = /*#__PURE__*/function () {
@@ -4478,11 +4983,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4478
4983
  }, {
4479
4984
  key: "_get",
4480
4985
  value: function _get(opt) {
4481
- var _this43 = this;
4986
+ var _this45 = this;
4482
4987
 
4483
4988
  return new Promise(function (resolve, reject) {
4484
- var target = _this43.target;
4485
- var server = _this43.server; // we cannot perform a GET request without an ID
4989
+ var target = _this45.target;
4990
+ var server = _this45.server; // we cannot perform a GET request without an ID
4486
4991
 
4487
4992
  if (!target.id) {
4488
4993
  reject(new Error("PlattarQuery." + target.type() + ".get() - object id is missing"));
@@ -4507,16 +5012,16 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4507
5012
  var origin = server.originLocation.api_read;
4508
5013
  var auth = server.authToken;
4509
5014
  var headers = {
4510
- 'cookie': 'laravel_session=' + _this43.getCookie('laravel_session')
5015
+ 'cookie': 'laravel_session=' + _this45.getCookie('laravel_session')
4511
5016
  };
4512
5017
  Object.assign(headers, auth);
4513
5018
  var reqopts = {
4514
5019
  method: "GET",
4515
5020
  headers: headers
4516
5021
  };
4517
- var includeQuery = _this43._IncludeQuery;
5022
+ var includeQuery = _this45._IncludeQuery;
4518
5023
 
4519
- var params = _this43._ParamFor("get");
5024
+ var params = _this45._ParamFor("get");
4520
5025
 
4521
5026
  var endpoint = origin + target.type() + "/" + target.id;
4522
5027
 
@@ -4557,11 +5062,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4557
5062
  }, {
4558
5063
  key: "_update",
4559
5064
  value: function _update() {
4560
- var _this44 = this;
5065
+ var _this46 = this;
4561
5066
 
4562
5067
  return new Promise(function (resolve, reject) {
4563
- var target = _this44.target;
4564
- var server = _this44.server; // we cannot perform a GET request without an ID
5068
+ var target = _this46.target;
5069
+ var server = _this46.server; // we cannot perform a GET request without an ID
4565
5070
 
4566
5071
  if (!target.id) {
4567
5072
  reject(new Error("PlattarQuery." + target.type() + ".update() - object id is missing"));
@@ -4574,7 +5079,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4574
5079
  var headers = {
4575
5080
  'Accept': 'application/json',
4576
5081
  'Content-Type': 'application/json',
4577
- 'cookie': 'laravel_session=' + _this44.getCookie('laravel_session')
5082
+ 'cookie': 'laravel_session=' + _this46.getCookie('laravel_session')
4578
5083
  };
4579
5084
  Object.assign(headers, auth);
4580
5085
  var reqopts = {
@@ -4589,7 +5094,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4589
5094
  })
4590
5095
  };
4591
5096
 
4592
- var params = _this44._ParamFor("update");
5097
+ var params = _this46._ParamFor("update");
4593
5098
 
4594
5099
  var endpoint = origin + target.type() + "/" + target.id;
4595
5100
 
@@ -4631,18 +5136,18 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4631
5136
  }, {
4632
5137
  key: "_create",
4633
5138
  value: function _create() {
4634
- var _this45 = this;
5139
+ var _this47 = this;
4635
5140
 
4636
5141
  return new Promise(function (resolve, reject) {
4637
- var target = _this45.target;
4638
- var server = _this45.server; // otherwise, proceed with the fetching op
5142
+ var target = _this47.target;
5143
+ var server = _this47.server; // otherwise, proceed with the fetching op
4639
5144
 
4640
5145
  var origin = server.originLocation.api_write;
4641
5146
  var auth = server.authToken;
4642
5147
  var headers = {
4643
5148
  'Accept': 'application/json',
4644
5149
  'Content-Type': 'application/json',
4645
- 'cookie': 'laravel_session=' + _this45.getCookie('laravel_session')
5150
+ 'cookie': 'laravel_session=' + _this47.getCookie('laravel_session')
4646
5151
  };
4647
5152
  Object.assign(headers, auth);
4648
5153
  var reqopts = {
@@ -4656,7 +5161,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4656
5161
  })
4657
5162
  };
4658
5163
 
4659
- var params = _this45._ParamFor("create");
5164
+ var params = _this47._ParamFor("create");
4660
5165
 
4661
5166
  var endpoint = origin + target.type();
4662
5167
 
@@ -4700,11 +5205,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4700
5205
  }, {
4701
5206
  key: "_delete",
4702
5207
  value: function _delete() {
4703
- var _this46 = this;
5208
+ var _this48 = this;
4704
5209
 
4705
5210
  return new Promise(function (resolve, reject) {
4706
- var target = _this46.target;
4707
- var server = _this46.server; // we cannot perform a GET request without an ID
5211
+ var target = _this48.target;
5212
+ var server = _this48.server; // we cannot perform a GET request without an ID
4708
5213
 
4709
5214
  if (!target.id) {
4710
5215
  reject(new Error("PlattarQuery." + target.type() + ".delete() - object id is missing"));
@@ -4717,7 +5222,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4717
5222
  var headers = {
4718
5223
  'Accept': 'application/json',
4719
5224
  'Content-Type': 'application/json',
4720
- 'cookie': 'laravel_session=' + _this46.getCookie('laravel_session')
5225
+ 'cookie': 'laravel_session=' + _this48.getCookie('laravel_session')
4721
5226
  };
4722
5227
  Object.assign(headers, auth);
4723
5228
  var reqopts = {
@@ -4732,7 +5237,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4732
5237
  })
4733
5238
  };
4734
5239
 
4735
- var params = _this46._ParamFor("delete");
5240
+ var params = _this48._ParamFor("delete");
4736
5241
 
4737
5242
  var endpoint = origin + target.type() + "/" + target.id;
4738
5243
 
@@ -4795,7 +5300,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4795
5300
  }, {
4796
5301
  key: "_include",
4797
5302
  value: function _include(args) {
4798
- var _this47 = this;
5303
+ var _this49 = this;
4799
5304
 
4800
5305
  if (!args || args.length <= 0) {
4801
5306
  return this;
@@ -4808,21 +5313,21 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4808
5313
  if (Array.isArray(obj)) {
4809
5314
  obj.forEach(function (strObject) {
4810
5315
  if (typeof strObject === "string" || strObject instanceof String) {
4811
- _this47._getIncludeQuery.push(strObject);
5316
+ _this49._getIncludeQuery.push(strObject);
4812
5317
  } else {
4813
- throw new Error("PlattarQuery." + _this47.target.type() + ".include(...args) - argument of Array must only include Strings");
5318
+ throw new Error("PlattarQuery." + _this49.target.type() + ".include(...args) - argument of Array must only include Strings");
4814
5319
  }
4815
5320
  });
4816
5321
  } else if (PlattarUtil.isPlattarObject(obj)) {
4817
5322
  var type = obj.type();
4818
5323
 
4819
5324
  if (Array.isArray(type)) {
4820
- _this47._include(type);
5325
+ _this49._include(type);
4821
5326
  } else {
4822
- _this47._getIncludeQuery.push(type);
5327
+ _this49._getIncludeQuery.push(type);
4823
5328
  }
4824
5329
  } else {
4825
- throw new Error("PlattarQuery." + _this47.target.type() + ".include(...args) - argument must be of type PlattarObject or Array but was type=" + _typeof(obj) + " value=" + obj);
5330
+ throw new Error("PlattarQuery." + _this49.target.type() + ".include(...args) - argument must be of type PlattarObject or Array but was type=" + _typeof(obj) + " value=" + obj);
4826
5331
  }
4827
5332
  });
4828
5333
  return this;
@@ -4903,10 +5408,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4903
5408
 
4904
5409
  module.exports = PlattarQuery;
4905
5410
  }, {
4906
- "../util/plattar-util.js": 102,
4907
- "node-fetch": 128
5411
+ "../util/plattar-util.js": 103,
5412
+ "node-fetch": 129
4908
5413
  }],
4909
- 42: [function (require, module, exports) {
5414
+ 43: [function (require, module, exports) {
4910
5415
  (function (process) {
4911
5416
  (function () {
4912
5417
  var fetch = require("node-fetch");
@@ -4962,13 +5467,13 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4962
5467
  }, {
4963
5468
  key: "auth",
4964
5469
  value: function auth(token, opt) {
4965
- var _this48 = this;
5470
+ var _this50 = this;
4966
5471
 
4967
5472
  var copt = opt || {
4968
5473
  validate: false
4969
5474
  };
4970
5475
  return new Promise(function (resolve, reject) {
4971
- var server = _this48.originLocation.api_write;
5476
+ var server = _this50.originLocation.api_write;
4972
5477
 
4973
5478
  if (!server) {
4974
5479
  reject(new Error("Plattar.auth(token) - cannot authenticate as server not set via Plattar.origin(server)"));
@@ -4981,10 +5486,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4981
5486
  }
4982
5487
 
4983
5488
  if (!copt.validate) {
4984
- _this48._authToken = {
5489
+ _this50._authToken = {
4985
5490
  "plattar-auth-token": token
4986
5491
  };
4987
- resolve(_this48);
5492
+ resolve(_this50);
4988
5493
  return;
4989
5494
  }
4990
5495
 
@@ -4997,10 +5502,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4997
5502
  };
4998
5503
  fetch(endpoint, options).then(function (res) {
4999
5504
  if (res.ok) {
5000
- _this48._authToken = {
5505
+ _this50._authToken = {
5001
5506
  "plattar-auth-token": token
5002
5507
  };
5003
- resolve(_this48);
5508
+ resolve(_this50);
5004
5509
  } else {
5005
5510
  reject(new Error("Plattar.auth(token) - failed to validate authentication token at " + endpoint));
5006
5511
  }
@@ -5010,7 +5515,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5010
5515
  }, {
5011
5516
  key: "origin",
5012
5517
  value: function origin(server, opt) {
5013
- var _this49 = this;
5518
+ var _this51 = this;
5014
5519
 
5015
5520
  var copt = opt || {
5016
5521
  validate: false
@@ -5022,8 +5527,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5022
5527
  }
5023
5528
 
5024
5529
  if (!copt.validate) {
5025
- _this49._serverLocation = server;
5026
- resolve(_this49);
5530
+ _this51._serverLocation = server;
5531
+ resolve(_this51);
5027
5532
  return;
5028
5533
  }
5029
5534
 
@@ -5033,8 +5538,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5033
5538
  };
5034
5539
  fetch(endpoint, options).then(function (res) {
5035
5540
  if (res.ok) {
5036
- _this49._serverLocation = server;
5037
- resolve(_this49);
5541
+ _this51._serverLocation = server;
5542
+ resolve(_this51);
5038
5543
  } else {
5039
5544
  reject(new Error("Plattar.origin(server) - failed to ping server at " + endpoint));
5040
5545
  }
@@ -5128,10 +5633,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5128
5633
  }).call(this);
5129
5634
  }).call(this, require('_process'));
5130
5635
  }, {
5131
- "_process": 130,
5132
- "node-fetch": 128
5636
+ "_process": 131,
5637
+ "node-fetch": 129
5133
5638
  }],
5134
- 43: [function (require, module, exports) {
5639
+ 44: [function (require, module, exports) {
5135
5640
  var PlattarBase = require("./interfaces/plattar-base.js");
5136
5641
 
5137
5642
  var Application = /*#__PURE__*/function (_PlattarBase) {
@@ -5157,9 +5662,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5157
5662
 
5158
5663
  module.exports = Application;
5159
5664
  }, {
5160
- "./interfaces/plattar-base.js": 59
5665
+ "./interfaces/plattar-base.js": 60
5161
5666
  }],
5162
- 44: [function (require, module, exports) {
5667
+ 45: [function (require, module, exports) {
5163
5668
  var PlattarBase = require("../interfaces/plattar-base");
5164
5669
 
5165
5670
  var Brief = /*#__PURE__*/function (_PlattarBase2) {
@@ -5185,9 +5690,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5185
5690
 
5186
5691
  module.exports = Brief;
5187
5692
  }, {
5188
- "../interfaces/plattar-base": 59
5693
+ "../interfaces/plattar-base": 60
5189
5694
  }],
5190
- 45: [function (require, module, exports) {
5695
+ 46: [function (require, module, exports) {
5191
5696
  var PlattarBase = require("../interfaces/plattar-base");
5192
5697
 
5193
5698
  var CommentBrief = /*#__PURE__*/function (_PlattarBase3) {
@@ -5213,9 +5718,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5213
5718
 
5214
5719
  module.exports = CommentBrief;
5215
5720
  }, {
5216
- "../interfaces/plattar-base": 59
5721
+ "../interfaces/plattar-base": 60
5217
5722
  }],
5218
- 46: [function (require, module, exports) {
5723
+ 47: [function (require, module, exports) {
5219
5724
  var PlattarBase = require("../interfaces/plattar-base");
5220
5725
 
5221
5726
  var CommentQuote = /*#__PURE__*/function (_PlattarBase4) {
@@ -5241,9 +5746,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5241
5746
 
5242
5747
  module.exports = CommentQuote;
5243
5748
  }, {
5244
- "../interfaces/plattar-base": 59
5749
+ "../interfaces/plattar-base": 60
5245
5750
  }],
5246
- 47: [function (require, module, exports) {
5751
+ 48: [function (require, module, exports) {
5247
5752
  var PlattarBase = require("../interfaces/plattar-base");
5248
5753
 
5249
5754
  var CommentSolution = /*#__PURE__*/function (_PlattarBase5) {
@@ -5269,9 +5774,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5269
5774
 
5270
5775
  module.exports = CommentSolution;
5271
5776
  }, {
5272
- "../interfaces/plattar-base": 59
5777
+ "../interfaces/plattar-base": 60
5273
5778
  }],
5274
- 48: [function (require, module, exports) {
5779
+ 49: [function (require, module, exports) {
5275
5780
  var PlattarBase = require("../interfaces/plattar-base");
5276
5781
 
5277
5782
  var Folder = /*#__PURE__*/function (_PlattarBase6) {
@@ -5297,9 +5802,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5297
5802
 
5298
5803
  module.exports = Folder;
5299
5804
  }, {
5300
- "../interfaces/plattar-base": 59
5805
+ "../interfaces/plattar-base": 60
5301
5806
  }],
5302
- 49: [function (require, module, exports) {
5807
+ 50: [function (require, module, exports) {
5303
5808
  var PlattarBase = require("../interfaces/plattar-base");
5304
5809
 
5305
5810
  var PipelineUser = /*#__PURE__*/function (_PlattarBase7) {
@@ -5325,9 +5830,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5325
5830
 
5326
5831
  module.exports = PipelineUser;
5327
5832
  }, {
5328
- "../interfaces/plattar-base": 59
5833
+ "../interfaces/plattar-base": 60
5329
5834
  }],
5330
- 50: [function (require, module, exports) {
5835
+ 51: [function (require, module, exports) {
5331
5836
  var PlattarBase = require("../interfaces/plattar-base");
5332
5837
 
5333
5838
  var Quote = /*#__PURE__*/function (_PlattarBase8) {
@@ -5353,9 +5858,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5353
5858
 
5354
5859
  module.exports = Quote;
5355
5860
  }, {
5356
- "../interfaces/plattar-base": 59
5861
+ "../interfaces/plattar-base": 60
5357
5862
  }],
5358
- 51: [function (require, module, exports) {
5863
+ 52: [function (require, module, exports) {
5359
5864
  var PlattarBase = require("../interfaces/plattar-base");
5360
5865
 
5361
5866
  var Rating = /*#__PURE__*/function (_PlattarBase9) {
@@ -5381,9 +5886,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5381
5886
 
5382
5887
  module.exports = Rating;
5383
5888
  }, {
5384
- "../interfaces/plattar-base": 59
5889
+ "../interfaces/plattar-base": 60
5385
5890
  }],
5386
- 52: [function (require, module, exports) {
5891
+ 53: [function (require, module, exports) {
5387
5892
  var PlattarBase = require("../interfaces/plattar-base");
5388
5893
 
5389
5894
  var Solution = /*#__PURE__*/function (_PlattarBase10) {
@@ -5409,9 +5914,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5409
5914
 
5410
5915
  module.exports = Solution;
5411
5916
  }, {
5412
- "../interfaces/plattar-base": 59
5917
+ "../interfaces/plattar-base": 60
5413
5918
  }],
5414
- 53: [function (require, module, exports) {
5919
+ 54: [function (require, module, exports) {
5415
5920
  var FileBase = require("./file-base.js");
5416
5921
 
5417
5922
  var FileAudio = /*#__PURE__*/function (_FileBase) {
@@ -5437,9 +5942,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5437
5942
 
5438
5943
  module.exports = FileAudio;
5439
5944
  }, {
5440
- "./file-base.js": 54
5945
+ "./file-base.js": 55
5441
5946
  }],
5442
- 54: [function (require, module, exports) {
5947
+ 55: [function (require, module, exports) {
5443
5948
  var PlattarBase = require("../interfaces/plattar-base.js");
5444
5949
 
5445
5950
  var Server = require("../../server/plattar-server.js");
@@ -5450,17 +5955,17 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5450
5955
  var _super24 = _createSuper(FileBase);
5451
5956
 
5452
5957
  function FileBase(id, server) {
5453
- var _this50;
5958
+ var _this52;
5454
5959
 
5455
5960
  _classCallCheck(this, FileBase);
5456
5961
 
5457
- _this50 = _super24.call(this, id, server || Server["default"]());
5962
+ _this52 = _super24.call(this, id, server || Server["default"]());
5458
5963
 
5459
- if (_this50.constructor === FileBase) {
5964
+ if (_this52.constructor === FileBase) {
5460
5965
  throw new Error("FileBase is abstract and cannot be created");
5461
5966
  }
5462
5967
 
5463
- return _this50;
5968
+ return _this52;
5464
5969
  }
5465
5970
 
5466
5971
  _createClass(FileBase, [{
@@ -5525,14 +6030,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5525
6030
 
5526
6031
  module.exports = FileBase;
5527
6032
  }, {
5528
- "../../server/plattar-server.js": 42,
5529
- "../interfaces/plattar-base.js": 59,
5530
- "./file-audio.js": 53,
5531
- "./file-image.js": 55,
5532
- "./file-model.js": 56,
5533
- "./file-video.js": 58
6033
+ "../../server/plattar-server.js": 43,
6034
+ "../interfaces/plattar-base.js": 60,
6035
+ "./file-audio.js": 54,
6036
+ "./file-image.js": 56,
6037
+ "./file-model.js": 57,
6038
+ "./file-video.js": 59
5534
6039
  }],
5535
- 55: [function (require, module, exports) {
6040
+ 56: [function (require, module, exports) {
5536
6041
  var FileBase = require("./file-base.js");
5537
6042
 
5538
6043
  var FileImage = /*#__PURE__*/function (_FileBase2) {
@@ -5558,9 +6063,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5558
6063
 
5559
6064
  module.exports = FileImage;
5560
6065
  }, {
5561
- "./file-base.js": 54
6066
+ "./file-base.js": 55
5562
6067
  }],
5563
- 56: [function (require, module, exports) {
6068
+ 57: [function (require, module, exports) {
5564
6069
  var FileBase = require("./file-base.js");
5565
6070
 
5566
6071
  var FileModel = /*#__PURE__*/function (_FileBase3) {
@@ -5586,9 +6091,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5586
6091
 
5587
6092
  module.exports = FileModel;
5588
6093
  }, {
5589
- "./file-base.js": 54
6094
+ "./file-base.js": 55
5590
6095
  }],
5591
- 57: [function (require, module, exports) {
6096
+ 58: [function (require, module, exports) {
5592
6097
  var FileBase = require("./file-base.js");
5593
6098
 
5594
6099
  var FileScript = /*#__PURE__*/function (_FileBase4) {
@@ -5614,9 +6119,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5614
6119
 
5615
6120
  module.exports = FileScript;
5616
6121
  }, {
5617
- "./file-base.js": 54
6122
+ "./file-base.js": 55
5618
6123
  }],
5619
- 58: [function (require, module, exports) {
6124
+ 59: [function (require, module, exports) {
5620
6125
  var FileBase = require("./file-base.js");
5621
6126
 
5622
6127
  var FileVideo = /*#__PURE__*/function (_FileBase5) {
@@ -5642,9 +6147,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5642
6147
 
5643
6148
  module.exports = FileVideo;
5644
6149
  }, {
5645
- "./file-base.js": 54
6150
+ "./file-base.js": 55
5646
6151
  }],
5647
- 59: [function (require, module, exports) {
6152
+ 60: [function (require, module, exports) {
5648
6153
  var PlattarObject = require("./plattar-object.js");
5649
6154
 
5650
6155
  var Server = require("../../server/plattar-server.js");
@@ -5655,17 +6160,17 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5655
6160
  var _super29 = _createSuper(PlattarBase);
5656
6161
 
5657
6162
  function PlattarBase(id, server) {
5658
- var _this51;
6163
+ var _this53;
5659
6164
 
5660
6165
  _classCallCheck(this, PlattarBase);
5661
6166
 
5662
- _this51 = _super29.call(this, id, server || Server["default"]());
6167
+ _this53 = _super29.call(this, id, server || Server["default"]());
5663
6168
 
5664
- if (_this51.constructor === PlattarBase) {
6169
+ if (_this53.constructor === PlattarBase) {
5665
6170
  throw new Error("PlattarBase is abstract and cannot be created");
5666
6171
  }
5667
6172
 
5668
- return _this51;
6173
+ return _this53;
5669
6174
  }
5670
6175
 
5671
6176
  return _createClass(PlattarBase);
@@ -5673,10 +6178,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5673
6178
 
5674
6179
  module.exports = PlattarBase;
5675
6180
  }, {
5676
- "../../server/plattar-server.js": 42,
5677
- "./plattar-object.js": 61
6181
+ "../../server/plattar-server.js": 43,
6182
+ "./plattar-object.js": 62
5678
6183
  }],
5679
- 60: [function (require, module, exports) {
6184
+ 61: [function (require, module, exports) {
5680
6185
  /**
5681
6186
  * Handles the list of relationships for the provided object
5682
6187
  */
@@ -5737,7 +6242,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5737
6242
  }, {
5738
6243
  key: "filter",
5739
6244
  value: function filter(obj, id) {
5740
- var _this52 = this;
6245
+ var _this54 = this;
5741
6246
 
5742
6247
  if (!obj) {
5743
6248
  return [];
@@ -5755,7 +6260,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5755
6260
  if (Array.isArray(type)) {
5756
6261
  var compiledList = [];
5757
6262
  type.forEach(function (inObject) {
5758
- var retArray = _this52.filter(inObject, id);
6263
+ var retArray = _this54.filter(inObject, id);
5759
6264
 
5760
6265
  if (retArray.length > 0) {
5761
6266
  compiledList = compiledList.concat(retArray);
@@ -5812,9 +6317,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5812
6317
 
5813
6318
  module.exports = PlattarObjectRelations;
5814
6319
  }, {
5815
- "../../util/plattar-util.js": 102
6320
+ "../../util/plattar-util.js": 103
5816
6321
  }],
5817
- 61: [function (require, module, exports) {
6322
+ 62: [function (require, module, exports) {
5818
6323
  var PlattarQuery = require("../../server/plattar-query.js");
5819
6324
 
5820
6325
  var PlattarObjectRelations = require("./plattar-object-relations.js");
@@ -5958,7 +6463,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5958
6463
  }, {
5959
6464
  key: "include",
5960
6465
  value: function include() {
5961
- var _this53 = this;
6466
+ var _this55 = this;
5962
6467
 
5963
6468
  for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
5964
6469
  args[_key6] = arguments[_key6];
@@ -5974,15 +6479,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5974
6479
  if (Array.isArray(obj)) {
5975
6480
  obj.forEach(function (strObject) {
5976
6481
  if (typeof strObject === "string" || strObject instanceof String) {
5977
- includes.push("".concat(_this53.type(), ".").concat(strObject));
6482
+ includes.push("".concat(_this55.type(), ".").concat(strObject));
5978
6483
  } else {
5979
- throw new Error("PlattarObject." + _this53.type() + ".include(...args) - argument of Array must only include Strings");
6484
+ throw new Error("PlattarObject." + _this55.type() + ".include(...args) - argument of Array must only include Strings");
5980
6485
  }
5981
6486
  });
5982
6487
  } else if (obj.prototype instanceof PlattarObject) {
5983
- includes.push("".concat(_this53.type(), ".").concat(obj.type()));
6488
+ includes.push("".concat(_this55.type(), ".").concat(obj.type()));
5984
6489
  } else {
5985
- throw new Error("PlattarObject." + _this53.type() + ".include(...args) - argument must be of type PlattarObject or Array but was type=" + _typeof(obj) + " value=" + obj);
6490
+ throw new Error("PlattarObject." + _this55.type() + ".include(...args) - argument must be of type PlattarObject or Array but was type=" + _typeof(obj) + " value=" + obj);
5986
6491
  }
5987
6492
  });
5988
6493
  return includes;
@@ -5994,10 +6499,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
5994
6499
 
5995
6500
  module.exports = PlattarObject;
5996
6501
  }, {
5997
- "../../server/plattar-query.js": 41,
5998
- "./plattar-object-relations.js": 60
6502
+ "../../server/plattar-query.js": 42,
6503
+ "./plattar-object-relations.js": 61
5999
6504
  }],
6000
- 62: [function (require, module, exports) {
6505
+ 63: [function (require, module, exports) {
6001
6506
  var PlattarBase = require("../interfaces/plattar-base.js");
6002
6507
 
6003
6508
  var ApplicationBuild = /*#__PURE__*/function (_PlattarBase12) {
@@ -6023,9 +6528,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6023
6528
 
6024
6529
  module.exports = ApplicationBuild;
6025
6530
  }, {
6026
- "../interfaces/plattar-base.js": 59
6531
+ "../interfaces/plattar-base.js": 60
6027
6532
  }],
6028
- 63: [function (require, module, exports) {
6533
+ 64: [function (require, module, exports) {
6029
6534
  var PlattarBase = require("../interfaces/plattar-base.js");
6030
6535
 
6031
6536
  var AssetLibrary = /*#__PURE__*/function (_PlattarBase13) {
@@ -6051,9 +6556,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6051
6556
 
6052
6557
  module.exports = AssetLibrary;
6053
6558
  }, {
6054
- "../interfaces/plattar-base.js": 59
6559
+ "../interfaces/plattar-base.js": 60
6055
6560
  }],
6056
- 64: [function (require, module, exports) {
6561
+ 65: [function (require, module, exports) {
6057
6562
  var PlattarBase = require("../interfaces/plattar-base.js");
6058
6563
 
6059
6564
  var AsyncJob = /*#__PURE__*/function (_PlattarBase14) {
@@ -6084,9 +6589,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6084
6589
 
6085
6590
  module.exports = AsyncJob;
6086
6591
  }, {
6087
- "../interfaces/plattar-base.js": 59
6592
+ "../interfaces/plattar-base.js": 60
6088
6593
  }],
6089
- 65: [function (require, module, exports) {
6594
+ 66: [function (require, module, exports) {
6090
6595
  var PlattarBase = require("../interfaces/plattar-base.js");
6091
6596
 
6092
6597
  var ScriptEvent = /*#__PURE__*/function (_PlattarBase15) {
@@ -6112,9 +6617,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6112
6617
 
6113
6618
  module.exports = ScriptEvent;
6114
6619
  }, {
6115
- "../interfaces/plattar-base.js": 59
6620
+ "../interfaces/plattar-base.js": 60
6116
6621
  }],
6117
- 66: [function (require, module, exports) {
6622
+ 67: [function (require, module, exports) {
6118
6623
  var PlattarBase = require("../interfaces/plattar-base.js");
6119
6624
 
6120
6625
  var Tag = /*#__PURE__*/function (_PlattarBase16) {
@@ -6140,9 +6645,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6140
6645
 
6141
6646
  module.exports = Tag;
6142
6647
  }, {
6143
- "../interfaces/plattar-base.js": 59
6648
+ "../interfaces/plattar-base.js": 60
6144
6649
  }],
6145
- 67: [function (require, module, exports) {
6650
+ 68: [function (require, module, exports) {
6146
6651
  var PlattarBase = require("../interfaces/plattar-base.js");
6147
6652
 
6148
6653
  var Server = require("../../server/plattar-server.js");
@@ -6153,17 +6658,17 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6153
6658
  var _super35 = _createSuper(CardBase);
6154
6659
 
6155
6660
  function CardBase(id, server) {
6156
- var _this54;
6661
+ var _this56;
6157
6662
 
6158
6663
  _classCallCheck(this, CardBase);
6159
6664
 
6160
- _this54 = _super35.call(this, id, server || Server["default"]());
6665
+ _this56 = _super35.call(this, id, server || Server["default"]());
6161
6666
 
6162
- if (_this54.constructor === CardBase) {
6667
+ if (_this56.constructor === CardBase) {
6163
6668
  throw new Error("CardBase is abstract and cannot be created");
6164
6669
  }
6165
6670
 
6166
- return _this54;
6671
+ return _this56;
6167
6672
  }
6168
6673
 
6169
6674
  _createClass(CardBase, null, [{
@@ -6200,21 +6705,21 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6200
6705
 
6201
6706
  module.exports = CardBase;
6202
6707
  }, {
6203
- "../../server/plattar-server.js": 42,
6204
- "../interfaces/plattar-base.js": 59,
6205
- "./card-button.js": 68,
6206
- "./card-html.js": 69,
6207
- "./card-iframe.js": 70,
6208
- "./card-image.js": 71,
6209
- "./card-map.js": 72,
6210
- "./card-paragraph.js": 73,
6211
- "./card-row.js": 74,
6212
- "./card-slider.js": 75,
6213
- "./card-title.js": 76,
6214
- "./card-video.js": 77,
6215
- "./card-youtube.js": 78
6708
+ "../../server/plattar-server.js": 43,
6709
+ "../interfaces/plattar-base.js": 60,
6710
+ "./card-button.js": 69,
6711
+ "./card-html.js": 70,
6712
+ "./card-iframe.js": 71,
6713
+ "./card-image.js": 72,
6714
+ "./card-map.js": 73,
6715
+ "./card-paragraph.js": 74,
6716
+ "./card-row.js": 75,
6717
+ "./card-slider.js": 76,
6718
+ "./card-title.js": 77,
6719
+ "./card-video.js": 78,
6720
+ "./card-youtube.js": 79
6216
6721
  }],
6217
- 68: [function (require, module, exports) {
6722
+ 69: [function (require, module, exports) {
6218
6723
  var CardBase = require("./card-base.js");
6219
6724
 
6220
6725
  var CardButton = /*#__PURE__*/function (_CardBase) {
@@ -6240,9 +6745,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6240
6745
 
6241
6746
  module.exports = CardButton;
6242
6747
  }, {
6243
- "./card-base.js": 67
6748
+ "./card-base.js": 68
6244
6749
  }],
6245
- 69: [function (require, module, exports) {
6750
+ 70: [function (require, module, exports) {
6246
6751
  var CardBase = require("./card-base.js");
6247
6752
 
6248
6753
  var CardHTML = /*#__PURE__*/function (_CardBase2) {
@@ -6268,9 +6773,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6268
6773
 
6269
6774
  module.exports = CardHTML;
6270
6775
  }, {
6271
- "./card-base.js": 67
6776
+ "./card-base.js": 68
6272
6777
  }],
6273
- 70: [function (require, module, exports) {
6778
+ 71: [function (require, module, exports) {
6274
6779
  var CardBase = require("./card-base.js");
6275
6780
 
6276
6781
  var CardIFrame = /*#__PURE__*/function (_CardBase3) {
@@ -6296,9 +6801,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6296
6801
 
6297
6802
  module.exports = CardIFrame;
6298
6803
  }, {
6299
- "./card-base.js": 67
6804
+ "./card-base.js": 68
6300
6805
  }],
6301
- 71: [function (require, module, exports) {
6806
+ 72: [function (require, module, exports) {
6302
6807
  var CardBase = require("./card-base.js");
6303
6808
 
6304
6809
  var CardImage = /*#__PURE__*/function (_CardBase4) {
@@ -6324,9 +6829,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6324
6829
 
6325
6830
  module.exports = CardImage;
6326
6831
  }, {
6327
- "./card-base.js": 67
6832
+ "./card-base.js": 68
6328
6833
  }],
6329
- 72: [function (require, module, exports) {
6834
+ 73: [function (require, module, exports) {
6330
6835
  var CardBase = require("./card-base.js");
6331
6836
 
6332
6837
  var CardMap = /*#__PURE__*/function (_CardBase5) {
@@ -6352,9 +6857,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6352
6857
 
6353
6858
  module.exports = CardMap;
6354
6859
  }, {
6355
- "./card-base.js": 67
6860
+ "./card-base.js": 68
6356
6861
  }],
6357
- 73: [function (require, module, exports) {
6862
+ 74: [function (require, module, exports) {
6358
6863
  var CardBase = require("./card-base.js");
6359
6864
 
6360
6865
  var CardParagraph = /*#__PURE__*/function (_CardBase6) {
@@ -6380,9 +6885,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6380
6885
 
6381
6886
  module.exports = CardParagraph;
6382
6887
  }, {
6383
- "./card-base.js": 67
6888
+ "./card-base.js": 68
6384
6889
  }],
6385
- 74: [function (require, module, exports) {
6890
+ 75: [function (require, module, exports) {
6386
6891
  var CardBase = require("./card-base.js");
6387
6892
 
6388
6893
  var CardRow = /*#__PURE__*/function (_CardBase7) {
@@ -6408,9 +6913,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6408
6913
 
6409
6914
  module.exports = CardRow;
6410
6915
  }, {
6411
- "./card-base.js": 67
6916
+ "./card-base.js": 68
6412
6917
  }],
6413
- 75: [function (require, module, exports) {
6918
+ 76: [function (require, module, exports) {
6414
6919
  var CardBase = require("./card-base.js");
6415
6920
 
6416
6921
  var CardSlider = /*#__PURE__*/function (_CardBase8) {
@@ -6436,9 +6941,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6436
6941
 
6437
6942
  module.exports = CardSlider;
6438
6943
  }, {
6439
- "./card-base.js": 67
6944
+ "./card-base.js": 68
6440
6945
  }],
6441
- 76: [function (require, module, exports) {
6946
+ 77: [function (require, module, exports) {
6442
6947
  var CardBase = require("./card-base.js");
6443
6948
 
6444
6949
  var CardTitle = /*#__PURE__*/function (_CardBase9) {
@@ -6464,9 +6969,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6464
6969
 
6465
6970
  module.exports = CardTitle;
6466
6971
  }, {
6467
- "./card-base.js": 67
6972
+ "./card-base.js": 68
6468
6973
  }],
6469
- 77: [function (require, module, exports) {
6974
+ 78: [function (require, module, exports) {
6470
6975
  var CardBase = require("./card-base.js");
6471
6976
 
6472
6977
  var CardVideo = /*#__PURE__*/function (_CardBase10) {
@@ -6492,9 +6997,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6492
6997
 
6493
6998
  module.exports = CardVideo;
6494
6999
  }, {
6495
- "./card-base.js": 67
7000
+ "./card-base.js": 68
6496
7001
  }],
6497
- 78: [function (require, module, exports) {
7002
+ 79: [function (require, module, exports) {
6498
7003
  var CardBase = require("./card-base.js");
6499
7004
 
6500
7005
  var CardYoutube = /*#__PURE__*/function (_CardBase11) {
@@ -6520,9 +7025,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6520
7025
 
6521
7026
  module.exports = CardYoutube;
6522
7027
  }, {
6523
- "./card-base.js": 67
7028
+ "./card-base.js": 68
6524
7029
  }],
6525
- 79: [function (require, module, exports) {
7030
+ 80: [function (require, module, exports) {
6526
7031
  var PlattarBase = require("../interfaces/plattar-base.js");
6527
7032
 
6528
7033
  var Page = /*#__PURE__*/function (_PlattarBase18) {
@@ -6548,9 +7053,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6548
7053
 
6549
7054
  module.exports = Page;
6550
7055
  }, {
6551
- "../interfaces/plattar-base.js": 59
7056
+ "../interfaces/plattar-base.js": 60
6552
7057
  }],
6553
- 80: [function (require, module, exports) {
7058
+ 81: [function (require, module, exports) {
6554
7059
  var ProductBase = require("./product-base.js");
6555
7060
 
6556
7061
  var ProductAnnotation = /*#__PURE__*/function (_ProductBase) {
@@ -6576,9 +7081,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6576
7081
 
6577
7082
  module.exports = ProductAnnotation;
6578
7083
  }, {
6579
- "./product-base.js": 81
7084
+ "./product-base.js": 82
6580
7085
  }],
6581
- 81: [function (require, module, exports) {
7086
+ 82: [function (require, module, exports) {
6582
7087
  var PlattarBase = require("../interfaces/plattar-base.js");
6583
7088
 
6584
7089
  var Server = require("../../server/plattar-server.js");
@@ -6589,17 +7094,17 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6589
7094
  var _super49 = _createSuper(ProductBase);
6590
7095
 
6591
7096
  function ProductBase(id, server) {
6592
- var _this55;
7097
+ var _this57;
6593
7098
 
6594
7099
  _classCallCheck(this, ProductBase);
6595
7100
 
6596
- _this55 = _super49.call(this, id, server || Server["default"]());
7101
+ _this57 = _super49.call(this, id, server || Server["default"]());
6597
7102
 
6598
- if (_this55.constructor === ProductBase) {
7103
+ if (_this57.constructor === ProductBase) {
6599
7104
  throw new Error("ProductBase is abstract and cannot be created");
6600
7105
  }
6601
7106
 
6602
- return _this55;
7107
+ return _this57;
6603
7108
  }
6604
7109
 
6605
7110
  _createClass(ProductBase, null, [{
@@ -6618,12 +7123,12 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6618
7123
 
6619
7124
  module.exports = ProductBase;
6620
7125
  }, {
6621
- "../../server/plattar-server.js": 42,
6622
- "../interfaces/plattar-base.js": 59,
6623
- "./product-annotation.js": 80,
6624
- "./product-variation.js": 82
7126
+ "../../server/plattar-server.js": 43,
7127
+ "../interfaces/plattar-base.js": 60,
7128
+ "./product-annotation.js": 81,
7129
+ "./product-variation.js": 83
6625
7130
  }],
6626
- 82: [function (require, module, exports) {
7131
+ 83: [function (require, module, exports) {
6627
7132
  var ProductBase = require("./product-base.js");
6628
7133
 
6629
7134
  var ProductVariation = /*#__PURE__*/function (_ProductBase2) {
@@ -6649,9 +7154,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6649
7154
 
6650
7155
  module.exports = ProductVariation;
6651
7156
  }, {
6652
- "./product-base.js": 81
7157
+ "./product-base.js": 82
6653
7158
  }],
6654
- 83: [function (require, module, exports) {
7159
+ 84: [function (require, module, exports) {
6655
7160
  var PlattarBase = require("../interfaces/plattar-base.js");
6656
7161
 
6657
7162
  var Product = /*#__PURE__*/function (_PlattarBase20) {
@@ -6677,9 +7182,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6677
7182
 
6678
7183
  module.exports = Product;
6679
7184
  }, {
6680
- "../interfaces/plattar-base.js": 59
7185
+ "../interfaces/plattar-base.js": 60
6681
7186
  }],
6682
- 84: [function (require, module, exports) {
7187
+ 85: [function (require, module, exports) {
6683
7188
  var SceneBase = require("./scene-base.js");
6684
7189
 
6685
7190
  var SceneAnnotation = /*#__PURE__*/function (_SceneBase) {
@@ -6705,9 +7210,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6705
7210
 
6706
7211
  module.exports = SceneAnnotation;
6707
7212
  }, {
6708
- "./scene-base.js": 86
7213
+ "./scene-base.js": 87
6709
7214
  }],
6710
- 85: [function (require, module, exports) {
7215
+ 86: [function (require, module, exports) {
6711
7216
  var SceneBase = require("./scene-base.js");
6712
7217
 
6713
7218
  var SceneAudio = /*#__PURE__*/function (_SceneBase2) {
@@ -6733,9 +7238,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6733
7238
 
6734
7239
  module.exports = SceneAudio;
6735
7240
  }, {
6736
- "./scene-base.js": 86
7241
+ "./scene-base.js": 87
6737
7242
  }],
6738
- 86: [function (require, module, exports) {
7243
+ 87: [function (require, module, exports) {
6739
7244
  var PlattarBase = require("../interfaces/plattar-base.js");
6740
7245
 
6741
7246
  var Server = require("../../server/plattar-server.js");
@@ -6746,17 +7251,17 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6746
7251
  var _super54 = _createSuper(SceneBase);
6747
7252
 
6748
7253
  function SceneBase(id, server) {
6749
- var _this56;
7254
+ var _this58;
6750
7255
 
6751
7256
  _classCallCheck(this, SceneBase);
6752
7257
 
6753
- _this56 = _super54.call(this, id, server || Server["default"]());
7258
+ _this58 = _super54.call(this, id, server || Server["default"]());
6754
7259
 
6755
- if (_this56.constructor === SceneBase) {
7260
+ if (_this58.constructor === SceneBase) {
6756
7261
  throw new Error("SceneBase is abstract and cannot be created");
6757
7262
  }
6758
7263
 
6759
- return _this56;
7264
+ return _this58;
6760
7265
  }
6761
7266
 
6762
7267
  _createClass(SceneBase, null, [{
@@ -6799,24 +7304,24 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6799
7304
 
6800
7305
  module.exports = SceneBase;
6801
7306
  }, {
6802
- "../../server/plattar-server.js": 42,
6803
- "../interfaces/plattar-base.js": 59,
6804
- "./scene-annotation.js": 84,
6805
- "./scene-audio.js": 85,
6806
- "./scene-button.js": 87,
6807
- "./scene-camera.js": 88,
6808
- "./scene-carousel.js": 89,
6809
- "./scene-image.js": 90,
6810
- "./scene-model.js": 91,
6811
- "./scene-panorama.js": 92,
6812
- "./scene-poller.js": 93,
6813
- "./scene-product.js": 94,
6814
- "./scene-shadow.js": 96,
6815
- "./scene-video.js": 97,
6816
- "./scene-volumetric.js": 98,
6817
- "./scene-youtube.js": 99
7307
+ "../../server/plattar-server.js": 43,
7308
+ "../interfaces/plattar-base.js": 60,
7309
+ "./scene-annotation.js": 85,
7310
+ "./scene-audio.js": 86,
7311
+ "./scene-button.js": 88,
7312
+ "./scene-camera.js": 89,
7313
+ "./scene-carousel.js": 90,
7314
+ "./scene-image.js": 91,
7315
+ "./scene-model.js": 92,
7316
+ "./scene-panorama.js": 93,
7317
+ "./scene-poller.js": 94,
7318
+ "./scene-product.js": 95,
7319
+ "./scene-shadow.js": 97,
7320
+ "./scene-video.js": 98,
7321
+ "./scene-volumetric.js": 99,
7322
+ "./scene-youtube.js": 100
6818
7323
  }],
6819
- 87: [function (require, module, exports) {
7324
+ 88: [function (require, module, exports) {
6820
7325
  var SceneBase = require("./scene-base.js");
6821
7326
 
6822
7327
  var SceneButton = /*#__PURE__*/function (_SceneBase3) {
@@ -6842,9 +7347,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6842
7347
 
6843
7348
  module.exports = SceneButton;
6844
7349
  }, {
6845
- "./scene-base.js": 86
7350
+ "./scene-base.js": 87
6846
7351
  }],
6847
- 88: [function (require, module, exports) {
7352
+ 89: [function (require, module, exports) {
6848
7353
  var SceneBase = require("./scene-base.js");
6849
7354
 
6850
7355
  var SceneCamera = /*#__PURE__*/function (_SceneBase4) {
@@ -6870,9 +7375,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6870
7375
 
6871
7376
  module.exports = SceneCamera;
6872
7377
  }, {
6873
- "./scene-base.js": 86
7378
+ "./scene-base.js": 87
6874
7379
  }],
6875
- 89: [function (require, module, exports) {
7380
+ 90: [function (require, module, exports) {
6876
7381
  var SceneBase = require("./scene-base.js");
6877
7382
 
6878
7383
  var SceneCarousel = /*#__PURE__*/function (_SceneBase5) {
@@ -6898,9 +7403,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6898
7403
 
6899
7404
  module.exports = SceneCarousel;
6900
7405
  }, {
6901
- "./scene-base.js": 86
7406
+ "./scene-base.js": 87
6902
7407
  }],
6903
- 90: [function (require, module, exports) {
7408
+ 91: [function (require, module, exports) {
6904
7409
  var SceneBase = require("./scene-base.js");
6905
7410
 
6906
7411
  var SceneImage = /*#__PURE__*/function (_SceneBase6) {
@@ -6926,9 +7431,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6926
7431
 
6927
7432
  module.exports = SceneImage;
6928
7433
  }, {
6929
- "./scene-base.js": 86
7434
+ "./scene-base.js": 87
6930
7435
  }],
6931
- 91: [function (require, module, exports) {
7436
+ 92: [function (require, module, exports) {
6932
7437
  var SceneBase = require("./scene-base.js");
6933
7438
 
6934
7439
  var SceneModel = /*#__PURE__*/function (_SceneBase7) {
@@ -6954,9 +7459,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6954
7459
 
6955
7460
  module.exports = SceneModel;
6956
7461
  }, {
6957
- "./scene-base.js": 86
7462
+ "./scene-base.js": 87
6958
7463
  }],
6959
- 92: [function (require, module, exports) {
7464
+ 93: [function (require, module, exports) {
6960
7465
  var SceneBase = require("./scene-base.js");
6961
7466
 
6962
7467
  var ScenePanorama = /*#__PURE__*/function (_SceneBase8) {
@@ -6982,9 +7487,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
6982
7487
 
6983
7488
  module.exports = ScenePanorama;
6984
7489
  }, {
6985
- "./scene-base.js": 86
7490
+ "./scene-base.js": 87
6986
7491
  }],
6987
- 93: [function (require, module, exports) {
7492
+ 94: [function (require, module, exports) {
6988
7493
  var SceneBase = require("./scene-base.js");
6989
7494
 
6990
7495
  var ScenePoller = /*#__PURE__*/function (_SceneBase9) {
@@ -7010,9 +7515,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7010
7515
 
7011
7516
  module.exports = ScenePoller;
7012
7517
  }, {
7013
- "./scene-base.js": 86
7518
+ "./scene-base.js": 87
7014
7519
  }],
7015
- 94: [function (require, module, exports) {
7520
+ 95: [function (require, module, exports) {
7016
7521
  var SceneBase = require("./scene-base.js");
7017
7522
 
7018
7523
  var SceneProduct = /*#__PURE__*/function (_SceneBase10) {
@@ -7038,9 +7543,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7038
7543
 
7039
7544
  module.exports = SceneProduct;
7040
7545
  }, {
7041
- "./scene-base.js": 86
7546
+ "./scene-base.js": 87
7042
7547
  }],
7043
- 95: [function (require, module, exports) {
7548
+ 96: [function (require, module, exports) {
7044
7549
  var SceneBase = require("./scene-base.js");
7045
7550
 
7046
7551
  var SceneScript = /*#__PURE__*/function (_SceneBase11) {
@@ -7066,9 +7571,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7066
7571
 
7067
7572
  module.exports = SceneScript;
7068
7573
  }, {
7069
- "./scene-base.js": 86
7574
+ "./scene-base.js": 87
7070
7575
  }],
7071
- 96: [function (require, module, exports) {
7576
+ 97: [function (require, module, exports) {
7072
7577
  var SceneBase = require("./scene-base.js");
7073
7578
 
7074
7579
  var SceneShadow = /*#__PURE__*/function (_SceneBase12) {
@@ -7094,9 +7599,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7094
7599
 
7095
7600
  module.exports = SceneShadow;
7096
7601
  }, {
7097
- "./scene-base.js": 86
7602
+ "./scene-base.js": 87
7098
7603
  }],
7099
- 97: [function (require, module, exports) {
7604
+ 98: [function (require, module, exports) {
7100
7605
  var SceneBase = require("./scene-base.js");
7101
7606
 
7102
7607
  var SceneVideo = /*#__PURE__*/function (_SceneBase13) {
@@ -7122,9 +7627,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7122
7627
 
7123
7628
  module.exports = SceneVideo;
7124
7629
  }, {
7125
- "./scene-base.js": 86
7630
+ "./scene-base.js": 87
7126
7631
  }],
7127
- 98: [function (require, module, exports) {
7632
+ 99: [function (require, module, exports) {
7128
7633
  var SceneBase = require("./scene-base.js");
7129
7634
 
7130
7635
  var SceneVolumetric = /*#__PURE__*/function (_SceneBase14) {
@@ -7150,9 +7655,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7150
7655
 
7151
7656
  module.exports = SceneVolumetric;
7152
7657
  }, {
7153
- "./scene-base.js": 86
7658
+ "./scene-base.js": 87
7154
7659
  }],
7155
- 99: [function (require, module, exports) {
7660
+ 100: [function (require, module, exports) {
7156
7661
  var SceneBase = require("./scene-base.js");
7157
7662
 
7158
7663
  var SceneYoutube = /*#__PURE__*/function (_SceneBase15) {
@@ -7178,9 +7683,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7178
7683
 
7179
7684
  module.exports = SceneYoutube;
7180
7685
  }, {
7181
- "./scene-base.js": 86
7686
+ "./scene-base.js": 87
7182
7687
  }],
7183
- 100: [function (require, module, exports) {
7688
+ 101: [function (require, module, exports) {
7184
7689
  var PlattarBase = require("../interfaces/plattar-base.js");
7185
7690
 
7186
7691
  var Scene = /*#__PURE__*/function (_PlattarBase22) {
@@ -7206,9 +7711,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7206
7711
 
7207
7712
  module.exports = Scene;
7208
7713
  }, {
7209
- "../interfaces/plattar-base.js": 59
7714
+ "../interfaces/plattar-base.js": 60
7210
7715
  }],
7211
- 101: [function (require, module, exports) {
7716
+ 102: [function (require, module, exports) {
7212
7717
  var PlattarBase = require("../interfaces/plattar-base.js");
7213
7718
 
7214
7719
  var TriggerImage = /*#__PURE__*/function (_PlattarBase23) {
@@ -7234,9 +7739,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7234
7739
 
7235
7740
  module.exports = TriggerImage;
7236
7741
  }, {
7237
- "../interfaces/plattar-base.js": 59
7742
+ "../interfaces/plattar-base.js": 60
7238
7743
  }],
7239
- 102: [function (require, module, exports) {
7744
+ 103: [function (require, module, exports) {
7240
7745
  var Application = require("../types/application.js"); // import Scene types and its children
7241
7746
 
7242
7747
 
@@ -7623,64 +8128,64 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7623
8128
 
7624
8129
  module.exports = PlattarUtil;
7625
8130
  }, {
7626
- "../types/application.js": 43,
7627
- "../types/content-pipeline/brief.js": 44,
7628
- "../types/content-pipeline/comment-brief.js": 45,
7629
- "../types/content-pipeline/comment-quote.js": 46,
7630
- "../types/content-pipeline/comment-solution.js": 47,
7631
- "../types/content-pipeline/folder.js": 48,
7632
- "../types/content-pipeline/pipeline-user.js": 49,
7633
- "../types/content-pipeline/quote.js": 50,
7634
- "../types/content-pipeline/rating.js": 51,
7635
- "../types/content-pipeline/solution.js": 52,
7636
- "../types/file/file-audio.js": 53,
7637
- "../types/file/file-image.js": 55,
7638
- "../types/file/file-model.js": 56,
7639
- "../types/file/file-script.js": 57,
7640
- "../types/file/file-video.js": 58,
7641
- "../types/interfaces/plattar-object.js": 61,
7642
- "../types/misc/application-build.js": 62,
7643
- "../types/misc/asset-library": 63,
7644
- "../types/misc/async-job.js": 64,
7645
- "../types/misc/script-event.js": 65,
7646
- "../types/misc/tag.js": 66,
7647
- "../types/page/card-button.js": 68,
7648
- "../types/page/card-html.js": 69,
7649
- "../types/page/card-iframe.js": 70,
7650
- "../types/page/card-image.js": 71,
7651
- "../types/page/card-map.js": 72,
7652
- "../types/page/card-paragraph.js": 73,
7653
- "../types/page/card-row.js": 74,
7654
- "../types/page/card-slider.js": 75,
7655
- "../types/page/card-title.js": 76,
7656
- "../types/page/card-video.js": 77,
7657
- "../types/page/card-youtube.js": 78,
7658
- "../types/page/page.js": 79,
7659
- "../types/product/product-annotation.js": 80,
7660
- "../types/product/product-variation.js": 82,
7661
- "../types/product/product.js": 83,
7662
- "../types/scene/scene-annotation.js": 84,
7663
- "../types/scene/scene-audio.js": 85,
7664
- "../types/scene/scene-button.js": 87,
7665
- "../types/scene/scene-camera.js": 88,
7666
- "../types/scene/scene-carousel.js": 89,
7667
- "../types/scene/scene-image.js": 90,
7668
- "../types/scene/scene-model.js": 91,
7669
- "../types/scene/scene-panorama.js": 92,
7670
- "../types/scene/scene-poller.js": 93,
7671
- "../types/scene/scene-product.js": 94,
7672
- "../types/scene/scene-script.js": 95,
7673
- "../types/scene/scene-shadow.js": 96,
7674
- "../types/scene/scene-video.js": 97,
7675
- "../types/scene/scene-volumetric.js": 98,
7676
- "../types/scene/scene-youtube.js": 99,
7677
- "../types/scene/scene.js": 100,
7678
- "../types/trigger/trigger-image.js": 101
8131
+ "../types/application.js": 44,
8132
+ "../types/content-pipeline/brief.js": 45,
8133
+ "../types/content-pipeline/comment-brief.js": 46,
8134
+ "../types/content-pipeline/comment-quote.js": 47,
8135
+ "../types/content-pipeline/comment-solution.js": 48,
8136
+ "../types/content-pipeline/folder.js": 49,
8137
+ "../types/content-pipeline/pipeline-user.js": 50,
8138
+ "../types/content-pipeline/quote.js": 51,
8139
+ "../types/content-pipeline/rating.js": 52,
8140
+ "../types/content-pipeline/solution.js": 53,
8141
+ "../types/file/file-audio.js": 54,
8142
+ "../types/file/file-image.js": 56,
8143
+ "../types/file/file-model.js": 57,
8144
+ "../types/file/file-script.js": 58,
8145
+ "../types/file/file-video.js": 59,
8146
+ "../types/interfaces/plattar-object.js": 62,
8147
+ "../types/misc/application-build.js": 63,
8148
+ "../types/misc/asset-library": 64,
8149
+ "../types/misc/async-job.js": 65,
8150
+ "../types/misc/script-event.js": 66,
8151
+ "../types/misc/tag.js": 67,
8152
+ "../types/page/card-button.js": 69,
8153
+ "../types/page/card-html.js": 70,
8154
+ "../types/page/card-iframe.js": 71,
8155
+ "../types/page/card-image.js": 72,
8156
+ "../types/page/card-map.js": 73,
8157
+ "../types/page/card-paragraph.js": 74,
8158
+ "../types/page/card-row.js": 75,
8159
+ "../types/page/card-slider.js": 76,
8160
+ "../types/page/card-title.js": 77,
8161
+ "../types/page/card-video.js": 78,
8162
+ "../types/page/card-youtube.js": 79,
8163
+ "../types/page/page.js": 80,
8164
+ "../types/product/product-annotation.js": 81,
8165
+ "../types/product/product-variation.js": 83,
8166
+ "../types/product/product.js": 84,
8167
+ "../types/scene/scene-annotation.js": 85,
8168
+ "../types/scene/scene-audio.js": 86,
8169
+ "../types/scene/scene-button.js": 88,
8170
+ "../types/scene/scene-camera.js": 89,
8171
+ "../types/scene/scene-carousel.js": 90,
8172
+ "../types/scene/scene-image.js": 91,
8173
+ "../types/scene/scene-model.js": 92,
8174
+ "../types/scene/scene-panorama.js": 93,
8175
+ "../types/scene/scene-poller.js": 94,
8176
+ "../types/scene/scene-product.js": 95,
8177
+ "../types/scene/scene-script.js": 96,
8178
+ "../types/scene/scene-shadow.js": 97,
8179
+ "../types/scene/scene-video.js": 98,
8180
+ "../types/scene/scene-volumetric.js": 99,
8181
+ "../types/scene/scene-youtube.js": 100,
8182
+ "../types/scene/scene.js": 101,
8183
+ "../types/trigger/trigger-image.js": 102
7679
8184
  }],
7680
- 103: [function (require, module, exports) {
8185
+ 104: [function (require, module, exports) {
7681
8186
  module.exports = "1.120.1";
7682
8187
  }, {}],
7683
- 104: [function (require, module, exports) {
8188
+ 105: [function (require, module, exports) {
7684
8189
  var QRCodeStyling = require("qr-code-styling");
7685
8190
 
7686
8191
  var BaseElement = /*#__PURE__*/function (_HTMLElement2) {
@@ -7697,7 +8202,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7697
8202
  _createClass(BaseElement, [{
7698
8203
  key: "connectedCallback",
7699
8204
  value: function connectedCallback() {
7700
- var _this57 = this;
8205
+ var _this59 = this;
7701
8206
 
7702
8207
  if (this.hasAttribute("url")) {
7703
8208
  this.renderQRCode();
@@ -7706,8 +8211,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7706
8211
  var observer = new MutationObserver(function (mutations) {
7707
8212
  mutations.forEach(function (mutation) {
7708
8213
  if (mutation.type === "attributes") {
7709
- if (_this57.hasAttribute("url")) {
7710
- _this57.renderQRCode();
8214
+ if (_this59.hasAttribute("url")) {
8215
+ _this59.renderQRCode();
7711
8216
  }
7712
8217
  }
7713
8218
  });
@@ -7731,7 +8236,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7731
8236
  }, {
7732
8237
  key: "renderQRCode",
7733
8238
  value: function renderQRCode() {
7734
- var _this58 = this;
8239
+ var _this60 = this;
7735
8240
 
7736
8241
  var url = this.hasAttribute("url") ? this.getAttribute("url") : undefined;
7737
8242
 
@@ -7841,11 +8346,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7841
8346
 
7842
8347
  if (shortenURL && shortenURL.toLowerCase() === "true") {
7843
8348
  this._ShortenURL(url).then(function (newURL) {
7844
- _this58._GenerateQRCode(newURL, width, height);
8349
+ _this60._GenerateQRCode(newURL, width, height);
7845
8350
  })["catch"](function (_err) {
7846
8351
  console.warn(_err); // ignore error and just generate normal QR Code
7847
8352
 
7848
- _this58._GenerateQRCode(url, width, height);
8353
+ _this60._GenerateQRCode(url, width, height);
7849
8354
  });
7850
8355
  } else {
7851
8356
  this._GenerateQRCode(url, width, height);
@@ -7905,10 +8410,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7905
8410
  }, {
7906
8411
  key: "_ShortenURL",
7907
8412
  value: function _ShortenURL(url) {
7908
- var _this59 = this;
8413
+ var _this61 = this;
7909
8414
 
7910
8415
  return new Promise(function (accept, reject) {
7911
- if (!_this59._IsFetchAPISupported()) {
8416
+ if (!_this61._IsFetchAPISupported()) {
7912
8417
  return reject(new Error("PlattarQR._ShortenURL() - fetch api not supported, cannot proceed"));
7913
8418
  }
7914
8419
 
@@ -7938,9 +8443,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7938
8443
 
7939
8444
  module.exports = BaseElement;
7940
8445
  }, {
7941
- "qr-code-styling": 131
8446
+ "qr-code-styling": 132
7942
8447
  }],
7943
- 105: [function (require, module, exports) {
8448
+ 106: [function (require, module, exports) {
7944
8449
  var BaseElement = require("./base/base-element.js");
7945
8450
 
7946
8451
  var QRCodeElement = /*#__PURE__*/function (_BaseElement) {
@@ -7959,9 +8464,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7959
8464
 
7960
8465
  module.exports = QRCodeElement;
7961
8466
  }, {
7962
- "./base/base-element.js": 104
8467
+ "./base/base-element.js": 105
7963
8468
  }],
7964
- 106: [function (require, module, exports) {
8469
+ 107: [function (require, module, exports) {
7965
8470
  "use strict";
7966
8471
 
7967
8472
  var QRCodeElement = require("./elements/qrcode-element.js");
@@ -7979,13 +8484,13 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
7979
8484
  version: Version
7980
8485
  };
7981
8486
  }, {
7982
- "./elements/qrcode-element.js": 105,
7983
- "./version": 107
8487
+ "./elements/qrcode-element.js": 106,
8488
+ "./version": 108
7984
8489
  }],
7985
- 107: [function (require, module, exports) {
8490
+ 108: [function (require, module, exports) {
7986
8491
  module.exports = "1.122.1";
7987
8492
  }, {}],
7988
- 108: [function (require, module, exports) {
8493
+ 109: [function (require, module, exports) {
7989
8494
  "use strict";
7990
8495
 
7991
8496
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -8136,11 +8641,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8136
8641
  }, {
8137
8642
  key: "get",
8138
8643
  value: function get() {
8139
- var _this60 = this;
8644
+ var _this62 = this;
8140
8645
 
8141
8646
  return new Promise(function (accept, reject) {
8142
- _this60._CalculateHash().then(function () {
8143
- remote_request_1.RemoteRequest.request(_this60._GetPayload(), _this60.retry < 0 ? 0 : _this60.retry).then(accept)["catch"](reject);
8647
+ _this62._CalculateHash().then(function () {
8648
+ remote_request_1.RemoteRequest.request(_this62._GetPayload(), _this62.retry < 0 ? 0 : _this62.retry).then(accept)["catch"](reject);
8144
8649
  })["catch"](function (_err) {
8145
8650
  reject(new Error("Configurator.get() - one of the objects does not exist in Plattar API"));
8146
8651
  });
@@ -8149,14 +8654,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8149
8654
  }, {
8150
8655
  key: "_CalculateHash",
8151
8656
  value: function _CalculateHash() {
8152
- var _this61 = this;
8657
+ var _this63 = this;
8153
8658
 
8154
8659
  return new Promise(function (accept, reject) {
8155
8660
  var promises = [];
8156
8661
  var oldOrigin = plattar_api_1.Server["default"]().originLocation.type;
8157
- plattar_api_1.Server.create(plattar_api_1.Server.match(_this61.server));
8662
+ plattar_api_1.Server.create(plattar_api_1.Server.match(_this63.server));
8158
8663
 
8159
- _this61._maps.forEach(function (map) {
8664
+ _this63._maps.forEach(function (map) {
8160
8665
  if (map.productvariation) {
8161
8666
  promises.push(new plattar_api_1.ProductVariation(map.productvariation).get());
8162
8667
  }
@@ -8176,7 +8681,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8176
8681
 
8177
8682
  Promise.all(promises).then(function (values) {
8178
8683
  values.forEach(function (value) {
8179
- _this61._attrHash.push(value.attributes);
8684
+ _this63._attrHash.push(value.attributes);
8180
8685
  }); // reset server back
8181
8686
 
8182
8687
  plattar_api_1.Server.create(plattar_api_1.Server.match(oldOrigin));
@@ -8219,11 +8724,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8219
8724
 
8220
8725
  exports.Configurator = Configurator;
8221
8726
  }, {
8222
- "./remote-request": 110,
8223
- "@plattar/plattar-api": 40,
8224
- "object-hash": 129
8727
+ "./remote-request": 111,
8728
+ "@plattar/plattar-api": 41,
8729
+ "object-hash": 130
8225
8730
  }],
8226
- 109: [function (require, module, exports) {
8731
+ 110: [function (require, module, exports) {
8227
8732
  "use strict";
8228
8733
 
8229
8734
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -8278,14 +8783,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8278
8783
  }, {
8279
8784
  key: "get",
8280
8785
  value: function get() {
8281
- var _this62 = this;
8786
+ var _this64 = this;
8282
8787
 
8283
8788
  return new Promise(function (accept, reject) {
8284
- if (!_this62._model) {
8789
+ if (!_this64._model) {
8285
8790
  return reject(new Error("ModelConverter.get() - required .model attribute was not set"));
8286
8791
  }
8287
8792
 
8288
- remote_request_1.RemoteRequest.request(_this62._Payload, _this62.retry < 0 ? 0 : _this62.retry).then(accept)["catch"](reject);
8793
+ remote_request_1.RemoteRequest.request(_this64._Payload, _this64.retry < 0 ? 0 : _this64.retry).then(accept)["catch"](reject);
8289
8794
  });
8290
8795
  }
8291
8796
  }, {
@@ -8318,11 +8823,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8318
8823
 
8319
8824
  exports.ModelConverter = ModelConverter;
8320
8825
  }, {
8321
- "./remote-request": 110,
8322
- "@plattar/plattar-api": 40,
8323
- "object-hash": 129
8826
+ "./remote-request": 111,
8827
+ "@plattar/plattar-api": 41,
8828
+ "object-hash": 130
8324
8829
  }],
8325
- 110: [function (require, module, exports) {
8830
+ 111: [function (require, module, exports) {
8326
8831
  "use strict";
8327
8832
 
8328
8833
  var __importDefault = this && this.__importDefault || function (mod) {
@@ -8410,9 +8915,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8410
8915
 
8411
8916
  exports.RemoteRequest = RemoteRequest;
8412
8917
  }, {
8413
- "node-fetch": 128
8918
+ "node-fetch": 129
8414
8919
  }],
8415
- 111: [function (require, module, exports) {
8920
+ 112: [function (require, module, exports) {
8416
8921
  "use strict";
8417
8922
 
8418
8923
  var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
@@ -8483,11 +8988,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8483
8988
 
8484
8989
  console.log("using @plattar/plattar-services v" + version_1["default"]);
8485
8990
  }, {
8486
- "./core/configurator": 108,
8487
- "./core/model-converter": 109,
8488
- "./version": 112
8991
+ "./core/configurator": 109,
8992
+ "./core/model-converter": 110,
8993
+ "./version": 113
8489
8994
  }],
8490
- 112: [function (require, module, exports) {
8995
+ 113: [function (require, module, exports) {
8491
8996
  "use strict";
8492
8997
 
8493
8998
  Object.defineProperty(exports, "__esModule", {
@@ -8495,7 +9000,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8495
9000
  });
8496
9001
  exports["default"] = "1.120.1";
8497
9002
  }, {}],
8498
- 113: [function (require, module, exports) {
9003
+ 114: [function (require, module, exports) {
8499
9004
  var ElementController = require("../controllers/element-controller");
8500
9005
 
8501
9006
  var BaseElement = /*#__PURE__*/function (_HTMLElement3) {
@@ -8606,19 +9111,19 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8606
9111
  }, {
8607
9112
  key: "allMappedAttributes",
8608
9113
  get: function get() {
8609
- var _this63 = this;
9114
+ var _this65 = this;
8610
9115
 
8611
9116
  var map = new Map();
8612
9117
  var coreAttr = this.coreAttributes;
8613
9118
  var optAttr = this.optionalAttributes;
8614
9119
  coreAttr.forEach(function (ele) {
8615
- if (_this63.hasAttribute(ele.key)) {
8616
- map.set(ele.map, _this63.getAttribute(ele.key));
9120
+ if (_this65.hasAttribute(ele.key)) {
9121
+ map.set(ele.map, _this65.getAttribute(ele.key));
8617
9122
  }
8618
9123
  });
8619
9124
  optAttr.forEach(function (ele) {
8620
- if (_this63.hasAttribute(ele.key)) {
8621
- map.set(ele.map, _this63.getAttribute(ele.key));
9125
+ if (_this65.hasAttribute(ele.key)) {
9126
+ map.set(ele.map, _this65.getAttribute(ele.key));
8622
9127
  }
8623
9128
  });
8624
9129
  return map;
@@ -8662,9 +9167,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8662
9167
 
8663
9168
  module.exports = BaseElement;
8664
9169
  }, {
8665
- "../controllers/element-controller": 115
9170
+ "../controllers/element-controller": 116
8666
9171
  }],
8667
- 114: [function (require, module, exports) {
9172
+ 115: [function (require, module, exports) {
8668
9173
  var BaseElement = require("./base/base-element.js");
8669
9174
 
8670
9175
  var ConfiguratorElement = /*#__PURE__*/function (_BaseElement2) {
@@ -8706,9 +9211,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8706
9211
 
8707
9212
  module.exports = ConfiguratorElement;
8708
9213
  }, {
8709
- "./base/base-element.js": 113
9214
+ "./base/base-element.js": 114
8710
9215
  }],
8711
- 115: [function (require, module, exports) {
9216
+ 116: [function (require, module, exports) {
8712
9217
  var Util = require("../../util/util.js");
8713
9218
 
8714
9219
  var _require = require("@plattar/context-messenger"),
@@ -8718,7 +9223,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8718
9223
 
8719
9224
  var ElementController = /*#__PURE__*/function () {
8720
9225
  function ElementController(element) {
8721
- var _this64 = this;
9226
+ var _this66 = this;
8722
9227
 
8723
9228
  _classCallCheck(this, ElementController);
8724
9229
 
@@ -8734,7 +9239,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8734
9239
 
8735
9240
  if (mutation.type === 'attributes' && element.usesCoreAttribute(mutation.attributeName)) {
8736
9241
  if (element.hasAllCoreAttributes) {
8737
- _this64._load();
9242
+ _this66._load();
8738
9243
  }
8739
9244
  }
8740
9245
  }
@@ -8825,16 +9330,16 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8825
9330
 
8826
9331
  module.exports = ElementController;
8827
9332
  }, {
8828
- "../../util/util.js": 126,
8829
- "./iframe-controller.js": 116,
8830
- "@plattar/context-messenger": 19
9333
+ "../../util/util.js": 127,
9334
+ "./iframe-controller.js": 117,
9335
+ "@plattar/context-messenger": 20
8831
9336
  }],
8832
- 116: [function (require, module, exports) {
9337
+ 117: [function (require, module, exports) {
8833
9338
  var Util = require("../../util/util.js");
8834
9339
 
8835
9340
  var IFrameController = /*#__PURE__*/function () {
8836
9341
  function IFrameController(element, src, id) {
8837
- var _this65 = this;
9342
+ var _this67 = this;
8838
9343
 
8839
9344
  var onelemload = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
8840
9345
 
@@ -8846,7 +9351,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8846
9351
  if (!element.hasAttribute("sameorigin")) {
8847
9352
  this._iframe.onload = function () {
8848
9353
  if (onelemload) {
8849
- onelemload(_this65._iframe);
9354
+ onelemload(_this67._iframe);
8850
9355
  }
8851
9356
  };
8852
9357
  }
@@ -8943,9 +9448,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8943
9448
 
8944
9449
  module.exports = IFrameController;
8945
9450
  }, {
8946
- "../../util/util.js": 126
9451
+ "../../util/util.js": 127
8947
9452
  }],
8948
- 117: [function (require, module, exports) {
9453
+ 118: [function (require, module, exports) {
8949
9454
  var BaseElement = require("./base/base-element.js");
8950
9455
 
8951
9456
  var EditorElement = /*#__PURE__*/function (_BaseElement3) {
@@ -8976,9 +9481,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8976
9481
 
8977
9482
  module.exports = EditorElement;
8978
9483
  }, {
8979
- "./base/base-element.js": 113
9484
+ "./base/base-element.js": 114
8980
9485
  }],
8981
- 118: [function (require, module, exports) {
9486
+ 119: [function (require, module, exports) {
8982
9487
  var BaseElement = require("./base/base-element.js");
8983
9488
 
8984
9489
  var EWallElement = /*#__PURE__*/function (_BaseElement4) {
@@ -8987,15 +9492,15 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
8987
9492
  var _super75 = _createSuper(EWallElement);
8988
9493
 
8989
9494
  function EWallElement() {
8990
- var _this66;
9495
+ var _this68;
8991
9496
 
8992
9497
  _classCallCheck(this, EWallElement);
8993
9498
 
8994
- _this66 = _super75.call(this);
9499
+ _this68 = _super75.call(this);
8995
9500
  var tag = document.createElement("script");
8996
9501
  tag.src = "https://cdn.8thwall.com/web/iframe/iframe.js";
8997
9502
  tag.defer = true;
8998
- return _this66;
9503
+ return _this68;
8999
9504
  }
9000
9505
 
9001
9506
  _createClass(EWallElement, [{
@@ -9031,9 +9536,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9031
9536
 
9032
9537
  module.exports = EWallElement;
9033
9538
  }, {
9034
- "./base/base-element.js": 113
9539
+ "./base/base-element.js": 114
9035
9540
  }],
9036
- 119: [function (require, module, exports) {
9541
+ 120: [function (require, module, exports) {
9037
9542
  var BaseElement = require("./base/base-element.js");
9038
9543
 
9039
9544
  var FaceARElement = /*#__PURE__*/function (_BaseElement5) {
@@ -9066,6 +9571,12 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9066
9571
  }, {
9067
9572
  key: "product-id",
9068
9573
  map: "productId"
9574
+ }, {
9575
+ key: "config-state",
9576
+ map: "config_state"
9577
+ }, {
9578
+ key: "show-ar",
9579
+ map: "show_ar"
9069
9580
  }];
9070
9581
  }
9071
9582
  }]);
@@ -9075,9 +9586,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9075
9586
 
9076
9587
  module.exports = FaceARElement;
9077
9588
  }, {
9078
- "./base/base-element.js": 113
9589
+ "./base/base-element.js": 114
9079
9590
  }],
9080
- 120: [function (require, module, exports) {
9591
+ 121: [function (require, module, exports) {
9081
9592
  var BaseElement = require("./base/base-element.js");
9082
9593
 
9083
9594
  var ModelElement = /*#__PURE__*/function (_BaseElement6) {
@@ -9116,9 +9627,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9116
9627
 
9117
9628
  module.exports = ModelElement;
9118
9629
  }, {
9119
- "./base/base-element.js": 113
9630
+ "./base/base-element.js": 114
9120
9631
  }],
9121
- 121: [function (require, module, exports) {
9632
+ 122: [function (require, module, exports) {
9122
9633
  var BaseElement = require("./base/base-element.js");
9123
9634
 
9124
9635
  var ProductElement = /*#__PURE__*/function (_BaseElement7) {
@@ -9165,9 +9676,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9165
9676
 
9166
9677
  module.exports = ProductElement;
9167
9678
  }, {
9168
- "./base/base-element.js": 113
9679
+ "./base/base-element.js": 114
9169
9680
  }],
9170
- 122: [function (require, module, exports) {
9681
+ 123: [function (require, module, exports) {
9171
9682
  var BaseElement = require("./base/base-element.js");
9172
9683
 
9173
9684
  var StudioElement = /*#__PURE__*/function (_BaseElement8) {
@@ -9198,9 +9709,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9198
9709
 
9199
9710
  module.exports = StudioElement;
9200
9711
  }, {
9201
- "./base/base-element.js": 113
9712
+ "./base/base-element.js": 114
9202
9713
  }],
9203
- 123: [function (require, module, exports) {
9714
+ 124: [function (require, module, exports) {
9204
9715
  var BaseElement = require("./base/base-element.js");
9205
9716
 
9206
9717
  var ViewerElement = /*#__PURE__*/function (_BaseElement9) {
@@ -9242,9 +9753,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9242
9753
 
9243
9754
  module.exports = ViewerElement;
9244
9755
  }, {
9245
- "./base/base-element.js": 113
9756
+ "./base/base-element.js": 114
9246
9757
  }],
9247
- 124: [function (require, module, exports) {
9758
+ 125: [function (require, module, exports) {
9248
9759
  var BaseElement = require("./base/base-element.js");
9249
9760
 
9250
9761
  var WebXRElement = /*#__PURE__*/function (_BaseElement10) {
@@ -9275,9 +9786,9 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9275
9786
 
9276
9787
  module.exports = WebXRElement;
9277
9788
  }, {
9278
- "./base/base-element.js": 113
9789
+ "./base/base-element.js": 114
9279
9790
  }],
9280
- 125: [function (require, module, exports) {
9791
+ 126: [function (require, module, exports) {
9281
9792
  "use strict";
9282
9793
 
9283
9794
  var WebXRElement = require("./elements/webxr-element.js");
@@ -9341,18 +9852,18 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9341
9852
  version: Version
9342
9853
  };
9343
9854
  }, {
9344
- "./elements/configurator-element.js": 114,
9345
- "./elements/editor-element.js": 117,
9346
- "./elements/ewall-element.js": 118,
9347
- "./elements/facear-element.js": 119,
9348
- "./elements/model-element.js": 120,
9349
- "./elements/product-element.js": 121,
9350
- "./elements/studio-element.js": 122,
9351
- "./elements/viewer-element.js": 123,
9352
- "./elements/webxr-element.js": 124,
9353
- "./version": 127
9855
+ "./elements/configurator-element.js": 115,
9856
+ "./elements/editor-element.js": 118,
9857
+ "./elements/ewall-element.js": 119,
9858
+ "./elements/facear-element.js": 120,
9859
+ "./elements/model-element.js": 121,
9860
+ "./elements/product-element.js": 122,
9861
+ "./elements/studio-element.js": 123,
9862
+ "./elements/viewer-element.js": 124,
9863
+ "./elements/webxr-element.js": 125,
9864
+ "./version": 128
9354
9865
  }],
9355
- 126: [function (require, module, exports) {
9866
+ 127: [function (require, module, exports) {
9356
9867
  var Util = /*#__PURE__*/function () {
9357
9868
  function Util() {
9358
9869
  _classCallCheck(this, Util);
@@ -9450,10 +9961,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9450
9961
 
9451
9962
  module.exports = Util;
9452
9963
  }, {}],
9453
- 127: [function (require, module, exports) {
9454
- module.exports = "1.122.3";
9455
- }, {}],
9456
9964
  128: [function (require, module, exports) {
9965
+ module.exports = "1.123.1";
9966
+ }, {}],
9967
+ 129: [function (require, module, exports) {
9457
9968
  (function (global) {
9458
9969
  (function () {
9459
9970
  "use strict"; // ref: https://github.com/tc39/proposal-global
@@ -9490,7 +10001,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
9490
10001
  }).call(this);
9491
10002
  }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
9492
10003
  }, {}],
9493
- 129: [function (require, module, exports) {
10004
+ 130: [function (require, module, exports) {
9494
10005
  (function (global) {
9495
10006
  (function () {
9496
10007
  !function (e) {
@@ -10762,7 +11273,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
10762
11273
  }).call(this);
10763
11274
  }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
10764
11275
  }, {}],
10765
- 130: [function (require, module, exports) {
11276
+ 131: [function (require, module, exports) {
10766
11277
  // shim for using process in browser
10767
11278
  var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it
10768
11279
  // don't break things. But we need to wrap it in a try catch in case it is
@@ -10972,7 +11483,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
10972
11483
  return 0;
10973
11484
  };
10974
11485
  }, {}],
10975
- 131: [function (require, module, exports) {
11486
+ 132: [function (require, module, exports) {
10976
11487
  !function (t, e) {
10977
11488
  "object" == _typeof(exports) && "object" == _typeof(module) ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == _typeof(exports) ? exports.QRCodeStyling = e() : t.QRCodeStyling = e();
10978
11489
  }(self, function () {