@babylonjs/gui-editor 5.0.0-beta.8 → 5.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10114,7 +10114,7 @@ __webpack_require__.r(__webpack_exports__);
10114
10114
 
10115
10115
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);
10116
10116
  // Module
10117
- ___CSS_LOADER_EXPORT___.push([module.i, ":root {\n --backgroundGrey: #aaaaaa;\n --spacingHeight: 30px;\n --labelFamily: \"acumin-pro-condensed-semibold\"; }\n\nhr.ge {\n border: 1px solid #d0cece; }\n\n#ge-propertyTab {\n user-select: none;\n color: black;\n background: #e2e2e2; }\n #ge-propertyTab * {\n font-family: \"acumin-pro-semicondensed\";\n font-size: 12px; }\n #ge-propertyTab #header {\n height: 30px;\n font-size: 16px;\n color: white;\n background: white;\n grid-row: 1;\n text-align: center;\n display: grid;\n grid-template-columns: 30px 1fr;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #ge-propertyTab #header #logo {\n position: relative;\n background: white;\n grid-column: 1;\n width: 32px;\n height: 32px;\n left: 0;\n display: flex;\n align-self: center;\n justify-self: center; }\n #ge-propertyTab #header #title {\n background: white;\n color: black;\n grid-column: 2;\n display: grid;\n align-items: center;\n text-align: center; }\n #ge-propertyTab .range {\n -webkit-appearance: none;\n width: 100%;\n height: 2px;\n background: #bcbcbc;\n border-radius: 5px;\n outline: none;\n opacity: 0.7;\n -webkit-transition: .2s;\n transition: opacity .2s; }\n #ge-propertyTab .range:hover {\n opacity: 1; }\n #ge-propertyTab .range::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #e2e2e2;\n border: solid;\n border-width: thin;\n cursor: pointer; }\n #ge-propertyTab .range::-moz-range-thumb {\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: black;\n cursor: pointer; }\n #ge-propertyTab input[type=\"color\"] {\n -webkit-appearance: none;\n border: 1px solid rgba(255, 255, 255, 0.5);\n padding: 0;\n width: 30px;\n height: 20px; }\n #ge-propertyTab input[type=\"color\"]::-webkit-color-swatch-wrapper {\n padding: 0; }\n #ge-propertyTab input[type=\"color\"]::-webkit-color-swatch {\n border: none; }\n #ge-propertyTab .unit {\n width: 26px;\n height: 26px;\n background-color: white;\n border: none;\n margin-top: 2px; }\n #ge-propertyTab .unit.disabled {\n background-color: #c8c8c8; }\n #ge-propertyTab .sliderLine {\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 18px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: auto auto auto 1fr; }\n #ge-propertyTab .sliderLine .label {\n grid-column: 2;\n display: flex;\n align-items: center;\n min-width: 15px;\n font-family: var(--labelFamily); }\n #ge-propertyTab .sliderLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .sliderLine .slider {\n grid-column: 4;\n grid-row: 1;\n margin-right: 5px;\n width: 90%;\n display: flex;\n align-items: center;\n padding-left: 5px; }\n #ge-propertyTab .sliderLine .floatLine {\n grid-column: 3;\n padding-left: 0px; }\n #ge-propertyTab .sliderLine .floatLine .label {\n grid-column: 1;\n display: none;\n align-items: center;\n font-family: var(--labelFamily); }\n #ge-propertyTab .sliderLine .floatLine .short {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .sliderLine .floatLine .short input {\n width: 60px;\n background-color: white;\n outline-color: transparent;\n border: transparent;\n height: 26px;\n outline-width: 0px; }\n #ge-propertyTab .sliderLine .floatLine .short input::-webkit-outer-spin-button,\n #ge-propertyTab .sliderLine .floatLine .short input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0; }\n #ge-propertyTab .sliderLine .floatLine .short input[type=number] {\n -moz-appearance: textfield; }\n #ge-propertyTab .ge-divider {\n display: grid;\n grid-template-columns: auto auto auto auto auto auto;\n padding-right: 18px; }\n #ge-propertyTab .ge-divider-short {\n display: grid;\n grid-template-columns: 1fr 1fr;\n padding-right: 18px; }\n #ge-propertyTab .ge-divider-single {\n display: block;\n padding-right: 18px; }\n #ge-propertyTab .ge-grid-divider {\n display: grid;\n grid-template-columns: 150px 1fr auto; }\n #ge-propertyTab .ge-grid-divider .textLine {\n grid-column: auto; }\n #ge-propertyTab .ge-grid-button-divider {\n display: grid;\n grid-template-columns: 60px 60px 60px 60px; }\n #ge-propertyTab .ge-grid-remove {\n display: grid;\n background-color: #c2c2c2;\n margin-bottom: 5px;\n filter: invert(1); }\n #ge-propertyTab .ge-grid-edit {\n display: grid;\n background-color: #878787;\n margin-bottom: 5px;\n filter: invert(1); }\n #ge-propertyTab .ge-grid {\n display: grid;\n margin-bottom: 5px; }\n #ge-propertyTab .textInputLine {\n user-select: none;\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 18px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: auto auto 1fr; }\n #ge-propertyTab .textInputLine .label {\n grid-column: 2;\n display: flex;\n align-items: center;\n min-width: 15px;\n font-family: var(--labelFamily); }\n #ge-propertyTab .textInputLine img {\n width: 30px; }\n #ge-propertyTab .textInputLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .textInputLine .value {\n display: flex;\n align-items: center;\n grid-column: 3;\n background: transparent;\n height: 30px; }\n #ge-propertyTab .textInputLine .value input {\n width: calc(100% - 5px);\n background-color: white;\n outline-color: transparent;\n border: transparent;\n outline-width: 0px;\n height: 24px; }\n #ge-propertyTab .textInputLine.withUnits {\n grid-template-columns: auto auto 1fr auto; }\n #ge-propertyTab .textInputArea {\n padding-left: 5px;\n height: 100%;\n display: grid;\n grid-template-columns: 1fr 120px; }\n #ge-propertyTab .textInputArea .label {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .textInputArea .value {\n display: flex;\n align-items: center;\n grid-column: 2; }\n #ge-propertyTab .textInputArea .value textarea {\n width: calc(150% - 5px);\n margin-left: -50%;\n height: 40px; }\n #ge-propertyTab .paneContainer {\n margin-top: 3px;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%; }\n #ge-propertyTab .paneContainer .paneList {\n border-left: 3px solid transparent; }\n #ge-propertyTab .paneContainer:hover .paneList {\n border-left: 3px solid rgba(51, 122, 183, 0.8); }\n #ge-propertyTab .paneContainer:hover .paneContainer-content .header .title {\n border-left: 3px solid #337ab7; }\n #ge-propertyTab .paneContainer .paneContainer-highlight-border {\n grid-row: 1;\n grid-column: 1;\n opacity: 1;\n border: 3px solid red;\n transition: opacity 250ms;\n pointer-events: none; }\n #ge-propertyTab .paneContainer .paneContainer-highlight-border.transparent {\n opacity: 0; }\n #ge-propertyTab .paneContainer .paneContainer-content {\n grid-row: 1;\n grid-column: 1; }\n #ge-propertyTab .paneContainer .paneContainer-content .header {\n display: grid;\n grid-template-columns: 1fr auto;\n background: #cccccc;\n height: var(--spacingHeight);\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 5px;\n cursor: pointer; }\n #ge-propertyTab .paneContainer .paneContainer-content .header .title {\n border-left: 3px solid transparent;\n padding-left: 5px;\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .paneContainer .paneContainer-content .header .collapse {\n grid-column: 2;\n display: flex;\n align-items: center;\n justify-items: center;\n transform-origin: center; }\n #ge-propertyTab .paneContainer .paneContainer-content .header .collapse.closed {\n transform: rotate(180deg); }\n #ge-propertyTab .paneContainer .paneContainer-content .paneList > div:not(:last-child) {\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); }\n #ge-propertyTab .paneContainer .paneContainer-content .fragment > div:not(:last-child) {\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); }\n #ge-propertyTab .color-picker {\n height: 150px;\n width: 15px; }\n #ge-propertyTab .color-picker .color-rect-background {\n height: 15px;\n border: 1px black solid;\n cursor: pointer;\n background: repeating-conic-gradient(#E2E2E2 0% 25%, white 0% 50%) 50%/10px 10px; }\n #ge-propertyTab .color-picker .color-rect-background .color-rect {\n height: 100%; }\n #ge-propertyTab .color-picker .color-picker-cover {\n position: fixed;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px; }\n #ge-propertyTab .color-picker .color-picker-float {\n z-index: 2;\n position: absolute; }\n #ge-propertyTab .gradient-step {\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 20px 30px 40px auto 20px 30px;\n padding-top: 5px;\n padding-left: 5px;\n padding-bottom: 5px; }\n #ge-propertyTab .gradient-step .step {\n grid-row: 1;\n grid-column: 1; }\n #ge-propertyTab .gradient-step .color {\n grid-row: 1;\n grid-column: 2;\n cursor: pointer; }\n #ge-propertyTab .gradient-step .step-value {\n margin-left: 5px;\n grid-row: 1;\n grid-column: 3;\n text-align: right;\n margin-right: 5px; }\n #ge-propertyTab .gradient-step .step-slider {\n grid-row: 1;\n grid-column: 4;\n display: grid;\n justify-content: stretch;\n align-content: center;\n margin-right: -5px;\n padding-left: 12px; }\n #ge-propertyTab .gradient-step .step-slider input {\n width: 90%; }\n #ge-propertyTab .gradient-step .gradient-copy {\n grid-row: 1;\n grid-column: 5;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .gradient-step .gradient-copy .img {\n height: 20px;\n width: 20px; }\n #ge-propertyTab .gradient-step .gradient-copy .img:hover {\n cursor: pointer; }\n #ge-propertyTab .gradient-step .gradient-delete {\n grid-row: 1;\n grid-column: 6;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .gradient-step .gradient-delete .img {\n height: 20px;\n width: 20px; }\n #ge-propertyTab .gradient-step .gradient-delete .img:hover {\n cursor: pointer; }\n #ge-propertyTab .alignment-bar {\n display: flex;\n justify-content: center;\n padding-right: 5px; }\n #ge-propertyTab .command-button {\n cursor: pointer;\n width: 30px; }\n #ge-propertyTab .command-button .command-label {\n display: none; }\n #ge-propertyTab .command-button .command-button-icon {\n height: 100%;\n width: 100%;\n display: grid;\n color: white;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .command-button:hover {\n background-color: white; }\n #ge-propertyTab .command-button .active {\n transform-origin: center;\n background-color: white; }\n #ge-propertyTab .command-button img.active {\n background-color: white; }\n #ge-propertyTab .command-button-alt {\n cursor: pointer;\n width: 40px;\n margin-left: 5px;\n margin-right: 5px;\n background-color: white; }\n #ge-propertyTab .command-button-alt .command-label {\n display: none; }\n #ge-propertyTab .command-button-alt .command-button-icon {\n height: 100%;\n width: 100%;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .command-button-alt:hover {\n background-color: #c2c2c2;\n filter: invert(1); }\n #ge-propertyTab .command-button-alt-disabled {\n cursor: pointer;\n pointer-events: none;\n width: 40px;\n margin-left: 5px;\n margin-right: 5px;\n background-color: white; }\n #ge-propertyTab .command-button-alt-disabled .command-label {\n display: none; }\n #ge-propertyTab .command-button-alt-disabled .command-button-icon {\n height: 100%;\n width: 100%;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .command-button-alt-disabled img {\n filter: invert(1); }\n #ge-propertyTab .command-button-alt-active {\n cursor: pointer;\n pointer-events: none;\n width: 40px;\n margin-left: 5px;\n margin-right: 5px;\n background-color: #c2c2c2;\n filter: invert(1); }\n #ge-propertyTab .command-button-alt-active .command-label {\n display: none; }\n #ge-propertyTab .command-button-alt-active .command-button-icon {\n height: 100%;\n width: 100%;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .floatLine {\n user-select: none;\n padding-left: 5px;\n height: var(--spacingHeight);\n padding-bottom: 0px;\n padding-top: 0px;\n display: grid;\n grid-template-columns: auto auto 2fr 1fr; }\n #ge-propertyTab .floatLine .label {\n grid-column: 2;\n display: flex;\n align-items: center;\n min-width: 15px;\n font-family: var(--labelFamily); }\n #ge-propertyTab .floatLine img {\n width: 30px; }\n #ge-propertyTab .floatLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .floatLine .value {\n display: flex;\n align-items: center;\n grid-column: 3;\n background: transparent;\n height: 30px; }\n #ge-propertyTab .floatLine .value input {\n width: calc(100% - 5px);\n background-color: white;\n outline-color: transparent;\n border: none;\n outline-width: 0px;\n height: 24px; }\n #ge-propertyTab .floatLine .short {\n grid-column: 2;\n display: flex;\n align-items: center; }\n #ge-propertyTab .floatLine .short input {\n width: 27px; }\n #ge-propertyTab .floatLine .short input::-webkit-outer-spin-button,\n #ge-propertyTab .floatLine .short input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0; }\n #ge-propertyTab .floatLine .short input[type=number] {\n -moz-appearance: textfield; }\n #ge-propertyTab .vector3Line {\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n display: grid; }\n #ge-propertyTab .vector3Line .firstLine {\n display: grid;\n grid-template-columns: 1fr auto 20px;\n height: var(--spacingHeight); }\n #ge-propertyTab .vector3Line .firstLine .label {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .vector3Line .firstLine .vector {\n grid-column: 2;\n display: flex;\n align-items: center;\n text-align: right;\n opacity: 0.8; }\n #ge-propertyTab .vector3Line .firstLine .expand {\n grid-column: 3;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-propertyTab .vector3Line .secondLine {\n display: grid;\n padding-right: 5px;\n border-left: 1px solid #337ab7; }\n #ge-propertyTab .vector3Line .secondLine .no-right-margin {\n margin-right: 0; }\n #ge-propertyTab .vector3Line .secondLine .numeric {\n display: grid;\n grid-template-columns: 1fr auto; }\n #ge-propertyTab .vector3Line .secondLine .numeric-label {\n text-align: right;\n grid-column: 1;\n display: flex;\n align-items: center;\n justify-self: right;\n margin-right: 10px; }\n #ge-propertyTab .vector3Line .secondLine .numeric-value {\n width: 120px;\n grid-column: 2;\n display: flex;\n align-items: center;\n border: 1px solid #337ab7; }\n #ge-propertyTab .buttonLine {\n height: var(--spacingHeight);\n padding-bottom: 0px;\n padding-top: 0px;\n display: grid;\n align-items: center;\n justify-items: stretch;\n padding-bottom: 5px; }\n #ge-propertyTab .buttonLine input[type=\"file\"] {\n display: none; }\n #ge-propertyTab .buttonLine .file-upload {\n background: var(--backgroundGrey);\n border: 1px solid #424242;\n margin: 5px 10px;\n color: white;\n padding: 4px 5px;\n opacity: 0.9;\n cursor: pointer;\n text-align: center;\n border-radius: 4px; }\n #ge-propertyTab .buttonLine .file-upload:hover {\n opacity: 1.0; }\n #ge-propertyTab .buttonLine .file-upload:active {\n transform: scale(0.98);\n transform-origin: 0.5 0.5; }\n #ge-propertyTab .buttonLine button {\n background: var(--backgroundGrey);\n border: 1px solid #424242;\n margin: 5px 10px 5px 10px;\n color: white;\n padding: 4px 5px;\n opacity: 0.9;\n border-radius: 4px; }\n #ge-propertyTab .buttonLine button:hover {\n opacity: 1.0; }\n #ge-propertyTab .buttonLine button:active {\n background: #282828; }\n #ge-propertyTab .buttonLine button:focus {\n border: 1px solid #424242;\n outline: 0px; }\n #ge-propertyTab .numeric {\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: 1fr 120px auto; }\n #ge-propertyTab .numeric .numeric-label {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .numeric .number {\n display: flex;\n align-items: center;\n grid-column: 2;\n height: 10px; }\n #ge-propertyTab .numeric .number .input {\n width: calc(100% - 5px);\n height: 10px; }\n #ge-propertyTab .checkBoxLine {\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 18px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: auto auto 1fr; }\n #ge-propertyTab .checkBoxLine .label {\n grid-column: 2;\n display: flex;\n align-items: center;\n min-width: 100px;\n margin-left: 15px;\n font-family: var(--labelFamily); }\n #ge-propertyTab .checkBoxLine img {\n width: 30px; }\n #ge-propertyTab .checkBoxLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .checkBoxLine .checkBox {\n grid-column: 3;\n display: flex;\n align-items: center;\n margin-left: auto;\n margin-right: 0px; }\n #ge-propertyTab .checkBoxLine .checkBox .lbl {\n position: relative;\n display: block;\n height: 14px;\n width: 34px;\n border-radius: 100px;\n cursor: pointer;\n transition: all 0.3s ease;\n border: solid;\n border-width: thin; }\n #ge-propertyTab .checkBoxLine .checkBox .lbl:after {\n position: absolute;\n left: 3px;\n top: 1px;\n display: block;\n width: 10px;\n height: 10px;\n border-radius: 100px;\n background: #e2e2e2;\n box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.05);\n content: '';\n transition: all 0.15s ease;\n border: solid;\n border-width: thin; }\n #ge-propertyTab .checkBoxLine .checkBox .lbl:active:after {\n transform: scale(1.15, 0.85); }\n #ge-propertyTab .checkBoxLine .checkBox .cbx:checked ~ label {\n background: transparent; }\n #ge-propertyTab .checkBoxLine .checkBox .cbx:checked ~ label:after {\n left: 20px;\n background: black;\n border: solid;\n border-width: thin; }\n #ge-propertyTab .checkBoxLine .checkBox .cbx.conflict ~ label:after {\n left: 10px;\n background: repeating-linear-gradient(45deg, transparent, transparent 5px, black 5px, black 10px); }\n #ge-propertyTab .checkBoxLine .checkBox .cbx:checked ~ label.disabled {\n background: black;\n cursor: pointer; }\n #ge-propertyTab .checkBoxLine .checkBox .cbx:checked ~ label.disabled:after {\n left: 20px;\n background: #555555;\n cursor: pointer; }\n #ge-propertyTab .checkBoxLine .checkBox .cbx ~ label.disabled {\n background: #555555;\n cursor: pointer; }\n #ge-propertyTab .checkBoxLine .checkBox .hidden {\n display: none; }\n #ge-propertyTab .listLine {\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: auto 1fr auto; }\n #ge-propertyTab .listLine .label {\n grid-column: 2;\n display: none;\n align-items: center; }\n #ge-propertyTab .listLine img {\n width: 30px; }\n #ge-propertyTab .listLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .listLine .options {\n grid-column: 2;\n padding-left: 15px;\n display: flex;\n align-items: center;\n margin-right: 5px; }\n #ge-propertyTab .listLine .options select {\n width: 120px;\n height: 25px;\n border: transparent;\n border-radius: 4px; }\n #ge-propertyTab .color3Line {\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 18px;\n display: grid; }\n #ge-propertyTab .color3Line .firstLine {\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: auto auto 1fr; }\n #ge-propertyTab .color3Line .firstLine .label {\n grid-column: 2;\n padding-left: 5px;\n display: none;\n align-items: center;\n min-width: 15px; }\n #ge-propertyTab .color3Line .firstLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .color3Line .firstLine img {\n width: 30px;\n height: 30px; }\n #ge-propertyTab .color3Line .firstLine .textInputLine {\n grid-column: 3;\n padding-left: 0px; }\n #ge-propertyTab .color3Line .firstLine .color3 {\n grid-column: 2;\n margin-top: 6px;\n display: flex;\n align-items: center;\n padding-left: 15px; }\n #ge-propertyTab .color3Line .firstLine .color3 input {\n margin-right: 5px; }\n #ge-propertyTab .color3Line .firstLine .textInputLine .value {\n padding-left: 2px; }\n #ge-propertyTab .color3Line .firstLine .copy {\n grid-column: 4;\n display: none;\n align-items: center;\n justify-items: center;\n cursor: pointer;\n color: black; }\n #ge-propertyTab .color3Line .firstLine .copy img {\n height: 100%;\n width: 20px; }\n #ge-propertyTab .color3Line .firstLine .expand {\n grid-column: 4;\n display: none;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-propertyTab .color3Line .firstLine .expand img {\n height: 100%;\n width: 20px; }\n #ge-propertyTab .color3Line .secondLine {\n display: grid;\n padding-right: 5px;\n border-left: 1px solid #337ab7; }\n #ge-propertyTab .color3Line .secondLine .numeric {\n display: grid;\n grid-template-columns: 1fr auto; }\n #ge-propertyTab .color3Line .secondLine .numeric-label {\n text-align: right;\n grid-column: 1;\n display: flex;\n align-items: center;\n justify-self: right;\n margin-right: 10px; }\n #ge-propertyTab .color3Line .secondLine .numeric-value {\n width: 120px;\n grid-column: 2;\n display: flex;\n align-items: center;\n border: 1px solid #337ab7; }\n #ge-propertyTab .textLine {\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 18px;\n height: auto;\n display: grid;\n grid-template-columns: auto auto 2fr 1fr; }\n #ge-propertyTab .textLine .label {\n grid-column: 2;\n padding-left: 5px;\n padding-top: 4px;\n display: flex;\n align-items: left;\n min-width: 15px;\n color: #a9a9a9;\n font-size: 10px;\n font-family: \"acumin-pro-semicondensed\"; }\n #ge-propertyTab .textLine img {\n width: 30px; }\n #ge-propertyTab .textLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .textLine .link-value {\n grid-column: 2;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n text-align: end;\n opacity: 0.8;\n margin: 5px;\n margin-top: 6px;\n max-width: 140px;\n text-decoration: underline;\n cursor: pointer; }\n #ge-propertyTab .textLine .value {\n display: none;\n grid-column: 3;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n text-align: end;\n opacity: 0.8;\n margin: 5px;\n margin-top: 6px;\n max-width: 200px;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text; }\n #ge-propertyTab .textLine .value.check {\n color: green; }\n #ge-propertyTab .textLine .value.uncheck {\n color: red; }\n", "",{"version":3,"sources":["webpack://./components/propertyTab/propertyTab.scss"],"names":[],"mappings":"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","sourcesContent":[":root {\r\n --backgroundGrey: #aaaaaa;\r\n --spacingHeight: 30px;\r\n --labelFamily: \"acumin-pro-condensed-semibold\";\r\n}\r\n\r\nhr.ge {\r\n border: 1px solid #d0cece;\r\n}\r\n\r\n#ge-propertyTab {\r\n user-select: none;\r\n $line-padding-left: 5px;\r\n $line-padding-bottom: 0px;\r\n $line-padding-top: 0px;\r\n $line-padding-right: 18px;\r\n color:black;\r\n background: #e2e2e2;\r\n * {\r\n font-family: \"acumin-pro-semicondensed\";\r\n font-size: 12px;\r\n }\r\n #header {\r\n height: 30px;\r\n font-size: 16px;\r\n color: white;\r\n background: white;\r\n grid-row: 1;\r\n text-align: center;\r\n display: grid;\r\n grid-template-columns: 30px 1fr; \r\n -webkit-user-select: none; \r\n -moz-user-select: none; \r\n -ms-user-select: none; \r\n user-select: none; \r\n\r\n #logo {\r\n position: relative;\r\n background: white;\r\n grid-column: 1; \r\n width: 32px;\r\n height: 32px;\r\n left:0;\r\n display: flex;\r\n align-self: center; \r\n justify-self: center;\r\n } \r\n\r\n #title {\r\n background: white;\r\n color: black;\r\n grid-column: 2; \r\n display: grid;\r\n align-items: center; \r\n text-align: center;\r\n }\r\n }\r\n\r\n .range {\r\n -webkit-appearance: none;\r\n width: 100%;\r\n height: 2px;\r\n background: #bcbcbc;\r\n border-radius: 5px;\r\n outline: none;\r\n opacity: 0.7;\r\n -webkit-transition: .2s;\r\n transition: opacity .2s;\r\n }\r\n \r\n .range:hover {\r\n opacity: 1;\r\n }\r\n \r\n .range::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 50%;\r\n background: #e2e2e2;\r\n border: solid;\r\n border-width: thin;\r\n cursor: pointer;\r\n }\r\n \r\n .range::-moz-range-thumb {\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 50%;\r\n background: rgb(0, 0, 0);\r\n cursor: pointer;\r\n }\r\n\r\n input[type=\"color\"] {\r\n -webkit-appearance: none;\r\n border: 1px solid rgba(255, 255, 255, 0.5);\r\n padding: 0;\r\n width: 30px;\r\n height: 20px;\r\n }\r\n input[type=\"color\"]::-webkit-color-swatch-wrapper {\r\n padding: 0;\r\n }\r\n input[type=\"color\"]::-webkit-color-swatch {\r\n border: none;\r\n }\r\n\r\n .unit {\r\n width: 26px;\r\n height: 26px;\r\n background-color: white;\r\n border: none;\r\n margin-top: 2px;\r\n }\r\n\r\n .unit.disabled {\r\n background-color: #c8c8c8;\r\n }\r\n\r\n .sliderLine {\r\n padding-left: $line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: $line-padding-right;\r\n height: var(--spacingHeight);;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: auto auto auto 1fr;\r\n\r\n .label {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n min-width: 15px;\r\n font-family: var(--labelFamily);\r\n }\r\n\r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n\r\n .slider {\r\n grid-column: 4;\r\n grid-row: 1;\r\n margin-right: 5px;\r\n width: 90%;\r\n display: flex;\r\n align-items: center;\r\n padding-left: 5px;\r\n }\r\n\r\n .floatLine {\r\n grid-column: 3;\r\n padding-left: 0px;\r\n \r\n .label {\r\n grid-column: 1;\r\n display: none;\r\n align-items: center;\r\n font-family: var(--labelFamily);\r\n }\r\n \r\n .short {\r\n grid-column: 1; \r\n display: flex;\r\n align-items: center;\r\n \r\n input {\r\n width: 60px;\r\n background-color: white;\r\n outline-color: transparent;\r\n border: transparent;\r\n height: 26px;\r\n outline-width: 0px\r\n }\r\n \r\n input::-webkit-outer-spin-button,\r\n input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n \r\n input[type=number] {\r\n -moz-appearance: textfield;\r\n }\r\n }\r\n } \r\n } \r\n\r\n .ge-divider {\r\n display: grid;\r\n grid-template-columns: auto auto auto auto auto auto;\r\n padding-right: $line-padding-right;\r\n }\r\n\r\n .ge-divider-short {\r\n display: grid;\r\n grid-template-columns: 1fr 1fr;\r\n padding-right: $line-padding-right;\r\n }\r\n\r\n .ge-divider-single {\r\n display: block;\r\n padding-right: $line-padding-right;\r\n }\r\n \r\n .ge-grid-divider {\r\n display: grid;\r\n grid-template-columns: 150px 1fr auto;\r\n \r\n .textLine {\r\n grid-column: auto;\r\n \r\n }\r\n }\r\n\r\n .ge-grid-button-divider {\r\n display: grid;\r\n grid-template-columns: 60px 60px 60px 60px;\r\n }\r\n\r\n .ge-grid-remove {\r\n display: grid;\r\n background-color: #c2c2c2;\r\n margin-bottom: 5px;\r\n filter: invert(1);\r\n }\r\n\r\n .ge-grid-edit {\r\n display: grid;\r\n background-color: #878787;\r\n margin-bottom: 5px;\r\n filter: invert(1);\r\n\r\n }\r\n \r\n .ge-grid {\r\n display: grid;\r\n margin-bottom: 5px;\r\n }\r\n\r\n\r\n .textInputLine {\r\n user-select: none;\r\n padding-left: $line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: $line-padding-right;\r\n height: var(--spacingHeight);\r\n display: grid;\r\n grid-template-columns: auto auto 1fr;\r\n .label {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n min-width: 15px;\r\n font-family: var(--labelFamily);\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n \r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .value { \r\n display: flex;\r\n align-items: center;\r\n grid-column: 3;\r\n background: transparent;\r\n height: 30px;\r\n input {\r\n width: calc(100% - 5px);\r\n background-color: white;\r\n outline-color: transparent;\r\n border: transparent;\r\n outline-width: 0px;\r\n height: 24px;\r\n }\r\n }\r\n }\r\n\r\n .textInputLine.withUnits {\r\n grid-template-columns: auto auto 1fr auto;\r\n }\r\n \r\n .textInputArea {\r\n padding-left: $line-padding-left;\r\n height: 100%;\r\n display: grid;\r\n grid-template-columns: 1fr 120px;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .value { \r\n display: flex;\r\n align-items: center;\r\n grid-column: 2;\r\n \r\n textarea {\r\n width: calc(150% - 5px);\r\n margin-left: -50%;\r\n height: 40px;\r\n }\r\n }\r\n }\r\n \r\n .paneContainer {\r\n margin-top: 3px;\r\n display:grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 100%;\r\n \r\n .paneList {\r\n border-left: 3px solid transparent;\r\n }\r\n\r\n &:hover { \r\n .paneList { \r\n border-left: 3px solid rgba(51, 122, 183, 0.8);\r\n }\r\n\r\n .paneContainer-content {\r\n .header {\r\n .title { \r\n border-left: 3px solid rgb(51, 122, 183);\r\n }\r\n }\r\n }\r\n }\r\n \r\n .paneContainer-highlight-border {\r\n grid-row: 1;\r\n grid-column: 1;\r\n opacity: 1;\r\n border: 3px solid red;\r\n transition: opacity 250ms;\r\n pointer-events: none;\r\n \r\n &.transparent {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n .paneContainer-content {\r\n grid-row: 1;\r\n grid-column: 1;\r\n\r\n .header {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n background: #cccccc; \r\n height: var(--spacingHeight);\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: 5px; \r\n cursor: pointer;\r\n \r\n .title { \r\n border-left: 3px solid transparent;\r\n padding-left: 5px;\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .collapse {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center; \r\n justify-items: center;\r\n transform-origin: center;\r\n\r\n &.closed {\r\n transform: rotate(180deg);\r\n }\r\n } \r\n }\r\n\r\n .paneList > div:not(:last-child) {\r\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);\r\n }\r\n\r\n .fragment > div:not(:last-child) {\r\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);\r\n }\r\n }\r\n }\r\n\r\n .color-picker {\r\n height: 150px;\r\n width: 15px;\r\n\r\n .color-rect-background {\r\n height: 15px;\r\n border: 1px black solid;\r\n cursor: pointer;\r\n background: repeating-conic-gradient(#E2E2E2 0% 25%, white 0% 50%) 50% / 10px 10px;\r\n .color-rect {\r\n height: 100%;\r\n }\r\n }\r\n\r\n .color-picker-cover {\r\n position: fixed;\r\n top: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n left: 0px;\r\n }\r\n\r\n .color-picker-float {\r\n z-index: 2;\r\n position: absolute; \r\n } \r\n }\r\n\r\n .gradient-step {\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 20px 30px 40px auto 20px 30px;\r\n padding-top: 5px;\r\n padding-left: 5px;\r\n padding-bottom: 5px;\r\n\r\n .step {\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n \r\n .color {\r\n grid-row: 1;\r\n grid-column: 2;\r\n cursor: pointer;\r\n }\r\n\r\n .step-value { \r\n margin-left: 5px; \r\n grid-row: 1;\r\n grid-column: 3;\r\n text-align: right;\r\n margin-right: 5px;\r\n }\r\n\r\n .step-slider { \r\n grid-row: 1;\r\n grid-column: 4;\r\n display: grid;\r\n justify-content: stretch;\r\n align-content: center;\r\n margin-right: -5px;\r\n padding-left: 12px;\r\n\r\n input {\r\n width: 90%;\r\n }\r\n }\r\n\r\n .gradient-copy { \r\n grid-row: 1;\r\n grid-column: 5;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n \r\n .img {\r\n height: 20px;\r\n width: 20px;\r\n }\r\n .img:hover {\r\n cursor: pointer;\r\n }\r\n\r\n }\r\n .gradient-delete { \r\n grid-row: 1;\r\n grid-column: 6;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n .img {\r\n height: 20px;\r\n width: 20px;\r\n }\r\n .img:hover {\r\n cursor: pointer;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n .alignment-bar {\r\n display: flex;\r\n justify-content: center;\r\n padding-right: 5px;\r\n }\r\n\r\n .command-button {\r\n cursor: pointer;\r\n width: 30px;\r\n\r\n .command-label {\r\n display: none;\r\n } \r\n\r\n .command-button-icon {\r\n height: 100%;\r\n width: 100%;\r\n display: grid;\r\n color: white;\r\n align-content: center;\r\n justify-content: center;\r\n }\r\n\r\n &:hover {\r\n background-color: white;\r\n } \r\n \r\n .active {\r\n transform-origin: center;\r\n background-color: white;\r\n }\r\n\r\n img {\r\n &.active {\r\n background-color: white;\r\n }\r\n }\r\n }\r\n\r\n .command-button-alt {\r\n cursor: pointer;\r\n width: 40px;\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n .command-label {\r\n display: none;\r\n } \r\n\r\n background-color: white;\r\n .command-button-icon {\r\n height: 100%;\r\n width: 100%;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n }\r\n &:hover {\r\n background-color: #c2c2c2;\r\n filter: invert(1);\r\n } \r\n }\r\n\r\n .command-button-alt-disabled {\r\n cursor: pointer;\r\n pointer-events: none;\r\n width: 40px;\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n .command-label {\r\n display: none;\r\n } \r\n\r\n background-color: white;\r\n .command-button-icon {\r\n height: 100%;\r\n width: 100%;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n }\r\n\r\n img {\r\n filter: invert(1);\r\n }\r\n }\r\n\r\n \r\n .command-button-alt-active {\r\n cursor: pointer;\r\n pointer-events: none;\r\n width: 40px;\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n .command-label {\r\n display: none;\r\n } \r\n\r\n background-color: #c2c2c2;\r\n filter: invert(1);\r\n .command-button-icon {\r\n height: 100%;\r\n width: 100%;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n }\r\n }\r\n\r\n .floatLine {\r\n user-select: none;\r\n padding-left: $line-padding-left;\r\n height: var(--spacingHeight);\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n display: grid;\r\n grid-template-columns: auto auto 2fr 1fr;\r\n\r\n .label {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n min-width: 15px;\r\n font-family: var(--labelFamily);\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n\r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .value { \r\n display: flex;\r\n align-items: center;\r\n grid-column: 3;\r\n background: transparent;\r\n height: 30px;\r\n input {\r\n width: calc(100% - 5px);\r\n background-color: white;\r\n outline-color: transparent;\r\n border: none;\r\n outline-width: 0px;\r\n height: 24px;\r\n }\r\n }\r\n\r\n .short {\r\n grid-column: 2;\r\n \r\n display: flex;\r\n align-items: center;\r\n \r\n input {\r\n width: 27px;\r\n }\r\n \r\n input::-webkit-outer-spin-button,\r\n input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n\r\n input[type=number] {\r\n -moz-appearance: textfield;\r\n }\r\n }\r\n }\r\n\r\n .vector3Line {\r\n padding-left:$line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top; \r\n display: grid;\r\n .firstLine {\r\n display: grid;\r\n grid-template-columns: 1fr auto 20px;\r\n height: var(--spacingHeight);\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .vector {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n text-align: right;\r\n opacity: 0.8;\r\n }\r\n\r\n .expand {\r\n grid-column: 3;\r\n display: grid;\r\n align-items: center;\r\n justify-items: center;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .secondLine {\r\n display: grid;\r\n padding-right: 5px; \r\n border-left: 1px solid rgb(51, 122, 183);\r\n\r\n .no-right-margin {\r\n margin-right: 0;\r\n }\r\n\r\n .numeric {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n }\r\n\r\n .numeric-label {\r\n text-align: right;\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center; \r\n justify-self: right;\r\n margin-right: 10px; \r\n }\r\n\r\n .numeric-value {\r\n width: 120px;\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center; \r\n border: 1px solid rgb(51, 122, 183);\r\n } \r\n }\r\n }\r\n\r\n .buttonLine {\r\n height: var(--spacingHeight);\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n display: grid;\r\n align-items: center;\r\n justify-items: stretch;\r\n padding-bottom: 5px;\r\n input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .file-upload { \r\n background: var(--backgroundGrey);\r\n border: 1px solid #424242;\r\n margin: 5px 10px;\r\n color:white;\r\n padding: 4px 5px;\r\n opacity: 0.9;\r\n cursor: pointer;\r\n text-align: center;\r\n border-radius: 4px;\r\n }\r\n\r\n .file-upload:hover {\r\n opacity: 1.0;\r\n }\r\n\r\n .file-upload:active {\r\n transform: scale(0.98);\r\n transform-origin: 0.5 0.5;\r\n }\r\n\r\n button {\r\n background: var(--backgroundGrey);\r\n border: 1px solid #424242;\r\n margin: 5px 10px 5px 10px;\r\n color:white;\r\n padding: 4px 5px;\r\n opacity: 0.9;\r\n border-radius: 4px;\r\n }\r\n\r\n button:hover {\r\n opacity: 1.0;\r\n }\r\n\r\n button:active {\r\n background: #282828;\r\n } \r\n \r\n button:focus {\r\n border: 1px solid #424242;\r\n outline: 0px;\r\n } \r\n }\r\n\r\n .numeric {\r\n padding-left: $line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n height: var(--spacingHeight);;\r\n display: grid;\r\n grid-template-columns: 1fr 120px auto;\r\n\r\n .numeric-label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .number { \r\n display: flex;\r\n align-items: center;\r\n grid-column: 2;\r\n height: 10px;\r\n .input {\r\n width: calc(100% - 5px);\r\n height: 10px;\r\n }\r\n }\r\n }\r\n \r\n .checkBoxLine {\r\n padding-left: $line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: $line-padding-right;\r\n height: var(--spacingHeight);\r\n display: grid;\r\n grid-template-columns: auto auto 1fr ;\r\n\r\n .label {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n min-width: 100px;\r\n margin-left: 15px;\r\n font-family: var(--labelFamily);\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n \r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .checkBox {\r\n grid-column: 3;\r\n display: flex;\r\n align-items: center;\r\n margin-left: auto;\r\n margin-right: 0px;\r\n \r\n .lbl {\r\n position: relative;\r\n display: block;\r\n height: 14px;\r\n width: 34px;\r\n border-radius: 100px;\r\n cursor: pointer;\r\n transition: all 0.3s ease;\r\n border: solid;\r\n border-width: thin;\r\n }\r\n\r\n .lbl:after {\r\n position: absolute;\r\n left: 3px;\r\n top: 1px;\r\n display: block;\r\n width: 10px;\r\n height: 10px;\r\n border-radius: 100px;\r\n background: #e2e2e2;\r\n box-shadow: 0px 3px 3px rgba(0,0,0,0.05);\r\n content: '';\r\n transition: all 0.15s ease;\r\n border: solid;\r\n border-width: thin;\r\n }\r\n\r\n .lbl:active:after { \r\n transform: scale(1.15, 0.85); \r\n }\r\n\r\n .cbx:checked ~ label { \r\n background: transparent;\r\n \r\n }\r\n\r\n .cbx:checked ~ label:after {\r\n left: 20px;\r\n background: rgb(0, 0, 0);\r\n border: solid;\r\n border-width: thin;\r\n }\r\n\r\n .cbx.conflict ~ label:after {\r\n left: 10px;\r\n background: repeating-linear-gradient(45deg, transparent, transparent 5px, black 5px, black 10px);\r\n }\r\n\r\n .cbx:checked ~ label.disabled { \r\n background: rgb(0, 0, 0);\r\n cursor: pointer;\r\n }\r\n\r\n .cbx:checked ~ label.disabled:after {\r\n left: 20px;\r\n background: rgb(85, 85, 85);\r\n cursor: pointer;\r\n }\r\n\r\n .cbx ~ label.disabled {\r\n background: rgb(85, 85, 85);\r\n cursor: pointer;\r\n }\r\n\r\n .hidden { \r\n display: none; \r\n } \r\n } \r\n } \r\n\r\n .listLine {\r\n padding-left: $line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n height: var(--spacingHeight);\r\n display: grid;\r\n grid-template-columns: auto 1fr auto ;\r\n\r\n .label {\r\n grid-column: 2;\r\n display: none;\r\n align-items: center;\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n\r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n padding-left: 15px;\r\n display: flex;\r\n align-items: center; \r\n margin-right: 5px;\r\n\r\n select {\r\n width: 120px;\r\n height: 25px;\r\n border: transparent;\r\n border-radius: 4px;\r\n }\r\n } \r\n } \r\n \r\n .color3Line {\r\n padding-left: $line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: $line-padding-right;\r\n display: grid;\r\n\r\n .firstLine {\r\n height: var(--spacingHeight);\r\n display: grid;\r\n grid-template-columns: auto auto 1fr;\r\n\r\n .label {\r\n grid-column: 2;\r\n padding-left: 5px;\r\n display: none;\r\n align-items: center;\r\n min-width: 15px;\r\n }\r\n \r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n img {\r\n width: 30px;\r\n height: 30px;\r\n }\r\n \r\n .textInputLine {\r\n grid-column: 3;\r\n padding-left: 0px;\r\n }\r\n \r\n .color3 {\r\n grid-column: 2; \r\n margin-top: 6px;\r\n display: flex;\r\n align-items: center;\r\n padding-left: 15px;\r\n \r\n input {\r\n margin-right: 5px;\r\n }\r\n }\r\n\r\n .textInputLine {\r\n .value {\r\n padding-left: 2px;\r\n }\r\n }\r\n\r\n .copy {\r\n grid-column: 4;\r\n display: none;\r\n align-items: center;\r\n justify-items: center;\r\n cursor: pointer;\r\n color: black;\r\n img {\r\n height: 100%;\r\n width: 20px;\r\n }\r\n }\r\n\r\n .expand {\r\n grid-column: 4;\r\n display: none;\r\n align-items: center;\r\n justify-items: center;\r\n cursor: pointer;\r\n\r\n img {\r\n height: 100%;\r\n width: 20px;\r\n }\r\n }\r\n } \r\n\r\n .secondLine {\r\n display: grid;\r\n padding-right: 5px; \r\n border-left: 1px solid rgb(51, 122, 183);\r\n\r\n .numeric {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n }\r\n\r\n .numeric-label {\r\n text-align: right;\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center; \r\n justify-self: right;\r\n margin-right: 10px; \r\n }\r\n\r\n .numeric-value {\r\n width: 120px;\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center; \r\n border: 1px solid rgb(51, 122, 183);\r\n } \r\n } \r\n } \r\n \r\n .textLine {\r\n padding-left: $line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: $line-padding-right;\r\n height: auto;\r\n display: grid;\r\n grid-template-columns: auto auto 2fr 1fr;\r\n .label {\r\n grid-column: 2;\r\n padding-left: 5px;\r\n padding-top: 4px;\r\n display: flex;\r\n align-items: left;\r\n min-width: 15px;\r\n color: #a9a9a9;\r\n font-size: 10px;\r\n font-family: \"acumin-pro-semicondensed\";\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n\r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .link-value {\r\n grid-column: 2;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n text-align: end;\r\n opacity: 0.8;\r\n margin:5px;\r\n margin-top: 6px;\r\n max-width: 140px;\r\n text-decoration: underline;\r\n cursor: pointer;\r\n }\r\n\r\n .value {\r\n display: none;\r\n grid-column: 3;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n text-align: end;\r\n opacity: 0.8;\r\n margin:5px;\r\n margin-top: 6px;\r\n max-width: 200px;\r\n -webkit-user-select: text; \r\n -moz-user-select: text; \r\n -ms-user-select: text; \r\n user-select: text; \r\n\r\n &.check {\r\n color: green;\r\n }\r\n\r\n &.uncheck {\r\n color: red;\r\n } \r\n }\r\n } \r\n\r\n}"],"sourceRoot":""}]);
10117
+ ___CSS_LOADER_EXPORT___.push([module.i, ":root {\n --backgroundGrey: #aaaaaa;\n --spacingHeight: 30px;\n --labelFamily: \"acumin-pro-condensed-semibold\";\n --button: #333333;\n --buttonBackground: #ffffff;\n --buttonDisabledBackground: #c8c8c8;\n --buttonPressed: #ffffff;\n --buttonPressedBackground: #606060; }\n\nhr.ge {\n border: 1px solid #d0cece; }\n\n#ge-propertyTab {\n user-select: none;\n color: black;\n background: #e2e2e2; }\n #ge-propertyTab * {\n font-family: \"acumin-pro-semicondensed\";\n font-size: 12px; }\n #ge-propertyTab #header {\n height: 30px;\n font-size: 16px;\n color: white;\n background: white;\n grid-row: 1;\n text-align: center;\n display: grid;\n grid-template-columns: 30px 1fr;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #ge-propertyTab #header #logo {\n position: relative;\n background: white;\n grid-column: 1;\n width: 32px;\n height: 32px;\n left: 0;\n display: flex;\n align-self: center;\n justify-self: center; }\n #ge-propertyTab #header #title {\n background: white;\n color: black;\n grid-column: 2;\n display: grid;\n align-items: center;\n text-align: center; }\n #ge-propertyTab .range {\n -webkit-appearance: none;\n width: 100%;\n height: 2px;\n background: #bcbcbc;\n border-radius: 5px;\n outline: none;\n opacity: 0.7;\n -webkit-transition: .2s;\n transition: opacity .2s; }\n #ge-propertyTab .range:hover {\n opacity: 1; }\n #ge-propertyTab .range::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: #e2e2e2;\n border: solid;\n border-width: thin;\n cursor: pointer; }\n #ge-propertyTab .range::-moz-range-thumb {\n width: 14px;\n height: 14px;\n border-radius: 50%;\n background: black;\n cursor: pointer; }\n #ge-propertyTab input[type=\"color\"] {\n -webkit-appearance: none;\n border: 1px solid rgba(255, 255, 255, 0.5);\n padding: 0;\n width: 30px;\n height: 20px; }\n #ge-propertyTab input[type=\"color\"]::-webkit-color-swatch-wrapper {\n padding: 0; }\n #ge-propertyTab input[type=\"color\"]::-webkit-color-swatch {\n border: none; }\n #ge-propertyTab .icon {\n width: 30px;\n height: 30px; }\n #ge-propertyTab .unit {\n width: 26px;\n height: 26px;\n color: var(--button);\n background-color: var(--buttonBackground);\n border: none;\n margin-top: 2px;\n cursor: pointer; }\n #ge-propertyTab .unit.disabled {\n background-color: var(--buttonDisabledBackground); }\n #ge-propertyTab .unit:active {\n color: var(--buttonPressed);\n background-color: var(--buttonPressedBackground); }\n #ge-propertyTab .sliderLine {\n height: var(--spacingHeight);\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: auto auto auto 1fr;\n flex-grow: 1; }\n #ge-propertyTab .sliderLine .label {\n grid-column: 2;\n display: flex;\n align-items: center;\n min-width: 15px;\n font-family: var(--labelFamily); }\n #ge-propertyTab .sliderLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .sliderLine .slider {\n grid-column: 4;\n grid-row: 1;\n margin-right: 5px;\n display: flex;\n align-items: center;\n padding-left: 5px; }\n #ge-propertyTab .sliderLine .floatLine {\n grid-column: 3;\n padding-left: 0px; }\n #ge-propertyTab .sliderLine .floatLine .label {\n grid-column: 1;\n display: none;\n align-items: center;\n font-family: var(--labelFamily); }\n #ge-propertyTab .sliderLine .floatLine .short {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .sliderLine .floatLine .short input {\n width: 60px;\n background-color: white;\n outline-color: transparent;\n border: transparent;\n height: 26px;\n outline-width: 0px; }\n #ge-propertyTab .sliderLine .floatLine .short input::-webkit-outer-spin-button,\n #ge-propertyTab .sliderLine .floatLine .short input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0; }\n #ge-propertyTab .sliderLine .floatLine .short input[type=number] {\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield; }\n #ge-propertyTab .ge-divider, #ge-propertyTab .ge-divider-short, #ge-propertyTab .ge-divider-single {\n display: flex;\n flex-direction: row;\n padding-right: 18px;\n align-items: center;\n padding-left: 5px; }\n #ge-propertyTab .ge-grid-divider {\n display: grid;\n grid-template-columns: 150px 1fr auto; }\n #ge-propertyTab .ge-grid-divider .textLine {\n grid-column: auto; }\n #ge-propertyTab .ge-grid-button-divider {\n display: grid;\n grid-template-columns: 60px 60px 60px 60px; }\n #ge-propertyTab .ge-grid-remove {\n display: grid;\n background-color: #c2c2c2;\n margin-bottom: 5px;\n filter: invert(1); }\n #ge-propertyTab .ge-grid-edit {\n display: grid;\n background-color: #878787;\n margin-bottom: 5px;\n filter: invert(1); }\n #ge-propertyTab .ge-grid {\n display: grid;\n margin-bottom: 5px; }\n #ge-propertyTab .textInputLine {\n user-select: none;\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 5px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: auto auto 1fr;\n flex-grow: 1; }\n #ge-propertyTab .textInputLine .label {\n grid-column: 2;\n display: flex;\n align-items: center;\n min-width: 15px;\n font-family: var(--labelFamily); }\n #ge-propertyTab .textInputLine img {\n width: 30px; }\n #ge-propertyTab .textInputLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .textInputLine .value {\n display: flex;\n align-items: center;\n grid-column: 3;\n background: transparent;\n height: 26px;\n position: relative;\n background-color: white;\n margin-top: 2px;\n overflow-y: hidden;\n margin-right: 2px; }\n #ge-propertyTab .textInputLine .value input {\n width: 100%;\n outline-color: transparent;\n border: transparent;\n outline-width: 0px;\n height: 24px; }\n #ge-propertyTab .textInputLine .value input.hasArrows {\n padding-right: 15px; }\n #ge-propertyTab .textInputLine .value .arrows {\n display: none; }\n #ge-propertyTab .textInputLine .value:hover .arrows, #ge-propertyTab .textInputLine .value:focus .arrows, #ge-propertyTab .textInputLine .value.dragging .arrows {\n position: absolute;\n right: 0;\n display: flex;\n flex-direction: column;\n background-color: white;\n cursor: grab; }\n #ge-propertyTab .textInputLine .value:hover .arrows .downArrowIcon, #ge-propertyTab .textInputLine .value:hover .arrows .upArrowIcon, #ge-propertyTab .textInputLine .value:focus .arrows .downArrowIcon, #ge-propertyTab .textInputLine .value:focus .arrows .upArrowIcon, #ge-propertyTab .textInputLine .value.dragging .arrows .downArrowIcon, #ge-propertyTab .textInputLine .value.dragging .arrows .upArrowIcon {\n width: 15px;\n height: 15px; }\n #ge-propertyTab .textInputLine .value.dragging .arrows {\n background-color: var(--buttonPressedBackground); }\n #ge-propertyTab .textInputLine .value.dragging .arrows .downArrowIcon, #ge-propertyTab .textInputLine .value.dragging .arrows .upArrowIcon {\n filter: invert(100%) brightness(500%); }\n #ge-propertyTab .textInputLine.withUnits {\n grid-template-columns: auto auto 1fr auto; }\n #ge-propertyTab .textInputArea {\n padding-left: 5px;\n height: 100%;\n display: grid;\n grid-template-columns: 1fr 120px; }\n #ge-propertyTab .textInputArea .label {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .textInputArea .value {\n display: flex;\n align-items: center;\n grid-column: 2; }\n #ge-propertyTab .textInputArea .value textarea {\n width: calc(150% - 5px);\n margin-left: -50%;\n height: 40px; }\n #ge-propertyTab .paneContainer {\n margin-top: 3px;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%; }\n #ge-propertyTab .paneContainer .paneList {\n border-left: 3px solid transparent; }\n #ge-propertyTab .paneContainer:hover .paneList {\n border-left: 3px solid rgba(51, 122, 183, 0.8); }\n #ge-propertyTab .paneContainer:hover .paneContainer-content .header .title {\n border-left: 3px solid #337ab7; }\n #ge-propertyTab .paneContainer .paneContainer-highlight-border {\n grid-row: 1;\n grid-column: 1;\n opacity: 1;\n border: 3px solid red;\n transition: opacity 250ms;\n pointer-events: none; }\n #ge-propertyTab .paneContainer .paneContainer-highlight-border.transparent {\n opacity: 0; }\n #ge-propertyTab .paneContainer .paneContainer-content {\n grid-row: 1;\n grid-column: 1; }\n #ge-propertyTab .paneContainer .paneContainer-content .header {\n display: grid;\n grid-template-columns: 1fr auto;\n background: #cccccc;\n height: var(--spacingHeight);\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 5px;\n cursor: pointer; }\n #ge-propertyTab .paneContainer .paneContainer-content .header .title {\n border-left: 3px solid transparent;\n padding-left: 5px;\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .paneContainer .paneContainer-content .header .collapse {\n grid-column: 2;\n display: flex;\n align-items: center;\n justify-items: center;\n transform-origin: center; }\n #ge-propertyTab .paneContainer .paneContainer-content .header .collapse.closed {\n transform: rotate(180deg); }\n #ge-propertyTab .paneContainer .paneContainer-content .paneList > div:not(:last-child) {\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); }\n #ge-propertyTab .paneContainer .paneContainer-content .fragment > div:not(:last-child) {\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1); }\n #ge-propertyTab .color-picker {\n height: 26px;\n width: 26px; }\n #ge-propertyTab .color-picker .color-rect-background {\n width: calc(100% - 2px);\n height: calc(100% - 2px);\n border: 1px black solid;\n cursor: pointer;\n background: repeating-conic-gradient(#E2E2E2 0% 25%, white 0% 50%) 50%/100% 100%; }\n #ge-propertyTab .color-picker .color-rect-background .color-rect {\n height: 100%; }\n #ge-propertyTab .color-picker .color-picker-cover {\n position: fixed;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px; }\n #ge-propertyTab .color-picker .color-picker-float {\n z-index: 2;\n position: absolute; }\n #ge-propertyTab .gradient-step {\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 20px 30px 40px auto 20px 30px;\n padding-top: 5px;\n padding-left: 5px;\n padding-bottom: 5px; }\n #ge-propertyTab .gradient-step .step {\n grid-row: 1;\n grid-column: 1; }\n #ge-propertyTab .gradient-step .color {\n grid-row: 1;\n grid-column: 2;\n cursor: pointer; }\n #ge-propertyTab .gradient-step .step-value {\n margin-left: 5px;\n grid-row: 1;\n grid-column: 3;\n text-align: right;\n margin-right: 5px; }\n #ge-propertyTab .gradient-step .step-slider {\n grid-row: 1;\n grid-column: 4;\n display: grid;\n justify-content: stretch;\n align-content: center;\n margin-right: -5px;\n padding-left: 12px; }\n #ge-propertyTab .gradient-step .step-slider input {\n width: 90%; }\n #ge-propertyTab .gradient-step .gradient-copy {\n grid-row: 1;\n grid-column: 5;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .gradient-step .gradient-copy .img {\n height: 20px;\n width: 20px; }\n #ge-propertyTab .gradient-step .gradient-copy .img:hover {\n cursor: pointer; }\n #ge-propertyTab .gradient-step .gradient-delete {\n grid-row: 1;\n grid-column: 6;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .gradient-step .gradient-delete .img {\n height: 20px;\n width: 20px; }\n #ge-propertyTab .gradient-step .gradient-delete .img:hover {\n cursor: pointer; }\n #ge-propertyTab .alignment-bar {\n display: flex;\n justify-content: center;\n padding-right: 5px; }\n #ge-propertyTab .command-button {\n cursor: pointer;\n width: 30px; }\n #ge-propertyTab .command-button .command-label {\n display: none; }\n #ge-propertyTab .command-button .command-button-icon {\n height: 100%;\n width: 100%;\n display: grid;\n color: white;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .command-button:hover {\n background-color: white; }\n #ge-propertyTab .command-button .active {\n transform-origin: center;\n background-color: white; }\n #ge-propertyTab .command-button img.active {\n background-color: white; }\n #ge-propertyTab .command-button-alt {\n cursor: pointer;\n width: 40px;\n margin-left: 5px;\n margin-right: 5px;\n background-color: white; }\n #ge-propertyTab .command-button-alt .command-label {\n display: none; }\n #ge-propertyTab .command-button-alt .command-button-icon {\n height: 100%;\n width: 100%;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .command-button-alt:hover {\n background-color: #c2c2c2;\n filter: invert(1); }\n #ge-propertyTab .command-button-alt-disabled {\n cursor: pointer;\n pointer-events: none;\n width: 40px;\n margin-left: 5px;\n margin-right: 5px;\n background-color: white; }\n #ge-propertyTab .command-button-alt-disabled .command-label {\n display: none; }\n #ge-propertyTab .command-button-alt-disabled .command-button-icon {\n height: 100%;\n width: 100%;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .command-button-alt-disabled img {\n filter: invert(1); }\n #ge-propertyTab .command-button-alt-active {\n cursor: pointer;\n pointer-events: none;\n width: 40px;\n margin-left: 5px;\n margin-right: 5px;\n background-color: #c2c2c2;\n filter: invert(1); }\n #ge-propertyTab .command-button-alt-active .command-label {\n display: none; }\n #ge-propertyTab .command-button-alt-active .command-button-icon {\n height: 100%;\n width: 100%;\n display: grid;\n align-content: center;\n justify-content: center; }\n #ge-propertyTab .floatLine {\n user-select: none;\n height: var(--spacingHeight);\n padding-bottom: 0px;\n padding-top: 0px;\n display: grid;\n grid-template-columns: auto auto 2fr auto;\n flex-grow: 1; }\n #ge-propertyTab .floatLine .label {\n grid-column: 2;\n display: flex;\n align-items: center;\n min-width: 15px;\n font-family: var(--labelFamily); }\n #ge-propertyTab .floatLine img {\n width: 30px; }\n #ge-propertyTab .floatLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .floatLine .value {\n display: flex;\n align-items: center;\n grid-column: 3;\n background: transparent;\n height: 30px;\n margin-right: 2px; }\n #ge-propertyTab .floatLine .value input {\n width: 100%;\n background-color: white;\n outline-color: transparent;\n border: none;\n outline-width: 0px;\n height: 24px; }\n #ge-propertyTab .floatLine .short {\n grid-column: 2;\n display: flex;\n align-items: center; }\n #ge-propertyTab .floatLine .short input {\n width: 27px; }\n #ge-propertyTab .floatLine .short input::-webkit-outer-spin-button,\n #ge-propertyTab .floatLine .short input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0; }\n #ge-propertyTab .floatLine .short input[type=number] {\n -moz-appearance: textfield; }\n #ge-propertyTab .vector3Line {\n padding-bottom: 0px;\n padding-top: 0px;\n display: grid; }\n #ge-propertyTab .vector3Line .firstLine {\n display: grid;\n grid-template-columns: 1fr auto 20px;\n height: var(--spacingHeight); }\n #ge-propertyTab .vector3Line .firstLine .label {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .vector3Line .firstLine .vector {\n grid-column: 2;\n display: flex;\n align-items: center;\n text-align: right;\n opacity: 0.8; }\n #ge-propertyTab .vector3Line .firstLine .expand {\n grid-column: 3;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-propertyTab .vector3Line .secondLine {\n display: grid;\n padding-right: 5px;\n border-left: 1px solid #337ab7; }\n #ge-propertyTab .vector3Line .secondLine .no-right-margin {\n margin-right: 0; }\n #ge-propertyTab .vector3Line .secondLine .numeric {\n display: grid;\n grid-template-columns: 1fr auto; }\n #ge-propertyTab .vector3Line .secondLine .numeric-label {\n text-align: right;\n grid-column: 1;\n display: flex;\n align-items: center;\n justify-self: right;\n margin-right: 10px; }\n #ge-propertyTab .vector3Line .secondLine .numeric-value {\n width: 120px;\n grid-column: 2;\n display: flex;\n align-items: center;\n border: 1px solid #337ab7; }\n #ge-propertyTab .buttonLine {\n height: var(--spacingHeight);\n padding-bottom: 0px;\n padding-top: 0px;\n display: grid;\n align-items: center;\n justify-items: stretch;\n padding-bottom: 5px; }\n #ge-propertyTab .buttonLine input[type=\"file\"] {\n display: none; }\n #ge-propertyTab .buttonLine .file-upload {\n background: var(--backgroundGrey);\n border: 1px solid #424242;\n margin: 5px 10px;\n color: white;\n padding: 4px 5px;\n opacity: 0.9;\n cursor: pointer;\n text-align: center;\n border-radius: 4px; }\n #ge-propertyTab .buttonLine .file-upload:hover {\n opacity: 1.0; }\n #ge-propertyTab .buttonLine .file-upload:active {\n transform: scale(0.98);\n transform-origin: 0.5 0.5; }\n #ge-propertyTab .buttonLine button {\n background: var(--backgroundGrey);\n border: 1px solid #424242;\n margin: 5px 10px 5px 10px;\n color: white;\n padding: 4px 5px;\n opacity: 0.9;\n border-radius: 4px; }\n #ge-propertyTab .buttonLine button:hover {\n opacity: 1.0; }\n #ge-propertyTab .buttonLine button:active {\n background: #282828; }\n #ge-propertyTab .buttonLine button:focus {\n border: 1px solid #424242;\n outline: 0px; }\n #ge-propertyTab .numeric {\n padding-bottom: 0px;\n padding-top: 0px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: 1fr 120px auto; }\n #ge-propertyTab .numeric .numeric-label {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .numeric .number {\n display: flex;\n align-items: center;\n grid-column: 2;\n height: 10px; }\n #ge-propertyTab .numeric .number .input {\n width: calc(100% - 5px);\n height: 10px; }\n #ge-propertyTab .checkBoxLine {\n padding-bottom: 0px;\n padding-top: 0px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: auto 1fr auto;\n flex-grow: 1; }\n #ge-propertyTab .checkBoxLine .label {\n grid-column: 2;\n display: flex;\n align-items: center;\n min-width: 100px;\n margin-left: 15px;\n font-family: var(--labelFamily); }\n #ge-propertyTab .checkBoxLine img {\n width: 30px; }\n #ge-propertyTab .checkBoxLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .checkBoxLine .checkBox {\n grid-column: 3;\n display: flex;\n align-items: center;\n margin-left: auto;\n margin-right: 0px; }\n #ge-propertyTab .checkBoxLine .checkBox .lbl {\n position: relative;\n display: block;\n height: 14px;\n width: 34px;\n border-radius: 100px;\n cursor: pointer;\n transition: all 0.3s ease;\n border: solid;\n border-width: thin; }\n #ge-propertyTab .checkBoxLine .checkBox .lbl:after {\n position: absolute;\n left: 3px;\n top: 1px;\n display: block;\n width: 10px;\n height: 10px;\n border-radius: 100px;\n background: #e2e2e2;\n box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.05);\n content: '';\n transition: all 0.15s ease;\n border: solid;\n border-width: thin; }\n #ge-propertyTab .checkBoxLine .checkBox .lbl:active:after {\n transform: scale(1.15, 0.85); }\n #ge-propertyTab .checkBoxLine .checkBox .cbx:checked ~ label {\n background: transparent; }\n #ge-propertyTab .checkBoxLine .checkBox .cbx:checked ~ label:after {\n left: 20px;\n background: black;\n border: solid;\n border-width: thin; }\n #ge-propertyTab .checkBoxLine .checkBox .cbx.conflict ~ label:after {\n left: 10px;\n background: repeating-linear-gradient(45deg, transparent, transparent 5px, black 5px, black 10px); }\n #ge-propertyTab .checkBoxLine .checkBox .cbx:checked ~ label.disabled {\n background: black;\n cursor: pointer; }\n #ge-propertyTab .checkBoxLine .checkBox .cbx:checked ~ label.disabled:after {\n left: 20px;\n background: #555555;\n cursor: pointer; }\n #ge-propertyTab .checkBoxLine .checkBox .cbx ~ label.disabled {\n background: #555555;\n cursor: pointer; }\n #ge-propertyTab .checkBoxLine .checkBox .hidden {\n display: none; }\n #ge-propertyTab .listLine {\n padding-bottom: 0px;\n padding-top: 0px;\n height: var(--spacingHeight);\n display: grid;\n grid-template-columns: auto 1fr auto;\n flex-grow: 1; }\n #ge-propertyTab .listLine .label {\n grid-column: 2;\n display: none;\n align-items: center; }\n #ge-propertyTab .listLine img {\n width: 30px; }\n #ge-propertyTab .listLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .listLine .options {\n grid-column: 2;\n padding-left: 15px;\n display: flex;\n align-items: center;\n margin-right: 5px; }\n #ge-propertyTab .listLine .options select {\n width: 120px;\n height: 25px;\n border: transparent;\n border-radius: 4px; }\n #ge-propertyTab .color3Line {\n padding-left: 15px;\n padding-bottom: 0px;\n padding-top: 0px;\n display: grid;\n flex-grow: 1; }\n #ge-propertyTab .color3Line .firstLine {\n height: var(--spacingHeight);\n display: flex;\n align-items: center; }\n #ge-propertyTab .color3Line .firstLine .label {\n grid-column: 2;\n padding-left: 5px;\n display: none;\n align-items: center;\n min-width: 15px; }\n #ge-propertyTab .color3Line .firstLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .color3Line .firstLine img {\n width: 30px;\n height: 30px; }\n #ge-propertyTab .color3Line .firstLine .textInputLine {\n grid-column: 3;\n padding-left: 2px;\n flex-grow: 1; }\n #ge-propertyTab .color3Line .firstLine .color3 {\n display: flex;\n align-items: center; }\n #ge-propertyTab .color3Line .firstLine .color3 input {\n margin-right: 5px; }\n #ge-propertyTab .color3Line .firstLine .textInputLine .value {\n padding-left: 2px; }\n #ge-propertyTab .color3Line .firstLine .copy {\n grid-column: 4;\n display: none;\n align-items: center;\n justify-items: center;\n cursor: pointer;\n color: black; }\n #ge-propertyTab .color3Line .firstLine .copy img {\n height: 100%;\n width: 20px; }\n #ge-propertyTab .color3Line .firstLine .expand {\n grid-column: 4;\n display: none;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-propertyTab .color3Line .firstLine .expand img {\n height: 100%;\n width: 20px; }\n #ge-propertyTab .color3Line .secondLine {\n display: grid;\n padding-right: 5px;\n border-left: 1px solid #337ab7; }\n #ge-propertyTab .color3Line .secondLine .numeric {\n display: grid;\n grid-template-columns: 1fr auto; }\n #ge-propertyTab .color3Line .secondLine .numeric-label {\n text-align: right;\n grid-column: 1;\n display: flex;\n align-items: center;\n justify-self: right;\n margin-right: 10px; }\n #ge-propertyTab .color3Line .secondLine .numeric-value {\n width: 120px;\n grid-column: 2;\n display: flex;\n align-items: center;\n border: 1px solid #337ab7; }\n #ge-propertyTab .textLine {\n padding-left: 5px;\n padding-bottom: 0px;\n padding-top: 0px;\n padding-right: 18px;\n height: auto;\n display: grid;\n grid-template-columns: auto auto 2fr 1fr; }\n #ge-propertyTab .textLine .label {\n grid-column: 2;\n padding-left: 5px;\n padding-top: 4px;\n display: flex;\n align-items: left;\n min-width: 15px;\n color: #a9a9a9;\n font-size: 10px;\n font-family: \"acumin-pro-semicondensed\"; }\n #ge-propertyTab .textLine img {\n width: 30px; }\n #ge-propertyTab .textLine .img {\n grid-column: 1;\n display: flex;\n align-items: center; }\n #ge-propertyTab .textLine .link-value {\n grid-column: 2;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n text-align: end;\n opacity: 0.8;\n margin: 5px;\n margin-top: 6px;\n max-width: 140px;\n text-decoration: underline;\n cursor: pointer; }\n #ge-propertyTab .textLine .value {\n display: none;\n grid-column: 3;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n text-align: end;\n opacity: 0.8;\n margin: 5px;\n margin-top: 6px;\n max-width: 200px;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text; }\n #ge-propertyTab .textLine .value.check {\n color: green; }\n #ge-propertyTab .textLine .value.uncheck {\n color: red; }\n", "",{"version":3,"sources":["webpack://./components/propertyTab/propertyTab.scss"],"names":[],"mappings":"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","sourcesContent":[":root {\r\n --backgroundGrey: #aaaaaa;\r\n --spacingHeight: 30px;\r\n --labelFamily: \"acumin-pro-condensed-semibold\";\r\n --button: #333333;\r\n --buttonBackground: #ffffff;\r\n --buttonDisabledBackground: #c8c8c8;\r\n --buttonPressed: #ffffff;\r\n --buttonPressedBackground: #606060;\r\n}\r\n\r\nhr.ge {\r\n border: 1px solid #d0cece;\r\n}\r\n\r\n#ge-propertyTab {\r\n user-select: none;\r\n $line-padding-left: 5px;\r\n $line-padding-bottom: 0px;\r\n $line-padding-top: 0px;\r\n $line-padding-right: 18px;\r\n color:black;\r\n background: #e2e2e2;\r\n * {\r\n font-family: \"acumin-pro-semicondensed\";\r\n font-size: 12px;\r\n }\r\n #header {\r\n height: 30px;\r\n font-size: 16px;\r\n color: white;\r\n background: white;\r\n grid-row: 1;\r\n text-align: center;\r\n display: grid;\r\n grid-template-columns: 30px 1fr; \r\n -webkit-user-select: none; \r\n -moz-user-select: none; \r\n -ms-user-select: none; \r\n user-select: none; \r\n\r\n #logo {\r\n position: relative;\r\n background: white;\r\n grid-column: 1; \r\n width: 32px;\r\n height: 32px;\r\n left:0;\r\n display: flex;\r\n align-self: center; \r\n justify-self: center;\r\n } \r\n\r\n #title {\r\n background: white;\r\n color: black;\r\n grid-column: 2; \r\n display: grid;\r\n align-items: center; \r\n text-align: center;\r\n }\r\n }\r\n\r\n .range {\r\n -webkit-appearance: none;\r\n width: 100%;\r\n height: 2px;\r\n background: #bcbcbc;\r\n border-radius: 5px;\r\n outline: none;\r\n opacity: 0.7;\r\n -webkit-transition: .2s;\r\n transition: opacity .2s;\r\n }\r\n \r\n .range:hover {\r\n opacity: 1;\r\n }\r\n \r\n .range::-webkit-slider-thumb {\r\n -webkit-appearance: none;\r\n appearance: none;\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 50%;\r\n background: #e2e2e2;\r\n border: solid;\r\n border-width: thin;\r\n cursor: pointer;\r\n }\r\n \r\n .range::-moz-range-thumb {\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 50%;\r\n background: rgb(0, 0, 0);\r\n cursor: pointer;\r\n }\r\n\r\n input[type=\"color\"] {\r\n -webkit-appearance: none;\r\n border: 1px solid rgba(255, 255, 255, 0.5);\r\n padding: 0;\r\n width: 30px;\r\n height: 20px;\r\n }\r\n input[type=\"color\"]::-webkit-color-swatch-wrapper {\r\n padding: 0;\r\n }\r\n input[type=\"color\"]::-webkit-color-swatch {\r\n border: none;\r\n }\r\n\r\n .icon {\r\n width: 30px;\r\n height: 30px;\r\n }\r\n\r\n .unit {\r\n width: 26px;\r\n height: 26px;\r\n color: var(--button);\r\n background-color: var(--buttonBackground);\r\n border: none;\r\n margin-top: 2px;\r\n cursor: pointer;\r\n }\r\n\r\n .unit.disabled {\r\n background-color: var(--buttonDisabledBackground);\r\n }\r\n\r\n .unit:active {\r\n color: var(--buttonPressed);\r\n background-color: var(--buttonPressedBackground);\r\n }\r\n\r\n .sliderLine {\r\n height: var(--spacingHeight);;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: auto auto auto 1fr;\r\n flex-grow: 1;\r\n\r\n .label {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n min-width: 15px;\r\n font-family: var(--labelFamily);\r\n }\r\n\r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .slider {\r\n grid-column: 4;\r\n grid-row: 1;\r\n margin-right: 5px;\r\n display: flex;\r\n align-items: center;\r\n padding-left: 5px;\r\n }\r\n\r\n .floatLine {\r\n grid-column: 3;\r\n padding-left: 0px;\r\n \r\n .label {\r\n grid-column: 1;\r\n display: none;\r\n align-items: center;\r\n font-family: var(--labelFamily);\r\n }\r\n \r\n .short {\r\n grid-column: 1; \r\n display: flex;\r\n align-items: center;\r\n \r\n input {\r\n width: 60px;\r\n background-color: white;\r\n outline-color: transparent;\r\n border: transparent;\r\n height: 26px;\r\n outline-width: 0px\r\n }\r\n \r\n input::-webkit-outer-spin-button,\r\n input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n \r\n input[type=number] {\r\n -webkit-appearance: textfield;\r\n -moz-appearance: textfield;\r\n appearance: textfield;\r\n }\r\n }\r\n } \r\n } \r\n\r\n .ge-divider, .ge-divider-short, .ge-divider-single {\r\n display: flex;\r\n flex-direction: row;\r\n padding-right: $line-padding-right;\r\n align-items: center;\r\n padding-left: 5px;\r\n }\r\n .ge-grid-divider {\r\n display: grid;\r\n grid-template-columns: 150px 1fr auto;\r\n \r\n .textLine {\r\n grid-column: auto;\r\n \r\n }\r\n }\r\n\r\n .ge-grid-button-divider {\r\n display: grid;\r\n grid-template-columns: 60px 60px 60px 60px;\r\n }\r\n\r\n .ge-grid-remove {\r\n display: grid;\r\n background-color: #c2c2c2;\r\n margin-bottom: 5px;\r\n filter: invert(1);\r\n }\r\n\r\n .ge-grid-edit {\r\n display: grid;\r\n background-color: #878787;\r\n margin-bottom: 5px;\r\n filter: invert(1);\r\n\r\n }\r\n \r\n .ge-grid {\r\n display: grid;\r\n margin-bottom: 5px;\r\n }\r\n\r\n\r\n .textInputLine {\r\n user-select: none;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: 5px;\r\n height: var(--spacingHeight);\r\n display: grid;\r\n grid-template-columns: auto auto 1fr;\r\n flex-grow: 1;\r\n .label {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n min-width: 15px;\r\n font-family: var(--labelFamily);\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n \r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .value { \r\n display: flex;\r\n align-items: center;\r\n grid-column: 3;\r\n background: transparent;\r\n height: 26px;\r\n position: relative;\r\n background-color: white;\r\n margin-top: 2px;\r\n overflow-y: hidden;\r\n margin-right: 2px;\r\n input {\r\n width: 100%;\r\n outline-color: transparent;\r\n border: transparent;\r\n outline-width: 0px;\r\n height: 24px;\r\n }\r\n input.hasArrows {\r\n padding-right: 15px;\r\n }\r\n .arrows {\r\n display: none;\r\n }\r\n &:hover .arrows, &:focus .arrows, &.dragging .arrows {\r\n position: absolute;\r\n right: 0;\r\n display: flex;\r\n flex-direction: column;\r\n background-color: white;\r\n cursor: grab;\r\n .downArrowIcon, .upArrowIcon {\r\n width: 15px;\r\n height: 15px;\r\n }\r\n }\r\n &.dragging .arrows {\r\n background-color: var(--buttonPressedBackground);\r\n .downArrowIcon, .upArrowIcon {\r\n filter: invert(100%) brightness(500%);\r\n }\r\n }\r\n }\r\n }\r\n\r\n .textInputLine.withUnits {\r\n grid-template-columns: auto auto 1fr auto;\r\n }\r\n \r\n .textInputArea {\r\n padding-left: $line-padding-left;\r\n height: 100%;\r\n display: grid;\r\n grid-template-columns: 1fr 120px;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .value { \r\n display: flex;\r\n align-items: center;\r\n grid-column: 2;\r\n \r\n textarea {\r\n width: calc(150% - 5px);\r\n margin-left: -50%;\r\n height: 40px;\r\n }\r\n }\r\n }\r\n \r\n .paneContainer {\r\n margin-top: 3px;\r\n display:grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 100%;\r\n \r\n .paneList {\r\n border-left: 3px solid transparent;\r\n }\r\n\r\n &:hover { \r\n .paneList { \r\n border-left: 3px solid rgba(51, 122, 183, 0.8);\r\n }\r\n\r\n .paneContainer-content {\r\n .header {\r\n .title { \r\n border-left: 3px solid rgb(51, 122, 183);\r\n }\r\n }\r\n }\r\n }\r\n \r\n .paneContainer-highlight-border {\r\n grid-row: 1;\r\n grid-column: 1;\r\n opacity: 1;\r\n border: 3px solid red;\r\n transition: opacity 250ms;\r\n pointer-events: none;\r\n \r\n &.transparent {\r\n opacity: 0;\r\n }\r\n }\r\n\r\n .paneContainer-content {\r\n grid-row: 1;\r\n grid-column: 1;\r\n\r\n .header {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n background: #cccccc; \r\n height: var(--spacingHeight);\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: 5px; \r\n cursor: pointer;\r\n \r\n .title { \r\n border-left: 3px solid transparent;\r\n padding-left: 5px;\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .collapse {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center; \r\n justify-items: center;\r\n transform-origin: center;\r\n\r\n &.closed {\r\n transform: rotate(180deg);\r\n }\r\n } \r\n }\r\n\r\n .paneList > div:not(:last-child) {\r\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);\r\n }\r\n\r\n .fragment > div:not(:last-child) {\r\n border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);\r\n }\r\n }\r\n }\r\n\r\n .color-picker {\r\n height: 26px;\r\n width: 26px;\r\n\r\n .color-rect-background {\r\n width: calc(100% - 2px);\r\n height: calc(100% - 2px);\r\n border: 1px black solid;\r\n cursor: pointer;\r\n background: repeating-conic-gradient(#E2E2E2 0% 25%, white 0% 50%) 50% / 100% 100%;\r\n .color-rect {\r\n height: 100%;\r\n }\r\n }\r\n\r\n .color-picker-cover {\r\n position: fixed;\r\n top: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n left: 0px;\r\n }\r\n\r\n .color-picker-float {\r\n z-index: 2;\r\n position: absolute; \r\n } \r\n }\r\n\r\n .gradient-step {\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 20px 30px 40px auto 20px 30px;\r\n padding-top: 5px;\r\n padding-left: 5px;\r\n padding-bottom: 5px;\r\n\r\n .step {\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n \r\n .color {\r\n grid-row: 1;\r\n grid-column: 2;\r\n cursor: pointer;\r\n }\r\n\r\n .step-value { \r\n margin-left: 5px; \r\n grid-row: 1;\r\n grid-column: 3;\r\n text-align: right;\r\n margin-right: 5px;\r\n }\r\n\r\n .step-slider { \r\n grid-row: 1;\r\n grid-column: 4;\r\n display: grid;\r\n justify-content: stretch;\r\n align-content: center;\r\n margin-right: -5px;\r\n padding-left: 12px;\r\n\r\n input {\r\n width: 90%;\r\n }\r\n }\r\n\r\n .gradient-copy { \r\n grid-row: 1;\r\n grid-column: 5;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n \r\n .img {\r\n height: 20px;\r\n width: 20px;\r\n }\r\n .img:hover {\r\n cursor: pointer;\r\n }\r\n\r\n }\r\n .gradient-delete { \r\n grid-row: 1;\r\n grid-column: 6;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n .img {\r\n height: 20px;\r\n width: 20px;\r\n }\r\n .img:hover {\r\n cursor: pointer;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n .alignment-bar {\r\n display: flex;\r\n justify-content: center;\r\n padding-right: 5px;\r\n }\r\n\r\n .command-button {\r\n cursor: pointer;\r\n width: 30px;\r\n\r\n .command-label {\r\n display: none;\r\n } \r\n\r\n .command-button-icon {\r\n height: 100%;\r\n width: 100%;\r\n display: grid;\r\n color: white;\r\n align-content: center;\r\n justify-content: center;\r\n }\r\n\r\n &:hover {\r\n background-color: white;\r\n } \r\n \r\n .active {\r\n transform-origin: center;\r\n background-color: white;\r\n }\r\n\r\n img {\r\n &.active {\r\n background-color: white;\r\n }\r\n }\r\n }\r\n\r\n .command-button-alt {\r\n cursor: pointer;\r\n width: 40px;\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n .command-label {\r\n display: none;\r\n } \r\n\r\n background-color: white;\r\n .command-button-icon {\r\n height: 100%;\r\n width: 100%;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n }\r\n &:hover {\r\n background-color: #c2c2c2;\r\n filter: invert(1);\r\n } \r\n }\r\n\r\n .command-button-alt-disabled {\r\n cursor: pointer;\r\n pointer-events: none;\r\n width: 40px;\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n .command-label {\r\n display: none;\r\n } \r\n\r\n background-color: white;\r\n .command-button-icon {\r\n height: 100%;\r\n width: 100%;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n }\r\n\r\n img {\r\n filter: invert(1);\r\n }\r\n }\r\n\r\n \r\n .command-button-alt-active {\r\n cursor: pointer;\r\n pointer-events: none;\r\n width: 40px;\r\n margin-left: 5px;\r\n margin-right: 5px;\r\n .command-label {\r\n display: none;\r\n } \r\n\r\n background-color: #c2c2c2;\r\n filter: invert(1);\r\n .command-button-icon {\r\n height: 100%;\r\n width: 100%;\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n }\r\n }\r\n\r\n .floatLine {\r\n user-select: none;\r\n height: var(--spacingHeight);\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n display: grid;\r\n grid-template-columns: auto auto 2fr auto;\r\n flex-grow: 1;\r\n\r\n .label {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n min-width: 15px;\r\n font-family: var(--labelFamily);\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n\r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .value { \r\n display: flex;\r\n align-items: center;\r\n grid-column: 3;\r\n background: transparent;\r\n height: 30px;\r\n margin-right: 2px;\r\n input {\r\n width: 100%;\r\n background-color: white;\r\n outline-color: transparent;\r\n border: none;\r\n outline-width: 0px;\r\n height: 24px;\r\n }\r\n }\r\n\r\n .short {\r\n grid-column: 2;\r\n \r\n display: flex;\r\n align-items: center;\r\n \r\n input {\r\n width: 27px;\r\n }\r\n \r\n input::-webkit-outer-spin-button,\r\n input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n\r\n input[type=number] {\r\n -moz-appearance: textfield;\r\n }\r\n }\r\n }\r\n\r\n .vector3Line {\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top; \r\n display: grid;\r\n .firstLine {\r\n display: grid;\r\n grid-template-columns: 1fr auto 20px;\r\n height: var(--spacingHeight);\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .vector {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n text-align: right;\r\n opacity: 0.8;\r\n }\r\n\r\n .expand {\r\n grid-column: 3;\r\n display: grid;\r\n align-items: center;\r\n justify-items: center;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .secondLine {\r\n display: grid;\r\n padding-right: 5px; \r\n border-left: 1px solid rgb(51, 122, 183);\r\n\r\n .no-right-margin {\r\n margin-right: 0;\r\n }\r\n\r\n .numeric {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n }\r\n\r\n .numeric-label {\r\n text-align: right;\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center; \r\n justify-self: right;\r\n margin-right: 10px; \r\n }\r\n\r\n .numeric-value {\r\n width: 120px;\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center; \r\n border: 1px solid rgb(51, 122, 183);\r\n } \r\n }\r\n }\r\n\r\n .buttonLine {\r\n height: var(--spacingHeight);\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n display: grid;\r\n align-items: center;\r\n justify-items: stretch;\r\n padding-bottom: 5px;\r\n input[type=\"file\"] {\r\n display: none;\r\n }\r\n\r\n .file-upload { \r\n background: var(--backgroundGrey);\r\n border: 1px solid #424242;\r\n margin: 5px 10px;\r\n color:white;\r\n padding: 4px 5px;\r\n opacity: 0.9;\r\n cursor: pointer;\r\n text-align: center;\r\n border-radius: 4px;\r\n }\r\n\r\n .file-upload:hover {\r\n opacity: 1.0;\r\n }\r\n\r\n .file-upload:active {\r\n transform: scale(0.98);\r\n transform-origin: 0.5 0.5;\r\n }\r\n\r\n button {\r\n background: var(--backgroundGrey);\r\n border: 1px solid #424242;\r\n margin: 5px 10px 5px 10px;\r\n color:white;\r\n padding: 4px 5px;\r\n opacity: 0.9;\r\n border-radius: 4px;\r\n }\r\n\r\n button:hover {\r\n opacity: 1.0;\r\n }\r\n\r\n button:active {\r\n background: #282828;\r\n } \r\n \r\n button:focus {\r\n border: 1px solid #424242;\r\n outline: 0px;\r\n } \r\n }\r\n\r\n .numeric {\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n height: var(--spacingHeight);;\r\n display: grid;\r\n grid-template-columns: 1fr 120px auto;\r\n\r\n .numeric-label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .number { \r\n display: flex;\r\n align-items: center;\r\n grid-column: 2;\r\n height: 10px;\r\n .input {\r\n width: calc(100% - 5px);\r\n height: 10px;\r\n }\r\n }\r\n }\r\n \r\n .checkBoxLine {\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n height: var(--spacingHeight);\r\n display: grid;\r\n grid-template-columns: auto 1fr auto ;\r\n flex-grow: 1;\r\n\r\n .label {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n min-width: 100px;\r\n margin-left: 15px;\r\n font-family: var(--labelFamily);\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n \r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .checkBox {\r\n grid-column: 3;\r\n display: flex;\r\n align-items: center;\r\n margin-left: auto;\r\n margin-right: 0px;\r\n \r\n .lbl {\r\n position: relative;\r\n display: block;\r\n height: 14px;\r\n width: 34px;\r\n border-radius: 100px;\r\n cursor: pointer;\r\n transition: all 0.3s ease;\r\n border: solid;\r\n border-width: thin;\r\n }\r\n\r\n .lbl:after {\r\n position: absolute;\r\n left: 3px;\r\n top: 1px;\r\n display: block;\r\n width: 10px;\r\n height: 10px;\r\n border-radius: 100px;\r\n background: #e2e2e2;\r\n box-shadow: 0px 3px 3px rgba(0,0,0,0.05);\r\n content: '';\r\n transition: all 0.15s ease;\r\n border: solid;\r\n border-width: thin;\r\n }\r\n\r\n .lbl:active:after { \r\n transform: scale(1.15, 0.85); \r\n }\r\n\r\n .cbx:checked ~ label { \r\n background: transparent;\r\n \r\n }\r\n\r\n .cbx:checked ~ label:after {\r\n left: 20px;\r\n background: rgb(0, 0, 0);\r\n border: solid;\r\n border-width: thin;\r\n }\r\n\r\n .cbx.conflict ~ label:after {\r\n left: 10px;\r\n background: repeating-linear-gradient(45deg, transparent, transparent 5px, black 5px, black 10px);\r\n }\r\n\r\n .cbx:checked ~ label.disabled { \r\n background: rgb(0, 0, 0);\r\n cursor: pointer;\r\n }\r\n\r\n .cbx:checked ~ label.disabled:after {\r\n left: 20px;\r\n background: rgb(85, 85, 85);\r\n cursor: pointer;\r\n }\r\n\r\n .cbx ~ label.disabled {\r\n background: rgb(85, 85, 85);\r\n cursor: pointer;\r\n }\r\n\r\n .hidden { \r\n display: none; \r\n } \r\n } \r\n } \r\n\r\n .listLine {\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n height: var(--spacingHeight);\r\n display: grid;\r\n grid-template-columns: auto 1fr auto ;\r\n flex-grow: 1;\r\n\r\n .label {\r\n grid-column: 2;\r\n display: none;\r\n align-items: center;\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n\r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n padding-left: 15px;\r\n display: flex;\r\n align-items: center; \r\n margin-right: 5px;\r\n\r\n select {\r\n width: 120px;\r\n height: 25px;\r\n border: transparent;\r\n border-radius: 4px;\r\n }\r\n } \r\n } \r\n \r\n .color3Line {\r\n padding-left: 15px;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n display: grid;\r\n flex-grow: 1;\r\n\r\n .firstLine {\r\n height: var(--spacingHeight);\r\n display: flex;\r\n align-items: center;\r\n\r\n .label {\r\n grid-column: 2;\r\n padding-left: 5px;\r\n display: none;\r\n align-items: center;\r\n min-width: 15px;\r\n }\r\n \r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n img {\r\n width: 30px;\r\n height: 30px;\r\n }\r\n \r\n .textInputLine {\r\n grid-column: 3;\r\n padding-left: 2px;\r\n flex-grow: 1;\r\n }\r\n \r\n .color3 {\r\n display: flex;\r\n align-items: center;\r\n \r\n input {\r\n margin-right: 5px;\r\n }\r\n }\r\n\r\n .textInputLine {\r\n .value {\r\n padding-left: 2px;\r\n }\r\n }\r\n\r\n .copy {\r\n grid-column: 4;\r\n display: none;\r\n align-items: center;\r\n justify-items: center;\r\n cursor: pointer;\r\n color: black;\r\n img {\r\n height: 100%;\r\n width: 20px;\r\n }\r\n }\r\n\r\n .expand {\r\n grid-column: 4;\r\n display: none;\r\n align-items: center;\r\n justify-items: center;\r\n cursor: pointer;\r\n\r\n img {\r\n height: 100%;\r\n width: 20px;\r\n }\r\n }\r\n } \r\n\r\n .secondLine {\r\n display: grid;\r\n padding-right: 5px; \r\n border-left: 1px solid rgb(51, 122, 183);\r\n\r\n .numeric {\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n }\r\n\r\n .numeric-label {\r\n text-align: right;\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center; \r\n justify-self: right;\r\n margin-right: 10px; \r\n }\r\n\r\n .numeric-value {\r\n width: 120px;\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center; \r\n border: 1px solid rgb(51, 122, 183);\r\n } \r\n } \r\n } \r\n \r\n .textLine {\r\n padding-left: $line-padding-left;\r\n padding-bottom: $line-padding-bottom;\r\n padding-top: $line-padding-top;\r\n padding-right: $line-padding-right;\r\n height: auto;\r\n display: grid;\r\n grid-template-columns: auto auto 2fr 1fr;\r\n .label {\r\n grid-column: 2;\r\n padding-left: 5px;\r\n padding-top: 4px;\r\n display: flex;\r\n align-items: left;\r\n min-width: 15px;\r\n color: #a9a9a9;\r\n font-size: 10px;\r\n font-family: \"acumin-pro-semicondensed\";\r\n }\r\n\r\n img {\r\n width: 30px;\r\n }\r\n\r\n .img {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .link-value {\r\n grid-column: 2;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n text-align: end;\r\n opacity: 0.8;\r\n margin:5px;\r\n margin-top: 6px;\r\n max-width: 140px;\r\n text-decoration: underline;\r\n cursor: pointer;\r\n }\r\n\r\n .value {\r\n display: none;\r\n grid-column: 3;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n text-align: end;\r\n opacity: 0.8;\r\n margin:5px;\r\n margin-top: 6px;\r\n max-width: 200px;\r\n -webkit-user-select: text; \r\n -moz-user-select: text; \r\n -ms-user-select: text; \r\n user-select: text; \r\n\r\n &.check {\r\n color: green;\r\n }\r\n\r\n &.uncheck {\r\n color: red;\r\n } \r\n }\r\n } \r\n\r\n}"],"sourceRoot":""}]);
10118
10118
  // Exports
10119
10119
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
10120
10120
 
@@ -10139,7 +10139,7 @@ __webpack_require__.r(__webpack_exports__);
10139
10139
 
10140
10140
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);
10141
10141
  // Module
10142
- ___CSS_LOADER_EXPORT___.push([module.i, "#ge-scene-explorer-host {\n position: absolute;\n left: 0px;\n top: 0px;\n bottom: 0px; }\n #ge-scene-explorer-host * {\n font-family: \"acumin-pro-condensed\"; }\n #ge-scene-explorer-host:focus {\n outline: none; }\n\n#ge-__resizable_base__ {\n display: none; }\n\n.ge-context-menu {\n background: #e2e2e2; }\n .ge-context-menu .react-contextmenu-item {\n padding: 10px;\n cursor: pointer; }\n .ge-context-menu .react-contextmenu-item:hover {\n background: #e2e2e2; }\n\n.ge-eact-contextmenu.context-menu.react-contextmenu--visible {\n z-index: 99;\n transform: scale(1); }\n\n#ge-sceneExplorer {\n background: #e2e2e2;\n height: 100%;\n margin: 0;\n padding: 0;\n display: grid;\n grid-template-rows: auto 1fr;\n font: 16px \"acumin-pro-condensed\"; }\n #ge-sceneExplorer:focus {\n outline: none; }\n #ge-sceneExplorer #header {\n height: 30px;\n font-size: 16px;\n color: black;\n background: #e2e2e2;\n grid-row: 1;\n text-align: center;\n display: grid;\n grid-template-columns: 30px 1fr 50px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #ge-sceneExplorer #header #logo {\n position: relative;\n grid-column: 1;\n width: 24px;\n height: 24px;\n left: 0;\n display: flex;\n align-self: center;\n justify-self: center; }\n #ge-sceneExplorer #header #title {\n grid-column: 2;\n display: grid;\n align-items: center;\n text-align: center; }\n #ge-sceneExplorer #header #commands {\n grid-column: 3;\n display: grid;\n align-items: center;\n grid-template-columns: 1fr 1fr; }\n #ge-sceneExplorer #header #commands .expand {\n grid-column: 1;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-sceneExplorer #header #commands .close {\n grid-column: 2;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-sceneExplorer #tree {\n grid-row: 2;\n overflow-x: hidden;\n overflow-y: auto; }\n #ge-sceneExplorer .filter {\n display: flex;\n align-items: stretch; }\n #ge-sceneExplorer .filter input {\n width: 100%;\n margin: 10px 40px 5px 40px;\n display: block;\n border: none;\n padding: 0;\n border-bottom: solid 1px #337ab7;\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 96%, #337ab7 4%);\n background-position: -1000px 0;\n background-size: 1000px 100%;\n background-repeat: no-repeat;\n color: black; }\n #ge-sceneExplorer .filter input::placeholder {\n color: lightgray; }\n #ge-sceneExplorer .filter input:focus {\n box-shadow: none;\n outline: none;\n background-position: 0 0; }\n #ge-sceneExplorer .groupContainer {\n margin-left: 0px;\n color: black;\n margin-top: 0px;\n margin-bottom: 0px;\n height: 24px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n align-self: center;\n display: grid;\n align-items: center; }\n #ge-sceneExplorer .groupContainer:hover {\n background: #bbbbbb; }\n #ge-sceneExplorer .groupContainer .expandableHeader {\n display: grid;\n grid-template-columns: 1fr 20px; }\n #ge-sceneExplorer .groupContainer .expandableHeader .text {\n grid-column: 1;\n display: grid;\n grid-template-columns: 20px 1fr; }\n #ge-sceneExplorer .groupContainer .expandableHeader .text .arrow {\n grid-column: 1;\n margin-left: 0px;\n color: black;\n cursor: pointer;\n display: inline-block;\n margin-right: 6px;\n opacity: 0.5; }\n #ge-sceneExplorer .groupContainer .expandableHeader .text .text-value {\n grid-column: 2;\n display: flex;\n align-items: center; }\n #ge-sceneExplorer .groupContainer .expandableHeader .expandAll {\n opacity: 0.5;\n grid-column: 2;\n margin-right: 10px; }\n #ge-sceneExplorer .icon {\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-sceneExplorer .addComponent {\n display: none; }\n #ge-sceneExplorer .makeChild {\n grid-column: 3; }\n #ge-sceneExplorer .itemContainer {\n margin-left: 0px;\n color: black;\n margin-top: 0px;\n margin-bottom: 0px;\n height: 32px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: grid;\n grid-template-columns: 20px 1fr;\n border: 2px solid transparent; }\n #ge-sceneExplorer .itemContainer.hover {\n border: 2px solid #527089;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer.seAbove {\n border-top: 2px solid #527089;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer.seBelow {\n border-bottom: 2px solid #527089;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer.selected {\n background: #bfbebe;\n color: black; }\n #ge-sceneExplorer .itemContainer.dragged {\n background: transparent;\n color: black; }\n #ge-sceneExplorer .itemContainer.parent {\n background: #ffffff;\n color: black; }\n #ge-sceneExplorer .itemContainer .isNotActive {\n opacity: 0.3; }\n #ge-sceneExplorer .itemContainer .arrow {\n grid-column: 1;\n color: black;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .popup {\n width: 200px;\n visibility: hidden;\n background-color: #bbbbbb;\n color: #fff;\n border: 1px solid rgba(255, 255, 255, 0.5);\n position: absolute;\n z-index: 1;\n margin-left: -180px;\n box-sizing: border-box; }\n #ge-sceneExplorer .itemContainer .popup.show {\n visibility: visible; }\n #ge-sceneExplorer .itemContainer .popup:focus {\n outline: none; }\n #ge-sceneExplorer .itemContainer .popup .popupMenu {\n padding: 6px 5px 5px 10px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n height: 18px; }\n #ge-sceneExplorer .itemContainer .popup .popupMenu:hover {\n background: white;\n color: #333333; }\n #ge-sceneExplorer .itemContainer .sceneNode {\n grid-column: 2;\n margin-left: -10px;\n display: grid;\n grid-template-columns: 1fr 20px 20px 20px 20px 10px 20px 20px auto 5px;\n align-items: center;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer .sceneNode .sceneTitle {\n grid-column: 1;\n margin-right: 5px;\n display: flex;\n align-items: center;\n height: 24px; }\n #ge-sceneExplorer .itemContainer .sceneNode .translation {\n grid-column: 2;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .translation.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .rotation {\n grid-column: 3;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .rotation.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .scaling {\n grid-column: 4;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .scaling.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .bounding {\n grid-column: 5;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .bounding.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .separator {\n grid-column: 6;\n margin-left: 5px;\n width: 5px;\n display: flex;\n align-items: center;\n height: 18px;\n border-left: solid 1px #337ab7; }\n #ge-sceneExplorer .itemContainer .sceneNode .pickingMode {\n grid-column: 7;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .pickingMode.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .refresh {\n grid-column: 8; }\n #ge-sceneExplorer .itemContainer .sceneNode .extensions {\n width: 20px;\n grid-column: 9; }\n #ge-sceneExplorer .itemContainer .adtextureTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr 20px auto 5px;\n align-items: center; }\n #ge-sceneExplorer .itemContainer .adtextureTools .pickingMode {\n grid-column: 2;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .adtextureTools .pickingMode.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .adtextureTools .extensions {\n width: 20px;\n grid-column: 3; }\n #ge-sceneExplorer .itemContainer .controlTools {\n grid-column: 2;\n display: grid;\n align-items: center; }\n #ge-sceneExplorer .itemContainer .controlTools .highlight {\n grid-column: 2; }\n #ge-sceneExplorer .itemContainer .controlTools .visibility {\n grid-column: 3; }\n #ge-sceneExplorer .itemContainer .controlTools .extensions {\n width: 20px;\n grid-column: 4; }\n #ge-sceneExplorer .itemContainer .title {\n grid-column: 1;\n background: transparent;\n white-space: nowrap;\n overflow: hidden;\n min-width: 0;\n margin-right: 5px;\n display: grid;\n align-items: center;\n grid-template-columns: 1fr;\n height: 24px;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer .title .titleText {\n grid-column: 1;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n outline: none; }\n", "",{"version":3,"sources":["webpack://./components/sceneExplorer/sceneExplorer.scss"],"names":[],"mappings":"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","sourcesContent":["#ge-scene-explorer-host {\r\n position: absolute;\r\n left: 0px;\r\n top:0px;\r\n bottom: 0px;\r\n * {\r\n font-family: \"acumin-pro-condensed\";\r\n }\r\n &:focus {\r\n outline: none;\r\n }\r\n}\r\n\r\n#ge-__resizable_base__ {\r\n display: none;\r\n}\r\n\r\n.ge-context-menu {\r\n background: #e2e2e2;\r\n\r\n .react-contextmenu-item {\r\n padding: 10px;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: #e2e2e2;\r\n }\r\n }\r\n}\r\n\r\n.ge-eact-contextmenu.context-menu.react-contextmenu--visible {\r\n z-index: 99;\r\n transform: scale(1);\r\n}\r\n\r\n#ge-sceneExplorer {\r\n background: #e2e2e2;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n display: grid;\r\n grid-template-rows: auto 1fr;\r\n font: 16px \"acumin-pro-condensed\";\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n #header {\r\n height: 30px;\r\n font-size: 16px;\r\n color: black;\r\n background: #e2e2e2;\r\n grid-row: 1;\r\n text-align: center;\r\n display: grid;\r\n grid-template-columns: 30px 1fr 50px; \r\n -webkit-user-select: none; \r\n -moz-user-select: none; \r\n -ms-user-select: none; \r\n user-select: none; \r\n\r\n #logo {\r\n position: relative;\r\n grid-column: 1; \r\n width: 24px;\r\n height: 24px;\r\n left:0;\r\n display: flex;\r\n align-self: center; \r\n justify-self: center;\r\n } \r\n\r\n #title {\r\n grid-column: 2; \r\n display: grid;\r\n align-items: center; \r\n text-align: center;\r\n }\r\n\r\n #commands {\r\n grid-column: 3; \r\n display: grid;\r\n align-items: center; \r\n grid-template-columns: 1fr 1fr; \r\n \r\n .expand {\r\n grid-column: 1;\r\n display: grid;\r\n align-items: center; \r\n justify-items: center;\r\n cursor: pointer; \r\n }\r\n\r\n .close {\r\n grid-column: 2;\r\n display: grid;\r\n align-items: center; \r\n justify-items: center;\r\n cursor: pointer; \r\n } \r\n }\r\n }\r\n\r\n #tree {\r\n grid-row: 2; \r\n\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n }\r\n\r\n .filter {\r\n display: flex;\r\n align-items: stretch;\r\n\r\n input {\r\n width: 100%;\r\n margin: 10px 40px 5px 40px;\r\n display: block;\r\n border: none;\r\n padding: 0;\r\n border-bottom: solid 1px rgb(51, 122, 183);\r\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 96%, rgb(51, 122, 183) 4%);\r\n background-position: -1000px 0;\r\n background-size: 1000px 100%;\r\n background-repeat: no-repeat; \r\n color:black; \r\n }\r\n\r\n input::placeholder {\r\n color: lightgray;\r\n }\r\n\r\n input:focus {\r\n box-shadow: none;\r\n outline: none;\r\n background-position: 0 0;\r\n }\r\n }\r\n\r\n .groupContainer {\r\n margin-left: 0px;\r\n color: black;\r\n margin-top: 0px;\r\n margin-bottom: 0px;\r\n height: 24px; \r\n\r\n -webkit-user-select: none; \r\n -moz-user-select: none; \r\n -ms-user-select: none; \r\n user-select: none; \r\n \r\n align-self: center; \r\n display: grid;\r\n align-items: center; \r\n\r\n &:hover {\r\n background: #bbbbbb;\r\n }\r\n\r\n .expandableHeader {\r\n display: grid;\r\n grid-template-columns: 1fr 20px;\r\n\r\n .text {\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: 20px 1fr;\r\n\r\n .arrow {\r\n grid-column: 1;\r\n margin-left: 0px;\r\n color: black;\r\n cursor: pointer;\r\n display: inline-block;\r\n margin-right: 6px;\r\n opacity: 0.5;\r\n }\r\n\r\n .text-value {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n }\r\n }\r\n\r\n .expandAll { \r\n opacity: 0.5;\r\n grid-column: 2;\r\n margin-right: 10px; \r\n }\r\n }\r\n \r\n\r\n }\r\n\r\n .icon {\r\n display: grid;\r\n align-items: center; \r\n justify-items: center;\r\n cursor: pointer;\r\n }\r\n\r\n .addComponent {\r\n display: none;\r\n }\r\n\r\n .makeChild{\r\n grid-column: 3;\r\n }\r\n\r\n .itemContainer {\r\n margin-left: 0px;\r\n color: black;\r\n margin-top: 0px;\r\n margin-bottom: 0px;\r\n height: 32px; \r\n -webkit-user-select: none; \r\n -moz-user-select: none; \r\n -ms-user-select: none; \r\n user-select: none; \r\n display: grid;\r\n grid-template-columns: 20px 1fr;\r\n border: 2px solid transparent;\r\n &.hover {\r\n border: 2px solid #527089;\r\n cursor: pointer;\r\n }\r\n\r\n &.seAbove {\r\n border-top: 2px solid #527089;\r\n cursor: pointer;\r\n }\r\n &.seBelow {\r\n border-bottom: 2px solid #527089;\r\n cursor: pointer;\r\n }\r\n\r\n &.selected {\r\n \r\n background: #bfbebe;\r\n color: black;\r\n }\r\n\r\n &.dragged {\r\n background: transparent;\r\n color: black;\r\n }\r\n\r\n &.parent {\r\n background: #ffffff ;\r\n color: black;\r\n }\r\n \r\n .isNotActive {\r\n opacity: 0.3;\r\n }\r\n .arrow {\r\n grid-column: 1;\r\n color: black;\r\n opacity: 0.6;\r\n }\r\n\r\n .popup {\r\n width: 200px;\r\n visibility: hidden;\r\n background-color: #bbbbbb;\r\n color: #fff;\r\n border: 1px solid rgba(255, 255, 255, 0.5);\r\n position: absolute;\r\n z-index: 1;\r\n margin-left: -180px;\r\n box-sizing: border-box;\r\n\r\n &.show {\r\n visibility: visible;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n .popupMenu {\r\n padding: 6px 5px 5px 10px;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n height: 18px;\r\n \r\n\r\n &:hover {\r\n background: white;\r\n color: #333333;\r\n }\r\n }\r\n }\r\n\r\n .sceneNode {\r\n grid-column: 2;\r\n margin-left: -10px;\r\n display: grid;\r\n grid-template-columns: 1fr 20px 20px 20px 20px 10px 20px 20px auto 5px;\r\n align-items: center;\r\n cursor: pointer; \r\n\r\n .sceneTitle {\r\n grid-column: 1;\r\n margin-right: 5px; \r\n display: flex;\r\n align-items: center; \r\n height: 24px; \r\n } \r\n\r\n .translation {\r\n grid-column: 2;\r\n opacity: 0.6;\r\n \r\n &.selected {\r\n opacity: 1;\r\n } \r\n }\r\n\r\n .rotation {\r\n grid-column: 3;\r\n opacity: 0.6;\r\n\r\n &.selected {\r\n opacity: 1;\r\n } \r\n }\r\n\r\n .scaling {\r\n grid-column: 4;\r\n opacity: 0.6;\r\n &.selected {\r\n opacity: 1;\r\n } \r\n }\r\n \r\n .bounding {\r\n grid-column: 5;\r\n opacity: 0.6;\r\n &.selected {\r\n opacity: 1;\r\n } \r\n }\r\n\r\n .separator {\r\n grid-column: 6;\r\n margin-left: 5px; \r\n width: 5px;\r\n display: flex;\r\n align-items: center; \r\n height: 18px; \r\n border-left: solid 1px rgb(51, 122, 183);\r\n }\r\n\r\n .pickingMode {\r\n grid-column: 7;\r\n opacity: 0.6;\r\n\r\n &.selected {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n .refresh {\r\n grid-column: 8;\r\n }\r\n\r\n .extensions {\r\n width: 20px;\r\n grid-column: 9;\r\n }\r\n }\r\n \r\n .adtextureTools {\r\n grid-column: 2;\r\n display: grid;\r\n grid-template-columns: 1fr 20px auto 5px;\r\n align-items: center;\r\n \r\n .pickingMode {\r\n grid-column: 2;\r\n opacity: 0.6;\r\n\r\n &.selected {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n .extensions {\r\n width: 20px;\r\n grid-column: 3;\r\n }\r\n } \r\n\r\n .controlTools {\r\n grid-column: 2;\r\n display: grid;\r\n align-items: center;\r\n\r\n .highlight {\r\n grid-column: 2;\r\n }\r\n\r\n .visibility {\r\n grid-column: 3;\r\n }\r\n\r\n .extensions {\r\n width: 20px;\r\n grid-column: 4;\r\n }\r\n } \r\n \r\n .title {\r\n grid-column: 1;\r\n background: transparent;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n min-width: 0;\r\n margin-right: 5px; \r\n display: grid;\r\n align-items: center; \r\n grid-template-columns: 1fr; \r\n height: 24px;\r\n cursor: pointer;\r\n\r\n .titleText {\r\n grid-column: 1;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n outline: none;\r\n } \r\n \r\n }\r\n }\r\n}"],"sourceRoot":""}]);
10142
+ ___CSS_LOADER_EXPORT___.push([module.i, "#ge-scene-explorer-host {\n position: absolute;\n left: 0px;\n top: 0px;\n bottom: 0px; }\n #ge-scene-explorer-host * {\n font-family: \"acumin-pro-condensed\"; }\n #ge-scene-explorer-host:focus {\n outline: none; }\n\n#ge-__resizable_base__ {\n display: none; }\n\n.ge-context-menu {\n background: #e2e2e2; }\n .ge-context-menu .react-contextmenu-item {\n padding: 10px;\n cursor: pointer; }\n .ge-context-menu .react-contextmenu-item:hover {\n background: #e2e2e2; }\n\n.ge-eact-contextmenu.context-menu.react-contextmenu--visible {\n z-index: 99;\n transform: scale(1); }\n\n#ge-sceneExplorer {\n background: #e2e2e2;\n height: 100%;\n margin: 0;\n padding: 0;\n display: grid;\n grid-template-rows: auto 1fr;\n font: 16px \"acumin-pro-condensed\"; }\n #ge-sceneExplorer:focus {\n outline: none; }\n #ge-sceneExplorer #header {\n height: 30px;\n font-size: 16px;\n color: black;\n background: #e2e2e2;\n grid-row: 1;\n text-align: center;\n display: grid;\n grid-template-columns: 30px 1fr 50px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n #ge-sceneExplorer #header #logo {\n position: relative;\n grid-column: 1;\n width: 24px;\n height: 24px;\n left: 0;\n display: flex;\n align-self: center;\n justify-self: center; }\n #ge-sceneExplorer #header #title {\n grid-column: 2;\n display: grid;\n align-items: center;\n text-align: center; }\n #ge-sceneExplorer #header #commands {\n grid-column: 3;\n display: grid;\n align-items: center;\n grid-template-columns: 1fr 1fr; }\n #ge-sceneExplorer #header #commands .expand {\n grid-column: 1;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-sceneExplorer #header #commands .close {\n grid-column: 2;\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-sceneExplorer #tree {\n grid-row: 2;\n overflow-x: hidden;\n overflow-y: auto; }\n #ge-sceneExplorer .filter {\n display: flex;\n align-items: stretch; }\n #ge-sceneExplorer .filter input {\n width: 100%;\n margin: 10px 40px 5px 40px;\n display: block;\n border: none;\n padding: 0;\n border-bottom: solid 1px #337ab7;\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 96%, #337ab7 4%);\n background-position: -1000px 0;\n background-size: 1000px 100%;\n background-repeat: no-repeat;\n color: black; }\n #ge-sceneExplorer .filter input::placeholder {\n color: lightgray; }\n #ge-sceneExplorer .filter input:focus {\n box-shadow: none;\n outline: none;\n background-position: 0 0; }\n #ge-sceneExplorer .groupContainer {\n margin-left: 0px;\n color: black;\n margin-top: 0px;\n margin-bottom: 0px;\n height: 24px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n align-self: center;\n display: grid;\n align-items: center; }\n #ge-sceneExplorer .groupContainer:hover {\n background: #bbbbbb; }\n #ge-sceneExplorer .groupContainer .expandableHeader {\n display: grid;\n grid-template-columns: 1fr 20px; }\n #ge-sceneExplorer .groupContainer .expandableHeader .text {\n grid-column: 1;\n display: grid;\n grid-template-columns: 20px 1fr; }\n #ge-sceneExplorer .groupContainer .expandableHeader .text .arrow {\n grid-column: 1;\n margin-left: 0px;\n color: black;\n cursor: pointer;\n display: inline-block;\n margin-right: 6px;\n opacity: 0.5; }\n #ge-sceneExplorer .groupContainer .expandableHeader .text .text-value {\n grid-column: 2;\n display: flex;\n align-items: center; }\n #ge-sceneExplorer .groupContainer .expandableHeader .expandAll {\n opacity: 0.5;\n grid-column: 2;\n margin-right: 10px; }\n #ge-sceneExplorer .icon {\n display: grid;\n align-items: center;\n justify-items: center;\n cursor: pointer; }\n #ge-sceneExplorer .addComponent {\n display: none; }\n #ge-sceneExplorer .makeChild {\n grid-column: 3; }\n #ge-sceneExplorer .itemContainer {\n margin-left: 0px;\n color: black;\n margin-top: 0px;\n margin-bottom: 0px;\n height: 32px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: grid;\n grid-template-columns: 20px 1fr;\n border: 2px solid transparent; }\n #ge-sceneExplorer .itemContainer.hover {\n border: 2px solid #527089;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer.seAbove {\n border-top: 2px solid #527089;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer.seBelow {\n border-bottom: 2px solid #527089;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer.selected {\n background: #bfbebe;\n color: black; }\n #ge-sceneExplorer .itemContainer.dragged {\n background: transparent;\n color: black; }\n #ge-sceneExplorer .itemContainer.parent {\n background: #ffffff;\n color: black; }\n #ge-sceneExplorer .itemContainer .isNotActive {\n opacity: 0.3; }\n #ge-sceneExplorer .itemContainer .arrow {\n grid-column: 1;\n color: black;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .popup {\n width: 200px;\n visibility: hidden;\n background-color: #bbbbbb;\n color: #fff;\n border: 1px solid rgba(255, 255, 255, 0.5);\n position: absolute;\n z-index: 1;\n margin-left: -180px;\n box-sizing: border-box; }\n #ge-sceneExplorer .itemContainer .popup.show {\n visibility: visible; }\n #ge-sceneExplorer .itemContainer .popup:focus {\n outline: none; }\n #ge-sceneExplorer .itemContainer .popup .popupMenu {\n padding: 6px 5px 5px 10px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n height: 18px; }\n #ge-sceneExplorer .itemContainer .popup .popupMenu:hover {\n background: white;\n color: #333333; }\n #ge-sceneExplorer .itemContainer .sceneNode {\n grid-column: 2;\n margin-left: -10px;\n display: grid;\n grid-template-columns: 1fr 20px 20px 20px 20px 10px 20px 20px auto 5px;\n align-items: center;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer .sceneNode .sceneTitle {\n grid-column: 1;\n margin-right: 5px;\n display: flex;\n align-items: center;\n height: 24px; }\n #ge-sceneExplorer .itemContainer .sceneNode .translation {\n grid-column: 2;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .translation.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .rotation {\n grid-column: 3;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .rotation.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .scaling {\n grid-column: 4;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .scaling.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .bounding {\n grid-column: 5;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .bounding.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .separator {\n grid-column: 6;\n margin-left: 5px;\n width: 5px;\n display: flex;\n align-items: center;\n height: 18px;\n border-left: solid 1px #337ab7; }\n #ge-sceneExplorer .itemContainer .sceneNode .pickingMode {\n grid-column: 7;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .sceneNode .pickingMode.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .sceneNode .refresh {\n grid-column: 8; }\n #ge-sceneExplorer .itemContainer .sceneNode .extensions {\n width: 20px;\n grid-column: 9; }\n #ge-sceneExplorer .itemContainer .adtextureTools {\n grid-column: 2;\n display: grid;\n grid-template-columns: 1fr 20px auto 5px;\n align-items: center; }\n #ge-sceneExplorer .itemContainer .adtextureTools .pickingMode {\n grid-column: 2;\n opacity: 0.6; }\n #ge-sceneExplorer .itemContainer .adtextureTools .pickingMode.selected {\n opacity: 1; }\n #ge-sceneExplorer .itemContainer .adtextureTools .extensions {\n width: 20px;\n grid-column: 3; }\n #ge-sceneExplorer .itemContainer .controlTools {\n grid-column: 2;\n display: grid;\n align-items: center;\n grid-template-columns: auto 1fr auto auto auto; }\n #ge-sceneExplorer .itemContainer .controlTools .controlType {\n grid-column: 1; }\n #ge-sceneExplorer .itemContainer .controlTools .controlType img {\n width: 32px;\n height: 32px;\n filter: invert(100%); }\n #ge-sceneExplorer .itemContainer .controlTools .highlight {\n grid-column: 3; }\n #ge-sceneExplorer .itemContainer .controlTools .visibility {\n grid-column: 4; }\n #ge-sceneExplorer .itemContainer .controlTools .extensions {\n width: 20px;\n grid-column: 5; }\n #ge-sceneExplorer .itemContainer .title {\n background: transparent;\n white-space: nowrap;\n overflow: hidden;\n min-width: 0;\n margin-right: 5px;\n align-items: center;\n height: 24px;\n cursor: pointer; }\n #ge-sceneExplorer .itemContainer .title .titleText {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n outline: none; }\n", "",{"version":3,"sources":["webpack://./components/sceneExplorer/sceneExplorer.scss"],"names":[],"mappings":"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","sourcesContent":["#ge-scene-explorer-host {\r\n position: absolute;\r\n left: 0px;\r\n top:0px;\r\n bottom: 0px;\r\n * {\r\n font-family: \"acumin-pro-condensed\";\r\n }\r\n &:focus {\r\n outline: none;\r\n }\r\n}\r\n\r\n#ge-__resizable_base__ {\r\n display: none;\r\n}\r\n\r\n.ge-context-menu {\r\n background: #e2e2e2;\r\n\r\n .react-contextmenu-item {\r\n padding: 10px;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: #e2e2e2;\r\n }\r\n }\r\n}\r\n\r\n.ge-eact-contextmenu.context-menu.react-contextmenu--visible {\r\n z-index: 99;\r\n transform: scale(1);\r\n}\r\n\r\n#ge-sceneExplorer {\r\n background: #e2e2e2;\r\n height: 100%;\r\n margin: 0;\r\n padding: 0;\r\n display: grid;\r\n grid-template-rows: auto 1fr;\r\n font: 16px \"acumin-pro-condensed\";\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n #header {\r\n height: 30px;\r\n font-size: 16px;\r\n color: black;\r\n background: #e2e2e2;\r\n grid-row: 1;\r\n text-align: center;\r\n display: grid;\r\n grid-template-columns: 30px 1fr 50px; \r\n -webkit-user-select: none; \r\n -moz-user-select: none; \r\n -ms-user-select: none; \r\n user-select: none; \r\n\r\n #logo {\r\n position: relative;\r\n grid-column: 1; \r\n width: 24px;\r\n height: 24px;\r\n left:0;\r\n display: flex;\r\n align-self: center; \r\n justify-self: center;\r\n } \r\n\r\n #title {\r\n grid-column: 2; \r\n display: grid;\r\n align-items: center; \r\n text-align: center;\r\n }\r\n\r\n #commands {\r\n grid-column: 3; \r\n display: grid;\r\n align-items: center; \r\n grid-template-columns: 1fr 1fr; \r\n \r\n .expand {\r\n grid-column: 1;\r\n display: grid;\r\n align-items: center; \r\n justify-items: center;\r\n cursor: pointer; \r\n }\r\n\r\n .close {\r\n grid-column: 2;\r\n display: grid;\r\n align-items: center; \r\n justify-items: center;\r\n cursor: pointer; \r\n } \r\n }\r\n }\r\n\r\n #tree {\r\n grid-row: 2; \r\n\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n }\r\n\r\n .filter {\r\n display: flex;\r\n align-items: stretch;\r\n\r\n input {\r\n width: 100%;\r\n margin: 10px 40px 5px 40px;\r\n display: block;\r\n border: none;\r\n padding: 0;\r\n border-bottom: solid 1px rgb(51, 122, 183);\r\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 96%, rgb(51, 122, 183) 4%);\r\n background-position: -1000px 0;\r\n background-size: 1000px 100%;\r\n background-repeat: no-repeat; \r\n color:black; \r\n }\r\n\r\n input::placeholder {\r\n color: lightgray;\r\n }\r\n\r\n input:focus {\r\n box-shadow: none;\r\n outline: none;\r\n background-position: 0 0;\r\n }\r\n }\r\n\r\n .groupContainer {\r\n margin-left: 0px;\r\n color: black;\r\n margin-top: 0px;\r\n margin-bottom: 0px;\r\n height: 24px; \r\n\r\n -webkit-user-select: none; \r\n -moz-user-select: none; \r\n -ms-user-select: none; \r\n user-select: none; \r\n \r\n align-self: center; \r\n display: grid;\r\n align-items: center; \r\n\r\n &:hover {\r\n background: #bbbbbb;\r\n }\r\n\r\n .expandableHeader {\r\n display: grid;\r\n grid-template-columns: 1fr 20px;\r\n\r\n .text {\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: 20px 1fr;\r\n\r\n .arrow {\r\n grid-column: 1;\r\n margin-left: 0px;\r\n color: black;\r\n cursor: pointer;\r\n display: inline-block;\r\n margin-right: 6px;\r\n opacity: 0.5;\r\n }\r\n\r\n .text-value {\r\n grid-column: 2;\r\n display: flex;\r\n align-items: center;\r\n }\r\n }\r\n\r\n .expandAll { \r\n opacity: 0.5;\r\n grid-column: 2;\r\n margin-right: 10px; \r\n }\r\n }\r\n \r\n\r\n }\r\n\r\n .icon {\r\n display: grid;\r\n align-items: center; \r\n justify-items: center;\r\n cursor: pointer;\r\n }\r\n\r\n .addComponent {\r\n display: none;\r\n }\r\n\r\n .makeChild{\r\n grid-column: 3;\r\n }\r\n\r\n .itemContainer {\r\n margin-left: 0px;\r\n color: black;\r\n margin-top: 0px;\r\n margin-bottom: 0px;\r\n height: 32px; \r\n -webkit-user-select: none; \r\n -moz-user-select: none; \r\n -ms-user-select: none; \r\n user-select: none;\r\n display: grid;\r\n grid-template-columns: 20px 1fr;\r\n border: 2px solid transparent;\r\n &.hover {\r\n border: 2px solid #527089;\r\n cursor: pointer;\r\n }\r\n\r\n &.seAbove {\r\n border-top: 2px solid #527089;\r\n cursor: pointer;\r\n }\r\n &.seBelow {\r\n border-bottom: 2px solid #527089;\r\n cursor: pointer;\r\n }\r\n\r\n &.selected {\r\n \r\n background: #bfbebe;\r\n color: black;\r\n }\r\n\r\n &.dragged {\r\n background: transparent;\r\n color: black;\r\n }\r\n\r\n &.parent {\r\n background: #ffffff;\r\n color: black;\r\n }\r\n \r\n .isNotActive {\r\n opacity: 0.3;\r\n }\r\n .arrow {\r\n grid-column: 1;\r\n color: black;\r\n opacity: 0.6;\r\n }\r\n\r\n .popup {\r\n width: 200px;\r\n visibility: hidden;\r\n background-color: #bbbbbb;\r\n color: #fff;\r\n border: 1px solid rgba(255, 255, 255, 0.5);\r\n position: absolute;\r\n z-index: 1;\r\n margin-left: -180px;\r\n box-sizing: border-box;\r\n\r\n &.show {\r\n visibility: visible;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n .popupMenu {\r\n padding: 6px 5px 5px 10px;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n height: 18px;\r\n \r\n\r\n &:hover {\r\n background: white;\r\n color: #333333;\r\n }\r\n }\r\n }\r\n\r\n .sceneNode {\r\n grid-column: 2;\r\n margin-left: -10px;\r\n display: grid;\r\n grid-template-columns: 1fr 20px 20px 20px 20px 10px 20px 20px auto 5px;\r\n align-items: center;\r\n cursor: pointer; \r\n\r\n .sceneTitle {\r\n grid-column: 1;\r\n margin-right: 5px; \r\n display: flex;\r\n align-items: center; \r\n height: 24px; \r\n } \r\n\r\n .translation {\r\n grid-column: 2;\r\n opacity: 0.6;\r\n \r\n &.selected {\r\n opacity: 1;\r\n } \r\n }\r\n\r\n .rotation {\r\n grid-column: 3;\r\n opacity: 0.6;\r\n\r\n &.selected {\r\n opacity: 1;\r\n } \r\n }\r\n\r\n .scaling {\r\n grid-column: 4;\r\n opacity: 0.6;\r\n &.selected {\r\n opacity: 1;\r\n } \r\n }\r\n \r\n .bounding {\r\n grid-column: 5;\r\n opacity: 0.6;\r\n &.selected {\r\n opacity: 1;\r\n } \r\n }\r\n\r\n .separator {\r\n grid-column: 6;\r\n margin-left: 5px; \r\n width: 5px;\r\n display: flex;\r\n align-items: center; \r\n height: 18px; \r\n border-left: solid 1px rgb(51, 122, 183);\r\n }\r\n\r\n .pickingMode {\r\n grid-column: 7;\r\n opacity: 0.6;\r\n\r\n &.selected {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n .refresh {\r\n grid-column: 8;\r\n }\r\n\r\n .extensions {\r\n width: 20px;\r\n grid-column: 9;\r\n }\r\n }\r\n \r\n .adtextureTools {\r\n grid-column: 2;\r\n display: grid;\r\n grid-template-columns: 1fr 20px auto 5px;\r\n align-items: center;\r\n \r\n .pickingMode {\r\n grid-column: 2;\r\n opacity: 0.6;\r\n\r\n &.selected {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n .extensions {\r\n width: 20px;\r\n grid-column: 3;\r\n }\r\n } \r\n\r\n .controlTools {\r\n grid-column: 2;\r\n display: grid;\r\n align-items: center;\r\n grid-template-columns: auto 1fr auto auto auto;\r\n\r\n .controlType {\r\n grid-column: 1;\r\n img {\r\n width: 32px;\r\n height: 32px;\r\n filter: invert(100%);\r\n }\r\n }\r\n\r\n .highlight {\r\n grid-column: 3;\r\n }\r\n\r\n .visibility {\r\n grid-column: 4;\r\n }\r\n\r\n .extensions {\r\n width: 20px;\r\n grid-column: 5;\r\n }\r\n } \r\n \r\n .title {\r\n background: transparent;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n min-width: 0;\r\n margin-right: 5px;\r\n align-items: center; \r\n height: 24px;\r\n cursor: pointer;\r\n\r\n .titleText {\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n outline: none;\r\n } \r\n \r\n }\r\n }\r\n}"],"sourceRoot":""}]);
10143
10143
  // Exports
10144
10144
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
10145
10145
 
@@ -10189,7 +10189,7 @@ __webpack_require__.r(__webpack_exports__);
10189
10189
 
10190
10190
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);
10191
10191
  // Module
10192
- ___CSS_LOADER_EXPORT___.push([module.i, ":root {\n --blackBarHeight: 55px; }\n\n#gui-editor-workbench-root {\n display: grid;\n grid-template-rows: calc(100% - 55px);\n height: 100%;\n width: 100%;\n background: #e2e2e2;\n font: 14px \"acumin-pro-condensed\"; }\n\n.wait-screen {\n display: grid;\n justify-content: center;\n align-content: center;\n height: 100%;\n width: 100%;\n background: #464646;\n opacity: 0.95;\n color: white;\n font: 24px \"acumin-pro-condensed\";\n position: absolute;\n top: 0;\n left: 0; }\n .wait-screen.hidden {\n visibility: hidden; }\n\n#leftGrab {\n grid-row: 1 / span 2;\n grid-column: 2;\n cursor: ew-resize; }\n\n#rightGrab {\n grid-row: 1 / span 2;\n grid-column: 5;\n cursor: ew-resize; }\n\n#toolbarGrab {\n background: #333333;\n grid-row: 1 / span 3;\n grid-column: 3;\n height: 100%; }\n #toolbarGrab .blackLine {\n height: 5px;\n background: black; }\n #toolbarGrab .toolbar-label {\n color: white;\n font-size: 18px;\n display: grid;\n align-items: center;\n cursor: pointer;\n user-select: none;\n grid-template-columns: 1fr 20px;\n grid-template-rows: 100%;\n position: relative; }\n #toolbarGrab .toolbar-label.active {\n font-weight: bold;\n font-size: 20px; }\n #toolbarGrab .toolbar-label:hover {\n background: var(--selectionGrey); }\n #toolbarGrab .toolbar-label:hover .sub-items {\n display: block; }\n #toolbarGrab .toolbar-icon {\n width: 40px;\n height: 40px; }\n\n.diagram-container {\n position: relative;\n display: grid;\n grid-row: 1;\n grid-column: 4;\n background: #CCCCCC;\n width: 100%;\n height: 100%;\n overflow: hidden; }\n .diagram-container .diagram {\n display: none;\n width: 100%;\n height: 100%; }\n\n.right-panel {\n grid-row: 1 / span 2;\n grid-column: 6;\n display: grid;\n grid-template-rows: 1fr 40px auto 40px;\n grid-template-columns: 100%;\n height: calc(100% - var(--blackBarHeight));\n overflow-y: auto; }\n .right-panel #propertyTab {\n grid-row: 1;\n grid-column: 1; }\n .right-panel .button {\n display: grid;\n justify-content: center;\n align-content: center;\n height: auto;\n width: calc(100% / 7);\n cursor: pointer; }\n .right-panel .button:hover {\n background: #337ab7;\n color: white;\n opacity: 0.8; }\n .right-panel .button.selected {\n background: #337ab7;\n color: white; }\n .right-panel .button.align {\n justify-content: stretch;\n text-align: center; }\n\n.blocker {\n visibility: hidden;\n position: absolute;\n width: calc(100% - 40px);\n height: 100%;\n top: 0;\n left: 0;\n background: rgba(20, 20, 20, 0.95);\n font-family: \"acumin-pro-condensed\";\n color: white;\n font-size: 24px;\n display: grid;\n align-content: center;\n justify-content: center;\n user-select: none;\n padding: 20px;\n text-align: center; }\n\n#log-console {\n grid-row: 2;\n grid-column: 4;\n display: none; }\n\n.dialog-container {\n position: absolute;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: grid;\n font-family: \"acumin-pro-condensed\";\n top: 0; }\n .dialog-container .dialog {\n align-self: center;\n justify-self: center;\n min-height: 140px;\n max-width: 400px;\n border-radius: 10px;\n background: white;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: calc(100% - 50px) 50px; }\n .dialog-container .dialog .dialog-message {\n grid-row: 1;\n grid-column: 1;\n margin-top: 20px;\n padding: 10px;\n font-size: 18px;\n color: black; }\n .dialog-container .dialog .dialog-buttons {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%;\n color: white; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok {\n cursor: pointer;\n justify-self: center;\n background: green;\n min-width: 80px;\n justify-content: center;\n display: grid;\n align-content: center;\n align-self: center;\n height: 35px;\n border-radius: 10px; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok:hover {\n opacity: 0.8; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok.error {\n background: red; }\n\n.gizmo .bounding-box-line {\n background-color: black;\n position: absolute;\n line-height: 1px;\n height: 1px;\n pointer-events: none; }\n\n.gizmo .scale-point-container {\n position: absolute;\n width: 30px;\n height: 30px; }\n .gizmo .scale-point-container .scale-point {\n top: 10px;\n left: 10px;\n position: absolute;\n width: 10px;\n height: 10px;\n background: transparent;\n outline: #7d7d7d 2px solid; }\n .gizmo .scale-point-container .rotate-click-area {\n width: 20px;\n height: 20px;\n position: absolute; }\n .gizmo .scale-point-container .scale-click-area {\n width: 20px;\n height: 20px;\n position: absolute; }\n\n.gizmo .pivot-point {\n width: 30px;\n height: 30px;\n background: transparent;\n position: absolute; }\n\n#workbench-canvas {\n position: relative; }\n\n.artboard-stroke {\n outline: 1px solid black;\n position: absolute;\n z-index: 5;\n pointer-events: none; }\n\n.artboard-background {\n position: absolute;\n background: repeating-conic-gradient(#E2E2E2 0% 25%, white 0% 50%) 50%/10px 10px;\n width: 100%;\n height: 100%; }\n", "",{"version":3,"sources":["webpack://./main.scss"],"names":[],"mappings":"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","sourcesContent":[":root {\r\n --blackBarHeight: 55px;\r\n}\r\n\r\n#gui-editor-workbench-root {\r\n display: grid;\r\n grid-template-rows: calc(100% - 55px);\r\n height: 100%;\r\n width: 100%;\r\n background: #e2e2e2;\r\n font: 14px \"acumin-pro-condensed\"; \r\n}\r\n\r\n.wait-screen {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n opacity: 0.95;\r\n color:white;\r\n font: 24px \"acumin-pro-condensed\"; \r\n position: absolute;\r\n top: 0;\r\n left: 0; \r\n\r\n &.hidden {\r\n visibility: hidden;\r\n }\r\n}\r\n\r\n#leftGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 2;\r\n cursor: ew-resize;\r\n}\r\n\r\n#rightGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 5;\r\n cursor: ew-resize;\r\n}\r\n\r\n\r\n#toolbarGrab {\r\n background: #333333;\r\n grid-row: 1 / span 3;\r\n grid-column: 3;\r\n height: 100%;\r\n\r\n .blackLine {\r\n height: 5px;\r\n background: black;\r\n }\r\n .toolbar-label {\r\n color:white;\r\n font-size: 18px;\r\n display: grid;\r\n align-items: center;\r\n cursor: pointer;\r\n user-select: none;\r\n grid-template-columns: 1fr 20px;\r\n grid-template-rows: 100%;\r\n position: relative;\r\n\r\n &.active {\r\n font-weight: bold;\r\n font-size: 20px;\r\n }\r\n\r\n &:hover {\r\n background: var(--selectionGrey);\r\n .sub-items {\r\n display: block;\r\n }\r\n } \r\n }\r\n .toolbar-icon {\r\n width: 40px;\r\n height: 40px;\r\n }\r\n}\r\n\r\n.diagram-container {\r\n position: relative;\r\n display: grid;\r\n grid-row: 1;\r\n grid-column: 4;\r\n background: #CCCCCC;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n\r\n .diagram {\r\n display: none;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n\r\n.right-panel {\r\n grid-row: 1 / span 2;\r\n grid-column: 6;\r\n display: grid;\r\n grid-template-rows: 1fr 40px auto 40px;\r\n grid-template-columns: 100%;\r\n height: calc(100% - var(--blackBarHeight));\r\n overflow-y: auto;\r\n\r\n #propertyTab {\r\n grid-row: 1;\r\n grid-column: 1;\r\n } \r\n \r\n .button {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: auto;\r\n width: calc(100% / 7);\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n opacity: 0.8;\r\n }\r\n\r\n &.selected {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n }\r\n \r\n &.align {\r\n justify-content: stretch;\r\n text-align: center;\r\n }\r\n } \r\n}\r\n\r\n.blocker {\r\n visibility: hidden;\r\n position: absolute;\r\n width: calc(100% - 40px);\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n\r\n background: rgba(20, 20, 20, 0.95); \r\n font-family: \"acumin-pro-condensed\";\r\n color: white;\r\n font-size: 24px;\r\n\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n\r\n user-select: none;\r\n\r\n padding: 20px;\r\n text-align: center;\r\n}\r\n\r\n#log-console {\r\n grid-row: 2;\r\n grid-column: 4;\r\n display: none;\r\n}\r\n\r\n.dialog-container {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n background: rgba(0.1, 0.1, 0.1, 0.6);\r\n display: grid;\r\n font-family: \"acumin-pro-condensed\";\r\n top:0;\r\n\r\n .dialog {\r\n align-self: center;\r\n justify-self: center;\r\n min-height: 140px;\r\n max-width: 400px;\r\n border-radius: 10px;\r\n background: white;\r\n\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: calc(100% - 50px) 50px;\r\n\r\n .dialog-message {\r\n grid-row: 1;\r\n grid-column: 1;\r\n margin-top: 20px;\r\n padding: 10px;\r\n font-size: 18px;\r\n color: black;\r\n }\r\n\r\n .dialog-buttons {\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 100%;\r\n color: white;\r\n\r\n .dialog-button-ok {\r\n cursor: pointer;\r\n justify-self: center;\r\n background:green;\r\n min-width: 80px;\r\n justify-content: center;\r\n display: grid;\r\n align-content: center;\r\n align-self: center;\r\n height: 35px; \r\n border-radius: 10px;\r\n\r\n &:hover {\r\n opacity: 0.8;\r\n }\r\n\r\n &.error {\r\n background: red;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.gizmo {\r\n .bounding-box-line {\r\n background-color: black;\r\n position: absolute;\r\n line-height: 1px;\r\n height: 1px;\r\n pointer-events: none;\r\n }\r\n .scale-point-container {\r\n position: absolute;\r\n width: 30px;\r\n height: 30px;\r\n .scale-point {\r\n top: 10px;\r\n left: 10px;\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n background: transparent;\r\n outline: rgb(125, 125, 125) 2px solid;\r\n }\r\n .rotate-click-area {\r\n width: 20px;\r\n height: 20px;\r\n position: absolute;\r\n }\r\n .scale-click-area {\r\n width: 20px;\r\n height: 20px;\r\n position: absolute;\r\n }\r\n }\r\n .pivot-point {\r\n width: 30px;\r\n height: 30px;\r\n background: transparent;\r\n position: absolute;\r\n }\r\n}\r\n#workbench-canvas {\r\n position: relative;\r\n}\r\n.artboard-stroke {\r\n outline: 1px solid black;\r\n position: absolute;\r\n z-index: 5;\r\n pointer-events: none;\r\n}\r\n.artboard-background {\r\n position: absolute;\r\n background: repeating-conic-gradient(#E2E2E2 0% 25%, white 0% 50%) 50% / 10px 10px;\r\n width: 100%;\r\n height: 100%;\r\n}"],"sourceRoot":""}]);
10192
+ ___CSS_LOADER_EXPORT___.push([module.i, ":root {\n --blackBarHeight: 55px; }\n\n#gui-editor-workbench-root {\n display: grid;\n grid-template-rows: calc(100% - 55px);\n height: 100%;\n width: 100%;\n background: #e2e2e2;\n font: 14px \"acumin-pro-condensed\"; }\n\n.wait-screen {\n display: grid;\n justify-content: center;\n align-content: center;\n height: 100%;\n width: 100%;\n background: #464646;\n opacity: 0.95;\n color: white;\n font: 24px \"acumin-pro-condensed\";\n position: absolute;\n top: 0;\n left: 0; }\n .wait-screen.hidden {\n visibility: hidden; }\n\n#leftGrab {\n grid-row: 1 / span 2;\n grid-column: 2;\n cursor: ew-resize; }\n\n#rightGrab {\n cursor: ew-resize;\n width: 5px;\n height: 1000000px;\n position: absolute;\n top: 0;\n left: 0; }\n\n#toolbarGrab {\n background: #333333;\n grid-row: 1 / span 3;\n grid-column: 3;\n height: 100%; }\n #toolbarGrab .blackLine {\n height: 5px;\n background: black; }\n #toolbarGrab .toolbar-label {\n color: white;\n font-size: 18px;\n display: grid;\n align-items: center;\n cursor: pointer;\n user-select: none;\n grid-template-columns: 1fr 20px;\n grid-template-rows: 100%;\n position: relative; }\n #toolbarGrab .toolbar-label.active {\n font-weight: bold;\n font-size: 20px; }\n #toolbarGrab .toolbar-label:hover {\n background: var(--selectionGrey); }\n #toolbarGrab .toolbar-label:hover .sub-items {\n display: block; }\n #toolbarGrab .toolbar-icon {\n width: 40px;\n height: 40px; }\n\n.diagram-container {\n position: relative;\n display: grid;\n grid-row: 1;\n grid-column: 4;\n background: #CCCCCC;\n width: 100%;\n height: 100%;\n overflow: hidden; }\n .diagram-container .diagram {\n display: none;\n width: 100%;\n height: 100%; }\n\n.right-panel {\n grid-row: 1 / span 2;\n grid-column: 5;\n display: grid;\n grid-template-rows: 1fr 40px auto 40px;\n grid-template-columns: 100%;\n height: calc(100% - var(--blackBarHeight));\n overflow-y: auto;\n position: relative; }\n .right-panel #propertyTab {\n grid-row: 1;\n grid-column: 1; }\n .right-panel .button {\n display: grid;\n justify-content: center;\n align-content: center;\n height: auto;\n width: calc(100% / 7);\n cursor: pointer; }\n .right-panel .button:hover {\n background: #337ab7;\n color: white;\n opacity: 0.8; }\n .right-panel .button.selected {\n background: #337ab7;\n color: white; }\n .right-panel .button.align {\n justify-content: stretch;\n text-align: center; }\n\n.blocker {\n visibility: hidden;\n position: absolute;\n width: calc(100% - 40px);\n height: 100%;\n top: 0;\n left: 0;\n background: rgba(20, 20, 20, 0.95);\n font-family: \"acumin-pro-condensed\";\n color: white;\n font-size: 24px;\n display: grid;\n align-content: center;\n justify-content: center;\n user-select: none;\n padding: 20px;\n text-align: center; }\n\n#log-console {\n grid-row: 2;\n grid-column: 4;\n display: none; }\n\n.dialog-container {\n position: absolute;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: grid;\n font-family: \"acumin-pro-condensed\";\n top: 0; }\n .dialog-container .dialog {\n align-self: center;\n justify-self: center;\n min-height: 140px;\n max-width: 400px;\n border-radius: 10px;\n background: white;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: calc(100% - 50px) 50px; }\n .dialog-container .dialog .dialog-message {\n grid-row: 1;\n grid-column: 1;\n margin-top: 20px;\n padding: 10px;\n font-size: 18px;\n color: black; }\n .dialog-container .dialog .dialog-buttons {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-rows: 100%;\n grid-template-columns: 100%;\n color: white; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok {\n cursor: pointer;\n justify-self: center;\n background: green;\n min-width: 80px;\n justify-content: center;\n display: grid;\n align-content: center;\n align-self: center;\n height: 35px;\n border-radius: 10px; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok:hover {\n opacity: 0.8; }\n .dialog-container .dialog .dialog-buttons .dialog-button-ok.error {\n background: red; }\n\n.gizmo * {\n user-select: none; }\n\n.gizmo .bounding-box-line {\n background-color: black;\n position: absolute;\n line-height: 1px;\n height: 1px;\n pointer-events: none; }\n\n.gizmo .scale-point-container {\n position: absolute;\n width: 30px;\n height: 30px; }\n .gizmo .scale-point-container .scale-point {\n top: 10px;\n left: 10px;\n position: absolute;\n width: 10px;\n height: 10px;\n background: transparent;\n outline: #7d7d7d 2px solid; }\n .gizmo .scale-point-container .rotate-click-area {\n width: 20px;\n height: 20px;\n position: absolute; }\n .gizmo .scale-point-container .scale-click-area {\n width: 20px;\n height: 20px;\n position: absolute; }\n\n.gizmo .pivot-point {\n width: 30px;\n height: 30px;\n background: transparent;\n position: absolute; }\n\n#workbench-canvas {\n position: relative; }\n\n.artboard-stroke {\n outline: 1px solid black;\n position: absolute;\n z-index: 5;\n pointer-events: none; }\n\n.artboard-background {\n position: absolute;\n background: repeating-conic-gradient(#E2E2E2 0% 25%, white 0% 50%) 50%/10px 10px;\n width: 100%;\n height: 100%; }\n", "",{"version":3,"sources":["webpack://./main.scss"],"names":[],"mappings":"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","sourcesContent":[":root {\r\n --blackBarHeight: 55px;\r\n}\r\n\r\n#gui-editor-workbench-root {\r\n display: grid;\r\n grid-template-rows: calc(100% - 55px);\r\n height: 100%;\r\n width: 100%;\r\n background: #e2e2e2;\r\n font: 14px \"acumin-pro-condensed\"; \r\n}\r\n\r\n.wait-screen {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n opacity: 0.95;\r\n color:white;\r\n font: 24px \"acumin-pro-condensed\"; \r\n position: absolute;\r\n top: 0;\r\n left: 0; \r\n\r\n &.hidden {\r\n visibility: hidden;\r\n }\r\n}\r\n\r\n#leftGrab {\r\n grid-row: 1 / span 2;\r\n grid-column: 2;\r\n cursor: ew-resize;\r\n}\r\n\r\n#rightGrab {\r\n cursor: ew-resize;\r\n width: 5px;\r\n height: 1000000px;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n}\r\n\r\n\r\n#toolbarGrab {\r\n background: #333333;\r\n grid-row: 1 / span 3;\r\n grid-column: 3;\r\n height: 100%;\r\n\r\n .blackLine {\r\n height: 5px;\r\n background: black;\r\n }\r\n .toolbar-label {\r\n color:white;\r\n font-size: 18px;\r\n display: grid;\r\n align-items: center;\r\n cursor: pointer;\r\n user-select: none;\r\n grid-template-columns: 1fr 20px;\r\n grid-template-rows: 100%;\r\n position: relative;\r\n\r\n &.active {\r\n font-weight: bold;\r\n font-size: 20px;\r\n }\r\n\r\n &:hover {\r\n background: var(--selectionGrey);\r\n .sub-items {\r\n display: block;\r\n }\r\n } \r\n }\r\n .toolbar-icon {\r\n width: 40px;\r\n height: 40px;\r\n }\r\n}\r\n\r\n.diagram-container {\r\n position: relative;\r\n display: grid;\r\n grid-row: 1;\r\n grid-column: 4;\r\n background: #CCCCCC;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n\r\n .diagram {\r\n display: none;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n\r\n.right-panel {\r\n grid-row: 1 / span 2;\r\n grid-column: 5;\r\n display: grid;\r\n grid-template-rows: 1fr 40px auto 40px;\r\n grid-template-columns: 100%;\r\n height: calc(100% - var(--blackBarHeight));\r\n overflow-y: auto;\r\n position: relative;\r\n\r\n #propertyTab {\r\n grid-row: 1;\r\n grid-column: 1;\r\n } \r\n \r\n .button {\r\n display: grid;\r\n justify-content: center;\r\n align-content: center;\r\n height: auto;\r\n width: calc(100% / 7);\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n opacity: 0.8;\r\n }\r\n\r\n &.selected {\r\n background: rgb(51, 122, 183);\r\n color: white;\r\n }\r\n \r\n &.align {\r\n justify-content: stretch;\r\n text-align: center;\r\n }\r\n } \r\n}\r\n\r\n.blocker {\r\n visibility: hidden;\r\n position: absolute;\r\n width: calc(100% - 40px);\r\n height: 100%;\r\n top: 0;\r\n left: 0;\r\n\r\n background: rgba(20, 20, 20, 0.95); \r\n font-family: \"acumin-pro-condensed\";\r\n color: white;\r\n font-size: 24px;\r\n\r\n display: grid;\r\n align-content: center;\r\n justify-content: center;\r\n\r\n user-select: none;\r\n\r\n padding: 20px;\r\n text-align: center;\r\n}\r\n\r\n#log-console {\r\n grid-row: 2;\r\n grid-column: 4;\r\n display: none;\r\n}\r\n\r\n.dialog-container {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n background: rgba(0.1, 0.1, 0.1, 0.6);\r\n display: grid;\r\n font-family: \"acumin-pro-condensed\";\r\n top:0;\r\n\r\n .dialog {\r\n align-self: center;\r\n justify-self: center;\r\n min-height: 140px;\r\n max-width: 400px;\r\n border-radius: 10px;\r\n background: white;\r\n\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: calc(100% - 50px) 50px;\r\n\r\n .dialog-message {\r\n grid-row: 1;\r\n grid-column: 1;\r\n margin-top: 20px;\r\n padding: 10px;\r\n font-size: 18px;\r\n color: black;\r\n }\r\n\r\n .dialog-buttons {\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-rows: 100%;\r\n grid-template-columns: 100%;\r\n color: white;\r\n\r\n .dialog-button-ok {\r\n cursor: pointer;\r\n justify-self: center;\r\n background:green;\r\n min-width: 80px;\r\n justify-content: center;\r\n display: grid;\r\n align-content: center;\r\n align-self: center;\r\n height: 35px; \r\n border-radius: 10px;\r\n\r\n &:hover {\r\n opacity: 0.8;\r\n }\r\n\r\n &.error {\r\n background: red;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.gizmo {\r\n * {\r\n user-select: none;\r\n }\r\n .bounding-box-line {\r\n background-color: black;\r\n position: absolute;\r\n line-height: 1px;\r\n height: 1px;\r\n pointer-events: none;\r\n }\r\n .scale-point-container {\r\n position: absolute;\r\n width: 30px;\r\n height: 30px;\r\n .scale-point {\r\n top: 10px;\r\n left: 10px;\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n background: transparent;\r\n outline: rgb(125, 125, 125) 2px solid;\r\n }\r\n .rotate-click-area {\r\n width: 20px;\r\n height: 20px;\r\n position: absolute;\r\n }\r\n .scale-click-area {\r\n width: 20px;\r\n height: 20px;\r\n position: absolute;\r\n }\r\n }\r\n .pivot-point {\r\n width: 30px;\r\n height: 30px;\r\n background: transparent;\r\n position: absolute;\r\n }\r\n}\r\n#workbench-canvas {\r\n position: relative;\r\n}\r\n.artboard-stroke {\r\n outline: 1px solid black;\r\n position: absolute;\r\n z-index: 5;\r\n pointer-events: none;\r\n}\r\n.artboard-background {\r\n position: absolute;\r\n background: repeating-conic-gradient(#E2E2E2 0% 25%, white 0% 50%) 50% / 10px 10px;\r\n width: 100%;\r\n height: 100%;\r\n}"],"sourceRoot":""}]);
10193
10193
  // Exports
10194
10194
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
10195
10195
 
@@ -43100,13 +43100,10 @@ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' w
43100
43100
  __webpack_require__.r(__webpack_exports__);
43101
43101
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CommandBarComponent", function() { return CommandBarComponent; });
43102
43102
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
43103
- /* harmony import */ var _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/container */ "@babylonjs/gui/2D/controls/button");
43104
- /* harmony import */ var _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_1__);
43105
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
43106
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
43107
- /* harmony import */ var _commandButtonComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./commandButtonComponent */ "./components/commandButtonComponent.tsx");
43108
- /* harmony import */ var _commandDropdownComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./commandDropdownComponent */ "./components/commandDropdownComponent.tsx");
43109
-
43103
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
43104
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
43105
+ /* harmony import */ var _commandButtonComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./commandButtonComponent */ "./components/commandButtonComponent.tsx");
43106
+ /* harmony import */ var _commandDropdownComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./commandDropdownComponent */ "./components/commandDropdownComponent.tsx");
43110
43107
 
43111
43108
 
43112
43109
 
@@ -43144,32 +43141,17 @@ var CommandBarComponent = /** @class */ (function (_super) {
43144
43141
  _this._selecting = false;
43145
43142
  _this.forceUpdate();
43146
43143
  });
43147
- props.globalState.onOutlinesObservable.add(function () {
43148
- _this._outlines = !_this._outlines;
43149
- var nodes = _this.props.globalState.workbench.nodes;
43150
- nodes.forEach(function (node) {
43151
- _this.updateNodeOutline(node);
43152
- });
43144
+ props.globalState.onOutlineChangedObservable.add(function () {
43153
43145
  _this.forceUpdate();
43154
43146
  });
43155
43147
  return _this;
43156
43148
  }
43157
- CommandBarComponent.prototype.updateNodeOutline = function (guiControl) {
43158
- var _this = this;
43159
- guiControl.isHighlighted = this._outlines;
43160
- guiControl.highlightLineWidth = 5;
43161
- if (guiControl instanceof _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_1__["Container"]) {
43162
- guiControl.children.forEach(function (child) {
43163
- _this.updateNodeOutline(child);
43164
- });
43165
- }
43166
- };
43167
43149
  CommandBarComponent.prototype.render = function () {
43168
43150
  var _this = this;
43169
- return (react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("div", { className: "ge-commands" },
43170
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("div", { className: "commands-left" },
43171
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("img", { src: logoIcon, color: "white", className: "active" }),
43172
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"](_commandDropdownComponent__WEBPACK_IMPORTED_MODULE_4__["CommandDropdownComponent"], { globalState: this.props.globalState, toRight: true, icon: hamburgerIcon, tooltip: "Options", items: [
43151
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-commands" },
43152
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "commands-left" },
43153
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: logoIcon, color: "white", className: "active" }),
43154
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandDropdownComponent__WEBPACK_IMPORTED_MODULE_3__["CommandDropdownComponent"], { globalState: this.props.globalState, toRight: true, icon: hamburgerIcon, tooltip: "Options", items: [
43173
43155
  {
43174
43156
  label: "Save",
43175
43157
  onClick: function () {
@@ -43195,19 +43177,29 @@ var CommandBarComponent = /** @class */ (function (_super) {
43195
43177
  {
43196
43178
  label: "Copy Selected",
43197
43179
  onClick: function () {
43198
- _this.props.globalState.workbench.copyToClipboard();
43180
+ _this.props.globalState.onCopyObservable.notifyObservers(function (content) { return _this.props.globalState.hostWindow.navigator.clipboard.writeText(content); });
43199
43181
  },
43200
43182
  },
43201
43183
  {
43202
43184
  label: "Paste",
43203
- onClick: function () {
43204
- _this.props.globalState.workbench.pasteFromClipboard();
43205
- }
43185
+ onClick: function () { return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(_this, void 0, void 0, function () {
43186
+ var _a, _b;
43187
+ return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__generator"])(this, function (_c) {
43188
+ switch (_c.label) {
43189
+ case 0:
43190
+ _b = (_a = this.props.globalState.onPasteObservable).notifyObservers;
43191
+ return [4 /*yield*/, this.props.globalState.hostWindow.navigator.clipboard.readText()];
43192
+ case 1:
43193
+ _b.apply(_a, [_c.sent()]);
43194
+ return [2 /*return*/];
43195
+ }
43196
+ });
43197
+ }); }
43206
43198
  },
43207
43199
  {
43208
43200
  label: "Delete Selected",
43209
43201
  onClick: function () {
43210
- _this.props.globalState.workbench.selectedGuiNodes.forEach(function (guiNode) {
43202
+ _this.props.globalState.selectedControls.forEach(function (guiNode) {
43211
43203
  var _a;
43212
43204
  if (guiNode !== _this.props.globalState.guiTexture.getChildren()[0]) {
43213
43205
  _this.props.globalState.guiTexture.removeControl(guiNode);
@@ -43215,7 +43207,7 @@ var CommandBarComponent = /** @class */ (function (_super) {
43215
43207
  guiNode.dispose();
43216
43208
  }
43217
43209
  });
43218
- _this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
43210
+ _this.props.globalState.setSelection([]);
43219
43211
  },
43220
43212
  },
43221
43213
  {
@@ -43231,28 +43223,26 @@ var CommandBarComponent = /** @class */ (function (_super) {
43231
43223
  },
43232
43224
  },
43233
43225
  ] }),
43234
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_3__["CommandButtonComponent"], { tooltip: "Select", icon: pointerIcon, shortcut: "S", isActive: this._selecting, onClick: function () {
43226
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_2__["CommandButtonComponent"], { tooltip: "Select", icon: pointerIcon, shortcut: "S", isActive: this._selecting, onClick: function () {
43235
43227
  if (!_this._selecting)
43236
43228
  _this.props.globalState.onSelectionButtonObservable.notifyObservers();
43237
43229
  } }),
43238
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_3__["CommandButtonComponent"], { tooltip: "Pan", icon: handIcon, shortcut: "P", isActive: this._panning, onClick: function () {
43230
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_2__["CommandButtonComponent"], { tooltip: "Pan", icon: handIcon, shortcut: "P", isActive: this._panning, onClick: function () {
43239
43231
  if (!_this._panning)
43240
43232
  _this.props.globalState.onPanObservable.notifyObservers();
43241
43233
  } }),
43242
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_3__["CommandButtonComponent"], { tooltip: "Zoom", shortcut: "Z", icon: zoomIcon, isActive: this._zooming, onClick: function () {
43234
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_2__["CommandButtonComponent"], { tooltip: "Zoom", shortcut: "Z", icon: zoomIcon, isActive: this._zooming, onClick: function () {
43243
43235
  if (!_this._zooming)
43244
43236
  _this.props.globalState.onZoomObservable.notifyObservers();
43245
43237
  } }),
43246
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_3__["CommandButtonComponent"], { tooltip: "Fit to Window", shortcut: "F", icon: canvasFitIcon, isActive: false, onClick: function () {
43238
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_2__["CommandButtonComponent"], { tooltip: "Fit to Window", shortcut: "F", icon: canvasFitIcon, isActive: false, onClick: function () {
43247
43239
  _this.props.globalState.onFitToWindowObservable.notifyObservers();
43248
43240
  } }),
43249
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_3__["CommandButtonComponent"], { tooltip: "Toggle Guides", shortcut: "G", icon: guidesIcon, isActive: this._outlines, onClick: function () {
43250
- _this.props.globalState.onOutlinesObservable.notifyObservers();
43251
- } })),
43252
- react__WEBPACK_IMPORTED_MODULE_2__["createElement"]("div", { className: "commands-right" })));
43241
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_2__["CommandButtonComponent"], { tooltip: "Toggle Guides", shortcut: "G", icon: guidesIcon, isActive: this.props.globalState.outlines, onClick: function () { return _this.props.globalState.outlines = !_this.props.globalState.outlines; } })),
43242
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "commands-right" })));
43253
43243
  };
43254
43244
  return CommandBarComponent;
43255
- }(react__WEBPACK_IMPORTED_MODULE_2__["Component"]));
43245
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
43256
43246
 
43257
43247
 
43258
43248
 
@@ -43559,10 +43549,10 @@ __webpack_require__.r(__webpack_exports__);
43559
43549
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
43560
43550
  /* harmony import */ var _gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../gui/commonControlPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/commonControlPropertyGridComponent.tsx");
43561
43551
  /* harmony import */ var _sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
43562
- /* harmony import */ var _sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
43563
- /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
43564
- /* harmony import */ var _commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../commandButtonComponent */ "./components/commandButtonComponent.tsx");
43565
- /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
43552
+ /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
43553
+ /* harmony import */ var _commandButtonComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../commandButtonComponent */ "./components/commandButtonComponent.tsx");
43554
+ /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
43555
+ /* harmony import */ var _containerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./containerPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/containerPropertyGridComponent.tsx");
43566
43556
 
43567
43557
 
43568
43558
 
@@ -43572,7 +43562,6 @@ __webpack_require__.r(__webpack_exports__);
43572
43562
 
43573
43563
 
43574
43564
  var conerRadiusIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/conerRadiusIcon.svg */ "./sharedUiComponents/imgs/conerRadiusIcon.svg");
43575
- var clipContentsIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/clipContentsIcon.svg */ "./sharedUiComponents/imgs/clipContentsIcon.svg");
43576
43565
  var strokeWeightIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/strokeWeightIcon.svg */ "./sharedUiComponents/imgs/strokeWeightIcon.svg");
43577
43566
  var addImageButtonIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/addImageButtonIcon.svg */ "./sharedUiComponents/imgs/addImageButtonIcon.svg");
43578
43567
  var addTextButtonIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/addTextButtonIcon.svg */ "./sharedUiComponents/imgs/addTextButtonIcon.svg");
@@ -43582,24 +43571,23 @@ var ButtonPropertyGridComponent = /** @class */ (function (_super) {
43582
43571
  return _super.call(this, props) || this;
43583
43572
  }
43584
43573
  ButtonPropertyGridComponent.prototype.render = function () {
43585
- var _this = this;
43586
- var rectangles = this.props.rectangles;
43574
+ var _a = this.props, rectangles = _a.rectangles, lockObject = _a.lockObject, onPropertyChangedObservable = _a.onPropertyChangedObservable, onAddComponent = _a.onAddComponent;
43587
43575
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "pane" },
43588
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: this.props.lockObject, controls: rectangles, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
43576
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: lockObject, controls: rectangles, onPropertyChangedObservable: onPropertyChangedObservable }),
43589
43577
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", null),
43590
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextLineComponent"], { label: "RECTANGLE", value: " ", color: "grey" }),
43591
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__["CheckBoxLineComponent"], { label: "CLIP CONTENT", iconLabel: "Clip Content", icon: clipContentsIcon, target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(rectangles, this.props.onPropertyChangedObservable), propertyName: "clipChildren", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
43578
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "RECTANGLE", value: " ", color: "grey" }),
43592
43579
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43593
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Stroke Weight", icon: strokeWeightIcon, lockObject: this.props.lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(rectangles, this.props.onPropertyChangedObservable), propertyName: "thickness", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
43594
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Corner Radius", icon: conerRadiusIcon, lockObject: this.props.lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_7__["makeTargetsProxy"])(rectangles, this.props.onPropertyChangedObservable), propertyName: "cornerRadius", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43580
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Stroke Weight", icon: strokeWeightIcon, lockObject: lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(rectangles, onPropertyChangedObservable), propertyName: "thickness", onPropertyChangedObservable: onPropertyChangedObservable }),
43581
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Corner Radius", icon: conerRadiusIcon, lockObject: lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(rectangles, onPropertyChangedObservable), propertyName: "cornerRadius", onPropertyChangedObservable: onPropertyChangedObservable })),
43582
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_containerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_7__["ContainerPropertyGridComponent"], { containers: rectangles, onPropertyChangedObservable: onPropertyChangedObservable }),
43595
43583
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", null),
43596
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextLineComponent"], { label: "BUTTON", value: " ", color: "grey" }),
43584
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "BUTTON", value: " ", color: "grey" }),
43597
43585
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43598
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__["CommandButtonComponent"], { tooltip: "Add TextBlock", icon: addTextButtonIcon, shortcut: "", isActive: false, onClick: function () {
43599
- _this.props.onAddComponent("Text");
43586
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_5__["CommandButtonComponent"], { tooltip: "Add TextBlock", icon: addTextButtonIcon, shortcut: "", isActive: false, onClick: function () {
43587
+ onAddComponent("Text");
43600
43588
  } }),
43601
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_6__["CommandButtonComponent"], { tooltip: "Add Image", icon: addImageButtonIcon, shortcut: "", isActive: false, onClick: function () {
43602
- _this.props.onAddComponent("ButtonImage");
43589
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_5__["CommandButtonComponent"], { tooltip: "Add Image", icon: addImageButtonIcon, shortcut: "", isActive: false, onClick: function () {
43590
+ onAddComponent("ButtonImage");
43603
43591
  } }))));
43604
43592
  };
43605
43593
  return ButtonPropertyGridComponent;
@@ -43724,6 +43712,13 @@ __webpack_require__.r(__webpack_exports__);
43724
43712
  /* harmony import */ var _sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/colorLineComponent */ "./sharedUiComponents/lines/colorLineComponent.tsx");
43725
43713
  /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
43726
43714
  /* harmony import */ var _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../diagram/coordinateHelper */ "./diagram/coordinateHelper.tsx");
43715
+ /* harmony import */ var _babylonjs_core_Maths_math__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babylonjs/core/Maths/math */ "@babylonjs/core/Misc/observable");
43716
+ /* harmony import */ var _babylonjs_core_Maths_math__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Maths_math__WEBPACK_IMPORTED_MODULE_12__);
43717
+ /* harmony import */ var _sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/iconComponent */ "./sharedUiComponents/lines/iconComponent.tsx");
43718
+ /* harmony import */ var _sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/optionsLineComponent */ "./sharedUiComponents/lines/optionsLineComponent.tsx");
43719
+
43720
+
43721
+
43727
43722
 
43728
43723
 
43729
43724
 
@@ -43745,7 +43740,9 @@ var fontFamilyIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs
43745
43740
  var alphaIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/alphaIcon.svg */ "./sharedUiComponents/imgs/alphaIcon.svg");
43746
43741
  var fontSizeIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/fontSizeIcon.svg */ "./sharedUiComponents/imgs/fontSizeIcon.svg");
43747
43742
  var fontStyleIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/fontStyleIcon.svg */ "./sharedUiComponents/imgs/fontStyleIcon.svg");
43743
+ var fontWeightIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/fontWeightIcon.svg */ "./sharedUiComponents/imgs/fontWeightIcon.svg");
43748
43744
  var rotationIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/rotationIcon.svg */ "./sharedUiComponents/imgs/rotationIcon.svg");
43745
+ var pivotIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/pivotIcon.svg */ "./sharedUiComponents/imgs/pivotIcon.svg");
43749
43746
  var scaleIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/scaleIcon.svg */ "./sharedUiComponents/imgs/scaleIcon.svg");
43750
43747
  var shadowBlurIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/shadowBlurIcon.svg */ "./sharedUiComponents/imgs/shadowBlurIcon.svg");
43751
43748
  var horizontalMarginIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/horizontalMarginIcon.svg */ "./sharedUiComponents/imgs/horizontalMarginIcon.svg");
@@ -43764,8 +43761,42 @@ var descendantsOnlyPaddingIcon = __webpack_require__(/*! ../../../../sharedUiCom
43764
43761
  var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
43765
43762
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(CommonControlPropertyGridComponent, _super);
43766
43763
  function CommonControlPropertyGridComponent(props) {
43767
- return _super.call(this, props) || this;
43764
+ var _a;
43765
+ var _this = _super.call(this, props) || this;
43766
+ var controls = _this.props.controls;
43767
+ for (var _i = 0, controls_1 = controls; _i < controls_1.length; _i++) {
43768
+ var control = controls_1[_i];
43769
+ var transformed = _this._getTransformedReferenceCoordinate(control);
43770
+ if (!control.metadata) {
43771
+ control.metadata = {};
43772
+ }
43773
+ control.metadata._previousCenter = transformed;
43774
+ }
43775
+ _this._onPropertyChangedObserver = (_a = _this.props.onPropertyChangedObservable) === null || _a === void 0 ? void 0 : _a.add(function (event) {
43776
+ var isTransformEvent = event.property === "transformCenterX" || event.property === "transformCenterY";
43777
+ for (var _i = 0, controls_2 = controls; _i < controls_2.length; _i++) {
43778
+ var control = controls_2[_i];
43779
+ var transformed = _this._getTransformedReferenceCoordinate(control);
43780
+ if (isTransformEvent && control.metadata._previousCenter) {
43781
+ // Calculate the difference between current center and previous center
43782
+ var diff = transformed.subtract(control.metadata._previousCenter);
43783
+ control.leftInPixels -= diff.x;
43784
+ control.topInPixels -= diff.y;
43785
+ // Update center in reference to left and top positions
43786
+ transformed = _this._getTransformedReferenceCoordinate(control);
43787
+ }
43788
+ control.metadata._previousCenter = transformed;
43789
+ }
43790
+ _this.forceUpdate();
43791
+ });
43792
+ return _this;
43768
43793
  }
43794
+ CommonControlPropertyGridComponent.prototype._getTransformedReferenceCoordinate = function (control) {
43795
+ var nodeMatrix = _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_11__["CoordinateHelper"].getNodeMatrix(control);
43796
+ var transformed = new _babylonjs_core_Maths_math__WEBPACK_IMPORTED_MODULE_12__["Vector2"](1, 1);
43797
+ nodeMatrix.transformCoordinates(1, 1, transformed);
43798
+ return transformed;
43799
+ };
43769
43800
  CommonControlPropertyGridComponent.prototype._updateAlignment = function (alignment, value) {
43770
43801
  for (var _i = 0, _a = this.props.controls; _i < _a.length; _i++) {
43771
43802
  var control = _a[_i];
@@ -43815,14 +43846,20 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
43815
43846
  });
43816
43847
  }
43817
43848
  };
43849
+ CommonControlPropertyGridComponent.prototype.componentWillUnmount = function () {
43850
+ var _a;
43851
+ if (this._onPropertyChangedObserver) {
43852
+ (_a = this.props.onPropertyChangedObservable) === null || _a === void 0 ? void 0 : _a.remove(this._onPropertyChangedObserver);
43853
+ }
43854
+ };
43818
43855
  CommonControlPropertyGridComponent.prototype.render = function () {
43819
43856
  var _this = this;
43820
43857
  var controls = this.props.controls;
43821
43858
  var firstControl = controls[0];
43822
43859
  var horizontalAlignment = firstControl.horizontalAlignment;
43823
43860
  var verticalAlignment = firstControl.verticalAlignment;
43824
- for (var _i = 0, controls_1 = controls; _i < controls_1.length; _i++) {
43825
- var control = controls_1[_i];
43861
+ for (var _i = 0, controls_3 = controls; _i < controls_3.length; _i++) {
43862
+ var control = controls_3[_i];
43826
43863
  if (control.horizontalAlignment !== horizontalAlignment) {
43827
43864
  horizontalAlignment = _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["Control"].HORIZONTAL_ALIGNMENT_CENTER;
43828
43865
  }
@@ -43870,9 +43907,32 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
43870
43907
  return _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_10__["conflictingValuesPlaceholder"];
43871
43908
  }
43872
43909
  };
43910
+ var increment = function (propertyName, amount, minimum, maximum) {
43911
+ var _a;
43912
+ for (var _i = 0, controls_4 = controls; _i < controls_4.length; _i++) {
43913
+ var control = controls_4[_i];
43914
+ var initialValue = control[propertyName];
43915
+ var initialUnit = control["_" + propertyName]._unit;
43916
+ var newValue = control["".concat(propertyName, "InPixels")] + amount;
43917
+ if (minimum !== undefined && newValue < minimum)
43918
+ newValue = minimum;
43919
+ if (maximum !== undefined && newValue > maximum)
43920
+ newValue = maximum;
43921
+ control["".concat(propertyName, "InPixels")] = newValue;
43922
+ if (initialUnit === _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["ValueAndUnit"].UNITMODE_PERCENTAGE) {
43923
+ _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_11__["CoordinateHelper"].convertToPercentage(control, [propertyName]);
43924
+ }
43925
+ (_a = _this.props.onPropertyChangedObservable) === null || _a === void 0 ? void 0 : _a.notifyObservers({
43926
+ object: control,
43927
+ property: propertyName,
43928
+ initialValue: initialValue,
43929
+ value: control[propertyName]
43930
+ });
43931
+ }
43932
+ };
43873
43933
  var convertUnits = function (unit, property) {
43874
- for (var _i = 0, controls_2 = controls; _i < controls_2.length; _i++) {
43875
- var control = controls_2[_i];
43934
+ for (var _i = 0, controls_5 = controls; _i < controls_5.length; _i++) {
43935
+ var control = controls_5[_i];
43876
43936
  if (unit === "PX") {
43877
43937
  _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_11__["CoordinateHelper"].convertToPercentage(control, [property], _this.props.onPropertyChangedObservable);
43878
43938
  }
@@ -43882,6 +43942,11 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
43882
43942
  _this.forceUpdate();
43883
43943
  }
43884
43944
  };
43945
+ var fontStyleOptions = [
43946
+ { label: "regular", value: 0 },
43947
+ { label: "italic", value: 1 },
43948
+ { label: "oblique", value: 2 }
43949
+ ];
43885
43950
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
43886
43951
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider alignment-bar" },
43887
43952
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_commandButtonComponent__WEBPACK_IMPORTED_MODULE_7__["CommandButtonComponent"], { tooltip: "Left", icon: hAlignLeftIcon, shortcut: "", isActive: horizontalAlignment === _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["Control"].HORIZONTAL_ALIGNMENT_LEFT, onClick: function () {
@@ -43903,12 +43968,14 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
43903
43968
  _this._updateAlignment("verticalAlignment", _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["Control"].VERTICAL_ALIGNMENT_BOTTOM);
43904
43969
  } })),
43905
43970
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43906
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, iconLabel: "Position", icon: positionIcon, lockObject: this.props.lockObject, label: "X", delayInput: true, value: getValue("_left"), onChange: function (newValue) { return _this._checkAndUpdateValues("left", newValue); }, unit: getUnitString("_left"), onUnitClicked: function (unit) { return convertUnits(unit, "left"); } }),
43907
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "Y", delayInput: true, value: getValue("_top"), onChange: function (newValue) { return _this._checkAndUpdateValues("top", newValue); }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_top"), onUnitClicked: function (unit) { return convertUnits(unit, "top"); } })),
43971
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: positionIcon, label: "Position" }),
43972
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "X", delayInput: true, value: getValue("_left"), onChange: function (newValue) { return _this._checkAndUpdateValues("left", newValue); }, unit: getUnitString("_left"), onUnitClicked: function (unit) { return convertUnits(unit, "left"); }, arrows: true, arrowsIncrement: function (amount) { return increment("left", amount); } }),
43973
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "Y", delayInput: true, value: getValue("_top"), onChange: function (newValue) { return _this._checkAndUpdateValues("top", newValue); }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_top"), onUnitClicked: function (unit) { return convertUnits(unit, "top"); }, arrows: true, arrowsIncrement: function (amount) { return increment("top", amount); } })),
43908
43974
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43909
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, iconLabel: "Scale", icon: sizeIcon, lockObject: this.props.lockObject, label: "W", delayInput: true, value: getValue("_width"), onPropertyChangedObservable: this.props.onPropertyChangedObservable, onChange: function (newValue) {
43910
- for (var _i = 0, controls_3 = controls; _i < controls_3.length; _i++) {
43911
- var control = controls_3[_i];
43975
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: sizeIcon, label: "Size" }),
43976
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "W", delayInput: true, value: getValue("_width"), onPropertyChangedObservable: this.props.onPropertyChangedObservable, onChange: function (newValue) {
43977
+ for (var _i = 0, controls_6 = controls; _i < controls_6.length; _i++) {
43978
+ var control = controls_6[_i];
43912
43979
  if (control.typeName === "Image") {
43913
43980
  control.autoScale = false;
43914
43981
  }
@@ -43922,10 +43989,10 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
43922
43989
  }
43923
43990
  }
43924
43991
  _this._checkAndUpdateValues("width", newValue);
43925
- }, unit: getUnitString("_width"), onUnitClicked: function (unit) { return convertUnits(unit, "width"); } }),
43992
+ }, unit: getUnitString("_width"), onUnitClicked: function (unit) { return convertUnits(unit, "width"); }, arrows: true, arrowsIncrement: function (amount) { return increment("width", amount); } }),
43926
43993
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "H", delayInput: true, value: getValue("_height"), onPropertyChangedObservable: this.props.onPropertyChangedObservable, onChange: function (newValue) {
43927
- for (var _i = 0, controls_4 = controls; _i < controls_4.length; _i++) {
43928
- var control = controls_4[_i];
43994
+ for (var _i = 0, controls_7 = controls; _i < controls_7.length; _i++) {
43995
+ var control = controls_7[_i];
43929
43996
  if (control.typeName === "Image") {
43930
43997
  control.autoScale = false;
43931
43998
  }
@@ -43939,63 +44006,136 @@ var CommonControlPropertyGridComponent = /** @class */ (function (_super) {
43939
44006
  }
43940
44007
  }
43941
44008
  _this._checkAndUpdateValues("height", newValue);
43942
- }, unit: getUnitString("_height"), onUnitClicked: function (unit) { return convertUnits(unit, "height"); } })),
44009
+ }, unit: getUnitString("_height"), onUnitClicked: function (unit) { return convertUnits(unit, "height"); }, arrows: true, arrowsIncrement: function (amount) { return increment("height", amount); } })),
43943
44010
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43944
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, iconLabel: "Padding", icon: verticalMarginIcon, lockObject: this.props.lockObject, label: "T", delayInput: true, value: getValue("_paddingTop"), onChange: function (newValue) {
44011
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: verticalMarginIcon, label: "Vertical Padding" }),
44012
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "T", delayInput: true, value: getValue("_paddingTop"), onChange: function (newValue) {
43945
44013
  _this._checkAndUpdateValues("paddingTop", newValue);
43946
44014
  _this._markChildrenAsDirty();
43947
- }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_paddingTop"), onUnitClicked: function (unit) { return convertUnits(unit, "paddingTop"); } }),
44015
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_paddingTop"), onUnitClicked: function (unit) { return convertUnits(unit, "paddingTop"); }, arrows: true, arrowsIncrement: function (amount) { return increment("paddingTop", amount, 0); } }),
43948
44016
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "B", delayInput: true, value: getValue("_paddingBottom"), onChange: function (newValue) {
43949
44017
  _this._checkAndUpdateValues("paddingBottom", newValue);
43950
44018
  _this._markChildrenAsDirty();
43951
- }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_paddingBottom"), onUnitClicked: function (unit) { return convertUnits(unit, "paddingBottom"); } })),
44019
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_paddingBottom"), onUnitClicked: function (unit) { return convertUnits(unit, "paddingBottom"); }, arrows: true, arrowsIncrement: function (amount) { return increment("paddingBottom", amount, 0); } })),
43952
44020
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43953
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, iconLabel: "Horizontal Margins", icon: horizontalMarginIcon, lockObject: this.props.lockObject, label: "L", delayInput: true, value: getValue("_paddingLeft"), onChange: function (newValue) {
44021
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: horizontalMarginIcon, label: "Horizontal Padding" }),
44022
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "L", delayInput: true, value: getValue("_paddingLeft"), onChange: function (newValue) {
43954
44023
  _this._checkAndUpdateValues("paddingLeft", newValue);
43955
44024
  _this._markChildrenAsDirty();
43956
- }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_paddingLeft"), onUnitClicked: function (unit) { return convertUnits(unit, "paddingLeft"); } }),
44025
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_paddingLeft"), onUnitClicked: function (unit) { return convertUnits(unit, "paddingLeft"); }, arrows: true, arrowsIncrement: function (amount) { return increment("paddingLeft", amount); } }),
43957
44026
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { numbersOnly: true, lockObject: this.props.lockObject, label: "R", delayInput: true, value: getValue("_paddingRight"), onChange: function (newValue) {
43958
44027
  _this._checkAndUpdateValues("paddingRight", newValue);
43959
44028
  _this._markChildrenAsDirty();
43960
- }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_paddingRight"), onUnitClicked: function (unit) { return convertUnits(unit, "paddingRight"); } })),
43961
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_8__["CheckBoxLineComponent"], { iconLabel: "Padding does not affect the parameters of this control, only the descendants of this control.", icon: descendantsOnlyPaddingIcon, label: "PAD ONLY DESCENDENTS", target: proxy, propertyName: "descendentsOnlyPadding", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
44029
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_paddingRight"), onUnitClicked: function (unit) { return convertUnits(unit, "paddingRight"); }, arrows: true, arrowsIncrement: function (amount) { return increment("paddingRight", amount); } })),
44030
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44031
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: descendantsOnlyPaddingIcon, label: "Makes padding affect only the descendants of this control" }),
44032
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_8__["CheckBoxLineComponent"], { label: "ONLY PAD DESCENDANTS", target: proxy, propertyName: "descendentsOnlyPadding" })),
43962
44033
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", { className: "ge" }),
43963
44034
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__["TextLineComponent"], { tooltip: "", label: "TRANSFORMATION", value: " ", color: "grey" }),
43964
44035
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43965
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { iconLabel: "Transform Center", icon: positionIcon, lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "transformCenterX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
43966
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "transformCenterY", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
44036
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: scaleIcon, label: "Scale" }),
44037
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "scaleX", onPropertyChangedObservable: this.props.onPropertyChangedObservable, arrows: true, step: 0.0005, numbersOnly: true }),
44038
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "scaleY", onPropertyChangedObservable: this.props.onPropertyChangedObservable, arrows: true, step: 0.0005, numbersOnly: true })),
44039
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44040
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: pivotIcon, label: "Transform Center" }),
44041
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "transformCenterX", onPropertyChangedObservable: this.props.onPropertyChangedObservable, arrows: true, step: 0.0005, numbersOnly: true }),
44042
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "transformCenterY", onPropertyChangedObservable: this.props.onPropertyChangedObservable, arrows: true, step: 0.0005, numbersOnly: true })),
43967
44043
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43968
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { iconLabel: "Scale", icon: scaleIcon, lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "scaleX", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
43969
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "scaleY", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43970
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__["SliderLineComponent"], { iconLabel: "Rotation", lockObject: this.props.lockObject, icon: rotationIcon, label: "R", target: proxy, decimalCount: 2, propertyName: "rotation", minimum: 0, maximum: 2 * Math.PI, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
44044
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: rotationIcon, label: "Rotation" }),
44045
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__["SliderLineComponent"], { iconLabel: "Rotation", lockObject: this.props.lockObject, label: "R", target: proxy, decimalCount: 2, propertyName: "rotation", minimum: 0, maximum: 2 * Math.PI, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43971
44046
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", { className: "ge" }),
43972
44047
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__["TextLineComponent"], { tooltip: "", label: "APPEARANCE", value: " ", color: "grey" }),
43973
- controls.every(function (control) { return control.color !== undefined && control.typeName !== "Image" && control.typeName !== "ImageBasedSlider" && control.typeName !== "ColorPicker"; }) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_9__["ColorLineComponent"], { iconLabel: "Color", icon: colorIcon, lockObject: this.props.lockObject, label: "Outline Color", target: proxy, propertyName: "color", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43974
- controls.every(function (control) { return control.background !== undefined; }) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_9__["ColorLineComponent"], { iconLabel: "Background", icon: fillColorIcon, lockObject: this.props.lockObject, label: "Background Color", target: proxy, propertyName: "background", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43975
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__["SliderLineComponent"], { lockObject: this.props.lockObject, iconLabel: "Alpha", icon: alphaIcon, label: " ", target: proxy, propertyName: "alpha", minimum: 0, maximum: 1, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
43976
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_9__["ColorLineComponent"], { iconLabel: "Shadow Color", icon: shadowColorIcon, lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "shadowColor", onPropertyChangedObservable: this.props.onPropertyChangedObservable, disableAlpha: true }),
44048
+ controls.every(function (control) { return control.color !== undefined && control.typeName !== "Image" && control.typeName !== "ImageBasedSlider" && control.typeName !== "ColorPicker"; }) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44049
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: colorIcon, label: "Outline Color" }),
44050
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_9__["ColorLineComponent"], { lockObject: this.props.lockObject, label: "Outline Color", target: proxy, propertyName: "color" }))),
44051
+ controls.every(function (control) { return control.background !== undefined; }) &&
44052
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44053
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: fillColorIcon, label: "Background Color" }),
44054
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_9__["ColorLineComponent"], { lockObject: this.props.lockObject, label: "Background Color", target: proxy, propertyName: "background" })),
44055
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44056
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: alphaIcon, label: "Alpha" }),
44057
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_4__["SliderLineComponent"], { lockObject: this.props.lockObject, label: "A", target: proxy, propertyName: "alpha", minimum: 0, maximum: 1, step: 0.01, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
44058
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44059
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: shadowColorIcon, label: "Shadow Color" }),
44060
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_9__["ColorLineComponent"], { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "shadowColor", onPropertyChangedObservable: this.props.onPropertyChangedObservable, disableAlpha: true })),
43977
44061
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43978
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { iconLabel: "Shadow Offset X", icon: shadowOffsetXIcon, lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "shadowOffsetX", onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: "PX", unitLocked: true }),
43979
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { iconLabel: "Shadow Offset Y", icon: shadowOffsetYIcon, lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "shadowOffsetY", onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: "PX", unitLocked: true })),
44062
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: shadowOffsetXIcon, label: "Shadow Offset X" }),
44063
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "X", target: proxy, propertyName: "shadowOffsetX", onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: "PX", unitLocked: true }),
44064
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: shadowOffsetYIcon, label: "Shadow Offset Y" }),
44065
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "Y", target: proxy, propertyName: "shadowOffsetY", onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: "PX", unitLocked: true })),
43980
44066
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
43981
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { iconLabel: "Shadow Blur", icon: shadowBlurIcon, lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "shadowBlur", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
44067
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: shadowBlurIcon, label: "Shadow Blur" }),
44068
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { lockObject: this.props.lockObject, label: " ", target: proxy, propertyName: "shadowBlur", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43982
44069
  showTextProperties && react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
43983
44070
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", { className: "ge" }),
43984
44071
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_2__["TextLineComponent"], { tooltip: "", label: "FONT STYLE", value: " ", color: "grey" }),
43985
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider-single" },
43986
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { iconLabel: "Font Family", icon: fontFamilyIcon, lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "fontFamily", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43987
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider-single" },
43988
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { iconLabel: "Font Size", icon: fontSizeIcon, lockObject: this.props.lockObject, label: "", target: proxy, numbersOnly: true, propertyName: "fontSize", onChange: function (newValue) { return _this._checkAndUpdateValues("fontSize", newValue); }, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43989
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider-single" },
43990
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { iconLabel: "Font Weight", icon: shadowBlurIcon, lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "fontWeight", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
43991
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider-single" },
43992
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { iconLabel: "Font Style", icon: fontStyleIcon, lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "fontStyle", onPropertyChangedObservable: this.props.onPropertyChangedObservable })))));
44072
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44073
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: fontFamilyIcon, label: "Font Family" }),
44074
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "fontFamily", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
44075
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44076
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: fontWeightIcon, label: "Font Weight" }),
44077
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", target: proxy, propertyName: "fontWeight", onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
44078
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44079
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: fontStyleIcon, label: "Font Style" }),
44080
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_14__["OptionsLineComponent"], { label: "", target: proxy, propertyName: "fontStyle", options: fontStyleOptions, onSelect: function (newValue) {
44081
+ proxy.fontStyle = ["", "italic", "oblique"][newValue];
44082
+ }, extractValue: function () {
44083
+ switch (proxy.fontStyle) {
44084
+ case "italic":
44085
+ return 1;
44086
+ case "oblique":
44087
+ return 2;
44088
+ default:
44089
+ return 0;
44090
+ }
44091
+ } })),
44092
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44093
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_iconComponent__WEBPACK_IMPORTED_MODULE_13__["IconComponent"], { icon: fontSizeIcon, label: "Font Size" }),
44094
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextInputLineComponent"], { lockObject: this.props.lockObject, label: "", numbersOnly: true, value: getValue("_fontSize"), onChange: function (newValue) { return _this._checkAndUpdateValues("fontSize", newValue); }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: getUnitString("_fontSize"), onUnitClicked: function (unit) { return convertUnits(unit, "fontSize"); }, arrows: true, arrowsIncrement: function (amount) { return increment("fontSize", amount, 0); } })))));
43993
44095
  };
43994
44096
  return CommonControlPropertyGridComponent;
43995
44097
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
43996
44098
 
43997
44099
 
43998
44100
 
44101
+ /***/ }),
44102
+
44103
+ /***/ "./components/propertyTab/propertyGrids/gui/containerPropertyGridComponent.tsx":
44104
+ /*!*************************************************************************************!*\
44105
+ !*** ./components/propertyTab/propertyGrids/gui/containerPropertyGridComponent.tsx ***!
44106
+ \*************************************************************************************/
44107
+ /*! exports provided: ContainerPropertyGridComponent */
44108
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
44109
+
44110
+ "use strict";
44111
+ __webpack_require__.r(__webpack_exports__);
44112
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContainerPropertyGridComponent", function() { return ContainerPropertyGridComponent; });
44113
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
44114
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
44115
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
44116
+ /* harmony import */ var _sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
44117
+ /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
44118
+
44119
+
44120
+
44121
+
44122
+ var clipContentsIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/clipContentsIcon.svg */ "./sharedUiComponents/imgs/clipContentsIcon.svg");
44123
+ var ContainerPropertyGridComponent = /** @class */ (function (_super) {
44124
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ContainerPropertyGridComponent, _super);
44125
+ function ContainerPropertyGridComponent() {
44126
+ return _super !== null && _super.apply(this, arguments) || this;
44127
+ }
44128
+ ContainerPropertyGridComponent.prototype.render = function () {
44129
+ var containers = this.props.containers;
44130
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
44131
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_2__["CheckBoxLineComponent"], { label: "CLIP CONTENT", iconLabel: "Clip Content", icon: clipContentsIcon, target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_3__["makeTargetsProxy"])(containers, this.props.onPropertyChangedObservable), propertyName: "clipContent", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
44132
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_2__["CheckBoxLineComponent"], { label: "CLIP CHILDREN", iconLabel: "Clip Children", icon: clipContentsIcon, target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_3__["makeTargetsProxy"])(containers, this.props.onPropertyChangedObservable), propertyName: "clipChildren", onPropertyChangedObservable: this.props.onPropertyChangedObservable }));
44133
+ };
44134
+ return ContainerPropertyGridComponent;
44135
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
44136
+
44137
+
44138
+
43999
44139
  /***/ }),
44000
44140
 
44001
44141
  /***/ "./components/propertyTab/propertyGrids/gui/controlPropertyGridComponent.tsx":
@@ -44103,9 +44243,9 @@ __webpack_require__.r(__webpack_exports__);
44103
44243
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
44104
44244
  /* harmony import */ var _gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../gui/commonControlPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/commonControlPropertyGridComponent.tsx");
44105
44245
  /* harmony import */ var _sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
44106
- /* harmony import */ var _sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
44107
- /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
44108
- /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
44246
+ /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
44247
+ /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
44248
+ /* harmony import */ var _containerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./containerPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/containerPropertyGridComponent.tsx");
44109
44249
 
44110
44250
 
44111
44251
 
@@ -44113,7 +44253,6 @@ __webpack_require__.r(__webpack_exports__);
44113
44253
 
44114
44254
 
44115
44255
 
44116
- var clipContentsIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/clipContentsIcon.svg */ "./sharedUiComponents/imgs/clipContentsIcon.svg");
44117
44256
  var strokeWeightIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/strokeWeightIcon.svg */ "./sharedUiComponents/imgs/strokeWeightIcon.svg");
44118
44257
  var EllipsePropertyGridComponent = /** @class */ (function (_super) {
44119
44258
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(EllipsePropertyGridComponent, _super);
@@ -44121,14 +44260,14 @@ var EllipsePropertyGridComponent = /** @class */ (function (_super) {
44121
44260
  return _super.call(this, props) || this;
44122
44261
  }
44123
44262
  EllipsePropertyGridComponent.prototype.render = function () {
44124
- var ellipses = this.props.ellipses;
44263
+ var _a = this.props, ellipses = _a.ellipses, onPropertyChangedObservable = _a.onPropertyChangedObservable, lockObject = _a.lockObject;
44125
44264
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "pane" },
44126
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: this.props.lockObject, controls: ellipses, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
44265
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: lockObject, controls: ellipses, onPropertyChangedObservable: onPropertyChangedObservable }),
44127
44266
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", null),
44128
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextLineComponent"], { label: "ELLIPSE", value: " ", color: "grey" }),
44267
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "ELLIPSE", value: " ", color: "grey" }),
44129
44268
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44130
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Stroke Weight", icon: strokeWeightIcon, lockObject: this.props.lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(ellipses, this.props.onPropertyChangedObservable), propertyName: "thickness", onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: "PX", unitLocked: true })),
44131
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__["CheckBoxLineComponent"], { iconLabel: "Clip Content", icon: clipContentsIcon, label: "CLIP CONTENT", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(ellipses, this.props.onPropertyChangedObservable), propertyName: "clipChildren", onPropertyChangedObservable: this.props.onPropertyChangedObservable })));
44269
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Stroke Weight", icon: strokeWeightIcon, lockObject: lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_5__["makeTargetsProxy"])(ellipses, onPropertyChangedObservable), propertyName: "thickness", onPropertyChangedObservable: onPropertyChangedObservable, unit: "PX", unitLocked: true })),
44270
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_containerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_6__["ContainerPropertyGridComponent"], { containers: ellipses, onPropertyChangedObservable: onPropertyChangedObservable })));
44132
44271
  };
44133
44272
  return EllipsePropertyGridComponent;
44134
44273
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -44953,9 +45092,9 @@ __webpack_require__.r(__webpack_exports__);
44953
45092
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
44954
45093
  /* harmony import */ var _gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../gui/commonControlPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/commonControlPropertyGridComponent.tsx");
44955
45094
  /* harmony import */ var _sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
44956
- /* harmony import */ var _sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
44957
- /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
44958
- /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
45095
+ /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
45096
+ /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
45097
+ /* harmony import */ var _containerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./containerPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/containerPropertyGridComponent.tsx");
44959
45098
 
44960
45099
 
44961
45100
 
@@ -44964,7 +45103,6 @@ __webpack_require__.r(__webpack_exports__);
44964
45103
 
44965
45104
 
44966
45105
  var conerRadiusIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/conerRadiusIcon.svg */ "./sharedUiComponents/imgs/conerRadiusIcon.svg");
44967
- var clipContentsIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/clipContentsIcon.svg */ "./sharedUiComponents/imgs/clipContentsIcon.svg");
44968
45106
  var strokeWeightIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/strokeWeightIcon.svg */ "./sharedUiComponents/imgs/strokeWeightIcon.svg");
44969
45107
  var RectanglePropertyGridComponent = /** @class */ (function (_super) {
44970
45108
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(RectanglePropertyGridComponent, _super);
@@ -44972,16 +45110,16 @@ var RectanglePropertyGridComponent = /** @class */ (function (_super) {
44972
45110
  return _super.call(this, props) || this;
44973
45111
  }
44974
45112
  RectanglePropertyGridComponent.prototype.render = function () {
44975
- var rectangles = this.props.rectangles;
45113
+ var _a = this.props, rectangles = _a.rectangles, lockObject = _a.lockObject, onPropertyChangedObservable = _a.onPropertyChangedObservable;
44976
45114
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "pane" },
44977
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: this.props.lockObject, controls: rectangles, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
45115
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: lockObject, controls: rectangles, onPropertyChangedObservable: onPropertyChangedObservable }),
44978
45116
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", null),
44979
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_5__["TextLineComponent"], { label: "RECTANGLE", value: " ", color: "grey" }),
45117
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "RECTANGLE", value: " ", color: "grey" }),
44980
45118
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44981
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Stroke Weight", icon: strokeWeightIcon, lockObject: this.props.lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(rectangles, this.props.onPropertyChangedObservable), propertyName: "thickness", onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: "PX", unitLocked: true })),
45119
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Stroke Weight", icon: strokeWeightIcon, lockObject: this.props.lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_5__["makeTargetsProxy"])(rectangles, onPropertyChangedObservable), propertyName: "thickness", onPropertyChangedObservable: onPropertyChangedObservable, unit: "PX", unitLocked: true })),
44982
45120
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
44983
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Corner Radius", icon: conerRadiusIcon, lockObject: this.props.lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(rectangles, this.props.onPropertyChangedObservable), propertyName: "cornerRadius", onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: "PX", unitLocked: true })),
44984
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_4__["CheckBoxLineComponent"], { iconLabel: "Clip Content", icon: clipContentsIcon, label: "CLIP CONTENT", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(rectangles, this.props.onPropertyChangedObservable), propertyName: "clipChildren", onPropertyChangedObservable: this.props.onPropertyChangedObservable })));
45121
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__["FloatLineComponent"], { iconLabel: "Corner Radius", icon: conerRadiusIcon, lockObject: lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_5__["makeTargetsProxy"])(rectangles, onPropertyChangedObservable), propertyName: "cornerRadius", onPropertyChangedObservable: onPropertyChangedObservable, unit: "PX", unitLocked: true })),
45122
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_containerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_6__["ContainerPropertyGridComponent"], { containers: rectangles, onPropertyChangedObservable: onPropertyChangedObservable })));
44985
45123
  };
44986
45124
  return RectanglePropertyGridComponent;
44987
45125
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -45171,6 +45309,8 @@ __webpack_require__.r(__webpack_exports__);
45171
45309
  /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
45172
45310
  /* harmony import */ var _sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
45173
45311
  /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
45312
+ /* harmony import */ var _containerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./containerPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/containerPropertyGridComponent.tsx");
45313
+
45174
45314
 
45175
45315
 
45176
45316
 
@@ -45179,21 +45319,20 @@ __webpack_require__.r(__webpack_exports__);
45179
45319
 
45180
45320
 
45181
45321
  var verticalMarginIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/verticalMarginIcon.svg */ "./sharedUiComponents/imgs/verticalMarginIcon.svg");
45182
- var clipContentsIcon = __webpack_require__(/*! ../../../../sharedUiComponents/imgs/clipContentsIcon.svg */ "./sharedUiComponents/imgs/clipContentsIcon.svg");
45183
45322
  var StackPanelPropertyGridComponent = /** @class */ (function (_super) {
45184
45323
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(StackPanelPropertyGridComponent, _super);
45185
45324
  function StackPanelPropertyGridComponent(props) {
45186
45325
  return _super.call(this, props) || this;
45187
45326
  }
45188
45327
  StackPanelPropertyGridComponent.prototype.render = function () {
45189
- var stackPanels = this.props.stackPanels;
45328
+ var _a = this.props, stackPanels = _a.stackPanels, lockObject = _a.lockObject, onPropertyChangedObservable = _a.onPropertyChangedObservable;
45190
45329
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "pane" },
45191
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: this.props.lockObject, controls: stackPanels, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
45330
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_gui_commonControlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_2__["CommonControlPropertyGridComponent"], { lockObject: lockObject, controls: stackPanels, onPropertyChangedObservable: onPropertyChangedObservable }),
45192
45331
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", null),
45193
45332
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { label: "STACKPANEL", value: " ", color: "grey" }),
45194
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { iconLabel: "Clip children", icon: clipContentsIcon, label: "CLIP CHILDREN", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(stackPanels, this.props.onPropertyChangedObservable), propertyName: "clipChildren", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
45195
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { iconLabel: "Vertical", icon: verticalMarginIcon, label: "VERTICAL", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(stackPanels, this.props.onPropertyChangedObservable), propertyName: "isVertical", onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
45196
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { lockObject: this.props.lockObject, label: "", icon: verticalMarginIcon, iconLabel: "spacing", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(stackPanels, this.props.onPropertyChangedObservable), propertyName: "spacing", defaultValue: 0, onPropertyChangedObservable: this.props.onPropertyChangedObservable, onChange: function () { return stackPanels.forEach(function (panel) { return panel._markAsDirty(); }); } })));
45333
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_containerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_7__["ContainerPropertyGridComponent"], { containers: stackPanels, onPropertyChangedObservable: onPropertyChangedObservable }),
45334
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { iconLabel: "Vertical", icon: verticalMarginIcon, label: "VERTICAL", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(stackPanels, onPropertyChangedObservable), propertyName: "isVertical", onPropertyChangedObservable: onPropertyChangedObservable }),
45335
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__["FloatLineComponent"], { lockObject: lockObject, label: "", icon: verticalMarginIcon, iconLabel: "spacing", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_6__["makeTargetsProxy"])(stackPanels, onPropertyChangedObservable), propertyName: "spacing", defaultValue: 0, onPropertyChangedObservable: onPropertyChangedObservable, onChange: function () { return stackPanels.forEach(function (panel) { return panel._markAsDirty(); }); } })));
45197
45336
  };
45198
45337
  return StackPanelPropertyGridComponent;
45199
45338
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -45313,43 +45452,38 @@ __webpack_require__.r(__webpack_exports__);
45313
45452
  /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
45314
45453
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
45315
45454
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
45316
- /* harmony import */ var _sharedUiComponents_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../sharedUiComponents/lines/buttonLineComponent */ "./sharedUiComponents/lines/buttonLineComponent.tsx");
45317
- /* harmony import */ var _sharedUiComponents_lines_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../sharedUiComponents/lines/fileButtonLineComponent */ "./sharedUiComponents/lines/fileButtonLineComponent.tsx");
45318
- /* harmony import */ var _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babylonjs/core/Misc/tools */ "@babylonjs/core/Misc/observable");
45319
- /* harmony import */ var _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__);
45320
- /* harmony import */ var _sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../sharedUiComponents/lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
45321
- /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
45322
- /* harmony import */ var _sharedUiComponents_stringTools__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../sharedUiComponents/stringTools */ "./sharedUiComponents/stringTools.ts");
45323
- /* harmony import */ var _sharedUiComponents_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../sharedUiComponents/tabs/propertyGrids/lockObject */ "./sharedUiComponents/tabs/propertyGrids/lockObject.ts");
45324
- /* harmony import */ var _propertyGrids_gui_sliderGenericPropertyGridComponent__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./propertyGrids/gui/sliderGenericPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/sliderGenericPropertyGridComponent.tsx");
45325
- /* harmony import */ var _propertyGrids_gui_linePropertyGridComponent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./propertyGrids/gui/linePropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/linePropertyGridComponent.tsx");
45326
- /* harmony import */ var _propertyGrids_gui_radioButtonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./propertyGrids/gui/radioButtonPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/radioButtonPropertyGridComponent.tsx");
45327
- /* harmony import */ var _propertyGrids_gui_textBlockPropertyGridComponent__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./propertyGrids/gui/textBlockPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/textBlockPropertyGridComponent.tsx");
45328
- /* harmony import */ var _propertyGrids_gui_inputTextPropertyGridComponent__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./propertyGrids/gui/inputTextPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/inputTextPropertyGridComponent.tsx");
45329
- /* harmony import */ var _propertyGrids_gui_colorPickerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./propertyGrids/gui/colorPickerPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/colorPickerPropertyGridComponent.tsx");
45330
- /* harmony import */ var _propertyGrids_gui_imagePropertyGridComponent__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./propertyGrids/gui/imagePropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/imagePropertyGridComponent.tsx");
45331
- /* harmony import */ var _propertyGrids_gui_imageBasedSliderPropertyGridComponent__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./propertyGrids/gui/imageBasedSliderPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/imageBasedSliderPropertyGridComponent.tsx");
45332
- /* harmony import */ var _propertyGrids_gui_rectanglePropertyGridComponent__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./propertyGrids/gui/rectanglePropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/rectanglePropertyGridComponent.tsx");
45333
- /* harmony import */ var _propertyGrids_gui_stackPanelPropertyGridComponent__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./propertyGrids/gui/stackPanelPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/stackPanelPropertyGridComponent.tsx");
45334
- /* harmony import */ var _propertyGrids_gui_gridPropertyGridComponent__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./propertyGrids/gui/gridPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/gridPropertyGridComponent.tsx");
45335
- /* harmony import */ var _propertyGrids_gui_scrollViewerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./propertyGrids/gui/scrollViewerPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/scrollViewerPropertyGridComponent.tsx");
45336
- /* harmony import */ var _propertyGrids_gui_ellipsePropertyGridComponent__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./propertyGrids/gui/ellipsePropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/ellipsePropertyGridComponent.tsx");
45337
- /* harmony import */ var _propertyGrids_gui_checkboxPropertyGridComponent__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./propertyGrids/gui/checkboxPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/checkboxPropertyGridComponent.tsx");
45338
- /* harmony import */ var _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/control */ "@babylonjs/gui/2D/controls/button");
45339
- /* harmony import */ var _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_23__);
45340
- /* harmony import */ var _propertyGrids_gui_controlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./propertyGrids/gui/controlPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/controlPropertyGridComponent.tsx");
45341
- /* harmony import */ var _sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../sharedUiComponents/lines/optionsLineComponent */ "./sharedUiComponents/lines/optionsLineComponent.tsx");
45342
- /* harmony import */ var _sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../sharedUiComponents/lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
45343
- /* harmony import */ var _sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../sharedUiComponents/lines/colorLineComponent */ "./sharedUiComponents/lines/colorLineComponent.tsx");
45344
- /* harmony import */ var _sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../sharedUiComponents/lines/textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
45345
- /* harmony import */ var _parentingPropertyGridComponent__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../parentingPropertyGridComponent */ "./components/parentingPropertyGridComponent.tsx");
45346
- /* harmony import */ var _propertyGrids_gui_displayGridPropertyGridComponent__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./propertyGrids/gui/displayGridPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/displayGridPropertyGridComponent.tsx");
45347
- /* harmony import */ var _propertyGrids_gui_buttonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./propertyGrids/gui/buttonPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/buttonPropertyGridComponent.tsx");
45348
- /* harmony import */ var _guiNodeTools__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../guiNodeTools */ "./guiNodeTools.ts");
45349
- /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
45350
-
45351
-
45352
-
45455
+ /* harmony import */ var _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babylonjs/core/Misc/tools */ "@babylonjs/core/Misc/observable");
45456
+ /* harmony import */ var _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__);
45457
+ /* harmony import */ var _sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../sharedUiComponents/lines/checkBoxLineComponent */ "./sharedUiComponents/lines/checkBoxLineComponent.tsx");
45458
+ /* harmony import */ var _sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../sharedUiComponents/lines/textLineComponent */ "./sharedUiComponents/lines/textLineComponent.tsx");
45459
+ /* harmony import */ var _sharedUiComponents_stringTools__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../sharedUiComponents/stringTools */ "./sharedUiComponents/stringTools.ts");
45460
+ /* harmony import */ var _sharedUiComponents_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../sharedUiComponents/tabs/propertyGrids/lockObject */ "./sharedUiComponents/tabs/propertyGrids/lockObject.ts");
45461
+ /* harmony import */ var _propertyGrids_gui_sliderGenericPropertyGridComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./propertyGrids/gui/sliderGenericPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/sliderGenericPropertyGridComponent.tsx");
45462
+ /* harmony import */ var _propertyGrids_gui_linePropertyGridComponent__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./propertyGrids/gui/linePropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/linePropertyGridComponent.tsx");
45463
+ /* harmony import */ var _propertyGrids_gui_radioButtonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./propertyGrids/gui/radioButtonPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/radioButtonPropertyGridComponent.tsx");
45464
+ /* harmony import */ var _propertyGrids_gui_textBlockPropertyGridComponent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./propertyGrids/gui/textBlockPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/textBlockPropertyGridComponent.tsx");
45465
+ /* harmony import */ var _propertyGrids_gui_inputTextPropertyGridComponent__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./propertyGrids/gui/inputTextPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/inputTextPropertyGridComponent.tsx");
45466
+ /* harmony import */ var _propertyGrids_gui_colorPickerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./propertyGrids/gui/colorPickerPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/colorPickerPropertyGridComponent.tsx");
45467
+ /* harmony import */ var _propertyGrids_gui_imagePropertyGridComponent__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./propertyGrids/gui/imagePropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/imagePropertyGridComponent.tsx");
45468
+ /* harmony import */ var _propertyGrids_gui_imageBasedSliderPropertyGridComponent__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./propertyGrids/gui/imageBasedSliderPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/imageBasedSliderPropertyGridComponent.tsx");
45469
+ /* harmony import */ var _propertyGrids_gui_rectanglePropertyGridComponent__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./propertyGrids/gui/rectanglePropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/rectanglePropertyGridComponent.tsx");
45470
+ /* harmony import */ var _propertyGrids_gui_stackPanelPropertyGridComponent__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./propertyGrids/gui/stackPanelPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/stackPanelPropertyGridComponent.tsx");
45471
+ /* harmony import */ var _propertyGrids_gui_gridPropertyGridComponent__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./propertyGrids/gui/gridPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/gridPropertyGridComponent.tsx");
45472
+ /* harmony import */ var _propertyGrids_gui_scrollViewerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./propertyGrids/gui/scrollViewerPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/scrollViewerPropertyGridComponent.tsx");
45473
+ /* harmony import */ var _propertyGrids_gui_ellipsePropertyGridComponent__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./propertyGrids/gui/ellipsePropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/ellipsePropertyGridComponent.tsx");
45474
+ /* harmony import */ var _propertyGrids_gui_checkboxPropertyGridComponent__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./propertyGrids/gui/checkboxPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/checkboxPropertyGridComponent.tsx");
45475
+ /* harmony import */ var _propertyGrids_gui_controlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./propertyGrids/gui/controlPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/controlPropertyGridComponent.tsx");
45476
+ /* harmony import */ var _babylonjs_gui_2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @babylonjs/gui/2D/advancedDynamicTexture */ "@babylonjs/gui/2D/controls/button");
45477
+ /* harmony import */ var _babylonjs_gui_2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_gui_2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_22__);
45478
+ /* harmony import */ var _sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../sharedUiComponents/lines/optionsLineComponent */ "./sharedUiComponents/lines/optionsLineComponent.tsx");
45479
+ /* harmony import */ var _sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../sharedUiComponents/lines/floatLineComponent */ "./sharedUiComponents/lines/floatLineComponent.tsx");
45480
+ /* harmony import */ var _sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../sharedUiComponents/lines/colorLineComponent */ "./sharedUiComponents/lines/colorLineComponent.tsx");
45481
+ /* harmony import */ var _sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../sharedUiComponents/lines/textInputLineComponent */ "./sharedUiComponents/lines/textInputLineComponent.tsx");
45482
+ /* harmony import */ var _parentingPropertyGridComponent__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../parentingPropertyGridComponent */ "./components/parentingPropertyGridComponent.tsx");
45483
+ /* harmony import */ var _propertyGrids_gui_displayGridPropertyGridComponent__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./propertyGrids/gui/displayGridPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/displayGridPropertyGridComponent.tsx");
45484
+ /* harmony import */ var _propertyGrids_gui_buttonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./propertyGrids/gui/buttonPropertyGridComponent */ "./components/propertyTab/propertyGrids/gui/buttonPropertyGridComponent.tsx");
45485
+ /* harmony import */ var _guiNodeTools__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../guiNodeTools */ "./guiNodeTools.ts");
45486
+ /* harmony import */ var _sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../sharedUiComponents/lines/targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
45353
45487
 
45354
45488
 
45355
45489
 
@@ -45413,11 +45547,11 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45413
45547
  _this.saveLocally = function () {
45414
45548
  try {
45415
45549
  var json = JSON.stringify(_this.props.globalState.guiTexture.serializeContent());
45416
- _sharedUiComponents_stringTools__WEBPACK_IMPORTED_MODULE_7__["StringTools"].DownloadAsFile(_this.props.globalState.hostDocument, json, "guiTexture.json");
45550
+ _sharedUiComponents_stringTools__WEBPACK_IMPORTED_MODULE_5__["StringTools"].DownloadAsFile(_this.props.globalState.hostDocument, json, "guiTexture.json");
45417
45551
  }
45418
45552
  catch (error) {
45419
45553
  _this.props.globalState.hostWindow.alert("Unable to save your GUI");
45420
- _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["Tools"].Error("Unable to save your GUI");
45554
+ _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["Tools"].Error("Unable to save your GUI");
45421
45555
  }
45422
45556
  };
45423
45557
  _this.saveToSnippetServerHelper = function (content, adt) {
@@ -45446,7 +45580,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45446
45580
  }
45447
45581
  }
45448
45582
  };
45449
- xmlHttp.open("POST", _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_23__["AdvancedDynamicTexture"].SnippetUrl + (adt.snippetId ? "/" + adt.snippetId : ""), true);
45583
+ xmlHttp.open("POST", _babylonjs_gui_2D_advancedDynamicTexture__WEBPACK_IMPORTED_MODULE_22__["AdvancedDynamicTexture"].SnippetUrl + (adt.snippetId ? "/" + adt.snippetId : ""), true);
45450
45584
  xmlHttp.setRequestHeader("Content-Type", "application/json");
45451
45585
  var dataToSend = {
45452
45586
  payload: JSON.stringify({
@@ -45493,8 +45627,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45493
45627
  return [2 /*return*/];
45494
45628
  });
45495
45629
  }); };
45496
- _this.state = { currentNode: null };
45497
- _this._lockObject = new _sharedUiComponents_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_8__["LockObject"]();
45630
+ _this._lockObject = new _sharedUiComponents_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_6__["LockObject"]();
45498
45631
  _this.props.globalState.lockObject = _this._lockObject;
45499
45632
  _this.props.globalState.onSaveObservable.add(function () {
45500
45633
  _this.save(_this.saveLocally);
@@ -45513,13 +45646,8 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45513
45646
  }
45514
45647
  PropertyTabComponent.prototype.componentDidMount = function () {
45515
45648
  var _this = this;
45516
- this.props.globalState.onSelectionChangedObservable.add(function (selection) {
45517
- if (selection instanceof _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_23__["Control"]) {
45518
- _this.setState({ currentNode: selection });
45519
- }
45520
- else {
45521
- _this.setState({ currentNode: null });
45522
- }
45649
+ this.props.globalState.onSelectionChangedObservable.add(function () {
45650
+ _this.forceUpdate();
45523
45651
  });
45524
45652
  this.props.globalState.onResizeObservable.add(function (newSize) {
45525
45653
  _this.forceUpdate();
@@ -45534,10 +45662,10 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45534
45662
  };
45535
45663
  PropertyTabComponent.prototype.load = function (file) {
45536
45664
  var _this = this;
45537
- _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["Tools"].ReadFile(file, function (data) {
45665
+ _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["Tools"].ReadFile(file, function (data) {
45538
45666
  var decoder = new TextDecoder("utf-8");
45539
45667
  _this.props.globalState.workbench.loadFromJson(JSON.parse(decoder.decode(data)));
45540
- _this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
45668
+ _this.props.globalState.setSelection([]);
45541
45669
  }, undefined, true);
45542
45670
  };
45543
45671
  PropertyTabComponent.prototype.save = function (saveCallback) {
@@ -45561,9 +45689,9 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45561
45689
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "header" },
45562
45690
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { id: "logo", src: this.renderControlIcon(nodes) }),
45563
45691
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "title" },
45564
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_28__["TextInputLineComponent"], { noUnderline: true, lockObject: this._lockObject, label: "", target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_33__["makeTargetsProxy"])(nodes, this.props.globalState.onPropertyChangedObservable), propertyName: "name", onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }))),
45692
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_26__["TextInputLineComponent"], { noUnderline: true, lockObject: this._lockObject, target: Object(_sharedUiComponents_lines_targetsProxy__WEBPACK_IMPORTED_MODULE_31__["makeTargetsProxy"])(nodes, this.props.globalState.onPropertyChangedObservable), propertyName: "name", onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }))),
45565
45693
  this.renderProperties(nodes),
45566
- ((_a = node === null || node === void 0 ? void 0 : node.parent) === null || _a === void 0 ? void 0 : _a.typeName) === "Grid" && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_parentingPropertyGridComponent__WEBPACK_IMPORTED_MODULE_29__["ParentingPropertyGridComponent"], { control: node, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable, lockObject: this._lockObject })));
45694
+ ((_a = node === null || node === void 0 ? void 0 : node.parent) === null || _a === void 0 ? void 0 : _a.typeName) === "Grid" && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_parentingPropertyGridComponent__WEBPACK_IMPORTED_MODULE_27__["ParentingPropertyGridComponent"], { control: node, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable, lockObject: this._lockObject })));
45567
45695
  };
45568
45696
  /**
45569
45697
  * returns the class name of a list of controls if they share a class, or an empty string if not
@@ -45589,78 +45717,78 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45589
45717
  switch (className) {
45590
45718
  case "TextBlock": {
45591
45719
  var textBlocks = nodes;
45592
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_textBlockPropertyGridComponent__WEBPACK_IMPORTED_MODULE_12__["TextBlockPropertyGridComponent"], { textBlocks: textBlocks, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45720
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_textBlockPropertyGridComponent__WEBPACK_IMPORTED_MODULE_10__["TextBlockPropertyGridComponent"], { textBlocks: textBlocks, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45593
45721
  }
45594
45722
  case "InputText": {
45595
45723
  var inputTexts = nodes;
45596
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_inputTextPropertyGridComponent__WEBPACK_IMPORTED_MODULE_13__["InputTextPropertyGridComponent"], { inputTexts: inputTexts, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45724
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_inputTextPropertyGridComponent__WEBPACK_IMPORTED_MODULE_11__["InputTextPropertyGridComponent"], { inputTexts: inputTexts, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45597
45725
  }
45598
45726
  case "ColorPicker": {
45599
45727
  var colorPickers = nodes;
45600
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_colorPickerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_14__["ColorPickerPropertyGridComponent"], { colorPickers: colorPickers, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45728
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_colorPickerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_12__["ColorPickerPropertyGridComponent"], { colorPickers: colorPickers, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45601
45729
  }
45602
45730
  case "Image": {
45603
45731
  var images = nodes;
45604
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_imagePropertyGridComponent__WEBPACK_IMPORTED_MODULE_15__["ImagePropertyGridComponent"], { images: images, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable });
45732
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_imagePropertyGridComponent__WEBPACK_IMPORTED_MODULE_13__["ImagePropertyGridComponent"], { images: images, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable });
45605
45733
  }
45606
45734
  case "Slider": {
45607
45735
  var sliders = nodes;
45608
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_sliderGenericPropertyGridComponent__WEBPACK_IMPORTED_MODULE_9__["SliderGenericPropertyGridComponent"], { sliders: sliders, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45736
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_sliderGenericPropertyGridComponent__WEBPACK_IMPORTED_MODULE_7__["SliderGenericPropertyGridComponent"], { sliders: sliders, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45609
45737
  }
45610
45738
  case "ImageBasedSlider": {
45611
45739
  var imageBasedSliders = nodes;
45612
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_imageBasedSliderPropertyGridComponent__WEBPACK_IMPORTED_MODULE_16__["ImageBasedSliderPropertyGridComponent"], { imageBasedSliders: imageBasedSliders, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45740
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_imageBasedSliderPropertyGridComponent__WEBPACK_IMPORTED_MODULE_14__["ImageBasedSliderPropertyGridComponent"], { imageBasedSliders: imageBasedSliders, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45613
45741
  }
45614
45742
  case "Rectangle": {
45615
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_rectanglePropertyGridComponent__WEBPACK_IMPORTED_MODULE_17__["RectanglePropertyGridComponent"], { rectangles: nodes, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45743
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_rectanglePropertyGridComponent__WEBPACK_IMPORTED_MODULE_15__["RectanglePropertyGridComponent"], { rectangles: nodes, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45616
45744
  }
45617
45745
  case "StackPanel": {
45618
45746
  var stackPanels = nodes;
45619
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_stackPanelPropertyGridComponent__WEBPACK_IMPORTED_MODULE_18__["StackPanelPropertyGridComponent"], { stackPanels: stackPanels, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45747
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_stackPanelPropertyGridComponent__WEBPACK_IMPORTED_MODULE_16__["StackPanelPropertyGridComponent"], { stackPanels: stackPanels, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45620
45748
  }
45621
45749
  case "Grid": {
45622
45750
  var grids = nodes;
45623
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_gridPropertyGridComponent__WEBPACK_IMPORTED_MODULE_19__["GridPropertyGridComponent"], { grids: grids, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable });
45751
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_gridPropertyGridComponent__WEBPACK_IMPORTED_MODULE_17__["GridPropertyGridComponent"], { grids: grids, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable });
45624
45752
  }
45625
45753
  case "ScrollViewer": {
45626
45754
  var scrollViewers = nodes;
45627
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_scrollViewerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_20__["ScrollViewerPropertyGridComponent"], { scrollViewers: scrollViewers, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45755
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_scrollViewerPropertyGridComponent__WEBPACK_IMPORTED_MODULE_18__["ScrollViewerPropertyGridComponent"], { scrollViewers: scrollViewers, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45628
45756
  }
45629
45757
  case "Ellipse": {
45630
45758
  var ellipses = nodes;
45631
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_ellipsePropertyGridComponent__WEBPACK_IMPORTED_MODULE_21__["EllipsePropertyGridComponent"], { ellipses: ellipses, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45759
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_ellipsePropertyGridComponent__WEBPACK_IMPORTED_MODULE_19__["EllipsePropertyGridComponent"], { ellipses: ellipses, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45632
45760
  }
45633
45761
  case "Checkbox": {
45634
45762
  var checkboxes = nodes;
45635
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_checkboxPropertyGridComponent__WEBPACK_IMPORTED_MODULE_22__["CheckboxPropertyGridComponent"], { checkboxes: checkboxes, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45763
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_checkboxPropertyGridComponent__WEBPACK_IMPORTED_MODULE_20__["CheckboxPropertyGridComponent"], { checkboxes: checkboxes, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45636
45764
  }
45637
45765
  case "RadioButton": {
45638
45766
  var radioButtons = nodes;
45639
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_radioButtonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_11__["RadioButtonPropertyGridComponent"], { radioButtons: radioButtons, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45767
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_radioButtonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_9__["RadioButtonPropertyGridComponent"], { radioButtons: radioButtons, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45640
45768
  }
45641
45769
  case "Line": {
45642
45770
  var lines = nodes;
45643
- return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_linePropertyGridComponent__WEBPACK_IMPORTED_MODULE_10__["LinePropertyGridComponent"], { lines: lines, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable });
45771
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_linePropertyGridComponent__WEBPACK_IMPORTED_MODULE_8__["LinePropertyGridComponent"], { lines: lines, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable });
45644
45772
  }
45645
45773
  case "DisplayGrid": {
45646
45774
  var displayGrids = nodes;
45647
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_displayGridPropertyGridComponent__WEBPACK_IMPORTED_MODULE_30__["DisplayGridPropertyGridComponent"], { displayGrids: displayGrids, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45775
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_displayGridPropertyGridComponent__WEBPACK_IMPORTED_MODULE_28__["DisplayGridPropertyGridComponent"], { displayGrids: displayGrids, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45648
45776
  }
45649
45777
  case "Button": {
45650
45778
  var buttons_1 = nodes;
45651
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_buttonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_31__["ButtonPropertyGridComponent"], { key: "buttonMenu", rectangles: buttons_1, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable, onAddComponent: function (value) {
45779
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_buttonPropertyGridComponent__WEBPACK_IMPORTED_MODULE_29__["ButtonPropertyGridComponent"], { key: "buttonMenu", rectangles: buttons_1, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable, onAddComponent: function (value) {
45652
45780
  for (var _i = 0, buttons_2 = buttons_1; _i < buttons_2.length; _i++) {
45653
45781
  var button = buttons_2[_i];
45654
- var guiElement = _guiNodeTools__WEBPACK_IMPORTED_MODULE_32__["GUINodeTools"].CreateControlFromString(value);
45782
+ var guiElement = _guiNodeTools__WEBPACK_IMPORTED_MODULE_30__["GUINodeTools"].CreateControlFromString(value);
45655
45783
  var newGuiNode = _this.props.globalState.workbench.createNewGuiNode(guiElement);
45656
45784
  button.addControl(newGuiNode);
45657
- _this.props.globalState.onSelectionChangedObservable.notifyObservers(newGuiNode);
45785
+ _this.props.globalState.select(newGuiNode);
45658
45786
  }
45659
45787
  } }));
45660
45788
  }
45661
45789
  }
45662
45790
  var controls = nodes;
45663
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_controlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_24__["ControlPropertyGridComponent"], { controls: controls, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45791
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_propertyGrids_gui_controlPropertyGridComponent__WEBPACK_IMPORTED_MODULE_21__["ControlPropertyGridComponent"], { controls: controls, lockObject: this._lockObject, onPropertyChangedObservable: this.props.globalState.onPropertyChangedObservable }));
45664
45792
  };
45665
45793
  PropertyTabComponent.prototype.renderControlIcon = function (nodes) {
45666
45794
  var node = nodes[0];
@@ -45759,23 +45887,20 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45759
45887
  this._sizeOption = _sizeValues.findIndex(function (value) { return value.width == size.width && value.height == size.height; });
45760
45888
  if (this._sizeOption < 0) {
45761
45889
  this.props.globalState.onResponsiveChangeObservable.notifyObservers(false);
45762
- _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["DataStorage"].WriteBoolean("Responsive", false);
45890
+ _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["DataStorage"].WriteBoolean("Responsive", false);
45763
45891
  }
45764
- if (this.state.currentNode && this.props.globalState.workbench.selectedGuiNodes.length > 0) {
45765
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "ge-propertyTab" }, this.renderNode(this.props.globalState.workbench.selectedGuiNodes)));
45892
+ if (this.props.globalState.selectedControls.length > 0) {
45893
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "ge-propertyTab" }, this.renderNode(this.props.globalState.selectedControls)));
45766
45894
  }
45767
45895
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "ge-propertyTab" },
45768
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "header" },
45769
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { id: "logo", src: adtIcon }),
45770
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "title" }, "AdvancedDynamicTexture")),
45771
45896
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null,
45772
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextLineComponent"], { tooltip: "", label: "ART BOARD", value: " ", color: "grey" }),
45773
- this.props.globalState.workbench._scene !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_27__["ColorLineComponent"], { iconLabel: "Background Color", lockObject: this._lockObject, icon: artboardColorIcon, label: "", target: this.props.globalState, propertyName: "backgroundColor", disableAlpha: true })),
45897
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { tooltip: "", label: "ART BOARD", value: " ", color: "grey" }),
45898
+ this.props.globalState.workbench._scene !== undefined && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_colorLineComponent__WEBPACK_IMPORTED_MODULE_25__["ColorLineComponent"], { iconLabel: "Background Color", lockObject: this._lockObject, icon: artboardColorIcon, label: "", target: this.props.globalState, propertyName: "backgroundColor", disableAlpha: true })),
45774
45899
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", { className: "ge" }),
45775
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextLineComponent"], { tooltip: "", label: "CANVAS", value: " ", color: "grey" }),
45776
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__["CheckBoxLineComponent"], { label: "RESPONSIVE", iconLabel: "A responsive layout for the AdvancedDynamicTexture will resize the UI layout and reflow controls to accommodate different device screen sizes", icon: responsiveIcon, isSelected: function () { return _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["DataStorage"].ReadBoolean("Responsive", true); }, onSelect: function (value) {
45900
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_4__["TextLineComponent"], { tooltip: "", label: "CANVAS", value: " ", color: "grey" }),
45901
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__["CheckBoxLineComponent"], { label: "RESPONSIVE", iconLabel: "A responsive layout for the AdvancedDynamicTexture will resize the UI layout and reflow controls to accommodate different device screen sizes", icon: responsiveIcon, isSelected: function () { return _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["DataStorage"].ReadBoolean("Responsive", true); }, onSelect: function (value) {
45777
45902
  _this.props.globalState.onResponsiveChangeObservable.notifyObservers(value);
45778
- _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["DataStorage"].WriteBoolean("Responsive", value);
45903
+ _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["DataStorage"].WriteBoolean("Responsive", value);
45779
45904
  _this._sizeOption = _sizeOptions.length;
45780
45905
  if (value) {
45781
45906
  _this._sizeOption = 0;
@@ -45783,7 +45908,7 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45783
45908
  }
45784
45909
  _this.forceUpdate();
45785
45910
  } }),
45786
- _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["DataStorage"].ReadBoolean("Responsive", true) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_25__["OptionsLineComponent"], { label: "", iconLabel: "Size", options: _sizeOptions, icon: canvasSizeIcon, target: this, propertyName: "_sizeOption", noDirectUpdate: true, onSelect: function (value) {
45911
+ _babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["DataStorage"].ReadBoolean("Responsive", true) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_23__["OptionsLineComponent"], { label: "", iconLabel: "Size", options: _sizeOptions, icon: canvasSizeIcon, target: this, propertyName: "_sizeOption", noDirectUpdate: true, onSelect: function (value) {
45787
45912
  _this._sizeOption = value;
45788
45913
  if (_this._sizeOption !== _sizeOptions.length) {
45789
45914
  var newSize = _sizeValues[_this._sizeOption];
@@ -45791,30 +45916,18 @@ var PropertyTabComponent = /** @class */ (function (_super) {
45791
45916
  }
45792
45917
  _this.forceUpdate();
45793
45918
  } })),
45794
- !_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_4__["DataStorage"].ReadBoolean("Responsive", true) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
45795
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_26__["FloatLineComponent"], { icon: canvasSizeIcon, iconLabel: "Canvas Size", label: "W", target: size, propertyName: "width", isInteger: true, min: 1, max: MAX_TEXTURE_SIZE, onChange: function (newvalue) {
45919
+ !_babylonjs_core_Misc_tools__WEBPACK_IMPORTED_MODULE_2__["DataStorage"].ReadBoolean("Responsive", true) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "ge-divider" },
45920
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_24__["FloatLineComponent"], { icon: canvasSizeIcon, iconLabel: "Canvas Size", label: "W", target: size, propertyName: "width", isInteger: true, min: 1, max: MAX_TEXTURE_SIZE, onChange: function (newvalue) {
45796
45921
  if (!isNaN(newvalue)) {
45797
45922
  _this.props.globalState.workbench.guiSize = { width: newvalue, height: size.height };
45798
45923
  }
45799
45924
  } }),
45800
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_26__["FloatLineComponent"], { icon: canvasSizeIcon, label: "H", target: size, propertyName: "height", isInteger: true, min: 1, max: MAX_TEXTURE_SIZE, onChange: function (newvalue) {
45925
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_24__["FloatLineComponent"], { icon: canvasSizeIcon, label: "H", target: size, propertyName: "height", isInteger: true, min: 1, max: MAX_TEXTURE_SIZE, onChange: function (newvalue) {
45801
45926
  if (!isNaN(newvalue)) {
45802
45927
  _this.props.globalState.workbench.guiSize = { width: size.width, height: newvalue };
45803
45928
  }
45804
45929
  } }))),
45805
45930
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", { className: "ge" }),
45806
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextLineComponent"], { tooltip: "", label: "FILE", value: " ", color: "grey" }),
45807
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_3__["FileButtonLineComponent"], { label: "Load", onClick: function (file) { return _this.load(file); }, accept: ".json" }),
45808
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Save", onClick: function () {
45809
- _this.props.globalState.onSaveObservable.notifyObservers();
45810
- } }),
45811
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", { className: "ge" }),
45812
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_6__["TextLineComponent"], { tooltip: "", label: "SNIPPET", value: " ", color: "grey" }),
45813
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Load from snippet server", onClick: function () { return _this.loadFromSnippet(); } }),
45814
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedUiComponents_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_2__["ButtonLineComponent"], { label: "Save to snippet server", onClick: function () {
45815
- _this.props.globalState.onSnippetSaveObservable.notifyObservers();
45816
- } }),
45817
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("hr", { className: "ge" }),
45818
45931
  this.renderNode([this.props.globalState.workbench.trueRootContainer]))));
45819
45932
  };
45820
45933
  return PropertyTabComponent;
@@ -45842,6 +45955,8 @@ __webpack_require__.r(__webpack_exports__);
45842
45955
  /* harmony import */ var _globalState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../globalState */ "./globalState.ts");
45843
45956
  /* harmony import */ var _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babylonjs/gui/2D/controls/container */ "@babylonjs/gui/2D/controls/button");
45844
45957
  /* harmony import */ var _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_5__);
45958
+ /* harmony import */ var _controlTypes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../controlTypes */ "./controlTypes.ts");
45959
+
45845
45960
 
45846
45961
 
45847
45962
 
@@ -45883,9 +45998,12 @@ var ControlTreeItemComponent = /** @class */ (function (_super) {
45883
45998
  bracket = control.parent.getChildCellInfo(this.props.control);
45884
45999
  }
45885
46000
  var draggingSelf = this.props.globalState.draggedControl === control;
46001
+ var controlType = _controlTypes__WEBPACK_IMPORTED_MODULE_6__["ControlTypes"].find(function (type) { return type.className === control.getClassName(); });
45886
46002
  return (react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "controlTools" },
46003
+ controlType && react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "controlType icon" },
46004
+ react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("img", { src: controlType.icon, alt: controlType.className })),
45887
46005
  react__WEBPACK_IMPORTED_MODULE_3__["createElement"](_treeItemLabelComponent__WEBPACK_IMPORTED_MODULE_1__["TreeItemLabelComponent"], { label: control.name, bracket: bracket, onClick: function () { return _this.props.onClick(); }, onChange: function (name) { return _this.onRename(name); }, setRenaming: function (renaming) { return _this.setState({ isRenaming: renaming }); }, renaming: this.state.isRenaming }),
45888
- !draggingSelf && this.props.dragOverHover && this.props.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].CENTER && control instanceof _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_5__["Container"] && (react__WEBPACK_IMPORTED_MODULE_3__["createElement"](react__WEBPACK_IMPORTED_MODULE_3__["Fragment"], null,
46006
+ !draggingSelf && this.props.isDragOver && this.props.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].CENTER && control instanceof _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_5__["Container"] && (react__WEBPACK_IMPORTED_MODULE_3__["createElement"](react__WEBPACK_IMPORTED_MODULE_3__["Fragment"], null,
45889
46007
  react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "makeChild icon", onClick: function () { return _this.highlight(); }, title: "Make Child" },
45890
46008
  react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("img", { src: makeChildOfContainerIcon })))),
45891
46009
  !this.state.isRenaming && this.props.isHovered && this.props.globalState.draggedControl === null && this.props.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].NONE && (react__WEBPACK_IMPORTED_MODULE_3__["createElement"](react__WEBPACK_IMPORTED_MODULE_3__["Fragment"], null,
@@ -46101,14 +46219,14 @@ var SceneExplorerComponent = /** @class */ (function (_super) {
46101
46219
  data.found = true;
46102
46220
  if (!goNext) {
46103
46221
  if (data.previousOne) {
46104
- this.props.globalState.onSelectionChangedObservable.notifyObservers(data.previousOne);
46222
+ this.props.globalState.select(data.previousOne);
46105
46223
  }
46106
46224
  return true;
46107
46225
  }
46108
46226
  }
46109
46227
  else {
46110
46228
  if (data.found) {
46111
- this.props.globalState.onSelectionChangedObservable.notifyObservers(item);
46229
+ this.props.globalState.select(item);
46112
46230
  return true;
46113
46231
  }
46114
46232
  data.previousOne = item;
@@ -46122,9 +46240,7 @@ var SceneExplorerComponent = /** @class */ (function (_super) {
46122
46240
  return false;
46123
46241
  };
46124
46242
  SceneExplorerComponent.prototype.processKeys = function (keyEvent) {
46125
- if (!this.state.selectedEntity) {
46126
- return;
46127
- }
46243
+ var _this = this;
46128
46244
  // if typing inside a text box, don't process keys
46129
46245
  if (keyEvent.target.localName === "input")
46130
46246
  return;
@@ -46141,39 +46257,49 @@ var SceneExplorerComponent = /** @class */ (function (_super) {
46141
46257
  break;
46142
46258
  case "Enter":
46143
46259
  case "ArrowRight":
46144
- var reservedDataStore = this.state.selectedEntity.reservedDataStore;
46145
- if (reservedDataStore && reservedDataStore.setExpandedState) {
46146
- reservedDataStore.setExpandedState(true);
46147
- }
46260
+ this.props.globalState.selectedControls.forEach(function (node) {
46261
+ var reservedDataStore = node.reservedDataStore;
46262
+ if (reservedDataStore && reservedDataStore.setExpandedState) {
46263
+ reservedDataStore.setExpandedState(true);
46264
+ }
46265
+ });
46148
46266
  keyEvent.preventDefault();
46267
+ this.forceUpdate();
46149
46268
  return;
46150
46269
  case "ArrowLeft":
46151
- var reservedDataStore = this.state.selectedEntity.reservedDataStore;
46152
- if (reservedDataStore && reservedDataStore.setExpandedState) {
46153
- reservedDataStore.setExpandedState(false);
46154
- }
46270
+ this.props.globalState.selectedControls.forEach(function (node) {
46271
+ var reservedDataStore = node.reservedDataStore;
46272
+ console.log(reservedDataStore);
46273
+ if (reservedDataStore && reservedDataStore.setExpandedState) {
46274
+ reservedDataStore.setExpandedState(false);
46275
+ }
46276
+ });
46155
46277
  keyEvent.preventDefault();
46278
+ this.forceUpdate();
46156
46279
  return;
46157
- break;
46158
46280
  case "Delete":
46159
46281
  case "Backspace":
46160
46282
  if (this.state.selectedEntity !== this.props.globalState.guiTexture.getChildren()[0]) {
46161
46283
  this.state.selectedEntity.dispose();
46162
- this.forceUpdate();
46284
+ this.props.globalState.selectedControls.forEach(function (node) {
46285
+ if (node !== _this.props.globalState.guiTexture.getChildren()[0]) {
46286
+ node.dispose();
46287
+ }
46288
+ _this.forceUpdate();
46289
+ });
46163
46290
  }
46164
46291
  break;
46165
- default:
46166
- break;
46167
46292
  }
46168
46293
  if (!search) {
46169
46294
  return;
46170
46295
  }
46171
46296
  keyEvent.preventDefault();
46172
46297
  if (scene) {
46298
+ var selectedEntity = this.props.globalState.selectedControls[this.props.globalState.selectedControls.length - 1];
46173
46299
  var data = {};
46174
- if (!this.findSiblings(null, scene.rootNodes, this.state.selectedEntity, goNext, data)) {
46175
- if (!this.findSiblings(null, scene.materials, this.state.selectedEntity, goNext, data)) {
46176
- this.findSiblings(null, scene.textures, this.state.selectedEntity, goNext, data);
46300
+ if (!this.findSiblings(null, scene.rootNodes, selectedEntity, goNext, data)) {
46301
+ if (!this.findSiblings(null, scene.materials, selectedEntity, goNext, data)) {
46302
+ this.findSiblings(null, scene.textures, selectedEntity, goNext, data);
46177
46303
  }
46178
46304
  }
46179
46305
  }
@@ -46186,17 +46312,18 @@ var SceneExplorerComponent = /** @class */ (function (_super) {
46186
46312
  }
46187
46313
  var guiElements = scene.textures.filter(function (t) { return t.getClassName() === "AdvancedDynamicTexture"; });
46188
46314
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "tree", onDrop: function (event) {
46315
+ _this.props.globalState.onDropObservable.notifyObservers();
46189
46316
  _this.props.globalState.onParentingChangeObservable.notifyObservers(null);
46190
46317
  }, onDragOver: function (event) {
46191
46318
  event.preventDefault();
46192
46319
  }, onClick: function (event) {
46193
46320
  if (!_this.props.globalState.selectionLock) {
46194
- _this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
46321
+ _this.props.globalState.setSelection([]);
46195
46322
  }
46196
46323
  else {
46197
46324
  _this.props.globalState.selectionLock = false;
46198
46325
  }
46199
- }, onContextMenu: function (ev) { return ev.preventDefault(); } }, guiElements && guiElements.length > 0 && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_treeItemComponent__WEBPACK_IMPORTED_MODULE_2__["TreeItemComponent"], { globalState: this.props.globalState, extensibilityGroups: this.props.extensibilityGroups, selectedEntity: this.state.selectedEntity, items: guiElements, label: "GUI", offset: 1, filter: this.state.filter }))));
46326
+ }, onContextMenu: function (ev) { return ev.preventDefault(); } }, guiElements && guiElements.length > 0 && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_treeItemComponent__WEBPACK_IMPORTED_MODULE_2__["TreeItemComponent"], { globalState: this.props.globalState, extensibilityGroups: this.props.extensibilityGroups, selectedEntities: this.props.globalState.selectedControls, items: guiElements, label: "GUI", offset: 1, filter: this.state.filter }))));
46200
46327
  };
46201
46328
  SceneExplorerComponent.prototype.onClose = function () {
46202
46329
  if (!this.props.onClose) {
@@ -46212,7 +46339,9 @@ var SceneExplorerComponent = /** @class */ (function (_super) {
46212
46339
  };
46213
46340
  SceneExplorerComponent.prototype.render = function () {
46214
46341
  var _this = this;
46215
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "ge-sceneExplorer", tabIndex: 0, onKeyDown: function (keyEvent) { return _this.processKeys(keyEvent); } }, this.renderContent()));
46342
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "ge-sceneExplorer", tabIndex: 0, onKeyDown: function (keyEvent) { return _this.processKeys(keyEvent); } },
46343
+ this.props.children,
46344
+ this.renderContent()));
46216
46345
  };
46217
46346
  return SceneExplorerComponent;
46218
46347
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
@@ -46297,13 +46426,11 @@ var TreeItemComponent = /** @class */ (function (_super) {
46297
46426
  }
46298
46427
  var items = nextProps.items;
46299
46428
  if (items && items.length) {
46300
- if (nextProps.selectedEntity) {
46301
- for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
46302
- var item = items_1[_i];
46303
- if (_tools__WEBPACK_IMPORTED_MODULE_5__["Tools"].LookForItem(item, nextProps.selectedEntity)) {
46304
- nextState.isExpanded = true;
46305
- return true;
46306
- }
46429
+ for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
46430
+ var item = items_1[_i];
46431
+ if (_tools__WEBPACK_IMPORTED_MODULE_5__["Tools"].LookForItems(item, nextProps.selectedEntities)) {
46432
+ nextState.isExpanded = true;
46433
+ return true;
46307
46434
  }
46308
46435
  }
46309
46436
  }
@@ -46350,7 +46477,7 @@ var TreeItemComponent = /** @class */ (function (_super) {
46350
46477
  }
46351
46478
  var sortedItems = _tools__WEBPACK_IMPORTED_MODULE_5__["Tools"].SortAndFilter(null, items)[0].getChildren();
46352
46479
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", null, sortedItems.map(function (item) {
46353
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_treeItemSelectableComponent__WEBPACK_IMPORTED_MODULE_4__["TreeItemSelectableComponent"], { extensibilityGroups: _this.props.extensibilityGroups, key: item.uniqueId !== undefined && item.uniqueId !== null ? item.uniqueId : item.name, offset: _this.props.offset + 1, selectedEntity: _this.props.selectedEntity, entity: item, globalState: _this.props.globalState, filter: _this.props.filter }));
46480
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_treeItemSelectableComponent__WEBPACK_IMPORTED_MODULE_4__["TreeItemSelectableComponent"], { extensibilityGroups: _this.props.extensibilityGroups, key: item.uniqueId !== undefined && item.uniqueId !== null ? item.uniqueId : item.name, offset: _this.props.offset + 1, selectedEntities: _this.props.selectedEntities, entity: item, globalState: _this.props.globalState, filter: _this.props.filter }));
46354
46481
  })));
46355
46482
  };
46356
46483
  TreeItemComponent._ContextMenuUniqueIdGenerator = 0;
@@ -46453,9 +46580,15 @@ var TreeItemSelectableComponent = /** @class */ (function (_super) {
46453
46580
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(TreeItemSelectableComponent, _super);
46454
46581
  function TreeItemSelectableComponent(props) {
46455
46582
  var _this = _super.call(this, props) || this;
46456
- _this.state = { dragOverLocation: _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].NONE, isHovered: false, isSelected: _this.props.entity === _this.props.selectedEntity };
46457
- _this._onSelectionChangedObservable = props.globalState.onSelectionChangedObservable.add(function (selection) {
46458
- _this.setState({ isSelected: selection === _this.props.entity });
46583
+ /** flag flipped onDragEnter if dragOver is already true
46584
+ * prevents dragLeave from immediately setting dragOver to false
46585
+ * required to make dragging work as expected
46586
+ * see: see: https://github.com/transformation-dev/matrx/tree/master/packages/dragster
46587
+ */
46588
+ _this._secondDragEnter = false;
46589
+ _this.state = { dragOver: false, dragOverLocation: _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].NONE, isHovered: false, isSelected: _this.props.selectedEntities.includes(_this.props.entity) };
46590
+ _this._onSelectionChangedObservable = props.globalState.onSelectionChangedObservable.add(function () {
46591
+ _this.setState({ isSelected: _this.props.globalState.selectedControls.includes(_this.props.entity) });
46459
46592
  });
46460
46593
  _this._onDraggingEndObservable = props.globalState.onDraggingEndObservable.add(function () {
46461
46594
  _this.setState({ dragOverLocation: _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].NONE });
@@ -46466,21 +46599,19 @@ var TreeItemSelectableComponent = /** @class */ (function (_super) {
46466
46599
  return _this;
46467
46600
  }
46468
46601
  TreeItemSelectableComponent.prototype.switchExpandedState = function () {
46469
- this.props.entity.reservedDataStore.isExpanded = !this.props.entity.reservedDataStore.isExpanded;
46602
+ this.props.entity.reservedDataStore.setExpandedState(!this.props.entity.reservedDataStore.isExpanded);
46470
46603
  };
46471
46604
  TreeItemSelectableComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
46472
46605
  //if the next entity is going to be selected then we want to highlight it so update
46473
- if (nextProps.entity === nextProps.selectedEntity) {
46606
+ if (nextProps.selectedEntities.includes(nextProps.entity)) {
46474
46607
  nextState.isSelected = true;
46475
46608
  return true;
46476
46609
  }
46477
46610
  else {
46478
46611
  nextState.isSelected = false;
46479
46612
  }
46480
- if (nextProps.selectedEntity) {
46481
- if (_tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].LookForItem(nextProps.entity, nextProps.selectedEntity)) {
46482
- return true;
46483
- }
46613
+ if (_tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].LookForItems(nextProps.entity, nextProps.selectedEntities)) {
46614
+ return true;
46484
46615
  }
46485
46616
  return true;
46486
46617
  };
@@ -46496,11 +46627,8 @@ var TreeItemSelectableComponent = /** @class */ (function (_super) {
46496
46627
  this.props.globalState.onParentingChangeObservable.remove(this._onDraggingStartObservable);
46497
46628
  };
46498
46629
  TreeItemSelectableComponent.prototype.onSelect = function () {
46499
- if (!this.props.globalState.onSelectionChangedObservable) {
46500
- return;
46501
- }
46502
46630
  var entity = this.props.entity;
46503
- this.props.globalState.onSelectionChangedObservable.notifyObservers(entity);
46631
+ this.props.globalState.select(entity);
46504
46632
  this.props.globalState.selectionLock = true;
46505
46633
  };
46506
46634
  TreeItemSelectableComponent.prototype.renderChildren = function (isExpanded, offset) {
@@ -46518,12 +46646,14 @@ var TreeItemSelectableComponent = /** @class */ (function (_super) {
46518
46646
  if (item.name == "Art-Board-Background") {
46519
46647
  return null;
46520
46648
  }
46521
- return (react__WEBPACK_IMPORTED_MODULE_3__["createElement"](TreeItemSelectableComponent, { globalState: _this.props.globalState, mustExpand: _this.props.mustExpand, extensibilityGroups: _this.props.extensibilityGroups, selectedEntity: _this.props.selectedEntity, key: i, offset: _this.props.offset + (offset ? 2 : 0), entity: item, filter: _this.props.filter }));
46649
+ return (react__WEBPACK_IMPORTED_MODULE_3__["createElement"](TreeItemSelectableComponent, { globalState: _this.props.globalState, mustExpand: _this.props.mustExpand, extensibilityGroups: _this.props.extensibilityGroups, selectedEntities: _this.props.selectedEntities, key: i, offset: _this.props.offset + (offset ? 2 : 0), entity: item, filter: _this.props.filter }));
46522
46650
  });
46523
46651
  };
46524
46652
  TreeItemSelectableComponent.prototype.render = function () {
46525
46653
  var _this = this;
46526
- if (this.props.entity === this.props.globalState.workbench.trueRootContainer || this.props.entity === this.props.globalState.workbench.visibleRegionContainer || this.props.entity === this.props.globalState.workbench.panAndZoomContainer) {
46654
+ if (this.props.entity === this.props.globalState.workbench.trueRootContainer ||
46655
+ this.props.entity === this.props.globalState.workbench.visibleRegionContainer ||
46656
+ this.props.entity === this.props.globalState.workbench.panAndZoomContainer) {
46527
46657
  return this.renderChildren(true, false);
46528
46658
  }
46529
46659
  var marginStyle = {
@@ -46531,10 +46661,12 @@ var TreeItemSelectableComponent = /** @class */ (function (_super) {
46531
46661
  };
46532
46662
  var entity = this.props.entity;
46533
46663
  if (!entity.reservedDataStore) {
46534
- entity.reservedDataStore = {};
46535
- entity.reservedDataStore.isExpanded = true;
46664
+ entity.reservedDataStore = {
46665
+ isExpanded: true,
46666
+ setExpandedState: function (expanded) { return entity.reservedDataStore.isExpanded = expanded; }
46667
+ };
46536
46668
  }
46537
- var isExpanded = entity.reservedDataStore.isExpanded || _tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].LookForItem(this.props.entity, this.props.selectedEntity);
46669
+ var isExpanded = entity.reservedDataStore.isExpanded || _tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].LookForItems(this.props.entity, this.props.selectedEntities);
46538
46670
  entity.reservedDataStore.isExpanded = isExpanded;
46539
46671
  var chevron = isExpanded ? react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("img", { src: expandedIcon, className: "icon" }) : react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("img", { src: collapsedIcon, className: "icon" });
46540
46672
  var children = entity.getClassName() === "MultiMaterial" ? [] : _tools__WEBPACK_IMPORTED_MODULE_1__["Tools"].SortAndFilter(entity, entity.getChildren ? entity.getChildren() : entity.children);
@@ -46557,43 +46689,60 @@ var TreeItemSelectableComponent = /** @class */ (function (_super) {
46557
46689
  var className = "itemContainer"; //setting class name plus whatever extras based on states
46558
46690
  className += this.state.isSelected && this.props.globalState.draggedControl === null ? " selected" : "";
46559
46691
  className += this.state.isHovered && this.props.globalState.draggedControl === null ? " hover" : "";
46560
- className += this.dragOverHover && this.state.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].CENTER && entity instanceof _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_6__["Container"] ? " parent" : "";
46692
+ className += this.state.dragOver && this.state.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].CENTER && entity instanceof _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_6__["Container"] ? " parent" : "";
46561
46693
  className += this.props.globalState.draggedControl === this.props.entity ? " dragged" : "";
46562
46694
  className +=
46563
- this.dragOverHover && this.state.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].ABOVE && this.props.globalState.draggedControl != null && entity.parent ? " seAbove" : "";
46695
+ this.state.dragOver && this.state.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].ABOVE && entity.parent ? " seAbove" : "";
46564
46696
  className +=
46565
- this.dragOverHover && this.state.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].BELOW && this.props.globalState.draggedControl != null && entity.parent ? " seBelow" : "";
46697
+ this.state.dragOver && this.state.dragOverLocation == _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].BELOW && entity.parent ? " seBelow" : "";
46566
46698
  return (react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", null,
46567
- react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: className, style: marginStyle, draggable: entity.parent ? true : false, onMouseOver: function () { return _this.setState({ isHovered: true }); }, onMouseLeave: function () { return _this.setState({ isHovered: false }); }, onClick: function () {
46699
+ react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: className, style: marginStyle, onPointerUp: function () {
46568
46700
  _this.onSelect();
46569
- }, onDragStart: function (event) {
46570
- _this.props.globalState.draggedControl = entity;
46701
+ }, onPointerEnter: function () { return _this.setState({ isHovered: true }); }, onPointerLeave: function () { return _this.setState({ isHovered: false }); }, onDragStart: function () {
46702
+ _this.props.globalState.draggedControl = _this.props.entity;
46571
46703
  _this.props.globalState.onDraggingStartObservable.notifyObservers();
46572
- }, onDrop: function (event) {
46573
- _this.drop();
46574
- }, onDragEnd: function (event) {
46704
+ }, onDragEnd: function () {
46575
46705
  _this.props.globalState.onDraggingEndObservable.notifyObservers();
46576
- }, onDragOver: function (event) {
46706
+ }, draggable: entity.parent ? true : false, onDrop: function (event) {
46707
+ _this.drop();
46708
+ event.preventDefault();
46709
+ }, onDragEnter: function (event) {
46710
+ event.preventDefault();
46577
46711
  _this.dragOver(event);
46578
- }, onDragLeave: function (event) {
46579
- _this.dragOverHover = false;
46580
- _this.forceUpdate();
46712
+ }, onDragOver: function (event) { return _this.updateDragOverLocation(event); }, onDragLeave: function () {
46713
+ // don't immediately set dragOver to false
46714
+ if (_this._secondDragEnter) {
46715
+ _this._secondDragEnter = false;
46716
+ }
46717
+ else {
46718
+ _this.setState({ dragOver: false });
46719
+ }
46581
46720
  } },
46582
46721
  hasChildren && (react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "arrow icon", onClick: function () { return _this.switchExpandedState(); } }, chevron)),
46583
- react__WEBPACK_IMPORTED_MODULE_3__["createElement"](_entities_gui_controlTreeItemComponent__WEBPACK_IMPORTED_MODULE_5__["ControlTreeItemComponent"], { globalState: this.props.globalState, extensibilityGroups: this.props.extensibilityGroups, control: entity, onClick: function () { }, isHovered: this.state.isHovered, dragOverHover: this.dragOverHover, dragOverLocation: this.state.dragOverLocation })),
46722
+ react__WEBPACK_IMPORTED_MODULE_3__["createElement"](_entities_gui_controlTreeItemComponent__WEBPACK_IMPORTED_MODULE_5__["ControlTreeItemComponent"], { globalState: this.props.globalState, extensibilityGroups: this.props.extensibilityGroups, control: entity, onClick: function () { }, isHovered: this.state.isHovered, isDragOver: this.state.dragOver, dragOverLocation: this.state.dragOverLocation })),
46584
46723
  this.renderChildren(isExpanded)));
46585
46724
  };
46586
46725
  TreeItemSelectableComponent.prototype.dragOver = function (event) {
46587
- //check the positiions of the mouse cursor.
46726
+ this.updateDragOverLocation(event);
46727
+ // if we've already hovered the element, record a new drag event
46728
+ if (this.state.dragOver) {
46729
+ this._secondDragEnter = true;
46730
+ }
46731
+ else {
46732
+ this.setState({ dragOver: true });
46733
+ }
46734
+ };
46735
+ TreeItemSelectableComponent.prototype.updateDragOverLocation = function (event) {
46736
+ //check the positions of the mouse cursor.
46588
46737
  var target = event.target;
46589
46738
  var rect = target.getBoundingClientRect();
46590
46739
  var y = event.clientY - rect.top;
46591
46740
  if (this.props.entity instanceof _babylonjs_gui_2D_controls_container__WEBPACK_IMPORTED_MODULE_6__["Container"]) {
46592
- if (y < CONTROL_HEIGHT / 3) {
46593
- //split in thirds
46741
+ if (y < CONTROL_HEIGHT / 5) {
46742
+ //split in fifths
46594
46743
  this.setState({ dragOverLocation: _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].ABOVE });
46595
46744
  }
46596
- else if (y > (2 * CONTROL_HEIGHT) / 3) {
46745
+ else if (y > (4 * CONTROL_HEIGHT) / 5) {
46597
46746
  this.setState({ dragOverLocation: _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].BELOW });
46598
46747
  }
46599
46748
  else {
@@ -46609,25 +46758,129 @@ var TreeItemSelectableComponent = /** @class */ (function (_super) {
46609
46758
  this.setState({ dragOverLocation: _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].BELOW });
46610
46759
  }
46611
46760
  }
46612
- event.preventDefault();
46613
- this.dragOverHover = true;
46614
- this.forceUpdate();
46615
46761
  };
46616
46762
  TreeItemSelectableComponent.prototype.drop = function () {
46763
+ this.props.globalState.onDropObservable.notifyObservers();
46617
46764
  var control = this.props.entity;
46618
46765
  if (this.props.globalState.draggedControl != control) {
46619
- this.dragOverHover = false;
46620
46766
  this.props.globalState.draggedControlDirection = this.state.dragOverLocation;
46621
46767
  this.props.globalState.onParentingChangeObservable.notifyObservers(this.props.entity);
46622
46768
  }
46623
46769
  this.props.globalState.draggedControl = null;
46624
- this.setState({ dragOverLocation: _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].NONE });
46770
+ this.setState({ dragOverLocation: _globalState__WEBPACK_IMPORTED_MODULE_4__["DragOverLocation"].NONE, dragOver: false });
46771
+ this._secondDragEnter = false;
46625
46772
  };
46626
46773
  return TreeItemSelectableComponent;
46627
46774
  }(react__WEBPACK_IMPORTED_MODULE_3__["Component"]));
46628
46775
 
46629
46776
 
46630
46777
 
46778
+ /***/ }),
46779
+
46780
+ /***/ "./controlTypes.ts":
46781
+ /*!*************************!*\
46782
+ !*** ./controlTypes.ts ***!
46783
+ \*************************/
46784
+ /*! exports provided: ControlTypes */
46785
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
46786
+
46787
+ "use strict";
46788
+ __webpack_require__.r(__webpack_exports__);
46789
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ControlTypes", function() { return ControlTypes; });
46790
+ var rectangleIcon = __webpack_require__(/*! ../public/imgs/rectangleIcon.svg */ "../public/imgs/rectangleIcon.svg");
46791
+ var ellipseIcon = __webpack_require__(/*! ../public/imgs/ellipseIcon.svg */ "../public/imgs/ellipseIcon.svg");
46792
+ var gridIcon = __webpack_require__(/*! ../public/imgs/gridIcon.svg */ "../public/imgs/gridIcon.svg");
46793
+ var stackPanelIcon = __webpack_require__(/*! ../public/imgs/stackPanelIcon.svg */ "../public/imgs/stackPanelIcon.svg");
46794
+ var textBoxIcon = __webpack_require__(/*! ../public/imgs/textBoxIcon.svg */ "../public/imgs/textBoxIcon.svg");
46795
+ var sliderIcon = __webpack_require__(/*! ../public/imgs/sliderIcon.svg */ "../public/imgs/sliderIcon.svg");
46796
+ var imageBasedSliderIcon = __webpack_require__(/*! ../public/imgs/imageSliderIcon.svg */ "../public/imgs/imageSliderIcon.svg");
46797
+ var buttonIcon = __webpack_require__(/*! ../public/imgs/buttonIcon.svg */ "../public/imgs/buttonIcon.svg");
46798
+ var passwordFieldIcon = __webpack_require__(/*! ../public/imgs/passwordFieldIcon.svg */ "../public/imgs/passwordFieldIcon.svg");
46799
+ var checkboxIcon = __webpack_require__(/*! ../public/imgs/checkboxIcon.svg */ "../public/imgs/checkboxIcon.svg");
46800
+ var imageIcon = __webpack_require__(/*! ../public/imgs/imageIcon.svg */ "../public/imgs/imageIcon.svg");
46801
+ var keyboardIcon = __webpack_require__(/*! ../public/imgs/keyboardIcon.svg */ "../public/imgs/keyboardIcon.svg");
46802
+ var inputFieldIcon = __webpack_require__(/*! ../public/imgs/inputFieldIcon.svg */ "../public/imgs/inputFieldIcon.svg");
46803
+ var lineIcon = __webpack_require__(/*! ../public/imgs/lineIcon.svg */ "../public/imgs/lineIcon.svg");
46804
+ var displaygridIcon = __webpack_require__(/*! ../public/imgs/displaygridIcon.svg */ "../public/imgs/displaygridIcon.svg");
46805
+ var colorPickerIcon = __webpack_require__(/*! ../public/imgs/colorPickerIcon.svg */ "../public/imgs/colorPickerIcon.svg");
46806
+ var scrollbarIcon = __webpack_require__(/*! ../public/imgs/scrollbarIcon.svg */ "../public/imgs/scrollbarIcon.svg");
46807
+ var radioButtonIcon = __webpack_require__(/*! ../public/imgs/radioButtonIcon.svg */ "../public/imgs/radioButtonIcon.svg");
46808
+ var ControlTypes = [
46809
+ {
46810
+ className: "Rectangle",
46811
+ icon: rectangleIcon,
46812
+ },
46813
+ {
46814
+ className: "Ellipse",
46815
+ icon: ellipseIcon,
46816
+ },
46817
+ {
46818
+ className: "StackPanel",
46819
+ icon: stackPanelIcon,
46820
+ },
46821
+ {
46822
+ className: "Grid",
46823
+ icon: gridIcon,
46824
+ },
46825
+ {
46826
+ className: "ScrollViewer",
46827
+ icon: scrollbarIcon,
46828
+ },
46829
+ {
46830
+ className: "Line",
46831
+ icon: lineIcon,
46832
+ },
46833
+ {
46834
+ className: "Text",
46835
+ icon: textBoxIcon,
46836
+ },
46837
+ {
46838
+ className: "InputText",
46839
+ icon: inputFieldIcon,
46840
+ },
46841
+ {
46842
+ className: "InputPassword",
46843
+ icon: passwordFieldIcon,
46844
+ },
46845
+ {
46846
+ className: "Image",
46847
+ icon: imageIcon,
46848
+ },
46849
+ {
46850
+ className: "DisplayGrid",
46851
+ icon: displaygridIcon,
46852
+ },
46853
+ {
46854
+ className: "TextButton",
46855
+ icon: buttonIcon,
46856
+ },
46857
+ {
46858
+ className: "Checkbox",
46859
+ icon: checkboxIcon,
46860
+ },
46861
+ {
46862
+ className: "RadioButton",
46863
+ icon: radioButtonIcon,
46864
+ },
46865
+ {
46866
+ className: "Slider",
46867
+ icon: sliderIcon,
46868
+ },
46869
+ {
46870
+ className: "ImageBasedSlider",
46871
+ icon: imageBasedSliderIcon,
46872
+ },
46873
+ {
46874
+ className: "VirtualKeyboard",
46875
+ icon: keyboardIcon,
46876
+ },
46877
+ {
46878
+ className: "ColorPicker",
46879
+ icon: colorPickerIcon,
46880
+ },
46881
+ ];
46882
+
46883
+
46631
46884
  /***/ }),
46632
46885
 
46633
46886
  /***/ "./diagram/artBoard.tsx":
@@ -46714,6 +46967,9 @@ var Rect = /** @class */ (function () {
46714
46967
  this.right = right;
46715
46968
  this.bottom = bottom;
46716
46969
  }
46970
+ Rect.prototype.clone = function () {
46971
+ return new Rect(this.left, this.top, this.right, this.bottom);
46972
+ };
46717
46973
  Object.defineProperty(Rect.prototype, "center", {
46718
46974
  get: function () {
46719
46975
  var topLeft = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__["Vector2"](this.left, this.top);
@@ -47038,68 +47294,57 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
47038
47294
  };
47039
47295
  _this._onMove = function () {
47040
47296
  var scene = _this.props.globalState.workbench._scene;
47041
- var selectedGuiNodes = _this.props.globalState.workbench.selectedGuiNodes;
47042
47297
  if (_this.state.scalePointDragging !== -1) {
47043
- if (selectedGuiNodes.length === 1) {
47044
- var node = selectedGuiNodes[0];
47045
- var inRTT = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].mousePointerToRTTSpace(node, scene.pointerX, scene.pointerY);
47046
- var inNodeSpace = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].rttToLocalNodeSpace(node, inRTT.x, inRTT.y, undefined, _this._storedValues);
47047
- _this._dragLocalBounds(inNodeSpace);
47048
- _this._updateNodeFromLocalBounds(node, _this.state.scalePointDragging);
47049
- //convert to percentage
47050
- if (_this._responsive) {
47051
- _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].convertToPercentage(node, ["left", "top"]);
47052
- }
47053
- _this.props.globalState.workbench._liveGuiTextureRerender = false;
47054
- _this.props.globalState.onPropertyGridUpdateRequiredObservable.notifyObservers();
47055
- }
47298
+ var node = _this.props.control;
47299
+ var inRTT = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].mousePointerToRTTSpace(node, scene.pointerX, scene.pointerY);
47300
+ var inNodeSpace = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].rttToLocalNodeSpace(node, inRTT.x, inRTT.y, undefined, _this._storedValues);
47301
+ _this._dragLocalBounds(inNodeSpace);
47302
+ _this._updateNodeFromLocalBounds();
47303
+ _this.props.globalState.onPropertyGridUpdateRequiredObservable.notifyObservers();
47056
47304
  }
47057
47305
  if (_this.state.isRotating) {
47058
- selectedGuiNodes.forEach(function (node, index) {
47059
- var nodeRotationData = _this._rotation.nodeRotations[index];
47060
- var angle = Math.atan2(scene.pointerY - _this._rotation.pivot.y, scene.pointerX - _this._rotation.pivot.x);
47061
- node.rotation = nodeRotationData + (angle - _this._rotation.initialAngleToPivot);
47062
- });
47306
+ var angle = Math.atan2(scene.pointerY - _this._rotation.pivot.y, scene.pointerX - _this._rotation.pivot.x);
47307
+ for (var _i = 0, _a = _this.props.globalState.selectedControls; _i < _a.length; _i++) {
47308
+ var control = _a[_i];
47309
+ var oldRotation = control.rotation;
47310
+ control.rotation += (angle - _this._rotation.initialAngleToPivot);
47311
+ _this.props.globalState.onPropertyChangedObservable.notifyObservers({
47312
+ object: control,
47313
+ property: 'rotation',
47314
+ value: control.rotation,
47315
+ initialValue: oldRotation
47316
+ });
47317
+ }
47318
+ _this._rotation.initialAngleToPivot = angle;
47063
47319
  _this.props.globalState.onPropertyGridUpdateRequiredObservable.notifyObservers();
47064
47320
  }
47065
47321
  };
47066
47322
  _this._beginDraggingScalePoint = function (scalePointIndex) {
47067
- var selectedGuiNodes = _this.props.globalState.workbench.selectedGuiNodes;
47068
47323
  _this.setState({ scalePointDragging: scalePointIndex });
47069
- if (selectedGuiNodes.length > 0) {
47070
- var node = selectedGuiNodes[0];
47071
- _this._localBounds = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].computeLocalBounds(node);
47072
- _this._storedValues = new _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["Rect"](node.leftInPixels, node.topInPixels, node.leftInPixels + node.widthInPixels, node.topInPixels + node.heightInPixels);
47324
+ var node = _this.props.control;
47325
+ _this._localBounds = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].computeLocalBounds(node);
47326
+ _this._storedValues = new _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["Rect"](node.leftInPixels, node.topInPixels, node.leftInPixels + node.widthInPixels, node.topInPixels + node.heightInPixels);
47327
+ for (var _i = 0, _a = _this.props.globalState.selectedControls; _i < _a.length; _i++) {
47328
+ var node_1 = _a[_i];
47329
+ node_1.metadata.localBounds = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].computeLocalBounds(node_1);
47330
+ node_1.metadata.storedValues = new _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["Rect"](node_1.leftInPixels, node_1.topInPixels, node_1.leftInPixels + node_1.widthInPixels, node_1.topInPixels + node_1.heightInPixels);
47073
47331
  }
47074
47332
  };
47075
47333
  _this._beginRotate = function () {
47076
47334
  var scene = _this.props.globalState.workbench._scene;
47077
- var selectedGuiNodes = _this.props.globalState.workbench.selectedGuiNodes;
47078
47335
  var pivot;
47079
- if (selectedGuiNodes.length === 1) {
47080
- var node = selectedGuiNodes[0];
47081
- var nodeSpace = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector2"](node.transformCenterX, node.transformCenterY);
47082
- var rtt = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].nodeToRTTSpace(node, nodeSpace.x, nodeSpace.y, undefined);
47083
- var canvas = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].rttToCanvasSpace(rtt.x, rtt.y);
47084
- pivot = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector2"](canvas.x, canvas.y);
47085
- }
47086
- else {
47087
- pivot = _this.state.canvasBounds.center;
47088
- }
47336
+ var node = _this.props.control;
47337
+ var nodeSpace = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector2"](node.transformCenterX, node.transformCenterY);
47338
+ var rtt = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].nodeToRTTSpace(node, nodeSpace.x, nodeSpace.y, undefined);
47339
+ var canvas = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].rttToCanvasSpace(rtt.x, rtt.y);
47340
+ pivot = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector2"](canvas.x, canvas.y);
47089
47341
  var initialAngleToPivot = Math.atan2(scene.pointerY - pivot.y, scene.pointerX - pivot.x);
47090
- var nodeRotations = [];
47091
- selectedGuiNodes.forEach(function (node) {
47092
- nodeRotations.push(node.rotation);
47093
- });
47094
47342
  _this._rotation = {
47095
47343
  pivot: pivot,
47096
47344
  initialAngleToPivot: initialAngleToPivot,
47097
- nodeRotations: nodeRotations
47098
47345
  };
47099
47346
  _this.setState({ isRotating: true });
47100
47347
  };
47101
- _this.props.globalState.guiGizmo = _this;
47102
- _this._responsive = _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["DataStorage"].ReadBoolean("Responsive", true);
47103
47348
  var scalePoints = [];
47104
47349
  for (var vertical = ScalePointPosition.Top; vertical <= ScalePointPosition.Bottom; vertical++) {
47105
47350
  for (var horizontal = ScalePointPosition.Left; horizontal <= ScalePointPosition.Right; horizontal++) {
@@ -47114,127 +47359,83 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
47114
47359
  scalePointDragging: -1,
47115
47360
  isRotating: false
47116
47361
  };
47117
- props.globalState.onSelectionChangedObservable.add(function (selection) {
47118
- _this.updateGizmo(true);
47119
- });
47120
- _this.props.globalState.onResponsiveChangeObservable.add(function (value) {
47121
- _this._responsive = value;
47122
- });
47123
- _this.props.globalState.onGizmoUpdateRequireObservable.add(function () {
47362
+ _this._gizmoUpdateObserver = _this.props.globalState.onGizmoUpdateRequireObservable.add(function () {
47124
47363
  _this.updateGizmo(true);
47125
47364
  });
47365
+ _this._pointerUpObserver = _this.props.globalState.onPointerUpObservable.add(function (evt) { return _this._onUp(evt); });
47366
+ _this._pointerMoveObserver = _this.props.globalState.onPointerMoveObservable.add(function () { return _this._onMove(); });
47126
47367
  _this.updateGizmo(true);
47127
47368
  return _this;
47128
47369
  }
47129
- GuiGizmoComponent.prototype.componentDidMount = function () { };
47370
+ GuiGizmoComponent.prototype.componentWillUnmount = function () {
47371
+ this.props.globalState.onGizmoUpdateRequireObservable.remove(this._gizmoUpdateObserver);
47372
+ this.props.globalState.onPointerUpObservable.remove(this._pointerUpObserver);
47373
+ this.props.globalState.onPointerMoveObservable.remove(this._pointerMoveObserver);
47374
+ };
47130
47375
  /**
47131
47376
  * Update the gizmo's positions
47132
47377
  * @param force should the update be forced. otherwise it will be updated only when the pointer is down
47133
47378
  */
47134
47379
  GuiGizmoComponent.prototype.updateGizmo = function (force) {
47135
- var _this = this;
47136
- var selectedGuiNodes = this.props.globalState.workbench.selectedGuiNodes;
47137
- if (selectedGuiNodes.length > 0 && (force || this.state.scalePointDragging !== -1)) {
47138
- // Calculating the offsets for each scale point.
47139
- var half_1 = 1 / 2;
47140
- var canvasBounds_1 = new _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["Rect"](Number.MAX_VALUE, Number.MAX_VALUE, 0, 0);
47141
- selectedGuiNodes.forEach(function (node) {
47142
- var localBounds = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].computeLocalBounds(node);
47143
- _this.state.scalePoints.forEach(function (scalePoint) {
47144
- var nodeSpace = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector2"]();
47145
- switch (scalePoint.horizontalPosition) {
47146
- case ScalePointPosition.Left:
47147
- nodeSpace.x = localBounds.left;
47148
- break;
47149
- case ScalePointPosition.Center:
47150
- nodeSpace.x = localBounds.center.x;
47151
- break;
47152
- case ScalePointPosition.Right:
47153
- nodeSpace.x = localBounds.right;
47154
- break;
47155
- }
47156
- switch (scalePoint.verticalPosition) {
47157
- case ScalePointPosition.Top:
47158
- nodeSpace.y = localBounds.top;
47159
- break;
47160
- case ScalePointPosition.Center:
47161
- nodeSpace.y = localBounds.center.y;
47162
- break;
47163
- case ScalePointPosition.Bottom:
47164
- nodeSpace.y = localBounds.bottom;
47165
- break;
47166
- }
47167
- if (scalePoint.isPivot) {
47168
- // Calculate the pivot point
47169
- var pivotX = (node.transformCenterX - 0.5) * 2;
47170
- var pivotY = (node.transformCenterY - 0.5) * 2;
47171
- nodeSpace.x = node.widthInPixels * half_1 * pivotX;
47172
- nodeSpace.y = node.heightInPixels * half_1 * pivotY;
47173
- }
47174
- var rtt = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].nodeToRTTSpace(node, nodeSpace.x, nodeSpace.y, undefined);
47175
- var canvas = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].rttToCanvasSpace(rtt.x, rtt.y);
47176
- if (canvas.x < canvasBounds_1.left) {
47177
- canvasBounds_1.left = canvas.x;
47178
- }
47179
- if (canvas.x > canvasBounds_1.right) {
47180
- canvasBounds_1.right = canvas.x;
47181
- }
47182
- if (canvas.y < canvasBounds_1.top) {
47183
- canvasBounds_1.top = canvas.y;
47184
- }
47185
- if (canvas.y > canvasBounds_1.bottom) {
47186
- canvasBounds_1.bottom = canvas.y;
47187
- }
47188
- // if we have a single control selected, put scale points at its edges, and rotate based on the rotation of the control
47189
- if (selectedGuiNodes.length === 1) {
47190
- scalePoint.position.x = canvas.x;
47191
- scalePoint.position.y = canvas.y;
47192
- scalePoint.rotation = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].getRotation(node) * (180 / Math.PI);
47193
- }
47194
- });
47195
- });
47196
- // if we are in multiselect mode, use the bounds to determine the scale point locations, and set rotation = 0
47197
- if (selectedGuiNodes.length > 1) {
47198
- this.state.scalePoints.forEach(function (scalePoint) {
47199
- switch (scalePoint.verticalPosition) {
47200
- case ScalePointPosition.Top:
47201
- scalePoint.position.y = canvasBounds_1.top;
47202
- break;
47203
- case ScalePointPosition.Center:
47204
- scalePoint.position.y = canvasBounds_1.center.y;
47205
- break;
47206
- case ScalePointPosition.Bottom:
47207
- scalePoint.position.y = canvasBounds_1.bottom;
47208
- break;
47209
- }
47210
- switch (scalePoint.horizontalPosition) {
47211
- case ScalePointPosition.Left:
47212
- scalePoint.position.x = canvasBounds_1.left;
47213
- break;
47214
- case ScalePointPosition.Center:
47215
- scalePoint.position.x = canvasBounds_1.center.x;
47216
- break;
47217
- case ScalePointPosition.Right:
47218
- scalePoint.position.x = canvasBounds_1.right;
47219
- break;
47220
- }
47221
- scalePoint.rotation = 0;
47222
- });
47380
+ var node = this.props.control;
47381
+ // Calculating the offsets for each scale point.
47382
+ var half = 1 / 2;
47383
+ var canvasBounds = new _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["Rect"](Number.MAX_VALUE, Number.MAX_VALUE, 0, 0);
47384
+ var localBounds = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].computeLocalBounds(node);
47385
+ this.state.scalePoints.forEach(function (scalePoint) {
47386
+ var nodeSpace = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__["Vector2"]();
47387
+ switch (scalePoint.horizontalPosition) {
47388
+ case ScalePointPosition.Left:
47389
+ nodeSpace.x = localBounds.left;
47390
+ break;
47391
+ case ScalePointPosition.Center:
47392
+ nodeSpace.x = localBounds.center.x;
47393
+ break;
47394
+ case ScalePointPosition.Right:
47395
+ nodeSpace.x = localBounds.right;
47396
+ break;
47223
47397
  }
47224
- this.setState({
47225
- canvasBounds: canvasBounds_1,
47226
- scalePoints: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__spreadArray"])([], this.state.scalePoints, true),
47227
- });
47228
- }
47229
- else {
47230
- this.forceUpdate();
47231
- }
47232
- };
47233
- GuiGizmoComponent.prototype.onUp = function (evt) {
47234
- this._onUp(evt);
47235
- };
47236
- GuiGizmoComponent.prototype.onMove = function (evt) {
47237
- this._onMove();
47398
+ switch (scalePoint.verticalPosition) {
47399
+ case ScalePointPosition.Top:
47400
+ nodeSpace.y = localBounds.top;
47401
+ break;
47402
+ case ScalePointPosition.Center:
47403
+ nodeSpace.y = localBounds.center.y;
47404
+ break;
47405
+ case ScalePointPosition.Bottom:
47406
+ nodeSpace.y = localBounds.bottom;
47407
+ break;
47408
+ }
47409
+ if (scalePoint.isPivot) {
47410
+ // Calculate the pivot point
47411
+ var pivotX = (node.transformCenterX - 0.5) * 2;
47412
+ var pivotY = (node.transformCenterY - 0.5) * 2;
47413
+ nodeSpace.x = node.widthInPixels * half * pivotX;
47414
+ nodeSpace.y = node.heightInPixels * half * pivotY;
47415
+ }
47416
+ var rtt = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].nodeToRTTSpace(node, nodeSpace.x, nodeSpace.y, undefined);
47417
+ var canvas = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].rttToCanvasSpace(rtt.x, rtt.y);
47418
+ if (canvas.x < canvasBounds.left) {
47419
+ canvasBounds.left = canvas.x;
47420
+ }
47421
+ if (canvas.x > canvasBounds.right) {
47422
+ canvasBounds.right = canvas.x;
47423
+ }
47424
+ if (canvas.y < canvasBounds.top) {
47425
+ canvasBounds.top = canvas.y;
47426
+ }
47427
+ if (canvas.y > canvasBounds.bottom) {
47428
+ canvasBounds.bottom = canvas.y;
47429
+ }
47430
+ // edges, and rotate based on the rotation of the control
47431
+ scalePoint.position.x = canvas.x;
47432
+ scalePoint.position.y = canvas.y;
47433
+ scalePoint.rotation = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].getRotation(node) * (180 / Math.PI);
47434
+ });
47435
+ this.setState({
47436
+ canvasBounds: canvasBounds,
47437
+ scalePoints: Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__spreadArray"])([], this.state.scalePoints, true),
47438
+ });
47238
47439
  };
47239
47440
  GuiGizmoComponent.prototype._rotate = function (x, y, centerX, centerY, angle) {
47240
47441
  return {
@@ -47242,83 +47443,138 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
47242
47443
  y: (x - centerX) * Math.sin(angle) + (y - centerY) * Math.cos(angle) + centerY,
47243
47444
  };
47244
47445
  };
47446
+ GuiGizmoComponent.prototype._modulo = function (dividend, divisor) {
47447
+ return ((dividend % divisor) + divisor) % divisor;
47448
+ };
47245
47449
  GuiGizmoComponent.prototype._dragLocalBounds = function (toPosition) {
47450
+ var _this = this;
47246
47451
  var scalePoint = this.state.scalePoints[this.state.scalePointDragging];
47452
+ var newBounds = this._localBounds.clone();
47247
47453
  if (scalePoint.horizontalPosition === ScalePointPosition.Left) {
47248
- this._localBounds.left = Math.min(this._localBounds.right, toPosition.x);
47249
- }
47250
- if (scalePoint.horizontalPosition === ScalePointPosition.Right) {
47251
- this._localBounds.right = Math.max(this._localBounds.left, toPosition.x);
47454
+ newBounds.left = Math.min(this._localBounds.right - 1, toPosition.x);
47252
47455
  }
47253
47456
  if (scalePoint.verticalPosition === ScalePointPosition.Left) {
47254
- this._localBounds.top = Math.min(this._localBounds.bottom, toPosition.y);
47255
- }
47256
- if (scalePoint.verticalPosition === ScalePointPosition.Bottom) {
47257
- this._localBounds.bottom = Math.max(this._localBounds.top, toPosition.y);
47258
- }
47259
- };
47260
- GuiGizmoComponent.prototype._updateNodeFromLocalBounds = function (node, scalePointIndex) {
47261
- var width = this._localBounds.right - this._localBounds.left;
47262
- var height = this._localBounds.bottom - this._localBounds.top;
47263
- var scalePoint = this.state.scalePoints[scalePointIndex];
47264
- var left = scalePoint.horizontalPosition === ScalePointPosition.Left && scalePoint.verticalPosition !== ScalePointPosition.Center;
47265
- var top = scalePoint.verticalPosition === ScalePointPosition.Top && scalePoint.horizontalPosition !== ScalePointPosition.Center;
47266
- // calculate the center point
47267
- var localRotation = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].getRotation(node, true);
47268
- var localScaling = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].getScale(node, true);
47269
- var absoluteCenter = this._localBounds.center;
47270
- var center = absoluteCenter.clone();
47271
- // move to pivot
47272
- center.multiplyInPlace(localScaling);
47273
- var cosRotation = Math.cos(localRotation);
47274
- var sinRotation = Math.sin(localRotation);
47275
- var cosRotation180 = Math.cos(localRotation + Math.PI);
47276
- var sinRotation180 = Math.sin(localRotation + Math.PI);
47277
- var widthDelta = (this._storedValues.width - width) * 0.5;
47278
- var heightDelta = (this._storedValues.height - height) * 0.5;
47279
- // alignment compensation
47280
- switch (node.horizontalAlignment) {
47281
- case _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Control"].HORIZONTAL_ALIGNMENT_LEFT:
47282
- center.x += (left ? widthDelta : -absoluteCenter.x) * cosRotation;
47283
- center.y += (left ? -widthDelta : absoluteCenter.x) * sinRotation;
47284
- break;
47285
- case _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Control"].HORIZONTAL_ALIGNMENT_RIGHT:
47286
- center.x += (left ? -widthDelta : absoluteCenter.x) * cosRotation;
47287
- center.y += (left ? widthDelta : -absoluteCenter.x) * sinRotation;
47288
- break;
47289
- }
47290
- switch (node.verticalAlignment) {
47291
- case _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Control"].VERTICAL_ALIGNMENT_TOP:
47292
- center.y += (top ? -heightDelta : absoluteCenter.y) * cosRotation180;
47293
- center.x += (top ? -heightDelta : absoluteCenter.y) * sinRotation180;
47294
- break;
47295
- case _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Control"].VERTICAL_ALIGNMENT_BOTTOM:
47296
- center.y += (top ? heightDelta : -absoluteCenter.y) * cosRotation180;
47297
- center.x += (top ? heightDelta : -absoluteCenter.y) * sinRotation180;
47298
- break;
47457
+ newBounds.top = Math.min(this._localBounds.bottom - 1, toPosition.y);
47299
47458
  }
47300
- // rotate the center around 0,0
47301
- var rotatedCenter = this._rotate(center.x, center.y, 0, 0, localRotation);
47302
- // round the values and set them
47303
- node.leftInPixels = round(this._storedValues.left + rotatedCenter.x);
47304
- node.topInPixels = round(this._storedValues.top + rotatedCenter.y);
47305
- node.widthInPixels = round(Math.max(10, width));
47306
- node.heightInPixels = round(Math.max(10, height));
47307
- if (node.typeName === "Image") {
47308
- node.autoScale = false;
47459
+ if (scalePoint.horizontalPosition === ScalePointPosition.Right) {
47460
+ newBounds.right = Math.max(this._localBounds.left + 1, toPosition.x);
47309
47461
  }
47310
- else if (node.typeName === "TextBlock") {
47311
- node.resizeToFit = false;
47462
+ if (scalePoint.verticalPosition === ScalePointPosition.Bottom) {
47463
+ newBounds.bottom = Math.max(this._localBounds.top + 1, toPosition.y);
47464
+ }
47465
+ // apply bounds changes to all controls
47466
+ var edges = ["left", "top", "right", "bottom"];
47467
+ var _loop_1 = function (node) {
47468
+ var initialBounds = node.metadata.localBounds;
47469
+ var nb = initialBounds.clone();
47470
+ // account for rotation: if other control is rotated 90 degrees
47471
+ // relative to primary control, we should modify top instead of left
47472
+ var rotationModifier = this_1._modulo((this_1.props.control.rotation - node.rotation), Math.PI * 2) / Math.PI * 2;
47473
+ edges.forEach(function (edge, index) {
47474
+ var modifiedIndex = Math.round(index + rotationModifier) % 4;
47475
+ var flipSign = ((index < 2) === (modifiedIndex < 2)) ? 1 : -1;
47476
+ nb[edges[modifiedIndex]] += (newBounds[edge] - _this._localBounds[edge]) * flipSign;
47477
+ });
47478
+ nb.left = Math.min(initialBounds.right - 1, nb.left);
47479
+ nb.top = Math.min(initialBounds.bottom - 1, nb.top);
47480
+ nb.right = Math.max(initialBounds.left + 1, nb.right);
47481
+ nb.bottom = Math.max(initialBounds.top + 1, nb.bottom);
47482
+ node.metadata.localBounds = nb;
47483
+ };
47484
+ var this_1 = this;
47485
+ for (var _i = 0, _a = this.props.globalState.selectedControls; _i < _a.length; _i++) {
47486
+ var node = _a[_i];
47487
+ _loop_1(node);
47312
47488
  }
47313
- if (this._responsive) {
47314
- _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].convertToPercentage(node);
47489
+ this._localBounds = newBounds;
47490
+ };
47491
+ GuiGizmoComponent.prototype._updateNodeFromLocalBounds = function () {
47492
+ var scalePoint = this.state.scalePoints[this.state.scalePointDragging];
47493
+ var left = scalePoint.horizontalPosition === ScalePointPosition.Left;
47494
+ var top = scalePoint.verticalPosition === ScalePointPosition.Top;
47495
+ for (var _i = 0, _a = this.props.globalState.selectedControls; _i < _a.length; _i++) {
47496
+ var selectedControl = _a[_i];
47497
+ var width = selectedControl.metadata.localBounds.width;
47498
+ var height = selectedControl.metadata.localBounds.height;
47499
+ // calculate the center point
47500
+ var localRotation = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].getRotation(selectedControl, true);
47501
+ var localScaling = _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].getScale(selectedControl, true);
47502
+ var absoluteCenter = selectedControl.metadata.localBounds.center;
47503
+ var center = absoluteCenter.clone();
47504
+ // move to pivot
47505
+ center.multiplyInPlace(localScaling);
47506
+ var cosRotation = Math.cos(localRotation);
47507
+ var sinRotation = Math.sin(localRotation);
47508
+ var cosRotation180 = Math.cos(localRotation + Math.PI);
47509
+ var sinRotation180 = Math.sin(localRotation + Math.PI);
47510
+ var widthDelta = (selectedControl.metadata.storedValues.width - width) * 0.5;
47511
+ var heightDelta = (selectedControl.metadata.storedValues.height - height) * 0.5;
47512
+ // alignment compensation
47513
+ switch (selectedControl.horizontalAlignment) {
47514
+ case _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Control"].HORIZONTAL_ALIGNMENT_LEFT:
47515
+ center.x += (left ? widthDelta : -absoluteCenter.x) * cosRotation;
47516
+ center.y += (left ? -widthDelta : absoluteCenter.x) * sinRotation;
47517
+ break;
47518
+ case _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Control"].HORIZONTAL_ALIGNMENT_RIGHT:
47519
+ center.x += (left ? -widthDelta : absoluteCenter.x) * cosRotation;
47520
+ center.y += (left ? widthDelta : -absoluteCenter.x) * sinRotation;
47521
+ break;
47522
+ }
47523
+ switch (selectedControl.verticalAlignment) {
47524
+ case _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Control"].VERTICAL_ALIGNMENT_TOP:
47525
+ center.y += (top ? -heightDelta : absoluteCenter.y) * cosRotation180;
47526
+ center.x += (top ? -heightDelta : absoluteCenter.y) * sinRotation180;
47527
+ break;
47528
+ case _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["Control"].VERTICAL_ALIGNMENT_BOTTOM:
47529
+ center.y += (top ? heightDelta : -absoluteCenter.y) * cosRotation180;
47530
+ center.x += (top ? heightDelta : -absoluteCenter.y) * sinRotation180;
47531
+ break;
47532
+ }
47533
+ // rotate the center around 0,0
47534
+ var rotatedCenter = this._rotate(center.x, center.y, 0, 0, localRotation);
47535
+ var properties = ["left", "top", "width", "height"];
47536
+ for (var _b = 0, properties_1 = properties; _b < properties_1.length; _b++) {
47537
+ var property = properties_1[_b];
47538
+ var newPixels = 0;
47539
+ switch (property) {
47540
+ case "left":
47541
+ newPixels = round(selectedControl.metadata.storedValues.left + rotatedCenter.x);
47542
+ break;
47543
+ case "top":
47544
+ newPixels = round(selectedControl.metadata.storedValues.top + rotatedCenter.y);
47545
+ break;
47546
+ case "width":
47547
+ newPixels = round(width);
47548
+ break;
47549
+ case "height":
47550
+ newPixels = round(height);
47551
+ break;
47552
+ }
47553
+ // compute real change in property
47554
+ var initialUnit = selectedControl["_".concat(property)].unit;
47555
+ var oldPixels = selectedControl["".concat(property, "InPixels")];
47556
+ selectedControl["".concat(property, "InPixels")] = newPixels;
47557
+ this.props.globalState.onPropertyChangedObservable.notifyObservers({
47558
+ object: selectedControl,
47559
+ property: "".concat(property, "InPixels"),
47560
+ value: newPixels,
47561
+ initialValue: oldPixels
47562
+ });
47563
+ if (initialUnit === _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_1__["ValueAndUnit"].UNITMODE_PERCENTAGE) {
47564
+ _coordinateHelper__WEBPACK_IMPORTED_MODULE_4__["CoordinateHelper"].convertToPercentage(selectedControl, [property]);
47565
+ }
47566
+ }
47567
+ if (selectedControl.typeName === "Image") {
47568
+ selectedControl.autoScale = false;
47569
+ }
47570
+ else if (selectedControl.typeName === "TextBlock") {
47571
+ selectedControl.resizeToFit = false;
47572
+ }
47315
47573
  }
47316
47574
  };
47317
47575
  GuiGizmoComponent.prototype.render = function () {
47318
47576
  var _this = this;
47319
47577
  // don't render if we don't have anything selected, or if we're currently dragging
47320
- if (this.props.globalState.workbench.selectedGuiNodes.length === 0 || this.state.scalePointDragging !== -1)
47321
- return null;
47322
47578
  return (react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("div", { className: "gizmo" },
47323
47579
  lines.map(function (line, index) {
47324
47580
  var start = _this.state.scalePoints[line[0]];
@@ -47342,16 +47598,11 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
47342
47598
  pointerEvents: _this.state.scalePointDragging === -1 && !scalePoint.isPivot && !_this.state.isRotating ? "auto" : "none",
47343
47599
  };
47344
47600
  if (scalePoint.isPivot) {
47345
- if (_this.props.globalState.workbench.selectedGuiNodes.length > 1) {
47346
- return null;
47347
- }
47348
47601
  return react__WEBPACK_IMPORTED_MODULE_3__["createElement"]("img", { className: "pivot-point", src: gizmoPivotIcon, style: style, key: index });
47349
47602
  }
47350
47603
  // compute which cursor icon to use on hover
47351
47604
  var angleOfCursor = (defaultScalePointRotations[index] + scalePoint.rotation);
47352
- var angleAdjusted = angleOfCursor % (360);
47353
- if (angleAdjusted < 0)
47354
- angleAdjusted += 360;
47605
+ var angleAdjusted = _this._modulo(angleOfCursor, 360);
47355
47606
  var increment = 45;
47356
47607
  var cursorIndex = Math.round(angleAdjusted / increment) % 8;
47357
47608
  var cursor = scalePointCursors[cursorIndex];
@@ -47390,6 +47641,49 @@ var GuiGizmoComponent = /** @class */ (function (_super) {
47390
47641
 
47391
47642
 
47392
47643
 
47644
+ /***/ }),
47645
+
47646
+ /***/ "./diagram/guiGizmoWrapper.tsx":
47647
+ /*!*************************************!*\
47648
+ !*** ./diagram/guiGizmoWrapper.tsx ***!
47649
+ \*************************************/
47650
+ /*! exports provided: GizmoWrapper */
47651
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
47652
+
47653
+ "use strict";
47654
+ __webpack_require__.r(__webpack_exports__);
47655
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GizmoWrapper", function() { return GizmoWrapper; });
47656
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
47657
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
47658
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
47659
+ /* harmony import */ var _guiGizmo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./guiGizmo */ "./diagram/guiGizmo.tsx");
47660
+
47661
+
47662
+
47663
+ var GizmoWrapper = /** @class */ (function (_super) {
47664
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(GizmoWrapper, _super);
47665
+ function GizmoWrapper() {
47666
+ return _super !== null && _super.apply(this, arguments) || this;
47667
+ }
47668
+ GizmoWrapper.prototype.componentWillMount = function () {
47669
+ var _this = this;
47670
+ this.observer = this.props.globalState.onSelectionChangedObservable.add(function () { return _this.forceUpdate(); });
47671
+ };
47672
+ GizmoWrapper.prototype.componentWillUnmount = function () {
47673
+ this.props.globalState.onSelectionChangedObservable.remove(this.observer);
47674
+ };
47675
+ GizmoWrapper.prototype.render = function () {
47676
+ var _this = this;
47677
+ var controls = this.props.globalState.selectedControls;
47678
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null, controls.map(function (control) {
47679
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_guiGizmo__WEBPACK_IMPORTED_MODULE_2__["GuiGizmoComponent"], { globalState: _this.props.globalState, control: control, key: control.uniqueId });
47680
+ }));
47681
+ };
47682
+ return GizmoWrapper;
47683
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
47684
+
47685
+
47686
+
47393
47687
  /***/ }),
47394
47688
 
47395
47689
  /***/ "./diagram/workbench.tsx":
@@ -47432,6 +47726,7 @@ __webpack_require__.r(__webpack_exports__);
47432
47726
 
47433
47727
 
47434
47728
 
47729
+
47435
47730
 
47436
47731
  __webpack_require__(/*! ./workbenchCanvas.scss */ "./diagram/workbenchCanvas.scss");
47437
47732
  var ConstraintDirection;
@@ -47440,6 +47735,8 @@ var ConstraintDirection;
47440
47735
  ConstraintDirection[ConstraintDirection["X"] = 2] = "X";
47441
47736
  ConstraintDirection[ConstraintDirection["Y"] = 3] = "Y";
47442
47737
  })(ConstraintDirection || (ConstraintDirection = {}));
47738
+ var ARROW_KEY_MOVEMENT_SMALL = 1; // px
47739
+ var ARROW_KEY_MOVEMENT_LARGE = 5; // px
47443
47740
  var WorkbenchComponent = /** @class */ (function (_super) {
47444
47741
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(WorkbenchComponent, _super);
47445
47742
  function WorkbenchComponent(props) {
@@ -47447,25 +47744,20 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47447
47744
  _this._setConstraintDirection = false;
47448
47745
  _this._mouseStartPointX = null;
47449
47746
  _this._mouseStartPointY = null;
47450
- _this._selectedGuiNodes = [];
47451
47747
  _this._ctrlKeyIsPressed = false;
47452
47748
  _this._altKeyIsPressed = false;
47453
47749
  _this._constraintDirection = ConstraintDirection.NONE;
47454
47750
  _this._forcePanning = false;
47455
47751
  _this._forceZooming = false;
47456
47752
  _this._forceSelecting = true;
47457
- _this._outlines = false;
47458
47753
  _this._isOverGUINode = [];
47459
- _this._clipboard = [];
47460
- _this._selectAll = false;
47461
47754
  _this._mainSelection = null;
47462
47755
  _this._selectionDepth = 0;
47463
47756
  _this._doubleClick = null;
47464
- _this._lockMainSelection = false;
47465
47757
  _this._liveGuiTextureRerender = true;
47466
47758
  _this._anyControlClicked = true;
47467
47759
  _this._nextLiveGuiRender = -1;
47468
- _this._liveGuiRerenderDelay = 100;
47760
+ _this._liveGuiRerenderDelay = 30;
47469
47761
  _this._defaultGUISize = { width: 1024, height: 1024 };
47470
47762
  _this._initialPanningOffset = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["Vector2"](0, 0);
47471
47763
  _this._panningOffset = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["Vector2"](0, 0);
@@ -47486,39 +47778,13 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47486
47778
  }
47487
47779
  if (evt.key === "Delete" || evt.key === "Backspace") {
47488
47780
  if (!_this.props.globalState.lockObject.lock) {
47489
- _this._selectedGuiNodes.forEach(function (guiNode) {
47490
- var _a;
47491
- if (guiNode !== _this.globalState.guiTexture.getChildren()[0]) {
47492
- _this.props.globalState.guiTexture.removeControl(guiNode);
47493
- (_a = _this.props.globalState.liveGuiTexture) === null || _a === void 0 ? void 0 : _a.removeControl(guiNode);
47494
- guiNode.dispose();
47495
- }
47496
- });
47497
- _this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
47781
+ _this._deleteSelectedNodes();
47498
47782
  }
47499
47783
  }
47500
47784
  if (_this._ctrlKeyIsPressed && !_this.props.globalState.lockObject.lock) {
47501
47785
  if (evt.key === "a") {
47502
- _this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
47503
- var index_1 = 0;
47504
- _this.nodes.forEach(function (node) {
47505
- if (index_1++) {
47506
- //skip the first node, the background
47507
- _this.selectAllGUI(node);
47508
- }
47509
- });
47510
- }
47511
- else if (evt.key === "c") {
47512
- _this.copyToClipboard();
47786
+ _this.props.globalState.setSelection(_this.trueRootContainer.children);
47513
47787
  }
47514
- else if (evt.key === "v" && !_this._pasted) {
47515
- _this.globalState.onSelectionChangedObservable.notifyObservers(null);
47516
- _this.pasteFromClipboard();
47517
- _this._pasted = true;
47518
- }
47519
- }
47520
- else if (!_this._ctrlKeyIsPressed) {
47521
- _this._pasted = false;
47522
47788
  }
47523
47789
  if (_this._forceZooming) {
47524
47790
  _this._canvas.style.cursor = _this._altKeyIsPressed ? "zoom-out" : "zoom-in";
@@ -47527,44 +47793,12 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47527
47793
  _this.blurEvent = function () {
47528
47794
  _this._ctrlKeyIsPressed = false;
47529
47795
  _this._constraintDirection = ConstraintDirection.NONE;
47530
- _this.props.globalState.guiGizmo.onUp();
47796
+ _this.props.globalState.onPointerUpObservable.notifyObservers(null);
47531
47797
  };
47532
47798
  _this.isUp = true;
47533
47799
  _this._rootContainer = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
47534
47800
  _this._responsive = _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["DataStorage"].ReadBoolean("Responsive", true);
47535
- props.globalState.onSelectionChangedObservable.add(function (selection) {
47536
- if (!selection) {
47537
- _this.changeSelectionHighlight(false);
47538
- _this._selectedGuiNodes = [];
47539
- _this._selectAll = false;
47540
- _this._mainSelection = null;
47541
- }
47542
- else {
47543
- if (selection instanceof _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["Control"]) {
47544
- if (_this._ctrlKeyIsPressed) {
47545
- var index = _this._selectedGuiNodes.indexOf(selection);
47546
- if (index === -1) {
47547
- _this._selectedGuiNodes.push(selection);
47548
- }
47549
- else {
47550
- _this.changeSelectionHighlight(false);
47551
- _this._selectedGuiNodes.splice(index, 1);
47552
- }
47553
- }
47554
- else if (_this._selectedGuiNodes.length <= 1) {
47555
- _this.changeSelectionHighlight(false);
47556
- _this._selectedGuiNodes = [selection];
47557
- if (!_this._lockMainSelection && selection != _this.props.globalState.guiTexture._rootContainer) {
47558
- //incase the selection did not come from the canvas and mouse
47559
- _this._mainSelection = selection;
47560
- }
47561
- _this._lockMainSelection = false;
47562
- _this._selectAll = false;
47563
- }
47564
- _this.changeSelectionHighlight(true);
47565
- }
47566
- }
47567
- });
47801
+ props.globalState.onSelectionChangedObservable.add(function () { return _this.updateNodeOutlines(); });
47568
47802
  props.globalState.onPanObservable.add(function () {
47569
47803
  _this._forcePanning = !_this._forcePanning;
47570
47804
  _this._forceSelecting = false;
@@ -47575,16 +47809,12 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47575
47809
  else {
47576
47810
  _this._canvas.style.cursor = "grab";
47577
47811
  }
47578
- _this.updateHitTest(_this.globalState.guiTexture.getChildren()[0], _this._forceSelecting);
47579
- // this.artBoardBackground.isHitTestVisible = true;
47580
47812
  });
47581
47813
  props.globalState.onSelectionButtonObservable.add(function () {
47582
47814
  _this._forceSelecting = !_this._forceSelecting;
47583
47815
  _this._forcePanning = false;
47584
47816
  _this._forceZooming = false;
47585
47817
  _this._canvas.style.cursor = "default";
47586
- _this.updateHitTest(_this.globalState.guiTexture.getChildren()[0], _this._forceSelecting);
47587
- // this.artBoardBackground.isHitTestVisible = true;
47588
47818
  });
47589
47819
  props.globalState.onZoomObservable.add(function () {
47590
47820
  _this._forceZooming = !_this._forceZooming;
@@ -47596,8 +47826,6 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47596
47826
  else {
47597
47827
  _this._canvas.style.cursor = "zoom-in";
47598
47828
  }
47599
- _this.updateHitTest(_this.globalState.guiTexture.getChildren()[0], _this._forceSelecting);
47600
- // this.artBoardBackground.isHitTestVisible = true;
47601
47829
  });
47602
47830
  props.globalState.onFitToWindowObservable.add(function () {
47603
47831
  _this._panningOffset = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["Vector2"](0, 0);
@@ -47605,8 +47833,11 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47605
47833
  var yFactor = _this._engine.getRenderHeight() / _this.guiSize.height;
47606
47834
  _this._zoomFactor = Math.min(xFactor, yFactor) * 0.9;
47607
47835
  });
47608
- props.globalState.onOutlinesObservable.add(function () {
47609
- _this._outlines = !_this._outlines;
47836
+ props.globalState.onOutlineChangedObservable.add(function () {
47837
+ _this.updateNodeOutlines();
47838
+ });
47839
+ props.globalState.onSelectionChangedObservable.add(function () {
47840
+ _this.updateNodeOutlines();
47610
47841
  });
47611
47842
  props.globalState.onParentingChangeObservable.add(function (control) {
47612
47843
  _this.parent(control);
@@ -47623,6 +47854,9 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47623
47854
  _this.props.globalState.onArtBoardUpdateRequiredObservable.notifyObservers();
47624
47855
  _this._engine.resize();
47625
47856
  });
47857
+ props.globalState.onCopyObservable.add(function (copyFn) { return _this.copyToClipboard(copyFn); });
47858
+ props.globalState.onCutObservable.add(function (copyFn) { return _this.cutToClipboard(copyFn); });
47859
+ props.globalState.onPasteObservable.add(function (content) { return _this.pasteFromClipboard(content); });
47626
47860
  _this.props.globalState.workbench = _this;
47627
47861
  return _this;
47628
47862
  }
@@ -47714,7 +47948,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47714
47948
  });
47715
47949
  Object.defineProperty(WorkbenchComponent.prototype, "selectedGuiNodes", {
47716
47950
  get: function () {
47717
- return this._selectedGuiNodes;
47951
+ return this.props.globalState.selectedControls;
47718
47952
  },
47719
47953
  enumerable: false,
47720
47954
  configurable: true
@@ -47742,9 +47976,9 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47742
47976
  return parent;
47743
47977
  };
47744
47978
  WorkbenchComponent.prototype.determineMouseSelection = function (selection) {
47745
- if (selection && this._selectedGuiNodes.length <= 1) {
47979
+ if (this.props.globalState.selectedControls.length <= 1) {
47746
47980
  // if we're still on the same main selection, got down the tree.
47747
- if (selection === this._selectedGuiNodes[0] || selection === this._mainSelection) {
47981
+ if (selection === this.props.globalState.selectedControls[0]) {
47748
47982
  selection = this._getParentWithDepth(selection);
47749
47983
  }
47750
47984
  else { // get the start of our tree by getting our max parent and storing our main selected control
@@ -47757,46 +47991,54 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47757
47991
  this._mainSelection = selection;
47758
47992
  }
47759
47993
  }
47760
- this._lockMainSelection = true;
47761
- this.props.globalState.onSelectionChangedObservable.notifyObservers(selection);
47994
+ this.props.globalState.select(selection);
47762
47995
  };
47763
- WorkbenchComponent.prototype.updateHitTest = function (guiControl, value) {
47764
- var _this = this;
47765
- guiControl.isHitTestVisible = value;
47766
- if (guiControl instanceof _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["Container"]) {
47767
- guiControl.children.forEach(function (child) {
47768
- _this.updateHitTest(child, value);
47769
- });
47996
+ WorkbenchComponent.prototype._deleteSelectedNodes = function () {
47997
+ var _a;
47998
+ for (var _i = 0, _b = this.props.globalState.selectedControls; _i < _b.length; _i++) {
47999
+ var control = _b[_i];
48000
+ this.props.globalState.guiTexture.removeControl(control);
48001
+ (_a = this.props.globalState.liveGuiTexture) === null || _a === void 0 ? void 0 : _a.removeControl(control);
48002
+ control.dispose();
48003
+ }
48004
+ ;
48005
+ this.props.globalState.setSelection([]);
48006
+ };
48007
+ WorkbenchComponent.prototype.copyToClipboard = function (copyFn) {
48008
+ var controlList = [];
48009
+ for (var _i = 0, _a = this.selectedGuiNodes; _i < _a.length; _i++) {
48010
+ var control = _a[_i];
48011
+ var obj = {};
48012
+ control.serialize(obj);
48013
+ controlList.push(obj);
47770
48014
  }
48015
+ copyFn(JSON.stringify({
48016
+ GUIClipboard: true,
48017
+ controls: controlList
48018
+ }));
47771
48019
  };
47772
- WorkbenchComponent.prototype.updateHitTestForSelection = function (value) {
47773
- if (this._forceSelecting && !value)
47774
- return;
47775
- this.selectedGuiNodes.forEach(function (control) {
47776
- control.isHitTestVisible = value;
47777
- });
48020
+ WorkbenchComponent.prototype.cutToClipboard = function (copyFn) {
48021
+ this.copyToClipboard(copyFn);
48022
+ this._deleteSelectedNodes();
47778
48023
  };
47779
- WorkbenchComponent.prototype.copyToClipboard = function () {
47780
- var _this = this;
47781
- this._clipboard = [];
47782
- if (this._selectAll) {
47783
- var index_2 = 0;
47784
- this.nodes.forEach(function (node) {
47785
- if (index_2++) {
47786
- //skip the first node, the background
47787
- _this._clipboard.push(node);
48024
+ WorkbenchComponent.prototype.pasteFromClipboard = function (clipboardContents) {
48025
+ try {
48026
+ var parsed = JSON.parse(clipboardContents);
48027
+ if (parsed.GUIClipboard) {
48028
+ var newSelection = [];
48029
+ for (var _i = 0, _a = parsed.controls; _i < _a.length; _i++) {
48030
+ var control = _a[_i];
48031
+ newSelection.push(this.appendBlock(_babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["Control"].Parse(control, this.props.globalState.guiTexture)));
47788
48032
  }
47789
- });
48033
+ this.props.globalState.setSelection(newSelection);
48034
+ return true;
48035
+ }
47790
48036
  }
47791
- else {
47792
- this._clipboard = this.selectedGuiNodes;
48037
+ catch (_b) {
48038
+ // don't need an error message
47793
48039
  }
47794
- };
47795
- WorkbenchComponent.prototype.pasteFromClipboard = function () {
47796
- var _this = this;
47797
- this._clipboard.forEach(function (control) {
47798
- _this.CopyGUIControl(control);
47799
- });
48040
+ _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["Logger"].Warn("Paste attempted, but clipboard content was invalid.");
48041
+ return false;
47800
48042
  };
47801
48043
  WorkbenchComponent.prototype.CopyGUIControl = function (original) {
47802
48044
  var _a, _b;
@@ -47814,25 +48056,24 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47814
48056
  else {
47815
48057
  (_b = original.parent) === null || _b === void 0 ? void 0 : _b.addControl(newControl);
47816
48058
  }
47817
- var index_3 = 1;
48059
+ var index_1 = 1;
47818
48060
  while (this.props.globalState.guiTexture.getDescendants(false).filter(
47819
48061
  //search if there are any copies
47820
- function (control) { return control.name === "".concat(newControl.name, " Copy ").concat(index_3); }).length) {
47821
- index_3++;
48062
+ function (control) { return control.name === "".concat(newControl.name, " Copy ").concat(index_1); }).length) {
48063
+ index_1++;
47822
48064
  }
47823
- newControl.name = "".concat(newControl.name, " Copy ").concat(index_3);
47824
- this.props.globalState.onSelectionChangedObservable.notifyObservers(newControl);
48065
+ newControl.name = "".concat(newControl.name, " Copy ").concat(index_1);
48066
+ this.props.globalState.select(newControl);
47825
48067
  }
47826
48068
  };
47827
48069
  WorkbenchComponent.prototype.selectAllGUI = function (node) {
47828
48070
  var _this = this;
47829
- this.globalState.onSelectionChangedObservable.notifyObservers(node);
48071
+ this.globalState.select(node);
47830
48072
  if (node instanceof _babylonjs_gui_2D_controls_control__WEBPACK_IMPORTED_MODULE_3__["Container"]) {
47831
48073
  node.children.forEach(function (child) {
47832
48074
  _this.selectAllGUI(child);
47833
48075
  });
47834
48076
  }
47835
- this._selectAll = true;
47836
48077
  };
47837
48078
  WorkbenchComponent.prototype.componentWillUnmount = function () {
47838
48079
  this.props.globalState.hostDocument.removeEventListener("keyup", this.keyEvent);
@@ -47860,7 +48101,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47860
48101
  WorkbenchComponent.prototype.loadFromJson = function (serializationObject) {
47861
48102
  var _a;
47862
48103
  this.removeEditorTransformation();
47863
- this.globalState.onSelectionChangedObservable.notifyObservers(null);
48104
+ this.props.globalState.setSelection([]);
47864
48105
  if (this.props.globalState.liveGuiTexture) {
47865
48106
  (_a = this.globalState.liveGuiTexture) === null || _a === void 0 ? void 0 : _a.parseContent(serializationObject, true);
47866
48107
  this.synchronizeLiveGUI();
@@ -47879,7 +48120,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47879
48120
  switch (_b.label) {
47880
48121
  case 0:
47881
48122
  this.removeEditorTransformation();
47882
- this.globalState.onSelectionChangedObservable.notifyObservers(null);
48123
+ this.props.globalState.setSelection([]);
47883
48124
  if (!this.props.globalState.liveGuiTexture) return [3 /*break*/, 2];
47884
48125
  return [4 /*yield*/, ((_a = this.globalState.liveGuiTexture) === null || _a === void 0 ? void 0 : _a.parseFromSnippetAsync(snippetId, true))];
47885
48126
  case 1:
@@ -47907,35 +48148,18 @@ var WorkbenchComponent = /** @class */ (function (_super) {
47907
48148
  WorkbenchComponent.prototype.loadToEditor = function () {
47908
48149
  var _this = this;
47909
48150
  this.globalState.guiTexture.rootContainer.children.forEach(function (guiElement) {
47910
- if (guiElement.name === "Art-Board-Background" && guiElement.typeName === "Rectangle") {
47911
- // this.artBoardBackground = guiElement as Rectangle;
47912
- return;
47913
- }
47914
48151
  _this.createNewGuiNode(guiElement);
47915
48152
  });
47916
- if (this.props.globalState.guiTexture.getChildren()[0].children.length) {
47917
- // this.props.globalState.guiTexture.getChildren()[0].children.unshift(this.props.globalState.workbench.artBoardBackground);
47918
- }
47919
- else {
47920
- // this.props.globalState.guiTexture.getChildren()[0].children.push(this.props.globalState.workbench.artBoardBackground);
47921
- }
47922
48153
  this._isOverGUINode = [];
47923
- this.globalState.onSelectionChangedObservable.notifyObservers(null);
48154
+ this.globalState.setSelection([]);
47924
48155
  this.globalState.onFitToWindowObservable.notifyObservers();
47925
48156
  };
47926
- WorkbenchComponent.prototype.changeSelectionHighlight = function (value) {
47927
- var _this = this;
47928
- this._selectedGuiNodes.forEach(function (node) {
47929
- if (_this._outlines) {
47930
- node.isHighlighted = true;
47931
- node.highlightLineWidth = 5;
47932
- }
47933
- else {
47934
- node.isHighlighted = value && node.typeName === "Grid";
47935
- node.highlightLineWidth = 5;
47936
- }
47937
- });
47938
- this.updateHitTestForSelection(value);
48157
+ WorkbenchComponent.prototype.updateNodeOutlines = function () {
48158
+ for (var _i = 0, _a = this._trueRootContainer.getDescendants(); _i < _a.length; _i++) {
48159
+ var guiControl = _a[_i];
48160
+ guiControl.isHighlighted = guiControl.getClassName() === "Grid" && (this.props.globalState.outlines || this.props.globalState.selectedControls.includes(guiControl));
48161
+ guiControl.highlightLineWidth = 5;
48162
+ }
47939
48163
  };
47940
48164
  WorkbenchComponent.prototype.findNodeFromGuiElement = function (guiControl) {
47941
48165
  return this.nodes.filter(function (n) { return n === guiControl; })[0];
@@ -48043,7 +48267,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48043
48267
  }
48044
48268
  else if (dropLocationControl.parent) {
48045
48269
  //dropping inside the controls parent container
48046
- if (dropLocationControl.parent.typeName != "Grid") {
48270
+ if (dropLocationControl.parent.typeName !== "Grid") {
48047
48271
  draggedControlParent.removeControl(draggedControl);
48048
48272
  var index = dropLocationControl.parent.children.indexOf(dropLocationControl);
48049
48273
  var reversed = dropLocationControl.parent.typeName === "StackPanel" || dropLocationControl.parent.typeName === "VirtualKeyboard";
@@ -48070,10 +48294,10 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48070
48294
  }
48071
48295
  }
48072
48296
  else {
48073
- //starting at index 1 because of object "Art-Board-Background" must be at index 0
48074
48297
  draggedControlParent.removeControl(draggedControl);
48075
- draggedControlParent.children.splice(1, 0, draggedControl);
48076
- draggedControl.parent = draggedControlParent;
48298
+ this.trueRootContainer.addControl(draggedControl);
48299
+ this.trueRootContainer.children.pop();
48300
+ this.trueRootContainer.children.splice(0, 0, draggedControl);
48077
48301
  }
48078
48302
  }
48079
48303
  }
@@ -48117,11 +48341,10 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48117
48341
  return index;
48118
48342
  };
48119
48343
  WorkbenchComponent.prototype.isSelected = function (value, guiNode) {
48120
- this.globalState.onSelectionChangedObservable.notifyObservers(guiNode);
48344
+ this.globalState.select(guiNode);
48121
48345
  };
48122
48346
  WorkbenchComponent.prototype._onMove = function (guiControl, evt, startPos, ignorClick) {
48123
48347
  if (ignorClick === void 0) { ignorClick = false; }
48124
- this._liveGuiTextureRerender = false;
48125
48348
  var newX = evt.x - startPos.x;
48126
48349
  var newY = evt.y - startPos.y;
48127
48350
  if (this._setConstraintDirection) {
@@ -48134,6 +48357,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48134
48357
  else if (this._constraintDirection === ConstraintDirection.Y) {
48135
48358
  newX = 0;
48136
48359
  }
48360
+ var referenceAxis = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["Vector2"](newX, newY);
48137
48361
  if (guiControl.typeName === "Line") {
48138
48362
  var line = guiControl;
48139
48363
  var x1 = line.x1.substr(0, line.x1.length - 2); //removing the 'px'
@@ -48146,8 +48370,21 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48146
48370
  line.y2 = Number(y2) + newY;
48147
48371
  return true;
48148
48372
  }
48149
- guiControl.leftInPixels += newX;
48150
- guiControl.topInPixels += newY;
48373
+ var totalRotation = 0;
48374
+ var currentControl = guiControl;
48375
+ while (currentControl) {
48376
+ totalRotation += currentControl.rotation;
48377
+ currentControl = currentControl.parent;
48378
+ }
48379
+ var rotatedReferenceAxis = new _babylonjs_core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_4__["Vector2"](0, 0);
48380
+ // Rotate the reference axis by the total rotation of the control
48381
+ var sinR = Math.sin(-totalRotation);
48382
+ var cosR = Math.cos(-totalRotation);
48383
+ rotatedReferenceAxis.x = cosR * referenceAxis.x - sinR * referenceAxis.y;
48384
+ rotatedReferenceAxis.y = sinR * referenceAxis.x + cosR * referenceAxis.y;
48385
+ // Apply the amount of change
48386
+ guiControl.leftInPixels += rotatedReferenceAxis.x;
48387
+ guiControl.topInPixels += rotatedReferenceAxis.y;
48151
48388
  //convert to percentage
48152
48389
  if (this._responsive) {
48153
48390
  _coordinateHelper__WEBPACK_IMPORTED_MODULE_6__["CoordinateHelper"].convertToPercentage(guiControl, ["left", "top"]);
@@ -48184,7 +48421,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48184
48421
  (_a = this._rootContainer.current) === null || _a === void 0 ? void 0 : _a.setPointerCapture(evt.pointerId);
48185
48422
  if (this._isOverGUINode.length === 0 && !evt.button) {
48186
48423
  if (this._forceSelecting) {
48187
- this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
48424
+ this.props.globalState.setSelection([]);
48188
48425
  }
48189
48426
  return;
48190
48427
  }
@@ -48285,7 +48522,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48285
48522
  WorkbenchComponent.prototype.synchronizeLiveGUI = function () {
48286
48523
  var _this = this;
48287
48524
  if (this.globalState.liveGuiTexture) {
48288
- this.globalState.guiTexture._rootContainer.getDescendants().filter(function (desc) { return desc.name !== "Art-Board-Background"; }).forEach(function (desc) { return desc.dispose(); });
48525
+ this._trueRootContainer.getDescendants().forEach(function (desc) { return desc.dispose(); });
48289
48526
  this.globalState.liveGuiTexture.rootContainer.getDescendants(true).forEach(function (desc) {
48290
48527
  var _a;
48291
48528
  (_a = _this.globalState.liveGuiTexture) === null || _a === void 0 ? void 0 : _a.removeControl(desc);
@@ -48340,7 +48577,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48340
48577
  // if we click in the scene and we don't hit any controls, deselect all
48341
48578
  _this._scene.onAfterRenderObservable.addOnce(function () {
48342
48579
  if (!_this._anyControlClicked) {
48343
- _this.props.globalState.onSelectionChangedObservable.notifyObservers(null);
48580
+ _this.props.globalState.setSelection([]);
48344
48581
  }
48345
48582
  _this._anyControlClicked = false;
48346
48583
  });
@@ -48349,7 +48586,7 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48349
48586
  (_c = this._rootContainer.current) === null || _c === void 0 ? void 0 : _c.addEventListener("pointerup", function (event) {
48350
48587
  _this._panning = false;
48351
48588
  removeObservers();
48352
- _this.props.globalState.guiGizmo.onUp();
48589
+ _this.props.globalState.onPointerUpObservable.notifyObservers(event);
48353
48590
  });
48354
48591
  scene.onKeyboardObservable.add(function (k, e) {
48355
48592
  switch (k.event.key) {
@@ -48370,12 +48607,23 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48370
48607
  break;
48371
48608
  case "g": //outlines
48372
48609
  case "G":
48373
- _this.globalState.onOutlinesObservable.notifyObservers();
48610
+ _this.globalState.outlines = !_this.globalState.outlines;
48374
48611
  break;
48375
48612
  case "f": //fit to window
48376
48613
  case "F":
48377
48614
  _this.globalState.onFitToWindowObservable.notifyObservers();
48378
48615
  break;
48616
+ case "ArrowUp": // move up
48617
+ _this.moveControls(false, k.event.shiftKey ? -ARROW_KEY_MOVEMENT_LARGE : -ARROW_KEY_MOVEMENT_SMALL);
48618
+ break;
48619
+ case "ArrowDown": // move down
48620
+ _this.moveControls(false, k.event.shiftKey ? ARROW_KEY_MOVEMENT_LARGE : ARROW_KEY_MOVEMENT_SMALL);
48621
+ break;
48622
+ case "ArrowLeft": // move left
48623
+ _this.moveControls(true, k.event.shiftKey ? -ARROW_KEY_MOVEMENT_LARGE : -ARROW_KEY_MOVEMENT_SMALL);
48624
+ break;
48625
+ case "ArrowRight": // move right
48626
+ _this.moveControls(true, k.event.shiftKey ? ARROW_KEY_MOVEMENT_LARGE : ARROW_KEY_MOVEMENT_SMALL);
48379
48627
  default:
48380
48628
  break;
48381
48629
  }
@@ -48411,6 +48659,35 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48411
48659
  this.props.globalState.onArtBoardUpdateRequiredObservable.notifyObservers();
48412
48660
  this.props.globalState.onGizmoUpdateRequireObservable.notifyObservers();
48413
48661
  };
48662
+ // Move the selected controls. Can be either on horizontal (leftInPixels) or
48663
+ // vertical (topInPixels) direction
48664
+ WorkbenchComponent.prototype.moveControls = function (moveHorizontal, amount) {
48665
+ for (var _i = 0, _a = this.props.globalState.workbench.selectedGuiNodes; _i < _a.length; _i++) {
48666
+ var selectedControl = _a[_i];
48667
+ if (moveHorizontal) { // move horizontal
48668
+ var prevValue = selectedControl.leftInPixels;
48669
+ selectedControl.leftInPixels += amount;
48670
+ this.props.globalState.onPropertyChangedObservable.notifyObservers({
48671
+ object: selectedControl,
48672
+ property: "leftInPixels",
48673
+ value: selectedControl.leftInPixels,
48674
+ initialValue: prevValue
48675
+ });
48676
+ this.props.globalState.onPropertyGridUpdateRequiredObservable.notifyObservers();
48677
+ }
48678
+ else { // move vertical
48679
+ var prevValue = selectedControl.topInPixels;
48680
+ selectedControl.topInPixels += amount;
48681
+ this.props.globalState.onPropertyChangedObservable.notifyObservers({
48682
+ object: selectedControl,
48683
+ property: "topInPixels",
48684
+ value: selectedControl.topInPixels,
48685
+ initialValue: prevValue
48686
+ });
48687
+ this.props.globalState.onPropertyGridUpdateRequiredObservable.notifyObservers();
48688
+ }
48689
+ }
48690
+ };
48414
48691
  //Get the wheel delta
48415
48692
  WorkbenchComponent.prototype.zoomWheel = function (event) {
48416
48693
  event.preventDefault();
@@ -48445,12 +48722,10 @@ var WorkbenchComponent = /** @class */ (function (_super) {
48445
48722
  if (_this.props.globalState.guiTexture) {
48446
48723
  _this.onMove(evt);
48447
48724
  }
48448
- if (_this.props.globalState.guiGizmo) {
48449
- _this.props.globalState.guiGizmo.onMove(evt);
48450
- }
48725
+ _this.props.globalState.onPointerMoveObservable.notifyObservers(evt);
48451
48726
  }, onPointerDown: function (evt) { return _this.onDown(evt); }, onPointerUp: function (evt) {
48452
48727
  _this.onUp(evt);
48453
- _this.props.globalState.guiGizmo.onUp(evt);
48728
+ _this.props.globalState.onPointerUpObservable.notifyObservers(evt);
48454
48729
  }, ref: this._rootContainer }));
48455
48730
  };
48456
48731
  return WorkbenchComponent;
@@ -48500,10 +48775,12 @@ module.exports = content.locals || {};
48500
48775
  __webpack_require__.r(__webpack_exports__);
48501
48776
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DragOverLocation", function() { return DragOverLocation; });
48502
48777
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GlobalState", function() { return GlobalState; });
48503
- /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babylonjs/core/Misc/observable */ "@babylonjs/core/Misc/observable");
48504
- /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__);
48505
- /* harmony import */ var _sharedUiComponents_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sharedUiComponents/tabs/propertyGrids/lockObject */ "./sharedUiComponents/tabs/propertyGrids/lockObject.ts");
48506
- /* harmony import */ var _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./diagram/coordinateHelper */ "./diagram/coordinateHelper.tsx");
48778
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
48779
+ /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babylonjs/core/Misc/observable */ "@babylonjs/core/Misc/observable");
48780
+ /* harmony import */ var _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
48781
+ /* harmony import */ var _sharedUiComponents_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sharedUiComponents/tabs/propertyGrids/lockObject */ "./sharedUiComponents/tabs/propertyGrids/lockObject.ts");
48782
+ /* harmony import */ var _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./diagram/coordinateHelper */ "./diagram/coordinateHelper.tsx");
48783
+
48507
48784
 
48508
48785
 
48509
48786
 
@@ -48518,51 +48795,91 @@ var DragOverLocation;
48518
48795
  })(DragOverLocation || (DragOverLocation = {}));
48519
48796
  var GlobalState = /** @class */ (function () {
48520
48797
  function GlobalState() {
48521
- this.onSelectionChangedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48522
- this.onResizeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48523
- this.onBuiltObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48524
- this.onResetRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48525
- this.onUpdateRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48526
- this.onLogRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48527
- this.onErrorMessageDialogRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48528
- this.onIsLoadingChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48529
- this.onSelectionBoxMoved = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48530
- this.onNewSceneObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48531
- this.onGuiNodeRemovalObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48532
- this.onPopupClosedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48798
+ this.selectedControls = [];
48799
+ this.onSelectionChangedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48800
+ this.onResizeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48801
+ this.onBuiltObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48802
+ this.onResetRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48803
+ this.onUpdateRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48804
+ this.onLogRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48805
+ this.onErrorMessageDialogRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48806
+ this.onIsLoadingChanged = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48807
+ this.onSelectionBoxMoved = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48808
+ this.onNewSceneObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48809
+ this.onGuiNodeRemovalObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48810
+ this.onPopupClosedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48811
+ this._outlines = false;
48812
+ this.isMultiSelecting = false;
48813
+ this.onOutlineChangedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48533
48814
  this.blockKeyboardEvents = false;
48534
- this.onPropertyChangedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48535
- this.onZoomObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48536
- this.onFitToWindowObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48537
- this.onPanObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48538
- this.onSelectionButtonObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48539
- this.onMoveObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48540
- this.onLoadObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48541
- this.onSaveObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48542
- this.onSnippetLoadObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48543
- this.onSnippetSaveObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48544
- this.onOutlinesObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48545
- this.onResponsiveChangeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48546
- this.onParentingChangeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48547
- this.onPropertyGridUpdateRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48548
- this.onDraggingEndObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48549
- this.onDraggingStartObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48550
- this.onWindowResizeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48551
- this.onGizmoUpdateRequireObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48552
- this.onArtBoardUpdateRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48553
- this.onBackgroundColorChangeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]();
48815
+ this.onPropertyChangedObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48816
+ this.onZoomObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48817
+ this.onFitToWindowObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48818
+ this.onPanObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48819
+ this.onSelectionButtonObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48820
+ this.onLoadObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48821
+ this.onSaveObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48822
+ this.onSnippetLoadObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48823
+ this.onSnippetSaveObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48824
+ this.onResponsiveChangeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48825
+ this.onParentingChangeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48826
+ this.onDropObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48827
+ this.onPropertyGridUpdateRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48828
+ this.onDraggingEndObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48829
+ this.onDraggingStartObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48830
+ this.onWindowResizeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48831
+ this.onGizmoUpdateRequireObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48832
+ this.onArtBoardUpdateRequiredObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48833
+ this.onBackgroundColorChangeObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48834
+ this.onPointerMoveObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48835
+ this.onPointerUpObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48554
48836
  this.draggedControl = null;
48837
+ this.onCopyObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48838
+ this.onCutObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48839
+ this.onPasteObservable = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Observable"]();
48555
48840
  this.isSaving = false;
48556
- this.lockObject = new _sharedUiComponents_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_1__["LockObject"]();
48557
- this.controlCamera = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["DataStorage"].ReadBoolean("ControlCamera", true);
48841
+ this.lockObject = new _sharedUiComponents_tabs_propertyGrids_lockObject__WEBPACK_IMPORTED_MODULE_2__["LockObject"]();
48842
+ this.controlCamera = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["DataStorage"].ReadBoolean("ControlCamera", true);
48558
48843
  var defaultBrightness = 204 / 255.0;
48559
- var r = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["DataStorage"].ReadNumber("BackgroundColorR", defaultBrightness);
48560
- var g = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["DataStorage"].ReadNumber("BackgroundColorG", defaultBrightness);
48561
- var b = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["DataStorage"].ReadNumber("BackgroundColorB", defaultBrightness);
48562
- this.backgroundColor = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["Color3"](r, g, b);
48844
+ var r = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["DataStorage"].ReadNumber("BackgroundColorR", defaultBrightness);
48845
+ var g = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["DataStorage"].ReadNumber("BackgroundColorG", defaultBrightness);
48846
+ var b = _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["DataStorage"].ReadNumber("BackgroundColorB", defaultBrightness);
48847
+ this.backgroundColor = new _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["Color3"](r, g, b);
48563
48848
  this.onBackgroundColorChangeObservable.notifyObservers();
48564
- _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_2__["CoordinateHelper"].globalState = this;
48849
+ _diagram_coordinateHelper__WEBPACK_IMPORTED_MODULE_3__["CoordinateHelper"].globalState = this;
48565
48850
  }
48851
+ /** adds copy, cut and paste listeners to the host window */
48852
+ GlobalState.prototype.registerEventListeners = function () {
48853
+ var _this = this;
48854
+ this.hostDocument.addEventListener("copy", function (event) {
48855
+ var target = event.target;
48856
+ if (!target.isContentEditable && target.tagName !== "input" && target.tagName !== "textarea") {
48857
+ _this.onCopyObservable.notifyObservers(function (content) { var _a; return (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.setData("text/plain", content); });
48858
+ event.preventDefault();
48859
+ }
48860
+ });
48861
+ this.hostDocument.addEventListener("cut", function (event) {
48862
+ var target = event.target;
48863
+ if (!target.isContentEditable && target.tagName !== "input" && target.tagName !== "textarea") {
48864
+ _this.onCutObservable.notifyObservers(function (content) { var _a; return (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.setData("text/plain", content); });
48865
+ event.preventDefault();
48866
+ }
48867
+ });
48868
+ this.hostDocument.addEventListener("paste", function (event) {
48869
+ var _a;
48870
+ var target = event.target;
48871
+ if (!target.isContentEditable && target.tagName !== "input" && target.tagName !== "textarea") {
48872
+ _this.onPasteObservable.notifyObservers(((_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData("text")) || "");
48873
+ event.preventDefault();
48874
+ }
48875
+ });
48876
+ this.hostDocument.addEventListener("keydown", function (evt) { return _this._updateKeys(evt); });
48877
+ this.hostDocument.addEventListener("keyup", function (evt) { return _this._updateKeys(evt); });
48878
+ this.hostDocument.addEventListener("keypress", function (evt) { return _this._updateKeys(evt); });
48879
+ };
48880
+ GlobalState.prototype._updateKeys = function (event) {
48881
+ this.isMultiSelecting = event.ctrlKey;
48882
+ };
48566
48883
  Object.defineProperty(GlobalState.prototype, "backgroundColor", {
48567
48884
  get: function () {
48568
48885
  return this._backgroundColor;
@@ -48570,13 +48887,49 @@ var GlobalState = /** @class */ (function () {
48570
48887
  set: function (value) {
48571
48888
  this._backgroundColor = value;
48572
48889
  this.onBackgroundColorChangeObservable.notifyObservers();
48573
- _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["DataStorage"].WriteNumber("BackgroundColorR", value.r);
48574
- _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["DataStorage"].WriteNumber("BackgroundColorG", value.g);
48575
- _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_0__["DataStorage"].WriteNumber("BackgroundColorB", value.b);
48890
+ _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["DataStorage"].WriteNumber("BackgroundColorR", value.r);
48891
+ _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["DataStorage"].WriteNumber("BackgroundColorG", value.g);
48892
+ _babylonjs_core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__["DataStorage"].WriteNumber("BackgroundColorB", value.b);
48576
48893
  },
48577
48894
  enumerable: false,
48578
48895
  configurable: true
48579
48896
  });
48897
+ Object.defineProperty(GlobalState.prototype, "outlines", {
48898
+ get: function () {
48899
+ return this._outlines;
48900
+ },
48901
+ set: function (value) {
48902
+ this._outlines = value;
48903
+ this.onOutlineChangedObservable.notifyObservers();
48904
+ },
48905
+ enumerable: false,
48906
+ configurable: true
48907
+ });
48908
+ GlobalState.prototype.select = function (control) {
48909
+ if (this.isMultiSelecting && this.isMultiSelectable(control)) {
48910
+ var index = this.selectedControls.indexOf(control);
48911
+ if (index === -1) {
48912
+ this.setSelection(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__spreadArray"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__spreadArray"])([], this.selectedControls, true), [control], false));
48913
+ }
48914
+ else {
48915
+ this.setSelection(this.selectedControls.filter(function (node) { return node !== control; }));
48916
+ }
48917
+ }
48918
+ else {
48919
+ this.setSelection([control]);
48920
+ }
48921
+ };
48922
+ GlobalState.prototype.setSelection = function (controls) {
48923
+ this.selectedControls = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__spreadArray"])([], controls, true);
48924
+ this.onSelectionChangedObservable.notifyObservers();
48925
+ };
48926
+ GlobalState.prototype.isMultiSelectable = function (control) {
48927
+ if (this.selectedControls.length === 0)
48928
+ return true;
48929
+ if (this.selectedControls[0].parent === control.parent)
48930
+ return true;
48931
+ return false;
48932
+ };
48580
48933
  return GlobalState;
48581
48934
  }());
48582
48935
 
@@ -48653,6 +49006,7 @@ var GUIEditor = /** @class */ (function () {
48653
49006
  globalState.customSave = options.customSave;
48654
49007
  globalState.customLoad = options.customLoad;
48655
49008
  globalState.hostWindow = hostElement.ownerDocument.defaultView;
49009
+ globalState.registerEventListeners();
48656
49010
  graphEditor = react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_workbenchEditor__WEBPACK_IMPORTED_MODULE_4__["WorkbenchEditor"], {
48657
49011
  globalState: globalState,
48658
49012
  });
@@ -48837,7 +49191,6 @@ var GUINodeTools = /** @class */ (function () {
48837
49191
  return element;
48838
49192
  case "Grid":
48839
49193
  element = new _babylonjs_gui_2D_controls_button__WEBPACK_IMPORTED_MODULE_0__["Grid"]("Grid");
48840
- element.isHighlighted = true;
48841
49194
  element.addColumnDefinition(1.0, false);
48842
49195
  element.addRowDefinition(1.0, false);
48843
49196
  element.isPointerBlocker = true;
@@ -48847,7 +49200,6 @@ var GUINodeTools = /** @class */ (function () {
48847
49200
  return element;
48848
49201
  case "StackPanel":
48849
49202
  element = new _babylonjs_gui_2D_controls_button__WEBPACK_IMPORTED_MODULE_0__["StackPanel"]("StackPanel");
48850
- element.isHighlighted = true;
48851
49203
  element.width = "100%";
48852
49204
  element.height = "100%";
48853
49205
  return element;
@@ -49645,6 +49997,17 @@ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' w
49645
49997
 
49646
49998
  /***/ }),
49647
49999
 
50000
+ /***/ "./sharedUiComponents/imgs/fontWeightIcon.svg":
50001
+ /*!****************************************************!*\
50002
+ !*** ./sharedUiComponents/imgs/fontWeightIcon.svg ***!
50003
+ \****************************************************/
50004
+ /*! no static exports found */
50005
+ /***/ (function(module, exports) {
50006
+
50007
+ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M24.35,20.45,20.22,8.81l0-.12a1.07,1.07,0,0,0-1.94.15L14.77,18.6,11.2,8.54l0-.09a.61.61,0,0,0-1.1.09L5.62,21.05a.61.61,0,0,0,1.11.48l0-.07,1.29-3.63h5.16l1.29,3.63,0,.07a.61.61,0,0,0,.53.33h0a1.07,1.07,0,0,0,1-.6l1.12-3.14h4.09l1.08,3.07.05.1a1.07,1.07,0,0,0,.95.57,1.12,1.12,0,0,0,.35-.06A1.05,1.05,0,0,0,24.35,20.45ZM8.48,16.61l2.15-6.06,2.15,6.06ZM18,16l1.28-3.63L20.52,16Z'/%3E%3C/svg%3E"
50008
+
50009
+ /***/ }),
50010
+
49648
50011
  /***/ "./sharedUiComponents/imgs/gridColumnIconDark.svg":
49649
50012
  /*!********************************************************!*\
49650
50013
  !*** ./sharedUiComponents/imgs/gridColumnIconDark.svg ***!
@@ -49711,6 +50074,17 @@ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/
49711
50074
 
49712
50075
  /***/ }),
49713
50076
 
50077
+ /***/ "./sharedUiComponents/imgs/pivotIcon.svg":
50078
+ /*!***********************************************!*\
50079
+ !*** ./sharedUiComponents/imgs/pivotIcon.svg ***!
50080
+ \***********************************************/
50081
+ /*! no static exports found */
50082
+ /***/ (function(module, exports) {
50083
+
50084
+ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath d='M15,6.9A8.1,8.1,0,1,0,23.1,15,8.1,8.1,0,0,0,15,6.9Zm6.86,7.49H15.63V8.14A6.89,6.89,0,0,1,21.86,14.39ZM14.41,8.14v6.25H8.14A6.89,6.89,0,0,1,14.41,8.14ZM8.14,15.61h6.27v6.25A6.89,6.89,0,0,1,8.14,15.61Zm7.49,6.25V15.61h6.23A6.89,6.89,0,0,1,15.63,21.86Z' style='fill:%23333'/%3E%3C/svg%3E"
50085
+
50086
+ /***/ }),
50087
+
49714
50088
  /***/ "./sharedUiComponents/imgs/positionIcon.svg":
49715
50089
  /*!**************************************************!*\
49716
50090
  !*** ./sharedUiComponents/imgs/positionIcon.svg ***!
@@ -49920,6 +50294,39 @@ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/
49920
50294
 
49921
50295
  /***/ }),
49922
50296
 
50297
+ /***/ "./sharedUiComponents/imgs/toggleMixedIcon.svg":
50298
+ /*!*****************************************************!*\
50299
+ !*** ./sharedUiComponents/imgs/toggleMixedIcon.svg ***!
50300
+ \*****************************************************/
50301
+ /*! no static exports found */
50302
+ /***/ (function(module, exports) {
50303
+
50304
+ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M25,25H15a5,5,0,0,1,0-10H25a5,5,0,0,1,0,10ZM15,16.5a3.5,3.5,0,0,0,0,7H25a3.5,3.5,0,0,0,0-7Z'/%3E%3Crect class='cls-1' x='16.03' y='19.25' width='7.94' height='1.5' rx='0.75'/%3E%3C/svg%3E"
50305
+
50306
+ /***/ }),
50307
+
50308
+ /***/ "./sharedUiComponents/imgs/toggleOffIcon.svg":
50309
+ /*!***************************************************!*\
50310
+ !*** ./sharedUiComponents/imgs/toggleOffIcon.svg ***!
50311
+ \***************************************************/
50312
+ /*! no static exports found */
50313
+ /***/ (function(module, exports) {
50314
+
50315
+ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M15.25,22.5a2.5,2.5,0,1,1,2.5-2.5A2.5,2.5,0,0,1,15.25,22.5Z' style='fill:%23333'/%3E%3Cpath d='M25,25H15a5,5,0,0,1,0-10H25a5,5,0,0,1,0,10ZM15,16.5a3.5,3.5,0,0,0,0,7H25a3.5,3.5,0,0,0,0-7Z' style='fill:%23333'/%3E%3C/svg%3E"
50316
+
50317
+ /***/ }),
50318
+
50319
+ /***/ "./sharedUiComponents/imgs/toggleOnIcon.svg":
50320
+ /*!**************************************************!*\
50321
+ !*** ./sharedUiComponents/imgs/toggleOnIcon.svg ***!
50322
+ \**************************************************/
50323
+ /*! no static exports found */
50324
+ /***/ (function(module, exports) {
50325
+
50326
+ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M24.75,22.5a2.5,2.5,0,1,0-2.5-2.5A2.5,2.5,0,0,0,24.75,22.5Z' style='fill:%23333'/%3E%3Cpath d='M10,20a5,5,0,0,1,5-5H25a5,5,0,0,1,0,10H15A5,5,0,0,1,10,20Zm5-3.5a3.5,3.5,0,0,0,0,7H25a3.5,3.5,0,0,0,0-7Z' style='fill:%23333'/%3E%3C/svg%3E"
50327
+
50328
+ /***/ }),
50329
+
49923
50330
  /***/ "./sharedUiComponents/imgs/vAlignBottomIcon.svg":
49924
50331
  /*!******************************************************!*\
49925
50332
  !*** ./sharedUiComponents/imgs/vAlignBottomIcon.svg ***!
@@ -49995,39 +50402,6 @@ module.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' w
49995
50402
 
49996
50403
  module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M18.08,6.79a1.85,1.85,0,0,1,1.85,1.85V21.36a1.85,1.85,0,0,1-1.85,1.85H11.92a1.85,1.85,0,0,1-1.85-1.85V8.64a1.85,1.85,0,0,1,1.85-1.85Zm0,1.23H11.92a.61.61,0,0,0-.61.62V21.36a.61.61,0,0,0,.61.62h6.16a.61.61,0,0,0,.61-.62V8.64A.61.61,0,0,0,18.08,8Zm-.8,8.18a.62.62,0,0,1,.07.8l-.06.07L15.44,19a.62.62,0,0,1-.81.06L14.56,19l-1.85-1.89a.61.61,0,0,1,.81-.92l.07.06L15,17.65l1.41-1.44A.62.62,0,0,1,17.28,16.2Zm-1.84-5.12L17.29,13a.64.64,0,0,1,0,.88.63.63,0,0,1-.87,0L15,12.39l-1.41,1.44a.62.62,0,1,1-.88-.87l1.85-1.88A.61.61,0,0,1,15.44,11.08Z'/%3E%3C/svg%3E"
49997
50404
 
49998
- /***/ }),
49999
-
50000
- /***/ "./sharedUiComponents/lines/buttonLineComponent.tsx":
50001
- /*!**********************************************************!*\
50002
- !*** ./sharedUiComponents/lines/buttonLineComponent.tsx ***!
50003
- \**********************************************************/
50004
- /*! exports provided: ButtonLineComponent */
50005
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
50006
-
50007
- "use strict";
50008
- __webpack_require__.r(__webpack_exports__);
50009
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ButtonLineComponent", function() { return ButtonLineComponent; });
50010
- /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
50011
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
50012
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
50013
-
50014
-
50015
- var ButtonLineComponent = /** @class */ (function (_super) {
50016
- Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(ButtonLineComponent, _super);
50017
- function ButtonLineComponent(props) {
50018
- return _super.call(this, props) || this;
50019
- }
50020
- ButtonLineComponent.prototype.render = function () {
50021
- var _this = this;
50022
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "buttonLine" },
50023
- this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
50024
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("button", { onClick: function () { return _this.props.onClick(); } }, this.props.label)));
50025
- };
50026
- return ButtonLineComponent;
50027
- }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
50028
-
50029
-
50030
-
50031
50405
  /***/ }),
50032
50406
 
50033
50407
  /***/ "./sharedUiComponents/lines/checkBoxLineComponent.tsx":
@@ -50049,12 +50423,14 @@ __webpack_require__.r(__webpack_exports__);
50049
50423
 
50050
50424
 
50051
50425
 
50426
+ var toggleOnIcon = __webpack_require__(/*! ../imgs/toggleOnIcon.svg */ "./sharedUiComponents/imgs/toggleOnIcon.svg");
50427
+ var toggleMixedIcon = __webpack_require__(/*! ../imgs/toggleMixedIcon.svg */ "./sharedUiComponents/imgs/toggleMixedIcon.svg");
50428
+ var toggleOffIcon = __webpack_require__(/*! ../imgs/toggleOffIcon.svg */ "./sharedUiComponents/imgs/toggleOffIcon.svg");
50052
50429
  var CheckBoxLineComponent = /** @class */ (function (_super) {
50053
50430
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(CheckBoxLineComponent, _super);
50054
50431
  function CheckBoxLineComponent(props) {
50055
50432
  var _this = _super.call(this, props) || this;
50056
50433
  _this._localChange = false;
50057
- _this._uniqueId = CheckBoxLineComponent._UniqueIdSeed++;
50058
50434
  if (_this.props.isSelected) {
50059
50435
  _this.state = { isSelected: _this.props.isSelected(), isConflict: false };
50060
50436
  }
@@ -50067,18 +50443,18 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
50067
50443
  return _this;
50068
50444
  }
50069
50445
  CheckBoxLineComponent.prototype.shouldComponentUpdate = function (nextProps, nextState) {
50070
- var currentState;
50446
+ var selected;
50071
50447
  if (nextProps.isSelected) {
50072
- currentState = nextProps.isSelected();
50448
+ selected = nextProps.isSelected();
50073
50449
  }
50074
50450
  else {
50075
- currentState = nextProps.target[nextProps.propertyName] === true;
50451
+ selected = nextProps.target[nextProps.propertyName] === true;
50076
50452
  if (nextProps.target[nextProps.propertyName] === _targetsProxy__WEBPACK_IMPORTED_MODULE_3__["conflictingValuesPlaceholder"]) {
50077
50453
  nextState.isConflict = true;
50078
50454
  }
50079
50455
  }
50080
- if (currentState !== nextState.isSelected || this._localChange) {
50081
- nextState.isSelected = currentState;
50456
+ if (selected !== nextState.isSelected || this._localChange) {
50457
+ nextState.isSelected = selected;
50082
50458
  this._localChange = false;
50083
50459
  return true;
50084
50460
  }
@@ -50112,16 +50488,17 @@ var CheckBoxLineComponent = /** @class */ (function (_super) {
50112
50488
  };
50113
50489
  CheckBoxLineComponent.prototype.render = function () {
50114
50490
  var _this = this;
50491
+ var icon = this.state.isConflict ? toggleMixedIcon : (this.state.isSelected) ? toggleOnIcon : toggleOffIcon;
50115
50492
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "checkBoxLine" },
50116
50493
  this.props.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }),
50117
50494
  this.props.label &&
50118
50495
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.iconLabel }, this.props.label),
50119
50496
  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(); } }),
50120
50497
  !this.props.faIcons && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "checkBox" },
50121
- 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 }),
50122
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { htmlFor: "checkbox" + this._uniqueId, className: "lbl".concat(!!this.props.disabled ? " disabled" : "") }))));
50498
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("label", { className: "container" },
50499
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkbox", className: "cbx hidden ".concat(this.state.isConflict ? "conflict" : ""), checked: this.state.isSelected, onChange: function () { return _this.onChange(); }, disabled: !!this.props.disabled }),
50500
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "icon", src: icon, alt: this.props.label })))));
50123
50501
  };
50124
- CheckBoxLineComponent._UniqueIdSeed = 0;
50125
50502
  return CheckBoxLineComponent;
50126
50503
  }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
50127
50504
 
@@ -50372,11 +50749,11 @@ var ColorLineComponent = /** @class */ (function (_super) {
50372
50749
  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) {
50373
50750
  _this.setColor(_this.convertToColor(color));
50374
50751
  } })),
50375
- 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) {
50752
+ 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) {
50376
50753
  _this.setColorFromString(newValue);
50377
50754
  }, onPropertyChangedObservable: this.props.onPropertyChangedObservable })),
50378
50755
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "copy hoverIcon", onClick: function () { return _this.copyToClipboard(); }, title: "Copy to clipboard" },
50379
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "" })),
50756
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: copyIcon, alt: "Copy" })),
50380
50757
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "expand hoverIcon", onClick: function () { return _this.switchExpandState(); }, title: "Expand" }, chevron)),
50381
50758
  this.state.isExpanded && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "secondLine" },
50382
50759
  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); } }),
@@ -50700,6 +51077,89 @@ var FloatLineComponent = /** @class */ (function (_super) {
50700
51077
 
50701
51078
 
50702
51079
 
51080
+ /***/ }),
51081
+
51082
+ /***/ "./sharedUiComponents/lines/iconComponent.tsx":
51083
+ /*!****************************************************!*\
51084
+ !*** ./sharedUiComponents/lines/iconComponent.tsx ***!
51085
+ \****************************************************/
51086
+ /*! exports provided: IconComponent */
51087
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
51088
+
51089
+ "use strict";
51090
+ __webpack_require__.r(__webpack_exports__);
51091
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IconComponent", function() { return IconComponent; });
51092
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
51093
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
51094
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
51095
+
51096
+
51097
+ var IconComponent = /** @class */ (function (_super) {
51098
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(IconComponent, _super);
51099
+ function IconComponent() {
51100
+ return _super !== null && _super.apply(this, arguments) || this;
51101
+ }
51102
+ IconComponent.prototype.render = function () {
51103
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: this.props.icon, title: this.props.label, alt: this.props.label, color: "black", className: "icon", onDragStart: function (evt) { return evt.preventDefault(); } });
51104
+ };
51105
+ return IconComponent;
51106
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
51107
+
51108
+
51109
+
51110
+ /***/ }),
51111
+
51112
+ /***/ "./sharedUiComponents/lines/inputArrowsComponent.tsx":
51113
+ /*!***********************************************************!*\
51114
+ !*** ./sharedUiComponents/lines/inputArrowsComponent.tsx ***!
51115
+ \***********************************************************/
51116
+ /*! exports provided: InputArrowsComponent */
51117
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
51118
+
51119
+ "use strict";
51120
+ __webpack_require__.r(__webpack_exports__);
51121
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputArrowsComponent", function() { return InputArrowsComponent; });
51122
+ /* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
51123
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
51124
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
51125
+
51126
+
51127
+ var upArrowIcon = __webpack_require__(/*! ./valueUpArrowIcon.svg */ "./sharedUiComponents/lines/valueUpArrowIcon.svg");
51128
+ var downArrowIcon = __webpack_require__(/*! ./valueDownArrowIcon.svg */ "./sharedUiComponents/lines/valueDownArrowIcon.svg");
51129
+ var InputArrowsComponent = /** @class */ (function (_super) {
51130
+ Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(InputArrowsComponent, _super);
51131
+ function InputArrowsComponent() {
51132
+ var _this = _super !== null && _super.apply(this, arguments) || this;
51133
+ _this._arrowsRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
51134
+ _this._drag = function (event) {
51135
+ _this.props.incrementValue(-event.movementY);
51136
+ };
51137
+ _this._releaseListener = function () {
51138
+ var _a, _b;
51139
+ _this.props.setDragging(false);
51140
+ (_a = _this._arrowsRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.exitPointerLock();
51141
+ window.removeEventListener("pointerup", _this._releaseListener);
51142
+ (_b = _this._arrowsRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.removeEventListener("mousemove", _this._drag);
51143
+ };
51144
+ return _this;
51145
+ }
51146
+ InputArrowsComponent.prototype.render = function () {
51147
+ var _this = this;
51148
+ return react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "arrows", ref: this._arrowsRef, onPointerDown: function (event) {
51149
+ var _a, _b;
51150
+ _this.props.setDragging(true);
51151
+ (_a = _this._arrowsRef.current) === null || _a === void 0 ? void 0 : _a.requestPointerLock();
51152
+ window.addEventListener("pointerup", _this._releaseListener);
51153
+ (_b = _this._arrowsRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.addEventListener("mousemove", _this._drag);
51154
+ }, onDragStart: function (evt) { return evt.preventDefault(); } },
51155
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "upArrowIcon", src: upArrowIcon, alt: "Increase Value" }),
51156
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { className: "downArrowIcon", src: downArrowIcon, alt: "Increase Value" }));
51157
+ };
51158
+ return InputArrowsComponent;
51159
+ }(react__WEBPACK_IMPORTED_MODULE_1__["Component"]));
51160
+
51161
+
51162
+
50703
51163
  /***/ }),
50704
51164
 
50705
51165
  /***/ "./sharedUiComponents/lines/numericInputComponent.tsx":
@@ -51052,7 +51512,7 @@ var SliderLineComponent = /** @class */ (function (_super) {
51052
51512
  }, onChange: function (evt) {
51053
51513
  var changed = _this.prepareDataToRead(_this.state.value);
51054
51514
  _this.onChange(changed);
51055
- } }),
51515
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable }),
51056
51516
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "slider" },
51057
51517
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { className: "range", type: "range", step: this.props.step, min: this.prepareDataToRead(this.props.minimum), max: this.prepareDataToRead(this.props.maximum), value: this.prepareDataToRead(this.state.value), onInput: function (evt) { return _this.onInput(evt.target.value); }, onChange: function (evt) { return _this.onChange(evt.target.value); } }))));
51058
51518
  };
@@ -51138,6 +51598,8 @@ __webpack_require__.r(__webpack_exports__);
51138
51598
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
51139
51599
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
51140
51600
  /* harmony import */ var _targetsProxy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./targetsProxy */ "./sharedUiComponents/lines/targetsProxy.tsx");
51601
+ /* harmony import */ var _inputArrowsComponent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./inputArrowsComponent */ "./sharedUiComponents/lines/inputArrowsComponent.tsx");
51602
+
51141
51603
 
51142
51604
 
51143
51605
 
@@ -51146,7 +51608,10 @@ var TextInputLineComponent = /** @class */ (function (_super) {
51146
51608
  function TextInputLineComponent(props) {
51147
51609
  var _this = _super.call(this, props) || this;
51148
51610
  _this._localChange = false;
51149
- _this.state = { value: (_this.props.value !== undefined ? _this.props.value : _this.props.target[_this.props.propertyName]) || "" };
51611
+ _this.state = {
51612
+ value: (_this.props.value !== undefined ? _this.props.value : _this.props.target[_this.props.propertyName]) || "",
51613
+ dragging: false
51614
+ };
51150
51615
  return _this;
51151
51616
  }
51152
51617
  TextInputLineComponent.prototype.componentWillUnmount = function () {
@@ -51162,6 +51627,8 @@ var TextInputLineComponent = /** @class */ (function (_super) {
51162
51627
  nextState.value = newValue || "";
51163
51628
  return true;
51164
51629
  }
51630
+ if (nextState.dragging != this.state.dragging)
51631
+ return true;
51165
51632
  return false;
51166
51633
  };
51167
51634
  TextInputLineComponent.prototype.raiseOnPropertyChanged = function (newValue, previousValue) {
@@ -51200,18 +51667,43 @@ var TextInputLineComponent = /** @class */ (function (_super) {
51200
51667
  }
51201
51668
  this.raiseOnPropertyChanged(value, store);
51202
51669
  };
51670
+ TextInputLineComponent.prototype.incrementValue = function (amount) {
51671
+ if (this.props.step) {
51672
+ amount *= this.props.step;
51673
+ }
51674
+ if (this.props.arrowsIncrement) {
51675
+ this.props.arrowsIncrement(amount);
51676
+ return;
51677
+ }
51678
+ var currentValue = parseFloat(this.state.value);
51679
+ this.updateValue((currentValue + amount).toFixed(2));
51680
+ };
51681
+ TextInputLineComponent.prototype.onKeyDown = function (event) {
51682
+ if (this.props.arrows) {
51683
+ if (event.key === "ArrowUp") {
51684
+ this.incrementValue(1);
51685
+ event.preventDefault();
51686
+ }
51687
+ if (event.key === "ArrowDown") {
51688
+ this.incrementValue(-1);
51689
+ event.preventDefault();
51690
+ }
51691
+ }
51692
+ };
51203
51693
  TextInputLineComponent.prototype.render = function () {
51204
51694
  var _this = this;
51205
51695
  var value = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] ? "" : this.state.value;
51206
51696
  var placeholder = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] ? _targetsProxy__WEBPACK_IMPORTED_MODULE_2__["conflictingValuesPlaceholder"] : "";
51207
51697
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: this.props.unit !== undefined ? "textInputLine withUnits" : "textInputLine" },
51208
51698
  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" }),
51209
- (!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)),
51210
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "value" + (this.props.noUnderline === true ? " noUnderline" : "") },
51699
+ (this.props.label !== undefined) && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "label", title: this.props.label }, this.props.label)),
51700
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "value".concat(this.props.noUnderline === true ? " noUnderline" : "").concat(this.props.arrows ? " hasArrows" : "").concat(this.state.dragging ? " dragging" : "") },
51211
51701
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { value: value, onBlur: function () {
51212
51702
  _this.props.lockObject.lock = false;
51213
51703
  _this.updateValue((_this.props.value !== undefined ? _this.props.value : _this.props.target[_this.props.propertyName]) || "");
51214
- }, onFocus: function () { return (_this.props.lockObject.lock = true); }, onChange: function (evt) { return _this.updateValue(evt.target.value); }, placeholder: placeholder })),
51704
+ }, onFocus: function () { return (_this.props.lockObject.lock = true); }, onChange: function (evt) { return _this.updateValue(evt.target.value); }, onKeyDown: function (evt) { return _this.onKeyDown(evt); }, placeholder: placeholder }),
51705
+ this.props.arrows &&
51706
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_inputArrowsComponent__WEBPACK_IMPORTED_MODULE_3__["InputArrowsComponent"], { incrementValue: function (amount) { return _this.incrementValue(amount); }, setDragging: function (dragging) { return _this.setState({ dragging: dragging }); } })),
51215
51707
  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)
51216
51708
  _this.props.onUnitClicked(_this.props.unit || ""); } }, this.props.unit)));
51217
51709
  };
@@ -51274,6 +51766,28 @@ var TextLineComponent = /** @class */ (function (_super) {
51274
51766
 
51275
51767
 
51276
51768
 
51769
+ /***/ }),
51770
+
51771
+ /***/ "./sharedUiComponents/lines/valueDownArrowIcon.svg":
51772
+ /*!*********************************************************!*\
51773
+ !*** ./sharedUiComponents/lines/valueDownArrowIcon.svg ***!
51774
+ \*********************************************************/
51775
+ /*! no static exports found */
51776
+ /***/ (function(module, exports) {
51777
+
51778
+ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M4.09,5.55a.61.61,0,0,1,.85,0l2,2V1.79a.6.6,0,1,1,1.2,0V7.52l2-2a.61.61,0,0,1,.85,0,.6.6,0,0,1,0,.84l-3,3a.6.6,0,0,1-.84,0l-3-3A.6.6,0,0,1,4.09,5.55Z'/%3E%3C/svg%3E"
51779
+
51780
+ /***/ }),
51781
+
51782
+ /***/ "./sharedUiComponents/lines/valueUpArrowIcon.svg":
51783
+ /*!*******************************************************!*\
51784
+ !*** ./sharedUiComponents/lines/valueUpArrowIcon.svg ***!
51785
+ \*******************************************************/
51786
+ /*! no static exports found */
51787
+ /***/ (function(module, exports) {
51788
+
51789
+ module.exports = "data:image/svg+xml,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23333;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M4.09,9.45a.6.6,0,0,1,0-.84l3-3a.6.6,0,0,1,.84,0l3,3a.6.6,0,0,1,0,.84.61.61,0,0,1-.85,0l-2-2v5.73a.6.6,0,0,1-1.2,0V7.48l-2,2A.61.61,0,0,1,4.09,9.45Z'/%3E%3C/svg%3E"
51790
+
51277
51791
  /***/ }),
51278
51792
 
51279
51793
  /***/ "./sharedUiComponents/stringTools.ts":
@@ -51418,16 +51932,19 @@ __webpack_require__.r(__webpack_exports__);
51418
51932
  var Tools = /** @class */ (function () {
51419
51933
  function Tools() {
51420
51934
  }
51421
- Tools.LookForItem = function (item, selectedEntity, firstIteration) {
51935
+ Tools.LookForItems = function (item, selectedEntities, firstIteration) {
51422
51936
  if (firstIteration === void 0) { firstIteration = true; }
51423
- if (!firstIteration && item === selectedEntity) {
51937
+ if (selectedEntities.length == 0) {
51938
+ return false;
51939
+ }
51940
+ if (!firstIteration && selectedEntities.includes(item)) {
51424
51941
  return true;
51425
51942
  }
51426
51943
  var children = item.getChildren ? item.getChildren() : item.children;
51427
51944
  if (children) {
51428
51945
  for (var _i = 0, children_1 = children; _i < children_1.length; _i++) {
51429
51946
  var child = children_1[_i];
51430
- if (Tools.LookForItem(child, selectedEntity, false)) {
51947
+ if (Tools.LookForItems(child, selectedEntities, false)) {
51431
51948
  return true;
51432
51949
  }
51433
51950
  }
@@ -51517,8 +52034,10 @@ __webpack_require__.r(__webpack_exports__);
51517
52034
  /* harmony import */ var _sharedComponents_messageDialog__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./sharedComponents/messageDialog */ "./sharedComponents/messageDialog.tsx");
51518
52035
  /* harmony import */ var _components_sceneExplorer_sceneExplorerComponent__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/sceneExplorer/sceneExplorerComponent */ "./components/sceneExplorer/sceneExplorerComponent.tsx");
51519
52036
  /* harmony import */ var _components_commandBarComponent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/commandBarComponent */ "./components/commandBarComponent.tsx");
51520
- /* harmony import */ var _diagram_guiGizmo__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./diagram/guiGizmo */ "./diagram/guiGizmo.tsx");
52037
+ /* harmony import */ var _diagram_guiGizmoWrapper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./diagram/guiGizmoWrapper */ "./diagram/guiGizmoWrapper.tsx");
51521
52038
  /* harmony import */ var _diagram_artBoard__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./diagram/artBoard */ "./diagram/artBoard.tsx");
52039
+ /* harmony import */ var _controlTypes__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./controlTypes */ "./controlTypes.ts");
52040
+
51522
52041
 
51523
52042
 
51524
52043
 
@@ -51534,24 +52053,6 @@ __webpack_require__.r(__webpack_exports__);
51534
52053
 
51535
52054
  __webpack_require__(/*! ./main.scss */ "./main.scss");
51536
52055
  __webpack_require__(/*! ./scss/header.scss */ "./scss/header.scss");
51537
- var rectangleIcon = __webpack_require__(/*! ../public/imgs/rectangleIcon.svg */ "../public/imgs/rectangleIcon.svg");
51538
- var ellipseIcon = __webpack_require__(/*! ../public/imgs/ellipseIcon.svg */ "../public/imgs/ellipseIcon.svg");
51539
- var gridIcon = __webpack_require__(/*! ../public/imgs/gridIcon.svg */ "../public/imgs/gridIcon.svg");
51540
- var stackPanelIcon = __webpack_require__(/*! ../public/imgs/stackPanelIcon.svg */ "../public/imgs/stackPanelIcon.svg");
51541
- var textBoxIcon = __webpack_require__(/*! ../public/imgs/textBoxIcon.svg */ "../public/imgs/textBoxIcon.svg");
51542
- var sliderIcon = __webpack_require__(/*! ../public/imgs/sliderIcon.svg */ "../public/imgs/sliderIcon.svg");
51543
- var imageBasedSliderIcon = __webpack_require__(/*! ../public/imgs/imageSliderIcon.svg */ "../public/imgs/imageSliderIcon.svg");
51544
- var buttonIcon = __webpack_require__(/*! ../public/imgs/buttonIcon.svg */ "../public/imgs/buttonIcon.svg");
51545
- var passwordFieldIcon = __webpack_require__(/*! ../public/imgs/passwordFieldIcon.svg */ "../public/imgs/passwordFieldIcon.svg");
51546
- var checkboxIcon = __webpack_require__(/*! ../public/imgs/checkboxIcon.svg */ "../public/imgs/checkboxIcon.svg");
51547
- var imageIcon = __webpack_require__(/*! ../public/imgs/imageIcon.svg */ "../public/imgs/imageIcon.svg");
51548
- var keyboardIcon = __webpack_require__(/*! ../public/imgs/keyboardIcon.svg */ "../public/imgs/keyboardIcon.svg");
51549
- var inputFieldIcon = __webpack_require__(/*! ../public/imgs/inputFieldIcon.svg */ "../public/imgs/inputFieldIcon.svg");
51550
- var lineIcon = __webpack_require__(/*! ../public/imgs/lineIcon.svg */ "../public/imgs/lineIcon.svg");
51551
- var displaygridIcon = __webpack_require__(/*! ../public/imgs/displaygridIcon.svg */ "../public/imgs/displaygridIcon.svg");
51552
- var colorPickerIcon = __webpack_require__(/*! ../public/imgs/colorPickerIcon.svg */ "../public/imgs/colorPickerIcon.svg");
51553
- var scrollbarIcon = __webpack_require__(/*! ../public/imgs/scrollbarIcon.svg */ "../public/imgs/scrollbarIcon.svg");
51554
- var radioButtonIcon = __webpack_require__(/*! ../public/imgs/radioButtonIcon.svg */ "../public/imgs/radioButtonIcon.svg");
51555
52056
  var WorkbenchEditor = /** @class */ (function (_super) {
51556
52057
  Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__extends"])(WorkbenchEditor, _super);
51557
52058
  function WorkbenchEditor(props) {
@@ -51634,6 +52135,7 @@ var WorkbenchEditor = /** @class */ (function (_super) {
51634
52135
  }
51635
52136
  }
51636
52137
  };
52138
+ _this._rootRef = react__WEBPACK_IMPORTED_MODULE_1__["createRef"]();
51637
52139
  _this.state = {
51638
52140
  showPreviewPopUp: false,
51639
52141
  };
@@ -51649,8 +52151,13 @@ var WorkbenchEditor = /** @class */ (function (_super) {
51649
52151
  evt.preventDefault();
51650
52152
  }
51651
52153
  }, false);
51652
- _this.createItems();
51653
52154
  _this.props.globalState.onBackgroundColorChangeObservable.add(function () { return _this.forceUpdate(); });
52155
+ _this.props.globalState.onDropObservable.add(function () {
52156
+ if (_this._draggedItem != null) {
52157
+ _this.props.globalState.draggedControl = _this.onCreate(_this._draggedItem);
52158
+ }
52159
+ _this._draggedItem = null;
52160
+ });
51654
52161
  return _this;
51655
52162
  }
51656
52163
  WorkbenchEditor.prototype.componentDidMount = function () {
@@ -51667,7 +52174,6 @@ var WorkbenchEditor = /** @class */ (function (_super) {
51667
52174
  (_a = this.props.globalState.hostDocument.querySelector(".wait-screen")) === null || _a === void 0 ? void 0 : _a.classList.add("hidden");
51668
52175
  };
51669
52176
  WorkbenchEditor.prototype.onPointerDown = function (evt) {
51670
- this._startX = evt.clientX;
51671
52177
  this._moveInProgress = true;
51672
52178
  evt.currentTarget.setPointerCapture(evt.pointerId);
51673
52179
  };
@@ -51680,25 +52186,21 @@ var WorkbenchEditor = /** @class */ (function (_super) {
51680
52186
  if (!this._moveInProgress) {
51681
52187
  return;
51682
52188
  }
51683
- var deltaX = evt.clientX - this._startX;
51684
52189
  var rootElement = evt.currentTarget.ownerDocument.getElementById("gui-editor-workbench-root");
51685
52190
  var maxWidth = this.props.globalState.hostWindow.innerWidth - this._toolBarIconSize - 8;
51686
52191
  if (forLeft) {
51687
- this._leftWidth += deltaX;
51688
- this._leftWidth = Math.max(150, Math.min(maxWidth - this._rightWidth, this._leftWidth));
52192
+ this._leftWidth = Math.max(150, Math.min(maxWidth - this._rightWidth, evt.clientX - this._rootRef.current.clientLeft));
51689
52193
  _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_5__["DataStorage"].WriteNumber("LeftWidth", this._leftWidth);
51690
52194
  }
51691
52195
  else {
51692
- this._rightWidth -= deltaX;
51693
- this._rightWidth = Math.max(250, Math.min(maxWidth - this._leftWidth, this._rightWidth));
52196
+ this._rightWidth = Math.max(250, Math.min(maxWidth - this._leftWidth, (this._rootRef.current.clientLeft + this._rootRef.current.clientWidth) - evt.clientX));
51694
52197
  _babylonjs_core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_5__["DataStorage"].WriteNumber("RightWidth", this._rightWidth);
51695
52198
  }
51696
52199
  rootElement.style.gridTemplateColumns = this.buildColumnLayout();
51697
- this._startX = evt.clientX;
51698
52200
  this.props.globalState.onWindowResizeObservable.notifyObservers();
51699
52201
  };
51700
52202
  WorkbenchEditor.prototype.buildColumnLayout = function () {
51701
- return "".concat(this._leftWidth, "px 4px ").concat(this._toolBarIconSize, "px calc(100% - ").concat(this._leftWidth + this._toolBarIconSize + 8 + this._rightWidth, "px) 4px ").concat(this._rightWidth, "px");
52203
+ return "".concat(this._leftWidth, "px 4px ").concat(this._toolBarIconSize, "px calc(100% - ").concat(this._leftWidth + this._toolBarIconSize + 8 + this._rightWidth, "px) ").concat(this._rightWidth, "px");
51702
52204
  };
51703
52205
  WorkbenchEditor.prototype.render = function () {
51704
52206
  var _this = this;
@@ -51713,15 +52215,13 @@ var WorkbenchEditor = /** @class */ (function (_super) {
51713
52215
  return;
51714
52216
  }
51715
52217
  _this.props.globalState.blockKeyboardEvents = false;
51716
- } },
52218
+ }, ref: this._rootRef },
51717
52219
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "leftGrab", onPointerDown: function (evt) { return _this.onPointerDown(evt); }, onPointerUp: function (evt) { return _this.onPointerUp(evt); }, onPointerMove: function (evt) { return _this.resizeColumns(evt); } }),
51718
52220
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_sceneExplorer_sceneExplorerComponent__WEBPACK_IMPORTED_MODULE_9__["SceneExplorerComponent"], { globalState: this.props.globalState, noExpand: true }),
51719
52221
  this.createToolbar(),
51720
52222
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "diagram-container", onDrop: function (event) {
51721
- if (_this._draggedItem != null) {
51722
- _this.onCreate(_this._draggedItem);
51723
- }
51724
- _this._draggedItem = null;
52223
+ event.preventDefault();
52224
+ _this.props.globalState.onDropObservable.notifyObservers();
51725
52225
  }, onDragOver: function (event) {
51726
52226
  event.preventDefault();
51727
52227
  }, style: {
@@ -51729,175 +52229,33 @@ var WorkbenchEditor = /** @class */ (function (_super) {
51729
52229
  } },
51730
52230
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_artBoard__WEBPACK_IMPORTED_MODULE_12__["ArtBoardComponent"], { globalState: this.props.globalState }),
51731
52231
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_workbench__WEBPACK_IMPORTED_MODULE_7__["WorkbenchComponent"], { ref: "workbenchCanvas", globalState: this.props.globalState }),
51732
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_guiGizmo__WEBPACK_IMPORTED_MODULE_11__["GuiGizmoComponent"], { globalState: this.props.globalState })),
51733
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "rightGrab", onPointerDown: function (evt) { return _this.onPointerDown(evt); }, onPointerUp: function (evt) { return _this.onPointerUp(evt); }, onPointerMove: function (evt) { return _this.resizeColumns(evt, false); } }),
52232
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_diagram_guiGizmoWrapper__WEBPACK_IMPORTED_MODULE_11__["GizmoWrapper"], { globalState: this.props.globalState })),
51734
52233
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "right-panel" },
52234
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "rightGrab", onPointerDown: function (evt) { return _this.onPointerDown(evt); }, onPointerUp: function (evt) { return _this.onPointerUp(evt); }, onPointerMove: function (evt) { return _this.resizeColumns(evt, false); } }),
51735
52235
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_propertyTab_propertyTabComponent__WEBPACK_IMPORTED_MODULE_2__["PropertyTabComponent"], { globalState: this.props.globalState })),
51736
52236
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_components_log_logComponent__WEBPACK_IMPORTED_MODULE_4__["LogComponent"], { globalState: this.props.globalState })),
51737
52237
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"](_sharedComponents_messageDialog__WEBPACK_IMPORTED_MODULE_8__["MessageDialogComponent"], { globalState: this.props.globalState }),
51738
52238
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "blocker" }, "GUI Editor runs only on desktop"),
51739
52239
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "wait-screen hidden" }, "Processing...please wait")));
51740
52240
  };
51741
- WorkbenchEditor.prototype.createItems = function () {
51742
- var _this = this;
51743
- this._items = [
51744
- {
51745
- label: "Rectangle",
51746
- icon: rectangleIcon,
51747
- onClick: function () {
51748
- _this.onCreate("Rectangle");
51749
- },
51750
- },
51751
- {
51752
- label: "Ellipse",
51753
- icon: ellipseIcon,
51754
- onClick: function () {
51755
- _this.onCreate("Ellipse");
51756
- },
51757
- },
51758
- {
51759
- label: "StackPanel",
51760
- icon: stackPanelIcon,
51761
- onClick: function () {
51762
- _this.onCreate("StackPanel");
51763
- },
51764
- },
51765
- {
51766
- label: "Grid",
51767
- icon: gridIcon,
51768
- onClick: function () {
51769
- _this.onCreate("Grid");
51770
- },
51771
- },
51772
- {
51773
- label: "ScrollViewer",
51774
- icon: scrollbarIcon,
51775
- onClick: function () {
51776
- _this.onCreate("ScrollViewer");
51777
- },
51778
- },
51779
- {
51780
- label: "Line",
51781
- icon: lineIcon,
51782
- onClick: function () {
51783
- _this.onCreate("Line");
51784
- },
51785
- },
51786
- {
51787
- label: "Text",
51788
- icon: textBoxIcon,
51789
- onClick: function () {
51790
- _this.onCreate("Text");
51791
- },
51792
- },
51793
- {
51794
- label: "InputText",
51795
- icon: inputFieldIcon,
51796
- onClick: function () {
51797
- _this.onCreate("InputText");
51798
- },
51799
- },
51800
- {
51801
- label: "InputPassword",
51802
- icon: passwordFieldIcon,
51803
- onClick: function () {
51804
- _this.onCreate("InputPassword");
51805
- },
51806
- },
51807
- {
51808
- label: "Image",
51809
- icon: imageIcon,
51810
- onClick: function () {
51811
- _this.onCreate("Image");
51812
- },
51813
- },
51814
- {
51815
- label: "DisplayGrid",
51816
- icon: displaygridIcon,
51817
- onClick: function () {
51818
- _this.onCreate("DisplayGrid");
51819
- },
51820
- },
51821
- {
51822
- label: "TextButton",
51823
- icon: buttonIcon,
51824
- onClick: function () {
51825
- _this.onCreate("TextButton");
51826
- },
51827
- },
51828
- {
51829
- label: "Checkbox",
51830
- icon: checkboxIcon,
51831
- onClick: function () {
51832
- _this.onCreate("Checkbox");
51833
- },
51834
- },
51835
- {
51836
- label: "RadioButton",
51837
- icon: radioButtonIcon,
51838
- onClick: function () {
51839
- _this.onCreate("RadioButton");
51840
- },
51841
- },
51842
- {
51843
- label: "Slider",
51844
- icon: sliderIcon,
51845
- onClick: function () {
51846
- _this.onCreate("Slider");
51847
- },
51848
- },
51849
- {
51850
- label: "ImageBasedSlider",
51851
- icon: imageBasedSliderIcon,
51852
- onClick: function () {
51853
- _this.onCreate("ImageBasedSlider");
51854
- },
51855
- },
51856
- {
51857
- label: "VirtualKeyboard",
51858
- icon: keyboardIcon,
51859
- onClick: function () {
51860
- _this.onCreate("VirtualKeyboard");
51861
- },
51862
- },
51863
- {
51864
- label: "ColorPicker",
51865
- icon: colorPickerIcon,
51866
- onClick: function () {
51867
- _this.onCreate("ColorPicker");
51868
- },
51869
- },
51870
- ];
51871
- };
51872
52241
  WorkbenchEditor.prototype.onCreate = function (value) {
51873
52242
  var guiElement = _guiNodeTools__WEBPACK_IMPORTED_MODULE_6__["GUINodeTools"].CreateControlFromString(value);
51874
52243
  var newGuiNode = this.props.globalState.workbench.appendBlock(guiElement);
51875
- this.props.globalState.onSelectionChangedObservable.notifyObservers(newGuiNode);
51876
- this.props.globalState.guiGizmo.onUp();
52244
+ this.props.globalState.select(newGuiNode);
52245
+ this.props.globalState.onPointerUpObservable.notifyObservers(null);
51877
52246
  this.forceUpdate();
52247
+ return newGuiNode;
51878
52248
  };
51879
52249
  WorkbenchEditor.prototype.createToolbar = function () {
51880
52250
  var _this = this;
51881
52251
  return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"](react__WEBPACK_IMPORTED_MODULE_1__["Fragment"], null,
51882
52252
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { id: "toolbarGrab" },
51883
52253
  react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "blackLine" }),
51884
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "toolbar-content sub1" }, this._items.map(function (m) {
51885
- return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "toolbar-label" + (m.isActive ? " active" : ""), key: m.label, onDragStart: function (evt) { _this._draggedItem = m.label; }, onClick: function () {
51886
- if (!m.onClick) {
51887
- _this.forceUpdate();
51888
- return;
51889
- }
51890
- if (!m.subItems) {
51891
- m.onClick();
51892
- }
51893
- }, title: m.label },
51894
- !m.icon && react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "toolbar-label-text" }, (m.isActive ? "> " : "") + m.label),
51895
- m.icon && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "toolbar-icon", draggable: true },
51896
- react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: m.icon, width: "40px", height: "40px" }))),
51897
- m.onCheck && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("input", { type: "checkBox", className: "toolbar-label-check", onChange: function (evt) {
51898
- _this.forceUpdate();
51899
- m.onCheck(evt.target.checked);
51900
- }, checked: false }))));
52254
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "toolbar-content sub1" }, _controlTypes__WEBPACK_IMPORTED_MODULE_13__["ControlTypes"].map(function (type) {
52255
+ return (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "toolbar-label", key: type.className, onDragStart: function (evt) { _this._draggedItem = type.className; }, onClick: function () {
52256
+ _this.onCreate(type.className);
52257
+ }, title: type.className }, type.icon && (react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("div", { className: "toolbar-icon", draggable: true },
52258
+ react__WEBPACK_IMPORTED_MODULE_1__["createElement"]("img", { src: type.icon, alt: type.className, width: "40px", height: "40px" })))));
51901
52259
  })))));
51902
52260
  };
51903
52261
  return WorkbenchEditor;