@babylonjs/gui-editor 5.28.0 → 5.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51552,7 +51552,7 @@ class CommandBarComponent extends react__WEBPACK_IMPORTED_MODULE_2__.Component {
51552
51552
  this.props.globalState.tool = _globalState__WEBPACK_IMPORTED_MODULE_3__.GUIEditorTool.PAN;
51553
51553
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_7__.CommandButtonComponent, { tooltip: "Zoom", shortcut: "Z", icon: _imgs_zoomIcon_svg__WEBPACK_IMPORTED_MODULE_14__, isActive: this.props.globalState.tool === _globalState__WEBPACK_IMPORTED_MODULE_3__.GUIEditorTool.ZOOM, onClick: () => {
51554
51554
  this.props.globalState.tool = _globalState__WEBPACK_IMPORTED_MODULE_3__.GUIEditorTool.ZOOM;
51555
- } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_7__.CommandButtonComponent, { tooltip: "Copy Selcted", shortcut: "Ctrl + C", icon: copyyIcon, isActive: false, copyDeleteDisabled: this.props.globalState.selectedControls.length === 0, onClick: () => {
51555
+ } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_7__.CommandButtonComponent, { tooltip: "Copy Selected", shortcut: "Ctrl + C", icon: copyyIcon, isActive: false, copyDeleteDisabled: this.props.globalState.selectedControls.length === 0, onClick: () => {
51556
51556
  this.props.globalState.onCopyObservable.notifyObservers((content) => this.props.globalState.hostWindow.navigator.clipboard.writeText(content));
51557
51557
  this.forceUpdate();
51558
51558
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_7__.CommandButtonComponent, { tooltip: "Paste", shortcut: "Ctrl + V", icon: pasteeIcon, isActive: false, pasteDisabled: isPasteDisabled, onClick: async () => {
@@ -52012,34 +52012,36 @@ __webpack_require__.r(__webpack_exports__);
52012
52012
  /* harmony import */ var core_Maths_math__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_Maths_math__WEBPACK_IMPORTED_MODULE_11__);
52013
52013
  /* harmony import */ var shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! shared-ui-components/lines/iconComponent */ "../../../dev/sharedUiComponents/dist/lines/iconComponent.js");
52014
52014
  /* harmony import */ var shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! shared-ui-components/lines/optionsLineComponent */ "../../../dev/sharedUiComponents/dist/lines/optionsLineComponent.js");
52015
- /* harmony import */ var shared_ui_components_imgs_sizeIcon_svg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! shared-ui-components/imgs/sizeIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/sizeIcon.svg");
52016
- /* harmony import */ var shared_ui_components_imgs_verticalMarginIcon_svg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! shared-ui-components/imgs/verticalMarginIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/verticalMarginIcon.svg");
52017
- /* harmony import */ var shared_ui_components_imgs_positionIcon_svg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! shared-ui-components/imgs/positionIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/positionIcon.svg");
52018
- /* harmony import */ var shared_ui_components_imgs_fontFamilyIcon_svg__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! shared-ui-components/imgs/fontFamilyIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fontFamilyIcon.svg");
52019
- /* harmony import */ var shared_ui_components_imgs_alphaIcon_svg__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! shared-ui-components/imgs/alphaIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/alphaIcon.svg");
52020
- /* harmony import */ var shared_ui_components_imgs_fontSizeIcon_svg__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! shared-ui-components/imgs/fontSizeIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fontSizeIcon.svg");
52021
- /* harmony import */ var shared_ui_components_imgs_fontStyleIcon_svg__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! shared-ui-components/imgs/fontStyleIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fontStyleIcon.svg");
52022
- /* harmony import */ var shared_ui_components_imgs_fontWeightIcon_svg__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! shared-ui-components/imgs/fontWeightIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fontWeightIcon.svg");
52023
- /* harmony import */ var shared_ui_components_imgs_rotationIcon_svg__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! shared-ui-components/imgs/rotationIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/rotationIcon.svg");
52024
- /* harmony import */ var shared_ui_components_imgs_pivotIcon_svg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! shared-ui-components/imgs/pivotIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/pivotIcon.svg");
52025
- /* harmony import */ var shared_ui_components_imgs_scaleIcon_svg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! shared-ui-components/imgs/scaleIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/scaleIcon.svg");
52026
- /* harmony import */ var shared_ui_components_imgs_shadowBlurIcon_svg__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! shared-ui-components/imgs/shadowBlurIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/shadowBlurIcon.svg");
52027
- /* harmony import */ var shared_ui_components_imgs_horizontalMarginIcon_svg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! shared-ui-components/imgs/horizontalMarginIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/horizontalMarginIcon.svg");
52028
- /* harmony import */ var shared_ui_components_imgs_shadowColorIcon_svg__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! shared-ui-components/imgs/shadowColorIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/shadowColorIcon.svg");
52029
- /* harmony import */ var shared_ui_components_imgs_shadowOffsetXIcon_svg__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! shared-ui-components/imgs/shadowOffsetXIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/shadowOffsetXIcon.svg");
52030
- /* harmony import */ var shared_ui_components_imgs_colorIcon_svg__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! shared-ui-components/imgs/colorIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/colorIcon.svg");
52031
- /* harmony import */ var shared_ui_components_imgs_fillColorIcon_svg__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! shared-ui-components/imgs/fillColorIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fillColorIcon.svg");
52032
- /* harmony import */ var shared_ui_components_imgs_linkedMeshOffsetIcon_svg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! shared-ui-components/imgs/linkedMeshOffsetIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/linkedMeshOffsetIcon.svg");
52033
- /* harmony import */ var shared_ui_components_imgs_hAlignCenterIcon_svg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! shared-ui-components/imgs/hAlignCenterIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/hAlignCenterIcon.svg");
52034
- /* harmony import */ var shared_ui_components_imgs_hAlignLeftIcon_svg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! shared-ui-components/imgs/hAlignLeftIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/hAlignLeftIcon.svg");
52035
- /* harmony import */ var shared_ui_components_imgs_hAlignRightIcon_svg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! shared-ui-components/imgs/hAlignRightIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/hAlignRightIcon.svg");
52036
- /* harmony import */ var shared_ui_components_imgs_vAlignCenterIcon_svg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! shared-ui-components/imgs/vAlignCenterIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/vAlignCenterIcon.svg");
52037
- /* harmony import */ var shared_ui_components_imgs_vAlignTopIcon_svg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! shared-ui-components/imgs/vAlignTopIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/vAlignTopIcon.svg");
52038
- /* harmony import */ var shared_ui_components_imgs_vAlignBottomIcon_svg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! shared-ui-components/imgs/vAlignBottomIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/vAlignBottomIcon.svg");
52039
- /* harmony import */ var shared_ui_components_imgs_descendantsOnlyPaddingIcon_svg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! shared-ui-components/imgs/descendantsOnlyPaddingIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/descendantsOnlyPaddingIcon.svg");
52015
+ /* harmony import */ var shared_ui_components_imgs_sizeIcon_svg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! shared-ui-components/imgs/sizeIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/sizeIcon.svg");
52016
+ /* harmony import */ var shared_ui_components_imgs_verticalMarginIcon_svg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! shared-ui-components/imgs/verticalMarginIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/verticalMarginIcon.svg");
52017
+ /* harmony import */ var shared_ui_components_imgs_positionIcon_svg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! shared-ui-components/imgs/positionIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/positionIcon.svg");
52018
+ /* harmony import */ var shared_ui_components_imgs_fontFamilyIcon_svg__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! shared-ui-components/imgs/fontFamilyIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fontFamilyIcon.svg");
52019
+ /* harmony import */ var shared_ui_components_imgs_alphaIcon_svg__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! shared-ui-components/imgs/alphaIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/alphaIcon.svg");
52020
+ /* harmony import */ var shared_ui_components_imgs_fontSizeIcon_svg__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! shared-ui-components/imgs/fontSizeIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fontSizeIcon.svg");
52021
+ /* harmony import */ var shared_ui_components_imgs_fontStyleIcon_svg__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! shared-ui-components/imgs/fontStyleIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fontStyleIcon.svg");
52022
+ /* harmony import */ var shared_ui_components_imgs_fontWeightIcon_svg__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! shared-ui-components/imgs/fontWeightIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fontWeightIcon.svg");
52023
+ /* harmony import */ var shared_ui_components_imgs_rotationIcon_svg__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! shared-ui-components/imgs/rotationIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/rotationIcon.svg");
52024
+ /* harmony import */ var shared_ui_components_imgs_pivotIcon_svg__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! shared-ui-components/imgs/pivotIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/pivotIcon.svg");
52025
+ /* harmony import */ var shared_ui_components_imgs_scaleIcon_svg__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! shared-ui-components/imgs/scaleIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/scaleIcon.svg");
52026
+ /* harmony import */ var shared_ui_components_imgs_shadowBlurIcon_svg__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! shared-ui-components/imgs/shadowBlurIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/shadowBlurIcon.svg");
52027
+ /* harmony import */ var shared_ui_components_imgs_horizontalMarginIcon_svg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! shared-ui-components/imgs/horizontalMarginIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/horizontalMarginIcon.svg");
52028
+ /* harmony import */ var shared_ui_components_imgs_shadowColorIcon_svg__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! shared-ui-components/imgs/shadowColorIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/shadowColorIcon.svg");
52029
+ /* harmony import */ var shared_ui_components_imgs_shadowOffsetXIcon_svg__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! shared-ui-components/imgs/shadowOffsetXIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/shadowOffsetXIcon.svg");
52030
+ /* harmony import */ var shared_ui_components_imgs_colorIcon_svg__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! shared-ui-components/imgs/colorIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/colorIcon.svg");
52031
+ /* harmony import */ var shared_ui_components_imgs_fillColorIcon_svg__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! shared-ui-components/imgs/fillColorIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/fillColorIcon.svg");
52032
+ /* harmony import */ var shared_ui_components_imgs_linkedMeshOffsetIcon_svg__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! shared-ui-components/imgs/linkedMeshOffsetIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/linkedMeshOffsetIcon.svg");
52033
+ /* harmony import */ var shared_ui_components_imgs_hAlignCenterIcon_svg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! shared-ui-components/imgs/hAlignCenterIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/hAlignCenterIcon.svg");
52034
+ /* harmony import */ var shared_ui_components_imgs_hAlignLeftIcon_svg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! shared-ui-components/imgs/hAlignLeftIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/hAlignLeftIcon.svg");
52035
+ /* harmony import */ var shared_ui_components_imgs_hAlignRightIcon_svg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! shared-ui-components/imgs/hAlignRightIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/hAlignRightIcon.svg");
52036
+ /* harmony import */ var shared_ui_components_imgs_vAlignCenterIcon_svg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! shared-ui-components/imgs/vAlignCenterIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/vAlignCenterIcon.svg");
52037
+ /* harmony import */ var shared_ui_components_imgs_vAlignTopIcon_svg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! shared-ui-components/imgs/vAlignTopIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/vAlignTopIcon.svg");
52038
+ /* harmony import */ var shared_ui_components_imgs_vAlignBottomIcon_svg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! shared-ui-components/imgs/vAlignBottomIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/vAlignBottomIcon.svg");
52039
+ /* harmony import */ var shared_ui_components_imgs_descendantsOnlyPaddingIcon_svg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! shared-ui-components/imgs/descendantsOnlyPaddingIcon.svg */ "../../../dev/sharedUiComponents/dist/imgs/descendantsOnlyPaddingIcon.svg");
52040
52040
  /* harmony import */ var shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! shared-ui-components/lines/floatLineComponent */ "../../../dev/sharedUiComponents/dist/lines/floatLineComponent.js");
52041
52041
  /* harmony import */ var shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! shared-ui-components/lines/unitButton */ "../../../dev/sharedUiComponents/dist/lines/unitButton.js");
52042
52042
  /* harmony import */ var _diagram_workbench__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../../../diagram/workbench */ "../../../tools/guiEditor/dist/diagram/workbench.js");
