@babylonjs/inspector 5.0.0-beta.5 → 5.0.0-beta.9

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.
@@ -45499,10 +45499,11 @@ var TextureLineComponent = /** @class */ (function (_super) {
45499
45499
  this.updatePreview();
45500
45500
  };
45501
45501
  TextureLineComponent.prototype.updatePreview = function () {
45502
+ var _a;
45502
45503
  return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function () {
45503
- var previewCanvas, texture, size, ratio, width, height, data, context, imageData, castData, e_1;
45504
- return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_a) {
45505
- switch (_a.label) {
45504
+ var previewCanvas, texture, size, ratio, width, height, engine, data, context, imageData, castData, e_1;
45505
+ return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_b) {
45506
+ switch (_b.label) {
45506
45507
  case 0:
45507
45508
  previewCanvas = this.canvasRef.current;
45508
45509
  texture = this.props.texture;
@@ -45510,12 +45511,18 @@ var TextureLineComponent = /** @class */ (function (_super) {
45510
45511
  ratio = size.width / size.height;
45511
45512
  width = this.props.width;
45512
45513
  height = (width / ratio) | 1;
45513
- _a.label = 1;
45514
+ engine = (_a = this.props.texture.getScene()) === null || _a === void 0 ? void 0 : _a.getEngine();
45515
+ if (engine && height > engine.getCaps().maxTextureSize) {
45516
+ // the texture.width/texture.height ratio is too small, so use the real width/height dimensions of the texture instead of the canvas width/computed height
45517
+ width = this.props.texture.getSize().width;
45518
+ height = this.props.texture.getSize().height;
45519
+ }
45520
+ _b.label = 1;
45514
45521
  case 1:
45515
- _a.trys.push([1, 3, , 4]);
45522
+ _b.trys.push([1, 3, , 4]);
45516
45523
  return [4 /*yield*/, _textureHelper__WEBPACK_IMPORTED_MODULE_3__["TextureHelper"].GetTextureDataAsync(texture, width, height, this.state.face, this.state.channels, this.props.globalState)];
45517
45524
  case 2:
45518
- data = _a.sent();
45525
+ data = _b.sent();
45519
45526
  previewCanvas.width = width;
45520
45527
  previewCanvas.height = height;
45521
45528
  context = previewCanvas.getContext("2d");
@@ -45528,7 +45535,7 @@ var TextureLineComponent = /** @class */ (function (_super) {
45528
45535
  previewCanvas.style.height = height + "px";
45529
45536
  return [3 /*break*/, 4];
45530
45537
  case 3:
45531
- e_1 = _a.sent();
45538
+ e_1 = _b.sent();
45532
45539
  previewCanvas.width = width;
45533
45540
  previewCanvas.height = height;
45534
45541
  previewCanvas.style.height = height + "px";
@@ -46743,7 +46750,7 @@ var PropertyGridTabComponent = /** @class */ (function (_super) {
46743
46750
  }
46744
46751
  if (className === "RadioButton") {
46745
46752
  var radioButton = entity;
46746
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_tabs_propertyGrids_gui_radioButtonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_27__["RadioButtonPropertyGridComponent"], { radioButton: radioButton, lockObject: this._lockObject, onPropertyChangedObservable: this.props.onPropertyChangedObservable }));
46753
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_tabs_propertyGrids_gui_radioButtonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_27__["RadioButtonPropertyGridComponent"], { radioButtons: [radioButton], lockObject: this._lockObject, onPropertyChangedObservable: this.props.onPropertyChangedObservable }));
46747
46754
  }
46748
46755
  if (className === "Line") {
46749
46756
  var line = entity;
@@ -47151,7 +47158,7 @@ var AnimationCurveEditorComponent = /** @class */ (function (_super) {
47151
47158
  }
47152
47159
  this.setState({ isOpen: false });
47153
47160
  this.props.context.activeAnimations = [];
47154
- this.props.context.onActiveAnimationChanged.notifyObservers();
47161
+ this.props.context.onActiveAnimationChanged.notifyObservers({});
47155
47162
  };
47156
47163
  AnimationCurveEditorComponent.prototype.shouldComponentUpdate = function (newProps, newState) {
47157
47164
  var _this = this;
@@ -47163,7 +47170,7 @@ var AnimationCurveEditorComponent = /** @class */ (function (_super) {
47163
47170
  _this.props.context.activeAnimations.push(_this.props.context.useTargetAnimations
47164
47171
  ? _this.props.context.animations[0].animation
47165
47172
  : _this.props.context.animations[0]);
47166
- _this.props.context.onActiveAnimationChanged.notifyObservers();
47173
+ _this.props.context.onActiveAnimationChanged.notifyObservers({});
47167
47174
  });
47168
47175
  }
47169
47176
  }
@@ -48019,6 +48026,7 @@ __webpack_require__.r(__webpack_exports__);
48019
48026
  /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babylonjs/core/Misc/observable */ "@babylonjs/core/Misc/observable");
48020
48027
  /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
48021
48028
 
48029
+ ;
48022
48030
  var Context = /** @class */ (function () {
48023
48031
  function Context() {
48024
48032
  this.activeAnimations = [];
@@ -48928,13 +48936,16 @@ var GraphComponent = /** @class */ (function (_super) {
48928
48936
  _this.props.context.onHostWindowResized.add(function () {
48929
48937
  _this._computeSizes();
48930
48938
  });
48931
- _this._onActiveAnimationChangedObserver = _this.props.context.onActiveAnimationChanged.add(function () {
48932
- _this._evaluateKeys();
48939
+ _this._onActiveAnimationChangedObserver = _this.props.context.onActiveAnimationChanged.add(function (_a) {
48940
+ var _b = _a.evaluateKeys, evaluateKeys = _b === void 0 ? true : _b, _c = _a.frame, frame = _c === void 0 ? true : _c, _d = _a.range, range = _d === void 0 ? true : _d;
48941
+ if (evaluateKeys) {
48942
+ _this._evaluateKeys(frame, range);
48943
+ }
48933
48944
  _this._computeSizes();
48934
48945
  _this.forceUpdate();
48935
48946
  });
48936
48947
  _this.props.context.onFrameRequired.add(function () {
48937
- _this._frame();
48948
+ _this._frameFromActiveKeys();
48938
48949
  _this.forceUpdate();
48939
48950
  });
48940
48951
  _this.props.context.onRangeUpdated.add(function () {
@@ -48970,9 +48981,12 @@ var GraphComponent = /** @class */ (function (_super) {
48970
48981
  if (deletedFrame !== null) {
48971
48982
  _this.props.context.moveToFrame(deletedFrame);
48972
48983
  }
48973
- _this.props.context.activeKeyPoints = [];
48974
48984
  }
48975
- _this.props.context.onActiveAnimationChanged.notifyObservers();
48985
+ _this._evaluateKeys(false, false);
48986
+ _this.props.context.activeKeyPoints = [];
48987
+ _this.props.context.onActiveKeyPointChanged.notifyObservers();
48988
+ _this.props.context.onActiveAnimationChanged.notifyObservers({ evaluateKeys: false });
48989
+ _this.forceUpdate();
48976
48990
  });
48977
48991
  // Create or Update keypoint
48978
48992
  _this.props.context.onCreateOrUpdateKeyPointRequired.add(function () {
@@ -49065,7 +49079,7 @@ var GraphComponent = /** @class */ (function (_super) {
49065
49079
  _this._evaluateKeys(false, false);
49066
49080
  _this.props.context.activeKeyPoints = [];
49067
49081
  _this.props.context.onActiveKeyPointChanged.notifyObservers();
49068
- _this.props.context.onActiveAnimationChanged.notifyObservers();
49082
+ _this.props.context.onActiveAnimationChanged.notifyObservers({ evaluateKeys: false });
49069
49083
  _this.forceUpdate();
49070
49084
  });
49071
49085
  return _this;
@@ -49106,10 +49120,6 @@ var GraphComponent = /** @class */ (function (_super) {
49106
49120
  return;
49107
49121
  }
49108
49122
  this._curves = [];
49109
- this._minValue = Number.MAX_VALUE;
49110
- this._maxValue = -Number.MAX_VALUE;
49111
- this._minFrame = Number.MAX_VALUE;
49112
- this._maxFrame = -Number.MAX_VALUE;
49113
49123
  for (var _i = 0, _b = this.props.context.activeAnimations; _i < _b.length; _i++) {
49114
49124
  var animation = _b[_i];
49115
49125
  var keys = animation.getKeys();
@@ -49155,7 +49165,7 @@ var GraphComponent = /** @class */ (function (_super) {
49155
49165
  }
49156
49166
  }
49157
49167
  if (frame) {
49158
- this._frame();
49168
+ this._frameFromActiveKeys();
49159
49169
  }
49160
49170
  };
49161
49171
  GraphComponent.prototype._extractValuesFromKeys = function (keys, dataType, curvesToPushTo, propertyFilter) {
@@ -49504,16 +49514,17 @@ var GraphComponent = /** @class */ (function (_super) {
49504
49514
  } }, text)));
49505
49515
  });
49506
49516
  };
49507
- GraphComponent.prototype._frame = function () {
49517
+ GraphComponent.prototype._frameFromActiveKeys = function () {
49508
49518
  if (this.props.context.activeAnimations.length === 0) {
49509
49519
  return;
49510
49520
  }
49511
49521
  this._offsetX = 20;
49512
49522
  this._offsetY = 20;
49513
- this._minValue = Number.MAX_VALUE;
49514
- this._maxValue = -Number.MAX_VALUE;
49515
- this._minFrame = Number.MAX_VALUE;
49516
- this._maxFrame = -Number.MAX_VALUE;
49523
+ var minValue = Number.MAX_VALUE;
49524
+ var maxValue = -Number.MAX_VALUE;
49525
+ var minFrame = Number.MAX_VALUE;
49526
+ var maxFrame = -Number.MAX_VALUE;
49527
+ var hasRange = false;
49517
49528
  var _loop_1 = function (animation) {
49518
49529
  var propertyFilter = undefined;
49519
49530
  var activeChannel = this_1.props.context.getActiveChannel(animation);
@@ -49524,13 +49535,19 @@ var GraphComponent = /** @class */ (function (_super) {
49524
49535
  }
49525
49536
  }
49526
49537
  var keys = animation.getKeys();
49527
- // Only keep selected keys
49528
- if (this_1.props.context.activeKeyPoints && this_1.props.context.activeKeyPoints.length > 1) {
49538
+ // Only keep selected keys, the previous sibling to the first key, and the next sibling of the last key
49539
+ if (this_1.props.context.activeKeyPoints && this_1.props.context.activeKeyPoints.length > 0) {
49529
49540
  var newKeys = [];
49530
- for (var _b = 0, _c = this_1.props.context.activeKeyPoints; _b < _c.length; _b++) {
49531
- var keyPoint = _c[_b];
49541
+ for (var i = 0; i < this_1.props.context.activeKeyPoints.length; i++) {
49542
+ var keyPoint = this_1.props.context.activeKeyPoints[i];
49532
49543
  if (keyPoint.props.curve.animation === animation) {
49533
49544
  newKeys.push(keys[keyPoint.props.keyId]);
49545
+ if (i === 0 && keyPoint.props.keyId >= 1) {
49546
+ newKeys.unshift(keys[keyPoint.props.keyId - 1]);
49547
+ }
49548
+ if (i === this_1.props.context.activeKeyPoints.length - 1 && keyPoint.props.keyId < keys.length - 1) {
49549
+ newKeys.push(keys[keyPoint.props.keyId + 1]);
49550
+ }
49534
49551
  }
49535
49552
  }
49536
49553
  keys = newKeys;
@@ -49539,16 +49556,24 @@ var GraphComponent = /** @class */ (function (_super) {
49539
49556
  return "continue";
49540
49557
  }
49541
49558
  var values = this_1._extractValuesFromKeys(keys, animation.dataType, undefined, propertyFilter);
49542
- this_1._minValue = Math.min(this_1._minValue, values.min);
49543
- this_1._maxValue = Math.max(this_1._maxValue, values.max);
49544
- this_1._minFrame = Math.min(this_1._minFrame, keys[0].frame);
49545
- this_1._maxFrame = Math.max(this_1._maxFrame, keys[keys.length - 1].frame);
49559
+ minValue = Math.min(minValue, values.min);
49560
+ maxValue = Math.max(maxValue, values.max);
49561
+ minFrame = Math.min(minFrame, keys[0].frame);
49562
+ maxFrame = Math.max(maxFrame, keys[keys.length - 1].frame);
49563
+ hasRange = true;
49546
49564
  };
49547
49565
  var this_1 = this;
49548
49566
  for (var _i = 0, _a = this.props.context.activeAnimations; _i < _a.length; _i++) {
49549
49567
  var animation = _a[_i];
49550
49568
  _loop_1(animation);
49551
49569
  }
49570
+ if (!hasRange) {
49571
+ return;
49572
+ }
49573
+ this._minFrame = minFrame;
49574
+ this._maxFrame = maxFrame;
49575
+ this._minValue = minValue;
49576
+ this._maxValue = maxValue;
49552
49577
  this.props.context.referenceMinFrame = this._minFrame;
49553
49578
  this.props.context.referenceMaxFrame = this._maxFrame;
49554
49579
  var frameConvert = Math.abs(this._convertX(this._maxFrame) - this._convertX(this._minFrame)) + this._offsetX * 2;
@@ -50707,6 +50732,16 @@ var AddAnimationComponent = /** @class */ (function (_super) {
50707
50732
  ? this.props.context.animations[0].animation.framePerSecond
50708
50733
  : this.props.context.animations[0].framePerSecond
50709
50734
  : 60;
50735
+ var minFrame = this.props.context.referenceMinFrame;
50736
+ var maxFrame = this.props.context.referenceMaxFrame;
50737
+ if (this.props.context.animations) {
50738
+ for (var _i = 0, _a = this.props.context.animations; _i < _a.length; _i++) {
50739
+ var anim = _a[_i];
50740
+ var innerAnim = this.props.context.useTargetAnimations ? anim.animation : anim;
50741
+ minFrame = Math.min(minFrame, innerAnim.getKeys()[0].frame);
50742
+ maxFrame = Math.max(maxFrame, innerAnim.getKeys()[innerAnim.getKeys().length - 1].frame);
50743
+ }
50744
+ }
50710
50745
  var dataType = 0;
50711
50746
  var loopMode = 0;
50712
50747
  var defaultValue0;
@@ -50794,13 +50829,13 @@ var AddAnimationComponent = /** @class */ (function (_super) {
50794
50829
  var animation = new _babylonjs_core_Animations_animation__WEBPACK_IMPORTED_MODULE_2__["Animation"](displayName, property, fps, dataType, loopMode);
50795
50830
  var keys = [];
50796
50831
  keys.push({
50797
- frame: context.referenceMinFrame,
50832
+ frame: minFrame,
50798
50833
  value: defaultValue0,
50799
50834
  inTangent: defaultInTangent0,
50800
50835
  outTangent: defaultOutTangent0
50801
50836
  });
50802
50837
  keys.push({
50803
- frame: context.referenceMaxFrame,
50838
+ frame: maxFrame,
50804
50839
  value: defaultValue1,
50805
50840
  inTangent: defaultInTangent1,
50806
50841
  outTangent: defaultOutTangent1
@@ -50818,7 +50853,7 @@ var AddAnimationComponent = /** @class */ (function (_super) {
50818
50853
  }
50819
50854
  context.activeAnimations.push(animation);
50820
50855
  context.prepare();
50821
- context.onActiveAnimationChanged.notifyObservers();
50856
+ context.onActiveAnimationChanged.notifyObservers({});
50822
50857
  context.onAnimationsLoaded.notifyObservers();
50823
50858
  };
50824
50859
  AddAnimationComponent.prototype.getInferredType = function (activeProperty) {
@@ -51017,7 +51052,7 @@ var AnimationEntryComponent = /** @class */ (function (_super) {
51017
51052
  to: this.props.context.getAnimationSortIndex(this.props.animation),
51018
51053
  };
51019
51054
  this.props.context.onSelectToActivated.notifyObservers(payload);
51020
- this.props.context.onActiveAnimationChanged.notifyObservers();
51055
+ this.props.context.onActiveAnimationChanged.notifyObservers({});
51021
51056
  }
51022
51057
  return;
51023
51058
  }
@@ -51035,7 +51070,7 @@ var AnimationEntryComponent = /** @class */ (function (_super) {
51035
51070
  }
51036
51071
  }
51037
51072
  this.props.context.disableChannel(this.props.animation);
51038
- this.props.context.onActiveAnimationChanged.notifyObservers();
51073
+ this.props.context.onActiveAnimationChanged.notifyObservers({});
51039
51074
  };
51040
51075
  AnimationEntryComponent.prototype._expandOrCollapse = function () {
51041
51076
  this.setState({ isExpanded: !this.state.isExpanded });
@@ -51170,7 +51205,7 @@ var AnimationSubEntryComponent = /** @class */ (function (_super) {
51170
51205
  }
51171
51206
  }
51172
51207
  _this.state = { isSelected: isSelected };
51173
- _this._onActiveAnimationChangedObserver = props.context.onActiveAnimationChanged.add(function (animation) {
51208
+ _this._onActiveAnimationChangedObserver = props.context.onActiveAnimationChanged.add(function () {
51174
51209
  _this.forceUpdate();
51175
51210
  });
51176
51211
  _this._onActiveKeyPointChangedObserver = _this.props.context.onActiveKeyPointChanged.add(function () {
@@ -51213,7 +51248,7 @@ var AnimationSubEntryComponent = /** @class */ (function (_super) {
51213
51248
  }
51214
51249
  }
51215
51250
  this.props.context.enableChannel(this.props.animation, this.props.color);
51216
- this.props.context.onActiveAnimationChanged.notifyObservers();
51251
+ this.props.context.onActiveAnimationChanged.notifyObservers({});
51217
51252
  };
51218
51253
  AnimationSubEntryComponent.prototype.render = function () {
51219
51254
  var _this = this;
@@ -51391,7 +51426,7 @@ var LoadAnimationComponent = /** @class */ (function (_super) {
51391
51426
  context.activeAnimations = animations.length ? animations : [];
51392
51427
  context.prepare();
51393
51428
  context.onAnimationsLoaded.notifyObservers();
51394
- context.onActiveAnimationChanged.notifyObservers();
51429
+ context.onActiveAnimationChanged.notifyObservers({});
51395
51430
  }, undefined, true);
51396
51431
  evt.target.value = "";
51397
51432
  };
@@ -51413,7 +51448,7 @@ var LoadAnimationComponent = /** @class */ (function (_super) {
51413
51448
  context.activeAnimations = context.animations.length ? context.animations : [];
51414
51449
  context.prepare();
51415
51450
  context.onAnimationsLoaded.notifyObservers();
51416
- context.onActiveAnimationChanged.notifyObservers();
51451
+ context.onActiveAnimationChanged.notifyObservers({});
51417
51452
  })
51418
51453
  .catch(function (err) {
51419
51454
  var _a;
@@ -51622,7 +51657,7 @@ var SideBarComponent = /** @class */ (function (_super) {
51622
51657
  var indexInActiveList = _this.props.context.activeAnimations.indexOf(animationToDelete);
51623
51658
  if (indexInActiveList !== -1) {
51624
51659
  _this.props.context.activeAnimations.splice(indexInActiveList, 1);
51625
- _this.props.context.onActiveAnimationChanged.notifyObservers();
51660
+ _this.props.context.onActiveAnimationChanged.notifyObservers({});
51626
51661
  }
51627
51662
  var index = -1;
51628
51663
  if (_this.props.context.useTargetAnimations) {
@@ -56743,13 +56778,6 @@ var SkeletonPropertyGridComponent = /** @class */ (function (_super) {
56743
56778
  }
56744
56779
  return true;
56745
56780
  };
56746
- SkeletonPropertyGridComponent.prototype.onOverrideMeshLink = function () {
56747
- if (!this.props.globalState.onSelectionChangedObservable) {
56748
- return;
56749
- }
56750
- var skeleton = this.props.skeleton;
56751
- this.props.globalState.onSelectionChangedObservable.notifyObservers(skeleton.overrideMesh);
56752
- };
56753
56781
  SkeletonPropertyGridComponent.prototype.render = function () {
56754
56782
  var _this = this;
56755
56783
  var skeleton = this.props.skeleton;
@@ -56785,7 +56813,6 @@ var SkeletonPropertyGridComponent = /** @class */ (function (_super) {
56785
56813
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GENERAL", selection: this.props.globalState },
56786
56814
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "ID", value: skeleton.id }),
56787
56815
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Bone count", value: skeleton.bones.length.toString() }),
56788
- skeleton.overrideMesh && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "Override mesh", value: skeleton.overrideMesh.name, onLink: function () { return _this.onOverrideMeshLink(); } }),
56789
56816
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "Use texture to store matrices", target: skeleton, propertyName: "useTextureToStoreBoneMatrices", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
56790
56817
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_10__["ButtonLineComponent"], { label: "Return to rest", onClick: function () { return skeleton.returnToRest(); } })),
56791
56818
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "DEBUG", selection: this.props.globalState },
@@ -59643,7 +59670,11 @@ var ToolsTabComponent = /** @class */ (function (_super) {
59643
59670
  filesInputAnimation.loadFiles(event);
59644
59671
  };
59645
59672
  ToolsTabComponent.prototype.shouldExport = function (node) {
59646
- // No skybox
59673
+ // Exclude disabled
59674
+ if (!node.isEnabled()) {
59675
+ return false;
59676
+ }
59677
+ // Exclude skybox
59647
59678
  if (node instanceof _babylonjs_core_Misc_videoRecorder__WEBPACK_IMPORTED_MODULE_5__["Mesh"]) {
59648
59679
  if (node.material) {
59649
59680
  var material = node.material;
@@ -60229,11 +60260,9 @@ var CanvasGraphComponent = function (props) {
60229
60260
  "use strict";
60230
60261
  __webpack_require__.r(__webpack_exports__);
60231
60262
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CanvasGraphService", function() { return CanvasGraphService; });
60232
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
60233
- /* harmony import */ var _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./graphSupportingTypes */ "./components/graph/graphSupportingTypes.ts");
60234
- /* harmony import */ var _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babylonjs/core/Maths/math.scalar */ "@babylonjs/core/Misc/observable");
60235
- /* harmony import */ var _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__);
60236
-
60263
+ /* harmony import */ var _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./graphSupportingTypes */ "./components/graph/graphSupportingTypes.ts");
60264
+ /* harmony import */ var _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babylonjs/core/Maths/math.scalar */ "@babylonjs/core/Misc/observable");
60265
+ /* harmony import */ var _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__);
60237
60266
 
60238
60267
 
60239
60268
 
@@ -60289,6 +60318,8 @@ var drawThrottleTime = 15;
60289
60318
  var maxXDistancePercBetweenLinePoints = 0.1;
60290
60319
  // Color used to draw the rectangle that indicates no collection of data
60291
60320
  var noDataRectangleColor = "#aaaaaa";
60321
+ var smoothingFactor = 0.2; // factor to smooth the graph with
60322
+ var rangeMargin = 0.1; // extra margin to expand the min/max range on the graph
60292
60323
  /**
60293
60324
  * This function will debounce calls to functions.
60294
60325
  *
@@ -60392,7 +60423,7 @@ var CanvasGraphService = /** @class */ (function () {
60392
60423
  _this._position = null;
60393
60424
  }
60394
60425
  // Bind the zoom between [minZoom, maxZoom]
60395
- _this._sizeOfWindow = _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["Scalar"].Clamp(_this._sizeOfWindow - amount, minZoom, maxZoom);
60426
+ _this._sizeOfWindow = _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["Scalar"].Clamp(_this._sizeOfWindow - amount, minZoom, maxZoom);
60396
60427
  };
60397
60428
  /**
60398
60429
  * Initializes the panning object and attaches appropriate listener.
@@ -60427,7 +60458,7 @@ var CanvasGraphService = /** @class */ (function () {
60427
60458
  var itemsDelta = (pixelDelta / pixelsPerItem) | 0;
60428
60459
  var pos = (_a = _this._position) !== null && _a !== void 0 ? _a : _this._getNumberOfSlices() - 1;
60429
60460
  // update our position without allowing the user to pan more than they need to (approximation)
60430
- _this._position = _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["Scalar"].Clamp(pos - itemsDelta, Math.floor(_this._sizeOfWindow * scaleFactor), _this._getNumberOfSlices() - Math.floor(_this._sizeOfWindow * (1 - scaleFactor)));
60461
+ _this._position = _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["Scalar"].Clamp(pos - itemsDelta, Math.floor(_this._sizeOfWindow * scaleFactor), _this._getNumberOfSlices() - Math.floor(_this._sizeOfWindow * (1 - scaleFactor)));
60431
60462
  if (itemsDelta === 0) {
60432
60463
  _this._panPosition.delta += pixelDelta;
60433
60464
  }
@@ -60562,7 +60593,7 @@ var CanvasGraphService = /** @class */ (function () {
60562
60593
  this._datasetBounds.end = this._getClosestPointToTimestamp(bufferMaximum) + 1;
60563
60594
  // keep track of largest timestamp value in view!
60564
60595
  this._globalTimeMinMax.max = Math.max(this.datasets.data.at(this.datasets.startingIndices.at(this._datasetBounds.end - 1)), this._globalTimeMinMax.max);
60565
- var updatedScaleFactor = _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["Scalar"].Clamp((this._globalTimeMinMax.max - this._globalTimeMinMax.min) / (bufferMaximum - this._globalTimeMinMax.min), scaleFactor, 1);
60596
+ var updatedScaleFactor = _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["Scalar"].Clamp((this._globalTimeMinMax.max - this._globalTimeMinMax.min) / (bufferMaximum - this._globalTimeMinMax.min), scaleFactor, 1);
60566
60597
  // we will now set the global maximum to the maximum of the buffer.
60567
60598
  this._globalTimeMinMax.max = bufferMaximum;
60568
60599
  this._drawableArea.top = 0;
@@ -60583,18 +60614,13 @@ var CanvasGraphService = /** @class */ (function () {
60583
60614
  var valueMinMax;
60584
60615
  var prevPoint = _this._prevPointById.get(id);
60585
60616
  var prevValue = _this._prevValueById.get(id);
60586
- // we have already calculated the min and max while getting the tickers, so use those.
60617
+ var ticker = false;
60587
60618
  for (var i = 0; i < _this._numberOfTickers; i++) {
60588
60619
  if (_this._tickerItems[i].id === id) {
60589
- valueMinMax = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, _this._tickerItems[i]);
60590
- // Extend the min max range by 1% of its total range
60591
- var delta = valueMinMax.max - valueMinMax.min;
60592
- valueMinMax.min -= 0.01 * delta;
60593
- valueMinMax.max += 0.01 * delta;
60620
+ ticker = true;
60594
60621
  }
60595
60622
  }
60596
- // if we could not find the min max object it must be hidden so we skip.
60597
- if (!valueMinMax) {
60623
+ if (!ticker) {
60598
60624
  return;
60599
60625
  }
60600
60626
  ctx.beginPath();
@@ -60606,20 +60632,37 @@ var CanvasGraphService = /** @class */ (function () {
60606
60632
  else if (_this._preprocessedTooltipInfo.focusedId !== "") {
60607
60633
  ctx.globalAlpha = backgroundLineAlpha;
60608
60634
  }
60609
- var smoothingFactor = 0.2;
60635
+ var values = new Array(_this._datasetBounds.end - _this._datasetBounds.start);
60610
60636
  for (var pointIndex = _this._datasetBounds.start; pointIndex < _this._datasetBounds.end; pointIndex++) {
60611
- var numPoints = _this.datasets.data.at(_this.datasets.startingIndices.at(pointIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].NumberOfPointsOffset);
60637
+ var numPoints = _this.datasets.data.at(_this.datasets.startingIndices.at(pointIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].NumberOfPointsOffset);
60612
60638
  if (idOffset >= numPoints) {
60613
60639
  continue;
60614
60640
  }
60615
- var valueIndex = _this.datasets.startingIndices.at(pointIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].SliceDataOffset + idOffset;
60616
- var timestamp = _this.datasets.data.at(_this.datasets.startingIndices.at(pointIndex));
60641
+ var valueIndex = _this.datasets.startingIndices.at(pointIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].SliceDataOffset + idOffset;
60617
60642
  var value = _this.datasets.data.at(valueIndex);
60618
60643
  if (prevValue === undefined) {
60619
60644
  prevValue = value;
60620
60645
  _this._prevValueById.set(id, prevValue);
60621
60646
  }
60647
+ // perform smoothing
60622
60648
  var smoothedValue = smoothingFactor * value + (1 - smoothingFactor) * prevValue;
60649
+ values[pointIndex - _this._datasetBounds.start] = smoothedValue;
60650
+ if (!valueMinMax) {
60651
+ valueMinMax = {
60652
+ min: smoothedValue,
60653
+ max: smoothedValue
60654
+ };
60655
+ }
60656
+ _this._prevValueById.set(id, smoothedValue);
60657
+ valueMinMax.min = Math.min(valueMinMax.min, smoothedValue);
60658
+ valueMinMax.max = Math.max(valueMinMax.max, smoothedValue);
60659
+ }
60660
+ var delta = valueMinMax.max - valueMinMax.min;
60661
+ valueMinMax.min -= rangeMargin * delta;
60662
+ valueMinMax.max += rangeMargin * delta;
60663
+ for (var pointIndex = _this._datasetBounds.start; pointIndex < _this._datasetBounds.end; pointIndex++) {
60664
+ var timestamp = _this.datasets.data.at(_this.datasets.startingIndices.at(pointIndex));
60665
+ var smoothedValue = values[pointIndex - _this._datasetBounds.start];
60623
60666
  var drawableTime = _this._getPixelForNumber(timestamp, _this._globalTimeMinMax, left, right - left, false);
60624
60667
  var drawableValue = _this._getPixelForNumber(smoothedValue, valueMinMax, top, bottom - top, true);
60625
60668
  if (prevPoint === undefined) {
@@ -60640,7 +60683,6 @@ var CanvasGraphService = /** @class */ (function () {
60640
60683
  }
60641
60684
  prevPoint[0] = drawableTime;
60642
60685
  prevPoint[1] = drawableValue;
60643
- _this._prevValueById.set(id, smoothedValue);
60644
60686
  }
60645
60687
  ctx.stroke();
60646
60688
  });
@@ -60665,7 +60707,7 @@ var CanvasGraphService = /** @class */ (function () {
60665
60707
  return;
60666
60708
  }
60667
60709
  var valueMinMax = _this._getMinMax(bounds, idOffset);
60668
- var latestValue = _this.datasets.data.at(_this.datasets.startingIndices.at(bounds.end - 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].SliceDataOffset + idOffset);
60710
+ var latestValue = _this.datasets.data.at(_this.datasets.startingIndices.at(bounds.end - 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].SliceDataOffset + idOffset);
60669
60711
  var text = "".concat(id, ": ").concat(latestValue.toFixed(2), " (max: ").concat(valueMinMax.max.toFixed(2), ", min: ").concat(valueMinMax.min.toFixed(2), ")");
60670
60712
  valueMap.set(id, {
60671
60713
  min: valueMinMax.min,
@@ -60784,16 +60826,16 @@ var CanvasGraphService = /** @class */ (function () {
60784
60826
  */
60785
60827
  CanvasGraphService.prototype._getTimestampUnit = function (timestamp) {
60786
60828
  if (timestamp / msInHour > 1) {
60787
- return _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Hours;
60829
+ return _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Hours;
60788
60830
  }
60789
60831
  else if (timestamp / msInMinute > 1) {
60790
- return _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Minutes;
60832
+ return _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Minutes;
60791
60833
  }
60792
60834
  else if (timestamp / msInSecond > 1) {
60793
- return _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Seconds;
60835
+ return _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Seconds;
60794
60836
  }
60795
60837
  else {
60796
- return _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Milliseconds;
60838
+ return _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Milliseconds;
60797
60839
  }
60798
60840
  };
60799
60841
  /**
@@ -60804,19 +60846,19 @@ var CanvasGraphService = /** @class */ (function () {
60804
60846
  */
60805
60847
  CanvasGraphService.prototype._parseTimestamp = function (timestamp, intervalUnit) {
60806
60848
  var parsedTimestamp = "";
60807
- if (intervalUnit >= _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Hours) {
60849
+ if (intervalUnit >= _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Hours) {
60808
60850
  var numHours = Math.floor(timestamp / msInHour);
60809
60851
  timestamp -= numHours * msInHour;
60810
- parsedTimestamp += "".concat(numHours.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Hours ? 2 : 1, "0"), ":");
60852
+ parsedTimestamp += "".concat(numHours.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Hours ? 2 : 1, "0"), ":");
60811
60853
  }
60812
- if (intervalUnit >= _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Minutes) {
60854
+ if (intervalUnit >= _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Minutes) {
60813
60855
  var numMinutes = Math.floor(timestamp / msInMinute);
60814
60856
  timestamp -= numMinutes * msInMinute;
60815
- parsedTimestamp += "".concat(numMinutes.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Minutes ? 2 : 1, "0"), ":");
60857
+ parsedTimestamp += "".concat(numMinutes.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Minutes ? 2 : 1, "0"), ":");
60816
60858
  }
60817
60859
  var numSeconds = Math.floor(timestamp / msInSecond);
60818
60860
  timestamp -= numSeconds * msInSecond;
60819
- parsedTimestamp += numSeconds.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_1__["TimestampUnit"].Seconds ? 2 : 1, "0");
60861
+ parsedTimestamp += numSeconds.toString().padStart(intervalUnit > _graphSupportingTypes__WEBPACK_IMPORTED_MODULE_0__["TimestampUnit"].Seconds ? 2 : 1, "0");
60820
60862
  if (timestamp > 0) {
60821
60863
  if (parsedTimestamp.length > 0) {
60822
60864
  parsedTimestamp += ".";
@@ -60895,11 +60937,11 @@ var CanvasGraphService = /** @class */ (function () {
60895
60937
  CanvasGraphService.prototype._getMinMax = function (bounds, offset) {
60896
60938
  var min = Infinity, max = 0;
60897
60939
  for (var i = bounds.start; i < bounds.end; i++) {
60898
- var numPoints = this.datasets.data.at(this.datasets.startingIndices.at(i) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].NumberOfPointsOffset);
60940
+ var numPoints = this.datasets.data.at(this.datasets.startingIndices.at(i) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].NumberOfPointsOffset);
60899
60941
  if (offset >= numPoints) {
60900
60942
  continue;
60901
60943
  }
60902
- var itemIndex = this.datasets.startingIndices.at(i) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].SliceDataOffset + offset;
60944
+ var itemIndex = this.datasets.startingIndices.at(i) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].SliceDataOffset + offset;
60903
60945
  var item = this.datasets.data.at(itemIndex);
60904
60946
  if (item < min) {
60905
60947
  min = item;
@@ -61035,11 +61077,11 @@ var CanvasGraphService = /** @class */ (function () {
61035
61077
  if (!!((_a = _this.metadata.get(id)) === null || _a === void 0 ? void 0 : _a.hidden)) {
61036
61078
  return;
61037
61079
  }
61038
- var numPoints = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].NumberOfPointsOffset);
61080
+ var numPoints = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].NumberOfPointsOffset);
61039
61081
  if (idOffset >= numPoints) {
61040
61082
  return;
61041
61083
  }
61042
- var valueAtClosestPointIndex = _this.datasets.startingIndices.at(closestIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].SliceDataOffset + idOffset;
61084
+ var valueAtClosestPointIndex = _this.datasets.startingIndices.at(closestIndex) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].SliceDataOffset + idOffset;
61043
61085
  var valueAtClosestPoint = _this.datasets.data.at(valueAtClosestPointIndex);
61044
61086
  var valueMinMax;
61045
61087
  // we would have already calculated the min and max while getting the tickers, so use those, and get first one.
@@ -61069,17 +61111,17 @@ var CanvasGraphService = /** @class */ (function () {
61069
61111
  var distance = _this._getDistanceFromLine(xForActualTimestamp, valueAtClosestPointYPos, xForActualTimestamp, valueAtClosestPointYPos, pos.xPos - left, adjustedYPos);
61070
61112
  // get the shortest distance between the point and the line segment infront, and line segment behind, store the shorter distance (if shorter than distance between closest data point and mouse).
61071
61113
  if (closestIndex + 1 < _this.datasets.data.itemLength &&
61072
- _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex + 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].NumberOfPointsOffset) > idOffset) {
61114
+ _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex + 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].NumberOfPointsOffset) > idOffset) {
61073
61115
  var secondPointTimestamp = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex + 1));
61074
61116
  var secondPointX = _this._getPixelForNumber(secondPointTimestamp, _this._globalTimeMinMax, drawableArea.left, drawableArea.right - drawableArea.left, false);
61075
- var secondPointValue = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex + 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].SliceDataOffset + idOffset);
61117
+ var secondPointValue = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex + 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].SliceDataOffset + idOffset);
61076
61118
  var secondPointY = _this._getPixelForNumber(secondPointValue, valueMinMax, drawableArea.top, drawableArea.bottom - drawableArea.top, true);
61077
61119
  distance = Math.min(_this._getDistanceFromLine(xForActualTimestamp, valueAtClosestPointYPos, secondPointX, secondPointY, pos.xPos - left, adjustedYPos), distance);
61078
61120
  }
61079
- if (closestIndex - 1 >= 0 && _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex + 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].NumberOfPointsOffset) > idOffset) {
61121
+ if (closestIndex - 1 >= 0 && _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex + 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].NumberOfPointsOffset) > idOffset) {
61080
61122
  var secondPointTimestamp = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex - 1));
61081
61123
  var secondPointX = _this._getPixelForNumber(secondPointTimestamp, _this._globalTimeMinMax, drawableArea.left, drawableArea.right - drawableArea.left, false);
61082
- var secondPointValue = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex - 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_2__["PerformanceViewerCollector"].SliceDataOffset + idOffset);
61124
+ var secondPointValue = _this.datasets.data.at(_this.datasets.startingIndices.at(closestIndex - 1) + _babylonjs_core_Maths_math_scalar__WEBPACK_IMPORTED_MODULE_1__["PerformanceViewerCollector"].SliceDataOffset + idOffset);
61083
61125
  var secondPointY = _this._getPixelForNumber(secondPointValue, valueMinMax, drawableArea.top, drawableArea.bottom - drawableArea.top, true);
61084
61126
  distance = Math.min(_this._getDistanceFromLine(xForActualTimestamp, valueAtClosestPointYPos, secondPointX, secondPointY, pos.xPos - left, adjustedYPos), distance);
61085
61127
  }
@@ -64758,6 +64800,9 @@ var ColorPicker = /** @class */ (function (_super) {
64758
64800
  }
64759
64801
  var hsv = this.state.color.toHSV();
64760
64802
  _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"].HSVtoRGBToRef(hsv.r, saturation, value, this.state.color);
64803
+ if (this.state.alpha === 0) {
64804
+ this.setState({ alpha: 1 });
64805
+ }
64761
64806
  this.setState({ color: this.state.color });
64762
64807
  };
64763
64808
  ColorPicker.prototype._evaluateHue = function (evt) {
@@ -64811,6 +64856,7 @@ var ColorPicker = /** @class */ (function (_super) {
64811
64856
  left: "".concat((hsv.r / 360.0) * 100, "%"),
64812
64857
  border: "1px solid " + colorHexRef,
64813
64858
  } }))),
64859
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-alpha" }),
64814
64860
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-rgb" },
64815
64861
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "red" },
64816
64862
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__["ColorComponentEntry"], { label: "R", min: 0, max: 255, value: Math.round(this.state.color.r * 255), onChange: function (value) {
@@ -64982,6 +65028,8 @@ __webpack_require__.r(__webpack_exports__);
64982
65028
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
64983
65029
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
64984
65030
  /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @fortawesome/react-fontawesome */ "../../../../node_modules/@fortawesome/react-fontawesome/index.es.js");
65031
+ /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
65032
+
64985
65033
 
64986
65034
 
64987
65035
 
@@ -64992,10 +65040,10 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
64992
65040
  _this._localChange = false;
64993
65041
  _this._uniqueId = CheckBoxLineComponent._UniqueIdSeed++;
64994
65042
  if (_this.props.isSelected) {
64995
- _this.state = { isSelected: _this.props.isSelected() };
65043
+ _this.state = { isSelected: _this.props.isSelected(), isConflict: false };
64996
65044
  }
64997
65045
  else {
64998
- _this.state = { isSelected: _this.props.target[_this.props.propertyName] == true };
65046
+ _this.state = { isSelected: _this.props.target[_this.props.propertyName] === true, isConflict: _this.props.target[_this.props.propertyName] === _targetsProxy__WEBPACK_IMPORTED_MODULE_3__["conflictingValuesPlaceholder"] };
64999
65047
  }
65000
65048
  if (_this.props.disabled) {
65001
65049
  _this.state = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, _this.state), { isDisabled: _this.props.disabled });
@@ -65008,7 +65056,10 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
65008
65056
  currentState = nextProps.isSelected();
65009
65057
  }
65010
65058
  else {
65011
- currentState = nextProps.target[nextProps.propertyName] == true;
65059
+ currentState = nextProps.target[nextProps.propertyName] === true;
65060
+ if (nextProps.target[nextProps.propertyName] === _targetsProxy__WEBPACK_IMPORTED_MODULE_3__["conflictingValuesPlaceholder"]) {
65061
+ nextState.isConflict = true;
65062
+ }
65012
65063
  }
65013
65064
  if (currentState !== nextState.isSelected || this._localChange) {
65014
65065
  nextState.isSelected = currentState;
@@ -65018,7 +65069,7 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
65018
65069
  if (nextProps.disabled !== nextState.isDisabled) {
65019
65070
  return true;
65020
65071
  }
65021
- return nextProps.label !== this.props.label || nextProps.target !== this.props.target;
65072
+ return nextProps.label !== this.props.label || nextProps.target !== this.props.target || nextState.isConflict !== this.state.isConflict;
65022
65073
  };
65023
65074
  CheckBoxLineComponent.prototype.onChange = function () {
65024
65075
  this._localChange = true;
@@ -65034,12 +65085,14 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
65034
65085
  initialValue: this.state.isSelected,
65035
65086
  });
65036
65087
  }
65037
- this.props.target[this.props.propertyName] = !this.state.isSelected;
65088
+ if (this.props.target && this.props.propertyName) {
65089
+ this.props.target[this.props.propertyName] = !this.state.isSelected;
65090
+ }
65038
65091
  }
65039
65092
  if (this.props.onValueChanged) {
65040
65093
  this.props.onValueChanged();
65041
65094
  }
65042
- this.setState({ isSelected: !this.state.isSelected });
65095
+ this.setState({ isSelected: !this.state.isSelected, isConflict: false });
65043
65096
  };
65044
65097
  CheckBoxLineComponent.prototype.render = function () {
65045
65098
  var _this = this;
@@ -65049,7 +65102,7 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
65049
65102
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.iconLabel }, this.props.label),
65050
65103
  this.props.faIcons && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_2__["FontAwesomeIcon"], { className: "cbx ".concat(this.props.disabled ? "disabled" : ""), icon: this.state.isSelected ? this.props.faIcons.enabled : this.props.faIcons.disabled, onClick: function () { return !_this.props.disabled && _this.onChange(); } }),
65051
65104
  !this.props.faIcons && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "checkBox" },
65052
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkbox", id: "checkbox" + this._uniqueId, className: "cbx hidden", checked: this.state.isSelected, onChange: function () { return _this.onChange(); }, disabled: !!this.props.disabled }),
65105
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkbox", id: "checkbox" + this._uniqueId, className: "cbx hidden ".concat(this.state.isConflict ? "conflict" : ""), checked: this.state.isSelected, onChange: function () { return _this.onChange(); }, disabled: !!this.props.disabled }),
65053
65106
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { htmlFor: "checkbox" + this._uniqueId, className: "lbl".concat(!!this.props.disabled ? " disabled" : "") }))));
65054
65107
  };
65055
65108
  CheckBoxLineComponent._UniqueIdSeed = 0;
@@ -65073,195 +65126,18 @@ __webpack_require__.r(__webpack_exports__);
65073
65126
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
65074
65127
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
65075
65128
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
65076
- /* harmony import */ var _numericInputComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./numericInputComponent */ "./sharedUiComponents/lines/numericInputComponent.tsx");
65077
- /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @fortawesome/react-fontawesome */ "../../../../node_modules/@fortawesome/react-fontawesome/index.es.js");
65078
- /* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @fortawesome/free-solid-svg-icons */ "../../../../node_modules/@fortawesome/free-solid-svg-icons/index.es.js");
65079
- /* harmony import */ var _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babylonjs/core/Maths/math.color */ "@babylonjs/core/Misc/observable");
65080
- /* harmony import */ var _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__);
65081
- /* harmony import */ var _colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./colorPickerComponent */ "./sharedUiComponents/lines/colorPickerComponent.tsx");
65082
- /* harmony import */ var _textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
65083
-
65084
-
65085
-
65086
-
65087
-
65129
+ /* harmony import */ var _colorLineComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colorLineComponent */ "./sharedUiComponents/lines/colorLineComponent.tsx");
65088
65130
 
65089
65131
 
65090
65132
 
65091
- var copyIcon = __webpack_require__(/*! ./copy.svg */ "./sharedUiComponents/lines/copy.svg");
65092
65133
  var Color3LineComponent = /** @class */ (function (_super) {
65093
65134
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Color3LineComponent, _super);
65094
- function Color3LineComponent(props) {
65095
- var _this = _super.call(this, props) || this;
65096
- _this._localChange = false;
65097
- var typeName = typeof _this.props.target[_this.props.propertyName];
65098
- if (typeName === "string") {
65099
- var colorConverted = _this.convertToColor3(_this.props.target[_this.props.propertyName]);
65100
- _this.state = { isExpanded: false, color: colorConverted, colorText: _this.props.target[_this.props.propertyName] };
65101
- }
65102
- else {
65103
- _this.state = { isExpanded: false, color: _this.props.target[_this.props.propertyName].clone(), colorText: _this.props.target[_this.props.propertyName].toHexString() };
65104
- }
65105
- if (props.isLinear) {
65106
- _this.state.color.toGammaSpaceToRef(_this.state.color);
65107
- }
65108
- props.target._isLinearColor = props.isLinear; // so that replayRecorder can append toLinearSpace() as appropriate
65109
- _this._colorPickerOpen = false;
65110
- return _this;
65135
+ function Color3LineComponent() {
65136
+ return _super !== null && _super.apply(this, arguments) || this;
65111
65137
  }
65112
- Color3LineComponent.prototype.convertToColor3 = function (color) {
65113
- if (color === "" || color === "transparent") {
65114
- return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__["Color4"](0, 0, 0, 0);
65115
- }
65116
- if (color.substring(0, 1) !== "#" || color.length !== 7) {
65117
- var d = document.createElement("div");
65118
- d.style.color = color;
65119
- document.body.append(d);
65120
- var rgb = window.getComputedStyle(d).color;
65121
- document.body.removeChild(d);
65122
- var rgbArray = rgb
65123
- .substring(4, rgb.length - 1)
65124
- .replace(/ /g, "")
65125
- .split(",");
65126
- return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__["Color3"](parseInt(rgbArray[0]) / 255, parseInt(rgbArray[1]) / 255, parseInt(rgbArray[2]) / 255);
65127
- }
65128
- return _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_5__["Color3"].FromHexString(color);
65129
- };
65130
- Color3LineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65131
- var isString = typeof this.props.target[this.props.propertyName] === "string";
65132
- var currentState = isString
65133
- ? this.convertToColor3(nextProps.target[nextProps.propertyName])
65134
- : this.props.isLinear
65135
- ? nextProps.target[nextProps.propertyName].toGammaSpace()
65136
- : nextProps.target[nextProps.propertyName];
65137
- if (!currentState.equals(nextState.color) || this._localChange) {
65138
- nextState.color = currentState.clone();
65139
- nextState.colorText = isString ? nextProps.target[nextProps.propertyName] : nextProps.target[nextProps.propertyName].toHexString();
65140
- this._localChange = false;
65141
- return true;
65142
- }
65143
- return false;
65144
- };
65145
- Color3LineComponent.prototype.setPropertyValue = function (newColor, newColorText) {
65146
- var isString = typeof this.props.target[this.props.propertyName] === "string";
65147
- if (isString) {
65148
- this.props.target[this.props.propertyName] = newColorText;
65149
- }
65150
- else {
65151
- this.props.target[this.props.propertyName] = newColor;
65152
- if (this.props.isLinear) {
65153
- this.props.target[this.props.propertyName] = newColor.toLinearSpace();
65154
- }
65155
- }
65156
- };
65157
- Color3LineComponent.prototype.onChange = function (newValue) {
65158
- this._localChange = true;
65159
- var newColor = this.convertToColor3(newValue);
65160
- if (this._colorPickerOpen && this.props.icon) {
65161
- var savedColor = this.convertToColor3(this._colorStringSaved);
65162
- if (savedColor.equals(newColor)) {
65163
- newValue = this._colorStringSaved;
65164
- }
65165
- }
65166
- if (this.props.onPropertyChangedObservable) {
65167
- this.props.onPropertyChangedObservable.notifyObservers({
65168
- object: this.props.target,
65169
- property: this.props.propertyName,
65170
- value: newColor,
65171
- initialValue: this.state.color,
65172
- });
65173
- }
65174
- this.setPropertyValue(newColor, newValue);
65175
- this.setState({ color: newColor, colorText: newValue });
65176
- if (this.props.onValueChange) {
65177
- this.props.onValueChange(newValue);
65178
- }
65179
- };
65180
- Color3LineComponent.prototype.switchExpandState = function () {
65181
- this._localChange = true;
65182
- this.setState({ isExpanded: !this.state.isExpanded });
65183
- };
65184
- Color3LineComponent.prototype.raiseOnPropertyChanged = function (previousValue) {
65185
- if (!this.props.onPropertyChangedObservable) {
65186
- return;
65187
- }
65188
- this.props.onPropertyChangedObservable.notifyObservers({
65189
- object: this.props.target,
65190
- property: this.props.propertyName,
65191
- value: this.state.color,
65192
- initialValue: previousValue,
65193
- });
65194
- };
65195
- Color3LineComponent.prototype.updateStateR = function (value) {
65196
- this._localChange = true;
65197
- var store = this.state.color.clone();
65198
- this.state.color.r = value;
65199
- var hex = this.state.color.toHexString();
65200
- this.setPropertyValue(this.state.color, hex);
65201
- this.setState({ color: this.state.color, colorText: hex });
65202
- this.raiseOnPropertyChanged(store);
65203
- };
65204
- Color3LineComponent.prototype.updateStateG = function (value) {
65205
- this._localChange = true;
65206
- var store = this.state.color.clone();
65207
- this.state.color.g = value;
65208
- var hex = this.state.color.toHexString();
65209
- this.setPropertyValue(this.state.color, hex);
65210
- this.setState({ color: this.state.color, colorText: hex });
65211
- this.raiseOnPropertyChanged(store);
65212
- };
65213
- Color3LineComponent.prototype.updateStateB = function (value) {
65214
- this._localChange = true;
65215
- var store = this.state.color.clone();
65216
- this.state.color.b = value;
65217
- var hex = this.state.color.toHexString();
65218
- this.setPropertyValue(this.state.color, hex);
65219
- this.setState({ color: this.state.color, colorText: hex });
65220
- this.raiseOnPropertyChanged(store);
65221
- };
65222
- Color3LineComponent.prototype.copyToClipboard = function () {
65223
- var element = document.createElement("div");
65224
- element.textContent = this.state.color.toHexString();
65225
- document.body.appendChild(element);
65226
- if (window.getSelection) {
65227
- var range = document.createRange();
65228
- range.selectNode(element);
65229
- window.getSelection().removeAllRanges();
65230
- window.getSelection().addRange(range);
65231
- }
65232
- document.execCommand("copy");
65233
- element.remove();
65234
- };
65235
- Color3LineComponent.prototype.convert = function (colorString) {
65236
- this.onChange(this._colorString);
65237
- };
65238
65138
  Color3LineComponent.prototype.render = function () {
65239
- var _this = this;
65240
- var chevron = this.state.isExpanded ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__["faMinus"] }) : react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__["faPlus"] });
65241
- this._colorString = this.state.colorText;
65242
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3Line" },
65243
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "firstLine", title: this.props.label },
65244
- this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
65245
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label" }, this.props.label),
65246
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3" },
65247
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__["ColorPickerLineComponent"], { linearHint: this.props.isLinear, value: this.state.color, onColorChanged: function (color) {
65248
- if (!_this._colorPickerOpen) {
65249
- _this._colorStringSaved = _this._colorString;
65250
- }
65251
- _this._colorPickerOpen = true;
65252
- _this.onChange(color);
65253
- } })),
65254
- this.props.icon && this.props.lockObject && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", target: this, propertyName: "_colorString", onChange: function (newValue) {
65255
- _this._colorPickerOpen = false;
65256
- _this.convert(newValue);
65257
- }, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
65258
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "copy hoverIcon", onClick: function () { return _this.copyToClipboard(); }, title: "Copy to clipboard" },
65259
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
65260
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
65261
- this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65262
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
65263
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
65264
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__["NumericInputComponent"], { label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } })))));
65139
+ var props = this.props;
65140
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorLineComponent__WEBPACK_IMPORTED_MODULE_2__["ColorLineComponent"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({ disableAlpha: true }, props));
65265
65141
  };
