@babylonjs/node-editor 5.19.0 → 5.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -171,12 +171,47 @@ __webpack_require__.r(__webpack_exports__);
171
171
 
172
172
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
173
173
  // Module
174
- ___CSS_LOADER_EXPORT___.push([module.id, "#node-editor-graph-root {\n display: grid;\n grid-template-rows: calc(100% - 120px) 120px;\n height: 100%;\n width: 100%;\n background: #464646;\n font: 14px \"acumin-pro\"; }\n #node-editor-graph-root.popup {\n grid-template-columns: 100%;\n overflow: hidden; }\n #node-editor-graph-root .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\";\n position: absolute;\n top: 0;\n left: 0; }\n #node-editor-graph-root .wait-screen.hidden {\n visibility: hidden; }\n #node-editor-graph-root #nodeList {\n grid-row: 1 / span 2;\n grid-column: 1; }\n #node-editor-graph-root #leftGrab {\n grid-row: 1 / span 2;\n grid-column: 2;\n cursor: ew-resize; }\n #node-editor-graph-root #rightGrab {\n grid-row: 1 / span 2;\n grid-column: 4;\n cursor: ew-resize; }\n #node-editor-graph-root .diagram-container {\n grid-row: 1;\n grid-column: 3;\n background: #5f5b60;\n width: 100%;\n height: 100%; }\n #node-editor-graph-root .diagram-container .diagram {\n display: none;\n width: 100%;\n height: 100%; }\n #node-editor-graph-root .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: 100%;\n overflow-y: auto; }\n #node-editor-graph-root #propertyTab {\n grid-row: 1;\n grid-column: 1; }\n #node-editor-graph-root .button {\n display: grid;\n justify-content: center;\n align-content: center;\n height: auto;\n width: calc(100% / 7);\n cursor: pointer; }\n #node-editor-graph-root .button:hover {\n background: #337ab7;\n color: white;\n opacity: 0.8; }\n #node-editor-graph-root .button.selected {\n background: #337ab7;\n color: white; }\n #node-editor-graph-root .button.align {\n justify-content: stretch;\n text-align: center; }\n #node-editor-graph-root #preview-mesh-bar {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-columns: auto 1fr 40px 40px 40px;\n align-items: center;\n font-size: 18px;\n background-color: #555555; }\n #node-editor-graph-root #preview-mesh-bar #file-picker {\n display: none; }\n #node-editor-graph-root #preview-mesh-bar .listLine {\n grid-column: 1;\n height: 40px;\n display: grid;\n grid-template-columns: 0px 1fr; }\n #node-editor-graph-root #preview-mesh-bar .listLine .label {\n grid-column: 1;\n display: flex;\n align-items: center;\n font-size: 14px; }\n #node-editor-graph-root #preview-mesh-bar .listLine .options {\n grid-column: 2;\n display: flex;\n align-items: center;\n margin-left: 5px; }\n #node-editor-graph-root #preview-mesh-bar .listLine .options select {\n width: 115px; }\n #node-editor-graph-root #preview-mesh-bar .button {\n color: #ffffff;\n width: 40px;\n height: 40px;\n transform-origin: 50% 50%; }\n #node-editor-graph-root #preview-mesh-bar .button:active {\n transform: scale(0.9); }\n #node-editor-graph-root #preview-mesh-bar .button:hover {\n background: #3f3461; }\n #node-editor-graph-root #preview-mesh-bar .button.selected {\n background: #9379e6; }\n #node-editor-graph-root #preview-mesh-bar .button img {\n height: 24px;\n width: 24px; }\n #node-editor-graph-root #preview-mesh-bar #play-button {\n grid-column: 3; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button {\n grid-column: 4;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: 100%; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button img {\n height: 24px;\n width: 24px; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker-image {\n padding-left: 7px;\n padding-bottom: 38px; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker {\n transform: scale(0);\n grid-column: 1;\n grid-row: 1; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker-label {\n width: 100%;\n background: transparent;\n cursor: pointer; }\n #node-editor-graph-root #preview-mesh-bar #preview-new-window {\n grid-column: 5; }\n #node-editor-graph-root #preview-mesh-bar select {\n background-color: #a3a3a3;\n color: #333333; }\n #node-editor-graph-root #preview-config-bar {\n grid-row: 4;\n grid-column: 1;\n display: grid;\n grid-template-columns: 40px 40px 40px 1fr 40px 40px;\n color: white;\n align-items: center;\n font-size: 18px; }\n #node-editor-graph-root #preview-config-bar.extended {\n grid-template-columns: 1fr; }\n #node-editor-graph-root #preview-config-bar .listLine {\n padding-left: 5px;\n height: 30px;\n display: grid;\n grid-template-columns: 1fr auto; }\n #node-editor-graph-root #preview-config-bar .listLine .label {\n grid-column: 1;\n display: flex;\n align-items: center;\n font-size: 14px; }\n #node-editor-graph-root #preview-config-bar .listLine .options {\n grid-column: 2;\n display: flex;\n align-items: center;\n margin-right: 5px; }\n #node-editor-graph-root #preview-config-bar .listLine .options select {\n width: 115px; }\n #node-editor-graph-root #preview-config-bar .button {\n width: 40px;\n grid-row: 1;\n height: 40px;\n transform-origin: 50% 50%; }\n #node-editor-graph-root #preview-config-bar .button:hover {\n background: #3f3461; }\n #node-editor-graph-root #preview-config-bar .button.selected {\n background: #9379e6; }\n #node-editor-graph-root #preview-config-bar .button:active {\n transform: scale(0.9); }\n #node-editor-graph-root #preview-config-bar .button img {\n height: auto;\n width: 100%; }\n #node-editor-graph-root #preview-config-bar .button.back-face {\n grid-column: 6; }\n #node-editor-graph-root #preview-config-bar .button.depth-pass {\n grid-column: 5 / 6; }\n #node-editor-graph-root #preview-config-bar .button.hemispheric-light {\n grid-column: 3 / 4; }\n #node-editor-graph-root #preview-config-bar .button.direction-light-1 {\n grid-column: 2 / 3; }\n #node-editor-graph-root #preview-config-bar .button.direction-light-0 {\n grid-column: 1 / 2; }\n #node-editor-graph-root #preview {\n border-top: 1px solid #555555;\n grid-row: 3;\n grid-column: 1;\n width: 100%;\n display: grid;\n outline: 0 !important;\n padding: 0 !important;\n user-select: none;\n overflow: hidden; }\n #node-editor-graph-root #preview #preview-canvas {\n width: 100%;\n height: 100%;\n outline: 0 !important;\n padding: 0 !important;\n grid-row: 1;\n grid-column: 1; }\n #node-editor-graph-root #preview .waitPanel {\n width: 100%;\n height: 100%;\n grid-row: 1;\n grid-column: 1;\n color: white;\n font-size: 18px;\n align-content: center;\n justify-content: center;\n background: rgba(20, 20, 20, 0.95);\n z-index: 10;\n display: grid;\n transition: opacity 250ms; }\n #node-editor-graph-root #preview .waitPanel.hidden {\n opacity: 0;\n pointer-events: none; }\n #node-editor-graph-root .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\";\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 #node-editor-graph-root #log-console {\n grid-row: 2;\n grid-column: 3; }\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\";\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", "",{"version":3,"sources":["webpack://./../../../tools/nodeEditor/dist/main.scss"],"names":[],"mappings":"AAAA;EACI,aAAa;EACb,4CAA4C;EAC5C,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,uBAAuB,EAAA;EAN3B;IASQ,2BAA2B;IAC3B,gBAAgB,EAAA;EAVxB;IAcQ,aAAa;IACb,uBAAuB;IACvB,qBAAqB;IACrB,YAAY;IACZ,WAAW;IACX,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,uBAAuB;IACvB,kBAAkB;IAClB,MAAM;IACN,OAAO,EAAA;IAzBf;MA4BY,kBAAkB,EAAA;EA5B9B;IAiCQ,oBAAoB;IACpB,cAAc,EAAA;EAlCtB;IAsCQ,oBAAoB;IACpB,cAAc;IACd,iBAAiB,EAAA;EAxCzB;IA4CQ,oBAAoB;IACpB,cAAc;IACd,iBAAiB,EAAA;EA9CzB;IAkDQ,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,YAAY,EAAA;IAtDpB;MAyDY,aAAa;MACb,WAAW;MACX,YAAY,EAAA;EA3DxB;IAgEQ,oBAAoB;IACpB,cAAc;IACd,aAAa;IACb,sCAAsC;IACtC,2BAA2B;IAC3B,YAAY;IACZ,gBAAgB,EAAA;EAtExB;IA0EQ,WAAW;IACX,cAAc,EAAA;EA3EtB;IA+EQ,aAAa;IACb,uBAAuB;IACvB,qBAAqB;IACrB,YAAY;IACZ,qBAAqB;IACrB,eAAe,EAAA;IApFvB;MAuFY,mBAA6B;MAC7B,YAAY;MACZ,YAAY,EAAA;IAzFxB;MA6FY,mBAA6B;MAC7B,YAAY,EAAA;IA9FxB;MAkGY,wBAAwB;MACxB,kBAAkB,EAAA;EAnG9B;IAwGQ,WAAW;IACX,cAAc;IACd,aAAa;IACb,8CAA8C;IAC9C,mBAAmB;IACnB,eAAe;IACf,yBAAyB,EAAA;IA9GjC;MAiHY,aAAa,EAAA;IAjHzB;MAqHY,cAAc;MACd,YAAY;MACZ,aAAa;MACb,8BAA8B,EAAA;MAxH1C;QA2HgB,cAAc;QACd,aAAa;QACb,mBAAmB;QACnB,eAAe,EAAA;MA9H/B;QAkIgB,cAAc;QAEd,aAAa;QACb,mBAAmB;QACnB,gBAAgB,EAAA;QAtIhC;UAyIoB,YAAY,EAAA;IAzIhC;MA+IY,cAAc;MACd,WAAW;MACX,YAAY;MACZ,yBAAyB,EAAA;MAlJrC;QAqJgB,qBAAqB,EAAA;MArJrC;QAyJgB,mBAAmB,EAAA;MAzJnC;QA6JgB,mBAAmB,EAAA;MA7JnC;QAiKgB,YAAY;QACZ,WAAW,EAAA;IAlK3B;MAuKY,cAAc,EAAA;IAvK1B;MA2KY,cAAc;MACd,aAAa;MACb,2BAA2B;MAC3B,wBAAwB,EAAA;MA9KpC;QAiLgB,YAAY;QACZ,WAAW,EAAA;MAlL3B;QAqLgB,iBAAiB;QACjB,oBAAoB,EAAA;MAtLpC;QA0LgB,mBAAmB;QACnB,cAAc;QACd,WAAW,EAAA;MA5L3B;QAgMgB,WAAW;QACX,uBAAuB;QACvB,eAAe,EAAA;IAlM/B;MAuMY,cAAc,EAAA;IAvM1B;MA2MY,yBAAyB;MACzB,cAAc,EAAA;EA5M1B;IAiNQ,WAAW;IACX,cAAc;IACd,aAAa;IACb,mDAAmD;IACnD,YAAY;IACZ,mBAAmB;IACnB,eAAe,EAAA;IAvNvB;MA0NY,0BAA0B,EAAA;IA1NtC;MA8NY,iBAAiB;MACjB,YAAY;MACZ,aAAa;MACb,+BAA+B,EAAA;MAjO3C;QAoOgB,cAAc;QACd,aAAa;QACb,mBAAmB;QACnB,eAAe,EAAA;MAvO/B;QA2OgB,cAAc;QAEd,aAAa;QACb,mBAAmB;QACnB,iBAAiB,EAAA;QA/OjC;UAkPoB,YAAY,EAAA;IAlPhC;MAwPY,WAAW;MACX,WAAW;MACX,YAAY;MACZ,yBAAyB,EAAA;MA3PrC;QA8PgB,mBAAmB,EAAA;MA9PnC;QAkQgB,mBAAmB,EAAA;MAlQnC;QAsQgB,qBAAqB,EAAA;MAtQrC;QA0QgB,YAAY;QACZ,WAAW,EAAA;MA3Q3B;QA+QgB,cAAc,EAAA;MA/Q9B;QAmRgB,kBAAkB,EAAA;MAnRlC;QAuRgB,kBAAkB,EAAA;MAvRlC;QA0RgB,kBAAkB,EAAA;MA1RlC;QA6RgB,kBAAkB,EAAA;EA7RlC;IAmSQ,6BAAqC;IACrC,WAAW;IACX,cAAc;IACd,WAAW;IACX,aAAa;IACb,qBAAqB;IACrB,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,EAAA;IA3SxB;MA8SY,WAAW;MACX,YAAY;MACZ,qBAAqB;MACrB,qBAAqB;MACrB,WAAW;MACX,cAAc,EAAA;IAnT1B;MAuTY,WAAW;MACX,YAAY;MACZ,WAAW;MACX,cAAc;MACd,YAAY;MACZ,eAAe;MACf,qBAAqB;MACrB,uBAAuB;MACvB,kCAAkC;MAClC,WAAW;MACX,aAAa;MACb,yBAAyB,EAAA;MAlUrC;QAqUgB,UAAU;QACV,oBAAoB,EAAA;EAtUpC;IA4UQ,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;IACxB,YAAY;IACZ,MAAM;IACN,OAAO;IAEP,kCAAkC;IAClC,yBAAyB;IACzB,YAAY;IACZ,eAAe;IAEf,aAAa;IACb,qBAAqB;IACrB,uBAAuB;IAEvB,iBAAiB;IAEjB,aAAa;IACb,kBAAkB,EAAA;EA/V1B;IAmWQ,WAAW;IACX,cAAc,EAAA;;AAItB;EACI,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,8BAAoC;EACpC,aAAa;EACb,yBAAyB;EACzB,MAAM,EAAA;EAPV;IAUQ,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IAEjB,aAAa;IACb,2BAA2B;IAC3B,0CAA0C,EAAA;IAnBlD;MAsBY,WAAW;MACX,cAAc;MACd,gBAAgB;MAChB,aAAa;MACb,eAAe;MACf,YAAY,EAAA;IA3BxB;MA+BY,WAAW;MACX,cAAc;MACd,aAAa;MACb,wBAAwB;MACxB,2BAA2B;MAC3B,YAAY,EAAA;MApCxB;QAuCgB,eAAe;QACf,oBAAoB;QACpB,iBAAiB;QACjB,eAAe;QACf,uBAAuB;QACvB,aAAa;QACb,qBAAqB;QACrB,kBAAkB;QAClB,YAAY;QACZ,mBAAmB,EAAA;QAhDnC;UAmDoB,YAAY,EAAA;QAnDhC;UAuDoB,eAAe,EAAA","sourcesContent":["#node-editor-graph-root {\r\n display: grid;\r\n grid-template-rows: calc(100% - 120px) 120px;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n font: 14px \"acumin-pro\";\r\n\r\n &.popup {\r\n grid-template-columns: 100%;\r\n overflow: hidden;\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\";\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 #nodeList {\r\n grid-row: 1 / span 2;\r\n grid-column: 1;\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: 4;\r\n cursor: ew-resize;\r\n }\r\n\r\n .diagram-container {\r\n grid-row: 1;\r\n grid-column: 3;\r\n background: #5f5b60;\r\n width: 100%;\r\n height: 100%;\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: 100%;\r\n overflow-y: auto;\r\n }\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 #preview-mesh-bar {\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr 40px 40px 40px;\r\n align-items: center;\r\n font-size: 18px;\r\n background-color: #555555;\r\n\r\n #file-picker {\r\n display: none;\r\n }\r\n\r\n .listLine {\r\n grid-column: 1;\r\n height: 40px;\r\n display: grid;\r\n grid-template-columns: 0px 1fr;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n font-size: 14px;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-left: 5px;\r\n\r\n select {\r\n width: 115px;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n color: #ffffff;\r\n width: 40px;\r\n height: 40px;\r\n transform-origin: 50% 50%;\r\n\r\n &:active {\r\n transform: scale(0.9);\r\n }\r\n\r\n &:hover {\r\n background: #3f3461;\r\n }\r\n\r\n &.selected {\r\n background: #9379e6;\r\n }\r\n\r\n img {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n }\r\n\r\n #play-button {\r\n grid-column: 3;\r\n }\r\n\r\n #color-picker-button {\r\n grid-column: 4;\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: 100%;\r\n\r\n img {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n #color-picker-image {\r\n padding-left: 7px;\r\n padding-bottom: 38px;\r\n }\r\n\r\n #color-picker {\r\n transform: scale(0);\r\n grid-column: 1;\r\n grid-row: 1;\r\n }\r\n\r\n #color-picker-label {\r\n width: 100%;\r\n background: transparent;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n #preview-new-window {\r\n grid-column: 5;\r\n }\r\n\r\n select {\r\n background-color: #a3a3a3;\r\n color: #333333;\r\n }\r\n }\r\n\r\n #preview-config-bar {\r\n grid-row: 4;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: 40px 40px 40px 1fr 40px 40px;\r\n color: white;\r\n align-items: center;\r\n font-size: 18px;\r\n\r\n &.extended {\r\n grid-template-columns: 1fr;\r\n }\r\n\r\n .listLine {\r\n padding-left: 5px;\r\n height: 30px;\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n font-size: 14px;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-right: 5px;\r\n\r\n select {\r\n width: 115px;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n width: 40px;\r\n grid-row: 1;\r\n height: 40px;\r\n transform-origin: 50% 50%;\r\n\r\n &:hover {\r\n background: #3f3461;\r\n }\r\n\r\n &.selected {\r\n background: #9379e6;\r\n }\r\n\r\n &:active {\r\n transform: scale(0.9);\r\n }\r\n\r\n img {\r\n height: auto;\r\n width: 100%;\r\n }\r\n\r\n &.back-face {\r\n grid-column: 6;\r\n }\r\n\r\n &.depth-pass {\r\n grid-column: 5 / 6;\r\n }\r\n\r\n &.hemispheric-light {\r\n grid-column: 3 / 4;\r\n }\r\n &.direction-light-1 {\r\n grid-column: 2 / 3;\r\n }\r\n &.direction-light-0 {\r\n grid-column: 1 / 2;\r\n }\r\n }\r\n }\r\n\r\n #preview {\r\n border-top: 1px solid rgb(85, 85, 85);\r\n grid-row: 3;\r\n grid-column: 1;\r\n width: 100%;\r\n display: grid;\r\n outline: 0 !important;\r\n padding: 0 !important;\r\n user-select: none;\r\n overflow: hidden;\r\n\r\n #preview-canvas {\r\n width: 100%;\r\n height: 100%;\r\n outline: 0 !important;\r\n padding: 0 !important;\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n\r\n .waitPanel {\r\n width: 100%;\r\n height: 100%;\r\n grid-row: 1;\r\n grid-column: 1;\r\n color: white;\r\n font-size: 18px;\r\n align-content: center;\r\n justify-content: center;\r\n background: rgba(20, 20, 20, 0.95);\r\n z-index: 10;\r\n display: grid;\r\n transition: opacity 250ms;\r\n\r\n &.hidden {\r\n opacity: 0;\r\n pointer-events: none;\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\";\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: 3;\r\n }\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\";\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"],"sourceRoot":""}]);
174
+ ___CSS_LOADER_EXPORT___.push([module.id, "#node-editor-graph-root {\n display: grid;\n grid-template-rows: calc(100% - 120px) 120px;\n height: 100%;\n width: 100%;\n background: #464646;\n font: 14px \"acumin-pro\"; }\n #node-editor-graph-root.popup {\n grid-template-columns: 100%;\n overflow: hidden; }\n #node-editor-graph-root .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\";\n position: absolute;\n top: 0;\n left: 0; }\n #node-editor-graph-root .wait-screen.hidden {\n visibility: hidden; }\n #node-editor-graph-root #nodeList {\n grid-row: 1 / span 2;\n grid-column: 1; }\n #node-editor-graph-root #leftGrab {\n grid-row: 1 / span 2;\n grid-column: 2;\n cursor: ew-resize; }\n #node-editor-graph-root #rightGrab {\n grid-row: 1 / span 2;\n grid-column: 4;\n cursor: ew-resize; }\n #node-editor-graph-root .diagram-container {\n grid-row: 1;\n grid-column: 3;\n background: #5f5b60;\n width: 100%;\n height: 100%; }\n #node-editor-graph-root .diagram-container .diagram {\n display: none;\n width: 100%;\n height: 100%; }\n #node-editor-graph-root .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: 100%;\n overflow-y: auto; }\n #node-editor-graph-root #propertyTab {\n grid-row: 1;\n grid-column: 1; }\n #node-editor-graph-root .button {\n display: grid;\n justify-content: center;\n align-content: center;\n height: auto;\n width: calc(100% / 7);\n cursor: pointer; }\n #node-editor-graph-root .button:hover {\n background: #337ab7;\n color: white;\n opacity: 0.8; }\n #node-editor-graph-root .button.selected {\n background: #337ab7;\n color: white; }\n #node-editor-graph-root .button.align {\n justify-content: stretch;\n text-align: center; }\n #node-editor-graph-root #preview-mesh-bar {\n grid-row: 2;\n grid-column: 1;\n display: grid;\n grid-template-columns: auto 1fr 40px 40px 40px;\n align-items: center;\n font-size: 18px;\n background-color: #555555; }\n #node-editor-graph-root #preview-mesh-bar #file-picker {\n display: none; }\n #node-editor-graph-root #preview-mesh-bar .listLine {\n grid-column: 1;\n height: 40px;\n display: grid;\n grid-template-columns: 0px 1fr; }\n #node-editor-graph-root #preview-mesh-bar .listLine .label {\n grid-column: 1;\n display: flex;\n align-items: center;\n font-size: 14px; }\n #node-editor-graph-root #preview-mesh-bar .listLine .options {\n grid-column: 2;\n display: flex;\n align-items: center;\n margin-left: 5px; }\n #node-editor-graph-root #preview-mesh-bar .listLine .options select {\n width: 115px; }\n #node-editor-graph-root #preview-mesh-bar .button {\n color: #ffffff;\n width: 40px;\n height: 40px;\n transform-origin: 50% 50%; }\n #node-editor-graph-root #preview-mesh-bar .button:active {\n transform: scale(0.9); }\n #node-editor-graph-root #preview-mesh-bar .button:hover {\n background: #3f3461; }\n #node-editor-graph-root #preview-mesh-bar .button.selected {\n background: #9379e6; }\n #node-editor-graph-root #preview-mesh-bar .button img {\n height: 24px;\n width: 24px; }\n #node-editor-graph-root #preview-mesh-bar #play-button {\n grid-column: 3; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button {\n grid-column: 4;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: 100%; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button img {\n height: 24px;\n width: 24px; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker-image {\n padding-left: 7px;\n padding-bottom: 38px; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker {\n transform: scale(0);\n grid-column: 1;\n grid-row: 1; }\n #node-editor-graph-root #preview-mesh-bar #color-picker-button #color-picker-label {\n width: 100%;\n background: transparent;\n cursor: pointer; }\n #node-editor-graph-root #preview-mesh-bar #preview-new-window {\n grid-column: 5; }\n #node-editor-graph-root #preview-mesh-bar select {\n background-color: #a3a3a3;\n color: #333333; }\n #node-editor-graph-root #preview-config-bar {\n grid-row: 4;\n grid-column: 1;\n display: grid;\n grid-template-columns: 40px 40px 40px 1fr 40px 40px;\n color: white;\n align-items: center;\n font-size: 18px; }\n #node-editor-graph-root #preview-config-bar.extended {\n grid-template-columns: 1fr; }\n #node-editor-graph-root #preview-config-bar .listLine {\n padding-left: 5px;\n height: 30px;\n display: grid;\n grid-template-columns: 1fr auto; }\n #node-editor-graph-root #preview-config-bar .listLine .label {\n grid-column: 1;\n display: flex;\n align-items: center;\n font-size: 14px; }\n #node-editor-graph-root #preview-config-bar .listLine .options {\n grid-column: 2;\n display: flex;\n align-items: center;\n margin-right: 5px; }\n #node-editor-graph-root #preview-config-bar .listLine .options select {\n width: 115px; }\n #node-editor-graph-root #preview-config-bar .button {\n width: 40px;\n grid-row: 1;\n height: 40px;\n transform-origin: 50% 50%; }\n #node-editor-graph-root #preview-config-bar .button:hover {\n background: #3f3461; }\n #node-editor-graph-root #preview-config-bar .button.selected {\n background: #9379e6; }\n #node-editor-graph-root #preview-config-bar .button:active {\n transform: scale(0.9); }\n #node-editor-graph-root #preview-config-bar .button img {\n height: auto;\n width: 100%; }\n #node-editor-graph-root #preview-config-bar .button.back-face {\n grid-column: 6; }\n #node-editor-graph-root #preview-config-bar .button.depth-pass {\n grid-column: 5 / 6; }\n #node-editor-graph-root #preview-config-bar .button.hemispheric-light {\n grid-column: 3 / 4; }\n #node-editor-graph-root #preview-config-bar .button.direction-light-1 {\n grid-column: 2 / 3; }\n #node-editor-graph-root #preview-config-bar .button.direction-light-0 {\n grid-column: 1 / 2; }\n #node-editor-graph-root #preview {\n border-top: 1px solid #555555;\n grid-row: 3;\n grid-column: 1;\n width: 100%;\n display: grid;\n outline: 0 !important;\n padding: 0 !important;\n user-select: none;\n overflow: hidden; }\n #node-editor-graph-root #preview #preview-canvas {\n width: 100%;\n height: 100%;\n outline: 0 !important;\n padding: 0 !important;\n grid-row: 1;\n grid-column: 1; }\n #node-editor-graph-root #preview .waitPanel {\n width: 100%;\n height: 100%;\n grid-row: 1;\n grid-column: 1;\n color: white;\n font-size: 18px;\n align-content: center;\n justify-content: center;\n background: rgba(20, 20, 20, 0.95);\n z-index: 10;\n display: grid;\n transition: opacity 250ms; }\n #node-editor-graph-root #preview .waitPanel.hidden {\n opacity: 0;\n pointer-events: none; }\n #node-editor-graph-root .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\";\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 #node-editor-graph-root #log-console {\n grid-row: 2;\n grid-column: 3; }\n", "",{"version":3,"sources":["webpack://./../../../tools/nodeEditor/dist/main.scss"],"names":[],"mappings":"AAAA;EACI,aAAa;EACb,4CAA4C;EAC5C,YAAY;EACZ,WAAW;EACX,mBAAmB;EACnB,uBAAuB,EAAA;EAN3B;IASQ,2BAA2B;IAC3B,gBAAgB,EAAA;EAVxB;IAcQ,aAAa;IACb,uBAAuB;IACvB,qBAAqB;IACrB,YAAY;IACZ,WAAW;IACX,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,uBAAuB;IACvB,kBAAkB;IAClB,MAAM;IACN,OAAO,EAAA;IAzBf;MA4BY,kBAAkB,EAAA;EA5B9B;IAiCQ,oBAAoB;IACpB,cAAc,EAAA;EAlCtB;IAsCQ,oBAAoB;IACpB,cAAc;IACd,iBAAiB,EAAA;EAxCzB;IA4CQ,oBAAoB;IACpB,cAAc;IACd,iBAAiB,EAAA;EA9CzB;IAkDQ,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,WAAW;IACX,YAAY,EAAA;IAtDpB;MAyDY,aAAa;MACb,WAAW;MACX,YAAY,EAAA;EA3DxB;IAgEQ,oBAAoB;IACpB,cAAc;IACd,aAAa;IACb,sCAAsC;IACtC,2BAA2B;IAC3B,YAAY;IACZ,gBAAgB,EAAA;EAtExB;IA0EQ,WAAW;IACX,cAAc,EAAA;EA3EtB;IA+EQ,aAAa;IACb,uBAAuB;IACvB,qBAAqB;IACrB,YAAY;IACZ,qBAAqB;IACrB,eAAe,EAAA;IApFvB;MAuFY,mBAA6B;MAC7B,YAAY;MACZ,YAAY,EAAA;IAzFxB;MA6FY,mBAA6B;MAC7B,YAAY,EAAA;IA9FxB;MAkGY,wBAAwB;MACxB,kBAAkB,EAAA;EAnG9B;IAwGQ,WAAW;IACX,cAAc;IACd,aAAa;IACb,8CAA8C;IAC9C,mBAAmB;IACnB,eAAe;IACf,yBAAyB,EAAA;IA9GjC;MAiHY,aAAa,EAAA;IAjHzB;MAqHY,cAAc;MACd,YAAY;MACZ,aAAa;MACb,8BAA8B,EAAA;MAxH1C;QA2HgB,cAAc;QACd,aAAa;QACb,mBAAmB;QACnB,eAAe,EAAA;MA9H/B;QAkIgB,cAAc;QAEd,aAAa;QACb,mBAAmB;QACnB,gBAAgB,EAAA;QAtIhC;UAyIoB,YAAY,EAAA;IAzIhC;MA+IY,cAAc;MACd,WAAW;MACX,YAAY;MACZ,yBAAyB,EAAA;MAlJrC;QAqJgB,qBAAqB,EAAA;MArJrC;QAyJgB,mBAAmB,EAAA;MAzJnC;QA6JgB,mBAAmB,EAAA;MA7JnC;QAiKgB,YAAY;QACZ,WAAW,EAAA;IAlK3B;MAuKY,cAAc,EAAA;IAvK1B;MA2KY,cAAc;MACd,aAAa;MACb,2BAA2B;MAC3B,wBAAwB,EAAA;MA9KpC;QAiLgB,YAAY;QACZ,WAAW,EAAA;MAlL3B;QAqLgB,iBAAiB;QACjB,oBAAoB,EAAA;MAtLpC;QA0LgB,mBAAmB;QACnB,cAAc;QACd,WAAW,EAAA;MA5L3B;QAgMgB,WAAW;QACX,uBAAuB;QACvB,eAAe,EAAA;IAlM/B;MAuMY,cAAc,EAAA;IAvM1B;MA2MY,yBAAyB;MACzB,cAAc,EAAA;EA5M1B;IAiNQ,WAAW;IACX,cAAc;IACd,aAAa;IACb,mDAAmD;IACnD,YAAY;IACZ,mBAAmB;IACnB,eAAe,EAAA;IAvNvB;MA0NY,0BAA0B,EAAA;IA1NtC;MA8NY,iBAAiB;MACjB,YAAY;MACZ,aAAa;MACb,+BAA+B,EAAA;MAjO3C;QAoOgB,cAAc;QACd,aAAa;QACb,mBAAmB;QACnB,eAAe,EAAA;MAvO/B;QA2OgB,cAAc;QAEd,aAAa;QACb,mBAAmB;QACnB,iBAAiB,EAAA;QA/OjC;UAkPoB,YAAY,EAAA;IAlPhC;MAwPY,WAAW;MACX,WAAW;MACX,YAAY;MACZ,yBAAyB,EAAA;MA3PrC;QA8PgB,mBAAmB,EAAA;MA9PnC;QAkQgB,mBAAmB,EAAA;MAlQnC;QAsQgB,qBAAqB,EAAA;MAtQrC;QA0QgB,YAAY;QACZ,WAAW,EAAA;MA3Q3B;QA+QgB,cAAc,EAAA;MA/Q9B;QAmRgB,kBAAkB,EAAA;MAnRlC;QAuRgB,kBAAkB,EAAA;MAvRlC;QA0RgB,kBAAkB,EAAA;MA1RlC;QA6RgB,kBAAkB,EAAA;EA7RlC;IAmSQ,6BAAqC;IACrC,WAAW;IACX,cAAc;IACd,WAAW;IACX,aAAa;IACb,qBAAqB;IACrB,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB,EAAA;IA3SxB;MA8SY,WAAW;MACX,YAAY;MACZ,qBAAqB;MACrB,qBAAqB;MACrB,WAAW;MACX,cAAc,EAAA;IAnT1B;MAuTY,WAAW;MACX,YAAY;MACZ,WAAW;MACX,cAAc;MACd,YAAY;MACZ,eAAe;MACf,qBAAqB;MACrB,uBAAuB;MACvB,kCAAkC;MAClC,WAAW;MACX,aAAa;MACb,yBAAyB,EAAA;MAlUrC;QAqUgB,UAAU;QACV,oBAAoB,EAAA;EAtUpC;IA4UQ,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;IACxB,YAAY;IACZ,MAAM;IACN,OAAO;IAEP,kCAAkC;IAClC,yBAAyB;IACzB,YAAY;IACZ,eAAe;IAEf,aAAa;IACb,qBAAqB;IACrB,uBAAuB;IAEvB,iBAAiB;IAEjB,aAAa;IACb,kBAAkB,EAAA;EA/V1B;IAmWQ,WAAW;IACX,cAAc,EAAA","sourcesContent":["#node-editor-graph-root {\r\n display: grid;\r\n grid-template-rows: calc(100% - 120px) 120px;\r\n height: 100%;\r\n width: 100%;\r\n background: #464646;\r\n font: 14px \"acumin-pro\";\r\n\r\n &.popup {\r\n grid-template-columns: 100%;\r\n overflow: hidden;\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\";\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 #nodeList {\r\n grid-row: 1 / span 2;\r\n grid-column: 1;\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: 4;\r\n cursor: ew-resize;\r\n }\r\n\r\n .diagram-container {\r\n grid-row: 1;\r\n grid-column: 3;\r\n background: #5f5b60;\r\n width: 100%;\r\n height: 100%;\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: 100%;\r\n overflow-y: auto;\r\n }\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 #preview-mesh-bar {\r\n grid-row: 2;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: auto 1fr 40px 40px 40px;\r\n align-items: center;\r\n font-size: 18px;\r\n background-color: #555555;\r\n\r\n #file-picker {\r\n display: none;\r\n }\r\n\r\n .listLine {\r\n grid-column: 1;\r\n height: 40px;\r\n display: grid;\r\n grid-template-columns: 0px 1fr;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n font-size: 14px;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-left: 5px;\r\n\r\n select {\r\n width: 115px;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n color: #ffffff;\r\n width: 40px;\r\n height: 40px;\r\n transform-origin: 50% 50%;\r\n\r\n &:active {\r\n transform: scale(0.9);\r\n }\r\n\r\n &:hover {\r\n background: #3f3461;\r\n }\r\n\r\n &.selected {\r\n background: #9379e6;\r\n }\r\n\r\n img {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n }\r\n\r\n #play-button {\r\n grid-column: 3;\r\n }\r\n\r\n #color-picker-button {\r\n grid-column: 4;\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: 100%;\r\n\r\n img {\r\n height: 24px;\r\n width: 24px;\r\n }\r\n #color-picker-image {\r\n padding-left: 7px;\r\n padding-bottom: 38px;\r\n }\r\n\r\n #color-picker {\r\n transform: scale(0);\r\n grid-column: 1;\r\n grid-row: 1;\r\n }\r\n\r\n #color-picker-label {\r\n width: 100%;\r\n background: transparent;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n #preview-new-window {\r\n grid-column: 5;\r\n }\r\n\r\n select {\r\n background-color: #a3a3a3;\r\n color: #333333;\r\n }\r\n }\r\n\r\n #preview-config-bar {\r\n grid-row: 4;\r\n grid-column: 1;\r\n display: grid;\r\n grid-template-columns: 40px 40px 40px 1fr 40px 40px;\r\n color: white;\r\n align-items: center;\r\n font-size: 18px;\r\n\r\n &.extended {\r\n grid-template-columns: 1fr;\r\n }\r\n\r\n .listLine {\r\n padding-left: 5px;\r\n height: 30px;\r\n display: grid;\r\n grid-template-columns: 1fr auto;\r\n\r\n .label {\r\n grid-column: 1;\r\n display: flex;\r\n align-items: center;\r\n font-size: 14px;\r\n }\r\n\r\n .options {\r\n grid-column: 2;\r\n\r\n display: flex;\r\n align-items: center;\r\n margin-right: 5px;\r\n\r\n select {\r\n width: 115px;\r\n }\r\n }\r\n }\r\n\r\n .button {\r\n width: 40px;\r\n grid-row: 1;\r\n height: 40px;\r\n transform-origin: 50% 50%;\r\n\r\n &:hover {\r\n background: #3f3461;\r\n }\r\n\r\n &.selected {\r\n background: #9379e6;\r\n }\r\n\r\n &:active {\r\n transform: scale(0.9);\r\n }\r\n\r\n img {\r\n height: auto;\r\n width: 100%;\r\n }\r\n\r\n &.back-face {\r\n grid-column: 6;\r\n }\r\n\r\n &.depth-pass {\r\n grid-column: 5 / 6;\r\n }\r\n\r\n &.hemispheric-light {\r\n grid-column: 3 / 4;\r\n }\r\n &.direction-light-1 {\r\n grid-column: 2 / 3;\r\n }\r\n &.direction-light-0 {\r\n grid-column: 1 / 2;\r\n }\r\n }\r\n }\r\n\r\n #preview {\r\n border-top: 1px solid rgb(85, 85, 85);\r\n grid-row: 3;\r\n grid-column: 1;\r\n width: 100%;\r\n display: grid;\r\n outline: 0 !important;\r\n padding: 0 !important;\r\n user-select: none;\r\n overflow: hidden;\r\n\r\n #preview-canvas {\r\n width: 100%;\r\n height: 100%;\r\n outline: 0 !important;\r\n padding: 0 !important;\r\n grid-row: 1;\r\n grid-column: 1;\r\n }\r\n\r\n .waitPanel {\r\n width: 100%;\r\n height: 100%;\r\n grid-row: 1;\r\n grid-column: 1;\r\n color: white;\r\n font-size: 18px;\r\n align-content: center;\r\n justify-content: center;\r\n background: rgba(20, 20, 20, 0.95);\r\n z-index: 10;\r\n display: grid;\r\n transition: opacity 250ms;\r\n\r\n &.hidden {\r\n opacity: 0;\r\n pointer-events: none;\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\";\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: 3;\r\n }\r\n}\r\n"],"sourceRoot":""}]);
175
175
  // Exports