52043
+ /* harmony import */ var shared_ui_components_components_MessageDialog__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! shared-ui-components/components/MessageDialog */ "../../../dev/sharedUiComponents/dist/components/MessageDialog.js");
52044
+
52043
52045
 
52044
52046
 
52045
52047
 
@@ -52134,21 +52136,21 @@ class CommonControlPropertyGridComponent extends react__WEBPACK_IMPORTED_MODULE_
52134
52136
  })();
52135
52137
  };
52136
52138
  this.state = {
52137
- fontFamilyOptions: JSON.parse(String(window.sessionStorage.getItem("fonts")))
52138
- ? JSON.parse(String(window.sessionStorage.getItem("fonts")))
52139
- : [
52140
- { label: "Custom Font", value: 0 },
52141
- { label: "Arial", value: 1 },
52142
- { label: "Verdana", value: 2 },
52143
- { label: "Helvetica", value: 3 },
52144
- { label: "Trebuchet MS", value: 4 },
52145
- { label: "Times New Roman", value: 5 },
52146
- { label: "Georgia", value: 6 },
52147
- { label: "Garamond", value: 7 },
52148
- { label: "Courier New", value: 8 },
52149
- { label: "Brush Script MT", value: 9 },
52150
- ],
52139
+ fontFamilyOptions: JSON.parse(String(window.sessionStorage.getItem("fonts"))) ?? [
52140
+ { label: "Custom Font", value: 0 },
52141
+ { label: "Arial", value: 1 },
52142
+ { label: "Verdana", value: 2 },
52143
+ { label: "Helvetica", value: 3 },
52144
+ { label: "Trebuchet MS", value: 4 },
52145
+ { label: "Times New Roman", value: 5 },
52146
+ { label: "Georgia", value: 6 },
52147
+ { label: "Garamond", value: 7 },
52148
+ { label: "Courier New", value: 8 },
52149
+ { label: "Brush Script MT", value: 9 },
52150
+ ],
52151
52151
  value: 0,
52152
+ invalidFonts: JSON.parse(String(window.sessionStorage.getItem("invalidFonts"))) ?? [],
52153
+ invalidFontAlertName: undefined,
52152
52154
  };