65266
65142
  return Color3LineComponent;
65267
65143
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -65283,12 +65159,49 @@ __webpack_require__.r(__webpack_exports__);
65283
65159
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
65284
65160
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
65285
65161
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
65162
+ /* harmony import */ var _colorLineComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colorLineComponent */ "./sharedUiComponents/lines/colorLineComponent.tsx");
65163
+
65164
+
65165
+
65166
+ var Color4LineComponent = /** @class */ (function (_super) {
65167
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Color4LineComponent, _super);
65168
+ function Color4LineComponent() {
65169
+ return _super !== null && _super.apply(this, arguments) || this;
65170
+ }
65171
+ Color4LineComponent.prototype.render = function () {
65172
+ var props = this.props;
65173
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorLineComponent__WEBPACK_IMPORTED_MODULE_2__["ColorLineComponent"], Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__assign"])({}, props));
65174
+ };
65175
+ return Color4LineComponent;
65176
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
65177
+
65178
+
65179
+
65180
+ /***/ }),
65181
+
65182
+ /***/ "./sharedUiComponents/lines/colorLineComponent.tsx":
65183
+ /*!*********************************************************!*\
65184
+ !*** ./sharedUiComponents/lines/colorLineComponent.tsx ***!
65185
+ \*********************************************************/
65186
+ /*! exports provided: ColorLineComponent */
65187
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
65188
+
65189
+ "use strict";
65190
+ __webpack_require__.r(__webpack_exports__);
65191
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ColorLineComponent", function() { return ColorLineComponent; });
65192
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
65193
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
65194
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
65286
65195
  /* harmony import */ var _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babylonjs/core/Maths/math.color */ "@babylonjs/core/Misc/observable");