176
176
  ___CSS_LOADER_EXPORT___.locals = {};
177
177
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
178
178
 
179
179
 
180
+ /***/ }),
181
+
182
+ /***/ "../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../dev/sharedUiComponents/dist/components/MessageDialog.modules.scss":
183
+ /*!*******************************************************************************************************************************************************************************************************************************************!*\
184
+ !*** ../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../dev/sharedUiComponents/dist/components/MessageDialog.modules.scss ***!
185
+ \*******************************************************************************************************************************************************************************************************************************************/
186
+ /***/ ((module, __webpack_exports__, __webpack_require__) => {
187
+
188
+ "use strict";
189
+ __webpack_require__.r(__webpack_exports__);
190
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
191
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
192
+ /* harmony export */ });
193
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ "../../../../node_modules/css-loader/dist/runtime/sourceMaps.js");
194
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
195
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../node_modules/css-loader/dist/runtime/api.js */ "../../../../node_modules/css-loader/dist/runtime/api.js");
196
+ /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
197
+ // Imports
198
+
199
+
200
+ var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
201
+ // Module
202
+ ___CSS_LOADER_EXPORT___.push([module.id, ".stbiu24JbUBfHNSSYhSR {\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\";\n top: 0; }\n .stbiu24JbUBfHNSSYhSR .fCGAiNfXRhhXF8hQPpct {\n align-self: center;\n justify-self: center;\n min-height: 140px;\n max-width: 400px;\n border-radius: 10px;\n background: white;\n padding: 10px;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: 1fr 50px; }\n .stbiu24JbUBfHNSSYhSR .fCGAiNfXRhhXF8hQPpct .yRrm4hWjzyu4RnCc412h {\n grid-row: 1;\n grid-column: 1;\n margin-top: 20px;\n padding: 10px;\n font-size: 18px;\n color: black; }\n .stbiu24JbUBfHNSSYhSR .fCGAiNfXRhhXF8hQPpct .c5hG_qW6gImPmY2mRXUf {\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 .stbiu24JbUBfHNSSYhSR .fCGAiNfXRhhXF8hQPpct .c5hG_qW6gImPmY2mRXUf .TaDL8j02NlDZlEf6mraY {\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 .stbiu24JbUBfHNSSYhSR .fCGAiNfXRhhXF8hQPpct .c5hG_qW6gImPmY2mRXUf .TaDL8j02NlDZlEf6mraY:hover {\n opacity: 0.8; }\n .stbiu24JbUBfHNSSYhSR .fCGAiNfXRhhXF8hQPpct .c5hG_qW6gImPmY2mRXUf .TaDL8j02NlDZlEf6mraY.gWN6zWjwiaTlrWBw3gRR {\n background: red; }\n", "",{"version":3,"sources":["webpack://./../../../dev/sharedUiComponents/dist/components/MessageDialog.modules.scss"],"names":[],"mappings":"AAAA;EACI,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,8BAAoC;EACpC,aAAa;EACb,yBAAyB;EACzB,MAAM,EAAA;EAPV;IAUQ,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,aAAa;IAEb,aAAa;IACb,2BAA2B;IAC3B,4BAA4B,EAAA;IApBpC;MAuBY,WAAW;MACX,cAAc;MACd,gBAAgB;MAChB,aAAa;MACb,eAAe;MACf,YAAY,EAAA;IA5BxB;MAgCY,WAAW;MACX,cAAc;MACd,aAAa;MACb,wBAAwB;MACxB,2BAA2B;MAC3B,YAAY,EAAA;MArCxB;QAwCgB,eAAe;QACf,oBAAoB;QACpB,iBAAiB;QACjB,eAAe;QACf,uBAAuB;QACvB,aAAa;QACb,qBAAqB;QACrB,kBAAkB;QAClB,YAAY;QACZ,mBAAmB,EAAA;QAjDnC;UAoDoB,YAAY,EAAA;QApDhC;UAwDoB,eAAe,EAAA","sourcesContent":[":local .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\";\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 padding: 10px;\r\n\r\n display: grid;\r\n grid-template-columns: 100%;\r\n grid-template-rows: 1fr 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"],"sourceRoot":""}]);
203
+ // Exports
204
+ ___CSS_LOADER_EXPORT___.locals = {
205
+ "dialog-container": "stbiu24JbUBfHNSSYhSR",
206
+ "dialog": "fCGAiNfXRhhXF8hQPpct",
207
+ "dialog-message": "yRrm4hWjzyu4RnCc412h",
208
+ "dialog-buttons": "c5hG_qW6gImPmY2mRXUf",
209
+ "dialog-button-ok": "TaDL8j02NlDZlEf6mraY",
210
+ "error": "gWN6zWjwiaTlrWBw3gRR"
211
+ };
212
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
213
+
214
+
180
215
  /***/ }),
181
216
 
182
217
  /***/ "../../../../node_modules/@fortawesome/fontawesome-svg-core/index.es.js":
@@ -61471,7 +61506,7 @@ class ColorComponentEntry extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
61471
61506
  }
61472
61507
  }
61473
61508
  render() {
61474
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "color-picker-component" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-picker-component-value" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "number", step: 1, className: "numeric-input", value: this.props.value, onBlur: () => this.unlock(), onFocus: () => this.lock(), onChange: (evt) => this.updateValue(evt.target.value), disabled: this.props.disabled }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-picker-component-label" }, { children: this.props.label }))] })));
61509
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "color-picker-component", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-component-value", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "number", step: 1, className: "numeric-input", value: this.props.value, onBlur: () => this.unlock(), onFocus: () => this.lock(), onChange: (evt) => this.updateValue(evt.target.value), disabled: this.props.disabled }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-component-label", children: this.props.label })] }));
61475
61510
  }
61476
61511
  }
61477
61512
 
@@ -61599,29 +61634,29 @@ class ColorPicker extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
61599
61634
  core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.Color3.HSVtoRGBToRef(hsv.r, 1, 1, colorRef);
61600
61635
  const colorHexRef = colorRef.toHexString();
61601
61636
  const hasAlpha = this.props.color instanceof core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.Color4;
61602
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "color-picker-container" + (this.props.linearhint ? " with-hints" : "") }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "color-picker-saturation", onPointerMove: (e) => this.onSaturationPointerMove(e), onPointerDown: (e) => this.onSaturationPointerDown(e), onPointerUp: (e) => this.onSaturationPointerUp(e), ref: this._saturationRef, style: {
61637
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "color-picker-container" + (this.props.linearhint ? " with-hints" : ""), children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "color-picker-saturation", onPointerMove: (e) => this.onSaturationPointerMove(e), onPointerDown: (e) => this.onSaturationPointerDown(e), onPointerUp: (e) => this.onSaturationPointerUp(e), ref: this._saturationRef, style: {
61603
61638
  background: colorHexRef,
61604
- } }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-saturation-white" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-saturation-black" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-saturation-cursor", style: {
61639
+ }, children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-saturation-white" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-saturation-black" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-saturation-cursor", style: {
61605
61640
  top: `${-(hsv.b * 100) + 100}%`,