52153
52155
  const controls = this.props.controls;
52154
52156
  for (const control of controls) {
@@ -52191,21 +52193,28 @@ class CommonControlPropertyGridComponent extends react__WEBPACK_IMPORTED_MODULE_
52191
52193
  correctFonts.push(font);
52192
52194
  }
52193
52195
  }
52194
- const correctLabels = correctFonts.map((element) => element.label);
52196
+ const correctLabels = correctFonts.map((element) => element.label.trim().toLowerCase());
52195
52197
  const moreFonts = _diagram_workbench__WEBPACK_IMPORTED_MODULE_16__.WorkbenchComponent.addedFonts;
52198
+ let invalidFontAlertName = undefined;
52199
+ const invalidFontsArray = this.state.invalidFonts.slice();
52196
52200
  for (let i = 0; i < moreFonts.length; i++) {
52197
- if (!correctLabels.includes(moreFonts[i]) && document.fonts.check(`12px "${moreFonts[i]}"`)) {
52198
- correctFonts.push({ label: moreFonts[i], value: correctFonts.length + 1 });
52199
- correctLabels.push(moreFonts[i]);
52201
+ const fontName = moreFonts[i].trim().toLowerCase();
52202
+ if (!correctLabels.includes(fontName) && document.fonts.check(`12px "${fontName}"`)) {
52203
+ correctFonts.push({ label: fontName, value: correctFonts.length + 1 });
52204
+ correctLabels.push(fontName);
52200
52205
  }
52201
- else if (!document.fonts.check(`12px "${moreFonts[i]}"`)) {
52202
- alert("The font " + moreFonts[i] + " is unable to load");
52206
+ else if (invalidFontsArray.indexOf(fontName) === -1 && !document.fonts.check(`12px "${fontName}"`)) {
52207
+ invalidFontAlertName = moreFonts[i];
52208
+ invalidFontsArray.push(fontName);
52203
52209
  }
52204
52210
  }
52205
52211
  this.setState({
52206
52212
  fontFamilyOptions: correctFonts,
52213
+ invalidFonts: invalidFontsArray,
52214
+ invalidFontAlertName,
52207
52215
  });
52208
52216
  window.sessionStorage.setItem("fonts", JSON.stringify(correctFonts));
52217
+ window.sessionStorage.setItem("invalidFonts", JSON.stringify(invalidFontsArray));
52209
52218
  }
52210
52219
  _getTransformedReferenceCoordinate(control) {
52211
52220
  const nodeMatrix = _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_10__.CoordinateHelper.GetNodeMatrix(control);
@@ -52301,7 +52310,7 @@ class CommonControlPropertyGridComponent extends react__WEBPACK_IMPORTED_MODULE_
52301
52310
  horizontalAlignment = firstControl.textHorizontalAlignment;
52302
52311
  verticalAlignment = firstControl.textVerticalAlignment;
52303
52312
  }
52304
- const showTextProperties = firstControl instanceof gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Container || firstControl.typeName === "TextBlock";
52313
+ const showTextProperties = firstControl instanceof gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Container || firstControl.typeName === "TextBlock" || firstControl.typeName === "InputText" || firstControl.typeName === "InputPassword";
52305
52314
  const proxy = (0,shared_ui_components_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_9__.makeTargetsProxy)(controls, this.props.onPropertyChangedObservable);
52306
52315
  const getValue = (propertyName) => {
52307
52316
  const values = controls.map((control) => control[propertyName]._value);
@@ -52386,19 +52395,21 @@ class CommonControlPropertyGridComponent extends react__WEBPACK_IMPORTED_MODULE_
52386
52395
  widthUnitsLocked = true;
52387
52396
  }
52388
52397
  }