65287
65196
  /* harmony import */ var _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__);
65288
- /* harmony import */ var _lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../lines/numericInputComponent */ "./sharedUiComponents/lines/numericInputComponent.tsx");
65197
+ /* harmony import */ var _numericInputComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./numericInputComponent */ "./sharedUiComponents/lines/numericInputComponent.tsx");
65289
65198
  /* harmony import */ var _fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @fortawesome/react-fontawesome */ "../../../../node_modules/@fortawesome/react-fontawesome/index.es.js");
65290
65199
  /* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @fortawesome/free-solid-svg-icons */ "../../../../node_modules/@fortawesome/free-solid-svg-icons/index.es.js");
65291
65200
  /* harmony import */ var _colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./colorPickerComponent */ "./sharedUiComponents/lines/colorPickerComponent.tsx");
65201
+ /* harmony import */ var _textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
65202
+ /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
65203
+
65204
+
65292
65205
 
65293
65206
 
65294
65207
 
@@ -65297,105 +65210,128 @@ __webpack_require__.r(__webpack_exports__);
65297
65210
 
65298
65211
 
65299
65212
  var copyIcon = __webpack_require__(/*! ./copy.svg */ "./sharedUiComponents/lines/copy.svg");
65300
- var Color4LineComponent = /** @class */ (function (_super) {
65301
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(Color4LineComponent, _super);
65302
- function Color4LineComponent(props) {
65213
+ var emptyColor = new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](0, 0, 0, 0);
65214
+ var ColorLineComponent = /** @class */ (function (_super) {
65215
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ColorLineComponent, _super);
65216
+ function ColorLineComponent(props) {
65303
65217
  var _this = _super.call(this, props) || this;
65304
- _this._localChange = false;
65305
- var value = _this.props.target[_this.props.propertyName];
65306
- var currentColor = value.getClassName() === "Color4" ? value.clone() : new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](value.r, value.g, value.b, 1.0);
65307
- _this.state = { isExpanded: false, color: currentColor };
65218
+ var colorString = _this.getValueAsString();
65219
+ var color = _this.getValue();
65220
+ _this.state = { isExpanded: false, color: color, colorString: colorString };
65308
65221
  if (props.isLinear) {
65309
65222
  _this.state.color.toGammaSpaceToRef(_this.state.color);
65310
65223
  }
65311
- props.target._isLinearColor = props.isLinear; // so that replayRecorder can append toLinearSpace() as appropriate
65224
+ var target = _this.props.target;
65225
+ target._isLinearColor = props.isLinear; // so that replayRecorder can append toLinearSpace() as appropriate
65312
65226
  return _this;
65313
65227
  }
65314
- Color4LineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65315
- var value = this.props.target[this.props.propertyName];
65316
- var currentColor = value.getClassName() === "Color4" ? value : new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](value.r, value.g, value.b, 1.0);
65317
- if (this.props.isLinear) {
65318
- currentColor.toGammaSpaceRef(currentColor);
65228
+ ColorLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65229
+ var stateString = nextState.colorString;
65230
+ var stateColor = nextState.color;
65231
+ var propsString = this.getValueAsString(nextProps);
65232
+ var propsColor = this.getValue(nextProps);
65233
+ if (stateString !== this.state.colorString || stateColor !== this.state.color) {
65234
+ nextState.colorString = stateString;
65235
+ nextState.color = stateColor;
65236
+ return true;
65319
65237
  }
65320
- if (!currentColor.equals(nextState.color) || this._localChange) {
65321
- nextState.color = currentColor.clone();
65322
- this._localChange = false;
65238
+ if (propsString !== this.state.colorString || propsColor !== this.state.color) {
65239
+ nextState.colorString = propsString;
65240
+ nextState.color = propsColor;
65241
+ return true;
65242
+ }
65243
+ if (nextState.isExpanded !== this.state.isExpanded) {
65323
65244
  return true;
65324
65245
  }
65325
65246
  return false;
65326
65247
  };
65327
- Color4LineComponent.prototype.setPropertyValue = function (newColor) {
65328
- this.props.target[this.props.propertyName] = newColor;
65248
+ ColorLineComponent.prototype.getValue = function (props) {
65249
+ if (props === void 0) { props = this.props; }
65250
+ var target = props.target;
65251
+ var property = target[props.propertyName];
65252
+ if (!property)
65253
+ return emptyColor;
65254
+ if (typeof property === "string") {
65255
+ if (property === _targetsProxy__WEBPACK_IMPORTED_MODULE_8__["conflictingValuesPlaceholder"]) {
65256
+ return emptyColor;
65257
+ }
65258
+ return this.convertToColor(property);
65259
+ }
65260
+ else {
65261
+ return property;
65262
+ }
65263
+ };
65264
+ ColorLineComponent.prototype.getValueAsString = function (props) {
65265
+ if (props === void 0) { props = this.props; }
65266
+ var target = props.target;
65267
+ var property = target[props.propertyName];
65268
+ if (!property)
65269
+ return "";
65270
+ if (typeof property === "string") {
65271
+ return property;
65272
+ }
65273
+ else {
65274
+ return property.toHexString();
65275
+ }
65276
+ };
65277
+ ColorLineComponent.prototype.setColorFromString = function (colorString) {
65278
+ if (colorString === _targetsProxy__WEBPACK_IMPORTED_MODULE_8__["conflictingValuesPlaceholder"])
65279
+ return;
65280
+ var color = this.convertToColor(colorString);
65329
65281
  if (this.props.isLinear) {
65330
- this.props.target[this.props.propertyName] = newColor.toLinearSpace();
65282
+ color = color.toLinearSpace();
65331
65283
  }
65284
+ this.updateColor(color);
65285
+ this.setState({ color: color, colorString: colorString });
65332
65286
  };
65333
- Color4LineComponent.prototype.onChange = function (newValue) {
65334
- this._localChange = true;
65335
- var newColor = _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"].FromHexString(newValue);
65287
+ ColorLineComponent.prototype.setColor = function (color) {
65288
+ if (this.props.isLinear) {
65289
+ color = color.toLinearSpace();
65290
+ }
65291
+ this.updateColor(color);
65292
+ var colorString = this.props.disableAlpha ? this.toColor3(color).toHexString() : color.toHexString();
65293
+ this.setState({ color: color, colorString: colorString });
65294
+ };
65295
+ ColorLineComponent.prototype.updateColor = function (newColor) {
65296
+ // whether to set properties to color3 or color4
65297
+ var setColor = this.props.disableAlpha ? this.toColor3(newColor) : newColor;
65298
+ var target = this.props.target;
65299
+ var initialValue = target[this.props.propertyName];
65300
+ var value = typeof target[this.props.propertyName] === "string" ? setColor.toHexString() : setColor;
65301
+ // make the change
65302
+ target[this.props.propertyName] = value;
65303
+ // notify observers
65336
65304
  if (this.props.onPropertyChangedObservable) {
65337
65305
  this.props.onPropertyChangedObservable.notifyObservers({
65338
- object: this.props.target,
65306
+ object: target,
65339
65307
  property: this.props.propertyName,
65340
- value: newColor,
65341
- initialValue: this.state.color,
65308
+ value: value,
65309
+ initialValue: initialValue
65342
65310
  });
65343
65311
  }
65344
- this.setPropertyValue(newColor);
65345
- this.setState({ color: newColor });
65346
65312
  if (this.props.onChange) {
65347
65313
  this.props.onChange();
65348
65314
  }
65349
65315
  };
65350
- Color4LineComponent.prototype.switchExpandState = function () {
65351
- this._localChange = true;
65316
+ ColorLineComponent.prototype.switchExpandState = function () {
65352
65317
  this.setState({ isExpanded: !this.state.isExpanded });
65353
65318
  };
65354
- Color4LineComponent.prototype.raiseOnPropertyChanged = function (previousValue) {
65355
- if (!this.props.onPropertyChangedObservable) {
65356
- return;
65357
- }
65358
- this.props.onPropertyChangedObservable.notifyObservers({
65359
- object: this.props.target,
65360
- property: this.props.propertyName,
65361
- value: this.state.color,
65362
- initialValue: previousValue,
65363
- });
65319
+ ColorLineComponent.prototype.updateStateR = function (value) {
65320
+ this.setColor(new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](value, this.state.color.g, this.state.color.b, this.state.color.a));
65364
65321
  };
65365
- Color4LineComponent.prototype.updateStateR = function (value) {
65366
- this._localChange = true;
65367
- var store = this.state.color.clone();
65368
- this.state.color.r = value;
65369
- this.setPropertyValue(this.state.color);
65370
- this.setState({ color: this.state.color });
65371
- this.raiseOnPropertyChanged(store);
65322
+ ColorLineComponent.prototype.updateStateG = function (value) {
65323
+ this.setColor(new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](this.state.color.r, value, this.state.color.b, this.state.color.a));
65372
65324
  };
65373
- Color4LineComponent.prototype.updateStateG = function (value) {
65374
- this._localChange = true;
65375
- var store = this.state.color.clone();
65376
- this.state.color.g = value;
65377
- this.setPropertyValue(this.state.color);
65378
- this.setState({ color: this.state.color });
65379
- this.raiseOnPropertyChanged(store);
65325
+ ColorLineComponent.prototype.updateStateB = function (value) {
65326
+ this.setColor(new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](this.state.color.r, this.state.color.g, value, this.state.color.a));
65380
65327
  };
65381
- Color4LineComponent.prototype.updateStateB = function (value) {
65382
- this._localChange = true;
65383
- var store = this.state.color.clone();
65384
- this.state.color.b = value;
65385
- this.setPropertyValue(this.state.color);
65386
- this.setState({ color: this.state.color });
65387
- this.raiseOnPropertyChanged(store);
65388
- };
65389
- Color4LineComponent.prototype.updateStateA = function (value) {
65390
- this._localChange = true;
65391
- var store = this.state.color.clone();
65392
- this.props.target[this.props.propertyName].a = value;
65393
- this.state.color.a = value;
65394
- this.props.target[this.props.propertyName] = this.state.color;
65395
- this.setState({ color: this.state.color });
65396
- this.raiseOnPropertyChanged(store);
65328
+ ColorLineComponent.prototype.updateStateA = function (value) {
65329
+ if (this.props.disableAlpha) {
65330
+ return;
65331
+ }
65332
+ this.setColor(new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](this.state.color.r, this.state.color.g, this.state.color.b, value));
65397
65333
  };
65398
- Color4LineComponent.prototype.copyToClipboard = function () {
65334
+ ColorLineComponent.prototype.copyToClipboard = function () {
65399
65335
  var element = document.createElement("div");
65400
65336
  element.textContent = this.state.color.toHexString();
65401
65337
  document.body.appendChild(element);
@@ -65408,7 +65344,41 @@ var Color4LineComponent = /** @class */ (function (_super) {
65408
65344
  document.execCommand("copy");
65409
65345
  element.remove();
65410
65346
  };
65411
- Color4LineComponent.prototype.render = function () {
65347
+ Object.defineProperty(ColorLineComponent.prototype, "colorString", {
65348
+ get: function () {
65349
+ return this.state.colorString;
65350
+ },
65351
+ set: function (_) { },
65352
+ enumerable: false,
65353
+ configurable: true
65354
+ });
65355
+ ColorLineComponent.prototype.convertToColor = function (color) {
65356
+ if (color === "" || color === "transparent") {
65357
+ return emptyColor;
65358
+ }
65359
+ if (color.substring(0, 1) !== "#" || (color.length !== 7 && color.length !== 9)) {
65360
+ var d = document.createElement("div");
65361
+ d.style.color = color;
65362
+ document.body.append(d);
65363
+ var rgb = window.getComputedStyle(d).color;
65364
+ document.body.removeChild(d);
65365
+ var rgbArray = rgb
65366
+ .substring(4, rgb.length - 1)
65367
+ .replace(/ /g, "")
65368
+ .split(",");
65369
+ var alpha = rgbArray.length > 3 ? parseInt(rgbArray[3]) / 255 : 1.0;
65370
+ return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](parseInt(rgbArray[0]) / 255, parseInt(rgbArray[1]) / 255, parseInt(rgbArray[2]) / 255, alpha);
65371
+ }
65372
+ if (this.props.disableAlpha) {
65373
+ var color3 = _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"].FromHexString(color);
65374
+ return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"](color3.r, color3.g, color3.b, 1.0);
65375
+ }
65376
+ return _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color4"].FromHexString(color);
65377
+ };
65378
+ ColorLineComponent.prototype.toColor3 = function (color) {
65379
+ return new _babylonjs_core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__["Color3"](color.r, color.g, color.b);
65380
+ };
65381
+ ColorLineComponent.prototype.render = function () {
65412
65382
  var _this = this;
65413
65383
  var chevron = this.state.isExpanded ? react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_5__["faMinus"] }) : react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__["FontAwesomeIcon"], { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_5__["faPlus"] });
65414
65384
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3Line" },
@@ -65416,19 +65386,22 @@ var Color4LineComponent = /** @class */ (function (_super) {
65416
65386
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
65417
65387
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label),
65418
65388
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color3" },
65419
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__["ColorPickerLineComponent"], { value: this.state.color, onColorChanged: function (color) {
65420
- _this.onChange(color);
65389
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__["ColorPickerLineComponent"], { linearHint: this.props.isLinear, value: this.props.disableAlpha ? this.toColor3(this.state.color) : this.state.color, onColorChanged: function (color) {
65390
+ _this.setColor(_this.convertToColor(color));
65421
65391
  } })),
65392
+ this.props.icon && this.props.lockObject && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", target: this, propertyName: "colorString", onChange: function (newValue) {
65393
+ _this.setColorFromString(newValue);
65394
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
65422
65395
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "copy hoverIcon", onClick: function () { return _this.copyToClipboard(); }, title: "Copy to clipboard" },
65423
65396
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
65424
65397
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
65425
65398
  this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
65426
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
65427
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
65428
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } }),
65429
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "a", value: this.state.color.a, onChange: function (value) { return _this.updateStateA(value); } })))));
65399
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "r", value: this.state.color.r, onChange: function (value) { return _this.updateStateR(value); } }),
65400
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "g", value: this.state.color.g, onChange: function (value) { return _this.updateStateG(value); } }),
65401
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "b", value: this.state.color.b, onChange: function (value) { return _this.updateStateB(value); } }),
65402
+ this.props.disableAlpha || react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__["NumericInputComponent"], { label: "a", value: this.state.color.a, onChange: function (value) { return _this.updateStateA(value); } })))));
65430
65403
  };