61606
61641
  left: `${hsv.g * 100}%`,
61607
- } })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "color-picker-hue" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-hue-color", style: {
61642
+ } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "color-picker-hue", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-hue-color", style: {
61608
61643
  background: colorHex,
61609
- } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-picker-hue-slider", ref: this._hueRef, onPointerMove: (e) => this.onHuePointerMove(e), onPointerDown: (e) => this.onHuePointerDown(e), onPointerUp: (e) => this.onHuePointerUp(e) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-hue-cursor", style: {
61644
+ } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-hue-slider", ref: this._hueRef, onPointerMove: (e) => this.onHuePointerMove(e), onPointerDown: (e) => this.onHuePointerDown(e), onPointerUp: (e) => this.onHuePointerUp(e), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-hue-cursor", style: {
61610
61645
  left: `${(hsv.r / 360.0) * 100}%`,
61611
61646
  border: `1px solid ` + colorHexRef,
61612
- } }) }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-alpha" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "color-picker-rgb" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "red" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__.ColorComponentEntry, { lockObject: this.props.lockObject, label: "R", min: 0, max: 255, value: Math.round(this.state.color.r * 255), onChange: (value) => {
61647
+ } }) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-alpha" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "color-picker-rgb", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "red", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__.ColorComponentEntry, { lockObject: this.props.lockObject, label: "R", min: 0, max: 255, value: Math.round(this.state.color.r * 255), onChange: (value) => {
61613
61648
  this.state.color.r = value / 255.0;
61614
61649
  this.forceUpdate();
61615
- } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "green" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__.ColorComponentEntry, { lockObject: this.props.lockObject, label: "G", min: 0, max: 255, value: Math.round(this.state.color.g * 255), onChange: (value) => {
61650
+ } }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "green", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__.ColorComponentEntry, { lockObject: this.props.lockObject, label: "G", min: 0, max: 255, value: Math.round(this.state.color.g * 255), onChange: (value) => {
61616
61651
  this.state.color.g = value / 255.0;
61617
61652
  this.forceUpdate();
61618
- } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "blue" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__.ColorComponentEntry, { lockObject: this.props.lockObject, label: "B", min: 0, max: 255, value: Math.round(this.state.color.b * 255), onChange: (value) => {
61653
+ } }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "blue", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__.ColorComponentEntry, { lockObject: this.props.lockObject, label: "B", min: 0, max: 255, value: Math.round(this.state.color.b * 255), onChange: (value) => {
61619
61654
  this.state.color.b = value / 255.0;
61620
61655
  this.forceUpdate();
61621
- } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "alpha" + (hasAlpha ? "" : " grayed") }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__.ColorComponentEntry, { lockObject: this.props.lockObject, label: "A", min: 0, max: 255, value: Math.round(this.state.alpha * 255), onChange: (value) => {
61656
+ } }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "alpha" + (hasAlpha ? "" : " grayed"), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorComponentEntry__WEBPACK_IMPORTED_MODULE_3__.ColorComponentEntry, { lockObject: this.props.lockObject, label: "A", min: 0, max: 255, value: Math.round(this.state.alpha * 255), onChange: (value) => {
61622
61657
  this.setState({ alpha: value / 255.0 });
61623
61658
  this.forceUpdate();
61624
- } }) }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "color-picker-hex" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-picker-hex-label" }, { children: "Hex" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-picker-hex-value" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_hexColor__WEBPACK_IMPORTED_MODULE_4__.HexColor, { lockObject: this.props.lockObject, expectedLength: hasAlpha ? 8 : 6, value: colorHex, onChange: (value) => {
61659
+ } }) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "color-picker-hex", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-hex-label", children: "Hex" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-hex-value", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_hexColor__WEBPACK_IMPORTED_MODULE_4__.HexColor, { lockObject: this.props.lockObject, expectedLength: hasAlpha ? 8 : 6, value: colorHex, onChange: (value) => {
61625
61660
  if (hasAlpha) {
61626
61661
  const color4 = core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.Color4.FromHexString(value);
61627
61662
  this.setState({ color: new core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.Color3(color4.r, color4.g, color4.b), alpha: color4.a });
@@ -61629,7 +61664,7 @@ class ColorPicker extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
61629
61664
  else {
61630
61665
  this.setState({ color: core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.Color3.FromHexString(value) });
61631
61666
  }
61632
- } }) }))] })), this.props.linearhint && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-picker-warning" }, { children: "(Note: color is stored in linear mode and was converted to gamma to be displayed here (toGammaSpace() / toLinearSpace()))" })))] })));
61667
+ } }) })] }), this.props.linearhint && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-warning", children: "(Note: color is stored in linear mode and was converted to gamma to be displayed here (toGammaSpace() / toLinearSpace()))" }))] }));
61633
61668
  }
61634
61669
  }
61635
61670
 
@@ -61693,6 +61728,65 @@ class HexColor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
61693
61728
  }
61694
61729
 
61695
61730
 
61731
+ /***/ }),
61732
+
61733
+ /***/ "../../../dev/sharedUiComponents/dist/components/MessageDialog.js":
61734
+ /*!************************************************************************!*\
61735
+ !*** ../../../dev/sharedUiComponents/dist/components/MessageDialog.js ***!
61736
+ \************************************************************************/
61737
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
61738
+
61739
+ "use strict";
61740
+ __webpack_require__.r(__webpack_exports__);
61741
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
61742
+ /* harmony export */ "MessageDialog": () => (/* binding */ MessageDialog)
61743
+ /* harmony export */ });
61744
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "../../../../node_modules/react/jsx-runtime.js");
61745
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
61746
+ /* harmony import */ var _classNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./classNames */ "../../../dev/sharedUiComponents/dist/components/classNames.js");
61747
+ /* harmony import */ var _MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MessageDialog.modules.scss */ "../../../dev/sharedUiComponents/dist/components/MessageDialog.modules.scss");
61748
+
61749
+
61750
+
61751
+
61752
+ const MessageDialog = (props) => {
61753
+ const [message, setMessage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.message);
61754
+ const [isError, setIsError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(props.isError);
61755
+ (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
61756
+ setMessage(props.message);
61757
+ setIsError(props.isError);
61758
+ }, [props]);
61759
+ if (!message) {
61760
+ return null;
61761
+ }
61762
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: (0,_classNames__WEBPACK_IMPORTED_MODULE_2__.ClassNames)({ "dialog-container": true }, _MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_3__["default"]), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: (0,_classNames__WEBPACK_IMPORTED_MODULE_2__.ClassNames)({ dialog: true }, _MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_3__["default"]), children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: (0,_classNames__WEBPACK_IMPORTED_MODULE_2__.ClassNames)({ "dialog-message": true }, _MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_3__["default"]), children: message }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: (0,_classNames__WEBPACK_IMPORTED_MODULE_2__.ClassNames)({ "dialog-buttons": true }, _MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_3__["default"]), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: (0,_classNames__WEBPACK_IMPORTED_MODULE_2__.ClassNames)({ "dialog-button-ok": true, error: isError }, _MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_3__["default"]), onClick: () => setMessage(""), children: "OK" }) })] }) }));
61763
+ };
61764
+
61765
+
61766
+ /***/ }),
61767
+
61768
+ /***/ "../../../dev/sharedUiComponents/dist/components/classNames.js":
61769
+ /*!*********************************************************************!*\
61770
+ !*** ../../../dev/sharedUiComponents/dist/components/classNames.js ***!
61771
+ \*********************************************************************/
61772
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
61773
+
61774
+ "use strict";
61775
+ __webpack_require__.r(__webpack_exports__);
61776
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
61777
+ /* harmony export */ "ClassNames": () => (/* binding */ ClassNames)
61778
+ /* harmony export */ });
61779
+ function ClassNames(names, styleObject) {
61780
+ let string = "";
61781
+ for (const name in names) {
61782
+ if (names[name]) {
61783
+ string += styleObject[name] + " ";
61784
+ }
61785
+ }
61786
+ return string;
61787
+ }
61788
+
61789
+
61696
61790
  /***/ }),
61697
61791
 
61698
61792
  /***/ "../../../dev/sharedUiComponents/dist/lines/buttonLineComponent.js":
@@ -61715,7 +61809,7 @@ class ButtonLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
61715
61809
  super(props);
61716
61810
  }
61717
61811
  render() {
61718
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "buttonLine" + (this.props.isDisabled ? " disabled" : "") }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ onClick: () => this.props.onClick() }, { children: this.props.label }))] })));
61812
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "buttonLine" + (this.props.isDisabled ? " disabled" : ""), children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { onClick: () => this.props.onClick(), children: this.props.label })] }));
61719
61813
  }
61720
61814
  }
61721
61815
 
@@ -61742,7 +61836,7 @@ __webpack_require__.r(__webpack_exports__);
61742
61836
  class Color3LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
61743
61837
  render() {
61744
61838
  const props = this.props;
61745
- return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorLineComponent__WEBPACK_IMPORTED_MODULE_2__.ColorLineComponent, Object.assign({ disableAlpha: true }, props));
61839
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorLineComponent__WEBPACK_IMPORTED_MODULE_2__.ColorLineComponent, { disableAlpha: true, ...props });
61746
61840
  }
61747
61841
  }
61748
61842
 
@@ -61769,7 +61863,7 @@ __webpack_require__.r(__webpack_exports__);
61769
61863
  class Color4LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
61770
61864
  render() {
61771
61865
  const props = this.props;
61772
- return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorLineComponent__WEBPACK_IMPORTED_MODULE_2__.ColorLineComponent, Object.assign({}, props));
61866
+ return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorLineComponent__WEBPACK_IMPORTED_MODULE_2__.ColorLineComponent, { ...props });
61773
61867
  }
61774
61868
  }
61775
61869
 
@@ -61936,9 +62030,9 @@ class ColorLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
61936
62030
  }
61937
62031
  render() {
61938
62032
  const chevron = this.state.isExpanded ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_5__.faMinus }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_4__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_5__.faPlus });
61939
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "color3Line" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "firstLine" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color3" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__.ColorPickerLineComponent, { lockObject: this.props.lockObject, linearHint: this.props.isLinear, value: this.props.disableAlpha ? this._toColor3(this.state.color) : this.state.color, onColorChanged: (colorString) => {
62033
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "color3Line", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "firstLine", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.label, children: this.props.label }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color3", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__.ColorPickerLineComponent, { lockObject: this.props.lockObject, linearHint: this.props.isLinear, value: this.props.disableAlpha ? this._toColor3(this.state.color) : this.state.color, onColorChanged: (colorString) => {
61940
62034
  this.setColorFromString(colorString);
61941
- } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "copy hoverIcon", onClick: () => this.copyToClipboard(), title: "Copy to clipboard" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _copy_svg__WEBPACK_IMPORTED_MODULE_8__, alt: "Copy" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand" }, { children: chevron }))] })), this.state.isExpanded && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "r", value: this.state.color.r, onChange: (value) => this.updateStateR(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "g", value: this.state.color.g, onChange: (value) => this.updateStateG(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "b", value: this.state.color.b, onChange: (value) => this.updateStateB(value) }), this.props.disableAlpha || ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "a", value: this.state.color.a, onChange: (value) => this.updateStateA(value) }))] })))] })));
62035
+ } }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "copy hoverIcon", onClick: () => this.copyToClipboard(), title: "Copy to clipboard", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _copy_svg__WEBPACK_IMPORTED_MODULE_8__, alt: "Copy" }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand", children: chevron })] }), this.state.isExpanded && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "r", value: this.state.color.r, onChange: (value) => this.updateStateR(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "g", value: this.state.color.g, onChange: (value) => this.updateStateG(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "b", value: this.state.color.b, onChange: (value) => this.updateStateB(value) }), this.props.disableAlpha || ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_3__.NumericInputComponent, { lockObject: this.props.lockObject, label: "a", value: this.state.color.a, onChange: (value) => this.updateStateA(value) }))] }))] }));
61942
62036
  }
61943
62037
  }
61944
62038
 
@@ -62006,17 +62100,16 @@ class ColorPickerLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compon
62006
62100
  this.syncPositions();
62007
62101
  }
62008
62102
  render() {
62009
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "color-picker" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-rect-background", ref: this._floatHostRef, onClick: () => this.setState({ pickerEnabled: true }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-rect", style: { background: this.state.hex } }) })), this.state.pickerEnabled && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-picker-cover", onClick: (evt) => {
62010
- var _a, _b;
62011
- if (evt.target !== ((_b = (_a = this._floatRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument) === null || _b === void 0 ? void 0 : _b.querySelector(".color-picker-cover"))) {
62103
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "color-picker", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-rect-background", ref: this._floatHostRef, onClick: () => this.setState({ pickerEnabled: true }), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-rect", style: { background: this.state.hex } }) }), this.state.pickerEnabled && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-cover", onClick: (evt) => {
62104
+ if (evt.target !== this._floatRef.current?.ownerDocument?.querySelector(".color-picker-cover")) {
62012
62105
  return;
62013
62106
  }
62014
62107
  this.setState({ pickerEnabled: false });
62015
- } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color-picker-float", ref: this._floatRef }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__.ColorPicker, { lockObject: this.props.lockObject || {}, color: this.state.color, linearhint: this.props.linearHint, onColorChanged: (color) => {
62108
+ }, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color-picker-float", ref: this._floatRef, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_colorPicker_colorPicker__WEBPACK_IMPORTED_MODULE_2__.ColorPicker, { lockObject: this.props.lockObject || {}, color: this.state.color, linearhint: this.props.linearHint, onColorChanged: (color) => {
62016
62109
  const hex = color.toHexString();
62017
62110
  this.setState({ hex, color });
62018
62111
  this.props.onColorChanged(hex);
62019
- } }) })) })) }))] })));
62112
+ } }) }) }) }))] }));
62020
62113
  }
62021
62114
  }
62022
62115
 
@@ -62198,7 +62291,7 @@ class FloatLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
62198
62291
  }
62199
62292
  const value = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__.conflictingValuesPlaceholder ? "" : this.state.value;
62200
62293
  const placeholder = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_4__.conflictingValuesPlaceholder ? _targetsProxy__WEBPACK_IMPORTED_MODULE_4__.conflictingValuesPlaceholder : "";
62201
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [!this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: this.props.additionalClass ? this.props.additionalClass + " floatLine" : "floatLine" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (!this.props.icon || this.props.label != "") && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label }))), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: className }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "number", step: this.props.step || this.props.isInteger ? "1" : "0.01", className: "numeric-input", onKeyDown: (evt) => this.onKeyDown(evt), value: value, onBlur: () => {
62294
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [!this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: this.props.additionalClass ? this.props.additionalClass + " floatLine" : "floatLine", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (!this.props.icon || this.props.label != "") && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.label, children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: className, children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "number", step: this.props.step || this.props.isInteger ? "1" : "0.01", className: "numeric-input", onKeyDown: (evt) => this.onKeyDown(evt), value: value, onBlur: () => {
62202
62295
  this.unlock();
62203
62296
  if (this.props.onEnter) {
62204
62297
  this.props.onEnter(this._store);
@@ -62213,7 +62306,7 @@ class FloatLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
62213
62306
  this.props.onDragStop(valueAsNumber);
62214
62307
  }
62215
62308
  this.setState({ dragging: newDragging });
62216
- } }))] })), this.props.unit] }))), this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sliderLineComponent__WEBPACK_IMPORTED_MODULE_2__.SliderLineComponent, { lockObject: this.props.lockObject, label: this.props.label, minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Tools.ToDegrees(valueAsNumber), onChange: (value) => this.updateValue(core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Tools.ToRadians(value).toString()) }))] }));
62309
+ } }))] }), this.props.unit] })), this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sliderLineComponent__WEBPACK_IMPORTED_MODULE_2__.SliderLineComponent, { lockObject: this.props.lockObject, label: this.props.label, minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Tools.ToDegrees(valueAsNumber), onChange: (value) => this.updateValue(core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Tools.ToRadians(value).toString()) }))] }));
62217
62310
  }
62218
62311
  }
62219
62312
 
@@ -62247,29 +62340,26 @@ class InputArrowsComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
62247
62340
  this.props.incrementValue(-event.movementY);
62248
62341
  };
62249
62342
  this._releaseListener = () => {
62250
- var _a, _b, _c, _d;
62251
62343
  this.props.setDragging(false);
62252
- (_a = this._arrowsRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.exitPointerLock();
62253
- (_b = this._arrowsRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.defaultView.removeEventListener("pointerup", this._releaseListener);
62254
- (_c = this._arrowsRef.current) === null || _c === void 0 ? void 0 : _c.ownerDocument.removeEventListener("pointerlockchange", this._lockChangeListener);
62255
- (_d = this._arrowsRef.current) === null || _d === void 0 ? void 0 : _d.ownerDocument.defaultView.removeEventListener("mousemove", this._drag);
62344
+ this._arrowsRef.current?.ownerDocument.exitPointerLock();
62345
+ this._arrowsRef.current?.ownerDocument.defaultView.removeEventListener("pointerup", this._releaseListener);
62346
+ this._arrowsRef.current?.ownerDocument.removeEventListener("pointerlockchange", this._lockChangeListener);
62347
+ this._arrowsRef.current?.ownerDocument.defaultView.removeEventListener("mousemove", this._drag);
62256
62348
  };
62257
62349
  this._lockChangeListener = () => {
62258
- var _a;
62259
- if (((_a = this._arrowsRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.pointerLockElement) !== this._arrowsRef.current) {
62350
+ if (this._arrowsRef.current?.ownerDocument.pointerLockElement !== this._arrowsRef.current) {
62260
62351
  this._releaseListener();
62261
62352
  }
62262
62353
  };
62263
62354
  }
62264
62355
  render() {
62265
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "arrows", ref: this._arrowsRef, onPointerDown: () => {
62266
- var _a, _b, _c, _d;
62267
- (_a = this._arrowsRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.addEventListener("pointerlockchange", this._lockChangeListener);
62268
- (_b = this._arrowsRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.defaultView.addEventListener("pointerup", this._releaseListener);
62269
- (_c = this._arrowsRef.current) === null || _c === void 0 ? void 0 : _c.ownerDocument.defaultView.addEventListener("mousemove", this._drag);
62356
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "arrows", ref: this._arrowsRef, onPointerDown: () => {
62357
+ this._arrowsRef.current?.ownerDocument.addEventListener("pointerlockchange", this._lockChangeListener);
62358
+ this._arrowsRef.current?.ownerDocument.defaultView.addEventListener("pointerup", this._releaseListener);
62359
+ this._arrowsRef.current?.ownerDocument.defaultView.addEventListener("mousemove", this._drag);
62270
62360
  this.props.setDragging(true);
62271
- (_d = this._arrowsRef.current) === null || _d === void 0 ? void 0 : _d.requestPointerLock();
62272
- }, onDragStart: (evt) => evt.preventDefault() }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "upArrowIcon", src: _valueUpArrowIcon_svg__WEBPACK_IMPORTED_MODULE_2__, alt: "Increase Value" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "downArrowIcon", src: _valueDownArrowIcon_svg__WEBPACK_IMPORTED_MODULE_3__, alt: "Increase Value" })] })));
62361
+ this._arrowsRef.current?.requestPointerLock();
62362
+ }, onDragStart: (evt) => evt.preventDefault(), children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "upArrowIcon", src: _valueUpArrowIcon_svg__WEBPACK_IMPORTED_MODULE_2__, alt: "Increase Value" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "downArrowIcon", src: _valueDownArrowIcon_svg__WEBPACK_IMPORTED_MODULE_3__, alt: "Increase Value" })] }));
62273
62363
  }
62274
62364
  }
62275
62365
 
@@ -62383,7 +62473,7 @@ class MatrixLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
62383
62473
  { label: "Rotation over Y axis", value: 2 },
62384
62474
  { label: "Rotation over Z axis", value: 3 },
62385
62475
  ];
62386
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "vector3Line" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "firstLine" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label })) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "secondLine" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Mode", className: "no-right-margin", options: modeOptions, target: this, noDirectUpdate: true, propertyName: "", extractValue: () => {
62476
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "vector3Line", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "firstLine", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.label, children: this.props.label }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "secondLine", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Mode", className: "no-right-margin", options: modeOptions, target: this, noDirectUpdate: true, propertyName: "", extractValue: () => {
62387
62477
  return this.state.mode;
62388
62478
  }, onSelect: (value) => {
62389
62479
  this.props.target[this.props.propertyName] = core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_2__.Matrix.Identity();
@@ -62393,7 +62483,7 @@ class MatrixLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
62393
62483
  if (this.props.onModeChange) {
62394
62484
  this.props.onModeChange(value);
62395
62485
  }
62396
- } }) })), this.state.mode === 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #0", value: this.state.value.getRow(0), onChange: (value) => this.updateRow(value, 0) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #1", value: this.state.value.getRow(1), onChange: (value) => this.updateRow(value, 1) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #2", value: this.state.value.getRow(2), onChange: (value) => this.updateRow(value, 2) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #3", value: this.state.value.getRow(3), onChange: (value) => this.updateRow(value, 3) })] }))), this.state.mode !== 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "secondLine" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { label: "Angle", lockObject: this.props.lockObject, minimum: 0, maximum: 2 * Math.PI, useEuler: true, step: 0.1, directValue: this.state.angle, onChange: (value) => this.updateBasedOnMode(value) }) })))] })));
62486
+ } }) }), this.state.mode === 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #0", value: this.state.value.getRow(0), onChange: (value) => this.updateRow(value, 0) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #1", value: this.state.value.getRow(1), onChange: (value) => this.updateRow(value, 1) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #2", value: this.state.value.getRow(2), onChange: (value) => this.updateRow(value, 2) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_vector4LineComponent__WEBPACK_IMPORTED_MODULE_3__.Vector4LineComponent, { lockObject: this.props.lockObject, label: "Row #3", value: this.state.value.getRow(3), onChange: (value) => this.updateRow(value, 3) })] })), this.state.mode !== 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "secondLine", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { label: "Angle", lockObject: this.props.lockObject, minimum: 0, maximum: 2 * Math.PI, useEuler: true, step: 0.1, directValue: this.state.angle, onChange: (value) => this.updateBasedOnMode(value) }) }))] }));
62397
62487
  }