52389
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [!this.props.hideDimensions && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider alignment-bar", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Left", icon: shared_ui_components_imgs_hAlignLeftIcon_svg__WEBPACK_IMPORTED_MODULE_17__, shortcut: "", isActive: horizontalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_LEFT, onClick: () => {
52398
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [this.state.invalidFontAlertName && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_components_MessageDialog__WEBPACK_IMPORTED_MODULE_17__.MessageDialog, { message: "The font " + this.state.invalidFontAlertName + " is unable to load", isError: true, onClose: () => {
52399
+ this.setState({ invalidFontAlertName: undefined });
52400
+ } })), !this.props.hideDimensions && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider alignment-bar", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Left", icon: shared_ui_components_imgs_hAlignLeftIcon_svg__WEBPACK_IMPORTED_MODULE_18__, shortcut: "", isActive: horizontalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_LEFT, onClick: () => {
52390
52401
  this._updateAlignment("horizontalAlignment", gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_LEFT);
52391
- }, disabled: horizontalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Center", icon: shared_ui_components_imgs_hAlignCenterIcon_svg__WEBPACK_IMPORTED_MODULE_18__, shortcut: "", isActive: horizontalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_CENTER, onClick: () => {
52402
+ }, disabled: horizontalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Center", icon: shared_ui_components_imgs_hAlignCenterIcon_svg__WEBPACK_IMPORTED_MODULE_19__, shortcut: "", isActive: horizontalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_CENTER, onClick: () => {
52392
52403
  this._updateAlignment("horizontalAlignment", gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_CENTER);
52393
- }, disabled: horizontalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Right", icon: shared_ui_components_imgs_hAlignRightIcon_svg__WEBPACK_IMPORTED_MODULE_19__, shortcut: "", isActive: horizontalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_RIGHT, onClick: () => {
52404
+ }, disabled: horizontalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Right", icon: shared_ui_components_imgs_hAlignRightIcon_svg__WEBPACK_IMPORTED_MODULE_20__, shortcut: "", isActive: horizontalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_RIGHT, onClick: () => {
52394
52405
  this._updateAlignment("horizontalAlignment", gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.HORIZONTAL_ALIGNMENT_RIGHT);
52395
- }, disabled: horizontalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Top", icon: shared_ui_components_imgs_vAlignTopIcon_svg__WEBPACK_IMPORTED_MODULE_20__, shortcut: "", isActive: verticalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_TOP, onClick: () => {
52406
+ }, disabled: horizontalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Top", icon: shared_ui_components_imgs_vAlignTopIcon_svg__WEBPACK_IMPORTED_MODULE_21__, shortcut: "", isActive: verticalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_TOP, onClick: () => {
52396
52407
  this._updateAlignment("verticalAlignment", gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_TOP);
52397
- }, disabled: verticalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Center", icon: shared_ui_components_imgs_vAlignCenterIcon_svg__WEBPACK_IMPORTED_MODULE_21__, shortcut: "", isActive: verticalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_CENTER, onClick: () => {
52408
+ }, disabled: verticalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Center", icon: shared_ui_components_imgs_vAlignCenterIcon_svg__WEBPACK_IMPORTED_MODULE_22__, shortcut: "", isActive: verticalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_CENTER, onClick: () => {
52398
52409
  this._updateAlignment("verticalAlignment", gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_CENTER);