65431
- return Color4LineComponent;
65404
+ return ColorLineComponent;
65432
65405
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
65433
65406
 
65434
65407
 
@@ -65456,7 +65429,7 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65456
65429
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ColorPickerLineComponent, _super);
65457
65430
  function ColorPickerLineComponent(props) {
65458
65431
  var _this = _super.call(this, props) || this;
65459
- _this.state = { pickerEnabled: false, color: _this.props.value, hex: _this.props.value.toHexString() };
65432
+ _this.state = { pickerEnabled: false, color: _this.props.value, hex: _this.getHexString(props) };
65460
65433
  _this._floatRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
65461
65434
  _this._floatHostRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
65462
65435
  return _this;
@@ -65481,13 +65454,17 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65481
65454
  }
65482
65455
  };
65483
65456
  ColorPickerLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65484
- var diffProps = nextProps.value.toHexString() !== this.props.value.toHexString();
65457
+ var diffProps = this.getHexString(nextProps) !== this.getHexString();
65485
65458
  if (diffProps) {
65486
65459
  nextState.color = nextProps.value;
65487
- nextState.hex = nextProps.value.toHexString();
65460
+ nextState.hex = this.getHexString(nextProps);
65488
65461
  }
65489
65462
  return diffProps || nextState.hex !== this.state.hex || nextState.pickerEnabled !== this.state.pickerEnabled;