62398
62488
  }
62399
62489
 
@@ -62487,11 +62577,11 @@ class NumericInputComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
62487
62577
  }
62488
62578
  }
62489
62579
  render() {
62490
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "numeric" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), this.props.label && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "numeric-label", title: this.props.label }, { children: `${this.props.label}: ` }))), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "number", step: this.props.step, className: "numeric-input", value: this.state.value, onChange: (evt) => this.updateValue(evt.target.value), onKeyDown: (evt) => this.onKeyDown(evt), onFocus: () => {
62580
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "numeric", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), this.props.label && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "numeric-label", title: this.props.label, children: `${this.props.label}: ` })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "number", step: this.props.step, className: "numeric-input", value: this.state.value, onChange: (evt) => this.updateValue(evt.target.value), onKeyDown: (evt) => this.onKeyDown(evt), onFocus: () => {
62491
62581
  if (this.props.lockObject) {
62492
62582
  this.props.lockObject.lock = true;
62493
62583
  }
62494
- }, onBlur: () => this.onBlur() })] })));
62584
+ }, onBlur: () => this.onBlur() })] }));
62495
62585
  }
62496
62586
  }
62497
62587
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -62580,10 +62670,9 @@ class OptionsLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
62580
62670
  this.raiseOnPropertyChanged(newValue, store);
62581
62671
  }
62582
62672
  render() {
62583
- var _a;
62584
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "listLine" + (this.props.className ? " " + this.props.className : "") }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, color: "black", className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "options" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("select", Object.assign({ onChange: (evt) => this.updateValue(evt.target.value), value: (_a = this.state.value) !== null && _a !== void 0 ? _a : "" }, { children: this.props.options.map((option, i) => {
62585
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", Object.assign({ selected: option.selected, value: option.value, title: option.label }, { children: option.label }), option.label + i));
62586
- }) })) }))] })));
62673
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "listLine" + (this.props.className ? " " + this.props.className : ""), children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, color: "black", className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.label, children: this.props.label }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "options", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("select", { onChange: (evt) => this.updateValue(evt.target.value), value: this.state.value ?? "", children: this.props.options.map((option, i) => {
62674
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", { selected: option.selected, value: option.value, title: option.label, children: option.label }, option.label + i));
62675
+ }) }) })] }));
62587
62676
  }
62588
62677
  }
62589
62678
 
@@ -62686,13 +62775,13 @@ class SliderLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
62686
62775
  return value;
62687
62776
  }
62688
62777
  render() {
62689
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "sliderLine" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (!this.props.icon || this.props.label != "") && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: this.props.margin ? "label withMargins" : "label", title: this.props.label }, { children: this.props.label }))), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__.FloatLineComponent, { lockObject: this.props.lockObject, isInteger: this.props.decimalCount === 0, smallUI: true, label: "", target: this.state, digits: this.props.decimalCount === undefined ? 4 : this.props.decimalCount, propertyName: "value", min: this.props.minimum, max: this.props.maximum, onEnter: () => {
62778
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "sliderLine", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (!this.props.icon || this.props.label != "") && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: this.props.margin ? "label withMargins" : "label", title: this.props.label, children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_floatLineComponent__WEBPACK_IMPORTED_MODULE_3__.FloatLineComponent, { lockObject: this.props.lockObject, isInteger: this.props.decimalCount === 0, smallUI: true, label: "", target: this.state, digits: this.props.decimalCount === undefined ? 4 : this.props.decimalCount, propertyName: "value", min: this.props.minimum, max: this.props.maximum, onEnter: () => {
62690
62779
  const changed = this.prepareDataToRead(this.state.value);
62691
62780
  this.onChange(changed);
62692
62781
  }, onChange: () => {
62693
62782
  const changed = this.prepareDataToRead(this.state.value);
62694
62783
  this.onChange(changed);
62695
- }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: this.props.unit }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "slider" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("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: (evt) => this.onInput(evt.target.value), onChange: (evt) => this.onChange(evt.target.value) }) }))] })));
62784
+ }, onPropertyChangedObservable: this.props.onPropertyChangedObservable, unit: this.props.unit }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "slider", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("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: (evt) => this.onInput(evt.target.value), onChange: (evt) => this.onChange(evt.target.value) }) })] }));
62696
62785
  }
62697
62786
  }
62698
62787
 
@@ -62900,7 +62989,7 @@ class TextInputLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Componen
62900
62989
  const value = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__.conflictingValuesPlaceholder ? "" : this.state.value;
62901
62990
  const placeholder = this.state.value === _targetsProxy__WEBPACK_IMPORTED_MODULE_2__.conflictingValuesPlaceholder ? _targetsProxy__WEBPACK_IMPORTED_MODULE_2__.conflictingValuesPlaceholder : this.props.placeholder || "";
62902
62991
  const step = this.props.step || (this.props.roundValues ? 1 : 0.01);
62903
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: this.props.multilines ? "textInputArea" : this.props.unit !== undefined ? "textInputLine withUnits" : "textInputLine" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, color: "black", className: "icon" }), this.props.label !== undefined && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label }))), this.props.multilines && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("textarea", { value: this.state.value, onFocus: () => {
62992
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: this.props.multilines ? "textInputArea" : this.props.unit !== undefined ? "textInputLine withUnits" : "textInputLine", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, color: "black", className: "icon" }), this.props.label !== undefined && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.label, children: this.props.label })), this.props.multilines && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("textarea", { value: this.state.value, onFocus: () => {
62904
62993
  if (this.props.lockObject) {
62905
62994
  this.props.lockObject.lock = true;
62906
62995
  }
@@ -62914,7 +63003,7 @@ class TextInputLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Componen
62914
63003
  if (this.props.lockObject) {
62915
63004
  this.props.lockObject.lock = false;
62916
63005
  }
62917
- } }) })), !this.props.multilines && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: `value${this.props.noUnderline === true ? " noUnderline" : ""}${this.props.arrows ? " hasArrows" : ""}${this.state.dragging ? " dragging" : ""}` }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { value: value, onBlur: (evt) => {
63006
+ } }) })), !this.props.multilines && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: `value${this.props.noUnderline === true ? " noUnderline" : ""}${this.props.arrows ? " hasArrows" : ""}${this.state.dragging ? " dragging" : ""}`, children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { value: value, onBlur: (evt) => {
62918
63007
  if (this.props.lockObject) {
62919
63008
  this.props.lockObject.lock = false;
62920
63009
  }
@@ -62923,7 +63012,7 @@ class TextInputLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Componen
62923
63012
  if (this.props.lockObject) {
62924
63013
  this.props.lockObject.lock = true;
62925
63014
  }
62926
- }, onChange: (evt) => this.updateValue(evt.target.value), onKeyDown: (evt) => this.onKeyDown(evt), placeholder: placeholder, type: this.props.numeric ? "number" : "text", step: step }), this.props.arrows && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_inputArrowsComponent__WEBPACK_IMPORTED_MODULE_3__.InputArrowsComponent, { incrementValue: (amount) => this.incrementValue(amount), setDragging: (dragging) => this.setState({ dragging }) }))] }))), this.props.unit] })));
63015
+ }, onChange: (evt) => this.updateValue(evt.target.value), onKeyDown: (evt) => this.onKeyDown(evt), placeholder: placeholder, type: this.props.numeric ? "number" : "text", step: step }), this.props.arrows && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_inputArrowsComponent__WEBPACK_IMPORTED_MODULE_3__.InputArrowsComponent, { incrementValue: (amount) => this.incrementValue(amount), setDragging: (dragging) => this.setState({ dragging }) }))] })), this.props.unit] }));
62927
63016
  }
62928
63017
  }
62929
63018
 
@@ -62964,13 +63053,12 @@ class TextLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
62964
63053
  return null;
62965
63054
  }
62966
63055
  if (this.props.onLink || this.props.url) {
62967
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "link-value", title: this.props.value, onClick: () => this.onLink() }, { children: this.props.url ? "doc" : this.props.value || "no name" })));
63056
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "link-value", title: this.props.value, onClick: () => this.onLink(), children: this.props.url ? "doc" : this.props.value || "no name" }));
62968
63057
  }
62969
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "value", title: this.props.value, style: { color: this.props.color ? this.props.color : "" } }, { children: this.props.value || "no name" })));
63058
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "value", title: this.props.value, style: { color: this.props.color ? this.props.color : "" }, children: this.props.value || "no name" }));
62970
63059
  }
62971
63060
  render() {
62972
- var _a, _b, _c;
62973
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: this.props.underline ? "textLine underline" : "textLine" + (this.props.additionalClass ? " " + this.props.additionalClass : "") }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: (_b = (_a = this.props.tooltip) !== null && _a !== void 0 ? _a : this.props.label) !== null && _b !== void 0 ? _b : "" }, { children: (_c = this.props.label) !== null && _c !== void 0 ? _c : "" })), this.renderContent()] })));
63061
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: this.props.underline ? "textLine underline" : "textLine" + (this.props.additionalClass ? " " + this.props.additionalClass : ""), children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.tooltip ?? this.props.label ?? "", children: this.props.label ?? "" }), this.renderContent()] }));
62974
63062
  }
62975
63063
  }
62976
63064
 
@@ -63049,7 +63137,7 @@ class Vector2LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63049
63137
  }
63050
63138
  render() {
63051
63139
  const chevron = this.state.isExpanded ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__.faMinus }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__.faPlus });
63052
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "vector3Line" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "firstLine", title: this.props.label }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label" }, { children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "vector" }, { children: `X: ${this.state.value.x.toFixed(2)}, Y: ${this.state.value.y.toFixed(2)}` })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand" }, { children: chevron }))] })), this.state.isExpanded && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: this.state.value.x, onChange: (value) => this.updateStateX(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: this.state.value.y, onChange: (value) => this.updateStateY(value) })] })))] })));
63140
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "vector3Line", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "firstLine", title: this.props.label, children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", children: this.props.label }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "vector", children: `X: ${this.state.value.x.toFixed(2)}, Y: ${this.state.value.y.toFixed(2)}` }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand", children: chevron })] }), this.state.isExpanded && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: this.state.value.x, onChange: (value) => this.updateStateX(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: this.state.value.y, onChange: (value) => this.updateStateY(value) })] }))] }));
63053
63141
  }
63054
63142
  }
63055
63143
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -63145,8 +63233,8 @@ class Vector3LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63145
63233
  }
63146
63234
  render() {
63147
63235
  const chevron = this.state.isExpanded ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__.faMinus }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__.faPlus });
63148
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "vector3Line" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "firstLine" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "vector" }, { children: [!this.props.useEuler && `X: ${this.state.value.x.toFixed(2)}, Y: ${this.state.value.y.toFixed(2)}, Z: ${this.state.value.z.toFixed(2)}`, this.props.useEuler &&
63149
- `X: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x).toFixed(2)}, Y: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y).toFixed(2)}, Z: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z).toFixed(2)}`] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand" }, { children: chevron }))] })), this.state.isExpanded && !this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "x", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.x, onChange: (value) => this.updateStateX(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "y", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.y, onChange: (value) => this.updateStateY(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "z", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.z, onChange: (value) => this.updateStateZ(value) })] }))), this.state.isExpanded && this.props.useEuler && !this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "x", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "y", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "z", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) })] }))), this.state.isExpanded && this.props.useEuler && this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "z", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) })] })))] })));
63236
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "vector3Line", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "firstLine", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.label, children: this.props.label }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "vector", children: [!this.props.useEuler && `X: ${this.state.value.x.toFixed(2)}, Y: ${this.state.value.y.toFixed(2)}, Z: ${this.state.value.z.toFixed(2)}`, this.props.useEuler &&
63237
+ `X: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x).toFixed(2)}, Y: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y).toFixed(2)}, Z: ${core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z).toFixed(2)}`] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand", children: chevron })] }), this.state.isExpanded && !this.props.useEuler && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "x", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.x, onChange: (value) => this.updateStateX(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "y", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.y, onChange: (value) => this.updateStateY(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { label: "z", lockObject: this.props.lockObject, step: this.props.step, value: this.state.value.z, onChange: (value) => this.updateStateZ(value) })] })), this.state.isExpanded && this.props.useEuler && !this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "x", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "y", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_5__.SliderLineComponent, { lockObject: this.props.lockObject, margin: true, label: "z", minimum: 0, maximum: 360, step: 0.1, directValue: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) })] })), this.state.isExpanded && this.props.useEuler && this.props.noSlider && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.x), onChange: (value) => this.updateStateX(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.y), onChange: (value) => this.updateStateY(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_lines_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "z", step: this.props.step, value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToDegrees(this.state.value.z), onChange: (value) => this.updateStateZ(core_Misc_tools__WEBPACK_IMPORTED_MODULE_6__.Tools.ToRadians(value)) })] }))] }));
63150
63238
  }
63151
63239
  }
63152
63240
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -63247,7 +63335,7 @@ class Vector4LineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63247
63335
  }
63248
63336
  render() {
63249
63337
  const chevron = this.state.isExpanded ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__.faMinus }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_fortawesome_react_fontawesome__WEBPACK_IMPORTED_MODULE_3__.FontAwesomeIcon, { icon: _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_4__.faPlus });
63250
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "vector3Line" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "firstLine" }, { children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "vector" }, { children: `X: ${this.state.value.x.toFixed(2)}, Y: ${this.state.value.y.toFixed(2)}, Z: ${this.state.value.z.toFixed(2)}, W: ${this.state.value.w.toFixed(2)}` })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand" }, { children: chevron }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "secondLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: this.state.value.x, onChange: (value) => this.updateStateX(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: this.state.value.y, onChange: (value) => this.updateStateY(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "z", step: this.props.step, value: this.state.value.z, onChange: (value) => this.updateStateZ(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "w", step: this.props.step, value: this.state.value.w, onChange: (value) => this.updateStateW(value) })] }))] })));
63338
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "vector3Line", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "firstLine", children: [this.props.icon && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: this.props.icon, title: this.props.iconLabel, alt: this.props.iconLabel, className: "icon" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.label, children: this.props.label }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "vector", children: `X: ${this.state.value.x.toFixed(2)}, Y: ${this.state.value.y.toFixed(2)}, Z: ${this.state.value.z.toFixed(2)}, W: ${this.state.value.w.toFixed(2)}` }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "expand hoverIcon", onClick: () => this.switchExpandState(), title: "Expand", children: chevron })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "secondLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "x", step: this.props.step, value: this.state.value.x, onChange: (value) => this.updateStateX(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "y", step: this.props.step, value: this.state.value.y, onChange: (value) => this.updateStateY(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "z", step: this.props.step, value: this.state.value.z, onChange: (value) => this.updateStateZ(value) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_numericInputComponent__WEBPACK_IMPORTED_MODULE_2__.NumericInputComponent, { lockObject: this.props.lockObject, label: "w", step: this.props.step, value: this.state.value.w, onChange: (value) => this.updateStateW(value) })] })] }));
63251
63339
  }
63252
63340
  }
63253
63341
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -63622,7 +63710,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63622
63710
  return false;
63623
63711
  }
63624
63712
  populateConnectedEntriesBeforeRemoval(item, items, inputs, outputs) {
63625
- inputs.push(...item.content.inputs.filter((i) => i.isConnected && items.every((selected) => { var _a; return selected.content.data !== ((_a = i.connectedPort) === null || _a === void 0 ? void 0 : _a.ownerData); })).map((i) => i.connectedPort));
63713
+ inputs.push(...item.content.inputs.filter((i) => i.isConnected && items.every((selected) => selected.content.data !== i.connectedPort?.ownerData)).map((i) => i.connectedPort));
63626
63714
  outputs.push(...item.content.outputs
63627
63715
  .filter((i) => i.isConnected)
63628
63716
  .map((i) => i.endpoints)
@@ -63696,7 +63784,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
63696
63784
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(false);
63697
63785
  return;
63698
63786
  }
63699
- if (!evt.ctrlKey || this.props.stateManager.lockObject.lock) {
63787
+ if ((!evt.ctrlKey && !evt.metaKey) || this.props.stateManager.lockObject.lock) {
63700
63788
  return;
63701
63789
  }
63702
63790
  if (evt.key === "c" || evt.key === "C") {
@@ -64146,6 +64234,40 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
64146
64234
  }
64147
64235
  onDown(evt) {
64148
64236
  this._rootContainer.setPointerCapture(evt.pointerId);
64237
+ // Port dragging
64238
+ if (evt.nativeEvent.srcElement && evt.nativeEvent.srcElement.nodeName === "IMG") {
64239
+ if (!this._candidateLink) {
64240
+ const portElement = evt.nativeEvent.srcElement.parentElement.port;
64241
+ if (this._altKeyIsPressed && (portElement.portData.isConnected || portElement.portData.hasEndpoints)) {
64242
+ const node = portElement.node;
64243
+ // Delete connection
64244
+ const links = node.getLinksForPortData(portElement.portData);
64245
+ links.forEach((link) => {
64246
+ link.dispose(false);
64247
+ });
64248
+ // Pick the first one as target port
64249
+ const targetNode = links[0].nodeA === node ? links[0].nodeB : links[0].nodeA;
64250
+ const targetPort = links[0].nodeA === node ? links[0].portB : links[0].portA;
64251
+ // Start a new one
64252
+ this._candidateLink = new _nodeLink__WEBPACK_IMPORTED_MODULE_4__.NodeLink(this, targetPort, targetNode);
64253
+ }
64254
+ else if (this._multiKeyIsPressed && (portElement.portData.isConnected || portElement.portData.hasEndpoints)) {
64255
+ const node = portElement.node;
64256
+ const links = node.getLinksForPortData(portElement.portData);
64257
+ // Pick the first one as target port
64258
+ const linkToConsider = this._selectedLink || links[0];
64259
+ const targetNode = linkToConsider.nodeA === node ? linkToConsider.nodeB : linkToConsider.nodeA;
64260
+ const targetPort = linkToConsider.nodeA === node ? linkToConsider.portB : linkToConsider.portA;
64261
+ // Start a new one
64262
+ this._candidateLink = new _nodeLink__WEBPACK_IMPORTED_MODULE_4__.NodeLink(this, targetPort, targetNode);
64263
+ }
64264
+ else {
64265
+ this._candidateLink = new _nodeLink__WEBPACK_IMPORTED_MODULE_4__.NodeLink(this, portElement, portElement.node);
64266
+ }
64267
+ this._candidateLinkedHasMoved = false;
64268
+ }
64269
+ return;
64270
+ }
64149
64271
  // Selection?
64150
64272
  if (evt.currentTarget === this._hostCanvas && this._multiKeyIsPressed) {
64151
64273
  this._selectionBox = this.props.stateManager.hostDocument.createElement("div");
@@ -64174,15 +64296,6 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
64174
64296
  this._frameCandidate.style.height = "0px";
64175
64297
  return;
64176
64298
  }
64177
- // Port dragging
64178
- if (evt.nativeEvent.srcElement && evt.nativeEvent.srcElement.nodeName === "IMG") {
64179
- if (!this._candidateLink) {
64180
- const portElement = evt.nativeEvent.srcElement.parentElement.port;
64181
- this._candidateLink = new _nodeLink__WEBPACK_IMPORTED_MODULE_4__.NodeLink(this, portElement, portElement.node);
64182
- this._candidateLinkedHasMoved = false;
64183
- }
64184
- return;
64185
- }
64186
64299
  this.props.stateManager.onSelectionChangedObservable.notifyObservers(null);
64187
64300
  this._mouseStartPointX = evt.clientX;
64188
64301
  this._mouseStartPointY = evt.clientY;
@@ -64304,6 +64417,9 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
64304
64417
  }
64305
64418
  // No destination so let's spin a new input node
64306
64419
  const newDefaultInput = this.props.stateManager.createDefaultInputData(this.props.stateManager.data, this._candidateLink.portA.portData, this);
64420
+ if (!newDefaultInput) {
64421
+ return;
64422
+ }
64307
64423
  const pointName = newDefaultInput.name;
64308
64424
  const emittedNodeData = newDefaultInput.data;
64309
64425
  pointA = emittedNodeData.getPortByName(pointName);
@@ -64320,8 +64436,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
64320
64436
  emittedNodeData.inputs.forEach((portData) => {
64321
64437
  if (portData.connectedPort) {
64322
64438
  const existingNodes = this.nodes.filter((n) => {
64323
- var _a;
64324
- return n.content.data === ((_a = portData.connectedPort) === null || _a === void 0 ? void 0 : _a.ownerData);
64439
+ return n.content.data === portData.connectedPort?.ownerData;
64325
64440
  });
64326
64441
  const connectedNode = existingNodes[0];
64327
64442
  if (connectedNode.x === 0 && connectedNode.y === 0) {
@@ -64387,7 +64502,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
64387
64502
  });
64388
64503
  }
64389
64504
  this.connectNodes(nodeA, pointA, nodeB, pointB);
64390
- linksToNotifyForDispose === null || linksToNotifyForDispose === void 0 ? void 0 : linksToNotifyForDispose.forEach((link) => {
64505
+ linksToNotifyForDispose?.forEach((link) => {
64391
64506
  link.onDisposedObservable.notifyObservers(link);
64392
64507
  link.onDisposedObservable.clear();
64393
64508
  });
@@ -64415,8 +64530,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
64415
64530
  newNode.content.inputs.forEach((portData) => {
64416
64531
  if (portData.connectedPort) {
64417
64532
  const existingNodes = this.nodes.filter((n) => {
64418
- var _a;
64419
- return n.content.data === ((_a = portData.connectedPort) === null || _a === void 0 ? void 0 : _a.ownerData);
64533
+ return n.content.data === portData.connectedPort?.ownerData;
64420
64534
  });
64421
64535
  const connectedNode = existingNodes[0];
64422
64536
  if (connectedNode.x === 0 && connectedNode.y === 0) {
@@ -64477,7 +64591,7 @@ class GraphCanvasComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
64477
64591
  this.stateManager.onSelectionChangedObservable.notifyObservers({ selection: frame });
64478
64592
  }
64479
64593
  render() {
64480
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "graph-canvas", onWheel: (evt) => this.onWheel(evt), onPointerMove: (evt) => this.onMove(evt), onPointerDown: (evt) => this.onDown(evt), onPointerUp: (evt) => this.onUp(evt) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "graph-container" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "graph-canvas-container" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "frame-container" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("svg", { id: "graph-svg-container" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "selection-container" })] })) })));
64594
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "graph-canvas", onWheel: (evt) => this.onWheel(evt), onPointerMove: (evt) => this.onMove(evt), onPointerDown: (evt) => this.onDown(evt), onPointerUp: (evt) => this.onUp(evt), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "graph-container", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "graph-canvas-container" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "frame-container" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("svg", { id: "graph-svg-container" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "selection-container" })] }) }));
64481
64595
  }