52399
- }, disabled: verticalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Bottom", icon: shared_ui_components_imgs_vAlignBottomIcon_svg__WEBPACK_IMPORTED_MODULE_22__, shortcut: "", isActive: verticalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_BOTTOM, onClick: () => {
52410
+ }, disabled: verticalDisabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__.CommandButtonComponent, { tooltip: "Bottom", icon: shared_ui_components_imgs_vAlignBottomIcon_svg__WEBPACK_IMPORTED_MODULE_23__, shortcut: "", isActive: verticalAlignment === gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_BOTTOM, onClick: () => {
52400
52411
  this._updateAlignment("verticalAlignment", gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__.Control.VERTICAL_ALIGNMENT_BOTTOM);
52401
- }, disabled: verticalDisabled })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_positionIcon_svg__WEBPACK_IMPORTED_MODULE_23__, label: "Position" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "X", delayInput: true, value: getValue("_left"), onChange: (newValue) => this._checkAndUpdateValues("left", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_left"), onClick: (unit) => convertUnits(unit, "left") }), arrows: true, arrowsIncrement: (amount) => increment("left", amount) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "Y", delayInput: true, value: getValue("_top"), onChange: (newValue) => this._checkAndUpdateValues("top", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_top"), onClick: (unit) => convertUnits(unit, "top") }), arrows: true, arrowsIncrement: (amount) => increment("top", amount) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_sizeIcon_svg__WEBPACK_IMPORTED_MODULE_24__, label: "Size" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "W", delayInput: true, value: getValue("_width"), onChange: (newValue) => {
52412
+ }, disabled: verticalDisabled })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_positionIcon_svg__WEBPACK_IMPORTED_MODULE_24__, label: "Position" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "X", delayInput: true, value: getValue("_left"), onChange: (newValue) => this._checkAndUpdateValues("left", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_left"), onClick: (unit) => convertUnits(unit, "left") }), arrows: true, arrowsIncrement: (amount) => increment("left", amount) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "Y", delayInput: true, value: getValue("_top"), onChange: (newValue) => this._checkAndUpdateValues("top", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_top"), onClick: (unit) => convertUnits(unit, "top") }), arrows: true, arrowsIncrement: (amount) => increment("top", amount) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_sizeIcon_svg__WEBPACK_IMPORTED_MODULE_25__, label: "Size" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "W", delayInput: true, value: getValue("_width"), onChange: (newValue) => {
52402
52413
  for (const control of controls) {
52403
52414
  if (control.typeName === "Image") {
52404
52415
  control.autoScale = false;
@@ -52428,29 +52439,33 @@ class CommonControlPropertyGridComponent extends react__WEBPACK_IMPORTED_MODULE_
52428
52439
  }
52429
52440
  }
52430
52441
  this._checkAndUpdateValues("height", newValue);
52431
- }, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_height"), locked: heightUnitsLocked, onClick: (unit) => convertUnits(unit, "height") }), arrows: true, arrowsIncrement: (amount) => increment("height", amount) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_verticalMarginIcon_svg__WEBPACK_IMPORTED_MODULE_25__, label: "Vertical Padding" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "T", delayInput: true, value: getValue("_paddingTop"), onChange: (newValue) => {
52442
+ }, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_height"), locked: heightUnitsLocked, onClick: (unit) => convertUnits(unit, "height") }), arrows: true, arrowsIncrement: (amount) => increment("height", amount) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_verticalMarginIcon_svg__WEBPACK_IMPORTED_MODULE_26__, label: "Vertical Padding" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "T", delayInput: true, value: getValue("_paddingTop"), onChange: (newValue) => {
52432
52443
  this._checkAndUpdateValues("paddingTop", newValue);
52433
52444
  this._markChildrenAsDirty();
52434
52445
  }, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_paddingTop"), onClick: (unit) => convertUnits(unit, "paddingTop") }), arrows: true, arrowsIncrement: (amount) => increment("paddingTop", amount, 0) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "B", delayInput: true, value: getValue("_paddingBottom"), onChange: (newValue) => {
52435
52446
  this._checkAndUpdateValues("paddingBottom", newValue);
52436
52447
  this._markChildrenAsDirty();
52437
- }, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_paddingBottom"), onClick: (unit) => convertUnits(unit, "paddingBottom") }), arrows: true, arrowsIncrement: (amount) => increment("paddingBottom", amount, 0) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_horizontalMarginIcon_svg__WEBPACK_IMPORTED_MODULE_26__, label: "Horizontal Padding" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "L", delayInput: true, value: getValue("_paddingLeft"), onChange: (newValue) => {
52448
+ }, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_paddingBottom"), onClick: (unit) => convertUnits(unit, "paddingBottom") }), arrows: true, arrowsIncrement: (amount) => increment("paddingBottom", amount, 0) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_horizontalMarginIcon_svg__WEBPACK_IMPORTED_MODULE_27__, label: "Horizontal Padding" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "L", delayInput: true, value: getValue("_paddingLeft"), onChange: (newValue) => {
52438
52449
  this._checkAndUpdateValues("paddingLeft", newValue);
52439
52450
  this._markChildrenAsDirty();
52440
52451
  }, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_paddingLeft"), onClick: (unit) => convertUnits(unit, "paddingLeft") }), arrows: true, arrowsIncrement: (amount) => increment("paddingLeft", amount) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "R", delayInput: true, value: getValue("_paddingRight"), onChange: (newValue) => {
52441
52452
  this._checkAndUpdateValues("paddingRight", newValue);
52442
52453
  this._markChildrenAsDirty();