65490
65463
  };
65464
+ ColorPickerLineComponent.prototype.getHexString = function (props) {
65465
+ if (props === void 0) { props = this.props; }
65466
+ return props.value.toHexString();
65467
+ };
65491
65468
  ColorPickerLineComponent.prototype.componentDidUpdate = function () {
65492
65469
  this.syncPositions();
65493
65470
  };
@@ -65496,10 +65473,10 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65496
65473
  };
65497
65474
  ColorPickerLineComponent.prototype.render = function () {
65498
65475
  var _this = this;
65499
- var color = this.state.color;
65500
65476
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker" },
65501
65477
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
65502
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-rect", ref: this._floatHostRef, style: { background: this.state.hex }, onClick: function () { return _this.setState({ pickerEnabled: true }); } }),
65478
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-rect-background", ref: this._floatHostRef, onClick: function () { return _this.setState({ pickerEnabled: true }); } },
65479
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-rect", style: { background: this.state.hex } })),
65503
65480
  this.state.pickerEnabled && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
65504
65481
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-cover", onClick: function (evt) {
65505
65482
  var _a, _b;
@@ -65509,7 +65486,7 @@ var ColorPickerLineComponent = /** @class */ (function (_super) {
65509
65486
  _this.setState({ pickerEnabled: false });
65510
65487
  } },
65511
65488
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "color-picker-float", ref: this._floatRef },
65512
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__["ColorPicker"], { color: color, linearhint: this.props.linearHint, onColorChanged: function (color) {
65489
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__["ColorPicker"], { color: this.state.color, linearhint: this.props.linearHint, onColorChanged: function (color) {
65513
65490
  var hex = color.toHexString();
65514
65491
  _this.setState({ hex: hex, color: color });
65515
65492
  _this.props.onColorChanged(hex);
@@ -65650,6 +65627,8 @@ __webpack_require__.r(__webpack_exports__);
65650
65627
  /* harmony import */ var _sliderLineComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sliderLineComponent */ "./sharedUiComponents/lines/sliderLineComponent.tsx");
65651
65628
  /* harmony import */ var _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babylonjs/core/Misc/tools */ "@babylonjs/core/Misc/observable");
65652
65629
  /* harmony import */ var _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__);
65630
+ /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
65631
+
65653
65632
 
65654
65633
 
65655
65634
 
@@ -65660,20 +65639,34 @@ var FloatLineComponent = /** @class */ (function (_super) {
65660
65639
  var _this = _super.call(this, props) || this;
65661
65640
  _this._localChange = false;
65662
65641
  var currentValue = _this.props.target[_this.props.propertyName];
65663
- _this.state = { value: currentValue ? (_this.props.isInteger ? currentValue.toFixed(0) : currentValue.toFixed(_this.props.digits || 4)) : "0" };
65642
+ _this.state = { value: _this.getValueString(currentValue) };
65664
65643
  _this._store = currentValue;
65665
65644
  return _this;
65666
65645
  }
65667
65646
  FloatLineComponent.prototype.componentWillUnmount = function () {
65668
65647
  this.unlock();
65669
65648
  };
65649
+ FloatLineComponent.prototype.getValueString = function (value) {
65650
+ if (value) {
65651
+ if (value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"]) {
65652
+ return _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"];
65653
+ }
65654
+ else if (this.props.isInteger) {
65655
+ return value.toFixed(0);
65656
+ }
65657
+ else {
65658
+ return value.toFixed(this.props.digits || 4);
65659
+ }
65660
+ }
65661
+ return "0";
65662
+ };
65670
65663
  FloatLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
65671
65664
  if (this._localChange) {
65672
65665
  this._localChange = false;
65673
65666
  return true;
65674
65667
  }
65675
65668
  var newValue = nextProps.target[nextProps.propertyName];
65676
- var newValueString = newValue ? (this.props.isInteger ? newValue.toFixed(0) : newValue.toFixed(this.props.digits || 4)) : "0";
65669
+ var newValueString = this.getValueString(newValue);
65677
65670
  if (newValueString !== nextState.value) {
65678
65671
  nextState.value = newValueString;
65679
65672
  return true;
@@ -65751,6 +65744,8 @@ var FloatLineComponent = /** @class */ (function (_super) {
65751
65744
  valueAsNumber = parseFloat(this.state.value);
65752
65745
  }
65753
65746
  var className = this.props.smallUI ? "short" : "value";
65747
+ var value = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"] ? "" : this.state.value;
65748
+ var placeholder = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"] ? _targetsProxy__WEBPACK_IMPORTED_MODULE_4__["conflictingValuesPlaceholder"] : "";
65754
65749
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
65755
65750
  !this.props.useEuler && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: this.props.additionalClass ? this.props.additionalClass + " floatLine" : "floatLine" },
65756
65751
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
@@ -65763,12 +65758,14 @@ var FloatLineComponent = /** @class */ (function (_super) {
65763
65758
  if (_this.props.onEnter) {
65764
65759
  _this.props.onEnter(_this._store);
65765
65760
  }
65766
- }, value: this.state.value, onBlur: function () {
65761
+ }, value: value, onBlur: function () {
65767
65762
  _this.unlock();
65768
65763
  if (_this.props.onEnter) {
65769
65764
  _this.props.onEnter(_this._store);
65770
65765
  }
65771
- }, onFocus: function () { return _this.lock(); }, onChange: function (evt) { return _this.updateValue(evt.target.value); } })))),
65766
+ }, placeholder: placeholder, onFocus: function () { return _this.lock(); }, onChange: function (evt) { return _this.updateValue(evt.target.value); } })),
65767
+ this.props.unit && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.props.unitLocked ? "unit disabled" : "unit", onClick: function () { if (_this.props.onUnitClicked && !_this.props.unitLocked)
65768
+ _this.props.onUnitClicked(); } }, this.props.unit))),
65772
65769
  this.props.useEuler && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sliderLineComponent__WEBPACK_IMPORTED_MODULE_2__["SliderLineComponent"], { label: this.props.label, minimum: 0, maximum: 360, step: 0.1, directValue: _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Tools"].ToDegrees(valueAsNumber), onChange: function (value) { return _this.updateValue(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__["Tools"].ToRadians(value).toString()); } }))));
65773
65770
  };