64482
64596
  }
64483
64597
  GraphCanvasComponent.NodeWidth = 100;
@@ -65581,7 +65695,6 @@ class GraphFrame {
65581
65695
  this.ports.forEach((framePort) => framePort.node._refreshLinks());
65582
65696
  }
65583
65697
  _movePortUp(elementsArray, nodePort, framePortList) {
65584
- var _a;
65585
65698
  // update UI
65586
65699
  const indexInElementArray = elementsArray.findIndex((elem) => elem.dataset.framePortId === `${nodePort.framePortId}`);
65587
65700
  if (indexInElementArray === 0) {
@@ -65589,7 +65702,7 @@ class GraphFrame {
65589
65702
  }
65590
65703
  const secondPortElement = elementsArray[indexInElementArray];
65591
65704
  const firstPortElement = elementsArray[indexInElementArray - 1];
65592
- (_a = firstPortElement.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(secondPortElement, firstPortElement);
65705
+ firstPortElement.parentElement?.insertBefore(secondPortElement, firstPortElement);
65593
65706
  // update Frame Port Container
65594
65707
  const indexInContainer = framePortList.findIndex((framePort) => framePort === nodePort);
65595
65708
  [framePortList[indexInContainer - 1], framePortList[indexInContainer]] = [framePortList[indexInContainer], framePortList[indexInContainer - 1]]; // swap idicies
@@ -65642,7 +65755,6 @@ class GraphFrame {
65642
65755
  this.ports.forEach((framePort) => framePort.node._refreshLinks());
65643
65756
  }
65644
65757
  _movePortDown(elementsArray, nodePort, framePortList) {
65645
- var _a;
65646
65758
  // update UI
65647
65759
  const indexInElementArray = elementsArray.findIndex((elem) => elem.dataset.framePortId === `${nodePort.framePortId}`);
65648
65760
  if (indexInElementArray === elementsArray.length - 1) {
@@ -65650,7 +65762,7 @@ class GraphFrame {
65650
65762
  }
65651
65763
  const firstPort = elementsArray[indexInElementArray];
65652
65764
  const secondPort = elementsArray[indexInElementArray + 1];
65653
- (_a = firstPort.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(secondPort, firstPort);
65765
+ firstPort.parentElement?.insertBefore(secondPort, firstPort);
65654
65766
  // update Frame Port Container
65655
65767
  const indexInContainer = framePortList.findIndex((framePort) => framePort === nodePort);
65656
65768
  [framePortList[indexInContainer], framePortList[indexInContainer + 1]] = [framePortList[indexInContainer + 1], framePortList[indexInContainer]]; // swap idicies
@@ -65715,7 +65827,6 @@ class GraphFrame {
65715
65827
  this.element.style.height = `${frameElementHeight + heightModification}px`;
65716
65828
  }
65717
65829
  dispose() {
65718
- var _a;
65719
65830
  if (this._onSelectionChangedObserver) {
65720
65831
  this._ownerCanvas.stateManager.onSelectionChangedObservable.remove(this._onSelectionChangedObserver);
65721
65832
  }
@@ -65725,7 +65836,7 @@ class GraphFrame {
65725
65836
  if (this._onExposePortOnFrameObserver) {
65726
65837
  this._ownerCanvas.stateManager.onExposePortOnFrameObservable.remove(this._onExposePortOnFrameObserver);
65727
65838
  }
65728
- (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
65839
+ this.element.parentElement?.removeChild(this.element);
65729
65840
  this._ownerCanvas.frames.splice(this._ownerCanvas.frames.indexOf(this), 1);
65730
65841
  this.onExpandStateChanged.clear();
65731
65842
  }
@@ -66979,11 +67090,14 @@ __webpack_require__.r(__webpack_exports__);
66979
67090
 
66980
67091
 
66981
67092
 
67093
+
66982
67094
 
66983
67095
 
66984
67096
  class BlockTools {
66985
67097
  static GetBlockFromString(data, scene, nodeMaterial) {
66986
67098
  switch (data) {
67099
+ case "HeightToNormalBlock":
67100
+ return new core_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__.HeightToNormalBlock("HeightToNormal");
66987
67101
  case "ElbowBlock":
66988
67102
  return new core_Materials_Node_Blocks_Fragment_discardBlock__WEBPACK_IMPORTED_MODULE_0__.ElbowBlock("");
66989
67103
  case "TwirlBlock":
@@ -67593,9 +67707,9 @@ class LogComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
67593
67707
  logConsole.scrollTop = logConsole.scrollHeight;
67594
67708
  }
67595
67709
  render() {
67596
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "nme-log-console", ref: "log-console" }, { children: this.state.logs.map((l, i) => {
67597
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "log" + (l.isError ? " error" : "") }, { children: l.time.getHours() + ":" + l.time.getMinutes() + ":" + l.time.getSeconds() + ": " + l.message }), i));
67598
- }) })));
67710
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "nme-log-console", ref: "log-console", children: this.state.logs.map((l, i) => {
67711
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "log" + (l.isError ? " error" : ""), children: l.time.getHours() + ":" + l.time.getMinutes() + ":" + l.time.getSeconds() + ": " + l.message }, i));
67712
+ }) }));
67599
67713
  }
67600
67714
  }
67601
67715
 
@@ -67831,6 +67945,7 @@ class NodeListComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
67831
67945
  "ColorBlock",
67832
67946
  "InstanceColorBlock",
67833
67947
  "NormalBlock",
67948
+ "HeightToNormalBlock",
67834
67949
  "TBNBlock",
67835
67950
  "PerturbNormalBlock",
67836
67951
  "NormalBlendBlock",
@@ -67929,12 +68044,12 @@ class NodeListComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
67929
68044
  blockList.push(line);
67930
68045
  }
67931
68046
  if (blockList.length) {
67932
- blockMenu.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: key.replace("__", ": ").replace("_", " "), closed: false }, { children: blockList }), key + " blocks"));
68047
+ blockMenu.push((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: key.replace("__", ": ").replace("_", " "), closed: false, children: blockList }, key + " blocks"));
67933
68048
  }
67934
68049
  }
67935
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "nodeList" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "panes" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "pane" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "filter" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "text", placeholder: "Filter", onFocus: () => (this.props.globalState.lockObject.lock = true), onBlur: () => {
68050
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "nodeList", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "panes", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "pane", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "filter", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "text", placeholder: "Filter", onFocus: () => (this.props.globalState.lockObject.lock = true), onBlur: () => {
67936
68051
  this.props.globalState.lockObject.lock = false;
67937
- }, onChange: (evt) => this.filterContent(evt.target.value) }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "list-container" }, { children: blockMenu }))] })) })) })));
68052
+ }, onChange: (evt) => this.filterContent(evt.target.value) }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "list-container", children: blockMenu })] }) }) }));
67938
68053
  }
67939
68054
  }
67940
68055
  NodeListComponent._Tooltips = {
@@ -68083,6 +68198,7 @@ NodeListComponent._Tooltips = {
68083
68198
  TwirlBlock: "Apply a twirl rotation",
68084
68199
  ElbowBlock: "Passthrough block mostly used to organize your graph",
68085
68200
  ClipPlanesBlock: "A node that add clip planes support",
68201
+ HeightToNormalBlock: "Convert a height map into a normal map",
68086
68202
  };
68087
68203
 
68088
68204
 
@@ -68168,24 +68284,24 @@ class PreviewAreaComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
68168
68284
  { label: "OneOne", value: core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.ParticleSystem.BLENDMODE_ONEONE },
68169
68285
  { label: "Standard", value: core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.ParticleSystem.BLENDMODE_STANDARD },
68170
68286
  ];
68171
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "preview", style: { height: this.props.width + "px" } }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("canvas", { onPointerOver: this._onPointerOverCanvas, onPointerOut: this._onPointerOutCanvas, id: "preview-canvas" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "waitPanel" + (this.state.isLoading ? "" : " hidden") }, { children: "Please wait, loading..." }))] })), this.props.globalState.mode === core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Particle && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "preview-config-bar", className: "extended" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__.OptionsLineComponent, { label: "Blend mode", options: blendModeOptions, target: this.props.globalState, propertyName: "particleSystemBlendMode", noDirectUpdate: true, onSelect: (value) => {
68287
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "preview", style: { height: this.props.width + "px" }, children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("canvas", { onPointerOver: this._onPointerOverCanvas, onPointerOut: this._onPointerOutCanvas, id: "preview-canvas" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "waitPanel" + (this.state.isLoading ? "" : " hidden"), children: "Please wait, loading..." })] }), this.props.globalState.mode === core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Particle && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "preview-config-bar", className: "extended", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__.OptionsLineComponent, { label: "Blend mode", options: blendModeOptions, target: this.props.globalState, propertyName: "particleSystemBlendMode", noDirectUpdate: true, onSelect: (value) => {
68172
68288
  this.changeParticleSystemBlendMode(value);
68173
- } }) }))), this.props.globalState.mode === core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Material && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "preview-config-bar" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Render without back face culling", onClick: () => this.changeBackFaceCulling(!this.props.globalState.backFaceCulling), className: "button back-face" + (!this.props.globalState.backFaceCulling ? " selected" : "") }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_doubleSided_svg__WEBPACK_IMPORTED_MODULE_3__, alt: "" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Render with depth pre-pass", onClick: () => this.changeDepthPrePass(!this.props.globalState.depthPrePass), className: "button depth-pass" + (this.props.globalState.depthPrePass ? " selected" : "") }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_depthPass_svg__WEBPACK_IMPORTED_MODULE_4__, alt: "" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Turn on/off hemispheric light", onClick: () => {
68289
+ } }) })), this.props.globalState.mode === core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Material && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "preview-config-bar", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { title: "Render without back face culling", onClick: () => this.changeBackFaceCulling(!this.props.globalState.backFaceCulling), className: "button back-face" + (!this.props.globalState.backFaceCulling ? " selected" : ""), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_doubleSided_svg__WEBPACK_IMPORTED_MODULE_3__, alt: "" }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { title: "Render with depth pre-pass", onClick: () => this.changeDepthPrePass(!this.props.globalState.depthPrePass), className: "button depth-pass" + (this.props.globalState.depthPrePass ? " selected" : ""), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_depthPass_svg__WEBPACK_IMPORTED_MODULE_4__, alt: "" }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { title: "Turn on/off hemispheric light", onClick: () => {
68174
68290
  this.props.globalState.hemisphericLight = !this.props.globalState.hemisphericLight;
68175
68291
  core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.DataStorage.WriteBoolean("HemisphericLight", this.props.globalState.hemisphericLight);
68176
68292
  this.props.globalState.onLightUpdated.notifyObservers();
68177
68293
  this.forceUpdate();
68178
- }, className: "button hemispheric-light" + (this.props.globalState.hemisphericLight ? " selected" : "") }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_omni_svg__WEBPACK_IMPORTED_MODULE_5__, alt: "" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Turn on/off direction light #1", onClick: () => {
68294
+ }, className: "button hemispheric-light" + (this.props.globalState.hemisphericLight ? " selected" : ""), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_omni_svg__WEBPACK_IMPORTED_MODULE_5__, alt: "" }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { title: "Turn on/off direction light #1", onClick: () => {
68179
68295
  this.props.globalState.directionalLight1 = !this.props.globalState.directionalLight1;
68180
68296
  core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.DataStorage.WriteBoolean("DirectionalLight1", this.props.globalState.directionalLight1);
68181
68297
  this.props.globalState.onLightUpdated.notifyObservers();
68182
68298
  this.forceUpdate();
68183
- }, className: "button direction-light-1" + (this.props.globalState.directionalLight1 ? " selected" : "") }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_directionalRight_svg__WEBPACK_IMPORTED_MODULE_6__, alt: "" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Turn on/off direction light #0", onClick: () => {
68299
+ }, className: "button direction-light-1" + (this.props.globalState.directionalLight1 ? " selected" : ""), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_directionalRight_svg__WEBPACK_IMPORTED_MODULE_6__, alt: "" }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { title: "Turn on/off direction light #0", onClick: () => {
68184
68300
  this.props.globalState.directionalLight0 = !this.props.globalState.directionalLight0;
68185
68301
  core_Misc_dataStorage__WEBPACK_IMPORTED_MODULE_2__.DataStorage.WriteBoolean("DirectionalLight0", this.props.globalState.directionalLight0);
68186
68302
  this.props.globalState.onLightUpdated.notifyObservers();
68187
68303
  this.forceUpdate();
68188
- }, className: "button direction-light-0" + (this.props.globalState.directionalLight0 ? " selected" : "") }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_directionalLeft_svg__WEBPACK_IMPORTED_MODULE_7__, alt: "" }) }))] })) }))] }));
68304
+ }, className: "button direction-light-0" + (this.props.globalState.directionalLight0 ? " selected" : ""), children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_directionalLeft_svg__WEBPACK_IMPORTED_MODULE_7__, alt: "" }) })] }) }))] }));
68189
68305
  }
68190
68306
  }
68191
68307
 
@@ -68230,8 +68346,6 @@ __webpack_require__.r(__webpack_exports__);
68230
68346
 
68231
68347
 
68232
68348
 
68233
-
68234
-
68235
68349
 
68236
68350
 
68237
68351
 
@@ -68347,7 +68461,6 @@ class PreviewManager {
68347
68461
  }
68348
68462
  }
68349
68463
  _prepareScene() {
68350
- var _a, _b;
68351
68464
  this._camera.useFramingBehavior = this._globalState.mode === core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.NodeMaterialModes.Material;
68352
68465
  switch (this._globalState.mode) {
68353
68466
  case core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.NodeMaterialModes.Material: {
@@ -68381,7 +68494,7 @@ class PreviewManager {
68381
68494
  case core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.NodeMaterialModes.Particle: {
68382
68495
  this._camera.radius = this._globalState.previewType === _previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.Explosion ? 50 : this._globalState.previewType === _previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.DefaultParticleSystem ? 6 : 20;
68383
68496
  this._camera.upperRadiusLimit = 5000;
68384
- this._globalState.particleSystemBlendMode = (_b = (_a = this._particleSystem) === null || _a === void 0 ? void 0 : _a.blendMode) !== null && _b !== void 0 ? _b : core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.ParticleSystem.BLENDMODE_STANDARD;
68497
+ this._globalState.particleSystemBlendMode = this._particleSystem?.blendMode ?? core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.ParticleSystem.BLENDMODE_STANDARD;
68385
68498
  break;
68386
68499
  }
68387
68500
  }
@@ -68419,13 +68532,16 @@ class PreviewManager {
68419
68532
  if (this._globalState.mode === core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.NodeMaterialModes.Material) {
68420
68533
  switch (this._globalState.previewType) {
68421
68534
  case _previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.Box:
68422
- core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.SceneLoader.AppendAsync("https://models.babylonjs.com/", "roundedCube.glb", this._scene).then(() => {
68535
+ core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.SceneLoader.AppendAsync("https://assets.babylonjs.com/meshes/", "roundedCube.glb", this._scene).then(() => {
68423
68536
  this._meshes.push(...this._scene.meshes);
68424
68537
  this._prepareScene();
68425
68538
  });
68426
68539
  return;
68427
68540
  case _previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.Sphere:
68428
- this._meshes.push((0,core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.CreateSphere)("dummy-sphere", { segments: 32, diameter: 2 }, this._scene));
68541
+ core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.SceneLoader.AppendAsync("https://assets.babylonjs.com/meshes/", "previewSphere.glb", this._scene).then(() => {
68542
+ this._meshes.push(...this._scene.meshes);
68543
+ this._prepareScene();
68544
+ });
68429
68545
  break;
68430
68546
  case _previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.Torus:
68431
68547
  this._meshes.push((0,core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.CreateTorus)("dummy-torus", {
@@ -68435,20 +68551,20 @@ class PreviewManager {
68435
68551
  }, this._scene));
68436
68552
  break;
68437
68553
  case _previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.Cylinder:
68438
- core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.SceneLoader.AppendAsync("https://models.babylonjs.com/", "roundedCylinder.glb", this._scene).then(() => {
68554
+ core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.SceneLoader.AppendAsync("https://assets.babylonjs.com/meshes/", "roundedCylinder.glb", this._scene).then(() => {
68439
68555
  this._meshes.push(...this._scene.meshes);
68440
68556
  this._prepareScene();
68441
68557
  });
68442
68558
  return;
68443
68559
  case _previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.Plane: {
68444
- const plane = (0,core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.CreateGround)("dummy-plane", { width: 2, height: 2, subdivisions: 128 }, this._scene);
68445
- plane.scaling.y = -1;
68446
- plane.rotation.x = Math.PI;
68447
- this._meshes.push(plane);
68560
+ core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.SceneLoader.AppendAsync("https://assets.babylonjs.com/meshes/", "highPolyPlane.glb", this._scene).then(() => {
68561
+ this._meshes.push(...this._scene.meshes);
68562
+ this._prepareScene();
68563
+ });
68448
68564
  break;
68449
68565
  }
68450
68566
  case _previewType__WEBPACK_IMPORTED_MODULE_1__.PreviewType.ShaderBall:
68451
- core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.SceneLoader.AppendAsync("https://models.babylonjs.com/", "shaderBall.glb", this._scene).then(() => {
68567
+ core_Materials_Node_nodeMaterial__WEBPACK_IMPORTED_MODULE_0__.SceneLoader.AppendAsync("https://assets.babylonjs.com/meshes/", "shaderBall.glb", this._scene).then(() => {
68452
68568
  this._meshes.push(...this._scene.meshes);
68453
68569
  this._prepareScene();
68454
68570
  });
@@ -68753,8 +68869,7 @@ class PreviewMeshControlComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
68753
68869
  this.props.globalState.onPreviewBackgroundChanged.notifyObservers();
68754
68870
  }
68755
68871
  changeBackgroundClick() {
68756
- var _a;
68757
- (_a = this._colorInputRef.current) === null || _a === void 0 ? void 0 : _a.click();
68872
+ this._colorInputRef.current?.click();
68758
68873
  }
68759
68874
  render() {
68760
68875
  const meshTypeOptions = [
@@ -68786,17 +68901,16 @@ class PreviewMeshControlComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
68786
68901
  }
68787
68902
  const options = this.props.globalState.mode === core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Particle ? particleTypeOptions : meshTypeOptions;
68788
68903
  const accept = this.props.globalState.mode === core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Particle ? ".json" : ".glb, .babylon, .obj";
68789
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "preview-mesh-bar" }, { children: [(this.props.globalState.mode === core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Material || this.props.globalState.mode === core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Particle) && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__.OptionsLineComponent, { label: "", options: options, target: this.props.globalState, propertyName: "previewType", noDirectUpdate: true, onSelect: (value) => {
68790
- var _a;
68904
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "preview-mesh-bar", children: [(this.props.globalState.mode === core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Material || this.props.globalState.mode === core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Particle) && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_8__.OptionsLineComponent, { label: "", options: options, target: this.props.globalState, propertyName: "previewType", noDirectUpdate: true, onSelect: (value) => {
68791
68905
  if (value !== _previewType__WEBPACK_IMPORTED_MODULE_3__.PreviewType.Custom + 1) {
68792
68906
  this.changeMeshType(value);
68793
68907
  }
68794
68908
  else {
68795
- (_a = this._filePickerRef.current) === null || _a === void 0 ? void 0 : _a.click();
68909
+ this._filePickerRef.current?.click();
68796
68910
  }
68797
- } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ style: {
68911
+ } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { style: {
68798
68912
  display: "none",
68799
- }, title: "Preview with a custom mesh" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { ref: this._filePickerRef, id: "file-picker", type: "file", onChange: (evt) => this.useCustomMesh(evt), accept: accept }) }))] })), this.props.globalState.mode === core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Material && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Turn-table animation", onClick: () => this.changeAnimation(), className: "button", id: "play-button" }, { children: this.props.globalState.rotatePreview ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_pauseIcon_svg__WEBPACK_IMPORTED_MODULE_6__, alt: "" }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_playIcon_svg__WEBPACK_IMPORTED_MODULE_7__, alt: "" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "color-picker-button", title: "Background color", className: "button align", onClick: (_) => this.changeBackgroundClick() }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_colorPicker_svg__WEBPACK_IMPORTED_MODULE_5__, alt: "", id: "color-picker-image" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { ref: this._colorInputRef, id: "color-picker", type: "color", value: this.props.globalState.backgroundColor.toHexString().slice(0, 7), onChange: (evt) => this.changeBackground(evt.target.value) })] }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ title: "Open preview in new window", id: "preview-new-window", onClick: () => this.onPopUp(), className: "button" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_popOut_svg__WEBPACK_IMPORTED_MODULE_4__, alt: "" }) }))] })));
68913
+ }, title: "Preview with a custom mesh", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { ref: this._filePickerRef, id: "file-picker", type: "file", onChange: (evt) => this.useCustomMesh(evt), accept: accept }) })] })), this.props.globalState.mode === core_Maths_math_color__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialModes.Material && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { title: "Turn-table animation", onClick: () => this.changeAnimation(), className: "button", id: "play-button", children: this.props.globalState.rotatePreview ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_pauseIcon_svg__WEBPACK_IMPORTED_MODULE_6__, alt: "" }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_playIcon_svg__WEBPACK_IMPORTED_MODULE_7__, alt: "" }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "color-picker-button", title: "Background color", className: "button align", onClick: (_) => this.changeBackgroundClick(), children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_colorPicker_svg__WEBPACK_IMPORTED_MODULE_5__, alt: "", id: "color-picker-image" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { ref: this._colorInputRef, id: "color-picker", type: "color", value: this.props.globalState.backgroundColor.toHexString().slice(0, 7), onChange: (evt) => this.changeBackground(evt.target.value) })] })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { title: "Open preview in new window", id: "preview-new-window", onClick: () => this.onPopUp(), className: "button", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { src: _svgs_popOut_svg__WEBPACK_IMPORTED_MODULE_4__, alt: "" }) })] }));
68800
68914
  }