52443
- }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_paddingRight"), onClick: (unit) => convertUnits(unit, "paddingRight") }), arrows: true, arrowsIncrement: (amount) => increment("paddingRight", amount) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_descendantsOnlyPaddingIcon_svg__WEBPACK_IMPORTED_MODULE_27__, label: "Makes padding affect only the descendants of this control" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: "ONLY PAD DESCENDANTS", target: proxy, propertyName: "descendentsOnlyPadding" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { className: "ge" })] })), parent?.name === "root" && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__.TextLineComponent, { label: "LINK OFFSET", value: " ", color: "grey" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_linkedMeshOffsetIcon_svg__WEBPACK_IMPORTED_MODULE_28__, label: "Link offset" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "X", delayInput: true, value: getValue("_linkOffsetX"), onChange: (newValue) => this._checkAndUpdateValues("linkOffsetX", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_linkOffsetX"), onClick: (unit) => convertUnits(unit, "linkOffsetX") }), arrows: true, arrowsIncrement: (amount) => increment("linkOffsetX", amount) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "Y", delayInput: true, value: getValue("_linkOffsetY"), onChange: (newValue) => this._checkAndUpdateValues("linkOffsetY", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_linkOffsetY"), onClick: (unit) => convertUnits(unit, "linkOffsetY") }), arrows: true, arrowsIncrement: (amount) => increment("linkOffsetY", amount) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { className: "ge" })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__.TextLineComponent, { tooltip: "", label: "TRANSFORMATION", value: " ", color: "grey" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_scaleIcon_svg__WEBPACK_IMPORTED_MODULE_29__, label: "Scale" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "scaleX", arrows: true, digits: 2, step: "0.0005" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "scaleY", arrows: true, digits: 2, step: "0.0005" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_pivotIcon_svg__WEBPACK_IMPORTED_MODULE_30__, label: "Transform Center" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "transformCenterX", arrows: true, digits: 2, step: "0.0005" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "transformCenterY", arrows: true, digits: 2, step: "0.0005" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_rotationIcon_svg__WEBPACK_IMPORTED_MODULE_31__, label: "Rotation" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__.SliderLineComponent, { iconLabel: "Rotation", lockObject: this.props.lockObject, label: "", target: proxy, decimalCount: 2, propertyName: "rotation", minimum: 0, maximum: 2 * Math.PI, step: 0.01, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: "RAD", locked: true }) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { className: "ge" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__.TextLineComponent, { tooltip: "", label: "APPEARANCE", value: " ", color: "grey" }), controls.every((control) => control.color !== undefined && control.typeName !== "Image" && control.typeName !== "ImageBasedSlider" && control.typeName !== "ColorPicker") && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_colorIcon_svg__WEBPACK_IMPORTED_MODULE_32__, label: "Outline Color" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_8__.ColorLineComponent, { lockObject: this.props.lockObject, label: "Outline Color", target: proxy, propertyName: "color" })] })), controls.every((control) => control.background !== undefined) && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fillColorIcon_svg__WEBPACK_IMPORTED_MODULE_33__, label: "Background Color" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_8__.ColorLineComponent, { lockObject: this.props.lockObject, label: "Background Color", target: proxy, propertyName: "background" })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_alphaIcon_svg__WEBPACK_IMPORTED_MODULE_34__, label: "Alpha" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__.SliderLineComponent, { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "alpha", minimum: 0, maximum: 1, step: 0.01 })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_shadowColorIcon_svg__WEBPACK_IMPORTED_MODULE_35__, label: "Shadow Color" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_8__.ColorLineComponent, { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "shadowColor", disableAlpha: true })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_shadowOffsetXIcon_svg__WEBPACK_IMPORTED_MODULE_36__, label: "Shadow Offset" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "shadowOffsetX", unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: "PX", locked: true }), arrows: true, step: "0.1", digits: 2 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "shadowOffsetY", unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: "PX", locked: true }), arrows: true, step: "0.1", digits: 2 })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_shadowBlurIcon_svg__WEBPACK_IMPORTED_MODULE_37__, label: "Shadow Blur" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: " ", target: proxy, propertyName: "shadowBlur", arrows: true, min: 0, digits: 2 })] }), showTextProperties && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { className: "ge" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__.TextLineComponent, { tooltip: "", label: "FONT STYLE", value: " ", color: "grey" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fontFamilyIcon_svg__WEBPACK_IMPORTED_MODULE_38__, label: "Font Family" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_13__.OptionsLineComponent, { label: "", target: proxy, propertyName: "fontFamily", valueProp: this.state.value, options: fonts, addVal: this.addVal, fromFontDropdown: true, fallbackValue: 1, onSelect: (newValue) => {
52454
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_paddingRight"), onClick: (unit) => convertUnits(unit, "paddingRight") }), arrows: true, arrowsIncrement: (amount) => increment("paddingRight", amount) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_descendantsOnlyPaddingIcon_svg__WEBPACK_IMPORTED_MODULE_28__, label: "Makes padding affect only the descendants of this control" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: "ONLY PAD DESCENDANTS", target: proxy, propertyName: "descendentsOnlyPadding" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { className: "ge" })] })), parent?.name === "root" && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__.TextLineComponent, { label: "LINK OFFSET", value: " ", color: "grey" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_linkedMeshOffsetIcon_svg__WEBPACK_IMPORTED_MODULE_29__, label: "Link offset" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "X", delayInput: true, value: getValue("_linkOffsetX"), onChange: (newValue) => this._checkAndUpdateValues("linkOffsetX", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_linkOffsetX"), onClick: (unit) => convertUnits(unit, "linkOffsetX") }), arrows: true, arrowsIncrement: (amount) => increment("linkOffsetX", amount) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { numbersOnly: true, lockObject: this.props.lockObject, label: "Y", delayInput: true, value: getValue("_linkOffsetY"), onChange: (newValue) => this._checkAndUpdateValues("linkOffsetY", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_linkOffsetY"), onClick: (unit) => convertUnits(unit, "linkOffsetY") }), arrows: true, arrowsIncrement: (amount) => increment("linkOffsetY", amount) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { className: "ge" })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__.TextLineComponent, { tooltip: "", label: "TRANSFORMATION", value: " ", color: "grey" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_scaleIcon_svg__WEBPACK_IMPORTED_MODULE_30__, label: "Scale" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "scaleX", arrows: true, digits: 2, step: "0.0005" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "scaleY", arrows: true, digits: 2, step: "0.0005" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_pivotIcon_svg__WEBPACK_IMPORTED_MODULE_31__, label: "Transform Center" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "transformCenterX", arrows: true, digits: 2, step: "0.0005" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "transformCenterY", arrows: true, digits: 2, step: "0.0005" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_rotationIcon_svg__WEBPACK_IMPORTED_MODULE_32__, label: "Rotation" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__.SliderLineComponent, { iconLabel: "Rotation", lockObject: this.props.lockObject, label: "", target: proxy, decimalCount: 2, propertyName: "rotation", minimum: 0, maximum: 2 * Math.PI, step: 0.01, unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: "RAD", locked: true }) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { className: "ge" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__.TextLineComponent, { tooltip: "", label: "APPEARANCE", value: " ", color: "grey" }), controls.every((control) => control.color !== undefined && control.typeName !== "Image" && control.typeName !== "ImageBasedSlider" && control.typeName !== "ColorPicker") && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_colorIcon_svg__WEBPACK_IMPORTED_MODULE_33__, label: "Outline Color" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_8__.ColorLineComponent, { lockObject: this.props.lockObject, label: "Outline Color", target: proxy, propertyName: "color" })] })), controls.every((control) => control.background !== undefined) && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fillColorIcon_svg__WEBPACK_IMPORTED_MODULE_34__, label: "Background Color" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_8__.ColorLineComponent, { lockObject: this.props.lockObject, label: "Background Color", target: proxy, propertyName: "background" })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_alphaIcon_svg__WEBPACK_IMPORTED_MODULE_35__, label: "Alpha" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__.SliderLineComponent, { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "alpha", minimum: 0, maximum: 1, step: 0.01 })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_shadowColorIcon_svg__WEBPACK_IMPORTED_MODULE_36__, label: "Shadow Color" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_8__.ColorLineComponent, { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "shadowColor", disableAlpha: true })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_shadowOffsetXIcon_svg__WEBPACK_IMPORTED_MODULE_37__, label: "Shadow Offset" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "shadowOffsetX", unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: "PX", locked: true }), arrows: true, step: "0.1", digits: 2 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "shadowOffsetY", unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: "PX", locked: true }), arrows: true, step: "0.1", digits: 2 })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_shadowBlurIcon_svg__WEBPACK_IMPORTED_MODULE_38__, label: "Shadow Blur" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_14__.FloatLineComponent, { lockObject: this.props.lockObject, label: " ", target: proxy, propertyName: "shadowBlur", arrows: true, min: 0, digits: 2 })] }), showTextProperties && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("hr", { className: "ge" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__.TextLineComponent, { tooltip: "", label: "FONT STYLE", value: " ", color: "grey" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fontFamilyIcon_svg__WEBPACK_IMPORTED_MODULE_39__, label: "Font Family" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_13__.OptionsLineComponent, { label: "", target: proxy, propertyName: "fontFamily", valueProp: this.state.value, options: fonts, addVal: this.addVal, fromFontDropdown: true, fallbackValue: 1, onSelect: (newValue) => {
52444
52455
  const fontFamily = this.state.fontFamilyOptions.filter(({ value }) => value === newValue).map(({ label }) => label);
52445
52456
  proxy.fontFamily = fontFamily[0];
52446
52457
  }, extractValue: () => {
52447
- if (this.state.fontFamilyOptions.filter(({ label }) => label === proxy.fontFamily)[0].label) {
52448
- return this.state.fontFamilyOptions.filter(({ label }) => label === proxy.fontFamily)[0].value;
52458
+ if (this.state.invalidFonts.indexOf(proxy.fontFamily)) {
52459
+ return 1;
52460
+ }
52461
+ const matchingFonts = this.state.fontFamilyOptions.filter(({ label }) => label.trim().toLowerCase() === proxy.fontFamily.trim().toLowerCase());
52462
+ if (matchingFonts.length > 0 && matchingFonts[0].label) {
52463
+ return matchingFonts[0].value;
52449
52464
  }
52450
52465
  else {
52451
52466
  return -1;
52452
52467
  }
52453
- } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fontWeightIcon_svg__WEBPACK_IMPORTED_MODULE_39__, label: "Font Weight" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "fontWeight" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fontStyleIcon_svg__WEBPACK_IMPORTED_MODULE_40__, label: "Font Style" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_13__.OptionsLineComponent, { label: "", target: proxy, propertyName: "fontStyle", options: fontStyleOptions, fromFontDropdown: false, onSelect: (newValue) => {
52468
+ } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fontWeightIcon_svg__WEBPACK_IMPORTED_MODULE_40__, label: "Font Weight" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "fontWeight" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fontStyleIcon_svg__WEBPACK_IMPORTED_MODULE_41__, label: "Font Style" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_13__.OptionsLineComponent, { label: "", target: proxy, propertyName: "fontStyle", options: fontStyleOptions, fromFontDropdown: false, onSelect: (newValue) => {
52454
52469
  proxy.fontStyle = ["", "italic", "oblique"][newValue];
52455
52470
  }, extractValue: () => {
52456
52471
  switch (proxy.fontStyle) {
@@ -52461,7 +52476,7 @@ class CommonControlPropertyGridComponent extends react__WEBPACK_IMPORTED_MODULE_
52461
52476
  default:
52462
52477
  return 0;
52463
52478
  }
52464
- } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fontSizeIcon_svg__WEBPACK_IMPORTED_MODULE_41__, label: "Font Size" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { lockObject: this.props.lockObject, label: "", numbersOnly: true, value: getValue("_fontSize"), onChange: (newValue) => this._checkAndUpdateValues("fontSize", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_fontSize"), onClick: (unit) => convertUnits(unit, "fontSize") }), arrows: true, arrowsIncrement: (amount) => increment("fontSize", amount, 0) })] })] }))] }));
52479
+ } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "ge-divider double", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_iconComponent__WEBPACK_IMPORTED_MODULE_12__.IconComponent, { icon: shared_ui_components_imgs_fontSizeIcon_svg__WEBPACK_IMPORTED_MODULE_42__, label: "Font Size" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { lockObject: this.props.lockObject, label: "", numbersOnly: true, value: getValue("_fontSize"), onChange: (newValue) => this._checkAndUpdateValues("fontSize", newValue), unit: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_unitButton__WEBPACK_IMPORTED_MODULE_15__.UnitButton, { unit: getUnitString("_fontSize"), onClick: (unit) => convertUnits(unit, "fontSize") }), arrows: true, arrowsIncrement: (amount) => increment("fontSize", amount, 0) })] })] }))] }));
52465
52480
  }