65774
65771
  return FloatLineComponent;
@@ -66409,6 +66406,8 @@ var SliderLineComponent = /** @class */ (function (_super) {
66409
66406
  return false;
66410
66407
  };
66411
66408
  SliderLineComponent.prototype.onChange = function (newValueString) {
66409
+ if (newValueString === "—")
66410
+ return;
66412
66411
  this._localChange = true;
66413
66412
  var newValue = parseFloat(newValueString);
66414
66413
  if (this.props.useEuler) {
@@ -66465,6 +66464,67 @@ var SliderLineComponent = /** @class */ (function (_super) {
66465
66464
 
66466
66465
 
66467
66466
 
66467
+ /***/ }),
66468
+
66469
+ /***/ "./sharedUiComponents/lines/targetsProxy.tsx":
66470
+ /*!***************************************************!*\
66471
+ !*** ./sharedUiComponents/lines/targetsProxy.tsx ***!
66472
+ \***************************************************/
66473
+ /*! exports provided: conflictingValuesPlaceholder, makeTargetsProxy */
66474
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
66475
+
66476
+ "use strict";
66477
+ __webpack_require__.r(__webpack_exports__);
66478
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "conflictingValuesPlaceholder", function() { return conflictingValuesPlaceholder; });
66479
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeTargetsProxy", function() { return makeTargetsProxy; });
66480
+ var conflictingValuesPlaceholder = "—";
66481
+ /**
66482
+ *
66483
+ * @param propertyName the property that the input changes
66484
+ * @param targets a list of selected targets
66485
+ * @param defaultValue the value that should be returned when two targets have conflicting values
66486
+ * @param setter an optional setter function to override the default setter behavior
66487
+ * @returns a proxy object that can be passed as a target into the input
66488
+ */
66489
+ function makeTargetsProxy(targets, onPropertyChangedObservable, getProperty) {
66490
+ if (getProperty === void 0) { getProperty = function (target, property) { return target[property]; }; }
66491
+ return new Proxy({}, {
66492
+ get: function (_, name) {
66493
+ var property = name;
66494
+ if (targets.length === 0)
66495
+ return conflictingValuesPlaceholder;
66496
+ var firstValue = getProperty(targets[0], property);
66497
+ for (var _i = 0, targets_1 = targets; _i < targets_1.length; _i++) {
66498
+ var target = targets_1[_i];
66499
+ if (getProperty(target, property) !== firstValue) {
66500
+ return conflictingValuesPlaceholder;
66501
+ }
66502
+ }
66503
+ return firstValue;
66504
+ },
66505
+ set: function (_, name, value) {
66506
+ if (value === "—")
66507
+ return true;
66508
+ var property = name;
66509
+ for (var _i = 0, targets_2 = targets; _i < targets_2.length; _i++) {
66510
+ var target = targets_2[_i];
66511
+ var initialValue = target[property];
66512
+ target[property] = value;
66513
+ if (onPropertyChangedObservable) {
66514
+ onPropertyChangedObservable.notifyObservers({
66515
+ object: target,
66516
+ property: name,
66517
+ value: target[property],
66518
+ initialValue: initialValue
66519
+ });
66520
+ }
66521
+ }
66522
+ return true;
66523
+ }
66524
+ });
66525
+ }
66526
+
66527
+
66468
66528
  /***/ }),
