{"code":"(window.webpackJsonpGUI=window.webpackJsonpGUI||[]).push([[39],{1514:function(e,s,t){(e.exports=t(9)(!1)).push([e.i,'.sa-hide-stage-button [class*=\"stage-header_stage-button-icon_\"] {\\n /* Preserve aspect ratio */\\n height: auto;\\n}\\n\\n.sa-stage-hidden [class*=\"blocks_blocks_\"] .injectionDiv,\\n.sa-stage-hidden [class*=\"asset-panel_wrapper_\"],\\n.sa-stage-hidden [class*=\"backpack_backpack-header_\"] {\\n border-radius: 0;\\n}\\n\\n/* [class*=\"gui_flex-wrapper_\"] is for specificity over hide-flyout */\\n.sa-stage-hidden [class*=\"gui_flex-wrapper_\"] [class*=\"gui_stage-and-target-wrapper_\"],\\n.sa-stage-hidden [class*=\"stage-wrapper_stage-wrapper_\"]:not([class*=\"stage-wrapper_full-screen_\"]),\\n.sa-stage-hidden [class*=\"gui_target-wrapper_\"] {\\n padding: 0;\\n}\\n\\n.sa-stage-hidden\\n [class*=\"stage-wrapper_stage-wrapper_\"]:not([class*=\"stage-wrapper_full-screen_\"])\\n [class*=\"controls_controls-container_\"],\\n.sa-stage-hidden [class*=\"gui_target-wrapper_\"] {\\n display: none;\\n}\\n.sa-stage-hidden\\n [class*=\"stage-wrapper_stage-wrapper_\"]:not([class*=\"stage-wrapper_full-screen_\"])\\n [class*=\"stage-wrapper_stage-canvas-wrapper_\"] {\\n /* can\\'t use display: none because that causes the canvas\\'s clientWidth/Height to become 0 which causes crashes */\\n visibility: hidden;\\n position: absolute;\\n z-index: -9999;\\n /* move the stage to avoid a horizontal scroll bar */\\n right: 0;\\n /* and move it up so that the mouse can\\'t hover over the stage while its hidden */\\n bottom: 100%;\\n}\\n[dir=\"rtl\"]\\n .sa-stage-hidden\\n [class*=\"stage-wrapper_stage-wrapper_\"]:not([class*=\"stage-wrapper_full-screen_\"])\\n [class*=\"stage-wrapper_stage-canvas-wrapper_\"] {\\n right: initial;\\n left: 0;\\n}\\n\\n.sa-stage-hidden [class*=\"stage-header_stage-size-row\"] {\\n position: absolute;\\n top: 0;\\n right: 0.5rem;\\n height: 2.75rem;\\n align-items: center;\\n}\\n\\n[dir=\"rtl\"] .sa-stage-hidden [class*=\"stage-header_stage-size-row\"] {\\n right: auto;\\n left: 0.5rem;\\n}\\n\\n.sa-stage-hidden-outer .scratchEyedropper {\\n display: none;\\n}\\n',\"\"])},1541:function(e,s,t){\"use strict\";t.r(s),t.d(s,\"resources\",(function(){return n}));var a=t(1514);const n={\"userscript.js\":async function(e){let s,t,a,n,{addon:r,console:i,msg:o}=e,c=!1;function d(){c=!0,s&&(document.body.classList.add(\"sa-stage-hidden-outer\"),s.classList.add(\"sa-stage-hidden\"),g.setAttribute(\"aria-pressed\",!0),t&&t.setAttribute(\"aria-pressed\",!1),a&&a.setAttribute(\"aria-pressed\",!1),n&&n.setAttribute(\"aria-pressed\",!1),window.dispatchEvent(new Event(\"resize\")))}function l(e){if(c=!1,s){if(document.body.classList.remove(\"sa-stage-hidden-outer\"),s.classList.remove(\"sa-stage-hidden\"),g.setAttribute(\"aria-pressed\",!1),e){const s=e.target.closest(\"button\");s&&s.setAttribute(\"aria-pressed\",!0)}else if(r.tab.redux.state){const e=r.tab.redux.state.scratchGui.stageSize.stageSize;t&&t.setAttribute(\"aria-pressed\",\"small\"===e),a&&a.setAttribute(\"aria-pressed\",\"large\"===e),n&&n.setAttribute(\"aria-pressed\",\"full\"===e)}window.dispatchEvent(new Event(\"resize\"))}}const g=Object.assign(document.createElement(\"button\"),{type:\"button\",className:r.tab.scratchClass(\"toggle-buttons_button\",{others:\"sa-hide-stage-button\"}),title:o(\"hide-stage\")});g.setAttribute(\"aria-label\",o(\"hide-stage\")),g.setAttribute(\"aria-pressed\",!1);const p=Object.assign(r.tab.recolorable(),{className:r.tab.scratchClass(\"stage-header_stage-button-icon\"),src:r.self.getResource(\"/icon.svg\"),draggable:!1});for(p.setAttribute(\"aria-hidden\",!0),g.appendChild(p),g.addEventListener(\"click\",d),r.self.addEventListener(\"disabled\",(()=>{l(),g.remove()})),r.self.addEventListener(\"reenabled\",(()=>{const e=document.querySelector(\"[class*='stage-header_stage-size-toggle-group_'] > [class*='toggle-buttons_row_']\");e&&e.insertBefore(g,t)}));;){const e=await r.tab.waitForElement(\"[class*='stage-header_stage-size-toggle-group_'] > [class*='toggle-buttons_row_']\",{markAsSeen:!0,reduxCondition:e=>!e.scratchGui.mode.isPlayerOnly});s=document.querySelector(\"[class*='gui_body-wrapper_']\");const i=Array.from(e.querySelectorAll(\"button\"));t=i[0],a=3===i.length?i[1]:null,n=i[i.length-1],r.self.disabled||e.insertBefore(g,t),c?d():l(),t&&t.addEventListener(\"click\",l),a&&a.addEventListener(\"click\",l),n&&n.addEventListener(\"click\",l)}},\"style.css\":t.n(a).a,\"icon.svg\":\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgc3Ryb2tlPSIjODU1Y2Q2IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgNGExIDEgMCAwIDAtMSAxdjEwYTEgMSAwIDAgMCAxIDFoMTJhMSAxIDAgMCAwIDEtMVY1LjVoLTRWNFoiLz48cGF0aCBkPSJNMTMgNGgzYTEgMSAwIDAgMSAxIDF2LjVoLTR6IiBmaWxsPSIjODU1Y2Q2Ii8+PC9nPjwvc3ZnPgo=\"}}}]);","name":"js/pentapod/addon-entry-hide-stage.818c5db0b4490fd5f617.js","input":"(window[\"webpackJsonpGUI\"] = window[\"webpackJsonpGUI\"] || []).push([[39],{\n\n/***/ 1514:\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(9)(false);\n// imports\n\n\n// module\nexports.push([module.i, \".sa-hide-stage-button [class*=\\\"stage-header_stage-button-icon_\\\"] {\\n /* Preserve aspect ratio */\\n height: auto;\\n}\\n\\n.sa-stage-hidden [class*=\\\"blocks_blocks_\\\"] .injectionDiv,\\n.sa-stage-hidden [class*=\\\"asset-panel_wrapper_\\\"],\\n.sa-stage-hidden [class*=\\\"backpack_backpack-header_\\\"] {\\n border-radius: 0;\\n}\\n\\n/* [class*=\\\"gui_flex-wrapper_\\\"] is for specificity over hide-flyout */\\n.sa-stage-hidden [class*=\\\"gui_flex-wrapper_\\\"] [class*=\\\"gui_stage-and-target-wrapper_\\\"],\\n.sa-stage-hidden [class*=\\\"stage-wrapper_stage-wrapper_\\\"]:not([class*=\\\"stage-wrapper_full-screen_\\\"]),\\n.sa-stage-hidden [class*=\\\"gui_target-wrapper_\\\"] {\\n padding: 0;\\n}\\n\\n.sa-stage-hidden\\n [class*=\\\"stage-wrapper_stage-wrapper_\\\"]:not([class*=\\\"stage-wrapper_full-screen_\\\"])\\n [class*=\\\"controls_controls-container_\\\"],\\n.sa-stage-hidden [class*=\\\"gui_target-wrapper_\\\"] {\\n display: none;\\n}\\n.sa-stage-hidden\\n [class*=\\\"stage-wrapper_stage-wrapper_\\\"]:not([class*=\\\"stage-wrapper_full-screen_\\\"])\\n [class*=\\\"stage-wrapper_stage-canvas-wrapper_\\\"] {\\n /* can't use display: none because that causes the canvas's clientWidth/Height to become 0 which causes crashes */\\n visibility: hidden;\\n position: absolute;\\n z-index: -9999;\\n /* move the stage to avoid a horizontal scroll bar */\\n right: 0;\\n /* and move it up so that the mouse can't hover over the stage while its hidden */\\n bottom: 100%;\\n}\\n[dir=\\\"rtl\\\"]\\n .sa-stage-hidden\\n [class*=\\\"stage-wrapper_stage-wrapper_\\\"]:not([class*=\\\"stage-wrapper_full-screen_\\\"])\\n [class*=\\\"stage-wrapper_stage-canvas-wrapper_\\\"] {\\n right: initial;\\n left: 0;\\n}\\n\\n.sa-stage-hidden [class*=\\\"stage-header_stage-size-row\\\"] {\\n position: absolute;\\n top: 0;\\n right: 0.5rem;\\n height: 2.75rem;\\n align-items: center;\\n}\\n\\n[dir=\\\"rtl\\\"] .sa-stage-hidden [class*=\\\"stage-header_stage-size-row\\\"] {\\n right: auto;\\n left: 0.5rem;\\n}\\n\\n.sa-stage-hidden-outer .scratchEyedropper {\\n display: none;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n\n/***/ 1541:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"resources\", function() { return /* binding */ resources; });\n\n// CONCATENATED MODULE: ./src/addons/addons/hide-stage/userscript.js\n/* harmony default export */ var userscript = (async function (_ref) {\n let {\n addon,\n console,\n msg\n } = _ref;\n let stageHidden = false;\n let bodyWrapper;\n let smallStageButton;\n let largeStageButton;\n let fullStageButton;\n function hideStage() {\n stageHidden = true;\n if (!bodyWrapper) return;\n document.body.classList.add(\"sa-stage-hidden-outer\");\n // Inner class is applied to body wrapper so that it won't affect the project page.\n bodyWrapper.classList.add(\"sa-stage-hidden\");\n hideStageButton.setAttribute(\"aria-pressed\", true);\n if (smallStageButton) smallStageButton.setAttribute(\"aria-pressed\", false);\n if (largeStageButton) largeStageButton.setAttribute(\"aria-pressed\", false);\n if (fullStageButton) fullStageButton.setAttribute(\"aria-pressed\", false);\n window.dispatchEvent(new Event(\"resize\")); // resizes the code area and paint editor canvas\n }\n function unhideStage(e) {\n stageHidden = false;\n if (!bodyWrapper) return;\n document.body.classList.remove(\"sa-stage-hidden-outer\");\n bodyWrapper.classList.remove(\"sa-stage-hidden\");\n hideStageButton.setAttribute(\"aria-pressed\", false);\n if (e) {\n const clickedButton = e.target.closest(\"button\");\n if (clickedButton) clickedButton.setAttribute(\"aria-pressed\", true);\n } else if (addon.tab.redux.state) {\n const selectedStageSize = addon.tab.redux.state.scratchGui.stageSize.stageSize;\n if (smallStageButton) smallStageButton.setAttribute(\"aria-pressed\", selectedStageSize === \"small\");\n if (largeStageButton) largeStageButton.setAttribute(\"aria-pressed\", selectedStageSize === \"large\");\n if (fullStageButton) fullStageButton.setAttribute(\"aria-pressed\", selectedStageSize === \"full\");\n }\n window.dispatchEvent(new Event(\"resize\")); // resizes the code area and paint editor canvas\n }\n const hideStageButton = Object.assign(document.createElement(\"button\"), {\n type: \"button\",\n className: addon.tab.scratchClass(\"toggle-buttons_button\", {\n others: \"sa-hide-stage-button\"\n }),\n title: msg(\"hide-stage\")\n });\n hideStageButton.setAttribute(\"aria-label\", msg(\"hide-stage\"));\n hideStageButton.setAttribute(\"aria-pressed\", false);\n const hideStageIcon = Object.assign(addon.tab.recolorable(), {\n className: addon.tab.scratchClass(\"stage-header_stage-button-icon\"),\n src: addon.self.getResource(\"/icon.svg\") /* rewritten by pull.js */,\n draggable: false\n });\n hideStageIcon.setAttribute(\"aria-hidden\", true);\n hideStageButton.appendChild(hideStageIcon);\n hideStageButton.addEventListener(\"click\", hideStage);\n addon.self.addEventListener(\"disabled\", () => {\n unhideStage();\n hideStageButton.remove();\n });\n addon.self.addEventListener(\"reenabled\", () => {\n const stageControls = document.querySelector(\"[class*='stage-header_stage-size-toggle-group_'] > [class*='toggle-buttons_row_']\");\n if (stageControls) stageControls.insertBefore(hideStageButton, smallStageButton);\n });\n while (true) {\n const stageControls = await addon.tab.waitForElement(\"[class*='stage-header_stage-size-toggle-group_'] > [class*='toggle-buttons_row_']\", {\n markAsSeen: true,\n reduxCondition: state => !state.scratchGui.mode.isPlayerOnly\n });\n bodyWrapper = document.querySelector(\"[class*='gui_body-wrapper_']\");\n const stageButtons = Array.from(stageControls.querySelectorAll(\"button\"));\n smallStageButton = stageButtons[0];\n largeStageButton = stageButtons.length === 3 ? stageButtons[1] : null;\n fullStageButton = stageButtons[stageButtons.length - 1];\n if (!addon.self.disabled) stageControls.insertBefore(hideStageButton, smallStageButton);\n if (stageHidden) hideStage();else unhideStage();\n if (smallStageButton) smallStageButton.addEventListener(\"click\", unhideStage);\n if (largeStageButton) largeStageButton.addEventListener(\"click\", unhideStage);\n if (fullStageButton) fullStageButton.addEventListener(\"click\", unhideStage);\n }\n});\n// EXTERNAL MODULE: ./node_modules/css-loader!./src/addons/addons/hide-stage/style.css\nvar style = __webpack_require__(1514);\nvar style_default = /*#__PURE__*/__webpack_require__.n(style);\n\n// CONCATENATED MODULE: ./node_modules/url-loader/dist/cjs.js!./src/addons/addons/hide-stage/icon.svg\n/* harmony default export */ var icon = (\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgc3Ryb2tlPSIjODU1Y2Q2IiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgNGExIDEgMCAwIDAtMSAxdjEwYTEgMSAwIDAgMCAxIDFoMTJhMSAxIDAgMCAwIDEtMVY1LjVoLTRWNFoiLz48cGF0aCBkPSJNMTMgNGgzYTEgMSAwIDAgMSAxIDF2LjVoLTR6IiBmaWxsPSIjODU1Y2Q2Ii8+PC9nPjwvc3ZnPgo=\");\n// CONCATENATED MODULE: ./src/addons/addons/hide-stage/_runtime_entry.js\n/* generated by pull.js */\n\n\n\nconst resources = {\n \"userscript.js\": userscript,\n \"style.css\": style_default.a,\n \"icon.svg\": icon\n};\n\n/***/ })\n\n}]);","inputSourceMap":null}