68801
68915
  }
68802
68916
 
@@ -68906,12 +69020,12 @@ class InputsPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Comp
68906
69020
  return null;
68907
69021
  }
68908
69022
  render() {
68909
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "INPUTS" }, { children: this.props.inputs.map((ib) => {
69023
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "INPUTS", children: this.props.inputs.map((ib) => {
68910
69024
  if (!ib.isUniform || ib.isSystemValue || !ib.name) {
68911
69025
  return null;
68912
69026
  }
68913
69027
  return this.renderInputBlock(ib);
68914
- }) })));
69028
+ }) }));
68915
69029
  }
68916
69030
  }
68917
69031
 
@@ -69355,16 +69469,15 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
69355
69469
  });
69356
69470
  }
69357
69471
  changeMode(value, force = false, loadDefault = true) {
69358
- var _a, _b;
69359
69472
  if (this.props.globalState.mode === value) {
69360
69473
  return false;
69361
69474
  }
69362
69475
  if (!force && !this.props.globalState.hostDocument.defaultView.confirm("Are your sure? You will lose your current changes (if any) if they are not saved!")) {
69363
- (_a = this._modeSelect.current) === null || _a === void 0 ? void 0 : _a.setValue(this.props.globalState.mode);
69476
+ this._modeSelect.current?.setValue(this.props.globalState.mode);
69364
69477
  return false;
69365
69478
  }
69366
69479
  if (force) {
69367
- (_b = this._modeSelect.current) === null || _b === void 0 ? void 0 : _b.setValue(value);
69480
+ this._modeSelect.current?.setValue(value);
69368
69481
  }
69369
69482
  if (loadDefault) {
69370
69483
  switch (value) {
@@ -69398,9 +69511,8 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
69398
69511
  return true;
69399
69512
  }
69400
69513
  render() {
69401
- var _a, _b;
69402
69514
  if (this.state.currentNode) {
69403
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "propertyTab" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "header" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "title" }, { children: "NODE MATERIAL EDITOR" }))] })), ((_a = this.state.currentNode) === null || _a === void 0 ? void 0 : _a.renderProperties()) || ((_b = this.state.currentNodePort) === null || _b === void 0 ? void 0 : _b.node.renderProperties())] })));
69515
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "propertyTab", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "header", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "title", children: "NODE MATERIAL EDITOR" })] }), this.state.currentNode?.renderProperties() || this.state.currentNodePort?.node.renderProperties()] }));
69404
69516
  }
69405
69517
  if (this.state.currentFrameNodePort && this.state.currentFrame) {
69406
69518
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_graphSystem_properties_frameNodePortPropertyComponent__WEBPACK_IMPORTED_MODULE_9__.FrameNodePortPropertyTabComponent, { globalState: this.props.globalState, stateManager: this.props.globalState.stateManager, frame: this.state.currentFrame, frameNodePort: this.state.currentFrameNodePort }));
@@ -69427,7 +69539,7 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
69427
69539
  { label: "Maximized", value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Constants.ALPHA_MAXIMIZED },
69428
69540
  { label: "Pre-multiplied", value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Constants.ALPHA_PREMULTIPLIED },
69429
69541
  ];
69430
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "propertyTab" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "header" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "title" }, { children: "NODE MATERIAL EDITOR" }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "GENERAL" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_26__.OptionsLineComponent, { ref: this._modeSelect, label: "Mode", target: this, extractValue: () => this.props.globalState.mode, options: modeList, onSelect: (value) => this.changeMode(value), propertyName: "" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_27__.TextLineComponent, { label: "Version", value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Engine.Version }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_27__.TextLineComponent, { label: "Help", value: "doc.babylonjs.com", underline: true, onLink: () => this.props.globalState.hostDocument.defaultView.open("https://doc.babylonjs.com/how_to/node_material", "_blank") }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_19__.TextInputLineComponent, { label: "Comment", multilines: true, lockObject: this.props.globalState.lockObject, value: this.props.globalState.nodeMaterial.comment, target: this.props.globalState.nodeMaterial, propertyName: "comment" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Reset to default", onClick: () => {
69542
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "propertyTab", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "header", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "title", children: "NODE MATERIAL EDITOR" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "GENERAL", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_26__.OptionsLineComponent, { ref: this._modeSelect, label: "Mode", target: this, extractValue: () => this.props.globalState.mode, options: modeList, onSelect: (value) => this.changeMode(value), propertyName: "" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_27__.TextLineComponent, { label: "Version", value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.Engine.Version }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_27__.TextLineComponent, { label: "Help", value: "doc.babylonjs.com", underline: true, onLink: () => this.props.globalState.hostDocument.defaultView.open("https://doc.babylonjs.com/how_to/node_material", "_blank") }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_19__.TextInputLineComponent, { label: "Comment", multilines: true, lockObject: this.props.globalState.lockObject, value: this.props.globalState.nodeMaterial.comment, target: this.props.globalState.nodeMaterial, propertyName: "comment" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Reset to default", onClick: () => {
69431
69543
  switch (this.props.globalState.mode) {
69432
69544
  case core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.NodeMaterialModes.Material:
69433
69545
  this.props.globalState.nodeMaterial.setToDefault();
@@ -69443,11 +69555,11 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
69443
69555
  break;
69444
69556
  }
69445
69557
  this.props.globalState.onResetRequiredObservable.notifyObservers(true);
69446
- } })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "UI" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Zoom to fit", onClick: () => {
69558
+ } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "UI", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Zoom to fit", onClick: () => {
69447
69559
  this.props.globalState.onZoomToFitRequiredObservable.notifyObservers();
69448
69560
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Reorganize", onClick: () => {
69449
69561
  this.props.globalState.onReOrganizedRequiredObservable.notifyObservers();
69450
- } })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "OPTIONS" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: "Embed textures when saving", isSelected: () => core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.ReadBoolean("EmbedTextures", true), onSelect: (value) => {
69562
+ } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "OPTIONS", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: "Embed textures when saving", isSelected: () => core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.ReadBoolean("EmbedTextures", true), onSelect: (value) => {
69451
69563
  core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.WriteBoolean("EmbedTextures", value);
69452
69564
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_29__.SliderLineComponent, { lockObject: this.props.lockObject, label: "Grid size", minimum: 0, maximum: 100, step: 5, decimalCount: 0, directValue: gridSize, onChange: (value) => {
69453
69565
  core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.WriteNumber("GridSize", value);
@@ -69456,7 +69568,7 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
69456
69568
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: "Show grid", isSelected: () => core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.ReadBoolean("ShowGrid", true), onSelect: (value) => {
69457
69569
  core_Misc_tools__WEBPACK_IMPORTED_MODULE_5__.DataStorage.WriteBoolean("ShowGrid", value);
69458
69570
  this.props.globalState.stateManager.onGridSizeChanged.notifyObservers();
69459
- } })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "FILE" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_4__.FileButtonLineComponent, { label: "Load", onClick: (file) => this.load(file), accept: ".json" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Save", onClick: () => {
69571
+ } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "FILE", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_4__.FileButtonLineComponent, { label: "Load", onClick: (file) => this.load(file), accept: ".json" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Save", onClick: () => {
69460
69572
  this.save();
69461
69573
  } }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Generate code", onClick: () => {
69462
69574
  shared_ui_components_stringTools__WEBPACK_IMPORTED_MODULE_3__.StringTools.DownloadAsFile(this.props.globalState.hostDocument, this.props.globalState.nodeMaterial.generateCode(), "code.txt");
@@ -69465,9 +69577,9 @@ class PropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
69465
69577
  shared_ui_components_stringTools__WEBPACK_IMPORTED_MODULE_3__.StringTools.DownloadAsFile(this.props.globalState.hostDocument, this.props.globalState.nodeMaterial.compiledShaders, "shaders.txt");
69466
69578
  } }), this.props.globalState.customSave && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: this.props.globalState.customSave.label, isDisabled: this.state.uploadInProgress, onClick: () => {
69467
69579
  this.customSave();
69468
- } })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_4__.FileButtonLineComponent, { label: "Load Frame", uploadName: "frame-upload", onClick: (file) => this.loadFrame(file), accept: ".json" })] })), !this.props.globalState.customSave && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "SNIPPET" }, { children: [this.props.globalState.nodeMaterial.snippetId && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_27__.TextLineComponent, { label: "Snippet ID", value: this.props.globalState.nodeMaterial.snippetId }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Load from snippet server", onClick: () => this.loadFromSnippet() }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Save to snippet server", onClick: () => {
69580
+ } })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_4__.FileButtonLineComponent, { label: "Load Frame", uploadName: "frame-upload", onClick: (file) => this.loadFrame(file), accept: ".json" })] }), !this.props.globalState.customSave && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "SNIPPET", children: [this.props.globalState.nodeMaterial.snippetId && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_27__.TextLineComponent, { label: "Snippet ID", value: this.props.globalState.nodeMaterial.snippetId }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Load from snippet server", onClick: () => this.loadFromSnippet() }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_25__.ButtonLineComponent, { label: "Save to snippet server", onClick: () => {
69469
69581
  this.saveToSnippetServer();
69470
- } })] }))), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "TRANSPARENCY" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: "Force alpha blending", target: this.props.globalState.nodeMaterial, propertyName: "forceAlphaBlending", onValueChanged: () => this.props.globalState.stateManager.onUpdateRequiredObservable.notifyObservers(null) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_26__.OptionsLineComponent, { label: "Alpha mode", options: alphaModeOptions, target: this.props.globalState.nodeMaterial, propertyName: "alphaMode", onSelect: () => this.props.globalState.stateManager.onUpdateRequiredObservable.notifyObservers(null) })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_inputsPropertyTabComponent__WEBPACK_IMPORTED_MODULE_12__.InputsPropertyTabComponent, { lockObject: this.props.lockObject, globalState: this.props.globalState, inputs: this.props.globalState.nodeMaterial.getInputBlocks() })] })] })));
69582
+ } })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "TRANSPARENCY", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_7__.CheckBoxLineComponent, { label: "Force alpha blending", target: this.props.globalState.nodeMaterial, propertyName: "forceAlphaBlending", onValueChanged: () => this.props.globalState.stateManager.onUpdateRequiredObservable.notifyObservers(null) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_26__.OptionsLineComponent, { label: "Alpha mode", options: alphaModeOptions, target: this.props.globalState.nodeMaterial, propertyName: "alphaMode", onSelect: () => this.props.globalState.stateManager.onUpdateRequiredObservable.notifyObservers(null) })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_inputsPropertyTabComponent__WEBPACK_IMPORTED_MODULE_12__.InputsPropertyTabComponent, { lockObject: this.props.lockObject, globalState: this.props.globalState, inputs: this.props.globalState.nodeMaterial.getInputBlocks() })] })] }));
69471
69583
  }
69472
69584
  }
69473
69585
 
@@ -69583,7 +69695,7 @@ __webpack_require__.r(__webpack_exports__);
69583
69695
  /* harmony import */ var _components_propertyTab_propertyTabComponent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/propertyTab/propertyTabComponent */ "../../../tools/nodeEditor/dist/components/propertyTab/propertyTabComponent.js");
69584
69696
  /* harmony import */ var _portal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./portal */ "../../../tools/nodeEditor/dist/portal.js");
69585
69697
  /* harmony import */ var _components_log_logComponent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/log/logComponent */ "../../../tools/nodeEditor/dist/components/log/logComponent.js");
69586
- /* harmony import */ var _sharedComponents_messageDialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./sharedComponents/messageDialog */ "../../../tools/nodeEditor/dist/sharedComponents/messageDialog.js");
69698
+ /* harmony import */ var shared_ui_components_components_MessageDialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! shared-ui-components/components/MessageDialog */ "../../../dev/sharedUiComponents/dist/components/MessageDialog.js");
69587
69699
  /* harmony import */ var _blockTools__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./blockTools */ "../../../tools/nodeEditor/dist/blockTools.js");
69588
69700
  /* harmony import */ var _components_preview_previewManager__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/preview/previewManager */ "../../../tools/nodeEditor/dist/components/preview/previewManager.js");
69589
69701
  /* harmony import */ var _components_preview_previewMeshControlComponent__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/preview/previewMeshControlComponent */ "../../../tools/nodeEditor/dist/components/preview/previewMeshControlComponent.js");
@@ -69667,7 +69779,10 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
69667
69779
  handleResize: true,
69668
69780
  enablePopup: true,
69669
69781
  };
69670
- const options = Object.assign({ embedHostWidth: "100%" }, userOptions);
69782
+ const options = {
69783
+ embedHostWidth: "100%",
69784
+ ...userOptions,
69785
+ };
69671
69786
  const popUpWindow = this.createPopupWindow("PREVIEW AREA", "_PreviewHostWindow");
69672
69787
  if (popUpWindow) {
69673
69788
  popUpWindow.addEventListener("beforeunload", this.handleClosingPopUp);
@@ -69776,6 +69891,8 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
69776
69891
  };
69777
69892
  this.state = {
69778
69893
  showPreviewPopUp: false,
69894
+ message: "",
69895
+ isError: true,
69779
69896
  };
69780
69897
  this._graphCanvasRef = react__WEBPACK_IMPORTED_MODULE_1__.createRef();
69781
69898
  this._diagramContainerRef = react__WEBPACK_IMPORTED_MODULE_1__.createRef();
@@ -69837,6 +69954,9 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
69837
69954
  return this.appendBlock(clone, false);
69838
69955
  }, this.props.globalState.hostDocument.querySelector(".diagram-container"));
69839
69956
  });
69957
+ this.props.globalState.stateManager.onErrorMessageDialogRequiredObservable.add((message) => {
69958
+ this.setState({ message: message, isError: true });
69959
+ });
69840
69960
  }
69841
69961
  appendBlock(dataToAppend, recursion = true) {
69842
69962
  return this._graphCanvas.createNodeFromObject(dataToAppend instanceof core_Materials_Node_nodeMaterialBlock__WEBPACK_IMPORTED_MODULE_2__.NodeMaterialBlock ? shared_ui_components_nodeGraphSystem_typeLedger__WEBPACK_IMPORTED_MODULE_17__.TypeLedger.NodeDataBuilder(dataToAppend, this._graphCanvas) : dataToAppend, (block) => {
@@ -69937,12 +70057,10 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
69937
70057
  });
69938
70058
  }
69939
70059
  showWaitScreen() {
69940
- var _a;
69941
- (_a = this.props.globalState.hostDocument.querySelector(".wait-screen")) === null || _a === void 0 ? void 0 : _a.classList.remove("hidden");
70060
+ this.props.globalState.hostDocument.querySelector(".wait-screen")?.classList.remove("hidden");
69942
70061
  }
69943
70062
  hideWaitScreen() {
69944
- var _a;
69945
- (_a = this.props.globalState.hostDocument.querySelector(".wait-screen")) === null || _a === void 0 ? void 0 : _a.classList.add("hidden");
70063
+ this.props.globalState.hostDocument.querySelector(".wait-screen")?.classList.add("hidden");
69946
70064
  }
69947
70065
  reOrganize(editorData = null, isImportingAFrame = false) {
69948
70066
  this.showWaitScreen();
@@ -70060,7 +70178,7 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
70060
70178
  this.emitNewBlock(data, event.clientX - this._diagramContainer.offsetLeft, event.clientY - this._diagramContainer.offsetTop);
70061
70179
  }
70062
70180
  render() {
70063
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_portal__WEBPACK_IMPORTED_MODULE_5__.Portal, Object.assign({ globalState: this.props.globalState }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "node-editor-graph-root", style: {
70181
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_portal__WEBPACK_IMPORTED_MODULE_5__.Portal, { globalState: this.props.globalState, children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "node-editor-graph-root", style: {
70064
70182
  gridTemplateColumns: this.buildColumnLayout(),
70065
70183
  }, onMouseMove: (evt) => {
70066
70184
  this._mouseLocationX = evt.pageX;
@@ -70070,13 +70188,13 @@ class GraphEditor extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
70070
70188
  return;
70071
70189
  }
70072
70190
  this.props.globalState.lockObject.lock = false;
70073
- } }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_nodeList_nodeListComponent__WEBPACK_IMPORTED_MODULE_3__.NodeListComponent, { globalState: this.props.globalState }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "leftGrab", onPointerDown: (evt) => this.onPointerDown(evt), onPointerUp: (evt) => this.onPointerUp(evt), onPointerMove: (evt) => this.resizeColumns(evt) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "diagram-container", ref: this._diagramContainerRef, onDrop: (event) => {
70191
+ }, children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_nodeList_nodeListComponent__WEBPACK_IMPORTED_MODULE_3__.NodeListComponent, { globalState: this.props.globalState }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "leftGrab", onPointerDown: (evt) => this.onPointerDown(evt), onPointerUp: (evt) => this.onPointerUp(evt), onPointerMove: (evt) => this.resizeColumns(evt) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "diagram-container", ref: this._diagramContainerRef, onDrop: (event) => {
70074
70192
  this.dropNewBlock(event);
70075
70193
  }, onDragOver: (event) => {
70076
70194
  event.preventDefault();
70077
- } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_nodeGraphSystem_graphCanvas__WEBPACK_IMPORTED_MODULE_16__.GraphCanvasComponent, { ref: this._graphCanvasRef, stateManager: this.props.globalState.stateManager, onEmitNewNode: (nodeData) => {
70195
+ }, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_nodeGraphSystem_graphCanvas__WEBPACK_IMPORTED_MODULE_16__.GraphCanvasComponent, { ref: this._graphCanvasRef, stateManager: this.props.globalState.stateManager, onEmitNewNode: (nodeData) => {
70078
70196
  return this.appendBlock(nodeData.data);
70079
- } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "rightGrab", onPointerDown: (evt) => this.onPointerDown(evt), onPointerUp: (evt) => this.onPointerUp(evt), onPointerMove: (evt) => this.resizeColumns(evt, false) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "right-panel" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_propertyTab_propertyTabComponent__WEBPACK_IMPORTED_MODULE_4__.PropertyTabComponent, { lockObject: this.props.globalState.lockObject, globalState: this.props.globalState }), !this.state.showPreviewPopUp ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_preview_previewMeshControlComponent__WEBPACK_IMPORTED_MODULE_10__.PreviewMeshControlComponent, { globalState: this.props.globalState, togglePreviewAreaComponent: this.handlePopUp }) : null, !this.state.showPreviewPopUp ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_preview_previewAreaComponent__WEBPACK_IMPORTED_MODULE_11__.PreviewAreaComponent, { globalState: this.props.globalState, width: this._rightWidth }) : null] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_log_logComponent__WEBPACK_IMPORTED_MODULE_6__.LogComponent, { globalState: this.props.globalState })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_messageDialog__WEBPACK_IMPORTED_MODULE_7__.MessageDialogComponent, { globalState: this.props.globalState }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "blocker" }, { children: "Node Material Editor runs only on desktop" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "wait-screen hidden" }, { children: "Processing...please wait" }))] })));
70197
+ } }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "rightGrab", onPointerDown: (evt) => this.onPointerDown(evt), onPointerUp: (evt) => this.onPointerUp(evt), onPointerMove: (evt) => this.resizeColumns(evt, false) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "right-panel", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_propertyTab_propertyTabComponent__WEBPACK_IMPORTED_MODULE_4__.PropertyTabComponent, { lockObject: this.props.globalState.lockObject, globalState: this.props.globalState }), !this.state.showPreviewPopUp ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_preview_previewMeshControlComponent__WEBPACK_IMPORTED_MODULE_10__.PreviewMeshControlComponent, { globalState: this.props.globalState, togglePreviewAreaComponent: this.handlePopUp }) : null, !this.state.showPreviewPopUp ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_preview_previewAreaComponent__WEBPACK_IMPORTED_MODULE_11__.PreviewAreaComponent, { globalState: this.props.globalState, width: this._rightWidth }) : null] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_log_logComponent__WEBPACK_IMPORTED_MODULE_6__.LogComponent, { globalState: this.props.globalState })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_components_MessageDialog__WEBPACK_IMPORTED_MODULE_7__.MessageDialog, { message: this.state.message, isError: this.state.isError }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "blocker", children: "Node Material Editor runs only on desktop" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "wait-screen hidden", children: "Processing...please wait" })] }));
70080
70198
  }
70081
70199
  }
70082
70200
 
@@ -70660,12 +70778,11 @@ class InputDisplayManager {
70660
70778
  return color;
70661
70779
  }
70662
70780
  updatePreviewContent(nodeData, contentArea) {
70663
- var _a, _b;
70664
70781
  let value = "";
70665
70782
  const inputBlock = nodeData.data;
70666
70783
  if (inputBlock.isAttribute) {
70667
- const attrVal = (_a = inputNameToAttributeValue[inputBlock.name]) !== null && _a !== void 0 ? _a : inputBlock.name;
70668
- const attrName = (_b = inputNameToAttributeName[inputBlock.name]) !== null && _b !== void 0 ? _b : "mesh";
70784
+ const attrVal = inputNameToAttributeValue[inputBlock.name] ?? inputBlock.name;
70785
+ const attrName = inputNameToAttributeName[inputBlock.name] ?? "mesh";
70669
70786
  value = attrName + "." + attrVal;
70670
70787
  }
70671
70788
  else if (inputBlock.isSystemValue) {
@@ -70996,7 +71113,7 @@ class ColorMergerPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
70996
71113
  { label: "B", value: "b" },
70997
71114
  { label: "A", value: "a" },
70998
71115
  ];
70999
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "SWIZZLES" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "R", options: targetOptions, target: colorMergerBlock, propertyName: "rSwizzle", valuesAreStrings: true, onSelect: () => {
71116
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "SWIZZLES", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "R", options: targetOptions, target: colorMergerBlock, propertyName: "rSwizzle", valuesAreStrings: true, onSelect: () => {
71000
71117
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(colorMergerBlock);
71001
71118
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71002
71119
  this.forceUpdate();
@@ -71012,7 +71129,7 @@ class ColorMergerPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
71012
71129
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(colorMergerBlock);
71013
71130
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71014
71131
  this.forceUpdate();
71015
- } })] }))] }));
71132
+ } })] })] }));
71016
71133
  }