66469
66529
 
66470
66530
  /***/ "./sharedUiComponents/lines/textInputLineComponent.tsx":
@@ -66480,6 +66540,8 @@ __webpack_require__.r(__webpack_exports__);
66480
66540
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
66481
66541
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
66482
66542
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
66543
+ /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
66544
+
66483
66545
 
66484
66546
 
66485
66547
  var TextInputLineComponent = /** @class */ (function (_super) {
@@ -66543,14 +66605,18 @@ var TextInputLineComponent = /** @class */ (function (_super) {
66543
66605
  };
66544
66606
  TextInputLineComponent.prototype.render = function () {
66545
66607
  var _this = this;
66546
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "textInputLine" },
66608
+ var value = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] ? "" : this.state.value;
66609
+ var placeholder = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] ? _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] : "";
66610
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: this.props.unit !== undefined ? "textInputLine withUnits" : "textInputLine" },
66547
66611
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, color: "black", className: "icon" }),
66548
66612
  (!this.props.icon || (this.props.icon && this.props.label != "")) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label)),
66549
66613
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "value" + (this.props.noUnderline === true ? " noUnderline" : "") },
66550
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { value: this.state.value, onBlur: function () {
66614
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { value: value, onBlur: function () {
66551
66615
  _this.props.lockObject.lock = false;
66552
66616
  _this.updateValue((_this.props.value !== undefined ? _this.props.value : _this.props.target[_this.props.propertyName]) || "");
66553
- }, onFocus: function () { return (_this.props.lockObject.lock = true); }, onChange: function (evt) { return _this.updateValue(evt.target.value); } }))));
66617
+ }, onFocus: function () { return (_this.props.lockObject.lock = true); }, onChange: function (evt) { return _this.updateValue(evt.target.value); }, placeholder: placeholder })),
66618
+ this.props.unit !== undefined && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { className: this.props.unitLocked ? "unit disabled" : "unit", onClick: function () { if (_this.props.onUnitClicked && !_this.props.unitLocked)
66619
+ _this.props.onUnitClicked(_this.props.unit || ""); } }, this.props.unit)));
66554
66620
  };