52466
52481
  }
52467
52482
 
@@ -53745,7 +53760,7 @@ __webpack_require__.r(__webpack_exports__);
53745
53760
  /* harmony export */ });
53746
53761
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "../../../../node_modules/react/jsx-runtime.js");
53747
53762
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
53748
- /* harmony import */ var core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/Misc/tools */ "core/Misc/observable");
53763
+ /* harmony import */ var core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/Misc/stringTools */ "core/Misc/observable");
53749
53764
  /* harmony import */ var core_Misc_tools__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__);
53750
53765
  /* harmony import */ var shared_ui_components_stringTools__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! shared-ui-components/stringTools */ "../../../dev/sharedUiComponents/dist/stringTools.js");
53751
53766
  /* harmony import */ var shared_ui_components_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! shared-ui-components/tabs/propertyGrids/lockObject */ "../../../dev/sharedUiComponents/dist/tabs/propertyGrids/lockObject.js");
@@ -53803,6 +53818,7 @@ __webpack_require__.r(__webpack_exports__);
53803
53818
 
53804
53819
 
53805
53820
 
53821
+
53806
53822
 
53807
53823
 
53808
53824
  class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
@@ -53844,12 +53860,22 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
53844
53860
  }
53845
53861
  }
53846
53862
  };
53863
+ // Check if we need to encode it to store the unicode characters (same approach as PR #12391)
53864
+ const encoder = new TextEncoder();
53865
+ const buffer = encoder.encode(content);
53866
+ let testData = "";
53867
+ for (let i = 0; i < buffer.length; i++) {
53868
+ testData += String.fromCharCode(buffer[i]);
53869
+ }
53870
+ const isUnicode = testData !== content;
53871
+ const objToSend = {
53872
+ gui: content,
53873
+ encodedGui: isUnicode ? (0,core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__.EncodeArrayBufferToBase64)(buffer) : undefined,
53874
+ };
53847
53875
  xmlHttp.open("POST", gui_2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_20__.AdvancedDynamicTexture.SnippetUrl + (adt.snippetId ? "/" + adt.snippetId : ""), true);
53848
53876
  xmlHttp.setRequestHeader("Content-Type", "application/json");
53849
53877
  const dataToSend = {
53850
- payload: JSON.stringify({
53851
- gui: content,
53852
- }),
53878
+ payload: JSON.stringify(objToSend),
53853
53879
  name: "",
53854
53880
  description: "",
53855
53881
  tags: "",
@@ -56303,7 +56329,10 @@ class WorkbenchComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
56303
56329
  }
56304
56330
  loadToEditor() {
56305
56331
  this.props.globalState.guiTexture.rootContainer.getDescendants().forEach((guiElement) => {
56306
- WorkbenchComponent._addedFonts.push(guiElement.fontFamily);
56332
+ const fontName = guiElement.fontFamily.trim().toLowerCase();
56333
+ if (WorkbenchComponent._addedFonts.indexOf(fontName) === -1) {
56334
+ WorkbenchComponent._addedFonts.push(guiElement.fontFamily);
56335
+ }
56307
56336
  this.addEditorBehavior(guiElement);
56308
56337
  });
56309
56338
  this._isOverGUINode = [];