71017
71134
  }
71018
71135
 
@@ -71063,11 +71180,11 @@ class ConditionalPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
71063
71180
  conditionOptions.sort((a, b) => {
71064
71181
  return a.label.localeCompare(b.label);
71065
71182
  });
71066
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_4__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_5__.OptionsLineComponent, { label: "Condition", options: conditionOptions, target: conditionBlock, propertyName: "condition", onSelect: () => {
71183
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_4__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_5__.OptionsLineComponent, { label: "Condition", options: conditionOptions, target: conditionBlock, propertyName: "condition", onSelect: () => {
71067
71184
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(conditionBlock);
71068
71185
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71069
71186
  this.forceUpdate();
71070
- } }) }))] }));
71187
+ } }) })] }));
71071
71188
  }
71072
71189
  }
71073
71190
 
@@ -71124,11 +71241,11 @@ class FrameNodePortPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1
71124
71241
  this.props.stateManager.onSelectionChangedObservable.remove(this._onSelectionChangedObserver);
71125
71242
  }
71126
71243
  render() {
71127
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "propertyTab" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "header" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "title" }, { children: "NODE MATERIAL EDITOR" }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "GENERAL" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_3__.TextInputLineComponent, { label: "Port Name", lockObject: this.props.stateManager.lockObject, propertyName: "portName", target: this.props.frameNodePort }), this.props.frameNodePort.framePortPosition !== shared_ui_components_nodeGraphSystem_graphFrame__WEBPACK_IMPORTED_MODULE_4__.FramePortPosition.Top && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Move Port Up", onClick: () => {
71244
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "propertyTab", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "header", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "title", children: "NODE MATERIAL EDITOR" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "GENERAL", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_3__.TextInputLineComponent, { label: "Port Name", lockObject: this.props.stateManager.lockObject, propertyName: "portName", target: this.props.frameNodePort }), this.props.frameNodePort.framePortPosition !== shared_ui_components_nodeGraphSystem_graphFrame__WEBPACK_IMPORTED_MODULE_4__.FramePortPosition.Top && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Move Port Up", onClick: () => {
71128
71245
  this.props.frame.moveFramePortUp(this.props.frameNodePort);
71129
71246
  } })), this.props.frameNodePort.framePortPosition !== shared_ui_components_nodeGraphSystem_graphFrame__WEBPACK_IMPORTED_MODULE_4__.FramePortPosition.Bottom && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Move Port Down", onClick: () => {
71130
71247
  this.props.frame.moveFramePortDown(this.props.frameNodePort);
71131
- } }))] })) })] })));
71248
+ } }))] }) })] }));
71132
71249
  }
71133
71250
  }
71134
71251
 
@@ -71184,13 +71301,13 @@ class FramePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
71184
71301
  configurableInputBlocks = configurableInputBlocks.sort((a, b) => {
71185
71302
  return a.name.localeCompare(b.name);
71186
71303
  });
71187
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "propertyTab" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "header" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "title" }, { children: "NODE MATERIAL EDITOR" }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "GENERAL" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_4__.TextInputLineComponent, { label: "Name", propertyName: "name", lockObject: this.props.globalState.lockObject, target: this.props.frame }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_color3LineComponent__WEBPACK_IMPORTED_MODULE_5__.Color3LineComponent, { lockObject: this.props.globalState.lockObject, label: "Color", target: this.props.frame, propertyName: "color" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_4__.TextInputLineComponent, { lockObject: this.props.globalState.lockObject, label: "Comments", propertyName: "comments", target: this.props.frame }), !this.props.frame.isCollapsed && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Collapse", onClick: () => {
71304
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "propertyTab", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "header", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "title", children: "NODE MATERIAL EDITOR" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "GENERAL", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_4__.TextInputLineComponent, { label: "Name", propertyName: "name", lockObject: this.props.globalState.lockObject, target: this.props.frame }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_color3LineComponent__WEBPACK_IMPORTED_MODULE_5__.Color3LineComponent, { lockObject: this.props.globalState.lockObject, label: "Color", target: this.props.frame, propertyName: "color" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_4__.TextInputLineComponent, { lockObject: this.props.globalState.lockObject, label: "Comments", propertyName: "comments", target: this.props.frame }), !this.props.frame.isCollapsed && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Collapse", onClick: () => {
71188
71305
  this.props.frame.isCollapsed = true;
71189
71306
  } })), this.props.frame.isCollapsed && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Expand", onClick: () => {
71190
71307
  this.props.frame.isCollapsed = false;
71191
71308
  } })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Export", onClick: () => {
71192
71309
  this.props.frame.export();
71193
- } })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_propertyTab_inputsPropertyTabComponent__WEBPACK_IMPORTED_MODULE_3__.InputsPropertyTabComponent, { lockObject: this.props.globalState.lockObject, globalState: this.props.globalState, inputs: configurableInputBlocks })] })] })));
71310
+ } })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_components_propertyTab_inputsPropertyTabComponent__WEBPACK_IMPORTED_MODULE_3__.InputsPropertyTabComponent, { lockObject: this.props.globalState.lockObject, globalState: this.props.globalState, inputs: configurableInputBlocks })] })] }));
71194
71311
  }
71195
71312
  }
71196
71313
 
@@ -71253,7 +71370,7 @@ class GeneralPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
71253
71370
  { label: "Fragment", value: core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_4__.NodeMaterialBlockTargets.Fragment },
71254
71371
  ];
71255
71372
  const block = this.props.nodeData.data;
71256
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "GENERAL" }, { children: [(!block.isInput || !block.isAttribute) && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { label: "Name", propertyName: "name", target: block, lockObject: this.props.stateManager.lockObject, onChange: () => this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block), validator: (newName) => {
71373
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "GENERAL", children: [(!block.isInput || !block.isAttribute) && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { label: "Name", propertyName: "name", target: block, lockObject: this.props.stateManager.lockObject, onChange: () => this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block), validator: (newName) => {
71257
71374
  if (!block.validateBlockName(newName)) {
71258
71375
  this.props.stateManager.onErrorMessageDialogRequiredObservable.notifyObservers(`"${newName}" is a reserved name, please choose another`);
71259
71376
  return false;
@@ -71263,7 +71380,7 @@ class GeneralPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
71263
71380
  this.forceUpdate();
71264
71381
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71265
71382
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71266
- } })), !block._originalTargetIsNeutral && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_8__.TextLineComponent, { label: "Target", value: core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_4__.NodeMaterialBlockTargets[block.target] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_8__.TextLineComponent, { label: "Type", value: block.getClassName() }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { label: "Comments", propertyName: "comments", lockObject: this.props.stateManager.lockObject, target: block, onChange: () => this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block) })] })) }));
71383
+ } })), !block._originalTargetIsNeutral && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_8__.TextLineComponent, { label: "Target", value: core_Materials_Node_nodeMaterialDecorator__WEBPACK_IMPORTED_MODULE_4__.NodeMaterialBlockTargets[block.target] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_8__.TextLineComponent, { label: "Type", value: block.getClassName() }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextInputLineComponent, { label: "Comments", propertyName: "comments", lockObject: this.props.stateManager.lockObject, target: block, onChange: () => this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block) })] }) }));
71267
71384
  }
71268
71385
  }
71269
71386
  class GenericPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
@@ -71271,17 +71388,16 @@ class GenericPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
71271
71388
  super(props);
71272
71389
  }
71273
71390
  forceRebuild(notifiers) {
71274
- var _a;
71275
71391
  if (!notifiers || notifiers.update) {
71276
71392
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(this.props.nodeData.data);
71277
71393
  }
71278
71394
  if (!notifiers || notifiers.rebuild) {
71279
71395
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71280
71396
  }
71281
- if (notifiers === null || notifiers === void 0 ? void 0 : notifiers.activatePreviewCommand) {
71397
+ if (notifiers?.activatePreviewCommand) {
71282
71398
  this.props.stateManager.data.onPreviewCommandActivated.notifyObservers(true);
71283
71399
  }
71284
- (_a = notifiers === null || notifiers === void 0 ? void 0 : notifiers.callback) === null || _a === void 0 ? void 0 : _a.call(notifiers, this.props.stateManager.data.nodeMaterial.getScene());
71400
+ notifiers?.callback?.(this.props.stateManager.data.nodeMaterial.getScene());
71285
71401
  }
71286
71402
  render() {
71287
71403
  const block = this.props.nodeData.data, propStore = block._propStore;
@@ -71325,7 +71441,7 @@ class GenericPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
71325
71441
  }
71326
71442
  }
71327
71443
  }
71328
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: groups.map((group) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: group }, { children: componentList[group] })))) }));
71444
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: groups.map((group) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: group, children: componentList[group] }))) }));
71329
71445
  }
71330
71446
  }
71331
71447
 
@@ -71430,7 +71546,7 @@ class GradientPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Co
71430
71546
  { label: "None", value: 0 },
71431
71547
  { label: "Visible in the inspector", value: 1 },
71432
71548
  ];
71433
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_5__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_7__.OptionsLineComponent, { label: "Type", options: typeOptions, target: gradientBlock, noDirectUpdate: true, extractValue: (block) => {
71549
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_5__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_7__.OptionsLineComponent, { label: "Type", options: typeOptions, target: gradientBlock, noDirectUpdate: true, extractValue: (block) => {
71434
71550
  if (block.visibleInInspector) {
71435
71551
  return 1;
71436
71552
  }
@@ -71450,9 +71566,9 @@ class GradientPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Co
71450
71566
  this.forceUpdate();
71451
71567
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(gradientBlock);
71452
71568
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71453
- }, propertyName: "" }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "STEPS" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Add new step", onClick: () => this.addNewStep() }), gradientBlock.colorSteps.map((c, i) => {
71569
+ }, propertyName: "" }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "STEPS", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_6__.ButtonLineComponent, { label: "Add new step", onClick: () => this.addNewStep() }), gradientBlock.colorSteps.map((c, i) => {
71454
71570
  return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_gradientStepComponent__WEBPACK_IMPORTED_MODULE_4__.GradientStepComponent, { stateManager: this.props.stateManager, onCheckForReOrder: () => this.checkForReOrder(), onUpdateStep: () => this.forceRebuild(), lineIndex: i, step: c, onCopy: () => this.copyStep(c), onDelete: () => this.deleteStep(c) }, "step-" + i));
71455
- })] }))] }));
71571
+ })] })] }));
71456
71572
  }
71457
71573
  }
71458
71574
 
@@ -71505,16 +71621,16 @@ class GradientStepComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
71505
71621
  }
71506
71622
  render() {
71507
71623
  const step = this.props.step;
71508
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "gradient-step" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "step" }, { children: `#${this.props.lineIndex}` })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "color" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__.ColorPickerLineComponent, { lockObject: this.props.stateManager.lockObject, value: step.color, onColorChanged: (color) => {
71624
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "gradient-step", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "step", children: `#${this.props.lineIndex}` }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "color", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_colorPickerComponent__WEBPACK_IMPORTED_MODULE_6__.ColorPickerLineComponent, { lockObject: this.props.stateManager.lockObject, value: step.color, onColorChanged: (color) => {
71509
71625
  this.updateColor(color);
71510
- } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "step-value" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, smallUI: true, label: "", target: step, propertyName: "step", min: 0, max: 1, onEnter: () => {
71626
+ } }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "step-value", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_floatLineComponent__WEBPACK_IMPORTED_MODULE_5__.FloatLineComponent, { lockObject: this.props.stateManager.lockObject, smallUI: true, label: "", target: step, propertyName: "step", min: 0, max: 1, onEnter: () => {
71511
71627
  this.props.onUpdateStep();
71512
71628
  this.props.onCheckForReOrder();
71513
71629
  this.forceUpdate();
71514
- } }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "step-slider" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { className: "range", type: "range", step: 0.01, min: 0, max: 1.0, value: step.step, onPointerUp: () => this.onPointerUp(), onChange: (evt) => this.updateStep(parseFloat(evt.target.value)) }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "gradient-copy", onClick: () => {
71630
+ } }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "step-slider", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { className: "range", type: "range", step: 0.01, min: 0, max: 1.0, value: step.step, onPointerUp: () => this.onPointerUp(), onChange: (evt) => this.updateStep(parseFloat(evt.target.value)) }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "gradient-copy", onClick: () => {
71515
71631
  if (this.props.onCopy)
71516
71632
  this.props.onCopy();
71517
- }, title: "Copy Step" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", src: _sharedComponents_copy_svg__WEBPACK_IMPORTED_MODULE_4__ }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "gradient-delete", onClick: () => this.props.onDelete(), title: "Delete Step" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", src: _imgs_delete_svg__WEBPACK_IMPORTED_MODULE_3__ }) }))] })));
71633
+ }, title: "Copy Step", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", src: _sharedComponents_copy_svg__WEBPACK_IMPORTED_MODULE_4__ }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "gradient-delete", onClick: () => this.props.onDelete(), title: "Delete Step", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", src: _imgs_delete_svg__WEBPACK_IMPORTED_MODULE_3__ }) })] }));
71518
71634
  }
71519
71635
  }
71520
71636
 
@@ -71658,7 +71774,7 @@ class ImageSourcePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
71658
71774
  { label: "Linear/Nearest & linear mip", value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.LINEAR_NEAREST_MIPLINEAR },
71659
71775
  { label: "Linear/Nearest & nearest mip", value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.LINEAR_NEAREST_MIPNEAREST }, // 9
71660
71776
  ];
71661
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_6__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: [texture && texture.updateSamplingMode && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_9__.OptionsLineComponent, { label: "Sampling", options: samplingMode, target: texture, noDirectUpdate: true, propertyName: "samplingMode", onSelect: (value) => {
71777
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_6__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, { title: "PROPERTIES", children: [texture && texture.updateSamplingMode && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_9__.OptionsLineComponent, { label: "Sampling", options: samplingMode, target: texture, noDirectUpdate: true, propertyName: "samplingMode", onSelect: (value) => {
71662
71778
  texture.updateSamplingMode(value);
71663
71779
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71664
71780
  } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Clamp U", isSelected: () => texture.wrapU === core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.CLAMP_ADDRESSMODE, onSelect: (value) => {
@@ -71681,11 +71797,11 @@ class ImageSourcePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__
71681
71797
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71682
71798
  } })), texture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Rotation W", target: texture, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
71683
71799
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
71684
- } }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, Object.assign({ title: "SOURCE" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Embed static texture", isSelected: () => this.state.isEmbedded, onSelect: (value) => {
71800
+ } }))] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, { title: "SOURCE", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Embed static texture", isSelected: () => this.state.isEmbedded, onSelect: (value) => {
71685
71801
  this.setState({ isEmbedded: value });
71686
71802
  this.imageSourceBlock.texture = null;
71687
71803
  this.updateAfterTextureLoad();
71688
- } }), this.state.isEmbedded && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_2__.FileButtonLineComponent, { label: "Upload", onClick: (file) => this.replaceTexture(file), accept: ".jpg, .png, .tga, .dds, .env" }), !this.state.isEmbedded && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__.TextInputLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Link", value: url, onChange: (newUrl) => this.replaceTextureWithUrl(newUrl) })), !this.state.isEmbedded && url && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_8__.ButtonLineComponent, { label: "Refresh", onClick: () => this.replaceTextureWithUrl(url + "?nocache=" + this._generateRandomForCache()) })), texture && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_8__.ButtonLineComponent, { label: "Remove", onClick: () => this.removeTexture() })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_6__.GenericPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData })] }));
71804
+ } }), this.state.isEmbedded && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_2__.FileButtonLineComponent, { label: "Upload", onClick: (file) => this.replaceTexture(file), accept: ".jpg, .png, .tga, .dds, .env" }), !this.state.isEmbedded && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__.TextInputLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Link", value: url, onChange: (newUrl) => this.replaceTextureWithUrl(newUrl) })), !this.state.isEmbedded && url && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_8__.ButtonLineComponent, { label: "Refresh", onClick: () => this.replaceTextureWithUrl(url + "?nocache=" + this._generateRandomForCache()) })), texture && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_8__.ButtonLineComponent, { label: "Remove", onClick: () => this.removeTexture() })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_6__.GenericPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData })] }));
71689
71805
  }
71690
71806
  }
71691
71807
 
@@ -71894,7 +72010,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
71894
72010
  { label: "Visible in the inspector", value: 1 },
71895
72011
  { label: "Constant", value: 2 },
71896
72012
  ];
71897
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_10__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_8__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: [inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_9__.AnimatedInputBlockTypes.None && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_14__.OptionsLineComponent, { label: "Type", options: typeOptions, target: inputBlock, noDirectUpdate: true, extractValue: (block) => {
72013
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_10__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_8__.LineContainerComponent, { title: "PROPERTIES", children: [inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_9__.AnimatedInputBlockTypes.None && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_14__.OptionsLineComponent, { label: "Type", options: typeOptions, target: inputBlock, noDirectUpdate: true, extractValue: (block) => {
71898
72014
  if (block.visibleInInspector) {
71899
72015
  return 1;
71900
72016
  }
@@ -71966,7 +72082,7 @@ class InputPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
71966
72082
  this.forceUpdate();
71967
72083
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(inputBlock);
71968
72084
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
71969
- } })), inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_9__.AnimatedInputBlockTypes.None && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_11__.CheckBoxLineComponent, { label: "Visible on frame", target: inputBlock, propertyName: "visibleOnFrame" }))] }))] }));
72085
+ } })), inputBlock.isUniform && !inputBlock.isSystemValue && inputBlock.animationType === core_Materials_Node_Enums_nodeMaterialBlockConnectionPointTypes__WEBPACK_IMPORTED_MODULE_9__.AnimatedInputBlockTypes.None && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_11__.CheckBoxLineComponent, { label: "Visible on frame", target: inputBlock, propertyName: "visibleOnFrame" }))] })] }));
71970
72086
  }
71971
72087
  }
71972
72088
 
@@ -72001,11 +72117,11 @@ class LightInformationPropertyTabComponent extends react__WEBPACK_IMPORTED_MODUL
72001
72117
  return { label: l.name, value: l.name };
72002
72118
  });
72003
72119
  const lightInformationBlock = this.props.nodeData.data;
72004
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Light", noDirectUpdate: true, valuesAreStrings: true, options: lightOptions, target: lightInformationBlock, propertyName: "name", extractValue: (target) => target.light.name, onSelect: (name) => {
72120
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Light", noDirectUpdate: true, valuesAreStrings: true, options: lightOptions, target: lightInformationBlock, propertyName: "name", extractValue: (target) => target.light.name, onSelect: (name) => {
72005
72121
  lightInformationBlock.light = scene.getLightByName(name);
72006
72122
  this.forceUpdate();
72007
72123
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
72008
- } }) }))] }));
72124
+ } }) })] }));
72009
72125
  }
72010
72126
  }
72011
72127
 
@@ -72041,7 +72157,7 @@ class LightPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
72041
72157
  });
72042
72158
  lightOptions.splice(0, 0, { label: "All", value: "" });
72043
72159
  const lightBlock = this.props.nodeData.data;
72044
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Light", defaultIfNull: 0, noDirectUpdate: true, valuesAreStrings: true, options: lightOptions, target: lightBlock, propertyName: "name", onSelect: (name) => {
72160
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "Light", defaultIfNull: 0, noDirectUpdate: true, valuesAreStrings: true, options: lightOptions, target: lightBlock, propertyName: "name", onSelect: (name) => {
72045
72161
  if (name === "") {
72046
72162
  lightBlock.light = null;
72047
72163
  }
@@ -72050,7 +72166,7 @@ class LightPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compo
72050
72166
  }
72051
72167
  this.forceUpdate();
72052
72168
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
72053
- } }) }))] }));
72169
+ } }) })] }));
72054
72170
  }
72055
72171
  }
72056
72172
 
@@ -72093,7 +72209,7 @@ class NodePortPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Co
72093
72209
  }
72094
72210
  render() {
72095
72211
  const info = this.props.nodePort.hasLabel() ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [this.props.nodePort.hasLabel() && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_4__.TextInputLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Port Label", propertyName: "portName", target: this.props.nodePort })), this.props.nodePort.node.enclosingFrameId !== -1 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__.CheckBoxLineComponent, { label: "Expose Port on Frame", target: this.props.nodePort, isSelected: () => this.props.nodePort.exposedOnFrame, onSelect: (value) => this.toggleExposeOnFrame(value), propertyName: "exposedOnFrame", disabled: this.props.nodePort.disabled }))] })) : ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textLineComponent__WEBPACK_IMPORTED_MODULE_5__.TextLineComponent, { label: "This node is a constant input node and cannot be exposed to the frame.", value: " " }));
72096
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "propertyTab" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ id: "header" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ id: "title" }, { children: "NODE MATERIAL EDITOR" }))] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "GENERAL" }, { children: info })) })] })));
72212
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "propertyTab", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { id: "header", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { id: "logo", src: "https://www.babylonjs.com/Assets/logo-babylonjs-social-twitter.png" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { id: "title", children: "NODE MATERIAL EDITOR" })] }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "GENERAL", children: info }) })] }));
72097
72213
  }
72098
72214
  }
72099
72215
 
@@ -72316,7 +72432,7 @@ class TexturePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
72316
72432
  { label: "Linear/Nearest & linear mip", value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.LINEAR_NEAREST_MIPLINEAR },
72317
72433
  { label: "Linear/Nearest & nearest mip", value: core_Misc_tools__WEBPACK_IMPORTED_MODULE_3__.Texture.LINEAR_NEAREST_MIPNEAREST }, // 9
72318
72434
  ];
72319
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_6__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Auto select UV", propertyName: "autoSelectUV", target: block, onValueChanged: () => {
72435
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_6__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, { title: "PROPERTIES", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Auto select UV", propertyName: "autoSelectUV", target: block, onValueChanged: () => {
72320
72436
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72321
72437
  } }), !isInReflectionMode && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Convert to gamma space", propertyName: "convertToGammaSpace", target: block, onValueChanged: () => {
72322
72438
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
@@ -72354,11 +72470,11 @@ class TexturePropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
72354
72470
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72355
72471
  } })), texture && !isInReflectionMode && !isFrozenTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_sliderLineComponent__WEBPACK_IMPORTED_MODULE_11__.SliderLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Rotation W", target: texture, propertyName: "wAng", minimum: 0, maximum: Math.PI * 2, useEuler: true, step: 0.1, onChange: () => {
