babylonjs-gui 5.0.0-beta.3 → 5.0.0-beta.7

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.
package/babylon.gui.js CHANGED
@@ -581,6 +581,7 @@ __webpack_require__.r(__webpack_exports__);
581
581
 
582
582
 
583
583
 
584
+
584
585
  /**
585
586
  * Class used to create texture to support 2D GUI elements
586
587
  * @see https://doc.babylonjs.com/how_to/gui
@@ -1610,6 +1611,10 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1610
1611
  if (typeof width === "number" && typeof height === "number" && width >= 0 && height >= 0) {
1611
1612
  this.scaleTo(width, height);
1612
1613
  }
1614
+ else {
1615
+ // scales the GUI to a default size if none was available in the serialized content
1616
+ this.scaleTo(1920, 1080);
1617
+ }
1613
1618
  }
1614
1619
  };
1615
1620
  /**
@@ -1701,8 +1706,10 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1701
1706
  if (height === void 0) { height = 1024; }
1702
1707
  if (supportPointerMove === void 0) { supportPointerMove = true; }
1703
1708
  if (onlyAlphaTesting === void 0) { onlyAlphaTesting = false; }
1704
- var result = new AdvancedDynamicTexture(mesh.name + " AdvancedDynamicTexture", width, height, mesh.getScene(), true, babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Texture"].TRILINEAR_SAMPLINGMODE, invertY);
1705
- var material = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["StandardMaterial"]("AdvancedDynamicTextureMaterial", mesh.getScene());
1709
+ // use a unique ID in name so serialization will work even if you create two ADTs for a single mesh
1710
+ var uniqueId = Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["RandomGUID"])();
1711
+ var result = new AdvancedDynamicTexture("AdvancedDynamicTexture for ".concat(mesh.name, " [").concat(uniqueId, "]"), width, height, mesh.getScene(), true, babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Texture"].TRILINEAR_SAMPLINGMODE, invertY);
1712
+ var material = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["StandardMaterial"]("AdvancedDynamicTextureMaterial for ".concat(mesh.name, " [").concat(uniqueId, "]"), mesh.getScene());
1706
1713
  material.backFaceCulling = false;
1707
1714
  material.diffuseColor = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Color3"].Black();
1708
1715
  material.specularColor = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Color3"].Black();
@@ -2447,7 +2454,7 @@ var ColorPicker = /** @class */ (function (_super) {
2447
2454
  };
2448
2455
  ColorPicker.prototype._createColorWheelCanvas = function (radius, thickness) {
2449
2456
  // Shoudl abstract platform instead of using LastCreatedEngine
2450
- var engine = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Engine"].LastCreatedEngine;
2457
+ var engine = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["EngineStore"].LastCreatedEngine;
2451
2458
  if (!engine) {
2452
2459
  throw new Error("Invalid engine. Unable to create a canvas.");
2453
2460
  }
@@ -4045,7 +4052,7 @@ var Container = /** @class */ (function (_super) {
4045
4052
  rebuildCount++;
4046
4053
  } while (this._rebuildLayout && rebuildCount < this.maxLayoutCycle);
4047
4054
  if (rebuildCount >= 3 && this.logLayoutCycleErrors) {
4048
- babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__["Logger"].Error("Layout cycle detected in GUI (Container name=" + this.name + ", uniqueId=" + this.uniqueId + ")");
4055
+ babylonjs_Misc_logger__WEBPACK_IMPORTED_MODULE_1__["Logger"].Error("Layout cycle detected in GUI (Container name=".concat(this.name, ", uniqueId=").concat(this.uniqueId, ")"));
4049
4056
  }
4050
4057
  context.restore();
4051
4058
  if (this._isDirty) {
@@ -4115,7 +4122,10 @@ var Container = /** @class */ (function (_super) {
4115
4122
  if (!this._isEnabled || !this.isVisible || this.notRenderable) {
4116
4123
  return false;
4117
4124
  }
4118
- if (!_super.prototype.contains.call(this, x, y)) {
4125
+ // checks if the picking position is within the container
4126
+ var contains = _super.prototype.contains.call(this, x, y);
4127
+ // if clipChildren is off, we should still pass picking events to children even if we don't contain the pointer
4128
+ if (!contains && this.clipChildren) {
4119
4129
  return false;
4120
4130
  }
4121
4131
  // Checking backwards to pick closest first
@@ -4128,6 +4138,9 @@ var Container = /** @class */ (function (_super) {
4128
4138
  return true;
4129
4139
  }
4130
4140
  }
4141
+ if (!contains) {
4142
+ return false;
4143
+ }
4131
4144
  if (!this.isHitTestVisible) {
4132
4145
  return false;
4133
4146
  }
@@ -5340,17 +5353,31 @@ var Control = /** @class */ (function () {
5340
5353
  return this._isEnabled;
5341
5354
  },
5342
5355
  set: function (value) {
5356
+ var _this = this;
5343
5357
  if (this._isEnabled === value) {
5344
5358
  return;
5345
5359
  }
5346
5360
  this._isEnabled = value;
5347
5361
  this._markAsDirty();
5362
+ // if this control or any of it's descendants are under a pointer, we need to fire a pointerOut event
5363
+ var recursivelyFirePointerOut = function (control) {
5364
+ for (var pointer in control.host._lastControlOver) {
5365
+ if (control === _this.host._lastControlOver[pointer]) {
5366
+ control._onPointerOut(control, null, true);
5367
+ delete control.host._lastControlOver[pointer];
5368
+ }
5369
+ }
5370
+ if (control.children !== undefined) {
5371
+ control.children.forEach(recursivelyFirePointerOut);
5372
+ }
5373
+ };
5374
+ recursivelyFirePointerOut(this);
5348
5375
  },
5349
5376
  enumerable: false,
5350
5377
  configurable: true
5351
5378
  });
5352
5379
  Object.defineProperty(Control.prototype, "disabledColor", {
5353
- /** Gets or sets background color of control if it's disabled */
5380
+ /** Gets or sets background color of control if it's disabled. Only applies to Button class. */
5354
5381
  get: function () {
5355
5382
  return this._disabledColor;
5356
5383
  },
@@ -5365,7 +5392,7 @@ var Control = /** @class */ (function () {
5365
5392
  configurable: true
5366
5393
  });
5367
5394
  Object.defineProperty(Control.prototype, "disabledColorItem", {
5368
- /** Gets or sets front color of control if it's disabled */
5395
+ /** Gets or sets front color of control if it's disabled. Only applies to Checkbox class. */
5369
5396
  get: function () {
5370
5397
  return this._disabledColorItem;
5371
5398
  },
@@ -5397,6 +5424,19 @@ var Control = /** @class */ (function () {
5397
5424
  }
5398
5425
  return this.parent.getAscendantOfClass(className);
5399
5426
  };
5427
+ /**
5428
+ * Mark control element as dirty
5429
+ * @param force force non visible elements to be marked too
5430
+ */
5431
+ Control.prototype.markAsDirty = function (force) {
5432
+ this._markAsDirty(force);
5433
+ };
5434
+ /**
5435
+ * Mark the element and its children as dirty
5436
+ */
5437
+ Control.prototype.markAllAsDirty = function () {
5438
+ this._markAllAsDirty();
5439
+ };
5400
5440
  /** @hidden */
5401
5441
  Control.prototype._resetFontCache = function () {
5402
5442
  this._fontSet = true;
@@ -5758,7 +5798,7 @@ var Control = /** @class */ (function () {
5758
5798
  rebuildCount++;
5759
5799
  } while (this._rebuildLayout && rebuildCount < 3);
5760
5800
  if (rebuildCount >= 3) {
5761
- babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Logger"].Error("Layout cycle detected in GUI (Control name=" + this.name + ", uniqueId=" + this.uniqueId + ")");
5801
+ babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Logger"].Error("Layout cycle detected in GUI (Control name=".concat(this.name, ", uniqueId=").concat(this.uniqueId, ")"));
5762
5802
  }
5763
5803
  context.restore();
5764
5804
  this.invalidateRect();
@@ -6305,7 +6345,7 @@ var Control = /** @class */ (function () {
6305
6345
  if (Control._FontHeightSizes[font]) {
6306
6346
  return Control._FontHeightSizes[font];
6307
6347
  }
6308
- var engine = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Engine"].LastCreatedEngine;
6348
+ var engine = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["EngineStore"].LastCreatedEngine;
6309
6349
  if (!engine) {
6310
6350
  throw new Error("Invalid engine. Unable to create a canvas.");
6311
6351
  }
@@ -7155,7 +7195,7 @@ var Grid = /** @class */ (function (_super) {
7155
7195
  * @returns the list of controls
7156
7196
  */
7157
7197
  Grid.prototype.getChildrenAt = function (row, column) {
7158
- var cell = this._cells[row + ":" + column];
7198
+ var cell = this._cells["".concat(row, ":").concat(column)];
7159
7199
  if (!cell) {
7160
7200
  return null;
7161
7201
  }
@@ -7204,14 +7244,14 @@ var Grid = /** @class */ (function (_super) {
7204
7244
  return this;
7205
7245
  }
7206
7246
  for (var x = 0; x < this._rowDefinitions.length; x++) {
7207
- var key = x + ":" + index;
7247
+ var key = "".concat(x, ":").concat(index);
7208
7248
  var cell = this._cells[key];
7209
7249
  this._removeCell(cell, key);
7210
7250
  }
7211
7251
  for (var x = 0; x < this._rowDefinitions.length; x++) {
7212
7252
  for (var y = index + 1; y < this._columnDefinitions.length; y++) {
7213
- var previousKey = x + ":" + (y - 1);
7214
- var key = x + ":" + y;
7253
+ var previousKey = "".concat(x, ":").concat(y - 1);
7254
+ var key = "".concat(x, ":").concat(y);
7215
7255
  this._offsetCell(previousKey, key);
7216
7256
  }
7217
7257
  }
@@ -7231,14 +7271,14 @@ var Grid = /** @class */ (function (_super) {
7231
7271
  return this;
7232
7272
  }
7233
7273
  for (var y = 0; y < this._columnDefinitions.length; y++) {
7234
- var key = index + ":" + y;
7274
+ var key = "".concat(index, ":").concat(y);
7235
7275
  var cell = this._cells[key];
7236
7276
  this._removeCell(cell, key);
7237
7277
  }
7238
7278
  for (var y = 0; y < this._columnDefinitions.length; y++) {
7239
7279
  for (var x = index + 1; x < this._rowDefinitions.length; x++) {
7240
- var previousKey = x - 1 + ":" + y;
7241
- var key = x + ":" + y;
7280
+ var previousKey = "".concat(x - 1, ":").concat(y);
7281
+ var key = "".concat(x, ":").concat(y);
7242
7282
  this._offsetCell(previousKey, key);
7243
7283
  }
7244
7284
  }
@@ -7267,12 +7307,12 @@ var Grid = /** @class */ (function (_super) {
7267
7307
  this.addColumnDefinition(1, false);
7268
7308
  }
7269
7309
  if (this._childControls.indexOf(control) !== -1) {
7270
- babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["Tools"].Warn("Control (Name:" + control.name + ", UniqueId:" + control.uniqueId + ") is already associated with this grid. You must remove it before reattaching it");
7310
+ babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["Tools"].Warn("Control (Name:".concat(control.name, ", UniqueId:").concat(control.uniqueId, ") is already associated with this grid. You must remove it before reattaching it"));
7271
7311
  return this;
7272
7312
  }
7273
7313
  var x = Math.min(row, this._rowDefinitions.length - 1);
7274
7314
  var y = Math.min(column, this._columnDefinitions.length - 1);
7275
- var key = x + ":" + y;
7315
+ var key = "".concat(x, ":").concat(y);
7276
7316
  var goodContainer = this._cells[key];
7277
7317
  if (!goodContainer) {
7278
7318
  goodContainer = new _container__WEBPACK_IMPORTED_MODULE_1__["Container"](key);
@@ -7840,7 +7880,7 @@ var Image = /** @class */ (function (_super) {
7840
7880
  var width = this._domImage.width;
7841
7881
  var height = this._domImage.height;
7842
7882
  // Should abstract platform instead of using LastCreatedEngine
7843
- var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Engine"].LastCreatedEngine;
7883
+ var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["EngineStore"].LastCreatedEngine;
7844
7884
  if (!engine) {
7845
7885
  throw new Error("Invalid engine. Unable to create a canvas.");
7846
7886
  }
@@ -7910,7 +7950,7 @@ var Image = /** @class */ (function (_super) {
7910
7950
  var width = this._domImage.width;
7911
7951
  var height = this._domImage.height;
7912
7952
  if (!this._workingCanvas) {
7913
- var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Engine"].LastCreatedEngine;
7953
+ var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["EngineStore"].LastCreatedEngine;
7914
7954
  if (!engine) {
7915
7955
  throw new Error("Invalid engine. Unable to create a canvas.");
7916
7956
  }
@@ -8010,7 +8050,7 @@ var Image = /** @class */ (function (_super) {
8010
8050
  value = this._svgCheck(value);
8011
8051
  }
8012
8052
  // Should abstract platform instead of using LastCreatedEngine
8013
- var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Engine"].LastCreatedEngine;
8053
+ var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["EngineStore"].LastCreatedEngine;
8014
8054
  if (!engine) {
8015
8055
  throw new Error("Invalid engine. Unable to create a canvas.");
8016
8056
  }
@@ -8241,7 +8281,7 @@ var Image = /** @class */ (function (_super) {
8241
8281
  var width = this._currentMeasure.width;
8242
8282
  var height = this._currentMeasure.height;
8243
8283
  if (!this._workingCanvas) {
8244
- var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Engine"].LastCreatedEngine;
8284
+ var engine = ((_b = (_a = this._host) === null || _a === void 0 ? void 0 : _a.getScene()) === null || _b === void 0 ? void 0 : _b.getEngine()) || babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["EngineStore"].LastCreatedEngine;
8245
8285
  if (!engine) {
8246
8286
  throw new Error("Invalid engine. Unable to create a canvas.");
8247
8287
  }
@@ -13771,7 +13811,7 @@ var StackPanel = /** @class */ (function (_super) {
13771
13811
  }
13772
13812
  if (child._height.isPercentage && !child._automaticSize) {
13773
13813
  if (!this.ignoreLayoutWarnings) {
13774
- babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].Warn("Control (Name:" + child.name + ", UniqueId:" + child.uniqueId + ") is using height in percentage mode inside a vertical StackPanel");
13814
+ babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].Warn("Control (Name:".concat(child.name, ", UniqueId:").concat(child.uniqueId, ") is using height in percentage mode inside a vertical StackPanel"));
13775
13815
  }
13776
13816
  }
13777
13817
  else {
@@ -13786,7 +13826,7 @@ var StackPanel = /** @class */ (function (_super) {
13786
13826
  }
13787
13827
  if (child._width.isPercentage && !child._automaticSize) {
13788
13828
  if (!this.ignoreLayoutWarnings) {
13789
- babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].Warn("Control (Name:" + child.name + ", UniqueId:" + child.uniqueId + ") is using width in percentage mode inside a horizontal StackPanel");
13829
+ babylonjs_Misc_tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].Warn("Control (Name:".concat(child.name, ", UniqueId:").concat(child.uniqueId, ") is using width in percentage mode inside a horizontal StackPanel"));
13790
13830
  }
13791
13831
  }
13792
13832
  else {
@@ -14379,7 +14419,7 @@ var TextBlock = /** @class */ (function (_super) {
14379
14419
  else {
14380
14420
  while (characters.length && lineWidth > width) {
14381
14421
  characters.pop();
14382
- line = characters.join("") + "...";
14422
+ line = "".concat(characters.join(""), "...");
14383
14423
  textMetrics = context.measureText(line);
14384
14424
  lineWidth = Math.abs(textMetrics.actualBoundingBoxLeft) + Math.abs(textMetrics.actualBoundingBoxRight);
14385
14425
  }
@@ -14418,7 +14458,7 @@ var TextBlock = /** @class */ (function (_super) {
14418
14458
  if (currentHeight > height && n > 1) {
14419
14459
  var lastLine = lines[n - 2];
14420
14460
  var currentLine = lines[n - 1];
14421
- lines[n - 2] = this._parseLineEllipsis("" + (lastLine.text + currentLine.text), width, context);
14461
+ lines[n - 2] = this._parseLineEllipsis("".concat(lastLine.text + currentLine.text), width, context);
14422
14462
  var linesToRemove = lines.length - n + 1;
14423
14463
  for (var i = 0; i < linesToRemove; i++) {
14424
14464
  lines.pop();
@@ -14479,7 +14519,7 @@ var TextBlock = /** @class */ (function (_super) {
14479
14519
  var _a;
14480
14520
  if (this.text && this.widthInPixels) {
14481
14521
  // Should abstract platform instead of using LastCreatedEngine
14482
- var context_1 = (_a = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Engine"].LastCreatedEngine) === null || _a === void 0 ? void 0 : _a.createCanvas(0, 0).getContext("2d");
14522
+ var context_1 = (_a = babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["EngineStore"].LastCreatedEngine) === null || _a === void 0 ? void 0 : _a.createCanvas(0, 0).getContext("2d");
14483
14523
  if (context_1) {
14484
14524
  this._applyStates(context_1);
14485
14525
  if (!this._fontOffset) {
@@ -17761,7 +17801,7 @@ var HolographicBackplate = /** @class */ (function (_super) {
17761
17801
  babylonjs_Meshes_Builders_boxBuilder__WEBPACK_IMPORTED_MODULE_1__["SceneLoader"].ImportMeshAsync(undefined, HolographicBackplate.MODEL_BASE_URL, HolographicBackplate.MODEL_FILENAME, scene)
17762
17802
  .then(function (result) {
17763
17803
  var importedModel = result.meshes[1];
17764
- importedModel.name = _this.name + "_frontPlate";
17804
+ importedModel.name = "".concat(_this.name, "_frontPlate");
17765
17805
  importedModel.isPickable = false;
17766
17806
  importedModel.parent = collisionMesh;
17767
17807
  if (!!_this._material) {
@@ -18361,7 +18401,8 @@ var HolographicSlate = /** @class */ (function (_super) {
18361
18401
  }
18362
18402
  };
18363
18403
  HolographicSlate.prototype._applyContentViewport = function () {
18364
- if (this._contentPlate.material && this._contentPlate.material.albedoTexture) {
18404
+ var _a;
18405
+ if (((_a = this._contentPlate) === null || _a === void 0 ? void 0 : _a.material) && this._contentPlate.material.albedoTexture) {
18365
18406
  var tex = this._contentPlate.material.albedoTexture;
18366
18407
  tex.uScale = this._contentScaleRatio;
18367
18408
  tex.vScale = (this._contentScaleRatio / this._contentViewport.width) * this._contentViewport.height;
@@ -18477,7 +18518,7 @@ var HolographicSlate = /** @class */ (function (_super) {
18477
18518
  };
18478
18519
  HolographicSlate.prototype._affectMaterial = function (mesh) {
18479
18520
  // TODO share materials
18480
- this._backPlateMaterial = new _materials_fluentBackplate_fluentBackplateMaterial__WEBPACK_IMPORTED_MODULE_8__["FluentBackplateMaterial"](this.name + " plateMaterial", mesh.getScene());
18521
+ this._backPlateMaterial = new _materials_fluentBackplate_fluentBackplateMaterial__WEBPACK_IMPORTED_MODULE_8__["FluentBackplateMaterial"]("".concat(this.name, " plateMaterial"), mesh.getScene());
18481
18522
  this._pickedPointObserver = this._host.onPickedPointChangedObservable.add(function (pickedPoint) {
18482
18523
  // if (pickedPoint) {
18483
18524
  // this._backPlateMaterial. = pickedPoint;
@@ -18567,7 +18608,7 @@ var HolographicSlate = /** @class */ (function (_super) {
18567
18608
  /*!******************************!*\
18568
18609
  !*** ./3D/controls/index.ts ***!
18569
18610
  \******************************/
18570
- /*! exports provided: AbstractButton3D, Button3D, Container3D, Control3D, CylinderPanel, HolographicButton, HolographicSlate, HandMenu, MeshButton3D, NearMenu, PlanePanel, ScatterPanel, Slider3D, SpherePanel, StackPanel3D, TouchButton3D, TouchMeshButton3D, TouchHolographicButton, TouchHolographicMenu, TouchToggleButton3D, VolumeBasedPanel, HolographicBackplate */
18611
+ /*! exports provided: AbstractButton3D, Button3D, Container3D, Control3D, CylinderPanel, HolographicButton, HolographicSlate, HandMenu, MeshButton3D, NearMenu, PlanePanel, ScatterPanel, Slider3D, SpherePanel, StackPanel3D, TouchButton3D, TouchMeshButton3D, TouchHolographicButton, TouchHolographicMenu, VolumeBasedPanel, HolographicBackplate */
18571
18612
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
18572
18613
 
18573
18614
  "use strict";
@@ -18629,16 +18670,12 @@ __webpack_require__.r(__webpack_exports__);
18629
18670
  /* harmony import */ var _touchHolographicMenu__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./touchHolographicMenu */ "./3D/controls/touchHolographicMenu.ts");
18630
18671
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TouchHolographicMenu", function() { return _touchHolographicMenu__WEBPACK_IMPORTED_MODULE_18__["TouchHolographicMenu"]; });
18631
18672
 
18632
- /* harmony import */ var _touchToggleButton3D__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./touchToggleButton3D */ "./3D/controls/touchToggleButton3D.ts");
18633
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TouchToggleButton3D", function() { return _touchToggleButton3D__WEBPACK_IMPORTED_MODULE_19__["TouchToggleButton3D"]; });
18673
+ /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
18674
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VolumeBasedPanel", function() { return _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_19__["VolumeBasedPanel"]; });
18634
18675
 
18635
- /* harmony import */ var _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./volumeBasedPanel */ "./3D/controls/volumeBasedPanel.ts");
18636
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VolumeBasedPanel", function() { return _volumeBasedPanel__WEBPACK_IMPORTED_MODULE_20__["VolumeBasedPanel"]; });
18676
+ /* harmony import */ var _holographicBackplate__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./holographicBackplate */ "./3D/controls/holographicBackplate.ts");
18677
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HolographicBackplate", function() { return _holographicBackplate__WEBPACK_IMPORTED_MODULE_20__["HolographicBackplate"]; });
18637
18678
 
18638
- /* harmony import */ var _holographicBackplate__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./holographicBackplate */ "./3D/controls/holographicBackplate.ts");
18639
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HolographicBackplate", function() { return _holographicBackplate__WEBPACK_IMPORTED_MODULE_21__["HolographicBackplate"]; });
18640
-
18641
-
18642
18679
 
18643
18680
 
18644
18681
 
@@ -18797,13 +18834,16 @@ var NearMenu = /** @class */ (function (_super) {
18797
18834
  return this._isPinned;
18798
18835
  },
18799
18836
  set: function (value) {
18837
+ // Tell the pin button to toggle if this was called manually, for clean state control
18838
+ if (this._pinButton.isToggled !== value) {
18839
+ this._pinButton.isToggled = value;
18840
+ return;
18841
+ }
18800
18842
  this._isPinned = value;
18801
- if (this._isPinned) {
18802
- this._pinMaterial.emissiveColor.copyFromFloats(0.25, 0.4, 0.95);
18843
+ if (value) {
18803
18844
  this._defaultBehavior.followBehaviorEnabled = false;
18804
18845
  }
18805
18846
  else {
18806
- this._pinMaterial.emissiveColor.copyFromFloats(0.08, 0.15, 0.55);
18807
18847
  this._defaultBehavior.followBehaviorEnabled = true;
18808
18848
  }
18809
18849
  },
@@ -18816,12 +18856,11 @@ var NearMenu = /** @class */ (function (_super) {
18816
18856
  control.imageUrl = NearMenu.ASSETS_BASE_URL + NearMenu.PIN_ICON_FILENAME;
18817
18857
  control.parent = this;
18818
18858
  control._host = this._host;
18819
- control.onPointerClickObservable.add(function () { return (_this.isPinned = !_this.isPinned); });
18859
+ control.isToggleButton = true;
18860
+ control.onToggleObservable.add(function (newState) { _this.isPinned = newState; });
18820
18861
  if (this._host.utilityLayer) {
18821
18862
  control._prepareNode(this._host.utilityLayer.utilityLayerScene);
18822
18863
  control.scaling.scaleInPlace(_touchHolographicMenu__WEBPACK_IMPORTED_MODULE_3__["TouchHolographicMenu"].MENU_BUTTON_SCALE);
18823
- this._pinMaterial = control.backMaterial;
18824
- this._pinMaterial.diffuseColor.copyFromFloats(0, 0, 0);
18825
18864
  if (control.node) {
18826
18865
  control.node.parent = parent;
18827
18866
  }
@@ -19230,7 +19269,7 @@ var Slider3D = /** @class */ (function (_super) {
19230
19269
  // Mesh association
19231
19270
  Slider3D.prototype._createNode = function (scene) {
19232
19271
  var _this = this;
19233
- var sliderBackplate = Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])(this.name + "_sliderbackplate", {
19272
+ var sliderBackplate = Object(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])("".concat(this.name, "_sliderbackplate"), {
19234
19273
  width: 1.0,
19235
19274
  height: 1.0,
19236
19275
  depth: 1.0,
@@ -19241,12 +19280,12 @@ var Slider3D = /** @class */ (function (_super) {
19241
19280
  babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["SceneLoader"].ImportMeshAsync(undefined, Slider3D.MODEL_BASE_URL, Slider3D.MODEL_FILENAME, scene)
19242
19281
  .then(function (result) {
19243
19282
  var sliderBackplateModel = result.meshes[1];
19244
- var sliderBarModel = result.meshes[1].clone(_this.name + "_sliderbar", sliderBackplate);
19245
- var sliderThumbModel = result.meshes[1].clone(_this.name + "_sliderthumb", sliderBackplate);
19283
+ var sliderBarModel = result.meshes[1].clone("".concat(_this.name, "_sliderbar"), sliderBackplate);
19284
+ var sliderThumbModel = result.meshes[1].clone("".concat(_this.name, "_sliderthumb"), sliderBackplate);
19246
19285
  sliderBackplateModel.visibility = 0;
19247
19286
  if (_this._sliderBackplateVisible) {
19248
19287
  sliderBackplateModel.visibility = 1;
19249
- sliderBackplateModel.name = _this.name + "_sliderbackplate";
19288
+ sliderBackplateModel.name = "".concat(_this.name, "_sliderbackplate");
19250
19289
  sliderBackplateModel.isPickable = false;
19251
19290
  sliderBackplateModel.scaling.x = 1;
19252
19291
  sliderBackplateModel.scaling.z = 0.2;
@@ -19284,9 +19323,9 @@ var Slider3D = /** @class */ (function (_super) {
19284
19323
  };
19285
19324
  Slider3D.prototype._affectMaterial = function (mesh) {
19286
19325
  var _a, _b, _c;
19287
- this._sliderBackplateMaterial = (_a = this._sliderBackplateMaterial) !== null && _a !== void 0 ? _a : new _materials_mrdl_mrdlBackplateMaterial__WEBPACK_IMPORTED_MODULE_5__["MRDLBackplateMaterial"](this.name + "_sliderbackplate_material", mesh.getScene());
19288
- this._sliderBarMaterial = (_b = this._sliderBarMaterial) !== null && _b !== void 0 ? _b : new _materials_mrdl_mrdlSliderBarMaterial__WEBPACK_IMPORTED_MODULE_3__["MRDLSliderBarMaterial"](this.name + "_sliderbar_material", mesh.getScene());
19289
- this._sliderThumbMaterial = (_c = this._sliderThumbMaterial) !== null && _c !== void 0 ? _c : new _materials_mrdl_mrdlSliderThumbMaterial__WEBPACK_IMPORTED_MODULE_4__["MRDLSliderThumbMaterial"](this.name + "_sliderthumb_material", mesh.getScene());
19326
+ this._sliderBackplateMaterial = (_a = this._sliderBackplateMaterial) !== null && _a !== void 0 ? _a : new _materials_mrdl_mrdlBackplateMaterial__WEBPACK_IMPORTED_MODULE_5__["MRDLBackplateMaterial"]("".concat(this.name, "_sliderbackplate_material"), mesh.getScene());
19327
+ this._sliderBarMaterial = (_b = this._sliderBarMaterial) !== null && _b !== void 0 ? _b : new _materials_mrdl_mrdlSliderBarMaterial__WEBPACK_IMPORTED_MODULE_3__["MRDLSliderBarMaterial"]("".concat(this.name, "_sliderbar_material"), mesh.getScene());
19328
+ this._sliderThumbMaterial = (_c = this._sliderThumbMaterial) !== null && _c !== void 0 ? _c : new _materials_mrdl_mrdlSliderThumbMaterial__WEBPACK_IMPORTED_MODULE_4__["MRDLSliderThumbMaterial"]("".concat(this.name, "_sliderthumb_material"), mesh.getScene());
19290
19329
  };
19291
19330
  Slider3D.prototype._createBehavior = function () {
19292
19331
  var _this = this;
@@ -19570,6 +19609,7 @@ __webpack_require__.r(__webpack_exports__);
19570
19609
 
19571
19610
 
19572
19611
 
19612
+
19573
19613
  /**
19574
19614
  * Class used to create a touchable button in 3D
19575
19615
  */
@@ -19583,6 +19623,13 @@ var TouchButton3D = /** @class */ (function (_super) {
19583
19623
  function TouchButton3D(name, collisionMesh) {
19584
19624
  var _this = _super.call(this, name) || this;
19585
19625
  _this._isNearPressed = false;
19626
+ _this._isToggleButton = false;
19627
+ _this._toggleState = false;
19628
+ _this._toggleButtonCallback = function () { _this._onToggle(!_this._toggleState); };
19629
+ /**
19630
+ * An event triggered when the button is toggled. Only fired if 'isToggleButton' is true
19631
+ */
19632
+ _this.onToggleObservable = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
19586
19633
  _this.collidableFrontDirection = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Zero();
19587
19634
  if (collisionMesh) {
19588
19635
  _this.collisionMesh = collisionMesh;
@@ -19625,12 +19672,10 @@ var TouchButton3D = /** @class */ (function (_super) {
19625
19672
  * @param collisionMesh the new collision mesh for the button
19626
19673
  */
19627
19674
  set: function (collisionMesh) {
19628
- if (this._collisionMesh) {
19629
- this._collisionMesh.dispose();
19630
- }
19631
- // parent the mesh to sync transforms
19632
- if (!collisionMesh.parent && this.mesh) {
19633
- collisionMesh.setParent(this.mesh);
19675
+ var _a, _b;
19676
+ // Remove the GUI3DManager's data from the previous collision mesh's reserved data store
19677
+ if ((_b = (_a = this._collisionMesh) === null || _a === void 0 ? void 0 : _a.reservedDataStore) === null || _b === void 0 ? void 0 : _b.GUI3D) {
19678
+ this._collisionMesh.reservedDataStore.GUI3D = {};
19634
19679
  }
19635
19680
  this._collisionMesh = collisionMesh;
19636
19681
  this._injectGUI3DReservedDataStore(this._collisionMesh).control = this;
@@ -19640,6 +19685,53 @@ var TouchButton3D = /** @class */ (function (_super) {
19640
19685
  enumerable: false,
19641
19686
  configurable: true
19642
19687
  });
19688
+ Object.defineProperty(TouchButton3D.prototype, "isToggleButton", {
19689
+ get: function () {
19690
+ return this._isToggleButton;
19691
+ },
19692
+ /**
19693
+ * Setter for if this TouchButton3D should be treated as a toggle button
19694
+ * @param value If this TouchHolographicButton should act like a toggle button
19695
+ */
19696
+ set: function (value) {
19697
+ if (value === this._isToggleButton) {
19698
+ return;
19699
+ }
19700
+ this._isToggleButton = value;
19701
+ if (value) {
19702
+ this.onPointerUpObservable.add(this._toggleButtonCallback);
19703
+ }
19704
+ else {
19705
+ this.onPointerUpObservable.removeCallback(this._toggleButtonCallback);
19706
+ // Safety check, reset the button if it's toggled on but no longer a toggle button
19707
+ if (this._toggleState) {
19708
+ this._onToggle(false);
19709
+ }
19710
+ }
19711
+ },
19712
+ enumerable: false,
19713
+ configurable: true
19714
+ });
19715
+ Object.defineProperty(TouchButton3D.prototype, "isToggled", {
19716
+ get: function () {
19717
+ return this._toggleState;
19718
+ },
19719
+ /**
19720
+ * A public entrypoint to set the toggle state of the TouchHolographicButton. Only works if 'isToggleButton' is true
19721
+ * @param newState The new state to set the TouchHolographicButton's toggle state to
19722
+ */
19723
+ set: function (newState) {
19724
+ if (this._isToggleButton && this._toggleState !== newState) {
19725
+ this._onToggle(newState);
19726
+ }
19727
+ },
19728
+ enumerable: false,
19729
+ configurable: true
19730
+ });
19731
+ TouchButton3D.prototype._onToggle = function (newState) {
19732
+ this._toggleState = newState;
19733
+ this.onToggleObservable.notifyObservers(newState);
19734
+ };
19643
19735
  // Returns true if the collidable is in front of the button, or if the button has no front direction
19644
19736
  TouchButton3D.prototype._isInteractionInFrontOfButton = function (collidablePos) {
19645
19737
  return this._getInteractionHeight(collidablePos, this._collisionMesh.getAbsolutePosition()) > 0;
@@ -19689,6 +19781,9 @@ var TouchButton3D = /** @class */ (function (_super) {
19689
19781
  */
19690
19782
  TouchButton3D.prototype.dispose = function () {
19691
19783
  _super.prototype.dispose.call(this);
19784
+ // Clean up toggle observables
19785
+ this.onPointerUpObservable.removeCallback(this._toggleButtonCallback);
19786
+ this.onToggleObservable.clear();
19692
19787
  if (this._collisionMesh) {
19693
19788
  this._collisionMesh.dispose();
19694
19789
  }
@@ -19713,12 +19808,14 @@ __webpack_require__.r(__webpack_exports__);
19713
19808
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
19714
19809
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Maths/math.vector */ "babylonjs/Misc/perfCounter");
19715
19810
  /* harmony import */ var babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
19716
- /* harmony import */ var _materials_fluentButton_fluentButtonMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/fluentButton/fluentButtonMaterial */ "./3D/materials/fluentButton/fluentButtonMaterial.ts");
19717
- /* harmony import */ var _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../2D/controls/stackPanel */ "./2D/controls/stackPanel.ts");
19718
- /* harmony import */ var _2D_controls_image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../2D/controls/image */ "./2D/controls/image.ts");
19719
- /* harmony import */ var _2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../2D/controls/textBlock */ "./2D/controls/textBlock.ts");
19720
- /* harmony import */ var _2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../2D/advancedDynamicTexture */ "./2D/advancedDynamicTexture.ts");
19721
- /* harmony import */ var _touchButton3D__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./touchButton3D */ "./3D/controls/touchButton3D.ts");
19811
+ /* harmony import */ var _materials_fluent_fluentMaterial__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../materials/fluent/fluentMaterial */ "./3D/materials/fluent/fluentMaterial.ts");
19812
+ /* harmony import */ var _materials_fluentButton_fluentButtonMaterial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../materials/fluentButton/fluentButtonMaterial */ "./3D/materials/fluentButton/fluentButtonMaterial.ts");
19813
+ /* harmony import */ var _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../2D/controls/stackPanel */ "./2D/controls/stackPanel.ts");
19814
+ /* harmony import */ var _2D_controls_image__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../2D/controls/image */ "./2D/controls/image.ts");
19815
+ /* harmony import */ var _2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../2D/controls/textBlock */ "./2D/controls/textBlock.ts");
19816
+ /* harmony import */ var _2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../2D/advancedDynamicTexture */ "./2D/advancedDynamicTexture.ts");
19817
+ /* harmony import */ var _touchButton3D__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./touchButton3D */ "./3D/controls/touchButton3D.ts");
19818
+
19722
19819
 
19723
19820
 
19724
19821
 
@@ -19753,6 +19850,8 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19753
19850
  _this._isBackplateVisible = true;
19754
19851
  _this._frontPlateDepth = 0.5;
19755
19852
  _this._backPlateDepth = 0.04;
19853
+ _this._backplateColor = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Color3"](0.08, 0.15, 0.55);
19854
+ _this._backplateToggledColor = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Color3"](0.25, 0.4, 0.95);
19756
19855
  _this._shareMaterials = shareMaterials;
19757
19856
  _this.pointerEnterAnimation = function () {
19758
19857
  _this._frontMaterial.leftBlobEnable = true;
@@ -19857,8 +19956,8 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19857
19956
  this._tooltipMesh.isPickable = false;
19858
19957
  this._tooltipMesh.parent = this._backPlate;
19859
19958
  // Create text texture for the tooltip
19860
- this._tooltipTexture = _2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_6__["AdvancedDynamicTexture"].CreateForMesh(this._tooltipMesh);
19861
- this._tooltipTextBlock = new _2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_5__["TextBlock"]();
19959
+ this._tooltipTexture = _2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_7__["AdvancedDynamicTexture"].CreateForMesh(this._tooltipMesh);
19960
+ this._tooltipTextBlock = new _2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_6__["TextBlock"]();
19862
19961
  this._tooltipTextBlock.scaleY = 3;
19863
19962
  this._tooltipTextBlock.color = "white";
19864
19963
  this._tooltipTextBlock.fontSize = 130;
@@ -19982,11 +20081,11 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19982
20081
  };
19983
20082
  TouchHolographicButton.prototype._rebuildContent = function () {
19984
20083
  this._disposeFacadeTexture();
19985
- var panel = new _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_3__["StackPanel"]();
20084
+ var panel = new _2D_controls_stackPanel__WEBPACK_IMPORTED_MODULE_4__["StackPanel"]();
19986
20085
  panel.isVertical = true;
19987
20086
  if (babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["DomManagement"].IsDocumentAvailable() && !!document.createElement) {
19988
20087
  if (this._imageUrl) {
19989
- var image = new _2D_controls_image__WEBPACK_IMPORTED_MODULE_4__["Image"]();
20088
+ var image = new _2D_controls_image__WEBPACK_IMPORTED_MODULE_5__["Image"]();
19990
20089
  image.source = this._imageUrl;
19991
20090
  image.paddingTop = "40px";
19992
20091
  image.height = "180px";
@@ -19996,7 +20095,7 @@ var TouchHolographicButton = /** @class */ (function (_super) {
19996
20095
  }
19997
20096
  }
19998
20097
  if (this._text) {
19999
- var text = new _2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_5__["TextBlock"]();
20098
+ var text = new _2D_controls_textBlock__WEBPACK_IMPORTED_MODULE_6__["TextBlock"]();
20000
20099
  text.text = this._text;
20001
20100
  text.color = "white";
20002
20101
  text.height = "30px";
@@ -20010,7 +20109,7 @@ var TouchHolographicButton = /** @class */ (function (_super) {
20010
20109
  var _this = this;
20011
20110
  var _a;
20012
20111
  this.name = (_a = this.name) !== null && _a !== void 0 ? _a : "TouchHolographicButton";
20013
- var collisionMesh = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])(this.name + "_collisionMesh", {
20112
+ var collisionMesh = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])("".concat(this.name, "_collisionMesh"), {
20014
20113
  width: 1.0,
20015
20114
  height: 1.0,
20016
20115
  depth: this._frontPlateDepth,
@@ -20021,17 +20120,26 @@ var TouchHolographicButton = /** @class */ (function (_super) {
20021
20120
  collisionMesh.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(scene.useRightHandedSystem).scale(-this._frontPlateDepth / 2);
20022
20121
  babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["SceneLoader"].ImportMeshAsync(undefined, TouchHolographicButton.MODEL_BASE_URL, TouchHolographicButton.MODEL_FILENAME, scene)
20023
20122
  .then(function (result) {
20123
+ var alphaMesh = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])("${this.name}_alphaMesh", {
20124
+ width: 1.0,
20125
+ height: 1.0,
20126
+ depth: 1.0,
20127
+ }, scene);
20128
+ alphaMesh.isPickable = false;
20129
+ alphaMesh.material = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["StandardMaterial"]("${this.name}_alphaMesh_material", scene);
20130
+ alphaMesh.material.alpha = 0.15;
20024
20131
  var importedFrontPlate = result.meshes[1];
20025
- importedFrontPlate.name = _this.name + "_frontPlate";
20132
+ importedFrontPlate.name = "".concat(_this.name, "_frontPlate");
20026
20133
  importedFrontPlate.isPickable = false;
20027
20134
  importedFrontPlate.scaling.z = _this._frontPlateDepth;
20135
+ alphaMesh.parent = importedFrontPlate;
20028
20136
  importedFrontPlate.parent = collisionMesh;
20029
20137
  if (!!_this._frontMaterial) {
20030
20138
  importedFrontPlate.material = _this._frontMaterial;
20031
20139
  }
20032
20140
  _this._frontPlate = importedFrontPlate;
20033
20141
  });
20034
- this._backPlate = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])(this.name + "_backPlate", {
20142
+ this._backPlate = Object(babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["CreateBox"])("".concat(this.name, "_backPlate"), {
20035
20143
  width: 1.0,
20036
20144
  height: 1.0,
20037
20145
  depth: this._backPlateDepth,
@@ -20039,7 +20147,7 @@ var TouchHolographicButton = /** @class */ (function (_super) {
20039
20147
  this._backPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(scene.useRightHandedSystem).scale(-this._backPlateDepth / 2);
20040
20148
  this._backPlate.isPickable = false;
20041
20149
  this._textPlate = _super.prototype._createNode.call(this, scene);
20042
- this._textPlate.name = this.name + "_textPlate";
20150
+ this._textPlate.name = "".concat(this.name, "_textPlate");
20043
20151
  this._textPlate.isPickable = false;
20044
20152
  this._textPlate.position = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector3"].Forward(scene.useRightHandedSystem).scale(-this._frontPlateDepth / 2);
20045
20153
  this._backPlate.addChild(collisionMesh);
@@ -20054,16 +20162,29 @@ var TouchHolographicButton = /** @class */ (function (_super) {
20054
20162
  this._plateMaterial.diffuseColor = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Color3"](0.4, 0.4, 0.4);
20055
20163
  };
20056
20164
  TouchHolographicButton.prototype._createBackMaterial = function (mesh) {
20057
- this._backMaterial = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["StandardMaterial"](this.name + "Back Material", mesh.getScene());
20058
- this._backMaterial.diffuseColor = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Color3"](0.5, 0.5, 0.5);
20165
+ this._backMaterial = new _materials_fluent_fluentMaterial__WEBPACK_IMPORTED_MODULE_2__["FluentMaterial"](this.name + "backPlateMaterial", mesh.getScene());
20166
+ this._backMaterial.albedoColor = this._backplateColor;
20167
+ this._backMaterial.renderBorders = true;
20168
+ this._backMaterial.renderHoverLight = false;
20059
20169
  };
20060
20170
  TouchHolographicButton.prototype._createFrontMaterial = function (mesh) {
20061
- this._frontMaterial = new _materials_fluentButton_fluentButtonMaterial__WEBPACK_IMPORTED_MODULE_2__["FluentButtonMaterial"](this.name + "Front Material", mesh.getScene());
20171
+ this._frontMaterial = new _materials_fluentButton_fluentButtonMaterial__WEBPACK_IMPORTED_MODULE_3__["FluentButtonMaterial"](this.name + "Front Material", mesh.getScene());
20062
20172
  };
20063
20173
  TouchHolographicButton.prototype._createPlateMaterial = function (mesh) {
20064
20174
  this._plateMaterial = new babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["StandardMaterial"](this.name + "Plate Material", mesh.getScene());
20065
20175
  this._plateMaterial.specularColor = babylonjs_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Color3"].Black();
20066
20176
  };
20177
+ TouchHolographicButton.prototype._onToggle = function (newState) {
20178
+ if (this._backMaterial) {
20179
+ if (newState) {
20180
+ this._backMaterial.albedoColor = this._backplateToggledColor;
20181
+ }
20182
+ else {
20183
+ this._backMaterial.albedoColor = this._backplateColor;
20184
+ }
20185
+ }
20186
+ _super.prototype._onToggle.call(this, newState);
20187
+ };
20067
20188
  TouchHolographicButton.prototype._affectMaterial = function (mesh) {
20068
20189
  if (this._shareMaterials) {
20069
20190
  // Back
@@ -20124,7 +20245,7 @@ var TouchHolographicButton = /** @class */ (function (_super) {
20124
20245
  */
20125
20246
  TouchHolographicButton.MODEL_FILENAME = "mrtk-fluent-button.glb";
20126
20247
  return TouchHolographicButton;
20127
- }(_touchButton3D__WEBPACK_IMPORTED_MODULE_7__["TouchButton3D"]));
20248
+ }(_touchButton3D__WEBPACK_IMPORTED_MODULE_8__["TouchButton3D"]));
20128
20249
 
20129
20250
 
20130
20251
 
@@ -20188,7 +20309,7 @@ var TouchHolographicMenu = /** @class */ (function (_super) {
20188
20309
  configurable: true
20189
20310
  });
20190
20311
  TouchHolographicMenu.prototype._createNode = function (scene) {
20191
- var node = new babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__["Mesh"]("menu_" + this.name, scene);
20312
+ var node = new babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__["Mesh"]("menu_".concat(this.name), scene);
20192
20313
  this._backPlate = Object(babylonjs_Meshes_mesh__WEBPACK_IMPORTED_MODULE_2__["CreateBox"])("backPlate" + this.name, { size: 1 }, scene);
20193
20314
  this._backPlate.parent = node;
20194
20315
  return node;
@@ -20373,83 +20494,6 @@ var TouchMeshButton3D = /** @class */ (function (_super) {
20373
20494
 
20374
20495
 
20375
20496
 
20376
- /***/ }),
20377
-
20378
- /***/ "./3D/controls/touchToggleButton3D.ts":
20379
- /*!********************************************!*\
20380
- !*** ./3D/controls/touchToggleButton3D.ts ***!
20381
- \********************************************/
20382
- /*! exports provided: TouchToggleButton3D */
20383
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
20384
-
20385
- "use strict";
20386
- __webpack_require__.r(__webpack_exports__);
20387
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TouchToggleButton3D", function() { return TouchToggleButton3D; });
20388
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../node_modules/tslib/tslib.es6.js");
20389
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! babylonjs/Misc/observable */ "babylonjs/Misc/perfCounter");
20390
- /* harmony import */ var babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
20391
- /* harmony import */ var _touchButton3D__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./touchButton3D */ "./3D/controls/touchButton3D.ts");
20392
-
20393
-
20394
-
20395
- /**
20396
- * Class used as base class for touch-enabled toggleable buttons
20397
- */
20398
- var TouchToggleButton3D = /** @class */ (function (_super) {
20399
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(TouchToggleButton3D, _super);
20400
- /**
20401
- * Creates a new button
20402
- * @param name defines the control name
20403
- * @param collisionMesh defines the mesh to track near interactions with
20404
- */
20405
- function TouchToggleButton3D(name, collisionMesh) {
20406
- var _this = _super.call(this, name, collisionMesh) || this;
20407
- _this._isPressed = false;
20408
- /**
20409
- * An event triggered when the button is toggled on
20410
- */
20411
- _this.onToggleOnObservable = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
20412
- /**
20413
- * An event triggered when the button is toggled off
20414
- */
20415
- _this.onToggleOffObservable = new babylonjs_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
20416
- _this.onPointerUpObservable.add(function (posVecWithInfo) {
20417
- _this._onToggle(posVecWithInfo);
20418
- });
20419
- return _this;
20420
- }
20421
- TouchToggleButton3D.prototype._onToggle = function (position) {
20422
- this._isPressed = !this._isPressed;
20423
- if (this._isPressed) {
20424
- this.onToggleOnObservable.notifyObservers(position);
20425
- }
20426
- else {
20427
- this.onToggleOffObservable.notifyObservers(position);
20428
- }
20429
- };
20430
- TouchToggleButton3D.prototype._getTypeName = function () {
20431
- return "TouchToggleButton3D";
20432
- };
20433
- // Mesh association
20434
- TouchToggleButton3D.prototype._createNode = function (scene) {
20435
- return _super.prototype._createNode.call(this, scene);
20436
- };
20437
- TouchToggleButton3D.prototype._affectMaterial = function (mesh) {
20438
- _super.prototype._affectMaterial.call(this, mesh);
20439
- };
20440
- /**
20441
- * Releases all associated resources
20442
- */
20443
- TouchToggleButton3D.prototype.dispose = function () {
20444
- this.onToggleOnObservable.clear();
20445
- this.onToggleOffObservable.clear();
20446
- _super.prototype.dispose.call(this);
20447
- };
20448
- return TouchToggleButton3D;
20449
- }(_touchButton3D__WEBPACK_IMPORTED_MODULE_2__["TouchButton3D"]));
20450
-
20451
-
20452
-
20453
20497
  /***/ }),
20454
20498
 
20455
20499
  /***/ "./3D/controls/volumeBasedPanel.ts":
@@ -21560,7 +21604,7 @@ var GUI3DManager = /** @class */ (function () {
21560
21604
  /*!*********************!*\
21561
21605
  !*** ./3D/index.ts ***!
21562
21606
  \*********************/
21563
- /*! exports provided: AbstractButton3D, Button3D, Container3D, Control3D, CylinderPanel, HolographicButton, HolographicSlate, HandMenu, MeshButton3D, NearMenu, PlanePanel, ScatterPanel, Slider3D, SpherePanel, StackPanel3D, TouchButton3D, TouchMeshButton3D, TouchHolographicButton, TouchHolographicMenu, TouchToggleButton3D, VolumeBasedPanel, HolographicBackplate, FluentMaterialDefines, FluentMaterial, FluentButtonMaterial, FluentBackplateMaterial, HandleMaterial, MRDLSliderBarMaterial, MRDLSliderThumbMaterial, MRDLBackplateMaterial, SlateGizmo, HandleState, GizmoHandle, SideHandle, CornerHandle, GUI3DManager, Vector3WithInfo */
21607
+ /*! exports provided: AbstractButton3D, Button3D, Container3D, Control3D, CylinderPanel, HolographicButton, HolographicSlate, HandMenu, MeshButton3D, NearMenu, PlanePanel, ScatterPanel, Slider3D, SpherePanel, StackPanel3D, TouchButton3D, TouchMeshButton3D, TouchHolographicButton, TouchHolographicMenu, VolumeBasedPanel, HolographicBackplate, FluentMaterialDefines, FluentMaterial, FluentButtonMaterial, FluentBackplateMaterial, HandleMaterial, MRDLSliderBarMaterial, MRDLSliderThumbMaterial, MRDLBackplateMaterial, SlateGizmo, HandleState, GizmoHandle, SideHandle, CornerHandle, GUI3DManager, Vector3WithInfo */
21564
21608
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
21565
21609
 
21566
21610
  "use strict";
@@ -21604,8 +21648,6 @@ __webpack_require__.r(__webpack_exports__);
21604
21648
 
21605
21649
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TouchHolographicMenu", function() { return _controls_index__WEBPACK_IMPORTED_MODULE_0__["TouchHolographicMenu"]; });
21606
21650
 
21607
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TouchToggleButton3D", function() { return _controls_index__WEBPACK_IMPORTED_MODULE_0__["TouchToggleButton3D"]; });
21608
-
21609
21651
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VolumeBasedPanel", function() { return _controls_index__WEBPACK_IMPORTED_MODULE_0__["VolumeBasedPanel"]; });
21610
21652
 
21611
21653
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HolographicBackplate", function() { return _controls_index__WEBPACK_IMPORTED_MODULE_0__["HolographicBackplate"]; });
@@ -21742,7 +21784,7 @@ var FluentMaterial = /** @class */ (function (_super) {
21742
21784
  /**
21743
21785
  * Gets or sets the radius used to render the hover light (default is 1.0)
21744
21786
  */
21745
- _this.hoverRadius = 1.0;
21787
+ _this.hoverRadius = 0.01;
21746
21788
  /**
21747
21789
  * Gets or sets the color used to render the hover light (default is Color4(0.3, 0.3, 0.3, 1.0))
21748
21790
  */
@@ -21893,7 +21935,7 @@ var FluentMaterial = /** @class */ (function (_super) {
21893
21935
  return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new FluentMaterial(name, _this.getScene()); }, this);
21894
21936
  };
21895
21937
  FluentMaterial.prototype.serialize = function () {
21896
- var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this);
21938
+ var serializationObject = _super.prototype.serialize.call(this);
21897
21939
  serializationObject.customType = "BABYLON.GUI.FluentMaterial";
21898
21940
  return serializationObject;
21899
21941
  };
@@ -22181,8 +22223,8 @@ var FluentBackplateMaterial = /** @class */ (function (_super) {
22181
22223
  _this._globalRightIndexTipPosition4 = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector4"].Zero();
22182
22224
  _this.alphaMode = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Constants"].ALPHA_DISABLE;
22183
22225
  _this.backFaceCulling = false;
22184
- _this._blobTexture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](FluentBackplateMaterial.BLOB_TEXTURE_URL, scene, true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
22185
- _this._iridescentMap = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](FluentBackplateMaterial.IM_TEXTURE_URL, scene, true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
22226
+ _this._blobTexture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](FluentBackplateMaterial.BLOB_TEXTURE_URL, _this.getScene(), true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
22227
+ _this._iridescentMap = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](FluentBackplateMaterial.IM_TEXTURE_URL, _this.getScene(), true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
22186
22228
  return _this;
22187
22229
  }
22188
22230
  FluentBackplateMaterial.prototype.needAlphaBlending = function () {
@@ -22374,7 +22416,7 @@ var FluentBackplateMaterial = /** @class */ (function (_super) {
22374
22416
  return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new FluentBackplateMaterial(name, _this.getScene()); }, this);
22375
22417
  };
22376
22418
  FluentBackplateMaterial.prototype.serialize = function () {
22377
- var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this);
22419
+ var serializationObject = _super.prototype.serialize.call(this);
22378
22420
  serializationObject.customType = "BABYLON.FluentBackplateMaterial";
22379
22421
  return serializationObject;
22380
22422
  };
@@ -22735,7 +22777,7 @@ var FluentButtonMaterial = /** @class */ (function (_super) {
22735
22777
  _this.alphaMode = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Constants"].ALPHA_ADD;
22736
22778
  _this.disableDepthWrite = true;
22737
22779
  _this.backFaceCulling = false;
22738
- _this._blobTexture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](FluentButtonMaterial.BLOB_TEXTURE_URL, scene, true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
22780
+ _this._blobTexture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](FluentButtonMaterial.BLOB_TEXTURE_URL, _this.getScene(), true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
22739
22781
  return _this;
22740
22782
  }
22741
22783
  FluentButtonMaterial.prototype.needAlphaBlending = function () {
@@ -22956,7 +22998,7 @@ var FluentButtonMaterial = /** @class */ (function (_super) {
22956
22998
  return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new FluentButtonMaterial(name, _this.getScene()); }, this);
22957
22999
  };
22958
23000
  FluentButtonMaterial.prototype.serialize = function () {
22959
- var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this);
23001
+ var serializationObject = _super.prototype.serialize.call(this);
22960
23002
  serializationObject.customType = "BABYLON.FluentButtonMaterial";
22961
23003
  return serializationObject;
22962
23004
  };
@@ -23581,7 +23623,7 @@ var MRDLBackplateMaterial = /** @class */ (function (_super) {
23581
23623
  _this.edgeLineGradientBlend = 0.5;
23582
23624
  _this.alphaMode = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Constants"].ALPHA_DISABLE;
23583
23625
  _this.backFaceCulling = false;
23584
- _this._iridescentMapTexture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](MRDLBackplateMaterial.IRIDESCENT_MAP_TEXTURE_URL, scene, true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
23626
+ _this._iridescentMapTexture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](MRDLBackplateMaterial.IRIDESCENT_MAP_TEXTURE_URL, _this.getScene(), true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
23585
23627
  return _this;
23586
23628
  }
23587
23629
  MRDLBackplateMaterial.prototype.needAlphaBlending = function () {
@@ -23754,7 +23796,7 @@ var MRDLBackplateMaterial = /** @class */ (function (_super) {
23754
23796
  return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new MRDLBackplateMaterial(name, _this.getScene()); }, this);
23755
23797
  };
23756
23798
  MRDLBackplateMaterial.prototype.serialize = function () {
23757
- var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this);
23799
+ var serializationObject = _super.prototype.serialize.call(this);
23758
23800
  serializationObject.customType = "BABYLON.MRDLBackplateMaterial";
23759
23801
  return serializationObject;
23760
23802
  };
@@ -24196,7 +24238,7 @@ var MRDLSliderBarMaterial = /** @class */ (function (_super) {
24196
24238
  _this.globalRightIndexMiddlePosition = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Vector4"](0.0, 0.0, 0.0, 1.0);
24197
24239
  _this.alphaMode = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Constants"].ALPHA_DISABLE;
24198
24240
  _this.backFaceCulling = false;
24199
- _this._blueGradientTexture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](MRDLSliderBarMaterial.BLUE_GRADIENT_TEXTURE_URL, scene, true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
24241
+ _this._blueGradientTexture = new babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"](MRDLSliderBarMaterial.BLUE_GRADIENT_TEXTURE_URL, _this.getScene(), true, false, babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["Texture"].NEAREST_SAMPLINGMODE);
24200
24242
  return _this;
24201
24243
  }
24202
24244
  MRDLSliderBarMaterial.prototype.needAlphaBlending = function () {
@@ -24439,7 +24481,7 @@ var MRDLSliderBarMaterial = /** @class */ (function (_super) {
24439
24481
  return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new MRDLSliderBarMaterial(name, _this.getScene()); }, this);
24440
24482
  };
24441
24483
  MRDLSliderBarMaterial.prototype.serialize = function () {
24442
- var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this);
24484
+ var serializationObject = _super.prototype.serialize.call(this);
24443
24485
  serializationObject.customType = "BABYLON.MRDLSliderBarMaterial";
24444
24486
  return serializationObject;
24445
24487
  };
@@ -25244,7 +25286,7 @@ var MRDLSliderThumbMaterial = /** @class */ (function (_super) {
25244
25286
  return babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Clone(function () { return new MRDLSliderThumbMaterial(name, _this.getScene()); }, this);
25245
25287
  };
25246
25288
  MRDLSliderThumbMaterial.prototype.serialize = function () {
25247
- var serializationObject = babylonjs_Misc_decorators__WEBPACK_IMPORTED_MODULE_1__["SerializationHelper"].Serialize(this);
25289
+ var serializationObject = _super.prototype.serialize.call(this);
25248
25290
  serializationObject.customType = "BABYLON.MRDLSliderThumbMaterial";
25249
25291
  return serializationObject;
25250
25292
  };
@@ -25632,7 +25674,7 @@ var Vector3WithInfo = /** @class */ (function (_super) {
25632
25674
  /*!******************!*\
25633
25675
  !*** ./index.ts ***!
25634
25676
  \******************/
25635
- /*! exports provided: Button, Checkbox, ColorPicker, Container, Control, Ellipse, FocusableButton, Grid, Image, InputText, InputPassword, Line, MultiLine, RadioButton, StackPanel, SelectorGroup, CheckboxGroup, RadioGroup, SliderGroup, SelectionPanel, ScrollViewer, TextWrapping, TextBlock, TextWrapper, ToggleButton, KeyPropertySet, VirtualKeyboard, Rectangle, DisplayGrid, BaseSlider, Slider, ImageBasedSlider, ScrollBar, ImageScrollBar, name, AdvancedDynamicTexture, AdvancedDynamicTextureInstrumentation, Vector2WithInfo, Matrix2D, Measure, MultiLinePoint, Style, ValueAndUnit, XmlLoader, AbstractButton3D, Button3D, Container3D, Control3D, CylinderPanel, HolographicButton, HolographicSlate, HandMenu, MeshButton3D, NearMenu, PlanePanel, ScatterPanel, Slider3D, SpherePanel, StackPanel3D, TouchButton3D, TouchMeshButton3D, TouchHolographicButton, TouchHolographicMenu, TouchToggleButton3D, VolumeBasedPanel, HolographicBackplate, FluentMaterialDefines, FluentMaterial, FluentButtonMaterial, FluentBackplateMaterial, HandleMaterial, MRDLSliderBarMaterial, MRDLSliderThumbMaterial, MRDLBackplateMaterial, SlateGizmo, HandleState, GizmoHandle, SideHandle, CornerHandle, GUI3DManager, Vector3WithInfo */
25677
+ /*! exports provided: Button, Checkbox, ColorPicker, Container, Control, Ellipse, FocusableButton, Grid, Image, InputText, InputPassword, Line, MultiLine, RadioButton, StackPanel, SelectorGroup, CheckboxGroup, RadioGroup, SliderGroup, SelectionPanel, ScrollViewer, TextWrapping, TextBlock, TextWrapper, ToggleButton, KeyPropertySet, VirtualKeyboard, Rectangle, DisplayGrid, BaseSlider, Slider, ImageBasedSlider, ScrollBar, ImageScrollBar, name, AdvancedDynamicTexture, AdvancedDynamicTextureInstrumentation, Vector2WithInfo, Matrix2D, Measure, MultiLinePoint, Style, ValueAndUnit, XmlLoader, AbstractButton3D, Button3D, Container3D, Control3D, CylinderPanel, HolographicButton, HolographicSlate, HandMenu, MeshButton3D, NearMenu, PlanePanel, ScatterPanel, Slider3D, SpherePanel, StackPanel3D, TouchButton3D, TouchMeshButton3D, TouchHolographicButton, TouchHolographicMenu, VolumeBasedPanel, HolographicBackplate, FluentMaterialDefines, FluentMaterial, FluentButtonMaterial, FluentBackplateMaterial, HandleMaterial, MRDLSliderBarMaterial, MRDLSliderThumbMaterial, MRDLBackplateMaterial, SlateGizmo, HandleState, GizmoHandle, SideHandle, CornerHandle, GUI3DManager, Vector3WithInfo */
25636
25678
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
25637
25679
 
25638
25680
  "use strict";
@@ -25765,8 +25807,6 @@ __webpack_require__.r(__webpack_exports__);
25765
25807
 
25766
25808
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TouchHolographicMenu", function() { return _3D_index__WEBPACK_IMPORTED_MODULE_1__["TouchHolographicMenu"]; });
25767
25809
 
25768
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TouchToggleButton3D", function() { return _3D_index__WEBPACK_IMPORTED_MODULE_1__["TouchToggleButton3D"]; });
25769
-
25770
25810
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VolumeBasedPanel", function() { return _3D_index__WEBPACK_IMPORTED_MODULE_1__["VolumeBasedPanel"]; });
25771
25811
 
25772
25812
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HolographicBackplate", function() { return _3D_index__WEBPACK_IMPORTED_MODULE_1__["HolographicBackplate"]; });
@@ -25811,7 +25851,7 @@ __webpack_require__.r(__webpack_exports__);
25811
25851
  /*!**************************!*\
25812
25852
  !*** ./legacy/legacy.ts ***!
25813
25853
  \**************************/
25814
- /*! exports provided: Button, Checkbox, ColorPicker, Container, Control, Ellipse, FocusableButton, Grid, Image, InputText, InputPassword, Line, MultiLine, RadioButton, StackPanel, SelectorGroup, CheckboxGroup, RadioGroup, SliderGroup, SelectionPanel, ScrollViewer, TextWrapping, TextBlock, TextWrapper, ToggleButton, KeyPropertySet, VirtualKeyboard, Rectangle, DisplayGrid, BaseSlider, Slider, ImageBasedSlider, ScrollBar, ImageScrollBar, name, AdvancedDynamicTexture, AdvancedDynamicTextureInstrumentation, Vector2WithInfo, Matrix2D, Measure, MultiLinePoint, Style, ValueAndUnit, XmlLoader, AbstractButton3D, Button3D, Container3D, Control3D, CylinderPanel, HolographicButton, HolographicSlate, HandMenu, MeshButton3D, NearMenu, PlanePanel, ScatterPanel, Slider3D, SpherePanel, StackPanel3D, TouchButton3D, TouchMeshButton3D, TouchHolographicButton, TouchHolographicMenu, TouchToggleButton3D, VolumeBasedPanel, HolographicBackplate, FluentMaterialDefines, FluentMaterial, FluentButtonMaterial, FluentBackplateMaterial, HandleMaterial, MRDLSliderBarMaterial, MRDLSliderThumbMaterial, MRDLBackplateMaterial, SlateGizmo, HandleState, GizmoHandle, SideHandle, CornerHandle, GUI3DManager, Vector3WithInfo */
25854
+ /*! exports provided: Button, Checkbox, ColorPicker, Container, Control, Ellipse, FocusableButton, Grid, Image, InputText, InputPassword, Line, MultiLine, RadioButton, StackPanel, SelectorGroup, CheckboxGroup, RadioGroup, SliderGroup, SelectionPanel, ScrollViewer, TextWrapping, TextBlock, TextWrapper, ToggleButton, KeyPropertySet, VirtualKeyboard, Rectangle, DisplayGrid, BaseSlider, Slider, ImageBasedSlider, ScrollBar, ImageScrollBar, name, AdvancedDynamicTexture, AdvancedDynamicTextureInstrumentation, Vector2WithInfo, Matrix2D, Measure, MultiLinePoint, Style, ValueAndUnit, XmlLoader, AbstractButton3D, Button3D, Container3D, Control3D, CylinderPanel, HolographicButton, HolographicSlate, HandMenu, MeshButton3D, NearMenu, PlanePanel, ScatterPanel, Slider3D, SpherePanel, StackPanel3D, TouchButton3D, TouchMeshButton3D, TouchHolographicButton, TouchHolographicMenu, VolumeBasedPanel, HolographicBackplate, FluentMaterialDefines, FluentMaterial, FluentButtonMaterial, FluentBackplateMaterial, HandleMaterial, MRDLSliderBarMaterial, MRDLSliderThumbMaterial, MRDLBackplateMaterial, SlateGizmo, HandleState, GizmoHandle, SideHandle, CornerHandle, GUI3DManager, Vector3WithInfo */
25815
25855
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
25816
25856
 
25817
25857
  "use strict";
@@ -25943,8 +25983,6 @@ __webpack_require__.r(__webpack_exports__);
25943
25983
 
25944
25984
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TouchHolographicMenu", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["TouchHolographicMenu"]; });
25945
25985
 
25946
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TouchToggleButton3D", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["TouchToggleButton3D"]; });
25947
-
25948
25986
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VolumeBasedPanel", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["VolumeBasedPanel"]; });
25949
25987
 
25950
25988
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HolographicBackplate", function() { return _index__WEBPACK_IMPORTED_MODULE_0__["HolographicBackplate"]; });