66555
66621
  return TextInputLineComponent;
66556
66622
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -67176,6 +67242,8 @@ __webpack_require__.r(__webpack_exports__);
67176
67242
  /* harmony import */ var _lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
67177
67243
  /* harmony import */ var _lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../lines/textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
67178
67244
  /* harmony import */ var _lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../lines/optionsLineComponent */ "./sharedUiComponents/lines/optionsLineComponent.tsx");
67245
+ /* harmony import */ var _lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
67246
+
67179
67247
 
67180
67248
 
67181
67249
 
@@ -67190,8 +67258,7 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
67190
67258
  function CommonControlPropertyGridComponent(props) {
67191
67259
  return _super.call(this, props) || this;
67192
67260
  }
67193
- CommonControlPropertyGridComponent.prototype.renderGridInformation = function () {
67194
- var control = this.props.control;
67261
+ CommonControlPropertyGridComponent.prototype.renderGridInformation = function (control) {
67195
67262
  if (!control.parent) {
67196
67263
  return null;
67197
67264
  }
@@ -67210,7 +67277,17 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
67210
67277
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextLineComponent"], { label: "Column", value: cellInfos[1] })));
67211
67278
  };
67212
67279
  CommonControlPropertyGridComponent.prototype.render = function () {
67213
- var control = this.props.control;
67280
+ var controls;
67281
+ if (this.props.controls) {
67282
+ controls = this.props.controls;
67283
+ }
67284
+ else if (this.props.control) {
67285
+ controls = [this.props.control];
67286
+ }
67287
+ else {
67288
+ return;
67289
+ }
67290
+ var control = controls[0];
67214
67291
  var horizontalOptions = [
67215
67292
  { label: "Left", value: _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_4__["Control"].HORIZONTAL_ALIGNMENT_LEFT },
67216
67293
  { label: "Right", value: _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_4__["Control"].HORIZONTAL_ALIGNMENT_RIGHT },
@@ -67224,41 +67301,41 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
67224
67301
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
67225
67302
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "GENERAL" },
67226
67303
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextLineComponent"], { label: "Class", value: control.getClassName() }),
67227
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Name", target: control, propertyName: "name", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67304
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Name", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "name", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67228
67305
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_3__["TextLineComponent"], { label: "Unique ID", value: control.uniqueId.toString() }),
67229
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Alpha", target: control, propertyName: "alpha", minimum: 0, maximum: 1, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67230
- control.color !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Color", target: control, propertyName: "color", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67231
- control.background !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Background", target: control, propertyName: "background", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67232
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ZIndex", target: control, propertyName: "zIndex", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67233
- this.renderGridInformation(),
67306
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Alpha", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "alpha", minimum: 0, maximum: 1, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67307
+ control.color !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Color", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "color", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67308
+ control.background !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Background", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "background", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67309
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ZIndex", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "zIndex", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67310
+ this.renderGridInformation(control),
67234
67311
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "ALIGNMENT" },
67235
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Horizontal", options: horizontalOptions, target: control, propertyName: "horizontalAlignment", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67236
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Vertical", options: verticalOptions, target: control, propertyName: "verticalAlignment", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67312
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Horizontal", options: horizontalOptions, target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "horizontalAlignment", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67313
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__["OptionsLineComponent"], { label: "Vertical", options: verticalOptions, target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "verticalAlignment", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67237
67314
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "POSITION" },
67238
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Left", target: control, propertyName: "left", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67239
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Top", target: control, propertyName: "top", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67240
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Width", target: control, propertyName: "width", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67241
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Height", target: control, propertyName: "height", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67242
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding left", target: control, propertyName: "paddingLeft", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67243
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding top", target: control, propertyName: "paddingTop", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67244
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding right", target: control, propertyName: "paddingRight", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67245
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding bottom", target: control, propertyName: "paddingBottom", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67315
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Left", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "left", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67316
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Top", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "top", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67317
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Width", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "width", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67318
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Height", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "height", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67319
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding left", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "paddingLeft", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67320
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding top", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "paddingTop", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67321
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding right", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "paddingRight", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67322
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Padding bottom", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "paddingBottom", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67246
67323
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "TRANSFORMATION", closed: true },
67247
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ScaleX", target: control, propertyName: "scaleX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67248
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ScaleY", target: control, propertyName: "scaleY", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67249
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Rotation", target: control, propertyName: "rotation", minimum: 0, maximum: 2 * Math.PI, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67250
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Transform center X", target: control, propertyName: "transformCenterX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67251
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Transform center Y", target: control, propertyName: "transformCenterY", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67324
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ScaleX", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "scaleX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67325
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "ScaleY", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "scaleY", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67326
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__["SliderLineComponent"], { label: "Rotation", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "rotation", minimum: 0, maximum: 2 * Math.PI, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67327
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Transform center X", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "transformCenterX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67328
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Transform center Y", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "transformCenterY", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67252
67329
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "FONT", closed: true },
67253
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Family", target: control, propertyName: "fontFamily", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67254
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Size", target: control, propertyName: "fontSize", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67255
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Weight", target: control, propertyName: "fontWeight", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67256
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Style", target: control, propertyName: "fontStyle", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67330
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Family", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "fontFamily", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67331
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Size", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "fontSize", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67332
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Weight", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "fontWeight", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67333
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Style", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "fontStyle", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
67257
67334
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__["LineContainerComponent"], { title: "SHADOWS", closed: true },
67258
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Color", target: control, propertyName: "shadowColor", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67259
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Offset X", target: control, propertyName: "shadowOffsetX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67260
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Offset Y", target: control, propertyName: "shadowOffsetY", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67261
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Blur", target: control, propertyName: "shadowBlur", onPropertyChangedObservable: this.props.onPropertyChangedObservable }))));
67335
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Color", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "shadowColor", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67336
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Offset X", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "shadowOffsetX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67337
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Offset Y", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "shadowOffsetY", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67338
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_6__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Blur", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__["makeTargetsProxy"])(controls, this.props.onPropertyChangedObservable), propertyName: "shadowBlur", onPropertyChangedObservable: this.props.onPropertyChangedObservable }))));
67262
67339
  };
67263
67340
  return CommonControlPropertyGridComponent;
67264
67341
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -67663,6 +67740,8 @@ __webpack_require__.r(__webpack_exports__);
67663
67740
  /* harmony import */ var _lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
67664
67741
  /* harmony import */ var _lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../lines/textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
67665
67742
  /* harmony import */ var _lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
67743
+ /* harmony import */ var _lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
67744
+
67666
67745
 
67667
67746
 
67668
67747
 
@@ -67676,14 +67755,14 @@ var RadioButtonPropertyGridComponent = /** @class */ (function (_super) {
67676
67755
  return _super.call(this, props) || this;
67677
67756
  }
67678
67757
  RadioButtonPropertyGridComponent.prototype.render = function () {
67679
- var radioButton = this.props.radioButton;
67758
+ var radioButtons = this.props.radioButtons;
67680
67759
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "pane" },
67681
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_tabs_propertyGrids_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: this.props.lockObject, control: radioButton, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67760
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_tabs_propertyGrids_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: this.props.lockObject, controls: radioButtons, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67682
67761
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_lineContainerComponent__WEBPACK_IMPORTED_MODULE_3__["LineContainerComponent"], { title: "RADIO BUTTON" },
67683
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Thickness", target: radioButton, propertyName: "thickness", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67684
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Check size ratio", target: radioButton, propertyName: "checkSizeRatio", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67685
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Group", target: radioButton, propertyName: "group", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67686
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Checked", target: radioButton, propertyName: "isChecked", onPropertyChangedObservable: this.props.onPropertyChangedObservable }))));
67762
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Thickness", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(radioButtons, this.props.onPropertyChangedObservable), propertyName: "thickness", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67763
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_4__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Check size ratio", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(radioButtons, this.props.onPropertyChangedObservable), propertyName: "checkSizeRatio", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67764
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Group", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(radioButtons, this.props.onPropertyChangedObservable), propertyName: "group", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
67765
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_6__["CheckBoxLineComponent"], { label: "Checked", target: Object(_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(radioButtons, this.props.onPropertyChangedObservable), propertyName: "isChecked", onPropertyChangedObservable: this.props.onPropertyChangedObservable }))));
67687
67766
  };
67688
67767
  return RadioButtonPropertyGridComponent;
67689
67768
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));