72356
72472
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(block);
72357
- } }))] })), !this.textureBlock.hasImageSource && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, Object.assign({ title: "SOURCE" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Embed static texture", isSelected: () => this.state.isEmbedded, onSelect: (value) => {
72473
+ } }))] }), !this.textureBlock.hasImageSource && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_4__.LineContainerComponent, { title: "SOURCE", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Embed static texture", isSelected: () => this.state.isEmbedded, onSelect: (value) => {
72358
72474
  this.setState({ isEmbedded: value });
72359
72475
  this.textureBlock.texture = null;
72360
72476
  this.updateAfterTextureLoad();
72361
- } }), isInReflectionMode && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Load as cube texture", isSelected: () => this.state.loadAsCubeTexture, onSelect: (value) => this.setState({ loadAsCubeTexture: value }) })), isInReflectionMode && this.state.loadAsCubeTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0Texture is prefiltered", isSelected: () => this.state.textureIsPrefiltered, onSelect: (value) => this.setState({ textureIsPrefiltered: value }) })), this.state.isEmbedded && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_2__.FileButtonLineComponent, { label: "Upload", onClick: (file) => this.replaceTexture(file), accept: ".jpg, .png, .tga, .dds, .env" }), !this.state.isEmbedded && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__.TextInputLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Link", value: url, onChange: (newUrl) => this.replaceTextureWithUrl(newUrl) })), !this.state.isEmbedded && url && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_8__.ButtonLineComponent, { label: "Refresh", onClick: () => this.replaceTextureWithUrl(url + "?nocache=" + this._generateRandomForCache()) })), texture && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_8__.ButtonLineComponent, { label: "Remove", onClick: () => this.removeTexture() })] }))), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_6__.GenericPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData })] }));
72477
+ } }), isInReflectionMode && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "Load as cube texture", isSelected: () => this.state.loadAsCubeTexture, onSelect: (value) => this.setState({ loadAsCubeTexture: value }) })), isInReflectionMode && this.state.loadAsCubeTexture && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_5__.CheckBoxLineComponent, { label: "\u00A0\u00A0\u00A0\u00A0\u00A0\u00A0Texture is prefiltered", isSelected: () => this.state.textureIsPrefiltered, onSelect: (value) => this.setState({ textureIsPrefiltered: value }) })), this.state.isEmbedded && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_fileButtonLineComponent__WEBPACK_IMPORTED_MODULE_2__.FileButtonLineComponent, { label: "Upload", onClick: (file) => this.replaceTexture(file), accept: ".jpg, .png, .tga, .dds, .env" }), !this.state.isEmbedded && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_textInputLineComponent__WEBPACK_IMPORTED_MODULE_7__.TextInputLineComponent, { lockObject: this.props.stateManager.lockObject, label: "Link", value: url, onChange: (newUrl) => this.replaceTextureWithUrl(newUrl) })), !this.state.isEmbedded && url && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_8__.ButtonLineComponent, { label: "Refresh", onClick: () => this.replaceTextureWithUrl(url + "?nocache=" + this._generateRandomForCache()) })), texture && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_buttonLineComponent__WEBPACK_IMPORTED_MODULE_8__.ButtonLineComponent, { label: "Remove", onClick: () => this.removeTexture() })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_6__.GenericPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData })] }));
72362
72478
  }
72363
72479
  }
72364
72480
 
@@ -72391,7 +72507,7 @@ class TransformPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.C
72391
72507
  super(props);
72392
72508
  }
72393
72509
  render() {
72394
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_4__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__.CheckBoxLineComponent, { label: "Transform as direction", onSelect: (value) => {
72510
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_4__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_checkBoxLineComponent__WEBPACK_IMPORTED_MODULE_3__.CheckBoxLineComponent, { label: "Transform as direction", onSelect: (value) => {
72395
72511
  const transformBlock = this.props.nodeData.data;
72396
72512
  if (value) {
72397
72513
  transformBlock.complementW = 0;
@@ -72400,7 +72516,7 @@ class TransformPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1__.C
72400
72516
  transformBlock.complementW = 1;
72401
72517
  }
72402
72518
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
72403
- }, isSelected: () => this.props.nodeData.data.complementW === 0 }) }))] }));
72519
+ }, isSelected: () => this.props.nodeData.data.complementW === 0 }) })] }));
72404
72520
  }
72405
72521
  }
72406
72522
 
@@ -72460,11 +72576,11 @@ class TrigonometryPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1_
72460
72576
  operationOptions.sort((a, b) => {
72461
72577
  return a.label.localeCompare(b.label);
72462
72578
  });
72463
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_4__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "PROPERTIES" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_5__.OptionsLineComponent, { label: "Operation", options: operationOptions, target: trigonometryBlock, propertyName: "operation", onSelect: () => {
72579
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_4__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "PROPERTIES", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_5__.OptionsLineComponent, { label: "Operation", options: operationOptions, target: trigonometryBlock, propertyName: "operation", onSelect: () => {
72464
72580
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(trigonometryBlock);
72465
72581
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
72466
72582
  this.forceUpdate();
72467
- } }) }))] }));
72583
+ } }) })] }));
72468
72584
  }
72469
72585
  }
72470
72586
 
@@ -72504,7 +72620,7 @@ class VectorMergerPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1_
72504
72620
  { label: "Z", value: "z" },
72505
72621
  { label: "W", value: "w" },
72506
72622
  ];
72507
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, Object.assign({ title: "SWIZZLES" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "X", options: targetOptions, target: vectorMergerBlock, propertyName: "xSwizzle", valuesAreStrings: true, onSelect: () => {
72623
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_genericNodePropertyComponent__WEBPACK_IMPORTED_MODULE_3__.GeneralPropertyTabComponent, { stateManager: this.props.stateManager, nodeData: this.props.nodeData }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_sharedComponents_lineContainerComponent__WEBPACK_IMPORTED_MODULE_2__.LineContainerComponent, { title: "SWIZZLES", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(shared_ui_components_lines_optionsLineComponent__WEBPACK_IMPORTED_MODULE_4__.OptionsLineComponent, { label: "X", options: targetOptions, target: vectorMergerBlock, propertyName: "xSwizzle", valuesAreStrings: true, onSelect: () => {
72508
72624
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(vectorMergerBlock);
72509
72625
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
72510
72626
  this.forceUpdate();
@@ -72520,7 +72636,7 @@ class VectorMergerPropertyTabComponent extends react__WEBPACK_IMPORTED_MODULE_1_
72520
72636
  this.props.stateManager.onUpdateRequiredObservable.notifyObservers(vectorMergerBlock);
72521
72637
  this.props.stateManager.onRebuildRequiredObservable.notifyObservers(true);
72522
72638
  this.forceUpdate();
72523
- } })] }))] }));
72639
+ } })] })] }));
72524
72640
  }
72525
72641
  }
72526
72642
 
@@ -72551,6 +72667,9 @@ const RegisterDefaultInput = (stateManager) => {
72551
72667
  let pointName = "output";
72552
72668
  let emittedBlock;
72553
72669
  if (!customInputBlock) {
72670
+ if (point.type === core_Materials_Node_Blocks_Input_inputBlock__WEBPACK_IMPORTED_MODULE_0__.NodeMaterialBlockConnectionPointTypes.AutoDetect) {
72671
+ return null;
72672
+ }
72554
72673
  emittedBlock = new core_Materials_Node_Blocks_Input_inputBlock__WEBPACK_IMPORTED_MODULE_0__.InputBlock(core_Materials_Node_Blocks_Input_inputBlock__WEBPACK_IMPORTED_MODULE_0__.NodeMaterialBlockConnectionPointTypes[point.type], undefined, point.type);
72555
72674
  }
72556
72675
  else {
@@ -73092,7 +73211,7 @@ class CheckBoxLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
73092
73211
  this.state = { isSelected: this.props.target[this.props.propertyName] == true };
73093
73212
  }
73094
73213
  if (this.props.disabled) {
73095
- this.state = Object.assign(Object.assign({}, this.state), { isDisabled: this.props.disabled });
73214
+ this.state = { ...this.state, isDisabled: this.props.disabled };
73096
73215
  }
73097
73216
  }
73098
73217
  shouldComponentUpdate(nextProps, nextState) {
@@ -73135,7 +73254,7 @@ class CheckBoxLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
73135
73254
  this.setState({ isSelected: !this.state.isSelected });
73136
73255
  }
73137
73256
  render() {
73138
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "checkBoxLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "label", title: this.props.label }, { children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "checkBox" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "checkbox", id: "checkbox" + this._uniqueId, className: "cbx hidden", checked: this.state.isSelected, onChange: () => this.onChange(), disabled: !!this.props.disabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { htmlFor: "checkbox" + this._uniqueId, className: `lbl${this.props.disabled ? " disabled" : ""}` })] }))] })));
73257
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "checkBoxLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "label", title: this.props.label, children: this.props.label }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "checkBox", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { type: "checkbox", id: "checkbox" + this._uniqueId, className: "cbx hidden", checked: this.state.isSelected, onChange: () => this.onChange(), disabled: !!this.props.disabled }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { htmlFor: "checkbox" + this._uniqueId, className: `lbl${this.props.disabled ? " disabled" : ""}` })] })] }));
73139
73258
  }
73140
73259
  }
73141
73260
  CheckBoxLineComponent._UniqueIdSeed = 0;
@@ -73163,9 +73282,9 @@ class DraggableLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Componen
73163
73282
  super(props);
73164
73283
  }
73165
73284
  render() {
73166
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "draggableLine", title: this.props.tooltip, draggable: true, onDragStart: (event) => {
73285
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "draggableLine", title: this.props.tooltip, draggable: true, onDragStart: (event) => {
73167
73286
  event.dataTransfer.setData("babylonjs-material-node", this.props.data);
73168
- } }, { children: this.props.data.replace("Block", "") })));
73287
+ }, children: this.props.data.replace("Block", "") }));
73169
73288
  }
73170
73289
  }
73171
73290
 
@@ -73192,12 +73311,11 @@ class DraggableLineWithButtonComponent extends react__WEBPACK_IMPORTED_MODULE_1_
73192
73311
  super(props);
73193
73312
  }
73194
73313
  render() {
73195
- var _a;
73196
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "draggableLine withButton", title: this.props.tooltip, draggable: true, onDragStart: (event) => {
73314
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "draggableLine withButton", title: this.props.tooltip, draggable: true, onDragStart: (event) => {
73197
73315
  event.dataTransfer.setData("babylonjs-material-node", this.props.data);
73198
- } }, { children: [this.props.data.substr(0, this.props.data.length - ((_a = this.props.lenSuffixToRemove) !== null && _a !== void 0 ? _a : 6)), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "icon", onClick: () => {
73316
+ }, children: [this.props.data.substr(0, this.props.data.length - (this.props.lenSuffixToRemove ?? 6)), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "icon", onClick: () => {
73199
73317
  this.props.onIconClick(this.props.data);
73200
- }, title: this.props.iconTitle }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", title: this.props.iconTitle, src: this.props.iconImage }) }))] })));
73318
+ }, title: this.props.iconTitle, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", title: this.props.iconTitle, src: this.props.iconImage }) })] }));
73201
73319
  }
73202
73320
  }
73203
73321
 
@@ -73232,7 +73350,7 @@ class FileButtonLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Compone
73232
73350
  evt.target.value = "";
73233
73351
  }
73234
73352
  render() {
73235
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "buttonLine" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", Object.assign({ htmlFor: this.props.uploadName ? this.props.uploadName : "file-upload", className: "file-upload" }, { children: this.props.label })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { ref: this._uploadRef, id: this.props.uploadName ? this.props.uploadName : "file-upload", type: "file", accept: this.props.accept, onChange: (evt) => this.onChange(evt) })] })));
73353
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "buttonLine", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { htmlFor: this.props.uploadName ? this.props.uploadName : "file-upload", className: "file-upload", children: this.props.label }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { ref: this._uploadRef, id: this.props.uploadName ? this.props.uploadName : "file-upload", type: "file", accept: this.props.accept, onChange: (evt) => this.onChange(evt) })] }));
73236
73354
  }
73237
73355
  }
73238
73356
 
@@ -73272,13 +73390,13 @@ class LineContainerComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Componen
73272
73390
  }
73273
73391
  renderHeader() {
73274
73392
  const className = this.state.isExpanded ? "collapse" : "collapse closed";
73275
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "header", onClick: () => this.switchExpandedState() }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "title" }, { children: this.props.title })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: className }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", title: this.props.title, src: _imgs_downArrow_svg__WEBPACK_IMPORTED_MODULE_3__ }) }))] })));
73393
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "header", onClick: () => this.switchExpandedState(), children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "title", children: this.props.title }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: className, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", title: this.props.title, src: _imgs_downArrow_svg__WEBPACK_IMPORTED_MODULE_3__ }) })] }));
73276
73394
  }
73277
73395
  render() {
73278
73396
  if (!this.state.isExpanded) {
73279
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "paneContainer" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "paneContainer-content" }, { children: this.renderHeader() })) })));
73397
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "paneContainer", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "paneContainer-content", children: this.renderHeader() }) }));
73280
73398
  }
73281
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "paneContainer" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "paneContainer-content" }, { children: [this.renderHeader(), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "paneList" }, { children: this.props.children }))] })) })));
73399
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "paneContainer", children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "paneContainer-content", children: [this.renderHeader(), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "paneList", children: this.props.children })] }) }));
73282
73400
  }
73283
73401
  }
73284
73402
 
@@ -73323,41 +73441,7 @@ class LineWithFileButtonComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Com
73323
73441
  this.setState({ isExpanded: newState });
73324
73442
  }
73325
73443
  render() {
73326
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "nonDraggableLine withButton" }, { children: [this.props.label, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "icon", title: this.props.title }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", src: this.props.iconImage }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "buttonLine", title: this.props.title }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { htmlFor: this.props.uploadName ? this.props.uploadName : "file-upload", className: "file-upload" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { ref: this._uploadRef, id: this.props.uploadName ? this.props.uploadName : "file-upload", type: "file", accept: this.props.accept, onChange: (evt) => this.onChange(evt) })] }))] })));
73327
- }
73328
- }
73329
-
73330
-
73331
- /***/ }),
73332
-
73333
- /***/ "../../../tools/nodeEditor/dist/sharedComponents/messageDialog.js":
73334
- /*!************************************************************************!*\
73335
- !*** ../../../tools/nodeEditor/dist/sharedComponents/messageDialog.js ***!
73336
- \************************************************************************/
73337
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
73338
-
73339
- "use strict";
73340
- __webpack_require__.r(__webpack_exports__);
73341
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
73342
- /* harmony export */ "MessageDialogComponent": () => (/* binding */ MessageDialogComponent)
73343
- /* harmony export */ });
73344
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "../../../../node_modules/react/jsx-runtime.js");
73345
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "../../../../node_modules/react/index.js");
73346
-
73347
-
73348
- class MessageDialogComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
73349
- constructor(props) {
73350
- super(props);
73351
- this.state = { message: "", isError: false };
73352
- this.props.globalState.stateManager.onErrorMessageDialogRequiredObservable.add((message) => {
73353
- this.setState({ message: message, isError: true });
73354
- });
73355
- }
73356
- render() {
73357
- if (!this.state.message) {
73358
- return null;
73359
- }
73360
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "dialog-container" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "dialog" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "dialog-message" }, { children: this.state.message })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "dialog-buttons" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", Object.assign({ className: "dialog-button-ok" + (this.state.isError ? " error" : ""), onClick: () => this.setState({ message: "" }) }, { children: "OK" })) }))] })) })));
73444
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "nonDraggableLine withButton", children: [this.props.label, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", { className: "icon", title: this.props.title, children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", { className: "img", src: this.props.iconImage }) }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "buttonLine", title: this.props.title, children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("label", { htmlFor: this.props.uploadName ? this.props.uploadName : "file-upload", className: "file-upload" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("input", { ref: this._uploadRef, id: this.props.uploadName ? this.props.uploadName : "file-upload", type: "file", accept: this.props.accept, onChange: (evt) => this.onChange(evt) })] })] }));
73361
73445
  }
73362
73446
  }
73363
73447
 
@@ -73592,7 +73676,7 @@ class TextureLineComponent extends react__WEBPACK_IMPORTED_MODULE_1__.Component
73592
73676
  }
73593
73677
  render() {
73594
73678
  const texture = this.props.texture;
73595
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "textureLine" }, { children: [!this.props.hideChannelSelect && texture.isCube && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "control3D" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.face === 0 ? "px command selected" : "px command", onClick: () => this.setState({ face: 0 }) }, { children: "PX" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.face === 1 ? "nx command selected" : "nx command", onClick: () => this.setState({ face: 1 }) }, { children: "NX" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.face === 2 ? "py command selected" : "py command", onClick: () => this.setState({ face: 2 }) }, { children: "PY" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.face === 3 ? "ny command selected" : "ny command", onClick: () => this.setState({ face: 3 }) }, { children: "NY" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.face === 4 ? "pz command selected" : "pz command", onClick: () => this.setState({ face: 4 }) }, { children: "PZ" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.face === 5 ? "nz command selected" : "nz command", onClick: () => this.setState({ face: 5 }) }, { children: "NZ" }))] }))), !this.props.hideChannelSelect && !texture.isCube && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", Object.assign({ className: "control" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.displayRed && !this.state.displayGreen ? "red command selected" : "red command", onClick: () => this.setState({ displayRed: true, displayGreen: false, displayBlue: false, displayAlpha: false }) }, { children: "R" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.displayGreen && !this.state.displayBlue ? "green command selected" : "green command", onClick: () => this.setState({ displayRed: false, displayGreen: true, displayBlue: false, displayAlpha: false }) }, { children: "G" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.displayBlue && !this.state.displayAlpha ? "blue command selected" : "blue command", onClick: () => this.setState({ displayRed: false, displayGreen: false, displayBlue: true, displayAlpha: false }) }, { children: "B" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.displayAlpha && !this.state.displayRed ? "alpha command selected" : "alpha command", onClick: () => this.setState({ displayRed: false, displayGreen: false, displayBlue: false, displayAlpha: true }) }, { children: "A" })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", Object.assign({ className: this.state.displayRed && this.state.displayGreen ? "all command selected" : "all command", onClick: () => this.setState({ displayRed: true, displayGreen: true, displayBlue: true, displayAlpha: true }) }, { children: "ALL" }))] }))), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("canvas", { ref: this._canvasRef, className: "preview" })] })));
73679
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "textureLine", children: [!this.props.hideChannelSelect && texture.isCube && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "control3D", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.face === 0 ? "px command selected" : "px command", onClick: () => this.setState({ face: 0 }), children: "PX" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.face === 1 ? "nx command selected" : "nx command", onClick: () => this.setState({ face: 1 }), children: "NX" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.face === 2 ? "py command selected" : "py command", onClick: () => this.setState({ face: 2 }), children: "PY" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.face === 3 ? "ny command selected" : "ny command", onClick: () => this.setState({ face: 3 }), children: "NY" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.face === 4 ? "pz command selected" : "pz command", onClick: () => this.setState({ face: 4 }), children: "PZ" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.face === 5 ? "nz command selected" : "nz command", onClick: () => this.setState({ face: 5 }), children: "NZ" })] })), !this.props.hideChannelSelect && !texture.isCube && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", { className: "control", children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.displayRed && !this.state.displayGreen ? "red command selected" : "red command", onClick: () => this.setState({ displayRed: true, displayGreen: false, displayBlue: false, displayAlpha: false }), children: "R" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.displayGreen && !this.state.displayBlue ? "green command selected" : "green command", onClick: () => this.setState({ displayRed: false, displayGreen: true, displayBlue: false, displayAlpha: false }), children: "G" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.displayBlue && !this.state.displayAlpha ? "blue command selected" : "blue command", onClick: () => this.setState({ displayRed: false, displayGreen: false, displayBlue: true, displayAlpha: false }), children: "B" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.displayAlpha && !this.state.displayRed ? "alpha command selected" : "alpha command", onClick: () => this.setState({ displayRed: false, displayGreen: false, displayBlue: false, displayAlpha: true }), children: "A" }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", { className: this.state.displayRed && this.state.displayGreen ? "all command selected" : "all command", onClick: () => this.setState({ displayRed: true, displayGreen: true, displayBlue: true, displayAlpha: true }), children: "ALL" })] })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("canvas", { ref: this._canvasRef, className: "preview" })] }));
73596
73680
  }
73597
73681
  }
73598
73682
 
@@ -73927,6 +74011,61 @@ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js
73927
74011
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_main_scss__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_main_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_main_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
73928
74012
 
73929
74013
 
74014
+ /***/ }),
74015
+
74016
+ /***/ "../../../dev/sharedUiComponents/dist/components/MessageDialog.modules.scss":
74017
+ /*!**********************************************************************************!*\
74018
+ !*** ../../../dev/sharedUiComponents/dist/components/MessageDialog.modules.scss ***!
74019
+ \**********************************************************************************/
74020
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
74021
+
74022
+ "use strict";
74023
+ __webpack_require__.r(__webpack_exports__);
74024
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
74025
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
74026
+ /* harmony export */ });
74027
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
74028
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
74029
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js");
74030
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);
74031
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "../../../../node_modules/style-loader/dist/runtime/insertBySelector.js");
74032
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);
74033
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js");
74034
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);
74035
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js");
74036
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);
74037
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js");
74038
+ /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);
74039
+ /* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./MessageDialog.modules.scss */ "../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!../../../dev/sharedUiComponents/dist/components/MessageDialog.modules.scss");
74040
+
74041
+
74042
+
74043
+
74044
+
74045
+
74046
+
74047
+
74048
+
74049
+
74050
+
74051
+ var options = {};
74052
+
74053
+ options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());
74054
+ options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());
74055
+
74056
+ options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head");
74057
+
74058
+ options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());
74059
+ options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());
74060
+
74061
+ var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_6__["default"], options);
74062
+
74063
+
74064
+
74065
+
74066
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_4_use_1_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_4_use_2_MessageDialog_modules_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
74067
+
74068
+
73930
74069
  /***/ }),
73931
74070
 
73932
74071
  /***/ "../../../dev/sharedUiComponents/dist/lines/copy.svg":